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

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 (458) 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.js +2 -2
  7. package/dist/elements/ArrayAction/index.js.map +1 -1
  8. package/dist/elements/BulkUpload/ActionsBar/index.css +4 -8
  9. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  10. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  11. package/dist/elements/BulkUpload/ActionsBar/index.js +15 -22
  12. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
  14. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  15. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  16. package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
  17. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  18. package/dist/elements/BulkUpload/AddingFilesView/index.css +158 -6
  19. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +5 -1
  20. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  21. package/dist/elements/BulkUpload/AddingFilesView/index.js +134 -65
  22. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  24. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  26. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  27. package/dist/elements/BulkUpload/EditForm/index.js +16 -17
  28. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  29. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  30. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  32. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  33. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +78 -64
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  35. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  36. package/dist/elements/BulkUpload/EditMany/index.js +28 -10
  37. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/FileSidebar/index.css +63 -143
  39. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  40. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -175
  41. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  43. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/index.css +48 -0
  45. package/dist/elements/BulkUpload/index.d.ts +6 -5
  46. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  47. package/dist/elements/BulkUpload/index.js +42 -41
  48. package/dist/elements/BulkUpload/index.js.map +1 -1
  49. package/dist/elements/Button/index.d.ts.map +1 -1
  50. package/dist/elements/Button/index.js +5 -0
  51. package/dist/elements/Button/index.js.map +1 -1
  52. package/dist/elements/Card/index.css +1 -1
  53. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  54. package/dist/elements/ClipboardAction/index.js +1 -0
  55. package/dist/elements/ClipboardAction/index.js.map +1 -1
  56. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  57. package/dist/elements/Collapsible/index.js +2 -0
  58. package/dist/elements/Collapsible/index.js.map +1 -1
  59. package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
  60. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
  61. package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +23 -12
  62. package/dist/elements/ColumnSelection/Popup.js.map +1 -0
  63. package/dist/elements/ColumnSelection/index.d.ts +10 -0
  64. package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
  65. package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
  66. package/dist/elements/ColumnSelection/index.js.map +1 -0
  67. package/dist/elements/CopyLocaleData/index.js +1 -1
  68. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  69. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  70. package/dist/elements/CreateDocumentButton/index.js +0 -1
  71. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  72. package/dist/elements/DatePicker/index.css +8 -8
  73. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  74. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  75. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  76. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  77. package/dist/elements/Dialog/DialogModal/index.d.ts +5 -0
  78. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  79. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  80. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  81. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  82. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  83. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  84. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  85. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  86. package/dist/elements/Dialog/index.css +7 -1
  87. package/dist/elements/DocumentControls/index.css +1 -1
  88. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  89. package/dist/elements/DocumentControls/index.js +13 -3
  90. package/dist/elements/DocumentControls/index.js.map +1 -1
  91. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  92. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +5 -3
  93. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  94. package/dist/elements/DocumentFields/index.css +5 -2
  95. package/dist/elements/DocumentFields/index.d.ts +5 -0
  96. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  97. package/dist/elements/DocumentFields/index.js +9 -1
  98. package/dist/elements/DocumentFields/index.js.map +1 -1
  99. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  100. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  101. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  102. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  103. package/dist/elements/DocumentHeader/index.js +2 -3
  104. package/dist/elements/DocumentHeader/index.js.map +1 -1
  105. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  106. package/dist/elements/DrawerActionHeader/index.css +1 -1
  107. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  108. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  109. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  110. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  111. package/dist/elements/DrawerHeader/index.js.map +1 -0
  112. package/dist/elements/Dropzone/index.css +5 -13
  113. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
  114. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  115. package/dist/elements/EditUpload/index.css +97 -158
  116. package/dist/elements/EditUpload/index.d.ts +2 -1
  117. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  118. package/dist/elements/EditUpload/index.js +205 -231
  119. package/dist/elements/EditUpload/index.js.map +1 -1
  120. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  121. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  122. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  123. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  124. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  125. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  126. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  127. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  128. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  129. package/dist/elements/FileDetails/StaticFileDetails/index.css +140 -0
  130. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  131. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  132. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  133. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  134. package/dist/elements/FileDetails/index.d.ts +1 -1
  135. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  136. package/dist/elements/FileDetails/index.js.map +1 -1
  137. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  138. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  139. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  140. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  141. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  142. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  143. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  144. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  145. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  146. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  147. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  148. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  149. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  150. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  151. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  152. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  153. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  154. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  155. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  156. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  157. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  158. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  159. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  160. package/dist/elements/FileManager/FileToolbar/index.js +106 -0
  161. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  162. package/dist/elements/FileManager/index.css +154 -0
  163. package/dist/elements/FileManager/index.d.ts +19 -0
  164. package/dist/elements/FileManager/index.d.ts.map +1 -0
  165. package/dist/elements/FileManager/index.js +424 -0
  166. package/dist/elements/FileManager/index.js.map +1 -0
  167. package/dist/elements/GroupBy/Popup.d.ts +21 -0
  168. package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
  169. package/dist/elements/GroupBy/Popup.js +268 -0
  170. package/dist/elements/GroupBy/Popup.js.map +1 -0
  171. package/dist/elements/GroupBy/index.d.ts +12 -0
  172. package/dist/elements/GroupBy/index.d.ts.map +1 -0
  173. package/dist/elements/GroupBy/index.js +91 -0
  174. package/dist/elements/GroupBy/index.js.map +1 -0
  175. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +2 -2
  176. package/dist/elements/Hierarchy/Drawer/index.css +1 -1
  177. package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
  178. package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
  179. package/dist/elements/ListColumnSelectionButton/index.js +37 -0
  180. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
  181. package/dist/elements/ListControls/index.d.ts.map +1 -1
  182. package/dist/elements/ListControls/index.js +7 -8
  183. package/dist/elements/ListControls/index.js.map +1 -1
  184. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  185. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  186. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  187. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  188. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  189. package/dist/elements/ListGroupByButton/index.d.ts +12 -0
  190. package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
  191. package/dist/elements/ListGroupByButton/index.js +55 -0
  192. package/dist/elements/ListGroupByButton/index.js.map +1 -0
  193. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  194. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  195. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  196. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
  197. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  198. package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
  199. package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
  200. package/dist/elements/ListWhereBuilder/index.js +62 -0
  201. package/dist/elements/ListWhereBuilder/index.js.map +1 -0
  202. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  203. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  204. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  205. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  206. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +25 -43
  207. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  208. package/dist/elements/MiniCarousel/index.css +94 -0
  209. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  210. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  211. package/dist/elements/MiniCarousel/index.js +84 -0
  212. package/dist/elements/MiniCarousel/index.js.map +1 -0
  213. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  214. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  215. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  216. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  217. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  218. package/dist/elements/Nav/index.css +2 -2
  219. package/dist/elements/NavGroup/index.css +1 -1
  220. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  221. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  222. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  223. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  224. package/dist/elements/Popup/index.d.ts +7 -1
  225. package/dist/elements/Popup/index.d.ts.map +1 -1
  226. package/dist/elements/Popup/index.js +45 -12
  227. package/dist/elements/Popup/index.js.map +1 -1
  228. package/dist/elements/PreviewSizes/index.css +149 -0
  229. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  230. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  231. package/dist/elements/PreviewSizes/index.js +1 -1
  232. package/dist/elements/PreviewSizes/index.js.map +1 -1
  233. package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
  234. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
  235. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
  236. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
  237. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  238. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
  239. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  240. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
  241. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  242. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
  243. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  244. package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
  245. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  246. package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
  247. package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
  248. package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
  249. package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
  250. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
  251. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
  252. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  253. package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
  254. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  255. package/dist/elements/QueryPresets/fields/fields.css +23 -0
  256. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  257. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  258. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  259. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  260. package/dist/elements/ReactSelect/types.d.ts +1 -0
  261. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  262. package/dist/elements/ReactSelect/types.js.map +1 -1
  263. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  264. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  265. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  266. package/dist/elements/RelationshipTable/index.js +2 -2
  267. package/dist/elements/RelationshipTable/index.js.map +1 -1
  268. package/dist/elements/Search/SearchInput/index.js +1 -1
  269. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  270. package/dist/elements/SortColumn/index.css +1 -1
  271. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  272. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +21 -2
  273. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  274. package/dist/elements/Table/index.css +24 -2
  275. package/dist/elements/Thumbnail/index.css +41 -0
  276. package/dist/elements/Thumbnail/index.d.ts +3 -3
  277. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  278. package/dist/elements/Thumbnail/index.js +1 -1
  279. package/dist/elements/Thumbnail/index.js.map +1 -1
  280. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  281. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  282. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  283. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  284. package/dist/elements/Upload/index.css +134 -45
  285. package/dist/elements/Upload/index.d.ts +3 -8
  286. package/dist/elements/Upload/index.d.ts.map +1 -1
  287. package/dist/elements/Upload/index.js +71 -92
  288. package/dist/elements/Upload/index.js.map +1 -1
  289. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  290. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  291. package/dist/elements/WhereBuilder/Condition/index.js +17 -2
  292. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  293. package/dist/elements/WhereBuilder/index.d.ts +4 -3
  294. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  295. package/dist/elements/WhereBuilder/index.js +71 -62
  296. package/dist/elements/WhereBuilder/index.js.map +1 -1
  297. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  298. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  299. package/dist/elements/WhereBuilder/types.js.map +1 -1
  300. package/dist/exports/client/index.d.ts +6 -2
  301. package/dist/exports/client/index.d.ts.map +1 -1
  302. package/dist/exports/client/index.js +26 -26
  303. package/dist/exports/client/index.js.map +4 -4
  304. package/dist/exports/rsc/index.d.ts +1 -0
  305. package/dist/exports/rsc/index.d.ts.map +1 -1
  306. package/dist/exports/rsc/index.js +1 -0
  307. package/dist/exports/rsc/index.js.map +1 -1
  308. package/dist/exports/shared/index.js +2 -2
  309. package/dist/exports/shared/index.js.map +2 -2
  310. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -1
  311. package/dist/fields/Blocks/BlockSelector/index.css +2 -5
  312. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  313. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  314. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  315. package/dist/fields/Checkbox/index.css +2 -2
  316. package/dist/fields/Group/index.css +3 -3
  317. package/dist/fields/Number/Input.d.ts.map +1 -1
  318. package/dist/fields/Number/Input.js +47 -35
  319. package/dist/fields/Number/Input.js.map +1 -1
  320. package/dist/fields/Number/index.css +19 -0
  321. package/dist/fields/Number/types.d.ts +6 -0
  322. package/dist/fields/Number/types.d.ts.map +1 -1
  323. package/dist/fields/Number/types.js.map +1 -1
  324. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  325. package/dist/fields/Relationship/Input.js +2 -0
  326. package/dist/fields/Relationship/Input.js.map +1 -1
  327. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  328. package/dist/fields/Select/Input.d.ts.map +1 -1
  329. package/dist/fields/Select/Input.js +1 -0
  330. package/dist/fields/Select/Input.js.map +1 -1
  331. package/dist/fields/Text/Input.d.ts.map +1 -1
  332. package/dist/fields/Text/Input.js +31 -28
  333. package/dist/fields/Text/Input.js.map +1 -1
  334. package/dist/fields/Text/types.d.ts +5 -0
  335. package/dist/fields/Text/types.d.ts.map +1 -1
  336. package/dist/fields/Text/types.js.map +1 -1
  337. package/dist/fields/Upload/Input.d.ts.map +1 -1
  338. package/dist/fields/Upload/Input.js +12 -11
  339. package/dist/fields/Upload/Input.js.map +1 -1
  340. package/dist/fields/Upload/index.js +1 -1
  341. package/dist/fields/Upload/index.js.map +1 -1
  342. package/dist/graphics/Icon/index.js +1 -1
  343. package/dist/graphics/Icon/index.js.map +1 -1
  344. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  345. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  346. package/dist/hooks/useElementHeightVariable.js +53 -0
  347. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  348. package/dist/icons/Crop/index.css +5 -0
  349. package/dist/icons/Crop/index.d.ts +7 -0
  350. package/dist/icons/Crop/index.d.ts.map +1 -0
  351. package/dist/icons/Crop/index.js +24 -0
  352. package/dist/icons/Crop/index.js.map +1 -0
  353. package/dist/icons/Download/index.css +5 -0
  354. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  355. package/dist/icons/Download/index.d.ts.map +1 -0
  356. package/dist/icons/Download/index.js +27 -0
  357. package/dist/icons/Download/index.js.map +1 -0
  358. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  359. package/dist/icons/NewTab/index.d.ts +7 -0
  360. package/dist/icons/NewTab/index.d.ts.map +1 -0
  361. package/dist/icons/NewTab/index.js +25 -0
  362. package/dist/icons/NewTab/index.js.map +1 -0
  363. package/dist/icons/Replace/index.css +5 -0
  364. package/dist/icons/Replace/index.d.ts +6 -0
  365. package/dist/icons/Replace/index.d.ts.map +1 -0
  366. package/dist/icons/Replace/index.js +20 -0
  367. package/dist/icons/Replace/index.js.map +1 -0
  368. package/dist/icons/Reset/index.css +5 -0
  369. package/dist/icons/Reset/index.d.ts +7 -0
  370. package/dist/icons/Reset/index.d.ts.map +1 -0
  371. package/dist/icons/Reset/index.js +25 -0
  372. package/dist/icons/Reset/index.js.map +1 -0
  373. package/dist/icons/Swap/index.js +1 -1
  374. package/dist/icons/Swap/index.js.map +1 -1
  375. package/dist/scss/app.scss +9 -2
  376. package/dist/styles.css +1 -1
  377. package/dist/templates/Default/index.js +1 -1
  378. package/dist/templates/Default/index.js.map +1 -1
  379. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  380. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  381. package/dist/views/API/index.client.js +2 -2
  382. package/dist/views/API/index.client.js.map +1 -1
  383. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  384. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  385. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  386. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  387. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +2 -2
  388. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  389. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -2
  390. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  391. package/dist/views/Document/index.d.ts.map +1 -1
  392. package/dist/views/Document/index.js +1 -0
  393. package/dist/views/Document/index.js.map +1 -1
  394. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  395. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  396. package/dist/views/Document/renderDocumentSlots.js +47 -1
  397. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  398. package/dist/views/Edit/index.css +143 -6
  399. package/dist/views/Edit/index.d.ts +1 -1
  400. package/dist/views/Edit/index.d.ts.map +1 -1
  401. package/dist/views/Edit/index.js +34 -31
  402. package/dist/views/Edit/index.js.map +1 -1
  403. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  404. package/dist/views/List/ListHeader/index.css +5 -0
  405. package/dist/views/List/index.client.d.ts.map +1 -1
  406. package/dist/views/List/index.client.js +6 -6
  407. package/dist/views/List/index.client.js.map +1 -1
  408. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  409. package/dist/views/Version/SelectComparison/index.js +1 -0
  410. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  411. package/dist/views/Versions/index.css +0 -4
  412. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  413. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  414. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  415. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  416. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  417. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  418. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  419. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  420. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  421. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  422. package/dist/widgets/CollectionQuery/index.css +206 -0
  423. package/dist/widgets/CollectionQuery/index.d.ts +17 -0
  424. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  425. package/dist/widgets/CollectionQuery/index.js +399 -0
  426. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  427. package/package.json +5 -5
  428. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  429. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  430. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  431. package/dist/elements/ColumnSelector/index.d.ts +0 -9
  432. package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
  433. package/dist/elements/ColumnSelector/index.js.map +0 -1
  434. package/dist/elements/ColumnsButton/index.d.ts +0 -7
  435. package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
  436. package/dist/elements/ColumnsButton/index.js.map +0 -1
  437. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  438. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  439. package/dist/elements/GroupByBuilder/index.d.ts +0 -12
  440. package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
  441. package/dist/elements/GroupByBuilder/index.js +0 -164
  442. package/dist/elements/GroupByBuilder/index.js.map +0 -1
  443. package/dist/elements/GroupByBuilder/index.scss +0 -39
  444. package/dist/elements/GroupByControl/index.d.ts +0 -9
  445. package/dist/elements/GroupByControl/index.d.ts.map +0 -1
  446. package/dist/elements/GroupByControl/index.js +0 -254
  447. package/dist/elements/GroupByControl/index.js.map +0 -1
  448. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  449. package/dist/elements/PreviewSizes/index.scss +0 -147
  450. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
  451. package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
  452. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  453. package/dist/elements/Thumbnail/index.scss +0 -53
  454. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  455. package/dist/icons/ExternalLink/index.js +0 -26
  456. package/dist/icons/ExternalLink/index.js.map +0 -1
  457. /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
  458. /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","ChevronIcon","baseClass","DropdownIndicator","props","innerProps","ref","restInnerProps","_jsx","className","onKeyDown","e","key","type","size"],"sources":["../../../../src/elements/ReactSelect/DropdownIndicator/index.tsx"],"sourcesContent":["'use client'\nimport type { DropdownIndicatorProps } from 'react-select'\n\nimport React, { type JSX } from 'react'\n\nimport type { Option as OptionType } from '../types.js'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport './index.css'\n\nconst baseClass = 'dropdown-indicator'\nexport const DropdownIndicator: React.FC<\n {\n innerProps: JSX.IntrinsicElements['button']\n } & DropdownIndicatorProps<OptionType, true>\n> = (props) => {\n const {\n innerProps: { ref, ...restInnerProps },\n } = props\n\n return (\n <button\n className={baseClass}\n ref={ref}\n {...restInnerProps}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n e.key = ' '\n }\n }}\n type=\"button\"\n >\n <ChevronIcon className={`${baseClass}__icon`} size={16} />\n </button>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAyB;AAIhC,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAClB,OAAO,MAAMC,iBAAA,GAIRC,KAAA;EACH,MAAM;IACJC,UAAA,EAAY;MAAEC,GAAG;MAAE,GAAGC;IAAA;EAAgB,CACvC,GAAGH,KAAA;EAEJ,oBACEI,IAAA,CAAC;IACCC,SAAA,EAAWP,SAAA;IACXI,GAAA,EAAKA,GAAA;IACJ,GAAGC,cAAc;IAClBG,SAAA,EAAYC,CAAA;MACV,IAAIA,CAAA,CAAEC,GAAG,KAAK,SAAS;QACrBD,CAAA,CAAEC,GAAG,GAAG;MACV;IACF;IACAC,IAAA,EAAK;cAEL,aAAAL,IAAA,CAACP,WAAA;MAAYQ,SAAA,EAAW,GAAGP,SAAA,QAAiB;MAAEY,IAAA,EAAM;;;AAG1D","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","ChevronIcon","useTranslation","baseClass","DropdownIndicator","props","innerProps","t0","ref","restInnerProps","t","_jsx","className","onKeyDown","_temp","type","children","size","e","key"],"sources":["../../../../src/elements/ReactSelect/DropdownIndicator/index.tsx"],"sourcesContent":["'use client'\nimport type { DropdownIndicatorProps } from 'react-select'\n\nimport React, { type JSX } from 'react'\n\nimport type { Option as OptionType } from '../types.js'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'dropdown-indicator'\nexport const DropdownIndicator: React.FC<\n {\n innerProps: JSX.IntrinsicElements['button']\n } & DropdownIndicatorProps<OptionType, true>\n> = (props) => {\n const {\n innerProps: { ref, ...restInnerProps },\n } = props\n\n const { t } = useTranslation()\n\n return (\n <button\n aria-label={t('general:open')}\n className={baseClass}\n ref={ref}\n {...restInnerProps}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n e.key = ' '\n }\n }}\n type=\"button\"\n >\n <ChevronIcon className={`${baseClass}__icon`} size={16} />\n </button>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAyB;AAIhC,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAClB,OAAO,MAAMC,iBAAA,GAITC,KAAA;EACF;IAAAC,UAAA,EAAAC;EAAA,IAEIF,KAAA;EADU;IAAAG,GAAA;IAAA,GAAAC;EAAA,IAAAF,EAA0B;EAGxC;IAAAG;EAAA,IAAcR,cAAA;EAAA,OAGZS,IAAA,CAAC;IAAA,cACaD,CAAA,CAAE;IAAAE,SAAA,EAAAT,SAAA;IAAAK,GAAA;IAAA,GAGVC,cAAc;IAAAI,SAAA,EAAAC,KAAA;IAAAC,IAAA,EAMb;IAAAC,QAAA,EAELL,IAAA,CAAAV,WAAA;MAAAW,SAAA,EAAwB,GAAAT,SAAA,QAAoB;MAAAc,IAAA;IAAA,C;;CAGlD;AAvBI,SAAAH,MAAAI,CAAA;EAAA,IAcQA,CAAA,CAAAC,GAAA,KAAU;IACZD,CAAA,CAAAC,GAAA,GAAQ;EAAA;AAAA","ignoreList":[]}
@@ -43,6 +43,7 @@ export type OptionGroup = {
43
43
  options: Option[];
44
44
  };
45
45
  export type ReactSelectAdapterProps = {
46
+ 'aria-label'?: string;
46
47
  backspaceRemovesValue?: boolean;
47
48
  blurInputOnSelect?: boolean;
48
49
  captureMenuScroll?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ReactSelect/types.ts"],"sourcesContent":["import type { LabelFunction } from 'payload'\nimport type {\n ClassNamesConfig,\n CommonProps,\n GroupBase,\n Props as ReactSelectStateManagerProps,\n StylesConfig,\n} from 'react-select'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\ntype CustomSelectProps = {\n disableKeyDown?: boolean\n disableMouseDown?: boolean\n draggableProps?: any\n droppableRef?: React.RefObject<HTMLDivElement | null>\n editableProps?: (\n data: Option<{ label: string; value: string }>,\n className: string,\n selectProps: ReactSelectStateManagerProps,\n ) => any\n /** Force the portaled menu to render with a specific theme, independent of the control's ambient theme. */\n menuPortalTheme?: 'dark' | 'light'\n onDelete?: DocumentDrawerProps['onDelete']\n onDocumentOpen?: (args: {\n collectionSlug: string\n hasReadPermission: boolean\n id: number | string\n openInNewTab?: boolean\n }) => void\n onDuplicate?: DocumentDrawerProps['onSave']\n onSave?: DocumentDrawerProps['onSave']\n valueContainerLabel?: string\n}\n\n// augment the types for the `Select` component from `react-select`\n// this is to include the `selectProps` prop at the top-level `Select` component\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {\n customProps?: CustomSelectProps\n }\n}\n\n// augment the types for the `CommonPropsAndClassName` from `react-select`\n// this will include the `selectProps` prop to every `react-select` component automatically\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src' {\n export interface CommonPropsAndClassName<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n > extends CommonProps<Option, IsMulti, Group> {\n customProps?: CustomSelectProps & ReactSelectStateManagerProps<Option, IsMulti, Group>\n }\n}\n\nexport type Option<TValue = unknown> = {\n [key: string]: unknown\n //* The ID is used to identify the option in the UI. If it doesn't exist and value cannot be transformed into a string, sorting won't work */\n id?: string\n value: TValue\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type ReactSelectAdapterProps = {\n backspaceRemovesValue?: boolean\n blurInputOnSelect?: boolean\n captureMenuScroll?: boolean\n className?: string\n classNames?: ClassNamesConfig<Option, boolean, GroupBase<Option>>\n components?: {\n [key: string]: React.FC<any>\n }\n customProps?: CustomSelectProps\n disabled?: boolean\n filterOption?:\n | ((\n {\n allowEdit,\n data,\n label,\n value,\n }: { allowEdit: boolean; data: Option; label: string; value: string },\n search: string,\n ) => boolean)\n | undefined\n getOptionValue?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['getOptionValue']\n id?: string\n inputId?: string\n isClearable?: boolean\n /** Allows you to create own values in the UI despite them not being pre-specified */\n isCreatable?: boolean\n isLoading?: boolean\n /** Allows you to specify multiple values instead of just one */\n isMulti?: boolean\n isOptionSelected?: any\n isSearchable?: boolean\n isSortable?: boolean\n menuIsOpen?: boolean\n menuPortalTarget?: HTMLElement | null\n menuPosition?: 'absolute' | 'fixed'\n noOptionsMessage?: (obj: { inputValue: string }) => string\n numberOnly?: boolean\n onChange?: (value: Option | Option[]) => void\n onInputChange?: (val: string) => void\n onMenuClose?: () => void\n onMenuOpen?: () => void\n onMenuScrollToBottom?: () => void\n options: Option[] | OptionGroup[]\n placeholder?: LabelFunction | string\n showError?: boolean\n styles?: StylesConfig<Option>\n value?: Option | Option[]\n}\n"],"mappings":"AAqEA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ReactSelect/types.ts"],"sourcesContent":["import type { LabelFunction } from 'payload'\nimport type {\n ClassNamesConfig,\n CommonProps,\n GroupBase,\n Props as ReactSelectStateManagerProps,\n StylesConfig,\n} from 'react-select'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\ntype CustomSelectProps = {\n disableKeyDown?: boolean\n disableMouseDown?: boolean\n draggableProps?: any\n droppableRef?: React.RefObject<HTMLDivElement | null>\n editableProps?: (\n data: Option<{ label: string; value: string }>,\n className: string,\n selectProps: ReactSelectStateManagerProps,\n ) => any\n /** Force the portaled menu to render with a specific theme, independent of the control's ambient theme. */\n menuPortalTheme?: 'dark' | 'light'\n onDelete?: DocumentDrawerProps['onDelete']\n onDocumentOpen?: (args: {\n collectionSlug: string\n hasReadPermission: boolean\n id: number | string\n openInNewTab?: boolean\n }) => void\n onDuplicate?: DocumentDrawerProps['onSave']\n onSave?: DocumentDrawerProps['onSave']\n valueContainerLabel?: string\n}\n\n// augment the types for the `Select` component from `react-select`\n// this is to include the `selectProps` prop at the top-level `Select` component\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {\n customProps?: CustomSelectProps\n }\n}\n\n// augment the types for the `CommonPropsAndClassName` from `react-select`\n// this will include the `selectProps` prop to every `react-select` component automatically\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src' {\n export interface CommonPropsAndClassName<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n > extends CommonProps<Option, IsMulti, Group> {\n customProps?: CustomSelectProps & ReactSelectStateManagerProps<Option, IsMulti, Group>\n }\n}\n\nexport type Option<TValue = unknown> = {\n [key: string]: unknown\n //* The ID is used to identify the option in the UI. If it doesn't exist and value cannot be transformed into a string, sorting won't work */\n id?: string\n value: TValue\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type ReactSelectAdapterProps = {\n 'aria-label'?: string\n backspaceRemovesValue?: boolean\n blurInputOnSelect?: boolean\n captureMenuScroll?: boolean\n className?: string\n classNames?: ClassNamesConfig<Option, boolean, GroupBase<Option>>\n components?: {\n [key: string]: React.FC<any>\n }\n customProps?: CustomSelectProps\n disabled?: boolean\n filterOption?:\n | ((\n {\n allowEdit,\n data,\n label,\n value,\n }: { allowEdit: boolean; data: Option; label: string; value: string },\n search: string,\n ) => boolean)\n | undefined\n getOptionValue?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['getOptionValue']\n id?: string\n inputId?: string\n isClearable?: boolean\n /** Allows you to create own values in the UI despite them not being pre-specified */\n isCreatable?: boolean\n isLoading?: boolean\n /** Allows you to specify multiple values instead of just one */\n isMulti?: boolean\n isOptionSelected?: any\n isSearchable?: boolean\n isSortable?: boolean\n menuIsOpen?: boolean\n menuPortalTarget?: HTMLElement | null\n menuPosition?: 'absolute' | 'fixed'\n noOptionsMessage?: (obj: { inputValue: string }) => string\n numberOnly?: boolean\n onChange?: (value: Option | Option[]) => void\n onInputChange?: (val: string) => void\n onMenuClose?: () => void\n onMenuOpen?: () => void\n onMenuScrollToBottom?: () => void\n options: Option[] | OptionGroup[]\n placeholder?: LabelFunction | string\n showError?: boolean\n styles?: StylesConfig<Option>\n value?: Option | Option[]\n}\n"],"mappings":"AAqEA","ignoreList":[]}
@@ -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", {
@@ -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":[]}
@@ -28,7 +28,7 @@ export const SearchInput = t0 => {
28
28
  let t1;
29
29
  if ($[0] !== onSearch || $[1] !== value) {
30
30
  t1 = e => {
31
- if (e.key === "Enter" && value.length > 0) {
31
+ if (e.key === "Enter" && !e.nativeEvent.isComposing && value.length > 0) {
32
32
  onSearch(value);
33
33
  }
34
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","SearchIcon","XIcon","useTranslation","Button","baseClass","SearchInput","t0","$","id","ariaLabel","className","disabled","onChange","onClear","onSearch","placeholder","value","t","t1","e","key","length","handleKeyDown","t2","filter","Boolean","t3","join","t4","t5","e_0","target","_jsxs","children","_jsx","onKeyDown","undefined","type","buttonStyle","icon","size","round"],"sources":["../../../../src/elements/Search/SearchInput/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback } from 'react'\n\nimport { SearchIcon } from '../../../icons/Search/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport './index.css'\n\nconst baseClass = 'search-input'\n\ntype SearchInputProps = {\n 'aria-label'?: string\n className?: string\n disabled?: boolean\n id?: string\n onChange: (value: string) => void\n onClear?: () => void\n onSearch?: (value: string) => void\n placeholder?: string\n value: string\n}\n\nexport const SearchInput: React.FC<SearchInputProps> = ({\n id,\n 'aria-label': ariaLabel,\n className,\n disabled,\n onChange,\n onClear,\n onSearch,\n placeholder,\n value,\n}) => {\n const { t } = useTranslation()\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter' && value.length > 0) {\n onSearch(value)\n }\n },\n [value, onSearch],\n )\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <SearchIcon />\n <input\n aria-label={ariaLabel ?? placeholder}\n className={`${baseClass}__input`}\n disabled={disabled}\n id={id}\n onChange={(e) => onChange(e.target.value)}\n onKeyDown={onSearch ? handleKeyDown : undefined}\n placeholder={placeholder}\n type=\"text\"\n value={value}\n />\n {onClear && value.length > 0 && (\n <Button\n aria-label={t('general:clear')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__clear`}\n icon={<XIcon size={16} />}\n margin={false}\n onClick={onClear}\n round\n size=\"medium\"\n />\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,IAASC,WAAW,QAAQ;AAEnC,SAASC,UAAU,QAAQ;AAC3B,SAASC,KAAK,QAAQ;AACtB,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAclB,OAAO,MAAMC,WAAA,GAA0CC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,EAAA;IAAA,cAAAC,SAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC,QAAA;IAAAC,OAAA;IAAAC,QAAA;IAAAC,WAAA;IAAAC;EAAA,IAAAV,EAUvD;EACC;IAAAW;EAAA,IAAcf,cAAA;EAAA,IAAAgB,EAAA;EAAA,IAAAX,CAAA,QAAAO,QAAA,IAAAP,CAAA,QAAAS,KAAA;IAGZE,EAAA,GAAAC,CAAA;MAAA,IACMA,CAAA,CAAAC,GAAA,KAAU,WAAWJ,KAAA,CAAAK,MAAA,IAAe;QACtCP,QAAA,CAASE,KAAA;MAAA;IAAA;IAEbT,CAAA,MAAAO,QAAA;IAAAP,CAAA,MAAAS,KAAA;IAAAT,CAAA,MAAAW,EAAA;EAAA;IAAAA,EAAA,GAAAX,CAAA;EAAA;EALF,MAAAe,aAAA,GAAsBJ,EAMH;EAAA,IAAAK,EAAA;EAAA,IAAAhB,CAAA,QAAAG,SAAA;IAIDa,EAAA,IAAAnB,SAAA,EAAYM,SAAA,EAAAc,MAAA,CAAAC,OAAkB;IAAAlB,CAAA,MAAAG,SAAA;IAAAH,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAA9B,MAAAmB,EAAA,GAAAH,EAA8B,CAAAI,IAAA,CAAc;EAAA,IAAAC,EAAA;EAAA,IAAArB,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAI,QAAA,IAAAJ,CAAA,QAAAe,aAAA,IAAAf,CAAA,QAAAC,EAAA,IAAAD,CAAA,QAAAK,QAAA,IAAAL,CAAA,SAAAM,OAAA,IAAAN,CAAA,SAAAO,QAAA,IAAAP,CAAA,SAAAQ,WAAA,IAAAR,CAAA,SAAAU,CAAA,IAAAV,CAAA,SAAAmB,EAAA,IAAAnB,CAAA,SAAAS,KAAA;IAAA,IAAAa,EAAA;IAAA,IAAAtB,CAAA,SAAAK,QAAA;MAO9CiB,EAAA,GAAAC,GAAA,IAAOlB,QAAA,CAASO,GAAA,CAAAY,MAAA,CAAAf,KAAc;MAAAT,CAAA,OAAAK,QAAA;MAAAL,CAAA,OAAAsB,EAAA;IAAA;MAAAA,EAAA,GAAAtB,CAAA;IAAA;IAP5CqB,EAAA,GAAAI,KAAA,CAAC;MAAAtB,SAAA,EAAegB,EAA4C;MAAAO,QAAA,GAC1DC,IAAA,CAAAlC,UAAA,IAAC,GACDkC,IAAA,CAAC;QAAA,cACazB,SAAA,IAAaM,WAAA;QAAAL,SAAA,EACd,GAAAN,SAAA,SAAqB;QAAAO,QAAA;QAAAH,EAAA;QAAAI,QAAA,EAGtBiB,EAA8B;QAAAM,SAAA,EAC7BrB,QAAA,GAAWQ,aAAA,GAAAc,SAAgB;QAAArB,WAAA;QAAAsB,IAAA,EAEjC;QAAArB;MAAA,C,GAGNH,OAAA,IAAWG,KAAA,CAAAK,MAAA,IAAe,IACzBa,IAAA,CAAA/B,MAAA;QAAA,cACcc,CAAA,CAAE;QAAAqB,WAAA,EACF;QAAA5B,SAAA,EACD,GAAAN,SAAA,SAAqB;QAAAmC,IAAA,EAC1BL,IAAA,CAAAjC,KAAA;UAAAuC,IAAA;QAAA,C;;iBAEG3B,OAAA;QAAA4B,KAAA;QAAAD,IAAA,EAEJ;MAAA,C;;;;;;;;;;;;;;;;;SAtBXZ,E;CA2BJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","SearchIcon","XIcon","useTranslation","Button","baseClass","SearchInput","t0","$","id","ariaLabel","className","disabled","onChange","onClear","onSearch","placeholder","value","t","t1","e","key","nativeEvent","isComposing","length","handleKeyDown","t2","filter","Boolean","t3","join","t4","t5","e_0","target","_jsxs","children","_jsx","onKeyDown","undefined","type","buttonStyle","icon","size","round"],"sources":["../../../../src/elements/Search/SearchInput/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback } from 'react'\n\nimport { SearchIcon } from '../../../icons/Search/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport './index.css'\n\nconst baseClass = 'search-input'\n\ntype SearchInputProps = {\n 'aria-label'?: string\n className?: string\n disabled?: boolean\n id?: string\n onChange: (value: string) => void\n onClear?: () => void\n onSearch?: (value: string) => void\n placeholder?: string\n value: string\n}\n\nexport const SearchInput: React.FC<SearchInputProps> = ({\n id,\n 'aria-label': ariaLabel,\n className,\n disabled,\n onChange,\n onClear,\n onSearch,\n placeholder,\n value,\n}) => {\n const { t } = useTranslation()\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter' && !e.nativeEvent.isComposing && value.length > 0) {\n onSearch(value)\n }\n },\n [value, onSearch],\n )\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <SearchIcon />\n <input\n aria-label={ariaLabel ?? placeholder}\n className={`${baseClass}__input`}\n disabled={disabled}\n id={id}\n onChange={(e) => onChange(e.target.value)}\n onKeyDown={onSearch ? handleKeyDown : undefined}\n placeholder={placeholder}\n type=\"text\"\n value={value}\n />\n {onClear && value.length > 0 && (\n <Button\n aria-label={t('general:clear')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__clear`}\n icon={<XIcon size={16} />}\n margin={false}\n onClick={onClear}\n round\n size=\"medium\"\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Hierarchy/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEjF,OAAO,KAA4D,MAAM,OAAO,CAAA;AAchF,OAAO,aAAa,CAAA;AAKpB,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,uBAAuB,CAAC,CAAA;AAEnF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0MtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Hierarchy/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEjF,OAAO,KAA4D,MAAM,OAAO,CAAA;AAchF,OAAO,aAAa,CAAA;AAKpB,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,uBAAuB,CAAC,CAAA;AAEnF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAgOtD,CAAA"}
@@ -71,6 +71,25 @@ export const HierarchyCell = ({
71
71
  hierarchyCollectionSlug: hierarchyCollectionSlug || '',
72
72
  Icon: drawerIcon
73
73
  });
74
+ // Lazy-mount the drawer so its column browser doesn't eagerly fetch root items
75
+ // for every cell in the list view. Only mount once the user opens it.
76
+ const [hasMountedDrawer, setHasMountedDrawer] = useState(false);
77
+ const shouldOpenAfterMountRef = useRef(false);
78
+ const handleOpenDrawer = useCallback(() => {
79
+ if (hasMountedDrawer) {
80
+ openDrawer();
81
+ return;
82
+ }
83
+ shouldOpenAfterMountRef.current = true;
84
+ setHasMountedDrawer(true);
85
+ }, [hasMountedDrawer, openDrawer]);
86
+ // Open the drawer once it has mounted (state update from handleOpenDrawer).
87
+ useEffect(() => {
88
+ if (hasMountedDrawer && shouldOpenAfterMountRef.current) {
89
+ shouldOpenAfterMountRef.current = false;
90
+ openDrawer();
91
+ }
92
+ }, [hasMountedDrawer, openDrawer]);
74
93
  // Fetch relationship data when visible
75
94
  useEffect(() => {
76
95
  // Reset tracking if data changed
@@ -180,10 +199,10 @@ export const HierarchyCell = ({
180
199
  icon: displayIcon,
181
200
  iconPosition: "left",
182
201
  margin: false,
183
- onClick: openDrawer,
202
+ onClick: handleOpenDrawer,
184
203
  size: "medium",
185
204
  children: isLoading ? `${t('general:loading')}...` : displayText
186
- }), hierarchyCollectionSlug && /*#__PURE__*/_jsx(HierarchyDrawer, {
205
+ }), hierarchyCollectionSlug && hasMountedDrawer && /*#__PURE__*/_jsx(HierarchyDrawer, {
187
206
  hasMany: hasMany,
188
207
  initialSelections: initialSelections,
189
208
  onSave: handleSave
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","useIntersect","FolderIcon","TagIcon","useConfig","useTranslation","canUseDOM","formatDocTitle","Button","useHierarchyDrawer","useListRelationships","baseClass","HierarchyCell","cellData","cellDataFromProps","collectionSlug","customCellProps","field","rowData","relationTo","undefined","hasMany","config","getEntityConfig","intersectionRef","entry","values","setValues","documents","getRelationships","hasRequestedRef","prevCellDataRef","i18n","t","isAboveViewport","boundingClientRect","top","window","innerHeight","hierarchyCollectionSlug","hierarchyCollectionConfig","hierarchyConfig","hierarchy","preRenderedIcon","hierarchyIcon","preRenderedSmallIcon","hierarchySmallIcon","fallbackIcon","IconComponent","allowHasMany","_jsx","drawerIcon","displayIcon","HierarchyDrawer","openDrawer","Icon","current","formattedValues","arrayCellData","Array","isArray","forEach","cell","push","value","initialSelections","data","map","item","handleSave","closeDrawer","selections","selectedIds","from","keys","newValue","response","fetch","serverURL","routes","api","id","body","JSON","stringify","name","credentials","headers","method","ok","newValues","length","_error","labels","rel","document","relatedCollection","collectionConfig","dateFormat","admin","fallback","displayText","join","isLoading","some","_jsxs","className","ref","buttonStyle","icon","iconPosition","margin","onClick","size","onSave"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Hierarchy/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps, RelationshipFieldClient } from 'payload'\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { SelectionWithPath } from '../../../../Hierarchy/Drawer/types.js'\n\nimport { useIntersect } from '../../../../../hooks/useIntersect.js'\nimport { FolderIcon } from '../../../../../icons/Folder/index.js'\nimport { TagIcon } from '../../../../../icons/Tag/index.js'\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { canUseDOM } from '../../../../../utilities/canUseDOM.js'\nimport { formatDocTitle } from '../../../../../utilities/formatDocTitle/index.js'\nimport { Button } from '../../../../Button/index.js'\nimport { useHierarchyDrawer } from '../../../../Hierarchy/Drawer/useHierarchyDrawer.js'\nimport { useListRelationships } from '../../../RelationshipProvider/index.js'\nimport './index.css'\n\ntype Value = { relationTo: string; value: number | string }\nconst baseClass = 'hierarchy-cell'\n\nexport type HierarchyCellProps = DefaultCellComponentProps<RelationshipFieldClient>\n\nexport const HierarchyCell: React.FC<HierarchyCellProps> = ({\n cellData: cellDataFromProps,\n collectionSlug,\n customCellProps,\n field,\n rowData,\n}) => {\n const relationTo = 'relationTo' in field ? field.relationTo : undefined\n const hasMany = field.hasMany ?? false\n\n const { config, getEntityConfig } = useConfig()\n const [intersectionRef, entry] = useIntersect()\n const [values, setValues] = useState<Value[]>([])\n const { documents, getRelationships } = useListRelationships()\n const hasRequestedRef = useRef(false)\n const prevCellDataRef = useRef<typeof cellDataFromProps>(undefined)\n const { i18n, t } = useTranslation()\n\n const isAboveViewport = canUseDOM ? entry?.boundingClientRect?.top < window.innerHeight : false\n\n // Get the hierarchy collection config\n const hierarchyCollectionSlug = typeof relationTo === 'string' ? relationTo : undefined\n const hierarchyCollectionConfig = hierarchyCollectionSlug\n ? getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n : undefined\n\n // Use pre-rendered icon from server if available, otherwise determine on client\n const hierarchyConfig =\n hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object'\n ? hierarchyCollectionConfig.hierarchy\n : undefined\n\n // Pre-rendered icons from server (supports custom icons)\n const preRenderedIcon = customCellProps?.hierarchyIcon as React.ReactNode | undefined\n const preRenderedSmallIcon = customCellProps?.hierarchySmallIcon as React.ReactNode | undefined\n\n // Fallback icon for client-side rendering\n const fallbackIcon = useMemo(() => {\n if (preRenderedIcon) {\n return null // Don't need fallback if we have pre-rendered icon\n }\n // Default based on allowHasMany: false = folder-like, true = tag-like\n const IconComponent = hierarchyConfig?.allowHasMany === false ? FolderIcon : TagIcon\n return <IconComponent />\n }, [hierarchyConfig, preRenderedIcon])\n\n // Full icon for drawer subheader\n const drawerIcon = preRenderedIcon || fallbackIcon\n // Small icon for compact display (pill button)\n const displayIcon = preRenderedSmallIcon ?? drawerIcon\n\n // Set up the hierarchy drawer\n const [HierarchyDrawer, , { openDrawer }] = useHierarchyDrawer({\n hierarchyCollectionSlug: hierarchyCollectionSlug || '',\n Icon: drawerIcon,\n })\n\n // Fetch relationship data when visible\n useEffect(() => {\n // Reset tracking if data changed\n if (prevCellDataRef.current !== cellDataFromProps) {\n prevCellDataRef.current = cellDataFromProps\n hasRequestedRef.current = false\n }\n\n if (\n (cellDataFromProps || typeof cellDataFromProps === 'number') &&\n isAboveViewport &&\n !hasRequestedRef.current &&\n typeof relationTo === 'string'\n ) {\n const formattedValues: Value[] = []\n const arrayCellData = Array.isArray(cellDataFromProps)\n ? cellDataFromProps\n : [cellDataFromProps]\n\n arrayCellData.forEach((cell) => {\n if (typeof cell === 'object' && 'relationTo' in cell && 'value' in cell) {\n formattedValues.push(cell)\n }\n if (typeof cell === 'number' || typeof cell === 'string') {\n formattedValues.push({\n relationTo,\n value: cell,\n })\n }\n })\n\n getRelationships(formattedValues)\n hasRequestedRef.current = true\n setValues(formattedValues)\n }\n }, [cellDataFromProps, relationTo, isAboveViewport, getRelationships])\n\n // Get current selection IDs for the drawer\n const initialSelections = useMemo(() => {\n if (!cellDataFromProps) {\n return []\n }\n const data = Array.isArray(cellDataFromProps) ? cellDataFromProps : [cellDataFromProps]\n return data.map((item) => {\n if (typeof item === 'object' && 'value' in item) {\n return item.value\n }\n return item\n }) as (number | string)[]\n }, [cellDataFromProps])\n\n // Handle save from drawer\n const handleSave = useCallback(\n async ({\n closeDrawer,\n selections,\n }: {\n closeDrawer: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => {\n // Get selected IDs\n const selectedIds = Array.from(selections.keys())\n const newValue = hasMany ? selectedIds : (selectedIds[0] ?? null)\n\n // Update the document via API\n try {\n const response = await fetch(\n `${config.serverURL}${config.routes.api}/${collectionSlug}/${rowData.id}`,\n {\n body: JSON.stringify({\n [field.name]: newValue,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n },\n )\n\n if (response.ok && typeof relationTo === 'string') {\n // Update local state with new selection to avoid page reload\n const newValues: Value[] = selectedIds.map((id) => ({\n relationTo,\n value: id,\n }))\n setValues(newValues)\n\n // Request the new relationship docs to update the display\n if (newValues.length > 0) {\n getRelationships(newValues)\n }\n }\n } catch (_error) {\n // swallow error and close drawer anyway, user can try again\n }\n\n closeDrawer()\n },\n [collectionSlug, config, field.name, hasMany, rowData, relationTo, getRelationships],\n )\n\n // Build display labels\n const labels = useMemo(() => {\n return values.map(({ relationTo: rel, value }) => {\n const document = documents[rel]?.[value]\n const relatedCollection = getEntityConfig({ collectionSlug: rel })\n\n return formatDocTitle({\n collectionConfig: relatedCollection,\n data: document || null,\n dateFormat: config.admin.dateFormat,\n fallback: `${t('general:untitled')} - ID: ${value}`,\n i18n,\n })\n })\n }, [values, documents, getEntityConfig, config.admin.dateFormat, t, i18n])\n\n const displayText = labels.length > 0 ? labels.join(', ') : t('general:none')\n const isLoading =\n values.length > 0 &&\n values.some(({ relationTo: rel, value }) => documents[rel]?.[value] === null)\n\n return (\n <div className={baseClass} ref={intersectionRef}>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__pill`}\n icon={displayIcon}\n iconPosition=\"left\"\n margin={false}\n onClick={openDrawer}\n size=\"medium\"\n >\n {isLoading ? `${t('general:loading')}...` : displayText}\n </Button>\n {hierarchyCollectionSlug && (\n <HierarchyDrawer\n hasMany={hasMany}\n initialSelections={initialSelections}\n onSave={handleSave}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","useIntersect","FolderIcon","TagIcon","useConfig","useTranslation","canUseDOM","formatDocTitle","Button","useHierarchyDrawer","useListRelationships","baseClass","HierarchyCell","cellData","cellDataFromProps","collectionSlug","customCellProps","field","rowData","relationTo","undefined","hasMany","config","getEntityConfig","intersectionRef","entry","values","setValues","documents","getRelationships","hasRequestedRef","prevCellDataRef","i18n","t","isAboveViewport","boundingClientRect","top","window","innerHeight","hierarchyCollectionSlug","hierarchyCollectionConfig","hierarchyConfig","hierarchy","preRenderedIcon","hierarchyIcon","preRenderedSmallIcon","hierarchySmallIcon","fallbackIcon","IconComponent","allowHasMany","_jsx","drawerIcon","displayIcon","HierarchyDrawer","openDrawer","Icon","hasMountedDrawer","setHasMountedDrawer","shouldOpenAfterMountRef","handleOpenDrawer","current","formattedValues","arrayCellData","Array","isArray","forEach","cell","push","value","initialSelections","data","map","item","handleSave","closeDrawer","selections","selectedIds","from","keys","newValue","response","fetch","serverURL","routes","api","id","body","JSON","stringify","name","credentials","headers","method","ok","newValues","length","_error","labels","rel","document","relatedCollection","collectionConfig","dateFormat","admin","fallback","displayText","join","isLoading","some","_jsxs","className","ref","buttonStyle","icon","iconPosition","margin","onClick","size","onSave"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Hierarchy/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps, RelationshipFieldClient } from 'payload'\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { SelectionWithPath } from '../../../../Hierarchy/Drawer/types.js'\n\nimport { useIntersect } from '../../../../../hooks/useIntersect.js'\nimport { FolderIcon } from '../../../../../icons/Folder/index.js'\nimport { TagIcon } from '../../../../../icons/Tag/index.js'\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { canUseDOM } from '../../../../../utilities/canUseDOM.js'\nimport { formatDocTitle } from '../../../../../utilities/formatDocTitle/index.js'\nimport { Button } from '../../../../Button/index.js'\nimport { useHierarchyDrawer } from '../../../../Hierarchy/Drawer/useHierarchyDrawer.js'\nimport { useListRelationships } from '../../../RelationshipProvider/index.js'\nimport './index.css'\n\ntype Value = { relationTo: string; value: number | string }\nconst baseClass = 'hierarchy-cell'\n\nexport type HierarchyCellProps = DefaultCellComponentProps<RelationshipFieldClient>\n\nexport const HierarchyCell: React.FC<HierarchyCellProps> = ({\n cellData: cellDataFromProps,\n collectionSlug,\n customCellProps,\n field,\n rowData,\n}) => {\n const relationTo = 'relationTo' in field ? field.relationTo : undefined\n const hasMany = field.hasMany ?? false\n\n const { config, getEntityConfig } = useConfig()\n const [intersectionRef, entry] = useIntersect()\n const [values, setValues] = useState<Value[]>([])\n const { documents, getRelationships } = useListRelationships()\n const hasRequestedRef = useRef(false)\n const prevCellDataRef = useRef<typeof cellDataFromProps>(undefined)\n const { i18n, t } = useTranslation()\n\n const isAboveViewport = canUseDOM ? entry?.boundingClientRect?.top < window.innerHeight : false\n\n // Get the hierarchy collection config\n const hierarchyCollectionSlug = typeof relationTo === 'string' ? relationTo : undefined\n const hierarchyCollectionConfig = hierarchyCollectionSlug\n ? getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n : undefined\n\n // Use pre-rendered icon from server if available, otherwise determine on client\n const hierarchyConfig =\n hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object'\n ? hierarchyCollectionConfig.hierarchy\n : undefined\n\n // Pre-rendered icons from server (supports custom icons)\n const preRenderedIcon = customCellProps?.hierarchyIcon as React.ReactNode | undefined\n const preRenderedSmallIcon = customCellProps?.hierarchySmallIcon as React.ReactNode | undefined\n\n // Fallback icon for client-side rendering\n const fallbackIcon = useMemo(() => {\n if (preRenderedIcon) {\n return null // Don't need fallback if we have pre-rendered icon\n }\n // Default based on allowHasMany: false = folder-like, true = tag-like\n const IconComponent = hierarchyConfig?.allowHasMany === false ? FolderIcon : TagIcon\n return <IconComponent />\n }, [hierarchyConfig, preRenderedIcon])\n\n // Full icon for drawer subheader\n const drawerIcon = preRenderedIcon || fallbackIcon\n // Small icon for compact display (pill button)\n const displayIcon = preRenderedSmallIcon ?? drawerIcon\n\n // Set up the hierarchy drawer\n const [HierarchyDrawer, , { openDrawer }] = useHierarchyDrawer({\n hierarchyCollectionSlug: hierarchyCollectionSlug || '',\n Icon: drawerIcon,\n })\n\n // Lazy-mount the drawer so its column browser doesn't eagerly fetch root items\n // for every cell in the list view. Only mount once the user opens it.\n const [hasMountedDrawer, setHasMountedDrawer] = useState(false)\n const shouldOpenAfterMountRef = useRef(false)\n\n const handleOpenDrawer = useCallback(() => {\n if (hasMountedDrawer) {\n openDrawer()\n return\n }\n shouldOpenAfterMountRef.current = true\n setHasMountedDrawer(true)\n }, [hasMountedDrawer, openDrawer])\n\n // Open the drawer once it has mounted (state update from handleOpenDrawer).\n useEffect(() => {\n if (hasMountedDrawer && shouldOpenAfterMountRef.current) {\n shouldOpenAfterMountRef.current = false\n openDrawer()\n }\n }, [hasMountedDrawer, openDrawer])\n\n // Fetch relationship data when visible\n useEffect(() => {\n // Reset tracking if data changed\n if (prevCellDataRef.current !== cellDataFromProps) {\n prevCellDataRef.current = cellDataFromProps\n hasRequestedRef.current = false\n }\n\n if (\n (cellDataFromProps || typeof cellDataFromProps === 'number') &&\n isAboveViewport &&\n !hasRequestedRef.current &&\n typeof relationTo === 'string'\n ) {\n const formattedValues: Value[] = []\n const arrayCellData = Array.isArray(cellDataFromProps)\n ? cellDataFromProps\n : [cellDataFromProps]\n\n arrayCellData.forEach((cell) => {\n if (typeof cell === 'object' && 'relationTo' in cell && 'value' in cell) {\n formattedValues.push(cell)\n }\n if (typeof cell === 'number' || typeof cell === 'string') {\n formattedValues.push({\n relationTo,\n value: cell,\n })\n }\n })\n\n getRelationships(formattedValues)\n hasRequestedRef.current = true\n setValues(formattedValues)\n }\n }, [cellDataFromProps, relationTo, isAboveViewport, getRelationships])\n\n // Get current selection IDs for the drawer\n const initialSelections = useMemo(() => {\n if (!cellDataFromProps) {\n return []\n }\n const data = Array.isArray(cellDataFromProps) ? cellDataFromProps : [cellDataFromProps]\n return data.map((item) => {\n if (typeof item === 'object' && 'value' in item) {\n return item.value\n }\n return item\n }) as (number | string)[]\n }, [cellDataFromProps])\n\n // Handle save from drawer\n const handleSave = useCallback(\n async ({\n closeDrawer,\n selections,\n }: {\n closeDrawer: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => {\n // Get selected IDs\n const selectedIds = Array.from(selections.keys())\n const newValue = hasMany ? selectedIds : (selectedIds[0] ?? null)\n\n // Update the document via API\n try {\n const response = await fetch(\n `${config.serverURL}${config.routes.api}/${collectionSlug}/${rowData.id}`,\n {\n body: JSON.stringify({\n [field.name]: newValue,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n },\n )\n\n if (response.ok && typeof relationTo === 'string') {\n // Update local state with new selection to avoid page reload\n const newValues: Value[] = selectedIds.map((id) => ({\n relationTo,\n value: id,\n }))\n setValues(newValues)\n\n // Request the new relationship docs to update the display\n if (newValues.length > 0) {\n getRelationships(newValues)\n }\n }\n } catch (_error) {\n // swallow error and close drawer anyway, user can try again\n }\n\n closeDrawer()\n },\n [collectionSlug, config, field.name, hasMany, rowData, relationTo, getRelationships],\n )\n\n // Build display labels\n const labels = useMemo(() => {\n return values.map(({ relationTo: rel, value }) => {\n const document = documents[rel]?.[value]\n const relatedCollection = getEntityConfig({ collectionSlug: rel })\n\n return formatDocTitle({\n collectionConfig: relatedCollection,\n data: document || null,\n dateFormat: config.admin.dateFormat,\n fallback: `${t('general:untitled')} - ID: ${value}`,\n i18n,\n })\n })\n }, [values, documents, getEntityConfig, config.admin.dateFormat, t, i18n])\n\n const displayText = labels.length > 0 ? labels.join(', ') : t('general:none')\n const isLoading =\n values.length > 0 &&\n values.some(({ relationTo: rel, value }) => documents[rel]?.[value] === null)\n\n return (\n <div className={baseClass} ref={intersectionRef}>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__pill`}\n icon={displayIcon}\n iconPosition=\"left\"\n margin={false}\n onClick={handleOpenDrawer}\n size=\"medium\"\n >\n {isLoading ? `${t('general:loading')}...` : displayText}\n </Button>\n {hierarchyCollectionSlug && hasMountedDrawer && (\n <HierarchyDrawer\n hasMany={hasMany}\n initialSelections={initialSelections}\n onSave={handleSave}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -49,16 +49,30 @@
49
49
  }
50
50
 
51
51
  /* Linked cells: move padding to the anchor/button for full-cell clickability */
52
- .cell--linked {
52
+ td.cell--linked {
53
53
  padding: 0;
54
54
 
55
+ &:first-child,
56
+ &:last-child {
57
+ padding: 0;
58
+ }
59
+
55
60
  > :is(a, button) {
56
61
  display: flex;
57
62
  align-items: center;
63
+ width: 100%;
58
64
  padding: var(--spacer-2) var(--spacer-2-5);
59
65
  min-height: calc(var(--spacer-4) * 2);
60
66
  cursor: pointer;
61
67
  }
68
+
69
+ &:first-child > :is(a, button) {
70
+ padding-inline-start: var(--gutter-h);
71
+ }
72
+ }
73
+
74
+ .drawer & td.cell--linked:first-child > :is(a, button) {
75
+ padding-inline-start: var(--spacer-3);
62
76
  }
63
77
 
64
78
  #heading-_select,
@@ -178,10 +192,18 @@
178
192
  }
179
193
 
180
194
  /* Linked cells: move padding to the anchor/button for full-cell clickability */
181
- .cell--linked {
195
+ td.cell--linked {
182
196
  padding: 0;
183
197
 
198
+ &:first-child,
199
+ &:last-child {
200
+ padding: 0;
201
+ }
202
+
184
203
  > :is(a, button) {
204
+ display: flex;
205
+ align-items: center;
206
+ width: 100%;
185
207
  padding: 0 var(--spacer-2-5);
186
208
  min-height: var(--spacer-5);
187
209
  cursor: pointer;
@@ -0,0 +1,41 @@
1
+ @layer payload-default {
2
+ .thumbnail:not(.thumbnail--size-none) {
3
+ min-height: 100%;
4
+ flex-shrink: 0;
5
+ align-self: stretch;
6
+ overflow: hidden;
7
+ }
8
+
9
+ .thumbnail:not(.thumbnail--size-none) img,
10
+ .thumbnail:not(.thumbnail--size-none) svg {
11
+ width: 100%;
12
+ height: 100%;
13
+ object-fit: cover;
14
+ }
15
+
16
+ .thumbnail--size-expand {
17
+ max-height: 100%;
18
+ width: 100%;
19
+ }
20
+
21
+ .thumbnail--size-large {
22
+ max-height: calc(var(--spacer-6) * 4.5);
23
+ width: calc(var(--spacer-6) * 4.5);
24
+ }
25
+
26
+ .thumbnail--size-medium {
27
+ max-height: calc(var(--spacer-6) * 3.5);
28
+ width: calc(var(--spacer-6) * 3.5);
29
+ }
30
+
31
+ .thumbnail--size-small {
32
+ max-height: calc(var(--spacer-6) * 2.5);
33
+ width: calc(var(--spacer-6) * 2.5);
34
+ }
35
+
36
+ @media (max-width: 1440px) {
37
+ .thumbnail .thumbnail {
38
+ width: calc(var(--spacer-6) * 2.5);
39
+ }
40
+ }
41
+ }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import './index.scss';
2
+ import './index.css';
3
3
  import type { SanitizedCollectionConfig } from 'payload';
4
4
  export type ThumbnailProps = {
5
5
  className?: string;
@@ -7,7 +7,7 @@ export type ThumbnailProps = {
7
7
  doc?: Record<string, unknown>;
8
8
  fileSrc?: string;
9
9
  height?: number;
10
- imageCacheTag?: string;
10
+ imageCacheTag?: false | string;
11
11
  size?: 'expand' | 'large' | 'medium' | 'none' | 'small';
12
12
  uploadConfig?: SanitizedCollectionConfig['upload'];
13
13
  width?: number;
@@ -18,7 +18,7 @@ type ThumbnailComponentProps = {
18
18
  readonly className?: string;
19
19
  readonly filename: string;
20
20
  readonly fileSrc: string;
21
- readonly imageCacheTag?: string;
21
+ readonly imageCacheTag?: false | string;
22
22
  readonly size?: 'expand' | 'large' | 'medium' | 'none' | 'small';
23
23
  };
24
24
  export declare function ThumbnailComponent(props: ThumbnailComponentProps): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Thumbnail/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IACvD,YAAY,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA2C9C,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;CACjE,CAAA;AACD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,qBAmChE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Thumbnail/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAIpB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAC9B,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IACvD,YAAY,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA2C9C,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;CACjE,CAAA;AACD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,qBAmChE"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import React from 'react';
5
- import './index.scss';
5
+ import './index.css';
6
6
  const baseClass = 'thumbnail';
7
7
  import { File } from '../../graphics/File/index.js';
8
8
  import { appendCacheTag } from '../../utilities/appendCacheTag.js';