@payloadcms/ui 4.0.0-canary.3 → 4.0.0-canary.4

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 (405) hide show
  1. package/dist/css/colors.css +3 -0
  2. package/dist/css/utilities.css +3 -2
  3. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  4. package/dist/elements/AppHeader/index.js +7 -0
  5. package/dist/elements/AppHeader/index.js.map +1 -1
  6. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  7. package/dist/elements/ArrayAction/index.js +1 -2
  8. package/dist/elements/ArrayAction/index.js.map +1 -1
  9. package/dist/elements/BulkUpload/ActionsBar/index.css +4 -8
  10. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  11. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  12. package/dist/elements/BulkUpload/ActionsBar/index.js +15 -22
  13. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  14. package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
  15. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  16. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  17. package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
  18. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/AddingFilesView/index.css +158 -6
  20. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +5 -1
  21. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  22. package/dist/elements/BulkUpload/AddingFilesView/index.js +134 -65
  23. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  25. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  27. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/EditForm/index.js +16 -17
  29. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  31. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  32. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  33. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +78 -64
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  36. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  37. package/dist/elements/BulkUpload/EditMany/index.js +28 -10
  38. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  39. package/dist/elements/BulkUpload/FileSidebar/index.css +63 -143
  40. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  41. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -175
  42. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  43. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  44. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  45. package/dist/elements/BulkUpload/index.css +48 -0
  46. package/dist/elements/BulkUpload/index.d.ts +6 -5
  47. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  48. package/dist/elements/BulkUpload/index.js +42 -41
  49. package/dist/elements/BulkUpload/index.js.map +1 -1
  50. package/dist/elements/Card/index.css +1 -1
  51. package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
  52. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
  53. package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +23 -12
  54. package/dist/elements/ColumnSelection/Popup.js.map +1 -0
  55. package/dist/elements/ColumnSelection/index.d.ts +10 -0
  56. package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
  57. package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
  58. package/dist/elements/ColumnSelection/index.js.map +1 -0
  59. package/dist/elements/CopyLocaleData/index.js +1 -1
  60. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  61. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  62. package/dist/elements/CreateDocumentButton/index.js +0 -1
  63. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  64. package/dist/elements/DatePicker/index.css +8 -8
  65. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  66. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  67. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  68. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  69. package/dist/elements/Dialog/DialogModal/index.d.ts +5 -0
  70. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  71. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  72. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  73. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  74. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  75. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  76. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  77. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  78. package/dist/elements/Dialog/index.css +7 -1
  79. package/dist/elements/DocumentControls/index.css +1 -1
  80. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  81. package/dist/elements/DocumentControls/index.js +12 -3
  82. package/dist/elements/DocumentControls/index.js.map +1 -1
  83. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  84. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +5 -3
  85. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  86. package/dist/elements/DocumentFields/index.css +5 -2
  87. package/dist/elements/DocumentFields/index.d.ts +5 -0
  88. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  89. package/dist/elements/DocumentFields/index.js +9 -1
  90. package/dist/elements/DocumentFields/index.js.map +1 -1
  91. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  92. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  93. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  94. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  95. package/dist/elements/DocumentHeader/index.js +2 -3
  96. package/dist/elements/DocumentHeader/index.js.map +1 -1
  97. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  98. package/dist/elements/DrawerActionHeader/index.css +1 -1
  99. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  100. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  101. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  102. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  103. package/dist/elements/DrawerHeader/index.js.map +1 -0
  104. package/dist/elements/Dropzone/index.css +5 -13
  105. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
  106. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  107. package/dist/elements/EditUpload/index.css +97 -158
  108. package/dist/elements/EditUpload/index.d.ts +2 -1
  109. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  110. package/dist/elements/EditUpload/index.js +205 -231
  111. package/dist/elements/EditUpload/index.js.map +1 -1
  112. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  113. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  114. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  115. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  116. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  117. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  118. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  119. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  120. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  121. package/dist/elements/FileDetails/StaticFileDetails/index.css +140 -0
  122. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  123. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  124. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  125. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  126. package/dist/elements/FileDetails/index.d.ts +1 -1
  127. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  128. package/dist/elements/FileDetails/index.js.map +1 -1
  129. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  130. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  131. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  132. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  133. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  134. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  135. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  136. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  137. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  138. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  139. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  140. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  141. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  142. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  143. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  144. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  145. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  146. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  147. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  148. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  149. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  150. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  151. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  152. package/dist/elements/FileManager/FileToolbar/index.js +106 -0
  153. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  154. package/dist/elements/FileManager/index.css +154 -0
  155. package/dist/elements/FileManager/index.d.ts +19 -0
  156. package/dist/elements/FileManager/index.d.ts.map +1 -0
  157. package/dist/elements/FileManager/index.js +424 -0
  158. package/dist/elements/FileManager/index.js.map +1 -0
  159. package/dist/elements/GroupBy/Popup.d.ts +21 -0
  160. package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
  161. package/dist/elements/GroupBy/Popup.js +268 -0
  162. package/dist/elements/GroupBy/Popup.js.map +1 -0
  163. package/dist/elements/GroupBy/index.d.ts +12 -0
  164. package/dist/elements/GroupBy/index.d.ts.map +1 -0
  165. package/dist/elements/GroupBy/index.js +91 -0
  166. package/dist/elements/GroupBy/index.js.map +1 -0
  167. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +2 -2
  168. package/dist/elements/Hierarchy/Drawer/index.css +1 -1
  169. package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
  170. package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
  171. package/dist/elements/ListColumnSelectionButton/index.js +37 -0
  172. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
  173. package/dist/elements/ListControls/index.d.ts.map +1 -1
  174. package/dist/elements/ListControls/index.js +7 -8
  175. package/dist/elements/ListControls/index.js.map +1 -1
  176. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  177. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  178. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  179. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  180. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  181. package/dist/elements/ListGroupByButton/index.d.ts +12 -0
  182. package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
  183. package/dist/elements/ListGroupByButton/index.js +55 -0
  184. package/dist/elements/ListGroupByButton/index.js.map +1 -0
  185. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  186. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  187. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  188. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
  189. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  190. package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
  191. package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
  192. package/dist/elements/ListWhereBuilder/index.js +62 -0
  193. package/dist/elements/ListWhereBuilder/index.js.map +1 -0
  194. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  195. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  196. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  197. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  198. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +25 -43
  199. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  200. package/dist/elements/MiniCarousel/index.css +94 -0
  201. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  202. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  203. package/dist/elements/MiniCarousel/index.js +84 -0
  204. package/dist/elements/MiniCarousel/index.js.map +1 -0
  205. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  206. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  207. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  208. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  209. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  210. package/dist/elements/Nav/index.css +2 -2
  211. package/dist/elements/NavGroup/index.css +1 -1
  212. package/dist/elements/Popup/index.d.ts +1 -1
  213. package/dist/elements/Popup/index.d.ts.map +1 -1
  214. package/dist/elements/Popup/index.js +43 -12
  215. package/dist/elements/Popup/index.js.map +1 -1
  216. package/dist/elements/PreviewSizes/index.css +149 -0
  217. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  218. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  219. package/dist/elements/PreviewSizes/index.js +1 -1
  220. package/dist/elements/PreviewSizes/index.js.map +1 -1
  221. package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
  222. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
  223. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
  224. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
  225. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  226. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
  227. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  228. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
  229. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  230. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
  231. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  232. package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
  233. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  234. package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
  235. package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
  236. package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
  237. package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
  238. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
  239. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
  240. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  241. package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
  242. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  243. package/dist/elements/QueryPresets/fields/fields.css +23 -0
  244. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  245. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  246. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  247. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  248. package/dist/elements/RelationshipTable/index.js +2 -2
  249. package/dist/elements/RelationshipTable/index.js.map +1 -1
  250. package/dist/elements/Search/SearchInput/index.js +1 -1
  251. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  252. package/dist/elements/SortColumn/index.css +1 -1
  253. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  254. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +21 -2
  255. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  256. package/dist/elements/Table/index.css +24 -2
  257. package/dist/elements/Thumbnail/index.css +41 -0
  258. package/dist/elements/Thumbnail/index.d.ts +3 -3
  259. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  260. package/dist/elements/Thumbnail/index.js +1 -1
  261. package/dist/elements/Thumbnail/index.js.map +1 -1
  262. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  263. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  264. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  265. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  266. package/dist/elements/Upload/index.css +134 -45
  267. package/dist/elements/Upload/index.d.ts +3 -8
  268. package/dist/elements/Upload/index.d.ts.map +1 -1
  269. package/dist/elements/Upload/index.js +71 -92
  270. package/dist/elements/Upload/index.js.map +1 -1
  271. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  272. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  273. package/dist/elements/WhereBuilder/Condition/index.js +17 -2
  274. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  275. package/dist/elements/WhereBuilder/index.d.ts +4 -3
  276. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  277. package/dist/elements/WhereBuilder/index.js +71 -62
  278. package/dist/elements/WhereBuilder/index.js.map +1 -1
  279. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  280. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  281. package/dist/elements/WhereBuilder/types.js.map +1 -1
  282. package/dist/exports/client/index.d.ts +5 -2
  283. package/dist/exports/client/index.d.ts.map +1 -1
  284. package/dist/exports/client/index.js +26 -26
  285. package/dist/exports/client/index.js.map +4 -4
  286. package/dist/exports/shared/index.js +2 -2
  287. package/dist/exports/shared/index.js.map +2 -2
  288. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -1
  289. package/dist/fields/Blocks/BlockSelector/index.css +2 -5
  290. package/dist/fields/Checkbox/index.css +2 -2
  291. package/dist/fields/Group/index.css +3 -3
  292. package/dist/fields/Number/Input.d.ts.map +1 -1
  293. package/dist/fields/Number/Input.js +47 -35
  294. package/dist/fields/Number/Input.js.map +1 -1
  295. package/dist/fields/Number/index.css +19 -0
  296. package/dist/fields/Number/types.d.ts +6 -0
  297. package/dist/fields/Number/types.d.ts.map +1 -1
  298. package/dist/fields/Number/types.js.map +1 -1
  299. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  300. package/dist/fields/Text/Input.d.ts.map +1 -1
  301. package/dist/fields/Text/Input.js +31 -28
  302. package/dist/fields/Text/Input.js.map +1 -1
  303. package/dist/fields/Text/types.d.ts +5 -0
  304. package/dist/fields/Text/types.d.ts.map +1 -1
  305. package/dist/fields/Text/types.js.map +1 -1
  306. package/dist/fields/Upload/Input.d.ts.map +1 -1
  307. package/dist/fields/Upload/Input.js +12 -11
  308. package/dist/fields/Upload/Input.js.map +1 -1
  309. package/dist/fields/Upload/index.js +1 -1
  310. package/dist/fields/Upload/index.js.map +1 -1
  311. package/dist/graphics/Icon/index.js +1 -1
  312. package/dist/graphics/Icon/index.js.map +1 -1
  313. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  314. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  315. package/dist/hooks/useElementHeightVariable.js +53 -0
  316. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  317. package/dist/icons/Crop/index.css +5 -0
  318. package/dist/icons/Crop/index.d.ts +7 -0
  319. package/dist/icons/Crop/index.d.ts.map +1 -0
  320. package/dist/icons/Crop/index.js +24 -0
  321. package/dist/icons/Crop/index.js.map +1 -0
  322. package/dist/icons/Download/index.css +5 -0
  323. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  324. package/dist/icons/Download/index.d.ts.map +1 -0
  325. package/dist/icons/Download/index.js +27 -0
  326. package/dist/icons/Download/index.js.map +1 -0
  327. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  328. package/dist/icons/NewTab/index.d.ts +7 -0
  329. package/dist/icons/NewTab/index.d.ts.map +1 -0
  330. package/dist/icons/NewTab/index.js +25 -0
  331. package/dist/icons/NewTab/index.js.map +1 -0
  332. package/dist/icons/Replace/index.css +5 -0
  333. package/dist/icons/Replace/index.d.ts +6 -0
  334. package/dist/icons/Replace/index.d.ts.map +1 -0
  335. package/dist/icons/Replace/index.js +20 -0
  336. package/dist/icons/Replace/index.js.map +1 -0
  337. package/dist/icons/Reset/index.css +5 -0
  338. package/dist/icons/Reset/index.d.ts +7 -0
  339. package/dist/icons/Reset/index.d.ts.map +1 -0
  340. package/dist/icons/Reset/index.js +25 -0
  341. package/dist/icons/Reset/index.js.map +1 -0
  342. package/dist/icons/Swap/index.js +1 -1
  343. package/dist/icons/Swap/index.js.map +1 -1
  344. package/dist/scss/app.scss +9 -2
  345. package/dist/styles.css +1 -1
  346. package/dist/templates/Default/index.js +1 -1
  347. package/dist/templates/Default/index.js.map +1 -1
  348. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  349. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  350. package/dist/views/API/index.client.js +2 -2
  351. package/dist/views/API/index.client.js.map +1 -1
  352. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +2 -2
  353. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  354. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -2
  355. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  356. package/dist/views/Document/index.d.ts.map +1 -1
  357. package/dist/views/Document/index.js +1 -0
  358. package/dist/views/Document/index.js.map +1 -1
  359. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  360. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  361. package/dist/views/Document/renderDocumentSlots.js +47 -1
  362. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  363. package/dist/views/Edit/index.css +143 -6
  364. package/dist/views/Edit/index.d.ts +1 -1
  365. package/dist/views/Edit/index.d.ts.map +1 -1
  366. package/dist/views/Edit/index.js +34 -31
  367. package/dist/views/Edit/index.js.map +1 -1
  368. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  369. package/dist/views/List/ListHeader/index.css +5 -0
  370. package/dist/views/List/index.client.d.ts.map +1 -1
  371. package/dist/views/List/index.client.js +6 -6
  372. package/dist/views/List/index.client.js.map +1 -1
  373. package/dist/views/Versions/index.css +0 -4
  374. package/package.json +4 -4
  375. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  376. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  377. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  378. package/dist/elements/ColumnSelector/index.d.ts +0 -9
  379. package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
  380. package/dist/elements/ColumnSelector/index.js.map +0 -1
  381. package/dist/elements/ColumnsButton/index.d.ts +0 -7
  382. package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
  383. package/dist/elements/ColumnsButton/index.js.map +0 -1
  384. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  385. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  386. package/dist/elements/GroupByBuilder/index.d.ts +0 -12
  387. package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
  388. package/dist/elements/GroupByBuilder/index.js +0 -164
  389. package/dist/elements/GroupByBuilder/index.js.map +0 -1
  390. package/dist/elements/GroupByBuilder/index.scss +0 -39
  391. package/dist/elements/GroupByControl/index.d.ts +0 -9
  392. package/dist/elements/GroupByControl/index.d.ts.map +0 -1
  393. package/dist/elements/GroupByControl/index.js +0 -254
  394. package/dist/elements/GroupByControl/index.js.map +0 -1
  395. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  396. package/dist/elements/PreviewSizes/index.scss +0 -147
  397. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
  398. package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
  399. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  400. package/dist/elements/Thumbnail/index.scss +0 -53
  401. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  402. package/dist/icons/ExternalLink/index.js +0 -26
  403. package/dist/icons/ExternalLink/index.js.map +0 -1
  404. /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
  405. /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
@@ -1,16 +1,19 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- import React, { useId, useMemo } from 'react';
4
+ import { fieldIsHiddenOrDisabled, fieldIsID, flattenTopLevelFields } from 'payload/shared';
5
+ import React, { useMemo } from 'react';
5
6
  import { FieldLabel } from '../../../../fields/FieldLabel/index.js';
6
7
  import { useField } from '../../../../forms/useField/index.js';
7
8
  import { useAuth } from '../../../../providers/Auth/index.js';
8
9
  import { useConfig } from '../../../../providers/Config/index.js';
10
+ import { filterFieldsWithPermissions } from '../../../../providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js';
11
+ import { isColumnActive } from '../../../../providers/TableColumns/buildColumnState/isColumnActive.js';
12
+ import { sortFieldMap } from '../../../../providers/TableColumns/buildColumnState/sortFieldMap.js';
9
13
  import { useTranslation } from '../../../../providers/Translation/index.js';
10
14
  import { getColumns } from '../../../../utilities/getColumns.js';
11
- import { reduceFieldsToOptions } from '../../../../utilities/reduceFieldsToOptions.js';
12
- import { PillSelector } from '../../../PillSelector/index.js';
13
- import './index.scss';
15
+ import { ColumnSelectionButton } from '../../../ColumnSelection/index.js';
16
+ import '../fields.css';
14
17
  export const QueryPresetsColumnField = ({
15
18
  field: {
16
19
  label,
@@ -36,11 +39,10 @@ export const QueryPresetsColumnField = ({
36
39
  const {
37
40
  permissions
38
41
  } = useAuth();
39
- const uuid = useId();
40
42
  const collectionConfig = useMemo(() => relatedCollection ? getEntityConfig({
41
43
  collectionSlug: relatedCollection
42
44
  }) : null, [relatedCollection, getEntityConfig]);
43
- const columns = useMemo(() => {
45
+ const columnPreferences = useMemo(() => {
44
46
  if (!relatedCollection || !collectionConfig) {
45
47
  return [];
46
48
  }
@@ -53,40 +55,74 @@ export const QueryPresetsColumnField = ({
53
55
  permissions
54
56
  });
55
57
  }, [config, collectionConfig, relatedCollection, value, i18n, permissions]);
56
- const reducedFields = useMemo(() => {
58
+ // Build the full column set from every field (active and inactive), mirroring the
59
+ // list view's `buildColumnState`, so columns absent from the saved preferences still
60
+ // appear in the selector. No cells are rendered here.
61
+ const columns = useMemo(() => {
57
62
  if (!collectionConfig?.fields) {
58
63
  return [];
59
64
  }
60
- return reduceFieldsToOptions({
61
- fieldPermissions: permissions?.collections?.[relatedCollection]?.fields ?? true,
62
- fields: collectionConfig.fields,
63
- i18n
65
+ const fieldPermissions = permissions?.collections?.[relatedCollection]?.fields ?? true;
66
+ let sortedFieldMap = flattenTopLevelFields(filterFieldsWithPermissions({
67
+ fieldPermissions,
68
+ fields: collectionConfig.fields
69
+ }), {
70
+ i18n,
71
+ keepPresentationalFields: true,
72
+ moveSubFieldsToTop: true
64
73
  });
65
- }, [collectionConfig, i18n, permissions, relatedCollection]);
66
- const accessorToLabel = useMemo(() => {
67
- const map = {};
68
- for (const f of reducedFields) {
69
- map[String(f.fieldPath)] = f.label;
74
+ // Place the `id` field first, then the `useAsTitle` field, matching the list view.
75
+ const idFieldIndex = sortedFieldMap.findIndex(field => fieldIsID(field));
76
+ if (idFieldIndex > -1) {
77
+ sortedFieldMap.unshift(sortedFieldMap.splice(idFieldIndex, 1)[0]);
70
78
  }
71
- return map;
72
- }, [reducedFields]);
73
- const pills = useMemo(() => columns.map((col, i) => ({
74
- name: col.accessor,
75
- key: `${relatedCollection}-${col.accessor}-${i}-${uuid}`,
76
- Label: accessorToLabel[col.accessor] ?? col.accessor,
77
- selected: col.active
78
- })), [accessorToLabel, columns, relatedCollection, uuid]);
79
- const currentColumns = value ?? columns;
80
- const handleClick = React.useCallback(({
81
- pill
82
- }) => {
83
- const newColumns = currentColumns.map(col_0 => col_0.accessor === pill.name ? {
84
- ...col_0,
85
- active: !col_0.active
86
- } : col_0);
87
- setValue(newColumns.length ? newColumns : undefined);
88
- }, [currentColumns, setValue]);
89
- if (!relatedCollection) {
79
+ const useAsTitle = collectionConfig.admin?.useAsTitle;
80
+ const useAsTitleFieldIndex = useAsTitle ? sortedFieldMap.findIndex(field_0 => 'name' in field_0 && field_0.name === useAsTitle) : -1;
81
+ if (useAsTitleFieldIndex > -1) {
82
+ sortedFieldMap.unshift(sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]);
83
+ }
84
+ sortedFieldMap = sortFieldMap(sortedFieldMap, columnPreferences);
85
+ const activeColumnsIndices = [];
86
+ return sortedFieldMap.reduce((acc, field_1, colIndex) => {
87
+ if (fieldIsHiddenOrDisabled(field_1) && !fieldIsID(field_1)) {
88
+ return acc;
89
+ }
90
+ // Groups render as their flattened subfields, not as a selectable column.
91
+ if (field_1.type === 'group') {
92
+ return acc;
93
+ }
94
+ const accessor = 'accessor' in field_1 ? field_1.accessor : 'name' in field_1 ? field_1.name : undefined;
95
+ if (!accessor) {
96
+ return acc;
97
+ }
98
+ const columnPref = columnPreferences.find(pref => pref.accessor === accessor);
99
+ const active = isColumnActive({
100
+ accessor,
101
+ activeColumnsIndices,
102
+ column: columnPref,
103
+ columns: columnPreferences
104
+ });
105
+ if (active) {
106
+ activeColumnsIndices.push(colIndex);
107
+ }
108
+ acc.push({
109
+ accessor,
110
+ active,
111
+ field: field_1,
112
+ Heading: null,
113
+ renderedCells: []
114
+ });
115
+ return acc;
116
+ }, []);
117
+ }, [collectionConfig, columnPreferences, i18n, permissions, relatedCollection]);
118
+ const handleChange = React.useCallback(newColumns => {
119
+ const preferences = newColumns.map(col => ({
120
+ accessor: col.accessor,
121
+ active: col.active
122
+ }));
123
+ setValue(preferences.length ? preferences : undefined);
124
+ }, [setValue]);
125
+ if (!relatedCollection || !collectionConfig) {
90
126
  return /*#__PURE__*/_jsxs("div", {
91
127
  className: "field-type query-preset-columns-field",
92
128
  children: [/*#__PURE__*/_jsx(FieldLabel, {
@@ -100,20 +136,13 @@ export const QueryPresetsColumnField = ({
100
136
  })]
101
137
  });
102
138
  }
103
- return /*#__PURE__*/_jsxs("div", {
139
+ return /*#__PURE__*/_jsx("div", {
104
140
  className: "field-type query-preset-columns-field",
105
- children: [/*#__PURE__*/_jsx(FieldLabel, {
106
- as: "h3",
107
- label: label,
108
- path: path,
109
- required: required
110
- }), pills.length > 0 ? /*#__PURE__*/_jsx(PillSelector, {
111
- onClick: handleClick,
112
- pills: pills
113
- }) : /*#__PURE__*/_jsx("p", {
114
- className: "query-preset-columns-field__hint",
115
- children: "No columns available for this collection."
116
- })]
141
+ children: /*#__PURE__*/_jsx(ColumnSelectionButton, {
142
+ collectionSlug: relatedCollection,
143
+ columns: columns,
144
+ onChange: handleChange
145
+ })
117
146
  });
118
147
  };
119
148
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useId","useMemo","FieldLabel","useField","useAuth","useConfig","useTranslation","getColumns","reduceFieldsToOptions","PillSelector","QueryPresetsColumnField","field","label","required","path","setValue","value","relatedCollectionField","relatedCollection","config","getEntityConfig","i18n","permissions","uuid","collectionConfig","collectionSlug","columns","clientConfig","reducedFields","fields","fieldPermissions","collections","accessorToLabel","map","f","String","fieldPath","pills","col","i","name","accessor","key","Label","selected","active","currentColumns","handleClick","useCallback","pill","newColumns","length","undefined","_jsxs","className","_jsx","as","onClick"],"sources":["../../../../../src/elements/QueryPresets/fields/ColumnsField/index.tsx"],"sourcesContent":["'use client'\nimport type { ColumnPreference, JSONFieldClientComponent } from 'payload'\n\nimport React, { useId, useMemo } from 'react'\n\nimport { FieldLabel } from '../../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../../forms/useField/index.js'\nimport { useAuth } from '../../../../providers/Auth/index.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { getColumns } from '../../../../utilities/getColumns.js'\nimport { reduceFieldsToOptions } from '../../../../utilities/reduceFieldsToOptions.js'\nimport { PillSelector, type SelectablePill } from '../../../PillSelector/index.js'\nimport './index.scss'\n\nexport const QueryPresetsColumnField: JSONFieldClientComponent = ({\n field: { label, required },\n}) => {\n const { path, setValue, value } = useField<ColumnPreference[]>()\n const relatedCollectionField = useField({ path: 'relatedCollection' })\n const relatedCollection = relatedCollectionField.value as string | undefined\n const { config, getEntityConfig } = useConfig()\n const { i18n } = useTranslation()\n const { permissions } = useAuth()\n const uuid = useId()\n\n const collectionConfig = useMemo(\n () => (relatedCollection ? getEntityConfig({ collectionSlug: relatedCollection }) : null),\n [relatedCollection, getEntityConfig],\n )\n\n const columns = useMemo(() => {\n if (!relatedCollection || !collectionConfig) {\n return []\n }\n return getColumns({\n clientConfig: config,\n collectionConfig,\n collectionSlug: relatedCollection,\n columns: value ?? [],\n i18n,\n permissions,\n })\n }, [config, collectionConfig, relatedCollection, value, i18n, permissions])\n\n const reducedFields = useMemo(() => {\n if (!collectionConfig?.fields) {\n return []\n }\n return reduceFieldsToOptions({\n fieldPermissions: permissions?.collections?.[relatedCollection]?.fields ?? true,\n fields: collectionConfig.fields,\n i18n,\n })\n }, [collectionConfig, i18n, permissions, relatedCollection])\n\n const accessorToLabel = useMemo(() => {\n const map: Record<string, React.ReactNode> = {}\n for (const f of reducedFields) {\n map[String(f.fieldPath)] = f.label\n }\n return map\n }, [reducedFields])\n\n const pills: SelectablePill[] = useMemo(\n () =>\n columns.map((col, i) => ({\n name: col.accessor,\n key: `${relatedCollection}-${col.accessor}-${i}-${uuid}`,\n Label: accessorToLabel[col.accessor] ?? col.accessor,\n selected: col.active,\n })),\n [accessorToLabel, columns, relatedCollection, uuid],\n )\n\n const currentColumns = value ?? columns\n\n const handleClick = React.useCallback(\n ({ pill }: { pill: SelectablePill }) => {\n const newColumns = currentColumns.map((col) =>\n col.accessor === pill.name ? { ...col, active: !col.active } : col,\n )\n setValue(newColumns.length ? newColumns : undefined)\n },\n [currentColumns, setValue],\n )\n\n if (!relatedCollection) {\n return (\n <div className=\"field-type query-preset-columns-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <p className=\"query-preset-columns-field__hint\">\n Select the related collection to configure columns.\n </p>\n </div>\n )\n }\n\n return (\n <div className=\"field-type query-preset-columns-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n {pills.length > 0 ? (\n <PillSelector onClick={handleClick} pills={pills} />\n ) : (\n <p className=\"query-preset-columns-field__hint\">\n No columns available for this collection.\n </p>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["fieldIsHiddenOrDisabled","fieldIsID","flattenTopLevelFields","React","useMemo","FieldLabel","useField","useAuth","useConfig","filterFieldsWithPermissions","isColumnActive","sortFieldMap","useTranslation","getColumns","ColumnSelectionButton","QueryPresetsColumnField","field","label","required","path","setValue","value","relatedCollectionField","relatedCollection","config","getEntityConfig","i18n","permissions","collectionConfig","collectionSlug","columnPreferences","clientConfig","columns","fields","fieldPermissions","collections","sortedFieldMap","keepPresentationalFields","moveSubFieldsToTop","idFieldIndex","findIndex","unshift","splice","useAsTitle","admin","useAsTitleFieldIndex","name","activeColumnsIndices","reduce","acc","colIndex","type","accessor","undefined","columnPref","find","pref","active","column","push","Heading","renderedCells","handleChange","useCallback","newColumns","preferences","map","col","length","_jsxs","className","_jsx","as","onChange"],"sources":["../../../../../src/elements/QueryPresets/fields/ColumnsField/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, Column, ColumnPreference, JSONFieldClientComponent } from 'payload'\n\nimport { fieldIsHiddenOrDisabled, fieldIsID, flattenTopLevelFields } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { FieldLabel } from '../../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../../forms/useField/index.js'\nimport { useAuth } from '../../../../providers/Auth/index.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { filterFieldsWithPermissions } from '../../../../providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js'\nimport { isColumnActive } from '../../../../providers/TableColumns/buildColumnState/isColumnActive.js'\nimport { sortFieldMap } from '../../../../providers/TableColumns/buildColumnState/sortFieldMap.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { getColumns } from '../../../../utilities/getColumns.js'\nimport { ColumnSelectionButton } from '../../../ColumnSelection/index.js'\nimport '../fields.css'\n\nexport const QueryPresetsColumnField: JSONFieldClientComponent = ({\n field: { label, required },\n}) => {\n const { path, setValue, value } = useField<ColumnPreference[]>()\n const relatedCollectionField = useField({ path: 'relatedCollection' })\n const relatedCollection = relatedCollectionField.value as string | undefined\n const { config, getEntityConfig } = useConfig()\n const { i18n } = useTranslation()\n const { permissions } = useAuth()\n\n const collectionConfig = useMemo(\n () => (relatedCollection ? getEntityConfig({ collectionSlug: relatedCollection }) : null),\n [relatedCollection, getEntityConfig],\n )\n\n const columnPreferences = useMemo(() => {\n if (!relatedCollection || !collectionConfig) {\n return []\n }\n return getColumns({\n clientConfig: config,\n collectionConfig,\n collectionSlug: relatedCollection,\n columns: value ?? [],\n i18n,\n permissions,\n })\n }, [config, collectionConfig, relatedCollection, value, i18n, permissions])\n\n // Build the full column set from every field (active and inactive), mirroring the\n // list view's `buildColumnState`, so columns absent from the saved preferences still\n // appear in the selector. No cells are rendered here.\n const columns: Column[] = useMemo(() => {\n if (!collectionConfig?.fields) {\n return []\n }\n\n const fieldPermissions = permissions?.collections?.[relatedCollection]?.fields ?? true\n\n let sortedFieldMap = flattenTopLevelFields(\n filterFieldsWithPermissions({ fieldPermissions, fields: collectionConfig.fields }),\n {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n },\n ) as ClientField[]\n\n // Place the `id` field first, then the `useAsTitle` field, matching the list view.\n const idFieldIndex = sortedFieldMap.findIndex((field) => fieldIsID(field))\n if (idFieldIndex > -1) {\n sortedFieldMap.unshift(sortedFieldMap.splice(idFieldIndex, 1)[0])\n }\n\n const useAsTitle = collectionConfig.admin?.useAsTitle\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n if (useAsTitleFieldIndex > -1) {\n sortedFieldMap.unshift(sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0])\n }\n\n sortedFieldMap = sortFieldMap(sortedFieldMap, columnPreferences)\n\n const activeColumnsIndices: number[] = []\n\n return sortedFieldMap.reduce<Column[]>((acc, field, colIndex) => {\n if (fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) {\n return acc\n }\n\n // Groups render as their flattened subfields, not as a selectable column.\n if (field.type === 'group') {\n return acc\n }\n\n const accessor =\n 'accessor' in field\n ? (field as { accessor: string }).accessor\n : 'name' in field\n ? field.name\n : undefined\n\n if (!accessor) {\n return acc\n }\n\n const columnPref = columnPreferences.find((pref) => pref.accessor === accessor)\n const active = isColumnActive({\n accessor,\n activeColumnsIndices,\n column: columnPref,\n columns: columnPreferences,\n })\n\n if (active) {\n activeColumnsIndices.push(colIndex)\n }\n\n acc.push({\n accessor,\n active,\n field,\n Heading: null,\n renderedCells: [],\n })\n\n return acc\n }, [])\n }, [collectionConfig, columnPreferences, i18n, permissions, relatedCollection])\n\n const handleChange = React.useCallback(\n (newColumns: Column[]) => {\n const preferences: ColumnPreference[] = newColumns.map((col) => ({\n accessor: col.accessor,\n active: col.active,\n }))\n setValue(preferences.length ? preferences : undefined)\n },\n [setValue],\n )\n\n if (!relatedCollection || !collectionConfig) {\n return (\n <div className=\"field-type query-preset-columns-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <p className=\"query-preset-columns-field__hint\">\n Select the related collection to configure columns.\n </p>\n </div>\n )\n }\n\n return (\n <div className=\"field-type query-preset-columns-field\">\n <ColumnSelectionButton\n collectionSlug={relatedCollection}\n columns={columns}\n onChange={handleChange}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  import type { TextFieldClientComponent } from 'payload';
2
- import './index.scss';
2
+ import '../fields.css';
3
3
  export declare const QueryPresetsGroupByField: TextFieldClientComponent;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/fields/GroupByField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAQvD,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,wBAAwB,EAAE,wBAuCtC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/fields/GroupByField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAQvD,OAAO,eAAe,CAAA;AAEtB,eAAO,MAAM,wBAAwB,EAAE,wBAkCtC,CAAA"}
@@ -5,8 +5,8 @@ import React, { useMemo } from 'react';
5
5
  import { FieldLabel } from '../../../../fields/FieldLabel/index.js';
6
6
  import { useField } from '../../../../forms/useField/index.js';
7
7
  import { useConfig } from '../../../../providers/Config/index.js';
8
- import { GroupByBuilder } from '../../../GroupByBuilder/index.js';
9
- import './index.scss';
8
+ import { GroupByButton } from '../../../GroupBy/index.js';
9
+ import '../fields.css';
10
10
  export const QueryPresetsGroupByField = ({
11
11
  field: {
12
12
  label,
@@ -23,16 +23,12 @@ export const QueryPresetsGroupByField = ({
23
23
  });
24
24
  const relatedCollection = relatedCollectionField.value;
25
25
  const {
26
- config
26
+ getEntityConfig
27
27
  } = useConfig();
28
- const collectionConfig = useMemo(() => {
29
- if (!relatedCollection) {
30
- return null;
31
- }
32
- return config.collections?.find(col => col.slug === relatedCollection);
33
- }, [relatedCollection, config.collections]);
34
- const fields = collectionConfig?.fields ?? [];
35
- if (!relatedCollection) {
28
+ const collectionConfig = useMemo(() => relatedCollection ? getEntityConfig({
29
+ collectionSlug: relatedCollection
30
+ }) : null, [relatedCollection, getEntityConfig]);
31
+ if (!relatedCollection || !collectionConfig) {
36
32
  return /*#__PURE__*/_jsxs("div", {
37
33
  className: "field-type query-preset-group-by-field",
38
34
  children: [/*#__PURE__*/_jsx(FieldLabel, {
@@ -46,19 +42,14 @@ export const QueryPresetsGroupByField = ({
46
42
  })]
47
43
  });
48
44
  }
49
- return /*#__PURE__*/_jsxs("div", {
45
+ return /*#__PURE__*/_jsx("div", {
50
46
  className: "field-type query-preset-group-by-field",
51
- children: [/*#__PURE__*/_jsx(FieldLabel, {
52
- as: "h3",
53
- label: label,
54
- path: path,
55
- required: required
56
- }), /*#__PURE__*/_jsx(GroupByBuilder, {
47
+ children: /*#__PURE__*/_jsx(GroupByButton, {
57
48
  collectionSlug: relatedCollection,
58
- fields: fields,
49
+ fields: collectionConfig.fields,
59
50
  onChange: groupBy => setValue(groupBy || null),
60
- value: value ?? undefined
61
- })]
51
+ value: value ?? ''
52
+ })
62
53
  });
63
54
  };
64
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","FieldLabel","useField","useConfig","GroupByBuilder","QueryPresetsGroupByField","field","label","required","path","setValue","value","relatedCollectionField","relatedCollection","config","collectionConfig","collections","find","col","slug","fields","_jsxs","className","_jsx","as","collectionSlug","onChange","groupBy","undefined"],"sources":["../../../../../src/elements/QueryPresets/fields/GroupByField/index.tsx"],"sourcesContent":["'use client'\nimport type { TextFieldClientComponent } from 'payload'\n\nimport React, { useMemo } from 'react'\n\nimport { FieldLabel } from '../../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../../forms/useField/index.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { GroupByBuilder } from '../../../GroupByBuilder/index.js'\nimport './index.scss'\n\nexport const QueryPresetsGroupByField: TextFieldClientComponent = ({\n field: { label, required },\n}) => {\n const { path, setValue, value } = useField<string>()\n const relatedCollectionField = useField({ path: 'relatedCollection' })\n const relatedCollection = relatedCollectionField.value as string | undefined\n const { config } = useConfig()\n\n const collectionConfig = useMemo(() => {\n if (!relatedCollection) {\n return null\n }\n return config.collections?.find((col) => col.slug === relatedCollection)\n }, [relatedCollection, config.collections])\n\n const fields = collectionConfig?.fields ?? []\n\n if (!relatedCollection) {\n return (\n <div className=\"field-type query-preset-group-by-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <p className=\"query-preset-group-by-field__hint\">\n Select the related collection to configure group by.\n </p>\n </div>\n )\n }\n\n return (\n <div className=\"field-type query-preset-group-by-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <GroupByBuilder\n collectionSlug={relatedCollection}\n fields={fields}\n onChange={(groupBy) => setValue(groupBy || null)}\n value={value ?? undefined}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,IAASC,OAAO,QAAQ;AAE/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,OAAO,MAAMC,wBAAA,GAAqDA,CAAC;EACjEC,KAAA,EAAO;IAAEC,KAAK;IAAEC;EAAQ;AAAE,CAC3B;EACC,MAAM;IAAEC,IAAI;IAAEC,QAAQ;IAAEC;EAAK,CAAE,GAAGT,QAAA;EAClC,MAAMU,sBAAA,GAAyBV,QAAA,CAAS;IAAEO,IAAA,EAAM;EAAoB;EACpE,MAAMI,iBAAA,GAAoBD,sBAAA,CAAuBD,KAAK;EACtD,MAAM;IAAEG;EAAM,CAAE,GAAGX,SAAA;EAEnB,MAAMY,gBAAA,GAAmBf,OAAA,CAAQ;IAC/B,IAAI,CAACa,iBAAA,EAAmB;MACtB,OAAO;IACT;IACA,OAAOC,MAAA,CAAOE,WAAW,EAAEC,IAAA,CAAMC,GAAA,IAAQA,GAAA,CAAIC,IAAI,KAAKN,iBAAA;EACxD,GAAG,CAACA,iBAAA,EAAmBC,MAAA,CAAOE,WAAW,CAAC;EAE1C,MAAMI,MAAA,GAASL,gBAAA,EAAkBK,MAAA,IAAU,EAAE;EAE7C,IAAI,CAACP,iBAAA,EAAmB;IACtB,oBACEQ,KAAA,CAAC;MAAIC,SAAA,EAAU;8BACbC,IAAA,CAACtB,UAAA;QAAWuB,EAAA,EAAG;QAAKjB,KAAA,EAAOA,KAAA;QAAOE,IAAA,EAAMA,IAAA;QAAMD,QAAA,EAAUA;uBACxDe,IAAA,CAAC;QAAED,SAAA,EAAU;kBAAoC;;;EAKvD;EAEA,oBACED,KAAA,CAAC;IAAIC,SAAA,EAAU;4BACbC,IAAA,CAACtB,UAAA;MAAWuB,EAAA,EAAG;MAAKjB,KAAA,EAAOA,KAAA;MAAOE,IAAA,EAAMA,IAAA;MAAMD,QAAA,EAAUA;qBACxDe,IAAA,CAACnB,cAAA;MACCqB,cAAA,EAAgBZ,iBAAA;MAChBO,MAAA,EAAQA,MAAA;MACRM,QAAA,EAAWC,OAAA,IAAYjB,QAAA,CAASiB,OAAA,IAAW;MAC3ChB,KAAA,EAAOA,KAAA,IAASiB;;;AAIxB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","FieldLabel","useField","useConfig","GroupByButton","QueryPresetsGroupByField","field","label","required","path","setValue","value","relatedCollectionField","relatedCollection","getEntityConfig","collectionConfig","collectionSlug","_jsxs","className","_jsx","as","fields","onChange","groupBy"],"sources":["../../../../../src/elements/QueryPresets/fields/GroupByField/index.tsx"],"sourcesContent":["'use client'\nimport type { TextFieldClientComponent } from 'payload'\n\nimport React, { useMemo } from 'react'\n\nimport { FieldLabel } from '../../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../../forms/useField/index.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { GroupByButton } from '../../../GroupBy/index.js'\nimport '../fields.css'\n\nexport const QueryPresetsGroupByField: TextFieldClientComponent = ({\n field: { label, required },\n}) => {\n const { path, setValue, value } = useField<string>()\n const relatedCollectionField = useField({ path: 'relatedCollection' })\n const relatedCollection = relatedCollectionField.value as string | undefined\n const { getEntityConfig } = useConfig()\n\n const collectionConfig = useMemo(\n () => (relatedCollection ? getEntityConfig({ collectionSlug: relatedCollection }) : null),\n [relatedCollection, getEntityConfig],\n )\n\n if (!relatedCollection || !collectionConfig) {\n return (\n <div className=\"field-type query-preset-group-by-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <p className=\"query-preset-group-by-field__hint\">\n Select the related collection to configure group by.\n </p>\n </div>\n )\n }\n\n return (\n <div className=\"field-type query-preset-group-by-field\">\n <GroupByButton\n collectionSlug={relatedCollection}\n fields={collectionConfig.fields}\n onChange={(groupBy) => setValue(groupBy || null)}\n value={value ?? ''}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,IAASC,OAAO,QAAQ;AAE/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,aAAa,QAAQ;AAC9B,OAAO;AAEP,OAAO,MAAMC,wBAAA,GAAqDA,CAAC;EACjEC,KAAA,EAAO;IAAEC,KAAK;IAAEC;EAAQ;AAAE,CAC3B;EACC,MAAM;IAAEC,IAAI;IAAEC,QAAQ;IAAEC;EAAK,CAAE,GAAGT,QAAA;EAClC,MAAMU,sBAAA,GAAyBV,QAAA,CAAS;IAAEO,IAAA,EAAM;EAAoB;EACpE,MAAMI,iBAAA,GAAoBD,sBAAA,CAAuBD,KAAK;EACtD,MAAM;IAAEG;EAAe,CAAE,GAAGX,SAAA;EAE5B,MAAMY,gBAAA,GAAmBf,OAAA,CACvB,MAAOa,iBAAA,GAAoBC,eAAA,CAAgB;IAAEE,cAAA,EAAgBH;EAAkB,KAAK,MACpF,CAACA,iBAAA,EAAmBC,eAAA,CAAgB;EAGtC,IAAI,CAACD,iBAAA,IAAqB,CAACE,gBAAA,EAAkB;IAC3C,oBACEE,KAAA,CAAC;MAAIC,SAAA,EAAU;8BACbC,IAAA,CAAClB,UAAA;QAAWmB,EAAA,EAAG;QAAKb,KAAA,EAAOA,KAAA;QAAOE,IAAA,EAAMA,IAAA;QAAMD,QAAA,EAAUA;uBACxDW,IAAA,CAAC;QAAED,SAAA,EAAU;kBAAoC;;;EAKvD;EAEA,oBACEC,IAAA,CAAC;IAAID,SAAA,EAAU;cACb,aAAAC,IAAA,CAACf,aAAA;MACCY,cAAA,EAAgBH,iBAAA;MAChBQ,MAAA,EAAQN,gBAAA,CAAiBM,MAAM;MAC/BC,QAAA,EAAWC,OAAA,IAAYb,QAAA,CAASa,OAAA,IAAW;MAC3CZ,KAAA,EAAOA,KAAA,IAAS;;;AAIxB","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ @layer payload-default {
2
+ .query-preset-heading {
3
+ margin: var(--spacer-4) 0 var(--spacer-2-5);
4
+ color: var(--color-text);
5
+ font-family: var(--text-heading-medium-font-family);
6
+ font-size: var(--text-heading-medium-font-size);
7
+ font-weight: var(--text-heading-medium-font-weight);
8
+ line-height: var(--text-heading-medium-line-height);
9
+ }
10
+
11
+ .field-type.row.query-preset-controls-row {
12
+ /* Match the standalone headings' top spacing so sections stay aligned. */
13
+ margin-top: var(--spacer-4);
14
+
15
+ .row__fields {
16
+ align-items: center;
17
+ column-gap: var(--spacer-2);
18
+ flex-wrap: nowrap;
19
+
20
+ /* Size controls to their content and drop Row's inline margins so the last
21
+ one aligns with the right edge. Matches Row's `:has` selector to win on
22
+ mobile, where Row's media-query reset has too little specificity. */
23
+ &:has(> *:nth-child(2)) {
24
+ margin-inline: 0;
25
+
26
+ > * {
27
+ flex: 0 0 auto;
28
+ margin-inline: 0;
29
+ /* Clamp against Row's mobile `width: 100% !important`. */
30
+ max-width: fit-content;
31
+ }
32
+ }
33
+
34
+ /* Stay in a row on mobile, where Row otherwise stacks into a column. */
35
+ @media (max-width: 1024px) {
36
+ flex-direction: row;
37
+ }
38
+ }
39
+
40
+ /* The heading absorbs the free space to push the controls to the right edge;
41
+ the row owns the top spacing, so collapse the heading's own block margins. */
42
+ .row__fields:has(> *:nth-child(2)) > .query-preset-heading {
43
+ margin-block: 0;
44
+ margin-inline-end: auto;
45
+ }
46
+ }
47
+
48
+ /* The Access heading provides the separation, so hide the group's top border. */
49
+ .query-preset-access-group.group-field--top-level::before {
50
+ display: none;
51
+ }
52
+ }
@@ -0,0 +1,7 @@
1
+ import type { ClientTranslationKeys } from '@payloadcms/translations';
2
+ import React from 'react';
3
+ import './index.css';
4
+ export declare const QueryPresetsHeading: React.FC<{
5
+ i18nKey?: ClientTranslationKeys;
6
+ }>;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/fields/Heading/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAErE,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,aAAa,CAAA;AAEpB,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,OAAO,CAAC,EAAE,qBAAqB,CAAA;CAAE,CAM7E,CAAA"}
@@ -0,0 +1,31 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import React from 'react';
6
+ import { useTranslation } from '../../../../providers/Translation/index.js';
7
+ import './index.css';
8
+ export const QueryPresetsHeading = t0 => {
9
+ const $ = _c(3);
10
+ const {
11
+ i18nKey: t1
12
+ } = t0;
13
+ const i18nKey = t1 === undefined ? "general:presets" : t1;
14
+ const {
15
+ t
16
+ } = useTranslation();
17
+ let t2;
18
+ if ($[0] !== i18nKey || $[1] !== t) {
19
+ t2 = _jsx("h3", {
20
+ className: "query-preset-heading",
21
+ children: t(i18nKey)
22
+ });
23
+ $[0] = i18nKey;
24
+ $[1] = t;
25
+ $[2] = t2;
26
+ } else {
27
+ t2 = $[2];
28
+ }
29
+ return t2;
30
+ };
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useTranslation","QueryPresetsHeading","t0","$","i18nKey","t1","undefined","t","t2","_jsx","className","children"],"sources":["../../../../../src/elements/QueryPresets/fields/Heading/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys } from '@payloadcms/translations'\n\nimport React from 'react'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.css'\n\nexport const QueryPresetsHeading: React.FC<{ i18nKey?: ClientTranslationKeys }> = ({\n i18nKey = 'general:presets',\n}) => {\n const { t } = useTranslation()\n\n return <h3 className=\"query-preset-heading\">{t(i18nKey)}</h3>\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,OAAO,MAAMC,mBAAA,GAAqEC,EAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EAAC;IAAAM,OAAA,EAAAC;EAAA,IAAAH,EAElF;EADC,MAAAE,OAAA,GAAAC,EAA2B,KAAAC,SAAA,GAAjB,iBAAiB,GAA3BD,EAA2B;EAE3B;IAAAE;EAAA,IAAcP,cAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAL,CAAA,QAAAC,OAAA,IAAAD,CAAA,QAAAI,CAAA;IAEPC,EAAA,GAAAC,IAAA,CAAC;MAAAC,SAAA,EAAa;MAAAC,QAAA,EAAwBJ,CAAA,CAAEH,OAAA;IAAA,C;;;;;;;SAAxCI,E;CACT","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  import type { JSONFieldClientComponent } from 'payload';
2
- import './index.scss';
2
+ import '../fields.css';
3
3
  export declare const QueryPresetsWhereField: JSONFieldClientComponent;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/fields/WhereField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAS,MAAM,SAAS,CAAA;AAO9D,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,sBAAsB,EAAE,wBA4BpC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/fields/WhereField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAS,MAAM,SAAS,CAAA;AAQ9D,OAAO,eAAe,CAAA;AAEtB,eAAO,MAAM,sBAAsB,EAAE,wBA+BpC,CAAA"}
@@ -5,10 +5,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import React from 'react';
6
6
  import { FieldLabel } from '../../../../fields/FieldLabel/index.js';
7
7
  import { useField } from '../../../../forms/useField/index.js';
8
+ import { useConfig } from '../../../../providers/Config/index.js';
8
9
  import { WhereBuilder } from '../../../WhereBuilder/index.js';
9
- import './index.scss';
10
+ import '../fields.css';
10
11
  export const QueryPresetsWhereField = t0 => {
11
- const $ = _c(14);
12
+ const $ = _c(12);
12
13
  const {
13
14
  field: t1
14
15
  } = t0;
@@ -32,6 +33,9 @@ export const QueryPresetsWhereField = t0 => {
32
33
  }
33
34
  const relatedCollectionField = useField(t2);
34
35
  const relatedCollection = relatedCollectionField.value;
36
+ const {
37
+ getEntityConfig
38
+ } = useConfig();
35
39
  if (!relatedCollection) {
36
40
  let t3;
37
41
  if ($[1] !== label || $[2] !== path || $[3] !== required) {
@@ -57,37 +61,34 @@ export const QueryPresetsWhereField = t0 => {
57
61
  return t3;
58
62
  }
59
63
  let t3;
60
- if ($[5] !== label || $[6] !== path || $[7] !== relatedCollection || $[8] !== required || $[9] !== setValue || $[10] !== value) {
64
+ if ($[5] !== getEntityConfig || $[6] !== relatedCollection || $[7] !== setValue || $[8] !== value) {
65
+ const collectionConfig = getEntityConfig({
66
+ collectionSlug: relatedCollection
67
+ });
61
68
  let t4;
62
- if ($[12] !== setValue) {
69
+ if ($[10] !== setValue) {
63
70
  t4 = where => setValue(where);
64
- $[12] = setValue;
65
- $[13] = t4;
71
+ $[10] = setValue;
72
+ $[11] = t4;
66
73
  } else {
67
- t4 = $[13];
74
+ t4 = $[11];
68
75
  }
69
- t3 = _jsxs("div", {
76
+ t3 = _jsx("div", {
70
77
  className: "field-type query-preset-where-field",
71
- children: [_jsx(FieldLabel, {
72
- as: "h3",
73
- label,
74
- path,
75
- required
76
- }), _jsx(WhereBuilder, {
78
+ children: _jsx(WhereBuilder, {
77
79
  collectionSlug: relatedCollection,
80
+ fields: collectionConfig?.fields ?? [],
78
81
  onChange: t4,
79
82
  value: value ?? undefined
80
- })]
83
+ })
81
84
  });
82
- $[5] = label;
83
- $[6] = path;
84
- $[7] = relatedCollection;
85
- $[8] = required;
86
- $[9] = setValue;
87
- $[10] = value;
88
- $[11] = t3;
85
+ $[5] = getEntityConfig;
86
+ $[6] = relatedCollection;
87
+ $[7] = setValue;
88
+ $[8] = value;
89
+ $[9] = t3;
89
90
  } else {
90
- t3 = $[11];
91
+ t3 = $[9];
91
92
  }
92
93
  return t3;
93
94
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","FieldLabel","useField","WhereBuilder","QueryPresetsWhereField","t0","$","field","t1","label","required","path","setValue","value","t2","Symbol","for","relatedCollectionField","relatedCollection","t3","_jsxs","className","children","_jsx","as","t4","where","collectionSlug","onChange","undefined"],"sources":["../../../../../src/elements/QueryPresets/fields/WhereField/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent, Where } from 'payload'\n\nimport React from 'react'\n\nimport { FieldLabel } from '../../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../../forms/useField/index.js'\nimport { WhereBuilder } from '../../../WhereBuilder/index.js'\nimport './index.scss'\n\nexport const QueryPresetsWhereField: JSONFieldClientComponent = ({\n field: { label, required },\n}) => {\n const { path, setValue, value } = useField<Where>()\n const relatedCollectionField = useField({ path: 'relatedCollection' })\n const relatedCollection = relatedCollectionField.value as string | undefined\n\n if (!relatedCollection) {\n return (\n <div className=\"field-type query-preset-where-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <p className=\"query-preset-where-field__hint\">\n Select the related collection to configure filters.\n </p>\n </div>\n )\n }\n\n return (\n <div className=\"field-type query-preset-where-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <WhereBuilder\n collectionSlug={relatedCollection}\n onChange={(where) => setValue(where)}\n value={value ?? undefined}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,OAAO,MAAMC,sBAAA,GAAmDC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAC;IAAAQ,KAAA,EAAAC;EAAA,IAAAH,EAEhE;EADQ;IAAAI,KAAA;IAAAC;EAAA,IAAAF,EAAmB;EAE1B;IAAAG,IAAA;IAAAC,QAAA;IAAAC;EAAA,IAAkCX,QAAA;EAAA,IAAAY,EAAA;EAAA,IAAAR,CAAA,QAAAS,MAAA,CAAAC,GAAA;IACMF,EAAA;MAAAH,IAAA,EAAQ;IAAA;IAAoBL,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAApE,MAAAW,sBAAA,GAA+Bf,QAAA,CAASY,EAA4B;EACpE,MAAAI,iBAAA,GAA0BD,sBAAA,CAAAJ,KAAA;EAA4B,KAEjDK,iBAAA;IAAA,IAAAC,EAAA;IAAA,IAAAb,CAAA,QAAAG,KAAA,IAAAH,CAAA,QAAAK,IAAA,IAAAL,CAAA,QAAAI,QAAA;MAEDS,EAAA,GAAAC,KAAA,CAAC;QAAAC,SAAA,EAAc;QAAAC,QAAA,GACbC,IAAA,CAAAtB,UAAA;UAAAuB,EAAA,EAAe;UAAAf,KAAA;UAAAE,IAAA;UAAAD;QAAA,C,GACfa,IAAA,CAAC;UAAAF,SAAA,EAAY;UAAAC,QAAA,EAAiC;QAAA,C;;;;;;;;;WAFhDH,E;;;;;;MAcYM,EAAA,GAAAC,KAAA,IAAWd,QAAA,CAASc,KAAA;MAAApB,CAAA,OAAAM,QAAA;MAAAN,CAAA,OAAAmB,EAAA;IAAA;MAAAA,EAAA,GAAAnB,CAAA;IAAA;IAJlCa,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAc;MAAAC,QAAA,GACbC,IAAA,CAAAtB,UAAA;QAAAuB,EAAA,EAAe;QAAAf,KAAA;QAAAE,IAAA;QAAAD;MAAA,C,GACfa,IAAA,CAAApB,YAAA;QAAAwB,cAAA,EACkBT,iBAAA;QAAAU,QAAA,EACNH,EAAoB;QAAAZ,KAAA,EACvBA,KAAA,IAAAgB;MAAS,C;;;;;;;;;;;;SALpBV,E;CASJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","FieldLabel","useField","useConfig","WhereBuilder","QueryPresetsWhereField","t0","$","field","t1","label","required","path","setValue","value","t2","Symbol","for","relatedCollectionField","relatedCollection","getEntityConfig","t3","_jsxs","className","children","_jsx","as","collectionConfig","collectionSlug","t4","where","fields","onChange","undefined"],"sources":["../../../../../src/elements/QueryPresets/fields/WhereField/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent, Where } from 'payload'\n\nimport React from 'react'\n\nimport { FieldLabel } from '../../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../../forms/useField/index.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { WhereBuilder } from '../../../WhereBuilder/index.js'\nimport '../fields.css'\n\nexport const QueryPresetsWhereField: JSONFieldClientComponent = ({\n field: { label, required },\n}) => {\n const { path, setValue, value } = useField<Where>()\n const relatedCollectionField = useField({ path: 'relatedCollection' })\n const relatedCollection = relatedCollectionField.value as string | undefined\n const { getEntityConfig } = useConfig()\n\n if (!relatedCollection) {\n return (\n <div className=\"field-type query-preset-where-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <p className=\"query-preset-where-field__hint\">\n Select the related collection to configure filters.\n </p>\n </div>\n )\n }\n\n const collectionConfig = getEntityConfig({ collectionSlug: relatedCollection })\n\n return (\n <div className=\"field-type query-preset-where-field\">\n <WhereBuilder\n collectionSlug={relatedCollection}\n fields={collectionConfig?.fields ?? []}\n onChange={(where) => setValue(where)}\n value={value ?? undefined}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,OAAO,MAAMC,sBAAA,GAAmDC,EAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAAC;IAAAS,KAAA,EAAAC;EAAA,IAAAH,EAEhE;EADQ;IAAAI,KAAA;IAAAC;EAAA,IAAAF,EAAmB;EAE1B;IAAAG,IAAA;IAAAC,QAAA;IAAAC;EAAA,IAAkCZ,QAAA;EAAA,IAAAa,EAAA;EAAA,IAAAR,CAAA,QAAAS,MAAA,CAAAC,GAAA;IACMF,EAAA;MAAAH,IAAA,EAAQ;IAAA;IAAoBL,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAApE,MAAAW,sBAAA,GAA+BhB,QAAA,CAASa,EAA4B;EACpE,MAAAI,iBAAA,GAA0BD,sBAAA,CAAAJ,KAAA;EAC1B;IAAAM;EAAA,IAA4BjB,SAAA;EAAA,KAEvBgB,iBAAA;IAAA,IAAAE,EAAA;IAAA,IAAAd,CAAA,QAAAG,KAAA,IAAAH,CAAA,QAAAK,IAAA,IAAAL,CAAA,QAAAI,QAAA;MAEDU,EAAA,GAAAC,KAAA,CAAC;QAAAC,SAAA,EAAc;QAAAC,QAAA,GACbC,IAAA,CAAAxB,UAAA;UAAAyB,EAAA,EAAe;UAAAhB,KAAA;UAAAE,IAAA;UAAAD;QAAA,C,GACfc,IAAA,CAAC;UAAAF,SAAA,EAAY;UAAAC,QAAA,EAAiC;QAAA,C;;;;;;;;;WAFhDH,E;;;;IASJ,MAAAM,gBAAA,GAAyBP,eAAA;MAAAQ,cAAA,EAAkCT;IAAA,CAAkB;IAAA,IAAAU,EAAA;IAAA,IAAAtB,CAAA,SAAAM,QAAA;MAO7DgB,EAAA,GAAAC,KAAA,IAAWjB,QAAA,CAASiB,KAAA;MAAAvB,CAAA,OAAAM,QAAA;MAAAN,CAAA,OAAAsB,EAAA;IAAA;MAAAA,EAAA,GAAAtB,CAAA;IAAA;IAJlCc,EAAA,GAAAI,IAAA,CAAC;MAAAF,SAAA,EAAc;MAAAC,QAAA,EACbC,IAAA,CAAArB,YAAA;QAAAwB,cAAA,EACkBT,iBAAA;QAAAY,MAAA,EACRJ,gBAAA,EAAAI,MAAA,MAA8B;QAAAC,QAAA,EAC5BH,EAAoB;QAAAf,KAAA,EACvBA,KAAA,IAAAmB;MAAS,C;;;;;;;;;;SALpBZ,E;CASJ","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ @layer payload-default {
2
+ .query-preset-columns-field,
3
+ .query-preset-group-by-field,
4
+ .query-preset-where-field {
5
+ .field-label {
6
+ margin-bottom: var(--spacer-2);
7
+ }
8
+ }
9
+
10
+ .query-preset-columns-field__hint,
11
+ .query-preset-group-by-field__hint,
12
+ .query-preset-where-field__hint {
13
+ margin: 0;
14
+ color: var(--color-text-secondary);
15
+ }
16
+
17
+ /* The builder sits inline within the form here, so drop the list-panel chrome
18
+ (border + gutter padding) it carries in the list view. */
19
+ .query-preset-where-field .where-builder {
20
+ padding: 0;
21
+ border-bottom: none;
22
+ }
23
+ }
@@ -12,7 +12,7 @@
12
12
 
13
13
  .dropdown-indicator__icon {
14
14
  .stroke {
15
- stroke-width: 1px;
15
+ stroke-width: var(--stroke-width-small);
16
16
  }
17
17
  }
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AddNewButton.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/AddNewButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI3E,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAK1E,eAAO,MAAM,YAAY,GAAI,uHAY1B;IACD,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,sBAAsB,EAAE,CAAA;IACrC,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,WAAW,EAAE,oBAAoB,CAAA;IACjC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC9B,gCA0DA,CAAA"}
1
+ {"version":3,"file":"AddNewButton.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/AddNewButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI3E,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAK1E,eAAO,MAAM,YAAY,GAAI,uHAY1B;IACD,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,sBAAsB,EAAE,CAAA;IACrC,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,WAAW,EAAE,oBAAoB,CAAA;IACjC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC9B,gCAyDA,CAAA"}
@@ -56,8 +56,7 @@ export const AddNewButton = ({
56
56
  }
57
57
  return null;
58
58
  })
59
- }),
60
- size: "medium"
59
+ })
61
60
  })
62
61
  });
63
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AddNewButton.js","names":["getTranslation","Button","Popup","PopupList","AddNewButton","allowCreate","baseClass","buttonStyle","className","collections","i18n","icon","label","onClick","permissions","relationTo","isPolymorphic","Array","isArray","_jsx","filter","Boolean","join","button","buttonType","horizontalAlign","render","close","closePopup","ButtonGroup","map","relatedCollection","create","find","each","slug","labels","singular","size"],"sources":["../../../src/elements/RelationshipTable/AddNewButton.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, SanitizedPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { Props as ButtonProps } from '../../elements/Button/types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\n\nexport const AddNewButton = ({\n allowCreate,\n baseClass,\n buttonStyle,\n className,\n collections,\n i18n,\n icon,\n label,\n onClick,\n permissions,\n relationTo,\n}: {\n allowCreate: boolean\n baseClass: string\n buttonStyle?: ButtonProps['buttonStyle']\n className?: string\n collections: ClientCollectionConfig[]\n i18n: I18nClient\n icon?: ButtonProps['icon']\n label: string\n onClick: (selectedCollection?: string) => void\n permissions: SanitizedPermissions\n relationTo: string | string[]\n}) => {\n if (!allowCreate) {\n return null\n }\n\n const isPolymorphic = Array.isArray(relationTo)\n\n if (!isPolymorphic) {\n return (\n <Button\n buttonStyle={buttonStyle}\n className={[className, 'doc-drawer__toggler'].filter(Boolean).join(' ')}\n onClick={() => onClick()}\n >\n {label}\n </Button>\n )\n }\n\n return (\n <div className={`${baseClass}__add-new-polymorphic-wrapper`}>\n <Popup\n button={\n <Button buttonStyle={buttonStyle} className={className} icon={icon}>\n {label}\n </Button>\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relationTo.map((relatedCollection) => {\n if (permissions.collections[relatedCollection]?.create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection}`}\n key={relatedCollection}\n onClick={() => {\n closePopup()\n onClick(relatedCollection)\n }}\n >\n {getTranslation(\n collections.find((each) => each.slug === relatedCollection).labels.singular,\n i18n,\n )}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"medium\"\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAI/B,SAASC,MAAM,QAAQ;AACvB,SAASC,KAAK,EAAEC,SAAS,QAAQ;AAEjC,OAAO,MAAMC,YAAA,GAAeA,CAAC;EAC3BC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,IAAI;EACJC,IAAI;EACJC,KAAK;EACLC,OAAO;EACPC,WAAW;EACXC;AAAU,CAaX;EACC,IAAI,CAACV,WAAA,EAAa;IAChB,OAAO;EACT;EAEA,MAAMW,aAAA,GAAgBC,KAAA,CAAMC,OAAO,CAACH,UAAA;EAEpC,IAAI,CAACC,aAAA,EAAe;IAClB,oBACEG,IAAA,CAAClB,MAAA;MACCM,WAAA,EAAaA,WAAA;MACbC,SAAA,EAAW,CAACA,SAAA,EAAW,sBAAsB,CAACY,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;MACnET,OAAA,EAASA,CAAA,KAAMA,OAAA;gBAEdD;;EAGP;EAEA,oBACEO,IAAA,CAAC;IAAIX,SAAA,EAAW,GAAGF,SAAA,+BAAwC;cACzD,aAAAa,IAAA,CAACjB,KAAA;MACCqB,MAAA,eACEJ,IAAA,CAAClB,MAAA;QAAOM,WAAA,EAAaA,WAAA;QAAaC,SAAA,EAAWA,SAAA;QAAWG,IAAA,EAAMA,IAAA;kBAC3DC;;MAGLY,UAAA,EAAW;MACXC,eAAA,EAAgB;MAChBC,MAAA,EAAQA,CAAC;QAAEC,KAAA,EAAOC;MAAU,CAAE,kBAC5BT,IAAA,CAAChB,SAAA,CAAU0B,WAAW;kBACnBd,UAAA,CAAWe,GAAG,CAAEC,iBAAA;UACf,IAAIjB,WAAA,CAAYL,WAAW,CAACsB,iBAAA,CAAkB,EAAEC,MAAA,EAAQ;YACtD,oBACEb,IAAA,CAAChB,SAAA,CAAUF,MAAM;cACfO,SAAA,EAAW,GAAGF,SAAA,sBAA+ByB,iBAAA,EAAmB;cAEhElB,OAAA,EAASA,CAAA;gBACPe,UAAA;gBACAf,OAAA,CAAQkB,iBAAA;cACV;wBAEC/B,cAAA,CACCS,WAAA,CAAYwB,IAAI,CAAEC,IAAA,IAASA,IAAA,CAAKC,IAAI,KAAKJ,iBAAA,EAAmBK,MAAM,CAACC,QAAQ,EAC3E3B,IAAA;eARGqB,iBAAA;UAYX;UAEA,OAAO;QACT;;MAGJO,IAAA,EAAK;;;AAIb","ignoreList":[]}
1
+ {"version":3,"file":"AddNewButton.js","names":["getTranslation","Button","Popup","PopupList","AddNewButton","allowCreate","baseClass","buttonStyle","className","collections","i18n","icon","label","onClick","permissions","relationTo","isPolymorphic","Array","isArray","_jsx","filter","Boolean","join","button","buttonType","horizontalAlign","render","close","closePopup","ButtonGroup","map","relatedCollection","create","find","each","slug","labels","singular"],"sources":["../../../src/elements/RelationshipTable/AddNewButton.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, SanitizedPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { Props as ButtonProps } from '../../elements/Button/types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\n\nexport const AddNewButton = ({\n allowCreate,\n baseClass,\n buttonStyle,\n className,\n collections,\n i18n,\n icon,\n label,\n onClick,\n permissions,\n relationTo,\n}: {\n allowCreate: boolean\n baseClass: string\n buttonStyle?: ButtonProps['buttonStyle']\n className?: string\n collections: ClientCollectionConfig[]\n i18n: I18nClient\n icon?: ButtonProps['icon']\n label: string\n onClick: (selectedCollection?: string) => void\n permissions: SanitizedPermissions\n relationTo: string | string[]\n}) => {\n if (!allowCreate) {\n return null\n }\n\n const isPolymorphic = Array.isArray(relationTo)\n\n if (!isPolymorphic) {\n return (\n <Button\n buttonStyle={buttonStyle}\n className={[className, 'doc-drawer__toggler'].filter(Boolean).join(' ')}\n onClick={() => onClick()}\n >\n {label}\n </Button>\n )\n }\n\n return (\n <div className={`${baseClass}__add-new-polymorphic-wrapper`}>\n <Popup\n button={\n <Button buttonStyle={buttonStyle} className={className} icon={icon}>\n {label}\n </Button>\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relationTo.map((relatedCollection) => {\n if (permissions.collections[relatedCollection]?.create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection}`}\n key={relatedCollection}\n onClick={() => {\n closePopup()\n onClick(relatedCollection)\n }}\n >\n {getTranslation(\n collections.find((each) => each.slug === relatedCollection).labels.singular,\n i18n,\n )}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAI/B,SAASC,MAAM,QAAQ;AACvB,SAASC,KAAK,EAAEC,SAAS,QAAQ;AAEjC,OAAO,MAAMC,YAAA,GAAeA,CAAC;EAC3BC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,IAAI;EACJC,IAAI;EACJC,KAAK;EACLC,OAAO;EACPC,WAAW;EACXC;AAAU,CAaX;EACC,IAAI,CAACV,WAAA,EAAa;IAChB,OAAO;EACT;EAEA,MAAMW,aAAA,GAAgBC,KAAA,CAAMC,OAAO,CAACH,UAAA;EAEpC,IAAI,CAACC,aAAA,EAAe;IAClB,oBACEG,IAAA,CAAClB,MAAA;MACCM,WAAA,EAAaA,WAAA;MACbC,SAAA,EAAW,CAACA,SAAA,EAAW,sBAAsB,CAACY,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;MACnET,OAAA,EAASA,CAAA,KAAMA,OAAA;gBAEdD;;EAGP;EAEA,oBACEO,IAAA,CAAC;IAAIX,SAAA,EAAW,GAAGF,SAAA,+BAAwC;cACzD,aAAAa,IAAA,CAACjB,KAAA;MACCqB,MAAA,eACEJ,IAAA,CAAClB,MAAA;QAAOM,WAAA,EAAaA,WAAA;QAAaC,SAAA,EAAWA,SAAA;QAAWG,IAAA,EAAMA,IAAA;kBAC3DC;;MAGLY,UAAA,EAAW;MACXC,eAAA,EAAgB;MAChBC,MAAA,EAAQA,CAAC;QAAEC,KAAA,EAAOC;MAAU,CAAE,kBAC5BT,IAAA,CAAChB,SAAA,CAAU0B,WAAW;kBACnBd,UAAA,CAAWe,GAAG,CAAEC,iBAAA;UACf,IAAIjB,WAAA,CAAYL,WAAW,CAACsB,iBAAA,CAAkB,EAAEC,MAAA,EAAQ;YACtD,oBACEb,IAAA,CAAChB,SAAA,CAAUF,MAAM;cACfO,SAAA,EAAW,GAAGF,SAAA,sBAA+ByB,iBAAA,EAAmB;cAEhElB,OAAA,EAASA,CAAA;gBACPe,UAAA;gBACAf,OAAA,CAAQkB,iBAAA;cACV;wBAEC/B,cAAA,CACCS,WAAA,CAAYwB,IAAI,CAAEC,IAAA,IAASA,IAAA,CAAKC,IAAI,KAAKJ,iBAAA,EAAmBK,MAAM,CAACC,QAAQ,EAC3E3B,IAAA;eARGqB,iBAAA;UAYX;UAEA,OAAO;QACT;;;;AAMZ","ignoreList":[]}
@@ -11,8 +11,8 @@ import { ListQueryProvider } from '../../providers/ListQuery/index.js';
11
11
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
12
12
  import { TableColumnsProvider } from '../../providers/TableColumns/index.js';
13
13
  import { useTranslation } from '../../providers/Translation/index.js';
14
- import { ColumnsButton } from '../ColumnsButton/index.js';
15
14
  import { useDocumentDrawer } from '../DocumentDrawer/index.js';
15
+ import { ListColumnSelectionButton } from '../ListColumnSelectionButton/index.js';
16
16
  import { NoListResults } from '../NoListResults/index.js';
17
17
  import { RelationshipProvider } from '../Table/RelationshipProvider/index.js';
18
18
  import { AddNewButton } from './AddNewButton.js';
@@ -209,7 +209,7 @@ export const RelationshipTable = props => {
209
209
  permissions: permissions,
210
210
  relationTo: relationTo
211
211
  });
212
- const columnsButton = /*#__PURE__*/_jsx(ColumnsButton, {
212
+ const columnsButton = /*#__PURE__*/_jsx(ListColumnSelectionButton, {
213
213
  collectionSlug: collectionConfig?.slug
214
214
  });
215
215
  return /*#__PURE__*/_jsxs("div", {