@payloadcms/ui 4.0.0-internal.cd47d20 → 4.0.0-internal.ce66a41

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 (807) hide show
  1. package/dist/css/app.css +1 -1
  2. package/dist/css/forms.css +0 -1
  3. package/dist/css/spacing.css +1 -1
  4. package/dist/css/typography.css +161 -55
  5. package/dist/elements/APIKeyInput/index.css +2 -2
  6. package/dist/elements/AddNewRelation/index.css +0 -4
  7. package/dist/elements/AddNewRelation/index.js +2 -2
  8. package/dist/elements/AddNewRelation/index.js.map +1 -1
  9. package/dist/elements/AppHeader/index.css +4 -0
  10. package/dist/elements/AppHeader/index.d.ts +1 -8
  11. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  12. package/dist/elements/AppHeader/index.js +10 -19
  13. package/dist/elements/AppHeader/index.js.map +1 -1
  14. package/dist/elements/Banner/index.css +3 -4
  15. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  16. package/dist/elements/BulkUpload/ActionsBar/index.js +12 -10
  17. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  18. package/dist/elements/BulkUpload/AddFilesView/index.css +5 -0
  19. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  20. package/dist/elements/BulkUpload/AddFilesView/index.js +49 -8
  21. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  23. package/dist/elements/BulkUpload/AddingFilesView/index.js +25 -20
  24. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/EditMany/index.css +4 -5
  26. package/dist/elements/BulkUpload/FileSidebar/index.css +0 -1
  27. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/FileSidebar/index.js +28 -35
  29. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/FormsManager/index.d.ts +2 -1
  31. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  32. package/dist/elements/BulkUpload/FormsManager/index.js +175 -60
  33. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  34. package/dist/elements/BulkUpload/useUploadCollectionOptions.d.ts +6 -0
  35. package/dist/elements/BulkUpload/useUploadCollectionOptions.d.ts.map +1 -0
  36. package/dist/elements/BulkUpload/useUploadCollectionOptions.js +74 -0
  37. package/dist/elements/BulkUpload/useUploadCollectionOptions.js.map +1 -0
  38. package/dist/elements/Button/index.css +7 -1
  39. package/dist/elements/Button/types.d.ts +1 -1
  40. package/dist/elements/Button/types.d.ts.map +1 -1
  41. package/dist/elements/Button/types.js.map +1 -1
  42. package/dist/elements/Card/index.css +7 -8
  43. package/dist/elements/CardGrid/index.css +20 -0
  44. package/dist/elements/CardGrid/index.d.ts +13 -0
  45. package/dist/elements/CardGrid/index.d.ts.map +1 -0
  46. package/dist/elements/CardGrid/index.js +23 -0
  47. package/dist/elements/CardGrid/index.js.map +1 -0
  48. package/dist/elements/Chip/index.css +0 -1
  49. package/dist/elements/CollapseAllToggle/index.d.ts +3 -0
  50. package/dist/elements/CollapseAllToggle/index.d.ts.map +1 -1
  51. package/dist/elements/CollapseAllToggle/index.js +36 -22
  52. package/dist/elements/CollapseAllToggle/index.js.map +1 -1
  53. package/dist/elements/Collapsible/index.css +4 -1
  54. package/dist/elements/Collapsible/index.d.ts +2 -0
  55. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  56. package/dist/elements/Collapsible/index.js +67 -46
  57. package/dist/elements/Collapsible/index.js.map +1 -1
  58. package/dist/elements/ColumnSelection/Popup.css +14 -11
  59. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  60. package/dist/elements/ColumnSelection/Popup.js +22 -14
  61. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  62. package/dist/elements/CommandPalette/index.css +3 -8
  63. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  64. package/dist/elements/CopyLocaleData/index.js +1 -0
  65. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  66. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  67. package/dist/elements/CreateDocumentButton/index.js +56 -33
  68. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  69. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  70. package/dist/elements/DatePicker/DatePicker.js +33 -2
  71. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  72. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts +8 -0
  73. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts.map +1 -0
  74. package/dist/elements/DatePicker/hasAmbiguousYearInput.js +37 -0
  75. package/dist/elements/DatePicker/hasAmbiguousYearInput.js.map +1 -0
  76. package/dist/elements/DatePicker/index.css +27 -17
  77. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  78. package/dist/elements/DefaultListViewTabs/index.js +9 -7
  79. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  80. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  81. package/dist/elements/Dialog/DialogModal/index.js +40 -28
  82. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  83. package/dist/elements/Dialog/DialogTitle/index.css +1 -1
  84. package/dist/elements/Dialog/index.css +1 -2
  85. package/dist/elements/DocumentCard/index.css +73 -0
  86. package/dist/elements/DocumentCard/index.d.ts +18 -0
  87. package/dist/elements/DocumentCard/index.d.ts.map +1 -0
  88. package/dist/elements/DocumentCard/index.js +182 -0
  89. package/dist/elements/DocumentCard/index.js.map +1 -0
  90. package/dist/elements/DocumentControls/index.css +1 -5
  91. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +4 -7
  92. package/dist/elements/DocumentDrawer/types.d.ts +1 -1
  93. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  94. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  95. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.css +40 -0
  96. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.d.ts +4 -0
  97. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.d.ts.map +1 -0
  98. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.js +88 -0
  99. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.js.map +1 -0
  100. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  101. package/dist/elements/DocumentFields/index.js +2 -1
  102. package/dist/elements/DocumentFields/index.js.map +1 -1
  103. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  104. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +0 -1
  105. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  106. package/dist/elements/DocumentHeader/index.css +1 -1
  107. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  108. package/dist/elements/DraggableSortable/index.js +13 -10
  109. package/dist/elements/DraggableSortable/index.js.map +1 -1
  110. package/dist/elements/DraggableSortable/types.d.ts +1 -0
  111. package/dist/elements/DraggableSortable/types.d.ts.map +1 -1
  112. package/dist/elements/DraggableSortable/types.js.map +1 -1
  113. package/dist/elements/Drawer/index.css +4 -5
  114. package/dist/elements/Drawer/types.d.ts +2 -2
  115. package/dist/elements/Drawer/types.d.ts.map +1 -1
  116. package/dist/elements/Drawer/types.js.map +1 -1
  117. package/dist/elements/Dropzone/index.d.ts +2 -1
  118. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  119. package/dist/elements/Dropzone/index.js +9 -10
  120. package/dist/elements/Dropzone/index.js.map +1 -1
  121. package/dist/elements/EditMany/index.css +4 -5
  122. package/dist/elements/EditUpload/index.css +3 -4
  123. package/dist/elements/ErrorPill/index.css +0 -1
  124. package/dist/elements/FieldDiffContainer/index.css +0 -1
  125. package/dist/elements/FieldDiffLabel/index.css +4 -5
  126. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  127. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  128. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  129. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  130. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  131. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  132. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -1
  133. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  134. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  135. package/dist/elements/FileDetails/index.d.ts +1 -1
  136. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  137. package/dist/elements/FileDetails/index.js.map +1 -1
  138. package/dist/elements/FileManager/FilePreview/index.css +2 -3
  139. package/dist/elements/FileManager/FilePreview/index.js +4 -4
  140. package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
  141. package/dist/elements/FileManager/FileToolbar/index.css +2 -3
  142. package/dist/elements/FileManager/index.css +0 -1
  143. package/dist/elements/FileManager/index.d.ts.map +1 -1
  144. package/dist/elements/FileManager/index.js +197 -177
  145. package/dist/elements/FileManager/index.js.map +1 -1
  146. package/dist/elements/FormHeader/index.css +0 -2
  147. package/dist/elements/GroupBy/Popup.css +3 -6
  148. package/dist/elements/HTMLDiff/index.css +0 -1
  149. package/dist/elements/HTMLDiff/index.d.ts +3 -1
  150. package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
  151. package/dist/elements/HTMLDiff/index.js +9 -3
  152. package/dist/elements/HTMLDiff/index.js.map +1 -1
  153. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  154. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +40 -36
  155. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  156. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  157. package/dist/elements/Hierarchy/ColumnBrowser/index.js +15 -58
  158. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  159. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  160. package/dist/elements/Hierarchy/DocHeaderButton/index.js +29 -1
  161. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  162. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts +9 -0
  163. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts.map +1 -0
  164. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js +41 -0
  165. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js.map +1 -0
  166. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  167. package/dist/elements/Hierarchy/Field/index.client.js +120 -105
  168. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  169. package/dist/elements/Hierarchy/Field/index.css +0 -1
  170. package/dist/elements/Hierarchy/Modal/index.d.ts +1 -1
  171. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  172. package/dist/elements/Hierarchy/Modal/index.js +28 -39
  173. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  174. package/dist/elements/Hierarchy/Modal/selection.d.ts +12 -0
  175. package/dist/elements/Hierarchy/Modal/selection.d.ts.map +1 -0
  176. package/dist/elements/Hierarchy/Modal/selection.js +40 -0
  177. package/dist/elements/Hierarchy/Modal/selection.js.map +1 -0
  178. package/dist/elements/Hierarchy/Modal/types.d.ts +2 -0
  179. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  180. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  181. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
  182. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js +1 -1
  183. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -1
  184. package/dist/elements/Hierarchy/MoveMany/index.d.ts +3 -1
  185. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  186. package/dist/elements/Hierarchy/MoveMany/index.js +17 -8
  187. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  188. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  189. package/dist/elements/Hierarchy/Search/index.js +11 -0
  190. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  191. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  192. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +7 -1
  193. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  194. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +2 -1
  195. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  196. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +30 -28
  197. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  198. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  199. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +6 -2
  200. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  201. package/dist/elements/Hierarchy/Tree/index.css +3 -1
  202. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  203. package/dist/elements/Hierarchy/Tree/index.js +25 -26
  204. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  205. package/dist/elements/HydratePreferences/index.d.ts +8 -0
  206. package/dist/elements/HydratePreferences/index.d.ts.map +1 -0
  207. package/dist/elements/HydratePreferences/index.js +34 -0
  208. package/dist/elements/HydratePreferences/index.js.map +1 -0
  209. package/dist/elements/IDLabel/index.css +5 -7
  210. package/dist/elements/IframeLoader/index.d.ts.map +1 -1
  211. package/dist/elements/IframeLoader/index.js +34 -6
  212. package/dist/elements/IframeLoader/index.js.map +1 -1
  213. package/dist/elements/ItemsDrawer/ItemSearch/index.css +0 -1
  214. package/dist/elements/ItemsDrawer/index.d.ts.map +1 -1
  215. package/dist/elements/ItemsDrawer/index.js +23 -1
  216. package/dist/elements/ItemsDrawer/index.js.map +1 -1
  217. package/dist/elements/LLMInstructionsCell/index.css +11 -0
  218. package/dist/elements/LLMInstructionsCell/index.d.ts +5 -0
  219. package/dist/elements/LLMInstructionsCell/index.d.ts.map +1 -0
  220. package/dist/elements/LLMInstructionsCell/index.js +24 -0
  221. package/dist/elements/LLMInstructionsCell/index.js.map +1 -0
  222. package/dist/elements/LLMInstructionsDescription/index.css +79 -0
  223. package/dist/elements/LLMInstructionsDescription/index.d.ts +6 -0
  224. package/dist/elements/LLMInstructionsDescription/index.d.ts.map +1 -0
  225. package/dist/elements/LLMInstructionsDescription/index.js +40 -0
  226. package/dist/elements/LLMInstructionsDescription/index.js.map +1 -0
  227. package/dist/elements/LLMInstructionsMenuItem/index.d.ts +5 -0
  228. package/dist/elements/LLMInstructionsMenuItem/index.d.ts.map +1 -0
  229. package/dist/elements/LLMInstructionsMenuItem/index.js +46 -0
  230. package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -0
  231. package/dist/elements/LayoutToggle/index.d.ts +8 -0
  232. package/dist/elements/LayoutToggle/index.d.ts.map +1 -0
  233. package/dist/elements/LayoutToggle/index.js +56 -0
  234. package/dist/elements/LayoutToggle/index.js.map +1 -0
  235. package/dist/elements/Link/index.d.ts.map +1 -1
  236. package/dist/elements/Link/index.js +3 -0
  237. package/dist/elements/Link/index.js.map +1 -1
  238. package/dist/elements/ListControls/index.d.ts.map +1 -1
  239. package/dist/elements/ListControls/index.js +5 -2
  240. package/dist/elements/ListControls/index.js.map +1 -1
  241. package/dist/elements/ListControls/types.d.ts +1 -0
  242. package/dist/elements/ListControls/types.d.ts.map +1 -1
  243. package/dist/elements/ListControls/types.js.map +1 -1
  244. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  245. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  246. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  247. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts +6 -0
  248. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts.map +1 -0
  249. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js +61 -0
  250. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -0
  251. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +1 -1
  252. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  253. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +1 -0
  254. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -1
  255. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  256. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  257. package/dist/elements/ListHeader/index.css +4 -5
  258. package/dist/elements/Loading/index.d.ts.map +1 -1
  259. package/dist/elements/Loading/index.js +1 -0
  260. package/dist/elements/Loading/index.js.map +1 -1
  261. package/dist/elements/MiniCarousel/index.d.ts +1 -1
  262. package/dist/elements/MiniCarousel/index.d.ts.map +1 -1
  263. package/dist/elements/MiniCarousel/index.js +6 -6
  264. package/dist/elements/MiniCarousel/index.js.map +1 -1
  265. package/dist/elements/Nav/NavSidebarToggle/index.d.ts.map +1 -1
  266. package/dist/elements/Nav/NavSidebarToggle/index.js +29 -24
  267. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  268. package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
  269. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  270. package/dist/elements/Nav/NavWrapper/index.js +15 -13
  271. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  272. package/dist/elements/Nav/SidebarTabs/index.client.js +1 -1
  273. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  274. package/dist/elements/Nav/SidebarTabs/index.css +3 -3
  275. package/dist/elements/Nav/context.d.ts +1 -1
  276. package/dist/elements/Nav/context.d.ts.map +1 -1
  277. package/dist/elements/Nav/context.js +32 -11
  278. package/dist/elements/Nav/context.js.map +1 -1
  279. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  280. package/dist/elements/Nav/index.client.js +1 -10
  281. package/dist/elements/Nav/index.client.js.map +1 -1
  282. package/dist/elements/Nav/index.css +45 -34
  283. package/dist/elements/Nav/index.d.ts +4 -0
  284. package/dist/elements/Nav/index.d.ts.map +1 -1
  285. package/dist/elements/Nav/index.js +15 -1
  286. package/dist/elements/Nav/index.js.map +1 -1
  287. package/dist/elements/NavGroup/index.css +32 -19
  288. package/dist/elements/NavGroup/index.d.ts.map +1 -1
  289. package/dist/elements/NavGroup/index.js +31 -28
  290. package/dist/elements/NavGroup/index.js.map +1 -1
  291. package/dist/elements/NoListResults/index.css +2 -3
  292. package/dist/elements/PageControls/index.css +4 -1
  293. package/dist/elements/PageControls/index.d.ts +1 -0
  294. package/dist/elements/PageControls/index.d.ts.map +1 -1
  295. package/dist/elements/PageControls/index.js +41 -21
  296. package/dist/elements/PageControls/index.js.map +1 -1
  297. package/dist/elements/Pagination/ClickableArrow/index.d.ts.map +1 -1
  298. package/dist/elements/Pagination/ClickableArrow/index.js +45 -11
  299. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  300. package/dist/elements/Pagination/SimplePagination/index.css +0 -1
  301. package/dist/elements/Pagination/index.css +0 -2
  302. package/dist/elements/Pagination/index.d.ts.map +1 -1
  303. package/dist/elements/Pagination/index.js +32 -18
  304. package/dist/elements/Pagination/index.js.map +1 -1
  305. package/dist/elements/PerPage/index.css +0 -1
  306. package/dist/elements/PerPage/index.js +3 -1
  307. package/dist/elements/PerPage/index.js.map +1 -1
  308. package/dist/elements/Pill/index.css +0 -1
  309. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.css +53 -0
  310. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.d.ts +13 -0
  311. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.d.ts.map +1 -0
  312. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.js +44 -0
  313. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.js.map +1 -0
  314. package/dist/elements/Popup/PopupButtonList/index.css +30 -8
  315. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -0
  316. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  317. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  318. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  319. package/dist/elements/Popup/PopupGroupLabel/index.css +0 -1
  320. package/dist/elements/Popup/SubmenuScope.d.ts +21 -0
  321. package/dist/elements/Popup/SubmenuScope.d.ts.map +1 -0
  322. package/dist/elements/Popup/SubmenuScope.js +89 -0
  323. package/dist/elements/Popup/SubmenuScope.js.map +1 -0
  324. package/dist/elements/Popup/index.css +5 -0
  325. package/dist/elements/Popup/index.d.ts +3 -0
  326. package/dist/elements/Popup/index.d.ts.map +1 -1
  327. package/dist/elements/Popup/index.js +75 -10
  328. package/dist/elements/Popup/index.js.map +1 -1
  329. package/dist/elements/Popup/useSubmenuPointerIntent.d.ts +13 -0
  330. package/dist/elements/Popup/useSubmenuPointerIntent.d.ts.map +1 -0
  331. package/dist/elements/Popup/useSubmenuPointerIntent.js +42 -0
  332. package/dist/elements/Popup/useSubmenuPointerIntent.js.map +1 -0
  333. package/dist/elements/PreviewSizes/index.d.ts +1 -1
  334. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  335. package/dist/elements/PreviewSizes/index.js +9 -9
  336. package/dist/elements/PreviewSizes/index.js.map +1 -1
  337. package/dist/elements/QueryPresets/fields/Heading/index.css +0 -1
  338. package/dist/elements/ReactSelect/MultiValueLabel/index.css +0 -1
  339. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  340. package/dist/elements/ReactSelect/ValueContainer/index.js +23 -1
  341. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  342. package/dist/elements/ReactSelect/index.css +5 -3
  343. package/dist/elements/ReactSelect/types.d.ts +3 -0
  344. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  345. package/dist/elements/ReactSelect/types.js.map +1 -1
  346. package/dist/elements/RenderTitle/index.css +9 -7
  347. package/dist/elements/Search/ListSearchFilter/index.d.ts +2 -1
  348. package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
  349. package/dist/elements/Search/ListSearchFilter/index.js +33 -17
  350. package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
  351. package/dist/elements/Search/SearchInput/index.css +0 -1
  352. package/dist/elements/Search/SearchInput/index.d.ts +1 -0
  353. package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
  354. package/dist/elements/Search/SearchInput/index.js +23 -20
  355. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  356. package/dist/elements/SegmentedControl/index.css +9 -0
  357. package/dist/elements/SegmentedControl/index.d.ts +20 -0
  358. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  359. package/dist/elements/SegmentedControl/index.js +162 -0
  360. package/dist/elements/SegmentedControl/index.js.map +1 -0
  361. package/dist/elements/SelectRow/index.d.ts +1 -0
  362. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  363. package/dist/elements/SelectRow/index.js +35 -27
  364. package/dist/elements/SelectRow/index.js.map +1 -1
  365. package/dist/elements/SidebarRow/index.css +43 -2
  366. package/dist/elements/SidebarToggle/index.css +3 -1
  367. package/dist/elements/SkipToContent/index.css +21 -0
  368. package/dist/elements/SkipToContent/index.d.ts +4 -0
  369. package/dist/elements/SkipToContent/index.d.ts.map +1 -0
  370. package/dist/elements/SkipToContent/index.js +63 -0
  371. package/dist/elements/SkipToContent/index.js.map +1 -0
  372. package/dist/elements/SortColumn/index.css +1 -2
  373. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  374. package/dist/elements/SortColumn/index.js +7 -3
  375. package/dist/elements/SortColumn/index.js.map +1 -1
  376. package/dist/elements/Spinner/index.css +0 -2
  377. package/dist/elements/Status/index.css +3 -4
  378. package/dist/elements/StepNav/index.css +15 -9
  379. package/dist/elements/Switch/index.css +0 -1
  380. package/dist/elements/Switch/index.d.ts +1 -0
  381. package/dist/elements/Switch/index.d.ts.map +1 -1
  382. package/dist/elements/Switch/index.js +18 -16
  383. package/dist/elements/Switch/index.js.map +1 -1
  384. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.css +0 -1
  385. package/dist/elements/Table/DefaultCell/fields/Code/index.css +0 -1
  386. package/dist/elements/Table/DefaultCell/fields/File/index.css +18 -13
  387. package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -1
  388. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  389. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +26 -7
  390. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  391. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +42 -8
  392. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  393. package/dist/elements/Table/DefaultCell/fields/JSON/index.css +0 -1
  394. package/dist/elements/Table/DefaultCell/fields/Status/index.css +0 -1
  395. package/dist/elements/Table/GridNavigation/useGridNavigation.d.ts +8 -0
  396. package/dist/elements/Table/GridNavigation/useGridNavigation.d.ts.map +1 -0
  397. package/dist/elements/Table/GridNavigation/useGridNavigation.js +397 -0
  398. package/dist/elements/Table/GridNavigation/useGridNavigation.js.map +1 -0
  399. package/dist/elements/Table/TableIdentity.d.ts +3 -0
  400. package/dist/elements/Table/TableIdentity.d.ts.map +1 -1
  401. package/dist/elements/Table/TableIdentity.js +13 -8
  402. package/dist/elements/Table/TableIdentity.js.map +1 -1
  403. package/dist/elements/Table/index.css +23 -3
  404. package/dist/elements/Table/index.d.ts +2 -0
  405. package/dist/elements/Table/index.d.ts.map +1 -1
  406. package/dist/elements/Table/index.js +77 -83
  407. package/dist/elements/Table/index.js.map +1 -1
  408. package/dist/elements/TableSection/index.css +4 -5
  409. package/dist/elements/Tabs/index.css +1 -2
  410. package/dist/elements/Tabs/index.d.ts +4 -0
  411. package/dist/elements/Tabs/index.d.ts.map +1 -1
  412. package/dist/elements/Tabs/index.js +30 -1
  413. package/dist/elements/Tabs/index.js.map +1 -1
  414. package/dist/elements/ThumbnailCard/index.css +0 -1
  415. package/dist/elements/TimezonePicker/index.css +0 -3
  416. package/dist/elements/Tooltip/index.css +2 -2
  417. package/dist/elements/Tooltip/index.d.ts +5 -5
  418. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  419. package/dist/elements/Tooltip/index.js +20 -13
  420. package/dist/elements/Tooltip/index.js.map +1 -1
  421. package/dist/elements/Upload/index.css +2 -3
  422. package/dist/elements/Upload/index.d.ts +1 -1
  423. package/dist/elements/Upload/index.d.ts.map +1 -1
  424. package/dist/elements/Upload/index.js +6 -6
  425. package/dist/elements/Upload/index.js.map +1 -1
  426. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  427. package/dist/elements/UserMenu/LanguageMenu/index.js +12 -30
  428. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  429. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  430. package/dist/elements/UserMenu/SettingsMenu/index.js +12 -30
  431. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  432. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  433. package/dist/elements/UserMenu/ThemeMenu/index.js +12 -30
  434. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  435. package/dist/elements/UserMenu/index.css +29 -15
  436. package/dist/elements/UserMenu/index.d.ts +1 -0
  437. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  438. package/dist/elements/UserMenu/index.js +60 -46
  439. package/dist/elements/UserMenu/index.js.map +1 -1
  440. package/dist/exports/client/CodeEditor-UKD3EPUY.js +14 -0
  441. package/dist/exports/client/CodeEditor-UKD3EPUY.js.map +7 -0
  442. package/dist/exports/client/DatePicker-BBZ3XRWP.js +14 -0
  443. package/dist/exports/client/DatePicker-BBZ3XRWP.js.map +7 -0
  444. package/dist/exports/client/chunk-6XCSN54Q.js +27 -0
  445. package/dist/exports/client/chunk-6XCSN54Q.js.map +7 -0
  446. package/dist/exports/client/chunk-AVJIZPR3.js +14 -0
  447. package/dist/exports/client/chunk-AVJIZPR3.js.map +7 -0
  448. package/dist/exports/client/chunk-USFUVW7C.js +29 -0
  449. package/dist/exports/client/chunk-USFUVW7C.js.map +7 -0
  450. package/dist/exports/client/index.d.ts +22 -2
  451. package/dist/exports/client/index.d.ts.map +1 -1
  452. package/dist/exports/client/index.js +100 -1
  453. package/dist/exports/client/index.js.map +4 -4
  454. package/dist/exports/rsc/index.d.ts +3 -0
  455. package/dist/exports/rsc/index.d.ts.map +1 -1
  456. package/dist/exports/rsc/index.js +3 -0
  457. package/dist/exports/rsc/index.js.map +1 -1
  458. package/dist/exports/shared/index.js +1 -1
  459. package/dist/exports/shared/index.js.map +3 -3
  460. package/dist/fields/Array/index.css +4 -0
  461. package/dist/fields/Array/index.d.ts.map +1 -1
  462. package/dist/fields/Array/index.js +14 -5
  463. package/dist/fields/Array/index.js.map +1 -1
  464. package/dist/fields/Blocks/SectionTitle/index.css +3 -5
  465. package/dist/fields/Blocks/index.css +2 -2
  466. package/dist/fields/Blocks/index.d.ts.map +1 -1
  467. package/dist/fields/Blocks/index.js +20 -11
  468. package/dist/fields/Blocks/index.js.map +1 -1
  469. package/dist/fields/Checkbox/Input.d.ts +2 -2
  470. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  471. package/dist/fields/Checkbox/Input.js +134 -152
  472. package/dist/fields/Checkbox/Input.js.map +1 -1
  473. package/dist/fields/Checkbox/index.css +189 -155
  474. package/dist/fields/Code/index.d.ts.map +1 -1
  475. package/dist/fields/Code/index.js +20 -3
  476. package/dist/fields/Code/index.js.map +1 -1
  477. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  478. package/dist/fields/Collapsible/index.js +1 -0
  479. package/dist/fields/Collapsible/index.js.map +1 -1
  480. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  481. package/dist/fields/ConfirmPassword/index.js +45 -31
  482. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  483. package/dist/fields/Email/index.d.ts.map +1 -1
  484. package/dist/fields/Email/index.js +11 -0
  485. package/dist/fields/Email/index.js.map +1 -1
  486. package/dist/fields/FieldError/index.css +12 -0
  487. package/dist/fields/FieldError/index.d.ts.map +1 -1
  488. package/dist/fields/FieldError/index.js +4 -1
  489. package/dist/fields/FieldError/index.js.map +1 -1
  490. package/dist/fields/FieldLabel/index.css +5 -4
  491. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  492. package/dist/fields/FieldLabel/index.js +28 -10
  493. package/dist/fields/FieldLabel/index.js.map +1 -1
  494. package/dist/fields/Group/index.css +2 -3
  495. package/dist/fields/JSON/index.d.ts.map +1 -1
  496. package/dist/fields/JSON/index.js +15 -1
  497. package/dist/fields/JSON/index.js.map +1 -1
  498. package/dist/fields/Join/index.css +3 -4
  499. package/dist/fields/Password/input.d.ts.map +1 -1
  500. package/dist/fields/Password/input.js +73 -95
  501. package/dist/fields/Password/input.js.map +1 -1
  502. package/dist/fields/Point/index.d.ts.map +1 -1
  503. package/dist/fields/Point/index.js +15 -2
  504. package/dist/fields/Point/index.js.map +1 -1
  505. package/dist/fields/RadioGroup/Radio/index.css +0 -1
  506. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  507. package/dist/fields/Relationship/Input.js +25 -17
  508. package/dist/fields/Relationship/Input.js.map +1 -1
  509. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  510. package/dist/fields/Relationship/optionsReducer.js +2 -0
  511. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  512. package/dist/fields/Relationship/types.d.ts +8 -0
  513. package/dist/fields/Relationship/types.d.ts.map +1 -1
  514. package/dist/fields/Relationship/types.js.map +1 -1
  515. package/dist/fields/Select/Input.d.ts.map +1 -1
  516. package/dist/fields/Select/Input.js +70 -51
  517. package/dist/fields/Select/Input.js.map +1 -1
  518. package/dist/fields/Select/index.css +7 -0
  519. package/dist/fields/Tabs/Tab/index.d.ts +2 -0
  520. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  521. package/dist/fields/Tabs/Tab/index.js +15 -9
  522. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  523. package/dist/fields/Tabs/index.d.ts.map +1 -1
  524. package/dist/fields/Tabs/index.js +179 -116
  525. package/dist/fields/Tabs/index.js.map +1 -1
  526. package/dist/fields/Text/Input.d.ts.map +1 -1
  527. package/dist/fields/Text/Input.js +53 -34
  528. package/dist/fields/Text/Input.js.map +1 -1
  529. package/dist/fields/Upload/HasMany/index.js +1 -1
  530. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  531. package/dist/fields/Upload/HasOne/index.js +1 -1
  532. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  533. package/dist/fields/Upload/Input.d.ts.map +1 -1
  534. package/dist/fields/Upload/Input.js +13 -4
  535. package/dist/fields/Upload/Input.js.map +1 -1
  536. package/dist/fields/shared/useRowFocus.d.ts +5 -0
  537. package/dist/fields/shared/useRowFocus.d.ts.map +1 -0
  538. package/dist/fields/shared/useRowFocus.js +50 -0
  539. package/dist/fields/shared/useRowFocus.js.map +1 -0
  540. package/dist/forms/NullifyField/index.d.ts +10 -0
  541. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  542. package/dist/forms/NullifyField/index.js +14 -4
  543. package/dist/forms/NullifyField/index.js.map +1 -1
  544. package/dist/forms/RenderFields/index.css +3 -6
  545. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -2
  546. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  547. package/dist/graphics/Logo/index.d.ts.map +1 -1
  548. package/dist/graphics/Logo/index.js +2 -0
  549. package/dist/graphics/Logo/index.js.map +1 -1
  550. package/dist/icons/ImageStack/index.d.ts +3 -0
  551. package/dist/icons/ImageStack/index.d.ts.map +1 -0
  552. package/dist/icons/ImageStack/index.js +17 -0
  553. package/dist/icons/ImageStack/index.js.map +1 -0
  554. package/dist/icons/Table/index.css +1 -0
  555. package/dist/icons/Table/index.d.ts +7 -0
  556. package/dist/icons/Table/index.d.ts.map +1 -0
  557. package/dist/icons/Table/index.js +25 -0
  558. package/dist/icons/Table/index.js.map +1 -0
  559. package/dist/layouts/Root/DocumentRoot.d.ts +24 -0
  560. package/dist/layouts/Root/DocumentRoot.d.ts.map +1 -0
  561. package/dist/layouts/Root/DocumentRoot.js +40 -0
  562. package/dist/layouts/Root/DocumentRoot.js.map +1 -0
  563. package/dist/layouts/Root/ResolveThemeOnClient.d.ts +12 -0
  564. package/dist/layouts/Root/ResolveThemeOnClient.d.ts.map +1 -0
  565. package/dist/layouts/Root/ResolveThemeOnClient.js +35 -0
  566. package/dist/layouts/Root/ResolveThemeOnClient.js.map +1 -0
  567. package/dist/layouts/Root/RootProviders.d.ts +11 -0
  568. package/dist/layouts/Root/RootProviders.d.ts.map +1 -0
  569. package/dist/layouts/Root/RootProviders.js +164 -0
  570. package/dist/layouts/Root/RootProviders.js.map +1 -0
  571. package/dist/layouts/Root/getRootLayoutData.d.ts +29 -0
  572. package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -0
  573. package/dist/layouts/Root/getRootLayoutData.js +72 -0
  574. package/dist/layouts/Root/getRootLayoutData.js.map +1 -0
  575. package/dist/layouts/Root/index.d.ts.map +1 -1
  576. package/dist/layouts/Root/index.js +48 -103
  577. package/dist/layouts/Root/index.js.map +1 -1
  578. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts +7 -0
  579. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts.map +1 -0
  580. package/dist/providers/ListQuery/getSearchWithListQuery.js +22 -0
  581. package/dist/providers/ListQuery/getSearchWithListQuery.js.map +1 -0
  582. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  583. package/dist/providers/ListQuery/index.js +16 -12
  584. package/dist/providers/ListQuery/index.js.map +1 -1
  585. package/dist/providers/ListQuery/types.d.ts +4 -0
  586. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  587. package/dist/providers/ListQuery/types.js.map +1 -1
  588. package/dist/providers/Preferences/index.d.ts +7 -1
  589. package/dist/providers/Preferences/index.d.ts.map +1 -1
  590. package/dist/providers/Preferences/index.js +62 -20
  591. package/dist/providers/Preferences/index.js.map +1 -1
  592. package/dist/providers/TableColumns/buildColumnState/index.d.ts +1 -0
  593. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  594. package/dist/providers/TableColumns/buildColumnState/index.js +2 -0
  595. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  596. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -1
  597. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  598. package/dist/providers/TableColumns/buildColumnState/renderCell.js +12 -28
  599. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  600. package/dist/providers/ToastContainer/index.css +6 -7
  601. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  602. package/dist/providers/ToastContainer/index.js +15 -4
  603. package/dist/providers/ToastContainer/index.js.map +1 -1
  604. package/dist/providers/Translation/index.d.ts.map +1 -1
  605. package/dist/providers/Translation/index.js +11 -1
  606. package/dist/providers/Translation/index.js.map +1 -1
  607. package/dist/styles.css +163 -58
  608. package/dist/templates/Default/Wrapper/index.css +20 -5
  609. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  610. package/dist/templates/Default/Wrapper/index.js +4 -3
  611. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  612. package/dist/templates/Default/index.d.ts.map +1 -1
  613. package/dist/templates/Default/index.js +19 -14
  614. package/dist/templates/Default/index.js.map +1 -1
  615. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts +9 -0
  616. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts.map +1 -0
  617. package/dist/utilities/filterLLMInstructionsMenuItems.js +37 -0
  618. package/dist/utilities/filterLLMInstructionsMenuItems.js.map +1 -0
  619. package/dist/utilities/filterOutUploadFields.js +1 -1
  620. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  621. package/dist/utilities/generateFieldID.d.ts +1 -1
  622. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  623. package/dist/utilities/generateFieldID.js.map +1 -1
  624. package/dist/utilities/getClientConfig.d.ts +5 -1
  625. package/dist/utilities/getClientConfig.d.ts.map +1 -1
  626. package/dist/utilities/getClientConfig.js +2 -1
  627. package/dist/utilities/getClientConfig.js.map +1 -1
  628. package/dist/utilities/getRequestTheme.d.ts +8 -1
  629. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  630. package/dist/utilities/getRequestTheme.js +16 -4
  631. package/dist/utilities/getRequestTheme.js.map +1 -1
  632. package/dist/utilities/hierarchyCollectionRestrictions.d.ts +15 -0
  633. package/dist/utilities/hierarchyCollectionRestrictions.d.ts.map +1 -0
  634. package/dist/utilities/hierarchyCollectionRestrictions.js +17 -0
  635. package/dist/utilities/hierarchyCollectionRestrictions.js.map +1 -0
  636. package/dist/utilities/renderTable.d.ts +2 -1
  637. package/dist/utilities/renderTable.d.ts.map +1 -1
  638. package/dist/utilities/renderTable.js +4 -0
  639. package/dist/utilities/renderTable.js.map +1 -1
  640. package/dist/views/API/index.client.d.ts.map +1 -1
  641. package/dist/views/API/index.client.js +19 -1
  642. package/dist/views/API/index.client.js.map +1 -1
  643. package/dist/views/API/index.css +1 -2
  644. package/dist/views/CreateFirstUser/index.css +0 -2
  645. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  646. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +75 -116
  647. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  648. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.d.ts +7 -0
  649. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.d.ts.map +1 -0
  650. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.js +65 -0
  651. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.js.map +1 -0
  652. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts +2 -1
  653. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  654. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +8 -2
  655. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  656. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  657. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +127 -91
  658. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  659. package/dist/views/Dashboard/Default/ModularDashboard/index.css +9 -6
  660. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  661. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +3 -0
  662. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  663. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.d.ts.map +1 -1
  664. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +2 -38
  665. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  666. package/dist/views/Document/index.js +1 -1
  667. package/dist/views/Document/index.js.map +1 -1
  668. package/dist/views/Document/renderDocumentSlots.d.ts +1 -1
  669. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  670. package/dist/views/Document/renderDocumentSlots.js +10 -3
  671. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  672. package/dist/views/Edit/Auth/index.css +4 -5
  673. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  674. package/dist/views/ForgotPassword/index.js +1 -3
  675. package/dist/views/ForgotPassword/index.js.map +1 -1
  676. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  677. package/dist/views/HierarchyList/DocumentListSelection/index.js +104 -105
  678. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  679. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  680. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +79 -63
  681. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  682. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +1 -1
  683. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +35 -87
  684. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
  685. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +0 -101
  686. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +2 -0
  687. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  688. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +45 -32
  689. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  690. package/dist/views/HierarchyList/HierarchyTable/index.css +51 -41
  691. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +3 -1
  692. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  693. package/dist/views/HierarchyList/HierarchyTable/index.js +80 -6
  694. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  695. package/dist/views/HierarchyList/getHierarchyListURL.d.ts +7 -0
  696. package/dist/views/HierarchyList/getHierarchyListURL.d.ts.map +1 -0
  697. package/dist/views/HierarchyList/getHierarchyListURL.js +22 -0
  698. package/dist/views/HierarchyList/getHierarchyListURL.js.map +1 -0
  699. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  700. package/dist/views/HierarchyList/index.js +32 -11
  701. package/dist/views/HierarchyList/index.js.map +1 -1
  702. package/dist/views/List/DocumentGrid/index.d.ts +17 -0
  703. package/dist/views/List/DocumentGrid/index.d.ts.map +1 -0
  704. package/dist/views/List/DocumentGrid/index.js +152 -0
  705. package/dist/views/List/DocumentGrid/index.js.map +1 -0
  706. package/dist/views/List/GroupedDocumentGrid/index.css +17 -0
  707. package/dist/views/List/GroupedDocumentGrid/index.d.ts +14 -0
  708. package/dist/views/List/GroupedDocumentGrid/index.d.ts.map +1 -0
  709. package/dist/views/List/GroupedDocumentGrid/index.js +99 -0
  710. package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -0
  711. package/dist/views/List/ListHeader/index.css +4 -5
  712. package/dist/views/List/ListHeader/index.d.ts +1 -0
  713. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  714. package/dist/views/List/ListHeader/index.js +5 -2
  715. package/dist/views/List/ListHeader/index.js.map +1 -1
  716. package/dist/views/List/getDocumentListItemURL.d.ts +9 -0
  717. package/dist/views/List/getDocumentListItemURL.d.ts.map +1 -0
  718. package/dist/views/List/getDocumentListItemURL.js +23 -0
  719. package/dist/views/List/getDocumentListItemURL.js.map +1 -0
  720. package/dist/views/List/handleGroupBy.d.ts +6 -2
  721. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  722. package/dist/views/List/handleGroupBy.js +13 -3
  723. package/dist/views/List/handleGroupBy.js.map +1 -1
  724. package/dist/views/List/index.client.d.ts.map +1 -1
  725. package/dist/views/List/index.client.js +207 -129
  726. package/dist/views/List/index.client.js.map +1 -1
  727. package/dist/views/List/index.css +1 -2
  728. package/dist/views/List/index.d.ts.map +1 -1
  729. package/dist/views/List/index.js +57 -3
  730. package/dist/views/List/index.js.map +1 -1
  731. package/dist/views/List/renderListViewSlots.d.ts +3 -2
  732. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  733. package/dist/views/List/renderListViewSlots.js +12 -4
  734. package/dist/views/List/renderListViewSlots.js.map +1 -1
  735. package/dist/views/List/resolveDocumentListItemURL.d.ts +11 -0
  736. package/dist/views/List/resolveDocumentListItemURL.d.ts.map +1 -0
  737. package/dist/views/List/resolveDocumentListItemURL.js +30 -0
  738. package/dist/views/List/resolveDocumentListItemURL.js.map +1 -0
  739. package/dist/views/NotFound/index.css +0 -2
  740. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  741. package/dist/views/ResetPassword/index.js +1 -3
  742. package/dist/views/ResetPassword/index.js.map +1 -1
  743. package/dist/views/Root/getRouteData.d.ts +1 -8
  744. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  745. package/dist/views/Root/getRouteData.js +3 -12
  746. package/dist/views/Root/getRouteData.js.map +1 -1
  747. package/dist/views/Unauthorized/index.css +0 -2
  748. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  749. package/dist/views/Unauthorized/index.js +2 -1
  750. package/dist/views/Unauthorized/index.js.map +1 -1
  751. package/dist/views/Version/Default/index.css +7 -11
  752. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.css +0 -1
  753. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.css +0 -1
  754. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.css +3 -4
  755. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +0 -1
  756. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  757. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +3 -1
  758. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  759. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +0 -1
  760. package/dist/views/Versions/VersionPillLabel/index.css +1 -2
  761. package/dist/views/Versions/index.client.d.ts.map +1 -1
  762. package/dist/views/Versions/index.client.js +3 -1
  763. package/dist/views/Versions/index.client.js.map +1 -1
  764. package/dist/views/Versions/index.css +1 -1
  765. package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -1
  766. package/dist/widgets/CollectionCards/index.client.js +8 -6
  767. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  768. package/dist/widgets/CollectionCards/index.css +30 -38
  769. package/dist/widgets/CollectionCards/index.d.ts.map +1 -1
  770. package/dist/widgets/CollectionCards/index.js +7 -5
  771. package/dist/widgets/CollectionCards/index.js.map +1 -1
  772. package/dist/widgets/CollectionQuery/index.css +4 -6
  773. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +1 -1
  774. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +1 -1
  775. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
  776. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts +4 -0
  777. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts.map +1 -0
  778. package/dist/widgets/UploadDropzone/CollectionsField/index.js +29 -0
  779. package/dist/widgets/UploadDropzone/CollectionsField/index.js.map +1 -0
  780. package/dist/widgets/UploadDropzone/index.client.d.ts +10 -0
  781. package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -0
  782. package/dist/widgets/UploadDropzone/index.client.js +78 -0
  783. package/dist/widgets/UploadDropzone/index.client.js.map +1 -0
  784. package/dist/widgets/UploadDropzone/index.css +80 -0
  785. package/dist/widgets/UploadDropzone/index.d.ts +12 -0
  786. package/dist/widgets/UploadDropzone/index.d.ts.map +1 -0
  787. package/dist/widgets/UploadDropzone/index.js +58 -0
  788. package/dist/widgets/UploadDropzone/index.js.map +1 -0
  789. package/dist/widgets/Welcome/getWelcomeDisplay.d.ts +7 -0
  790. package/dist/widgets/Welcome/getWelcomeDisplay.d.ts.map +1 -0
  791. package/dist/widgets/Welcome/getWelcomeDisplay.js +21 -0
  792. package/dist/widgets/Welcome/getWelcomeDisplay.js.map +1 -0
  793. package/dist/widgets/Welcome/index.css +25 -0
  794. package/dist/widgets/Welcome/index.d.ts +5 -0
  795. package/dist/widgets/Welcome/index.d.ts.map +1 -0
  796. package/dist/widgets/Welcome/index.js +25 -0
  797. package/dist/widgets/Welcome/index.js.map +1 -0
  798. package/dist/widgets/WidgetCard/index.css +4 -8
  799. package/package.json +35 -10
  800. package/dist/providers/Root/index.d.ts +0 -25
  801. package/dist/providers/Root/index.d.ts.map +0 -1
  802. package/dist/providers/Root/index.js +0 -156
  803. package/dist/providers/Root/index.js.map +0 -1
  804. package/dist/utilities/dateLocales.d.ts +0 -30
  805. package/dist/utilities/dateLocales.d.ts.map +0 -1
  806. package/dist/utilities/dateLocales.js +0 -57
  807. package/dist/utilities/dateLocales.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","isImage","React","SelectInput","XIcon","useConfig","useTranslation","ErrorPill","ShimmerEffect","createThumbnail","Thumbnail","useFormsManager","useBulkUpload","baseClass","FileSidebar","$","activeIndex","forms","isInitializing","removeFile","setActiveIndex","initialFiles","initialForms","i18n","t","t0","indexToRemove","handleRemoveFile","getFileSize","_temp","collectionSlug","bulkUploadCollectionSlug","selectableCollections","setCollectionSlug","getEntityConfig","t1","t2","t3","index_0","errorCount","formID","formState","currentFile","file","value","_jsxs","className","index","filter","Boolean","join","children","onClick","type","_jsx","SidebarThumbnail","title","name","File","count","length","isClearable","onChange","e","val","options","map","coll","config","label","labels","singular","slug","path","required","Array","from","_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 { useConfig } from '../../../providers/Config/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'\n\nconst baseClass = 'file-selections'\n\nexport function FileSidebar() {\n const { activeIndex, forms, isInitializing, removeFile, setActiveIndex } = 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 {\n collectionSlug: bulkUploadCollectionSlug,\n selectableCollections,\n setCollectionSlug,\n } = useBulkUpload()\n\n const { getEntityConfig } = useConfig()\n\n return (\n <div className={baseClass}>\n {selectableCollections?.length > 1 && (\n <div className={`${baseClass}__header`}>\n <SelectInput\n className={`${baseClass}__collectionSelect`}\n isClearable={false}\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 setCollectionSlug(val)\n }}\n options={\n selectableCollections?.map((coll) => {\n const config = getEntityConfig({ collectionSlug: coll })\n return { label: config.labels.singular, value: config.slug }\n }) || []\n }\n path=\"groupBy\"\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 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')}\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')}\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":[]}
@@ -3,8 +3,9 @@ import React from 'react';
3
3
  import type { State } from './reducer.js';
4
4
  type FormsManagerContext = {
5
5
  readonly activeIndex: State['activeIndex'];
6
- readonly addFiles: (filelist: FileList) => Promise<void>;
6
+ readonly addFiles: (filelist: FileList) => Promise<boolean>;
7
7
  readonly bulkUpdateForm: (updatedFields: Record<string, unknown>, afterStateUpdate?: () => void) => Promise<void>;
8
+ readonly changeCollectionSlug: (slug: string) => void;
8
9
  readonly collectionSlug: string;
9
10
  readonly docPermissions?: SanitizedDocumentPermissions;
10
11
  readonly documentSlots: DocumentSlots;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/FormsManager/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,IAAI,EACJ,aAAa,EACb,SAAS,EAET,4BAA4B,EAC5B,WAAW,EACZ,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAiBzC,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,QAAQ,CAAC,cAAc,EAAE,CACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,gBAAgB,CAAC,EAAE,MAAM,IAAI,KAC1B,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,4BAA4B,CAAA;IACtD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9B,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAA;IAC3C,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChG,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,sBAAsB,EAAE,CAAC,EAChC,UAAU,EACV,KAAK,GACN,EAAE;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;CACxD,CAAA;AA6BD,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC;IAC/B,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;CAChC,CAAC,CAAA;AAEF,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,CAAA;AAED,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,qBAipBnE;AAED,wBAAgB,eAAe,wBAE9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/FormsManager/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,IAAI,EACJ,aAAa,EACb,SAAS,EAET,4BAA4B,EAC5B,WAAW,EACZ,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAiBzC,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3D,QAAQ,CAAC,cAAc,EAAE,CACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,gBAAgB,CAAC,EAAE,MAAM,IAAI,KAC1B,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,QAAQ,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,4BAA4B,CAAA;IACtD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9B,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAA;IAC3C,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChG,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,sBAAsB,EAAE,CAAC,EAChC,UAAU,EACV,KAAK,GACN,EAAE;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;CACxD,CAAA;AA8BD,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC;IAC/B,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;CAChC,CAAC,CAAA;AAEF,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,CAAA;AAED,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,qBA6xBnE;AAED,wBAAgB,eAAe,wBAE9B"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { useModal } from '@faceless-ui/modal';
5
- import { formatAdminURL } from 'payload/shared';
5
+ import { formatAdminURL, validateMimeType } from 'payload/shared';
6
6
  import * as qs from 'qs-esm';
7
7
  import React from 'react';
8
8
  import { toast } from 'sonner';
@@ -22,8 +22,9 @@ import { createFormData } from './createFormData.js';
22
22
  import { formsManagementReducer } from './reducer.js';
23
23
  const Context = /*#__PURE__*/React.createContext({
24
24
  activeIndex: 0,
25
- addFiles: () => Promise.resolve(),
25
+ addFiles: () => Promise.resolve(false),
26
26
  bulkUpdateForm: () => null,
27
+ changeCollectionSlug: () => null,
27
28
  collectionSlug: '',
28
29
  docPermissions: undefined,
29
30
  documentSlots: {},
@@ -101,6 +102,8 @@ export function FormsManagerProvider({
101
102
  modalSlug: drawerSlug,
102
103
  onSuccess,
103
104
  parentID,
105
+ selectableCollections,
106
+ setCollectionSlug,
104
107
  setInitialFiles,
105
108
  setInitialForms,
106
109
  setSuccessfullyUploaded
@@ -113,7 +116,46 @@ export function FormsManagerProvider({
113
116
  const [loadingText, setLoadingText] = React.useState('');
114
117
  const hasInitializedWithFiles = React.useRef(false);
115
118
  const initialStateRef = React.useRef(null);
119
+ const initializedStateCollectionSlugRef = React.useRef(undefined);
120
+ const initializedPermissionsCollectionSlugRef = React.useRef(undefined);
121
+ const currentCollectionSlugRef = React.useRef(collectionSlug);
122
+ currentCollectionSlugRef.current = collectionSlug;
116
123
  const getFormDataRef = React.useRef(() => ({}));
124
+ const pendingCollectionChangeRef = React.useRef(null);
125
+ const collectionFormsCacheRef = React.useRef({});
126
+ const changeCollectionSlug = React.useCallback(slug => {
127
+ if (slug === collectionSlug || isInitializing || !selectableCollections?.includes(slug)) {
128
+ return;
129
+ }
130
+ const mimeTypes = getEntityConfig({
131
+ collectionSlug: slug
132
+ })?.upload?.mimeTypes;
133
+ if (mimeTypes?.length && forms.some(({
134
+ formState
135
+ }) => {
136
+ const file = formState?.file?.value;
137
+ return file instanceof File && !validateMimeType(file.type, mimeTypes);
138
+ })) {
139
+ toast.error(t('error:invalidFileType'));
140
+ return;
141
+ }
142
+ const activeFormState = getFormDataRef.current();
143
+ const currentForms = forms.map((form, index) => index === activeIndex ? {
144
+ ...form,
145
+ formState: activeFormState
146
+ } : form);
147
+ collectionFormsCacheRef.current[collectionSlug] = currentForms;
148
+ pendingCollectionChangeRef.current = {
149
+ slug,
150
+ forms: currentForms
151
+ };
152
+ setIsInitializing(true);
153
+ setHasInitializedState(false);
154
+ setHasInitializedDocPermissions(false);
155
+ setHasSavePermission(false);
156
+ setHasPublishPermission(false);
157
+ setCollectionSlug(slug);
158
+ }, [activeIndex, collectionSlug, forms, getEntityConfig, isInitializing, selectableCollections, setCollectionSlug, t]);
117
159
  const actionURL = formatAdminURL({
118
160
  apiRoute: api,
119
161
  path: `/${collectionSlug}`
@@ -149,6 +191,9 @@ export function FormsManagerProvider({
149
191
  },
150
192
  method: 'POST'
151
193
  }).then(res_0 => res_0.json());
194
+ if (currentCollectionSlugRef.current !== collectionSlug) {
195
+ return;
196
+ }
152
197
  setDocPermissions(json);
153
198
  setHasSavePermission(getHasSavePermission({
154
199
  collectionSlug,
@@ -156,6 +201,7 @@ export function FormsManagerProvider({
156
201
  isEditing: false
157
202
  }));
158
203
  setHasPublishPermission(publishedAccessJSON?.update);
204
+ initializedPermissionsCollectionSlugRef.current = collectionSlug;
159
205
  setHasInitializedDocPermissions(true);
160
206
  }, [api, code, collectionSlug, i18n.language]);
161
207
  const initializeSharedFormState = React.useCallback(async abortController => {
@@ -166,13 +212,12 @@ export function FormsManagerProvider({
166
212
  const documentSlots_0 = await getDocumentSlots({
167
213
  collectionSlug
168
214
  });
169
- setDocumentSlots(documentSlots_0);
170
215
  try {
171
216
  const {
172
217
  state: formStateWithoutFiles
173
218
  } = await getFormState({
174
219
  collectionSlug,
175
- docPermissions,
220
+ docPermissions: initializedPermissionsCollectionSlugRef.current === collectionSlug ? docPermissions : undefined,
176
221
  docPreferences: {
177
222
  fields: {}
178
223
  },
@@ -191,28 +236,35 @@ export function FormsManagerProvider({
191
236
  }
192
237
  };
193
238
  }
239
+ if (currentCollectionSlugRef.current !== collectionSlug) {
240
+ return null;
241
+ }
242
+ setDocumentSlots(documentSlots_0);
194
243
  initialStateRef.current = formStateWithoutFiles;
244
+ initializedStateCollectionSlugRef.current = collectionSlug;
195
245
  setHasInitializedState(true);
246
+ return formStateWithoutFiles;
196
247
  } catch (_err) {
197
248
  // swallow error
249
+ return null;
198
250
  }
199
251
  }, [getDocumentSlots, collectionSlug, getFormState, docPermissions, code, folderFieldName]);
200
- const setActiveIndex = React.useCallback(index => {
252
+ const setActiveIndex = React.useCallback(index_0 => {
201
253
  const currentFormsData = getFormDataRef.current();
202
254
  dispatch({
203
255
  type: 'REPLACE',
204
256
  state: {
205
- activeIndex: index,
206
- forms: forms.map((form, i) => {
257
+ activeIndex: index_0,
258
+ forms: forms.map((form_0, i) => {
207
259
  if (i === activeIndex) {
208
260
  return {
209
- errorCount: form.errorCount,
210
- formID: form.formID,
261
+ errorCount: form_0.errorCount,
262
+ formID: form_0.formID,
211
263
  formState: currentFormsData,
212
- uploadEdits: form.uploadEdits
264
+ uploadEdits: form_0.uploadEdits
213
265
  };
214
266
  }
215
- return form;
267
+ return form_0;
216
268
  })
217
269
  }
218
270
  });
@@ -231,6 +283,16 @@ export function FormsManagerProvider({
231
283
  return baseState;
232
284
  }, [parentID, folderFieldName]);
233
285
  const addFiles = React.useCallback(async files => {
286
+ const mimeTypes_0 = getEntityConfig({
287
+ collectionSlug
288
+ })?.upload?.mimeTypes;
289
+ const acceptedFiles = Array.from(files).filter(file_0 => !mimeTypes_0?.length || validateMimeType(file_0.type, mimeTypes_0));
290
+ if (acceptedFiles.length !== files.length) {
291
+ toast.error(t('error:invalidFileType'));
292
+ }
293
+ if (!acceptedFiles.length) {
294
+ return false;
295
+ }
234
296
  if (forms.length) {
235
297
  // save the state of the current form before adding new files
236
298
  dispatch({
@@ -244,35 +306,52 @@ export function FormsManagerProvider({
244
306
  isLoading: true,
245
307
  key: 'addingDocs'
246
308
  });
247
- if (!hasInitializedState) {
248
- await initializeSharedFormState();
309
+ let initialFormState = initialStateRef.current;
310
+ if (initializedStateCollectionSlugRef.current !== collectionSlug) {
311
+ initialFormState = await initializeSharedFormState();
312
+ }
313
+ if (currentCollectionSlugRef.current !== collectionSlug || !initialFormState) {
314
+ toggleLoadingOverlay({
315
+ isLoading: false,
316
+ key: 'addingDocs'
317
+ });
318
+ return false;
249
319
  }
250
320
  dispatch({
251
321
  type: 'ADD_FORMS',
252
- forms: Array.from(files).map(file => ({
253
- file,
254
- initialState: applyFolderToState(initialStateRef.current)
322
+ forms: acceptedFiles.map(file_1 => ({
323
+ file: file_1,
324
+ initialState: applyFolderToState(initialFormState)
255
325
  }))
256
326
  });
257
327
  toggleLoadingOverlay({
258
328
  isLoading: false,
259
329
  key: 'addingDocs'
260
330
  });
261
- }, [initializeSharedFormState, hasInitializedState, toggleLoadingOverlay, activeIndex, forms, applyFolderToState]);
331
+ return true;
332
+ }, [initializeSharedFormState, collectionSlug, toggleLoadingOverlay, activeIndex, forms, applyFolderToState, getEntityConfig, t]);
262
333
  const addFilesEffectEvent = useEffectEvent(addFiles);
263
334
  const addInitialForms = useEffectEvent(async initialForms_0 => {
264
335
  toggleLoadingOverlay({
265
336
  isLoading: true,
266
337
  key: 'addingDocs'
267
338
  });
268
- if (!hasInitializedState) {
269
- await initializeSharedFormState();
339
+ let initialFormState_0 = initialStateRef.current;
340
+ if (initializedStateCollectionSlugRef.current !== collectionSlug) {
341
+ initialFormState_0 = await initializeSharedFormState();
342
+ }
343
+ if (currentCollectionSlugRef.current !== collectionSlug || !initialFormState_0) {
344
+ toggleLoadingOverlay({
345
+ isLoading: false,
346
+ key: 'addingDocs'
347
+ });
348
+ return;
270
349
  }
271
350
  dispatch({
272
351
  type: 'ADD_FORMS',
273
- forms: initialForms_0.map(form_0 => ({
274
- ...form_0,
275
- initialState: applyFolderToState(form_0?.initialState || initialStateRef.current)
352
+ forms: initialForms_0.map(form_1 => ({
353
+ ...form_1,
354
+ initialState: applyFolderToState(form_1?.initialState || initialFormState_0)
276
355
  }))
277
356
  });
278
357
  toggleLoadingOverlay({
@@ -280,56 +359,56 @@ export function FormsManagerProvider({
280
359
  key: 'addingDocs'
281
360
  });
282
361
  });
283
- const removeFile = React.useCallback(index_0 => {
362
+ const removeFile = React.useCallback(index_1 => {
284
363
  dispatch({
285
364
  type: 'REMOVE_FORM',
286
- index: index_0
365
+ index: index_1
287
366
  });
288
367
  }, []);
289
368
  const setFormTotalErrorCount = React.useCallback(({
290
369
  errorCount,
291
- index: index_1
370
+ index: index_2
292
371
  }) => {
293
372
  dispatch({
294
373
  type: 'UPDATE_ERROR_COUNT',
295
374
  count: errorCount,
296
- index: index_1
375
+ index: index_2
297
376
  });
298
377
  }, []);
299
378
  const saveAllDocs = React.useCallback(async ({
300
379
  overrides
301
380
  } = {}) => {
302
381
  const currentFormsData_0 = getFormDataRef.current();
303
- const currentForms = [...forms];
304
- currentForms[activeIndex] = {
305
- errorCount: currentForms[activeIndex].errorCount,
306
- formID: currentForms[activeIndex].formID,
382
+ const currentForms_0 = [...forms];
383
+ currentForms_0[activeIndex] = {
384
+ errorCount: currentForms_0[activeIndex].errorCount,
385
+ formID: currentForms_0[activeIndex].formID,
307
386
  formState: currentFormsData_0,
308
- uploadEdits: currentForms[activeIndex].uploadEdits
387
+ uploadEdits: currentForms_0[activeIndex].uploadEdits
309
388
  };
310
- const activeFormID = currentForms[activeIndex]?.formID;
389
+ const activeFormID = currentForms_0[activeIndex]?.formID;
311
390
  const newDocs = [];
312
391
  setIsUploading(true);
313
- for (let i_0 = 0; i_0 < currentForms.length; i_0++) {
392
+ for (let i_0 = 0; i_0 < currentForms_0.length; i_0++) {
314
393
  try {
315
- const form_1 = currentForms[i_0];
316
- const fileValue = form_1.formState?.file?.value;
394
+ const form_2 = currentForms_0[i_0];
395
+ const fileValue = form_2.formState?.file?.value;
317
396
  setLoadingText(t('general:uploadingBulk', {
318
397
  current: i_0 + 1,
319
- total: currentForms.length
398
+ total: currentForms_0.length
320
399
  }));
321
400
  const actionURLWithParams = `${actionURL}${qs.stringify({
322
401
  locale: code,
323
- uploadEdits: form_1?.uploadEdits || undefined
402
+ uploadEdits: form_2?.uploadEdits || undefined
324
403
  }, {
325
404
  addQueryPrefix: true
326
405
  })}`;
327
406
  const req = await fetch(actionURLWithParams, {
328
- body: await createFormData(form_1.formState, overrides, getUploadHandler({
407
+ body: await createFormData(form_2.formState, overrides, getUploadHandler({
329
408
  collectionSlug
330
409
  }), config.collections.find(({
331
- slug
332
- }) => slug === collectionSlug)?.upload?.allowRestrictedFileTypes),
410
+ slug: slug_0
411
+ }) => slug_0 === collectionSlug)?.upload?.allowRestrictedFileTypes),
333
412
  credentials: 'include',
334
413
  method: 'POST'
335
414
  });
@@ -339,7 +418,7 @@ export function FormsManagerProvider({
339
418
  newDocs.push({
340
419
  collectionSlug,
341
420
  doc: json_0.doc,
342
- formID: form_1.formID
421
+ formID: form_2.formID
343
422
  });
344
423
  }
345
424
  // should expose some sort of helper for this
@@ -364,12 +443,12 @@ export function FormsManagerProvider({
364
443
  const exceedsLimit = fileValue && req.status === 413;
365
444
  const missingFilename = fileValue && typeof fileValue === 'object' && 'name' in fileValue && (!fileValue.name || fileValue.name === '');
366
445
  if (missingFile || exceedsLimit || missingFilename) {
367
- currentForms[i_0].formState.file.valid = false;
446
+ currentForms_0[i_0].formState.file.valid = false;
368
447
  // File/Blob objects cannot be serialized via the RSC flight protocol,
369
448
  // so replace with a plain object before calling the server function.
370
- const originalFileValue = currentForms[i_0].formState.file?.value;
449
+ const originalFileValue = currentForms_0[i_0].formState.file?.value;
371
450
  const formStateForServer = {
372
- ...currentForms[i_0].formState
451
+ ...currentForms_0[i_0].formState
373
452
  };
374
453
  if (originalFileValue instanceof File) {
375
454
  formStateForServer.file = {
@@ -398,9 +477,9 @@ export function FormsManagerProvider({
398
477
  value: originalFileValue
399
478
  };
400
479
  }
401
- currentForms[i_0] = {
480
+ currentForms_0[i_0] = {
402
481
  errorCount: Object.values(newState).reduce((acc, value) => value?.valid === false ? acc + 1 : acc, 0),
403
- formID: currentForms[i_0].formID,
482
+ formID: currentForms_0[i_0].formID,
404
483
  formState: newState
405
484
  };
406
485
  }
@@ -412,10 +491,10 @@ export function FormsManagerProvider({
412
491
  if (!wasSuccessful && errorCount_0 === 0) {
413
492
  errorCount_0 = nonFieldErrors.length || 1;
414
493
  }
415
- currentForms[i_0] = {
494
+ currentForms_0[i_0] = {
416
495
  errorCount: errorCount_0,
417
- formID: currentForms[i_0].formID,
418
- formState: fieldReducer(currentForms[i_0].formState, {
496
+ formID: currentForms_0[i_0].formID,
497
+ formState: fieldReducer(currentForms_0[i_0].formState, {
419
498
  type: 'ADD_SERVER_ERRORS',
420
499
  errors: fieldErrors
421
500
  })
@@ -437,15 +516,15 @@ export function FormsManagerProvider({
437
516
  setLoadingText('');
438
517
  setIsUploading(false);
439
518
  const remainingForms = [];
440
- currentForms.forEach(({
519
+ currentForms_0.forEach(({
441
520
  errorCount: errorCount_1
442
521
  }, i_1) => {
443
522
  if (errorCount_1) {
444
- remainingForms.push(currentForms[i_1]);
523
+ remainingForms.push(currentForms_0[i_1]);
445
524
  }
446
525
  });
447
- const successCount = Math.max(0, currentForms.length - remainingForms.length);
448
- const errorCount_2 = currentForms.length - successCount;
526
+ const successCount = Math.max(0, currentForms_0.length - remainingForms.length);
527
+ const errorCount_2 = currentForms_0.length - successCount;
449
528
  if (successCount) {
450
529
  toast.success(`Successfully saved ${successCount} files`);
451
530
  setSuccessfullyUploaded(true);
@@ -543,8 +622,8 @@ export function FormsManagerProvider({
543
622
  dispatch({
544
623
  type: 'REPLACE',
545
624
  state: {
546
- forms: forms.map(form_2 => ({
547
- ...form_2,
625
+ forms: forms.map(form_3 => ({
626
+ ...form_3,
548
627
  uploadEdits: {}
549
628
  }))
550
629
  }
@@ -554,20 +633,55 @@ export function FormsManagerProvider({
554
633
  if (!collectionSlug) {
555
634
  return;
556
635
  }
557
- if (!hasInitializedState) {
636
+ if (initializedStateCollectionSlugRef.current !== collectionSlug) {
558
637
  void initializeSharedFormState();
559
638
  }
560
- if (!hasInitializedDocPermissions) {
639
+ if (initializedPermissionsCollectionSlugRef.current !== collectionSlug) {
561
640
  void initializeSharedDocPermissions();
562
641
  }
563
642
  if (initialFiles || initialForms) {
564
- if (!hasInitializedState || !hasInitializedDocPermissions) {
643
+ if (initializedStateCollectionSlugRef.current !== collectionSlug || initializedPermissionsCollectionSlugRef.current !== collectionSlug) {
565
644
  setIsInitializing(true);
566
645
  } else {
567
646
  setIsInitializing(false);
568
647
  }
569
648
  }
570
- if (hasInitializedState && (initialForms?.length || initialFiles?.length) && !hasInitializedWithFiles.current) {
649
+ if (hasInitializedState && hasInitializedDocPermissions && initializedStateCollectionSlugRef.current === collectionSlug && initializedPermissionsCollectionSlugRef.current === collectionSlug && pendingCollectionChangeRef.current?.slug === collectionSlug) {
650
+ const previousForms = pendingCollectionChangeRef.current.forms;
651
+ const nextTemplate = applyFolderToState(initialStateRef.current);
652
+ const cachedForms = collectionFormsCacheRef.current[collectionSlug];
653
+ dispatch({
654
+ type: 'REPLACE',
655
+ state: {
656
+ forms: previousForms.map(form_4 => {
657
+ const formState_0 = {};
658
+ const cachedForm = cachedForms?.find(({
659
+ formID: formID_0
660
+ }) => formID_0 === form_4.formID);
661
+ for (const [path_0, field] of Object.entries(nextTemplate)) {
662
+ const previousField = path_0 === folderFieldName && parentID ? undefined : cachedForm?.formState[path_0] ?? form_4.formState[path_0];
663
+ formState_0[path_0] = previousField ? {
664
+ ...field,
665
+ initialValue: previousField.value,
666
+ value: previousField.value
667
+ } : field;
668
+ }
669
+ formState_0.file = form_4.formState.file;
670
+ return {
671
+ ...form_4,
672
+ errorCount: 0,
673
+ formState: formState_0,
674
+ uploadEdits: {}
675
+ };
676
+ }),
677
+ totalErrorCount: 0
678
+ }
679
+ });
680
+ pendingCollectionChangeRef.current = null;
681
+ setHasSubmitted(false);
682
+ setIsInitializing(false);
683
+ }
684
+ if (hasInitializedState && hasInitializedDocPermissions && initializedStateCollectionSlugRef.current === collectionSlug && initializedPermissionsCollectionSlugRef.current === collectionSlug && (initialForms?.length || initialFiles?.length) && !hasInitializedWithFiles.current) {
571
685
  if (initialForms?.length) {
572
686
  void addInitialForms(initialForms);
573
687
  }
@@ -577,12 +691,13 @@ export function FormsManagerProvider({
577
691
  hasInitializedWithFiles.current = true;
578
692
  }
579
693
  return;
580
- }, [initialFiles, initializeSharedFormState, initializeSharedDocPermissions, collectionSlug, hasInitializedState, hasInitializedDocPermissions, initialForms]);
694
+ }, [initialFiles, initializeSharedFormState, initializeSharedDocPermissions, collectionSlug, hasInitializedState, hasInitializedDocPermissions, initialForms, applyFolderToState]);
581
695
  return /*#__PURE__*/_jsxs(Context, {
582
696
  value: {
583
697
  activeIndex: state.activeIndex,
584
698
  addFiles,
585
699
  bulkUpdateForm,
700
+ changeCollectionSlug,
586
701
  collectionSlug,
587
702
  docPermissions,
588
703
  documentSlots,