@payloadcms/ui 3.39.0-canary.7 → 3.39.0-internal.1c212c9

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 (520) hide show
  1. package/dist/elements/Autosave/index.d.ts.map +1 -1
  2. package/dist/elements/Autosave/index.js +0 -3
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/ActionsBar/index.js +1 -1
  5. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  6. package/dist/elements/BulkUpload/AddFilesView/index.js +1 -1
  7. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  8. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  9. package/dist/elements/BulkUpload/EditForm/index.js +0 -10
  10. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  11. package/dist/elements/Button/index.d.ts.map +1 -1
  12. package/dist/elements/Button/index.js +3 -3
  13. package/dist/elements/Button/index.js.map +1 -1
  14. package/dist/elements/Button/index.scss +83 -144
  15. package/dist/elements/Button/types.d.ts +1 -2
  16. package/dist/elements/Button/types.d.ts.map +1 -1
  17. package/dist/elements/Button/types.js.map +1 -1
  18. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  19. package/dist/elements/ColumnSelector/index.js +2 -3
  20. package/dist/elements/ColumnSelector/index.js.map +1 -1
  21. package/dist/elements/DeleteDocument/index.js +2 -2
  22. package/dist/elements/DeleteDocument/index.js.map +1 -1
  23. package/dist/elements/DeleteMany/index.d.ts +2 -50
  24. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  25. package/dist/elements/DeleteMany/index.js +82 -230
  26. package/dist/elements/DeleteMany/index.js.map +1 -1
  27. package/dist/elements/DeleteMany/index.scss +27 -0
  28. package/dist/elements/DocumentControls/index.d.ts +2 -2
  29. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  30. package/dist/elements/DocumentControls/index.js +26 -25
  31. package/dist/elements/DocumentControls/index.js.map +1 -1
  32. package/dist/elements/DocumentControls/index.scss +3 -13
  33. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  34. package/dist/elements/DocumentDrawer/DrawerContent.js +3 -1
  35. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  36. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  37. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +2 -5
  38. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  39. package/dist/elements/EditMany/DrawerContent.d.ts +2 -25
  40. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  41. package/dist/elements/EditMany/DrawerContent.js +13 -37
  42. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  43. package/dist/elements/EditMany/index.d.ts +0 -5
  44. package/dist/elements/EditMany/index.d.ts.map +1 -1
  45. package/dist/elements/EditMany/index.js +34 -68
  46. package/dist/elements/EditMany/index.js.map +1 -1
  47. package/dist/elements/EditMany/index.scss +16 -0
  48. package/dist/elements/Gutter/index.d.ts.map +1 -1
  49. package/dist/elements/Gutter/index.js +1 -1
  50. package/dist/elements/Gutter/index.js.map +1 -1
  51. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts.map +1 -1
  52. package/dist/elements/ListControls/ActiveQueryPreset/index.js +67 -93
  53. package/dist/elements/ListControls/ActiveQueryPreset/index.js.map +1 -1
  54. package/dist/elements/ListControls/ActiveQueryPreset/index.scss +5 -17
  55. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +1 -2
  56. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  57. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +2 -5
  58. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  59. package/dist/elements/ListControls/index.d.ts.map +1 -1
  60. package/dist/elements/ListControls/index.js +15 -14
  61. package/dist/elements/ListControls/index.js.map +1 -1
  62. package/dist/elements/ListControls/index.scss +1 -1
  63. package/dist/elements/ListControls/types.d.ts +0 -1
  64. package/dist/elements/ListControls/types.d.ts.map +1 -1
  65. package/dist/elements/ListControls/types.js.map +1 -1
  66. package/dist/elements/ListControls/useQueryPresets.d.ts.map +1 -1
  67. package/dist/elements/ListControls/useQueryPresets.js +27 -19
  68. package/dist/elements/ListControls/useQueryPresets.js.map +1 -1
  69. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  70. package/dist/elements/ListDrawer/DrawerContent.js +22 -34
  71. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  72. package/dist/elements/ListSelection/index.d.ts +7 -22
  73. package/dist/elements/ListSelection/index.d.ts.map +1 -1
  74. package/dist/elements/ListSelection/index.js +60 -58
  75. package/dist/elements/ListSelection/index.js.map +1 -1
  76. package/dist/elements/ListSelection/index.scss +1 -10
  77. package/dist/elements/Pagination/index.js +2 -2
  78. package/dist/elements/Pagination/index.js.map +1 -1
  79. package/dist/elements/Pill/index.scss +9 -25
  80. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  81. package/dist/elements/Popup/PopupButtonList/index.js +1 -1
  82. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  83. package/dist/elements/Popup/PopupButtonList/index.scss +1 -12
  84. package/dist/elements/Popup/PopupDivider/index.scss +0 -1
  85. package/dist/elements/Popup/PopupGroupLabel/index.scss +1 -4
  86. package/dist/elements/Popup/PopupTrigger/index.js +26 -92
  87. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  88. package/dist/elements/Popup/index.d.ts +0 -1
  89. package/dist/elements/Popup/index.d.ts.map +1 -1
  90. package/dist/elements/Popup/index.js +7 -18
  91. package/dist/elements/Popup/index.js.map +1 -1
  92. package/dist/elements/Popup/index.scss +0 -1
  93. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  94. package/dist/elements/PublishButton/ScheduleDrawer/index.js +2 -5
  95. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  96. package/dist/elements/PublishMany/index.d.ts +1 -7
  97. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  98. package/dist/elements/PublishMany/index.js +110 -75
  99. package/dist/elements/PublishMany/index.js.map +1 -1
  100. package/dist/elements/PublishMany/index.scss +21 -0
  101. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  102. package/dist/elements/RelationshipTable/index.js +0 -1
  103. package/dist/elements/RelationshipTable/index.js.map +1 -1
  104. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  105. package/dist/elements/RenderTitle/index.js +2 -5
  106. package/dist/elements/RenderTitle/index.js.map +1 -1
  107. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  108. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  109. package/dist/elements/SearchFilter/index.d.ts +0 -23
  110. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  111. package/dist/elements/SearchFilter/index.js +7 -9
  112. package/dist/elements/SearchFilter/index.js.map +1 -1
  113. package/dist/elements/SortColumn/index.scss +1 -1
  114. package/dist/elements/Status/index.d.ts.map +1 -1
  115. package/dist/elements/Status/index.js.map +1 -1
  116. package/dist/elements/StepNav/types.d.ts +1 -2
  117. package/dist/elements/StepNav/types.d.ts.map +1 -1
  118. package/dist/elements/StepNav/types.js.map +1 -1
  119. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  120. package/dist/elements/Table/OrderableTable.js +0 -3
  121. package/dist/elements/Table/OrderableTable.js.map +1 -1
  122. package/dist/elements/Table/index.scss +7 -33
  123. package/dist/elements/UnpublishMany/index.d.ts +1 -5
  124. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  125. package/dist/elements/UnpublishMany/index.js +112 -79
  126. package/dist/elements/UnpublishMany/index.js.map +1 -1
  127. package/dist/elements/UnpublishMany/index.scss +21 -0
  128. package/dist/elements/Upload/index.d.ts.map +1 -1
  129. package/dist/elements/Upload/index.js +16 -29
  130. package/dist/elements/Upload/index.js.map +1 -1
  131. package/dist/elements/Upload/index.scss +15 -0
  132. package/dist/exports/client/index.d.ts +2 -17
  133. package/dist/exports/client/index.d.ts.map +1 -1
  134. package/dist/exports/client/index.js +23 -22
  135. package/dist/exports/client/index.js.map +4 -4
  136. package/dist/exports/rsc/index.d.ts +0 -2
  137. package/dist/exports/rsc/index.d.ts.map +1 -1
  138. package/dist/exports/rsc/index.js +0 -2
  139. package/dist/exports/rsc/index.js.map +1 -1
  140. package/dist/exports/shared/index.d.ts +1 -1
  141. package/dist/exports/shared/index.d.ts.map +1 -1
  142. package/dist/exports/shared/index.js +2 -2
  143. package/dist/exports/shared/index.js.map +3 -3
  144. package/dist/fields/Group/index.d.ts.map +1 -1
  145. package/dist/fields/Group/index.js +5 -5
  146. package/dist/fields/Group/index.js.map +1 -1
  147. package/dist/fields/Join/index.d.ts.map +1 -1
  148. package/dist/fields/Join/index.js +1 -3
  149. package/dist/fields/Join/index.js.map +1 -1
  150. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  151. package/dist/fields/Relationship/Input.js +0 -1
  152. package/dist/fields/Relationship/Input.js.map +1 -1
  153. package/dist/fields/Upload/index.scss +4 -0
  154. package/dist/forms/Form/index.d.ts.map +1 -1
  155. package/dist/forms/Form/index.js +1 -1
  156. package/dist/forms/Form/index.js.map +1 -1
  157. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  158. package/dist/forms/RowLabel/Context/index.js +18 -31
  159. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  160. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -1
  161. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  162. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  163. package/dist/hooks/useUseAsTitle.js +5 -25
  164. package/dist/hooks/useUseAsTitle.js.map +1 -1
  165. package/dist/icons/Dots/index.scss +3 -3
  166. package/dist/icons/People/index.d.ts.map +1 -1
  167. package/dist/icons/People/index.js +5 -7
  168. package/dist/icons/People/index.js.map +1 -1
  169. package/dist/providers/DocumentInfo/index.d.ts +1 -1
  170. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  171. package/dist/providers/DocumentInfo/index.js +7 -24
  172. package/dist/providers/DocumentInfo/index.js.map +1 -1
  173. package/dist/providers/DocumentInfo/types.d.ts +2 -22
  174. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  175. package/dist/providers/DocumentInfo/types.js +1 -2
  176. package/dist/providers/DocumentInfo/types.js.map +1 -1
  177. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  178. package/dist/providers/ListQuery/index.js +25 -33
  179. package/dist/providers/ListQuery/index.js.map +1 -1
  180. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  181. package/dist/providers/ListQuery/types.js.map +1 -1
  182. package/dist/providers/Preferences/index.d.ts +2 -3
  183. package/dist/providers/Preferences/index.d.ts.map +1 -1
  184. package/dist/providers/Preferences/index.js +0 -4
  185. package/dist/providers/Preferences/index.js.map +1 -1
  186. package/dist/providers/Root/index.d.ts.map +1 -1
  187. package/dist/providers/Root/index.js +67 -99
  188. package/dist/providers/Root/index.js.map +1 -1
  189. package/dist/providers/RouteCache/index.d.ts +0 -2
  190. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  191. package/dist/providers/RouteCache/index.js +29 -38
  192. package/dist/providers/RouteCache/index.js.map +1 -1
  193. package/dist/providers/Selection/index.d.ts +0 -1
  194. package/dist/providers/Selection/index.d.ts.map +1 -1
  195. package/dist/providers/Selection/index.js +5 -17
  196. package/dist/providers/Selection/index.js.map +1 -1
  197. package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -1
  198. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  199. package/dist/providers/TableColumns/buildColumnState.d.ts +21 -0
  200. package/dist/providers/TableColumns/buildColumnState.d.ts.map +1 -0
  201. package/dist/providers/TableColumns/buildColumnState.js +201 -0
  202. package/dist/providers/TableColumns/buildColumnState.js.map +1 -0
  203. package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts +20 -0
  204. package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts.map +1 -0
  205. package/dist/providers/TableColumns/buildPolymorphicColumnState.js +200 -0
  206. package/dist/providers/TableColumns/buildPolymorphicColumnState.js.map +1 -0
  207. package/dist/providers/TableColumns/filterFields.d.ts.map +1 -0
  208. package/dist/providers/TableColumns/filterFields.js.map +1 -0
  209. package/dist/providers/TableColumns/index.d.ts.map +1 -1
  210. package/dist/providers/TableColumns/index.js +0 -1
  211. package/dist/providers/TableColumns/index.js.map +1 -1
  212. package/dist/scss/app.scss +2 -6
  213. package/dist/scss/resets.scss +0 -2
  214. package/dist/styles.css +1 -1
  215. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts +3 -3
  216. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  217. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  218. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
  219. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  220. package/dist/utilities/renderTable.d.ts +3 -2
  221. package/dist/utilities/renderTable.d.ts.map +1 -1
  222. package/dist/utilities/renderTable.js +33 -52
  223. package/dist/utilities/renderTable.js.map +1 -1
  224. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  225. package/dist/views/Edit/Auth/index.js.map +1 -1
  226. package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -1
  227. package/dist/views/Edit/SetDocumentStepNav/index.js +2 -5
  228. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  229. package/dist/views/Edit/SetDocumentTitle/index.js +2 -2
  230. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  231. package/dist/views/Edit/index.d.ts.map +1 -1
  232. package/dist/views/Edit/index.js +2 -2
  233. package/dist/views/Edit/index.js.map +1 -1
  234. package/dist/views/List/ListHeader/index.d.ts +2 -13
  235. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  236. package/dist/views/List/ListHeader/index.js +113 -52
  237. package/dist/views/List/ListHeader/index.js.map +1 -1
  238. package/dist/views/List/ListHeader/index.scss +77 -10
  239. package/dist/views/List/index.d.ts.map +1 -1
  240. package/dist/views/List/index.js +11 -7
  241. package/dist/views/List/index.js.map +1 -1
  242. package/dist/views/List/index.scss +7 -0
  243. package/package.json +5 -5
  244. package/dist/elements/CheckboxPopup/index.d.ts +0 -17
  245. package/dist/elements/CheckboxPopup/index.d.ts.map +0 -1
  246. package/dist/elements/CheckboxPopup/index.js +0 -42
  247. package/dist/elements/CheckboxPopup/index.js.map +0 -1
  248. package/dist/elements/CheckboxPopup/index.scss +0 -19
  249. package/dist/elements/CloseModalButton/index.d.ts +0 -6
  250. package/dist/elements/CloseModalButton/index.d.ts.map +0 -1
  251. package/dist/elements/CloseModalButton/index.js +0 -27
  252. package/dist/elements/CloseModalButton/index.js.map +0 -1
  253. package/dist/elements/CloseModalButton/index.scss +0 -25
  254. package/dist/elements/DrawerActionHeader/index.d.ts +0 -12
  255. package/dist/elements/DrawerActionHeader/index.d.ts.map +0 -1
  256. package/dist/elements/DrawerActionHeader/index.js +0 -77
  257. package/dist/elements/DrawerActionHeader/index.js.map +0 -1
  258. package/dist/elements/DrawerActionHeader/index.scss +0 -24
  259. package/dist/elements/DrawerContentContainer/index.d.ts +0 -9
  260. package/dist/elements/DrawerContentContainer/index.d.ts.map +0 -1
  261. package/dist/elements/DrawerContentContainer/index.js +0 -14
  262. package/dist/elements/DrawerContentContainer/index.js.map +0 -1
  263. package/dist/elements/DrawerContentContainer/index.scss +0 -6
  264. package/dist/elements/FolderView/Breadcrumbs/index.d.ts +0 -19
  265. package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +0 -1
  266. package/dist/elements/FolderView/Breadcrumbs/index.js +0 -96
  267. package/dist/elements/FolderView/Breadcrumbs/index.js.map +0 -1
  268. package/dist/elements/FolderView/Breadcrumbs/index.scss +0 -56
  269. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +0 -6
  270. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +0 -1
  271. package/dist/elements/FolderView/BrowseByFolderButton/index.js +0 -40
  272. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +0 -1
  273. package/dist/elements/FolderView/BrowseByFolderButton/index.scss +0 -30
  274. package/dist/elements/FolderView/Cell/index.client.d.ts +0 -11
  275. package/dist/elements/FolderView/Cell/index.client.d.ts.map +0 -1
  276. package/dist/elements/FolderView/Cell/index.client.js +0 -84
  277. package/dist/elements/FolderView/Cell/index.client.js.map +0 -1
  278. package/dist/elements/FolderView/Cell/index.server.d.ts +0 -4
  279. package/dist/elements/FolderView/Cell/index.server.d.ts.map +0 -1
  280. package/dist/elements/FolderView/Cell/index.server.js +0 -13
  281. package/dist/elements/FolderView/Cell/index.server.js.map +0 -1
  282. package/dist/elements/FolderView/CollectionTypePill/index.d.ts +0 -4
  283. package/dist/elements/FolderView/CollectionTypePill/index.d.ts.map +0 -1
  284. package/dist/elements/FolderView/CollectionTypePill/index.js +0 -97
  285. package/dist/elements/FolderView/CollectionTypePill/index.js.map +0 -1
  286. package/dist/elements/FolderView/CollectionTypePill/index.scss +0 -16
  287. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +0 -3
  288. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +0 -1
  289. package/dist/elements/FolderView/ColoredFolderIcon/index.js +0 -9
  290. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +0 -1
  291. package/dist/elements/FolderView/ColoredFolderIcon/index.scss +0 -5
  292. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +0 -7
  293. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +0 -1
  294. package/dist/elements/FolderView/CurrentFolderActions/index.js +0 -146
  295. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +0 -1
  296. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +0 -12
  297. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +0 -1
  298. package/dist/elements/FolderView/DragOverlaySelection/index.js +0 -67
  299. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +0 -1
  300. package/dist/elements/FolderView/DragOverlaySelection/index.scss +0 -35
  301. package/dist/elements/FolderView/DraggableTableRow/index.d.ts +0 -18
  302. package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +0 -1
  303. package/dist/elements/FolderView/DraggableTableRow/index.js +0 -64
  304. package/dist/elements/FolderView/DraggableTableRow/index.js.map +0 -1
  305. package/dist/elements/FolderView/DraggableTableRow/index.scss +0 -135
  306. package/dist/elements/FolderView/DraggableWithClick/index.d.ts +0 -15
  307. package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +0 -1
  308. package/dist/elements/FolderView/DraggableWithClick/index.js +0 -81
  309. package/dist/elements/FolderView/DraggableWithClick/index.js.map +0 -1
  310. package/dist/elements/FolderView/DraggableWithClick/index.scss +0 -5
  311. package/dist/elements/FolderView/Drawers/DrawerHeader/index.d.ts +0 -10
  312. package/dist/elements/FolderView/Drawers/DrawerHeader/index.d.ts.map +0 -1
  313. package/dist/elements/FolderView/Drawers/DrawerHeader/index.js +0 -55
  314. package/dist/elements/FolderView/Drawers/DrawerHeader/index.js.map +0 -1
  315. package/dist/elements/FolderView/Drawers/DrawerHeader/index.scss +0 -30
  316. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +0 -32
  317. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +0 -1
  318. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +0 -493
  319. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +0 -1
  320. package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +0 -26
  321. package/dist/elements/FolderView/Drawers/NewFolder/index.d.ts +0 -9
  322. package/dist/elements/FolderView/Drawers/NewFolder/index.d.ts.map +0 -1
  323. package/dist/elements/FolderView/Drawers/NewFolder/index.js +0 -157
  324. package/dist/elements/FolderView/Drawers/NewFolder/index.js.map +0 -1
  325. package/dist/elements/FolderView/Drawers/RenameFolder/index.d.ts +0 -13
  326. package/dist/elements/FolderView/Drawers/RenameFolder/index.d.ts.map +0 -1
  327. package/dist/elements/FolderView/Drawers/RenameFolder/index.js +0 -140
  328. package/dist/elements/FolderView/Drawers/RenameFolder/index.js.map +0 -1
  329. package/dist/elements/FolderView/Field/index.scss +0 -12
  330. package/dist/elements/FolderView/Field/index.server.d.ts +0 -4
  331. package/dist/elements/FolderView/Field/index.server.d.ts.map +0 -1
  332. package/dist/elements/FolderView/Field/index.server.js +0 -11
  333. package/dist/elements/FolderView/Field/index.server.js.map +0 -1
  334. package/dist/elements/FolderView/FolderFileCard/index.d.ts +0 -21
  335. package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +0 -1
  336. package/dist/elements/FolderView/FolderFileCard/index.js +0 -94
  337. package/dist/elements/FolderView/FolderFileCard/index.js.map +0 -1
  338. package/dist/elements/FolderView/FolderFileCard/index.scss +0 -213
  339. package/dist/elements/FolderView/FolderFileTable/index.d.ts +0 -29
  340. package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +0 -1
  341. package/dist/elements/FolderView/FolderFileTable/index.js +0 -189
  342. package/dist/elements/FolderView/FolderFileTable/index.js.map +0 -1
  343. package/dist/elements/FolderView/FolderFileTable/index.scss +0 -11
  344. package/dist/elements/FolderView/ItemCardGrid/index.d.ts +0 -22
  345. package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +0 -1
  346. package/dist/elements/FolderView/ItemCardGrid/index.js +0 -100
  347. package/dist/elements/FolderView/ItemCardGrid/index.js.map +0 -1
  348. package/dist/elements/FolderView/ItemCardGrid/index.scss +0 -16
  349. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +0 -34
  350. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +0 -1
  351. package/dist/elements/FolderView/MoveDocToFolder/index.js +0 -287
  352. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +0 -1
  353. package/dist/elements/FolderView/MoveDocToFolder/index.scss +0 -12
  354. package/dist/elements/FolderView/SimpleTable/index.d.ts +0 -19
  355. package/dist/elements/FolderView/SimpleTable/index.d.ts.map +0 -1
  356. package/dist/elements/FolderView/SimpleTable/index.js +0 -95
  357. package/dist/elements/FolderView/SimpleTable/index.js.map +0 -1
  358. package/dist/elements/FolderView/SimpleTable/index.scss +0 -59
  359. package/dist/elements/FolderView/SortByPill/index.d.ts +0 -4
  360. package/dist/elements/FolderView/SortByPill/index.d.ts.map +0 -1
  361. package/dist/elements/FolderView/SortByPill/index.js +0 -108
  362. package/dist/elements/FolderView/SortByPill/index.js.map +0 -1
  363. package/dist/elements/FolderView/SortByPill/index.scss +0 -16
  364. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +0 -8
  365. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +0 -1
  366. package/dist/elements/FolderView/ToggleViewButtons/index.js +0 -31
  367. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +0 -1
  368. package/dist/elements/FolderView/ToggleViewButtons/index.scss +0 -17
  369. package/dist/elements/ListFolderPills/index.d.ts +0 -9
  370. package/dist/elements/ListFolderPills/index.d.ts.map +0 -1
  371. package/dist/elements/ListFolderPills/index.js +0 -93
  372. package/dist/elements/ListFolderPills/index.js.map +0 -1
  373. package/dist/elements/ListFolderPills/index.scss +0 -7
  374. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts +0 -2
  375. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +0 -1
  376. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +0 -98
  377. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +0 -1
  378. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.d.ts +0 -6
  379. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.d.ts.map +0 -1
  380. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +0 -39
  381. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +0 -1
  382. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +0 -2
  383. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +0 -1
  384. package/dist/elements/ListHeader/DrawerTitleActions/index.js +0 -2
  385. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +0 -1
  386. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +0 -15
  387. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +0 -1
  388. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +0 -85
  389. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +0 -1
  390. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.d.ts +0 -8
  391. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.d.ts.map +0 -1
  392. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +0 -48
  393. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +0 -1
  394. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +0 -12
  395. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +0 -1
  396. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +0 -168
  397. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +0 -1
  398. package/dist/elements/ListHeader/TitleActions/index.d.ts +0 -4
  399. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +0 -1
  400. package/dist/elements/ListHeader/TitleActions/index.js +0 -4
  401. package/dist/elements/ListHeader/TitleActions/index.js.map +0 -1
  402. package/dist/elements/ListHeader/index.d.ts +0 -13
  403. package/dist/elements/ListHeader/index.d.ts.map +0 -1
  404. package/dist/elements/ListHeader/index.js +0 -29
  405. package/dist/elements/ListHeader/index.js.map +0 -1
  406. package/dist/elements/ListHeader/index.scss +0 -48
  407. package/dist/elements/NoListResults/index.d.ts +0 -9
  408. package/dist/elements/NoListResults/index.d.ts.map +0 -1
  409. package/dist/elements/NoListResults/index.js +0 -19
  410. package/dist/elements/NoListResults/index.js.map +0 -1
  411. package/dist/elements/NoListResults/index.scss +0 -20
  412. package/dist/elements/PublishMany/DrawerContent.d.ts +0 -10
  413. package/dist/elements/PublishMany/DrawerContent.d.ts.map +0 -1
  414. package/dist/elements/PublishMany/DrawerContent.js +0 -143
  415. package/dist/elements/PublishMany/DrawerContent.js.map +0 -1
  416. package/dist/elements/SearchBar/index.d.ts +0 -12
  417. package/dist/elements/SearchBar/index.d.ts.map +0 -1
  418. package/dist/elements/SearchBar/index.js +0 -26
  419. package/dist/elements/SearchBar/index.js.map +0 -1
  420. package/dist/elements/SearchBar/index.scss +0 -26
  421. package/dist/elements/UnpublishMany/DrawerContent.d.ts +0 -10
  422. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +0 -1
  423. package/dist/elements/UnpublishMany/DrawerContent.js +0 -134
  424. package/dist/elements/UnpublishMany/DrawerContent.js.map +0 -1
  425. package/dist/hooks/useClickOutside.d.ts +0 -2
  426. package/dist/hooks/useClickOutside.d.ts.map +0 -1
  427. package/dist/hooks/useClickOutside.js +0 -20
  428. package/dist/hooks/useClickOutside.js.map +0 -1
  429. package/dist/icons/Document/index.d.ts +0 -4
  430. package/dist/icons/Document/index.d.ts.map +0 -1
  431. package/dist/icons/Document/index.js +0 -20
  432. package/dist/icons/Document/index.js.map +0 -1
  433. package/dist/icons/Document/index.scss +0 -6
  434. package/dist/icons/Folder/index.d.ts +0 -6
  435. package/dist/icons/Folder/index.d.ts.map +0 -1
  436. package/dist/icons/Folder/index.js +0 -20
  437. package/dist/icons/Folder/index.js.map +0 -1
  438. package/dist/icons/Folder/index.scss +0 -6
  439. package/dist/icons/GridView/index.d.ts +0 -4
  440. package/dist/icons/GridView/index.d.ts.map +0 -1
  441. package/dist/icons/GridView/index.js +0 -35
  442. package/dist/icons/GridView/index.js.map +0 -1
  443. package/dist/icons/GridView/index.scss +0 -3
  444. package/dist/icons/ListView/index.d.ts +0 -4
  445. package/dist/icons/ListView/index.d.ts.map +0 -1
  446. package/dist/icons/ListView/index.js +0 -20
  447. package/dist/icons/ListView/index.js.map +0 -1
  448. package/dist/icons/ListView/index.scss +0 -3
  449. package/dist/icons/MoveFolder/index.d.ts +0 -4
  450. package/dist/icons/MoveFolder/index.d.ts.map +0 -1
  451. package/dist/icons/MoveFolder/index.js +0 -39
  452. package/dist/icons/MoveFolder/index.js.map +0 -1
  453. package/dist/icons/MoveFolder/index.scss +0 -6
  454. package/dist/icons/ThreeDots/index.d.ts +0 -6
  455. package/dist/icons/ThreeDots/index.d.ts.map +0 -1
  456. package/dist/icons/ThreeDots/index.js +0 -12
  457. package/dist/icons/ThreeDots/index.js.map +0 -1
  458. package/dist/icons/ThreeDots/index.scss +0 -17
  459. package/dist/providers/ClickOutside/index.d.ts +0 -14
  460. package/dist/providers/ClickOutside/index.d.ts.map +0 -1
  461. package/dist/providers/ClickOutside/index.js +0 -39
  462. package/dist/providers/ClickOutside/index.js.map +0 -1
  463. package/dist/providers/DocumentTitle/context.d.ts +0 -2
  464. package/dist/providers/DocumentTitle/context.d.ts.map +0 -1
  465. package/dist/providers/DocumentTitle/context.js +0 -2
  466. package/dist/providers/DocumentTitle/context.js.map +0 -1
  467. package/dist/providers/DocumentTitle/index.d.ts +0 -10
  468. package/dist/providers/DocumentTitle/index.d.ts.map +0 -1
  469. package/dist/providers/DocumentTitle/index.js +0 -62
  470. package/dist/providers/DocumentTitle/index.js.map +0 -1
  471. package/dist/providers/Folders/index.d.ts +0 -119
  472. package/dist/providers/Folders/index.d.ts.map +0 -1
  473. package/dist/providers/Folders/index.js +0 -856
  474. package/dist/providers/Folders/index.js.map +0 -1
  475. package/dist/providers/Folders/selection.d.ts +0 -11
  476. package/dist/providers/Folders/selection.d.ts.map +0 -1
  477. package/dist/providers/Folders/selection.js +0 -38
  478. package/dist/providers/Folders/selection.js.map +0 -1
  479. package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +0 -1
  480. package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +0 -1
  481. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts +0 -12
  482. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +0 -1
  483. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +0 -13
  484. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +0 -1
  485. package/dist/providers/TableColumns/buildColumnState/index.d.ts +0 -31
  486. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +0 -1
  487. package/dist/providers/TableColumns/buildColumnState/index.js +0 -143
  488. package/dist/providers/TableColumns/buildColumnState/index.js.map +0 -1
  489. package/dist/providers/TableColumns/buildColumnState/isColumnActive.d.ts +0 -8
  490. package/dist/providers/TableColumns/buildColumnState/isColumnActive.d.ts.map +0 -1
  491. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +0 -16
  492. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +0 -1
  493. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +0 -18
  494. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +0 -1
  495. package/dist/providers/TableColumns/buildColumnState/renderCell.js +0 -110
  496. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +0 -1
  497. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.d.ts +0 -3
  498. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.d.ts.map +0 -1
  499. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +0 -20
  500. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +0 -1
  501. package/dist/views/BrowseByFolder/index.d.ts +0 -8
  502. package/dist/views/BrowseByFolder/index.d.ts.map +0 -1
  503. package/dist/views/BrowseByFolder/index.js +0 -312
  504. package/dist/views/BrowseByFolder/index.js.map +0 -1
  505. package/dist/views/BrowseByFolder/index.scss +0 -174
  506. package/dist/views/CollectionFolder/ListSelection/index.d.ts +0 -7
  507. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +0 -1
  508. package/dist/views/CollectionFolder/ListSelection/index.js +0 -201
  509. package/dist/views/CollectionFolder/ListSelection/index.js.map +0 -1
  510. package/dist/views/CollectionFolder/index.d.ts +0 -5
  511. package/dist/views/CollectionFolder/index.d.ts.map +0 -1
  512. package/dist/views/CollectionFolder/index.js +0 -306
  513. package/dist/views/CollectionFolder/index.js.map +0 -1
  514. package/dist/views/CollectionFolder/index.scss +0 -162
  515. package/dist/views/List/ListSelection/index.d.ts +0 -10
  516. package/dist/views/List/ListSelection/index.d.ts.map +0 -1
  517. package/dist/views/List/ListSelection/index.js +0 -87
  518. package/dist/views/List/ListSelection/index.js.map +0 -1
  519. /package/dist/providers/TableColumns/{buildColumnState/filterFields.d.ts → filterFields.d.ts} +0 -0
  520. /package/dist/providers/TableColumns/{buildColumnState/filterFields.js → filterFields.js} +0 -0
@@ -159,7 +159,6 @@ export const RelationshipTable = props => {
159
159
  if (Array.isArray(relationTo) && !isDrawerOpen && selectedCollection) {
160
160
  setSelectedCollection(undefined);
161
161
  }
162
- // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix
163
162
  // eslint-disable-next-line react-hooks/exhaustive-deps
164
163
  }, [isDrawerOpen]);
165
164
  return /*#__PURE__*/_jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","hoistQueryParamsToAnd","transformColumnsToPreferences","React","Fragment","useCallback","useEffect","useState","Button","Pill","useEffectEvent","ChevronIcon","PlusIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","TableColumnsProvider","useTranslation","AnimateHeight","ColumnSelector","useDocumentDrawer","Popup","PopupList","RelationshipProvider","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","parent","relationTo","Table","setTable","config","getEntityConfig","permissions","docs","Array","isArray","reduce","acc","doc","id","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","collectionConfig","collectionSlug","selectedCollection","setSelectedCollection","undefined","isLoadingTable","setIsLoadingTable","data","setData","columnState","setColumnState","getTableState","renderTable","newQuery","limit","String","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","newData","state","newColumnState","NewTable","columns","enableRowSelections","orderableFieldName","orderable","collection","name","renderRowTypes","tableAppearance","handleTableRender","DocumentDrawer","DocumentDrawerToggler","closeDrawer","isDrawerOpen","openDrawer","onDrawerSave","args","foundDocIndex","findIndex","withNewOrUpdatedDoc","newDocs","onDrawerCreate","onDrawerDelete","filter","canCreate","collections","create","_jsxs","className","_jsx","button","buttonStyle","buttonType","horizontalAlign","render","close","closePopup","ButtonGroup","relatedCollection","onClick","find","each","slug","labels","singular","size","icon","direction","pillStyle","length","label","plural","modifySearchParams","onQueryChange","LinkedCellOverride","height","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n type CollectionSlug,\n type Column,\n type JoinFieldClient,\n type ListQuery,\n type PaginatedDocs,\n type Where,\n} from 'payload'\nimport { hoistQueryParamsToAnd, transformColumnsToPreferences } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\nimport './index.scss'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly parent?: {\n collectionSlug: CollectionSlug\n id: number | string\n joinPath: string\n }\n readonly relationTo: string | string[]\n}\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n field,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n parent,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { config, getEntityConfig } = useConfig()\n\n const { permissions } = useAuth()\n\n const [initialData] = useState<PaginatedDocs>(() => {\n if (initialDataFromProps) {\n return {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n return [...acc, doc]\n }, [])\n : [],\n }\n }\n })\n\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n const [openColumnSelector, setOpenColumnSelector] = useState(false)\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const [selectedCollection, setSelectedCollection] = useState(\n Array.isArray(relationTo) ? undefined : relationTo,\n )\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n const [data, setData] = useState<PaginatedDocs>(initialData)\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (docs?: PaginatedDocs['docs']) => {\n const newQuery: ListQuery = {\n limit: String(field?.defaultLimit || collectionConfig?.admin?.pagination?.defaultLimit),\n sort: field.defaultSort || collectionConfig?.defaultSort,\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n // map columns from string[] to ListPreferences['columns']\n const defaultColumns = field.admin.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n columns: transformColumnsToPreferences(query?.columns) || defaultColumns,\n docs,\n enableRowSelections: false,\n orderableFieldName:\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${field.name}_order`,\n parent,\n query: newQuery,\n renderRowTypes: true,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [\n field.defaultLimit,\n field.defaultSort,\n field.admin.defaultColumns,\n field.collection,\n field.name,\n field.orderable,\n collectionConfig?.admin?.pagination?.defaultLimit,\n collectionConfig?.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n parent,\n ],\n )\n\n const handleTableRender = useEffectEvent((query: ListQuery, disableTable: boolean) => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n })\n\n useEffect(() => {\n handleTableRender(query, disableTable)\n }, [query, disableTable])\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer, isDrawerOpen, openDrawer }] =\n useDocumentDrawer({\n collectionSlug: selectedCollection,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n const foundDocIndex = data?.docs?.findIndex((doc) => doc.id === args.doc.id)\n let withNewOrUpdatedDoc: PaginatedDocs['docs'] = undefined\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = args.doc\n withNewOrUpdatedDoc = newDocs\n } else {\n withNewOrUpdatedDoc = [args.doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedDoc)\n },\n [data?.docs, renderTable],\n )\n\n const onDrawerCreate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n\n void onDrawerSave(args)\n },\n [closeDrawer, onDrawerSave],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n void renderTable(newDocs)\n },\n [data?.docs, renderTable],\n )\n\n const canCreate =\n allowCreate !== false &&\n permissions?.collections?.[Array.isArray(relationTo) ? relationTo[0] : relationTo]?.create\n\n useEffect(() => {\n if (Array.isArray(relationTo) && selectedCollection) {\n openDrawer()\n }\n }, [selectedCollection, openDrawer, relationTo])\n\n useEffect(() => {\n if (Array.isArray(relationTo) && !isDrawerOpen && selectedCollection) {\n setSelectedCollection(undefined)\n }\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDrawerOpen])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {!Array.isArray(relationTo) && canCreate && (\n <DocumentDrawerToggler className={`${baseClass}__add-new`}>\n {i18n.t('fields:addNew')}\n </DocumentDrawerToggler>\n )}\n\n {Array.isArray(relationTo) && (\n <Fragment>\n <Popup\n button={\n <Button buttonStyle=\"none\" className={`${baseClass}__add-new-polymorphic`}>\n {i18n.t('fields:addNew')}\n <PlusIcon />\n </Button>\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relationTo.map((relatedCollection) => {\n if (permissions.collections[relatedCollection].create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection}`}\n key={relatedCollection}\n onClick={() => {\n closePopup()\n setSelectedCollection(relatedCollection)\n }}\n >\n {getTranslation(\n config.collections.find((each) => each.slug === relatedCollection)\n .labels.singular,\n i18n,\n )}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"medium\"\n />\n </Fragment>\n )}\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={openColumnSelector}\n className={`${baseClass}__toggle-columns ${\n openColumnSelector ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon direction={openColumnSelector ? 'up' : 'down'} />}\n onClick={() => setOpenColumnSelector(!openColumnSelector)}\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n </div>\n </div>\n {BeforeInput}\n {isLoadingTable ? (\n <p>{t('general:loading')}</p>\n ) : (\n <Fragment>\n {data?.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', {\n label: Array.isArray(relationTo)\n ? i18n.t('general:documents')\n : getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n {canCreate && (\n <Button onClick={openDrawer}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {data?.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n columns={transformColumnsToPreferences(columnState)}\n data={data}\n defaultLimit={\n field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit\n }\n defaultSort={field.defaultSort ?? collectionConfig?.defaultSort}\n modifySearchParams={false}\n onQueryChange={setQuery}\n orderableFieldName={\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${field.name}_order`\n }\n >\n <TableColumnsProvider\n collectionSlug={Array.isArray(relationTo) ? relationTo[0] : relationTo}\n columnState={columnState}\n LinkedCellOverride={\n <DrawerLink onDrawerDelete={onDrawerDelete} onDrawerSave={onDrawerSave} />\n }\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n {collectionConfig && (\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n )}\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","hoistQueryParamsToAnd","transformColumnsToPreferences","React","Fragment","useCallback","useEffect","useState","Button","Pill","useEffectEvent","ChevronIcon","PlusIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","TableColumnsProvider","useTranslation","AnimateHeight","ColumnSelector","useDocumentDrawer","Popup","PopupList","RelationshipProvider","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","parent","relationTo","Table","setTable","config","getEntityConfig","permissions","docs","Array","isArray","reduce","acc","doc","id","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","collectionConfig","collectionSlug","selectedCollection","setSelectedCollection","undefined","isLoadingTable","setIsLoadingTable","data","setData","columnState","setColumnState","getTableState","renderTable","newQuery","limit","String","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","newData","state","newColumnState","NewTable","columns","enableRowSelections","orderableFieldName","orderable","collection","name","renderRowTypes","tableAppearance","handleTableRender","DocumentDrawer","DocumentDrawerToggler","closeDrawer","isDrawerOpen","openDrawer","onDrawerSave","args","foundDocIndex","findIndex","withNewOrUpdatedDoc","newDocs","onDrawerCreate","onDrawerDelete","filter","canCreate","collections","create","_jsxs","className","_jsx","button","buttonStyle","buttonType","horizontalAlign","render","close","closePopup","ButtonGroup","relatedCollection","onClick","find","each","slug","labels","singular","size","icon","direction","pillStyle","length","label","plural","modifySearchParams","onQueryChange","LinkedCellOverride","height","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n type CollectionSlug,\n type Column,\n type JoinFieldClient,\n type ListQuery,\n type PaginatedDocs,\n type Where,\n} from 'payload'\nimport { hoistQueryParamsToAnd, transformColumnsToPreferences } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\nimport './index.scss'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly parent?: {\n collectionSlug: CollectionSlug\n id: number | string\n joinPath: string\n }\n readonly relationTo: string | string[]\n}\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n field,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n parent,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { config, getEntityConfig } = useConfig()\n\n const { permissions } = useAuth()\n\n const [initialData] = useState<PaginatedDocs>(() => {\n if (initialDataFromProps) {\n return {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n return [...acc, doc]\n }, [])\n : [],\n }\n }\n })\n\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n const [openColumnSelector, setOpenColumnSelector] = useState(false)\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const [selectedCollection, setSelectedCollection] = useState(\n Array.isArray(relationTo) ? undefined : relationTo,\n )\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n const [data, setData] = useState<PaginatedDocs>(initialData)\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (docs?: PaginatedDocs['docs']) => {\n const newQuery: ListQuery = {\n limit: String(field?.defaultLimit || collectionConfig?.admin?.pagination?.defaultLimit),\n sort: field.defaultSort || collectionConfig?.defaultSort,\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n // map columns from string[] to ListPreferences['columns']\n const defaultColumns = field.admin.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n columns: transformColumnsToPreferences(query?.columns) || defaultColumns,\n docs,\n enableRowSelections: false,\n orderableFieldName:\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${field.name}_order`,\n parent,\n query: newQuery,\n renderRowTypes: true,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [\n field.defaultLimit,\n field.defaultSort,\n field.admin.defaultColumns,\n field.collection,\n field.name,\n field.orderable,\n collectionConfig?.admin?.pagination?.defaultLimit,\n collectionConfig?.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n parent,\n ],\n )\n\n const handleTableRender = useEffectEvent((query: ListQuery, disableTable: boolean) => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n })\n\n useEffect(() => {\n handleTableRender(query, disableTable)\n }, [query, disableTable])\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer, isDrawerOpen, openDrawer }] =\n useDocumentDrawer({\n collectionSlug: selectedCollection,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n const foundDocIndex = data?.docs?.findIndex((doc) => doc.id === args.doc.id)\n let withNewOrUpdatedDoc: PaginatedDocs['docs'] = undefined\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = args.doc\n withNewOrUpdatedDoc = newDocs\n } else {\n withNewOrUpdatedDoc = [args.doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedDoc)\n },\n [data?.docs, renderTable],\n )\n\n const onDrawerCreate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n\n void onDrawerSave(args)\n },\n [closeDrawer, onDrawerSave],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n void renderTable(newDocs)\n },\n [data?.docs, renderTable],\n )\n\n const canCreate =\n allowCreate !== false &&\n permissions?.collections?.[Array.isArray(relationTo) ? relationTo[0] : relationTo]?.create\n\n useEffect(() => {\n if (Array.isArray(relationTo) && selectedCollection) {\n openDrawer()\n }\n }, [selectedCollection, openDrawer, relationTo])\n\n useEffect(() => {\n if (Array.isArray(relationTo) && !isDrawerOpen && selectedCollection) {\n setSelectedCollection(undefined)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDrawerOpen])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {!Array.isArray(relationTo) && canCreate && (\n <DocumentDrawerToggler className={`${baseClass}__add-new`}>\n {i18n.t('fields:addNew')}\n </DocumentDrawerToggler>\n )}\n\n {Array.isArray(relationTo) && (\n <Fragment>\n <Popup\n button={\n <Button buttonStyle=\"none\" className={`${baseClass}__add-new-polymorphic`}>\n {i18n.t('fields:addNew')}\n <PlusIcon />\n </Button>\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relationTo.map((relatedCollection) => {\n if (permissions.collections[relatedCollection].create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection}`}\n key={relatedCollection}\n onClick={() => {\n closePopup()\n setSelectedCollection(relatedCollection)\n }}\n >\n {getTranslation(\n config.collections.find((each) => each.slug === relatedCollection)\n .labels.singular,\n i18n,\n )}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"medium\"\n />\n </Fragment>\n )}\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={openColumnSelector}\n className={`${baseClass}__toggle-columns ${\n openColumnSelector ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon direction={openColumnSelector ? 'up' : 'down'} />}\n onClick={() => setOpenColumnSelector(!openColumnSelector)}\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n </div>\n </div>\n {BeforeInput}\n {isLoadingTable ? (\n <p>{t('general:loading')}</p>\n ) : (\n <Fragment>\n {data?.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', {\n label: Array.isArray(relationTo)\n ? i18n.t('general:documents')\n : getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n {canCreate && (\n <Button onClick={openDrawer}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {data?.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n columns={transformColumnsToPreferences(columnState)}\n data={data}\n defaultLimit={\n field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit\n }\n defaultSort={field.defaultSort ?? collectionConfig?.defaultSort}\n modifySearchParams={false}\n onQueryChange={setQuery}\n orderableFieldName={\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${field.name}_order`\n }\n >\n <TableColumnsProvider\n collectionSlug={Array.isArray(relationTo) ? relationTo[0] : relationTo}\n columnState={columnState}\n LinkedCellOverride={\n <DrawerLink onDrawerDelete={onDrawerDelete} onDrawerSave={onDrawerSave} />\n }\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n {collectionConfig && (\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n )}\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RenderTitle/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAKvC,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA+BlD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RenderTitle/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8BlD,CAAA"}
@@ -4,7 +4,6 @@ import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import React, { Fragment } from 'react';
6
6
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
7
- import { useDocumentTitle } from '../../providers/DocumentTitle/index.js';
8
7
  import { IDLabel } from '../IDLabel/index.js';
9
8
  import './index.scss';
10
9
  const baseClass = 'render-title';
@@ -19,11 +18,9 @@ export const RenderTitle = props => {
19
18
  const element = t0 === undefined ? "h1" : t0;
20
19
  const {
21
20
  id,
22
- isInitializing
23
- } = useDocumentInfo();
24
- const {
21
+ isInitializing,
25
22
  title: titleFromContext
26
- } = useDocumentTitle();
23
+ } = useDocumentInfo();
27
24
  const title = titleFromProps || titleFromContext || fallback;
28
25
  const idAsTitle = title === id;
29
26
  const Tag = element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","Fragment","useDocumentInfo","useDocumentTitle","IDLabel","baseClass","RenderTitle","props","$","className","element","t0","fallback","title","titleFromProps","undefined","id","isInitializing","titleFromContext","idAsTitle","Tag","t1","EmptySpace","_jsx","children","t2","t3","filter","Boolean","join"],"sources":["../../../src/elements/RenderTitle/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../providers/DocumentTitle/index.js'\nimport { IDLabel } from '../IDLabel/index.js'\nimport './index.scss'\n\nconst baseClass = 'render-title'\n\nexport type RenderTitleProps = {\n className?: string\n element?: React.ElementType\n fallback?: string\n fallbackToID?: boolean\n title?: string\n}\n\nexport const RenderTitle: React.FC<RenderTitleProps> = (props) => {\n const { className, element = 'h1', fallback, title: titleFromProps } = props\n\n const { id, isInitializing } = useDocumentInfo()\n const { title: titleFromContext } = useDocumentTitle()\n\n const title = titleFromProps || titleFromContext || fallback\n\n const idAsTitle = title === id\n\n const Tag = element\n\n // Render and invisible character to prevent layout shift when the title populates from context\n const EmptySpace = <Fragment>&nbsp;</Fragment>\n\n return (\n <Tag\n className={[className, baseClass, idAsTitle && `${baseClass}--has-id`]\n .filter(Boolean)\n .join(' ')}\n title={title}\n >\n {isInitializing ? (\n EmptySpace\n ) : (\n <Fragment>\n {idAsTitle ? <IDLabel className={`${baseClass}__id`} id={id} /> : title || EmptySpace}\n </Fragment>\n )}\n </Tag>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,eAAe,QAAQ;AAChC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,OAAO,QAAQ;AACxB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAUlB,OAAO,MAAMC,WAAA,GAA0CC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACrD;IAAAU,SAAA;IAAAC,OAAA,EAAAC,EAAA;IAAAC,QAAA;IAAAC,KAAA,EAAAC;EAAA,IAAuEP,KAAA;EAApD,MAAAG,OAAA,GAAAC,EAAc,KAAAI,SAAA,GAAJ,IAAI,GAAdJ,EAAc;EAEjC;IAAAK,EAAA;IAAAC;EAAA,IAA+Bf,eAAA;EAC/B;IAAAW,KAAA,EAAAK;EAAA,IAAoCf,gBAAA;EAEpC,MAAAU,KAAA,GAAcC,cAAA,IAAkBI,gBAAA,IAAoBN,QAAA;EAEpD,MAAAO,SAAA,GAAkBN,KAAA,KAAUG,EAAA;EAE5B,MAAAI,GAAA,GAAYV,OAAA;EAAA,IAAAW,EAAA;EAAA,IAAAb,CAAA,QAAAY,GAAA,IAAAZ,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAQ,EAAA,IAAAR,CAAA,QAAAW,SAAA,IAAAX,CAAA,QAAAS,cAAA,IAAAT,CAAA,QAAAK,KAAA;IAGZ,MAAAS,UAAA,GAAmBC,IAAA,CAAAtB,QAAA;MAAAuB,QAAA,EAAU;IAAA,C;IAIS,MAAAC,EAAA,GAAAN,SAAA,IAAa,GAAAd,SAAA,UAAsB;IAAA,IAAAqB,EAAA;IAAA,IAAAlB,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAiB,EAAA;MAA1DC,EAAA,IAACjB,SAAA,EAAAJ,SAAA,EAAsBoB,EAAmC,EAAAE,MAAA,CAAAC,OAC3D;MAAApB,CAAA,MAAAC,SAAA;MAAAD,CAAA,MAAAiB,EAAA;MAAAjB,CAAA,MAAAkB,EAAA;IAAA;MAAAA,EAAA,GAAAlB,CAAA;IAAA;IAFZa,EAAA,GAAAE,IAAA,CAACH,GAAA;MAAAX,SAAA,EACYiB,EACD,CAAAG,IAAA,CACF;MAAAhB,KAAA;MAAAW,QAAA,EAGPP,cAAA,GACCK,UAAA,GAEAC,IAAA,CAAAtB,QAAA;QAAAuB,QAAA,EACGL,SAAA,GAAYI,IAAA,CAAAnB,OAAA;UAAAK,SAAA,EAAoB,GAAAJ,SAAA,MAAkB;UAAAW;QAAA,C,IAAeH,KAAA,IAASS;MAAA,C;;;;;;;;;;;;SAVjFD,E;CAeJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","Fragment","useDocumentInfo","IDLabel","baseClass","RenderTitle","props","$","className","element","t0","fallback","title","titleFromProps","undefined","id","isInitializing","titleFromContext","idAsTitle","Tag","t1","EmptySpace","_jsx","children","t2","t3","filter","Boolean","join"],"sources":["../../../src/elements/RenderTitle/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { IDLabel } from '../IDLabel/index.js'\nimport './index.scss'\n\nconst baseClass = 'render-title'\n\nexport type RenderTitleProps = {\n className?: string\n element?: React.ElementType\n fallback?: string\n fallbackToID?: boolean\n title?: string\n}\n\nexport const RenderTitle: React.FC<RenderTitleProps> = (props) => {\n const { className, element = 'h1', fallback, title: titleFromProps } = props\n\n const { id, isInitializing, title: titleFromContext } = useDocumentInfo()\n\n const title = titleFromProps || titleFromContext || fallback\n\n const idAsTitle = title === id\n\n const Tag = element\n\n // Render and invisible character to prevent layout shift when the title populates from context\n const EmptySpace = <Fragment>&nbsp;</Fragment>\n\n return (\n <Tag\n className={[className, baseClass, idAsTitle && `${baseClass}--has-id`]\n .filter(Boolean)\n .join(' ')}\n title={title}\n >\n {isInitializing ? (\n EmptySpace\n ) : (\n <Fragment>\n {idAsTitle ? <IDLabel className={`${baseClass}__id`} id={id} /> : title || EmptySpace}\n </Fragment>\n )}\n </Tag>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,eAAe,QAAQ;AAChC,SAASC,OAAO,QAAQ;AACxB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAUlB,OAAO,MAAMC,WAAA,GAA0CC,KAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EACrD;IAAAS,SAAA;IAAAC,OAAA,EAAAC,EAAA;IAAAC,QAAA;IAAAC,KAAA,EAAAC;EAAA,IAAuEP,KAAA;EAApD,MAAAG,OAAA,GAAAC,EAAc,KAAAI,SAAA,GAAJ,IAAI,GAAdJ,EAAc;EAEjC;IAAAK,EAAA;IAAAC,cAAA;IAAAJ,KAAA,EAAAK;EAAA,IAAwDf,eAAA;EAExD,MAAAU,KAAA,GAAcC,cAAA,IAAkBI,gBAAA,IAAoBN,QAAA;EAEpD,MAAAO,SAAA,GAAkBN,KAAA,KAAUG,EAAA;EAE5B,MAAAI,GAAA,GAAYV,OAAA;EAAA,IAAAW,EAAA;EAAA,IAAAb,CAAA,QAAAY,GAAA,IAAAZ,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAQ,EAAA,IAAAR,CAAA,QAAAW,SAAA,IAAAX,CAAA,QAAAS,cAAA,IAAAT,CAAA,QAAAK,KAAA;IAGZ,MAAAS,UAAA,GAAmBC,IAAA,CAAArB,QAAA;MAAAsB,QAAA,EAAU;IAAA,C;IAIS,MAAAC,EAAA,GAAAN,SAAA,IAAa,GAAAd,SAAA,UAAsB;IAAA,IAAAqB,EAAA;IAAA,IAAAlB,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAiB,EAAA;MAA1DC,EAAA,IAACjB,SAAA,EAAAJ,SAAA,EAAsBoB,EAAmC,EAAAE,MAAA,CAAAC,OAC3D;MAAApB,CAAA,MAAAC,SAAA;MAAAD,CAAA,MAAAiB,EAAA;MAAAjB,CAAA,MAAAkB,EAAA;IAAA;MAAAA,EAAA,GAAAlB,CAAA;IAAA;IAFZa,EAAA,GAAAE,IAAA,CAACH,GAAA;MAAAX,SAAA,EACYiB,EACD,CAAAG,IAAA,CACF;MAAAhB,KAAA;MAAAW,QAAA,EAGPP,cAAA,GACCK,UAAA,GAEAC,IAAA,CAAArB,QAAA;QAAAsB,QAAA,EACGL,SAAA,GAAYI,IAAA,CAAAnB,OAAA;UAAAK,SAAA,EAAoB,GAAAJ,SAAA,MAAkB;UAAAW;QAAA,C,IAAeH,KAAA,IAASS;MAAA,C;;;;;;;;;;;;SAVjFD,E;CAeJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SaveDraftButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAEzD,OAAO,KAA8B,MAAM,OAAO,CAAA;AAclD,wBAAgB,eAAe,CAAC,KAAK,EAAE,0BAA0B,qBA2FhE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SaveDraftButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAEzD,OAAO,KAA8B,MAAM,OAAO,CAAA;AAclD,wBAAgB,eAAe,CAAC,KAAK,EAAE,0BAA0B,qBA0FhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useRef","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","baseClass","SaveDraftButton","props","config","routes","api","serverURL","id","collectionSlug","globalSlug","setUnpublishedVersionCount","uploadStatus","modified","code","locale","ref","editDepth","t","submit","operation","disabled","saveDraft","search","action","method","overrides","_status","skipValidation","count","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","current","click","_jsx","buttonId","buttonStyle","className","onClick","size","type"],"sources":["../../../src/elements/SaveDraftButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SaveDraftButtonClientProps } from 'payload'\n\nimport React, { useCallback, useRef } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nconst baseClass = 'save-draft'\n\nexport function SaveDraftButton(props: SaveDraftButtonClientProps) {\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { id, collectionSlug, globalSlug, setUnpublishedVersionCount, uploadStatus } =\n useDocumentInfo()\n\n const modified = useFormModified()\n const { code: locale } = useLocale()\n const ref = useRef<HTMLButtonElement>(null)\n const editDepth = useEditDepth()\n const { t } = useTranslation()\n const { submit } = useForm()\n const operation = useOperation()\n\n const disabled = (operation === 'update' && !modified) || uploadStatus === 'uploading'\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search = `?locale=${locale}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n\n setUnpublishedVersionCount((count) => count + 1)\n }, [\n submit,\n collectionSlug,\n globalSlug,\n serverURL,\n api,\n locale,\n id,\n disabled,\n setUnpublishedVersionCount,\n ])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n if (disabled) {\n // absorb the event\n }\n\n e.preventDefault()\n e.stopPropagation()\n if (ref?.current) {\n ref.current.click()\n }\n })\n\n return (\n <FormSubmit\n buttonId=\"action-save-draft\"\n buttonStyle=\"secondary\"\n className={baseClass}\n disabled={disabled}\n onClick={() => {\n return void saveDraft()\n }}\n ref={ref}\n size=\"medium\"\n type=\"button\"\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n"],"mappings":"AAAA;;;AAIA,OAAOA,KAAA,IAASC,WAAW,EAAEC,MAAM,QAAQ;AAE3C,SAASC,OAAO,EAAEC,eAAe,QAAQ;AACzC,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAE/B,MAAMC,SAAA,GAAY;AAElB,OAAO,SAASC,gBAAgBC,KAAiC;EAC/D,MAAM;IACJC,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC;MAAG,CAAE;MACfC;IAAS;EACV,CACF,GAAGZ,SAAA;EAEJ,MAAM;IAAEa,EAAE;IAAEC,cAAc;IAAEC,UAAU;IAAEC,0BAA0B;IAAEC;EAAY,CAAE,GAChFhB,eAAA;EAEF,MAAMiB,QAAA,GAAWrB,eAAA;EACjB,MAAM;IAAEsB,IAAA,EAAMC;EAAM,CAAE,GAAGjB,SAAA;EACzB,MAAMkB,GAAA,GAAM1B,MAAA,CAA0B;EACtC,MAAM2B,SAAA,GAAYpB,YAAA;EAClB,MAAM;IAAEqB;EAAC,CAAE,GAAGlB,cAAA;EACd,MAAM;IAAEmB;EAAM,CAAE,GAAG5B,OAAA;EACnB,MAAM6B,SAAA,GAAYrB,YAAA;EAElB,MAAMsB,QAAA,GAAWD,SAAC,KAAc,YAAY,CAACP,QAAA,IAAaD,YAAA,KAAiB;EAE3E,MAAMU,SAAA,GAAYjC,WAAA,CAAY;IAC5B,IAAIgC,QAAA,EAAU;MACZ;IACF;IAEA,MAAME,MAAA,GAAS,WAAWR,MAAA,0CAAgD;IAC1E,IAAIS,MAAA;IACJ,IAAIC,MAAA,GAAS;IAEb,IAAIhB,cAAA,EAAgB;MAClBe,MAAA,GAAS,GAAGjB,SAAA,GAAYD,GAAA,IAAOG,cAAA,GAAiBD,EAAA,GAAK,IAAIA,EAAA,EAAI,GAAG,KAAKe,MAAA,EAAQ;MAC7E,IAAIf,EAAA,EAAI;QACNiB,MAAA,GAAS;MACX;IACF;IAEA,IAAIf,UAAA,EAAY;MACdc,MAAA,GAAS,GAAGjB,SAAA,GAAYD,GAAA,YAAeI,UAAA,GAAaa,MAAA,EAAQ;IAC9D;IAEA,MAAMJ,MAAA,CAAO;MACXK,MAAA;MACAC,MAAA;MACAC,SAAA,EAAW;QACTC,OAAA,EAAS;MACX;MACAC,cAAA,EAAgB;IAClB;IAEAjB,0BAAA,CAA4BkB,KAAA,IAAUA,KAAA,GAAQ;EAChD,GAAG,CACDV,MAAA,EACAV,cAAA,EACAC,UAAA,EACAH,SAAA,EACAD,GAAA,EACAS,MAAA,EACAP,EAAA,EACAa,QAAA,EACAV,0BAAA,CACD;EAEDjB,SAAA,CAAU;IAAEoC,UAAA,EAAY;IAAMb,SAAA;IAAWc,QAAA,EAAU,CAAC;EAAK,GAAIC,CAAA;IAC3D,IAAIX,QAAA,EAAU;MACZ;IAAA;IAGFW,CAAA,CAAEC,cAAc;IAChBD,CAAA,CAAEE,eAAe;IACjB,IAAIlB,GAAA,EAAKmB,OAAA,EAAS;MAChBnB,GAAA,CAAImB,OAAO,CAACC,KAAK;IACnB;EACF;EAEA,oBACEC,IAAA,CAAC5C,UAAA;IACC6C,QAAA,EAAS;IACTC,WAAA,EAAY;IACZC,SAAA,EAAWvC,SAAA;IACXoB,QAAA,EAAUA,QAAA;IACVoB,OAAA,EAASA,CAAA;MACP,OAAO,KAAKnB,SAAA;IACd;IACAN,GAAA,EAAKA,GAAA;IACL0B,IAAA,EAAK;IACLC,IAAA,EAAK;cAEJzB,CAAA,CAAE;;AAGT","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useRef","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","baseClass","SaveDraftButton","props","config","routes","api","serverURL","id","collectionSlug","globalSlug","setUnpublishedVersionCount","uploadStatus","modified","code","locale","ref","editDepth","t","submit","operation","disabled","saveDraft","search","action","method","overrides","_status","skipValidation","count","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","current","click","_jsx","buttonId","buttonStyle","className","onClick","size","type"],"sources":["../../../src/elements/SaveDraftButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SaveDraftButtonClientProps } from 'payload'\n\nimport React, { useCallback, useRef } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nconst baseClass = 'save-draft'\n\nexport function SaveDraftButton(props: SaveDraftButtonClientProps) {\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { id, collectionSlug, globalSlug, setUnpublishedVersionCount, uploadStatus } =\n useDocumentInfo()\n\n const modified = useFormModified()\n const { code: locale } = useLocale()\n const ref = useRef<HTMLButtonElement>(null)\n const editDepth = useEditDepth()\n const { t } = useTranslation()\n const { submit } = useForm()\n const operation = useOperation()\n\n const disabled = (operation === 'update' && !modified) || uploadStatus === 'uploading'\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search = `?locale=${locale}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n\n setUnpublishedVersionCount((count) => count + 1)\n }, [\n submit,\n collectionSlug,\n globalSlug,\n serverURL,\n api,\n locale,\n id,\n disabled,\n setUnpublishedVersionCount,\n ])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n if (disabled) {\n // absorb the event\n }\n\n e.preventDefault()\n e.stopPropagation()\n if (ref?.current) {\n ref.current.click()\n }\n })\n\n return (\n <FormSubmit\n buttonId=\"action-save-draft\"\n buttonStyle=\"secondary\"\n className={baseClass}\n disabled={disabled}\n onClick={() => {\n return void saveDraft()\n }}\n ref={ref}\n size=\"medium\"\n type=\"button\"\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n"],"mappings":"AAAA;;;AAIA,OAAOA,KAAA,IAASC,WAAW,EAAEC,MAAM,QAAQ;AAE3C,SAASC,OAAO,EAAEC,eAAe,QAAQ;AACzC,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAE/B,MAAMC,SAAA,GAAY;AAElB,OAAO,SAASC,gBAAgBC,KAAiC;EAC/D,MAAM;IACJC,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC;MAAG,CAAE;MACfC;IAAS;EACV,CACF,GAAGZ,SAAA;EACJ,MAAM;IAAEa,EAAE;IAAEC,cAAc;IAAEC,UAAU;IAAEC,0BAA0B;IAAEC;EAAY,CAAE,GAChFhB,eAAA;EAEF,MAAMiB,QAAA,GAAWrB,eAAA;EACjB,MAAM;IAAEsB,IAAA,EAAMC;EAAM,CAAE,GAAGjB,SAAA;EACzB,MAAMkB,GAAA,GAAM1B,MAAA,CAA0B;EACtC,MAAM2B,SAAA,GAAYpB,YAAA;EAClB,MAAM;IAAEqB;EAAC,CAAE,GAAGlB,cAAA;EACd,MAAM;IAAEmB;EAAM,CAAE,GAAG5B,OAAA;EACnB,MAAM6B,SAAA,GAAYrB,YAAA;EAElB,MAAMsB,QAAA,GAAWD,SAAC,KAAc,YAAY,CAACP,QAAA,IAAaD,YAAA,KAAiB;EAE3E,MAAMU,SAAA,GAAYjC,WAAA,CAAY;IAC5B,IAAIgC,QAAA,EAAU;MACZ;IACF;IAEA,MAAME,MAAA,GAAS,WAAWR,MAAA,0CAAgD;IAC1E,IAAIS,MAAA;IACJ,IAAIC,MAAA,GAAS;IAEb,IAAIhB,cAAA,EAAgB;MAClBe,MAAA,GAAS,GAAGjB,SAAA,GAAYD,GAAA,IAAOG,cAAA,GAAiBD,EAAA,GAAK,IAAIA,EAAA,EAAI,GAAG,KAAKe,MAAA,EAAQ;MAC7E,IAAIf,EAAA,EAAI;QACNiB,MAAA,GAAS;MACX;IACF;IAEA,IAAIf,UAAA,EAAY;MACdc,MAAA,GAAS,GAAGjB,SAAA,GAAYD,GAAA,YAAeI,UAAA,GAAaa,MAAA,EAAQ;IAC9D;IAEA,MAAMJ,MAAA,CAAO;MACXK,MAAA;MACAC,MAAA;MACAC,SAAA,EAAW;QACTC,OAAA,EAAS;MACX;MACAC,cAAA,EAAgB;IAClB;IAEAjB,0BAAA,CAA4BkB,KAAA,IAAUA,KAAA,GAAQ;EAChD,GAAG,CACDV,MAAA,EACAV,cAAA,EACAC,UAAA,EACAH,SAAA,EACAD,GAAA,EACAS,MAAA,EACAP,EAAA,EACAa,QAAA,EACAV,0BAAA,CACD;EAEDjB,SAAA,CAAU;IAAEoC,UAAA,EAAY;IAAMb,SAAA;IAAWc,QAAA,EAAU,CAAC;EAAK,GAAIC,CAAA;IAC3D,IAAIX,QAAA,EAAU;MACZ;IAAA;IAGFW,CAAA,CAAEC,cAAc;IAChBD,CAAA,CAAEE,eAAe;IACjB,IAAIlB,GAAA,EAAKmB,OAAA,EAAS;MAChBnB,GAAA,CAAImB,OAAO,CAACC,KAAK;IACnB;EACF;EAEA,oBACEC,IAAA,CAAC5C,UAAA;IACC6C,QAAA,EAAS;IACTC,WAAA,EAAY;IACZC,SAAA,EAAWvC,SAAA;IACXoB,QAAA,EAAUA,QAAA;IACVoB,OAAA,EAASA,CAAA;MACP,OAAO,KAAKnB,SAAA;IACd;IACAN,GAAA,EAAKA,GAAA;IACL0B,IAAA,EAAK;IACLC,IAAA,EAAK;cAEJzB,CAAA,CAAE;;AAGT","ignoreList":[]}
@@ -1,33 +1,10 @@
1
1
  import React from 'react';
2
2
  export type SearchFilterProps = {
3
- /**
4
- * This prop is deprecated and will be removed in the next major version.
5
- *
6
- * @deprecated
7
- */
8
3
  fieldName?: string;
9
4
  handleChange?: (search: string) => void;
10
- /**
11
- * This prop is deprecated and will be removed in the next major version.
12
- *
13
- * Prefer passing in `searchString` instead.
14
- *
15
- * @deprecated
16
- */
17
5
  initialParams?: ParsedQs;
18
6
  label: string;
19
- searchQueryParam?: string;
20
- /**
21
- * This prop is deprecated and will be removed in the next major version.
22
- *
23
- * @deprecated
24
- */
25
7
  setValue?: (arg: string) => void;
26
- /**
27
- * This prop is deprecated and will be removed in the next major version.
28
- *
29
- * @deprecated
30
- */
31
8
  value?: string;
32
9
  };
33
10
  import type { ParsedQs } from 'qs-esm';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SearchFilter/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAE1D,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAKtC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAqDpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SearchFilter/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAE1D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,aAAa,CAAC,EAAE,QAAQ,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAKtC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwDpD,CAAA"}
@@ -10,12 +10,10 @@ export const SearchFilter = props => {
10
10
  const {
11
11
  handleChange,
12
12
  initialParams,
13
- label,
14
- searchQueryParam
13
+ label
15
14
  } = props;
16
- const searchParam = initialParams?.search || searchQueryParam;
17
15
  const pathname = usePathname();
18
- const [search, setSearch] = useState(typeof searchParam === 'string' ? searchParam : undefined);
16
+ const [search, setSearch] = useState(typeof initialParams?.search === 'string' ? initialParams?.search : undefined);
19
17
  /**
20
18
  * Tracks whether the state should be updated based on the search value.
21
19
  * If the value is updated from the URL, we don't want to update the state as it causes additional renders.
@@ -24,15 +22,15 @@ export const SearchFilter = props => {
24
22
  /**
25
23
  * Tracks the previous search value to compare with the current debounced search value.
26
24
  */
27
- const previousSearch = useRef(typeof searchParam === 'string' ? searchParam : undefined);
25
+ const previousSearch = useRef(typeof initialParams?.search === 'string' ? initialParams?.search : undefined);
28
26
  const debouncedSearch = useDebounce(search, 300);
29
27
  useEffect(() => {
30
- if (searchParam !== previousSearch.current) {
28
+ if (initialParams?.search !== previousSearch.current) {
31
29
  shouldUpdateState.current = false;
32
- setSearch(searchParam);
33
- previousSearch.current = searchParam;
30
+ setSearch(initialParams?.search);
31
+ previousSearch.current = initialParams?.search;
34
32
  }
35
- }, [searchParam, pathname]);
33
+ }, [initialParams?.search, pathname]);
36
34
  useEffect(() => {
37
35
  if (debouncedSearch !== previousSearch.current && shouldUpdateState.current) {
38
36
  if (handleChange) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useEffect","useRef","useState","usePathname","useDebounce","baseClass","SearchFilter","props","handleChange","initialParams","label","searchQueryParam","searchParam","search","pathname","setSearch","undefined","shouldUpdateState","previousSearch","debouncedSearch","current","_jsx","className","id","onChange","e","target","value","placeholder","type"],"sources":["../../../src/elements/SearchFilter/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef, useState } from 'react'\n\nexport type SearchFilterProps = {\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * @deprecated\n */\n fieldName?: string\n handleChange?: (search: string) => void\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * Prefer passing in `searchString` instead.\n *\n * @deprecated\n */\n initialParams?: ParsedQs\n label: string\n searchQueryParam?: string\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * @deprecated\n */\n setValue?: (arg: string) => void\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * @deprecated\n */\n value?: string\n}\n\nimport type { ParsedQs } from 'qs-esm'\n\nimport { usePathname } from 'next/navigation.js'\n\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport './index.scss'\n\nconst baseClass = 'search-filter'\n\nexport const SearchFilter: React.FC<SearchFilterProps> = (props) => {\n const { handleChange, initialParams, label, searchQueryParam } = props\n const searchParam = initialParams?.search || searchQueryParam\n const pathname = usePathname()\n const [search, setSearch] = useState(typeof searchParam === 'string' ? searchParam : undefined)\n\n /**\n * Tracks whether the state should be updated based on the search value.\n * If the value is updated from the URL, we don't want to update the state as it causes additional renders.\n */\n const shouldUpdateState = useRef(true)\n\n /**\n * Tracks the previous search value to compare with the current debounced search value.\n */\n const previousSearch = useRef(typeof searchParam === 'string' ? searchParam : undefined)\n\n const debouncedSearch = useDebounce(search, 300)\n\n useEffect(() => {\n if (searchParam !== previousSearch.current) {\n shouldUpdateState.current = false\n setSearch(searchParam as string)\n previousSearch.current = searchParam as string\n }\n }, [searchParam, pathname])\n\n useEffect(() => {\n if (debouncedSearch !== previousSearch.current && shouldUpdateState.current) {\n if (handleChange) {\n handleChange(debouncedSearch)\n }\n\n previousSearch.current = debouncedSearch\n }\n }, [debouncedSearch, handleChange])\n\n return (\n <div className={baseClass}>\n <input\n aria-label={label}\n className={`${baseClass}__input`}\n id=\"search-filter-input\"\n onChange={(e) => {\n shouldUpdateState.current = true\n setSearch(e.target.value)\n }}\n placeholder={label}\n type=\"text\"\n value={search || ''}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAoCnD,SAASC,WAAW,QAAQ;AAE5B,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,YAAA,GAA6CC,KAAA;EACxD,MAAM;IAAEC,YAAY;IAAEC,aAAa;IAAEC,KAAK;IAAEC;EAAgB,CAAE,GAAGJ,KAAA;EACjE,MAAMK,WAAA,GAAcH,aAAA,EAAeI,MAAA,IAAUF,gBAAA;EAC7C,MAAMG,QAAA,GAAWX,WAAA;EACjB,MAAM,CAACU,MAAA,EAAQE,SAAA,CAAU,GAAGb,QAAA,CAAS,OAAOU,WAAA,KAAgB,WAAWA,WAAA,GAAcI,SAAA;EAErF;;;;EAIA,MAAMC,iBAAA,GAAoBhB,MAAA,CAAO;EAEjC;;;EAGA,MAAMiB,cAAA,GAAiBjB,MAAA,CAAO,OAAOW,WAAA,KAAgB,WAAWA,WAAA,GAAcI,SAAA;EAE9E,MAAMG,eAAA,GAAkBf,WAAA,CAAYS,MAAA,EAAQ;EAE5Cb,SAAA,CAAU;IACR,IAAIY,WAAA,KAAgBM,cAAA,CAAeE,OAAO,EAAE;MAC1CH,iBAAA,CAAkBG,OAAO,GAAG;MAC5BL,SAAA,CAAUH,WAAA;MACVM,cAAA,CAAeE,OAAO,GAAGR,WAAA;IAC3B;EACF,GAAG,CAACA,WAAA,EAAaE,QAAA,CAAS;EAE1Bd,SAAA,CAAU;IACR,IAAImB,eAAA,KAAoBD,cAAA,CAAeE,OAAO,IAAIH,iBAAA,CAAkBG,OAAO,EAAE;MAC3E,IAAIZ,YAAA,EAAc;QAChBA,YAAA,CAAaW,eAAA;MACf;MAEAD,cAAA,CAAeE,OAAO,GAAGD,eAAA;IAC3B;EACF,GAAG,CAACA,eAAA,EAAiBX,YAAA,CAAa;EAElC,oBACEa,IAAA,CAAC;IAAIC,SAAA,EAAWjB,SAAA;cACd,aAAAgB,IAAA,CAAC;MACC,cAAYX,KAAA;MACZY,SAAA,EAAW,GAAGjB,SAAA,SAAkB;MAChCkB,EAAA,EAAG;MACHC,QAAA,EAAWC,CAAA;QACTR,iBAAA,CAAkBG,OAAO,GAAG;QAC5BL,SAAA,CAAUU,CAAA,CAAEC,MAAM,CAACC,KAAK;MAC1B;MACAC,WAAA,EAAalB,KAAA;MACbmB,IAAA,EAAK;MACLF,KAAA,EAAOd,MAAA,IAAU;;;AAIzB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useEffect","useRef","useState","usePathname","useDebounce","baseClass","SearchFilter","props","handleChange","initialParams","label","pathname","search","setSearch","undefined","shouldUpdateState","previousSearch","debouncedSearch","current","_jsx","className","id","onChange","e","target","value","placeholder","type"],"sources":["../../../src/elements/SearchFilter/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef, useState } from 'react'\n\nexport type SearchFilterProps = {\n fieldName?: string\n handleChange?: (search: string) => void\n initialParams?: ParsedQs\n label: string\n setValue?: (arg: string) => void\n value?: string\n}\n\nimport type { ParsedQs } from 'qs-esm'\n\nimport { usePathname } from 'next/navigation.js'\n\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport './index.scss'\n\nconst baseClass = 'search-filter'\n\nexport const SearchFilter: React.FC<SearchFilterProps> = (props) => {\n const { handleChange, initialParams, label } = props\n const pathname = usePathname()\n const [search, setSearch] = useState(\n typeof initialParams?.search === 'string' ? initialParams?.search : undefined,\n )\n\n /**\n * Tracks whether the state should be updated based on the search value.\n * If the value is updated from the URL, we don't want to update the state as it causes additional renders.\n */\n const shouldUpdateState = useRef(true)\n\n /**\n * Tracks the previous search value to compare with the current debounced search value.\n */\n const previousSearch = useRef(\n typeof initialParams?.search === 'string' ? initialParams?.search : undefined,\n )\n\n const debouncedSearch = useDebounce(search, 300)\n\n useEffect(() => {\n if (initialParams?.search !== previousSearch.current) {\n shouldUpdateState.current = false\n setSearch(initialParams?.search as string)\n previousSearch.current = initialParams?.search as string\n }\n }, [initialParams?.search, pathname])\n\n useEffect(() => {\n if (debouncedSearch !== previousSearch.current && shouldUpdateState.current) {\n if (handleChange) {\n handleChange(debouncedSearch)\n }\n\n previousSearch.current = debouncedSearch\n }\n }, [debouncedSearch, handleChange])\n\n return (\n <div className={baseClass}>\n <input\n aria-label={label}\n className={`${baseClass}__input`}\n id=\"search-filter-input\"\n onChange={(e) => {\n shouldUpdateState.current = true\n setSearch(e.target.value)\n }}\n placeholder={label}\n type=\"text\"\n value={search || ''}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAanD,SAASC,WAAW,QAAQ;AAE5B,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,YAAA,GAA6CC,KAAA;EACxD,MAAM;IAAEC,YAAY;IAAEC,aAAa;IAAEC;EAAK,CAAE,GAAGH,KAAA;EAC/C,MAAMI,QAAA,GAAWR,WAAA;EACjB,MAAM,CAACS,MAAA,EAAQC,SAAA,CAAU,GAAGX,QAAA,CAC1B,OAAOO,aAAA,EAAeG,MAAA,KAAW,WAAWH,aAAA,EAAeG,MAAA,GAASE,SAAA;EAGtE;;;;EAIA,MAAMC,iBAAA,GAAoBd,MAAA,CAAO;EAEjC;;;EAGA,MAAMe,cAAA,GAAiBf,MAAA,CACrB,OAAOQ,aAAA,EAAeG,MAAA,KAAW,WAAWH,aAAA,EAAeG,MAAA,GAASE,SAAA;EAGtE,MAAMG,eAAA,GAAkBb,WAAA,CAAYQ,MAAA,EAAQ;EAE5CZ,SAAA,CAAU;IACR,IAAIS,aAAA,EAAeG,MAAA,KAAWI,cAAA,CAAeE,OAAO,EAAE;MACpDH,iBAAA,CAAkBG,OAAO,GAAG;MAC5BL,SAAA,CAAUJ,aAAA,EAAeG,MAAA;MACzBI,cAAA,CAAeE,OAAO,GAAGT,aAAA,EAAeG,MAAA;IAC1C;EACF,GAAG,CAACH,aAAA,EAAeG,MAAA,EAAQD,QAAA,CAAS;EAEpCX,SAAA,CAAU;IACR,IAAIiB,eAAA,KAAoBD,cAAA,CAAeE,OAAO,IAAIH,iBAAA,CAAkBG,OAAO,EAAE;MAC3E,IAAIV,YAAA,EAAc;QAChBA,YAAA,CAAaS,eAAA;MACf;MAEAD,cAAA,CAAeE,OAAO,GAAGD,eAAA;IAC3B;EACF,GAAG,CAACA,eAAA,EAAiBT,YAAA,CAAa;EAElC,oBACEW,IAAA,CAAC;IAAIC,SAAA,EAAWf,SAAA;cACd,aAAAc,IAAA,CAAC;MACC,cAAYT,KAAA;MACZU,SAAA,EAAW,GAAGf,SAAA,SAAkB;MAChCgB,EAAA,EAAG;MACHC,QAAA,EAAWC,CAAA;QACTR,iBAAA,CAAkBG,OAAO,GAAG;QAC5BL,SAAA,CAAUU,CAAA,CAAEC,MAAM,CAACC,KAAK;MAC1B;MACAC,WAAA,EAAahB,KAAA;MACbiB,IAAA,EAAK;MACLF,KAAA,EAAOb,MAAA,IAAU;;;AAIzB","ignoreList":[]}
@@ -25,7 +25,7 @@
25
25
  &__buttons {
26
26
  display: flex;
27
27
  align-items: center;
28
- gap: 0;
28
+ gap: calc(var(--base) / 4);
29
29
  }
30
30
 
31
31
  &__button {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Status/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAkM1B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Status/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EA+L1B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","React","useCallback","toast","useForm","useConfig","useDocumentInfo","useLocale","useTranslation","requests","Button","ConfirmationModal","baseClass","Status","id","collectionSlug","docPermissions","globalSlug","hasPublishedDoc","incrementVersionCount","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","toggleModal","config","routes","api","serverURL","reset","resetForm","code","locale","i18n","t","unPublishModalSlug","revertModalSlug","statusToRender","performAction","action","url","method","body","_status","publishedDoc","get","headers","language","then","res","json","JSON","stringify","status","data","result","doc","success","message","errors","error","err","canUpdate","update","_jsx","className","title","_jsxs","Fragment","buttonStyle","onClick","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/Status/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport './index.scss'\n\nconst baseClass = 'status'\n\nexport const Status: React.FC = () => {\n const {\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n hasPublishedDoc,\n incrementVersionCount,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n\n const { toggleModal } = useModal()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { reset: resetForm } = useForm()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const unPublishModalSlug = `confirm-un-publish-${id}`\n const revertModalSlug = `confirm-revert-${id}`\n\n let statusToRender: 'changed' | 'draft' | 'published'\n\n if (unpublishedVersionCount > 0 && hasPublishedDoc) {\n statusToRender = 'changed'\n } else if (!hasPublishedDoc) {\n statusToRender = 'draft'\n } else if (hasPublishedDoc && unpublishedVersionCount <= 0) {\n statusToRender = 'published'\n }\n\n const performAction = useCallback(\n async (action: 'revert' | 'unpublish') => {\n let url\n let method\n let body\n\n if (action === 'unpublish') {\n body = {\n _status: 'draft',\n }\n }\n\n if (collectionSlug) {\n url = `${serverURL}${api}/${collectionSlug}/${id}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'patch'\n }\n\n if (globalSlug) {\n url = `${serverURL}${api}/globals/${globalSlug}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'post'\n }\n\n if (action === 'revert') {\n const publishedDoc = await requests\n .get(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then((res) => res.json())\n\n body = publishedDoc\n }\n\n const res = await requests[method](url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n let data\n const json = await res.json()\n\n if (globalSlug) {\n data = json.result\n } else if (collectionSlug) {\n data = json.doc\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n resetForm(data)\n toast.success(json.message)\n incrementVersionCount()\n setMostRecentVersionIsAutosaved(false)\n\n if (action === 'unpublish') {\n setHasPublishedDoc(false)\n } else if (action === 'revert') {\n setUnpublishedVersionCount(0)\n }\n } else {\n try {\n const json = await res.json()\n if (json.errors?.[0]?.message) {\n toast.error(json.errors[0].message)\n } else if (json.error) {\n toast.error(json.error)\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (err) {\n toast.error(t('error:unPublishingDocument'))\n }\n }\n },\n [\n api,\n collectionSlug,\n globalSlug,\n id,\n i18n.language,\n incrementVersionCount,\n locale,\n resetForm,\n serverURL,\n setUnpublishedVersionCount,\n setMostRecentVersionIsAutosaved,\n t,\n setHasPublishedDoc,\n ],\n )\n\n const canUpdate = docPermissions?.update\n\n if (statusToRender) {\n return (\n <div\n className={baseClass}\n title={`${t('version:status')}: ${t(`version:${statusToRender}`)}`}\n >\n <div className={`${baseClass}__value-wrap`}>\n <span className={`${baseClass}__label`}>{t('version:status')}:&nbsp;</span>\n <span className={`${baseClass}__value`}>{t(`version:${statusToRender}`)}</span>\n {canUpdate && statusToRender === 'published' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id={`action-unpublish`}\n onClick={() => toggleModal(unPublishModalSlug)}\n >\n {t('version:unpublish')}\n </Button>\n <ConfirmationModal\n body={t('version:aboutToUnpublish')}\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={unPublishModalSlug}\n onConfirm={() => performAction('unpublish')}\n />\n </React.Fragment>\n )}\n {canUpdate && statusToRender === 'changed' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id=\"action-revert-to-published\"\n onClick={() => toggleModal(revertModalSlug)}\n >\n {t('version:revertToPublished')}\n </Button>\n <ConfirmationModal\n body={t('version:aboutToRevertToPublished')}\n confirmingLabel={t('version:reverting')}\n heading={t('version:confirmRevertToSaved')}\n modalSlug={revertModalSlug}\n onConfirm={() => performAction('revert')}\n />\n </React.Fragment>\n )}\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","React","useCallback","toast","useForm","useConfig","useDocumentInfo","useLocale","useTranslation","requests","Button","ConfirmationModal","baseClass","Status","id","collectionSlug","docPermissions","globalSlug","hasPublishedDoc","incrementVersionCount","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","toggleModal","config","routes","api","serverURL","reset","resetForm","code","locale","i18n","t","unPublishModalSlug","revertModalSlug","statusToRender","performAction","action","url","method","body","_status","publishedDoc","get","headers","language","then","res","json","JSON","stringify","status","data","result","doc","success","message","errors","error","err","canUpdate","update","_jsx","className","title","_jsxs","Fragment","buttonStyle","onClick","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/Status/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport './index.scss'\n\nconst baseClass = 'status'\n\nexport const Status: React.FC = () => {\n const {\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n hasPublishedDoc,\n incrementVersionCount,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n const { toggleModal } = useModal()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { reset: resetForm } = useForm()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const unPublishModalSlug = `confirm-un-publish-${id}`\n const revertModalSlug = `confirm-revert-${id}`\n\n let statusToRender: 'changed' | 'draft' | 'published'\n\n if (unpublishedVersionCount > 0 && hasPublishedDoc) {\n statusToRender = 'changed'\n } else if (!hasPublishedDoc) {\n statusToRender = 'draft'\n } else if (hasPublishedDoc && unpublishedVersionCount <= 0) {\n statusToRender = 'published'\n }\n\n const performAction = useCallback(\n async (action: 'revert' | 'unpublish') => {\n let url\n let method\n let body\n\n if (action === 'unpublish') {\n body = {\n _status: 'draft',\n }\n }\n\n if (collectionSlug) {\n url = `${serverURL}${api}/${collectionSlug}/${id}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'patch'\n }\n\n if (globalSlug) {\n url = `${serverURL}${api}/globals/${globalSlug}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'post'\n }\n\n if (action === 'revert') {\n const publishedDoc = await requests\n .get(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then((res) => res.json())\n\n body = publishedDoc\n }\n\n const res = await requests[method](url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n let data\n const json = await res.json()\n\n if (globalSlug) {\n data = json.result\n } else if (collectionSlug) {\n data = json.doc\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n resetForm(data)\n toast.success(json.message)\n incrementVersionCount()\n setMostRecentVersionIsAutosaved(false)\n\n if (action === 'unpublish') {\n setHasPublishedDoc(false)\n } else if (action === 'revert') {\n setUnpublishedVersionCount(0)\n }\n } else {\n try {\n const json = await res.json()\n if (json.errors?.[0]?.message) {\n toast.error(json.errors[0].message)\n } else if (json.error) {\n toast.error(json.error)\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (err) {\n toast.error(t('error:unPublishingDocument'))\n }\n }\n },\n [\n api,\n collectionSlug,\n globalSlug,\n id,\n i18n.language,\n incrementVersionCount,\n locale,\n resetForm,\n serverURL,\n setUnpublishedVersionCount,\n setMostRecentVersionIsAutosaved,\n t,\n setHasPublishedDoc,\n ],\n )\n\n const canUpdate = docPermissions?.update\n\n if (statusToRender) {\n return (\n <div\n className={baseClass}\n title={`${t('version:status')}: ${t(`version:${statusToRender}`)}`}\n >\n <div className={`${baseClass}__value-wrap`}>\n <span className={`${baseClass}__label`}>{t('version:status')}:&nbsp;</span>\n <span className={`${baseClass}__value`}>{t(`version:${statusToRender}`)}</span>\n {canUpdate && statusToRender === 'published' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id={`action-unpublish`}\n onClick={() => toggleModal(unPublishModalSlug)}\n >\n {t('version:unpublish')}\n </Button>\n <ConfirmationModal\n body={t('version:aboutToUnpublish')}\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={unPublishModalSlug}\n onConfirm={() => performAction('unpublish')}\n />\n </React.Fragment>\n )}\n {canUpdate && statusToRender === 'changed' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id=\"action-revert-to-published\"\n onClick={() => toggleModal(revertModalSlug)}\n >\n {t('version:revertToPublished')}\n </Button>\n <ConfirmationModal\n body={t('version:aboutToRevertToPublished')}\n confirmingLabel={t('version:reverting')}\n heading={t('version:confirmRevertToSaved')}\n modalSlug={revertModalSlug}\n onConfirm={() => performAction('revert')}\n />\n </React.Fragment>\n )}\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,6 @@
1
1
  import type { LabelFunction, StaticLabel } from 'payload';
2
- import type React from 'react';
3
2
  export type StepNavItem = {
4
- label: LabelFunction | React.JSX.Element | StaticLabel;
3
+ label: LabelFunction | StaticLabel;
5
4
  url?: string;
6
5
  };
7
6
  export type ContextType = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/StepNav/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,WAAW,CAAA;IACtD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAC1C,OAAO,EAAE,WAAW,EAAE,CAAA;CACvB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/StepNav/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,aAAa,GAAG,WAAW,CAAA;IAClC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAC1C,OAAO,EAAE,WAAW,EAAE,CAAA;CACvB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/StepNav/types.ts"],"sourcesContent":["import type { LabelFunction, StaticLabel } from 'payload'\nimport type React from 'react'\n\nexport type StepNavItem = {\n label: LabelFunction | React.JSX.Element | StaticLabel\n url?: string\n}\n\nexport type ContextType = {\n setStepNav: (items: StepNavItem[]) => void\n stepNav: StepNavItem[]\n}\n"],"mappings":"AAQA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/StepNav/types.ts"],"sourcesContent":["import type { LabelFunction, StaticLabel } from 'payload'\n\nexport type StepNavItem = {\n label: LabelFunction | StaticLabel\n url?: string\n}\n\nexport type ContextType = {\n setStepNav: (items: StepNavItem[]) => void\n stepNav: StepNavItem[]\n}\n"],"mappings":"AAOA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderableTable.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/OrderableTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAyB,MAAM,SAAS,CAAA;AAEpF,OAAO,cAAc,CAAA;AAGrB,OAAO,KAA8B,MAAM,OAAO,CAAA;AAYlD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CACzC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyL1C,CAAA"}
1
+ {"version":3,"file":"OrderableTable.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/OrderableTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAyB,MAAM,SAAS,CAAA;AAEpF,OAAO,cAAc,CAAA;AAGrB,OAAO,KAA8B,MAAM,OAAO,CAAA;AAYlD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CACzC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiL1C,CAAA"}
@@ -100,9 +100,6 @@ export const OrderableTable = ({
100
100
  if (!response.ok) {
101
101
  throw new Error('Failed to reorder. This can happen if you reorder several rows too quickly. Please try again.');
102
102
  }
103
- if (response.status === 200 && (await response.json())['message'] === 'initial migration') {
104
- throw new Error('You have enabled "orderable" on a collection with existing documents' + 'and this is the first time you have sorted documents. We have run an automatic migration ' + 'to add an initial order to the documents. Please refresh the page and try again.');
105
- }
106
103
  } catch (err) {
107
104
  const error = err instanceof Error ? err.message : String(err);
108
105
  // Rollback to previous state if the request fails
@@ -1 +1 @@
1
- {"version":3,"file":"OrderableTable.js","names":["DragOverlay","React","useEffect","useState","toast","useConfig","useListQuery","DraggableSortableItem","DraggableSortable","OrderableRow","OrderableRowDragPreview","baseClass","OrderableTable","appearance","collection","columns","data","initialData","config","listQueryData","orderableFieldName","query","serverData","docs","localData","setLocalData","cellMap","setCellMap","dragActiveRowId","setDragActiveRowId","Object","fromEntries","map","item","index","String","id","_id","activeColumns","filter","col","active","includes","accessor","length","_jsx","handleDragEnd","moveFromIndex","moveToIndex","sort","warning","undefined","movedId","newBeforeRow","newAfterRow","previousData","currentData","newData","splice","target","key","newKeyWillBe","jsonBody","collectionSlug","slug","docsToMove","response","fetch","routes","api","body","JSON","stringify","headers","method","status","Error","ok","json","err","error","message","handleDragStart","rowIds","row","className","Boolean","join","_jsxs","ids","onDragEnd","onDragStart","cellPadding","cellSpacing","i","Heading","rowIndex","children","attributes","isDragging","listeners","setNodeRef","transform","transition","dragAttributes","dragListeners","ref","rowId","style","opacity"],"sources":["../../../src/elements/Table/OrderableTable.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, Column, OrderableEndpointBody } from 'payload'\n\nimport './index.scss'\n\nimport { DragOverlay } from '@dnd-kit/core'\nimport React, { useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { DraggableSortableItem } from '../DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { OrderableRow } from './OrderableRow.js'\nimport { OrderableRowDragPreview } from './OrderableRowDragPreview.js'\n\nconst baseClass = 'table'\n\nexport type Props = {\n readonly appearance?: 'condensed' | 'default'\n readonly collection: ClientCollectionConfig\n readonly columns?: Column[]\n readonly data: Record<string, unknown>[]\n}\n\nexport const OrderableTable: React.FC<Props> = ({\n appearance = 'default',\n collection,\n columns,\n data: initialData,\n}) => {\n const { config } = useConfig()\n const { data: listQueryData, orderableFieldName, query } = useListQuery()\n // Use the data from ListQueryProvider if available, otherwise use the props\n const serverData = listQueryData?.docs || initialData\n\n // Local state to track the current order of rows\n const [localData, setLocalData] = useState(serverData)\n\n // id -> index for each column\n const [cellMap, setCellMap] = useState<Record<string, number>>({})\n\n const [dragActiveRowId, setDragActiveRowId] = useState<number | string | undefined>()\n\n // Update local data when server data changes\n useEffect(() => {\n setLocalData(serverData)\n setCellMap(\n Object.fromEntries(serverData.map((item, index) => [String(item.id ?? item._id), index])),\n )\n }, [serverData])\n\n const activeColumns = columns?.filter((col) => col?.active)\n\n if (\n !activeColumns ||\n activeColumns.filter((col) => !['_dragHandle', '_select'].includes(col.accessor)).length === 0\n ) {\n return <div>No columns selected</div>\n }\n\n const handleDragEnd = async ({ moveFromIndex, moveToIndex }) => {\n if (query.sort !== orderableFieldName && query.sort !== `-${orderableFieldName}`) {\n toast.warning('To reorder the rows you must first sort them by the \"Order\" column')\n setDragActiveRowId(undefined)\n return\n }\n\n if (moveFromIndex === moveToIndex) {\n setDragActiveRowId(undefined)\n return\n }\n\n const movedId = localData[moveFromIndex].id ?? localData[moveFromIndex]._id\n const newBeforeRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex] : localData[moveToIndex - 1]\n const newAfterRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex + 1] : localData[moveToIndex]\n\n // Store the original data for rollback\n const previousData = [...localData]\n\n // Optimisitc update of local state to reorder the rows\n setLocalData((currentData) => {\n const newData = [...currentData]\n // Update the rendered cell for the moved row to show \"pending\"\n newData[moveFromIndex][orderableFieldName] = `pending`\n // Move the item in the array\n newData.splice(moveToIndex, 0, newData.splice(moveFromIndex, 1)[0])\n return newData\n })\n\n try {\n const target: OrderableEndpointBody['target'] = newBeforeRow\n ? {\n id: newBeforeRow.id ?? newBeforeRow._id,\n key: newBeforeRow[orderableFieldName],\n }\n : {\n id: newAfterRow.id ?? newAfterRow._id,\n key: newAfterRow[orderableFieldName],\n }\n\n const newKeyWillBe =\n (newBeforeRow && query.sort === orderableFieldName) ||\n (!newBeforeRow && query.sort === `-${orderableFieldName}`)\n ? 'greater'\n : 'less'\n\n const jsonBody: OrderableEndpointBody = {\n collectionSlug: collection.slug,\n docsToMove: [movedId],\n newKeyWillBe,\n orderableFieldName,\n target,\n }\n\n const response = await fetch(`${config.routes.api}/reorder`, {\n body: JSON.stringify(jsonBody),\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n if (response.status === 403) {\n throw new Error('You do not have permission to reorder these rows')\n }\n\n if (!response.ok) {\n throw new Error(\n 'Failed to reorder. This can happen if you reorder several rows too quickly. Please try again.',\n )\n }\n\n if (response.status === 200 && (await response.json())['message'] === 'initial migration') {\n throw new Error(\n 'You have enabled \"orderable\" on a collection with existing documents' +\n 'and this is the first time you have sorted documents. We have run an automatic migration ' +\n 'to add an initial order to the documents. Please refresh the page and try again.',\n )\n }\n } catch (err) {\n const error = err instanceof Error ? err.message : String(err)\n // Rollback to previous state if the request fails\n setLocalData(previousData)\n toast.error(error)\n } finally {\n setDragActiveRowId(undefined)\n }\n }\n\n const handleDragStart = ({ id }) => {\n setDragActiveRowId(id)\n }\n\n const rowIds = localData.map((row) => row.id ?? row._id)\n\n return (\n <div\n className={[baseClass, appearance && `${baseClass}--appearance-${appearance}`]\n .filter(Boolean)\n .join(' ')}\n >\n <DraggableSortable ids={rowIds} onDragEnd={handleDragEnd} onDragStart={handleDragStart}>\n <table cellPadding=\"0\" cellSpacing=\"0\">\n <thead>\n <tr>\n {activeColumns.map((col, i) => (\n <th id={`heading-${col.accessor}`} key={i}>\n {col.Heading}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {localData.map((row, rowIndex) => (\n <DraggableSortableItem id={rowIds[rowIndex]} key={rowIds[rowIndex]}>\n {({ attributes, isDragging, listeners, setNodeRef, transform, transition }) => (\n <OrderableRow\n cellMap={cellMap}\n className={`row-${rowIndex + 1}`}\n columns={activeColumns}\n dragAttributes={attributes}\n dragListeners={listeners}\n ref={setNodeRef}\n rowId={row.id ?? row._id}\n style={{\n opacity: isDragging ? 0 : 1,\n transform,\n transition,\n }}\n />\n )}\n </DraggableSortableItem>\n ))}\n </tbody>\n </table>\n\n <DragOverlay>\n <OrderableRowDragPreview\n className={[baseClass, `${baseClass}--drag-preview`].join(' ')}\n rowId={dragActiveRowId}\n >\n <OrderableRow cellMap={cellMap} columns={activeColumns} rowId={dragActiveRowId} />\n </OrderableRowDragPreview>\n </DragOverlay>\n </DraggableSortable>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OrderableTable.js","names":["DragOverlay","React","useEffect","useState","toast","useConfig","useListQuery","DraggableSortableItem","DraggableSortable","OrderableRow","OrderableRowDragPreview","baseClass","OrderableTable","appearance","collection","columns","data","initialData","config","listQueryData","orderableFieldName","query","serverData","docs","localData","setLocalData","cellMap","setCellMap","dragActiveRowId","setDragActiveRowId","Object","fromEntries","map","item","index","String","id","_id","activeColumns","filter","col","active","includes","accessor","length","_jsx","handleDragEnd","moveFromIndex","moveToIndex","sort","warning","undefined","movedId","newBeforeRow","newAfterRow","previousData","currentData","newData","splice","target","key","newKeyWillBe","jsonBody","collectionSlug","slug","docsToMove","response","fetch","routes","api","body","JSON","stringify","headers","method","status","Error","ok","err","error","message","handleDragStart","rowIds","row","className","Boolean","join","_jsxs","ids","onDragEnd","onDragStart","cellPadding","cellSpacing","i","Heading","rowIndex","children","attributes","isDragging","listeners","setNodeRef","transform","transition","dragAttributes","dragListeners","ref","rowId","style","opacity"],"sources":["../../../src/elements/Table/OrderableTable.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, Column, OrderableEndpointBody } from 'payload'\n\nimport './index.scss'\n\nimport { DragOverlay } from '@dnd-kit/core'\nimport React, { useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { DraggableSortableItem } from '../DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { OrderableRow } from './OrderableRow.js'\nimport { OrderableRowDragPreview } from './OrderableRowDragPreview.js'\n\nconst baseClass = 'table'\n\nexport type Props = {\n readonly appearance?: 'condensed' | 'default'\n readonly collection: ClientCollectionConfig\n readonly columns?: Column[]\n readonly data: Record<string, unknown>[]\n}\n\nexport const OrderableTable: React.FC<Props> = ({\n appearance = 'default',\n collection,\n columns,\n data: initialData,\n}) => {\n const { config } = useConfig()\n const { data: listQueryData, orderableFieldName, query } = useListQuery()\n // Use the data from ListQueryProvider if available, otherwise use the props\n const serverData = listQueryData?.docs || initialData\n\n // Local state to track the current order of rows\n const [localData, setLocalData] = useState(serverData)\n\n // id -> index for each column\n const [cellMap, setCellMap] = useState<Record<string, number>>({})\n\n const [dragActiveRowId, setDragActiveRowId] = useState<number | string | undefined>()\n\n // Update local data when server data changes\n useEffect(() => {\n setLocalData(serverData)\n setCellMap(\n Object.fromEntries(serverData.map((item, index) => [String(item.id ?? item._id), index])),\n )\n }, [serverData])\n\n const activeColumns = columns?.filter((col) => col?.active)\n\n if (\n !activeColumns ||\n activeColumns.filter((col) => !['_dragHandle', '_select'].includes(col.accessor)).length === 0\n ) {\n return <div>No columns selected</div>\n }\n\n const handleDragEnd = async ({ moveFromIndex, moveToIndex }) => {\n if (query.sort !== orderableFieldName && query.sort !== `-${orderableFieldName}`) {\n toast.warning('To reorder the rows you must first sort them by the \"Order\" column')\n setDragActiveRowId(undefined)\n return\n }\n\n if (moveFromIndex === moveToIndex) {\n setDragActiveRowId(undefined)\n return\n }\n\n const movedId = localData[moveFromIndex].id ?? localData[moveFromIndex]._id\n const newBeforeRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex] : localData[moveToIndex - 1]\n const newAfterRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex + 1] : localData[moveToIndex]\n\n // Store the original data for rollback\n const previousData = [...localData]\n\n // Optimisitc update of local state to reorder the rows\n setLocalData((currentData) => {\n const newData = [...currentData]\n // Update the rendered cell for the moved row to show \"pending\"\n newData[moveFromIndex][orderableFieldName] = `pending`\n // Move the item in the array\n newData.splice(moveToIndex, 0, newData.splice(moveFromIndex, 1)[0])\n return newData\n })\n\n try {\n const target: OrderableEndpointBody['target'] = newBeforeRow\n ? {\n id: newBeforeRow.id ?? newBeforeRow._id,\n key: newBeforeRow[orderableFieldName],\n }\n : {\n id: newAfterRow.id ?? newAfterRow._id,\n key: newAfterRow[orderableFieldName],\n }\n\n const newKeyWillBe =\n (newBeforeRow && query.sort === orderableFieldName) ||\n (!newBeforeRow && query.sort === `-${orderableFieldName}`)\n ? 'greater'\n : 'less'\n\n const jsonBody: OrderableEndpointBody = {\n collectionSlug: collection.slug,\n docsToMove: [movedId],\n newKeyWillBe,\n orderableFieldName,\n target,\n }\n\n const response = await fetch(`${config.routes.api}/reorder`, {\n body: JSON.stringify(jsonBody),\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n if (response.status === 403) {\n throw new Error('You do not have permission to reorder these rows')\n }\n\n if (!response.ok) {\n throw new Error(\n 'Failed to reorder. This can happen if you reorder several rows too quickly. Please try again.',\n )\n }\n } catch (err) {\n const error = err instanceof Error ? err.message : String(err)\n // Rollback to previous state if the request fails\n setLocalData(previousData)\n toast.error(error)\n } finally {\n setDragActiveRowId(undefined)\n }\n }\n\n const handleDragStart = ({ id }) => {\n setDragActiveRowId(id)\n }\n\n const rowIds = localData.map((row) => row.id ?? row._id)\n\n return (\n <div\n className={[baseClass, appearance && `${baseClass}--appearance-${appearance}`]\n .filter(Boolean)\n .join(' ')}\n >\n <DraggableSortable ids={rowIds} onDragEnd={handleDragEnd} onDragStart={handleDragStart}>\n <table cellPadding=\"0\" cellSpacing=\"0\">\n <thead>\n <tr>\n {activeColumns.map((col, i) => (\n <th id={`heading-${col.accessor}`} key={i}>\n {col.Heading}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {localData.map((row, rowIndex) => (\n <DraggableSortableItem id={rowIds[rowIndex]} key={rowIds[rowIndex]}>\n {({ attributes, isDragging, listeners, setNodeRef, transform, transition }) => (\n <OrderableRow\n cellMap={cellMap}\n className={`row-${rowIndex + 1}`}\n columns={activeColumns}\n dragAttributes={attributes}\n dragListeners={listeners}\n ref={setNodeRef}\n rowId={row.id ?? row._id}\n style={{\n opacity: isDragging ? 0 : 1,\n transform,\n transition,\n }}\n />\n )}\n </DraggableSortableItem>\n ))}\n </tbody>\n </table>\n\n <DragOverlay>\n <OrderableRowDragPreview\n className={[baseClass, `${baseClass}--drag-preview`].join(' ')}\n rowId={dragActiveRowId}\n >\n <OrderableRow cellMap={cellMap} columns={activeColumns} rowId={dragActiveRowId} />\n </OrderableRowDragPreview>\n </DragOverlay>\n </DraggableSortable>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -25,10 +25,8 @@
25
25
  th,
26
26
  td {
27
27
  vertical-align: top;
28
- padding: calc(var(--base) * 0.6);
28
+ padding: base(0.8) base(0.6);
29
29
  min-width: 150px;
30
- position: relative;
31
- z-index: 1;
32
30
 
33
31
  &:first-child {
34
32
  padding-inline-start: base(0.8);
@@ -41,18 +39,9 @@
41
39
 
42
40
  tbody {
43
41
  tr {
44
- position: relative;
45
42
  &:nth-child(odd) {
46
- &:after {
47
- content: '';
48
- position: absolute;
49
- left: 0;
50
- top: 0;
51
- width: 100%;
52
- background: var(--theme-elevation-50);
53
- height: 100%;
54
- border-radius: var(--style-radius-s);
55
- }
43
+ background: var(--theme-elevation-50);
44
+ border-radius: $style-radius-s;
56
45
  }
57
46
  }
58
47
  }
@@ -63,17 +52,13 @@
63
52
  }
64
53
 
65
54
  &--appearance-condensed {
66
- border-radius: var(--style-radius-s);
67
- table {
68
- border-collapse: collapse;
69
- }
70
55
  thead {
71
56
  th:first-child {
72
- border-top-left-radius: var(--style-radius-s);
57
+ border-top-left-radius: $style-radius-s;
73
58
  }
74
59
 
75
60
  th:last-child {
76
- border-top-right-radius: var(--style-radius-s);
61
+ border-top-right-radius: $style-radius-s;
77
62
  }
78
63
 
79
64
  background: var(--theme-elevation-50);
@@ -82,19 +67,8 @@
82
67
  tbody {
83
68
  tr {
84
69
  &:nth-child(odd) {
85
- &:after {
86
- display: none;
87
- }
88
- }
89
-
90
- &:last-child {
91
- td:first-child {
92
- border-bottom-left-radius: var(--style-radius-s);
93
- }
94
-
95
- td:last-child {
96
- border-bottom-right-radius: var(--style-radius-s);
97
- }
70
+ background: transparent;
71
+ border-radius: 0;
98
72
  }
99
73
  }
100
74
  }