@payloadcms/ui 4.0.0-internal.d3909a9 → 4.0.0-internal.d7d662c

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 (761) hide show
  1. package/dist/css/app.css +2 -2
  2. package/dist/css/colors.css +65 -0
  3. package/dist/elements/APIKeyInput/index.js +22 -23
  4. package/dist/elements/APIKeyInput/index.js.map +1 -1
  5. package/dist/elements/AddNewRelation/index.js +17 -19
  6. package/dist/elements/AddNewRelation/index.js.map +1 -1
  7. package/dist/elements/ArrayAction/index.js +39 -30
  8. package/dist/elements/ArrayAction/index.js.map +1 -1
  9. package/dist/elements/Autosave/index.js +234 -142
  10. package/dist/elements/Autosave/index.js.map +1 -1
  11. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  12. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  14. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  15. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  16. package/dist/elements/BulkUpload/EditMany/index.js +29 -21
  17. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  18. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/index.js +63 -23
  20. package/dist/elements/BulkUpload/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/useUploadCollectionOptions.js.map +1 -1
  22. package/dist/elements/Button/index.css +3 -3
  23. package/dist/elements/Button/index.d.ts.map +1 -1
  24. package/dist/elements/Button/index.js +2 -1
  25. package/dist/elements/Button/index.js.map +1 -1
  26. package/dist/elements/Button/types.d.ts +1 -0
  27. package/dist/elements/Button/types.d.ts.map +1 -1
  28. package/dist/elements/Button/types.js.map +1 -1
  29. package/dist/elements/CardGrid/index.css +0 -1
  30. package/dist/elements/Chip/index.js.map +1 -1
  31. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  32. package/dist/elements/ClipboardAction/index.js +213 -88
  33. package/dist/elements/ClipboardAction/index.js.map +1 -1
  34. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  35. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  36. package/dist/elements/CodeEditor/CodeEditor.js +95 -56
  37. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  38. package/dist/elements/CollapseAllToggle/index.js +47 -32
  39. package/dist/elements/CollapseAllToggle/index.js.map +1 -1
  40. package/dist/elements/Collapsible/index.css +15 -4
  41. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  42. package/dist/elements/Collapsible/index.js +46 -38
  43. package/dist/elements/Collapsible/index.js.map +1 -1
  44. package/dist/elements/Collapsible/provider.js +37 -14
  45. package/dist/elements/Collapsible/provider.js.map +1 -1
  46. package/dist/elements/ColumnSelection/Popup.css +4 -0
  47. package/dist/elements/ColumnSelection/Popup.js +10 -2
  48. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  49. package/dist/elements/ColumnSelection/index.js.map +1 -1
  50. package/dist/elements/CommandPalette/index.css +8 -0
  51. package/dist/elements/ConfirmationModal/index.d.ts +3 -0
  52. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  53. package/dist/elements/ConfirmationModal/index.js +2 -0
  54. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  55. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  56. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  57. package/dist/elements/CreateDocumentButton/index.js +45 -43
  58. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  59. package/dist/elements/DatePicker/index.css +5 -0
  60. package/dist/elements/DatePicker/useDatePickerKeyboard.js.map +1 -1
  61. package/dist/elements/DefaultListViewTabs/index.css +4 -0
  62. package/dist/elements/DefaultListViewTabs/index.js +47 -37
  63. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  64. package/dist/elements/DelayedSpinner/index.js.map +1 -1
  65. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  66. package/dist/elements/DeleteDocument/index.js +1 -3
  67. package/dist/elements/DeleteDocument/index.js.map +1 -1
  68. package/dist/elements/Dialog/DialogCancel/index.js.map +1 -1
  69. package/dist/elements/Dialog/DialogConfirm/index.js.map +1 -1
  70. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  71. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  72. package/dist/elements/DocumentCard/index.d.ts +2 -0
  73. package/dist/elements/DocumentCard/index.d.ts.map +1 -1
  74. package/dist/elements/DocumentCard/index.js +2 -0
  75. package/dist/elements/DocumentCard/index.js.map +1 -1
  76. package/dist/elements/DocumentControls/index.js +1 -1
  77. package/dist/elements/DocumentControls/index.js.map +1 -1
  78. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  79. package/dist/elements/DocumentFields/index.js +125 -64
  80. package/dist/elements/DocumentFields/index.js.map +1 -1
  81. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  82. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  83. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +80 -34
  84. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  85. package/dist/elements/DocumentHeader/Tabs/Tab/index.css +4 -0
  86. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  87. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  88. package/dist/elements/DocumentLocked/index.js +1 -0
  89. package/dist/elements/DocumentLocked/index.js.map +1 -1
  90. package/dist/elements/DocumentStaleData/index.js.map +1 -1
  91. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  92. package/dist/elements/DraggableSortable/DragOverlayPreview/index.js +2 -0
  93. package/dist/elements/DraggableSortable/DragOverlayPreview/index.js.map +1 -1
  94. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  95. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +10 -7
  96. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  97. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +2 -0
  98. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
  99. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  100. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  101. package/dist/elements/DraggableSortable/index.js +104 -170
  102. package/dist/elements/DraggableSortable/index.js.map +1 -1
  103. package/dist/elements/DraggableSortable/types.d.ts +1 -0
  104. package/dist/elements/DraggableSortable/types.d.ts.map +1 -1
  105. package/dist/elements/DraggableSortable/types.js.map +1 -1
  106. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  107. package/dist/elements/DraggableSortable/useRowAccessibility.d.ts +14 -0
  108. package/dist/elements/DraggableSortable/useRowAccessibility.d.ts.map +1 -0
  109. package/dist/elements/DraggableSortable/useRowAccessibility.js +99 -0
  110. package/dist/elements/DraggableSortable/useRowAccessibility.js.map +1 -0
  111. package/dist/elements/Drawer/index.js +138 -81
  112. package/dist/elements/Drawer/index.js.map +1 -1
  113. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  114. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  115. package/dist/elements/DrawerHeader/index.js.map +1 -1
  116. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +177 -62
  117. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  118. package/dist/elements/EditMany/DrawerContent.js +1 -1
  119. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  120. package/dist/elements/EditMany/index.js.map +1 -1
  121. package/dist/elements/FieldDiffContainer/index.d.ts.map +1 -1
  122. package/dist/elements/FieldDiffContainer/index.js +7 -1
  123. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  124. package/dist/elements/FieldDiffLabel/index.d.ts +1 -0
  125. package/dist/elements/FieldDiffLabel/index.d.ts.map +1 -1
  126. package/dist/elements/FieldDiffLabel/index.js +2 -0
  127. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  128. package/dist/elements/FieldSelect/index.js +23 -14
  129. package/dist/elements/FieldSelect/index.js.map +1 -1
  130. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  131. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  132. package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
  133. package/dist/elements/FileManager/index.js.map +1 -1
  134. package/dist/elements/FullscreenModal/index.js.map +1 -1
  135. package/dist/elements/GenerateConfirmation/index.js +21 -21
  136. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  137. package/dist/elements/GroupBy/Popup.js.map +1 -1
  138. package/dist/elements/GroupBy/index.js +120 -66
  139. package/dist/elements/GroupBy/index.js.map +1 -1
  140. package/dist/elements/HTMLDiff/colors.css +7 -0
  141. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  142. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +51 -42
  143. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  144. package/dist/elements/Hierarchy/DocHeaderButton/index.js +1 -1
  145. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  146. package/dist/elements/Hierarchy/EditButton/index.js.map +1 -1
  147. package/dist/elements/Hierarchy/HydrateProvider/index.js.map +1 -1
  148. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -1
  149. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js +25 -18
  150. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js.map +1 -1
  151. package/dist/elements/Hierarchy/Search/HierarchySearchResults.js.map +1 -1
  152. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  153. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  154. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  155. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  156. package/dist/elements/Hierarchy/Tree/index.js +10 -5
  157. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  158. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  159. package/dist/elements/HydratePreferences/index.js.map +1 -1
  160. package/dist/elements/IDLabel/index.js.map +1 -1
  161. package/dist/elements/InputStepper/index.js.map +1 -1
  162. package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
  163. package/dist/elements/ItemsDrawer/index.js +186 -105
  164. package/dist/elements/ItemsDrawer/index.js.map +1 -1
  165. package/dist/elements/LLMInstructionsDescription/index.js.map +1 -1
  166. package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -1
  167. package/dist/elements/LayoutToggle/index.js.map +1 -1
  168. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  169. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +1 -1
  170. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  171. package/dist/elements/Link/index.js +1 -1
  172. package/dist/elements/Link/index.js.map +1 -1
  173. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -1
  174. package/dist/elements/ListControls/index.js.map +1 -1
  175. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  176. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  177. package/dist/elements/ListDrawer/Provider.d.ts +3 -2
  178. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  179. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  180. package/dist/elements/ListDrawer/index.js.map +1 -1
  181. package/dist/elements/ListGroupByButton/index.js.map +1 -1
  182. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  183. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -1
  184. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  185. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  186. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +11 -12
  187. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  188. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +1 -1
  189. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  190. package/dist/elements/ListSelection/index.js.map +1 -1
  191. package/dist/elements/ListWhereBuilder/index.js.map +1 -1
  192. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  193. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  194. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  195. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  196. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  197. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  198. package/dist/elements/LivePreview/Window/index.js +6 -1
  199. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  200. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  201. package/dist/elements/Loading/index.js +62 -18
  202. package/dist/elements/Loading/index.js.map +1 -1
  203. package/dist/elements/LoadingOverlay/index.js +93 -49
  204. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  205. package/dist/elements/Localizer/index.js +133 -108
  206. package/dist/elements/Localizer/index.js.map +1 -1
  207. package/dist/elements/Locked/index.js +54 -37
  208. package/dist/elements/Locked/index.js.map +1 -1
  209. package/dist/elements/Logout/index.js.map +1 -1
  210. package/dist/elements/MiniCarousel/index.js +102 -38
  211. package/dist/elements/MiniCarousel/index.js.map +1 -1
  212. package/dist/elements/Modal/index.d.ts.map +1 -1
  213. package/dist/elements/Modal/index.js +13 -1
  214. package/dist/elements/Modal/index.js.map +1 -1
  215. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  216. package/dist/elements/Nav/NavWrapper/index.js +13 -14
  217. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  218. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  219. package/dist/elements/Nav/SidebarTabs/TabError/index.js.map +1 -1
  220. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  221. package/dist/elements/Nav/SidebarTabs/index.client.js +31 -20
  222. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  223. package/dist/elements/Nav/index.client.js.map +1 -1
  224. package/dist/elements/Nav/index.css +5 -0
  225. package/dist/elements/NavGroup/index.css +27 -3
  226. package/dist/elements/NavGroup/index.js +31 -38
  227. package/dist/elements/NavGroup/index.js.map +1 -1
  228. package/dist/elements/NoListResults/index.css +1 -0
  229. package/dist/elements/NoListResults/index.js +1 -1
  230. package/dist/elements/NoListResults/index.js.map +1 -1
  231. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  232. package/dist/elements/PageControls/index.js.map +1 -1
  233. package/dist/elements/Pagination/ClickableArrow/index.js +10 -11
  234. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  235. package/dist/elements/Pagination/SimplePagination/index.js.map +1 -1
  236. package/dist/elements/Pagination/index.js +36 -37
  237. package/dist/elements/Pagination/index.js.map +1 -1
  238. package/dist/elements/PerPage/index.js.map +1 -1
  239. package/dist/elements/Pill/index.js.map +1 -1
  240. package/dist/elements/Popup/index.d.ts.map +1 -1
  241. package/dist/elements/Popup/index.js +19 -3
  242. package/dist/elements/Popup/index.js.map +1 -1
  243. package/dist/elements/PreviewButton/index.js.map +1 -1
  244. package/dist/elements/PreviewSizes/index.js +141 -70
  245. package/dist/elements/PreviewSizes/index.js.map +1 -1
  246. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  247. package/dist/elements/PublishButton/ScheduleDrawer/index.js +16 -8
  248. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  249. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  250. package/dist/elements/PublishButton/index.js +1 -0
  251. package/dist/elements/PublishButton/index.js.map +1 -1
  252. package/dist/elements/PublishMany/DrawerContent.js +1 -1
  253. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  254. package/dist/elements/PublishMany/index.js +32 -24
  255. package/dist/elements/PublishMany/index.js.map +1 -1
  256. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +194 -100
  257. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  258. package/dist/elements/QueryPresets/fields/GroupByField/index.js +78 -29
  259. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  260. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -1
  261. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  262. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  263. package/dist/elements/ReactSelect/MultiValue/index.js +19 -9
  264. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  265. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  266. package/dist/elements/ReactSelect/MultiValueRemove/index.js +38 -29
  267. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  268. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  269. package/dist/elements/ReactSelect/index.css +4 -0
  270. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  271. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  272. package/dist/elements/RelationshipTable/index.js +1 -1
  273. package/dist/elements/RelationshipTable/index.js.map +1 -1
  274. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  275. package/dist/elements/RenderTitle/index.js.map +1 -1
  276. package/dist/elements/RestoreMany/index.js +1 -1
  277. package/dist/elements/RestoreMany/index.js.map +1 -1
  278. package/dist/elements/SchedulePublishButton/index.js +111 -39
  279. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  280. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  281. package/dist/elements/SegmentedControl/index.js.map +1 -1
  282. package/dist/elements/SelectAll/index.js.map +1 -1
  283. package/dist/elements/SelectRow/index.js +31 -21
  284. package/dist/elements/SelectRow/index.js.map +1 -1
  285. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  286. package/dist/elements/SidebarToggle/index.js.map +1 -1
  287. package/dist/elements/SkipToContent/index.js.map +1 -1
  288. package/dist/elements/SortHeader/index.js.map +1 -1
  289. package/dist/elements/SortRow/index.js.map +1 -1
  290. package/dist/elements/Spinner/index.js.map +1 -1
  291. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  292. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  293. package/dist/elements/StepNav/context.js.map +1 -1
  294. package/dist/elements/Switch/index.css +2 -2
  295. package/dist/elements/Switch/index.js.map +1 -1
  296. package/dist/elements/Table/DefaultCell/fields/Array/index.js +28 -9
  297. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  298. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +80 -27
  299. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  300. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +9 -10
  301. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  302. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  303. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  304. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +21 -32
  305. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  306. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  307. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  308. package/dist/elements/Table/DefaultCell/fields/Status/index.js.map +1 -1
  309. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  310. package/dist/elements/Table/GridNavigation/useGridNavigation.js.map +1 -1
  311. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  312. package/dist/elements/Table/TableIdentity.js +32 -16
  313. package/dist/elements/Table/TableIdentity.js.map +1 -1
  314. package/dist/elements/Table/useAriaSort.js.map +1 -1
  315. package/dist/elements/Thumbnail/index.js +133 -53
  316. package/dist/elements/Thumbnail/index.js.map +1 -1
  317. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  318. package/dist/elements/TimezonePicker/index.js +113 -54
  319. package/dist/elements/TimezonePicker/index.js.map +1 -1
  320. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  321. package/dist/elements/Tooltip/index.js.map +1 -1
  322. package/dist/elements/TrashBanner/index.js.map +1 -1
  323. package/dist/elements/UnpublishMany/DrawerContent.js +1 -1
  324. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  325. package/dist/elements/UnpublishMany/index.js +32 -24
  326. package/dist/elements/UnpublishMany/index.js.map +1 -1
  327. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  328. package/dist/elements/Upload/index.js.map +1 -1
  329. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -1
  330. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -1
  331. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  332. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  333. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  334. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  335. package/dist/elements/UserMenu/index.js +2 -1
  336. package/dist/elements/UserMenu/index.js.map +1 -1
  337. package/dist/elements/ViewDescription/index.js.map +1 -1
  338. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  339. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  340. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  341. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  342. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  343. package/dist/elements/WhereBuilder/Condition/index.js +1 -0
  344. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  345. package/dist/exports/client/{CodeEditor-I6PL55BF.js → CodeEditor-23ZGBN6S.js} +2 -2
  346. package/dist/exports/client/{DatePicker-RFCB5VGD.js → DatePicker-AZBZPMY6.js} +2 -2
  347. package/dist/exports/client/chunk-EXVR6BZK.js +27 -0
  348. package/dist/exports/client/chunk-EXVR6BZK.js.map +7 -0
  349. package/dist/exports/client/{chunk-AVJIZPR3.js → chunk-SMBFG6XU.js} +1 -1
  350. package/dist/exports/client/{chunk-AVJIZPR3.js.map → chunk-SMBFG6XU.js.map} +1 -1
  351. package/dist/exports/client/{chunk-O2RR6XEH.js → chunk-ZP2PB6M4.js} +2 -2
  352. package/dist/exports/client/{chunk-O2RR6XEH.js.map → chunk-ZP2PB6M4.js.map} +1 -1
  353. package/dist/exports/client/index.d.ts +2 -2
  354. package/dist/exports/client/index.d.ts.map +1 -1
  355. package/dist/exports/client/index.js +27 -27
  356. package/dist/exports/client/index.js.map +4 -4
  357. package/dist/exports/rsc/index.d.ts +1 -1
  358. package/dist/exports/rsc/index.d.ts.map +1 -1
  359. package/dist/exports/rsc/index.js +1 -1
  360. package/dist/exports/rsc/index.js.map +1 -1
  361. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  362. package/dist/fields/Array/ArrayRow.js +207 -99
  363. package/dist/fields/Array/ArrayRow.js.map +1 -1
  364. package/dist/fields/Array/index.d.ts.map +1 -1
  365. package/dist/fields/Array/index.js +521 -308
  366. package/dist/fields/Array/index.js.map +1 -1
  367. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  368. package/dist/fields/Blocks/BlockRow.js +224 -136
  369. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  370. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  371. package/dist/fields/Blocks/BlockSelector/index.js +114 -74
  372. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  373. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  374. package/dist/fields/Blocks/RowActions.js +75 -55
  375. package/dist/fields/Blocks/RowActions.js.map +1 -1
  376. package/dist/fields/Blocks/SectionTitle/index.css +4 -0
  377. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  378. package/dist/fields/Blocks/index.d.ts.map +1 -1
  379. package/dist/fields/Blocks/index.js +1 -0
  380. package/dist/fields/Blocks/index.js.map +1 -1
  381. package/dist/fields/Checkbox/index.css +3 -3
  382. package/dist/fields/Code/index.d.ts.map +1 -1
  383. package/dist/fields/Code/index.js +3 -2
  384. package/dist/fields/Code/index.js.map +1 -1
  385. package/dist/fields/Collapsible/index.js +114 -73
  386. package/dist/fields/Collapsible/index.js.map +1 -1
  387. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  388. package/dist/fields/DateTime/index.js +215 -121
  389. package/dist/fields/DateTime/index.js.map +1 -1
  390. package/dist/fields/FieldDescription/index.js +29 -21
  391. package/dist/fields/FieldDescription/index.js.map +1 -1
  392. package/dist/fields/FieldError/index.js.map +1 -1
  393. package/dist/fields/FieldLabel/index.js.map +1 -1
  394. package/dist/fields/Group/index.js +75 -46
  395. package/dist/fields/Group/index.js.map +1 -1
  396. package/dist/fields/Hidden/index.js +23 -15
  397. package/dist/fields/Hidden/index.js.map +1 -1
  398. package/dist/fields/JSON/index.d.ts.map +1 -1
  399. package/dist/fields/JSON/index.js +3 -2
  400. package/dist/fields/JSON/index.js.map +1 -1
  401. package/dist/fields/Number/Input.js.map +1 -1
  402. package/dist/fields/Password/input.js +46 -27
  403. package/dist/fields/Password/input.js.map +1 -1
  404. package/dist/fields/RadioGroup/Radio/index.js +35 -35
  405. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  406. package/dist/fields/Relationship/Input.js +14 -14
  407. package/dist/fields/Relationship/Input.js.map +1 -1
  408. package/dist/fields/Relationship/index.js +216 -111
  409. package/dist/fields/Relationship/index.js.map +1 -1
  410. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  411. package/dist/fields/Relationship/select-components/SingleValue/index.js +9 -11
  412. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  413. package/dist/fields/Select/Input.js +26 -10
  414. package/dist/fields/Select/Input.js.map +1 -1
  415. package/dist/fields/Select/index.js +158 -77
  416. package/dist/fields/Select/index.js.map +1 -1
  417. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  418. package/dist/fields/Tabs/index.css +11 -15
  419. package/dist/fields/Tabs/index.js +120 -112
  420. package/dist/fields/Tabs/index.js.map +1 -1
  421. package/dist/fields/Text/Input.d.ts.map +1 -1
  422. package/dist/fields/Text/Input.js +2 -2
  423. package/dist/fields/Text/Input.js.map +1 -1
  424. package/dist/fields/Text/index.js +172 -95
  425. package/dist/fields/Text/index.js.map +1 -1
  426. package/dist/fields/Text/types.d.ts +2 -1
  427. package/dist/fields/Text/types.d.ts.map +1 -1
  428. package/dist/fields/Text/types.js.map +1 -1
  429. package/dist/fields/Textarea/Input.js +58 -28
  430. package/dist/fields/Textarea/Input.js.map +1 -1
  431. package/dist/fields/Textarea/index.js +97 -55
  432. package/dist/fields/Textarea/index.js.map +1 -1
  433. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  434. package/dist/fields/Upload/Input.d.ts.map +1 -1
  435. package/dist/fields/Upload/Input.js +16 -7
  436. package/dist/fields/Upload/Input.js.map +1 -1
  437. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  438. package/dist/fields/Upload/index.css +9 -0
  439. package/dist/fields/Upload/index.js +101 -63
  440. package/dist/fields/Upload/index.js.map +1 -1
  441. package/dist/fields/shared/useRowFocus.js.map +1 -1
  442. package/dist/forms/Form/context.js.map +1 -1
  443. package/dist/forms/Form/index.d.ts.map +1 -1
  444. package/dist/forms/Form/index.js +27 -8
  445. package/dist/forms/Form/index.js.map +1 -1
  446. package/dist/forms/Form/types.d.ts +1 -1
  447. package/dist/forms/Form/types.d.ts.map +1 -1
  448. package/dist/forms/Form/types.js.map +1 -1
  449. package/dist/forms/NullifyField/index.js.map +1 -1
  450. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  451. package/dist/forms/RenderFields/context.js +3 -2
  452. package/dist/forms/RenderFields/context.js.map +1 -1
  453. package/dist/forms/RenderFields/index.js.map +1 -1
  454. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  455. package/dist/forms/RowLabel/Context/index.js +58 -18
  456. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  457. package/dist/forms/Submit/index.js +12 -13
  458. package/dist/forms/Submit/index.js.map +1 -1
  459. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  460. package/dist/forms/useField/index.js +1 -1
  461. package/dist/forms/useField/index.js.map +1 -1
  462. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  463. package/dist/graphics/Account/Gravatar/index.js +32 -17
  464. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  465. package/dist/graphics/Account/index.js +27 -18
  466. package/dist/graphics/Account/index.js.map +1 -1
  467. package/dist/hooks/useControllableState.js.map +1 -1
  468. package/dist/hooks/useDebounce.js.map +1 -1
  469. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  470. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  471. package/dist/hooks/useDelay.js.map +1 -1
  472. package/dist/hooks/useDelayedRender.js.map +1 -1
  473. package/dist/hooks/useElementHeightVariable.js.map +1 -1
  474. package/dist/hooks/useHotkey.js.map +1 -1
  475. package/dist/hooks/useIntersect.js.map +1 -1
  476. package/dist/hooks/usePayloadAPI.js.map +1 -1
  477. package/dist/hooks/usePopupWindow.js.map +1 -1
  478. package/dist/hooks/useRelatedCollections.js.map +1 -1
  479. package/dist/hooks/useResize.js.map +1 -1
  480. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  481. package/dist/hooks/useThrottledEffect.js +21 -24
  482. package/dist/hooks/useThrottledEffect.js.map +1 -1
  483. package/dist/hooks/useUseAsTitle.js.map +1 -1
  484. package/dist/layouts/Root/RootProviders.d.ts.map +1 -1
  485. package/dist/layouts/Root/RootProviders.js +31 -28
  486. package/dist/layouts/Root/RootProviders.js.map +1 -1
  487. package/dist/providers/Actions/index.js.map +1 -1
  488. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -1
  489. package/dist/providers/Auth/index.js +2 -2
  490. package/dist/providers/Auth/index.js.map +1 -1
  491. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -1
  492. package/dist/providers/ClientFunction/index.js.map +1 -1
  493. package/dist/providers/Config/index.js +65 -32
  494. package/dist/providers/Config/index.js.map +1 -1
  495. package/dist/providers/DocumentEvents/index.js.map +1 -1
  496. package/dist/providers/EditDepth/index.js.map +1 -1
  497. package/dist/providers/Embed/index.js.map +1 -1
  498. package/dist/providers/EntityVisibility/index.js.map +1 -1
  499. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  500. package/dist/providers/ListQuery/index.js +5 -5
  501. package/dist/providers/ListQuery/index.js.map +1 -1
  502. package/dist/providers/ListQuery/types.d.ts +6 -1
  503. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  504. package/dist/providers/ListQuery/types.js.map +1 -1
  505. package/dist/providers/ModalAccessibility/index.js.map +1 -1
  506. package/dist/providers/ModalFocus/index.d.ts +15 -0
  507. package/dist/providers/ModalFocus/index.d.ts.map +1 -0
  508. package/dist/providers/ModalFocus/index.js +70 -0
  509. package/dist/providers/ModalFocus/index.js.map +1 -0
  510. package/dist/providers/RouteCache/index.js.map +1 -1
  511. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  512. package/dist/providers/RouteTransition/index.d.ts +3 -2
  513. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  514. package/dist/providers/RouteTransition/index.js +78 -105
  515. package/dist/providers/RouteTransition/index.js.map +1 -1
  516. package/dist/providers/RouterAdapter/index.js.map +1 -1
  517. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  518. package/dist/providers/TableColumns/index.d.ts.map +1 -1
  519. package/dist/providers/TableColumns/index.js +18 -35
  520. package/dist/providers/TableColumns/index.js.map +1 -1
  521. package/dist/providers/Theme/index.js.map +1 -1
  522. package/dist/providers/ToastContainer/index.js.map +1 -1
  523. package/dist/providers/Translation/index.js.map +1 -1
  524. package/dist/providers/UploadControls/index.js.map +1 -1
  525. package/dist/providers/UploadEdits/index.js.map +1 -1
  526. package/dist/providers/UploadHandlers/index.js.map +1 -1
  527. package/dist/styles.css +66 -1
  528. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  529. package/dist/utilities/serverFunctionRegistry.js +2 -2
  530. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  531. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  532. package/dist/views/API/index.client.d.ts.map +1 -1
  533. package/dist/views/API/index.client.js +1 -0
  534. package/dist/views/API/index.client.js.map +1 -1
  535. package/dist/views/Account/ResetPreferences/index.js +17 -17
  536. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  537. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  538. package/dist/views/Account/ToggleHighContrast/index.js.map +1 -1
  539. package/dist/views/Account/ToggleTheme/index.js +106 -27
  540. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  541. package/dist/views/Account/index.client.js.map +1 -1
  542. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  543. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  544. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  545. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +373 -151
  546. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  547. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  548. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  549. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +2 -1
  550. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  551. package/dist/views/Edit/Auth/APIKeyGenerationModal.js.map +1 -1
  552. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  553. package/dist/views/Edit/Auth/index.js +13 -11
  554. package/dist/views/Edit/Auth/index.js.map +1 -1
  555. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  556. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  557. package/dist/views/Edit/index.d.ts.map +1 -1
  558. package/dist/views/Edit/index.js +27 -16
  559. package/dist/views/Edit/index.js.map +1 -1
  560. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  561. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +45 -41
  562. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  563. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  564. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  565. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  566. package/dist/views/HierarchyList/HierarchyTable/DateCell.js +8 -9
  567. package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +1 -1
  568. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
  569. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  570. package/dist/views/HierarchyList/index.js +2 -2
  571. package/dist/views/HierarchyList/index.js.map +1 -1
  572. package/dist/views/List/DocumentGrid/index.js.map +1 -1
  573. package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -1
  574. package/dist/views/List/ListSelection/index.js.map +1 -1
  575. package/dist/views/Login/LoginField/index.js.map +1 -1
  576. package/dist/views/Login/LoginForm/index.js.map +1 -1
  577. package/dist/views/Logout/LogoutClient.js.map +1 -1
  578. package/dist/views/NotFound/index.client.js.map +1 -1
  579. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  580. package/dist/views/Verify/index.client.js.map +1 -1
  581. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  582. package/dist/views/Version/Default/index.js +321 -181
  583. package/dist/views/Version/Default/index.js.map +1 -1
  584. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  585. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  586. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +9 -11
  587. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  588. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  589. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +41 -29
  590. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  591. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  592. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  593. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +19 -19
  594. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  595. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  596. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  597. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  598. package/dist/views/Version/Restore/index.js +176 -77
  599. package/dist/views/Version/Restore/index.js.map +1 -1
  600. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  601. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  602. package/dist/views/Version/SelectComparison/index.js +113 -33
  603. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  604. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  605. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
  606. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  607. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  608. package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.js.map +1 -1
  609. package/dist/views/Versions/index.client.js +9 -11
  610. package/dist/views/Versions/index.client.js.map +1 -1
  611. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.css +28 -0
  612. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts +16 -0
  613. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts.map +1 -0
  614. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js +98 -0
  615. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js.map +1 -0
  616. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.css +70 -0
  617. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts +13 -0
  618. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts.map +1 -0
  619. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js +81 -0
  620. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js.map +1 -0
  621. package/dist/widgets/{RecentlyViewed/pinnedPreferences.d.ts → Activity/Tabs/PinnedDocuments/preferences.d.ts} +6 -9
  622. package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.d.ts.map +1 -0
  623. package/dist/widgets/{RecentlyViewed/pinnedPreferences.js → Activity/Tabs/PinnedDocuments/preferences.js} +3 -22
  624. package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.js.map +1 -0
  625. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts +39 -0
  626. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts.map +1 -0
  627. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js +83 -0
  628. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js.map +1 -0
  629. package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts +9 -0
  630. package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts.map +1 -0
  631. package/dist/widgets/Activity/Tabs/RecentDocuments/index.js +23 -0
  632. package/dist/widgets/Activity/Tabs/RecentDocuments/index.js.map +1 -0
  633. package/dist/widgets/Activity/components/DocumentList/index.css +61 -0
  634. package/dist/widgets/Activity/components/DocumentList/index.d.ts +15 -0
  635. package/dist/widgets/Activity/components/DocumentList/index.d.ts.map +1 -0
  636. package/dist/widgets/Activity/components/DocumentList/index.js +56 -0
  637. package/dist/widgets/Activity/components/DocumentList/index.js.map +1 -0
  638. package/dist/widgets/Activity/components/EmptyState/index.css +47 -0
  639. package/dist/widgets/Activity/components/EmptyState/index.d.ts +12 -0
  640. package/dist/widgets/Activity/components/EmptyState/index.d.ts.map +1 -0
  641. package/dist/widgets/Activity/components/EmptyState/index.js +37 -0
  642. package/dist/widgets/Activity/components/EmptyState/index.js.map +1 -0
  643. package/dist/widgets/Activity/components/Pagination/index.css +42 -0
  644. package/dist/widgets/Activity/components/Pagination/index.d.ts +20 -0
  645. package/dist/widgets/Activity/components/Pagination/index.d.ts.map +1 -0
  646. package/dist/widgets/Activity/components/Pagination/index.js +125 -0
  647. package/dist/widgets/Activity/components/Pagination/index.js.map +1 -0
  648. package/dist/widgets/Activity/components/StatusPill/index.css +24 -0
  649. package/dist/widgets/Activity/components/StatusPill/index.d.ts +8 -0
  650. package/dist/widgets/Activity/components/StatusPill/index.d.ts.map +1 -0
  651. package/dist/widgets/Activity/components/StatusPill/index.js +18 -0
  652. package/dist/widgets/Activity/components/StatusPill/index.js.map +1 -0
  653. package/dist/widgets/Activity/index.client.d.ts +15 -0
  654. package/dist/widgets/Activity/index.client.d.ts.map +1 -0
  655. package/dist/widgets/Activity/index.client.js +186 -0
  656. package/dist/widgets/Activity/index.client.js.map +1 -0
  657. package/dist/widgets/Activity/index.css +320 -0
  658. package/dist/widgets/Activity/index.d.ts +13 -0
  659. package/dist/widgets/Activity/index.d.ts.map +1 -0
  660. package/dist/widgets/Activity/index.js +100 -0
  661. package/dist/widgets/Activity/index.js.map +1 -0
  662. package/dist/widgets/{RecentlyViewed/index.client.d.ts → Activity/types.d.ts} +5 -13
  663. package/dist/widgets/Activity/types.d.ts.map +1 -0
  664. package/dist/widgets/Activity/types.js +2 -0
  665. package/dist/widgets/Activity/types.js.map +1 -0
  666. package/dist/widgets/Activity/utils/cache.d.ts +33 -0
  667. package/dist/widgets/Activity/utils/cache.d.ts.map +1 -0
  668. package/dist/widgets/Activity/utils/cache.js +72 -0
  669. package/dist/widgets/Activity/utils/cache.js.map +1 -0
  670. package/dist/widgets/Activity/utils/constants.d.ts +5 -0
  671. package/dist/widgets/Activity/utils/constants.d.ts.map +1 -0
  672. package/dist/widgets/Activity/utils/constants.js +4 -0
  673. package/dist/widgets/Activity/utils/constants.js.map +1 -0
  674. package/dist/widgets/Activity/utils/documents.d.ts +11 -0
  675. package/dist/widgets/Activity/utils/documents.d.ts.map +1 -0
  676. package/dist/widgets/Activity/utils/documents.js +38 -0
  677. package/dist/widgets/Activity/utils/documents.js.map +1 -0
  678. package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts +20 -0
  679. package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts.map +1 -0
  680. package/dist/widgets/{RecentlyViewed/getDocuments.js → Activity/utils/getActivityWidgetDocs.js} +18 -19
  681. package/dist/widgets/Activity/utils/getActivityWidgetDocs.js.map +1 -0
  682. package/dist/widgets/Activity/utils/state.d.ts +44 -0
  683. package/dist/widgets/Activity/utils/state.d.ts.map +1 -0
  684. package/dist/widgets/Activity/utils/state.js +80 -0
  685. package/dist/widgets/Activity/utils/state.js.map +1 -0
  686. package/dist/widgets/Activity/utils/useActivityDocuments.d.ts +35 -0
  687. package/dist/widgets/Activity/utils/useActivityDocuments.d.ts.map +1 -0
  688. package/dist/widgets/Activity/utils/useActivityDocuments.js +141 -0
  689. package/dist/widgets/Activity/utils/useActivityDocuments.js.map +1 -0
  690. package/dist/widgets/Activity/utils/usePageSize.d.ts +11 -0
  691. package/dist/widgets/Activity/utils/usePageSize.d.ts.map +1 -0
  692. package/dist/widgets/Activity/utils/usePageSize.js +35 -0
  693. package/dist/widgets/Activity/utils/usePageSize.js.map +1 -0
  694. package/dist/widgets/CollectionCards/index.client.d.ts +3 -0
  695. package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -1
  696. package/dist/widgets/CollectionCards/index.client.js +3 -0
  697. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  698. package/dist/widgets/CollectionCards/index.d.ts +3 -0
  699. package/dist/widgets/CollectionCards/index.d.ts.map +1 -1
  700. package/dist/widgets/CollectionCards/index.js +3 -0
  701. package/dist/widgets/CollectionCards/index.js.map +1 -1
  702. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  703. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -1
  704. package/dist/widgets/CollectionQuery/SortField/index.js +181 -73
  705. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -1
  706. package/dist/widgets/CollectionQuery/index.d.ts +3 -0
  707. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -1
  708. package/dist/widgets/CollectionQuery/index.js +3 -0
  709. package/dist/widgets/CollectionQuery/index.js.map +1 -1
  710. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts +3 -0
  711. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts.map +1 -1
  712. package/dist/widgets/UploadDropzone/CollectionsField/index.js +65 -14
  713. package/dist/widgets/UploadDropzone/CollectionsField/index.js.map +1 -1
  714. package/dist/widgets/UploadDropzone/index.client.d.ts +3 -0
  715. package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -1
  716. package/dist/widgets/UploadDropzone/index.client.js +3 -0
  717. package/dist/widgets/UploadDropzone/index.client.js.map +1 -1
  718. package/dist/widgets/UploadDropzone/index.d.ts +3 -0
  719. package/dist/widgets/UploadDropzone/index.d.ts.map +1 -1
  720. package/dist/widgets/UploadDropzone/index.js +3 -0
  721. package/dist/widgets/UploadDropzone/index.js.map +1 -1
  722. package/dist/widgets/Welcome/index.d.ts +3 -0
  723. package/dist/widgets/Welcome/index.d.ts.map +1 -1
  724. package/dist/widgets/Welcome/index.js +3 -0
  725. package/dist/widgets/Welcome/index.js.map +1 -1
  726. package/dist/widgets/WidgetCard/index.css +0 -20
  727. package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.css +2 -2
  728. package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.d.ts +3 -1
  729. package/dist/widgets/shared/CollectionFilter/index.d.ts.map +1 -0
  730. package/dist/widgets/shared/CollectionFilter/index.js +170 -0
  731. package/dist/widgets/shared/CollectionFilter/index.js.map +1 -0
  732. package/package.json +8 -7
  733. package/dist/exports/client/chunk-R7M6BG75.js +0 -27
  734. package/dist/exports/client/chunk-R7M6BG75.js.map +0 -7
  735. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +0 -1
  736. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +0 -102
  737. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +0 -1
  738. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +0 -41
  739. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +0 -19
  740. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +0 -1
  741. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +0 -121
  742. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +0 -1
  743. package/dist/widgets/RecentlyViewed/getDocuments.d.ts +0 -20
  744. package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +0 -1
  745. package/dist/widgets/RecentlyViewed/getDocuments.js.map +0 -1
  746. package/dist/widgets/RecentlyViewed/index.client.d.ts.map +0 -1
  747. package/dist/widgets/RecentlyViewed/index.client.js +0 -409
  748. package/dist/widgets/RecentlyViewed/index.client.js.map +0 -1
  749. package/dist/widgets/RecentlyViewed/index.css +0 -352
  750. package/dist/widgets/RecentlyViewed/index.d.ts +0 -10
  751. package/dist/widgets/RecentlyViewed/index.d.ts.map +0 -1
  752. package/dist/widgets/RecentlyViewed/index.js +0 -47
  753. package/dist/widgets/RecentlyViewed/index.js.map +0 -1
  754. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +0 -1
  755. package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +0 -1
  756. package/dist/widgets/RecentlyViewed/recents.d.ts +0 -8
  757. package/dist/widgets/RecentlyViewed/recents.d.ts.map +0 -1
  758. package/dist/widgets/RecentlyViewed/recents.js +0 -19
  759. package/dist/widgets/RecentlyViewed/recents.js.map +0 -1
  760. /package/dist/exports/client/{CodeEditor-I6PL55BF.js.map → CodeEditor-23ZGBN6S.js.map} +0 -0
  761. /package/dist/exports/client/{DatePicker-RFCB5VGD.js.map → DatePicker-AZBZPMY6.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","reduceFieldsToValues","React","PlusIcon","useAuth","useConfig","DocumentInfoProvider","useTranslation","Button","DialogHeader","DialogModal","DialogTitle","ErrorPill","ActionsBar","AddFilesView","discardBulkUploadModalSlug","DiscardWithoutSaving","EditForm","EditManyBulkUploads","FileSidebar","useFormsManager","useBulkUpload","baseClass","addMoreFilesModalSlug","AddingFilesView","t0","$","modalSlug","activeIndex","addFiles","collectionSlug","docPermissions","documentSlots","forms","hasPublishPermission","hasSavePermission","hasSubmitted","isInitializing","resetUploadEdits","totalErrorCount","updateUploadEdits","initialFiles","initialForms","maxFiles","activeForm","getEntityConfig","i18n","t","user","closeModal","openModal","t1","filelist","then","didAddFiles","handleAddFiles","totalFileCount","length","canAddMoreFiles","t2","collectionConfig","t3","_jsx","_Fragment","children","_jsxs","className","size","slug","onClose","showClose","title","count","withMessage","buttonStyle","icon","onClick","collection","currentEditor","hasPublishedDoc","id","initialData","formState","initialState","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","Upload","versionCount","submitted","uploadEdits","acceptMimeTypes","upload","mimeTypes","join","onDrop"],"sources":["../../../../src/elements/BulkUpload/AddingFilesView/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport React from 'react'\n\nimport { PlusIcon } from '../../../icons/Plus/index.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DialogHeader } from '../../Dialog/DialogHeader/index.js'\nimport { DialogModal } from '../../Dialog/DialogModal/index.js'\nimport { DialogTitle } from '../../Dialog/DialogTitle/index.js'\nimport { ErrorPill } from '../../ErrorPill/index.js'\nimport { ActionsBar } from '../ActionsBar/index.js'\nimport { AddFilesView } from '../AddFilesView/index.js'\nimport { discardBulkUploadModalSlug, DiscardWithoutSaving } from '../DiscardWithoutSaving/index.js'\nimport { EditForm } from '../EditForm/index.js'\nimport { EditManyBulkUploads } from '../EditMany/index.js'\nimport { FileSidebar } from '../FileSidebar/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { useBulkUpload } from '../index.js'\nimport './index.css'\n\nconst baseClass = 'bulk-upload--file-manager'\n\nconst addMoreFilesModalSlug = 'bulk-upload-modal--add-more-files'\n\ntype Props = {\n readonly modalSlug: string\n}\n\nexport function AddingFilesView({ modalSlug }: Props) {\n const {\n activeIndex,\n addFiles,\n collectionSlug,\n docPermissions,\n documentSlots,\n forms,\n hasPublishPermission,\n hasSavePermission,\n hasSubmitted,\n isInitializing,\n resetUploadEdits,\n totalErrorCount,\n updateUploadEdits,\n } = useFormsManager()\n const { initialFiles, initialForms, maxFiles } = useBulkUpload()\n const activeForm = forms[activeIndex]\n const { getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n const { user } = useAuth()\n const { closeModal, openModal } = useModal()\n\n const handleAddFiles = React.useCallback(\n (filelist: FileList) => {\n void addFiles(filelist).then((didAddFiles) => {\n if (didAddFiles) {\n closeModal(addMoreFilesModalSlug)\n }\n })\n },\n [addFiles, closeModal],\n )\n\n const totalFileCount = isInitializing\n ? (initialFiles?.length ?? initialForms?.length)\n : forms.length\n const canAddMoreFiles = typeof maxFiles === 'number' ? totalFileCount < maxFiles : true\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n return (\n <>\n <DialogModal className={baseClass} size=\"large\" slug={modalSlug}>\n <DialogHeader\n onClose={() => openModal(discardBulkUploadModalSlug)}\n showClose={true}\n title={\n <div className={`${baseClass}__header-title-section`}>\n <DialogTitle title={t('upload:bulkUpload')} />\n {totalErrorCount > 0 && <ErrorPill count={totalErrorCount} i18n={i18n} withMessage />}\n </div>\n }\n >\n {canAddMoreFiles && !isInitializing ? (\n <Button\n buttonStyle=\"secondary\"\n icon={<PlusIcon size={24} />}\n iconPosition=\"left\"\n onClick={() => openModal(addMoreFilesModalSlug)}\n >\n {t('upload:addFiles')}\n </Button>\n ) : null}\n\n <EditManyBulkUploads collection={collectionConfig} />\n </DialogHeader>\n\n <div className={`${baseClass}__body`}>\n <FileSidebar />\n\n <div className={`${baseClass}__editView`}>\n {activeForm && !isInitializing ? (\n <DocumentInfoProvider\n collectionSlug={collectionSlug}\n currentEditor={user}\n docPermissions={docPermissions}\n hasPublishedDoc={false}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={null}\n initialData={reduceFieldsToValues(activeForm.formState, true)}\n initialState={activeForm.formState}\n isLocked={false}\n key={`${collectionSlug}-${activeIndex}-${forms.length}`}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n Upload={documentSlots.Upload}\n versionCount={0}\n >\n <EditForm\n resetUploadEdits={resetUploadEdits}\n submitted={hasSubmitted}\n updateUploadEdits={updateUploadEdits}\n uploadEdits={activeForm?.uploadEdits}\n />\n </DocumentInfoProvider>\n ) : null}\n </div>\n </div>\n\n <ActionsBar />\n\n {/* Nested Modals */}\n <AddFilesView\n acceptMimeTypes={collectionConfig?.upload?.mimeTypes?.join(', ')}\n modalSlug={addMoreFilesModalSlug}\n onDrop={handleAddFiles}\n />\n <DiscardWithoutSaving />\n </DialogModal>\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","reduceFieldsToValues","React","PlusIcon","useAuth","useConfig","DocumentInfoProvider","useTranslation","Button","DialogHeader","DialogModal","DialogTitle","ErrorPill","ActionsBar","AddFilesView","discardBulkUploadModalSlug","DiscardWithoutSaving","EditForm","EditManyBulkUploads","FileSidebar","useFormsManager","useBulkUpload","baseClass","addMoreFilesModalSlug","AddingFilesView","t0","$","modalSlug","activeIndex","addFiles","collectionSlug","docPermissions","documentSlots","forms","hasPublishPermission","hasSavePermission","hasSubmitted","isInitializing","resetUploadEdits","totalErrorCount","updateUploadEdits","initialFiles","initialForms","maxFiles","activeForm","getEntityConfig","i18n","t","user","closeModal","openModal","t1","filelist","then","didAddFiles","handleAddFiles","totalFileCount","length","canAddMoreFiles","t2","collectionConfig","t3","_jsx","_Fragment","children","_jsxs","className","size","slug","onClose","showClose","title","count","withMessage","buttonStyle","icon","onClick","collection","currentEditor","hasPublishedDoc","id","initialData","formState","initialState","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","Upload","versionCount","submitted","uploadEdits","acceptMimeTypes","upload","mimeTypes","join","onDrop"],"sources":["../../../../src/elements/BulkUpload/AddingFilesView/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport React from 'react'\n\nimport { PlusIcon } from '../../../icons/Plus/index.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DialogHeader } from '../../Dialog/DialogHeader/index.js'\nimport { DialogModal } from '../../Dialog/DialogModal/index.js'\nimport { DialogTitle } from '../../Dialog/DialogTitle/index.js'\nimport { ErrorPill } from '../../ErrorPill/index.js'\nimport { ActionsBar } from '../ActionsBar/index.js'\nimport { AddFilesView } from '../AddFilesView/index.js'\nimport { discardBulkUploadModalSlug, DiscardWithoutSaving } from '../DiscardWithoutSaving/index.js'\nimport { EditForm } from '../EditForm/index.js'\nimport { EditManyBulkUploads } from '../EditMany/index.js'\nimport { FileSidebar } from '../FileSidebar/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { useBulkUpload } from '../index.js'\nimport './index.css'\n\nconst baseClass = 'bulk-upload--file-manager'\n\nconst addMoreFilesModalSlug = 'bulk-upload-modal--add-more-files'\n\ntype Props = {\n readonly modalSlug: string\n}\n\nexport function AddingFilesView({ modalSlug }: Props) {\n const {\n activeIndex,\n addFiles,\n collectionSlug,\n docPermissions,\n documentSlots,\n forms,\n hasPublishPermission,\n hasSavePermission,\n hasSubmitted,\n isInitializing,\n resetUploadEdits,\n totalErrorCount,\n updateUploadEdits,\n } = useFormsManager()\n const { initialFiles, initialForms, maxFiles } = useBulkUpload()\n const activeForm = forms[activeIndex]\n const { getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n const { user } = useAuth()\n const { closeModal, openModal } = useModal()\n\n const handleAddFiles = React.useCallback(\n (filelist: FileList) => {\n void addFiles(filelist).then((didAddFiles) => {\n if (didAddFiles) {\n closeModal(addMoreFilesModalSlug)\n }\n })\n },\n [addFiles, closeModal],\n )\n\n const totalFileCount = isInitializing\n ? (initialFiles?.length ?? initialForms?.length)\n : forms.length\n const canAddMoreFiles = typeof maxFiles === 'number' ? totalFileCount < maxFiles : true\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n return (\n <>\n <DialogModal className={baseClass} size=\"large\" slug={modalSlug}>\n <DialogHeader\n onClose={() => openModal(discardBulkUploadModalSlug)}\n showClose={true}\n title={\n <div className={`${baseClass}__header-title-section`}>\n <DialogTitle title={t('upload:bulkUpload')} />\n {totalErrorCount > 0 && <ErrorPill count={totalErrorCount} i18n={i18n} withMessage />}\n </div>\n }\n >\n {canAddMoreFiles && !isInitializing ? (\n <Button\n buttonStyle=\"secondary\"\n icon={<PlusIcon size={24} />}\n iconPosition=\"left\"\n onClick={() => openModal(addMoreFilesModalSlug)}\n >\n {t('upload:addFiles')}\n </Button>\n ) : null}\n\n <EditManyBulkUploads collection={collectionConfig} />\n </DialogHeader>\n\n <div className={`${baseClass}__body`}>\n <FileSidebar />\n\n <div className={`${baseClass}__editView`}>\n {activeForm && !isInitializing ? (\n <DocumentInfoProvider\n collectionSlug={collectionSlug}\n currentEditor={user}\n docPermissions={docPermissions}\n hasPublishedDoc={false}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={null}\n initialData={reduceFieldsToValues(activeForm.formState, true)}\n initialState={activeForm.formState}\n isLocked={false}\n key={`${collectionSlug}-${activeIndex}-${forms.length}`}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n Upload={documentSlots.Upload}\n versionCount={0}\n >\n <EditForm\n resetUploadEdits={resetUploadEdits}\n submitted={hasSubmitted}\n updateUploadEdits={updateUploadEdits}\n uploadEdits={activeForm?.uploadEdits}\n />\n </DocumentInfoProvider>\n ) : null}\n </div>\n </div>\n\n <ActionsBar />\n\n {/* Nested Modals */}\n <AddFilesView\n acceptMimeTypes={collectionConfig?.upload?.mimeTypes?.join(', ')}\n modalSlug={addMoreFilesModalSlug}\n onDrop={handleAddFiles}\n />\n <DiscardWithoutSaving />\n </DialogModal>\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","React","useTranslation","ConfirmationModal","useBulkUpload","discardBulkUploadModalSlug","DiscardWithoutSaving","$","t","closeModal","modalSlug","t0","onCancel","t1","onConfirm","t2","_jsx","body","cancelLabel","confirmLabel","heading"],"sources":["../../../../src/elements/BulkUpload/DiscardWithoutSaving/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { ConfirmationModal } from '../../ConfirmationModal/index.js'\nimport { useBulkUpload } from '../index.js'\nexport const discardBulkUploadModalSlug = 'bulk-upload--discard-without-saving'\n\nexport function DiscardWithoutSaving() {\n const { t } = useTranslation()\n const { closeModal } = useModal()\n const { modalSlug } = useBulkUpload()\n\n const onCancel = React.useCallback(() => {\n closeModal(discardBulkUploadModalSlug)\n }, [closeModal])\n\n const onConfirm = React.useCallback(() => {\n closeModal(modalSlug)\n closeModal(discardBulkUploadModalSlug)\n }, [closeModal, modalSlug])\n\n return (\n <ConfirmationModal\n body={t('general:changesNotSaved')}\n cancelLabel={t('general:stayOnThisPage')}\n confirmLabel={t('general:leaveAnyway')}\n heading={t('general:leaveWithoutSaving')}\n modalSlug={discardBulkUploadModalSlug}\n onCancel={onCancel}\n onConfirm={onConfirm}\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,aAAa,QAAQ;AAC9B,OAAO,MAAMC,0BAAA,GAA6B;AAE1C,OAAO,SAAAC,qBAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EACL;IAAAS;EAAA,IAAcN,cAAA;EACd;IAAAO;EAAA,IAAuBT,QAAA;EACvB;IAAAU;EAAA,IAAsBN,aAAA;EAAA,IAAAO,EAAA;EAAA,IAAAJ,CAAA,QAAAE,UAAA;IAEaE,EAAA,GAAAA,CAAA;MACjCF,UAAA,CAAAJ,0BAAW;IAAA;IACbE,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAFA,MAAAK,QAAA,GAAiBD,EAEF;EAAA,IAAAE,EAAA;EAAA,IAAAN,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAG,SAAA;IAEqBG,EAAA,GAAAA,CAAA;MAClCJ,UAAA,CAAWC,SAAA;MACXD,UAAA,CAAAJ,0BAAW;IAAA;IACbE,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAG,SAAA;IAAAH,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAHA,MAAAO,SAAA,GAAkBD,EAGQ;EAAA,IAAAE,EAAA;EAAA,IAAAR,CAAA,QAAAK,QAAA,IAAAL,CAAA,QAAAO,SAAA,IAAAP,CAAA,QAAAC,CAAA;IAGxBO,EAAA,GAAAC,IAAA,CAAAb,iBAAA;MAAAc,IAAA,EACQT,CAAA,CAAE;MAAAU,WAAA,EACKV,CAAA,CAAE;MAAAW,YAAA,EACDX,CAAA,CAAE;MAAAY,OAAA,EACPZ,CAAA,CAAE;MAAAE,SAAA,EAAAL,0BAAA;MAAAO,QAAA;MAAAE;IAAA,C;;;;;;;;SAJbC,E","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","React","useTranslation","ConfirmationModal","useBulkUpload","discardBulkUploadModalSlug","DiscardWithoutSaving","$","t","closeModal","modalSlug","t0","onCancel","t1","onConfirm","t2","_jsx","body","cancelLabel","confirmLabel","heading"],"sources":["../../../../src/elements/BulkUpload/DiscardWithoutSaving/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { ConfirmationModal } from '../../ConfirmationModal/index.js'\nimport { useBulkUpload } from '../index.js'\nexport const discardBulkUploadModalSlug = 'bulk-upload--discard-without-saving'\n\nexport function DiscardWithoutSaving() {\n const { t } = useTranslation()\n const { closeModal } = useModal()\n const { modalSlug } = useBulkUpload()\n\n const onCancel = React.useCallback(() => {\n closeModal(discardBulkUploadModalSlug)\n }, [closeModal])\n\n const onConfirm = React.useCallback(() => {\n closeModal(modalSlug)\n closeModal(discardBulkUploadModalSlug)\n }, [closeModal, modalSlug])\n\n return (\n <ConfirmationModal\n body={t('general:changesNotSaved')}\n cancelLabel={t('general:stayOnThisPage')}\n confirmLabel={t('general:leaveAnyway')}\n heading={t('general:leaveWithoutSaving')}\n modalSlug={discardBulkUploadModalSlug}\n onCancel={onCancel}\n onConfirm={onConfirm}\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,aAAa,QAAQ;AAC9B,OAAO,MAAMC,0BAAA,GAA6B;AAE1C,OAAO,SAAAC,qBAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EACL;IAAAS;EAAA,IAAcN,cAAA;EACd;IAAAO;EAAA,IAAuBT,QAAA;EACvB;IAAAU;EAAA,IAAsBN,aAAA;EAAA,IAAAO,EAAA;EAAA,IAAAJ,CAAA,QAAAE,UAAA;IAEaE,EAAA,GAAAA,CAAA;MACjCF,UAAA,CAAWJ,0BAAA;IAAA,CACb;IAAAE,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAFA,MAAAK,QAAA,GAAiBD,EAEF;EAAA,IAAAE,EAAA;EAAA,IAAAN,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAG,SAAA;IAEqBG,EAAA,GAAAA,CAAA;MAClCJ,UAAA,CAAWC,SAAA;MACXD,UAAA,CAAWJ,0BAAA;IAAA,CACb;IAAAE,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAG,SAAA;IAAAH,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAHA,MAAAO,SAAA,GAAkBD,EAGQ;EAAA,IAAAE,EAAA;EAAA,IAAAR,CAAA,QAAAK,QAAA,IAAAL,CAAA,QAAAO,SAAA,IAAAP,CAAA,QAAAC,CAAA;IAGxBO,EAAA,GAAAC,IAAA,CAACb,iBAAA;MAAAc,IAAA,EACOT,CAAA,CAAE;MAAAU,WAAA,EACKV,CAAA,CAAE;MAAAW,YAAA,EACDX,CAAA,CAAE;MAAAY,OAAA,EACPZ,CAAA,CAAE;MAAAE,SAAA,EACAL,0BAAA;MAAAO,QAAA;MAAAE;;;;;;;;;SALbC,E","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","Form","useForm","WatchChildErrors","useConfig","useDocumentEvents","useDocumentInfo","OperationProvider","useServerFunctions","abortAndIgnore","handleAbortRef","useDocumentDrawerContext","DocumentFields","FileManager","useFormsManager","baseClass","EditForm","resetUploadEdits","submitted","updateUploadEdits","uploadEdits","action","collectionSlug","docSlug","docPermissions","getDocPreferences","hasSavePermission","initialState","isInitializing","Upload","CustomUpload","drawerSlug","onSave","onSaveFromContext","getFormState","getEntityConfig","abortOnChangeRef","useRef","collectionConfig","reportUpdate","slug","schemaPath","useState","json","doc","result","entitySlug","operation","updatedAt","Date","toISOString","onChange","formState","prevFormState","controller","docPreferences","state","newFormState","signal","skipValidation","current","abortOnChange","_jsx","_jsxs","className","disabled","undefined","method","onSuccess","uploadConfig","upload","fields","forceSidebarWrap","schemaPathSegments","ReportAllErrors","GetFieldProxy","$","getField","getFields","getFormDataRef","t0","t1","docConfig","activeIndex","forms","setFormTotalErrorCount","errorCountRef","fileIsValid","currentForm","file","valid","reportFormErrorCount","fieldErrorCount","newErrorCount","errorCount","index","path","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { EditFormProps } from './types.js'\n\nimport { Form, useForm } from '../../../forms/Form/index.js'\nimport { type FormProps } from '../../../forms/Form/types.js'\nimport { WatchChildErrors } from '../../../forms/WatchChildErrors/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { OperationProvider } from '../../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { useDocumentDrawerContext } from '../../DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../DocumentFields/index.js'\nimport { FileManager } from '../../FileManager/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\n\nexport function EditForm({\n resetUploadEdits,\n submitted,\n updateUploadEdits,\n uploadEdits,\n}: EditFormProps) {\n const {\n action,\n collectionSlug: docSlug,\n docPermissions,\n getDocPreferences,\n hasSavePermission,\n initialState,\n isInitializing,\n Upload: CustomUpload,\n } = useDocumentInfo()\n\n const { drawerSlug, onSave: onSaveFromContext } = useDocumentDrawerContext()\n\n const { getFormState } = useServerFunctions()\n\n const { getEntityConfig } = useConfig()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug })\n const { reportUpdate } = useDocumentEvents()\n\n const collectionSlug = collectionConfig.slug\n\n const [schemaPath] = React.useState(collectionSlug)\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n doc: json?.doc || json?.result,\n drawerSlug,\n entitySlug: collectionSlug,\n operation: 'create',\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: 'create',\n })\n }\n resetUploadEdits()\n },\n [collectionSlug, onSaveFromContext, reportUpdate, resetUploadEdits, drawerSlug],\n )\n\n const onChange: NonNullable<FormProps['onChange']>[0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newFormState } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortOnChangeRef.current = null\n\n return newFormState\n },\n [collectionSlug, schemaPath, getDocPreferences, getFormState, docPermissions],\n )\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <OperationProvider operation=\"create\">\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isInitializing || !hasSavePermission}\n initialState={isInitializing ? undefined : initialState}\n isInitializing={isInitializing}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={onSave}\n submitted={submitted}\n >\n <div className={`${baseClass}__upload-layout`}>\n {CustomUpload || (\n <FileManager\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadConfig={collectionConfig.upload}\n uploadEdits={uploadEdits}\n />\n )}\n <DocumentFields\n docPermissions={docPermissions}\n fields={collectionConfig.fields}\n forceSidebarWrap\n schemaPathSegments={[collectionConfig.slug]}\n />\n </div>\n <ReportAllErrors />\n <GetFieldProxy />\n </Form>\n </OperationProvider>\n )\n}\n\nfunction GetFieldProxy() {\n const { getField, getFields } = useForm()\n const { getFormDataRef } = useFormsManager()\n\n useEffect(() => {\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n getFormDataRef.current = getFields\n }, [getFields, getField, getFormDataRef])\n\n return null\n}\n\nfunction ReportAllErrors() {\n const { docConfig } = useDocumentInfo()\n const { activeIndex, forms, setFormTotalErrorCount } = useFormsManager()\n const errorCountRef = React.useRef(0)\n\n const fileIsValid = useMemo(() => {\n const currentForm = forms[activeIndex]\n return currentForm?.formState?.file?.valid ?? true\n }, [activeIndex, forms])\n\n const reportFormErrorCount = React.useCallback(\n (fieldErrorCount: number) => {\n let newErrorCount = fieldErrorCount\n // If the file is invalid, count that as an error\n if (!fileIsValid) {\n newErrorCount += 1\n }\n if (newErrorCount === errorCountRef.current) {\n return\n }\n setFormTotalErrorCount({ errorCount: newErrorCount, index: activeIndex })\n errorCountRef.current = newErrorCount\n },\n [activeIndex, setFormTotalErrorCount, fileIsValid],\n )\n\n if (!docConfig) {\n return null\n }\n\n return (\n <WatchChildErrors fields={docConfig.fields} path={[]} setErrorCount={reportFormErrorCount} />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,OAAO,QAAQ;AAIvD,SAASC,IAAI,EAAEC,OAAO,QAAQ;AAE9B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,SAAS,QAAQ;AAC1B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,QAAQ;AAChC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,EAAEC,cAAc,QAAQ;AAC/C,SAASC,wBAAwB,QAAQ;AACzC,SAASC,cAAc,QAAQ;AAC/B,SAASC,WAAW,QAAQ;AAC5B,SAASC,eAAe,QAAQ;AAChC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB;AACA;AACA;AAEA,OAAO,SAASC,SAAS;EACvBC,gBAAgB;EAChBC,SAAS;EACTC,iBAAiB;EACjBC;AAAW,CACG;EACd,MAAM;IACJC,MAAM;IACNC,cAAA,EAAgBC,OAAO;IACvBC,cAAc;IACdC,iBAAiB;IACjBC,iBAAiB;IACjBC,YAAY;IACZC,cAAc;IACdC,MAAA,EAAQC;EAAY,CACrB,GAAGxB,eAAA;EAEJ,MAAM;IAAEyB,UAAU;IAAEC,MAAA,EAAQC;EAAiB,CAAE,GAAGtB,wBAAA;EAElD,MAAM;IAAEuB;EAAY,CAAE,GAAG1B,kBAAA;EAEzB,MAAM;IAAE2B;EAAe,CAAE,GAAG/B,SAAA;EAE5B,MAAMgC,gBAAA,GAAmBvC,KAAA,CAAMwC,MAAM,CAAkB;EAEvD,MAAMC,gBAAA,GAAmBH,eAAA,CAAgB;IAAEb,cAAA,EAAgBC;EAAQ;EACnE,MAAM;IAAEgB;EAAY,CAAE,GAAGlC,iBAAA;EAEzB,MAAMiB,cAAA,GAAiBgB,gBAAA,CAAiBE,IAAI;EAE5C,MAAM,CAACC,UAAA,CAAW,GAAG5C,KAAA,CAAM6C,QAAQ,CAACpB,cAAA;EAEpC,MAAMU,MAAA,GAASlC,WAAA,CACZ6C,IAAA;IACCJ,YAAA,CAAa;MACXK,GAAA,EAAKD,IAAA,EAAMC,GAAA,IAAOD,IAAA,EAAME,MAAA;MACxBd,UAAA;MACAe,UAAA,EAAYxB,cAAA;MACZyB,SAAA,EAAW;MACXC,SAAA,EAAWL,IAAA,EAAME,MAAA,EAAQG,SAAA,IAAa,IAAIC,IAAA,GAAOC,WAAW;IAC9D;IAEA,IAAI,OAAOjB,iBAAA,KAAsB,YAAY;MAC3C,KAAKA,iBAAA,CAAkB;QACrB,GAAGU,IAAI;QACPI,SAAA,EAAW;MACb;IACF;IACA9B,gBAAA;EACF,GACA,CAACK,cAAA,EAAgBW,iBAAA,EAAmBM,YAAA,EAActB,gBAAA,EAAkBc,UAAA,CAAW;EAGjF,MAAMoB,QAAA,GAAkDrD,WAAA,CACtD,OAAO;IAAEsD,SAAA,EAAWC,aAAa;IAAEnC,SAAS,EAATA;EAAS,CAAE;IAC5C,MAAMoC,UAAA,GAAa5C,cAAA,CAAe0B,gBAAA;IAElC,MAAMmB,cAAA,GAAiB,MAAM9B,iBAAA;IAE7B,MAAM;MAAE+B,KAAA,EAAOC;IAAY,CAAE,GAAG,MAAMvB,YAAA,CAAa;MACjDZ,cAAA;MACAE,cAAA;MACA+B,cAAA;MACAH,SAAA,EAAWC,aAAA;MACXN,SAAA,EAAW;MACXN,UAAA;MACAiB,MAAA,EAAQJ,UAAA,CAAWI,MAAM;MACzBC,cAAA,EAAgB,CAACzC;IACnB;IAEAkB,gBAAA,CAAiBwB,OAAO,GAAG;IAE3B,OAAOH,YAAA;EACT,GACA,CAACnC,cAAA,EAAgBmB,UAAA,EAAYhB,iBAAA,EAAmBS,YAAA,EAAcV,cAAA,CAAe;EAG/EzB,SAAA,CAAU;IACR,MAAM8D,aAAA,GAAgBzB,gBAAA,CAAiBwB,OAAO;IAE9C,OAAO;MACLnD,cAAA,CAAeoD,aAAA;IACjB;EACF,GAAG,EAAE;EAEL,oBACEC,IAAA,CAACvD,iBAAA;IAAkBwC,SAAA,EAAU;cAC3B,aAAAgB,KAAA,CAAC9D,IAAA;MACCoB,MAAA,EAAQA,MAAA;MACR2C,SAAA,EAAW,GAAGjD,SAAA,QAAiB;MAC/BkD,QAAA,EAAUrC,cAAA,IAAkB,CAACF,iBAAA;MAC7BC,YAAA,EAAcC,cAAA,GAAiBsC,SAAA,GAAYvC,YAAA;MAC3CC,cAAA,EAAgBA,cAAA;MAChBuC,MAAA,EAAO;MACPhB,QAAA,EAAU,CAACA,QAAA,CAAS;MACpBiB,SAAA,EAAWpC,MAAA;MACXd,SAAA,EAAWA,SAAA;8BAEX6C,KAAA,CAAC;QAAIC,SAAA,EAAW,GAAGjD,SAAA,iBAA0B;mBAC1Ce,YAAA,iBACCgC,IAAA,CAACjD,WAAA;UACCS,cAAA,EAAgBgB,gBAAA,CAAiBE,IAAI;UACrCb,YAAA,EAAcA,YAAA;UACdV,gBAAA,EAAkBA,gBAAA;UAClBE,iBAAA,EAAmBA,iBAAA;UACnBkD,YAAA,EAAc/B,gBAAA,CAAiBgC,MAAM;UACrClD,WAAA,EAAaA;yBAGjB0C,IAAA,CAAClD,cAAA;UACCY,cAAA,EAAgBA,cAAA;UAChB+C,MAAA,EAAQjC,gBAAA,CAAiBiC,MAAM;UAC/BC,gBAAgB;UAChBC,kBAAA,EAAoB,CAACnC,gBAAA,CAAiBE,IAAI;;uBAG9CsB,IAAA,CAACY,eAAA,O,aACDZ,IAAA,CAACa,aAAA;;;AAIT;AAEA,SAAAA,cAAA;EAAA,MAAAC,CAAA,GAAAhF,EAAA;EACE;IAAAiF,QAAA;IAAAC;EAAA,IAAgC5E,OAAA;EAChC;IAAA6E;EAAA,IAA2BjE,eAAA;EAAA,IAAAkE,EAAA;EAAA,IAAAJ,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAG,cAAA;IAEjBC,EAAA,GAAAA,CAAA;MAERD,cAAA,CAAAnB,OAAA,GAAyBkB,SAAA;IAAA;IAC3BF,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAG,cAAA;IAAAH,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAAA,IAAAK,EAAA;EAAA,IAAAL,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAG,cAAA;IAAGE,EAAA,IAACH,SAAA,EAAWD,QAAA,EAAUE,cAAA;IAAeH,CAAA,MAAAC,QAAA;IAAAD,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAG,cAAA;IAAAH,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAHxC7E,SAAA,CAAUiF,EAGV,EAAGC,EAAqC;EAAA;AAAA;AAK1C,SAASP,gBAAA;EACP,MAAM;IAAEQ;EAAS,CAAE,GAAG5E,eAAA;EACtB,MAAM;IAAE6E,WAAW;IAAEC,KAAK;IAAEC;EAAsB,CAAE,GAAGvE,eAAA;EACvD,MAAMwE,aAAA,GAAgBzF,KAAA,CAAMwC,MAAM,CAAC;EAEnC,MAAMkD,WAAA,GAAcvF,OAAA,CAAQ;IAC1B,MAAMwF,WAAA,GAAcJ,KAAK,CAACD,WAAA,CAAY;IACtC,OAAOK,WAAA,EAAapC,SAAA,EAAWqC,IAAA,EAAMC,KAAA,IAAS;EAChD,GAAG,CAACP,WAAA,EAAaC,KAAA,CAAM;EAEvB,MAAMO,oBAAA,GAAuB9F,KAAA,CAAMC,WAAW,CAC3C8F,eAAA;IACC,IAAIC,aAAA,GAAgBD,eAAA;IACpB;IACA,IAAI,CAACL,WAAA,EAAa;MAChBM,aAAA,IAAiB;IACnB;IACA,IAAIA,aAAA,KAAkBP,aAAA,CAAc1B,OAAO,EAAE;MAC3C;IACF;IACAyB,sBAAA,CAAuB;MAAES,UAAA,EAAYD,aAAA;MAAeE,KAAA,EAAOZ;IAAY;IACvEG,aAAA,CAAc1B,OAAO,GAAGiC,aAAA;EAC1B,GACA,CAACV,WAAA,EAAaE,sBAAA,EAAwBE,WAAA,CAAY;EAGpD,IAAI,CAACL,SAAA,EAAW;IACd,OAAO;EACT;EAEA,oBACEpB,IAAA,CAAC3D,gBAAA;IAAiBoE,MAAA,EAAQW,SAAA,CAAUX,MAAM;IAAEyB,IAAA,EAAM,EAAE;IAAEC,aAAA,EAAeN;;AAEzE","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","Form","useForm","WatchChildErrors","useConfig","useDocumentEvents","useDocumentInfo","OperationProvider","useServerFunctions","abortAndIgnore","handleAbortRef","useDocumentDrawerContext","DocumentFields","FileManager","useFormsManager","baseClass","EditForm","resetUploadEdits","submitted","updateUploadEdits","uploadEdits","action","collectionSlug","docSlug","docPermissions","getDocPreferences","hasSavePermission","initialState","isInitializing","Upload","CustomUpload","drawerSlug","onSave","onSaveFromContext","getFormState","getEntityConfig","abortOnChangeRef","useRef","collectionConfig","reportUpdate","slug","schemaPath","useState","json","doc","result","entitySlug","operation","updatedAt","Date","toISOString","onChange","formState","prevFormState","controller","docPreferences","state","newFormState","signal","skipValidation","current","abortOnChange","_jsx","_jsxs","className","disabled","undefined","method","onSuccess","uploadConfig","upload","fields","forceSidebarWrap","schemaPathSegments","ReportAllErrors","GetFieldProxy","$","getField","getFields","getFormDataRef","t0","t1","docConfig","activeIndex","forms","setFormTotalErrorCount","errorCountRef","fileIsValid","currentForm","file","valid","reportFormErrorCount","fieldErrorCount","newErrorCount","errorCount","index","path","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { EditFormProps } from './types.js'\n\nimport { Form, useForm } from '../../../forms/Form/index.js'\nimport { type FormProps } from '../../../forms/Form/types.js'\nimport { WatchChildErrors } from '../../../forms/WatchChildErrors/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { OperationProvider } from '../../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { useDocumentDrawerContext } from '../../DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../DocumentFields/index.js'\nimport { FileManager } from '../../FileManager/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\n\nexport function EditForm({\n resetUploadEdits,\n submitted,\n updateUploadEdits,\n uploadEdits,\n}: EditFormProps) {\n const {\n action,\n collectionSlug: docSlug,\n docPermissions,\n getDocPreferences,\n hasSavePermission,\n initialState,\n isInitializing,\n Upload: CustomUpload,\n } = useDocumentInfo()\n\n const { drawerSlug, onSave: onSaveFromContext } = useDocumentDrawerContext()\n\n const { getFormState } = useServerFunctions()\n\n const { getEntityConfig } = useConfig()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug })\n const { reportUpdate } = useDocumentEvents()\n\n const collectionSlug = collectionConfig.slug\n\n const [schemaPath] = React.useState(collectionSlug)\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n doc: json?.doc || json?.result,\n drawerSlug,\n entitySlug: collectionSlug,\n operation: 'create',\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: 'create',\n })\n }\n resetUploadEdits()\n },\n [collectionSlug, onSaveFromContext, reportUpdate, resetUploadEdits, drawerSlug],\n )\n\n const onChange: NonNullable<FormProps['onChange']>[0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newFormState } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortOnChangeRef.current = null\n\n return newFormState\n },\n [collectionSlug, schemaPath, getDocPreferences, getFormState, docPermissions],\n )\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <OperationProvider operation=\"create\">\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isInitializing || !hasSavePermission}\n initialState={isInitializing ? undefined : initialState}\n isInitializing={isInitializing}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={onSave}\n submitted={submitted}\n >\n <div className={`${baseClass}__upload-layout`}>\n {CustomUpload || (\n <FileManager\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadConfig={collectionConfig.upload}\n uploadEdits={uploadEdits}\n />\n )}\n <DocumentFields\n docPermissions={docPermissions}\n fields={collectionConfig.fields}\n forceSidebarWrap\n schemaPathSegments={[collectionConfig.slug]}\n />\n </div>\n <ReportAllErrors />\n <GetFieldProxy />\n </Form>\n </OperationProvider>\n )\n}\n\nfunction GetFieldProxy() {\n const { getField, getFields } = useForm()\n const { getFormDataRef } = useFormsManager()\n\n useEffect(() => {\n getFormDataRef.current = getFields\n }, [getFields, getField, getFormDataRef])\n\n return null\n}\n\nfunction ReportAllErrors() {\n const { docConfig } = useDocumentInfo()\n const { activeIndex, forms, setFormTotalErrorCount } = useFormsManager()\n const errorCountRef = React.useRef(0)\n\n const fileIsValid = useMemo(() => {\n const currentForm = forms[activeIndex]\n return currentForm?.formState?.file?.valid ?? true\n }, [activeIndex, forms])\n\n const reportFormErrorCount = React.useCallback(\n (fieldErrorCount: number) => {\n let newErrorCount = fieldErrorCount\n // If the file is invalid, count that as an error\n if (!fileIsValid) {\n newErrorCount += 1\n }\n if (newErrorCount === errorCountRef.current) {\n return\n }\n setFormTotalErrorCount({ errorCount: newErrorCount, index: activeIndex })\n errorCountRef.current = newErrorCount\n },\n [activeIndex, setFormTotalErrorCount, fileIsValid],\n )\n\n if (!docConfig) {\n return null\n }\n\n return (\n <WatchChildErrors fields={docConfig.fields} path={[]} setErrorCount={reportFormErrorCount} />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -15,14 +15,22 @@ import { EditManyBulkUploadsDrawerContent } from './DrawerContent.js';
15
15
  import './index.css';
16
16
  export const baseClass = 'edit-many-bulk-uploads';
17
17
  export const EditManyBulkUploads = props => {
18
- const $ = _c(9);
18
+ const $ = _c(11);
19
19
  const {
20
20
  collection: t0,
21
21
  collection
22
22
  } = props;
23
+ let t1;
24
+ if ($[0] !== t0) {
25
+ t1 = t0 === undefined ? {} : t0;
26
+ $[0] = t0;
27
+ $[1] = t1;
28
+ } else {
29
+ t1 = $[1];
30
+ }
23
31
  const {
24
32
  slug
25
- } = t0 === undefined ? {} : t0;
33
+ } = t1;
26
34
  const {
27
35
  permissions
28
36
  } = useAuth();
@@ -41,18 +49,18 @@ export const EditManyBulkUploads = props => {
41
49
  if (!hasUpdatePermission) {
42
50
  return null;
43
51
  }
44
- let t1;
45
- if ($[0] !== collection || $[1] !== drawerSlug || $[2] !== forms || $[3] !== openModal || $[4] !== t) {
46
- let t2;
47
- if ($[6] !== drawerSlug || $[7] !== openModal) {
48
- t2 = () => openModal(drawerSlug);
49
- $[6] = drawerSlug;
50
- $[7] = openModal;
51
- $[8] = t2;
52
+ let t2;
53
+ if ($[2] !== collection || $[3] !== drawerSlug || $[4] !== forms || $[5] !== openModal || $[6] !== t) {
54
+ let t3;
55
+ if ($[8] !== drawerSlug || $[9] !== openModal) {
56
+ t3 = () => openModal(drawerSlug);
57
+ $[8] = drawerSlug;
58
+ $[9] = openModal;
59
+ $[10] = t3;
52
60
  } else {
53
- t2 = $[8];
61
+ t3 = $[10];
54
62
  }
55
- t1 = _jsxs("div", {
63
+ t2 = _jsxs("div", {
56
64
  className: baseClass,
57
65
  children: [_jsx(Button, {
58
66
  buttonStyle: "secondary",
@@ -60,7 +68,7 @@ export const EditManyBulkUploads = props => {
60
68
  size: 24
61
69
  }),
62
70
  iconPosition: "left",
63
- onClick: t2,
71
+ onClick: t3,
64
72
  children: t("general:editAll")
65
73
  }), _jsx(EditDepthProvider, {
66
74
  children: _jsx(Drawer, {
@@ -74,15 +82,15 @@ export const EditManyBulkUploads = props => {
74
82
  })
75
83
  })]
76
84
  });
77
- $[0] = collection;
78
- $[1] = drawerSlug;
79
- $[2] = forms;
80
- $[3] = openModal;
81
- $[4] = t;
82
- $[5] = t1;
85
+ $[2] = collection;
86
+ $[3] = drawerSlug;
87
+ $[4] = forms;
88
+ $[5] = openModal;
89
+ $[6] = t;
90
+ $[7] = t2;
83
91
  } else {
84
- t1 = $[5];
92
+ t2 = $[7];
85
93
  }
86
- return t1;
94
+ return t2;
87
95
  };
88
96
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","React","WriteIcon","useAuth","EditDepthProvider","useTranslation","Button","Drawer","useFormsManager","EditManyBulkUploadsDrawerContent","baseClass","EditManyBulkUploads","props","$","collection","t0","slug","undefined","permissions","t","forms","openModal","collectionPermissions","collections","hasUpdatePermission","update","drawerSlug","t1","t2","_jsxs","className","children","_jsx","buttonStyle","icon","size","onClick","Header"],"sources":["../../../../src/elements/BulkUpload/EditMany/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { WriteIcon } from '../../../icons/Write/index.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { EditDepthProvider } from '../../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { EditManyBulkUploadsDrawerContent } from './DrawerContent.js'\nimport './index.css'\nexport const baseClass = 'edit-many-bulk-uploads'\n\nexport type EditManyBulkUploadsProps = {\n readonly collection: ClientCollectionConfig\n}\n\nexport const EditManyBulkUploads: React.FC<EditManyBulkUploadsProps> = (props) => {\n const { collection: { slug } = {}, collection } = props\n\n const { permissions } = useAuth()\n\n const { t } = useTranslation()\n const { forms } = useFormsManager() // Access forms managed in bulk uploads\n const { openModal } = useModal()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update\n\n const drawerSlug = `edit-${slug}-bulk-uploads`\n\n if (!hasUpdatePermission) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <Button\n buttonStyle=\"secondary\"\n icon={<WriteIcon size={24} />}\n iconPosition=\"left\"\n onClick={() => openModal(drawerSlug)}\n >\n {t('general:editAll')}\n </Button>\n\n <EditDepthProvider>\n <Drawer Header={null} slug={drawerSlug}>\n <EditManyBulkUploadsDrawerContent\n collection={collection}\n drawerSlug={drawerSlug}\n forms={forms}\n />\n </Drawer>\n </EditDepthProvider>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAC1B,SAASC,OAAO,QAAQ;AACxB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,SAASC,eAAe,QAAQ;AAChC,SAASC,gCAAgC,QAAQ;AACjD,OAAO;AACP,OAAO,MAAMC,SAAA,GAAY;AAMzB,OAAO,MAAMC,mBAAA,GAA0DC,KAAA;EAAA,MAAAC,CAAA,GAAAd,EAAA;EACrE;IAAAe,UAAA,EAAAC,EAAA;IAAAD;EAAA,IAAkDF,KAAA;EAA9B;IAAAI;EAAA,IAAAD,EAAa,KAAAE,SAAA,QAAbF,EAAa;EAEjC;IAAAG;EAAA,IAAwBf,OAAA;EAExB;IAAAgB;EAAA,IAAcd,cAAA;EACd;IAAAe;EAAA,IAAkBZ,eAAA;EAClB;IAAAa;EAAA,IAAsBrB,QAAA;EAEtB,MAAAsB,qBAAA,GAA8BJ,WAAA,EAAAK,WAAA,GAA2BP,IAAA;EACzD,MAAAQ,mBAAA,GAA4BF,qBAAA,EAAAG,MAAA;EAE5B,MAAAC,UAAA,GAAmB,QAAQV,IAAA,eAAmB;EAAA,KAEzCQ,mBAAA;IAAA;EAAA;EAAA,IAAAG,EAAA;EAAA,IAAAd,CAAA,QAAAC,UAAA,IAAAD,CAAA,QAAAa,UAAA,IAAAb,CAAA,QAAAO,KAAA,IAAAP,CAAA,QAAAQ,SAAA,IAAAR,CAAA,QAAAM,CAAA;IAAA,IAAAS,EAAA;IAAA,IAAAf,CAAA,QAAAa,UAAA,IAAAb,CAAA,QAAAQ,SAAA;MAUUO,EAAA,GAAAA,CAAA,KAAMP,SAAA,CAAUK,UAAA;MAAAb,CAAA,MAAAa,UAAA;MAAAb,CAAA,MAAAQ,SAAA;MAAAR,CAAA,MAAAe,EAAA;IAAA;MAAAA,EAAA,GAAAf,CAAA;IAAA;IAL7Bc,EAAA,GAAAE,KAAA,CAAC;MAAAC,SAAA,EAAApB,SAAA;MAAAqB,QAAA,GACCC,IAAA,CAAA1B,MAAA;QAAA2B,WAAA,EACc;QAAAC,IAAA,EACNF,IAAA,CAAA9B,SAAA;UAAAiC,IAAA;QAAA,C;sBACO;QAAAC,OAAA,EACJR,EAAgB;QAAAG,QAAA,EAExBZ,CAAA,CAAE;MAAA,C,GAGLa,IAAA,CAAA5B,iBAAA;QAAA2B,QAAA,EACEC,IAAA,CAAAzB,MAAA;UAAA8B,MAAA;UAAArB,IAAA,EAA4BU,UAAA;UAAAA,QAAA,EAC1BM,IAAA,CAAAvB,gCAAA;YAAAK,UAAA;YAAAY,UAAA;YAAAN;UAAA,C;;;;;;;;;;;;;SAZNO,E;CAqBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","React","WriteIcon","useAuth","EditDepthProvider","useTranslation","Button","Drawer","useFormsManager","EditManyBulkUploadsDrawerContent","baseClass","EditManyBulkUploads","props","$","collection","t0","t1","undefined","slug","permissions","t","forms","openModal","collectionPermissions","collections","hasUpdatePermission","update","drawerSlug","t2","t3","_jsxs","className","children","_jsx","buttonStyle","icon","size","onClick","Header"],"sources":["../../../../src/elements/BulkUpload/EditMany/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { WriteIcon } from '../../../icons/Write/index.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { EditDepthProvider } from '../../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { EditManyBulkUploadsDrawerContent } from './DrawerContent.js'\nimport './index.css'\nexport const baseClass = 'edit-many-bulk-uploads'\n\nexport type EditManyBulkUploadsProps = {\n readonly collection: ClientCollectionConfig\n}\n\nexport const EditManyBulkUploads: React.FC<EditManyBulkUploadsProps> = (props) => {\n const { collection: { slug } = {}, collection } = props\n\n const { permissions } = useAuth()\n\n const { t } = useTranslation()\n const { forms } = useFormsManager() // Access forms managed in bulk uploads\n const { openModal } = useModal()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update\n\n const drawerSlug = `edit-${slug}-bulk-uploads`\n\n if (!hasUpdatePermission) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <Button\n buttonStyle=\"secondary\"\n icon={<WriteIcon size={24} />}\n iconPosition=\"left\"\n onClick={() => openModal(drawerSlug)}\n >\n {t('general:editAll')}\n </Button>\n\n <EditDepthProvider>\n <Drawer Header={null} slug={drawerSlug}>\n <EditManyBulkUploadsDrawerContent\n collection={collection}\n drawerSlug={drawerSlug}\n forms={forms}\n />\n </Drawer>\n </EditDepthProvider>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAC1B,SAASC,OAAO,QAAQ;AACxB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,SAASC,eAAe,QAAQ;AAChC,SAASC,gCAAgC,QAAQ;AACjD,OAAO;AACP,OAAO,MAAMC,SAAA,GAAY;AAMzB,OAAO,MAAMC,mBAAA,GAA0DC,KAAA;EAAA,MAAAC,CAAA,GAAAd,EAAA;EACrE;IAAAe,UAAA,EAAAC,EAAA;IAAAD;EAAA,IAAkDF,KAAA;EAAA,IAAAI,EAAA;EAAA,IAAAH,CAAA,QAAAE,EAAA;IAA9BC,EAAA,GAAAD,EAAa,KAAbE,SAAa,GAAb,CAAY,CAAC,GAAbF,EAAa;IAAAF,CAAA,MAAAE,EAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAb;IAAAK;EAAA,IAAAF,EAAa;EAEjC;IAAAG;EAAA,IAAwBhB,OAAA;EAExB;IAAAiB;EAAA,IAAcf,cAAA;EACd;IAAAgB;EAAA,IAAkBb,eAAA;EAClB;IAAAc;EAAA,IAAsBtB,QAAA;EAEtB,MAAAuB,qBAAA,GAA8BJ,WAAA,EAAAK,WAAgC,GAALN,IAAA,CAAK;EAC9D,MAAAO,mBAAA,GAA4BF,qBAAA,EAAAG,MAAuB;EAEnD,MAAAC,UAAA,GAAmB,QAAQT,IAAA,eAAmB;EAE9C,IAAI,CAACO,mBAAA;IAAA,OACI;EAAA;EACT,IAAAG,EAAA;EAAA,IAAAf,CAAA,QAAAC,UAAA,IAAAD,CAAA,QAAAc,UAAA,IAAAd,CAAA,QAAAQ,KAAA,IAAAR,CAAA,QAAAS,SAAA,IAAAT,CAAA,QAAAO,CAAA;IAAA,IAAAS,EAAA;IAAA,IAAAhB,CAAA,QAAAc,UAAA,IAAAd,CAAA,QAAAS,SAAA;MAQeO,EAAA,GAAAA,CAAA,KAAMP,SAAA,CAAUK,UAAA;MAAAd,CAAA,MAAAc,UAAA;MAAAd,CAAA,MAAAS,SAAA;MAAAT,CAAA,OAAAgB,EAAA;IAAA;MAAAA,EAAA,GAAAhB,CAAA;IAAA;IAL7Be,EAAA,GAAAE,KAAA,CAAC;MAAAC,SAAA,EAAerB,SAAA;MAAAsB,QAAA,E,CACdC,IAAA,CAAC3B,MAAA;QAAA4B,WAAA,EACa;QAAAC,IAAA,EACNF,IAAA,CAAC/B,SAAA;UAAAkC,IAAA,EAAgB;;sBACV;QAAAC,OAAA,EACJR,EAAgB;QAAAG,QAAA,EAExBZ,CAAA,CAAE;UAGLa,IAAA,CAAC7B,iBAAA;QAAA4B,QAAA,EACCC,IAAA,CAAC1B,MAAA;UAAA+B,MAAA,EAAe;UAAApB,IAAA,EAAYS,UAAA;UAAAA,QAAA,EAC1BM,IAAA,CAACxB,gCAAA;YAAAK,UAAA;YAAAa,UAAA;YAAAN;;;;;;;;;;;;;;SAZPO,E;CAqBJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","isImage","React","SelectInput","XIcon","useTranslation","ErrorPill","ShimmerEffect","createThumbnail","Thumbnail","useFormsManager","useBulkUpload","useUploadCollectionOptions","baseClass","FileSidebar","$","activeIndex","changeCollectionSlug","forms","isInitializing","removeFile","setActiveIndex","initialFiles","initialForms","i18n","t","t0","indexToRemove","handleRemoveFile","getFileSize","_temp","collectionSlug","bulkUploadCollectionSlug","collectionOptions","t1","t2","t3","index_0","errorCount","formID","formState","currentFile","file","value","_jsxs","className","index","filter","Boolean","join","children","disabled","onClick","type","_jsx","SidebarThumbnail","title","name","File","count","length","isClearable","Label","label","onChange","e","val","options","path","readOnly","required","Array","from","map","_temp2","file_0","animationDelay","height","size","i","Math","floor","log","decimals","formattedSize","pow","toFixed","thumbnailURL","setThumbnailURL","useState","isLoading","setIsLoading","useEffect","isCancelled","generateThumbnail","url","_","disableInlineStyles","fileSrc"],"sources":["../../../../src/elements/BulkUpload/FileSidebar/index.tsx"],"sourcesContent":["'use client'\n\nimport { isImage } from 'payload/shared'\nimport React from 'react'\n\nimport { SelectInput } from '../../../fields/Select/Input.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { ErrorPill } from '../../ErrorPill/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { createThumbnail } from '../../Thumbnail/createThumbnail.js'\nimport { Thumbnail } from '../../Thumbnail/index.js'\nimport './index.css'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { useBulkUpload } from '../index.js'\nimport { useUploadCollectionOptions } from '../useUploadCollectionOptions.js'\n\nconst baseClass = 'file-selections'\n\nexport function FileSidebar() {\n const { activeIndex, changeCollectionSlug, forms, isInitializing, removeFile, setActiveIndex } =\n useFormsManager()\n const { initialFiles, initialForms } = useBulkUpload()\n const { i18n, t } = useTranslation()\n\n const handleRemoveFile = React.useCallback(\n (indexToRemove: number) => {\n removeFile(indexToRemove)\n },\n [removeFile],\n )\n\n const getFileSize = React.useCallback((file: File) => {\n const size = file.size\n const i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(1024))\n const decimals = i > 1 ? 1 : 0\n const formattedSize =\n (size / Math.pow(1024, i)).toFixed(decimals) + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i]\n return formattedSize\n }, [])\n\n const { collectionSlug: bulkUploadCollectionSlug } = useBulkUpload()\n\n const collectionOptions = useUploadCollectionOptions()\n\n return (\n <div className={baseClass}>\n {collectionOptions.length > 1 && (\n <div className={`${baseClass}__header`}>\n <SelectInput\n className={`${baseClass}__collectionSelect`}\n isClearable={false}\n Label={null}\n label={t('general:collection')}\n name=\"groupBy\"\n onChange={(e) => {\n const val: string =\n typeof e === 'object' && 'value' in e\n ? (e?.value as string)\n : (e as unknown as string)\n changeCollectionSlug(val)\n }}\n options={collectionOptions}\n path=\"groupBy\"\n readOnly={isInitializing}\n required\n value={bulkUploadCollectionSlug}\n />\n </div>\n )}\n\n <div className={`${baseClass}__animateWrapper scrollbar-thin`}>\n <div className={`${baseClass}__filesContainer`}>\n {isInitializing &&\n forms.length === 0 &&\n (initialFiles?.length > 0 || initialForms?.length > 0)\n ? (initialFiles ? Array.from(initialFiles) : initialForms).map((file, index) => (\n <ShimmerEffect\n animationDelay={`calc(${index} * ${60}ms)`}\n height=\"35px\"\n key={index}\n />\n ))\n : null}\n {forms.map(({ errorCount, formID, formState }, index) => {\n const currentFile = (formState?.file?.value as File) || ({} as File)\n\n return (\n <div\n className={[\n `${baseClass}__fileRowContainer`,\n index === activeIndex && `${baseClass}__fileRowContainer--active`,\n errorCount && errorCount > 0 && `${baseClass}__fileRowContainer--error`,\n ]\n .filter(Boolean)\n .join(' ')}\n key={formID}\n >\n <button\n className={`${baseClass}__fileRow`}\n disabled={isInitializing}\n onClick={() => setActiveIndex(index)}\n type=\"button\"\n >\n <SidebarThumbnail file={currentFile} formID={formID} />\n <div className={`${baseClass}__fileDetails`}>\n <p className={`${baseClass}__fileName`} title={currentFile.name}>\n {currentFile.name || t('upload:noFile')}\n </p>\n </div>\n {currentFile instanceof File ? (\n <p className={`${baseClass}__fileSize`}>{getFileSize(currentFile)}</p>\n ) : null}\n <div className={`${baseClass}__remove ${baseClass}__remove--underlay`}>\n <XIcon />\n </div>\n\n {errorCount ? (\n <ErrorPill\n className={`${baseClass}__errorCount`}\n count={errorCount}\n i18n={i18n}\n />\n ) : null}\n </button>\n\n <button\n aria-label={`${t('general:remove')}: ${currentFile.name || t('upload:noFile')}`}\n className={`${baseClass}__remove ${baseClass}__remove--overlay`}\n onClick={() => handleRemoveFile(index)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n )\n })}\n </div>\n </div>\n </div>\n )\n}\n\nfunction SidebarThumbnail({ file, formID }: { file: File; formID: string }) {\n const [thumbnailURL, setThumbnailURL] = React.useState<null | string>(null)\n const [isLoading, setIsLoading] = React.useState(true)\n\n React.useEffect(() => {\n let isCancelled = false\n\n async function generateThumbnail() {\n setIsLoading(true)\n setThumbnailURL(null)\n\n try {\n if (isImage(file.type)) {\n const url = await createThumbnail(file)\n if (!isCancelled) {\n setThumbnailURL(url)\n }\n } else {\n setThumbnailURL(null)\n }\n } catch (_) {\n if (!isCancelled) {\n setThumbnailURL(null)\n }\n } finally {\n if (!isCancelled) {\n setIsLoading(false)\n }\n }\n }\n\n void generateThumbnail()\n\n return () => {\n isCancelled = true\n }\n }, [file])\n\n if (isLoading) {\n return <ShimmerEffect className={`${baseClass}__thumbnail-shimmer`} disableInlineStyles />\n }\n\n return (\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n fileSrc={thumbnailURL}\n key={`${formID}-${thumbnailURL || 'placeholder'}`}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","isImage","React","SelectInput","XIcon","useTranslation","ErrorPill","ShimmerEffect","createThumbnail","Thumbnail","useFormsManager","useBulkUpload","useUploadCollectionOptions","baseClass","FileSidebar","$","activeIndex","changeCollectionSlug","forms","isInitializing","removeFile","setActiveIndex","initialFiles","initialForms","i18n","t","t0","indexToRemove","handleRemoveFile","getFileSize","_temp","collectionSlug","bulkUploadCollectionSlug","collectionOptions","t1","t2","t3","index_0","errorCount","formID","formState","currentFile","file","value","_jsxs","className","index","filter","Boolean","join","children","disabled","onClick","type","_jsx","SidebarThumbnail","title","name","File","count","length","isClearable","Label","label","onChange","e","val","options","path","readOnly","required","Array","from","map","_temp2","file_0","animationDelay","height","size","i","Math","floor","log","decimals","formattedSize","pow","toFixed","thumbnailURL","setThumbnailURL","useState","isLoading","setIsLoading","useEffect","isCancelled","generateThumbnail","url","_","disableInlineStyles","fileSrc"],"sources":["../../../../src/elements/BulkUpload/FileSidebar/index.tsx"],"sourcesContent":["'use client'\n\nimport { isImage } from 'payload/shared'\nimport React from 'react'\n\nimport { SelectInput } from '../../../fields/Select/Input.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { ErrorPill } from '../../ErrorPill/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { createThumbnail } from '../../Thumbnail/createThumbnail.js'\nimport { Thumbnail } from '../../Thumbnail/index.js'\nimport './index.css'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { useBulkUpload } from '../index.js'\nimport { useUploadCollectionOptions } from '../useUploadCollectionOptions.js'\n\nconst baseClass = 'file-selections'\n\nexport function FileSidebar() {\n const { activeIndex, changeCollectionSlug, forms, isInitializing, removeFile, setActiveIndex } =\n useFormsManager()\n const { initialFiles, initialForms } = useBulkUpload()\n const { i18n, t } = useTranslation()\n\n const handleRemoveFile = React.useCallback(\n (indexToRemove: number) => {\n removeFile(indexToRemove)\n },\n [removeFile],\n )\n\n const getFileSize = React.useCallback((file: File) => {\n const size = file.size\n const i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(1024))\n const decimals = i > 1 ? 1 : 0\n const formattedSize =\n (size / Math.pow(1024, i)).toFixed(decimals) + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i]\n return formattedSize\n }, [])\n\n const { collectionSlug: bulkUploadCollectionSlug } = useBulkUpload()\n\n const collectionOptions = useUploadCollectionOptions()\n\n return (\n <div className={baseClass}>\n {collectionOptions.length > 1 && (\n <div className={`${baseClass}__header`}>\n <SelectInput\n className={`${baseClass}__collectionSelect`}\n isClearable={false}\n Label={null}\n label={t('general:collection')}\n name=\"groupBy\"\n onChange={(e) => {\n const val: string =\n typeof e === 'object' && 'value' in e\n ? (e?.value as string)\n : (e as unknown as string)\n changeCollectionSlug(val)\n }}\n options={collectionOptions}\n path=\"groupBy\"\n readOnly={isInitializing}\n required\n value={bulkUploadCollectionSlug}\n />\n </div>\n )}\n\n <div className={`${baseClass}__animateWrapper scrollbar-thin`}>\n <div className={`${baseClass}__filesContainer`}>\n {isInitializing &&\n forms.length === 0 &&\n (initialFiles?.length > 0 || initialForms?.length > 0)\n ? (initialFiles ? Array.from(initialFiles) : initialForms).map((file, index) => (\n <ShimmerEffect\n animationDelay={`calc(${index} * ${60}ms)`}\n height=\"35px\"\n key={index}\n />\n ))\n : null}\n {forms.map(({ errorCount, formID, formState }, index) => {\n const currentFile = (formState?.file?.value as File) || ({} as File)\n\n return (\n <div\n className={[\n `${baseClass}__fileRowContainer`,\n index === activeIndex && `${baseClass}__fileRowContainer--active`,\n errorCount && errorCount > 0 && `${baseClass}__fileRowContainer--error`,\n ]\n .filter(Boolean)\n .join(' ')}\n key={formID}\n >\n <button\n className={`${baseClass}__fileRow`}\n disabled={isInitializing}\n onClick={() => setActiveIndex(index)}\n type=\"button\"\n >\n <SidebarThumbnail file={currentFile} formID={formID} />\n <div className={`${baseClass}__fileDetails`}>\n <p className={`${baseClass}__fileName`} title={currentFile.name}>\n {currentFile.name || t('upload:noFile')}\n </p>\n </div>\n {currentFile instanceof File ? (\n <p className={`${baseClass}__fileSize`}>{getFileSize(currentFile)}</p>\n ) : null}\n <div className={`${baseClass}__remove ${baseClass}__remove--underlay`}>\n <XIcon />\n </div>\n\n {errorCount ? (\n <ErrorPill\n className={`${baseClass}__errorCount`}\n count={errorCount}\n i18n={i18n}\n />\n ) : null}\n </button>\n\n <button\n aria-label={`${t('general:remove')}: ${currentFile.name || t('upload:noFile')}`}\n className={`${baseClass}__remove ${baseClass}__remove--overlay`}\n onClick={() => handleRemoveFile(index)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n )\n })}\n </div>\n </div>\n </div>\n )\n}\n\nfunction SidebarThumbnail({ file, formID }: { file: File; formID: string }) {\n const [thumbnailURL, setThumbnailURL] = React.useState<null | string>(null)\n const [isLoading, setIsLoading] = React.useState(true)\n\n React.useEffect(() => {\n let isCancelled = false\n\n async function generateThumbnail() {\n setIsLoading(true)\n setThumbnailURL(null)\n\n try {\n if (isImage(file.type)) {\n const url = await createThumbnail(file)\n if (!isCancelled) {\n setThumbnailURL(url)\n }\n } else {\n setThumbnailURL(null)\n }\n } catch (_) {\n if (!isCancelled) {\n setThumbnailURL(null)\n }\n } finally {\n if (!isCancelled) {\n setIsLoading(false)\n }\n }\n }\n\n void generateThumbnail()\n\n return () => {\n isCancelled = true\n }\n }, [file])\n\n if (isLoading) {\n return <ShimmerEffect className={`${baseClass}__thumbnail-shimmer`} disableInlineStyles />\n }\n\n return (\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n fileSrc={thumbnailURL}\n key={`${formID}-${thumbnailURL || 'placeholder'}`}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -18,6 +18,7 @@ import { FormsManagerProvider, useFormsManager } from './FormsManager/index.js';
18
18
  import './index.css';
19
19
  const baseModalSlug = 'bulk-upload-modal-slug';
20
20
  function DrawerContent() {
21
+ const $ = _c(15);
21
22
  const {
22
23
  addFiles,
23
24
  forms,
@@ -36,38 +37,77 @@ function DrawerContent() {
36
37
  const {
37
38
  openModal
38
39
  } = useModal();
39
- const uploadCollection = getEntityConfig({
40
- collectionSlug
41
- });
40
+ let t0;
41
+ if ($[0] !== collectionSlug || $[1] !== getEntityConfig) {
42
+ t0 = getEntityConfig({
43
+ collectionSlug
44
+ });
45
+ $[0] = collectionSlug;
46
+ $[1] = getEntityConfig;
47
+ $[2] = t0;
48
+ } else {
49
+ t0 = $[2];
50
+ }
51
+ const uploadCollection = t0;
42
52
  const uploadConfig = uploadCollection?.upload;
43
53
  const uploadMimeTypes = uploadConfig?.mimeTypes;
44
- const onDrop = React.useCallback(acceptedFiles => {
45
- const fileTransfer = new DataTransfer();
46
- for (const candidateFile of acceptedFiles) {
47
- if (uploadMimeTypes === undefined || uploadMimeTypes.length === 0 || validateMimeType(candidateFile.type, uploadMimeTypes)) {
48
- fileTransfer.items.add(candidateFile);
54
+ let t1;
55
+ if ($[3] !== addFiles || $[4] !== modalSlug || $[5] !== openModal || $[6] !== t || $[7] !== uploadMimeTypes) {
56
+ t1 = acceptedFiles => {
57
+ const fileTransfer = new DataTransfer();
58
+ for (const candidateFile of acceptedFiles) {
59
+ if (uploadMimeTypes === undefined || uploadMimeTypes.length === 0 || validateMimeType(candidateFile.type, uploadMimeTypes)) {
60
+ fileTransfer.items.add(candidateFile);
61
+ }
49
62
  }
50
- }
51
- if (fileTransfer.files.length === 0) {
52
- toast.error(t('error:invalidFileType'));
53
- } else {
54
- void addFiles(fileTransfer.files);
55
- openModal(modalSlug);
56
- }
57
- }, [addFiles, t, uploadMimeTypes, openModal, modalSlug]);
63
+ if (fileTransfer.files.length === 0) {
64
+ toast.error(t("error:invalidFileType"));
65
+ } else {
66
+ addFiles(fileTransfer.files);
67
+ openModal(modalSlug);
68
+ }
69
+ };
70
+ $[3] = addFiles;
71
+ $[4] = modalSlug;
72
+ $[5] = openModal;
73
+ $[6] = t;
74
+ $[7] = uploadMimeTypes;
75
+ $[8] = t1;
76
+ } else {
77
+ t1 = $[8];
78
+ }
79
+ const onDrop = t1;
58
80
  if (!collectionSlug) {
59
81
  return null;
60
82
  }
61
83
  if (!forms.length && !isInitializing) {
62
- return /*#__PURE__*/_jsx(AddFilesView, {
63
- acceptMimeTypes: uploadMimeTypes?.join(', '),
64
- modalSlug: modalSlug,
65
- onDrop: onDrop
84
+ let t2;
85
+ if ($[9] !== modalSlug || $[10] !== onDrop || $[11] !== uploadMimeTypes) {
86
+ t2 = _jsx(AddFilesView, {
87
+ acceptMimeTypes: uploadMimeTypes?.join(", "),
88
+ modalSlug,
89
+ onDrop
90
+ });
91
+ $[9] = modalSlug;
92
+ $[10] = onDrop;
93
+ $[11] = uploadMimeTypes;
94
+ $[12] = t2;
95
+ } else {
96
+ t2 = $[12];
97
+ }
98
+ return t2;
99
+ }
100
+ let t2;
101
+ if ($[13] !== modalSlug) {
102
+ t2 = _jsx(AddingFilesView, {
103
+ modalSlug
66
104
  });
105
+ $[13] = modalSlug;
106
+ $[14] = t2;
107
+ } else {
108
+ t2 = $[14];
67
109
  }
68
- return /*#__PURE__*/_jsx(AddingFilesView, {
69
- modalSlug: modalSlug
70
- });
110
+ return t2;
71
111
  }
72
112
  export function BulkUploadModal() {
73
113
  const $ = _c(17);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","validateMimeType","React","useEffect","toast","useEffectEvent","useConfig","EditDepthProvider","useTranslation","UploadControlsProvider","useDrawerDepth","AddFilesView","AddingFilesView","FormsManagerProvider","useFormsManager","baseModalSlug","DrawerContent","addFiles","forms","isInitializing","collectionSlug","modalSlug","useBulkUpload","getEntityConfig","t","openModal","uploadCollection","uploadConfig","upload","uploadMimeTypes","mimeTypes","onDrop","useCallback","acceptedFiles","fileTransfer","DataTransfer","candidateFile","undefined","length","type","items","add","files","error","_jsx","acceptMimeTypes","join","BulkUploadModal","$","onCancel","setInitialFiles","setInitialForms","setOnCancel","setOnSuccess","setParentID","setSelectableCollections","setSuccessfullyUploaded","successfullyUploaded","modalState","previousModalStateRef","useRef","t0","modalState_0","previousModalState","current","currentModalState","isOpen","_temp2","_temp4","onModalStateChanged","t1","t2","t3","Symbol","for","children","_temp3","_temp","Context","createContext","initialFiles","initialForms","maxFiles","onSuccess","parentID","selectableCollections","setCollectionSlug","setMaxFiles","BulkUploadProvider","modalSlugPrefix","useState","collection","setCollection","onSuccessFunction","setOnSuccessFunction","onCancelFunction","setOnCancelFunction","useBulkUploadModalSlug","t4","newDocs","errorCount","t5","value","_jsxs","Fragment","use","depth"],"sources":["../../../src/elements/BulkUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { CollectionSlug, JsonObject } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { validateMimeType } from 'payload/shared'\nimport React, { useEffect } from 'react'\nimport { toast } from 'sonner'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { useDrawerDepth } from '../Drawer/index.js'\nimport { AddFilesView } from './AddFilesView/index.js'\nimport { AddingFilesView } from './AddingFilesView/index.js'\nimport { FormsManagerProvider, type InitialForms, useFormsManager } from './FormsManager/index.js'\nimport './index.css'\n\nconst baseModalSlug = 'bulk-upload-modal-slug'\n\nfunction DrawerContent() {\n const { addFiles, forms, isInitializing } = useFormsManager()\n const { collectionSlug, modalSlug } = useBulkUpload()\n const { getEntityConfig } = useConfig()\n const { t } = useTranslation()\n const { openModal } = useModal()\n\n const uploadCollection = getEntityConfig({ collectionSlug })\n const uploadConfig = uploadCollection?.upload\n const uploadMimeTypes = uploadConfig?.mimeTypes\n\n const onDrop = React.useCallback(\n (acceptedFiles: FileList) => {\n const fileTransfer = new DataTransfer()\n for (const candidateFile of acceptedFiles) {\n if (\n uploadMimeTypes === undefined ||\n uploadMimeTypes.length === 0 ||\n validateMimeType(candidateFile.type, uploadMimeTypes)\n ) {\n fileTransfer.items.add(candidateFile)\n }\n }\n if (fileTransfer.files.length === 0) {\n toast.error(t('error:invalidFileType'))\n } else {\n void addFiles(fileTransfer.files)\n openModal(modalSlug)\n }\n },\n [addFiles, t, uploadMimeTypes, openModal, modalSlug],\n )\n\n if (!collectionSlug) {\n return null\n }\n\n if (!forms.length && !isInitializing) {\n return (\n <AddFilesView\n acceptMimeTypes={uploadMimeTypes?.join(', ')}\n modalSlug={modalSlug}\n onDrop={onDrop}\n />\n )\n }\n\n return <AddingFilesView modalSlug={modalSlug} />\n}\n\nexport type BulkUploadProps = {\n readonly children: React.ReactNode\n}\n\nexport function BulkUploadModal() {\n const {\n modalSlug,\n onCancel,\n setInitialFiles,\n setInitialForms,\n setOnCancel,\n setOnSuccess,\n setParentID,\n setSelectableCollections,\n setSuccessfullyUploaded,\n successfullyUploaded,\n } = useBulkUpload()\n const { modalState } = useModal()\n const previousModalStateRef = React.useRef(modalState)\n\n /**\n * This is used to trigger onCancel when the drawer is closed (=> forms reset, as FormsManager is unmounted)\n */\n const onModalStateChanged = useEffectEvent((modalState) => {\n const previousModalState = previousModalStateRef.current[modalSlug]\n const currentModalState = modalState[modalSlug]\n\n if (typeof currentModalState === 'undefined' && typeof previousModalState === 'undefined') {\n return\n }\n\n if (previousModalState?.isOpen !== currentModalState?.isOpen) {\n if (!currentModalState?.isOpen) {\n if (!successfullyUploaded) {\n // It's only cancelled if successfullyUploaded is not set. Otherwise, this would simply be a modal close after success\n // => do not call cancel, just reset everything\n if (typeof onCancel === 'function') {\n onCancel()\n }\n }\n\n // Reset everything to defaults\n setParentID(undefined)\n setInitialFiles(undefined)\n setInitialForms(undefined)\n setOnCancel(() => () => null)\n setOnSuccess(() => () => null)\n setSelectableCollections(null)\n setSuccessfullyUploaded(false)\n }\n }\n previousModalStateRef.current = modalState\n })\n\n useEffect(() => {\n onModalStateChanged(modalState)\n }, [modalState])\n\n // Only mount the providers (and reset forms on unmount) while the drawer is open,\n // matching the previous behavior where the Drawer lazily rendered its children.\n if (!modalState[modalSlug]?.isOpen) {\n return null\n }\n\n return (\n <FormsManagerProvider>\n <UploadControlsProvider>\n <EditDepthProvider>\n <DrawerContent />\n </EditDepthProvider>\n </UploadControlsProvider>\n </FormsManagerProvider>\n )\n}\n\nexport type BulkUploadContext = {\n collectionSlug: CollectionSlug\n initialFiles: FileList\n /**\n * Like initialFiles, but allows manually providing initial form state or the form ID for each file\n */\n initialForms: InitialForms\n maxFiles: number\n modalSlug: string\n onCancel: () => void\n onSuccess: (\n uploadedForms: Array<{\n collectionSlug: CollectionSlug\n doc: JsonObject\n /**\n * ID of the form that created this document\n */\n formID: string\n }>,\n errorCount: number,\n ) => void\n parentID?: number | string\n /**\n * An array of collection slugs that can be selected in the collection dropdown (if applicable)\n * @default null - collection cannot be selected\n */\n selectableCollections?: null | string[]\n setCollectionSlug: (slug: string) => void\n setInitialFiles: (files: FileList) => void\n setInitialForms: (\n forms: ((forms: InitialForms | undefined) => InitialForms | undefined) | InitialForms,\n ) => void\n setMaxFiles: (maxFiles: number) => void\n setOnCancel: (onCancel: BulkUploadContext['onCancel']) => void\n setOnSuccess: (onSuccess: BulkUploadContext['onSuccess']) => void\n setParentID: (parentID: number | string | undefined) => void\n /**\n * Set the collections that can be selected in the collection dropdown (if applicable)\n *\n * @default null - collection cannot be selected\n */\n setSelectableCollections: (collections: null | string[]) => void\n setSuccessfullyUploaded: (successfullyUploaded: boolean) => void\n successfullyUploaded: boolean\n}\n\nconst Context = React.createContext<BulkUploadContext>({\n collectionSlug: '',\n initialFiles: undefined,\n initialForms: [],\n maxFiles: undefined,\n modalSlug: '',\n onCancel: () => null,\n onSuccess: () => null,\n parentID: undefined,\n selectableCollections: null,\n setCollectionSlug: () => null,\n setInitialFiles: () => null,\n setInitialForms: () => null,\n setMaxFiles: () => null,\n setOnCancel: () => null,\n setOnSuccess: () => null,\n setParentID: () => null,\n setSelectableCollections: () => null,\n setSuccessfullyUploaded: () => false,\n successfullyUploaded: false,\n})\nexport function BulkUploadProvider({\n children,\n modalSlugPrefix,\n}: {\n readonly children: React.ReactNode\n readonly modalSlugPrefix?: string\n}) {\n const [selectableCollections, setSelectableCollections] = React.useState<null | string[]>(null)\n const [collection, setCollection] = React.useState<string>()\n const [parentID, setParentID] = React.useState<number | string | undefined>(undefined)\n const [onSuccessFunction, setOnSuccessFunction] = React.useState<BulkUploadContext['onSuccess']>()\n const [onCancelFunction, setOnCancelFunction] = React.useState<BulkUploadContext['onCancel']>()\n const [initialFiles, setInitialFiles] = React.useState<FileList>(undefined)\n const [initialForms, setInitialForms] = React.useState<InitialForms>(undefined)\n const [maxFiles, setMaxFiles] = React.useState<number>(undefined)\n const [successfullyUploaded, setSuccessfullyUploaded] = React.useState<boolean>(false)\n\n const modalSlug = `${modalSlugPrefix ? `${modalSlugPrefix}-` : ''}${useBulkUploadModalSlug()}`\n\n const setOnSuccess: BulkUploadContext['setOnSuccess'] = (onSuccess) => {\n setOnSuccessFunction(() => onSuccess)\n }\n const setOnCancel: BulkUploadContext['setOnCancel'] = (onCancel) => {\n setOnCancelFunction(() => onCancel)\n }\n\n return (\n <Context\n value={{\n collectionSlug: collection,\n initialFiles,\n initialForms,\n maxFiles,\n modalSlug,\n onCancel: () => {\n if (typeof onCancelFunction === 'function') {\n onCancelFunction()\n }\n },\n onSuccess: (newDocs, errorCount) => {\n if (typeof onSuccessFunction === 'function') {\n onSuccessFunction(newDocs, errorCount)\n }\n },\n parentID,\n selectableCollections,\n setCollectionSlug: setCollection,\n setInitialFiles,\n setInitialForms,\n setMaxFiles,\n setOnCancel,\n setOnSuccess,\n setParentID,\n setSelectableCollections,\n setSuccessfullyUploaded,\n successfullyUploaded,\n }}\n >\n <React.Fragment>\n {children}\n <BulkUploadModal />\n </React.Fragment>\n </Context>\n )\n}\n\nexport const useBulkUpload = () => React.use(Context)\n\nexport function useBulkUploadModalSlug() {\n const depth = useDrawerDepth()\n\n return `${baseModalSlug}-${depth + 1}`\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","validateMimeType","React","useEffect","toast","useEffectEvent","useConfig","EditDepthProvider","useTranslation","UploadControlsProvider","useDrawerDepth","AddFilesView","AddingFilesView","FormsManagerProvider","useFormsManager","baseModalSlug","DrawerContent","$","addFiles","forms","isInitializing","collectionSlug","modalSlug","useBulkUpload","getEntityConfig","t","openModal","t0","uploadCollection","uploadConfig","upload","uploadMimeTypes","mimeTypes","t1","acceptedFiles","fileTransfer","DataTransfer","candidateFile","undefined","length","type","items","add","files","error","onDrop","t2","_jsx","acceptMimeTypes","join","BulkUploadModal","onCancel","setInitialFiles","setInitialForms","setOnCancel","setOnSuccess","setParentID","setSelectableCollections","setSuccessfullyUploaded","successfullyUploaded","modalState","previousModalStateRef","useRef","modalState_0","previousModalState","current","currentModalState","isOpen","_temp2","_temp4","onModalStateChanged","t3","Symbol","for","children","_temp3","_temp","Context","createContext","initialFiles","initialForms","maxFiles","onSuccess","parentID","selectableCollections","setCollectionSlug","setMaxFiles","BulkUploadProvider","modalSlugPrefix","useState","collection","setCollection","onSuccessFunction","setOnSuccessFunction","onCancelFunction","setOnCancelFunction","useBulkUploadModalSlug","t4","newDocs","errorCount","t5","value","_jsxs","Fragment","use","depth"],"sources":["../../../src/elements/BulkUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { CollectionSlug, JsonObject } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { validateMimeType } from 'payload/shared'\nimport React, { useEffect } from 'react'\nimport { toast } from 'sonner'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { useDrawerDepth } from '../Drawer/index.js'\nimport { AddFilesView } from './AddFilesView/index.js'\nimport { AddingFilesView } from './AddingFilesView/index.js'\nimport { FormsManagerProvider, type InitialForms, useFormsManager } from './FormsManager/index.js'\nimport './index.css'\n\nconst baseModalSlug = 'bulk-upload-modal-slug'\n\nfunction DrawerContent() {\n const { addFiles, forms, isInitializing } = useFormsManager()\n const { collectionSlug, modalSlug } = useBulkUpload()\n const { getEntityConfig } = useConfig()\n const { t } = useTranslation()\n const { openModal } = useModal()\n\n const uploadCollection = getEntityConfig({ collectionSlug })\n const uploadConfig = uploadCollection?.upload\n const uploadMimeTypes = uploadConfig?.mimeTypes\n\n const onDrop = React.useCallback(\n (acceptedFiles: FileList) => {\n const fileTransfer = new DataTransfer()\n for (const candidateFile of acceptedFiles) {\n if (\n uploadMimeTypes === undefined ||\n uploadMimeTypes.length === 0 ||\n validateMimeType(candidateFile.type, uploadMimeTypes)\n ) {\n fileTransfer.items.add(candidateFile)\n }\n }\n if (fileTransfer.files.length === 0) {\n toast.error(t('error:invalidFileType'))\n } else {\n void addFiles(fileTransfer.files)\n openModal(modalSlug)\n }\n },\n [addFiles, t, uploadMimeTypes, openModal, modalSlug],\n )\n\n if (!collectionSlug) {\n return null\n }\n\n if (!forms.length && !isInitializing) {\n return (\n <AddFilesView\n acceptMimeTypes={uploadMimeTypes?.join(', ')}\n modalSlug={modalSlug}\n onDrop={onDrop}\n />\n )\n }\n\n return <AddingFilesView modalSlug={modalSlug} />\n}\n\nexport type BulkUploadProps = {\n readonly children: React.ReactNode\n}\n\nexport function BulkUploadModal() {\n const {\n modalSlug,\n onCancel,\n setInitialFiles,\n setInitialForms,\n setOnCancel,\n setOnSuccess,\n setParentID,\n setSelectableCollections,\n setSuccessfullyUploaded,\n successfullyUploaded,\n } = useBulkUpload()\n const { modalState } = useModal()\n const previousModalStateRef = React.useRef(modalState)\n\n /**\n * This is used to trigger onCancel when the drawer is closed (=> forms reset, as FormsManager is unmounted)\n */\n const onModalStateChanged = useEffectEvent((modalState) => {\n const previousModalState = previousModalStateRef.current[modalSlug]\n const currentModalState = modalState[modalSlug]\n\n if (typeof currentModalState === 'undefined' && typeof previousModalState === 'undefined') {\n return\n }\n\n if (previousModalState?.isOpen !== currentModalState?.isOpen) {\n if (!currentModalState?.isOpen) {\n if (!successfullyUploaded) {\n // It's only cancelled if successfullyUploaded is not set. Otherwise, this would simply be a modal close after success\n // => do not call cancel, just reset everything\n if (typeof onCancel === 'function') {\n onCancel()\n }\n }\n\n // Reset everything to defaults\n setParentID(undefined)\n setInitialFiles(undefined)\n setInitialForms(undefined)\n setOnCancel(() => () => null)\n setOnSuccess(() => () => null)\n setSelectableCollections(null)\n setSuccessfullyUploaded(false)\n }\n }\n previousModalStateRef.current = modalState\n })\n\n useEffect(() => {\n onModalStateChanged(modalState)\n }, [modalState])\n\n // Only mount the providers (and reset forms on unmount) while the drawer is open,\n // matching the previous behavior where the Drawer lazily rendered its children.\n if (!modalState[modalSlug]?.isOpen) {\n return null\n }\n\n return (\n <FormsManagerProvider>\n <UploadControlsProvider>\n <EditDepthProvider>\n <DrawerContent />\n </EditDepthProvider>\n </UploadControlsProvider>\n </FormsManagerProvider>\n )\n}\n\nexport type BulkUploadContext = {\n collectionSlug: CollectionSlug\n initialFiles: FileList\n /**\n * Like initialFiles, but allows manually providing initial form state or the form ID for each file\n */\n initialForms: InitialForms\n maxFiles: number\n modalSlug: string\n onCancel: () => void\n onSuccess: (\n uploadedForms: Array<{\n collectionSlug: CollectionSlug\n doc: JsonObject\n /**\n * ID of the form that created this document\n */\n formID: string\n }>,\n errorCount: number,\n ) => void\n parentID?: number | string\n /**\n * An array of collection slugs that can be selected in the collection dropdown (if applicable)\n * @default null - collection cannot be selected\n */\n selectableCollections?: null | string[]\n setCollectionSlug: (slug: string) => void\n setInitialFiles: (files: FileList) => void\n setInitialForms: (\n forms: ((forms: InitialForms | undefined) => InitialForms | undefined) | InitialForms,\n ) => void\n setMaxFiles: (maxFiles: number) => void\n setOnCancel: (onCancel: BulkUploadContext['onCancel']) => void\n setOnSuccess: (onSuccess: BulkUploadContext['onSuccess']) => void\n setParentID: (parentID: number | string | undefined) => void\n /**\n * Set the collections that can be selected in the collection dropdown (if applicable)\n *\n * @default null - collection cannot be selected\n */\n setSelectableCollections: (collections: null | string[]) => void\n setSuccessfullyUploaded: (successfullyUploaded: boolean) => void\n successfullyUploaded: boolean\n}\n\nconst Context = React.createContext<BulkUploadContext>({\n collectionSlug: '',\n initialFiles: undefined,\n initialForms: [],\n maxFiles: undefined,\n modalSlug: '',\n onCancel: () => null,\n onSuccess: () => null,\n parentID: undefined,\n selectableCollections: null,\n setCollectionSlug: () => null,\n setInitialFiles: () => null,\n setInitialForms: () => null,\n setMaxFiles: () => null,\n setOnCancel: () => null,\n setOnSuccess: () => null,\n setParentID: () => null,\n setSelectableCollections: () => null,\n setSuccessfullyUploaded: () => false,\n successfullyUploaded: false,\n})\nexport function BulkUploadProvider({\n children,\n modalSlugPrefix,\n}: {\n readonly children: React.ReactNode\n readonly modalSlugPrefix?: string\n}) {\n const [selectableCollections, setSelectableCollections] = React.useState<null | string[]>(null)\n const [collection, setCollection] = React.useState<string>()\n const [parentID, setParentID] = React.useState<number | string | undefined>(undefined)\n const [onSuccessFunction, setOnSuccessFunction] = React.useState<BulkUploadContext['onSuccess']>()\n const [onCancelFunction, setOnCancelFunction] = React.useState<BulkUploadContext['onCancel']>()\n const [initialFiles, setInitialFiles] = React.useState<FileList>(undefined)\n const [initialForms, setInitialForms] = React.useState<InitialForms>(undefined)\n const [maxFiles, setMaxFiles] = React.useState<number>(undefined)\n const [successfullyUploaded, setSuccessfullyUploaded] = React.useState<boolean>(false)\n\n const modalSlug = `${modalSlugPrefix ? `${modalSlugPrefix}-` : ''}${useBulkUploadModalSlug()}`\n\n const setOnSuccess: BulkUploadContext['setOnSuccess'] = (onSuccess) => {\n setOnSuccessFunction(() => onSuccess)\n }\n const setOnCancel: BulkUploadContext['setOnCancel'] = (onCancel) => {\n setOnCancelFunction(() => onCancel)\n }\n\n return (\n <Context\n value={{\n collectionSlug: collection,\n initialFiles,\n initialForms,\n maxFiles,\n modalSlug,\n onCancel: () => {\n if (typeof onCancelFunction === 'function') {\n onCancelFunction()\n }\n },\n onSuccess: (newDocs, errorCount) => {\n if (typeof onSuccessFunction === 'function') {\n onSuccessFunction(newDocs, errorCount)\n }\n },\n parentID,\n selectableCollections,\n setCollectionSlug: setCollection,\n setInitialFiles,\n setInitialForms,\n setMaxFiles,\n setOnCancel,\n setOnSuccess,\n setParentID,\n setSelectableCollections,\n setSuccessfullyUploaded,\n successfullyUploaded,\n }}\n >\n <React.Fragment>\n {children}\n <BulkUploadModal />\n </React.Fragment>\n </Context>\n )\n}\n\nexport const useBulkUpload = () => React.use(Context)\n\nexport function useBulkUploadModalSlug() {\n const depth = useDrawerDepth()\n\n return `${baseModalSlug}-${depth + 1}`\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useUploadCollectionOptions.js","names":["c","_c","getTranslation","validateMimeType","useMemo","useConfig","useTranslation","useFormsManager","useBulkUpload","useUploadCollectionOptions","$","forms","isInitializing","initialFiles","initialForms","selectableCollections","getEntityConfig","i18n","t","t0","files","length","map","_temp","filter","_temp2","Array","from","_temp3","slug","config","collectionSlug","mimeTypes","upload","isCompatible","every","file_1","file","type","label","labels","singular","isDisabled","join","value","file_0","File","formState"],"sources":["../../../src/elements/BulkUpload/useUploadCollectionOptions.ts"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { validateMimeType } from 'payload/shared'\nimport { useMemo } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useFormsManager } from './FormsManager/index.js'\nimport { useBulkUpload } from './index.js'\n\nexport function useUploadCollectionOptions() {\n const { forms, isInitializing } = useFormsManager()\n const { initialFiles, initialForms, selectableCollections } = useBulkUpload()\n const { getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n\n return useMemo(() => {\n const files = forms.length\n ? forms\n .map(({ formState }) => formState?.file?.value)\n .filter((file): file is File => file instanceof File)\n : isInitializing\n ? initialFiles\n ? Array.from(initialFiles)\n : initialForms?.map(({ file }) => file) || []\n : []\n\n return (selectableCollections ?? []).map((slug) => {\n const config = getEntityConfig({ collectionSlug: slug })\n const mimeTypes = config.upload?.mimeTypes\n const isCompatible = files.every(\n (file) => !mimeTypes?.length || validateMimeType(file.type, mimeTypes),\n )\n const label = getTranslation(config.labels.singular, i18n)\n\n return {\n isDisabled: !isCompatible,\n label: isCompatible\n ? label\n : `${label} (${t('general:accepts')}: ${mimeTypes?.join(', ')})`,\n value: slug,\n }\n })\n }, [\n forms,\n getEntityConfig,\n i18n,\n initialFiles,\n initialForms,\n isInitializing,\n selectableCollections,\n t,\n ])\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAEA,SAASC,cAAc,QAAQ;AAC/B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,OAAO,QAAQ;AAExB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,eAAe,QAAQ;AAChC,SAASC,aAAa,QAAQ;AAE9B,OAAO,SAAAC,2BAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACL;IAAAU,KAAA;IAAAC;EAAA,IAAkCL,eAAA;EAClC;IAAAM,YAAA;IAAAC,YAAA;IAAAC;EAAA,IAA8DP,aAAA;EAC9D;IAAAQ;EAAA,IAA4BX,SAAA;EAC5B;IAAAY,IAAA;IAAAC;EAAA,IAAoBZ,cAAA;EAAA,IAAAa,EAAA;EAAA,IAAAT,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAAM,eAAA,IAAAN,CAAA,QAAAO,IAAA,IAAAP,CAAA,QAAAG,YAAA,IAAAH,CAAA,QAAAI,YAAA,IAAAJ,CAAA,QAAAE,cAAA,IAAAF,CAAA,QAAAK,qBAAA,IAAAL,CAAA,QAAAQ,CAAA;IAGlB,MAAAE,KAAA,GAAcT,KAAA,CAAAU,MAAA,GACVV,KAAA,CAAAW,GAAA,CAAAC,KAC2C,EAAAC,MAAA,CAAAC,MACO,IAClDb,cAAA,GACEC,YAAA,GACEa,KAAA,CAAAC,IAAA,CAAWd,YAAA,IACXC,YAAA,EAAAQ,GAAA,CAAAM,MAAA,OAA2C,KAC3C;IAEDT,EAAA,IAACJ,qBAAA,MAA2B,EAAAO,GAAA,CAAAO,IAAA;MACjC,MAAAC,MAAA,GAAed,eAAA;QAAAe,cAAA,EAAkCF;MAAA,CAAK;MACtD,MAAAG,SAAA,GAAkBF,MAAA,CAAAG,MAAA,EAAAD,SAAA;MAClB,MAAAE,YAAA,GAAqBd,KAAA,CAAAe,KAAA,CAAAC,MAAA,IACT,CAACJ,SAAA,EAAAX,MAAA,IAAqBlB,gBAAA,CAAiBkC,MAAA,CAAAC,IAAA,EAAWN,SAAA;MAE9D,MAAAO,KAAA,GAAcrC,cAAA,CAAe4B,MAAA,CAAAU,MAAA,CAAAC,QAAA,EAAwBxB,IAAA;MAAA;QAAAyB,UAAA,GAGtCR,YAAA;QAAAK,KAAA,EACNL,YAAA,GACHK,KAAA,GACA,GAAGA,KAAA,KAAUrB,CAAA,CAAE,uBAAuBc,SAAA,EAAAW,IAAA,CAAgB,QAAQ;QAAAC,KAAA,EAC3Df;MAAA;IAAA,CAEX;IAAAnB,CAAA,MAAAC,KAAA;IAAAD,CAAA,MAAAM,eAAA;IAAAN,CAAA,MAAAO,IAAA;IAAAP,CAAA,MAAAG,YAAA;IAAAH,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAE,cAAA;IAAAF,CAAA,MAAAK,qBAAA;IAAAL,CAAA,MAAAQ,CAAA;IAAAR,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAAA,OAfOS,EAeP;AAAA;AAhCG,SAAAS,OAAAT,EAAA;EAcwB;IAAAkB,IAAA,EAAAQ;EAAA,IAAA1B,EAAQ;EAAA,OAAKkB,MAAA;AAAA;AAdrC,SAAAZ,OAAAY,IAAA;EAAA,OAUmCA,IAAA,YAAAS,IAAgB;AAAA;AAVnD,SAAAvB,MAAAJ,EAAA;EASS;IAAA4B;EAAA,IAAA5B,EAAa;EAAA,OAAK4B,SAAA,EAAAV,IAAA,EAAAO,KAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"useUploadCollectionOptions.js","names":["c","_c","getTranslation","validateMimeType","useMemo","useConfig","useTranslation","useFormsManager","useBulkUpload","useUploadCollectionOptions","$","forms","isInitializing","initialFiles","initialForms","selectableCollections","getEntityConfig","i18n","t","t0","files","length","map","_temp","filter","_temp2","Array","from","_temp3","slug","config","collectionSlug","mimeTypes","upload","isCompatible","every","file_1","file","type","label","labels","singular","isDisabled","join","value","file_0","File","formState"],"sources":["../../../src/elements/BulkUpload/useUploadCollectionOptions.ts"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { validateMimeType } from 'payload/shared'\nimport { useMemo } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useFormsManager } from './FormsManager/index.js'\nimport { useBulkUpload } from './index.js'\n\nexport function useUploadCollectionOptions() {\n const { forms, isInitializing } = useFormsManager()\n const { initialFiles, initialForms, selectableCollections } = useBulkUpload()\n const { getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n\n return useMemo(() => {\n const files = forms.length\n ? forms\n .map(({ formState }) => formState?.file?.value)\n .filter((file): file is File => file instanceof File)\n : isInitializing\n ? initialFiles\n ? Array.from(initialFiles)\n : initialForms?.map(({ file }) => file) || []\n : []\n\n return (selectableCollections ?? []).map((slug) => {\n const config = getEntityConfig({ collectionSlug: slug })\n const mimeTypes = config.upload?.mimeTypes\n const isCompatible = files.every(\n (file) => !mimeTypes?.length || validateMimeType(file.type, mimeTypes),\n )\n const label = getTranslation(config.labels.singular, i18n)\n\n return {\n isDisabled: !isCompatible,\n label: isCompatible\n ? label\n : `${label} (${t('general:accepts')}: ${mimeTypes?.join(', ')})`,\n value: slug,\n }\n })\n }, [\n forms,\n getEntityConfig,\n i18n,\n initialFiles,\n initialForms,\n isInitializing,\n selectableCollections,\n t,\n ])\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAEA,SAASC,cAAc,QAAQ;AAC/B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,OAAO,QAAQ;AAExB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,eAAe,QAAQ;AAChC,SAASC,aAAa,QAAQ;AAE9B,OAAO,SAAAC,2BAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACL;IAAAU,KAAA;IAAAC;EAAA,IAAkCL,eAAA;EAClC;IAAAM,YAAA;IAAAC,YAAA;IAAAC;EAAA,IAA8DP,aAAA;EAC9D;IAAAQ;EAAA,IAA4BX,SAAA;EAC5B;IAAAY,IAAA;IAAAC;EAAA,IAAoBZ,cAAA;EAAA,IAAAa,EAAA;EAAA,IAAAT,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAAM,eAAA,IAAAN,CAAA,QAAAO,IAAA,IAAAP,CAAA,QAAAG,YAAA,IAAAH,CAAA,QAAAI,YAAA,IAAAJ,CAAA,QAAAE,cAAA,IAAAF,CAAA,QAAAK,qBAAA,IAAAL,CAAA,QAAAQ,CAAA;IAGlB,MAAAE,KAAA,GAAcT,KAAA,CAAAU,MAQN,GAPJV,KAAA,CAAAW,GACM,CAACC,KAAoC,EAAAC,MAClC,CAACC,MAKR,CAAE,GAJJb,cAAA,GACEC,YAAA,GACEa,KAAA,CAAAC,IAAU,CAACd,YAC8B,CAAE,GAA3CC,YAAA,EAAAQ,GAAgC,CAAdM,MAAuB,CAAE,IAA3C,EACA,GAJJ,EAII;IAEDT,EAAA,IAACJ,qBAA2B,IAA3B,EAA2B,EAAAO,GAAK,CAACO,IAAA;MACvC,MAAAC,MAAA,GAAed,eAAA,CAAgB;QAAAe,cAAA,EAAkBF;MAAK;MACtD,MAAAG,SAAA,GAAkBF,MAAA,CAAAG,MAAe,EAAAD,SAAA;MACjC,MAAAE,YAAA,GAAqBd,KAAA,CAAAe,KAAW,CAC9BC,MAAA,IAAU,CAACJ,SAAA,EAAAX,MAAiD,IAA5BlB,gBAAA,CAAiBkC,MAAA,CAAAC,IAAS,EAAEN,SAAA;MAE9D,MAAAO,KAAA,GAAcrC,cAAA,CAAe4B,MAAA,CAAAU,MAAa,CAAAC,QAAS,EAAExB,IAAA;MAAA,OAE9C;QAAAyB,UAAA,EACO,CAACR,YAAA;QAAAK,KAAA,EACNL,YAAA,GAAAK,KAE2D,GAF3D,GAEAA,KAAA,KAAUrB,CAAA,CAAE,uBAAuBc,SAAA,EAAAW,IAAgB,SAAQ;QAAAC,KAAA,EAC3Df;MACT;IAAA,CACF;IAAAnB,CAAA,MAAAC,KAAA;IAAAD,CAAA,MAAAM,eAAA;IAAAN,CAAA,MAAAO,IAAA;IAAAP,CAAA,MAAAG,YAAA;IAAAH,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAE,cAAA;IAAAF,CAAA,MAAAK,qBAAA;IAAAL,CAAA,MAAAQ,CAAA;IAAAR,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAAA,OAfAS,EAeA;AAAA;AAhCG,SAAAS,OAAAT,EAAA;EAcwB;IAAAkB,IAAA,EAAAQ;EAAA,IAAA1B,EAAQ;EAAA,OAAKkB,MAAA;AAAA;AAdrC,SAAAZ,OAAAY,IAAA;EAAA,OAUmCA,IAAA,YAAgBS,IAAA;AAAA;AAVnD,SAAAvB,MAAAJ,EAAA;EASS;IAAA4B;EAAA,IAAA5B,EAAa;EAAA,OAAK4B,SAAA,EAAAV,IAAiB,EAAAO,KAAA;AAAA","ignoreList":[]}
@@ -69,7 +69,7 @@
69
69
  .btn.btn--style-secondary {
70
70
  color: var(--color-text);
71
71
  background-color: var(--color-bg);
72
- border: var(--stroke-width-small) solid var(--special-border-translucent);
72
+ border: var(--stroke-width-small) solid var(--color-border-control);
73
73
 
74
74
  &:hover:not(.btn--disabled) {
75
75
  background-color: var(--color-bg-secondary-hover);
@@ -393,12 +393,12 @@
393
393
  }
394
394
 
395
395
  .btn--withPopup.btn--style-secondary {
396
- --separator-color: var(--special-border-translucent);
396
+ --separator-color: var(--color-border-control);
397
397
  .btn,
398
398
  .popup-button {
399
399
  color: var(--color-text);
400
400
  background-color: var(--color-bg);
401
- border: var(--stroke-width-small) solid var(--special-border-translucent);
401
+ border: var(--stroke-width-small) solid var(--color-border-control);
402
402
 
403
403
  &:hover,
404
404
  &:active {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAcvC,OAAO,aAAa,CAAA;AAgBpB,eAAO,MAAM,cAAc;;;;;;uBA4B1B,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkLlC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAcvC,OAAO,aAAa,CAAA;AAgBpB,eAAO,MAAM,cAAc;;;;;;uBA4B1B,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmLlC,CAAA"}
@@ -83,6 +83,7 @@ export const Button = props => {
83
83
  onClick,
84
84
  onKeyDown,
85
85
  onMouseDown,
86
+ popupAriaLabel,
86
87
  popupIconSize,
87
88
  ref,
88
89
  round,
@@ -197,7 +198,7 @@ export const Button = props => {
197
198
  button: /*#__PURE__*/_jsx(ChevronIcon, {
198
199
  size: popupIconSize
199
200
  }),
200
- buttonAriaLabel: t('general:moreOptions'),
201
+ buttonAriaLabel: popupAriaLabel || t('general:moreOptions'),
201
202
  buttonSize: size,
202
203
  className: disabled && !enableSubMenu ? `${baseClass}--popup-disabled` : '',
203
204
  disabled: disabled && !enableSubMenu,