@payloadcms/ui 4.0.0-internal.40de3ec → 4.0.0-internal.4c792ad

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 (562) hide show
  1. package/dist/css/colors.css +3 -0
  2. package/dist/css/design-tokens.css +5 -0
  3. package/dist/css/elevations.css +4 -0
  4. package/dist/css/radius.css +1 -3
  5. package/dist/css/theme.css +4 -0
  6. package/dist/css/utilities.css +5 -0
  7. package/dist/elements/APIKeyInput/index.css +92 -0
  8. package/dist/elements/APIKeyInput/index.d.ts +14 -0
  9. package/dist/elements/APIKeyInput/index.d.ts.map +1 -0
  10. package/dist/elements/APIKeyInput/index.js +86 -0
  11. package/dist/elements/APIKeyInput/index.js.map +1 -0
  12. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  13. package/dist/elements/AddNewRelation/index.js +85 -103
  14. package/dist/elements/AddNewRelation/index.js.map +1 -1
  15. package/dist/elements/AppHeader/index.d.ts +3 -1
  16. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  17. package/dist/elements/AppHeader/index.js +7 -27
  18. package/dist/elements/AppHeader/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/ActionsBar/index.css +10 -4
  20. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  21. package/dist/elements/BulkUpload/ActionsBar/index.js +43 -40
  22. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/AddFilesView/index.js +1 -1
  24. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/AddingFilesView/index.css +25 -0
  26. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +1 -1
  27. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/AddingFilesView/index.js +1 -1
  29. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.css +9 -0
  31. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  32. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  33. package/dist/elements/BulkUpload/EditForm/index.js +1 -1
  34. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -1
  36. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  37. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +59 -55
  38. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  39. package/dist/elements/BulkUpload/EditMany/index.css +71 -0
  40. package/dist/elements/BulkUpload/EditMany/index.d.ts +1 -1
  41. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  42. package/dist/elements/BulkUpload/EditMany/index.js +1 -1
  43. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/FileSidebar/index.css +54 -75
  45. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  46. package/dist/elements/BulkUpload/FileSidebar/index.js +60 -50
  47. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  48. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  49. package/dist/elements/BulkUpload/FormsManager/index.js +13 -0
  50. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  51. package/dist/elements/Button/index.css +8 -0
  52. package/dist/elements/Card/index.css +1 -1
  53. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  54. package/dist/elements/CodeEditor/CodeEditor.js +19 -0
  55. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  56. package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
  57. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
  58. package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +24 -13
  59. package/dist/elements/ColumnSelection/Popup.js.map +1 -0
  60. package/dist/elements/ColumnSelection/index.d.ts +10 -0
  61. package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
  62. package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
  63. package/dist/elements/ColumnSelection/index.js.map +1 -0
  64. package/dist/elements/Combobox/index.css +1 -0
  65. package/dist/elements/ConfirmationModal/index.css +7 -0
  66. package/dist/elements/ConfirmationModal/index.d.ts +1 -0
  67. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  68. package/dist/elements/ConfirmationModal/index.js +7 -3
  69. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  70. package/dist/elements/DeleteMany/index.d.ts +3 -26
  71. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  72. package/dist/elements/DeleteMany/index.js +1 -95
  73. package/dist/elements/DeleteMany/index.js.map +1 -1
  74. package/dist/elements/Dialog/DialogModal/index.d.ts +1 -1
  75. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  76. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  77. package/dist/elements/Dialog/index.css +4 -0
  78. package/dist/elements/DocumentControls/index.css +17 -1
  79. package/dist/elements/DocumentControls/index.d.ts +6 -0
  80. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  81. package/dist/elements/DocumentControls/index.js +9 -8
  82. package/dist/elements/DocumentControls/index.js.map +1 -1
  83. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  84. package/dist/elements/DocumentDrawer/DrawerContent.js +10 -6
  85. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  86. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +76 -4
  87. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +7 -1
  88. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  89. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +150 -87
  90. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  91. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  92. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  93. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  94. package/dist/elements/DocumentFields/index.css +61 -2
  95. package/dist/elements/DraggableSortable/index.js.map +1 -1
  96. package/dist/elements/Drawer/index.css +57 -26
  97. package/dist/elements/Drawer/index.d.ts +25 -0
  98. package/dist/elements/Drawer/index.d.ts.map +1 -1
  99. package/dist/elements/Drawer/index.js +133 -54
  100. package/dist/elements/Drawer/index.js.map +1 -1
  101. package/dist/elements/Drawer/types.d.ts +1 -0
  102. package/dist/elements/Drawer/types.d.ts.map +1 -1
  103. package/dist/elements/Drawer/types.js.map +1 -1
  104. package/dist/elements/EditMany/DrawerContent.d.ts +1 -1
  105. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  106. package/dist/elements/EditMany/DrawerContent.js +76 -71
  107. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  108. package/dist/elements/EditMany/index.css +71 -0
  109. package/dist/elements/EditMany/index.d.ts +9 -11
  110. package/dist/elements/EditMany/index.d.ts.map +1 -1
  111. package/dist/elements/EditMany/index.js +2 -40
  112. package/dist/elements/EditMany/index.js.map +1 -1
  113. package/dist/elements/FieldSelect/index.css +3 -0
  114. package/dist/elements/FileDetails/DraggableFileDetails/index.css +32 -0
  115. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  116. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  117. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -18
  118. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  119. package/dist/elements/GroupBy/Popup.d.ts +21 -0
  120. package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
  121. package/dist/elements/GroupBy/Popup.js +269 -0
  122. package/dist/elements/GroupBy/Popup.js.map +1 -0
  123. package/dist/elements/GroupBy/index.d.ts +12 -0
  124. package/dist/elements/GroupBy/index.d.ts.map +1 -0
  125. package/dist/elements/GroupBy/index.js +91 -0
  126. package/dist/elements/GroupBy/index.js.map +1 -0
  127. package/dist/elements/Hierarchy/Drawer/index.css +3 -21
  128. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +1 -1
  129. package/dist/elements/Hierarchy/Drawer/index.js +5 -3
  130. package/dist/elements/Hierarchy/Drawer/index.js.map +1 -1
  131. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  132. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +1 -1
  133. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  134. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -1
  135. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  136. package/dist/elements/Hierarchy/Field/index.client.d.ts +1 -1
  137. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  138. package/dist/elements/Hierarchy/Field/index.client.js +5 -2
  139. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  140. package/dist/elements/Hierarchy/Field/index.css +37 -0
  141. package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -1
  142. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  143. package/dist/elements/Hierarchy/MoveMany/index.js +0 -1
  144. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  145. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +27 -0
  146. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +1 -1
  147. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -1
  148. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +1 -1
  149. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -1
  150. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  151. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +36 -16
  152. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  153. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  154. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +20 -15
  155. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  156. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  157. package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
  158. package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
  159. package/dist/elements/ListColumnSelectionButton/index.js +37 -0
  160. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
  161. package/dist/elements/ListControls/index.css +5 -0
  162. package/dist/elements/ListControls/index.d.ts.map +1 -1
  163. package/dist/elements/ListControls/index.js +7 -7
  164. package/dist/elements/ListControls/index.js.map +1 -1
  165. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  166. package/dist/elements/ListDrawer/DrawerContent.js +12 -6
  167. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  168. package/dist/elements/ListGroupByButton/index.d.ts +12 -0
  169. package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
  170. package/dist/elements/ListGroupByButton/index.js +55 -0
  171. package/dist/elements/ListGroupByButton/index.js.map +1 -0
  172. package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
  173. package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
  174. package/dist/elements/ListWhereBuilder/index.js +62 -0
  175. package/dist/elements/ListWhereBuilder/index.js.map +1 -0
  176. package/dist/elements/LoadMoreRow/index.css +34 -0
  177. package/dist/elements/LoadMoreRow/index.d.ts +1 -1
  178. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -1
  179. package/dist/elements/LoadMoreRow/index.js +4 -8
  180. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  181. package/dist/elements/Loading/index.css +28 -74
  182. package/dist/elements/Loading/index.d.ts.map +1 -1
  183. package/dist/elements/Loading/index.js +16 -60
  184. package/dist/elements/Loading/index.js.map +1 -1
  185. package/dist/elements/Localizer/index.d.ts.map +1 -1
  186. package/dist/elements/Localizer/index.js +3 -4
  187. package/dist/elements/Localizer/index.js.map +1 -1
  188. package/dist/elements/MenuSeparator/index.d.ts +4 -0
  189. package/dist/elements/MenuSeparator/index.d.ts.map +1 -0
  190. package/dist/elements/MenuSeparator/index.js +10 -0
  191. package/dist/elements/MenuSeparator/index.js.map +1 -0
  192. package/dist/elements/Nav/index.d.ts.map +1 -1
  193. package/dist/elements/Nav/index.js +4 -23
  194. package/dist/elements/Nav/index.js.map +1 -1
  195. package/dist/elements/Popup/PopupButtonList/index.css +48 -4
  196. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  197. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  198. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  199. package/dist/elements/Popup/PopupGroupLabel/index.css +19 -4
  200. package/dist/elements/Popup/index.d.ts +7 -0
  201. package/dist/elements/Popup/index.d.ts.map +1 -1
  202. package/dist/elements/Popup/index.js +143 -63
  203. package/dist/elements/Popup/index.js.map +1 -1
  204. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts +13 -0
  205. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -0
  206. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js +41 -0
  207. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js.map +1 -0
  208. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -0
  209. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  210. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  211. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  212. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  213. package/dist/elements/PublishButton/index.js +4 -5
  214. package/dist/elements/PublishButton/index.js.map +1 -1
  215. package/dist/elements/PublishMany/DrawerContent.d.ts +2 -1
  216. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  217. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  218. package/dist/elements/PublishMany/index.d.ts +2 -6
  219. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  220. package/dist/elements/PublishMany/index.js +0 -38
  221. package/dist/elements/PublishMany/index.js.map +1 -1
  222. package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
  223. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
  224. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
  225. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
  226. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  227. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
  228. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  229. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
  230. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  231. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
  232. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  233. package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
  234. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  235. package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
  236. package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
  237. package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
  238. package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
  239. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
  240. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
  241. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  242. package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
  243. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  244. package/dist/elements/QueryPresets/fields/fields.css +23 -0
  245. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  246. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts +5 -0
  247. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -0
  248. package/dist/elements/ReactSelect/getCaptureMenuScroll.js +10 -0
  249. package/dist/elements/ReactSelect/getCaptureMenuScroll.js.map +1 -0
  250. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +6 -0
  251. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -0
  252. package/dist/elements/ReactSelect/getMenuListStyles.js +7 -0
  253. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -0
  254. package/dist/elements/ReactSelect/index.css +0 -1
  255. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  256. package/dist/elements/ReactSelect/index.js +176 -139
  257. package/dist/elements/ReactSelect/index.js.map +1 -1
  258. package/dist/elements/ReactSelect/types.d.ts +1 -0
  259. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  260. package/dist/elements/ReactSelect/types.js.map +1 -1
  261. package/dist/elements/RelationshipTable/index.js +2 -2
  262. package/dist/elements/RelationshipTable/index.js.map +1 -1
  263. package/dist/elements/RenderTitle/index.css +10 -0
  264. package/dist/elements/RenderTitle/index.d.ts +5 -0
  265. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  266. package/dist/elements/RenderTitle/index.js +52 -27
  267. package/dist/elements/RenderTitle/index.js.map +1 -1
  268. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  269. package/dist/elements/SchedulePublishButton/index.js +6 -1
  270. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  271. package/dist/elements/SelectMany/index.js +1 -1
  272. package/dist/elements/SelectMany/index.js.map +1 -1
  273. package/dist/elements/SortColumn/index.css +1 -1
  274. package/dist/elements/Spinner/index.css +16 -0
  275. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  276. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  277. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  278. package/dist/elements/Table/OrderableRow.js +1 -1
  279. package/dist/elements/Table/OrderableRow.js.map +1 -1
  280. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  281. package/dist/elements/Table/RelationshipProvider/index.js +1 -0
  282. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  283. package/dist/elements/Table/index.css +39 -10
  284. package/dist/elements/Tabs/index.css +100 -0
  285. package/dist/elements/Tabs/index.d.ts +32 -0
  286. package/dist/elements/Tabs/index.d.ts.map +1 -0
  287. package/dist/elements/Tabs/index.js +62 -0
  288. package/dist/elements/Tabs/index.js.map +1 -0
  289. package/dist/elements/TimezonePicker/index.css +0 -15
  290. package/dist/elements/Toasts/fieldErrors.d.ts +1 -0
  291. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  292. package/dist/elements/Toasts/fieldErrors.js +25 -9
  293. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  294. package/dist/elements/Toasts/index.css +5 -0
  295. package/dist/elements/Tooltip/index.css +20 -4
  296. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  297. package/dist/elements/Tooltip/index.js +71 -3
  298. package/dist/elements/Tooltip/index.js.map +1 -1
  299. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  300. package/dist/elements/UnpublishButton/index.js +5 -13
  301. package/dist/elements/UnpublishButton/index.js.map +1 -1
  302. package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -1
  303. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  304. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  305. package/dist/elements/UnpublishMany/index.d.ts +2 -4
  306. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  307. package/dist/elements/UnpublishMany/index.js +0 -38
  308. package/dist/elements/UnpublishMany/index.js.map +1 -1
  309. package/dist/elements/UserMenu/LanguageMenu/index.d.ts +6 -0
  310. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -0
  311. package/dist/elements/UserMenu/LanguageMenu/index.js +133 -0
  312. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -0
  313. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +15 -0
  314. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -0
  315. package/dist/elements/UserMenu/SettingsMenu/index.js +119 -0
  316. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -0
  317. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts +6 -0
  318. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -0
  319. package/dist/elements/UserMenu/SubMenuHeader/index.js +34 -0
  320. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -0
  321. package/dist/elements/UserMenu/ThemeMenu/index.d.ts +6 -0
  322. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -0
  323. package/dist/elements/UserMenu/ThemeMenu/index.js +145 -0
  324. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -0
  325. package/dist/elements/UserMenu/index.css +80 -0
  326. package/dist/elements/UserMenu/index.d.ts +10 -0
  327. package/dist/elements/UserMenu/index.d.ts.map +1 -0
  328. package/dist/elements/UserMenu/index.js +204 -0
  329. package/dist/elements/UserMenu/index.js.map +1 -0
  330. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  331. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  332. package/dist/elements/WhereBuilder/Condition/index.js +17 -2
  333. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  334. package/dist/elements/WhereBuilder/index.d.ts +4 -3
  335. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  336. package/dist/elements/WhereBuilder/index.js +71 -62
  337. package/dist/elements/WhereBuilder/index.js.map +1 -1
  338. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  339. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  340. package/dist/elements/WhereBuilder/types.js.map +1 -1
  341. package/dist/exports/client/index.d.ts +13 -0
  342. package/dist/exports/client/index.d.ts.map +1 -1
  343. package/dist/exports/client/index.js +2 -2
  344. package/dist/exports/client/index.js.map +3 -3
  345. package/dist/exports/shared/index.js +1 -1
  346. package/dist/exports/shared/index.js.map +1 -1
  347. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -49
  348. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -1
  349. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +27 -20
  350. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  351. package/dist/fields/Blocks/BlockSelector/index.css +17 -3
  352. package/dist/fields/Blocks/BlockSelector/index.js +1 -1
  353. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  354. package/dist/fields/RadioGroup/index.css +6 -0
  355. package/dist/fields/Row/index.d.ts +1 -1
  356. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  357. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  358. package/dist/fields/Tabs/Tab/index.js +12 -23
  359. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  360. package/dist/fields/Tabs/index.d.ts.map +1 -1
  361. package/dist/fields/Tabs/index.js +37 -37
  362. package/dist/fields/Tabs/index.js.map +1 -1
  363. package/dist/fields/Upload/HasMany/index.css +4 -0
  364. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  365. package/dist/forms/RenderFields/RenderField.js +2 -1
  366. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  367. package/dist/forms/useField/index.js.map +1 -1
  368. package/dist/icons/Check/index.css +1 -2
  369. package/dist/icons/Check/index.js +1 -1
  370. package/dist/icons/Check/index.js.map +1 -1
  371. package/dist/icons/Gear/index.d.ts.map +1 -1
  372. package/dist/icons/Gear/index.js +8 -1
  373. package/dist/icons/Gear/index.js.map +1 -1
  374. package/dist/icons/InteractionEnter/index.css +5 -0
  375. package/dist/icons/InteractionEnter/index.d.ts +11 -0
  376. package/dist/icons/InteractionEnter/index.d.ts.map +1 -0
  377. package/dist/icons/InteractionEnter/index.js +25 -0
  378. package/dist/icons/InteractionEnter/index.js.map +1 -0
  379. package/dist/icons/{Write → Key}/index.css +1 -1
  380. package/dist/icons/Key/index.d.ts +7 -0
  381. package/dist/icons/Key/index.d.ts.map +1 -0
  382. package/dist/icons/Key/index.js +24 -0
  383. package/dist/icons/Key/index.js.map +1 -0
  384. package/dist/icons/LogOut/index.js +2 -2
  385. package/dist/icons/LogOut/index.js.map +1 -1
  386. package/dist/icons/Schedule/index.d.ts.map +1 -1
  387. package/dist/icons/Schedule/index.js +38 -39
  388. package/dist/icons/Schedule/index.js.map +1 -1
  389. package/dist/icons/VariableColor/index.css +5 -0
  390. package/dist/icons/VariableColor/index.d.ts +7 -0
  391. package/dist/icons/VariableColor/index.d.ts.map +1 -0
  392. package/dist/icons/VariableColor/index.js +23 -0
  393. package/dist/icons/VariableColor/index.js.map +1 -0
  394. package/dist/icons/Warning/index.css +1 -7
  395. package/dist/icons/Warning/index.d.ts +1 -1
  396. package/dist/icons/Warning/index.d.ts.map +1 -1
  397. package/dist/icons/Warning/index.js +11 -16
  398. package/dist/icons/Warning/index.js.map +1 -1
  399. package/dist/icons/WarningTriangle/index.css +5 -0
  400. package/dist/icons/WarningTriangle/index.d.ts +6 -0
  401. package/dist/icons/WarningTriangle/index.d.ts.map +1 -0
  402. package/dist/icons/WarningTriangle/index.js +21 -0
  403. package/dist/icons/WarningTriangle/index.js.map +1 -0
  404. package/dist/icons/Write/index.d.ts +0 -1
  405. package/dist/icons/Write/index.d.ts.map +1 -1
  406. package/dist/icons/Write/index.js +1 -2
  407. package/dist/icons/Write/index.js.map +1 -1
  408. package/dist/providers/Auth/index.d.ts +3 -1
  409. package/dist/providers/Auth/index.d.ts.map +1 -1
  410. package/dist/providers/Auth/index.js +8 -3
  411. package/dist/providers/Auth/index.js.map +1 -1
  412. package/dist/providers/Config/index.js.map +1 -1
  413. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  414. package/dist/providers/DocumentInfo/index.js +4 -0
  415. package/dist/providers/DocumentInfo/index.js.map +1 -1
  416. package/dist/providers/DocumentInfo/types.d.ts +4 -0
  417. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  418. package/dist/providers/DocumentInfo/types.js.map +1 -1
  419. package/dist/providers/Root/index.d.ts.map +1 -1
  420. package/dist/providers/Root/index.js +27 -24
  421. package/dist/providers/Root/index.js.map +1 -1
  422. package/dist/providers/TableColumns/RenderDefaultCell/index.css +1 -0
  423. package/dist/providers/Theme/index.d.ts.map +1 -1
  424. package/dist/providers/Theme/index.js +16 -14
  425. package/dist/providers/Theme/index.js.map +1 -1
  426. package/dist/providers/ToastContainer/index.css +208 -0
  427. package/dist/providers/ToastContainer/index.d.ts +1 -0
  428. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  429. package/dist/providers/ToastContainer/index.js +19 -6
  430. package/dist/providers/ToastContainer/index.js.map +1 -1
  431. package/dist/scss/app.scss +7 -2
  432. package/dist/styles.css +1361 -1
  433. package/dist/templates/Default/index.d.ts.map +1 -1
  434. package/dist/templates/Default/index.js +52 -2
  435. package/dist/templates/Default/index.js.map +1 -1
  436. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +0 -1
  437. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  438. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +0 -1
  439. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  440. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  441. package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
  442. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  443. package/dist/utilities/getHasScheduledPublish.d.ts +12 -0
  444. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -0
  445. package/dist/utilities/getHasScheduledPublish.js +38 -0
  446. package/dist/utilities/getHasScheduledPublish.js.map +1 -0
  447. package/dist/utilities/getVersions.d.ts.map +1 -1
  448. package/dist/utilities/getVersions.js +1 -21
  449. package/dist/utilities/getVersions.js.map +1 -1
  450. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  451. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  452. package/dist/views/Account/ResetPreferences/index.js +1 -0
  453. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  454. package/dist/views/Account/Settings/index.css +30 -13
  455. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  456. package/dist/views/Account/ToggleTheme/index.js +31 -47
  457. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  458. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  459. package/dist/views/Document/index.d.ts.map +1 -1
  460. package/dist/views/Document/index.js +10 -1
  461. package/dist/views/Document/index.js.map +1 -1
  462. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  463. package/dist/views/Edit/Auth/APIKey.js +10 -32
  464. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  465. package/dist/views/Edit/Auth/index.css +0 -67
  466. package/dist/views/Edit/index.d.ts.map +1 -1
  467. package/dist/views/Edit/index.js +62 -48
  468. package/dist/views/Edit/index.js.map +1 -1
  469. package/dist/views/HierarchyList/DocumentListSelection/index.js +8 -8
  470. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  471. package/dist/views/List/ListHeader/index.css +23 -1
  472. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  473. package/dist/views/List/ListHeader/index.js +0 -1
  474. package/dist/views/List/ListHeader/index.js.map +1 -1
  475. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  476. package/dist/views/List/ListSelection/index.js +84 -33
  477. package/dist/views/List/ListSelection/index.js.map +1 -1
  478. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  479. package/dist/views/List/handleGroupBy.js +9 -0
  480. package/dist/views/List/handleGroupBy.js.map +1 -1
  481. package/dist/views/List/index.client.d.ts.map +1 -1
  482. package/dist/views/List/index.client.js +7 -6
  483. package/dist/views/List/index.client.js.map +1 -1
  484. package/dist/views/List/index.css +15 -0
  485. package/dist/views/List/index.d.ts.map +1 -1
  486. package/dist/views/List/index.js +9 -2
  487. package/dist/views/List/index.js.map +1 -1
  488. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  489. package/dist/views/List/renderListViewSlots.js +11 -0
  490. package/dist/views/List/renderListViewSlots.js.map +1 -1
  491. package/dist/views/Logout/LogoutClient.d.ts +14 -0
  492. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  493. package/dist/views/Logout/LogoutClient.js +39 -33
  494. package/dist/views/Logout/LogoutClient.js.map +1 -1
  495. package/dist/views/Logout/index.d.ts.map +1 -1
  496. package/dist/views/Logout/index.js +7 -2
  497. package/dist/views/Logout/index.js.map +1 -1
  498. package/dist/views/Version/Default/index.css +3 -5
  499. package/dist/views/Version/Default/index.d.ts.map +1 -1
  500. package/dist/views/Version/Default/index.js +7 -28
  501. package/dist/views/Version/Default/index.js.map +1 -1
  502. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  503. package/dist/views/Version/Restore/index.css +2 -2
  504. package/dist/views/Version/SelectComparison/VersionDrawer/index.css +5 -0
  505. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +1 -1
  506. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  507. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +1 -2
  508. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  509. package/dist/views/Version/SelectComparison/index.css +5 -0
  510. package/dist/views/Version/SelectComparison/index.d.ts +1 -1
  511. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  512. package/dist/views/Version/SelectComparison/index.js +1 -1
  513. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  514. package/dist/views/Version/SelectLocales/index.d.ts +1 -2
  515. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  516. package/dist/views/Version/SelectLocales/index.js +83 -32
  517. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  518. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  519. package/dist/views/Versions/index.css +19 -16
  520. package/dist/views/Versions/index.d.ts +1 -1
  521. package/dist/views/Versions/index.d.ts.map +1 -1
  522. package/dist/views/Versions/index.js +3 -26
  523. package/dist/views/Versions/index.js.map +1 -1
  524. package/package.json +5 -5
  525. package/dist/elements/BulkUpload/AddingFilesView/index.scss +0 -25
  526. package/dist/elements/BulkUpload/EditForm/index.scss +0 -11
  527. package/dist/elements/BulkUpload/EditMany/index.scss +0 -171
  528. package/dist/elements/ColumnSelector/index.d.ts +0 -9
  529. package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
  530. package/dist/elements/ColumnSelector/index.js.map +0 -1
  531. package/dist/elements/ColumnsButton/index.d.ts +0 -7
  532. package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
  533. package/dist/elements/ColumnsButton/index.js.map +0 -1
  534. package/dist/elements/EditMany/index.scss +0 -182
  535. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +0 -35
  536. package/dist/elements/GroupByBuilder/index.d.ts +0 -12
  537. package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
  538. package/dist/elements/GroupByBuilder/index.js +0 -164
  539. package/dist/elements/GroupByBuilder/index.js.map +0 -1
  540. package/dist/elements/GroupByBuilder/index.scss +0 -39
  541. package/dist/elements/GroupByControl/index.d.ts +0 -9
  542. package/dist/elements/GroupByControl/index.d.ts.map +0 -1
  543. package/dist/elements/GroupByControl/index.js +0 -258
  544. package/dist/elements/GroupByControl/index.js.map +0 -1
  545. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  546. package/dist/elements/Hierarchy/Field/index.scss +0 -41
  547. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  548. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  549. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  550. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  551. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  552. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  553. package/dist/elements/LoadMoreRow/index.scss +0 -45
  554. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
  555. package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
  556. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  557. package/dist/fields/Tabs/Tab/index.css +0 -82
  558. package/dist/scss/toasts.scss +0 -146
  559. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  560. package/dist/views/Version/SelectComparison/index.scss +0 -9
  561. /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
  562. /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","hoistQueryParamsToAnd","transformColumnsToPreferences","React","Fragment","useCallback","useEffect","useRef","useState","useEffectEvent","useAuth","useConfig","ListQueryProvider","useServerFunctions","TableColumnsProvider","useTranslation","ColumnsButton","useDocumentDrawer","NoListResults","RelationshipProvider","AddNewButton","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","fieldPath","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","parent","relationTo","Table","setTable","config","getEntityConfig","i18n","t","query","setQuery","collectionConfig","collectionSlug","isPolymorphic","Array","isArray","selectedCollection","setSelectedCollection","undefined","permissions","openDrawerWhenRelationChanges","currentDrawerID","setCurrentDrawerID","DocumentDrawer","closeDrawer","isDrawerOpen","openDrawer","id","isLoadingTable","setIsLoadingTable","data","setData","docs","reduce","acc","doc","columnState","setColumnState","getTableState","renderTable","newQuery","limit","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","renderRowTypes","disableRowTypes","newData","state","newColumnState","NewTable","columns","enableRowSelections","orderableFieldName","orderable","collection","name","tableAppearance","handleTableRender","onDrawerSave","operation","foundDocIndex","findIndex","d","withNewOrUpdatedData","newDocs","onDrawerDelete","args","filter","onDrawerOpen","current","canCreate","collections","create","memoizedListQuery","useMemo","addNewButton","_jsx","buttonStyle","className","label","onClick","columnsButton","slug","_jsxs","length","Actions","labels","singular","description","plural","title","modifySearchParams","onQueryChange","replaceAll","LinkedCellOverride","onDelete","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, useRef, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.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 { ColumnsButton } from '../ColumnsButton/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { NoListResults } from '../NoListResults/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { AddNewButton } from './AddNewButton.js'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\nimport './index.css'\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 fieldPath?: string\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 type OnDrawerOpen = (id?: string, collectionSlug?: string) => void\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n field,\n fieldPath,\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 const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const isPolymorphic = Array.isArray(relationTo)\n\n const [selectedCollection, setSelectedCollection] = useState(\n isPolymorphic ? undefined : relationTo,\n )\n\n const { permissions } = useAuth()\n\n const openDrawerWhenRelationChanges = useRef(false)\n\n const [currentDrawerID, setCurrentDrawerID] = useState<string | undefined>(undefined)\n\n const [DocumentDrawer, , { closeDrawer, isDrawerOpen, openDrawer }] = useDocumentDrawer({\n id: currentDrawerID,\n collectionSlug: selectedCollection,\n })\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n\n const [data, setData] = useState<PaginatedDocs>(() =>\n initialDataFromProps\n ? {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string' || typeof doc === 'number') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n\n return [...acc, doc]\n }, [])\n : [],\n }\n : undefined,\n )\n\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (data?: PaginatedDocs) => {\n const newQuery: ListQuery = {\n limit: 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 CollectionPreferences['columns']\n const defaultColumns = field.admin?.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const renderRowTypes =\n typeof field.admin?.disableRowTypes === 'boolean'\n ? !field.admin.disableRowTypes\n : Array.isArray(relationTo)\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 data,\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,\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.admin?.disableRowTypes,\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 onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n ({ doc, operation }) => {\n if (operation === 'create') {\n closeDrawer()\n }\n\n const foundDocIndex = data?.docs?.findIndex((d) => d.id === doc.id)\n const withNewOrUpdatedData: PaginatedDocs = { docs: [] } as PaginatedDocs\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = doc\n withNewOrUpdatedData.docs = newDocs\n } else {\n withNewOrUpdatedData.docs = [doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedData)\n },\n [data?.docs, renderTable, closeDrawer],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n\n void renderTable({\n ...data,\n docs: newDocs,\n })\n\n setCurrentDrawerID(undefined)\n },\n [data, renderTable],\n )\n\n const onDrawerOpen = useCallback<OnDrawerOpen>((id, collectionSlug) => {\n openDrawerWhenRelationChanges.current = true\n\n if (id) {\n setCurrentDrawerID(id)\n } else {\n setCurrentDrawerID(undefined)\n }\n\n if (collectionSlug) {\n setSelectedCollection(collectionSlug)\n } else {\n setSelectedCollection(undefined)\n }\n }, [])\n\n useEffect(() => {\n if (openDrawerWhenRelationChanges.current) {\n openDrawerWhenRelationChanges.current = false\n openDrawer()\n }\n }, [openDrawer])\n\n useEffect(() => {\n if (!isDrawerOpen) {\n setCurrentDrawerID(undefined)\n }\n }, [isDrawerOpen])\n\n const canCreate =\n allowCreate !== false &&\n permissions?.collections?.[isPolymorphic ? relationTo[0] : relationTo]?.create\n\n useEffect(() => {\n if (isPolymorphic && selectedCollection) {\n openDrawer()\n }\n }, [selectedCollection, openDrawer, isPolymorphic])\n\n useEffect(() => {\n if (isPolymorphic && !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 const memoizedListQuery = React.useMemo(\n () => ({\n columns: transformColumnsToPreferences(columnState)?.map(({ accessor }) => accessor),\n limit: field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit,\n sort: field.defaultSort ?? collectionConfig?.defaultSort,\n }),\n [columnState, field, collectionConfig],\n )\n\n const addNewButton = (\n <AddNewButton\n allowCreate={allowCreate !== false}\n baseClass={baseClass}\n buttonStyle=\"ghost\"\n className={`${baseClass}__add-new${isPolymorphic ? '-polymorphic' : ''}`}\n collections={config.collections}\n i18n={i18n}\n label={i18n.t('fields:addNew')}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\n />\n )\n\n const columnsButton = <ColumnsButton collectionSlug={collectionConfig?.slug} />\n\n return (\n <div className={baseClass}>\n {isLoadingTable ? (\n <Fragment>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>{addNewButton}</div>\n </div>\n {BeforeInput}\n <p>{t('general:loading')}</p>\n </Fragment>\n ) : (\n <Fragment>\n {data?.docs && data.docs.length === 0 && (\n <Fragment>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>{addNewButton}</div>\n </div>\n {BeforeInput}\n <NoListResults\n Actions={\n canCreate\n ? [\n <AddNewButton\n allowCreate={canCreate}\n baseClass={baseClass}\n collections={config.collections}\n i18n={i18n}\n key=\"create\"\n label={i18n.t('general:createNewLabel', {\n label: isPolymorphic\n ? i18n.t('general:document')\n : getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\n />,\n ]\n : []\n }\n description={i18n.t('general:noResults', {\n label: isPolymorphic\n ? i18n.t('general:documents')\n : getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n title={i18n.t('general:noResultsFound')}\n />\n </Fragment>\n )}\n {data?.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n data={data}\n modifySearchParams={false}\n onQueryChange={setQuery}\n orderableFieldName={\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${fieldPath.replaceAll('.', '_')}_order`\n }\n query={memoizedListQuery}\n >\n <TableColumnsProvider\n collectionSlug={isPolymorphic ? relationTo[0] : relationTo}\n columnState={columnState}\n LinkedCellOverride={\n <DrawerLink currentDrawerID={currentDrawerID} onDrawerOpen={onDrawerOpen} />\n }\n >\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {addNewButton}\n {columnsButton}\n </div>\n </div>\n {BeforeInput}\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer\n initialData={initialDrawerData}\n onDelete={onDrawerDelete}\n onSave={onDrawerSave}\n />\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","useRef","useState","useEffectEvent","useAuth","useConfig","ListQueryProvider","useServerFunctions","TableColumnsProvider","useTranslation","useDocumentDrawer","ListColumnSelectionButton","NoListResults","RelationshipProvider","AddNewButton","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","fieldPath","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","parent","relationTo","Table","setTable","config","getEntityConfig","i18n","t","query","setQuery","collectionConfig","collectionSlug","isPolymorphic","Array","isArray","selectedCollection","setSelectedCollection","undefined","permissions","openDrawerWhenRelationChanges","currentDrawerID","setCurrentDrawerID","DocumentDrawer","closeDrawer","isDrawerOpen","openDrawer","id","isLoadingTable","setIsLoadingTable","data","setData","docs","reduce","acc","doc","columnState","setColumnState","getTableState","renderTable","newQuery","limit","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","renderRowTypes","disableRowTypes","newData","state","newColumnState","NewTable","columns","enableRowSelections","orderableFieldName","orderable","collection","name","tableAppearance","handleTableRender","onDrawerSave","operation","foundDocIndex","findIndex","d","withNewOrUpdatedData","newDocs","onDrawerDelete","args","filter","onDrawerOpen","current","canCreate","collections","create","memoizedListQuery","useMemo","addNewButton","_jsx","buttonStyle","className","label","onClick","columnsButton","slug","_jsxs","length","Actions","labels","singular","description","plural","title","modifySearchParams","onQueryChange","replaceAll","LinkedCellOverride","onDelete","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, useRef, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.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 { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { ListColumnSelectionButton } from '../ListColumnSelectionButton/index.js'\nimport { NoListResults } from '../NoListResults/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { AddNewButton } from './AddNewButton.js'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\nimport './index.css'\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 fieldPath?: string\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 type OnDrawerOpen = (id?: string, collectionSlug?: string) => void\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n field,\n fieldPath,\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 const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const isPolymorphic = Array.isArray(relationTo)\n\n const [selectedCollection, setSelectedCollection] = useState(\n isPolymorphic ? undefined : relationTo,\n )\n\n const { permissions } = useAuth()\n\n const openDrawerWhenRelationChanges = useRef(false)\n\n const [currentDrawerID, setCurrentDrawerID] = useState<string | undefined>(undefined)\n\n const [DocumentDrawer, , { closeDrawer, isDrawerOpen, openDrawer }] = useDocumentDrawer({\n id: currentDrawerID,\n collectionSlug: selectedCollection,\n })\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n\n const [data, setData] = useState<PaginatedDocs>(() =>\n initialDataFromProps\n ? {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string' || typeof doc === 'number') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n\n return [...acc, doc]\n }, [])\n : [],\n }\n : undefined,\n )\n\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (data?: PaginatedDocs) => {\n const newQuery: ListQuery = {\n limit: 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 CollectionPreferences['columns']\n const defaultColumns = field.admin?.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const renderRowTypes =\n typeof field.admin?.disableRowTypes === 'boolean'\n ? !field.admin.disableRowTypes\n : Array.isArray(relationTo)\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 data,\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,\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.admin?.disableRowTypes,\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 onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n ({ doc, operation }) => {\n if (operation === 'create') {\n closeDrawer()\n }\n\n const foundDocIndex = data?.docs?.findIndex((d) => d.id === doc.id)\n const withNewOrUpdatedData: PaginatedDocs = { docs: [] } as PaginatedDocs\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = doc\n withNewOrUpdatedData.docs = newDocs\n } else {\n withNewOrUpdatedData.docs = [doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedData)\n },\n [data?.docs, renderTable, closeDrawer],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n\n void renderTable({\n ...data,\n docs: newDocs,\n })\n\n setCurrentDrawerID(undefined)\n },\n [data, renderTable],\n )\n\n const onDrawerOpen = useCallback<OnDrawerOpen>((id, collectionSlug) => {\n openDrawerWhenRelationChanges.current = true\n\n if (id) {\n setCurrentDrawerID(id)\n } else {\n setCurrentDrawerID(undefined)\n }\n\n if (collectionSlug) {\n setSelectedCollection(collectionSlug)\n } else {\n setSelectedCollection(undefined)\n }\n }, [])\n\n useEffect(() => {\n if (openDrawerWhenRelationChanges.current) {\n openDrawerWhenRelationChanges.current = false\n openDrawer()\n }\n }, [openDrawer])\n\n useEffect(() => {\n if (!isDrawerOpen) {\n setCurrentDrawerID(undefined)\n }\n }, [isDrawerOpen])\n\n const canCreate =\n allowCreate !== false &&\n permissions?.collections?.[isPolymorphic ? relationTo[0] : relationTo]?.create\n\n useEffect(() => {\n if (isPolymorphic && selectedCollection) {\n openDrawer()\n }\n }, [selectedCollection, openDrawer, isPolymorphic])\n\n useEffect(() => {\n if (isPolymorphic && !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 const memoizedListQuery = React.useMemo(\n () => ({\n columns: transformColumnsToPreferences(columnState)?.map(({ accessor }) => accessor),\n limit: field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit,\n sort: field.defaultSort ?? collectionConfig?.defaultSort,\n }),\n [columnState, field, collectionConfig],\n )\n\n const addNewButton = (\n <AddNewButton\n allowCreate={allowCreate !== false}\n baseClass={baseClass}\n buttonStyle=\"ghost\"\n className={`${baseClass}__add-new${isPolymorphic ? '-polymorphic' : ''}`}\n collections={config.collections}\n i18n={i18n}\n label={i18n.t('fields:addNew')}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\n />\n )\n\n const columnsButton = <ListColumnSelectionButton collectionSlug={collectionConfig?.slug} />\n\n return (\n <div className={baseClass}>\n {isLoadingTable ? (\n <Fragment>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>{addNewButton}</div>\n </div>\n {BeforeInput}\n <p>{t('general:loading')}</p>\n </Fragment>\n ) : (\n <Fragment>\n {data?.docs && data.docs.length === 0 && (\n <Fragment>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>{addNewButton}</div>\n </div>\n {BeforeInput}\n <NoListResults\n Actions={\n canCreate\n ? [\n <AddNewButton\n allowCreate={canCreate}\n baseClass={baseClass}\n collections={config.collections}\n i18n={i18n}\n key=\"create\"\n label={i18n.t('general:createNewLabel', {\n label: isPolymorphic\n ? i18n.t('general:document')\n : getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\n />,\n ]\n : []\n }\n description={i18n.t('general:noResults', {\n label: isPolymorphic\n ? i18n.t('general:documents')\n : getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n title={i18n.t('general:noResultsFound')}\n />\n </Fragment>\n )}\n {data?.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n data={data}\n modifySearchParams={false}\n onQueryChange={setQuery}\n orderableFieldName={\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${fieldPath.replaceAll('.', '_')}_order`\n }\n query={memoizedListQuery}\n >\n <TableColumnsProvider\n collectionSlug={isPolymorphic ? relationTo[0] : relationTo}\n columnState={columnState}\n LinkedCellOverride={\n <DrawerLink currentDrawerID={currentDrawerID} onDrawerOpen={onDrawerOpen} />\n }\n >\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {addNewButton}\n {columnsButton}\n </div>\n </div>\n {BeforeInput}\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer\n initialData={initialDrawerData}\n onDelete={onDrawerDelete}\n onSave={onDrawerSave}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -27,6 +27,16 @@
27
27
  position: relative;
28
28
  }
29
29
 
30
+ .render-title__link {
31
+ color: inherit;
32
+ text-decoration: none;
33
+
34
+ &:hover,
35
+ &:focus-visible {
36
+ text-decoration: underline;
37
+ }
38
+ }
39
+
30
40
  @media (max-width: 768px) {
31
41
  .render-title {
32
42
  --render-title-letter-spacing: -0.075px;
@@ -5,6 +5,11 @@ export type RenderTitleProps = {
5
5
  element?: React.ElementType;
6
6
  fallback?: string;
7
7
  fallbackToID?: boolean;
8
+ /**
9
+ * When true, renders the title as a link to the document. Useful inside drawers
10
+ * to navigate to the full document view.
11
+ */
12
+ renderAsLink?: boolean;
8
13
  title?: string;
9
14
  };
10
15
  export declare const RenderTitle: React.FC<RenderTitleProps>;
@@ -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,aAAa,CAAA;AAIpB,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,CAgClD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RenderTitle/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,aAAa,CAAA;AAIpB,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;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiDlD,CAAA"}
@@ -2,67 +2,92 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { formatAdminURL } from 'payload/shared';
5
6
  import React, { Fragment } from 'react';
7
+ import { Link } from '../../elements/Link/index.js';
8
+ import { useConfig } from '../../providers/Config/index.js';
6
9
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
7
10
  import { useDocumentTitle } from '../../providers/DocumentTitle/index.js';
8
11
  import { IDLabel } from '../IDLabel/index.js';
9
12
  import './index.css';
10
13
  const baseClass = 'render-title';
11
14
  export const RenderTitle = props => {
12
- const $ = _c(10);
15
+ const $ = _c(14);
13
16
  const {
14
17
  className,
15
18
  element: t0,
16
19
  fallback,
20
+ renderAsLink,
17
21
  title: titleFromProps
18
22
  } = props;
19
23
  const element = t0 === undefined ? "h1" : t0;
20
24
  const {
21
25
  id,
26
+ collectionSlug,
27
+ globalSlug,
22
28
  isInitializing
23
29
  } = useDocumentInfo();
24
30
  const {
25
31
  title: titleFromContext
26
32
  } = useDocumentTitle();
33
+ const {
34
+ config: t1
35
+ } = useConfig();
36
+ const {
37
+ routes: t2
38
+ } = t1;
39
+ const {
40
+ admin: adminRoute
41
+ } = t2;
27
42
  const title = titleFromProps || titleFromContext || fallback;
28
43
  const idAsTitle = title === id;
29
44
  const Tag = element;
30
- let t1;
31
- if ($[0] !== Tag || $[1] !== className || $[2] !== id || $[3] !== idAsTitle || $[4] !== isInitializing || $[5] !== title) {
45
+ let t3;
46
+ if ($[0] !== Tag || $[1] !== adminRoute || $[2] !== className || $[3] !== collectionSlug || $[4] !== globalSlug || $[5] !== id || $[6] !== idAsTitle || $[7] !== isInitializing || $[8] !== renderAsLink || $[9] !== title) {
32
47
  const EmptySpace = _jsx(Fragment, {
33
48
  children: "\xA0"
34
49
  });
35
- const t2 = idAsTitle && `${baseClass}--has-id`;
36
- let t3;
37
- if ($[7] !== className || $[8] !== t2) {
38
- t3 = [className, baseClass, t2].filter(Boolean);
39
- $[7] = className;
40
- $[8] = t2;
41
- $[9] = t3;
50
+ const docPath = renderAsLink && id && (collectionSlug || globalSlug) ? formatAdminURL({
51
+ adminRoute,
52
+ path: `/${collectionSlug ? `collections/${collectionSlug}` : `globals/${globalSlug}`}/${id}`
53
+ }) : null;
54
+ const t4 = idAsTitle && `${baseClass}--has-id`;
55
+ let t5;
56
+ if ($[11] !== className || $[12] !== t4) {
57
+ t5 = [className, baseClass, t4].filter(Boolean);
58
+ $[11] = className;
59
+ $[12] = t4;
60
+ $[13] = t5;
42
61
  } else {
43
- t3 = $[9];
62
+ t5 = $[13];
44
63
  }
45
- t1 = _jsx(Tag, {
46
- className: t3.join(" "),
64
+ t3 = _jsx(Tag, {
65
+ className: t5.join(" "),
47
66
  "data-doc-id": id,
48
67
  title,
49
- children: isInitializing ? EmptySpace : _jsx(Fragment, {
50
- children: idAsTitle ? _jsx(IDLabel, {
51
- className: `${baseClass}__id`,
52
- id
53
- }) : title || EmptySpace
54
- })
68
+ children: isInitializing ? EmptySpace : idAsTitle ? _jsx(IDLabel, {
69
+ className: `${baseClass}__id`,
70
+ id
71
+ }) : docPath ? _jsx(Link, {
72
+ className: `${baseClass}__link`,
73
+ href: docPath,
74
+ children: title || EmptySpace
75
+ }) : title || EmptySpace
55
76
  });
56
77
  $[0] = Tag;
57
- $[1] = className;
58
- $[2] = id;
59
- $[3] = idAsTitle;
60
- $[4] = isInitializing;
61
- $[5] = title;
62
- $[6] = t1;
78
+ $[1] = adminRoute;
79
+ $[2] = className;
80
+ $[3] = collectionSlug;
81
+ $[4] = globalSlug;
82
+ $[5] = id;
83
+ $[6] = idAsTitle;
84
+ $[7] = isInitializing;
85
+ $[8] = renderAsLink;
86
+ $[9] = title;
87
+ $[10] = t3;
63
88
  } else {
64
- t1 = $[6];
89
+ t3 = $[10];
65
90
  }
66
- return t1;
91
+ return t3;
67
92
  };
68
93
  //# sourceMappingURL=index.js.map
@@ -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.css'\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 data-doc-id={id}\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;MAAA,eACKb,EAAA;MAAAH,KAAA;MAAAW,QAAA,EAGZP,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;;;;;;;;;;;;SAXjFD,E;CAgBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","formatAdminURL","React","Fragment","Link","useConfig","useDocumentInfo","useDocumentTitle","IDLabel","baseClass","RenderTitle","props","$","className","element","t0","fallback","renderAsLink","title","titleFromProps","undefined","id","collectionSlug","globalSlug","isInitializing","titleFromContext","config","t1","routes","t2","admin","adminRoute","idAsTitle","Tag","t3","EmptySpace","_jsx","children","docPath","path","t4","t5","filter","Boolean","join","href"],"sources":["../../../src/elements/RenderTitle/index.tsx"],"sourcesContent":["'use client'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { Link } from '../../elements/Link/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../providers/DocumentTitle/index.js'\nimport { IDLabel } from '../IDLabel/index.js'\nimport './index.css'\n\nconst baseClass = 'render-title'\n\nexport type RenderTitleProps = {\n className?: string\n element?: React.ElementType\n fallback?: string\n fallbackToID?: boolean\n /**\n * When true, renders the title as a link to the document. Useful inside drawers\n * to navigate to the full document view.\n */\n renderAsLink?: boolean\n title?: string\n}\n\nexport const RenderTitle: React.FC<RenderTitleProps> = (props) => {\n const { className, element = 'h1', fallback, renderAsLink, title: titleFromProps } = props\n\n const { id, collectionSlug, globalSlug, isInitializing } = useDocumentInfo()\n const { title: titleFromContext } = useDocumentTitle()\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\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 const docPath =\n renderAsLink && id && (collectionSlug || globalSlug)\n ? formatAdminURL({\n adminRoute,\n path: `/${collectionSlug ? `collections/${collectionSlug}` : `globals/${globalSlug}`}/${id}`,\n })\n : null\n\n return (\n <Tag\n className={[className, baseClass, idAsTitle && `${baseClass}--has-id`]\n .filter(Boolean)\n .join(' ')}\n data-doc-id={id}\n title={title}\n >\n {isInitializing ? (\n EmptySpace\n ) : idAsTitle ? (\n <IDLabel className={`${baseClass}__id`} id={id} />\n ) : docPath ? (\n <Link className={`${baseClass}__link`} href={docPath}>\n {title || EmptySpace}\n </Link>\n ) : (\n title || EmptySpace\n )}\n </Tag>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,IAAI,QAAQ;AACrB,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,OAAO,QAAQ;AACxB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAelB,OAAO,MAAMC,WAAA,GAA0CC,KAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EACrD;IAAAa,SAAA;IAAAC,OAAA,EAAAC,EAAA;IAAAC,QAAA;IAAAC,YAAA;IAAAC,KAAA,EAAAC;EAAA,IAAqFR,KAAA;EAAlE,MAAAG,OAAA,GAAAC,EAAc,KAAAK,SAAA,GAAJ,IAAI,GAAdL,EAAc;EAEjC;IAAAM,EAAA;IAAAC,cAAA;IAAAC,UAAA;IAAAC;EAAA,IAA2DlB,eAAA;EAC3D;IAAAY,KAAA,EAAAO;EAAA,IAAoClB,gBAAA;EACpC;IAAAmB,MAAA,EAAAC;EAAA,IAIItB,SAAA;EAHM;IAAAuB,MAAA,EAAAC;EAAA,IAAAF,EAEP;EADS;IAAAG,KAAA,EAAAC;EAAA,IAAAF,EAAqB;EAIjC,MAAAX,KAAA,GAAcC,cAAA,IAAkBM,gBAAA,IAAoBT,QAAA;EAEpD,MAAAgB,SAAA,GAAkBd,KAAA,KAAUG,EAAA;EAE5B,MAAAY,GAAA,GAAYnB,OAAA;EAAA,IAAAoB,EAAA;EAAA,IAAAtB,CAAA,QAAAqB,GAAA,IAAArB,CAAA,QAAAmB,UAAA,IAAAnB,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAU,cAAA,IAAAV,CAAA,QAAAW,UAAA,IAAAX,CAAA,QAAAS,EAAA,IAAAT,CAAA,QAAAoB,SAAA,IAAApB,CAAA,QAAAY,cAAA,IAAAZ,CAAA,QAAAK,YAAA,IAAAL,CAAA,QAAAM,KAAA;IAGZ,MAAAiB,UAAA,GAAmBC,IAAA,CAAAjC,QAAA;MAAAkC,QAAA,EAAU;IAAA,C;IAE7B,MAAAC,OAAA,GACErB,YAAA,IAAgBI,EAAA,KAAOC,cAAA,IAAkBC,UAAS,IAC9CtB,cAAA;MAAA8B,UAAA;MAAAQ,IAAA,EAEQ,IAAIjB,cAAA,GAAiB,eAAeA,cAAA,EAAgB,GAAG,WAAWC,UAAA,EAAY,IAAIF,EAAA;IAAI,CAC9F,QACA;IAIgC,MAAAmB,EAAA,GAAAR,SAAA,IAAa,GAAAvB,SAAA,UAAsB;IAAA,IAAAgC,EAAA;IAAA,IAAA7B,CAAA,SAAAC,SAAA,IAAAD,CAAA,SAAA4B,EAAA;MAA1DC,EAAA,IAAC5B,SAAA,EAAAJ,SAAA,EAAsB+B,EAAmC,EAAAE,MAAA,CAAAC,OAC3D;MAAA/B,CAAA,OAAAC,SAAA;MAAAD,CAAA,OAAA4B,EAAA;MAAA5B,CAAA,OAAA6B,EAAA;IAAA;MAAAA,EAAA,GAAA7B,CAAA;IAAA;IAFZsB,EAAA,GAAAE,IAAA,CAACH,GAAA;MAAApB,SAAA,EACY4B,EACD,CAAAG,IAAA,CACF;MAAA,eACKvB,EAAA;MAAAH,KAAA;MAAAmB,QAAA,EAGZb,cAAA,GACCW,UAAA,GACEH,SAAA,GACFI,IAAA,CAAA5B,OAAA;QAAAK,SAAA,EAAoB,GAAAJ,SAAA,MAAkB;QAAAY;MAAA,C,IACpCiB,OAAA,GACFF,IAAA,CAAAhC,IAAA;QAAAS,SAAA,EAAiB,GAAAJ,SAAA,QAAoB;QAAAoC,IAAA,EAAQP,OAAA;QAAAD,QAAA,EAC1CnB,KAAA,IAASiB;MAAA,C,IAGZjB,KAAA,IAASiB;IAAA,C;;;;;;;;;;;;;;;SAhBbD,E;CAoBJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SchedulePublishButton/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAWhD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAsElE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SchedulePublishButton/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAWhD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CA8ElE,CAAA"}
@@ -20,6 +20,8 @@ export const SchedulePublishButton = ({
20
20
  collectionSlug,
21
21
  globalSlug,
22
22
  hasPublishPermission,
23
+ hasScheduledPublish,
24
+ setHasScheduledPublish,
23
25
  unpublishedVersionCount
24
26
  } = useDocumentInfo();
25
27
  const {
@@ -65,7 +67,9 @@ export const SchedulePublishButton = ({
65
67
  children: [/*#__PURE__*/_jsx(Button, {
66
68
  buttonStyle: "ghost",
67
69
  disabled: disabled,
68
- icon: /*#__PURE__*/_jsx(ScheduleIcon, {}),
70
+ icon: /*#__PURE__*/_jsx(ScheduleIcon, {
71
+ active: hasScheduledPublish
72
+ }),
69
73
  id: "schedule-publish-button",
70
74
  onClick: () => toggleModal(drawerSlug)
71
75
  }), /*#__PURE__*/_jsx(Tooltip, {
@@ -75,6 +79,7 @@ export const SchedulePublishButton = ({
75
79
  })]
76
80
  }), isModalOpen(drawerSlug) && /*#__PURE__*/_jsx(ScheduleDrawer, {
77
81
  defaultType: !hasNewerVersions ? 'unpublish' : 'publish',
82
+ onUpcomingChange: setHasScheduledPublish,
78
83
  schedulePublishConfig: scheduledPublishEnabled && typeof entityConfig.versions.drafts.schedulePublish === 'object' ? entityConfig.versions.drafts.schedulePublish : undefined,
79
84
  slug: drawerSlug
80
85
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","hasAutosaveEnabled","hasScheduledPublishEnabled","React","useMemo","useState","useFormModified","ScheduleIcon","useConfig","useDocumentInfo","useTranslation","Button","ScheduleDrawer","Tooltip","SchedulePublishButton","disabled","id","collectionSlug","globalSlug","hasPublishPermission","unpublishedVersionCount","getEntityConfig","isModalOpen","toggleModal","t","modified","hovered","setHovered","entityConfig","scheduledPublishEnabled","hasAutosave","canSchedulePublish","Boolean","drawerSlug","hasNewerVersions","label","_jsxs","Fragment","onPointerEnter","onPointerLeave","style","position","_jsx","buttonStyle","icon","onClick","delay","show","defaultType","schedulePublishConfig","versions","drafts","schedulePublish","undefined","slug"],"sources":["../../../src/elements/SchedulePublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { hasAutosaveEnabled, hasScheduledPublishEnabled } from 'payload/shared'\nimport React, { useMemo, useState } from 'react'\n\nimport { useFormModified } from '../../forms/Form/context.js'\nimport { ScheduleIcon } from '../../icons/Schedule/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { ScheduleDrawer } from '../PublishButton/ScheduleDrawer/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\n\nexport const SchedulePublishButton: React.FC<{ disabled?: boolean }> = ({ disabled }) => {\n const { id, collectionSlug, globalSlug, hasPublishPermission, unpublishedVersionCount } =\n useDocumentInfo()\n\n const { getEntityConfig } = useConfig()\n const { isModalOpen, toggleModal } = useModal()\n const { t } = useTranslation()\n const modified = useFormModified()\n const [hovered, setHovered] = useState(false)\n\n const entityConfig = useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const scheduledPublishEnabled = hasScheduledPublishEnabled(entityConfig)\n const hasAutosave = hasAutosaveEnabled(entityConfig)\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled &&\n hasPublishPermission &&\n (globalSlug || (collectionSlug && id)) &&\n (hasAutosave || !modified),\n )\n\n const drawerSlug = `schedule-publish-${id}`\n const hasNewerVersions = unpublishedVersionCount > 0\n\n if (!canSchedulePublish) {\n return null\n }\n\n const label = t('version:schedulePublish')\n\n return (\n <React.Fragment>\n <span\n onPointerEnter={() => setHovered(true)}\n onPointerLeave={() => setHovered(false)}\n style={{ position: 'relative' }}\n >\n <Button\n buttonStyle=\"ghost\"\n disabled={disabled}\n icon={<ScheduleIcon />}\n id=\"schedule-publish-button\"\n onClick={() => toggleModal(drawerSlug)}\n />\n <Tooltip delay={0} show={hovered}>\n {label}\n </Tooltip>\n </span>\n {isModalOpen(drawerSlug) && (\n <ScheduleDrawer\n defaultType={!hasNewerVersions ? 'unpublish' : 'publish'}\n schedulePublishConfig={\n scheduledPublishEnabled &&\n typeof entityConfig.versions.drafts.schedulePublish === 'object'\n ? entityConfig.versions.drafts.schedulePublish\n : undefined\n }\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;;AAEA,SAASA,QAAQ,QAAQ;AACzB,SAASC,kBAAkB,EAAEC,0BAA0B,QAAQ;AAC/D,OAAOC,KAAA,IAASC,OAAO,EAAEC,QAAQ,QAAQ;AAEzC,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,cAAc,QAAQ;AAC/B,SAASC,OAAO,QAAQ;AAExB,OAAO,MAAMC,qBAAA,GAA0DA,CAAC;EAAEC;AAAQ,CAAE;EAClF,MAAM;IAAEC,EAAE;IAAEC,cAAc;IAAEC,UAAU;IAAEC,oBAAoB;IAAEC;EAAuB,CAAE,GACrFX,eAAA;EAEF,MAAM;IAAEY;EAAe,CAAE,GAAGb,SAAA;EAC5B,MAAM;IAAEc,WAAW;IAAEC;EAAW,CAAE,GAAGvB,QAAA;EACrC,MAAM;IAAEwB;EAAC,CAAE,GAAGd,cAAA;EACd,MAAMe,QAAA,GAAWnB,eAAA;EACjB,MAAM,CAACoB,OAAA,EAASC,UAAA,CAAW,GAAGtB,QAAA,CAAS;EAEvC,MAAMuB,YAAA,GAAexB,OAAA,CAAQ;IAC3B,IAAIa,cAAA,EAAgB;MAClB,OAAOI,eAAA,CAAgB;QAAEJ;MAAe;IAC1C;IACA,IAAIC,UAAA,EAAY;MACd,OAAOG,eAAA,CAAgB;QAAEH;MAAW;IACtC;EACF,GAAG,CAACD,cAAA,EAAgBC,UAAA,EAAYG,eAAA,CAAgB;EAEhD,MAAMQ,uBAAA,GAA0B3B,0BAAA,CAA2B0B,YAAA;EAC3D,MAAME,WAAA,GAAc7B,kBAAA,CAAmB2B,YAAA;EAEvC,MAAMG,kBAAA,GAAqBC,OAAA,CACzBH,uBAAA,IACEV,oBAAA,KACCD,UAAA,IAAeD,cAAA,IAAkBD,EAAE,MACnCc,WAAA,IAAe,CAACL,QAAO;EAG5B,MAAMQ,UAAA,GAAa,oBAAoBjB,EAAA,EAAI;EAC3C,MAAMkB,gBAAA,GAAmBd,uBAAA,GAA0B;EAEnD,IAAI,CAACW,kBAAA,EAAoB;IACvB,OAAO;EACT;EAEA,MAAMI,KAAA,GAAQX,CAAA,CAAE;EAEhB,oBACEY,KAAA,CAACjC,KAAA,CAAMkC,QAAQ;4BACbD,KAAA,CAAC;MACCE,cAAA,EAAgBA,CAAA,KAAMX,UAAA,CAAW;MACjCY,cAAA,EAAgBA,CAAA,KAAMZ,UAAA,CAAW;MACjCa,KAAA,EAAO;QAAEC,QAAA,EAAU;MAAW;8BAE9BC,IAAA,CAAC/B,MAAA;QACCgC,WAAA,EAAY;QACZ5B,QAAA,EAAUA,QAAA;QACV6B,IAAA,eAAMF,IAAA,CAACnC,YAAA;QACPS,EAAA,EAAG;QACH6B,OAAA,EAASA,CAAA,KAAMtB,WAAA,CAAYU,UAAA;uBAE7BS,IAAA,CAAC7B,OAAA;QAAQiC,KAAA,EAAO;QAAGC,IAAA,EAAMrB,OAAA;kBACtBS;;QAGJb,WAAA,CAAYW,UAAA,kBACXS,IAAA,CAAC9B,cAAA;MACCoC,WAAA,EAAa,CAACd,gBAAA,GAAmB,cAAc;MAC/Ce,qBAAA,EACEpB,uBAAA,IACA,OAAOD,YAAA,CAAasB,QAAQ,CAACC,MAAM,CAACC,eAAe,KAAK,WACpDxB,YAAA,CAAasB,QAAQ,CAACC,MAAM,CAACC,eAAe,GAC5CC,SAAA;MAENC,IAAA,EAAMrB;;;AAKhB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","hasAutosaveEnabled","hasScheduledPublishEnabled","React","useMemo","useState","useFormModified","ScheduleIcon","useConfig","useDocumentInfo","useTranslation","Button","ScheduleDrawer","Tooltip","SchedulePublishButton","disabled","id","collectionSlug","globalSlug","hasPublishPermission","hasScheduledPublish","setHasScheduledPublish","unpublishedVersionCount","getEntityConfig","isModalOpen","toggleModal","t","modified","hovered","setHovered","entityConfig","scheduledPublishEnabled","hasAutosave","canSchedulePublish","Boolean","drawerSlug","hasNewerVersions","label","_jsxs","Fragment","onPointerEnter","onPointerLeave","style","position","_jsx","buttonStyle","icon","active","onClick","delay","show","defaultType","onUpcomingChange","schedulePublishConfig","versions","drafts","schedulePublish","undefined","slug"],"sources":["../../../src/elements/SchedulePublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { hasAutosaveEnabled, hasScheduledPublishEnabled } from 'payload/shared'\nimport React, { useMemo, useState } from 'react'\n\nimport { useFormModified } from '../../forms/Form/context.js'\nimport { ScheduleIcon } from '../../icons/Schedule/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { ScheduleDrawer } from '../PublishButton/ScheduleDrawer/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\n\nexport const SchedulePublishButton: React.FC<{ disabled?: boolean }> = ({ disabled }) => {\n const {\n id,\n collectionSlug,\n globalSlug,\n hasPublishPermission,\n hasScheduledPublish,\n setHasScheduledPublish,\n unpublishedVersionCount,\n } = useDocumentInfo()\n\n const { getEntityConfig } = useConfig()\n const { isModalOpen, toggleModal } = useModal()\n const { t } = useTranslation()\n const modified = useFormModified()\n const [hovered, setHovered] = useState(false)\n\n const entityConfig = useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const scheduledPublishEnabled = hasScheduledPublishEnabled(entityConfig)\n const hasAutosave = hasAutosaveEnabled(entityConfig)\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled &&\n hasPublishPermission &&\n (globalSlug || (collectionSlug && id)) &&\n (hasAutosave || !modified),\n )\n\n const drawerSlug = `schedule-publish-${id}`\n const hasNewerVersions = unpublishedVersionCount > 0\n\n if (!canSchedulePublish) {\n return null\n }\n\n const label = t('version:schedulePublish')\n\n return (\n <React.Fragment>\n <span\n onPointerEnter={() => setHovered(true)}\n onPointerLeave={() => setHovered(false)}\n style={{ position: 'relative' }}\n >\n <Button\n buttonStyle=\"ghost\"\n disabled={disabled}\n icon={<ScheduleIcon active={hasScheduledPublish} />}\n id=\"schedule-publish-button\"\n onClick={() => toggleModal(drawerSlug)}\n />\n <Tooltip delay={0} show={hovered}>\n {label}\n </Tooltip>\n </span>\n {isModalOpen(drawerSlug) && (\n <ScheduleDrawer\n defaultType={!hasNewerVersions ? 'unpublish' : 'publish'}\n onUpcomingChange={setHasScheduledPublish}\n schedulePublishConfig={\n scheduledPublishEnabled &&\n typeof entityConfig.versions.drafts.schedulePublish === 'object'\n ? entityConfig.versions.drafts.schedulePublish\n : undefined\n }\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;;AAEA,SAASA,QAAQ,QAAQ;AACzB,SAASC,kBAAkB,EAAEC,0BAA0B,QAAQ;AAC/D,OAAOC,KAAA,IAASC,OAAO,EAAEC,QAAQ,QAAQ;AAEzC,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,cAAc,QAAQ;AAC/B,SAASC,OAAO,QAAQ;AAExB,OAAO,MAAMC,qBAAA,GAA0DA,CAAC;EAAEC;AAAQ,CAAE;EAClF,MAAM;IACJC,EAAE;IACFC,cAAc;IACdC,UAAU;IACVC,oBAAoB;IACpBC,mBAAmB;IACnBC,sBAAsB;IACtBC;EAAuB,CACxB,GAAGb,eAAA;EAEJ,MAAM;IAAEc;EAAe,CAAE,GAAGf,SAAA;EAC5B,MAAM;IAAEgB,WAAW;IAAEC;EAAW,CAAE,GAAGzB,QAAA;EACrC,MAAM;IAAE0B;EAAC,CAAE,GAAGhB,cAAA;EACd,MAAMiB,QAAA,GAAWrB,eAAA;EACjB,MAAM,CAACsB,OAAA,EAASC,UAAA,CAAW,GAAGxB,QAAA,CAAS;EAEvC,MAAMyB,YAAA,GAAe1B,OAAA,CAAQ;IAC3B,IAAIa,cAAA,EAAgB;MAClB,OAAOM,eAAA,CAAgB;QAAEN;MAAe;IAC1C;IACA,IAAIC,UAAA,EAAY;MACd,OAAOK,eAAA,CAAgB;QAAEL;MAAW;IACtC;EACF,GAAG,CAACD,cAAA,EAAgBC,UAAA,EAAYK,eAAA,CAAgB;EAEhD,MAAMQ,uBAAA,GAA0B7B,0BAAA,CAA2B4B,YAAA;EAC3D,MAAME,WAAA,GAAc/B,kBAAA,CAAmB6B,YAAA;EAEvC,MAAMG,kBAAA,GAAqBC,OAAA,CACzBH,uBAAA,IACEZ,oBAAA,KACCD,UAAA,IAAeD,cAAA,IAAkBD,EAAE,MACnCgB,WAAA,IAAe,CAACL,QAAO;EAG5B,MAAMQ,UAAA,GAAa,oBAAoBnB,EAAA,EAAI;EAC3C,MAAMoB,gBAAA,GAAmBd,uBAAA,GAA0B;EAEnD,IAAI,CAACW,kBAAA,EAAoB;IACvB,OAAO;EACT;EAEA,MAAMI,KAAA,GAAQX,CAAA,CAAE;EAEhB,oBACEY,KAAA,CAACnC,KAAA,CAAMoC,QAAQ;4BACbD,KAAA,CAAC;MACCE,cAAA,EAAgBA,CAAA,KAAMX,UAAA,CAAW;MACjCY,cAAA,EAAgBA,CAAA,KAAMZ,UAAA,CAAW;MACjCa,KAAA,EAAO;QAAEC,QAAA,EAAU;MAAW;8BAE9BC,IAAA,CAACjC,MAAA;QACCkC,WAAA,EAAY;QACZ9B,QAAA,EAAUA,QAAA;QACV+B,IAAA,eAAMF,IAAA,CAACrC,YAAA;UAAawC,MAAA,EAAQ3B;;QAC5BJ,EAAA,EAAG;QACHgC,OAAA,EAASA,CAAA,KAAMvB,WAAA,CAAYU,UAAA;uBAE7BS,IAAA,CAAC/B,OAAA;QAAQoC,KAAA,EAAO;QAAGC,IAAA,EAAMtB,OAAA;kBACtBS;;QAGJb,WAAA,CAAYW,UAAA,kBACXS,IAAA,CAAChC,cAAA;MACCuC,WAAA,EAAa,CAACf,gBAAA,GAAmB,cAAc;MAC/CgB,gBAAA,EAAkB/B,sBAAA;MAClBgC,qBAAA,EACEtB,uBAAA,IACA,OAAOD,YAAA,CAAawB,QAAQ,CAACC,MAAM,CAACC,eAAe,KAAK,WACpD1B,YAAA,CAAawB,QAAQ,CAACC,MAAM,CAACC,eAAe,GAC5CC,SAAA;MAENC,IAAA,EAAMvB;;;AAKhB","ignoreList":[]}
@@ -18,7 +18,7 @@ export const SelectMany = props => {
18
18
  return null;
19
19
  }
20
20
  return /*#__PURE__*/_jsxs(Button, {
21
- buttonStyle: "pill",
21
+ buttonStyle: "primary",
22
22
  onClick: () => {
23
23
  if (typeof onClick === 'function') {
24
24
  onClick(selected);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useSelection","useTranslation","Button","SelectMany","props","onClick","count","selected","t","_jsxs","buttonStyle","size"],"sources":["../../../src/elements/SelectMany/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport { useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\n\nexport const SelectMany: React.FC<{\n onClick?: (ids: ReturnType<typeof useSelection>['selected']) => void\n}> = (props) => {\n const { onClick } = props\n\n const { count, selected } = useSelection()\n const { t } = useTranslation()\n\n if (!selected || !count) {\n return null\n }\n\n return (\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (typeof onClick === 'function') {\n onClick(selected)\n }\n }}\n size=\"medium\"\n >\n {t('general:select')} {count}\n </Button>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AAEvB,OAAO,MAAMC,UAAA,GAEPC,KAAA;EACJ,MAAM;IAAEC;EAAO,CAAE,GAAGD,KAAA;EAEpB,MAAM;IAAEE,KAAK;IAAEC;EAAQ,CAAE,GAAGP,YAAA;EAC5B,MAAM;IAAEQ;EAAC,CAAE,GAAGP,cAAA;EAEd,IAAI,CAACM,QAAA,IAAY,CAACD,KAAA,EAAO;IACvB,OAAO;EACT;EAEA,oBACEG,KAAA,CAACP,MAAA;IACCQ,WAAA,EAAY;IACZL,OAAA,EAASA,CAAA;MACP,IAAI,OAAOA,OAAA,KAAY,YAAY;QACjCA,OAAA,CAAQE,QAAA;MACV;IACF;IACAI,IAAA,EAAK;eAEJH,CAAA,CAAE,mBAAkB,KAAEF,KAAA;;AAG7B","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useSelection","useTranslation","Button","SelectMany","props","onClick","count","selected","t","_jsxs","buttonStyle","size"],"sources":["../../../src/elements/SelectMany/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport { useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\n\nexport const SelectMany: React.FC<{\n onClick?: (ids: ReturnType<typeof useSelection>['selected']) => void\n}> = (props) => {\n const { onClick } = props\n\n const { count, selected } = useSelection()\n const { t } = useTranslation()\n\n if (!selected || !count) {\n return null\n }\n\n return (\n <Button\n buttonStyle=\"primary\"\n onClick={() => {\n if (typeof onClick === 'function') {\n onClick(selected)\n }\n }}\n size=\"medium\"\n >\n {t('general:select')} {count}\n </Button>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AAEvB,OAAO,MAAMC,UAAA,GAEPC,KAAA;EACJ,MAAM;IAAEC;EAAO,CAAE,GAAGD,KAAA;EAEpB,MAAM;IAAEE,KAAK;IAAEC;EAAQ,CAAE,GAAGP,YAAA;EAC5B,MAAM;IAAEQ;EAAC,CAAE,GAAGP,cAAA;EAEd,IAAI,CAACM,QAAA,IAAY,CAACD,KAAA,EAAO;IACvB,OAAO;EACT;EAEA,oBACEG,KAAA,CAACP,MAAA;IACCQ,WAAA,EAAY;IACZL,OAAA,EAASA,CAAA;MACP,IAAI,OAAOA,OAAA,KAAY,YAAY;QACjCA,OAAA,CAAQE,QAAA;MACV;IACF;IACAI,IAAA,EAAK;eAEJH,CAAA,CAAE,mBAAkB,KAAEF,KAAA;;AAG7B","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  @layer payload-default {
2
2
  .sort-column {
3
- display: flex;
3
+ display: inline-flex;
4
4
  gap: var(--spacer-1);
5
5
  align-items: center;
6
6
  }
@@ -13,4 +13,20 @@
13
13
  .spinner--sm .spinner__text {
14
14
  font-size: var(--text-caption-font-size);
15
15
  }
16
+
17
+ .spinner--md .spinner__text {
18
+ font-family: var(--text-body-medium-font-family);
19
+ font-size: var(--text-body-medium-font-size);
20
+ font-weight: var(--text-body-medium-font-weight);
21
+ line-height: var(--text-body-medium-line-height);
22
+ letter-spacing: var(--text-body-medium-letter-spacing);
23
+ }
24
+
25
+ .spinner--lg .spinner__text {
26
+ font-family: var(--text-body-large-font-family);
27
+ font-size: var(--text-body-large-font-size);
28
+ font-weight: var(--text-body-large-font-weight);
29
+ line-height: var(--text-body-large-line-height);
30
+ letter-spacing: var(--text-body-large-letter-spacing);
31
+ }
16
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Blocks/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAG3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,WAAW,eAAgB,SAAQ,yBAAyB,CAAC,iBAAiB,CAAC;CAAG;AAExF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA2ChD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Blocks/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAG3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,WAAW,eAAgB,SAAQ,yBAAyB,CAAC,iBAAiB,CAAC;CAAG;AAExF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAwChD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useConfig","useTranslation","BlocksCell","t0","$","cellData","field","t1","blocks","labels","i18n","config","selectedBlocks","Array","isArray","map","_temp","translatedBlockLabels","b","block","blocksMap","slug","label","singular","plural","formatBlockList","blocks_0","b_0","filtered","filter","f","join","length","more","t","count","items","slice","t2","_jsx","children","blockType"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlocksFieldClient, DefaultCellComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\n\nexport interface BlocksCellProps extends DefaultCellComponentProps<BlocksFieldClient> {}\n\nexport const BlocksCell: React.FC<BlocksCellProps> = ({\n cellData,\n field: { blocks, labels },\n}) => {\n const { i18n } = useTranslation()\n const { config } = useConfig()\n\n const selectedBlocks = Array.isArray(cellData) ? cellData.map(({ blockType }) => blockType) : []\n\n const translatedBlockLabels = blocks.map((b) => {\n const block = typeof b === 'string' ? config.blocksMap[b] : b\n return {\n slug: block.slug,\n label: getTranslation(block.labels.singular, i18n),\n }\n })\n\n let label = `0 ${getTranslation(labels?.plural, i18n)}`\n\n const formatBlockList = (blocks) =>\n blocks\n .map((b) => {\n const filtered = translatedBlockLabels.filter((f) => f.slug === b)?.[0]\n return filtered?.label\n })\n .join(', ')\n\n const itemsToShow = 5\n\n if (selectedBlocks.length > itemsToShow) {\n const more = selectedBlocks.length - itemsToShow\n label = `${selectedBlocks.length} ${getTranslation(labels?.plural, i18n)} - ${i18n.t(\n 'fields:itemsAndMore',\n { count: more, items: formatBlockList(selectedBlocks.slice(0, itemsToShow)) },\n )}`\n } else if (selectedBlocks.length > 0) {\n label = `${selectedBlocks.length} ${getTranslation(\n selectedBlocks.length === 1 ? labels?.singular : labels?.plural,\n i18n,\n )} - ${formatBlockList(selectedBlocks)}`\n }\n\n return <span>{label}</span>\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAI/B,OAAO,MAAMC,UAAA,GAAwCC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAC;IAAAQ,QAAA;IAAAC,KAAA,EAAAC;EAAA,IAAAJ,EAGrD;EADQ;IAAAK,MAAA;IAAAC;EAAA,IAAAF,EAAkB;EAEzB;IAAAG;EAAA,IAAiBT,cAAA;EACjB;IAAAU;EAAA,IAAmBX,SAAA;EAEnB,MAAAY,cAAA,GAAuBC,KAAA,CAAAC,OAAA,CAAcT,QAAA,IAAYA,QAAA,CAAAU,GAAA,CAAAC,KAAgC,MAAe;EAEhG,MAAAC,qBAAA,GAA8BT,MAAA,CAAAO,GAAA,CAAAG,CAAA;IAC5B,MAAAC,KAAA,GAAc,OAAOD,CAAA,KAAM,WAAWP,MAAA,CAAAS,SAAA,CAAiBF,CAAA,IAAKA,CAAA;IAAA;MAAAG,IAAA,EAEpDF,KAAA,CAAAE,IAAA;MAAAC,KAAA,EACCxB,cAAA,CAAeqB,KAAA,CAAAV,MAAA,CAAAc,QAAA,EAAuBb,IAAA;IAAA;EAAA,CAEjD;EAEA,IAAAY,KAAA,GAAY,KAAKxB,cAAA,CAAeW,MAAA,EAAAe,MAAA,EAAgBd,IAAA,GAAO;EAEvD,MAAAe,eAAA,GAAAC,QAAA,IACElB,QAAA,CAAAO,GAAA,CAAAY,GAAA;IAEI,MAAAC,QAAA,GAAiBX,qBAAA,CAAAY,MAAA,CAAAC,CAAA,IAAoCA,CAAA,CAAAT,IAAA,KAAWH,GAAA;IAAO,OAChEU,QAAA,EAAAN,KAAA;EAAA,CACT,EAAAS,IAAA,CACM;EAAA,IAINnB,cAAA,CAAAoB,MAAA,IAAwB;IAC1B,MAAAC,IAAA,GAAarB,cAAA,CAAAoB,MAAA,IAAwB;IACrCV,KAAA,CAAAA,CAAA,CAAQA,GAAGV,cAAA,CAAAoB,MAAA,IAAyBlC,cAAA,CAAeW,MAAA,EAAAe,MAAA,EAAgBd,IAAA,OAAWA,IAAA,CAAAwB,CAAA,CAC5E;MAAAC,KAAA,EACSF,IAAA;MAAAG,KAAA,EAAaX,eAAA,CAAgBb,cAAA,CAAAyB,KAAA,KAAwB;IAAA,CAAc,GAC3E;EAHH;IAAA,IAISzB,cAAA,CAAAoB,MAAA,IAAwB;MACjCV,KAAA,CAAAA,CAAA,CAAQA,GAAGV,cAAA,CAAAoB,MAAA,IAAyBlC,cAAA,CAClCc,cAAA,CAAAoB,MAAA,MAA0B,GAAIvB,MAAA,EAAAc,QAAA,GAAmBd,MAAA,EAAAe,MAAQ,EACzDd,IAAA,OACKe,eAAA,CAAgBb,cAAA,GAAiB;IAHxC;EAAA;EAAA,IAAA0B,EAAA;EAAA,IAAAlC,CAAA,QAAAkB,KAAA;IAMKgB,EAAA,GAAAC,IAAA,CAAC;MAAAC,QAAA,EAAMlB;IAAA,C;;;;;;SAAPgB,E;CACT;AA3CqD,SAAAtB,MAAAb,EAAA;EAOY;IAAAsC;EAAA,IAAAtC,EAAa;EAAA,OAAKsC,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useConfig","useTranslation","BlocksCell","t0","$","cellData","field","t1","blocks","labels","i18n","config","selectedBlocks","Array","isArray","map","_temp","translatedBlockLabels","b","block","blocksMap","slug","label","singular","plural","formatBlockList","blocks_0","b_0","filtered","filter","f","join","length","more","t","count","items","slice","t2","_jsx","children","blockType"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlocksFieldClient, DefaultCellComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\n\nexport interface BlocksCellProps extends DefaultCellComponentProps<BlocksFieldClient> {}\n\nexport const BlocksCell: React.FC<BlocksCellProps> = ({ cellData, field: { blocks, labels } }) => {\n const { i18n } = useTranslation()\n const { config } = useConfig()\n\n const selectedBlocks = Array.isArray(cellData) ? cellData.map(({ blockType }) => blockType) : []\n\n const translatedBlockLabels = blocks.map((b) => {\n const block = typeof b === 'string' ? config.blocksMap[b] : b\n return {\n slug: block.slug,\n label: getTranslation(block.labels.singular, i18n),\n }\n })\n\n let label = `0 ${getTranslation(labels?.plural, i18n)}`\n\n const formatBlockList = (blocks) =>\n blocks\n .map((b) => {\n const filtered = translatedBlockLabels.filter((f) => f.slug === b)?.[0]\n return filtered?.label\n })\n .join(', ')\n\n const itemsToShow = 5\n\n if (selectedBlocks.length > itemsToShow) {\n const more = selectedBlocks.length - itemsToShow\n label = `${selectedBlocks.length} ${getTranslation(labels?.plural, i18n)} - ${i18n.t(\n 'fields:itemsAndMore',\n { count: more, items: formatBlockList(selectedBlocks.slice(0, itemsToShow)) },\n )}`\n } else if (selectedBlocks.length > 0) {\n label = `${selectedBlocks.length} ${getTranslation(\n selectedBlocks.length === 1 ? labels?.singular : labels?.plural,\n i18n,\n )} - ${formatBlockList(selectedBlocks)}`\n }\n\n return <span>{label}</span>\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAI/B,OAAO,MAAMC,UAAA,GAAwCC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAC;IAAAQ,QAAA;IAAAC,KAAA,EAAAC;EAAA,IAAAJ,EAAuC;EAApB;IAAAK,MAAA;IAAAC;EAAA,IAAAF,EAAkB;EACzF;IAAAG;EAAA,IAAiBT,cAAA;EACjB;IAAAU;EAAA,IAAmBX,SAAA;EAEnB,MAAAY,cAAA,GAAuBC,KAAA,CAAAC,OAAA,CAAcT,QAAA,IAAYA,QAAA,CAAAU,GAAA,CAAAC,KAAgC,MAAe;EAEhG,MAAAC,qBAAA,GAA8BT,MAAA,CAAAO,GAAA,CAAAG,CAAA;IAC5B,MAAAC,KAAA,GAAc,OAAOD,CAAA,KAAM,WAAWP,MAAA,CAAAS,SAAA,CAAiBF,CAAA,IAAKA,CAAA;IAAA;MAAAG,IAAA,EAEpDF,KAAA,CAAAE,IAAA;MAAAC,KAAA,EACCxB,cAAA,CAAeqB,KAAA,CAAAV,MAAA,CAAAc,QAAA,EAAuBb,IAAA;IAAA;EAAA,CAEjD;EAEA,IAAAY,KAAA,GAAY,KAAKxB,cAAA,CAAeW,MAAA,EAAAe,MAAA,EAAgBd,IAAA,GAAO;EAEvD,MAAAe,eAAA,GAAAC,QAAA,IACElB,QAAA,CAAAO,GAAA,CAAAY,GAAA;IAEI,MAAAC,QAAA,GAAiBX,qBAAA,CAAAY,MAAA,CAAAC,CAAA,IAAoCA,CAAA,CAAAT,IAAA,KAAWH,GAAA;IAAO,OAChEU,QAAA,EAAAN,KAAA;EAAA,CACT,EAAAS,IAAA,CACM;EAAA,IAINnB,cAAA,CAAAoB,MAAA,IAAwB;IAC1B,MAAAC,IAAA,GAAarB,cAAA,CAAAoB,MAAA,IAAwB;IACrCV,KAAA,CAAAA,CAAA,CAAQA,GAAGV,cAAA,CAAAoB,MAAA,IAAyBlC,cAAA,CAAeW,MAAA,EAAAe,MAAA,EAAgBd,IAAA,OAAWA,IAAA,CAAAwB,CAAA,CAC5E;MAAAC,KAAA,EACSF,IAAA;MAAAG,KAAA,EAAaX,eAAA,CAAgBb,cAAA,CAAAyB,KAAA,KAAwB;IAAA,CAAc,GAC3E;EAHH;IAAA,IAISzB,cAAA,CAAAoB,MAAA,IAAwB;MACjCV,KAAA,CAAAA,CAAA,CAAQA,GAAGV,cAAA,CAAAoB,MAAA,IAAyBlC,cAAA,CAClCc,cAAA,CAAAoB,MAAA,MAA0B,GAAIvB,MAAA,EAAAc,QAAA,GAAmBd,MAAA,EAAAe,MAAQ,EACzDd,IAAA,OACKe,eAAA,CAAgBb,cAAA,GAAiB;IAHxC;EAAA;EAAA,IAAA0B,EAAA;EAAA,IAAAlC,CAAA,QAAAkB,KAAA;IAMKgB,EAAA,GAAAC,IAAA,CAAC;MAAAC,QAAA,EAAMlB;IAAA,C;;;;;;SAAPgB,E;CACT;AAxCqD,SAAAtB,MAAAb,EAAA;EAIY;IAAAsC;EAAA,IAAAtC,EAAa;EAAA,OAAKsC,SAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderableRow.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/OrderableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,2BAA2B,CAAA;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAA;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAChC,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAA;AAEvC,eAAO,MAAM,YAAY,GAAI,qEAO1B,KAAK,gCA0BP,CAAA"}
1
+ {"version":3,"file":"OrderableRow.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/OrderableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,2BAA2B,CAAA;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAA;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAChC,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAA;AAEvC,eAAO,MAAM,YAAY,GAAI,qEAO1B,KAAK,gCA+BP,CAAA"}
@@ -26,7 +26,7 @@ export const OrderableRow = ({
26
26
  }, colIndex);
27
27
  }
28
28
  return /*#__PURE__*/_jsx("td", {
29
- className: `cell-${accessor}`,
29
+ className: [`cell-${accessor}`, col.isLinkedColumn && 'cell--linked'].filter(Boolean).join(' '),
30
30
  children: cell
31
31
  }, colIndex);
32
32
  })
@@ -1 +1 @@
1
- {"version":3,"file":"OrderableRow.js","names":["OrderableRow","cellMap","columns","dragAttributes","dragListeners","rowId","rest","_jsx","map","col","colIndex","accessor","cell","renderedCells","className"],"sources":["../../../src/elements/Table/OrderableRow.tsx"],"sourcesContent":["import type { DraggableSyntheticListeners } from '@dnd-kit/core'\nimport type { Column } from 'payload'\nimport type { HTMLAttributes, Ref } from 'react'\n\nexport type Props = {\n readonly cellMap: Record<string, number>\n readonly columns: Column[]\n readonly dragAttributes?: HTMLAttributes<unknown>\n readonly dragListeners?: DraggableSyntheticListeners\n readonly ref?: Ref<HTMLTableRowElement>\n readonly rowId: number | string\n} & HTMLAttributes<HTMLTableRowElement>\n\nexport const OrderableRow = ({\n cellMap,\n columns,\n dragAttributes = {},\n dragListeners = {},\n rowId,\n ...rest\n}: Props) => (\n <tr {...rest}>\n {columns.map((col, colIndex) => {\n const { accessor } = col\n\n // Use the cellMap to find which index in the renderedCells to use\n const cell = col.renderedCells[cellMap[rowId]]\n\n // For drag handles, wrap in div with drag attributes\n if (accessor === '_dragHandle') {\n return (\n <td className={`cell-${accessor}`} key={colIndex}>\n <div {...dragAttributes} {...dragListeners}>\n {cell}\n </div>\n </td>\n )\n }\n\n return (\n <td className={`cell-${accessor}`} key={colIndex}>\n {cell}\n </td>\n )\n })}\n </tr>\n)\n"],"mappings":";AAaA,OAAO,MAAMA,YAAA,GAAeA,CAAC;EAC3BC,OAAO;EACPC,OAAO;EACPC,cAAA,GAAiB,CAAC,CAAC;EACnBC,aAAA,GAAgB,CAAC,CAAC;EAClBC,KAAK;EACL,GAAGC;AAAA,CACG,kBACNC,IAAA,CAAC;EAAI,GAAGD,IAAI;YACTJ,OAAA,CAAQM,GAAG,CAAC,CAACC,GAAA,EAAKC,QAAA;IACjB,MAAM;MAAEC;IAAQ,CAAE,GAAGF,GAAA;IAErB;IACA,MAAMG,IAAA,GAAOH,GAAA,CAAII,aAAa,CAACZ,OAAO,CAACI,KAAA,CAAM,CAAC;IAE9C;IACA,IAAIM,QAAA,KAAa,eAAe;MAC9B,oBACEJ,IAAA,CAAC;QAAGO,SAAA,EAAW,QAAQH,QAAA,EAAU;kBAC/B,aAAAJ,IAAA,CAAC;UAAK,GAAGJ,cAAc;UAAG,GAAGC,aAAa;oBACvCQ;;SAFmCF,QAAA;IAM5C;IAEA,oBACEH,IAAA,CAAC;MAAGO,SAAA,EAAW,QAAQH,QAAA,EAAU;gBAC9BC;OADqCF,QAAA;EAI5C","ignoreList":[]}
1
+ {"version":3,"file":"OrderableRow.js","names":["OrderableRow","cellMap","columns","dragAttributes","dragListeners","rowId","rest","_jsx","map","col","colIndex","accessor","cell","renderedCells","className","isLinkedColumn","filter","Boolean","join"],"sources":["../../../src/elements/Table/OrderableRow.tsx"],"sourcesContent":["import type { DraggableSyntheticListeners } from '@dnd-kit/core'\nimport type { Column } from 'payload'\nimport type { HTMLAttributes, Ref } from 'react'\n\nexport type Props = {\n readonly cellMap: Record<string, number>\n readonly columns: Column[]\n readonly dragAttributes?: HTMLAttributes<unknown>\n readonly dragListeners?: DraggableSyntheticListeners\n readonly ref?: Ref<HTMLTableRowElement>\n readonly rowId: number | string\n} & HTMLAttributes<HTMLTableRowElement>\n\nexport const OrderableRow = ({\n cellMap,\n columns,\n dragAttributes = {},\n dragListeners = {},\n rowId,\n ...rest\n}: Props) => (\n <tr {...rest}>\n {columns.map((col, colIndex) => {\n const { accessor } = col\n\n // Use the cellMap to find which index in the renderedCells to use\n const cell = col.renderedCells[cellMap[rowId]]\n\n // For drag handles, wrap in div with drag attributes\n if (accessor === '_dragHandle') {\n return (\n <td className={`cell-${accessor}`} key={colIndex}>\n <div {...dragAttributes} {...dragListeners}>\n {cell}\n </div>\n </td>\n )\n }\n\n return (\n <td\n className={[`cell-${accessor}`, col.isLinkedColumn && 'cell--linked']\n .filter(Boolean)\n .join(' ')}\n key={colIndex}\n >\n {cell}\n </td>\n )\n })}\n </tr>\n)\n"],"mappings":";AAaA,OAAO,MAAMA,YAAA,GAAeA,CAAC;EAC3BC,OAAO;EACPC,OAAO;EACPC,cAAA,GAAiB,CAAC,CAAC;EACnBC,aAAA,GAAgB,CAAC,CAAC;EAClBC,KAAK;EACL,GAAGC;AAAA,CACG,kBACNC,IAAA,CAAC;EAAI,GAAGD,IAAI;YACTJ,OAAA,CAAQM,GAAG,CAAC,CAACC,GAAA,EAAKC,QAAA;IACjB,MAAM;MAAEC;IAAQ,CAAE,GAAGF,GAAA;IAErB;IACA,MAAMG,IAAA,GAAOH,GAAA,CAAII,aAAa,CAACZ,OAAO,CAACI,KAAA,CAAM,CAAC;IAE9C;IACA,IAAIM,QAAA,KAAa,eAAe;MAC9B,oBACEJ,IAAA,CAAC;QAAGO,SAAA,EAAW,QAAQH,QAAA,EAAU;kBAC/B,aAAAJ,IAAA,CAAC;UAAK,GAAGJ,cAAc;UAAG,GAAGC,aAAa;oBACvCQ;;SAFmCF,QAAA;IAM5C;IAEA,oBACEH,IAAA,CAAC;MACCO,SAAA,EAAW,CAAC,QAAQH,QAAA,EAAU,EAAEF,GAAA,CAAIM,cAAc,IAAI,eAAe,CAClEC,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;gBAGPN;OAFIF,QAAA;EAKX","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,SAAS,CAAA;AAIrD,OAAO,KAAyE,MAAM,OAAO,CAAA;AAW7F,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,UAAU,CAAA;KACjD,CAAA;CACF,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,SAAS,CAAA;IACpB,gBAAgB,EAAE,CAChB,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KACvB,EAAE,KACA,IAAI,CAAA;CACV,CAAA;AAID,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAmGlF,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,uBAAuC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,SAAS,CAAA;AAIrD,OAAO,KAAyE,MAAM,OAAO,CAAA;AAW7F,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,UAAU,CAAA;KACjD,CAAA;CACF,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,SAAS,CAAA;IACpB,gBAAgB,EAAE,CAChB,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KACvB,EAAE,KACA,IAAI,CAAA;CACV,CAAA;AAID,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAoGlF,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,uBAAuC,CAAA"}
@@ -63,6 +63,7 @@ export const RelationshipProvider = t0 => {
63
63
  const params = new URLSearchParams();
64
64
  const select = {};
65
65
  params.append("depth", "0");
66
+ params.append("draft", "true");
66
67
  params.append("limit", "250");
67
68
  const collection = collections.find(c => c.slug === slug);
68
69
  if (!collection) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","appendUploadSelectFields","formatAdminURL","qs","React","createContext","use","useCallback","useEffect","useReducer","useRef","useDebounce","useConfig","useLocale","useTranslation","reducer","Context","RelationshipProvider","t0","$","children","t1","Symbol","for","documents","dispatchDocuments","debouncedDocuments","config","t2","collections","routes","t3","api","i18n","code","locale","prevLocale","t4","t5","reloadAll","undefined","Object","entries","forEach","t6","slug","docs","idsToLoad","t7","id","value","push","length","url","apiRoute","path","params","URLSearchParams","select","append","collection","find","fieldToSelect","admin","useAsTitle","upload","collectionConfig","idsToString","map","_temp","join","query","toString","stringify","result","fetch","credentials","headers","language","ok","json","type","relationTo","loadRelationshipDocs","current","relationships","getRelationships","t8","_jsx","useListRelationships","id_0","String"],"sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"sourcesContent":["'use client'\nimport type { SelectType, TypeWithID } from 'payload'\n\nimport { appendUploadSelectFields, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useReducer, useRef } from 'react'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { reducer } from './reducer.js'\n\n// documents are first set to null when requested\n// set to false when no doc is returned\n// or set to the document returned\nexport type Documents = {\n [slug: string]: {\n [id: number | string]: false | null | TypeWithID\n }\n}\n\ntype ListRelationshipContext = {\n documents: Documents\n getRelationships: (\n docs: {\n relationTo: string\n value: number | string\n }[],\n ) => void\n}\n\nconst Context = createContext({} as ListRelationshipContext)\n\nexport const RelationshipProvider: React.FC<{ readonly children?: React.ReactNode }> = ({\n children,\n}) => {\n const [documents, dispatchDocuments] = useReducer(reducer, {})\n const debouncedDocuments = useDebounce(documents, 100)\n\n const {\n config: {\n collections,\n routes: { api },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n\n const loadRelationshipDocs = useCallback(\n (reloadAll = false) => {\n Object.entries(debouncedDocuments).forEach(async ([slug, docs]) => {\n const idsToLoad: (number | string)[] = []\n\n Object.entries(docs).forEach(([id, value]) => {\n if (value === null || reloadAll) {\n idsToLoad.push(id)\n }\n })\n\n if (idsToLoad.length > 0) {\n const url = formatAdminURL({ apiRoute: api, path: `/${slug}` })\n\n const params = new URLSearchParams()\n const select: SelectType = {}\n\n params.append('depth', '0')\n params.append('limit', '250')\n\n const collection = collections.find((c) => c.slug === slug)\n\n if (!collection) {\n return\n }\n\n const fieldToSelect = collection.admin.useAsTitle ?? 'id'\n\n select[fieldToSelect] = true\n\n if (collection.upload) {\n appendUploadSelectFields({ collectionConfig: collection, select })\n }\n\n if (locale) {\n params.append('locale', locale)\n }\n\n const idsToString = idsToLoad.map((id) => String(id))\n params.append('where[id][in]', idsToString.join(','))\n\n const query = `?${params.toString()}&${qs.stringify({ select })}`\n\n const result = await fetch(`${url}${query}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (result.ok) {\n const json = await result.json()\n if (json.docs) {\n dispatchDocuments({\n type: 'ADD_LOADED',\n docs: json.docs,\n idsToLoad,\n relationTo: slug,\n })\n }\n } else {\n dispatchDocuments({ type: 'ADD_LOADED', docs: [], idsToLoad, relationTo: slug })\n }\n }\n })\n },\n [debouncedDocuments, api, i18n, locale, collections],\n )\n\n useEffect(() => {\n void loadRelationshipDocs(locale && prevLocale.current !== locale)\n prevLocale.current = locale\n }, [locale, loadRelationshipDocs])\n\n const getRelationships = useCallback(\n (relationships: { relationTo: string; value: number | string }[]) => {\n dispatchDocuments({ type: 'REQUEST', docs: relationships })\n },\n [],\n )\n\n return <Context value={{ documents, getRelationships }}>{children}</Context>\n}\n\nexport const useListRelationships = (): ListRelationshipContext => use(Context)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","appendUploadSelectFields","formatAdminURL","qs","React","createContext","use","useCallback","useEffect","useReducer","useRef","useDebounce","useConfig","useLocale","useTranslation","reducer","Context","RelationshipProvider","t0","$","children","t1","Symbol","for","documents","dispatchDocuments","debouncedDocuments","config","t2","collections","routes","t3","api","i18n","code","locale","prevLocale","t4","t5","reloadAll","undefined","Object","entries","forEach","t6","slug","docs","idsToLoad","t7","id","value","push","length","url","apiRoute","path","params","URLSearchParams","select","append","collection","find","fieldToSelect","admin","useAsTitle","upload","collectionConfig","idsToString","map","_temp","join","query","toString","stringify","result","fetch","credentials","headers","language","ok","json","type","relationTo","loadRelationshipDocs","current","relationships","getRelationships","t8","_jsx","useListRelationships","id_0","String"],"sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"sourcesContent":["'use client'\nimport type { SelectType, TypeWithID } from 'payload'\n\nimport { appendUploadSelectFields, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useReducer, useRef } from 'react'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { reducer } from './reducer.js'\n\n// documents are first set to null when requested\n// set to false when no doc is returned\n// or set to the document returned\nexport type Documents = {\n [slug: string]: {\n [id: number | string]: false | null | TypeWithID\n }\n}\n\ntype ListRelationshipContext = {\n documents: Documents\n getRelationships: (\n docs: {\n relationTo: string\n value: number | string\n }[],\n ) => void\n}\n\nconst Context = createContext({} as ListRelationshipContext)\n\nexport const RelationshipProvider: React.FC<{ readonly children?: React.ReactNode }> = ({\n children,\n}) => {\n const [documents, dispatchDocuments] = useReducer(reducer, {})\n const debouncedDocuments = useDebounce(documents, 100)\n\n const {\n config: {\n collections,\n routes: { api },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n\n const loadRelationshipDocs = useCallback(\n (reloadAll = false) => {\n Object.entries(debouncedDocuments).forEach(async ([slug, docs]) => {\n const idsToLoad: (number | string)[] = []\n\n Object.entries(docs).forEach(([id, value]) => {\n if (value === null || reloadAll) {\n idsToLoad.push(id)\n }\n })\n\n if (idsToLoad.length > 0) {\n const url = formatAdminURL({ apiRoute: api, path: `/${slug}` })\n\n const params = new URLSearchParams()\n const select: SelectType = {}\n\n params.append('depth', '0')\n params.append('draft', 'true')\n params.append('limit', '250')\n\n const collection = collections.find((c) => c.slug === slug)\n\n if (!collection) {\n return\n }\n\n const fieldToSelect = collection.admin.useAsTitle ?? 'id'\n\n select[fieldToSelect] = true\n\n if (collection.upload) {\n appendUploadSelectFields({ collectionConfig: collection, select })\n }\n\n if (locale) {\n params.append('locale', locale)\n }\n\n const idsToString = idsToLoad.map((id) => String(id))\n params.append('where[id][in]', idsToString.join(','))\n\n const query = `?${params.toString()}&${qs.stringify({ select })}`\n\n const result = await fetch(`${url}${query}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (result.ok) {\n const json = await result.json()\n if (json.docs) {\n dispatchDocuments({\n type: 'ADD_LOADED',\n docs: json.docs,\n idsToLoad,\n relationTo: slug,\n })\n }\n } else {\n dispatchDocuments({ type: 'ADD_LOADED', docs: [], idsToLoad, relationTo: slug })\n }\n }\n })\n },\n [debouncedDocuments, api, i18n, locale, collections],\n )\n\n useEffect(() => {\n void loadRelationshipDocs(locale && prevLocale.current !== locale)\n prevLocale.current = locale\n }, [locale, loadRelationshipDocs])\n\n const getRelationships = useCallback(\n (relationships: { relationTo: string; value: number | string }[]) => {\n dispatchDocuments({ type: 'REQUEST', docs: relationships })\n },\n [],\n )\n\n return <Context value={{ documents, getRelationships }}>{children}</Context>\n}\n\nexport const useListRelationships = (): ListRelationshipContext => use(Context)\n"],"mappings":"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","ignoreList":[]}