@payloadcms/ui 4.0.0-internal.8001944 → 4.0.0-internal.8089ef7

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 (715) hide show
  1. package/dist/css/app.css +1 -1
  2. package/dist/css/forms.css +0 -1
  3. package/dist/css/spacing.css +1 -1
  4. package/dist/css/typography.css +161 -55
  5. package/dist/elements/APIKeyInput/index.css +2 -2
  6. package/dist/elements/AppHeader/index.css +1 -1
  7. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  8. package/dist/elements/AppHeader/index.js +9 -2
  9. package/dist/elements/AppHeader/index.js.map +1 -1
  10. package/dist/elements/Autosave/index.d.ts.map +1 -1
  11. package/dist/elements/Autosave/index.js +10 -3
  12. package/dist/elements/Autosave/index.js.map +1 -1
  13. package/dist/elements/Banner/index.css +3 -4
  14. package/dist/elements/BulkUpload/EditMany/index.css +4 -5
  15. package/dist/elements/BulkUpload/FileSidebar/index.css +0 -1
  16. package/dist/elements/BulkUpload/FileSidebar/index.js +1 -1
  17. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  18. package/dist/elements/Button/index.css +31 -1
  19. package/dist/elements/Button/types.d.ts +1 -1
  20. package/dist/elements/Button/types.d.ts.map +1 -1
  21. package/dist/elements/Button/types.js.map +1 -1
  22. package/dist/elements/Card/index.css +3 -4
  23. package/dist/elements/CardGrid/index.css +20 -0
  24. package/dist/elements/CardGrid/index.d.ts +13 -0
  25. package/dist/elements/CardGrid/index.d.ts.map +1 -0
  26. package/dist/elements/CardGrid/index.js +23 -0
  27. package/dist/elements/CardGrid/index.js.map +1 -0
  28. package/dist/elements/Chip/index.css +0 -1
  29. package/dist/elements/CloseModalOnRouteChange/index.d.ts.map +1 -1
  30. package/dist/elements/CloseModalOnRouteChange/index.js +27 -19
  31. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  32. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  33. package/dist/elements/CodeEditor/CodeEditor.js +5 -0
  34. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  35. package/dist/elements/Collapsible/index.css +4 -1
  36. package/dist/elements/ColumnSelection/Popup.css +6 -11
  37. package/dist/elements/CommandPalette/index.css +3 -8
  38. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  39. package/dist/elements/CopyToClipboard/index.js +62 -54
  40. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  41. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  42. package/dist/elements/CreateDocumentButton/index.js +56 -33
  43. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  44. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  45. package/dist/elements/DatePicker/DatePicker.js +88 -15
  46. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  47. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts +8 -0
  48. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts.map +1 -0
  49. package/dist/elements/DatePicker/hasAmbiguousYearInput.js +37 -0
  50. package/dist/elements/DatePicker/hasAmbiguousYearInput.js.map +1 -0
  51. package/dist/elements/DatePicker/index.css +27 -17
  52. package/dist/elements/DatePicker/useDatePickerKeyboard.d.ts +18 -0
  53. package/dist/elements/DatePicker/useDatePickerKeyboard.d.ts.map +1 -0
  54. package/dist/elements/DatePicker/useDatePickerKeyboard.js +212 -0
  55. package/dist/elements/DatePicker/useDatePickerKeyboard.js.map +1 -0
  56. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  57. package/dist/elements/DefaultListViewTabs/index.js +9 -7
  58. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  59. package/dist/elements/Dialog/DialogTitle/index.css +1 -1
  60. package/dist/elements/Dialog/index.css +1 -2
  61. package/dist/elements/DocumentCard/index.css +73 -0
  62. package/dist/elements/DocumentCard/index.d.ts +18 -0
  63. package/dist/elements/DocumentCard/index.d.ts.map +1 -0
  64. package/dist/elements/DocumentCard/index.js +182 -0
  65. package/dist/elements/DocumentCard/index.js.map +1 -0
  66. package/dist/elements/DocumentControls/index.css +14 -15
  67. package/dist/elements/DocumentControls/index.d.ts +4 -2
  68. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  69. package/dist/elements/DocumentControls/index.js.map +1 -1
  70. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +4 -7
  71. package/dist/elements/DocumentDrawer/types.d.ts +1 -5
  72. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  73. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  74. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.css +2 -2
  75. package/dist/elements/DocumentFields/index.css +5 -5
  76. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  77. package/dist/elements/DocumentFields/index.js +1 -2
  78. package/dist/elements/DocumentFields/index.js.map +1 -1
  79. package/dist/elements/DocumentHeader/index.css +1 -1
  80. package/dist/elements/Drawer/index.css +4 -5
  81. package/dist/elements/Drawer/types.d.ts +2 -2
  82. package/dist/elements/Drawer/types.d.ts.map +1 -1
  83. package/dist/elements/Drawer/types.js.map +1 -1
  84. package/dist/elements/EditMany/index.css +4 -5
  85. package/dist/elements/EditUpload/index.css +3 -4
  86. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  87. package/dist/elements/EditUpload/index.js +13 -2
  88. package/dist/elements/EditUpload/index.js.map +1 -1
  89. package/dist/elements/EditUpload/library.css +6 -13
  90. package/dist/elements/ErrorPill/index.css +0 -1
  91. package/dist/elements/FieldDiffContainer/index.css +0 -1
  92. package/dist/elements/FieldDiffLabel/index.css +4 -5
  93. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  94. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  95. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  96. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  97. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  98. package/dist/elements/FileDetails/FileMeta/index.js +41 -21
  99. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  100. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -1
  101. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  102. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  103. package/dist/elements/FileDetails/index.d.ts +1 -1
  104. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  105. package/dist/elements/FileDetails/index.js.map +1 -1
  106. package/dist/elements/FileManager/FilePreview/index.css +2 -3
  107. package/dist/elements/FileManager/FilePreview/index.js +4 -4
  108. package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
  109. package/dist/elements/FileManager/FileToolbar/index.css +2 -3
  110. package/dist/elements/FileManager/index.css +0 -1
  111. package/dist/elements/FileManager/index.d.ts.map +1 -1
  112. package/dist/elements/FileManager/index.js +13 -6
  113. package/dist/elements/FileManager/index.js.map +1 -1
  114. package/dist/elements/FormHeader/index.css +0 -2
  115. package/dist/elements/GroupBy/Popup.css +3 -6
  116. package/dist/elements/HTMLDiff/index.css +0 -1
  117. package/dist/elements/Hierarchy/ActionsMenu/index.css +18 -0
  118. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts +35 -0
  119. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts.map +1 -0
  120. package/dist/elements/Hierarchy/ActionsMenu/index.js +99 -0
  121. package/dist/elements/Hierarchy/ActionsMenu/index.js.map +1 -0
  122. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +18 -16
  123. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  124. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  125. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +40 -36
  126. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  127. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  128. package/dist/elements/Hierarchy/ColumnBrowser/index.js +15 -58
  129. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  130. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +2 -0
  131. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  132. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  133. package/dist/elements/Hierarchy/DocHeaderButton/index.css +12 -0
  134. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  135. package/dist/elements/Hierarchy/DocHeaderButton/index.js +88 -13
  136. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  137. package/dist/elements/Hierarchy/EditButton/index.d.ts +8 -0
  138. package/dist/elements/Hierarchy/EditButton/index.d.ts.map +1 -0
  139. package/dist/elements/Hierarchy/EditButton/index.js +93 -0
  140. package/dist/elements/Hierarchy/EditButton/index.js.map +1 -0
  141. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts +9 -0
  142. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts.map +1 -0
  143. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js +41 -0
  144. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js.map +1 -0
  145. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  146. package/dist/elements/Hierarchy/Field/index.client.js +120 -105
  147. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  148. package/dist/elements/Hierarchy/Field/index.css +0 -1
  149. package/dist/elements/Hierarchy/Modal/Footer/index.css +33 -0
  150. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +21 -0
  151. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  152. package/dist/elements/Hierarchy/Modal/Footer/index.js +122 -0
  153. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  154. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +8 -3
  155. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  156. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +38 -12
  157. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  158. package/dist/elements/Hierarchy/Modal/index.css +0 -56
  159. package/dist/elements/Hierarchy/Modal/index.d.ts +5 -3
  160. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  161. package/dist/elements/Hierarchy/Modal/index.js +90 -102
  162. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  163. package/dist/elements/Hierarchy/Modal/selection.d.ts +12 -0
  164. package/dist/elements/Hierarchy/Modal/selection.d.ts.map +1 -0
  165. package/dist/elements/Hierarchy/Modal/selection.js +40 -0
  166. package/dist/elements/Hierarchy/Modal/selection.js.map +1 -0
  167. package/dist/elements/Hierarchy/Modal/types.d.ts +4 -0
  168. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  169. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  170. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
  171. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js +1 -1
  172. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -1
  173. package/dist/elements/Hierarchy/MoveMany/index.d.ts +3 -3
  174. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  175. package/dist/elements/Hierarchy/MoveMany/index.js +79 -92
  176. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  177. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  178. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +7 -1
  179. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  180. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  181. package/dist/elements/HydratePreferences/index.d.ts +8 -0
  182. package/dist/elements/HydratePreferences/index.d.ts.map +1 -0
  183. package/dist/elements/HydratePreferences/index.js +34 -0
  184. package/dist/elements/HydratePreferences/index.js.map +1 -0
  185. package/dist/elements/IDLabel/index.css +5 -7
  186. package/dist/elements/ItemsDrawer/ItemSearch/index.css +0 -1
  187. package/dist/elements/LLMInstructionsCell/index.css +11 -0
  188. package/dist/elements/LLMInstructionsCell/index.d.ts +5 -0
  189. package/dist/elements/LLMInstructionsCell/index.d.ts.map +1 -0
  190. package/dist/elements/LLMInstructionsCell/index.js +24 -0
  191. package/dist/elements/LLMInstructionsCell/index.js.map +1 -0
  192. package/dist/elements/LLMInstructionsDescription/index.css +79 -0
  193. package/dist/elements/LLMInstructionsDescription/index.d.ts +6 -0
  194. package/dist/elements/LLMInstructionsDescription/index.d.ts.map +1 -0
  195. package/dist/elements/LLMInstructionsDescription/index.js +40 -0
  196. package/dist/elements/LLMInstructionsDescription/index.js.map +1 -0
  197. package/dist/elements/LLMInstructionsMenuItem/index.d.ts +5 -0
  198. package/dist/elements/LLMInstructionsMenuItem/index.d.ts.map +1 -0
  199. package/dist/elements/LLMInstructionsMenuItem/index.js +46 -0
  200. package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -0
  201. package/dist/elements/LayoutToggle/index.d.ts +8 -0
  202. package/dist/elements/LayoutToggle/index.d.ts.map +1 -0
  203. package/dist/elements/LayoutToggle/index.js +56 -0
  204. package/dist/elements/LayoutToggle/index.js.map +1 -0
  205. package/dist/elements/Link/index.d.ts.map +1 -1
  206. package/dist/elements/Link/index.js +3 -0
  207. package/dist/elements/Link/index.js.map +1 -1
  208. package/dist/elements/ListControls/index.d.ts.map +1 -1
  209. package/dist/elements/ListControls/index.js +2 -1
  210. package/dist/elements/ListControls/index.js.map +1 -1
  211. package/dist/elements/ListControls/types.d.ts +1 -10
  212. package/dist/elements/ListControls/types.d.ts.map +1 -1
  213. package/dist/elements/ListControls/types.js.map +1 -1
  214. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  215. package/dist/elements/ListDrawer/DrawerContent.js +2 -3
  216. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  217. package/dist/elements/ListDrawer/Provider.d.ts +0 -6
  218. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  219. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  220. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  221. package/dist/elements/ListDrawer/index.js +1 -1
  222. package/dist/elements/ListDrawer/index.js.map +1 -1
  223. package/dist/elements/ListDrawer/types.d.ts +1 -0
  224. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  225. package/dist/elements/ListDrawer/types.js.map +1 -1
  226. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  227. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +24 -20
  228. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  229. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts +6 -0
  230. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts.map +1 -0
  231. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js +61 -0
  232. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -0
  233. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +1 -0
  234. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -1
  235. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  236. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  237. package/dist/elements/ListHeader/index.css +4 -5
  238. package/dist/elements/MiniCarousel/index.d.ts +1 -1
  239. package/dist/elements/MiniCarousel/index.d.ts.map +1 -1
  240. package/dist/elements/MiniCarousel/index.js +6 -6
  241. package/dist/elements/MiniCarousel/index.js.map +1 -1
  242. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  243. package/dist/elements/Nav/NavWrapper/index.js +19 -14
  244. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  245. package/dist/elements/Nav/SidebarTabs/index.client.js +1 -1
  246. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  247. package/dist/elements/Nav/SidebarTabs/index.css +2 -1
  248. package/dist/elements/Nav/index.js +1 -2
  249. package/dist/elements/Nav/index.js.map +1 -1
  250. package/dist/elements/NavGroup/index.css +3 -4
  251. package/dist/elements/NoListResults/index.css +2 -3
  252. package/dist/elements/PageControls/index.css +4 -1
  253. package/dist/elements/PageControls/index.d.ts.map +1 -1
  254. package/dist/elements/PageControls/index.js +22 -8
  255. package/dist/elements/PageControls/index.js.map +1 -1
  256. package/dist/elements/Pagination/SimplePagination/index.css +0 -1
  257. package/dist/elements/Pagination/index.css +0 -2
  258. package/dist/elements/PerPage/index.css +0 -1
  259. package/dist/elements/Pill/index.css +0 -1
  260. package/dist/elements/Popup/PopupButtonList/index.css +4 -2
  261. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -0
  262. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  263. package/dist/elements/Popup/PopupButtonList/index.js +4 -0
  264. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  265. package/dist/elements/Popup/PopupGroupLabel/index.css +0 -1
  266. package/dist/elements/PreviewSizes/index.d.ts +1 -1
  267. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  268. package/dist/elements/PreviewSizes/index.js +9 -9
  269. package/dist/elements/PreviewSizes/index.js.map +1 -1
  270. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  271. package/dist/elements/PublishButton/index.js +71 -8
  272. package/dist/elements/PublishButton/index.js.map +1 -1
  273. package/dist/elements/PublishButton/validateAllLocales.d.ts +11 -0
  274. package/dist/elements/PublishButton/validateAllLocales.d.ts.map +1 -0
  275. package/dist/elements/PublishButton/validateAllLocales.js +263 -0
  276. package/dist/elements/PublishButton/validateAllLocales.js.map +1 -0
  277. package/dist/elements/QueryPresets/fields/Heading/index.css +0 -1
  278. package/dist/elements/ReactSelect/MultiValueLabel/index.css +0 -1
  279. package/dist/elements/ReactSelect/index.css +0 -3
  280. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  281. package/dist/elements/RelationshipTable/AddNewButton.js +3 -0
  282. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  283. package/dist/elements/RenderTitle/index.css +9 -7
  284. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  285. package/dist/elements/SaveDraftButton/index.js +15 -2
  286. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  287. package/dist/elements/Search/SearchInput/index.css +0 -1
  288. package/dist/elements/Search/SearchInput/index.js +1 -1
  289. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  290. package/dist/elements/SegmentedControl/index.css +9 -0
  291. package/dist/elements/SegmentedControl/index.d.ts +20 -0
  292. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  293. package/dist/elements/SegmentedControl/index.js +162 -0
  294. package/dist/elements/SegmentedControl/index.js.map +1 -0
  295. package/dist/elements/SidebarRow/index.css +1 -2
  296. package/dist/elements/SortColumn/index.css +1 -2
  297. package/dist/elements/Spinner/index.css +0 -2
  298. package/dist/elements/Status/index.css +3 -4
  299. package/dist/elements/StepNav/index.css +15 -9
  300. package/dist/elements/StepNav/index.d.ts.map +1 -1
  301. package/dist/elements/StepNav/index.js +7 -0
  302. package/dist/elements/StepNav/index.js.map +1 -1
  303. package/dist/elements/StepNav/types.d.ts +2 -0
  304. package/dist/elements/StepNav/types.d.ts.map +1 -1
  305. package/dist/elements/StepNav/types.js.map +1 -1
  306. package/dist/elements/Switch/index.css +0 -1
  307. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.css +0 -1
  308. package/dist/elements/Table/DefaultCell/fields/Code/index.css +0 -1
  309. package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -1
  310. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  311. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +0 -9
  312. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  313. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +100 -43
  314. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  315. package/dist/elements/Table/DefaultCell/fields/JSON/index.css +0 -1
  316. package/dist/elements/Table/DefaultCell/fields/Status/index.css +0 -1
  317. package/dist/elements/Table/index.css +1 -1
  318. package/dist/elements/TableSection/index.css +4 -5
  319. package/dist/elements/Tabs/index.css +5 -5
  320. package/dist/elements/Tabs/index.d.ts +4 -0
  321. package/dist/elements/Tabs/index.d.ts.map +1 -1
  322. package/dist/elements/Tabs/index.js +30 -1
  323. package/dist/elements/Tabs/index.js.map +1 -1
  324. package/dist/elements/ThumbnailCard/index.css +0 -1
  325. package/dist/elements/TimezonePicker/index.css +0 -3
  326. package/dist/elements/Tooltip/index.css +0 -1
  327. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  328. package/dist/elements/Tooltip/index.js +1 -0
  329. package/dist/elements/Tooltip/index.js.map +1 -1
  330. package/dist/elements/Upload/getEditorFileSrc.d.ts +11 -0
  331. package/dist/elements/Upload/getEditorFileSrc.d.ts.map +1 -0
  332. package/dist/elements/Upload/getEditorFileSrc.js +6 -0
  333. package/dist/elements/Upload/getEditorFileSrc.js.map +1 -0
  334. package/dist/elements/Upload/index.css +2 -3
  335. package/dist/elements/Upload/index.d.ts +1 -1
  336. package/dist/elements/Upload/index.d.ts.map +1 -1
  337. package/dist/elements/Upload/index.js +12 -7
  338. package/dist/elements/Upload/index.js.map +1 -1
  339. package/dist/elements/UserMenu/index.css +7 -10
  340. package/dist/exports/client/CodeEditor-S7MOGZSR.js +14 -0
  341. package/dist/exports/client/CodeEditor-S7MOGZSR.js.map +7 -0
  342. package/dist/exports/client/DatePicker-POZJVQP4.js +14 -0
  343. package/dist/exports/client/DatePicker-POZJVQP4.js.map +7 -0
  344. package/dist/exports/client/chunk-2AY67NFV.js +29 -0
  345. package/dist/exports/client/chunk-2AY67NFV.js.map +7 -0
  346. package/dist/exports/client/chunk-AVJIZPR3.js +14 -0
  347. package/dist/exports/client/chunk-AVJIZPR3.js.map +7 -0
  348. package/dist/exports/client/chunk-Z42OBP5U.js +27 -0
  349. package/dist/exports/client/chunk-Z42OBP5U.js.map +7 -0
  350. package/dist/exports/client/index.d.ts +19 -1
  351. package/dist/exports/client/index.d.ts.map +1 -1
  352. package/dist/exports/client/index.js +100 -1
  353. package/dist/exports/client/index.js.map +4 -4
  354. package/dist/exports/rsc/index.d.ts +1 -0
  355. package/dist/exports/rsc/index.d.ts.map +1 -1
  356. package/dist/exports/rsc/index.js +1 -0
  357. package/dist/exports/rsc/index.js.map +1 -1
  358. package/dist/exports/shared/index.js +2 -2
  359. package/dist/exports/shared/index.js.map +3 -3
  360. package/dist/fields/Array/index.css +4 -0
  361. package/dist/fields/Blocks/SectionTitle/index.css +3 -5
  362. package/dist/fields/Blocks/index.css +2 -2
  363. package/dist/fields/Checkbox/Input.js +1 -1
  364. package/dist/fields/Checkbox/Input.js.map +1 -1
  365. package/dist/fields/Checkbox/index.css +4 -0
  366. package/dist/fields/DateTime/index.d.ts.map +1 -1
  367. package/dist/fields/DateTime/index.js +9 -2
  368. package/dist/fields/DateTime/index.js.map +1 -1
  369. package/dist/fields/FieldLabel/index.css +1 -2
  370. package/dist/fields/Group/index.css +5 -8
  371. package/dist/fields/Join/index.css +3 -4
  372. package/dist/fields/RadioGroup/Radio/index.css +0 -1
  373. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  374. package/dist/fields/Relationship/Input.js +25 -17
  375. package/dist/fields/Relationship/Input.js.map +1 -1
  376. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  377. package/dist/fields/Relationship/optionsReducer.js +2 -0
  378. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  379. package/dist/fields/Relationship/types.d.ts +8 -0
  380. package/dist/fields/Relationship/types.d.ts.map +1 -1
  381. package/dist/fields/Relationship/types.js.map +1 -1
  382. package/dist/fields/Select/Input.d.ts.map +1 -1
  383. package/dist/fields/Select/Input.js +17 -15
  384. package/dist/fields/Select/Input.js.map +1 -1
  385. package/dist/fields/Select/index.css +7 -0
  386. package/dist/fields/Tabs/Tab/index.d.ts +2 -0
  387. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  388. package/dist/fields/Tabs/Tab/index.js +15 -9
  389. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  390. package/dist/fields/Tabs/index.css +14 -14
  391. package/dist/fields/Tabs/index.d.ts.map +1 -1
  392. package/dist/fields/Tabs/index.js +179 -116
  393. package/dist/fields/Tabs/index.js.map +1 -1
  394. package/dist/fields/Upload/HasMany/index.js +1 -1
  395. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  396. package/dist/fields/Upload/HasOne/index.js +1 -1
  397. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  398. package/dist/fields/Upload/Input.d.ts.map +1 -1
  399. package/dist/fields/Upload/Input.js +13 -4
  400. package/dist/fields/Upload/Input.js.map +1 -1
  401. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  402. package/dist/forms/Form/fieldReducer.js +6 -9
  403. package/dist/forms/Form/fieldReducer.js.map +1 -1
  404. package/dist/forms/Form/index.d.ts.map +1 -1
  405. package/dist/forms/Form/index.js +0 -1
  406. package/dist/forms/Form/index.js.map +1 -1
  407. package/dist/forms/Form/types.d.ts +0 -5
  408. package/dist/forms/Form/types.d.ts.map +1 -1
  409. package/dist/forms/Form/types.js.map +1 -1
  410. package/dist/forms/RenderFields/index.css +2 -5
  411. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +2 -2
  412. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  413. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  414. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -2
  415. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  416. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  417. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -2
  418. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  419. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  420. package/dist/forms/fieldSchemasToFormState/types.d.ts +2 -2
  421. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  422. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  423. package/dist/forms/useField/types.d.ts +0 -4
  424. package/dist/forms/useField/types.d.ts.map +1 -1
  425. package/dist/forms/useField/types.js.map +1 -1
  426. package/dist/icons/Arrow/index.d.ts +1 -1
  427. package/dist/icons/Arrow/index.d.ts.map +1 -1
  428. package/dist/icons/Arrow/index.js +7 -1
  429. package/dist/icons/Arrow/index.js.map +1 -1
  430. package/dist/icons/Clock/index.d.ts +6 -0
  431. package/dist/icons/Clock/index.d.ts.map +1 -0
  432. package/dist/icons/Clock/index.js +18 -0
  433. package/dist/icons/Clock/index.js.map +1 -0
  434. package/dist/icons/Pin/index.d.ts +7 -0
  435. package/dist/icons/Pin/index.d.ts.map +1 -0
  436. package/dist/icons/Pin/index.js +23 -0
  437. package/dist/icons/Pin/index.js.map +1 -0
  438. package/dist/icons/Sidebar/index.d.ts.map +1 -1
  439. package/dist/icons/Sidebar/index.js +2 -0
  440. package/dist/icons/Sidebar/index.js.map +1 -1
  441. package/dist/icons/Table/index.css +1 -0
  442. package/dist/icons/Table/index.d.ts +7 -0
  443. package/dist/icons/Table/index.d.ts.map +1 -0
  444. package/dist/icons/Table/index.js +25 -0
  445. package/dist/icons/Table/index.js.map +1 -0
  446. package/dist/layouts/Root/getRootLayoutData.d.ts +3 -6
  447. package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -1
  448. package/dist/layouts/Root/getRootLayoutData.js +14 -13
  449. package/dist/layouts/Root/getRootLayoutData.js.map +1 -1
  450. package/dist/layouts/Root/index.d.ts +1 -1
  451. package/dist/layouts/Root/index.d.ts.map +1 -1
  452. package/dist/layouts/Root/index.js +11 -18
  453. package/dist/layouts/Root/index.js.map +1 -1
  454. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts +7 -0
  455. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts.map +1 -0
  456. package/dist/providers/ListQuery/getSearchWithListQuery.js +22 -0
  457. package/dist/providers/ListQuery/getSearchWithListQuery.js.map +1 -0
  458. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  459. package/dist/providers/ListQuery/index.js +11 -12
  460. package/dist/providers/ListQuery/index.js.map +1 -1
  461. package/dist/providers/ListQuery/types.d.ts +0 -4
  462. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  463. package/dist/providers/ListQuery/types.js.map +1 -1
  464. package/dist/providers/Preferences/index.d.ts +7 -1
  465. package/dist/providers/Preferences/index.d.ts.map +1 -1
  466. package/dist/providers/Preferences/index.js +62 -20
  467. package/dist/providers/Preferences/index.js.map +1 -1
  468. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  469. package/dist/providers/RouteCache/index.js +38 -37
  470. package/dist/providers/RouteCache/index.js.map +1 -1
  471. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  472. package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -2
  473. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  474. package/dist/providers/TableColumns/buildColumnState/index.d.ts +1 -0
  475. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  476. package/dist/providers/TableColumns/buildColumnState/index.js +2 -0
  477. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  478. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -1
  479. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  480. package/dist/providers/TableColumns/buildColumnState/renderCell.js +12 -28
  481. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  482. package/dist/providers/TableColumns/types.d.ts +1 -34
  483. package/dist/providers/TableColumns/types.d.ts.map +1 -1
  484. package/dist/providers/TableColumns/types.js.map +1 -1
  485. package/dist/providers/ToastContainer/index.css +6 -7
  486. package/dist/providers/Translation/index.d.ts.map +1 -1
  487. package/dist/providers/Translation/index.js +11 -1
  488. package/dist/providers/Translation/index.js.map +1 -1
  489. package/dist/styles.css +163 -58
  490. package/dist/utilities/appendCacheTag.d.ts +1 -0
  491. package/dist/utilities/appendCacheTag.d.ts.map +1 -1
  492. package/dist/utilities/appendCacheTag.js +2 -1
  493. package/dist/utilities/appendCacheTag.js.map +1 -1
  494. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  495. package/dist/utilities/buildClientFieldSchemaMap/index.js +9 -4
  496. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  497. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts +9 -0
  498. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts.map +1 -0
  499. package/dist/utilities/filterLLMInstructionsMenuItems.js +37 -0
  500. package/dist/utilities/filterLLMInstructionsMenuItems.js.map +1 -0
  501. package/dist/utilities/filterOutUploadFields.js +1 -1
  502. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  503. package/dist/utilities/getClientConfig.d.ts +5 -1
  504. package/dist/utilities/getClientConfig.d.ts.map +1 -1
  505. package/dist/utilities/getClientConfig.js +2 -1
  506. package/dist/utilities/getClientConfig.js.map +1 -1
  507. package/dist/utilities/getClientSchemaMap.d.ts.map +1 -1
  508. package/dist/utilities/getClientSchemaMap.js +2 -1
  509. package/dist/utilities/getClientSchemaMap.js.map +1 -1
  510. package/dist/utilities/getDocumentThumbnail.d.ts +6 -0
  511. package/dist/utilities/getDocumentThumbnail.d.ts.map +1 -0
  512. package/dist/utilities/getDocumentThumbnail.js +27 -0
  513. package/dist/utilities/getDocumentThumbnail.js.map +1 -0
  514. package/dist/utilities/getDocumentThumbnailPopulate.d.ts +7 -0
  515. package/dist/utilities/getDocumentThumbnailPopulate.d.ts.map +1 -0
  516. package/dist/utilities/getDocumentThumbnailPopulate.js +23 -0
  517. package/dist/utilities/getDocumentThumbnailPopulate.js.map +1 -0
  518. package/dist/utilities/getDocumentThumbnailSelect.d.ts +7 -0
  519. package/dist/utilities/getDocumentThumbnailSelect.d.ts.map +1 -0
  520. package/dist/utilities/getDocumentThumbnailSelect.js +24 -0
  521. package/dist/utilities/getDocumentThumbnailSelect.js.map +1 -0
  522. package/dist/utilities/hierarchyCollectionRestrictions.d.ts +15 -0
  523. package/dist/utilities/hierarchyCollectionRestrictions.d.ts.map +1 -0
  524. package/dist/utilities/hierarchyCollectionRestrictions.js +17 -0
  525. package/dist/utilities/hierarchyCollectionRestrictions.js.map +1 -0
  526. package/dist/utilities/renderTable.d.ts +2 -1
  527. package/dist/utilities/renderTable.d.ts.map +1 -1
  528. package/dist/utilities/renderTable.js +2 -0
  529. package/dist/utilities/renderTable.js.map +1 -1
  530. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  531. package/dist/utilities/schedulePublishHandler.js +3 -0
  532. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  533. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  534. package/dist/utilities/serverFunctionRegistry.js +2 -0
  535. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  536. package/dist/utilities/traverseForLocalizedFields.d.ts +7 -2
  537. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  538. package/dist/utilities/traverseForLocalizedFields.js +22 -8
  539. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  540. package/dist/views/API/index.css +1 -2
  541. package/dist/views/CreateFirstUser/index.css +0 -2
  542. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  543. package/dist/views/CreateFirstUser/index.js +4 -2
  544. package/dist/views/CreateFirstUser/index.js.map +1 -1
  545. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  546. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +31 -21
  547. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  548. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +1 -2
  549. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  550. package/dist/views/Dashboard/Default/ModularDashboard/index.css +4 -3
  551. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +1 -1
  552. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  553. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +16 -4
  554. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  555. package/dist/views/Document/index.js +1 -1
  556. package/dist/views/Document/index.js.map +1 -1
  557. package/dist/views/Document/renderDocumentSlots.d.ts +1 -1
  558. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  559. package/dist/views/Document/renderDocumentSlots.js +10 -3
  560. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  561. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  562. package/dist/views/Edit/Auth/APIKey.js +1 -0
  563. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  564. package/dist/views/Edit/Auth/index.css +4 -5
  565. package/dist/views/Edit/index.css +26 -0
  566. package/dist/views/Edit/index.d.ts.map +1 -1
  567. package/dist/views/Edit/index.js +1 -1
  568. package/dist/views/Edit/index.js.map +1 -1
  569. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  570. package/dist/views/ForgotPassword/index.js +1 -3
  571. package/dist/views/ForgotPassword/index.js.map +1 -1
  572. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  573. package/dist/views/HierarchyList/DocumentListSelection/index.js +103 -105
  574. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  575. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +4 -1
  576. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  577. package/dist/views/HierarchyList/HierarchyListHeader/index.js +26 -14
  578. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  579. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  580. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +44 -86
  581. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  582. package/dist/views/HierarchyList/HierarchyTable/index.css +8 -31
  583. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +3 -1
  584. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  585. package/dist/views/HierarchyList/HierarchyTable/index.js +78 -5
  586. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  587. package/dist/views/HierarchyList/getHierarchyListURL.d.ts +7 -0
  588. package/dist/views/HierarchyList/getHierarchyListURL.d.ts.map +1 -0
  589. package/dist/views/HierarchyList/getHierarchyListURL.js +22 -0
  590. package/dist/views/HierarchyList/getHierarchyListURL.js.map +1 -0
  591. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  592. package/dist/views/HierarchyList/index.js +35 -11
  593. package/dist/views/HierarchyList/index.js.map +1 -1
  594. package/dist/views/List/DocumentGrid/index.d.ts +17 -0
  595. package/dist/views/List/DocumentGrid/index.d.ts.map +1 -0
  596. package/dist/views/List/DocumentGrid/index.js +117 -0
  597. package/dist/views/List/DocumentGrid/index.js.map +1 -0
  598. package/dist/views/List/GroupedDocumentGrid/index.css +17 -0
  599. package/dist/views/List/GroupedDocumentGrid/index.d.ts +14 -0
  600. package/dist/views/List/GroupedDocumentGrid/index.d.ts.map +1 -0
  601. package/dist/views/List/GroupedDocumentGrid/index.js +99 -0
  602. package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -0
  603. package/dist/views/List/ListHeader/index.css +4 -5
  604. package/dist/views/List/ListHeader/index.d.ts +3 -1
  605. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  606. package/dist/views/List/ListHeader/index.js +15 -4
  607. package/dist/views/List/ListHeader/index.js.map +1 -1
  608. package/dist/views/List/enrichDocsWithVersionStatus.d.ts.map +1 -1
  609. package/dist/views/List/enrichDocsWithVersionStatus.js +3 -1
  610. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  611. package/dist/views/List/getDocumentListItemURL.d.ts +9 -0
  612. package/dist/views/List/getDocumentListItemURL.d.ts.map +1 -0
  613. package/dist/views/List/getDocumentListItemURL.js +23 -0
  614. package/dist/views/List/getDocumentListItemURL.js.map +1 -0
  615. package/dist/views/List/handleGroupBy.d.ts +6 -2
  616. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  617. package/dist/views/List/handleGroupBy.js +13 -3
  618. package/dist/views/List/handleGroupBy.js.map +1 -1
  619. package/dist/views/List/index.client.d.ts.map +1 -1
  620. package/dist/views/List/index.client.js +63 -18
  621. package/dist/views/List/index.client.js.map +1 -1
  622. package/dist/views/List/index.css +1 -1
  623. package/dist/views/List/index.d.ts.map +1 -1
  624. package/dist/views/List/index.js +91 -11
  625. package/dist/views/List/index.js.map +1 -1
  626. package/dist/views/List/renderListViewSlots.d.ts +3 -2
  627. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  628. package/dist/views/List/renderListViewSlots.js +12 -4
  629. package/dist/views/List/renderListViewSlots.js.map +1 -1
  630. package/dist/views/List/resolveDocumentListItemURL.d.ts +11 -0
  631. package/dist/views/List/resolveDocumentListItemURL.d.ts.map +1 -0
  632. package/dist/views/List/resolveDocumentListItemURL.js +30 -0
  633. package/dist/views/List/resolveDocumentListItemURL.js.map +1 -0
  634. package/dist/views/NotFound/index.css +0 -2
  635. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  636. package/dist/views/ResetPassword/index.js +1 -3
  637. package/dist/views/ResetPassword/index.js.map +1 -1
  638. package/dist/views/Root/getRouteData.d.ts +1 -8
  639. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  640. package/dist/views/Root/getRouteData.js +3 -12
  641. package/dist/views/Root/getRouteData.js.map +1 -1
  642. package/dist/views/Unauthorized/index.css +0 -2
  643. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  644. package/dist/views/Unauthorized/index.js +2 -1
  645. package/dist/views/Unauthorized/index.js.map +1 -1
  646. package/dist/views/Version/Default/index.css +7 -11
  647. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.css +0 -1
  648. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -12
  649. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  650. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.css +0 -1
  651. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +2 -2
  652. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  653. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +2 -2
  654. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  655. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +2 -2
  656. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  657. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +2 -2
  658. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  659. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.css +3 -4
  660. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +2 -2
  661. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  662. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +0 -1
  663. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +2 -2
  664. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  665. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  666. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +2 -2
  667. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  668. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +8 -8
  669. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  670. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +2 -2
  671. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  672. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +0 -1
  673. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
  674. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +2 -2
  675. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  676. package/dist/views/Versions/VersionPillLabel/index.css +1 -2
  677. package/dist/views/Versions/index.css +1 -1
  678. package/dist/widgets/CollectionCards/index.css +0 -1
  679. package/dist/widgets/CollectionQuery/index.css +4 -6
  680. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -1
  681. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +31 -5
  682. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
  683. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +41 -0
  684. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +19 -0
  685. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +1 -0
  686. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +121 -0
  687. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +1 -0
  688. package/dist/widgets/RecentlyViewed/getDocuments.d.ts +20 -0
  689. package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +1 -0
  690. package/dist/widgets/RecentlyViewed/getDocuments.js +251 -0
  691. package/dist/widgets/RecentlyViewed/getDocuments.js.map +1 -0
  692. package/dist/widgets/RecentlyViewed/index.client.d.ts +41 -0
  693. package/dist/widgets/RecentlyViewed/index.client.d.ts.map +1 -0
  694. package/dist/widgets/RecentlyViewed/index.client.js +404 -0
  695. package/dist/widgets/RecentlyViewed/index.client.js.map +1 -0
  696. package/dist/widgets/RecentlyViewed/index.css +352 -0
  697. package/dist/widgets/RecentlyViewed/index.d.ts +1 -1
  698. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -1
  699. package/dist/widgets/RecentlyViewed/index.js +33 -134
  700. package/dist/widgets/RecentlyViewed/index.js.map +1 -1
  701. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts +18 -0
  702. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +1 -0
  703. package/dist/widgets/RecentlyViewed/pinnedPreferences.js +81 -0
  704. package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +1 -0
  705. package/dist/widgets/RecentlyViewed/recents.d.ts +8 -0
  706. package/dist/widgets/RecentlyViewed/recents.d.ts.map +1 -0
  707. package/dist/widgets/RecentlyViewed/recents.js +19 -0
  708. package/dist/widgets/RecentlyViewed/recents.js.map +1 -0
  709. package/dist/widgets/Welcome/index.css +16 -9
  710. package/dist/widgets/WidgetCard/index.css +4 -8
  711. package/package.json +8 -8
  712. package/dist/utilities/dateLocales.d.ts +0 -30
  713. package/dist/utilities/dateLocales.d.ts.map +0 -1
  714. package/dist/utilities/dateLocales.js +0 -57
  715. package/dist/utilities/dateLocales.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","Button","Thumbnail","UploadActions","FileMeta","baseClass","StaticFileDetails","props","customUploadActions","doc","enableAdjustments","handleRemove","hasImageSizes","hideRemoveFile","imageCacheTag","uploadConfig","filename","filesize","height","mimeType","thumbnailURL","url","width","previewAllowed","displayPreview","_jsx","className","_jsxs","fileSrc","customActions","Boolean","enablePreviewSizes","buttonStyle","icon","onClick","round"],"sources":["../../../../src/elements/FileDetails/StaticFileDetails/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { Button } from '../../Button/index.js'\nimport { Thumbnail } from '../../Thumbnail/index.js'\nimport { UploadActions } from '../../Upload/index.js'\nimport { FileMeta } from '../FileMeta/index.js'\nimport './index.css'\n\nconst baseClass = 'file-details'\n\nimport type { Data, FileSizes, SanitizedCollectionConfig } from 'payload'\n\nexport type StaticFileDetailsProps = {\n customUploadActions?: React.ReactNode[]\n doc: {\n sizes?: FileSizes\n } & Data\n enableAdjustments?: boolean\n handleRemove?: () => void\n hasImageSizes?: boolean\n hideRemoveFile?: boolean\n imageCacheTag?: false | string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const StaticFileDetails: React.FC<StaticFileDetailsProps> = (props) => {\n const {\n customUploadActions,\n doc,\n enableAdjustments,\n handleRemove,\n hasImageSizes,\n hideRemoveFile,\n imageCacheTag,\n uploadConfig,\n } = props\n\n const { filename, filesize, height, mimeType, thumbnailURL, url, width } = doc\n\n const previewAllowed = uploadConfig.displayPreview ?? true\n\n return (\n <div className={baseClass}>\n <header>\n {previewAllowed && (\n <Thumbnail\n // size=\"small\"\n className={`${baseClass}__thumbnail`}\n doc={doc}\n fileSrc={thumbnailURL || url}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n )}\n <div className={`${baseClass}__main-detail`}>\n <FileMeta\n filename={filename as string}\n filesize={filesize as number}\n height={height as number}\n mimeType={mimeType as string}\n url={url as string}\n width={width as number}\n />\n\n {(enableAdjustments || (hasImageSizes && doc.filename) || customUploadActions) && (\n <UploadActions\n customActions={customUploadActions}\n enableAdjustments={Boolean(enableAdjustments)}\n enablePreviewSizes={hasImageSizes && doc.filename}\n mimeType={mimeType}\n />\n )}\n </div>\n {!hideRemoveFile && handleRemove && (\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={handleRemove}\n round\n />\n )}\n </header>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,SAASC,MAAM,QAAQ;AACvB,SAASC,SAAS,QAAQ;AAC1B,SAASC,aAAa,QAAQ;AAC9B,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAiBlB,OAAO,MAAMC,iBAAA,GAAuDC,KAAA;EAClE,MAAM;IACJC,mBAAmB;IACnBC,GAAG;IACHC,iBAAiB;IACjBC,YAAY;IACZC,aAAa;IACbC,cAAc;IACdC,aAAa;IACbC;EAAY,CACb,GAAGR,KAAA;EAEJ,MAAM;IAAES,QAAQ;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,QAAQ;IAAEC,YAAY;IAAEC,GAAG;IAAEC;EAAK,CAAE,GAAGb,GAAA;EAE3E,MAAMc,cAAA,GAAiBR,YAAA,CAAaS,cAAc,IAAI;EAEtD,oBACEC,IAAA,CAAC;IAAIC,SAAA,EAAWrB,SAAA;cACd,aAAAsB,KAAA,CAAC;iBACEJ,cAAA,iBACCE,IAAA,CAACvB,SAAA;QACC;QACAwB,SAAA,EAAW,GAAGrB,SAAA,aAAsB;QACpCI,GAAA,EAAKA,GAAA;QACLmB,OAAA,EAASR,YAAA,IAAgBC,GAAA;QACzBP,aAAA,EAAeA,aAAA;QACfC,YAAA,EAAcA;uBAGlBY,KAAA,CAAC;QAAID,SAAA,EAAW,GAAGrB,SAAA,eAAwB;gCACzCoB,IAAA,CAACrB,QAAA;UACCY,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVC,MAAA,EAAQA,MAAA;UACRC,QAAA,EAAUA,QAAA;UACVE,GAAA,EAAKA,GAAA;UACLC,KAAA,EAAOA;YAGP,CAAAZ,iBAAA,IAAsBE,aAAA,IAAiBH,GAAA,CAAIO,QAAQ,IAAKR,mBAAkB,kBAC1EiB,IAAA,CAACtB,aAAA;UACC0B,aAAA,EAAerB,mBAAA;UACfE,iBAAA,EAAmBoB,OAAA,CAAQpB,iBAAA;UAC3BqB,kBAAA,EAAoBnB,aAAA,IAAiBH,GAAA,CAAIO,QAAQ;UACjDG,QAAA,EAAUA;;UAIf,CAACN,cAAA,IAAkBF,YAAA,iBAClBc,IAAA,CAACxB,MAAA;QACC+B,WAAA,EAAY;QACZN,SAAA,EAAW,GAAGrB,SAAA,UAAmB;QACjC4B,IAAA,EAAK;QACLC,OAAA,EAASvB,YAAA;QACTwB,KAAK;;;;AAMjB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","Button","Thumbnail","UploadActions","FileMeta","baseClass","StaticFileDetails","props","customUploadActions","doc","enableAdjustments","handleRemove","hasImageSizes","hideRemoveFile","imageCacheTag","uploadConfig","filename","filesize","height","mimeType","thumbnailURL","url","width","previewAllowed","displayPreview","_jsx","className","_jsxs","fileSrc","customActions","Boolean","enablePreviewSizes","buttonStyle","icon","onClick","round"],"sources":["../../../../src/elements/FileDetails/StaticFileDetails/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { Button } from '../../Button/index.js'\nimport { Thumbnail } from '../../Thumbnail/index.js'\nimport { UploadActions } from '../../Upload/index.js'\nimport { FileMeta } from '../FileMeta/index.js'\nimport './index.css'\n\nconst baseClass = 'file-details'\n\nimport type { Data, FileSizes, SanitizedCollectionConfig } from 'payload'\n\nexport type StaticFileDetailsProps = {\n customUploadActions?: React.ReactNode[]\n doc: {\n variants?: FileSizes\n } & Data\n enableAdjustments?: boolean\n handleRemove?: () => void\n hasImageSizes?: boolean\n hideRemoveFile?: boolean\n imageCacheTag?: false | string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const StaticFileDetails: React.FC<StaticFileDetailsProps> = (props) => {\n const {\n customUploadActions,\n doc,\n enableAdjustments,\n handleRemove,\n hasImageSizes,\n hideRemoveFile,\n imageCacheTag,\n uploadConfig,\n } = props\n\n const { filename, filesize, height, mimeType, thumbnailURL, url, width } = doc\n\n const previewAllowed = uploadConfig.displayPreview ?? true\n\n return (\n <div className={baseClass}>\n <header>\n {previewAllowed && (\n <Thumbnail\n // size=\"small\"\n className={`${baseClass}__thumbnail`}\n doc={doc}\n fileSrc={thumbnailURL || url}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n )}\n <div className={`${baseClass}__main-detail`}>\n <FileMeta\n filename={filename as string}\n filesize={filesize as number}\n height={height as number}\n mimeType={mimeType as string}\n url={url as string}\n width={width as number}\n />\n\n {(enableAdjustments || (hasImageSizes && doc.filename) || customUploadActions) && (\n <UploadActions\n customActions={customUploadActions}\n enableAdjustments={Boolean(enableAdjustments)}\n enablePreviewSizes={hasImageSizes && doc.filename}\n mimeType={mimeType}\n />\n )}\n </div>\n {!hideRemoveFile && handleRemove && (\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={handleRemove}\n round\n />\n )}\n </header>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,SAASC,MAAM,QAAQ;AACvB,SAASC,SAAS,QAAQ;AAC1B,SAASC,aAAa,QAAQ;AAC9B,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAiBlB,OAAO,MAAMC,iBAAA,GAAuDC,KAAA;EAClE,MAAM;IACJC,mBAAmB;IACnBC,GAAG;IACHC,iBAAiB;IACjBC,YAAY;IACZC,aAAa;IACbC,cAAc;IACdC,aAAa;IACbC;EAAY,CACb,GAAGR,KAAA;EAEJ,MAAM;IAAES,QAAQ;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,QAAQ;IAAEC,YAAY;IAAEC,GAAG;IAAEC;EAAK,CAAE,GAAGb,GAAA;EAE3E,MAAMc,cAAA,GAAiBR,YAAA,CAAaS,cAAc,IAAI;EAEtD,oBACEC,IAAA,CAAC;IAAIC,SAAA,EAAWrB,SAAA;cACd,aAAAsB,KAAA,CAAC;iBACEJ,cAAA,iBACCE,IAAA,CAACvB,SAAA;QACC;QACAwB,SAAA,EAAW,GAAGrB,SAAA,aAAsB;QACpCI,GAAA,EAAKA,GAAA;QACLmB,OAAA,EAASR,YAAA,IAAgBC,GAAA;QACzBP,aAAA,EAAeA,aAAA;QACfC,YAAA,EAAcA;uBAGlBY,KAAA,CAAC;QAAID,SAAA,EAAW,GAAGrB,SAAA,eAAwB;gCACzCoB,IAAA,CAACrB,QAAA;UACCY,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVC,MAAA,EAAQA,MAAA;UACRC,QAAA,EAAUA,QAAA;UACVE,GAAA,EAAKA,GAAA;UACLC,KAAA,EAAOA;YAGP,CAAAZ,iBAAA,IAAsBE,aAAA,IAAiBH,GAAA,CAAIO,QAAQ,IAAKR,mBAAkB,kBAC1EiB,IAAA,CAACtB,aAAA;UACC0B,aAAA,EAAerB,mBAAA;UACfE,iBAAA,EAAmBoB,OAAA,CAAQpB,iBAAA;UAC3BqB,kBAAA,EAAoBnB,aAAA,IAAiBH,GAAA,CAAIO,QAAQ;UACjDG,QAAA,EAAUA;;UAIf,CAACN,cAAA,IAAkBF,YAAA,iBAClBc,IAAA,CAACxB,MAAA;QACC+B,WAAA,EAAY;QACZN,SAAA,EAAW,GAAGrB,SAAA,UAAmB;QACjC4B,IAAA,EAAK;QACLC,OAAA,EAASvB,YAAA;QACTwB,KAAK;;;;AAMjB","ignoreList":[]}
@@ -4,7 +4,7 @@ type SharedFileDetailsProps = {
4
4
  collectionSlug: string;
5
5
  customUploadActions?: React.ReactNode[];
6
6
  doc: {
7
- sizes?: FileSizes;
7
+ variants?: FileSizes;
8
8
  } & Data;
9
9
  enableAdjustments?: boolean;
10
10
  hasImageSizes?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FileDetails/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEzE,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,KAAK,sBAAsB,GAAG;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACvC,GAAG,EAAE;QACH,KAAK,CAAC,EAAE,SAAS,CAAA;KAClB,GAAG,IAAI,CAAA;IACR,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAC9B,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAClD,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC5B,kBAAkB,CAAC,EAAE,KAAK,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAA;CACjB,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,yBAAyB,GAAG,sBAAsB,CAAC,GACjF,sBAAsB,CAAA;AAExB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAQlD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FileDetails/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEzE,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,KAAK,sBAAsB,GAAG;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACvC,GAAG,EAAE;QACH,QAAQ,CAAC,EAAE,SAAS,CAAA;KACrB,GAAG,IAAI,CAAA;IACR,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAC9B,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAClD,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC5B,kBAAkB,CAAC,EAAE,KAAK,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAA;CACjB,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,yBAAyB,GAAG,sBAAsB,CAAC,GACjF,sBAAsB,CAAA;AAExB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAQlD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","DraggableFileDetails","StaticFileDetails","FileDetails","props","hasMany","_jsx"],"sources":["../../../src/elements/FileDetails/index.tsx"],"sourcesContent":["'use client'\nimport type { Data, FileSizes, SanitizedCollectionConfig } from 'payload'\n\nimport React from 'react'\n\nimport { DraggableFileDetails } from './DraggableFileDetails/index.js'\nimport { StaticFileDetails } from './StaticFileDetails/index.js'\n\ntype SharedFileDetailsProps = {\n collectionSlug: string\n customUploadActions?: React.ReactNode[]\n doc: {\n sizes?: FileSizes\n } & Data\n enableAdjustments?: boolean\n hasImageSizes?: boolean\n hideRemoveFile?: boolean\n imageCacheTag?: false | string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\ntype StaticFileDetailsProps = {\n draggableItemProps?: never\n handleRemove?: () => void\n hasMany?: never\n isSortable?: never\n removeItem?: never\n rowIndex?: never\n}\n\ntype DraggableFileDetailsProps = {\n handleRemove?: never\n hasMany: boolean\n isSortable?: boolean\n removeItem?: (index: number) => void\n rowIndex: number\n}\n\nexport type FileDetailsProps = (DraggableFileDetailsProps | StaticFileDetailsProps) &\n SharedFileDetailsProps\n\nexport const FileDetails: React.FC<FileDetailsProps> = (props) => {\n const { hasMany } = props\n\n if (hasMany) {\n return <DraggableFileDetails {...props} />\n }\n\n return <StaticFileDetails {...props} />\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAW;AAElB,SAASC,oBAAoB,QAAQ;AACrC,SAASC,iBAAiB,QAAQ;AAmClC,OAAO,MAAMC,WAAA,GAA2CC,KAAA;EACtD,MAAM;IAAEC;EAAO,CAAE,GAAGD,KAAA;EAEpB,IAAIC,OAAA,EAAS;IACX,oBAAOC,IAAA,CAACL,oBAAA;MAAsB,GAAGG;;EACnC;EAEA,oBAAOE,IAAA,CAACJ,iBAAA;IAAmB,GAAGE;;AAChC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","DraggableFileDetails","StaticFileDetails","FileDetails","props","hasMany","_jsx"],"sources":["../../../src/elements/FileDetails/index.tsx"],"sourcesContent":["'use client'\nimport type { Data, FileSizes, SanitizedCollectionConfig } from 'payload'\n\nimport React from 'react'\n\nimport { DraggableFileDetails } from './DraggableFileDetails/index.js'\nimport { StaticFileDetails } from './StaticFileDetails/index.js'\n\ntype SharedFileDetailsProps = {\n collectionSlug: string\n customUploadActions?: React.ReactNode[]\n doc: {\n variants?: FileSizes\n } & Data\n enableAdjustments?: boolean\n hasImageSizes?: boolean\n hideRemoveFile?: boolean\n imageCacheTag?: false | string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\ntype StaticFileDetailsProps = {\n draggableItemProps?: never\n handleRemove?: () => void\n hasMany?: never\n isSortable?: never\n removeItem?: never\n rowIndex?: never\n}\n\ntype DraggableFileDetailsProps = {\n handleRemove?: never\n hasMany: boolean\n isSortable?: boolean\n removeItem?: (index: number) => void\n rowIndex: number\n}\n\nexport type FileDetailsProps = (DraggableFileDetailsProps | StaticFileDetailsProps) &\n SharedFileDetailsProps\n\nexport const FileDetails: React.FC<FileDetailsProps> = (props) => {\n const { hasMany } = props\n\n if (hasMany) {\n return <DraggableFileDetails {...props} />\n }\n\n return <StaticFileDetails {...props} />\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAW;AAElB,SAASC,oBAAoB,QAAQ;AACrC,SAASC,iBAAiB,QAAQ;AAmClC,OAAO,MAAMC,WAAA,GAA2CC,KAAA;EACtD,MAAM;IAAEC;EAAO,CAAE,GAAGD,KAAA;EAEpB,IAAIC,OAAA,EAAS;IACX,oBAAOC,IAAA,CAACL,oBAAA;MAAsB,GAAGG;;EACnC;EAEA,oBAAOE,IAAA,CAACJ,iBAAA;IAAmB,GAAGE;;AAChC","ignoreList":[]}
@@ -56,10 +56,9 @@
56
56
  padding: 0 var(--spacer-2);
57
57
  border-radius: var(--radius-medium);
58
58
  background: var(--color-bg-secondary-hover);
59
- font-family: var(--text-body-medium-strong-font-family);
60
59
  font-size: var(--text-body-medium-font-size);
61
- font-weight: var(--text-body-medium-strong-font-weight);
62
- line-height: var(--text-body-medium-strong-line-height);
60
+ font-weight: var(--text-body-medium-bold-font-weight);
61
+ line-height: var(--text-body-medium-bold-line-height);
63
62
  color: var(--color-text);
64
63
  white-space: nowrap;
65
64
  flex-shrink: 0;
@@ -28,10 +28,10 @@ export const FilePreview = t0 => {
28
28
  const {
29
29
  t
30
30
  } = useTranslation();
31
- const hasImageSizes = uploadConfig?.imageSizes?.length > 0;
31
+ const hasVariants = uploadConfig?.variants?.length > 0;
32
32
  const mimeType = data?.mimeType ?? "";
33
33
  let t1;
34
- if ($[0] !== UploadFilePreview || $[1] !== collectionSlug || $[2] !== data || $[3] !== hasImageSizes || $[4] !== imageCacheTag || $[5] !== mimeType || $[6] !== selectedSize || $[7] !== selectedSizeData || $[8] !== setSelectedSize || $[9] !== t || $[10] !== uploadConfig) {
34
+ if ($[0] !== UploadFilePreview || $[1] !== collectionSlug || $[2] !== data || $[3] !== hasVariants || $[4] !== imageCacheTag || $[5] !== mimeType || $[6] !== selectedSize || $[7] !== selectedSizeData || $[8] !== setSelectedSize || $[9] !== t || $[10] !== uploadConfig) {
35
35
  const isImageFile = isImage(mimeType);
36
36
  const fileSrc = selectedSizeData?.url ?? data?.thumbnailURL ?? data?.url ?? null;
37
37
  const originalUrl = data?.url;
@@ -97,7 +97,7 @@ export const FilePreview = t0 => {
97
97
  const metaString = parts.join(" \u2013 ");
98
98
  t1 = _jsxs("div", {
99
99
  className: baseClass,
100
- children: [hasImageSizes && isImageFile && _jsx(MiniCarousel, {
100
+ children: [hasVariants && isImageFile && _jsx(MiniCarousel, {
101
101
  doc: data,
102
102
  imageCacheTag,
103
103
  onSelect: setSelectedSize,
@@ -123,7 +123,7 @@ export const FilePreview = t0 => {
123
123
  $[0] = UploadFilePreview;
124
124
  $[1] = collectionSlug;
125
125
  $[2] = data;
126
- $[3] = hasImageSizes;
126
+ $[3] = hasVariants;
127
127
  $[4] = imageCacheTag;
128
128
  $[5] = mimeType;
129
129
  $[6] = selectedSize;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","formatFilesize","isImage","React","useTranslation","appendCacheTag","MiniCarousel","Thumbnail","AudioPreview","PdfPreview","VideoPreview","baseClass","FilePreview","t0","$","collectionSlug","data","imageCacheTag","selectedSize","selectedSizeData","setSelectedSize","uploadConfig","UploadFilePreview","t","hasImageSizes","imageSizes","length","mimeType","t1","isImageFile","fileSrc","url","thumbnailURL","originalUrl","nativePreviewSrc","undefined","renderBuiltInPreview","startsWith","_jsx","title","filename","className","doc","size","w","width","h","height","parts","filesize","push","t2","t3","metaString","join","_jsxs","children","onSelect"],"sources":["../../../../src/elements/FileManager/FilePreview/index.tsx"],"sourcesContent":["'use client'\nimport { formatFilesize, isImage } from 'payload/shared'\nimport React from 'react'\n\nimport type { FileManagerProps } from '../index.js'\n\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { appendCacheTag } from '../../../utilities/appendCacheTag.js'\nimport { MiniCarousel } from '../../MiniCarousel/index.js'\nimport { Thumbnail } from '../../Thumbnail/index.js'\nimport { AudioPreview } from './AudioPreview/index.js'\nimport { PdfPreview } from './PdfPreview/index.js'\nimport { VideoPreview } from './VideoPreview/index.js'\nimport './index.css'\n\nconst baseClass = 'file-preview'\n\ntype Props = {\n readonly data: Record<string, unknown>\n readonly imageCacheTag?: false | string\n readonly selectedSize?: null | string\n readonly selectedSizeData?: null | Record<string, unknown>\n readonly setSelectedSize: (size: null | string) => void\n} & Pick<FileManagerProps, 'collectionSlug' | 'uploadConfig' | 'UploadFilePreview'>\n\nexport const FilePreview: React.FC<Props> = ({\n collectionSlug,\n data,\n imageCacheTag,\n selectedSize,\n selectedSizeData,\n setSelectedSize,\n uploadConfig,\n UploadFilePreview,\n}) => {\n const { t } = useTranslation()\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const mimeType = (data?.mimeType as string) ?? ''\n const isImageFile = isImage(mimeType)\n const fileSrc = (selectedSizeData?.url ?? data?.thumbnailURL ?? data?.url ?? null) as\n | null\n | string\n\n const originalUrl = data?.url as string | undefined\n const nativePreviewSrc = originalUrl ? appendCacheTag(originalUrl, imageCacheTag) : undefined\n\n // Built-in previews for native file types; images (and unknown types) fall back to the thumbnail.\n const renderBuiltInPreview = () => {\n if (nativePreviewSrc && !isImageFile) {\n if (mimeType.startsWith('video/')) {\n return <VideoPreview fileSrc={nativePreviewSrc} />\n }\n if (mimeType.startsWith('audio/')) {\n return <AudioPreview fileSrc={nativePreviewSrc} />\n }\n if (mimeType === 'application/pdf') {\n return <PdfPreview fileSrc={nativePreviewSrc} title={data?.filename as string} />\n }\n }\n\n return (\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionSlug}\n doc={selectedSizeData || data}\n fileSrc={fileSrc}\n imageCacheTag={imageCacheTag}\n size=\"expand\"\n uploadConfig={uploadConfig}\n />\n )\n }\n\n const metaString = (() => {\n const w = (selectedSizeData?.width ?? data?.width) as number | undefined\n const h = (selectedSizeData?.height ?? data?.height) as number | undefined\n const parts: string[] = []\n if (typeof w === 'number' && typeof h === 'number') {\n parts.push(`${w} × ${h}`)\n }\n parts.push(\n formatFilesize(((selectedSizeData?.filesize ?? (data?.filesize as number)) || 0) as number),\n )\n if (data?.mimeType) {\n parts.push(data.mimeType as string)\n }\n return parts.join(' – ')\n })()\n\n return (\n <div className={baseClass}>\n {hasImageSizes && isImageFile && (\n <MiniCarousel\n doc={data}\n imageCacheTag={imageCacheTag}\n onSelect={setSelectedSize}\n selectedSize={selectedSize}\n uploadConfig={uploadConfig}\n />\n )}\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__image-wrap`}>\n {UploadFilePreview ?? renderBuiltInPreview()}\n </div>\n <div className={`${baseClass}__info`}>\n <span className={`${baseClass}__info-label`}>\n {selectedSize ?? t('general:original')}\n </span>\n <span className={`${baseClass}__info-meta`}>{metaString}</span>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,cAAc,EAAEC,OAAO,QAAQ;AACxC,OAAOC,KAAA,MAAW;AAIlB,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAC3B,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAUlB,OAAO,MAAMC,WAAA,GAA+BC,EAAA;EAAA,MAAAC,CAAA,GAAAd,EAAA;EAAC;IAAAe,cAAA;IAAAC,IAAA;IAAAC,aAAA;IAAAC,YAAA;IAAAC,gBAAA;IAAAC,eAAA;IAAAC,YAAA;IAAAC;EAAA,IAAAT,EAS5C;EACC;IAAAU;EAAA,IAAcnB,cAAA;EAEd,MAAAoB,aAAA,GAAsBH,YAAA,EAAAI,UAAA,EAAAC,MAAA,IAAmC;EACzD,MAAAC,QAAA,GAAiBX,IAAC,EAAAW,QAAA,IAA6B;EAAA,IAAAC,EAAA;EAAA,IAAAd,CAAA,QAAAQ,iBAAA,IAAAR,CAAA,QAAAC,cAAA,IAAAD,CAAA,QAAAE,IAAA,IAAAF,CAAA,QAAAU,aAAA,IAAAV,CAAA,QAAAG,aAAA,IAAAH,CAAA,QAAAa,QAAA,IAAAb,CAAA,QAAAI,YAAA,IAAAJ,CAAA,QAAAK,gBAAA,IAAAL,CAAA,QAAAM,eAAA,IAAAN,CAAA,QAAAS,CAAA,IAAAT,CAAA,SAAAO,YAAA;IAC/C,MAAAQ,WAAA,GAAoB3B,OAAA,CAAQyB,QAAA;IAC5B,MAAAG,OAAA,GAAiBX,gBAAA,EAAAY,GAAA,IAAyBf,IAAA,EAAAgB,YAAM,IAAgBhB,IAAA,EAAAe,GAAM,QAAO;IAI7E,MAAAE,WAAA,GAAoBjB,IAAA,EAAAe,GAAA;IACpB,MAAAG,gBAAA,GAAyBD,WAAA,GAAc5B,cAAA,CAAe4B,WAAA,EAAahB,aAAA,IAAAkB,SAAiB;IAGpF,MAAAC,oBAAA,GAAAA,CAAA;MAAA,IACMF,gBAAA,KAAqBL,WAAA;QAAA,IACnBF,QAAA,CAAAU,UAAA,CAAoB;UAAA,OACfC,IAAA,CAAA5B,YAAA;YAAAoB,OAAA,EAAuBI;UAAA,C;;YAE5BP,QAAA,CAAAU,UAAA,CAAoB;UAAA,OACfC,IAAA,CAAA9B,YAAA;YAAAsB,OAAA,EAAuBI;UAAA,C;;YAE5BP,QAAA,KAAa;UAAA,OACRW,IAAA,CAAA7B,UAAA;YAAAqB,OAAA,EAAqBI,gBAAA;YAAAK,KAAA,EAAyBvB,IAAA,EAAAwB;UAAA,C;;;aAKvDF,IAAA,CAAA/B,SAAA;QAAAkC,SAAA,EACa,GAAA9B,SAAA,aAAyB;QAAAI,cAAA;QAAA2B,GAAA,EAE/BvB,gBAAA,IAAoBH,IAAA;QAAAc,OAAA;QAAAb,aAAA;QAAA0B,IAAA,EAGpB;QAAAtB;MAAA,C;;IAOT,MAAAuB,CAAA,GAAWzB,gBAAA,EAAA0B,KAAA,IAA2B7B,IAAA,EAAA6B,KAAM;IAC5C,MAAAC,CAAA,GAAW3B,gBAAA,EAAA4B,MAAA,IAA4B/B,IAAA,EAAA+B,MAAM;IAAA,IAAAC,KAAA;IAAA,IAAAlC,CAAA,SAAAE,IAAA,IAAAF,CAAA,SAAAgC,CAAA,IAAAhC,CAAA,SAAAK,gBAAA,EAAA8B,QAAA,IAAAnC,CAAA,SAAA8B,CAAA;MAC7CI,KAAA;MAA0B,IACtB,OAAOJ,CAAA,KAAM,YAAY,OAAOE,CAAA,KAAM;QACxCE,KAAA,CAAAE,IAAA,CAAW,GAAGN,CAAA,MAAOE,CAAA,EAAG;MAAA;MAGR,MAAAK,EAAA,IAAChC,gBAAA,EAAA8B,QAAA,IAA+BjC,IAAA,EAAAiC,QAAwB,MAAM;MAAA,IAAAG,EAAA;MAAA,IAAAtC,CAAA,SAAAqC,EAAA;QAA9EC,EAAA,GAAAnD,cAAA,CAAgBkD,EAA8D;QAAArC,CAAA,OAAAqC,EAAA;QAAArC,CAAA,OAAAsC,EAAA;MAAA;QAAAA,EAAA,GAAAtC,CAAA;MAAA;MADhFkC,KAAA,CAAAE,IAAA,CACEE,EAA8E;MAAA,IAE5EpC,IAAA,EAAAW,QAAA;QACFqB,KAAA,CAAAE,IAAA,CAAWlC,IAAA,CAAAW,QAAa;MAAA;MAAAb,CAAA,OAAAE,IAAA;MAAAF,CAAA,OAAAgC,CAAA;MAAAhC,CAAA,OAAAK,gBAAA,EAAA8B,QAAA;MAAAnC,CAAA,OAAA8B,CAAA;MAAA9B,CAAA,OAAAkC,KAAA;IAAA;MAAAA,KAAA,GAAAlC,CAAA;IAAA;IAX5B,MAAAuC,UAAA,GAaSL,KAAA,CAAAM,IAAA,CAAW;IAIlB1B,EAAA,GAAA2B,KAAA,CAAC;MAAAd,SAAA,EAAA9B,SAAA;MAAA6C,QAAA,GACEhC,aAAA,IAAiBK,WAAA,IAChBS,IAAA,CAAAhC,YAAA;QAAAoC,GAAA,EACO1B,IAAA;QAAAC,aAAA;QAAAwC,QAAA,EAEKrC,eAAA;QAAAF,YAAA;QAAAG;MAAA,C,GAKdkC,KAAA,CAAC;QAAAd,SAAA,EAAe,GAAA9B,SAAA,QAAoB;QAAA6C,QAAA,GAClClB,IAAA,CAAC;UAAAG,SAAA,EAAe,GAAA9B,SAAA,cAA0B;UAAA6C,QAAA,EACvClC,iBAAA,IAAqBc,oBAAA;QAAA,C,GAExBmB,KAAA,CAAC;UAAAd,SAAA,EAAe,GAAA9B,SAAA,QAAoB;UAAA6C,QAAA,GAClClB,IAAA,CAAC;YAAAG,SAAA,EAAgB,GAAA9B,SAAA,cAA0B;YAAA6C,QAAA,EACxCtC,YAAA,IAAgBK,CAAA,CAAE;UAAA,C,GAErBe,IAAA,CAAC;YAAAG,SAAA,EAAgB,GAAA9B,SAAA,aAAyB;YAAA6C,QAAA,EAAGH;UAAA,C;;;;;;;;;;;;;;;;;;;SAlBnDzB,E;CAuBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","formatFilesize","isImage","React","useTranslation","appendCacheTag","MiniCarousel","Thumbnail","AudioPreview","PdfPreview","VideoPreview","baseClass","FilePreview","t0","$","collectionSlug","data","imageCacheTag","selectedSize","selectedSizeData","setSelectedSize","uploadConfig","UploadFilePreview","t","hasVariants","variants","length","mimeType","t1","isImageFile","fileSrc","url","thumbnailURL","originalUrl","nativePreviewSrc","undefined","renderBuiltInPreview","startsWith","_jsx","title","filename","className","doc","size","w","width","h","height","parts","filesize","push","t2","t3","metaString","join","_jsxs","children","onSelect"],"sources":["../../../../src/elements/FileManager/FilePreview/index.tsx"],"sourcesContent":["'use client'\nimport { formatFilesize, isImage } from 'payload/shared'\nimport React from 'react'\n\nimport type { FileManagerProps } from '../index.js'\n\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { appendCacheTag } from '../../../utilities/appendCacheTag.js'\nimport { MiniCarousel } from '../../MiniCarousel/index.js'\nimport { Thumbnail } from '../../Thumbnail/index.js'\nimport { AudioPreview } from './AudioPreview/index.js'\nimport { PdfPreview } from './PdfPreview/index.js'\nimport { VideoPreview } from './VideoPreview/index.js'\nimport './index.css'\n\nconst baseClass = 'file-preview'\n\ntype Props = {\n readonly data: Record<string, unknown>\n readonly imageCacheTag?: false | string\n readonly selectedSize?: null | string\n readonly selectedSizeData?: null | Record<string, unknown>\n readonly setSelectedSize: (size: null | string) => void\n} & Pick<FileManagerProps, 'collectionSlug' | 'uploadConfig' | 'UploadFilePreview'>\n\nexport const FilePreview: React.FC<Props> = ({\n collectionSlug,\n data,\n imageCacheTag,\n selectedSize,\n selectedSizeData,\n setSelectedSize,\n uploadConfig,\n UploadFilePreview,\n}) => {\n const { t } = useTranslation()\n\n const hasVariants = uploadConfig?.variants?.length > 0\n const mimeType = (data?.mimeType as string) ?? ''\n const isImageFile = isImage(mimeType)\n const fileSrc = (selectedSizeData?.url ?? data?.thumbnailURL ?? data?.url ?? null) as\n | null\n | string\n\n const originalUrl = data?.url as string | undefined\n const nativePreviewSrc = originalUrl ? appendCacheTag(originalUrl, imageCacheTag) : undefined\n\n // Built-in previews for native file types; images (and unknown types) fall back to the thumbnail.\n const renderBuiltInPreview = () => {\n if (nativePreviewSrc && !isImageFile) {\n if (mimeType.startsWith('video/')) {\n return <VideoPreview fileSrc={nativePreviewSrc} />\n }\n if (mimeType.startsWith('audio/')) {\n return <AudioPreview fileSrc={nativePreviewSrc} />\n }\n if (mimeType === 'application/pdf') {\n return <PdfPreview fileSrc={nativePreviewSrc} title={data?.filename as string} />\n }\n }\n\n return (\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionSlug}\n doc={selectedSizeData || data}\n fileSrc={fileSrc}\n imageCacheTag={imageCacheTag}\n size=\"expand\"\n uploadConfig={uploadConfig}\n />\n )\n }\n\n const metaString = (() => {\n const w = (selectedSizeData?.width ?? data?.width) as number | undefined\n const h = (selectedSizeData?.height ?? data?.height) as number | undefined\n const parts: string[] = []\n if (typeof w === 'number' && typeof h === 'number') {\n parts.push(`${w} × ${h}`)\n }\n parts.push(\n formatFilesize(((selectedSizeData?.filesize ?? (data?.filesize as number)) || 0) as number),\n )\n if (data?.mimeType) {\n parts.push(data.mimeType as string)\n }\n return parts.join(' – ')\n })()\n\n return (\n <div className={baseClass}>\n {hasVariants && isImageFile && (\n <MiniCarousel\n doc={data}\n imageCacheTag={imageCacheTag}\n onSelect={setSelectedSize}\n selectedSize={selectedSize}\n uploadConfig={uploadConfig}\n />\n )}\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__image-wrap`}>\n {UploadFilePreview ?? renderBuiltInPreview()}\n </div>\n <div className={`${baseClass}__info`}>\n <span className={`${baseClass}__info-label`}>\n {selectedSize ?? t('general:original')}\n </span>\n <span className={`${baseClass}__info-meta`}>{metaString}</span>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -42,10 +42,9 @@
42
42
  border: var(--stroke-width-small) solid var(--special-border-translucent);
43
43
  cursor: pointer;
44
44
  color: var(--color-text);
45
- font-family: var(--text-body-medium-strong-font-family);
46
45
  font-size: var(--text-body-medium-font-size);
47
- font-weight: var(--text-body-medium-strong-font-weight);
48
- line-height: var(--text-body-medium-strong-line-height);
46
+ font-weight: var(--text-body-medium-bold-font-weight);
47
+ line-height: var(--text-body-medium-bold-line-height);
49
48
  letter-spacing: var(--text-body-medium-letter-spacing);
50
49
  max-width: var(--file-toolbar-filename-max-width);
51
50
 
@@ -100,7 +100,6 @@
100
100
 
101
101
  .file-manager__selected-meta {
102
102
  color: var(--color-text-tertiary);
103
- font-family: var(--text-body-small-font-family);
104
103
  font-size: var(--text-body-small-font-size);
105
104
  line-height: var(--text-body-small-line-height);
106
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FileManager/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIrE,OAAO,KAAqD,MAAM,OAAO,CAAA;AA6BzE,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,SAAS,EAAE,SAAS,CAAA;IACnD;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;IACxD,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAA;IACtF,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC7C,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA6XlD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FileManager/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIrE,OAAO,KAAqD,MAAM,OAAO,CAAA;AA8BzE,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,SAAS,EAAE,SAAS,CAAA;IACnD;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;IACxD,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAA;IACtF,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC7C,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA+XlD,CAAA"}
@@ -22,6 +22,7 @@ import { Dropzone } from '../Dropzone/index.js';
22
22
  import { EditUpload } from '../EditUpload/index.js';
23
23
  import { PreviewSizes } from '../PreviewSizes/index.js';
24
24
  import { Thumbnail } from '../Thumbnail/index.js';
25
+ import { getEditorFileSrc } from '../Upload/getEditorFileSrc.js';
25
26
  import { editDrawerSlug, sizePreviewSlug } from '../Upload/index.js';
26
27
  import { UploadFromURLModal } from '../Upload/UploadFromURLModal/index.js';
27
28
  import { usePasteFromClipboard } from '../Upload/usePasteFromClipboard.js';
@@ -113,8 +114,8 @@ export const FileManager = t0 => {
113
114
  const [selectedSize, setSelectedSize] = useState(null);
114
115
  const acceptMimeTypes = uploadConfig.mimeTypes?.join(", ");
115
116
  const imageCacheTag = uploadConfig?.cacheTags && data?.updatedAt;
116
- const hasImageSizes = uploadConfig?.imageSizes?.length > 0;
117
- const hasResizeOptions = Boolean(uploadConfig?.resizeOptions);
117
+ const hasVariants = uploadConfig?.variants?.length > 0;
118
+ const hasImageAdjustments = Boolean(uploadConfig?.hasImageAdjustments);
118
119
  const focalPointEnabled = uploadConfig?.focalPoint === true;
119
120
  const {
120
121
  crop: t3,
@@ -122,8 +123,8 @@ export const FileManager = t0 => {
122
123
  } = uploadConfig;
123
124
  const showCrop = t3 === undefined ? true : t3;
124
125
  const focalPoint = t4 === undefined ? true : t4;
125
- const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled);
126
- const selectedSizeData = selectedSize ? data?.sizes?.[selectedSize] : null;
126
+ const showFocalPoint = focalPoint && (hasVariants || hasImageAdjustments || focalPointEnabled);
127
+ const selectedSizeData = selectedSize ? data?.variants?.[selectedSize] : null;
127
128
  const sidePanelFileSrc = selectedSizeData?.url ?? data?.thumbnailURL ?? data?.url ?? null;
128
129
  const sidePanelMimeType = data?.mimeType;
129
130
  const fileTypeIsAdjustable = !!sidePanelMimeType && isImage(sidePanelMimeType) && sidePanelMimeType !== "image/svg+xml" && sidePanelMimeType !== "image/jxl";
@@ -427,7 +428,11 @@ export const FileManager = t0 => {
427
428
  children: [(value || data?.filename) && _jsx(EditDepthProvider, {
428
429
  children: _jsx(EditUpload, {
429
430
  fileName: value?.name || data?.filename,
430
- fileSrc: data?.url || fileSrc,
431
+ fileSrc: getEditorFileSrc({
432
+ data,
433
+ fileSrc,
434
+ hasSelectedFile: Boolean(value)
435
+ }),
431
436
  imageCacheTag,
432
437
  initialCrop: uploadEdits?.crop ?? undefined,
433
438
  initialFocalPoint: {
@@ -438,7 +443,7 @@ export const FileManager = t0 => {
438
443
  showCrop,
439
444
  showFocalPoint
440
445
  })
441
- }), data && hasImageSizes && _jsx(Drawer, {
446
+ }), data && hasVariants && _jsx(Drawer, {
442
447
  className: `${baseClass}__preview-drawer`,
443
448
  hoverTitle: true,
444
449
  slug: sizePreviewSlug,
@@ -495,6 +500,7 @@ export const FileManager = t0 => {
495
500
  }) : showUploadInput ? _jsxs("div", {
496
501
  className: `${baseClass}__upload`,
497
502
  children: [!value && removedFile && data?.filename && _jsx(Button, {
503
+ "aria-label": t("general:cancel"),
498
504
  buttonStyle: "secondary",
499
505
  className: `${baseClass}__remove`,
500
506
  icon: "x",
@@ -513,6 +519,7 @@ export const FileManager = t0 => {
513
519
  })
514
520
  }), value && fileSrc && _jsxs(Fragment, {
515
521
  children: [_jsx(Button, {
522
+ "aria-label": t("general:cancel"),
516
523
  buttonStyle: "secondary",
517
524
  className: `${baseClass}__remove`,
518
525
  icon: "x",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","formatFilesize","isImage","validateMimeType","React","Fragment","useCallback","useEffect","useState","toast","FieldError","fieldBaseClass","TextInput","useForm","useField","useDocumentInfo","EditDepthProvider","useTranslation","useUploadControls","useUploadEdits","Button","Drawer","Dropzone","EditUpload","PreviewSizes","Thumbnail","editDrawerSlug","sizePreviewSlug","UploadFromURLModal","usePasteFromClipboard","useUploadFromUrl","UploadDropzoneContent","AudioPreview","FilePreview","PdfPreview","VideoPreview","FileToolbar","baseClass","FileManager","t0","$","collectionSlug","initialState","resetUploadEdits","resetUploadEditsFromProps","updateUploadEdits","updateUploadEditsFromProps","uploadConfig","UploadControls","uploadEdits","uploadEditsFromProps","UploadFilePreview","openModal","t","setModified","data","t1","mimeTypes","file","undefined","name","File","length","type","validate","t2","path","errorMessage","setValue","showError","value","setUploadControlFile","setUploadControlFileName","setUploadControlFileUrl","uploadControlFile","uploadControlFileUrl","uploadEditsContext","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","selectedSize","setSelectedSize","acceptMimeTypes","join","imageCacheTag","cacheTags","updatedAt","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","t3","t4","showCrop","showFocalPoint","selectedSizeData","sizes","sidePanelFileSrc","url","thumbnailURL","sidePanelMimeType","mimeType","fileTypeIsAdjustable","renameFile","_temp","t5","t6","file_0","isNewFile","t7","error","URL","createObjectURL","handleFileChange","e","updatedFileName","target","handleFileNameChange","files","handleFileSelection","t8","file_1","handleFileFetchedFromUrl","t9","onFileFetched","fileUrl","handleUrlSubmit","isValidUrl","setFileUrl","t10","handlePasteFromClipboard","t11","handleFileRemoval","t12","args","onEditsSave","t13","Symbol","for","t14","t15","t16","t17","t18","t19","t20","startsWith","revokeObjectURL","t21","t22","handleControlFileUrl","t23","t24","t25","src","fileType","_jsx","className","children","title","size","renderSelectedFilePreview","drawers","_jsxs","fileName","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","slug","label","doc","pasteURL","showUploadInput","hideFileInputOnCreate","t26","filter","message","hideRemoveFile","isAdjustable","onEditImage","onReplace","buttonStyle","icon","onClick","round","tooltip","onChange","extraControls","onFilesSelected","onPasteFromClipboard","pasteButtonClassName","pasteTooltip","id","fileToChange","newName","lastModified"],"sources":["../../../src/elements/FileManager/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatFilesize, isImage, validateMimeType } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { TextInput } from '../../fields/Text/Input.js'\nimport { useForm } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadControls } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport { editDrawerSlug, sizePreviewSlug } from '../Upload/index.js'\nimport { UploadFromURLModal } from '../Upload/UploadFromURLModal/index.js'\nimport { usePasteFromClipboard } from '../Upload/usePasteFromClipboard.js'\nimport { useUploadFromUrl } from '../Upload/useUploadFromUrl.js'\nimport { UploadDropzoneContent } from '../UploadDropzoneContent/index.js'\nimport { AudioPreview } from './FilePreview/AudioPreview/index.js'\nimport { FilePreview } from './FilePreview/index.js'\nimport { PdfPreview } from './FilePreview/PdfPreview/index.js'\nimport { VideoPreview } from './FilePreview/VideoPreview/index.js'\nimport { FileToolbar } from './FileToolbar/index.js'\nimport './index.css'\n\nconst baseClass = 'file-manager'\n\nexport type FileManagerProps = {\n readonly collectionSlug: string\n readonly initialState?: import('payload').FormState\n /**\n * When provided, upload edits are sourced from these props instead of the `useUploadEdits`\n * context. The bulk upload drawer uses this to drive per-file edits from its FormsManager.\n */\n readonly resetUploadEdits?: () => void\n readonly updateUploadEdits?: (args: UploadEdits) => void\n readonly uploadConfig: Omit<SanitizedCollectionConfig['upload'], 'uploadInstructions'>\n readonly UploadControls?: React.ReactNode\n readonly uploadEdits?: UploadEdits\n readonly UploadFilePreview?: React.ReactNode\n}\n\nexport const FileManager: React.FC<FileManagerProps> = ({\n collectionSlug,\n initialState,\n resetUploadEdits: resetUploadEditsFromProps,\n updateUploadEdits: updateUploadEditsFromProps,\n uploadConfig,\n UploadControls,\n uploadEdits: uploadEditsFromProps,\n UploadFilePreview,\n}) => {\n const { openModal } = useModal()\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { data } = useDocumentInfo()\n const validate = useCallback(\n (file: File | null | undefined) => {\n if (!file && file !== undefined) {\n return 'A file is required.'\n }\n if (file && (!file.name || file.name === '')) {\n return 'A file name is required.'\n }\n if (\n file instanceof File &&\n uploadConfig.mimeTypes?.length &&\n !validateMimeType(file.type, uploadConfig.mimeTypes)\n ) {\n return t('error:invalidFileType')\n }\n return true\n },\n [t, uploadConfig.mimeTypes],\n )\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n const {\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileUrl,\n } = useUploadControls()\n const uploadEditsContext = useUploadEdits()\n const resetUploadEdits = resetUploadEditsFromProps ?? uploadEditsContext.resetUploadEdits\n const updateUploadEdits = updateUploadEditsFromProps ?? uploadEditsContext.updateUploadEdits\n const uploadEdits = uploadEditsFromProps ?? uploadEditsContext.uploadEdits\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n const [selectedSize, setSelectedSize] = useState<null | string>(null)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n const imageCacheTag = uploadConfig?.cacheTags && data?.updatedAt\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n const focalPointEnabled = uploadConfig?.focalPoint === true\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n const selectedSizeData = selectedSize\n ? (data?.sizes?.[selectedSize] as Record<string, unknown>)\n : null\n const sidePanelFileSrc = (selectedSizeData?.url ?? data?.thumbnailURL ?? data?.url ?? null) as\n | null\n | string\n const sidePanelMimeType = data?.mimeType as string | undefined\n const fileTypeIsAdjustable =\n !!sidePanelMimeType &&\n isImage(sidePanelMimeType) &&\n sidePanelMimeType !== 'image/svg+xml' &&\n sidePanelMimeType !== 'image/jxl'\n\n const renameFile = (fileToChange: File, newName: string): File =>\n new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n\n const handleFileChange = useCallback(\n ({ file, isNewFile = true }: { file: File | null; isNewFile?: boolean }) => {\n if (\n file instanceof File &&\n uploadConfig.mimeTypes?.length &&\n !validateMimeType(file.type, uploadConfig.mimeTypes)\n ) {\n toast.error(t('error:invalidFileType'))\n return\n }\n if (isNewFile && file instanceof File) {\n setFileSrc(URL.createObjectURL(file))\n }\n setValue(file)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n },\n [\n setValue,\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n t,\n uploadConfig.mimeTypes,\n ],\n )\n\n const handleFileNameChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n if (value) {\n handleFileChange({ file: renameFile(value, updatedFileName), isNewFile: false })\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => handleFileChange({ file: files?.[0] }),\n [handleFileChange],\n )\n\n const handleFileFetchedFromUrl = useCallback(\n (file: File) => handleFileChange({ file }),\n [handleFileChange],\n )\n\n const { fileUrl, handleUrlSubmit, isValidUrl, setFileUrl } = useUploadFromUrl({\n collectionSlug,\n onFileFetched: handleFileFetchedFromUrl,\n uploadConfig,\n })\n\n const handlePasteFromClipboard = usePasteFromClipboard({\n handleFileSelection,\n handleUrlSubmit,\n setFileUrl,\n uploadConfig,\n })\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange({ file: null })\n setFileSrc('')\n setFileUrl('')\n setSelectedSize(null)\n resetUploadEdits()\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n }, [\n handleFileChange,\n resetUploadEdits,\n setFileUrl,\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n ])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n // Reset states for when replacing the file with a new upload\n useEffect(() => {\n setSelectedSize(null)\n setRemovedFile(false)\n setFileSrc('')\n }, [data?.url, data?.filename])\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n return () => {\n if (fileSrc?.startsWith('blob:')) {\n URL.revokeObjectURL(fileSrc)\n }\n }\n }, [fileSrc])\n\n useEffect(() => {\n const handleControlFileUrl = async () => {\n if (uploadControlFileUrl) {\n setFileUrl(uploadControlFileUrl)\n await handleUrlSubmit()\n }\n }\n void handleControlFileUrl()\n }, [uploadControlFileUrl, handleUrlSubmit, setFileUrl])\n\n useEffect(() => {\n if (uploadControlFile) {\n handleFileChange({ file: uploadControlFile })\n }\n }, [uploadControlFile, handleFileChange])\n\n // Preview a freshly-selected (not-yet-saved) file from its local object URL, so video/audio/PDF\n // are playable/viewable just like images. Sizing is capped in CSS so large files stay contained.\n const renderSelectedFilePreview = (src: string) => {\n const fileType = value?.type ?? ''\n\n if (fileType.startsWith('video/')) {\n return (\n <div className={`${baseClass}__selected-preview`}>\n <VideoPreview fileSrc={src} />\n </div>\n )\n }\n\n if (fileType.startsWith('audio/')) {\n return (\n <div className={`${baseClass}__selected-preview ${baseClass}__selected-preview--audio`}>\n <AudioPreview fileSrc={src} />\n </div>\n )\n }\n\n if (fileType === 'application/pdf') {\n return (\n <div className={`${baseClass}__selected-preview`}>\n <PdfPreview fileSrc={src} title={value?.name} />\n </div>\n )\n }\n\n return (\n <div className={`${baseClass}__selected-preview`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(fileType) ? src : null}\n size=\"expand\"\n />\n </div>\n )\n }\n\n const drawers = (\n <Fragment>\n {(value || data?.filename) && (\n <EditDepthProvider>\n <EditUpload\n fileName={value?.name || (data?.filename as string)}\n fileSrc={(data?.url as string) || fileSrc}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || (data?.focalX as number) || 50,\n y: uploadEdits?.focalPoint?.y || (data?.focalY as number) || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </EditDepthProvider>\n )}\n {data && hasImageSizes && (\n <Drawer\n className={`${baseClass}__preview-drawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: data.filename })}\n >\n <PreviewSizes doc={data} imageCacheTag={imageCacheTag} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n {uploadConfig?.pasteURL !== false && (\n <UploadFromURLModal\n fileUrl={fileUrl}\n handleUrlSubmit={handleUrlSubmit}\n isValidUrl={isValidUrl}\n setFileUrl={setFileUrl}\n />\n )}\n </Fragment>\n )\n\n // Hide the create file input when the collection opts out of it (unless the user has explicitly\n // removed an existing file or already selected a new one).\n const showUploadInput = Boolean(value) || removedFile || !uploadConfig?.hideFileInputOnCreate\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} path=\"filename\" showError={showError} />\n <div className={`${baseClass}__panel`}>\n {data?.filename && !removedFile && (\n <FileToolbar\n filename={data.filename as string}\n fileSrc={sidePanelFileSrc}\n fileUrl={data?.url as string}\n hideRemoveFile={uploadConfig?.hideRemoveFile}\n isAdjustable={fileTypeIsAdjustable}\n onEditImage={() => openModal(editDrawerSlug)}\n onReplace={handleFileRemoval}\n />\n )}\n <div className={`${baseClass}__content`}>\n {data?.filename && !removedFile ? (\n <FilePreview\n collectionSlug={collectionSlug}\n data={data as Record<string, unknown>}\n imageCacheTag={imageCacheTag}\n selectedSize={selectedSize}\n selectedSizeData={selectedSizeData}\n setSelectedSize={setSelectedSize}\n uploadConfig={uploadConfig}\n UploadFilePreview={UploadFilePreview}\n />\n ) : showUploadInput ? (\n <div className={`${baseClass}__upload`}>\n {!value && removedFile && data?.filename && (\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={() => setRemovedFile(false)}\n round\n tooltip={t('general:cancel')}\n />\n )}\n {!value && (\n <Dropzone onChange={handleFileSelection}>\n <UploadDropzoneContent\n acceptMimeTypes={acceptMimeTypes}\n extraControls={UploadControls}\n onFilesSelected={handleFileSelection}\n onPasteFromClipboard={handlePasteFromClipboard}\n pasteButtonClassName={`${baseClass}__pasteFromClipboard`}\n pasteTooltip={t('upload:pasteURL')}\n />\n </Dropzone>\n )}\n {value && fileSrc && (\n <Fragment>\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n {renderSelectedFilePreview(fileSrc)}\n <div className={`${baseClass}__file-adjustments`}>\n {/* Custom id so this editor doesn't collide with the hidden auto `filename` field. */}\n <TextInput\n id=\"field-filemanager-filename\"\n label={t('upload:fileName')}\n onChange={handleFileNameChange}\n path=\"filename\"\n value={filename || value.name}\n />\n {(value.size || value.type) && (\n <span className={`${baseClass}__selected-meta`}>\n {[value.size ? formatFilesize(value.size) : null, value.type]\n .filter(Boolean)\n .join(' – ')}\n </span>\n )}\n </div>\n </Fragment>\n )}\n </div>\n ) : null}\n </div>\n </div>\n {drawers}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","formatFilesize","isImage","validateMimeType","React","Fragment","useCallback","useEffect","useState","toast","FieldError","fieldBaseClass","TextInput","useForm","useField","useDocumentInfo","EditDepthProvider","useTranslation","useUploadControls","useUploadEdits","Button","Drawer","Dropzone","EditUpload","PreviewSizes","Thumbnail","getEditorFileSrc","editDrawerSlug","sizePreviewSlug","UploadFromURLModal","usePasteFromClipboard","useUploadFromUrl","UploadDropzoneContent","AudioPreview","FilePreview","PdfPreview","VideoPreview","FileToolbar","baseClass","FileManager","t0","$","collectionSlug","initialState","resetUploadEdits","resetUploadEditsFromProps","updateUploadEdits","updateUploadEditsFromProps","uploadConfig","UploadControls","uploadEdits","uploadEditsFromProps","UploadFilePreview","openModal","t","setModified","data","t1","mimeTypes","file","undefined","name","File","length","type","validate","t2","path","errorMessage","setValue","showError","value","setUploadControlFile","setUploadControlFileName","setUploadControlFileUrl","uploadControlFile","uploadControlFileUrl","uploadEditsContext","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","selectedSize","setSelectedSize","acceptMimeTypes","join","imageCacheTag","cacheTags","updatedAt","hasVariants","variants","hasImageAdjustments","Boolean","focalPointEnabled","focalPoint","crop","t3","t4","showCrop","showFocalPoint","selectedSizeData","sidePanelFileSrc","url","thumbnailURL","sidePanelMimeType","mimeType","fileTypeIsAdjustable","renameFile","_temp","t5","t6","file_0","isNewFile","t7","error","URL","createObjectURL","handleFileChange","e","updatedFileName","target","handleFileNameChange","files","handleFileSelection","t8","file_1","handleFileFetchedFromUrl","t9","onFileFetched","fileUrl","handleUrlSubmit","isValidUrl","setFileUrl","t10","handlePasteFromClipboard","t11","handleFileRemoval","t12","args","onEditsSave","t13","Symbol","for","t14","t15","t16","t17","t18","t19","t20","startsWith","revokeObjectURL","t21","t22","handleControlFileUrl","t23","t24","t25","src","fileType","_jsx","className","children","title","size","renderSelectedFilePreview","drawers","_jsxs","fileName","hasSelectedFile","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","slug","label","doc","pasteURL","showUploadInput","hideFileInputOnCreate","t26","filter","message","hideRemoveFile","isAdjustable","onEditImage","onReplace","buttonStyle","icon","onClick","round","tooltip","onChange","extraControls","onFilesSelected","onPasteFromClipboard","pasteButtonClassName","pasteTooltip","id","fileToChange","newName","lastModified"],"sources":["../../../src/elements/FileManager/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatFilesize, isImage, validateMimeType } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { TextInput } from '../../fields/Text/Input.js'\nimport { useForm } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadControls } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport { getEditorFileSrc } from '../Upload/getEditorFileSrc.js'\nimport { editDrawerSlug, sizePreviewSlug } from '../Upload/index.js'\nimport { UploadFromURLModal } from '../Upload/UploadFromURLModal/index.js'\nimport { usePasteFromClipboard } from '../Upload/usePasteFromClipboard.js'\nimport { useUploadFromUrl } from '../Upload/useUploadFromUrl.js'\nimport { UploadDropzoneContent } from '../UploadDropzoneContent/index.js'\nimport { AudioPreview } from './FilePreview/AudioPreview/index.js'\nimport { FilePreview } from './FilePreview/index.js'\nimport { PdfPreview } from './FilePreview/PdfPreview/index.js'\nimport { VideoPreview } from './FilePreview/VideoPreview/index.js'\nimport { FileToolbar } from './FileToolbar/index.js'\nimport './index.css'\n\nconst baseClass = 'file-manager'\n\nexport type FileManagerProps = {\n readonly collectionSlug: string\n readonly initialState?: import('payload').FormState\n /**\n * When provided, upload edits are sourced from these props instead of the `useUploadEdits`\n * context. The bulk upload drawer uses this to drive per-file edits from its FormsManager.\n */\n readonly resetUploadEdits?: () => void\n readonly updateUploadEdits?: (args: UploadEdits) => void\n readonly uploadConfig: Omit<SanitizedCollectionConfig['upload'], 'uploadInstructions'>\n readonly UploadControls?: React.ReactNode\n readonly uploadEdits?: UploadEdits\n readonly UploadFilePreview?: React.ReactNode\n}\n\nexport const FileManager: React.FC<FileManagerProps> = ({\n collectionSlug,\n initialState,\n resetUploadEdits: resetUploadEditsFromProps,\n updateUploadEdits: updateUploadEditsFromProps,\n uploadConfig,\n UploadControls,\n uploadEdits: uploadEditsFromProps,\n UploadFilePreview,\n}) => {\n const { openModal } = useModal()\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { data } = useDocumentInfo()\n const validate = useCallback(\n (file: File | null | undefined) => {\n if (!file && file !== undefined) {\n return 'A file is required.'\n }\n if (file && (!file.name || file.name === '')) {\n return 'A file name is required.'\n }\n if (\n file instanceof File &&\n uploadConfig.mimeTypes?.length &&\n !validateMimeType(file.type, uploadConfig.mimeTypes)\n ) {\n return t('error:invalidFileType')\n }\n return true\n },\n [t, uploadConfig.mimeTypes],\n )\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n const {\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileUrl,\n } = useUploadControls()\n const uploadEditsContext = useUploadEdits()\n const resetUploadEdits = resetUploadEditsFromProps ?? uploadEditsContext.resetUploadEdits\n const updateUploadEdits = updateUploadEditsFromProps ?? uploadEditsContext.updateUploadEdits\n const uploadEdits = uploadEditsFromProps ?? uploadEditsContext.uploadEdits\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n const [selectedSize, setSelectedSize] = useState<null | string>(null)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n const imageCacheTag = uploadConfig?.cacheTags && data?.updatedAt\n\n const hasVariants = uploadConfig?.variants?.length > 0\n const hasImageAdjustments = Boolean(uploadConfig?.hasImageAdjustments)\n const focalPointEnabled = uploadConfig?.focalPoint === true\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n const showFocalPoint = focalPoint && (hasVariants || hasImageAdjustments || focalPointEnabled)\n\n const selectedSizeData = selectedSize\n ? (data?.variants?.[selectedSize] as Record<string, unknown>)\n : null\n const sidePanelFileSrc = (selectedSizeData?.url ?? data?.thumbnailURL ?? data?.url ?? null) as\n | null\n | string\n const sidePanelMimeType = data?.mimeType as string | undefined\n const fileTypeIsAdjustable =\n !!sidePanelMimeType &&\n isImage(sidePanelMimeType) &&\n sidePanelMimeType !== 'image/svg+xml' &&\n sidePanelMimeType !== 'image/jxl'\n\n const renameFile = (fileToChange: File, newName: string): File =>\n new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n\n const handleFileChange = useCallback(\n ({ file, isNewFile = true }: { file: File | null; isNewFile?: boolean }) => {\n if (\n file instanceof File &&\n uploadConfig.mimeTypes?.length &&\n !validateMimeType(file.type, uploadConfig.mimeTypes)\n ) {\n toast.error(t('error:invalidFileType'))\n return\n }\n if (isNewFile && file instanceof File) {\n setFileSrc(URL.createObjectURL(file))\n }\n setValue(file)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n },\n [\n setValue,\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n t,\n uploadConfig.mimeTypes,\n ],\n )\n\n const handleFileNameChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n if (value) {\n handleFileChange({ file: renameFile(value, updatedFileName), isNewFile: false })\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => handleFileChange({ file: files?.[0] }),\n [handleFileChange],\n )\n\n const handleFileFetchedFromUrl = useCallback(\n (file: File) => handleFileChange({ file }),\n [handleFileChange],\n )\n\n const { fileUrl, handleUrlSubmit, isValidUrl, setFileUrl } = useUploadFromUrl({\n collectionSlug,\n onFileFetched: handleFileFetchedFromUrl,\n uploadConfig,\n })\n\n const handlePasteFromClipboard = usePasteFromClipboard({\n handleFileSelection,\n handleUrlSubmit,\n setFileUrl,\n uploadConfig,\n })\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange({ file: null })\n setFileSrc('')\n setFileUrl('')\n setSelectedSize(null)\n resetUploadEdits()\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n }, [\n handleFileChange,\n resetUploadEdits,\n setFileUrl,\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n ])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n // Reset states for when replacing the file with a new upload\n useEffect(() => {\n setSelectedSize(null)\n setRemovedFile(false)\n setFileSrc('')\n }, [data?.url, data?.filename])\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n return () => {\n if (fileSrc?.startsWith('blob:')) {\n URL.revokeObjectURL(fileSrc)\n }\n }\n }, [fileSrc])\n\n useEffect(() => {\n const handleControlFileUrl = async () => {\n if (uploadControlFileUrl) {\n setFileUrl(uploadControlFileUrl)\n await handleUrlSubmit()\n }\n }\n void handleControlFileUrl()\n }, [uploadControlFileUrl, handleUrlSubmit, setFileUrl])\n\n useEffect(() => {\n if (uploadControlFile) {\n handleFileChange({ file: uploadControlFile })\n }\n }, [uploadControlFile, handleFileChange])\n\n // Preview a freshly-selected (not-yet-saved) file from its local object URL, so video/audio/PDF\n // are playable/viewable just like images. Sizing is capped in CSS so large files stay contained.\n const renderSelectedFilePreview = (src: string) => {\n const fileType = value?.type ?? ''\n\n if (fileType.startsWith('video/')) {\n return (\n <div className={`${baseClass}__selected-preview`}>\n <VideoPreview fileSrc={src} />\n </div>\n )\n }\n\n if (fileType.startsWith('audio/')) {\n return (\n <div className={`${baseClass}__selected-preview ${baseClass}__selected-preview--audio`}>\n <AudioPreview fileSrc={src} />\n </div>\n )\n }\n\n if (fileType === 'application/pdf') {\n return (\n <div className={`${baseClass}__selected-preview`}>\n <PdfPreview fileSrc={src} title={value?.name} />\n </div>\n )\n }\n\n return (\n <div className={`${baseClass}__selected-preview`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(fileType) ? src : null}\n size=\"expand\"\n />\n </div>\n )\n }\n\n const drawers = (\n <Fragment>\n {(value || data?.filename) && (\n <EditDepthProvider>\n <EditUpload\n fileName={value?.name || (data?.filename as string)}\n fileSrc={getEditorFileSrc({ data, fileSrc, hasSelectedFile: Boolean(value) })}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || (data?.focalX as number) || 50,\n y: uploadEdits?.focalPoint?.y || (data?.focalY as number) || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </EditDepthProvider>\n )}\n {data && hasVariants && (\n <Drawer\n className={`${baseClass}__preview-drawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: data.filename })}\n >\n <PreviewSizes doc={data} imageCacheTag={imageCacheTag} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n {uploadConfig?.pasteURL !== false && (\n <UploadFromURLModal\n fileUrl={fileUrl}\n handleUrlSubmit={handleUrlSubmit}\n isValidUrl={isValidUrl}\n setFileUrl={setFileUrl}\n />\n )}\n </Fragment>\n )\n\n // Hide the create file input when the collection opts out of it (unless the user has explicitly\n // removed an existing file or already selected a new one).\n const showUploadInput = Boolean(value) || removedFile || !uploadConfig?.hideFileInputOnCreate\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} path=\"filename\" showError={showError} />\n <div className={`${baseClass}__panel`}>\n {data?.filename && !removedFile && (\n <FileToolbar\n filename={data.filename as string}\n fileSrc={sidePanelFileSrc}\n fileUrl={data?.url as string}\n hideRemoveFile={uploadConfig?.hideRemoveFile}\n isAdjustable={fileTypeIsAdjustable}\n onEditImage={() => openModal(editDrawerSlug)}\n onReplace={handleFileRemoval}\n />\n )}\n <div className={`${baseClass}__content`}>\n {data?.filename && !removedFile ? (\n <FilePreview\n collectionSlug={collectionSlug}\n data={data as Record<string, unknown>}\n imageCacheTag={imageCacheTag}\n selectedSize={selectedSize}\n selectedSizeData={selectedSizeData}\n setSelectedSize={setSelectedSize}\n uploadConfig={uploadConfig}\n UploadFilePreview={UploadFilePreview}\n />\n ) : showUploadInput ? (\n <div className={`${baseClass}__upload`}>\n {!value && removedFile && data?.filename && (\n <Button\n aria-label={t('general:cancel')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={() => setRemovedFile(false)}\n round\n tooltip={t('general:cancel')}\n />\n )}\n {!value && (\n <Dropzone onChange={handleFileSelection}>\n <UploadDropzoneContent\n acceptMimeTypes={acceptMimeTypes}\n extraControls={UploadControls}\n onFilesSelected={handleFileSelection}\n onPasteFromClipboard={handlePasteFromClipboard}\n pasteButtonClassName={`${baseClass}__pasteFromClipboard`}\n pasteTooltip={t('upload:pasteURL')}\n />\n </Dropzone>\n )}\n {value && fileSrc && (\n <Fragment>\n <Button\n aria-label={t('general:cancel')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n {renderSelectedFilePreview(fileSrc)}\n <div className={`${baseClass}__file-adjustments`}>\n {/* Custom id so this editor doesn't collide with the hidden auto `filename` field. */}\n <TextInput\n id=\"field-filemanager-filename\"\n label={t('upload:fileName')}\n onChange={handleFileNameChange}\n path=\"filename\"\n value={filename || value.name}\n />\n {(value.size || value.type) && (\n <span className={`${baseClass}__selected-meta`}>\n {[value.size ? formatFilesize(value.size) : null, value.type]\n .filter(Boolean)\n .join(' – ')}\n </span>\n )}\n </div>\n </Fragment>\n )}\n </div>\n ) : null}\n </div>\n </div>\n {drawers}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,6 @@
10
10
 
11
11
  .form-header h1 {
12
12
  margin: 0;
13
- font-family: var(--text-heading-large-font-family);
14
13
  font-size: var(--text-heading-large-font-size);
15
14
  font-weight: var(--text-heading-large-font-weight);
16
15
  line-height: var(--text-heading-large-line-height);
@@ -20,7 +19,6 @@
20
19
 
21
20
  .form-header p {
22
21
  margin: 0;
23
- font-family: var(--text-body-medium-font-family);
24
22
  font-size: var(--text-body-medium-font-size);
25
23
  font-weight: var(--text-body-medium-font-weight);
26
24
  line-height: var(--text-body-medium-line-height);
@@ -19,10 +19,9 @@
19
19
  display: flex;
20
20
  flex: 1;
21
21
  padding: var(--spacer-2);
22
- font-family: var(--text-body-medium-strong-font-family);
23
- font-size: var(--text-body-medium-strong-font-size);
24
- font-weight: var(--text-body-medium-strong-font-weight);
25
- line-height: var(--text-body-medium-strong-line-height);
22
+ font-size: var(--text-body-medium-bold-font-size);
23
+ font-weight: var(--text-body-medium-bold-font-weight);
24
+ line-height: var(--text-body-medium-bold-line-height);
26
25
  color: var(--color-text);
27
26
  }
28
27
 
@@ -48,7 +47,6 @@
48
47
  display: flex;
49
48
  align-items: center;
50
49
  height: var(--spacer-4);
51
- font-family: var(--text-body-medium-font-family);
52
50
  font-size: var(--text-body-medium-font-size);
53
51
  font-weight: var(--text-body-medium-font-weight);
54
52
  line-height: var(--text-body-medium-line-height);
@@ -78,7 +76,6 @@
78
76
  border-radius: var(--button-radius);
79
77
  cursor: pointer;
80
78
  color: var(--color-text);
81
- font-family: var(--text-body-medium-font-family);
82
79
  font-size: var(--text-body-medium-font-size);
83
80
  font-weight: var(--text-body-medium-font-weight);
84
81
  line-height: var(--text-body-medium-line-height);
@@ -3,7 +3,6 @@
3
3
  display: flex;
4
4
  flex-direction: column;
5
5
  gap: var(--spacer-3);
6
- font-family: var(--text-body-medium-font-family);
7
6
  font-size: var(--text-body-medium-font-size);
8
7
  font-weight: var(--text-body-medium-font-weight);
9
8
  line-height: var(--text-body-medium-line-height);
@@ -0,0 +1,18 @@
1
+ @layer payload-default {
2
+ .hierarchy-actions-menu {
3
+ display: contents;
4
+ }
5
+
6
+ .hierarchy-actions-menu__truncate {
7
+ display: block;
8
+ max-inline-size: calc(var(--spacer-6) * 4);
9
+ overflow: hidden;
10
+ text-overflow: ellipsis;
11
+ white-space: nowrap;
12
+ }
13
+
14
+ /* Dividers span the full menu width rather than sitting inside the list's inline padding. */
15
+ .hierarchy-actions-menu__popup-content .popup-divider {
16
+ margin-inline: calc(var(--spacer-2) * -1);
17
+ }
18
+ }
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import './index.css';
3
+ /**
4
+ * Props for the trigger button. `undefined` when the menu is off and the trigger
5
+ * should run its own click handler instead.
6
+ */
7
+ export type HierarchyActionsMenuTriggerProps = {
8
+ extraButtonProps: {
9
+ 'aria-controls'?: string;
10
+ 'aria-expanded'?: 'false' | 'true' | boolean;
11
+ 'aria-haspopup': 'menu';
12
+ onKeyDown: React.KeyboardEventHandler;
13
+ };
14
+ onClick: React.MouseEventHandler;
15
+ selected: boolean;
16
+ } | undefined;
17
+ export type HierarchyActionsMenuProps = {
18
+ /** Destination for the "Go to" action. The action is hidden when omitted. */
19
+ goTo?: {
20
+ href: string;
21
+ name: string;
22
+ };
23
+ /** When false, the trigger renders without a menu. */
24
+ hasActions: boolean;
25
+ /** Singular label of the hierarchy collection, used in the remove action. */
26
+ hierarchyLabel: string;
27
+ onMove: () => void;
28
+ /** Return `false` when the remove failed, so focus stays where it is. */
29
+ onRemove: () => boolean | Promise<boolean> | void;
30
+ renderTrigger: (triggerProps: HierarchyActionsMenuTriggerProps) => React.ReactNode;
31
+ /** Show icons next to the move and remove actions. */
32
+ showActionIcons?: boolean;
33
+ };
34
+ export declare const HierarchyActionsMenu: React.FC<HierarchyActionsMenuProps>;
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/ActionsMenu/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAMvE,OAAO,aAAa,CAAA;AAIpB;;;GAGG;AACH,MAAM,MAAM,gCAAgC,GACxC;IACE,gBAAgB,EAAE;QAChB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;QAC5C,eAAe,EAAE,MAAM,CAAA;QACvB,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAAA;KACtC,CAAA;IACD,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAA;IAChC,QAAQ,EAAE,OAAO,CAAA;CAClB,GACD,SAAS,CAAA;AAEb,MAAM,MAAM,yBAAyB,GAAG;IACtC,6EAA6E;IAC7E,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACrC,sDAAsD;IACtD,UAAU,EAAE,OAAO,CAAA;IACnB,6EAA6E;IAC7E,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,yEAAyE;IACzE,QAAQ,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;IACjD,aAAa,EAAE,CAAC,YAAY,EAAE,gCAAgC,KAAK,KAAK,CAAC,SAAS,CAAA;IAClF,sDAAsD;IACtD,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAsFpE,CAAA"}