@payloadcms/ui 4.0.0-internal.4cbdd50 → 4.0.0-internal.543da65

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 (595) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/css/colors.css +3 -0
  3. package/dist/css/forms.css +6 -3
  4. package/dist/css/theme.css +2 -1
  5. package/dist/css/utilities.css +3 -2
  6. package/dist/elements/AddNewRelation/index.css +28 -28
  7. package/dist/elements/AppHeader/index.d.ts +2 -1
  8. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  9. package/dist/elements/AppHeader/index.js +9 -0
  10. package/dist/elements/AppHeader/index.js.map +1 -1
  11. package/dist/elements/ArrayAction/index.js +2 -2
  12. package/dist/elements/ArrayAction/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/ActionsBar/index.css +4 -8
  14. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  15. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  16. package/dist/elements/BulkUpload/ActionsBar/index.js +15 -22
  17. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  18. package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
  19. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  20. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  21. package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
  22. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/AddingFilesView/index.css +158 -6
  24. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +5 -1
  25. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/AddingFilesView/index.js +134 -65
  27. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  29. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  31. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  32. package/dist/elements/BulkUpload/EditForm/index.js +16 -17
  33. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  34. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  35. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  36. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  37. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  38. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +78 -64
  39. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  40. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  41. package/dist/elements/BulkUpload/EditMany/index.js +28 -10
  42. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  43. package/dist/elements/BulkUpload/FileSidebar/index.css +63 -143
  44. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  45. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -175
  46. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  47. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  48. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  49. package/dist/elements/BulkUpload/index.css +48 -0
  50. package/dist/elements/BulkUpload/index.d.ts +6 -5
  51. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  52. package/dist/elements/BulkUpload/index.js +42 -41
  53. package/dist/elements/BulkUpload/index.js.map +1 -1
  54. package/dist/elements/Button/index.d.ts.map +1 -1
  55. package/dist/elements/Button/index.js +5 -0
  56. package/dist/elements/Button/index.js.map +1 -1
  57. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  58. package/dist/elements/ClipboardAction/index.js +1 -0
  59. package/dist/elements/ClipboardAction/index.js.map +1 -1
  60. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  61. package/dist/elements/Collapsible/index.js +2 -0
  62. package/dist/elements/Collapsible/index.js.map +1 -1
  63. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  64. package/dist/elements/ColumnSelection/Popup.js +1 -5
  65. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  66. package/dist/elements/CopyLocaleData/index.js +1 -1
  67. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  68. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  69. package/dist/elements/CreateDocumentButton/index.js +0 -1
  70. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  71. package/dist/elements/DatePicker/index.css +9 -9
  72. package/dist/elements/DatePicker/index.js +1 -1
  73. package/dist/elements/DatePicker/index.js.map +1 -1
  74. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  75. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  76. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  77. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  78. package/dist/elements/Dialog/DialogModal/index.d.ts +5 -0
  79. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  80. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  81. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  82. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  83. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  84. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  85. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  86. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  87. package/dist/elements/Dialog/index.css +7 -1
  88. package/dist/elements/DocumentControls/index.css +1 -1
  89. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  90. package/dist/elements/DocumentControls/index.js +11 -1
  91. package/dist/elements/DocumentControls/index.js.map +1 -1
  92. package/dist/elements/DocumentFields/index.css +14 -2
  93. package/dist/elements/DocumentFields/index.d.ts +5 -0
  94. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  95. package/dist/elements/DocumentFields/index.js +9 -1
  96. package/dist/elements/DocumentFields/index.js.map +1 -1
  97. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  98. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  99. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  100. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  101. package/dist/elements/DocumentHeader/index.js +2 -3
  102. package/dist/elements/DocumentHeader/index.js.map +1 -1
  103. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  104. package/dist/elements/DrawerActionHeader/index.css +1 -1
  105. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  106. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  107. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  108. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  109. package/dist/elements/DrawerHeader/index.js.map +1 -0
  110. package/dist/elements/Dropzone/index.css +5 -13
  111. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
  112. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  113. package/dist/elements/EditUpload/index.css +97 -158
  114. package/dist/elements/EditUpload/index.d.ts +2 -1
  115. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  116. package/dist/elements/EditUpload/index.js +209 -231
  117. package/dist/elements/EditUpload/index.js.map +1 -1
  118. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  119. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  120. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  121. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  122. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  123. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  124. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  125. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  126. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  127. package/dist/elements/FileDetails/StaticFileDetails/index.css +140 -0
  128. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  129. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  130. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  131. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  132. package/dist/elements/FileDetails/index.d.ts +1 -1
  133. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  134. package/dist/elements/FileDetails/index.js.map +1 -1
  135. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  136. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  137. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  138. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  139. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  140. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  141. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  142. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  143. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  144. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  145. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  146. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  147. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  148. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  149. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  150. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  151. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  152. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  153. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  154. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  155. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  156. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  157. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  158. package/dist/elements/FileManager/FileToolbar/index.js +106 -0
  159. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  160. package/dist/elements/FileManager/index.css +154 -0
  161. package/dist/elements/FileManager/index.d.ts +19 -0
  162. package/dist/elements/FileManager/index.d.ts.map +1 -0
  163. package/dist/elements/FileManager/index.js +424 -0
  164. package/dist/elements/FileManager/index.js.map +1 -0
  165. package/dist/elements/GroupBy/Popup.d.ts.map +1 -1
  166. package/dist/elements/GroupBy/Popup.js +0 -1
  167. package/dist/elements/GroupBy/Popup.js.map +1 -1
  168. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +5 -3
  169. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +1 -0
  170. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +1 -1
  171. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  172. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  173. package/dist/elements/Hierarchy/DocHeaderButton/index.js +12 -12
  174. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  175. package/dist/elements/Hierarchy/Field/index.client.js +14 -14
  176. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  177. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -0
  178. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -0
  179. package/dist/elements/Hierarchy/Modal/index.css +88 -0
  180. package/dist/elements/Hierarchy/Modal/index.d.ts +20 -0
  181. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -0
  182. package/dist/elements/Hierarchy/{Drawer → Modal}/index.js +105 -81
  183. package/dist/elements/Hierarchy/Modal/index.js.map +1 -0
  184. package/dist/elements/Hierarchy/{Drawer → Modal}/types.d.ts +22 -18
  185. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -0
  186. package/dist/elements/Hierarchy/Modal/types.js.map +1 -0
  187. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts +30 -0
  188. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -0
  189. package/dist/elements/Hierarchy/{Drawer/useHierarchyDrawer.js → Modal/useHierarchyModal.js} +51 -50
  190. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -0
  191. package/dist/elements/Hierarchy/MoveMany/index.d.ts +2 -2
  192. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  193. package/dist/elements/Hierarchy/MoveMany/index.js +9 -9
  194. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  195. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +38 -13
  196. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  197. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +37 -31
  198. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  199. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  200. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  201. package/dist/elements/Hierarchy/Tree/index.js +18 -5
  202. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  203. package/dist/elements/ListControls/index.d.ts.map +1 -1
  204. package/dist/elements/ListControls/index.js +1 -2
  205. package/dist/elements/ListControls/index.js.map +1 -1
  206. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  207. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  208. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  209. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  210. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  211. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  212. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  213. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  214. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
  215. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  216. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  217. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  218. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  219. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  220. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +26 -43
  221. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  222. package/dist/elements/LivePreview/Window/index.css +6 -0
  223. package/dist/elements/MiniCarousel/index.css +94 -0
  224. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  225. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  226. package/dist/elements/MiniCarousel/index.js +84 -0
  227. package/dist/elements/MiniCarousel/index.js.map +1 -0
  228. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  229. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  230. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  231. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  232. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  233. package/dist/elements/Nav/index.css +2 -2
  234. package/dist/elements/NavGroup/index.css +1 -1
  235. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  236. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  237. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  238. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  239. package/dist/elements/Popup/index.d.ts +7 -1
  240. package/dist/elements/Popup/index.d.ts.map +1 -1
  241. package/dist/elements/Popup/index.js +3 -1
  242. package/dist/elements/Popup/index.js.map +1 -1
  243. package/dist/elements/PreviewSizes/index.css +149 -0
  244. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  245. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  246. package/dist/elements/PreviewSizes/index.js +1 -1
  247. package/dist/elements/PreviewSizes/index.js.map +1 -1
  248. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  249. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  250. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  251. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  252. package/dist/elements/ReactSelect/index.css +2 -2
  253. package/dist/elements/ReactSelect/index.js +1 -1
  254. package/dist/elements/ReactSelect/index.js.map +1 -1
  255. package/dist/elements/ReactSelect/types.d.ts +1 -0
  256. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  257. package/dist/elements/ReactSelect/types.js.map +1 -1
  258. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  259. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  260. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  261. package/dist/elements/RelationshipTable/index.css +1 -2
  262. package/dist/elements/Search/SearchInput/index.js +1 -1
  263. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  264. package/dist/elements/SidebarRow/index.css +0 -2
  265. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  266. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +32 -13
  267. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  268. package/dist/elements/Table/index.css +7 -2
  269. package/dist/elements/Thumbnail/index.css +41 -0
  270. package/dist/elements/Thumbnail/index.d.ts +3 -3
  271. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  272. package/dist/elements/Thumbnail/index.js +1 -1
  273. package/dist/elements/Thumbnail/index.js.map +1 -1
  274. package/dist/elements/TimezonePicker/index.css +1 -1
  275. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  276. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  277. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  278. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  279. package/dist/elements/Upload/index.css +134 -45
  280. package/dist/elements/Upload/index.d.ts +3 -8
  281. package/dist/elements/Upload/index.d.ts.map +1 -1
  282. package/dist/elements/Upload/index.js +71 -92
  283. package/dist/elements/Upload/index.js.map +1 -1
  284. package/dist/elements/UserMenu/index.d.ts +1 -0
  285. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  286. package/dist/elements/UserMenu/index.js +2 -1
  287. package/dist/elements/UserMenu/index.js.map +1 -1
  288. package/dist/exports/client/index.d.ts +8 -4
  289. package/dist/exports/client/index.d.ts.map +1 -1
  290. package/dist/exports/client/index.js +1 -2
  291. package/dist/exports/client/index.js.map +4 -4
  292. package/dist/exports/rsc/index.d.ts +3 -0
  293. package/dist/exports/rsc/index.d.ts.map +1 -1
  294. package/dist/exports/rsc/index.js +3 -0
  295. package/dist/exports/rsc/index.js.map +1 -1
  296. package/dist/exports/shared/index.js +2 -2
  297. package/dist/exports/shared/index.js.map +2 -2
  298. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -1
  299. package/dist/fields/Blocks/BlockSelector/index.css +2 -5
  300. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  301. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  302. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  303. package/dist/fields/Checkbox/index.css +2 -2
  304. package/dist/fields/ConfirmPassword/index.d.ts +4 -0
  305. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  306. package/dist/fields/ConfirmPassword/index.js +37 -33
  307. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  308. package/dist/fields/Group/index.css +4 -10
  309. package/dist/fields/Number/Input.d.ts.map +1 -1
  310. package/dist/fields/Number/Input.js +62 -46
  311. package/dist/fields/Number/Input.js.map +1 -1
  312. package/dist/fields/Number/index.css +19 -0
  313. package/dist/fields/Number/types.d.ts +10 -0
  314. package/dist/fields/Number/types.d.ts.map +1 -1
  315. package/dist/fields/Number/types.js.map +1 -1
  316. package/dist/fields/Password/input.d.ts.map +1 -1
  317. package/dist/fields/Password/input.js +33 -29
  318. package/dist/fields/Password/input.js.map +1 -1
  319. package/dist/fields/Password/types.d.ts +4 -0
  320. package/dist/fields/Password/types.d.ts.map +1 -1
  321. package/dist/fields/Password/types.js.map +1 -1
  322. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  323. package/dist/fields/Relationship/Input.js +4 -0
  324. package/dist/fields/Relationship/Input.js.map +1 -1
  325. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  326. package/dist/fields/Relationship/types.d.ts +4 -0
  327. package/dist/fields/Relationship/types.d.ts.map +1 -1
  328. package/dist/fields/Relationship/types.js.map +1 -1
  329. package/dist/fields/Select/Input.d.ts +4 -0
  330. package/dist/fields/Select/Input.d.ts.map +1 -1
  331. package/dist/fields/Select/Input.js +45 -40
  332. package/dist/fields/Select/Input.js.map +1 -1
  333. package/dist/fields/Slug/index.d.ts +7 -5
  334. package/dist/fields/Slug/index.d.ts.map +1 -1
  335. package/dist/fields/Slug/index.js +6 -4
  336. package/dist/fields/Slug/index.js.map +1 -1
  337. package/dist/fields/Text/Input.d.ts.map +1 -1
  338. package/dist/fields/Text/Input.js +44 -37
  339. package/dist/fields/Text/Input.js.map +1 -1
  340. package/dist/fields/Text/types.d.ts +9 -0
  341. package/dist/fields/Text/types.d.ts.map +1 -1
  342. package/dist/fields/Text/types.js.map +1 -1
  343. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  344. package/dist/fields/Textarea/Input.js +27 -23
  345. package/dist/fields/Textarea/Input.js.map +1 -1
  346. package/dist/fields/Textarea/index.css +1 -1
  347. package/dist/fields/Textarea/types.d.ts +4 -0
  348. package/dist/fields/Textarea/types.d.ts.map +1 -1
  349. package/dist/fields/Textarea/types.js.map +1 -1
  350. package/dist/fields/Upload/Input.d.ts.map +1 -1
  351. package/dist/fields/Upload/Input.js +12 -11
  352. package/dist/fields/Upload/Input.js.map +1 -1
  353. package/dist/fields/Upload/index.js +1 -1
  354. package/dist/fields/Upload/index.js.map +1 -1
  355. package/dist/fields/index.d.ts.map +1 -1
  356. package/dist/fields/index.js +2 -0
  357. package/dist/fields/index.js.map +1 -1
  358. package/dist/forms/Form/types.d.ts +2 -2
  359. package/dist/forms/Form/types.d.ts.map +1 -1
  360. package/dist/forms/Form/types.js.map +1 -1
  361. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  362. package/dist/forms/RenderFields/RenderField.js +10 -0
  363. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  364. package/dist/forms/RenderFields/index.css +4 -4
  365. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  366. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  367. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +21 -5
  368. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  369. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
  370. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  371. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  372. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
  373. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  374. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  375. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
  376. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  377. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  378. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  379. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  380. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  381. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  382. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  383. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  384. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  385. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  386. package/dist/graphics/Icon/index.js +1 -1
  387. package/dist/graphics/Icon/index.js.map +1 -1
  388. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  389. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  390. package/dist/hooks/useElementHeightVariable.js +53 -0
  391. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  392. package/dist/icons/Crop/index.css +5 -0
  393. package/dist/icons/Crop/index.d.ts +7 -0
  394. package/dist/icons/Crop/index.d.ts.map +1 -0
  395. package/dist/icons/Crop/index.js +24 -0
  396. package/dist/icons/Crop/index.js.map +1 -0
  397. package/dist/icons/Download/index.css +5 -0
  398. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  399. package/dist/icons/Download/index.d.ts.map +1 -0
  400. package/dist/icons/Download/index.js +27 -0
  401. package/dist/icons/Download/index.js.map +1 -0
  402. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  403. package/dist/icons/NewTab/index.d.ts +7 -0
  404. package/dist/icons/NewTab/index.d.ts.map +1 -0
  405. package/dist/icons/NewTab/index.js +25 -0
  406. package/dist/icons/NewTab/index.js.map +1 -0
  407. package/dist/icons/Replace/index.css +5 -0
  408. package/dist/icons/Replace/index.d.ts +6 -0
  409. package/dist/icons/Replace/index.d.ts.map +1 -0
  410. package/dist/icons/Replace/index.js +20 -0
  411. package/dist/icons/Replace/index.js.map +1 -0
  412. package/dist/icons/Reset/index.css +5 -0
  413. package/dist/icons/Reset/index.d.ts +7 -0
  414. package/dist/icons/Reset/index.d.ts.map +1 -0
  415. package/dist/icons/Reset/index.js +25 -0
  416. package/dist/icons/Reset/index.js.map +1 -0
  417. package/dist/icons/Swap/index.js +1 -1
  418. package/dist/icons/Swap/index.js.map +1 -1
  419. package/dist/providers/Auth/index.d.ts +3 -5
  420. package/dist/providers/Auth/index.d.ts.map +1 -1
  421. package/dist/providers/Auth/index.js +3 -8
  422. package/dist/providers/Auth/index.js.map +1 -1
  423. package/dist/providers/DocumentInfo/types.d.ts +2 -2
  424. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  425. package/dist/providers/DocumentInfo/types.js.map +1 -1
  426. package/dist/providers/Root/index.d.ts +2 -2
  427. package/dist/providers/Root/index.d.ts.map +1 -1
  428. package/dist/providers/Root/index.js.map +1 -1
  429. package/dist/scss/app.scss +3 -2
  430. package/dist/styles.css +15 -7
  431. package/dist/templates/Default/index.d.ts.map +1 -1
  432. package/dist/templates/Default/index.js +7 -1
  433. package/dist/templates/Default/index.js.map +1 -1
  434. package/dist/utilities/buildFormState.d.ts.map +1 -1
  435. package/dist/utilities/buildFormState.js +1 -0
  436. package/dist/utilities/buildFormState.js.map +1 -1
  437. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  438. package/dist/utilities/copyDataFromLocale.js +1 -0
  439. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  440. package/dist/utilities/formatRelativeDate.d.ts +15 -0
  441. package/dist/utilities/formatRelativeDate.d.ts.map +1 -0
  442. package/dist/utilities/formatRelativeDate.js +62 -0
  443. package/dist/utilities/formatRelativeDate.js.map +1 -0
  444. package/dist/utilities/getDocPreferences.d.ts +2 -2
  445. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  446. package/dist/utilities/getDocPreferences.js.map +1 -1
  447. package/dist/utilities/getDocumentData.d.ts +2 -2
  448. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  449. package/dist/utilities/getDocumentData.js.map +1 -1
  450. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  451. package/dist/utilities/getGlobalData.js.map +1 -1
  452. package/dist/utilities/getHasScheduledPublish.d.ts +2 -2
  453. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  454. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  455. package/dist/utilities/getIsLocked.d.ts +2 -2
  456. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  457. package/dist/utilities/getIsLocked.js.map +1 -1
  458. package/dist/utilities/getVersions.d.ts +2 -2
  459. package/dist/utilities/getVersions.d.ts.map +1 -1
  460. package/dist/utilities/getVersions.js +2 -5
  461. package/dist/utilities/getVersions.js.map +1 -1
  462. package/dist/utilities/handleAuthRedirect.d.ts +2 -2
  463. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  464. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  465. package/dist/utilities/handleFormStateLocking.d.ts +2 -2
  466. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  467. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  468. package/dist/utilities/handleLivePreview.d.ts +1 -0
  469. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  470. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  471. package/dist/utilities/isURLAllowed.js +9 -3
  472. package/dist/utilities/isURLAllowed.js.map +1 -1
  473. package/dist/utilities/recentlyViewed.d.ts +16 -0
  474. package/dist/utilities/recentlyViewed.d.ts.map +1 -0
  475. package/dist/utilities/recentlyViewed.js +21 -0
  476. package/dist/utilities/recentlyViewed.js.map +1 -0
  477. package/dist/utilities/recentlyViewed.spec.js +92 -0
  478. package/dist/utilities/recentlyViewed.spec.js.map +1 -0
  479. package/dist/utilities/slugify.d.ts +1 -1
  480. package/dist/utilities/slugify.js +1 -1
  481. package/dist/utilities/slugify.js.map +1 -1
  482. package/dist/views/API/index.client.js +2 -2
  483. package/dist/views/API/index.client.js.map +1 -1
  484. package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
  485. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  486. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  487. package/dist/views/Account/Settings/index.d.ts +2 -2
  488. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  489. package/dist/views/Account/Settings/index.js.map +1 -1
  490. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  491. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  492. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  493. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  494. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +2 -2
  495. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  496. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -2
  497. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  498. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
  499. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
  500. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  501. package/dist/views/Document/index.d.ts.map +1 -1
  502. package/dist/views/Document/index.js +18 -1
  503. package/dist/views/Document/index.js.map +1 -1
  504. package/dist/views/Document/recordRecentlyViewed.d.ts +12 -0
  505. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -0
  506. package/dist/views/Document/recordRecentlyViewed.js +40 -0
  507. package/dist/views/Document/recordRecentlyViewed.js.map +1 -0
  508. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  509. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  510. package/dist/views/Document/renderDocumentSlots.js +47 -1
  511. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  512. package/dist/views/Edit/index.css +143 -6
  513. package/dist/views/Edit/index.d.ts +1 -1
  514. package/dist/views/Edit/index.d.ts.map +1 -1
  515. package/dist/views/Edit/index.js +34 -31
  516. package/dist/views/Edit/index.js.map +1 -1
  517. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  518. package/dist/views/List/ListHeader/index.css +5 -0
  519. package/dist/views/List/index.client.js +3 -3
  520. package/dist/views/List/index.client.js.map +1 -1
  521. package/dist/views/List/index.d.ts.map +1 -1
  522. package/dist/views/List/index.js +1 -7
  523. package/dist/views/List/index.js.map +1 -1
  524. package/dist/views/Logout/LogoutClient.js +28 -32
  525. package/dist/views/Logout/LogoutClient.js.map +1 -1
  526. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  527. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -0
  528. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  529. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  530. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +1 -0
  531. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  532. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  533. package/dist/views/Version/SelectComparison/index.js +1 -0
  534. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  535. package/dist/views/Versions/fetchVersions.d.ts +4 -4
  536. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  537. package/dist/views/Versions/fetchVersions.js.map +1 -1
  538. package/dist/views/Versions/types.d.ts +2 -2
  539. package/dist/views/Versions/types.d.ts.map +1 -1
  540. package/dist/views/Versions/types.js.map +1 -1
  541. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  542. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  543. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  544. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  545. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  546. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  547. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  548. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  549. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  550. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  551. package/dist/widgets/CollectionQuery/index.css +64 -0
  552. package/dist/widgets/CollectionQuery/index.d.ts +16 -0
  553. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  554. package/dist/widgets/CollectionQuery/index.js +328 -0
  555. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  556. package/dist/widgets/RecentlyViewed/CollectionsField/index.css +14 -0
  557. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +10 -0
  558. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -0
  559. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +76 -0
  560. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -0
  561. package/dist/widgets/RecentlyViewed/index.d.ts +10 -0
  562. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -0
  563. package/dist/widgets/RecentlyViewed/index.js +148 -0
  564. package/dist/widgets/RecentlyViewed/index.js.map +1 -0
  565. package/dist/widgets/WidgetCard/index.css +155 -0
  566. package/dist/widgets/WidgetCard/index.d.ts +19 -0
  567. package/dist/widgets/WidgetCard/index.d.ts.map +1 -0
  568. package/dist/widgets/WidgetCard/index.js +49 -0
  569. package/dist/widgets/WidgetCard/index.js.map +1 -0
  570. package/package.json +6 -510
  571. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  572. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  573. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  574. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  575. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  576. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  577. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  578. package/dist/elements/Hierarchy/Drawer/index.css +0 -90
  579. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  580. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  581. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  582. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  583. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  584. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  585. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  586. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  587. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  588. package/dist/elements/PreviewSizes/index.scss +0 -147
  589. package/dist/elements/Thumbnail/index.scss +0 -53
  590. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  591. package/dist/icons/ExternalLink/index.js +0 -26
  592. package/dist/icons/ExternalLink/index.js.map +0 -1
  593. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.d.ts +0 -0
  594. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.js +0 -0
  595. /package/dist/elements/Hierarchy/{Drawer → Modal}/types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","DEFAULT_HIERARCHY_TREE_LIMIT","React","useCallback","useId","useMemo","useRef","useState","PlusIcon","useAuth","useConfig","useHierarchy","useRouter","useTranslation","Button","CreateDocumentButton","DelayedSpinner","DocumentDrawer","LoadMore","TreeFocusProvider","useTreeFocus","TreeNode","useChildren","baseClass","getDocumentTitle","doc","useAsTitle","docId","id","idStr","String","value","HierarchyTreeInner","baseFilter","collectionSlug","filterByCollections","icon","initialData","initialDataProp","initialExpandedNodes","initialExpandedNodesProp","onNodeClick","selectedNodeId","useAsTitleProp","moveFocus","router","i18n","t","permissions","getEntityConfig","closeModal","openModal","createDrawerSlug","isCreateDrawerOpen","setIsCreateDrawerOpen","getExpandedNodesForCollection","getTreeDataForCollection","toggleNodeForCollection","typeFieldName","collectionConfig","hierarchyConfig","hierarchy","undefined","parentFieldName","treeLimit","admin","canCreate","Boolean","collections","create","allPossibleTypeValues","relatedCollections","Object","keys","contextData","baseFilterKey","JSON","stringify","contextBaseFilterKey","contextSeededRef","lastInitialExpandedRef","current","expandedNodes","contextExpanded","size","Set","handleToggleNode","wasSeeded","length","initialSet","map","isCurrentlyExpanded","has","nodeId","childrenCache","Map","prevBaseFilterKeyRef","clear","docs","docsByParent","parentId","parentKey","set","get","push","filterKey","slice","sort","join","cacheKey","parentMeta","loadedParents","loadedCount","children","hasMore","page","Math","ceil","totalDocs","treeRef","rootNodes","isLoading","loadMore","loadMoreFromHook","refresh","cache","enabled","limit","handleLoadMore","handleNodeClick","handleTreeKeyDown","e","key","preventDefault","_jsx","className","collectionLabel","buttonStyle","drawerSlug","label","labels","singular","onSave","isAllSelected","handleAllClick","_jsxs","onKeyDown","ref","role","tabIndex","filter","onClick","plural","_Fragment","margin","redirectAfterCreate","node","nodeIdStr","nodeTitle","depth","hasChildren","title","onSelect","onToggle","selected","currentCount","onLoadMore","HierarchyTree","props"],"sources":["../../../../src/elements/Hierarchy/Tree/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { DEFAULT_HIERARCHY_TREE_LIMIT } from 'payload/shared'\nimport React, { useCallback, useId, useMemo, useRef, useState } from 'react'\n\nimport type { CachedChildren, HierarchyTreeProps, TreeDocument } from './types.js'\n\nimport { PlusIcon } from '../../../icons/Plus/index.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useRouter } from '../../../providers/RouterAdapter/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { CreateDocumentButton } from '../../CreateDocumentButton/index.js'\nimport { DelayedSpinner } from '../../DelayedSpinner/index.js'\nimport { DocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { LoadMore } from './LoadMore/index.js'\nimport { TreeFocusProvider, useTreeFocus } from './TreeFocusContext.js'\nimport { TreeNode } from './TreeNode/index.js'\nimport { useChildren } from './useChildren.js'\nimport './index.css'\n\nconst baseClass = 'tree'\n\nconst getDocumentTitle = (doc: TreeDocument, useAsTitle: string | undefined): string => {\n const docId: number | string = doc.id\n const idStr = typeof docId === 'number' ? String(docId) : docId\n\n if (!useAsTitle) {\n return idStr\n }\n\n const value = doc[useAsTitle]\n if (value && (typeof value === 'string' || typeof value === 'number')) {\n return String(value)\n }\n return idStr\n}\n\nconst HierarchyTreeInner: React.FC<HierarchyTreeProps> = ({\n baseFilter,\n collectionSlug,\n filterByCollections,\n icon,\n initialData: initialDataProp,\n initialExpandedNodes: initialExpandedNodesProp,\n onNodeClick,\n selectedNodeId,\n useAsTitle: useAsTitleProp,\n}) => {\n const { moveFocus } = useTreeFocus()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { getEntityConfig } = useConfig()\n const { closeModal, openModal } = useModal()\n const createDrawerSlug = `tree-create-${useId()}`\n const [isCreateDrawerOpen, setIsCreateDrawerOpen] = useState(false)\n\n const {\n getExpandedNodesForCollection,\n getTreeDataForCollection,\n toggleNodeForCollection,\n typeFieldName,\n } = useHierarchy()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const hierarchyConfig =\n collectionConfig.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const parentFieldName = hierarchyConfig?.parentFieldName\n const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT\n const useAsTitle = useAsTitleProp ?? collectionConfig.admin?.useAsTitle\n const canCreate = Boolean(permissions?.collections?.[collectionSlug]?.create)\n\n const allPossibleTypeValues = useMemo(\n () =>\n hierarchyConfig?.relatedCollections\n ? Object.keys(hierarchyConfig.relatedCollections)\n : undefined,\n [hierarchyConfig?.relatedCollections],\n )\n\n const contextData = getTreeDataForCollection(collectionSlug)\n const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : ''\n const contextBaseFilterKey = contextData?.baseFilter ? JSON.stringify(contextData.baseFilter) : ''\n const initialData =\n baseFilterKey === contextBaseFilterKey ? (contextData ?? initialDataProp) : initialDataProp\n // Tracks whether context has been seeded at least once since the last navigation.\n // Resets when initialExpandedNodesProp changes (new array reference = navigation).\n // Allows the memo to distinguish \"not yet seeded\" (fall back to prop) from\n // \"user collapsed all nodes\" (trust empty context).\n const contextSeededRef = useRef(false)\n const lastInitialExpandedRef = useRef(initialExpandedNodesProp)\n if (lastInitialExpandedRef.current !== initialExpandedNodesProp) {\n lastInitialExpandedRef.current = initialExpandedNodesProp\n contextSeededRef.current = false\n }\n\n const expandedNodes = useMemo(() => {\n const contextExpanded = getExpandedNodesForCollection(collectionSlug)\n if (contextExpanded.size > 0) {\n contextSeededRef.current = true\n return contextExpanded\n }\n if (contextSeededRef.current) {\n // Context was seeded (had nodes since last navigation) — trust empty set as \"all collapsed\"\n return contextExpanded\n }\n return initialExpandedNodesProp ? new Set(initialExpandedNodesProp) : contextExpanded\n }, [collectionSlug, getExpandedNodesForCollection, initialExpandedNodesProp])\n\n const handleToggleNode = useCallback(\n ({ id }: { id: number | string }) => {\n // Mark context as seeded so the memo never falls back to the prop after this interaction.\n // Capture the previous value first — seeding is only needed on the very first interaction.\n const wasSeeded = contextSeededRef.current\n contextSeededRef.current = true\n const contextExpanded = getExpandedNodesForCollection(collectionSlug)\n if (!wasSeeded && contextExpanded.size === 0 && initialExpandedNodesProp?.length) {\n // Context not yet seeded. Seed it with all initial nodes, applying the toggle correctly:\n // exclude the target if collapsing, include it if expanding.\n const initialSet = new Set(initialExpandedNodesProp.map(String))\n const isCurrentlyExpanded = initialSet.has(String(id))\n for (const nodeId of initialExpandedNodesProp) {\n if (!isCurrentlyExpanded || String(nodeId) !== String(id)) {\n toggleNodeForCollection(collectionSlug, nodeId)\n }\n }\n if (!isCurrentlyExpanded) {\n toggleNodeForCollection(collectionSlug, id)\n }\n return\n }\n toggleNodeForCollection(collectionSlug, id)\n },\n [\n collectionSlug,\n getExpandedNodesForCollection,\n initialExpandedNodesProp,\n toggleNodeForCollection,\n ],\n )\n\n // Pre-populate cache with initialData synchronously before first render\n const childrenCache = useRef<Map<string, CachedChildren>>(new Map())\n\n const prevBaseFilterKeyRef = useRef(baseFilterKey)\n if (prevBaseFilterKeyRef.current !== baseFilterKey) {\n prevBaseFilterKeyRef.current = baseFilterKey\n childrenCache.current.clear()\n }\n\n useMemo(() => {\n if (!initialData || initialData.docs.length === 0) {\n return\n }\n\n const docsByParent = new Map<string, TreeDocument[]>()\n for (const doc of initialData.docs) {\n const parentId = doc[parentFieldName] || 'null'\n const parentKey = String(parentId)\n if (!docsByParent.has(parentKey)) {\n docsByParent.set(parentKey, [])\n }\n docsByParent.get(parentKey).push(doc)\n }\n\n const filterKey = filterByCollections?.length\n ? filterByCollections.slice().sort().join(',')\n : ''\n for (const [parentKey, docs] of docsByParent) {\n const cacheKey = `${collectionSlug}-${parentKey}-${filterKey}-${baseFilterKey}`\n const parentMeta = initialData.loadedParents[parentKey]\n\n if (parentMeta) {\n const loadedCount = parentMeta.loadedCount ?? docs.length\n childrenCache.current.set(cacheKey, {\n children: docs,\n hasMore: parentMeta.hasMore,\n page: Math.ceil(loadedCount / treeLimit) || 1,\n totalDocs: parentMeta.totalDocs,\n })\n } else {\n childrenCache.current.set(cacheKey, {\n children: docs,\n hasMore: false,\n page: 1,\n totalDocs: docs.length,\n })\n }\n }\n }, [initialData, filterByCollections, parentFieldName, collectionSlug, treeLimit, baseFilterKey])\n\n const treeRef = useRef<HTMLDivElement>(null)\n\n const {\n children: rootNodes,\n hasMore,\n isLoading,\n loadMore: loadMoreFromHook,\n refresh,\n totalDocs,\n } = useChildren({\n allPossibleTypeValues,\n baseFilter,\n cache: childrenCache,\n collectionSlug,\n enabled: true,\n filterByCollections,\n initialData,\n limit: treeLimit,\n parentFieldName,\n parentId: 'null',\n typeFieldName,\n useAsTitle,\n })\n\n const handleLoadMore = useCallback(async () => {\n await loadMoreFromHook()\n }, [loadMoreFromHook])\n\n const handleNodeClick = useCallback(\n ({ id }: { id: number | string }) => {\n onNodeClick?.({ id })\n },\n [onNodeClick],\n )\n\n const handleTreeKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n moveFocus('down')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n moveFocus('up')\n }\n },\n [moveFocus],\n )\n\n if (isLoading && !rootNodes) {\n return (\n <div className={baseClass}>\n <DelayedSpinner baseClass={baseClass} isLoading={true} />\n </div>\n )\n }\n\n if (!rootNodes || rootNodes.length === 0) {\n const collectionLabel = getEntityConfig({ collectionSlug })\n return (\n <div className={baseClass}>\n <CreateDocumentButton\n buttonStyle=\"primary\"\n collections={[{ collectionSlug }]}\n drawerSlug={createDrawerSlug}\n label={t('general:createNewLabel', {\n label: getTranslation(collectionLabel.labels.singular, i18n),\n })}\n onSave={async () => {\n await refresh()\n router.refresh()\n }}\n />\n </div>\n )\n }\n\n const isAllSelected = selectedNodeId === null\n const handleAllClick = () => onNodeClick?.({ id: null })\n\n return (\n <div\n className={baseClass}\n onKeyDown={handleTreeKeyDown}\n ref={treeRef}\n role=\"tree\"\n tabIndex={-1}\n >\n <div className={`${baseClass}__all-option-wrapper`}>\n <div\n aria-selected={isAllSelected}\n className={[\n `${baseClass}__all-option`,\n 'sidebar-row',\n isAllSelected && `${baseClass}__all-option--selected`,\n isAllSelected && 'sidebar-row--selected',\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={handleAllClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n handleAllClick()\n }\n }}\n role=\"treeitem\"\n tabIndex={0}\n >\n <span className=\"sidebar-row__title\">\n {t('general:all')}{' '}\n {getTranslation(getEntityConfig({ collectionSlug })?.labels?.plural, i18n)}\n </span>\n </div>\n {canCreate && (\n <>\n <Button\n aria-label={t('general:createNew')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__create-button`}\n margin={false}\n onClick={() => {\n setIsCreateDrawerOpen(true)\n openModal(createDrawerSlug)\n }}\n >\n <PlusIcon size={24} />\n </Button>\n {isCreateDrawerOpen && (\n <DocumentDrawer\n collectionSlug={collectionSlug}\n drawerSlug={createDrawerSlug}\n initialData={parentFieldName ? { [parentFieldName]: null } : undefined}\n onSave={async () => {\n closeModal(createDrawerSlug)\n setIsCreateDrawerOpen(false)\n await refresh()\n router.refresh()\n }}\n redirectAfterCreate={false}\n />\n )}\n </>\n )}\n </div>\n {rootNodes.map((node) => {\n const nodeId: number | string = node.id\n const nodeIdStr = typeof nodeId === 'number' ? String(nodeId) : nodeId\n const nodeTitle = getDocumentTitle(node, useAsTitle)\n\n return (\n <TreeNode\n allPossibleTypeValues={allPossibleTypeValues}\n baseFilter={baseFilter}\n cache={childrenCache}\n collectionSlug={collectionSlug}\n depth={0}\n expandedNodes={expandedNodes}\n filterByCollections={filterByCollections}\n icon={icon}\n key={nodeIdStr}\n limit={treeLimit}\n node={{ id: nodeId, hasChildren: true, title: nodeTitle }}\n onSelect={handleNodeClick}\n onToggle={handleToggleNode}\n parentFieldName={parentFieldName}\n selected={nodeIdStr === String(selectedNodeId)}\n selectedNodeId={selectedNodeId}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n })}\n {hasMore && (\n <LoadMore\n currentCount={rootNodes.length}\n depth={0}\n id=\"load-more-root\"\n onLoadMore={handleLoadMore}\n totalDocs={totalDocs}\n />\n )}\n </div>\n )\n}\n\nexport const HierarchyTree: React.FC<HierarchyTreeProps> = (props) => {\n return (\n <TreeFocusProvider>\n <HierarchyTreeInner {...props} />\n </TreeFocusProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","DEFAULT_HIERARCHY_TREE_LIMIT","React","useCallback","useId","useMemo","useRef","useState","PlusIcon","useAuth","useConfig","useHierarchy","useRouter","useTranslation","Button","CreateDocumentButton","DelayedSpinner","DocumentDrawer","LoadMore","TreeFocusProvider","useTreeFocus","TreeNode","useChildren","baseClass","getDocumentTitle","doc","useAsTitle","docId","id","idStr","String","value","HierarchyTreeInner","baseFilter","collectionSlug","filterByCollections","icon","initialData","initialDataProp","initialExpandedNodes","initialExpandedNodesProp","onNodeClick","selectedNodeId","useAsTitleProp","focusedId","moveFocus","setFocusedId","router","i18n","t","permissions","getEntityConfig","closeModal","openModal","createDrawerSlug","isCreateDrawerOpen","setIsCreateDrawerOpen","getExpandedNodesForCollection","getTreeDataForCollection","toggleNodeForCollection","typeFieldName","collectionConfig","hierarchyConfig","hierarchy","undefined","parentFieldName","treeLimit","admin","canCreate","Boolean","collections","create","allPossibleTypeValues","relatedCollections","Object","keys","contextData","baseFilterKey","JSON","stringify","contextBaseFilterKey","contextSeededRef","lastInitialExpandedRef","current","expandedNodes","contextExpanded","size","Set","handleToggleNode","wasSeeded","length","initialSet","map","isCurrentlyExpanded","has","nodeId","childrenCache","Map","prevBaseFilterKeyRef","clear","docs","docsByParent","parentId","parentKey","set","get","push","filterKey","slice","sort","join","cacheKey","parentMeta","loadedParents","loadedCount","children","hasMore","page","Math","ceil","totalDocs","treeRef","rootNodes","isLoading","loadMore","loadMoreFromHook","refresh","cache","enabled","limit","handleLoadMore","handleNodeClick","rootFocusableIds","node","firstRootFocusableId","lastRootFocusableId","handleTreeKeyDown","e","key","preventDefault","_jsx","className","collectionLabel","buttonStyle","drawerSlug","label","labels","singular","onSave","isAllSelected","handleAllClick","_jsxs","onKeyDown","ref","role","tabIndex","filter","onClick","plural","_Fragment","margin","redirectAfterCreate","nodeIdStr","nodeTitle","depth","hasChildren","title","onSelect","onToggle","selected","currentCount","onLoadMore","HierarchyTree","props"],"sources":["../../../../src/elements/Hierarchy/Tree/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { DEFAULT_HIERARCHY_TREE_LIMIT } from 'payload/shared'\nimport React, { useCallback, useId, useMemo, useRef, useState } from 'react'\n\nimport type { CachedChildren, HierarchyTreeProps, TreeDocument } from './types.js'\n\nimport { PlusIcon } from '../../../icons/Plus/index.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useRouter } from '../../../providers/RouterAdapter/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { CreateDocumentButton } from '../../CreateDocumentButton/index.js'\nimport { DelayedSpinner } from '../../DelayedSpinner/index.js'\nimport { DocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { LoadMore } from './LoadMore/index.js'\nimport { TreeFocusProvider, useTreeFocus } from './TreeFocusContext.js'\nimport { TreeNode } from './TreeNode/index.js'\nimport { useChildren } from './useChildren.js'\nimport './index.css'\n\nconst baseClass = 'tree'\n\nconst getDocumentTitle = (doc: TreeDocument, useAsTitle: string | undefined): string => {\n const docId: number | string = doc.id\n const idStr = typeof docId === 'number' ? String(docId) : docId\n\n if (!useAsTitle) {\n return idStr\n }\n\n const value = doc[useAsTitle]\n if (value && (typeof value === 'string' || typeof value === 'number')) {\n return String(value)\n }\n return idStr\n}\n\nconst HierarchyTreeInner: React.FC<HierarchyTreeProps> = ({\n baseFilter,\n collectionSlug,\n filterByCollections,\n icon,\n initialData: initialDataProp,\n initialExpandedNodes: initialExpandedNodesProp,\n onNodeClick,\n selectedNodeId,\n useAsTitle: useAsTitleProp,\n}) => {\n const { focusedId, moveFocus, setFocusedId } = useTreeFocus()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { getEntityConfig } = useConfig()\n const { closeModal, openModal } = useModal()\n const createDrawerSlug = `tree-create-${useId()}`\n const [isCreateDrawerOpen, setIsCreateDrawerOpen] = useState(false)\n\n const {\n getExpandedNodesForCollection,\n getTreeDataForCollection,\n toggleNodeForCollection,\n typeFieldName,\n } = useHierarchy()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const hierarchyConfig =\n collectionConfig.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const parentFieldName = hierarchyConfig?.parentFieldName\n const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT\n const useAsTitle = useAsTitleProp ?? collectionConfig.admin?.useAsTitle\n const canCreate = Boolean(permissions?.collections?.[collectionSlug]?.create)\n\n const allPossibleTypeValues = useMemo(\n () =>\n hierarchyConfig?.relatedCollections\n ? Object.keys(hierarchyConfig.relatedCollections)\n : undefined,\n [hierarchyConfig?.relatedCollections],\n )\n\n const contextData = getTreeDataForCollection(collectionSlug)\n const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : ''\n const contextBaseFilterKey = contextData?.baseFilter ? JSON.stringify(contextData.baseFilter) : ''\n const initialData =\n baseFilterKey === contextBaseFilterKey ? (contextData ?? initialDataProp) : initialDataProp\n // Tracks whether context has been seeded at least once since the last navigation.\n // Resets when initialExpandedNodesProp changes (new array reference = navigation).\n // Allows the memo to distinguish \"not yet seeded\" (fall back to prop) from\n // \"user collapsed all nodes\" (trust empty context).\n const contextSeededRef = useRef(false)\n const lastInitialExpandedRef = useRef(initialExpandedNodesProp)\n if (lastInitialExpandedRef.current !== initialExpandedNodesProp) {\n lastInitialExpandedRef.current = initialExpandedNodesProp\n contextSeededRef.current = false\n }\n\n const expandedNodes = useMemo(() => {\n const contextExpanded = getExpandedNodesForCollection(collectionSlug)\n if (contextExpanded.size > 0) {\n contextSeededRef.current = true\n return contextExpanded\n }\n if (contextSeededRef.current) {\n // Context was seeded (had nodes since last navigation) — trust empty set as \"all collapsed\"\n return contextExpanded\n }\n return initialExpandedNodesProp ? new Set(initialExpandedNodesProp) : contextExpanded\n }, [collectionSlug, getExpandedNodesForCollection, initialExpandedNodesProp])\n\n const handleToggleNode = useCallback(\n ({ id }: { id: number | string }) => {\n // Mark context as seeded so the memo never falls back to the prop after this interaction.\n // Capture the previous value first — seeding is only needed on the very first interaction.\n const wasSeeded = contextSeededRef.current\n contextSeededRef.current = true\n const contextExpanded = getExpandedNodesForCollection(collectionSlug)\n if (!wasSeeded && contextExpanded.size === 0 && initialExpandedNodesProp?.length) {\n // Context not yet seeded. Seed it with all initial nodes, applying the toggle correctly:\n // exclude the target if collapsing, include it if expanding.\n const initialSet = new Set(initialExpandedNodesProp.map(String))\n const isCurrentlyExpanded = initialSet.has(String(id))\n for (const nodeId of initialExpandedNodesProp) {\n if (!isCurrentlyExpanded || String(nodeId) !== String(id)) {\n toggleNodeForCollection(collectionSlug, nodeId)\n }\n }\n if (!isCurrentlyExpanded) {\n toggleNodeForCollection(collectionSlug, id)\n }\n return\n }\n toggleNodeForCollection(collectionSlug, id)\n },\n [\n collectionSlug,\n getExpandedNodesForCollection,\n initialExpandedNodesProp,\n toggleNodeForCollection,\n ],\n )\n\n // Pre-populate cache with initialData synchronously before first render\n const childrenCache = useRef<Map<string, CachedChildren>>(new Map())\n\n const prevBaseFilterKeyRef = useRef(baseFilterKey)\n if (prevBaseFilterKeyRef.current !== baseFilterKey) {\n prevBaseFilterKeyRef.current = baseFilterKey\n childrenCache.current.clear()\n }\n\n useMemo(() => {\n if (!initialData || initialData.docs.length === 0) {\n return\n }\n\n const docsByParent = new Map<string, TreeDocument[]>()\n for (const doc of initialData.docs) {\n const parentId = doc[parentFieldName] || 'null'\n const parentKey = String(parentId)\n if (!docsByParent.has(parentKey)) {\n docsByParent.set(parentKey, [])\n }\n docsByParent.get(parentKey).push(doc)\n }\n\n const filterKey = filterByCollections?.length\n ? filterByCollections.slice().sort().join(',')\n : ''\n for (const [parentKey, docs] of docsByParent) {\n const cacheKey = `${collectionSlug}-${parentKey}-${filterKey}-${baseFilterKey}`\n const parentMeta = initialData.loadedParents[parentKey]\n\n if (parentMeta) {\n const loadedCount = parentMeta.loadedCount ?? docs.length\n childrenCache.current.set(cacheKey, {\n children: docs,\n hasMore: parentMeta.hasMore,\n page: Math.ceil(loadedCount / treeLimit) || 1,\n totalDocs: parentMeta.totalDocs,\n })\n } else {\n childrenCache.current.set(cacheKey, {\n children: docs,\n hasMore: false,\n page: 1,\n totalDocs: docs.length,\n })\n }\n }\n }, [initialData, filterByCollections, parentFieldName, collectionSlug, treeLimit, baseFilterKey])\n\n const treeRef = useRef<HTMLDivElement>(null)\n\n const {\n children: rootNodes,\n hasMore,\n isLoading,\n loadMore: loadMoreFromHook,\n refresh,\n totalDocs,\n } = useChildren({\n allPossibleTypeValues,\n baseFilter,\n cache: childrenCache,\n collectionSlug,\n enabled: true,\n filterByCollections,\n initialData,\n limit: treeLimit,\n parentFieldName,\n parentId: 'null',\n typeFieldName,\n useAsTitle,\n })\n\n const handleLoadMore = useCallback(async () => {\n await loadMoreFromHook()\n }, [loadMoreFromHook])\n\n const handleNodeClick = useCallback(\n ({ id }: { id: number | string }) => {\n onNodeClick?.({ id })\n },\n [onNodeClick],\n )\n\n const rootFocusableIds = useMemo(\n () => (rootNodes ? rootNodes.map((node) => `node-${String(node.id)}`) : []),\n [rootNodes],\n )\n\n const firstRootFocusableId = rootFocusableIds[0]\n const lastRootFocusableId = rootFocusableIds[rootFocusableIds.length - 1]\n\n const handleTreeKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n\n if (\n focusedId &&\n firstRootFocusableId &&\n lastRootFocusableId &&\n focusedId === lastRootFocusableId\n ) {\n setFocusedId(firstRootFocusableId)\n return\n }\n\n moveFocus('down')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n\n if (\n focusedId &&\n firstRootFocusableId &&\n lastRootFocusableId &&\n focusedId === firstRootFocusableId\n ) {\n setFocusedId(lastRootFocusableId)\n return\n }\n\n moveFocus('up')\n }\n },\n [firstRootFocusableId, focusedId, lastRootFocusableId, moveFocus, setFocusedId],\n )\n\n if (isLoading && !rootNodes) {\n return (\n <div className={baseClass}>\n <DelayedSpinner baseClass={baseClass} isLoading={true} />\n </div>\n )\n }\n\n if (!rootNodes || rootNodes.length === 0) {\n const collectionLabel = getEntityConfig({ collectionSlug })\n return (\n <div className={baseClass}>\n <CreateDocumentButton\n buttonStyle=\"primary\"\n collections={[{ collectionSlug }]}\n drawerSlug={createDrawerSlug}\n label={t('general:createNewLabel', {\n label: getTranslation(collectionLabel.labels.singular, i18n),\n })}\n onSave={async () => {\n await refresh()\n router.refresh()\n }}\n />\n </div>\n )\n }\n\n const isAllSelected = selectedNodeId === null\n const handleAllClick = () => onNodeClick?.({ id: null })\n\n return (\n <div\n className={baseClass}\n onKeyDown={handleTreeKeyDown}\n ref={treeRef}\n role=\"tree\"\n tabIndex={-1}\n >\n <div className={`${baseClass}__all-option-wrapper`}>\n <div\n aria-selected={isAllSelected}\n className={[\n `${baseClass}__all-option`,\n 'sidebar-row',\n isAllSelected && `${baseClass}__all-option--selected`,\n isAllSelected && 'sidebar-row--selected',\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={handleAllClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n handleAllClick()\n }\n }}\n role=\"treeitem\"\n tabIndex={0}\n >\n <span className=\"sidebar-row__title\">\n {t('general:all')}{' '}\n {getTranslation(getEntityConfig({ collectionSlug })?.labels?.plural, i18n)}\n </span>\n </div>\n {canCreate && (\n <>\n <Button\n aria-label={t('general:createNew')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__create-button`}\n margin={false}\n onClick={() => {\n setIsCreateDrawerOpen(true)\n openModal(createDrawerSlug)\n }}\n >\n <PlusIcon size={24} />\n </Button>\n {isCreateDrawerOpen && (\n <DocumentDrawer\n collectionSlug={collectionSlug}\n drawerSlug={createDrawerSlug}\n initialData={parentFieldName ? { [parentFieldName]: null } : undefined}\n onSave={async () => {\n closeModal(createDrawerSlug)\n setIsCreateDrawerOpen(false)\n await refresh()\n router.refresh()\n }}\n redirectAfterCreate={false}\n />\n )}\n </>\n )}\n </div>\n {rootNodes.map((node) => {\n const nodeId: number | string = node.id\n const nodeIdStr = typeof nodeId === 'number' ? String(nodeId) : nodeId\n const nodeTitle = getDocumentTitle(node, useAsTitle)\n\n return (\n <TreeNode\n allPossibleTypeValues={allPossibleTypeValues}\n baseFilter={baseFilter}\n cache={childrenCache}\n collectionSlug={collectionSlug}\n depth={0}\n expandedNodes={expandedNodes}\n filterByCollections={filterByCollections}\n icon={icon}\n key={nodeIdStr}\n limit={treeLimit}\n node={{ id: nodeId, hasChildren: true, title: nodeTitle }}\n onSelect={handleNodeClick}\n onToggle={handleToggleNode}\n parentFieldName={parentFieldName}\n selected={nodeIdStr === String(selectedNodeId)}\n selectedNodeId={selectedNodeId}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n })}\n {hasMore && (\n <LoadMore\n currentCount={rootNodes.length}\n depth={0}\n id=\"load-more-root\"\n onLoadMore={handleLoadMore}\n totalDocs={totalDocs}\n />\n )}\n </div>\n )\n}\n\nexport const HierarchyTree: React.FC<HierarchyTreeProps> = (props) => {\n return (\n <TreeFocusProvider>\n <HierarchyTreeInner {...props} />\n </TreeFocusProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAgD,MAAM,OAAO,CAAA;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAanD,OAAO,aAAa,CAAA;AAIpB;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA2JpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAgD,MAAM,OAAO,CAAA;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAanD,OAAO,aAAa,CAAA;AAIpB;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA0JpD,CAAA"}
@@ -127,7 +127,7 @@ export const ListControls = props => {
127
127
  className: `${baseClass}__toggle-where`,
128
128
  extraButtonProps: {
129
129
  "aria-controls": `${baseClass}-where`,
130
- "aria-expanded": visibleDrawer === "where"
130
+ "aria-expanded": isWhereOpen
131
131
  },
132
132
  icon: _jsx(ChevronIcon, {
133
133
  direction: isWhereOpen ? "up" : "down",
@@ -172,7 +172,6 @@ export const ListControls = props => {
172
172
  className: `${baseClass}__popup`,
173
173
  horizontalAlign: "right",
174
174
  id: "list-menu",
175
- size: "medium",
176
175
  verticalAlign: "bottom",
177
176
  children: _jsx(PopupList.ButtonGroup, {
178
177
  children: listMenuItems.map(_temp)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useWindowInfo","React","Fragment","useEffect","useRef","useState","Popup","PopupList","ChevronIcon","Dots","useListQuery","useTranslation","Button","ListColumnSelectionButton","ListGroupByButton","ListWhereBuilder","QueryPresetBar","ListSearchFilter","baseClass","ListControls","props","$","beforeActions","collectionConfig","collectionSlug","disableQueryPresets","enableColumns","t0","enableFilters","t1","enableSort","t2","hasCreatePermission","isWhereOpen","isWhereOpenFromProps","listMenuItems","newDocumentURL","onWhereToggle","queryPreset","activePreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","undefined","isControlled","handleSearchChange","hasActiveFilters","query","t","breakpoints","t3","s","smallBreak","searchLabelTranslated","label","split","hasWhereParam","Boolean","where","visibleDrawer","setVisibleDrawer","t4","current","t5","t6","t7","handleWhereToggle","_jsxs","className","children","_jsx","onSearchChange","searchQueryParam","search","enableQueryPresets","buttonStyle","extraButtonProps","icon","direction","size","onClick","selected","slug","fields","el","id","to","Array","isArray","length","button","ariaLabel","horizontalAlign","verticalAlign","ButtonGroup","map","_temp","collectionPluralLabel","labels","plural","onEmptyRemove","item","i"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport type { ListControlsProps } from './types.js'\n\nimport { Popup, PopupList } from '../../elements/Popup/index.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { Dots } from '../../icons/Dots/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { ListColumnSelectionButton } from '../ListColumnSelectionButton/index.js'\nimport { ListGroupByButton } from '../ListGroupByButton/index.js'\nimport { ListWhereBuilder } from '../ListWhereBuilder/index.js'\nimport { QueryPresetBar } from '../QueryPresets/QueryPresetBar/index.js'\nimport { ListSearchFilter } from '../Search/ListSearchFilter/index.js'\nimport './index.css'\n\nconst baseClass = 'list-controls'\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n beforeActions,\n collectionConfig,\n collectionSlug,\n disableQueryPresets,\n enableColumns = true,\n enableFilters = true,\n enableSort = false,\n hasCreatePermission,\n isWhereOpen: isWhereOpenFromProps,\n listMenuItems,\n newDocumentURL,\n onWhereToggle,\n queryPreset: activePreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n\n const isControlled = typeof onWhereToggle === 'function'\n\n const { handleSearchChange, hasActiveFilters, query } = useListQuery()\n\n const { t } = useTranslation()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n // Simplified placeholder - just \"Search\" instead of \"Search by X, Y, Z\"\n const searchLabelTranslated = t('general:searchBy', { label: '' }).split(' ')[0]\n\n const hasWhereParam = useRef(Boolean(query?.where))\n\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n hasActiveFilters ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, query?.where])\n\n const isWhereOpen = isControlled ? Boolean(isWhereOpenFromProps) : visibleDrawer === 'where'\n const handleWhereToggle = isControlled\n ? onWhereToggle\n : () => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__search-row`}>\n <div className={`${baseClass}__left`}>\n <ListSearchFilter\n key={collectionSlug}\n label={searchLabelTranslated}\n onSearchChange={handleSearchChange}\n searchQueryParam={query?.search}\n />\n {collectionConfig?.enableQueryPresets && !disableQueryPresets && (\n <QueryPresetBar\n activePreset={activePreset}\n collectionSlug={collectionSlug}\n queryPresetPermissions={queryPresetPermissions}\n />\n )}\n </div>\n <div className={`${baseClass}__spacer`} />\n <div className={`${baseClass}__actions`}>\n {!smallBreak && beforeActions}\n {enableFilters && (\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__toggle-where`}\n extraButtonProps={{\n 'aria-controls': `${baseClass}-where`,\n 'aria-expanded': visibleDrawer === 'where',\n }}\n icon={<ChevronIcon direction={isWhereOpen ? 'up' : 'down'} size={16} />}\n id=\"toggle-list-filters\"\n onClick={handleWhereToggle}\n selected={isWhereOpen || hasActiveFilters}\n size=\"medium\"\n >\n {t('general:filters')}\n </Button>\n )}\n <ListGroupByButton\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig.fields}\n />\n {enableColumns && <ListColumnSelectionButton collectionSlug={collectionConfig.slug} />}\n {enableSort && (\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__toggle-sort`}\n extraButtonProps={{\n 'aria-controls': `${baseClass}-sort`,\n 'aria-expanded': visibleDrawer === 'sort',\n }}\n icon={<ChevronIcon size={16} />}\n id=\"toggle-list-sort\"\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n size=\"medium\"\n >\n {t('general:sort')}\n </Button>\n )}\n {hasCreatePermission && newDocumentURL && (\n <Button\n buttonStyle=\"primary\"\n className={`${baseClass}__create-new`}\n el=\"link\"\n id=\"create-new-doc\"\n size=\"medium\"\n to={newDocumentURL}\n >\n {t('general:createNew')}\n </Button>\n )}\n {listMenuItems && Array.isArray(listMenuItems) && listMenuItems.length > 0 && (\n <Popup\n button={<Dots ariaLabel={t('general:moreOptions')} />}\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n id=\"list-menu\"\n size=\"medium\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {listMenuItems.map((item, i) => (\n <Fragment key={`list-menu-item-${i}`}>{item}</Fragment>\n ))}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n {!isControlled && isWhereOpen && (\n <div className={`${baseClass}__where`} id={`${baseClass}-where`}>\n <ListWhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig?.fields}\n onEmptyRemove={() => setVisibleDrawer(undefined)}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useWindowInfo","React","Fragment","useEffect","useRef","useState","Popup","PopupList","ChevronIcon","Dots","useListQuery","useTranslation","Button","ListColumnSelectionButton","ListGroupByButton","ListWhereBuilder","QueryPresetBar","ListSearchFilter","baseClass","ListControls","props","$","beforeActions","collectionConfig","collectionSlug","disableQueryPresets","enableColumns","t0","enableFilters","t1","enableSort","t2","hasCreatePermission","isWhereOpen","isWhereOpenFromProps","listMenuItems","newDocumentURL","onWhereToggle","queryPreset","activePreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","undefined","isControlled","handleSearchChange","hasActiveFilters","query","t","breakpoints","t3","s","smallBreak","searchLabelTranslated","label","split","hasWhereParam","Boolean","where","visibleDrawer","setVisibleDrawer","t4","current","t5","t6","t7","handleWhereToggle","_jsxs","className","children","_jsx","onSearchChange","searchQueryParam","search","enableQueryPresets","buttonStyle","extraButtonProps","icon","direction","size","onClick","selected","slug","fields","el","id","to","Array","isArray","length","button","ariaLabel","horizontalAlign","verticalAlign","ButtonGroup","map","_temp","collectionPluralLabel","labels","plural","onEmptyRemove","item","i"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport type { ListControlsProps } from './types.js'\n\nimport { Popup, PopupList } from '../../elements/Popup/index.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { Dots } from '../../icons/Dots/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { ListColumnSelectionButton } from '../ListColumnSelectionButton/index.js'\nimport { ListGroupByButton } from '../ListGroupByButton/index.js'\nimport { ListWhereBuilder } from '../ListWhereBuilder/index.js'\nimport { QueryPresetBar } from '../QueryPresets/QueryPresetBar/index.js'\nimport { ListSearchFilter } from '../Search/ListSearchFilter/index.js'\nimport './index.css'\n\nconst baseClass = 'list-controls'\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n beforeActions,\n collectionConfig,\n collectionSlug,\n disableQueryPresets,\n enableColumns = true,\n enableFilters = true,\n enableSort = false,\n hasCreatePermission,\n isWhereOpen: isWhereOpenFromProps,\n listMenuItems,\n newDocumentURL,\n onWhereToggle,\n queryPreset: activePreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n\n const isControlled = typeof onWhereToggle === 'function'\n\n const { handleSearchChange, hasActiveFilters, query } = useListQuery()\n\n const { t } = useTranslation()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n // Simplified placeholder - just \"Search\" instead of \"Search by X, Y, Z\"\n const searchLabelTranslated = t('general:searchBy', { label: '' }).split(' ')[0]\n\n const hasWhereParam = useRef(Boolean(query?.where))\n\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n hasActiveFilters ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, query?.where])\n\n const isWhereOpen = isControlled ? Boolean(isWhereOpenFromProps) : visibleDrawer === 'where'\n const handleWhereToggle = isControlled\n ? onWhereToggle\n : () => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__search-row`}>\n <div className={`${baseClass}__left`}>\n <ListSearchFilter\n key={collectionSlug}\n label={searchLabelTranslated}\n onSearchChange={handleSearchChange}\n searchQueryParam={query?.search}\n />\n {collectionConfig?.enableQueryPresets && !disableQueryPresets && (\n <QueryPresetBar\n activePreset={activePreset}\n collectionSlug={collectionSlug}\n queryPresetPermissions={queryPresetPermissions}\n />\n )}\n </div>\n <div className={`${baseClass}__spacer`} />\n <div className={`${baseClass}__actions`}>\n {!smallBreak && beforeActions}\n {enableFilters && (\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__toggle-where`}\n extraButtonProps={{\n 'aria-controls': `${baseClass}-where`,\n 'aria-expanded': isWhereOpen,\n }}\n icon={<ChevronIcon direction={isWhereOpen ? 'up' : 'down'} size={16} />}\n id=\"toggle-list-filters\"\n onClick={handleWhereToggle}\n selected={isWhereOpen || hasActiveFilters}\n size=\"medium\"\n >\n {t('general:filters')}\n </Button>\n )}\n <ListGroupByButton\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig.fields}\n />\n {enableColumns && <ListColumnSelectionButton collectionSlug={collectionConfig.slug} />}\n {enableSort && (\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__toggle-sort`}\n extraButtonProps={{\n 'aria-controls': `${baseClass}-sort`,\n 'aria-expanded': visibleDrawer === 'sort',\n }}\n icon={<ChevronIcon size={16} />}\n id=\"toggle-list-sort\"\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n size=\"medium\"\n >\n {t('general:sort')}\n </Button>\n )}\n {hasCreatePermission && newDocumentURL && (\n <Button\n buttonStyle=\"primary\"\n className={`${baseClass}__create-new`}\n el=\"link\"\n id=\"create-new-doc\"\n size=\"medium\"\n to={newDocumentURL}\n >\n {t('general:createNew')}\n </Button>\n )}\n {listMenuItems && Array.isArray(listMenuItems) && listMenuItems.length > 0 && (\n <Popup\n button={<Dots ariaLabel={t('general:moreOptions')} />}\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n id=\"list-menu\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {listMenuItems.map((item, i) => (\n <Fragment key={`list-menu-item-${i}`}>{item}</Fragment>\n ))}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n {!isControlled && isWhereOpen && (\n <div className={`${baseClass}__where`} id={`${baseClass}-where`}>\n <ListWhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig?.fields}\n onEmptyRemove={() => setVisibleDrawer(undefined)}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,aAAa,QAAQ;AAC9B,OAAOC,KAAA,IAASC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAI7D,SAASC,KAAK,EAAEC,SAAS,QAAQ;AACjC,SAASC,WAAW,QAAQ;AAC5B,SAASC,IAAI,QAAQ;AACrB,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,iBAAiB,QAAQ;AAClC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAC/B,SAASC,gBAAgB,QAAQ;AACjC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB;;;;;AAKA,OAAO,MAAMC,YAAA,GAA4CC,KAAA;EAAA,MAAAC,CAAA,GAAAtB,EAAA;EACvD;IAAAuB,aAAA;IAAAC,gBAAA;IAAAC,cAAA;IAAAC,mBAAA;IAAAC,aAAA,EAAAC,EAAA;IAAAC,aAAA,EAAAC,EAAA;IAAAC,UAAA,EAAAC,EAAA;IAAAC,mBAAA;IAAAC,WAAA,EAAAC,oBAAA;IAAAC,aAAA;IAAAC,cAAA;IAAAC,aAAA;IAAAC,WAAA,EAAAC,YAAA;IAAAC,sBAAA;IAAAC,eAAA;IAAAC;EAAA,IAiBItB,KAAA;EAZF,MAAAM,aAAA,GAAAC,EAAoB,KAAAgB,SAAA,UAApBhB,EAAoB;EACpB,MAAAC,aAAA,GAAAC,EAAoB,KAAAc,SAAA,UAApBd,EAAoB;EACpB,MAAAC,UAAA,GAAAC,EAAkB,KAAAY,SAAA,WAAlBZ,EAAkB;EAYpB,MAAAa,YAAA,GAAqB,OAAOP,aAAA,KAAkB;EAE9C;IAAAQ,kBAAA;IAAAC,gBAAA;IAAAC;EAAA,IAAwDrC,YAAA;EAExD;IAAAsC;EAAA,IAAcrC,cAAA;EAEd;IAAAsC,WAAA,EAAAC;EAAA,IAEIlD,aAAA;EADW;IAAAmD,CAAA,EAAAC;EAAA,IAAAF,EAAiB;EAIhC,MAAAG,qBAAA,GAA8BL,CAAA,CAAE;IAAAM,KAAA,EAA6B;EAAA,CAAG,EAAAC,KAAA,CAAS,IAAI;EAE7E,MAAAC,aAAA,GAAsBpD,MAAA,CAAOqD,OAAA,CAAQV,KAAA,EAAAW,KAAO;EAE5C,OAAAC,aAAA,EAAAC,gBAAA,IAA0CvD,QAAA,CACxCyC,gBAAA,GAAmB,UAAAH,SAAU;EAAA,IAAAkB,EAAA;EAAA,IAAAxC,CAAA,QAAA0B,KAAA,EAAAW,KAAA;IAGrBG,EAAA,GAAAA,CAAA;MAAA,IACJL,aAAA,CAAAM,OAAA,KAA0Bf,KAAA,EAAAW,KAAO;QACnCF,aAAA,CAAAM,OAAA;MAAA;QAAA,IACSf,KAAA,EAAAW,KAAA;UACTF,aAAA,CAAAM,OAAA;QAAA;MAAA;IAAA;IAEJzC,CAAA,MAAA0B,KAAA,EAAAW,KAAA;IAAArC,CAAA,MAAAwC,EAAA;EAAA;IAAAA,EAAA,GAAAxC,CAAA;EAAA;EAAsB,MAAA0C,EAAA,GAAAhB,KAAA,EAAAW,KAAA;EAAO,IAAAM,EAAA;EAAA,IAAA3C,CAAA,QAAA0C,EAAA;IAA1BC,EAAA,IAACJ,gBAAA,EAAkBG,EAAO;IAAM1C,CAAA,MAAA0C,EAAA;IAAA1C,CAAA,MAAA2C,EAAA;EAAA;IAAAA,EAAA,GAAA3C,CAAA;EAAA;EANnClB,SAAA,CAAU0D,EAMV,EAAGG,EAAgC;EAEnC,MAAA/B,WAAA,GAAoBW,YAAA,GAAea,OAAA,CAAQvB,oBAAA,IAAwByB,aAAA,KAAkB;EAAA,IAAAM,EAAA;EAAA,IAAA5C,CAAA,QAAAuB,YAAA,IAAAvB,CAAA,QAAAgB,aAAA,IAAAhB,CAAA,QAAAsC,aAAA;IAC3DM,EAAA,GAAArB,YAAA,GACtBP,aAAA,SACMuB,gBAAA,CAAiBD,aAAA,KAAkB,UAAU,UAAAhB,SAAU;IAAAtB,CAAA,MAAAuB,YAAA;IAAAvB,CAAA,MAAAgB,aAAA;IAAAhB,CAAA,MAAAsC,aAAA;IAAAtC,CAAA,MAAA4C,EAAA;EAAA;IAAAA,EAAA,GAAA5C,CAAA;EAAA;EAFjE,MAAA6C,iBAAA,GAA0BD,EAEuC;EAAA,OAG/DE,KAAA,CAAC;IAAAC,SAAA,EAAAlD,SAAA;IAAAmD,QAAA,GACCF,KAAA,CAAC;MAAAC,SAAA,EAAe,GAAAlD,SAAA,cAA0B;MAAAmD,QAAA,GACxCF,KAAA,CAAC;QAAAC,SAAA,EAAe,GAAAlD,SAAA,QAAoB;QAAAmD,QAAA,GAClCC,IAAA,CAAArD,gBAAA;UAAAqC,KAAA,EAESD,qBAAA;UAAAkB,cAAA,EACS1B,kBAAA;UAAA2B,gBAAA,EACEzB,KAAA,EAAA0B;QAAA,GAHbjD,cAAA,GAKND,gBAAA,EAAAmD,kBAAA,KAAyCjD,mBAAA,IACxC6C,IAAA,CAAAtD,cAAA;UAAAuB,YAAA;UAAAf,cAAA;UAAAgB;QAAA,C;UAOJ8B,IAAA,CAAC;QAAAF,SAAA,EAAe,GAAAlD,SAAA;MAAsB,C,GACtCiD,KAAA,CAAC;QAAAC,SAAA,EAAe,GAAAlD,SAAA,WAAuB;QAAAmD,QAAA,GACpC,CAACjB,UAAA,IAAc9B,aAAA,EACfM,aAAA,IACC0C,IAAA,CAAA1D,MAAA;UAAA+D,WAAA,EACc;UAAAP,SAAA,EACD,GAAAlD,SAAA,gBAA4B;UAAA0D,gBAAA;YAAA,iBAEpB,GAAA1D,SAAA,QAAoB;YAAA,iBACpBe;UAAA;UAAA4C,IAAA,EAEbP,IAAA,CAAA9D,WAAA;YAAAsE,SAAA,EAAwB7C,WAAA,GAAc,OAAO;YAAA8C,IAAA;UAAA,C;cAChD;UAAAC,OAAA,EACMd,iBAAA;UAAAe,QAAA,EACChD,WAAA,IAAea,gBAAA;UAAAiC,IAAA,EACpB;UAAAV,QAAA,EAEJrB,CAAA,CAAE;QAAA,C,GAGPsB,IAAA,CAAAxD,iBAAA;UAAAU,cAAA,EACkBD,gBAAA,CAAA2D,IAAA;UAAAC,MAAA,EACR5D,gBAAA,CAAA4D;QAAA,C,GAETzD,aAAA,IAAiB4C,IAAA,CAAAzD,yBAAA;UAAAW,cAAA,EAA2CD,gBAAA,CAAA2D;QAAA,C,GAC5DpD,UAAA,IACCwC,IAAA,CAAA1D,MAAA;UAAA+D,WAAA,EACc;UAAAP,SAAA,EACD,GAAAlD,SAAA,eAA2B;UAAA0D,gBAAA;YAAA,iBAEnB,GAAA1D,SAAA,OAAmB;YAAA,iBACnByC,aAAA,KAAkB;UAAA;UAAAkB,IAAA,EAE/BP,IAAA,CAAA9D,WAAA;YAAAuE,IAAA;UAAA,C;cACH;UAAAC,OAAA,EAAAA,CAAA,KACYpB,gBAAA,CAAiBD,aAAA,KAAkB,SAAS,SAAAhB,SAAS;UAAAoC,IAAA,EAC/D;UAAAV,QAAA,EAEJrB,CAAA,CAAE;QAAA,C,GAGNhB,mBAAA,IAAuBI,cAAA,IACtBkC,IAAA,CAAA1D,MAAA;UAAA+D,WAAA,EACc;UAAAP,SAAA,EACD,GAAAlD,SAAA,cAA0B;UAAAkE,EAAA,EAClC;UAAAC,EAAA,EACA;UAAAN,IAAA,EACE;UAAAO,EAAA,EACDlD,cAAA;UAAAiC,QAAA,EAEHrB,CAAA,CAAE;QAAA,C,GAGNb,aAAA,IAAiBoD,KAAA,CAAAC,OAAA,CAAcrD,aAAA,KAAkBA,aAAA,CAAAsD,MAAA,IAAuB,IACvEnB,IAAA,CAAAhE,KAAA;UAAAoF,MAAA,EACUpB,IAAA,CAAA7D,IAAA;YAAAkF,SAAA,EAAiB3C,CAAA,CAAE;UAAA,C;qBAChB,GAAA9B,SAAA,SAAqB;UAAA0E,eAAA,EAChB;UAAAP,EAAA,EACb;UAAAQ,aAAA,EACW;UAAAxB,QAAA,EAEdC,IAAA,CAAA/D,SAAA,CAAAuF,WAAA;YAAAzB,QAAA,EACGlC,aAAA,CAAA4D,GAAA,CAAAC,KACqC;UAAA,C;;;QAO/C,CAACpD,YAAA,IAAgBX,WAAA,IAChBqC,IAAA,CAAC;MAAAF,SAAA,EAAe,GAAAlD,SAAA,SAAqB;MAAAmE,EAAA,EAAM,GAAAnE,SAAA,QAAoB;MAAAmD,QAAA,EAC7DC,IAAA,CAAAvD,gBAAA;QAAAkF,qBAAA,EACyB1E,gBAAA,EAAA2E,MAAA,EAAAC,MAAA;QAAA3E,cAAA,EACPD,gBAAA,CAAA2D,IAAA;QAAAC,MAAA,EACR5D,gBAAA,EAAA4D,MAAA;QAAAiB,aAAA,EAAAA,CAAA,KACaxC,gBAAA,CAAAjB,SAAiB;QAAAF,eAAA;QAAAC;MAAA,C;;;CAQlD;AA1JyD,SAAAsD,MAAAK,IAAA,EAAAC,CAAA;EAAA,OAqIvChC,IAAA,CAAApE,QAAA;IAAAmE,QAAA,EAAuCgC;EAAA,GAAxB,kBAAkBC,CAAA,EAAG;AAAA","ignoreList":[]}
@@ -168,7 +168,7 @@ export const ListDrawerContent = ({
168
168
  DocumentDrawerToggler: DocumentDrawerToggler,
169
169
  drawerSlug: drawerSlug,
170
170
  enabledCollections: collectionSlugs,
171
- onBulkSelect: onBulkSelect,
171
+ onBulkSelect: selected => onBulkSelect?.(selected, selectedOption.value),
172
172
  onQueryChange: onQueryChange,
173
173
  onSelect: onSelect,
174
174
  refresh: refreshSelf,
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["useModal","hoistQueryParamsToAnd","React","useCallback","useEffect","useState","useDocumentDrawer","useEffectEvent","useConfig","useServerFunctions","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","disableQueryPresets","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","collectionSlugFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","updateSelectedOption","refresh","query","newQuery","where","filterOption","result","name","args","disableBulkDelete","disableBulkEdit","List","_err","console","error","onCreateNew","doc","docID","id","onQueryChange","setMySelectedOption","incomingSelection","refreshSelf","incomingCollectionSlug","_jsxs","createNewDrawerSlug","_Fragment","_jsx","className","onSave","animationDuration","overlayType","show"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { CollectionSlug, ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { hoistQueryParamsToAnd } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerContextProps, ListDrawerContextType } from '../ListDrawer/Provider.js'\nimport type {\n ListDrawerProps,\n RenderListServerFnArgs,\n RenderListServerFnReturnType,\n} from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: collectionSlugFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = collectionSlugFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection })\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n\n const updateSelectedOption = useEffectEvent((collectionSlug: CollectionSlug) => {\n if (collectionSlug && collectionSlug !== selectedOption?.value) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug })?.labels,\n value: collectionSlug,\n })\n }\n })\n\n useEffect(() => {\n updateSelectedOption(collectionSlugFromProps)\n }, [collectionSlugFromProps])\n\n /**\n * This performs a full server round trip to get the list view for the selected collection.\n * On the server, the data is freshly queried for the list view and all components are fully rendered.\n * This work includes building column state, rendering custom components, etc.\n */\n const refresh = useCallback(\n async ({ slug, query }: { query?: ListQuery; slug: string }) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n if (slug) {\n const result: RenderListServerFnReturnType = (await serverFunction({\n name: 'render-list',\n args: {\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n } satisfies RenderListServerFnArgs,\n })) as RenderListServerFnReturnType\n\n setListView(result?.List || null)\n } else {\n setListView(null)\n }\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n disableQueryPresets,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void refresh({ slug: selectedOption?.value })\n }\n }, [refresh, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption?.value,\n doc,\n docID: doc.id,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange: ListDrawerContextProps['onQueryChange'] = useCallback(\n (query) => {\n void refresh({ slug: selectedOption?.value, query })\n },\n [refresh, selectedOption.value],\n )\n\n const setMySelectedOption: ListDrawerContextProps['setSelectedOption'] = useCallback(\n (incomingSelection) => {\n setSelectedOption(incomingSelection)\n void refresh({ slug: incomingSelection?.value })\n },\n [refresh],\n )\n\n const refreshSelf: ListDrawerContextType['refresh'] = useCallback(\n async (incomingCollectionSlug) => {\n if (incomingCollectionSlug) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug: incomingCollectionSlug })?.labels,\n value: incomingCollectionSlug,\n })\n }\n\n await refresh({ slug: selectedOption.value || incomingCollectionSlug })\n },\n [getEntityConfig, refresh, selectedOption.value],\n )\n\n return (\n <ListDrawerContextProvider\n allowCreate={allowCreate}\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={onBulkSelect}\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n refresh={refreshSelf}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {!isLoading && (\n <>\n <div className=\"drawer__fade-in\">{ListView}</div>\n <DocumentDrawer onSave={onCreateNew} />\n </>\n )}\n <LoadingOverlay animationDuration=\"200ms\" overlayType=\"drawer\" show={isLoading} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["useModal","hoistQueryParamsToAnd","React","useCallback","useEffect","useState","useDocumentDrawer","useEffectEvent","useConfig","useServerFunctions","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","disableQueryPresets","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","collectionSlugFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","updateSelectedOption","refresh","query","newQuery","where","filterOption","result","name","args","disableBulkDelete","disableBulkEdit","List","_err","console","error","onCreateNew","doc","docID","id","onQueryChange","setMySelectedOption","incomingSelection","refreshSelf","incomingCollectionSlug","_jsxs","createNewDrawerSlug","selected","_Fragment","_jsx","className","onSave","animationDuration","overlayType","show"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { CollectionSlug, ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { hoistQueryParamsToAnd } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerContextProps, ListDrawerContextType } from '../ListDrawer/Provider.js'\nimport type {\n ListDrawerProps,\n RenderListServerFnArgs,\n RenderListServerFnReturnType,\n} from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: collectionSlugFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = collectionSlugFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection })\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n\n const updateSelectedOption = useEffectEvent((collectionSlug: CollectionSlug) => {\n if (collectionSlug && collectionSlug !== selectedOption?.value) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug })?.labels,\n value: collectionSlug,\n })\n }\n })\n\n useEffect(() => {\n updateSelectedOption(collectionSlugFromProps)\n }, [collectionSlugFromProps])\n\n /**\n * This performs a full server round trip to get the list view for the selected collection.\n * On the server, the data is freshly queried for the list view and all components are fully rendered.\n * This work includes building column state, rendering custom components, etc.\n */\n const refresh = useCallback(\n async ({ slug, query }: { query?: ListQuery; slug: string }) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n if (slug) {\n const result: RenderListServerFnReturnType = (await serverFunction({\n name: 'render-list',\n args: {\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n } satisfies RenderListServerFnArgs,\n })) as RenderListServerFnReturnType\n\n setListView(result?.List || null)\n } else {\n setListView(null)\n }\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n disableQueryPresets,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void refresh({ slug: selectedOption?.value })\n }\n }, [refresh, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption?.value,\n doc,\n docID: doc.id,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange: ListDrawerContextProps['onQueryChange'] = useCallback(\n (query) => {\n void refresh({ slug: selectedOption?.value, query })\n },\n [refresh, selectedOption.value],\n )\n\n const setMySelectedOption: ListDrawerContextProps['setSelectedOption'] = useCallback(\n (incomingSelection) => {\n setSelectedOption(incomingSelection)\n void refresh({ slug: incomingSelection?.value })\n },\n [refresh],\n )\n\n const refreshSelf: ListDrawerContextType['refresh'] = useCallback(\n async (incomingCollectionSlug) => {\n if (incomingCollectionSlug) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug: incomingCollectionSlug })?.labels,\n value: incomingCollectionSlug,\n })\n }\n\n await refresh({ slug: selectedOption.value || incomingCollectionSlug })\n },\n [getEntityConfig, refresh, selectedOption.value],\n )\n\n return (\n <ListDrawerContextProvider\n allowCreate={allowCreate}\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={(selected) => onBulkSelect?.(selected, selectedOption.value)}\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n refresh={refreshSelf}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {!isLoading && (\n <>\n <div className=\"drawer__fade-in\">{ListView}</div>\n <DocumentDrawer onSave={onCreateNew} />\n </>\n )}\n <LoadingOverlay animationDuration=\"200ms\" overlayType=\"drawer\" show={isLoading} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ export type ListDrawerContextProps = {
8
8
  readonly DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1];
9
9
  readonly drawerSlug?: string;
10
10
  readonly enabledCollections?: CollectionSlug[];
11
- readonly onBulkSelect?: (selected: ReturnType<typeof useSelection>['selected']) => void;
11
+ readonly onBulkSelect?: (selected: ReturnType<typeof useSelection>['selected'], collectionSlug?: CollectionSlug) => void;
12
12
  readonly onQueryChange?: (query: ListQuery) => void;
13
13
  readonly onSelect?: (args: {
14
14
  collectionSlug: CollectionSlug;
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAI9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAA;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IACvF,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,cAAc,EAAE,cAAc,CAAA;QAC9B,GAAG,EAAE,IAAI,CAAA;QACT;;;;WAIG;QACH,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;CACtE,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACrE,GAAG,sBAAsB,CAAA;AAE1B,eAAO,MAAM,iBAAiB,gDAA6C,CAAA;AAE3E,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;CAC1C,GAAG,sBAAsB,CAO3B,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,qBAQvC,CAAA"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAI9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAA;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,CACtB,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,EACrD,cAAc,CAAC,EAAE,cAAc,KAC5B,IAAI,CAAA;IACT,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,cAAc,EAAE,cAAc,CAAA;QAC9B,GAAG,EAAE,IAAI,CAAA;QACT;;;;WAIG;QACH,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;CACtE,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACrE,GAAG,sBAAsB,CAAA;AAE1B,eAAO,MAAM,iBAAiB,gDAA6C,CAAA;AAE3E,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;CAC1C,GAAG,sBAAsB,CAO3B,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,qBAQvC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","names":["createContext","use","ListDrawerContext","ListDrawerContextProvider","children","rest","_jsx","value","isInDrawer","Boolean","drawerSlug","useListDrawerContext","context","Error"],"sources":["../../../src/elements/ListDrawer/Provider.tsx"],"sourcesContent":["import type { CollectionSlug, Data, ListQuery } from 'payload'\n\nimport { createContext, use } from 'react'\n\nimport type { useSelection } from '../../providers/Selection/index.js'\nimport type { UseDocumentDrawer } from '../DocumentDrawer/types.js'\nimport type { Option } from '../ReactSelect/index.js'\n\nexport type ListDrawerContextProps = {\n readonly allowCreate?: boolean\n readonly createNewDrawerSlug?: string\n readonly DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1]\n readonly drawerSlug?: string\n readonly enabledCollections?: CollectionSlug[]\n readonly onBulkSelect?: (selected: ReturnType<typeof useSelection>['selected']) => void\n readonly onQueryChange?: (query: ListQuery) => void\n readonly onSelect?: (args: {\n collectionSlug: CollectionSlug\n doc: Data\n /**\n * @deprecated\n * The `docID` property is deprecated and will be removed in the next major version of Payload.\n * Use `doc.id` instead.\n */\n docID: string\n }) => void\n readonly selectedOption?: Option<CollectionSlug>\n readonly setSelectedOption?: (option: Option<CollectionSlug>) => void\n}\n\nexport type ListDrawerContextType = {\n readonly isInDrawer: boolean\n /**\n * When called, will either refresh the list view with its currently selected collection.\n * If an collection slug is provided, will use that instead of the currently selected one.\n */\n readonly refresh: (collectionSlug?: CollectionSlug) => Promise<void>\n} & ListDrawerContextProps\n\nexport const ListDrawerContext = createContext({} as ListDrawerContextType)\n\nexport const ListDrawerContextProvider: React.FC<\n {\n children: React.ReactNode\n refresh: ListDrawerContextType['refresh']\n } & ListDrawerContextProps\n> = ({ children, ...rest }) => {\n return (\n <ListDrawerContext value={{ isInDrawer: Boolean(rest.drawerSlug), ...rest }}>\n {children}\n </ListDrawerContext>\n )\n}\n\nexport const useListDrawerContext = (): ListDrawerContextType => {\n const context = use(ListDrawerContext)\n\n if (!context) {\n throw new Error('useListDrawerContext must be used within a ListDrawerContextProvider')\n }\n\n return context\n}\n"],"mappings":";AAEA,SAASA,aAAa,EAAEC,GAAG,QAAQ;AAqCnC,OAAO,MAAMC,iBAAA,gBAAoBF,aAAA,CAAc,CAAC;AAEhD,OAAO,MAAMG,yBAAA,GAKTA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAA,CAAM;EACxB,oBACEC,IAAA,CAACJ,iBAAA;IAAkBK,KAAA,EAAO;MAAEC,UAAA,EAAYC,OAAA,CAAQJ,IAAA,CAAKK,UAAU;MAAG,GAAGL;IAAK;cACvED;;AAGP;AAEA,OAAO,MAAMO,oBAAA,GAAuBA,CAAA;EAClC,MAAMC,OAAA,GAAUX,GAAA,CAAIC,iBAAA;EAEpB,IAAI,CAACU,OAAA,EAAS;IACZ,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,OAAOD,OAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"Provider.js","names":["createContext","use","ListDrawerContext","ListDrawerContextProvider","children","rest","_jsx","value","isInDrawer","Boolean","drawerSlug","useListDrawerContext","context","Error"],"sources":["../../../src/elements/ListDrawer/Provider.tsx"],"sourcesContent":["import type { CollectionSlug, Data, ListQuery } from 'payload'\n\nimport { createContext, use } from 'react'\n\nimport type { useSelection } from '../../providers/Selection/index.js'\nimport type { UseDocumentDrawer } from '../DocumentDrawer/types.js'\nimport type { Option } from '../ReactSelect/index.js'\n\nexport type ListDrawerContextProps = {\n readonly allowCreate?: boolean\n readonly createNewDrawerSlug?: string\n readonly DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1]\n readonly drawerSlug?: string\n readonly enabledCollections?: CollectionSlug[]\n readonly onBulkSelect?: (\n selected: ReturnType<typeof useSelection>['selected'],\n collectionSlug?: CollectionSlug,\n ) => void\n readonly onQueryChange?: (query: ListQuery) => void\n readonly onSelect?: (args: {\n collectionSlug: CollectionSlug\n doc: Data\n /**\n * @deprecated\n * The `docID` property is deprecated and will be removed in the next major version of Payload.\n * Use `doc.id` instead.\n */\n docID: string\n }) => void\n readonly selectedOption?: Option<CollectionSlug>\n readonly setSelectedOption?: (option: Option<CollectionSlug>) => void\n}\n\nexport type ListDrawerContextType = {\n readonly isInDrawer: boolean\n /**\n * When called, will either refresh the list view with its currently selected collection.\n * If an collection slug is provided, will use that instead of the currently selected one.\n */\n readonly refresh: (collectionSlug?: CollectionSlug) => Promise<void>\n} & ListDrawerContextProps\n\nexport const ListDrawerContext = createContext({} as ListDrawerContextType)\n\nexport const ListDrawerContextProvider: React.FC<\n {\n children: React.ReactNode\n refresh: ListDrawerContextType['refresh']\n } & ListDrawerContextProps\n> = ({ children, ...rest }) => {\n return (\n <ListDrawerContext value={{ isInDrawer: Boolean(rest.drawerSlug), ...rest }}>\n {children}\n </ListDrawerContext>\n )\n}\n\nexport const useListDrawerContext = (): ListDrawerContextType => {\n const context = use(ListDrawerContext)\n\n if (!context) {\n throw new Error('useListDrawerContext must be used within a ListDrawerContextProvider')\n }\n\n return context\n}\n"],"mappings":";AAEA,SAASA,aAAa,EAAEC,GAAG,QAAQ;AAwCnC,OAAO,MAAMC,iBAAA,gBAAoBF,aAAA,CAAc,CAAC;AAEhD,OAAO,MAAMG,yBAAA,GAKTA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAA,CAAM;EACxB,oBACEC,IAAA,CAACJ,iBAAA;IAAkBK,KAAA,EAAO;MAAEC,UAAA,EAAYC,OAAA,CAAQJ,IAAA,CAAKK,UAAU;MAAG,GAAGL;IAAK;cACvED;;AAGP;AAEA,OAAO,MAAMO,oBAAA,GAAuBA,CAAA;EAClC,MAAMC,OAAA,GAAUX,GAAA,CAAIC,iBAAA;EAEpB,IAAI,CAACU,OAAA,EAAS;IACZ,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,OAAOD,OAAA;AACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ListHeader/DrawerRelationshipSelect/index.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,wBAAwB,mCAiCpC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ListHeader/DrawerRelationshipSelect/index.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,wBAAwB,mCAqCpC,CAAA"}
@@ -64,9 +64,11 @@ export const DrawerRelationshipSelect = () => {
64
64
  t1 = _jsxs("div", {
65
65
  className: `${drawerBaseClass}__select-collection-wrap`,
66
66
  children: [_jsx(FieldLabel, {
67
+ htmlFor: `select-collection__${drawerBaseClass}`,
67
68
  label: t("upload:selectCollectionToBrowse")
68
69
  }), _jsx(ReactSelect, {
69
70
  className: `${listHeaderClass}__select-collection`,
71
+ id: `select-collection__${drawerBaseClass}`,
70
72
  isClearable: false,
71
73
  onChange: setSelectedOption,
72
74
  options: enabledCollectionConfigs.map(t3),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","FieldLabel","useConfig","useTranslation","useListDrawerContext","ReactSelect","listHeaderClass","drawerBaseClass","DrawerRelationshipSelect","$","i18n","t","config","t0","getEntityConfig","collections","enabledCollections","selectedOption","setSelectedOption","t1","Symbol","for","t2","t3","slug","includes","enabledCollectionConfigs","filter","length","activeCollectionConfig","collectionSlug","value","coll","label","labels","singular","_jsxs","className","children","_jsx","isClearable","onChange","options","map"],"sources":["../../../../src/elements/ListHeader/DrawerRelationshipSelect/index.tsx"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { useListDrawerContext } from '../../ListDrawer/Provider.js'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { listHeaderClass } from '../index.js'\n\nconst drawerBaseClass = 'list-drawer'\n\nexport const DrawerRelationshipSelect = () => {\n const { i18n, t } = useTranslation()\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n const { enabledCollections, selectedOption, setSelectedOption } = useListDrawerContext()\n const enabledCollectionConfigs = collections.filter(({ slug }) =>\n enabledCollections.includes(slug),\n )\n if (enabledCollectionConfigs.length > 1) {\n const activeCollectionConfig = getEntityConfig({ collectionSlug: selectedOption.value })\n\n return (\n <div className={`${drawerBaseClass}__select-collection-wrap`}>\n <FieldLabel label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${listHeaderClass}__select-collection`}\n isClearable={false}\n onChange={setSelectedOption}\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={{\n label: getTranslation(activeCollectionConfig?.labels.singular, i18n),\n value: activeCollectionConfig?.slug,\n }}\n />\n </div>\n )\n }\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,cAAc,QAAQ;AAE/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,WAAW,QAAQ;AAC5B,SAASC,eAAe,QAAQ;AAEhC,MAAMC,eAAA,GAAkB;AAExB,OAAO,MAAMC,wBAAA,GAA2BA,CAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EACtC;IAAAW,IAAA;IAAAC;EAAA,IAAoBR,cAAA;EACpB;IAAAS,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAGIZ,SAAA;EAFM;IAAAa;EAAA,IAAAF,EAAe;EAGzB;IAAAG,kBAAA;IAAAC,cAAA;IAAAC;EAAA,IAAkEd,oBAAA;EAAA,IAAAe,EAAA;EAAA,IAAAV,CAAA,QAAAM,WAAA,IAAAN,CAAA,QAAAO,kBAAA,IAAAP,CAAA,QAAAK,eAAA,IAAAL,CAAA,QAAAC,IAAA,IAAAD,CAAA,QAAAQ,cAAA,IAAAR,CAAA,QAAAS,iBAAA,IAAAT,CAAA,QAAAE,CAAA;IAQ9DQ,EAAA,GAAAC,MAAA,CAAAC,GAAA,8B;;;;QAPgDC,EAAA,GAAAC,EAAA;UAAC;YAAAC;UAAA,IAAAD,EAAQ;UAAA,OAC3DP,kBAAA,CAAAS,QAAA,CAA4BD,IAAA;QAAA;QAAAf,CAAA,MAAAO,kBAAA;QAAAP,CAAA,MAAAa,EAAA;MAAA;QAAAA,EAAA,GAAAb,CAAA;MAAA;MAD9B,MAAAiB,wBAAA,GAAiCX,WAAA,CAAAY,MAAA,CAAmBL,EACtB;MAAA,IAE1BI,wBAAA,CAAAE,MAAA,IAAkC;QACpC,MAAAC,sBAAA,GAA+Bf,eAAA;UAAAgB,cAAA,EAAkCb,cAAA,CAAAc;QAAA,CAAqB;QAAA,IAAAR,EAAA;QAAA,IAAAd,CAAA,SAAAC,IAAA;UAS1Ca,EAAA,GAAAS,IAAA;YAAAC,KAAA,EAC7BjC,cAAA,CAAegC,IAAA,CAAAE,MAAA,CAAAC,QAAA,EAAsBzB,IAAA;YAAAqB,KAAA,EACrCC,IAAA,CAAAR;UAAA;UACTf,CAAA,OAAAC,IAAA;UAAAD,CAAA,OAAAc,EAAA;QAAA;UAAAA,EAAA,GAAAd,CAAA;QAAA;QATJU,EAAA,GAAAiB,KAAA,CAAC;UAAAC,SAAA,EAAe,GAAA9B,eAAA,0BAA4C;UAAA+B,QAAA,GAC1DC,IAAA,CAAAtC,UAAA;YAAAgC,KAAA,EAAmBtB,CAAA,CAAE;UAAA,C,GACrB4B,IAAA,CAAAlC,WAAA;YAAAgC,SAAA,EACa,GAAA/B,eAAA,qBAAuC;YAAAkC,WAAA;YAAAC,QAAA,EAExCvB,iBAAA;YAAAwB,OAAA,EACDhB,wBAAA,CAAAiB,GAAA,CAA6BpB,EAGtC;YAAAQ,KAAA;cAAAE,KAAA,EAESjC,cAAA,CAAe6B,sBAAA,EAAAK,MAAA,CAAAC,QAAA,EAAyCzB,IAAA;cAAAqB,KAAA,EACxDF,sBAAA,EAAAL;YAAA;UAAA,C;;;;;;;;;;;;;;;;;;;;CAOnB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","FieldLabel","useConfig","useTranslation","useListDrawerContext","ReactSelect","listHeaderClass","drawerBaseClass","DrawerRelationshipSelect","$","i18n","t","config","t0","getEntityConfig","collections","enabledCollections","selectedOption","setSelectedOption","t1","Symbol","for","t2","t3","slug","includes","enabledCollectionConfigs","filter","length","activeCollectionConfig","collectionSlug","value","coll","label","labels","singular","_jsxs","className","children","_jsx","htmlFor","id","isClearable","onChange","options","map"],"sources":["../../../../src/elements/ListHeader/DrawerRelationshipSelect/index.tsx"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { useListDrawerContext } from '../../ListDrawer/Provider.js'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { listHeaderClass } from '../index.js'\n\nconst drawerBaseClass = 'list-drawer'\n\nexport const DrawerRelationshipSelect = () => {\n const { i18n, t } = useTranslation()\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n const { enabledCollections, selectedOption, setSelectedOption } = useListDrawerContext()\n const enabledCollectionConfigs = collections.filter(({ slug }) =>\n enabledCollections.includes(slug),\n )\n if (enabledCollectionConfigs.length > 1) {\n const activeCollectionConfig = getEntityConfig({ collectionSlug: selectedOption.value })\n\n return (\n <div className={`${drawerBaseClass}__select-collection-wrap`}>\n <FieldLabel\n htmlFor={`select-collection__${drawerBaseClass}`}\n label={t('upload:selectCollectionToBrowse')}\n />\n <ReactSelect\n className={`${listHeaderClass}__select-collection`}\n id={`select-collection__${drawerBaseClass}`}\n isClearable={false}\n onChange={setSelectedOption}\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={{\n label: getTranslation(activeCollectionConfig?.labels.singular, i18n),\n value: activeCollectionConfig?.slug,\n }}\n />\n </div>\n )\n }\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,cAAc,QAAQ;AAE/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,WAAW,QAAQ;AAC5B,SAASC,eAAe,QAAQ;AAEhC,MAAMC,eAAA,GAAkB;AAExB,OAAO,MAAMC,wBAAA,GAA2BA,CAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EACtC;IAAAW,IAAA;IAAAC;EAAA,IAAoBR,cAAA;EACpB;IAAAS,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAGIZ,SAAA;EAFM;IAAAa;EAAA,IAAAF,EAAe;EAGzB;IAAAG,kBAAA;IAAAC,cAAA;IAAAC;EAAA,IAAkEd,oBAAA;EAAA,IAAAe,EAAA;EAAA,IAAAV,CAAA,QAAAM,WAAA,IAAAN,CAAA,QAAAO,kBAAA,IAAAP,CAAA,QAAAK,eAAA,IAAAL,CAAA,QAAAC,IAAA,IAAAD,CAAA,QAAAQ,cAAA,IAAAR,CAAA,QAAAS,iBAAA,IAAAT,CAAA,QAAAE,CAAA;IAQ9DQ,EAAA,GAAAC,MAAA,CAAAC,GAAA,8B;;;;QAPgDC,EAAA,GAAAC,EAAA;UAAC;YAAAC;UAAA,IAAAD,EAAQ;UAAA,OAC3DP,kBAAA,CAAAS,QAAA,CAA4BD,IAAA;QAAA;QAAAf,CAAA,MAAAO,kBAAA;QAAAP,CAAA,MAAAa,EAAA;MAAA;QAAAA,EAAA,GAAAb,CAAA;MAAA;MAD9B,MAAAiB,wBAAA,GAAiCX,WAAA,CAAAY,MAAA,CAAmBL,EACtB;MAAA,IAE1BI,wBAAA,CAAAE,MAAA,IAAkC;QACpC,MAAAC,sBAAA,GAA+Bf,eAAA;UAAAgB,cAAA,EAAkCb,cAAA,CAAAc;QAAA,CAAqB;QAAA,IAAAR,EAAA;QAAA,IAAAd,CAAA,SAAAC,IAAA;UAa1Ca,EAAA,GAAAS,IAAA;YAAAC,KAAA,EAC7BjC,cAAA,CAAegC,IAAA,CAAAE,MAAA,CAAAC,QAAA,EAAsBzB,IAAA;YAAAqB,KAAA,EACrCC,IAAA,CAAAR;UAAA;UACTf,CAAA,OAAAC,IAAA;UAAAD,CAAA,OAAAc,EAAA;QAAA;UAAAA,EAAA,GAAAd,CAAA;QAAA;QAbJU,EAAA,GAAAiB,KAAA,CAAC;UAAAC,SAAA,EAAe,GAAA9B,eAAA,0BAA4C;UAAA+B,QAAA,GAC1DC,IAAA,CAAAtC,UAAA;YAAAuC,OAAA,EACW,sBAAAjC,eAAA,EAAuC;YAAA0B,KAAA,EACzCtB,CAAA,CAAE;UAAA,C,GAEX4B,IAAA,CAAAlC,WAAA;YAAAgC,SAAA,EACa,GAAA/B,eAAA,qBAAuC;YAAAmC,EAAA,EAC9C,sBAAAlC,eAAA,EAAuC;YAAAmC,WAAA;YAAAC,QAAA,EAEjCzB,iBAAA;YAAA0B,OAAA,EACDlB,wBAAA,CAAAmB,GAAA,CAA6BtB,EAGtC;YAAAQ,KAAA;cAAAE,KAAA,EAESjC,cAAA,CAAe6B,sBAAA,EAAAK,MAAA,CAAAC,QAAA,EAAyCzB,IAAA;cAAAqB,KAAA,EACxDF,sBAAA,EAAAL;YAAA;UAAA,C;;;;;;;;;;;;;;;;;;;;CAOnB","ignoreList":[]}
@@ -19,7 +19,7 @@ export function ListBulkUploadButton(t0) {
19
19
  openBulkUpload: openBulkUploadFromProps
20
20
  } = t0;
21
21
  const {
22
- drawerSlug: bulkUploadDrawerSlug,
22
+ modalSlug: bulkUploadModalSlug,
23
23
  setCollectionSlug,
24
24
  setOnSuccess,
25
25
  setParentID
@@ -35,14 +35,14 @@ export function ListBulkUploadButton(t0) {
35
35
  } = useModal();
36
36
  const router = useRouter();
37
37
  let t1;
38
- if ($[0] !== bulkUploadDrawerSlug || $[1] !== collectionSlug || $[2] !== onBulkUploadSuccess || $[3] !== openBulkUploadFromProps || $[4] !== openModal || $[5] !== parent?.id || $[6] !== router || $[7] !== setCollectionSlug || $[8] !== setOnSuccess || $[9] !== setParentID) {
38
+ if ($[0] !== bulkUploadModalSlug || $[1] !== collectionSlug || $[2] !== onBulkUploadSuccess || $[3] !== openBulkUploadFromProps || $[4] !== openModal || $[5] !== parent?.id || $[6] !== router || $[7] !== setCollectionSlug || $[8] !== setOnSuccess || $[9] !== setParentID) {
39
39
  t1 = () => {
40
40
  if (typeof openBulkUploadFromProps === "function") {
41
41
  openBulkUploadFromProps();
42
42
  } else {
43
43
  setCollectionSlug(collectionSlug);
44
44
  setParentID(parent?.id);
45
- openModal(bulkUploadDrawerSlug);
45
+ openModal(bulkUploadModalSlug);
46
46
  setOnSuccess(() => {
47
47
  if (typeof onBulkUploadSuccess === "function") {
48
48
  onBulkUploadSuccess();
@@ -52,7 +52,7 @@ export function ListBulkUploadButton(t0) {
52
52
  });
53
53
  }
54
54
  };
55
- $[0] = bulkUploadDrawerSlug;
55
+ $[0] = bulkUploadModalSlug;
56
56
  $[1] = collectionSlug;
57
57
  $[2] = onBulkUploadSuccess;
58
58
  $[3] = openBulkUploadFromProps;
@@ -1 +1 @@
1
- {"version":3,"file":"ListBulkUploadButton.js","names":["c","_c","useModal","React","useBulkUpload","useHierarchy","useRouter","useTranslation","Button","ListBulkUploadButton","t0","$","collectionSlug","hasCreatePermission","isBulkUploadEnabled","onBulkUploadSuccess","openBulkUpload","openBulkUploadFromProps","drawerSlug","bulkUploadDrawerSlug","setCollectionSlug","setOnSuccess","setParentID","parent","t","openModal","router","t1","id","refresh","t2","_jsx","buttonStyle","onClick","size","children"],"sources":["../../../../src/elements/ListHeader/TitleActions/ListBulkUploadButton.tsx"],"sourcesContent":["'use client'\nimport type { CollectionSlug } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { useBulkUpload } from '../../../elements/BulkUpload/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useRouter } from '../../../providers/RouterAdapter/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\n\nexport function ListBulkUploadButton({\n collectionSlug,\n hasCreatePermission,\n isBulkUploadEnabled,\n onBulkUploadSuccess,\n openBulkUpload: openBulkUploadFromProps,\n}: {\n collectionSlug: CollectionSlug\n hasCreatePermission: boolean\n isBulkUploadEnabled: boolean\n onBulkUploadSuccess?: () => void\n /**\n * @deprecated This prop will be removed in the next major version.\n *\n * Prefer using `onBulkUploadSuccess`\n */\n openBulkUpload?: () => void\n}) {\n const {\n drawerSlug: bulkUploadDrawerSlug,\n setCollectionSlug,\n setOnSuccess,\n setParentID,\n } = useBulkUpload()\n const { parent } = useHierarchy()\n const { t } = useTranslation()\n const { openModal } = useModal()\n const router = useRouter()\n\n const openBulkUpload = React.useCallback(() => {\n if (typeof openBulkUploadFromProps === 'function') {\n openBulkUploadFromProps()\n } else {\n setCollectionSlug(collectionSlug)\n setParentID(parent?.id)\n openModal(bulkUploadDrawerSlug)\n setOnSuccess(() => {\n if (typeof onBulkUploadSuccess === 'function') {\n onBulkUploadSuccess()\n } else {\n router.refresh()\n }\n })\n }\n }, [\n router,\n collectionSlug,\n bulkUploadDrawerSlug,\n parent,\n openModal,\n setCollectionSlug,\n setParentID,\n setOnSuccess,\n onBulkUploadSuccess,\n openBulkUploadFromProps,\n ])\n\n if (!hasCreatePermission || !isBulkUploadEnabled) {\n return null\n }\n\n return (\n <Button\n aria-label={t('upload:bulkUpload')}\n buttonStyle=\"pill\"\n key=\"bulk-upload-button\"\n onClick={openBulkUpload}\n size=\"medium\"\n >\n {t('upload:bulkUpload')}\n </Button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAElB,SAASC,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AAEvB,OAAO,SAAAC,qBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAA8B;IAAAW,cAAA;IAAAC,mBAAA;IAAAC,mBAAA;IAAAC,mBAAA;IAAAC,cAAA,EAAAC;EAAA,IAAAP,EAiBpC;EACC;IAAAQ,UAAA,EAAAC,oBAAA;IAAAC,iBAAA;IAAAC,YAAA;IAAAC;EAAA,IAKIlB,aAAA;EACJ;IAAAmB;EAAA,IAAmBlB,YAAA;EACnB;IAAAmB;EAAA,IAAcjB,cAAA;EACd;IAAAkB;EAAA,IAAsBvB,QAAA;EACtB,MAAAwB,MAAA,GAAepB,SAAA;EAAA,IAAAqB,EAAA;EAAA,IAAAhB,CAAA,QAAAQ,oBAAA,IAAAR,CAAA,QAAAC,cAAA,IAAAD,CAAA,QAAAI,mBAAA,IAAAJ,CAAA,QAAAM,uBAAA,IAAAN,CAAA,QAAAc,SAAA,IAAAd,CAAA,QAAAY,MAAA,EAAAK,EAAA,IAAAjB,CAAA,QAAAe,MAAA,IAAAf,CAAA,QAAAS,iBAAA,IAAAT,CAAA,QAAAU,YAAA,IAAAV,CAAA,QAAAW,WAAA;IAE0BK,EAAA,GAAAA,CAAA;MAAA,IACnC,OAAOV,uBAAA,KAA4B;QACrCA,uBAAA;MAAA;QAEAG,iBAAA,CAAkBR,cAAA;QAClBU,WAAA,CAAYC,MAAA,EAAAK,EAAQ;QACpBH,SAAA,CAAUN,oBAAA;QACVE,YAAA;UAAA,IACM,OAAON,mBAAA,KAAwB;YACjCA,mBAAA;UAAA;YAEAW,MAAA,CAAAG,OAAA,CAAc;UAAA;QAAA,CAElB;MAAA;IAAA;IAEJlB,CAAA,MAAAQ,oBAAA;IAAAR,CAAA,MAAAC,cAAA;IAAAD,CAAA,MAAAI,mBAAA;IAAAJ,CAAA,MAAAM,uBAAA;IAAAN,CAAA,MAAAc,SAAA;IAAAd,CAAA,MAAAY,MAAA,EAAAK,EAAA;IAAAjB,CAAA,MAAAe,MAAA;IAAAf,CAAA,MAAAS,iBAAA;IAAAT,CAAA,MAAAU,YAAA;IAAAV,CAAA,MAAAW,WAAA;IAAAX,CAAA,OAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAfA,MAAAK,cAAA,GAAuBW,EA0BtB;EAAA,IAEG,CAACd,mBAAA,KAAwBC,mBAAA;IAAA;EAAA;EAAA,IAAAgB,EAAA;EAAA,IAAAnB,CAAA,SAAAK,cAAA,IAAAL,CAAA,SAAAa,CAAA;IAK3BM,EAAA,GAAAC,IAAA,CAAAvB,MAAA;MAAA,cACcgB,CAAA,CAAE;MAAAQ,WAAA,EACF;MAAAC,OAAA,EAEHjB,cAAA;MAAAkB,IAAA,EACJ;MAAAC,QAAA,EAEJX,CAAA,CAAE;IAAA,GAJC;IAAAb,CAAA,OAAAK,cAAA;IAAAL,CAAA,OAAAa,CAAA;IAAAb,CAAA,OAAAmB,EAAA;EAAA;IAAAA,EAAA,GAAAnB,CAAA;EAAA;EAAA,OAHNmB,EAGM;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"ListBulkUploadButton.js","names":["c","_c","useModal","React","useBulkUpload","useHierarchy","useRouter","useTranslation","Button","ListBulkUploadButton","t0","$","collectionSlug","hasCreatePermission","isBulkUploadEnabled","onBulkUploadSuccess","openBulkUpload","openBulkUploadFromProps","modalSlug","bulkUploadModalSlug","setCollectionSlug","setOnSuccess","setParentID","parent","t","openModal","router","t1","id","refresh","t2","_jsx","buttonStyle","onClick","size","children"],"sources":["../../../../src/elements/ListHeader/TitleActions/ListBulkUploadButton.tsx"],"sourcesContent":["'use client'\nimport type { CollectionSlug } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { useBulkUpload } from '../../../elements/BulkUpload/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useRouter } from '../../../providers/RouterAdapter/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\n\nexport function ListBulkUploadButton({\n collectionSlug,\n hasCreatePermission,\n isBulkUploadEnabled,\n onBulkUploadSuccess,\n openBulkUpload: openBulkUploadFromProps,\n}: {\n collectionSlug: CollectionSlug\n hasCreatePermission: boolean\n isBulkUploadEnabled: boolean\n onBulkUploadSuccess?: () => void\n /**\n * @deprecated This prop will be removed in the next major version.\n *\n * Prefer using `onBulkUploadSuccess`\n */\n openBulkUpload?: () => void\n}) {\n const {\n modalSlug: bulkUploadModalSlug,\n setCollectionSlug,\n setOnSuccess,\n setParentID,\n } = useBulkUpload()\n const { parent } = useHierarchy()\n const { t } = useTranslation()\n const { openModal } = useModal()\n const router = useRouter()\n\n const openBulkUpload = React.useCallback(() => {\n if (typeof openBulkUploadFromProps === 'function') {\n openBulkUploadFromProps()\n } else {\n setCollectionSlug(collectionSlug)\n setParentID(parent?.id)\n openModal(bulkUploadModalSlug)\n setOnSuccess(() => {\n if (typeof onBulkUploadSuccess === 'function') {\n onBulkUploadSuccess()\n } else {\n router.refresh()\n }\n })\n }\n }, [\n router,\n collectionSlug,\n bulkUploadModalSlug,\n parent,\n openModal,\n setCollectionSlug,\n setParentID,\n setOnSuccess,\n onBulkUploadSuccess,\n openBulkUploadFromProps,\n ])\n\n if (!hasCreatePermission || !isBulkUploadEnabled) {\n return null\n }\n\n return (\n <Button\n aria-label={t('upload:bulkUpload')}\n buttonStyle=\"pill\"\n key=\"bulk-upload-button\"\n onClick={openBulkUpload}\n size=\"medium\"\n >\n {t('upload:bulkUpload')}\n </Button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAElB,SAASC,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AAEvB,OAAO,SAAAC,qBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAA8B;IAAAW,cAAA;IAAAC,mBAAA;IAAAC,mBAAA;IAAAC,mBAAA;IAAAC,cAAA,EAAAC;EAAA,IAAAP,EAiBpC;EACC;IAAAQ,SAAA,EAAAC,mBAAA;IAAAC,iBAAA;IAAAC,YAAA;IAAAC;EAAA,IAKIlB,aAAA;EACJ;IAAAmB;EAAA,IAAmBlB,YAAA;EACnB;IAAAmB;EAAA,IAAcjB,cAAA;EACd;IAAAkB;EAAA,IAAsBvB,QAAA;EACtB,MAAAwB,MAAA,GAAepB,SAAA;EAAA,IAAAqB,EAAA;EAAA,IAAAhB,CAAA,QAAAQ,mBAAA,IAAAR,CAAA,QAAAC,cAAA,IAAAD,CAAA,QAAAI,mBAAA,IAAAJ,CAAA,QAAAM,uBAAA,IAAAN,CAAA,QAAAc,SAAA,IAAAd,CAAA,QAAAY,MAAA,EAAAK,EAAA,IAAAjB,CAAA,QAAAe,MAAA,IAAAf,CAAA,QAAAS,iBAAA,IAAAT,CAAA,QAAAU,YAAA,IAAAV,CAAA,QAAAW,WAAA;IAE0BK,EAAA,GAAAA,CAAA;MAAA,IACnC,OAAOV,uBAAA,KAA4B;QACrCA,uBAAA;MAAA;QAEAG,iBAAA,CAAkBR,cAAA;QAClBU,WAAA,CAAYC,MAAA,EAAAK,EAAQ;QACpBH,SAAA,CAAUN,mBAAA;QACVE,YAAA;UAAA,IACM,OAAON,mBAAA,KAAwB;YACjCA,mBAAA;UAAA;YAEAW,MAAA,CAAAG,OAAA,CAAc;UAAA;QAAA,CAElB;MAAA;IAAA;IAEJlB,CAAA,MAAAQ,mBAAA;IAAAR,CAAA,MAAAC,cAAA;IAAAD,CAAA,MAAAI,mBAAA;IAAAJ,CAAA,MAAAM,uBAAA;IAAAN,CAAA,MAAAc,SAAA;IAAAd,CAAA,MAAAY,MAAA,EAAAK,EAAA;IAAAjB,CAAA,MAAAe,MAAA;IAAAf,CAAA,MAAAS,iBAAA;IAAAT,CAAA,MAAAU,YAAA;IAAAV,CAAA,MAAAW,WAAA;IAAAX,CAAA,OAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAfA,MAAAK,cAAA,GAAuBW,EA0BtB;EAAA,IAEG,CAACd,mBAAA,KAAwBC,mBAAA;IAAA;EAAA;EAAA,IAAAgB,EAAA;EAAA,IAAAnB,CAAA,SAAAK,cAAA,IAAAL,CAAA,SAAAa,CAAA;IAK3BM,EAAA,GAAAC,IAAA,CAAAvB,MAAA;MAAA,cACcgB,CAAA,CAAE;MAAAQ,WAAA,EACF;MAAAC,OAAA,EAEHjB,cAAA;MAAAkB,IAAA,EACJ;MAAAC,QAAA,EAEJX,CAAA,CAAE;IAAA,GAJC;IAAAb,CAAA,OAAAK,cAAA;IAAAL,CAAA,OAAAa,CAAA;IAAAb,CAAA,OAAAmB,EAAA;EAAA;IAAAA,EAAA,GAAAnB,CAAA;EAAA;EAAA,OAHNmB,EAGM;AAAA","ignoreList":[]}
@@ -6,7 +6,7 @@ import React from 'react';
6
6
  import { ChevronIcon } from '../../../../icons/Chevron/index.js';
7
7
  import { CollapseIcon } from '../../../../icons/Collapse/index.js';
8
8
  import { ExpandIcon } from '../../../../icons/Expand/index.js';
9
- import { ExternalLinkIcon } from '../../../../icons/ExternalLink/index.js';
9
+ import { NewTabIcon } from '../../../../icons/NewTab/index.js';
10
10
  import { useLivePreviewContext } from '../../../../providers/LivePreview/context.js';
11
11
  import { useTranslation } from '../../../../providers/Translation/index.js';
12
12
  import { Button } from '../../../Button/index.js';
@@ -177,7 +177,7 @@ export const ToolbarControls = () => {
177
177
  "aria-label": t("general:openInNewWindow"),
178
178
  buttonStyle: "ghost",
179
179
  className: `${baseClass}__external`,
180
- icon: _jsx(ExternalLinkIcon, {
180
+ icon: _jsx(NewTabIcon, {
181
181
  size: 16
182
182
  }),
183
183
  onClick: t5,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","ChevronIcon","CollapseIcon","ExpandIcon","ExternalLinkIcon","useLivePreviewContext","useTranslation","Button","Popup","PopupList","PreviewFrameSizeInput","baseClass","zoomOptions","ToolbarControls","$","breakpoint","breakpoints","isExpanded","openPopupWindow","setBreakpoint","setIsExpanded","setIsLivePreviewing","setZoom","zoom","t","t0","customOption","label","value","t2","t3","close","close_0","_jsx","RadioGroup","children","Fragment","map","zoomValue","isActive_0","_jsxs","RadioGroupItem","active","isActive","onClick","buttonProps_0","buttonProps","buttonStyle","icon","size","className","t4","t5","e","preventDefault","length","horizontalAlign","render","t1","bp","name","find","bp_0","axis","tooltip"],"sources":["../../../../../src/elements/LivePreview/Toolbar/Controls/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload'\n\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../../icons/Chevron/index.js'\nimport { CollapseIcon } from '../../../../icons/Collapse/index.js'\nimport { ExpandIcon } from '../../../../icons/Expand/index.js'\nimport { ExternalLinkIcon } from '../../../../icons/ExternalLink/index.js'\nimport { useLivePreviewContext } from '../../../../providers/LivePreview/context.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { Button } from '../../../Button/index.js'\nimport { Popup, PopupList } from '../../../Popup/index.js'\nimport { PreviewFrameSizeInput } from '../SizeInput/index.js'\nimport './index.css'\n\nconst baseClass = 'live-preview-toolbar-controls'\nconst zoomOptions = [50, 75, 100, 125, 150, 200]\n\nexport const ToolbarControls: React.FC<EditViewProps> = () => {\n const {\n breakpoint,\n breakpoints,\n isExpanded,\n openPopupWindow,\n setBreakpoint,\n setIsExpanded,\n setIsLivePreviewing,\n setZoom,\n zoom,\n } = useLivePreviewContext()\n\n const { t } = useTranslation()\n\n const customOption = {\n label: t('general:custom'),\n value: 'custom',\n }\n\n return (\n <div className={baseClass}>\n {breakpoints?.length > 0 && (\n <Popup\n className={`${baseClass}__breakpoint`}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.RadioGroup>\n <React.Fragment>\n {breakpoints.map((bp) => {\n const isActive = bp.name == breakpoint\n return (\n <PopupList.RadioGroupItem\n active={isActive}\n key={bp.name}\n onClick={() => {\n setBreakpoint(bp.name)\n close()\n }}\n >\n {bp.label}\n </PopupList.RadioGroupItem>\n )\n })}\n {/* Dynamically add this option so that it only appears when the width and height inputs are explicitly changed */}\n {breakpoint === 'custom' && (\n <PopupList.RadioGroupItem\n active={breakpoint == customOption.value}\n onClick={() => {\n setBreakpoint(customOption.value)\n close()\n }}\n >\n {customOption.label}\n </PopupList.RadioGroupItem>\n )}\n </React.Fragment>\n </PopupList.RadioGroup>\n )}\n renderButton={(buttonProps) => (\n <Button {...buttonProps} buttonStyle=\"secondary\" icon={<ChevronIcon size={16} />}>\n {breakpoints.find((bp) => bp.name == breakpoint)?.label ?? customOption.label}\n </Button>\n )}\n showScrollbar\n verticalAlign=\"bottom\"\n />\n )}\n <div className={`${baseClass}__center`}>\n <PreviewFrameSizeInput axis=\"x\" />\n <PreviewFrameSizeInput axis=\"y\" />\n <Popup\n className={`${baseClass}__zoom`}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.RadioGroup>\n <React.Fragment>\n {zoomOptions.map((zoomValue) => {\n const isActive = zoom * 100 == zoomValue\n return (\n <PopupList.RadioGroupItem\n active={isActive}\n key={zoomValue}\n onClick={() => {\n setZoom(zoomValue / 100)\n close()\n }}\n >\n {zoomValue}%\n </PopupList.RadioGroupItem>\n )\n })}\n </React.Fragment>\n </PopupList.RadioGroup>\n )}\n renderButton={(buttonProps) => (\n <Button {...buttonProps} buttonStyle=\"pill\" icon={<ChevronIcon size={16} />}>\n <span className={`${baseClass}__zoom-percentage`}>%</span>\n {zoom * 100}\n </Button>\n )}\n showScrollbar\n verticalAlign=\"bottom\"\n />\n </div>\n <div className={`${baseClass}__end`}>\n <Button\n aria-label={isExpanded ? t('general:collapse') : t('general:expand')}\n buttonStyle=\"ghost\"\n icon={isExpanded ? <CollapseIcon size={16} /> : <ExpandIcon size={16} />}\n onClick={() => setIsExpanded(!isExpanded)}\n tooltip={isExpanded ? t('general:collapse') : t('general:expand')}\n />\n <Button\n aria-label={t('general:openInNewWindow')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__external`}\n icon={<ExternalLinkIcon size={16} />}\n onClick={(e) => {\n e.preventDefault()\n openPopupWindow()\n setIsLivePreviewing(false)\n }}\n tooltip={t('general:openInNewWindow')}\n />\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","ChevronIcon","CollapseIcon","ExpandIcon","NewTabIcon","useLivePreviewContext","useTranslation","Button","Popup","PopupList","PreviewFrameSizeInput","baseClass","zoomOptions","ToolbarControls","$","breakpoint","breakpoints","isExpanded","openPopupWindow","setBreakpoint","setIsExpanded","setIsLivePreviewing","setZoom","zoom","t","t0","customOption","label","value","t2","t3","close","close_0","_jsx","RadioGroup","children","Fragment","map","zoomValue","isActive_0","_jsxs","RadioGroupItem","active","isActive","onClick","buttonProps_0","buttonProps","buttonStyle","icon","size","className","t4","t5","e","preventDefault","length","horizontalAlign","render","t1","bp","name","find","bp_0","axis","tooltip"],"sources":["../../../../../src/elements/LivePreview/Toolbar/Controls/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload'\n\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../../icons/Chevron/index.js'\nimport { CollapseIcon } from '../../../../icons/Collapse/index.js'\nimport { ExpandIcon } from '../../../../icons/Expand/index.js'\nimport { NewTabIcon } from '../../../../icons/NewTab/index.js'\nimport { useLivePreviewContext } from '../../../../providers/LivePreview/context.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { Button } from '../../../Button/index.js'\nimport { Popup, PopupList } from '../../../Popup/index.js'\nimport { PreviewFrameSizeInput } from '../SizeInput/index.js'\nimport './index.css'\n\nconst baseClass = 'live-preview-toolbar-controls'\nconst zoomOptions = [50, 75, 100, 125, 150, 200]\n\nexport const ToolbarControls: React.FC<EditViewProps> = () => {\n const {\n breakpoint,\n breakpoints,\n isExpanded,\n openPopupWindow,\n setBreakpoint,\n setIsExpanded,\n setIsLivePreviewing,\n setZoom,\n zoom,\n } = useLivePreviewContext()\n\n const { t } = useTranslation()\n\n const customOption = {\n label: t('general:custom'),\n value: 'custom',\n }\n\n return (\n <div className={baseClass}>\n {breakpoints?.length > 0 && (\n <Popup\n className={`${baseClass}__breakpoint`}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.RadioGroup>\n <React.Fragment>\n {breakpoints.map((bp) => {\n const isActive = bp.name == breakpoint\n return (\n <PopupList.RadioGroupItem\n active={isActive}\n key={bp.name}\n onClick={() => {\n setBreakpoint(bp.name)\n close()\n }}\n >\n {bp.label}\n </PopupList.RadioGroupItem>\n )\n })}\n {/* Dynamically add this option so that it only appears when the width and height inputs are explicitly changed */}\n {breakpoint === 'custom' && (\n <PopupList.RadioGroupItem\n active={breakpoint == customOption.value}\n onClick={() => {\n setBreakpoint(customOption.value)\n close()\n }}\n >\n {customOption.label}\n </PopupList.RadioGroupItem>\n )}\n </React.Fragment>\n </PopupList.RadioGroup>\n )}\n renderButton={(buttonProps) => (\n <Button {...buttonProps} buttonStyle=\"secondary\" icon={<ChevronIcon size={16} />}>\n {breakpoints.find((bp) => bp.name == breakpoint)?.label ?? customOption.label}\n </Button>\n )}\n showScrollbar\n verticalAlign=\"bottom\"\n />\n )}\n <div className={`${baseClass}__center`}>\n <PreviewFrameSizeInput axis=\"x\" />\n <PreviewFrameSizeInput axis=\"y\" />\n <Popup\n className={`${baseClass}__zoom`}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.RadioGroup>\n <React.Fragment>\n {zoomOptions.map((zoomValue) => {\n const isActive = zoom * 100 == zoomValue\n return (\n <PopupList.RadioGroupItem\n active={isActive}\n key={zoomValue}\n onClick={() => {\n setZoom(zoomValue / 100)\n close()\n }}\n >\n {zoomValue}%\n </PopupList.RadioGroupItem>\n )\n })}\n </React.Fragment>\n </PopupList.RadioGroup>\n )}\n renderButton={(buttonProps) => (\n <Button {...buttonProps} buttonStyle=\"pill\" icon={<ChevronIcon size={16} />}>\n <span className={`${baseClass}__zoom-percentage`}>%</span>\n {zoom * 100}\n </Button>\n )}\n showScrollbar\n verticalAlign=\"bottom\"\n />\n </div>\n <div className={`${baseClass}__end`}>\n <Button\n aria-label={isExpanded ? t('general:collapse') : t('general:expand')}\n buttonStyle=\"ghost\"\n icon={isExpanded ? <CollapseIcon size={16} /> : <ExpandIcon size={16} />}\n onClick={() => setIsExpanded(!isExpanded)}\n tooltip={isExpanded ? t('general:collapse') : t('general:expand')}\n />\n <Button\n aria-label={t('general:openInNewWindow')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__external`}\n icon={<NewTabIcon size={16} />}\n onClick={(e) => {\n e.preventDefault()\n openPopupWindow()\n setIsLivePreviewing(false)\n }}\n tooltip={t('general:openInNewWindow')}\n />\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,50 +1,11 @@
1
1
  @layer payload-default {
2
- .toolbar-input__group {
3
- display: flex;
4
- align-items: stretch;
5
- height: var(--spacer-4);
6
- border: var(--stroke-width-small) solid transparent;
7
- border-radius: var(--field-border-radius);
8
- background: var(--color-bg-secondary);
9
- overflow: hidden;
10
-
11
- &:hover:not(:focus-within) {
12
- border-color: var(--color-border);
13
- }
14
-
15
- &:focus-within {
16
- border-color: var(--color-border-selected);
17
- }
18
- }
19
-
20
- .toolbar-input__prefix {
21
- display: flex;
22
- align-items: center;
23
- justify-content: center;
24
- width: var(--spacer-4);
25
- font-size: var(--text-body-medium-font-size, 0.6875rem);
26
- color: var(--color-text-secondary);
27
- user-select: none;
2
+ /* Keep the toolbar size input compact rather than filling available space */
3
+ .toolbar-input {
4
+ width: max-content;
28
5
  }
29
6
 
30
- .toolbar-input {
7
+ .toolbar-input .form-input {
8
+ flex: 0 0 auto;
31
9
  width: calc(var(--spacer-4) * 2);
32
- display: flex;
33
- align-items: center;
34
- border: none;
35
- background: transparent;
36
- font-size: var(--text-body-medium-font-size, 0.6875rem);
37
- color: var(--color-text);
38
- appearance: textfield;
39
-
40
- &::-webkit-outer-spin-button,
41
- &::-webkit-inner-spin-button {
42
- appearance: none;
43
- margin: 0;
44
- }
45
-
46
- &:focus {
47
- outline: none;
48
- }
49
10
  }
50
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/LivePreview/Toolbar/SizeInput/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAiC,MAAM,OAAO,CAAA;AAKrD,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CACjB,CAiGA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/LivePreview/Toolbar/SizeInput/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAiC,MAAM,OAAO,CAAA;AAKrD,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CACjB,CA2FA,CAAA"}