@payloadcms/ui 3.0.0-canary.291e44c → 3.0.0-canary.2d0dd26

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 (919) hide show
  1. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  2. package/dist/elements/AddNewRelation/index.js +4 -4
  3. package/dist/elements/AddNewRelation/index.js.map +1 -1
  4. package/dist/elements/AppHeader/index.d.ts +6 -1
  5. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  6. package/dist/elements/AppHeader/index.js +20 -13
  7. package/dist/elements/AppHeader/index.js.map +1 -1
  8. package/dist/elements/AppHeader/index.scss +0 -1
  9. package/dist/elements/Autosave/index.d.ts.map +1 -1
  10. package/dist/elements/Autosave/index.js +17 -19
  11. package/dist/elements/Autosave/index.js.map +1 -1
  12. package/dist/elements/Banner/index.d.ts.map +1 -1
  13. package/dist/elements/Banner/index.js.map +1 -1
  14. package/dist/elements/BulkUpload/ActionsBar/index.js +20 -26
  15. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  16. package/dist/elements/BulkUpload/ActionsBar/index.scss +4 -0
  17. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -1
  18. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/AddFilesView/index.js +2 -0
  20. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  22. package/dist/elements/BulkUpload/AddingFilesView/index.js +32 -23
  23. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  25. package/dist/elements/BulkUpload/EditForm/index.js +42 -40
  26. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  27. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/FileSidebar/index.js +34 -25
  29. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/FileSidebar/index.scss +40 -2
  31. package/dist/elements/BulkUpload/FormsManager/index.d.ts +4 -2
  32. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  33. package/dist/elements/BulkUpload/FormsManager/index.js +95 -41
  34. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  35. package/dist/elements/BulkUpload/FormsManager/reducer.js +14 -14
  36. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  37. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  38. package/dist/elements/BulkUpload/index.js +45 -62
  39. package/dist/elements/BulkUpload/index.js.map +1 -1
  40. package/dist/elements/Button/index.d.ts.map +1 -1
  41. package/dist/elements/Button/index.js +14 -4
  42. package/dist/elements/Button/index.js.map +1 -1
  43. package/dist/elements/Button/index.scss +4 -0
  44. package/dist/elements/Button/types.d.ts +4 -1
  45. package/dist/elements/Button/types.d.ts.map +1 -1
  46. package/dist/elements/Button/types.js.map +1 -1
  47. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  48. package/dist/elements/CodeEditor/CodeEditor.js +32 -27
  49. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  50. package/dist/elements/CodeEditor/types.d.ts +1 -0
  51. package/dist/elements/CodeEditor/types.d.ts.map +1 -1
  52. package/dist/elements/CodeEditor/types.js.map +1 -1
  53. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  54. package/dist/elements/ColumnSelector/index.js +11 -19
  55. package/dist/elements/ColumnSelector/index.js.map +1 -1
  56. package/dist/elements/DatePicker/DatePicker.d.ts +1 -1
  57. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  58. package/dist/elements/DatePicker/DatePicker.js +1 -1
  59. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  60. package/dist/elements/DatePicker/library.scss +859 -0
  61. package/dist/elements/DeleteDocument/index.d.ts +2 -2
  62. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  63. package/dist/elements/DeleteDocument/index.js.map +1 -1
  64. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  65. package/dist/elements/DeleteMany/index.js +17 -6
  66. package/dist/elements/DeleteMany/index.js.map +1 -1
  67. package/dist/elements/DocumentControls/index.d.ts +14 -8
  68. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  69. package/dist/elements/DocumentControls/index.js +72 -51
  70. package/dist/elements/DocumentControls/index.js.map +1 -1
  71. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  72. package/dist/elements/DocumentDrawer/DrawerContent.js +106 -239
  73. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  74. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +5 -0
  75. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -0
  76. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +82 -0
  77. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -0
  78. package/dist/elements/DocumentDrawer/DrawerHeader/index.scss +73 -0
  79. package/dist/elements/DocumentDrawer/Provider.d.ts +26 -0
  80. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -0
  81. package/dist/elements/DocumentDrawer/Provider.js +20 -0
  82. package/dist/elements/DocumentDrawer/Provider.js.map +1 -0
  83. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  84. package/dist/elements/DocumentDrawer/index.js +41 -37
  85. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  86. package/dist/elements/DocumentDrawer/index.scss +0 -50
  87. package/dist/elements/DocumentDrawer/types.d.ts +3 -5
  88. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  89. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  90. package/dist/elements/DocumentFields/index.d.ts +5 -5
  91. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  92. package/dist/elements/DocumentFields/index.js +113 -49
  93. package/dist/elements/DocumentFields/index.js.map +1 -1
  94. package/dist/elements/DocumentLocked/index.d.ts +12 -0
  95. package/dist/elements/DocumentLocked/index.d.ts.map +1 -0
  96. package/dist/elements/DocumentLocked/index.js +155 -0
  97. package/dist/elements/DocumentLocked/index.js.map +1 -0
  98. package/dist/elements/DocumentLocked/index.scss +40 -0
  99. package/dist/elements/DocumentTakeOver/index.d.ts +8 -0
  100. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -0
  101. package/dist/elements/DocumentTakeOver/index.js +101 -0
  102. package/dist/elements/DocumentTakeOver/index.js.map +1 -0
  103. package/dist/elements/DocumentTakeOver/index.scss +39 -0
  104. package/dist/elements/Drawer/index.d.ts +5 -0
  105. package/dist/elements/Drawer/index.d.ts.map +1 -1
  106. package/dist/elements/Drawer/index.js +53 -30
  107. package/dist/elements/Drawer/index.js.map +1 -1
  108. package/dist/elements/DuplicateDocument/index.d.ts +2 -2
  109. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  110. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  111. package/dist/elements/EditMany/index.d.ts +1 -2
  112. package/dist/elements/EditMany/index.d.ts.map +1 -1
  113. package/dist/elements/EditMany/index.js +135 -207
  114. package/dist/elements/EditMany/index.js.map +1 -1
  115. package/dist/elements/EmailAndUsername/index.d.ts +16 -0
  116. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -0
  117. package/dist/elements/EmailAndUsername/index.js +42 -0
  118. package/dist/elements/EmailAndUsername/index.js.map +1 -0
  119. package/dist/elements/FieldSelect/index.d.ts +5 -5
  120. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  121. package/dist/elements/FieldSelect/index.js +36 -45
  122. package/dist/elements/FieldSelect/index.js.map +1 -1
  123. package/dist/elements/HydrateAuthProvider/index.d.ts +2 -2
  124. package/dist/elements/HydrateAuthProvider/index.d.ts.map +1 -1
  125. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  126. package/dist/elements/LeaveWithoutSaving/index.d.ts +4 -0
  127. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -0
  128. package/dist/elements/LeaveWithoutSaving/index.js +167 -0
  129. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -0
  130. package/dist/elements/LeaveWithoutSaving/index.scss +39 -0
  131. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +9 -0
  132. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -0
  133. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +136 -0
  134. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -0
  135. package/dist/elements/ListControls/index.d.ts +6 -2
  136. package/dist/elements/ListControls/index.d.ts.map +1 -1
  137. package/dist/elements/ListControls/index.js +18 -21
  138. package/dist/elements/ListControls/index.js.map +1 -1
  139. package/dist/elements/ListDrawer/DrawerContent.d.ts +0 -2
  140. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  141. package/dist/elements/ListDrawer/DrawerContent.js +123 -611
  142. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  143. package/dist/elements/ListDrawer/Provider.d.ts +27 -0
  144. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -0
  145. package/dist/elements/ListDrawer/Provider.js +23 -0
  146. package/dist/elements/ListDrawer/Provider.js.map +1 -0
  147. package/dist/elements/ListDrawer/index.d.ts +0 -1
  148. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  149. package/dist/elements/ListDrawer/index.js +2 -1
  150. package/dist/elements/ListDrawer/index.js.map +1 -1
  151. package/dist/elements/ListDrawer/types.d.ts +6 -12
  152. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  153. package/dist/elements/ListDrawer/types.js.map +1 -1
  154. package/dist/elements/Locked/index.d.ts.map +1 -1
  155. package/dist/elements/Locked/index.js +2 -5
  156. package/dist/elements/Locked/index.js.map +1 -1
  157. package/dist/elements/Logout/index.d.ts.map +1 -1
  158. package/dist/elements/Logout/index.js +25 -66
  159. package/dist/elements/Logout/index.js.map +1 -1
  160. package/dist/elements/Nav/NavToggler/index.d.ts.map +1 -1
  161. package/dist/elements/Nav/NavToggler/index.js +1 -1
  162. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  163. package/dist/elements/NavGroup/index.d.ts +1 -0
  164. package/dist/elements/NavGroup/index.d.ts.map +1 -1
  165. package/dist/elements/NavGroup/index.js +69 -90
  166. package/dist/elements/NavGroup/index.js.map +1 -1
  167. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  168. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  169. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  170. package/dist/elements/PreviewButton/index.d.ts +1 -6
  171. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  172. package/dist/elements/PreviewButton/index.js +1 -12
  173. package/dist/elements/PreviewButton/index.js.map +1 -1
  174. package/dist/elements/PreviewButton/usePreviewURL.js +2 -2
  175. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  176. package/dist/elements/PublishButton/index.d.ts +1 -7
  177. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  178. package/dist/elements/PublishButton/index.js +58 -48
  179. package/dist/elements/PublishButton/index.js.map +1 -1
  180. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  181. package/dist/elements/PublishMany/index.js +17 -6
  182. package/dist/elements/PublishMany/index.js.map +1 -1
  183. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  184. package/dist/elements/ReactSelect/index.js +1 -0
  185. package/dist/elements/ReactSelect/index.js.map +1 -1
  186. package/dist/elements/ReactSelect/index.scss +9 -1
  187. package/dist/elements/RelationshipTable/Pagination.d.ts +3 -0
  188. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -0
  189. package/dist/elements/RelationshipTable/Pagination.js +54 -0
  190. package/dist/elements/RelationshipTable/Pagination.js.map +1 -0
  191. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +1 -2
  192. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -1
  193. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +34 -41
  194. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  195. package/dist/elements/RelationshipTable/index.d.ts +4 -2
  196. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  197. package/dist/elements/RelationshipTable/index.js +139 -378
  198. package/dist/elements/RelationshipTable/index.js.map +1 -1
  199. package/dist/elements/RenderComponent/index.d.ts +7 -0
  200. package/dist/elements/RenderComponent/index.d.ts.map +1 -0
  201. package/dist/elements/RenderComponent/index.js +23 -0
  202. package/dist/elements/RenderComponent/index.js.map +1 -0
  203. package/dist/elements/RenderCustomComponent/index.d.ts +18 -0
  204. package/dist/elements/RenderCustomComponent/index.d.ts.map +1 -0
  205. package/dist/elements/RenderCustomComponent/index.js +17 -0
  206. package/dist/elements/RenderCustomComponent/index.js.map +1 -0
  207. package/dist/elements/RenderIfInViewport/index.d.ts +7 -0
  208. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -0
  209. package/dist/elements/RenderIfInViewport/index.js +63 -0
  210. package/dist/elements/RenderIfInViewport/index.js.map +1 -0
  211. package/dist/elements/RenderServerComponent/index.d.ts +13 -0
  212. package/dist/elements/RenderServerComponent/index.d.ts.map +1 -0
  213. package/dist/elements/RenderServerComponent/index.js +61 -0
  214. package/dist/elements/RenderServerComponent/index.js.map +1 -0
  215. package/dist/elements/SaveButton/index.d.ts +1 -7
  216. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  217. package/dist/elements/SaveButton/index.js +1 -12
  218. package/dist/elements/SaveButton/index.js.map +1 -1
  219. package/dist/elements/SaveDraftButton/index.d.ts +1 -7
  220. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  221. package/dist/elements/SaveDraftButton/index.js +5 -14
  222. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  223. package/dist/elements/SelectRow/index.d.ts +8 -1
  224. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  225. package/dist/elements/SelectRow/index.js +38 -39
  226. package/dist/elements/SelectRow/index.js.map +1 -1
  227. package/dist/elements/SortColumn/index.d.ts +2 -2
  228. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  229. package/dist/elements/SortColumn/index.js +33 -19
  230. package/dist/elements/SortColumn/index.js.map +1 -1
  231. package/dist/elements/Status/index.d.ts.map +1 -1
  232. package/dist/elements/Status/index.js +71 -66
  233. package/dist/elements/Status/index.js.map +1 -1
  234. package/dist/elements/StayLoggedIn/index.scss +1 -0
  235. package/dist/elements/StepNav/index.d.ts +2 -1
  236. package/dist/elements/StepNav/index.d.ts.map +1 -1
  237. package/dist/elements/StepNav/index.js +30 -23
  238. package/dist/elements/StepNav/index.js.map +1 -1
  239. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +1 -1
  240. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
  241. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  242. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +1 -1
  243. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  244. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  245. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +1 -1
  246. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  247. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  248. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +1 -1
  249. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  250. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  251. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +1 -1
  252. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  253. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  254. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
  255. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  256. package/dist/elements/Table/DefaultCell/fields/File/index.js +3 -7
  257. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  258. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +1 -1
  259. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  260. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  261. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +1 -1
  262. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  263. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +11 -12
  264. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  265. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +1 -1
  266. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
  267. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  268. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +1 -1
  269. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
  270. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  271. package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
  272. package/dist/elements/Table/DefaultCell/index.d.ts +2 -2
  273. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  274. package/dist/elements/Table/DefaultCell/index.js +67 -94
  275. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  276. package/dist/elements/Table/RelationshipProvider/reducer.js +16 -16
  277. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  278. package/dist/elements/Table/index.d.ts +4 -7
  279. package/dist/elements/Table/index.d.ts.map +1 -1
  280. package/dist/elements/Table/index.js +38 -100
  281. package/dist/elements/Table/index.js.map +1 -1
  282. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts +11 -0
  283. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -0
  284. package/dist/elements/TableColumns/RenderDefaultCell/index.js +77 -0
  285. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -0
  286. package/dist/elements/TableColumns/RenderDefaultCell/index.scss +15 -0
  287. package/dist/elements/TableColumns/buildColumnState.d.ts +9 -3
  288. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  289. package/dist/elements/TableColumns/buildColumnState.js +131 -76
  290. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  291. package/dist/elements/TableColumns/filterFields.d.ts +2 -2
  292. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  293. package/dist/elements/TableColumns/filterFields.js +1 -3
  294. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  295. package/dist/elements/TableColumns/getInitialColumns.d.ts +3 -3
  296. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  297. package/dist/elements/TableColumns/getInitialColumns.js +1 -3
  298. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  299. package/dist/elements/TableColumns/index.d.ts +12 -9
  300. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  301. package/dist/elements/TableColumns/index.js +176 -245
  302. package/dist/elements/TableColumns/index.js.map +1 -1
  303. package/dist/elements/Thumbnail/createThumbnail.d.ts +5 -0
  304. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -0
  305. package/dist/elements/Thumbnail/createThumbnail.js +50 -0
  306. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -0
  307. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  308. package/dist/elements/Thumbnail/index.js.map +1 -1
  309. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  310. package/dist/elements/UnpublishMany/index.js +17 -6
  311. package/dist/elements/UnpublishMany/index.js.map +1 -1
  312. package/dist/elements/Upload/index.d.ts.map +1 -1
  313. package/dist/elements/Upload/index.js +21 -17
  314. package/dist/elements/Upload/index.js.map +1 -1
  315. package/dist/elements/Upload/index.scss +0 -6
  316. package/dist/elements/ViewDescription/index.d.ts +1 -2
  317. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  318. package/dist/elements/ViewDescription/index.js +9 -44
  319. package/dist/elements/ViewDescription/index.js.map +1 -1
  320. package/dist/elements/WhereBuilder/Condition/Date/index.js +3 -1
  321. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  322. package/dist/elements/WhereBuilder/Condition/Date/types.d.ts +5 -8
  323. package/dist/elements/WhereBuilder/Condition/Date/types.d.ts.map +1 -1
  324. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  325. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts +15 -0
  326. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts.map +1 -0
  327. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +70 -0
  328. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -0
  329. package/dist/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
  330. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  331. package/dist/elements/WhereBuilder/Condition/Number/types.d.ts +6 -4
  332. package/dist/elements/WhereBuilder/Condition/Number/types.d.ts.map +1 -1
  333. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  334. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  335. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +17 -10
  336. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  337. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +7 -7
  338. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  339. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +5 -6
  340. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
  341. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  342. package/dist/elements/WhereBuilder/Condition/Select/types.d.ts +7 -7
  343. package/dist/elements/WhereBuilder/Condition/Select/types.d.ts.map +1 -1
  344. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  345. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  346. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  347. package/dist/elements/WhereBuilder/Condition/Text/types.d.ts +6 -4
  348. package/dist/elements/WhereBuilder/Condition/Text/types.d.ts.map +1 -1
  349. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  350. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  351. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  352. package/dist/elements/WhereBuilder/Condition/index.js +111 -137
  353. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  354. package/dist/elements/WhereBuilder/Condition/types.d.ts +7 -1
  355. package/dist/elements/WhereBuilder/Condition/types.d.ts.map +1 -1
  356. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  357. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  358. package/dist/elements/WhereBuilder/index.js +13 -10
  359. package/dist/elements/WhereBuilder/index.js.map +1 -1
  360. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  361. package/dist/elements/WhereBuilder/reduceClientFields.js +1 -7
  362. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  363. package/dist/elements/WhereBuilder/types.d.ts +2 -3
  364. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  365. package/dist/elements/WhereBuilder/types.js.map +1 -1
  366. package/dist/exports/client/{CodeEditor-4A6256PR.js → CodeEditor-DRTCMRCY.js} +6 -6
  367. package/dist/exports/client/CodeEditor-DRTCMRCY.js.map +8 -0
  368. package/dist/exports/client/{DatePicker-HNJMUG32.js → DatePicker-23XPGPYP.js} +2 -2
  369. package/dist/exports/client/chunk-PELL3UMP.js +30 -0
  370. package/dist/exports/client/{chunk-IHJK2MAT.js.map → chunk-PELL3UMP.js.map} +4 -4
  371. package/dist/exports/client/chunk-PNHVQDTJ.js +14 -0
  372. package/dist/exports/client/chunk-PNHVQDTJ.js.map +8 -0
  373. package/dist/exports/client/index.d.ts +29 -13
  374. package/dist/exports/client/index.d.ts.map +1 -1
  375. package/dist/exports/client/index.js +22 -19
  376. package/dist/exports/client/index.js.map +4 -4
  377. package/dist/exports/rsc/index.d.ts +2 -0
  378. package/dist/exports/rsc/index.d.ts.map +1 -0
  379. package/dist/exports/rsc/index.js +2 -0
  380. package/dist/exports/rsc/index.js.map +1 -0
  381. package/dist/exports/shared/index.d.ts +8 -5
  382. package/dist/exports/shared/index.d.ts.map +1 -1
  383. package/dist/exports/shared/index.js +2 -2
  384. package/dist/exports/shared/index.js.map +4 -4
  385. package/dist/fields/Array/ArrayRow.d.ts +4 -4
  386. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  387. package/dist/fields/Array/ArrayRow.js +37 -40
  388. package/dist/fields/Array/ArrayRow.js.map +1 -1
  389. package/dist/fields/Array/index.d.ts +2 -6
  390. package/dist/fields/Array/index.d.ts.map +1 -1
  391. package/dist/fields/Array/index.js +169 -179
  392. package/dist/fields/Array/index.js.map +1 -1
  393. package/dist/fields/Blocks/BlockRow.d.ts +5 -4
  394. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  395. package/dist/fields/Blocks/BlockRow.js +68 -57
  396. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  397. package/dist/fields/Blocks/index.d.ts +2 -5
  398. package/dist/fields/Blocks/index.d.ts.map +1 -1
  399. package/dist/fields/Blocks/index.js +156 -172
  400. package/dist/fields/Blocks/index.js.map +1 -1
  401. package/dist/fields/Checkbox/Input.d.ts +5 -7
  402. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  403. package/dist/fields/Checkbox/Input.js +15 -19
  404. package/dist/fields/Checkbox/Input.js.map +1 -1
  405. package/dist/fields/Checkbox/index.d.ts +2 -4
  406. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  407. package/dist/fields/Checkbox/index.js +75 -201
  408. package/dist/fields/Checkbox/index.js.map +1 -1
  409. package/dist/fields/Code/index.d.ts +3 -5
  410. package/dist/fields/Code/index.d.ts.map +1 -1
  411. package/dist/fields/Code/index.js +74 -192
  412. package/dist/fields/Code/index.js.map +1 -1
  413. package/dist/fields/Collapsible/index.d.ts +3 -143
  414. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  415. package/dist/fields/Collapsible/index.js +111 -201
  416. package/dist/fields/Collapsible/index.js.map +1 -1
  417. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  418. package/dist/fields/ConfirmPassword/index.js +0 -2
  419. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  420. package/dist/fields/DateTime/index.d.ts +2 -4
  421. package/dist/fields/DateTime/index.d.ts.map +1 -1
  422. package/dist/fields/DateTime/index.js +79 -186
  423. package/dist/fields/DateTime/index.js.map +1 -1
  424. package/dist/fields/Email/index.d.ts +2 -5
  425. package/dist/fields/Email/index.d.ts.map +1 -1
  426. package/dist/fields/Email/index.js +77 -183
  427. package/dist/fields/Email/index.js.map +1 -1
  428. package/dist/fields/FieldDescription/index.d.ts +3 -2
  429. package/dist/fields/FieldDescription/index.d.ts.map +1 -1
  430. package/dist/fields/FieldDescription/index.js +4 -23
  431. package/dist/fields/FieldDescription/index.js.map +1 -1
  432. package/dist/fields/FieldError/index.d.ts +3 -2
  433. package/dist/fields/FieldError/index.d.ts.map +1 -1
  434. package/dist/fields/FieldError/index.js +2 -23
  435. package/dist/fields/FieldError/index.js.map +1 -1
  436. package/dist/fields/FieldLabel/index.d.ts +3 -2
  437. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  438. package/dist/fields/FieldLabel/index.js +61 -59
  439. package/dist/fields/FieldLabel/index.js.map +1 -1
  440. package/dist/fields/FieldLabel/index.scss +24 -2
  441. package/dist/fields/Group/index.d.ts +2 -5
  442. package/dist/fields/Group/index.d.ts.map +1 -1
  443. package/dist/fields/Group/index.js +72 -162
  444. package/dist/fields/Group/index.js.map +1 -1
  445. package/dist/fields/Hidden/index.d.ts.map +1 -1
  446. package/dist/fields/Hidden/index.js +30 -41
  447. package/dist/fields/Hidden/index.js.map +1 -1
  448. package/dist/fields/JSON/index.d.ts +2 -4
  449. package/dist/fields/JSON/index.d.ts.map +1 -1
  450. package/dist/fields/JSON/index.js +48 -53
  451. package/dist/fields/JSON/index.js.map +1 -1
  452. package/dist/fields/Join/index.d.ts +4 -5
  453. package/dist/fields/Join/index.d.ts.map +1 -1
  454. package/dist/fields/Join/index.js +41 -32
  455. package/dist/fields/Join/index.js.map +1 -1
  456. package/dist/fields/Number/index.d.ts +2 -4
  457. package/dist/fields/Number/index.d.ts.map +1 -1
  458. package/dist/fields/Number/index.js +146 -295
  459. package/dist/fields/Number/index.js.map +1 -1
  460. package/dist/fields/Password/index.d.ts.map +1 -1
  461. package/dist/fields/Password/index.js +79 -160
  462. package/dist/fields/Password/index.js.map +1 -1
  463. package/dist/fields/Password/input.d.ts.map +1 -1
  464. package/dist/fields/Password/input.js +51 -65
  465. package/dist/fields/Password/input.js.map +1 -1
  466. package/dist/fields/Password/types.d.ts +28 -12
  467. package/dist/fields/Password/types.d.ts.map +1 -1
  468. package/dist/fields/Password/types.js.map +1 -1
  469. package/dist/fields/Point/index.d.ts +2 -4
  470. package/dist/fields/Point/index.d.ts.map +1 -1
  471. package/dist/fields/Point/index.js +116 -252
  472. package/dist/fields/Point/index.js.map +1 -1
  473. package/dist/fields/RadioGroup/index.d.ts +3 -4
  474. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  475. package/dist/fields/RadioGroup/index.js +101 -230
  476. package/dist/fields/RadioGroup/index.js.map +1 -1
  477. package/dist/fields/Relationship/index.d.ts +2 -4
  478. package/dist/fields/Relationship/index.d.ts.map +1 -1
  479. package/dist/fields/Relationship/index.js +68 -72
  480. package/dist/fields/Relationship/index.js.map +1 -1
  481. package/dist/fields/Relationship/optionsReducer.js +42 -42
  482. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  483. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +1 -1
  484. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  485. package/dist/fields/Relationship/select-components/SingleValue/index.js +1 -1
  486. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  487. package/dist/fields/Row/index.d.ts +2 -8
  488. package/dist/fields/Row/index.d.ts.map +1 -1
  489. package/dist/fields/Row/index.js +28 -69
  490. package/dist/fields/Row/index.js.map +1 -1
  491. package/dist/fields/Select/Input.d.ts +7 -13
  492. package/dist/fields/Select/Input.d.ts.map +1 -1
  493. package/dist/fields/Select/Input.js +77 -114
  494. package/dist/fields/Select/Input.js.map +1 -1
  495. package/dist/fields/Select/index.d.ts +2 -4
  496. package/dist/fields/Select/index.d.ts.map +1 -1
  497. package/dist/fields/Select/index.js +28 -31
  498. package/dist/fields/Select/index.js.map +1 -1
  499. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  500. package/dist/fields/Tabs/Tab/index.js +61 -36
  501. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  502. package/dist/fields/Tabs/index.d.ts +2 -5
  503. package/dist/fields/Tabs/index.d.ts.map +1 -1
  504. package/dist/fields/Tabs/index.js +315 -142
  505. package/dist/fields/Tabs/index.js.map +1 -1
  506. package/dist/fields/Text/Input.d.ts.map +1 -1
  507. package/dist/fields/Text/Input.js +58 -93
  508. package/dist/fields/Text/Input.js.map +1 -1
  509. package/dist/fields/Text/index.d.ts +2 -4
  510. package/dist/fields/Text/index.d.ts.map +1 -1
  511. package/dist/fields/Text/index.js +93 -167
  512. package/dist/fields/Text/index.js.map +1 -1
  513. package/dist/fields/Text/types.d.ts +7 -12
  514. package/dist/fields/Text/types.d.ts.map +1 -1
  515. package/dist/fields/Text/types.js.map +1 -1
  516. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  517. package/dist/fields/Textarea/Input.js +53 -87
  518. package/dist/fields/Textarea/Input.js.map +1 -1
  519. package/dist/fields/Textarea/index.d.ts +2 -4
  520. package/dist/fields/Textarea/index.d.ts.map +1 -1
  521. package/dist/fields/Textarea/index.js +64 -117
  522. package/dist/fields/Textarea/index.js.map +1 -1
  523. package/dist/fields/Textarea/types.d.ts +7 -12
  524. package/dist/fields/Textarea/types.d.ts.map +1 -1
  525. package/dist/fields/Textarea/types.js.map +1 -1
  526. package/dist/fields/Upload/HasMany/index.d.ts +2 -0
  527. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  528. package/dist/fields/Upload/HasMany/index.js +22 -18
  529. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  530. package/dist/fields/Upload/HasMany/index.scss +8 -0
  531. package/dist/fields/Upload/HasOne/index.d.ts +2 -0
  532. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
  533. package/dist/fields/Upload/HasOne/index.js +2 -0
  534. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  535. package/dist/fields/Upload/Input.d.ts +8 -8
  536. package/dist/fields/Upload/Input.d.ts.map +1 -1
  537. package/dist/fields/Upload/Input.js +153 -148
  538. package/dist/fields/Upload/Input.js.map +1 -1
  539. package/dist/fields/Upload/RelationshipContent/index.d.ts +2 -0
  540. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -1
  541. package/dist/fields/Upload/RelationshipContent/index.js +61 -42
  542. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  543. package/dist/fields/Upload/index.d.ts.map +1 -1
  544. package/dist/fields/Upload/index.js +64 -119
  545. package/dist/fields/Upload/index.js.map +1 -1
  546. package/dist/fields/Upload/types.d.ts +4 -0
  547. package/dist/fields/Upload/types.d.ts.map +1 -0
  548. package/dist/fields/Upload/types.js.map +1 -0
  549. package/dist/fields/index.d.ts +13 -2
  550. package/dist/fields/index.d.ts.map +1 -1
  551. package/dist/fields/index.js +11 -0
  552. package/dist/fields/index.js.map +1 -1
  553. package/dist/fields/mergeFieldStyles.d.ts +3 -0
  554. package/dist/fields/mergeFieldStyles.d.ts.map +1 -0
  555. package/dist/fields/mergeFieldStyles.js +13 -0
  556. package/dist/fields/mergeFieldStyles.js.map +1 -0
  557. package/dist/forms/Form/context.d.ts +2 -0
  558. package/dist/forms/Form/context.d.ts.map +1 -1
  559. package/dist/forms/Form/context.js.map +1 -1
  560. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  561. package/dist/forms/Form/fieldReducer.js +181 -154
  562. package/dist/forms/Form/fieldReducer.js.map +1 -1
  563. package/dist/forms/Form/index.d.ts.map +1 -1
  564. package/dist/forms/Form/index.js +80 -74
  565. package/dist/forms/Form/index.js.map +1 -1
  566. package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
  567. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  568. package/dist/forms/Form/mergeServerFormState.js +17 -4
  569. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  570. package/dist/forms/Form/reduceToSerializableFields.d.ts +7 -0
  571. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -0
  572. package/dist/forms/Form/reduceToSerializableFields.js +20 -0
  573. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -0
  574. package/dist/forms/Form/types.d.ts +15 -12
  575. package/dist/forms/Form/types.d.ts.map +1 -1
  576. package/dist/forms/Form/types.js.map +1 -1
  577. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  578. package/dist/forms/NullifyField/index.js +3 -1
  579. package/dist/forms/NullifyField/index.js.map +1 -1
  580. package/dist/forms/RenderFields/RenderField.d.ts +6 -18
  581. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  582. package/dist/forms/RenderFields/RenderField.js +290 -69
  583. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  584. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  585. package/dist/forms/RenderFields/index.js +89 -101
  586. package/dist/forms/RenderFields/index.js.map +1 -1
  587. package/dist/forms/RenderFields/types.d.ts +9 -10
  588. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  589. package/dist/forms/RenderFields/types.js.map +1 -1
  590. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  591. package/dist/forms/RowLabel/index.js +15 -23
  592. package/dist/forms/RowLabel/index.js.map +1 -1
  593. package/dist/forms/RowLabel/types.d.ts +2 -5
  594. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  595. package/dist/forms/RowLabel/types.js.map +1 -1
  596. package/dist/forms/Submit/index.d.ts.map +1 -1
  597. package/dist/forms/Submit/index.js +7 -2
  598. package/dist/forms/Submit/index.js.map +1 -1
  599. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +1 -1
  600. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  601. package/dist/forms/WatchChildErrors/buildPathSegments.js +3 -3
  602. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  603. package/dist/forms/WatchChildErrors/index.d.ts +1 -1
  604. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  605. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  606. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/addFieldStatePromise.d.ts +14 -4
  607. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -0
  608. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/addFieldStatePromise.js +171 -32
  609. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -0
  610. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -0
  611. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -0
  612. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -0
  613. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -0
  614. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -0
  615. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/promise.js +17 -17
  616. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -0
  617. package/dist/forms/{buildStateFromSchema/buildStateFromSchema.spec.js → fieldSchemasToFormState/fieldSchemasToFormState.spec.js} +9 -9
  618. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -0
  619. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts.map +1 -0
  620. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.js.map +1 -0
  621. package/dist/forms/fieldSchemasToFormState/index.d.ts +34 -0
  622. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -0
  623. package/dist/forms/fieldSchemasToFormState/index.js +58 -0
  624. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -0
  625. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/iterateFields.d.ts +15 -8
  626. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -0
  627. package/dist/forms/fieldSchemasToFormState/iterateFields.js +73 -0
  628. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -0
  629. package/dist/forms/fieldSchemasToFormState/renderField.d.ts +3 -0
  630. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -0
  631. package/dist/forms/fieldSchemasToFormState/renderField.js +222 -0
  632. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -0
  633. package/dist/forms/fieldSchemasToFormState/types.d.ts +25 -0
  634. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -0
  635. package/dist/forms/fieldSchemasToFormState/types.js +2 -0
  636. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -0
  637. package/dist/forms/useField/index.d.ts +1 -1
  638. package/dist/forms/useField/index.d.ts.map +1 -1
  639. package/dist/forms/useField/index.js +63 -73
  640. package/dist/forms/useField/index.js.map +1 -1
  641. package/dist/forms/useField/types.d.ts +3 -8
  642. package/dist/forms/useField/types.d.ts.map +1 -1
  643. package/dist/forms/useField/types.js.map +1 -1
  644. package/dist/forms/withCondition/WatchCondition.d.ts +1 -4
  645. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  646. package/dist/forms/withCondition/WatchCondition.js +21 -42
  647. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  648. package/dist/forms/withCondition/index.d.ts +3 -1
  649. package/dist/forms/withCondition/index.d.ts.map +1 -1
  650. package/dist/forms/withCondition/index.js +9 -31
  651. package/dist/forms/withCondition/index.js.map +1 -1
  652. package/dist/graphics/Account/index.d.ts.map +1 -1
  653. package/dist/graphics/Account/index.js +17 -38
  654. package/dist/graphics/Account/index.js.map +1 -1
  655. package/dist/graphics/ExternalLink/index.d.ts +1 -0
  656. package/dist/graphics/ExternalLink/index.d.ts.map +1 -1
  657. package/dist/graphics/ExternalLink/index.js +6 -9
  658. package/dist/graphics/ExternalLink/index.js.map +1 -1
  659. package/dist/graphics/ExternalLink/index.scss +14 -0
  660. package/dist/hooks/useDebouncedEffect.d.ts +1 -1
  661. package/dist/hooks/useDebouncedEffect.d.ts.map +1 -1
  662. package/dist/hooks/useDebouncedEffect.js +1 -1
  663. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  664. package/dist/hooks/useIgnoredEffect.d.ts +4 -0
  665. package/dist/hooks/useIgnoredEffect.d.ts.map +1 -1
  666. package/dist/hooks/useIgnoredEffect.js +13 -0
  667. package/dist/hooks/useIgnoredEffect.js.map +1 -1
  668. package/dist/hooks/usePayloadAPI.js +1 -1
  669. package/dist/hooks/usePayloadAPI.js.map +1 -1
  670. package/dist/hooks/useUseAsTitle.d.ts +1 -1
  671. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  672. package/dist/hooks/useUseAsTitle.js +4 -3
  673. package/dist/hooks/useUseAsTitle.js.map +1 -1
  674. package/dist/providers/Actions/index.d.ts +8 -4
  675. package/dist/providers/Actions/index.d.ts.map +1 -1
  676. package/dist/providers/Actions/index.js +13 -74
  677. package/dist/providers/Actions/index.js.map +1 -1
  678. package/dist/providers/Auth/index.d.ts +11 -6
  679. package/dist/providers/Auth/index.d.ts.map +1 -1
  680. package/dist/providers/Auth/index.js +49 -58
  681. package/dist/providers/Auth/index.js.map +1 -1
  682. package/dist/providers/Config/index.d.ts +11 -2
  683. package/dist/providers/Config/index.d.ts.map +1 -1
  684. package/dist/providers/Config/index.js +8 -6
  685. package/dist/providers/Config/index.js.map +1 -1
  686. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  687. package/dist/providers/DocumentInfo/index.js +95 -352
  688. package/dist/providers/DocumentInfo/index.js.map +1 -1
  689. package/dist/providers/DocumentInfo/types.d.ts +21 -28
  690. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  691. package/dist/providers/DocumentInfo/types.js.map +1 -1
  692. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +16 -0
  693. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -0
  694. package/dist/providers/DocumentInfo/useGetDocPermissions.js +77 -0
  695. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -0
  696. package/dist/providers/EditDepth/index.d.ts +0 -1
  697. package/dist/providers/EditDepth/index.d.ts.map +1 -1
  698. package/dist/providers/EditDepth/index.js +22 -7
  699. package/dist/providers/EditDepth/index.js.map +1 -1
  700. package/dist/providers/ListQuery/index.d.ts +6 -23
  701. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  702. package/dist/providers/ListQuery/index.js +52 -57
  703. package/dist/providers/ListQuery/index.js.map +1 -1
  704. package/dist/providers/Preferences/index.d.ts.map +1 -1
  705. package/dist/providers/Preferences/index.js +2 -4
  706. package/dist/providers/Preferences/index.js.map +1 -1
  707. package/dist/providers/Root/index.d.ts +3 -2
  708. package/dist/providers/Root/index.d.ts.map +1 -1
  709. package/dist/providers/Root/index.js +11 -14
  710. package/dist/providers/Root/index.js.map +1 -1
  711. package/dist/providers/Selection/index.d.ts.map +1 -1
  712. package/dist/providers/Selection/index.js +3 -3
  713. package/dist/providers/Selection/index.js.map +1 -1
  714. package/dist/providers/ServerFunctions/index.d.ts +42 -0
  715. package/dist/providers/ServerFunctions/index.d.ts.map +1 -0
  716. package/dist/providers/ServerFunctions/index.js +108 -0
  717. package/dist/providers/ServerFunctions/index.js.map +1 -0
  718. package/dist/scss/vars.scss +2 -2
  719. package/dist/styles.css +1 -1
  720. package/dist/utilities/abortAndIgnore.d.ts +2 -0
  721. package/dist/utilities/abortAndIgnore.d.ts.map +1 -0
  722. package/dist/utilities/abortAndIgnore.js +10 -0
  723. package/dist/utilities/abortAndIgnore.js.map +1 -0
  724. package/dist/utilities/buildFieldSchemaMap/index.d.ts +9 -3
  725. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  726. package/dist/utilities/buildFieldSchemaMap/index.js +58 -36
  727. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  728. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +4 -4
  729. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  730. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +55 -30
  731. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  732. package/dist/utilities/buildFormState.d.ts +24 -7
  733. package/dist/utilities/buildFormState.d.ts.map +1 -1
  734. package/dist/utilities/buildFormState.js +149 -216
  735. package/dist/utilities/buildFormState.js.map +1 -1
  736. package/dist/utilities/buildTableState.d.ts +31 -0
  737. package/dist/utilities/buildTableState.d.ts.map +1 -0
  738. package/dist/utilities/buildTableState.js +200 -0
  739. package/dist/utilities/buildTableState.js.map +1 -0
  740. package/dist/utilities/flattenFieldMap.d.ts +2 -2
  741. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  742. package/dist/utilities/flattenFieldMap.js +5 -3
  743. package/dist/utilities/flattenFieldMap.js.map +1 -1
  744. package/dist/utilities/groupNavItems.d.ts +10 -6
  745. package/dist/utilities/groupNavItems.d.ts.map +1 -1
  746. package/dist/utilities/groupNavItems.js +15 -3
  747. package/dist/utilities/groupNavItems.js.map +1 -1
  748. package/dist/utilities/handleFormStateLocking.d.ts +16 -0
  749. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -0
  750. package/dist/utilities/handleFormStateLocking.js +129 -0
  751. package/dist/utilities/handleFormStateLocking.js.map +1 -0
  752. package/dist/utilities/handleTakeOver.d.ts +2 -2
  753. package/dist/utilities/handleTakeOver.d.ts.map +1 -1
  754. package/dist/utilities/handleTakeOver.js.map +1 -1
  755. package/dist/utilities/hasSavePermission.d.ts +2 -2
  756. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  757. package/dist/utilities/hasSavePermission.js +2 -2
  758. package/dist/utilities/hasSavePermission.js.map +1 -1
  759. package/dist/utilities/isClientUserObject.d.ts +3 -0
  760. package/dist/utilities/isClientUserObject.d.ts.map +1 -0
  761. package/dist/utilities/isClientUserObject.js +4 -0
  762. package/dist/utilities/isClientUserObject.js.map +1 -0
  763. package/dist/utilities/mergeListSearchAndWhere.d.ts +10 -0
  764. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -0
  765. package/dist/utilities/mergeListSearchAndWhere.js +47 -0
  766. package/dist/utilities/mergeListSearchAndWhere.js.map +1 -0
  767. package/dist/utilities/removeUndefined.d.ts +2 -0
  768. package/dist/utilities/removeUndefined.d.ts.map +1 -0
  769. package/dist/utilities/removeUndefined.js +4 -0
  770. package/dist/utilities/removeUndefined.js.map +1 -0
  771. package/dist/utilities/renderTable.d.ts +24 -0
  772. package/dist/utilities/renderTable.d.ts.map +1 -0
  773. package/dist/utilities/renderTable.js +64 -0
  774. package/dist/utilities/renderTable.js.map +1 -0
  775. package/dist/views/Edit/Auth/APIKey.d.ts +6 -0
  776. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -0
  777. package/dist/views/Edit/Auth/APIKey.js +123 -0
  778. package/dist/views/Edit/Auth/APIKey.js.map +1 -0
  779. package/dist/views/Edit/Auth/index.d.ts +5 -0
  780. package/dist/views/Edit/Auth/index.d.ts.map +1 -0
  781. package/dist/views/Edit/Auth/index.js +337 -0
  782. package/dist/views/Edit/Auth/index.js.map +1 -0
  783. package/dist/views/Edit/Auth/index.scss +78 -0
  784. package/dist/views/Edit/Auth/types.d.ts +17 -0
  785. package/dist/views/Edit/Auth/types.d.ts.map +1 -0
  786. package/dist/views/Edit/Auth/types.js +2 -0
  787. package/dist/views/Edit/Auth/types.js.map +1 -0
  788. package/dist/views/Edit/SetDocumentStepNav/index.d.ts +11 -0
  789. package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -0
  790. package/dist/views/Edit/SetDocumentStepNav/index.js +135 -0
  791. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -0
  792. package/dist/views/Edit/SetDocumentTitle/index.d.ts +8 -0
  793. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -0
  794. package/dist/views/Edit/SetDocumentTitle/index.js +83 -0
  795. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -0
  796. package/dist/views/Edit/index.d.ts +5 -0
  797. package/dist/views/Edit/index.d.ts.map +1 -0
  798. package/dist/views/Edit/index.js +397 -0
  799. package/dist/views/Edit/index.js.map +1 -0
  800. package/dist/views/Edit/index.scss +23 -0
  801. package/dist/views/Edit/types.d.ts +6 -0
  802. package/dist/views/Edit/types.d.ts.map +1 -0
  803. package/dist/views/Edit/types.js +2 -0
  804. package/dist/views/Edit/types.js.map +1 -0
  805. package/dist/views/List/ListHeader/index.d.ts +18 -0
  806. package/dist/views/List/ListHeader/index.d.ts.map +1 -0
  807. package/dist/views/List/ListHeader/index.js +141 -0
  808. package/dist/views/List/ListHeader/index.js.map +1 -0
  809. package/dist/{elements/ListDrawer → views/List/ListHeader}/index.scss +12 -1
  810. package/dist/views/List/index.d.ts +27 -0
  811. package/dist/views/List/index.d.ts.map +1 -0
  812. package/dist/views/List/index.js +294 -0
  813. package/dist/views/List/index.js.map +1 -0
  814. package/dist/views/List/index.scss +179 -0
  815. package/dist/views/List/types.d.ts +32 -0
  816. package/dist/views/List/types.d.ts.map +1 -0
  817. package/dist/views/List/types.js +2 -0
  818. package/dist/views/List/types.js.map +1 -0
  819. package/license.md +22 -0
  820. package/package.json +40 -16
  821. package/dist/elements/ListHeader/index.d.ts +0 -10
  822. package/dist/elements/ListHeader/index.d.ts.map +0 -1
  823. package/dist/elements/ListHeader/index.js +0 -17
  824. package/dist/elements/ListHeader/index.js.map +0 -1
  825. package/dist/elements/ListHeader/index.scss +0 -12
  826. package/dist/elements/RelationshipTable/TableWrapper.d.ts +0 -8
  827. package/dist/elements/RelationshipTable/TableWrapper.d.ts.map +0 -1
  828. package/dist/elements/RelationshipTable/TableWrapper.js +0 -69
  829. package/dist/elements/RelationshipTable/TableWrapper.js.map +0 -1
  830. package/dist/elements/Table/RenderCell.d.ts +0 -11
  831. package/dist/elements/Table/RenderCell.d.ts.map +0 -1
  832. package/dist/elements/Table/RenderCell.js +0 -30
  833. package/dist/elements/Table/RenderCell.js.map +0 -1
  834. package/dist/elements/Table/TableCellProvider/index.d.ts +0 -19
  835. package/dist/elements/Table/TableCellProvider/index.d.ts.map +0 -1
  836. package/dist/elements/Table/TableCellProvider/index.js +0 -48
  837. package/dist/elements/Table/TableCellProvider/index.js.map +0 -1
  838. package/dist/exports/client/CodeEditor-4A6256PR.js.map +0 -8
  839. package/dist/exports/client/chunk-6IWEPNUV.js +0 -14
  840. package/dist/exports/client/chunk-6IWEPNUV.js.map +0 -8
  841. package/dist/exports/client/chunk-IHJK2MAT.js +0 -30
  842. package/dist/forms/FieldPropsProvider/index.d.ts +0 -31
  843. package/dist/forms/FieldPropsProvider/index.d.ts.map +0 -1
  844. package/dist/forms/FieldPropsProvider/index.js +0 -44
  845. package/dist/forms/FieldPropsProvider/index.js.map +0 -1
  846. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +0 -1
  847. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +0 -1
  848. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +0 -1
  849. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +0 -1
  850. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +0 -1
  851. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +0 -1
  852. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +0 -1
  853. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +0 -1
  854. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +0 -1
  855. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +0 -1
  856. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +0 -1
  857. package/dist/forms/buildStateFromSchema/index.d.ts +0 -28
  858. package/dist/forms/buildStateFromSchema/index.d.ts.map +0 -1
  859. package/dist/forms/buildStateFromSchema/index.js +0 -42
  860. package/dist/forms/buildStateFromSchema/index.js.map +0 -1
  861. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +0 -1
  862. package/dist/forms/buildStateFromSchema/iterateFields.js +0 -62
  863. package/dist/forms/buildStateFromSchema/iterateFields.js.map +0 -1
  864. package/dist/providers/Actions/SetViewActions/index.d.ts +0 -6
  865. package/dist/providers/Actions/SetViewActions/index.d.ts.map +0 -1
  866. package/dist/providers/Actions/SetViewActions/index.js +0 -35
  867. package/dist/providers/Actions/SetViewActions/index.js.map +0 -1
  868. package/dist/providers/Config/RenderComponent.d.ts +0 -12
  869. package/dist/providers/Config/RenderComponent.d.ts.map +0 -1
  870. package/dist/providers/Config/RenderComponent.js +0 -77
  871. package/dist/providers/Config/RenderComponent.js.map +0 -1
  872. package/dist/providers/Config/createClientConfig/collections.d.ts +0 -24
  873. package/dist/providers/Config/createClientConfig/collections.d.ts.map +0 -1
  874. package/dist/providers/Config/createClientConfig/collections.js +0 -203
  875. package/dist/providers/Config/createClientConfig/collections.js.map +0 -1
  876. package/dist/providers/Config/createClientConfig/fields.d.ts +0 -22
  877. package/dist/providers/Config/createClientConfig/fields.d.ts.map +0 -1
  878. package/dist/providers/Config/createClientConfig/fields.js +0 -333
  879. package/dist/providers/Config/createClientConfig/fields.js.map +0 -1
  880. package/dist/providers/Config/createClientConfig/getComponent.d.ts +0 -11
  881. package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +0 -1
  882. package/dist/providers/Config/createClientConfig/getComponent.js +0 -38
  883. package/dist/providers/Config/createClientConfig/getComponent.js.map +0 -1
  884. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts +0 -11
  885. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +0 -1
  886. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +0 -101
  887. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +0 -1
  888. package/dist/providers/Config/createClientConfig/globals.d.ts +0 -22
  889. package/dist/providers/Config/createClientConfig/globals.d.ts.map +0 -1
  890. package/dist/providers/Config/createClientConfig/globals.js +0 -114
  891. package/dist/providers/Config/createClientConfig/globals.js.map +0 -1
  892. package/dist/providers/Config/createClientConfig/index.d.ts +0 -21
  893. package/dist/providers/Config/createClientConfig/index.d.ts.map +0 -1
  894. package/dist/providers/Config/createClientConfig/index.js +0 -123
  895. package/dist/providers/Config/createClientConfig/index.js.map +0 -1
  896. package/dist/providers/FieldComponents/index.d.ts +0 -9
  897. package/dist/providers/FieldComponents/index.d.ts.map +0 -1
  898. package/dist/providers/FieldComponents/index.js +0 -18
  899. package/dist/providers/FieldComponents/index.js.map +0 -1
  900. package/dist/providers/ListInfo/index.d.ts +0 -29
  901. package/dist/providers/ListInfo/index.d.ts.map +0 -1
  902. package/dist/providers/ListInfo/index.js +0 -18
  903. package/dist/providers/ListInfo/index.js.map +0 -1
  904. package/dist/utilities/buildFieldSchemaMap/types.d.ts +0 -3
  905. package/dist/utilities/buildFieldSchemaMap/types.d.ts.map +0 -1
  906. package/dist/utilities/buildFieldSchemaMap/types.js.map +0 -1
  907. package/dist/utilities/getFormState.d.ts +0 -17
  908. package/dist/utilities/getFormState.d.ts.map +0 -1
  909. package/dist/utilities/getFormState.js +0 -34
  910. package/dist/utilities/getFormState.js.map +0 -1
  911. /package/dist/exports/client/{DatePicker-HNJMUG32.js.map → DatePicker-23XPGPYP.js.map} +0 -0
  912. /package/dist/{utilities/buildFieldSchemaMap → fields/Upload}/types.js +0 -0
  913. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/index.d.ts +0 -0
  914. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/index.js +0 -0
  915. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/iterateFields.d.ts +0 -0
  916. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/iterateFields.js +0 -0
  917. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/promise.d.ts +0 -0
  918. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/getFilterOptionsQuery.d.ts +0 -0
  919. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/getFilterOptionsQuery.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","qs","React","toast","fieldReducer","useConfig","useLocale","useTranslation","getFormState","hasSavePermission","getHasSavePermission","useLoadingOverlay","useBulkUpload","createFormData","formsManagementReducer","Context","createContext","activeIndex","addFiles","Promise","resolve","collectionSlug","docPermissions","undefined","forms","getFormDataRef","current","hasPublishPermission","hasSubmitted","isInitializing","removeFile","saveAllDocs","setActiveIndex","setFormTotalErrorCount","totalErrorCount","initialState","FormsManagerProvider","children","config","routes","api","serverURL","code","i18n","t","setHasSubmitted","useState","setDocPermissions","setHasSavePermission","setHasPublishPermission","hasInitializedState","setHasInitializedState","hasInitializedDocPermissions","setHasInitializedDocPermissions","setIsInitializing","state","dispatch","useReducer","toggleLoadingOverlay","closeModal","drawerSlug","initialFiles","onSuccess","hasInitializedWithFiles","useRef","initialStateRef","actionURL","initilizeSharedDocPermissions","useCallback","params","locale","docAccessURL","res","fetch","stringify","credentials","headers","language","method","json","publishedAccessJSON","body","JSON","_status","then","isEditing","update","permission","initializeSharedFormState","abortController","signal","abort","formStateWithoutFiles","apiRoute","operation","schemaPath","error","index","currentFormsData","type","map","form","i","errorCount","formState","files","isLoading","key","count","overrides","currentForms","newDocs","promises","loadingText","req","status","doc","push","errors","length","fieldErrors","nonFieldErrors","reduce","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","message","Array","isArray","data","forEach","dataError","field","all","remainingForms","filter","successCount","Math","max","success","acc","useEffect","_jsx","Provider","value","useFormsManager","useContext"],"sources":["../../../../src/elements/BulkUpload/FormsManager/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Data, DocumentPermissions, FormState } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport type { State } from './reducer.js'\n\nimport { fieldReducer } from '../../../forms/Form/fieldReducer.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { getFormState } from '../../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../../utilities/hasSavePermission.js'\nimport { useLoadingOverlay } from '../../LoadingOverlay/index.js'\nimport { useBulkUpload } from '../index.js'\nimport { createFormData } from './createFormData.js'\nimport { formsManagementReducer } from './reducer.js'\n\ntype FormsManagerContext = {\n readonly activeIndex: State['activeIndex']\n readonly addFiles: (filelist: FileList) => Promise<void>\n readonly collectionSlug: string\n readonly docPermissions?: DocumentPermissions\n readonly forms: State['forms']\n getFormDataRef: React.RefObject<() => Data>\n readonly hasPublishPermission: boolean\n readonly hasSavePermission: boolean\n readonly hasSubmitted: boolean\n readonly isInitializing: boolean\n readonly removeFile: (index: number) => void\n readonly saveAllDocs: ({ overrides }?: { overrides?: Record<string, unknown> }) => Promise<void>\n readonly setActiveIndex: (index: number) => void\n readonly setFormTotalErrorCount: ({\n errorCount,\n index,\n }: {\n errorCount: number\n index: number\n }) => void\n readonly totalErrorCount?: number\n}\n\nconst Context = React.createContext<FormsManagerContext>({\n activeIndex: 0,\n addFiles: () => Promise.resolve(),\n collectionSlug: '',\n docPermissions: undefined,\n forms: [],\n getFormDataRef: { current: () => ({}) },\n hasPublishPermission: false,\n hasSavePermission: false,\n hasSubmitted: false,\n isInitializing: false,\n removeFile: () => {},\n saveAllDocs: () => Promise.resolve(),\n setActiveIndex: () => 0,\n setFormTotalErrorCount: () => {},\n totalErrorCount: 0,\n})\n\nconst initialState: State = {\n activeIndex: 0,\n forms: [],\n totalErrorCount: 0,\n}\n\ntype FormsManagerProps = {\n readonly children: React.ReactNode\n}\nexport function FormsManagerProvider({ children }: FormsManagerProps) {\n const { config } = useConfig()\n const {\n routes: { api },\n serverURL,\n } = config\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const [hasSubmitted, setHasSubmitted] = React.useState(false)\n const [docPermissions, setDocPermissions] = React.useState<DocumentPermissions>()\n const [hasSavePermission, setHasSavePermission] = React.useState(false)\n const [hasPublishPermission, setHasPublishPermission] = React.useState(false)\n const [hasInitializedState, setHasInitializedState] = React.useState(false)\n const [hasInitializedDocPermissions, setHasInitializedDocPermissions] = React.useState(false)\n const [isInitializing, setIsInitializing] = React.useState(false)\n const [state, dispatch] = React.useReducer(formsManagementReducer, initialState)\n const { activeIndex, forms, totalErrorCount } = state\n\n const { toggleLoadingOverlay } = useLoadingOverlay()\n const { closeModal } = useModal()\n const { collectionSlug, drawerSlug, initialFiles, onSuccess } = useBulkUpload()\n\n const hasInitializedWithFiles = React.useRef(false)\n const initialStateRef = React.useRef<FormState>(null)\n const getFormDataRef = React.useRef<() => Data>(() => ({}))\n\n const actionURL = `${api}/${collectionSlug}`\n\n const initilizeSharedDocPermissions = React.useCallback(async () => {\n const params = {\n locale: code || undefined,\n }\n\n const docAccessURL = `/${collectionSlug}/access`\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n isEditing: false,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n setHasInitializedDocPermissions(true)\n }, [api, code, collectionSlug, i18n.language, serverURL])\n\n const initializeSharedFormState = React.useCallback(\n async (abortController?: AbortController) => {\n if (abortController?.signal) {\n abortController.abort('aborting previous fetch for initial form state without files')\n }\n\n try {\n const { state: formStateWithoutFiles } = await getFormState({\n apiRoute: config.routes.api,\n body: {\n collectionSlug,\n locale: code,\n operation: 'create',\n schemaPath: collectionSlug,\n },\n // onError: onLoadError,\n serverURL: config.serverURL,\n signal: abortController?.signal,\n })\n initialStateRef.current = formStateWithoutFiles\n setHasInitializedState(true)\n } catch (error) {\n // swallow error\n }\n },\n [code, collectionSlug, config.routes.api, config.serverURL],\n )\n\n const setActiveIndex: FormsManagerContext['setActiveIndex'] = React.useCallback(\n (index: number) => {\n const currentFormsData = getFormDataRef.current()\n dispatch({\n type: 'REPLACE',\n state: {\n activeIndex: index,\n forms: forms.map((form, i) => {\n if (i === activeIndex) {\n return {\n errorCount: form.errorCount,\n formState: currentFormsData,\n }\n }\n return form\n }),\n },\n })\n },\n [forms, activeIndex],\n )\n\n const addFiles = React.useCallback(\n async (files: FileList) => {\n toggleLoadingOverlay({ isLoading: true, key: 'addingDocs' })\n if (!hasInitializedState) {\n await initializeSharedFormState()\n }\n dispatch({ type: 'ADD_FORMS', files, initialState: initialStateRef.current })\n toggleLoadingOverlay({ isLoading: false, key: 'addingDocs' })\n },\n [initializeSharedFormState, hasInitializedState, toggleLoadingOverlay],\n )\n\n const removeFile: FormsManagerContext['removeFile'] = React.useCallback((index) => {\n dispatch({ type: 'REMOVE_FORM', index })\n }, [])\n\n const setFormTotalErrorCount: FormsManagerContext['setFormTotalErrorCount'] = React.useCallback(\n ({ errorCount, index }) => {\n dispatch({\n type: 'UPDATE_ERROR_COUNT',\n count: errorCount,\n index,\n })\n },\n [],\n )\n\n const saveAllDocs: FormsManagerContext['saveAllDocs'] = React.useCallback(\n async ({ overrides } = {}) => {\n const currentFormsData = getFormDataRef.current()\n const currentForms = [...forms]\n currentForms[activeIndex] = {\n errorCount: currentForms[activeIndex].errorCount,\n formState: currentFormsData,\n }\n const newDocs = []\n const promises = currentForms.map(async (form, i) => {\n try {\n toggleLoadingOverlay({\n isLoading: true,\n key: 'saveAllDocs',\n loadingText: t('general:uploading'),\n })\n const req = await fetch(actionURL, {\n body: createFormData(form.formState, overrides),\n method: 'POST',\n })\n\n const json = await req.json()\n\n if (req.status === 201 && json?.doc) {\n newDocs.push(json.doc)\n }\n\n // should expose some sort of helper for this\n if (json?.errors?.length) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs: any[] = []\n const newNonFieldErrs: any[] = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data?.errors)) {\n err.data?.errors.forEach((dataError) => {\n if (dataError?.field) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n currentForms[i] = {\n errorCount: fieldErrors.length,\n formState: fieldReducer(currentForms[i].formState, {\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n }),\n }\n }\n } catch (error) {\n // swallow error\n } finally {\n setHasSubmitted(true)\n toggleLoadingOverlay({ isLoading: false, key: 'saveAllDocs' })\n }\n })\n\n await Promise.all(promises)\n\n const remainingForms = currentForms.filter(({ errorCount }) => errorCount > 0)\n const successCount = Math.max(0, currentForms.length - remainingForms.length)\n const errorCount = currentForms.length - successCount\n\n if (successCount) {\n toast.success(`Successfully saved ${successCount} files`)\n\n if (typeof onSuccess === 'function') {\n onSuccess(newDocs, errorCount)\n }\n }\n\n if (errorCount) {\n toast.error(`Failed to save ${errorCount} files`)\n } else {\n closeModal(drawerSlug)\n }\n\n dispatch({\n type: 'REPLACE',\n state: {\n activeIndex: 0,\n forms: remainingForms,\n totalErrorCount: remainingForms.reduce((acc, { errorCount }) => acc + errorCount, 0),\n },\n })\n },\n [actionURL, activeIndex, forms, onSuccess, t, toggleLoadingOverlay, closeModal, drawerSlug],\n )\n\n React.useEffect(() => {\n if (!collectionSlug) {\n return\n }\n if (!hasInitializedState) {\n void initializeSharedFormState()\n }\n\n if (!hasInitializedDocPermissions) {\n void initilizeSharedDocPermissions()\n }\n\n if (initialFiles) {\n if (!hasInitializedState || !hasInitializedDocPermissions) {\n setIsInitializing(true)\n } else {\n setIsInitializing(false)\n }\n }\n\n if (hasInitializedState && initialFiles && !hasInitializedWithFiles.current) {\n void addFiles(initialFiles)\n hasInitializedWithFiles.current = true\n }\n return\n }, [\n addFiles,\n initialFiles,\n initializeSharedFormState,\n initilizeSharedDocPermissions,\n collectionSlug,\n hasInitializedState,\n hasInitializedDocPermissions,\n ])\n\n return (\n <Context.Provider\n value={{\n activeIndex: state.activeIndex,\n addFiles,\n collectionSlug,\n docPermissions,\n forms,\n getFormDataRef,\n hasPublishPermission,\n hasSavePermission,\n hasSubmitted,\n isInitializing,\n removeFile,\n saveAllDocs,\n setActiveIndex,\n setFormTotalErrorCount,\n totalErrorCount,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nexport function useFormsManager() {\n return React.useContext(Context)\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,QAAQ,QAAQ;AACzB,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,MAAW;AAClB,SAASC,KAAK,QAAQ;AAItB,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,YAAY,QAAQ;AAC7B,SAASC,iBAAA,IAAqBC,oBAAoB,QAAQ;AAC1D,SAASC,iBAAiB,QAAQ;AAClC,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,sBAAsB,QAAQ;AA0BvC,MAAMC,OAAA,gBAAUb,KAAA,CAAMc,aAAa,CAAsB;EACvDC,WAAA,EAAa;EACbC,QAAA,EAAUA,CAAA,KAAMC,OAAA,CAAQC,OAAO;EAC/BC,cAAA,EAAgB;EAChBC,cAAA,EAAgBC,SAAA;EAChBC,KAAA,EAAO,EAAE;EACTC,cAAA,EAAgB;IAAEC,OAAA,EAASA,CAAA,MAAO,CAAC;EAAG;EACtCC,oBAAA,EAAsB;EACtBlB,iBAAA,EAAmB;EACnBmB,YAAA,EAAc;EACdC,cAAA,EAAgB;EAChBC,UAAA,EAAYA,CAAA,MAAO;EACnBC,WAAA,EAAaA,CAAA,KAAMZ,OAAA,CAAQC,OAAO;EAClCY,cAAA,EAAgBA,CAAA,KAAM;EACtBC,sBAAA,EAAwBA,CAAA,MAAO;EAC/BC,eAAA,EAAiB;AACnB;AAEA,MAAMC,YAAA,GAAsB;EAC1BlB,WAAA,EAAa;EACbO,KAAA,EAAO,EAAE;EACTU,eAAA,EAAiB;AACnB;AAKA,OAAO,SAASE,qBAAqB;EAAEC;AAAQ,CAAqB;EAClE,MAAM;IAAEC;EAAM,CAAE,GAAGjC,SAAA;EACnB,MAAM;IACJkC,MAAA,EAAQ;MAAEC;IAAG,CAAE;IACfC;EAAS,CACV,GAAGH,MAAA;EACJ,MAAM;IAAEI;EAAI,CAAE,GAAGpC,SAAA;EACjB,MAAM;IAAEqC,IAAI;IAAEC;EAAC,CAAE,GAAGrC,cAAA;EAEpB,MAAM,CAACqB,YAAA,EAAciB,eAAA,CAAgB,GAAG3C,KAAA,CAAM4C,QAAQ,CAAC;EACvD,MAAM,CAACxB,cAAA,EAAgByB,iBAAA,CAAkB,GAAG7C,KAAA,CAAM4C,QAAQ;EAC1D,MAAM,CAACrC,iBAAA,EAAmBuC,oBAAA,CAAqB,GAAG9C,KAAA,CAAM4C,QAAQ,CAAC;EACjE,MAAM,CAACnB,oBAAA,EAAsBsB,uBAAA,CAAwB,GAAG/C,KAAA,CAAM4C,QAAQ,CAAC;EACvE,MAAM,CAACI,mBAAA,EAAqBC,sBAAA,CAAuB,GAAGjD,KAAA,CAAM4C,QAAQ,CAAC;EACrE,MAAM,CAACM,4BAAA,EAA8BC,+BAAA,CAAgC,GAAGnD,KAAA,CAAM4C,QAAQ,CAAC;EACvF,MAAM,CAACjB,cAAA,EAAgByB,iBAAA,CAAkB,GAAGpD,KAAA,CAAM4C,QAAQ,CAAC;EAC3D,MAAM,CAACS,KAAA,EAAOC,QAAA,CAAS,GAAGtD,KAAA,CAAMuD,UAAU,CAAC3C,sBAAA,EAAwBqB,YAAA;EACnE,MAAM;IAAElB,WAAW;IAAEO,KAAK;IAAEU;EAAe,CAAE,GAAGqB,KAAA;EAEhD,MAAM;IAAEG;EAAoB,CAAE,GAAG/C,iBAAA;EACjC,MAAM;IAAEgD;EAAU,CAAE,GAAG3D,QAAA;EACvB,MAAM;IAAEqB,cAAc;IAAEuC,UAAU;IAAEC,YAAY;IAAEC;EAAS,CAAE,GAAGlD,aAAA;EAEhE,MAAMmD,uBAAA,GAA0B7D,KAAA,CAAM8D,MAAM,CAAC;EAC7C,MAAMC,eAAA,GAAkB/D,KAAA,CAAM8D,MAAM,CAAY;EAChD,MAAMvC,cAAA,GAAiBvB,KAAA,CAAM8D,MAAM,CAAa,OAAO,CAAC;EAExD,MAAME,SAAA,GAAY,GAAG1B,GAAA,IAAOnB,cAAA,EAAgB;EAE5C,MAAM8C,6BAAA,GAAgCjE,KAAA,CAAMkE,WAAW,CAAC;IACtD,MAAMC,MAAA,GAAS;MACbC,MAAA,EAAQ5B,IAAA,IAAQnB;IAClB;IAEA,MAAMgD,YAAA,GAAe,IAAIlD,cAAA,SAAuB;IAChD,MAAMmD,GAAA,GAAM,MAAMC,KAAA,CAAM,GAAGhC,SAAA,GAAYD,GAAA,GAAM+B,YAAA,IAAgBtE,EAAA,CAAGyE,SAAS,CAACL,MAAA,GAAS,EAAE;MACnFM,WAAA,EAAa;MACbC,OAAA,EAAS;QACP,mBAAmBjC,IAAA,CAAKkC,QAAQ;QAChC,gBAAgB;MAClB;MACAC,MAAA,EAAQ;IACV;IAEA,MAAMC,IAAA,GAA4B,MAAMP,GAAA,CAAIO,IAAI;IAChD,MAAMC,mBAAA,GAAsB,MAAMP,KAAA,CAChC,GAAGhC,SAAA,GAAYD,GAAA,GAAM+B,YAAA,IAAgBtE,EAAA,CAAGyE,SAAS,CAACL,MAAA,GAAS,EAC3D;MACEY,IAAA,EAAMC,IAAA,CAAKR,SAAS,CAAC;QACnBS,OAAA,EAAS;MACX;MACAR,WAAA,EAAa;MACbC,OAAA,EAAS;QACP,mBAAmBjC,IAAA,CAAKkC,QAAQ;QAChC,gBAAgB;MAClB;MACAC,MAAA,EAAQ;IACV,GACAM,IAAI,CAAEZ,KAAA,IAAQA,KAAA,CAAIO,IAAI;IAExBhC,iBAAA,CAAkBgC,IAAA;IAElB/B,oBAAA,CACEtC,oBAAA,CAAqB;MACnBW,cAAA;MACAC,cAAA,EAAgByD,IAAA;MAChBM,SAAA,EAAW;IACb;IAGFpC,uBAAA,CAAwB+B,mBAAA,EAAqBM,MAAA,EAAQC,UAAA;IACrDlC,+BAAA,CAAgC;EAClC,GAAG,CAACb,GAAA,EAAKE,IAAA,EAAMrB,cAAA,EAAgBsB,IAAA,CAAKkC,QAAQ,EAAEpC,SAAA,CAAU;EAExD,MAAM+C,yBAAA,GAA4BtF,KAAA,CAAMkE,WAAW,CACjD,MAAOqB,eAAA;IACL,IAAIA,eAAA,EAAiBC,MAAA,EAAQ;MAC3BD,eAAA,CAAgBE,KAAK,CAAC;IACxB;IAEA,IAAI;MACF,MAAM;QAAEpC,KAAA,EAAOqC;MAAqB,CAAE,GAAG,MAAMpF,YAAA,CAAa;QAC1DqF,QAAA,EAAUvD,MAAA,CAAOC,MAAM,CAACC,GAAG;QAC3ByC,IAAA,EAAM;UACJ5D,cAAA;UACAiD,MAAA,EAAQ5B,IAAA;UACRoD,SAAA,EAAW;UACXC,UAAA,EAAY1E;QACd;QACA;QACAoB,SAAA,EAAWH,MAAA,CAAOG,SAAS;QAC3BiD,MAAA,EAAQD,eAAA,EAAiBC;MAC3B;MACAzB,eAAA,CAAgBvC,OAAO,GAAGkE,qBAAA;MAC1BzC,sBAAA,CAAuB;IACzB,EAAE,OAAO6C,KAAA,EAAO;MACd;IAAA;EAEJ,GACA,CAACtD,IAAA,EAAMrB,cAAA,EAAgBiB,MAAA,CAAOC,MAAM,CAACC,GAAG,EAAEF,MAAA,CAAOG,SAAS,CAAC;EAG7D,MAAMT,cAAA,GAAwD9B,KAAA,CAAMkE,WAAW,CAC5E6B,KAAA;IACC,MAAMC,gBAAA,GAAmBzE,cAAA,CAAeC,OAAO;IAC/C8B,QAAA,CAAS;MACP2C,IAAA,EAAM;MACN5C,KAAA,EAAO;QACLtC,WAAA,EAAagF,KAAA;QACbzE,KAAA,EAAOA,KAAA,CAAM4E,GAAG,CAAC,CAACC,IAAA,EAAMC,CAAA;UACtB,IAAIA,CAAA,KAAMrF,WAAA,EAAa;YACrB,OAAO;cACLsF,UAAA,EAAYF,IAAA,CAAKE,UAAU;cAC3BC,SAAA,EAAWN;YACb;UACF;UACA,OAAOG,IAAA;QACT;MACF;IACF;EACF,GACA,CAAC7E,KAAA,EAAOP,WAAA,CAAY;EAGtB,MAAMC,QAAA,GAAWhB,KAAA,CAAMkE,WAAW,CAChC,MAAOqC,KAAA;IACL/C,oBAAA,CAAqB;MAAEgD,SAAA,EAAW;MAAMC,GAAA,EAAK;IAAa;IAC1D,IAAI,CAACzD,mBAAA,EAAqB;MACxB,MAAMsC,yBAAA;IACR;IACAhC,QAAA,CAAS;MAAE2C,IAAA,EAAM;MAAaM,KAAA;MAAOtE,YAAA,EAAc8B,eAAA,CAAgBvC;IAAQ;IAC3EgC,oBAAA,CAAqB;MAAEgD,SAAA,EAAW;MAAOC,GAAA,EAAK;IAAa;EAC7D,GACA,CAACnB,yBAAA,EAA2BtC,mBAAA,EAAqBQ,oBAAA,CAAqB;EAGxE,MAAM5B,UAAA,GAAgD5B,KAAA,CAAMkE,WAAW,CAAE6B,OAAA;IACvEzC,QAAA,CAAS;MAAE2C,IAAA,EAAM;MAAeF,KAAA,EAAAA;IAAM;EACxC,GAAG,EAAE;EAEL,MAAMhE,sBAAA,GAAwE/B,KAAA,CAAMkE,WAAW,CAC7F,CAAC;IAAEmC,UAAU;IAAEN,KAAK,EAALA;EAAK,CAAE;IACpBzC,QAAA,CAAS;MACP2C,IAAA,EAAM;MACNS,KAAA,EAAOL,UAAA;MACPN,KAAA,EAAAA;IACF;EACF,GACA,EAAE;EAGJ,MAAMlE,WAAA,GAAkD7B,KAAA,CAAMkE,WAAW,CACvE,OAAO;IAAEyC;EAAS,CAAE,GAAG,CAAC,CAAC;IACvB,MAAMX,kBAAA,GAAmBzE,cAAA,CAAeC,OAAO;IAC/C,MAAMoF,YAAA,GAAe,C,GAAItF,KAAA,CAAM;IAC/BsF,YAAY,CAAC7F,WAAA,CAAY,GAAG;MAC1BsF,UAAA,EAAYO,YAAY,CAAC7F,WAAA,CAAY,CAACsF,UAAU;MAChDC,SAAA,EAAWN;IACb;IACA,MAAMa,OAAA,GAAU,EAAE;IAClB,MAAMC,QAAA,GAAWF,YAAA,CAAaV,GAAG,CAAC,OAAOC,MAAA,EAAMC,GAAA;MAC7C,IAAI;QACF5C,oBAAA,CAAqB;UACnBgD,SAAA,EAAW;UACXC,GAAA,EAAK;UACLM,WAAA,EAAarE,CAAA,CAAE;QACjB;QACA,MAAMsE,GAAA,GAAM,MAAMzC,KAAA,CAAMP,SAAA,EAAW;UACjCe,IAAA,EAAMpE,cAAA,CAAewF,MAAA,CAAKG,SAAS,EAAEK,SAAA;UACrC/B,MAAA,EAAQ;QACV;QAEA,MAAMC,MAAA,GAAO,MAAMmC,GAAA,CAAInC,IAAI;QAE3B,IAAImC,GAAA,CAAIC,MAAM,KAAK,OAAOpC,MAAA,EAAMqC,GAAA,EAAK;UACnCL,OAAA,CAAQM,IAAI,CAACtC,MAAA,CAAKqC,GAAG;QACvB;QAEA;QACA,IAAIrC,MAAA,EAAMuC,MAAA,EAAQC,MAAA,EAAQ;UACxB,MAAM,CAACC,WAAA,EAAaC,cAAA,CAAe,GAAG1C,MAAA,CAAKuC,MAAM,CAACI,MAAM,CACtD,CAAC,CAACC,SAAA,EAAWC,YAAA,CAAa,EAAEC,GAAA;YAC1B,MAAMC,YAAA,GAAsB,EAAE;YAC9B,MAAMC,eAAA,GAAyB,EAAE;YAEjC,IAAIF,GAAA,EAAKG,OAAA,EAAS;cAChBD,eAAA,CAAgBV,IAAI,CAACQ,GAAA;YACvB;YAEA,IAAII,KAAA,CAAMC,OAAO,CAACL,GAAA,EAAKM,IAAA,EAAMb,MAAA,GAAS;cACpCO,GAAA,CAAIM,IAAI,EAAEb,MAAA,CAAOc,OAAA,CAASC,SAAA;gBACxB,IAAIA,SAAA,EAAWC,KAAA,EAAO;kBACpBR,YAAA,CAAaT,IAAI,CAACgB,SAAA;gBACpB,OAAO;kBACLN,eAAA,CAAgBV,IAAI,CAACgB,SAAA;gBACvB;cACF;YACF;YAEA,OAAO,CACL,C,GAAIV,SAAA,E,GAAcG,YAAA,CAAa,EAC/B,C,GAAIF,YAAA,E,GAAiBG,eAAA,CAAgB,CACtC;UACH,GACA,CAAC,EAAE,EAAE,EAAE,CAAC;UAGVjB,YAAY,CAACR,GAAA,CAAE,GAAG;YAChBC,UAAA,EAAYiB,WAAA,CAAYD,MAAM;YAC9Bf,SAAA,EAAWpG,YAAA,CAAa0G,YAAY,CAACR,GAAA,CAAE,CAACE,SAAS,EAAE;cACjDL,IAAA,EAAM;cACNmB,MAAA,EAAQE;YACV;UACF;QACF;MACF,EAAE,OAAOxB,OAAA,EAAO;QACd;MAAA,CACF,SAAU;QACRnD,eAAA,CAAgB;QAChBa,oBAAA,CAAqB;UAAEgD,SAAA,EAAW;UAAOC,GAAA,EAAK;QAAc;MAC9D;IACF;IAEA,MAAMxF,OAAA,CAAQoH,GAAG,CAACvB,QAAA;IAElB,MAAMwB,cAAA,GAAiB1B,YAAA,CAAa2B,MAAM,CAAC,CAAC;MAAElC,UAAU,EAAVA;IAAU,CAAE,KAAKA,YAAA,GAAa;IAC5E,MAAMmC,YAAA,GAAeC,IAAA,CAAKC,GAAG,CAAC,GAAG9B,YAAA,CAAaS,MAAM,GAAGiB,cAAA,CAAejB,MAAM;IAC5E,MAAMhB,YAAA,GAAaO,YAAA,CAAaS,MAAM,GAAGmB,YAAA;IAEzC,IAAIA,YAAA,EAAc;MAChBvI,KAAA,CAAM0I,OAAO,CAAC,sBAAsBH,YAAA,QAAoB;MAExD,IAAI,OAAO5E,SAAA,KAAc,YAAY;QACnCA,SAAA,CAAUiD,OAAA,EAASR,YAAA;MACrB;IACF;IAEA,IAAIA,YAAA,EAAY;MACdpG,KAAA,CAAM6F,KAAK,CAAC,kBAAkBO,YAAA,QAAkB;IAClD,OAAO;MACL5C,UAAA,CAAWC,UAAA;IACb;IAEAJ,QAAA,CAAS;MACP2C,IAAA,EAAM;MACN5C,KAAA,EAAO;QACLtC,WAAA,EAAa;QACbO,KAAA,EAAOgH,cAAA;QACPtG,eAAA,EAAiBsG,cAAA,CAAed,MAAM,CAAC,CAACoB,GAAA,EAAK;UAAEvC,UAAU,EAAVA;QAAU,CAAE,KAAKuC,GAAA,GAAMvC,YAAA,EAAY;MACpF;IACF;EACF,GACA,CAACrC,SAAA,EAAWjD,WAAA,EAAaO,KAAA,EAAOsC,SAAA,EAAWlB,CAAA,EAAGc,oBAAA,EAAsBC,UAAA,EAAYC,UAAA,CAAW;EAG7F1D,KAAA,CAAM6I,SAAS,CAAC;IACd,IAAI,CAAC1H,cAAA,EAAgB;MACnB;IACF;IACA,IAAI,CAAC6B,mBAAA,EAAqB;MACxB,KAAKsC,yBAAA;IACP;IAEA,IAAI,CAACpC,4BAAA,EAA8B;MACjC,KAAKe,6BAAA;IACP;IAEA,IAAIN,YAAA,EAAc;MAChB,IAAI,CAACX,mBAAA,IAAuB,CAACE,4BAAA,EAA8B;QACzDE,iBAAA,CAAkB;MACpB,OAAO;QACLA,iBAAA,CAAkB;MACpB;IACF;IAEA,IAAIJ,mBAAA,IAAuBW,YAAA,IAAgB,CAACE,uBAAA,CAAwBrC,OAAO,EAAE;MAC3E,KAAKR,QAAA,CAAS2C,YAAA;MACdE,uBAAA,CAAwBrC,OAAO,GAAG;IACpC;IACA;EACF,GAAG,CACDR,QAAA,EACA2C,YAAA,EACA2B,yBAAA,EACArB,6BAAA,EACA9C,cAAA,EACA6B,mBAAA,EACAE,4BAAA,CACD;EAED,oBACE4F,IAAA,CAACjI,OAAA,CAAQkI,QAAQ;IACfC,KAAA,EAAO;MACLjI,WAAA,EAAasC,KAAA,CAAMtC,WAAW;MAC9BC,QAAA;MACAG,cAAA;MACAC,cAAA;MACAE,KAAA;MACAC,cAAA;MACAE,oBAAA;MACAlB,iBAAA;MACAmB,YAAA;MACAC,cAAA;MACAC,UAAA;MACAC,WAAA;MACAC,cAAA;MACAC,sBAAA;MACAC;IACF;cAECG;;AAGP;AAEA,OAAO,SAAA8G,gBAAA;EAAA,OACEjJ,KAAA,CAAAkJ,UAAA,CAAArI,OAAiB;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","qs","React","toast","fieldReducer","useConfig","useLocale","useServerFunctions","useTranslation","hasSavePermission","getHasSavePermission","LoadingOverlay","useLoadingOverlay","createThumbnail","useBulkUpload","createFormData","formsManagementReducer","Context","createContext","activeIndex","addFiles","Promise","resolve","collectionSlug","docPermissions","undefined","documentSlots","forms","getFormDataRef","current","hasPublishPermission","hasSubmitted","isInitializing","removeFile","saveAllDocs","setActiveIndex","setFormTotalErrorCount","thumbnailUrls","totalErrorCount","initialState","FormsManagerProvider","children","config","routes","api","serverURL","code","i18n","t","getDocumentSlots","getFormState","setDocumentSlots","useState","setHasSubmitted","setDocPermissions","setHasSavePermission","setHasPublishPermission","hasInitializedState","setHasInitializedState","hasInitializedDocPermissions","setHasInitializedDocPermissions","setIsInitializing","state","dispatch","useReducer","formsRef","useRef","formsCount","length","thumbnailUrlsRef","processedFiles","Set","renderedThumbnails","setRenderedThumbnails","useEffect","newThumbnails","i","file","formState","value","has","add","thumbnailUrl","setTimeout","toggleLoadingOverlay","closeModal","drawerSlug","initialFiles","onSuccess","isUploading","setIsUploading","loadingText","setLoadingText","hasInitializedWithFiles","initialStateRef","actionURL","initializeSharedDocPermissions","useCallback","params","locale","docAccessURL","res","fetch","stringify","credentials","headers","language","method","json","publishedAccessJSON","body","JSON","_status","then","isEditing","update","initializeSharedFormState","abortController","signal","abort","formStateWithoutFiles","docPreferences","fields","operation","renderAllFields","schemaPath","_err","index","currentFormsData","type","map","form","errorCount","files","isLoading","key","count","overrides","currentForms","newDocs","total","req","status","doc","push","errors","fieldErrors","nonFieldErrors","reduce","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","message","Array","isArray","data","forEach","dataError","path","error","_","remainingForms","filter","successCount","Math","max","success","acc","_jsxs","Provider","_jsx","animationDuration","overlayType","show","useFormsManager","useContext"],"sources":["../../../../src/elements/BulkUpload/FormsManager/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Data, DocumentSlots, FormState, SanitizedDocumentPermissions } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport type { State } from './reducer.js'\n\nimport { fieldReducer } from '../../../forms/Form/fieldReducer.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { hasSavePermission as getHasSavePermission } from '../../../utilities/hasSavePermission.js'\nimport { LoadingOverlay } from '../../Loading/index.js'\nimport { useLoadingOverlay } from '../../LoadingOverlay/index.js'\nimport { createThumbnail } from '../../Thumbnail/createThumbnail.js'\nimport { useBulkUpload } from '../index.js'\nimport { createFormData } from './createFormData.js'\nimport { formsManagementReducer } from './reducer.js'\n\ntype FormsManagerContext = {\n readonly activeIndex: State['activeIndex']\n readonly addFiles: (filelist: FileList) => Promise<void>\n readonly collectionSlug: string\n readonly docPermissions?: SanitizedDocumentPermissions\n readonly documentSlots: DocumentSlots\n readonly forms: State['forms']\n getFormDataRef: React.RefObject<() => Data>\n readonly hasPublishPermission: boolean\n readonly hasSavePermission: boolean\n readonly hasSubmitted: boolean\n readonly isInitializing: boolean\n readonly removeFile: (index: number) => void\n readonly saveAllDocs: ({ overrides }?: { overrides?: Record<string, unknown> }) => Promise<void>\n readonly setActiveIndex: (index: number) => void\n readonly setFormTotalErrorCount: ({\n errorCount,\n index,\n }: {\n errorCount: number\n index: number\n }) => void\n readonly thumbnailUrls: string[]\n readonly totalErrorCount?: number\n}\n\nconst Context = React.createContext<FormsManagerContext>({\n activeIndex: 0,\n addFiles: () => Promise.resolve(),\n collectionSlug: '',\n docPermissions: undefined,\n documentSlots: {},\n forms: [],\n getFormDataRef: { current: () => ({}) },\n hasPublishPermission: false,\n hasSavePermission: false,\n hasSubmitted: false,\n isInitializing: false,\n removeFile: () => {},\n saveAllDocs: () => Promise.resolve(),\n setActiveIndex: () => 0,\n setFormTotalErrorCount: () => {},\n thumbnailUrls: [],\n totalErrorCount: 0,\n})\n\nconst initialState: State = {\n activeIndex: 0,\n forms: [],\n totalErrorCount: 0,\n}\n\ntype FormsManagerProps = {\n readonly children: React.ReactNode\n}\n\nexport function FormsManagerProvider({ children }: FormsManagerProps) {\n const { config } = useConfig()\n const {\n routes: { api },\n serverURL,\n } = config\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const { getDocumentSlots, getFormState } = useServerFunctions()\n\n const [documentSlots, setDocumentSlots] = React.useState<DocumentSlots>({})\n const [hasSubmitted, setHasSubmitted] = React.useState(false)\n const [docPermissions, setDocPermissions] = React.useState<SanitizedDocumentPermissions>()\n const [hasSavePermission, setHasSavePermission] = React.useState(false)\n const [hasPublishPermission, setHasPublishPermission] = React.useState(false)\n const [hasInitializedState, setHasInitializedState] = React.useState(false)\n const [hasInitializedDocPermissions, setHasInitializedDocPermissions] = React.useState(false)\n const [isInitializing, setIsInitializing] = React.useState(false)\n const [state, dispatch] = React.useReducer(formsManagementReducer, initialState)\n const { activeIndex, forms, totalErrorCount } = state\n\n const formsRef = React.useRef(forms)\n formsRef.current = forms\n const formsCount = forms.length\n\n const thumbnailUrlsRef = React.useRef<string[]>([])\n const processedFiles = React.useRef(new Set()) // Track already-processed files\n const [renderedThumbnails, setRenderedThumbnails] = React.useState<string[]>([])\n\n React.useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ;(async () => {\n const newThumbnails = [...thumbnailUrlsRef.current]\n\n for (let i = 0; i < formsCount; i++) {\n const file = formsRef.current[i].formState.file.value as File\n\n // Skip if already processed\n if (processedFiles.current.has(file) || !file) {\n continue\n }\n processedFiles.current.add(file)\n\n // Generate thumbnail and update ref\n const thumbnailUrl = await createThumbnail(file)\n newThumbnails[i] = thumbnailUrl\n thumbnailUrlsRef.current = newThumbnails\n\n // Trigger re-render in batches\n setRenderedThumbnails([...newThumbnails])\n await new Promise((resolve) => setTimeout(resolve, 100))\n }\n })()\n }, [formsCount])\n\n const { toggleLoadingOverlay } = useLoadingOverlay()\n const { closeModal } = useModal()\n const { collectionSlug, drawerSlug, initialFiles, onSuccess } = useBulkUpload()\n\n const [isUploading, setIsUploading] = React.useState(false)\n const [loadingText, setLoadingText] = React.useState('')\n\n const hasInitializedWithFiles = React.useRef(false)\n const initialStateRef = React.useRef<FormState>(null)\n const getFormDataRef = React.useRef<() => Data>(() => ({}))\n\n const actionURL = `${api}/${collectionSlug}`\n\n const initializeSharedDocPermissions = React.useCallback(async () => {\n const params = {\n locale: code || undefined,\n }\n\n const docAccessURL = `/${collectionSlug}/access`\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n const json: SanitizedDocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n isEditing: false,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update)\n setHasInitializedDocPermissions(true)\n }, [api, code, collectionSlug, i18n.language, serverURL])\n\n const initializeSharedFormState = React.useCallback(\n async (abortController?: AbortController) => {\n if (abortController?.signal) {\n abortController.abort('aborting previous fetch for initial form state without files')\n }\n\n // FETCH AND SET THE DOCUMENT SLOTS HERE!\n const documentSlots = await getDocumentSlots({ collectionSlug })\n setDocumentSlots(documentSlots)\n\n try {\n const { state: formStateWithoutFiles } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences: { fields: {} },\n locale: code,\n operation: 'create',\n renderAllFields: true,\n schemaPath: collectionSlug,\n })\n initialStateRef.current = formStateWithoutFiles\n setHasInitializedState(true)\n } catch (_err) {\n // swallow error\n }\n },\n [getDocumentSlots, collectionSlug, getFormState, docPermissions, code],\n )\n\n const setActiveIndex: FormsManagerContext['setActiveIndex'] = React.useCallback(\n (index: number) => {\n const currentFormsData = getFormDataRef.current()\n dispatch({\n type: 'REPLACE',\n state: {\n activeIndex: index,\n forms: forms.map((form, i) => {\n if (i === activeIndex) {\n return {\n errorCount: form.errorCount,\n formState: currentFormsData,\n }\n }\n return form\n }),\n },\n })\n },\n [forms, activeIndex],\n )\n\n const addFiles = React.useCallback(\n async (files: FileList) => {\n toggleLoadingOverlay({ isLoading: true, key: 'addingDocs' })\n if (!hasInitializedState) {\n await initializeSharedFormState()\n }\n dispatch({ type: 'ADD_FORMS', files, initialState: initialStateRef.current })\n toggleLoadingOverlay({ isLoading: false, key: 'addingDocs' })\n },\n [initializeSharedFormState, hasInitializedState, toggleLoadingOverlay],\n )\n\n const removeFile: FormsManagerContext['removeFile'] = React.useCallback((index) => {\n dispatch({ type: 'REMOVE_FORM', index })\n }, [])\n\n const setFormTotalErrorCount: FormsManagerContext['setFormTotalErrorCount'] = React.useCallback(\n ({ errorCount, index }) => {\n dispatch({\n type: 'UPDATE_ERROR_COUNT',\n count: errorCount,\n index,\n })\n },\n [],\n )\n\n const saveAllDocs: FormsManagerContext['saveAllDocs'] = React.useCallback(\n async ({ overrides } = {}) => {\n const currentFormsData = getFormDataRef.current()\n const currentForms = [...forms]\n currentForms[activeIndex] = {\n errorCount: currentForms[activeIndex].errorCount,\n formState: currentFormsData,\n }\n const newDocs = []\n\n setIsUploading(true)\n\n for (let i = 0; i < currentForms.length; i++) {\n try {\n const form = currentForms[i]\n\n setLoadingText(t('general:uploadingBulk', { current: i + 1, total: currentForms.length }))\n\n const req = await fetch(actionURL, {\n body: createFormData(form.formState, overrides),\n method: 'POST',\n })\n\n const json = await req.json()\n\n if (req.status === 201 && json?.doc) {\n newDocs.push(json.doc)\n }\n\n // should expose some sort of helper for this\n if (json?.errors?.length) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs: any[] = []\n const newNonFieldErrs: any[] = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data?.errors)) {\n err.data?.errors.forEach((dataError) => {\n if (dataError?.path) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n currentForms[i] = {\n errorCount: fieldErrors.length,\n formState: fieldReducer(currentForms[i].formState, {\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n }),\n }\n\n if (req.status === 413) {\n // file too large\n currentForms[i] = {\n ...currentForms[i],\n errorCount: currentForms[i].errorCount + 1,\n }\n\n toast.error(nonFieldErrors[0]?.message)\n }\n }\n } catch (_) {\n // swallow\n }\n }\n\n setHasSubmitted(true)\n setLoadingText('')\n setIsUploading(false)\n\n const remainingForms = currentForms.filter(({ errorCount }) => errorCount > 0)\n const successCount = Math.max(0, currentForms.length - remainingForms.length)\n const errorCount = currentForms.length - successCount\n\n if (successCount) {\n toast.success(`Successfully saved ${successCount} files`)\n\n if (typeof onSuccess === 'function') {\n onSuccess(newDocs, errorCount)\n }\n }\n\n if (errorCount) {\n toast.error(`Failed to save ${errorCount} files`)\n } else {\n closeModal(drawerSlug)\n }\n\n dispatch({\n type: 'REPLACE',\n state: {\n activeIndex: 0,\n forms: remainingForms,\n totalErrorCount: remainingForms.reduce((acc, { errorCount }) => acc + errorCount, 0),\n },\n })\n },\n [actionURL, activeIndex, forms, onSuccess, t, closeModal, drawerSlug],\n )\n\n React.useEffect(() => {\n if (!collectionSlug) {\n return\n }\n if (!hasInitializedState) {\n void initializeSharedFormState()\n }\n\n if (!hasInitializedDocPermissions) {\n void initializeSharedDocPermissions()\n }\n\n if (initialFiles) {\n if (!hasInitializedState || !hasInitializedDocPermissions) {\n setIsInitializing(true)\n } else {\n setIsInitializing(false)\n }\n }\n\n if (hasInitializedState && initialFiles && !hasInitializedWithFiles.current) {\n void addFiles(initialFiles)\n hasInitializedWithFiles.current = true\n }\n return\n }, [\n addFiles,\n initialFiles,\n initializeSharedFormState,\n initializeSharedDocPermissions,\n collectionSlug,\n hasInitializedState,\n hasInitializedDocPermissions,\n ])\n\n return (\n <Context.Provider\n value={{\n activeIndex: state.activeIndex,\n addFiles,\n collectionSlug,\n docPermissions,\n documentSlots,\n forms,\n getFormDataRef,\n hasPublishPermission,\n hasSavePermission,\n hasSubmitted,\n isInitializing,\n removeFile,\n saveAllDocs,\n setActiveIndex,\n setFormTotalErrorCount,\n thumbnailUrls: renderedThumbnails,\n totalErrorCount,\n }}\n >\n {isUploading && (\n <LoadingOverlay\n animationDuration=\"250ms\"\n loadingText={loadingText}\n overlayType=\"fullscreen\"\n show\n />\n )}\n {children}\n </Context.Provider>\n )\n}\n\nexport function useFormsManager() {\n return React.useContext(Context)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,19 +1,5 @@
1
1
  export function formsManagementReducer(state, action) {
2
2
  switch (action.type) {
3
- case 'REPLACE':
4
- {
5
- return {
6
- ...state,
7
- ...action.state
8
- };
9
- }
10
- case 'SET_ACTIVE_INDEX':
11
- {
12
- return {
13
- ...state,
14
- activeIndex: action.index
15
- };
16
- }
17
3
  case 'ADD_FORMS':
18
4
  {
19
5
  const newForms = [];
@@ -50,6 +36,20 @@ export function formsManagementReducer(state, action) {
50
36
  totalErrorCount: state.totalErrorCount - removedForm.errorCount
51
37
  };
52
38
  }
39
+ case 'REPLACE':
40
+ {
41
+ return {
42
+ ...state,
43
+ ...action.state
44
+ };
45
+ }
46
+ case 'SET_ACTIVE_INDEX':
47
+ {
48
+ return {
49
+ ...state,
50
+ activeIndex: action.index
51
+ };
52
+ }
53
53
  case 'UPDATE_ERROR_COUNT':
54
54
  {
55
55
  const forms = [...state.forms];
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","names":["formsManagementReducer","state","action","type","activeIndex","index","newForms","i","files","length","errorCount","formState","initialState","file","initialValue","valid","value","forms","remainingFormStates","removedForm","splice","affectedByShift","nextIndex","boundedActiveIndex","Math","min","totalErrorCount","count","reduce","acc","form"],"sources":["../../../../src/elements/BulkUpload/FormsManager/reducer.ts"],"sourcesContent":["import type { FormState } from 'payload'\n\nexport type State = {\n activeIndex: number\n forms: {\n errorCount: number\n formState: FormState\n }[]\n totalErrorCount: number\n}\n\ntype Action =\n | {\n count: number\n index: number\n type: 'UPDATE_ERROR_COUNT'\n }\n | {\n files: FileList\n initialState: FormState | null\n type: 'ADD_FORMS'\n }\n | {\n index: number\n type: 'REMOVE_FORM'\n }\n | {\n index: number\n type: 'SET_ACTIVE_INDEX'\n }\n | {\n state: Partial<State>\n type: 'REPLACE'\n }\n\nexport function formsManagementReducer(state: State, action: Action): State {\n switch (action.type) {\n case 'REPLACE': {\n return {\n ...state,\n ...action.state,\n }\n }\n case 'SET_ACTIVE_INDEX': {\n return {\n ...state,\n activeIndex: action.index,\n }\n }\n case 'ADD_FORMS': {\n const newForms: State['forms'] = []\n for (let i = 0; i < action.files.length; i++) {\n newForms[i] = {\n errorCount: 0,\n formState: {\n ...(action.initialState || {}),\n file: {\n initialValue: action.files[i],\n valid: true,\n value: action.files[i],\n },\n },\n }\n }\n\n return {\n ...state,\n activeIndex: 0,\n forms: [...newForms, ...state.forms],\n }\n }\n case 'REMOVE_FORM': {\n const remainingFormStates = [...state.forms]\n const [removedForm] = remainingFormStates.splice(action.index, 1)\n\n const affectedByShift = state.activeIndex >= action.index\n const nextIndex =\n state.activeIndex === action.index\n ? action.index\n : affectedByShift\n ? state.activeIndex - 1\n : state.activeIndex\n const boundedActiveIndex = Math.min(remainingFormStates.length - 1, nextIndex)\n\n return {\n ...state,\n activeIndex: affectedByShift ? boundedActiveIndex : state.activeIndex,\n forms: remainingFormStates,\n totalErrorCount: state.totalErrorCount - removedForm.errorCount,\n }\n }\n case 'UPDATE_ERROR_COUNT': {\n const forms = [...state.forms]\n forms[action.index].errorCount = action.count\n\n return {\n ...state,\n forms,\n totalErrorCount: state.forms.reduce((acc, form) => acc + form.errorCount, 0),\n }\n }\n default: {\n return state\n }\n }\n}\n"],"mappings":"AAmCA,OAAO,SAASA,uBAAuBC,KAAY,EAAEC,MAAc;EACjE,QAAQA,MAAA,CAAOC,IAAI;IACjB,KAAK;MAAW;QACd,OAAO;UACL,GAAGF,KAAK;UACR,GAAGC,MAAA,CAAOD;QACZ;MACF;IACA,KAAK;MAAoB;QACvB,OAAO;UACL,GAAGA,KAAK;UACRG,WAAA,EAAaF,MAAA,CAAOG;QACtB;MACF;IACA,KAAK;MAAa;QAChB,MAAMC,QAAA,GAA2B,EAAE;QACnC,KAAK,IAAIC,CAAA,GAAI,GAAGA,CAAA,GAAIL,MAAA,CAAOM,KAAK,CAACC,MAAM,EAAEF,CAAA,IAAK;UAC5CD,QAAQ,CAACC,CAAA,CAAE,GAAG;YACZG,UAAA,EAAY;YACZC,SAAA,EAAW;cACT,IAAIT,MAAA,CAAOU,YAAY,IAAI,CAAC,CAAC;cAC7BC,IAAA,EAAM;gBACJC,YAAA,EAAcZ,MAAA,CAAOM,KAAK,CAACD,CAAA,CAAE;gBAC7BQ,KAAA,EAAO;gBACPC,KAAA,EAAOd,MAAA,CAAOM,KAAK,CAACD,CAAA;cACtB;YACF;UACF;QACF;QAEA,OAAO;UACL,GAAGN,KAAK;UACRG,WAAA,EAAa;UACba,KAAA,EAAO,C,GAAIX,QAAA,E,GAAaL,KAAA,CAAMgB,KAAK;QACrC;MACF;IACA,KAAK;MAAe;QAClB,MAAMC,mBAAA,GAAsB,C,GAAIjB,KAAA,CAAMgB,KAAK,CAAC;QAC5C,MAAM,CAACE,WAAA,CAAY,GAAGD,mBAAA,CAAoBE,MAAM,CAAClB,MAAA,CAAOG,KAAK,EAAE;QAE/D,MAAMgB,eAAA,GAAkBpB,KAAA,CAAMG,WAAW,IAAIF,MAAA,CAAOG,KAAK;QACzD,MAAMiB,SAAA,GACJrB,KAAA,CAAMG,WAAW,KAAKF,MAAA,CAAOG,KAAK,GAC9BH,MAAA,CAAOG,KAAK,GACZgB,eAAA,GACEpB,KAAA,CAAMG,WAAW,GAAG,IACpBH,KAAA,CAAMG,WAAW;QACzB,MAAMmB,kBAAA,GAAqBC,IAAA,CAAKC,GAAG,CAACP,mBAAA,CAAoBT,MAAM,GAAG,GAAGa,SAAA;QAEpE,OAAO;UACL,GAAGrB,KAAK;UACRG,WAAA,EAAaiB,eAAA,GAAkBE,kBAAA,GAAqBtB,KAAA,CAAMG,WAAW;UACrEa,KAAA,EAAOC,mBAAA;UACPQ,eAAA,EAAiBzB,KAAA,CAAMyB,eAAe,GAAGP,WAAA,CAAYT;QACvD;MACF;IACA,KAAK;MAAsB;QACzB,MAAMO,KAAA,GAAQ,C,GAAIhB,KAAA,CAAMgB,KAAK,CAAC;QAC9BA,KAAK,CAACf,MAAA,CAAOG,KAAK,CAAC,CAACK,UAAU,GAAGR,MAAA,CAAOyB,KAAK;QAE7C,OAAO;UACL,GAAG1B,KAAK;UACRgB,KAAA;UACAS,eAAA,EAAiBzB,KAAA,CAAMgB,KAAK,CAACW,MAAM,CAAC,CAACC,GAAA,EAAKC,IAAA,KAASD,GAAA,GAAMC,IAAA,CAAKpB,UAAU,EAAE;QAC5E;MACF;IACA;MAAS;QACP,OAAOT,KAAA;MACT;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"reducer.js","names":["formsManagementReducer","state","action","type","newForms","i","files","length","errorCount","formState","initialState","file","initialValue","valid","value","activeIndex","forms","remainingFormStates","removedForm","splice","index","affectedByShift","nextIndex","boundedActiveIndex","Math","min","totalErrorCount","count","reduce","acc","form"],"sources":["../../../../src/elements/BulkUpload/FormsManager/reducer.ts"],"sourcesContent":["import type { FormState } from 'payload'\n\nexport type State = {\n activeIndex: number\n forms: {\n errorCount: number\n formState: FormState\n }[]\n totalErrorCount: number\n}\n\ntype Action =\n | {\n count: number\n index: number\n type: 'UPDATE_ERROR_COUNT'\n }\n | {\n files: FileList\n initialState: FormState | null\n type: 'ADD_FORMS'\n }\n | {\n index: number\n type: 'REMOVE_FORM'\n }\n | {\n index: number\n type: 'SET_ACTIVE_INDEX'\n }\n | {\n state: Partial<State>\n type: 'REPLACE'\n }\n\nexport function formsManagementReducer(state: State, action: Action): State {\n switch (action.type) {\n case 'ADD_FORMS': {\n const newForms: State['forms'] = []\n for (let i = 0; i < action.files.length; i++) {\n newForms[i] = {\n errorCount: 0,\n formState: {\n ...(action.initialState || {}),\n file: {\n initialValue: action.files[i],\n valid: true,\n value: action.files[i],\n },\n },\n }\n }\n\n return {\n ...state,\n activeIndex: 0,\n forms: [...newForms, ...state.forms],\n }\n }\n case 'REMOVE_FORM': {\n const remainingFormStates = [...state.forms]\n const [removedForm] = remainingFormStates.splice(action.index, 1)\n\n const affectedByShift = state.activeIndex >= action.index\n const nextIndex =\n state.activeIndex === action.index\n ? action.index\n : affectedByShift\n ? state.activeIndex - 1\n : state.activeIndex\n const boundedActiveIndex = Math.min(remainingFormStates.length - 1, nextIndex)\n\n return {\n ...state,\n activeIndex: affectedByShift ? boundedActiveIndex : state.activeIndex,\n forms: remainingFormStates,\n totalErrorCount: state.totalErrorCount - removedForm.errorCount,\n }\n }\n case 'REPLACE': {\n return {\n ...state,\n ...action.state,\n }\n }\n case 'SET_ACTIVE_INDEX': {\n return {\n ...state,\n activeIndex: action.index,\n }\n }\n case 'UPDATE_ERROR_COUNT': {\n const forms = [...state.forms]\n forms[action.index].errorCount = action.count\n\n return {\n ...state,\n forms,\n totalErrorCount: state.forms.reduce((acc, form) => acc + form.errorCount, 0),\n }\n }\n default: {\n return state\n }\n }\n}\n"],"mappings":"AAmCA,OAAO,SAASA,uBAAuBC,KAAY,EAAEC,MAAc;EACjE,QAAQA,MAAA,CAAOC,IAAI;IACjB,KAAK;MAAa;QAChB,MAAMC,QAAA,GAA2B,EAAE;QACnC,KAAK,IAAIC,CAAA,GAAI,GAAGA,CAAA,GAAIH,MAAA,CAAOI,KAAK,CAACC,MAAM,EAAEF,CAAA,IAAK;UAC5CD,QAAQ,CAACC,CAAA,CAAE,GAAG;YACZG,UAAA,EAAY;YACZC,SAAA,EAAW;cACT,IAAIP,MAAA,CAAOQ,YAAY,IAAI,CAAC,CAAC;cAC7BC,IAAA,EAAM;gBACJC,YAAA,EAAcV,MAAA,CAAOI,KAAK,CAACD,CAAA,CAAE;gBAC7BQ,KAAA,EAAO;gBACPC,KAAA,EAAOZ,MAAA,CAAOI,KAAK,CAACD,CAAA;cACtB;YACF;UACF;QACF;QAEA,OAAO;UACL,GAAGJ,KAAK;UACRc,WAAA,EAAa;UACbC,KAAA,EAAO,C,GAAIZ,QAAA,E,GAAaH,KAAA,CAAMe,KAAK;QACrC;MACF;IACA,KAAK;MAAe;QAClB,MAAMC,mBAAA,GAAsB,C,GAAIhB,KAAA,CAAMe,KAAK,CAAC;QAC5C,MAAM,CAACE,WAAA,CAAY,GAAGD,mBAAA,CAAoBE,MAAM,CAACjB,MAAA,CAAOkB,KAAK,EAAE;QAE/D,MAAMC,eAAA,GAAkBpB,KAAA,CAAMc,WAAW,IAAIb,MAAA,CAAOkB,KAAK;QACzD,MAAME,SAAA,GACJrB,KAAA,CAAMc,WAAW,KAAKb,MAAA,CAAOkB,KAAK,GAC9BlB,MAAA,CAAOkB,KAAK,GACZC,eAAA,GACEpB,KAAA,CAAMc,WAAW,GAAG,IACpBd,KAAA,CAAMc,WAAW;QACzB,MAAMQ,kBAAA,GAAqBC,IAAA,CAAKC,GAAG,CAACR,mBAAA,CAAoBV,MAAM,GAAG,GAAGe,SAAA;QAEpE,OAAO;UACL,GAAGrB,KAAK;UACRc,WAAA,EAAaM,eAAA,GAAkBE,kBAAA,GAAqBtB,KAAA,CAAMc,WAAW;UACrEC,KAAA,EAAOC,mBAAA;UACPS,eAAA,EAAiBzB,KAAA,CAAMyB,eAAe,GAAGR,WAAA,CAAYV;QACvD;MACF;IACA,KAAK;MAAW;QACd,OAAO;UACL,GAAGP,KAAK;UACR,GAAGC,MAAA,CAAOD;QACZ;MACF;IACA,KAAK;MAAoB;QACvB,OAAO;UACL,GAAGA,KAAK;UACRc,WAAA,EAAab,MAAA,CAAOkB;QACtB;MACF;IACA,KAAK;MAAsB;QACzB,MAAMJ,KAAA,GAAQ,C,GAAIf,KAAA,CAAMe,KAAK,CAAC;QAC9BA,KAAK,CAACd,MAAA,CAAOkB,KAAK,CAAC,CAACZ,UAAU,GAAGN,MAAA,CAAOyB,KAAK;QAE7C,OAAO;UACL,GAAG1B,KAAK;UACRe,KAAA;UACAU,eAAA,EAAiBzB,KAAA,CAAMe,KAAK,CAACY,MAAM,CAAC,CAACC,GAAA,EAAKC,IAAA,KAASD,GAAA,GAAMC,IAAA,CAAKtB,UAAU,EAAE;QAC5E;MACF;IACA;MAAS;QACP,OAAOP,KAAA;MACT;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/BulkUpload/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAiCzB,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,CAAA;AAED,wBAAgB,gBAAgB,sBAa/B;AAED,KAAK,iBAAiB,GAAG;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,QAAQ,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9D,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,eAAe,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC1C,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,WAAW,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IAC9D,YAAY,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAA;CAClE,CAAA;AAeD,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBA8CtF;AAED,eAAO,MAAM,aAAa,yBAAkC,CAAA;AAE5D,wBAAgB,uBAAuB,WAItC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/BulkUpload/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIzC,OAAO,KAAK,MAAM,OAAO,CAAA;AA6DzB,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,CAAA;AAED,wBAAgB,gBAAgB,sBAU/B;AAED,KAAK,iBAAiB,GAAG;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,QAAQ,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9D,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,eAAe,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC1C,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,WAAW,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IAC9D,YAAY,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAA;CAClE,CAAA;AAeD,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBA8CtF;AAED,eAAO,MAAM,aAAa,yBAAkC,CAAA;AAE5D,wBAAgB,uBAAuB,WAItC"}
@@ -3,15 +3,17 @@
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { useModal } from '@faceless-ui/modal';
6
+ import { validateMimeType } from 'payload/shared';
6
7
  import React from 'react';
7
- import { EditDepthProvider, useEditDepth } from '../../providers/EditDepth/index.js';
8
- import { Drawer } from '../Drawer/index.js';
8
+ import { toast } from 'sonner';
9
+ import { useConfig } from '../../providers/Config/index.js';
10
+ import { useTranslation } from '../../providers/Translation/index.js';
11
+ import { Drawer, useDrawerDepth } from '../Drawer/index.js';
9
12
  import { AddFilesView } from './AddFilesView/index.js';
10
13
  import { AddingFilesView } from './AddingFilesView/index.js';
11
14
  import { FormsManagerProvider, useFormsManager } from './FormsManager/index.js';
12
15
  const drawerSlug = 'bulk-upload-drawer-slug';
13
16
  function DrawerContent() {
14
- const $ = _c(9);
15
17
  const {
16
18
  addFiles,
17
19
  forms,
@@ -24,81 +26,62 @@ function DrawerContent() {
24
26
  collectionSlug,
25
27
  drawerSlug
26
28
  } = useBulkUpload();
27
- let t0;
28
- if ($[0] !== addFiles) {
29
- t0 = acceptedFiles => {
30
- addFiles(acceptedFiles);
31
- };
32
- $[0] = addFiles;
33
- $[1] = t0;
34
- } else {
35
- t0 = $[1];
36
- }
37
- const onDrop = t0;
29
+ const {
30
+ config
31
+ } = useConfig();
32
+ const {
33
+ t
34
+ } = useTranslation();
35
+ const uploadCollection = config.collections.find(col => col.slug === collectionSlug);
36
+ const uploadConfig = uploadCollection?.upload;
37
+ const uploadMimeTypes = uploadConfig?.mimeTypes;
38
+ const onDrop = React.useCallback(acceptedFiles => {
39
+ const fileTransfer = new DataTransfer();
40
+ for (const candidateFile of acceptedFiles) {
41
+ if (uploadMimeTypes === undefined || uploadMimeTypes.length === 0 || validateMimeType(candidateFile.type, uploadMimeTypes)) {
42
+ fileTransfer.items.add(candidateFile);
43
+ }
44
+ }
45
+ if (fileTransfer.files.length === 0) {
46
+ toast.error(t('error:invalidFileType'));
47
+ } else {
48
+ void addFiles(fileTransfer.files);
49
+ }
50
+ }, [addFiles, t, uploadMimeTypes]);
38
51
  if (!collectionSlug) {
39
52
  return null;
40
53
  }
41
54
  if (!forms.length && !isInitializing) {
42
- let t1;
43
- if ($[2] !== closeModal || $[3] !== drawerSlug) {
44
- t1 = () => closeModal(drawerSlug);
45
- $[2] = closeModal;
46
- $[3] = drawerSlug;
47
- $[4] = t1;
48
- } else {
49
- t1 = $[4];
50
- }
51
- let t2;
52
- if ($[5] !== t1 || $[6] !== onDrop) {
53
- t2 = _jsx(AddFilesView, {
54
- onCancel: t1,
55
- onDrop
56
- });
57
- $[5] = t1;
58
- $[6] = onDrop;
59
- $[7] = t2;
60
- } else {
61
- t2 = $[7];
62
- }
63
- return t2;
55
+ return /*#__PURE__*/_jsx(AddFilesView, {
56
+ acceptMimeTypes: uploadMimeTypes?.join(', '),
57
+ onCancel: () => closeModal(drawerSlug),
58
+ onDrop: onDrop
59
+ });
64
60
  } else {
65
- let t1;
66
- if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
67
- t1 = _jsx(AddingFilesView, {});
68
- $[8] = t1;
69
- } else {
70
- t1 = $[8];
71
- }
72
- return t1;
61
+ return /*#__PURE__*/_jsx(AddingFilesView, {});
73
62
  }
74
63
  }
75
64
  export function BulkUploadDrawer() {
76
- const $ = _c(3);
77
- const currentDepth = useEditDepth();
65
+ const $ = _c(2);
78
66
  const {
79
67
  drawerSlug
80
68
  } = useBulkUpload();
81
- const t0 = currentDepth || 1;
82
- let t1;
83
- if ($[0] !== drawerSlug || $[1] !== t0) {
84
- t1 = _jsx(EditDepthProvider, {
85
- depth: t0,
86
- children: _jsx(Drawer, {
87
- gutter: false,
88
- Header: null,
89
- slug: drawerSlug,
90
- children: _jsx(FormsManagerProvider, {
91
- children: _jsx(DrawerContent, {})
92
- })
69
+ let t0;
70
+ if ($[0] !== drawerSlug) {
71
+ t0 = _jsx(Drawer, {
72
+ gutter: false,
73
+ Header: null,
74
+ slug: drawerSlug,
75
+ children: _jsx(FormsManagerProvider, {
76
+ children: _jsx(DrawerContent, {})
93
77
  })
94
78
  });
95
79
  $[0] = drawerSlug;
96
80
  $[1] = t0;
97
- $[2] = t1;
98
81
  } else {
99
- t1 = $[2];
82
+ t0 = $[1];
100
83
  }
101
- return t1;
84
+ return t0;
102
85
  }
103
86
  const Context = /*#__PURE__*/React.createContext({
104
87
  collectionSlug: '',
@@ -205,7 +188,7 @@ export const useBulkUpload = () => {
205
188
  return React.useContext(Context);
206
189
  };
207
190
  export function useBulkUploadDrawerSlug() {
208
- const depth = useEditDepth();
191
+ const depth = useDrawerDepth();
209
192
  return `${drawerSlug}-${depth || 1}`;
210
193
  }
211
194
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","React","EditDepthProvider","useEditDepth","Drawer","AddFilesView","AddingFilesView","FormsManagerProvider","useFormsManager","drawerSlug","DrawerContent","$","addFiles","forms","isInitializing","closeModal","collectionSlug","useBulkUpload","t0","acceptedFiles","onDrop","length","t1","t2","_jsx","onCancel","BulkUploadDrawer","currentDepth","depth","children","gutter","Header","slug","Context","createContext","initialFiles","undefined","maxFiles","onSuccess","setCollectionSlug","setInitialFiles","setMaxFiles","setOnCancel","setOnSuccess","BulkUploadProvider","collection","setCollection","useState","onSuccessFunction","setOnSuccessFunction","onCancelFunction","setOnCancelFunction","useBulkUploadDrawerSlug","Symbol","for","t3","t4","docIDs","errorCount","t5","Provider","value","_jsxs","Fragment","useContext"],"sources":["../../../src/elements/BulkUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { JsonObject } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { EditDepthProvider, useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { AddFilesView } from './AddFilesView/index.js'\nimport { AddingFilesView } from './AddingFilesView/index.js'\nimport { FormsManagerProvider, useFormsManager } from './FormsManager/index.js'\n\nconst drawerSlug = 'bulk-upload-drawer-slug'\n\nfunction DrawerContent() {\n const { addFiles, forms, isInitializing } = useFormsManager()\n const { closeModal } = useModal()\n const { collectionSlug, drawerSlug } = useBulkUpload()\n\n const onDrop = React.useCallback(\n (acceptedFiles: FileList) => {\n void addFiles(acceptedFiles)\n },\n [addFiles],\n )\n\n if (!collectionSlug) {\n return null\n }\n\n if (!forms.length && !isInitializing) {\n return <AddFilesView onCancel={() => closeModal(drawerSlug)} onDrop={onDrop} />\n } else {\n return <AddingFilesView />\n }\n}\n\nexport type BulkUploadProps = {\n readonly children: React.ReactNode\n}\n\nexport function BulkUploadDrawer() {\n const currentDepth = useEditDepth()\n const { drawerSlug } = useBulkUpload()\n\n return (\n <EditDepthProvider depth={currentDepth || 1}>\n <Drawer gutter={false} Header={null} slug={drawerSlug}>\n <FormsManagerProvider>\n <DrawerContent />\n </FormsManagerProvider>\n </Drawer>\n </EditDepthProvider>\n )\n}\n\ntype BulkUploadContext = {\n collectionSlug: string\n drawerSlug: string\n initialFiles: FileList\n maxFiles: number\n onCancel: () => void\n onSuccess: (newDocs: JsonObject[], errorCount: number) => void\n setCollectionSlug: (slug: string) => void\n setInitialFiles: (files: FileList) => void\n setMaxFiles: (maxFiles: number) => void\n setOnCancel: (onCancel: BulkUploadContext['onCancel']) => void\n setOnSuccess: (onSuccess: BulkUploadContext['onSuccess']) => void\n}\n\nconst Context = React.createContext<BulkUploadContext>({\n collectionSlug: '',\n drawerSlug: '',\n initialFiles: undefined,\n maxFiles: undefined,\n onCancel: () => null,\n onSuccess: () => null,\n setCollectionSlug: () => null,\n setInitialFiles: () => null,\n setMaxFiles: () => null,\n setOnCancel: () => null,\n setOnSuccess: () => null,\n})\nexport function BulkUploadProvider({ children }: { readonly children: React.ReactNode }) {\n const [collection, setCollection] = React.useState<string>()\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 [maxFiles, setMaxFiles] = React.useState<number>(undefined)\n const drawerSlug = useBulkUploadDrawerSlug()\n\n const setCollectionSlug: BulkUploadContext['setCollectionSlug'] = (slug) => {\n setCollection(slug)\n }\n\n const setOnSuccess: BulkUploadContext['setOnSuccess'] = (onSuccess) => {\n setOnSuccessFunction(() => onSuccess)\n }\n\n return (\n <Context.Provider\n value={{\n collectionSlug: collection,\n drawerSlug,\n initialFiles,\n maxFiles,\n onCancel: () => {\n if (typeof onCancelFunction === 'function') {\n onCancelFunction()\n }\n },\n onSuccess: (docIDs, errorCount) => {\n if (typeof onSuccessFunction === 'function') {\n onSuccessFunction(docIDs, errorCount)\n }\n },\n setCollectionSlug,\n setInitialFiles,\n setMaxFiles,\n setOnCancel: setOnCancelFunction,\n setOnSuccess,\n }}\n >\n <React.Fragment>\n {children}\n <BulkUploadDrawer />\n </React.Fragment>\n </Context.Provider>\n )\n}\n\nexport const useBulkUpload = () => React.useContext(Context)\n\nexport function useBulkUploadDrawerSlug() {\n const depth = useEditDepth()\n\n return `${drawerSlug}-${depth || 1}`\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","validateMimeType","React","toast","useConfig","useTranslation","Drawer","useDrawerDepth","AddFilesView","AddingFilesView","FormsManagerProvider","useFormsManager","drawerSlug","DrawerContent","addFiles","forms","isInitializing","closeModal","collectionSlug","useBulkUpload","config","t","uploadCollection","collections","find","col","slug","uploadConfig","upload","uploadMimeTypes","mimeTypes","onDrop","useCallback","acceptedFiles","fileTransfer","DataTransfer","candidateFile","undefined","length","type","items","add","files","error","_jsx","acceptMimeTypes","join","onCancel","BulkUploadDrawer","$","t0","gutter","Header","children","Context","createContext","initialFiles","maxFiles","onSuccess","setCollectionSlug","setInitialFiles","setMaxFiles","setOnCancel","setOnSuccess","BulkUploadProvider","collection","setCollection","useState","onSuccessFunction","setOnSuccessFunction","onCancelFunction","setOnCancelFunction","useBulkUploadDrawerSlug","t1","Symbol","for","t2","t3","t4","docIDs","errorCount","t5","Provider","value","_jsxs","Fragment","useContext","depth"],"sources":["../../../src/elements/BulkUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { JsonObject } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { validateMimeType } from 'payload/shared'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Drawer, useDrawerDepth } from '../Drawer/index.js'\nimport { AddFilesView } from './AddFilesView/index.js'\nimport { AddingFilesView } from './AddingFilesView/index.js'\nimport { FormsManagerProvider, useFormsManager } from './FormsManager/index.js'\n\nconst drawerSlug = 'bulk-upload-drawer-slug'\n\nfunction DrawerContent() {\n const { addFiles, forms, isInitializing } = useFormsManager()\n const { closeModal } = useModal()\n const { collectionSlug, drawerSlug } = useBulkUpload()\n const { config } = useConfig()\n const { t } = useTranslation()\n\n const uploadCollection = config.collections.find((col) => col.slug === 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 }\n },\n [addFiles, t, uploadMimeTypes],\n )\n\n if (!collectionSlug) {\n return null\n }\n\n if (!forms.length && !isInitializing) {\n return (\n <AddFilesView\n acceptMimeTypes={uploadMimeTypes?.join(', ')}\n onCancel={() => closeModal(drawerSlug)}\n onDrop={onDrop}\n />\n )\n } else {\n return <AddingFilesView />\n }\n}\n\nexport type BulkUploadProps = {\n readonly children: React.ReactNode\n}\n\nexport function BulkUploadDrawer() {\n const { drawerSlug } = useBulkUpload()\n\n return (\n <Drawer gutter={false} Header={null} slug={drawerSlug}>\n <FormsManagerProvider>\n <DrawerContent />\n </FormsManagerProvider>\n </Drawer>\n )\n}\n\ntype BulkUploadContext = {\n collectionSlug: string\n drawerSlug: string\n initialFiles: FileList\n maxFiles: number\n onCancel: () => void\n onSuccess: (newDocs: JsonObject[], errorCount: number) => void\n setCollectionSlug: (slug: string) => void\n setInitialFiles: (files: FileList) => void\n setMaxFiles: (maxFiles: number) => void\n setOnCancel: (onCancel: BulkUploadContext['onCancel']) => void\n setOnSuccess: (onSuccess: BulkUploadContext['onSuccess']) => void\n}\n\nconst Context = React.createContext<BulkUploadContext>({\n collectionSlug: '',\n drawerSlug: '',\n initialFiles: undefined,\n maxFiles: undefined,\n onCancel: () => null,\n onSuccess: () => null,\n setCollectionSlug: () => null,\n setInitialFiles: () => null,\n setMaxFiles: () => null,\n setOnCancel: () => null,\n setOnSuccess: () => null,\n})\nexport function BulkUploadProvider({ children }: { readonly children: React.ReactNode }) {\n const [collection, setCollection] = React.useState<string>()\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 [maxFiles, setMaxFiles] = React.useState<number>(undefined)\n const drawerSlug = useBulkUploadDrawerSlug()\n\n const setCollectionSlug: BulkUploadContext['setCollectionSlug'] = (slug) => {\n setCollection(slug)\n }\n\n const setOnSuccess: BulkUploadContext['setOnSuccess'] = (onSuccess) => {\n setOnSuccessFunction(() => onSuccess)\n }\n\n return (\n <Context.Provider\n value={{\n collectionSlug: collection,\n drawerSlug,\n initialFiles,\n maxFiles,\n onCancel: () => {\n if (typeof onCancelFunction === 'function') {\n onCancelFunction()\n }\n },\n onSuccess: (docIDs, errorCount) => {\n if (typeof onSuccessFunction === 'function') {\n onSuccessFunction(docIDs, errorCount)\n }\n },\n setCollectionSlug,\n setInitialFiles,\n setMaxFiles,\n setOnCancel: setOnCancelFunction,\n setOnSuccess,\n }}\n >\n <React.Fragment>\n {children}\n <BulkUploadDrawer />\n </React.Fragment>\n </Context.Provider>\n )\n}\n\nexport const useBulkUpload = () => React.useContext(Context)\n\nexport function useBulkUploadDrawerSlug() {\n const depth = useDrawerDepth()\n\n return `${drawerSlug}-${depth || 1}`\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+C,MAAM,OAAO,CAAA;AAEnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAarB,eAAO,MAAM,cAAc;;;;;uBAqB1B,CAAA;AAED,eAAO,MAAM,MAAM,qGA+IjB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+C,MAAM,OAAO,CAAA;AAEnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAarB,eAAO,MAAM,cAAc;;;;;uBAqB1B,CAAA;AAED,eAAO,MAAM,MAAM,qGAmJjB,CAAA"}
@@ -60,6 +60,7 @@ export const Button = /*#__PURE__*/forwardRef((props, ref) => {
60
60
  Link,
61
61
  newTab,
62
62
  onClick,
63
+ onMouseDown,
63
64
  round,
64
65
  size = 'medium',
65
66
  SubMenuPopupContent,
@@ -87,12 +88,14 @@ export const Button = /*#__PURE__*/forwardRef((props, ref) => {
87
88
  className: !SubMenuPopupContent ? [classes, styleClasses].join(' ') : classes,
88
89
  disabled,
89
90
  onClick: !disabled ? handleClick : undefined,
90
- onMouseEnter: tooltip ? () => setShowTooltip(true) : undefined,
91
- onMouseLeave: tooltip ? () => setShowTooltip(false) : undefined,
91
+ onMouseDown: !disabled ? onMouseDown : undefined,
92
+ onPointerEnter: tooltip ? () => setShowTooltip(true) : undefined,
93
+ onPointerLeave: tooltip ? () => setShowTooltip(false) : undefined,
92
94
  rel: newTab ? 'noopener noreferrer' : undefined,
93
95
  target: newTab ? '_blank' : undefined
94
96
  };
95
97
  let buttonElement;
98
+ let prefetch;
96
99
  switch (el) {
97
100
  case 'anchor':
98
101
  buttonElement = /*#__PURE__*/_jsx("a", {
@@ -116,10 +119,13 @@ export const Button = /*#__PURE__*/forwardRef((props, ref) => {
116
119
  ;
117
120
  if (disabled) {
118
121
  LinkTag = 'div';
122
+ } else {
123
+ prefetch = false;
119
124
  }
120
125
  buttonElement = /*#__PURE__*/_jsx(LinkTag, {
121
126
  ...buttonProps,
122
127
  href: to || url,
128
+ prefetch: prefetch,
123
129
  to: to || url,
124
130
  children: /*#__PURE__*/_jsx(ButtonContents, {
125
131
  icon: icon,
@@ -154,9 +160,13 @@ export const Button = /*#__PURE__*/forwardRef((props, ref) => {
154
160
  className: disabled ? `${baseClass}--popup-disabled` : '',
155
161
  horizontalAlign: "right",
156
162
  noBackground: true,
163
+ render: ({
164
+ close
165
+ }) => SubMenuPopupContent({
166
+ close: () => close()
167
+ }),
157
168
  size: "large",
158
- verticalAlign: "bottom",
159
- children: SubMenuPopupContent
169
+ verticalAlign: "bottom"
160
170
  })]
161
171
  });
162
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","forwardRef","Fragment","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","_jsxs","_jsx","className","show","Button","props","ref","id","type","ariaLabel","buttonStyle","disabled","el","iconPosition","iconStyle","Link","newTab","onClick","round","size","SubMenuPopupContent","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","styleClasses","buttonProps","undefined","onMouseEnter","onMouseLeave","rel","target","buttonElement","href","console","error","LinkTag","Tag","button","buttonSize","horizontalAlign","noBackground","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { forwardRef, Fragment, isValidElement } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { EditIcon } from '../../icons/Edit/index.js'\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\n\nconst icons = {\n chevron: ChevronIcon,\n edit: EditIcon,\n link: LinkIcon,\n plus: PlusIcon,\n swap: SwapIcon,\n x: XIcon,\n}\n\nconst baseClass = 'btn'\n\nexport const ButtonContents = ({ children, icon, showTooltip, tooltip }) => {\n const BuiltInIcon = icons[icon]\n\n return (\n <Fragment>\n {tooltip && (\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n <span className={`${baseClass}__content`}>\n {children && <span className={`${baseClass}__label`}>{children}</span>}\n {icon && (\n <span className={`${baseClass}__icon`}>\n {isValidElement(icon) && icon}\n {BuiltInIcon && <BuiltInIcon />}\n </span>\n )}\n </span>\n </Fragment>\n )\n}\n\nexport const Button = forwardRef<HTMLAnchorElement | HTMLButtonElement, Props>((props, ref) => {\n const {\n id,\n type = 'button',\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n Link,\n newTab,\n onClick,\n round,\n size = 'medium',\n SubMenuPopupContent,\n to,\n tooltip,\n url,\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n\n const classes = [\n baseClass,\n className && className,\n icon && `${baseClass}--icon`,\n iconStyle && `${baseClass}--icon-style-${iconStyle}`,\n icon && !children && `${baseClass}--icon-only`,\n size && `${baseClass}--size-${size}`,\n icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`,\n tooltip && `${baseClass}--has-tooltip`,\n !SubMenuPopupContent && `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n function handleClick(event) {\n setShowTooltip(false)\n if (type !== 'submit' && onClick) {\n event.preventDefault()\n }\n if (onClick) {\n onClick(event)\n }\n }\n\n const styleClasses = [\n buttonStyle && `${baseClass}--style-${buttonStyle}`,\n disabled && `${baseClass}--disabled`,\n round && `${baseClass}--round`,\n SubMenuPopupContent ? `${baseClass}--withPopup` : `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const buttonProps = {\n id,\n type,\n 'aria-disabled': disabled,\n 'aria-label': ariaLabel,\n className: !SubMenuPopupContent ? [classes, styleClasses].join(' ') : classes,\n disabled,\n onClick: !disabled ? handleClick : undefined,\n onMouseEnter: tooltip ? () => setShowTooltip(true) : undefined,\n onMouseLeave: tooltip ? () => setShowTooltip(false) : undefined,\n rel: newTab ? 'noopener noreferrer' : undefined,\n target: newTab ? '_blank' : undefined,\n }\n\n let buttonElement\n\n switch (el) {\n case 'anchor':\n buttonElement = (\n <a\n {...buttonProps}\n href={!disabled ? url : undefined}\n ref={ref as React.Ref<HTMLAnchorElement>}\n >\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </a>\n )\n break\n\n case 'link':\n if (!Link) {\n console.error('Link is required when using el=\"link\"', children)\n return null\n }\n\n let LinkTag = Link // eslint-disable-line no-case-declarations\n\n if (disabled) {\n LinkTag = 'div'\n }\n\n buttonElement = (\n <LinkTag {...buttonProps} href={to || url} to={to || url}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </LinkTag>\n )\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} type=\"submit\" {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Tag>\n )\n break\n }\n if (SubMenuPopupContent) {\n return (\n <div className={styleClasses}>\n {buttonElement}\n <Popup\n button={<ChevronIcon />}\n buttonSize={size}\n className={disabled ? `${baseClass}--popup-disabled` : ''}\n horizontalAlign=\"right\"\n noBackground\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n {SubMenuPopupContent}\n </Popup>\n </div>\n )\n }\n\n return buttonElement\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","forwardRef","Fragment","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","_jsxs","_jsx","className","show","Button","props","ref","id","type","ariaLabel","buttonStyle","disabled","el","iconPosition","iconStyle","Link","newTab","onClick","onMouseDown","round","size","SubMenuPopupContent","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","styleClasses","buttonProps","undefined","onPointerEnter","onPointerLeave","rel","target","buttonElement","prefetch","href","console","error","LinkTag","Tag","button","buttonSize","horizontalAlign","noBackground","render","close","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { forwardRef, Fragment, isValidElement } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { EditIcon } from '../../icons/Edit/index.js'\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\n\nconst icons = {\n chevron: ChevronIcon,\n edit: EditIcon,\n link: LinkIcon,\n plus: PlusIcon,\n swap: SwapIcon,\n x: XIcon,\n}\n\nconst baseClass = 'btn'\n\nexport const ButtonContents = ({ children, icon, showTooltip, tooltip }) => {\n const BuiltInIcon = icons[icon]\n\n return (\n <Fragment>\n {tooltip && (\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n <span className={`${baseClass}__content`}>\n {children && <span className={`${baseClass}__label`}>{children}</span>}\n {icon && (\n <span className={`${baseClass}__icon`}>\n {isValidElement(icon) && icon}\n {BuiltInIcon && <BuiltInIcon />}\n </span>\n )}\n </span>\n </Fragment>\n )\n}\n\nexport const Button = forwardRef<HTMLAnchorElement | HTMLButtonElement, Props>((props, ref) => {\n const {\n id,\n type = 'button',\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n Link,\n newTab,\n onClick,\n onMouseDown,\n round,\n size = 'medium',\n SubMenuPopupContent,\n to,\n tooltip,\n url,\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n\n const classes = [\n baseClass,\n className && className,\n icon && `${baseClass}--icon`,\n iconStyle && `${baseClass}--icon-style-${iconStyle}`,\n icon && !children && `${baseClass}--icon-only`,\n size && `${baseClass}--size-${size}`,\n icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`,\n tooltip && `${baseClass}--has-tooltip`,\n !SubMenuPopupContent && `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n function handleClick(event) {\n setShowTooltip(false)\n if (type !== 'submit' && onClick) {\n event.preventDefault()\n }\n if (onClick) {\n onClick(event)\n }\n }\n\n const styleClasses = [\n buttonStyle && `${baseClass}--style-${buttonStyle}`,\n disabled && `${baseClass}--disabled`,\n round && `${baseClass}--round`,\n SubMenuPopupContent ? `${baseClass}--withPopup` : `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const buttonProps = {\n id,\n type,\n 'aria-disabled': disabled,\n 'aria-label': ariaLabel,\n className: !SubMenuPopupContent ? [classes, styleClasses].join(' ') : classes,\n disabled,\n onClick: !disabled ? handleClick : undefined,\n onMouseDown: !disabled ? onMouseDown : undefined,\n onPointerEnter: tooltip ? () => setShowTooltip(true) : undefined,\n onPointerLeave: tooltip ? () => setShowTooltip(false) : undefined,\n rel: newTab ? 'noopener noreferrer' : undefined,\n target: newTab ? '_blank' : undefined,\n }\n\n let buttonElement\n let prefetch\n\n switch (el) {\n case 'anchor':\n buttonElement = (\n <a\n {...buttonProps}\n href={!disabled ? url : undefined}\n ref={ref as React.Ref<HTMLAnchorElement>}\n >\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </a>\n )\n break\n\n case 'link':\n if (!Link) {\n console.error('Link is required when using el=\"link\"', children)\n return null\n }\n\n let LinkTag = Link // eslint-disable-line no-case-declarations\n\n if (disabled) {\n LinkTag = 'div'\n } else {\n prefetch = false\n }\n\n buttonElement = (\n <LinkTag {...buttonProps} href={to || url} prefetch={prefetch} to={to || url}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </LinkTag>\n )\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} type=\"submit\" {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Tag>\n )\n break\n }\n if (SubMenuPopupContent) {\n return (\n <div className={styleClasses}>\n {buttonElement}\n <Popup\n button={<ChevronIcon />}\n buttonSize={size}\n className={disabled ? `${baseClass}--popup-disabled` : ''}\n horizontalAlign=\"right\"\n noBackground\n render={({ close }) => SubMenuPopupContent({ close: () => close() })}\n size=\"large\"\n verticalAlign=\"bottom\"\n />\n </div>\n )\n }\n\n return buttonElement\n})\n"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,10 @@
13
13
  }
14
14
 
15
15
  .btn {
16
+ * {
17
+ pointer-events: none;
18
+ }
19
+
16
20
  // colors
17
21
  &--style-primary {
18
22
  --color: var(--theme-elevation-0);
@@ -19,10 +19,13 @@ export type Props = {
19
19
  Link?: React.ElementType;
20
20
  newTab?: boolean;
21
21
  onClick?: (event: MouseEvent) => void;
22
+ onMouseDown?: (event: MouseEvent) => void;
22
23
  round?: boolean;
23
24
  secondaryActions?: secondaryAction | secondaryAction[];
24
25
  size?: 'large' | 'medium' | 'small';
25
- SubMenuPopupContent?: React.ReactNode;
26
+ SubMenuPopupContent?: (props: {
27
+ close: () => void;
28
+ }) => React.ReactNode;
26
29
  to?: string;
27
30
  tooltip?: string;
28
31
  type?: 'button' | 'submit';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;CACrC,CAAA;AACD,MAAM,MAAM,KAAK,GAAG;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAA;IAChG,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAA;IACpC,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAA;IAC5D,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,gBAAgB,CAAA;IACrD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IACxB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACrC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,gBAAgB,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAA;IACtD,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACnC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;CACrC,CAAA;AACD,MAAM,MAAM,KAAK,GAAG;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAA;IAChG,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAA;IACpC,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAA;IAC5D,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,gBAAgB,CAAA;IACrD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IACxB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACrC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACzC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,gBAAgB,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAA;IACtD,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACnC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAA;IACvE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/Button/types.ts"],"sourcesContent":["import type { ElementType, MouseEvent } from 'react'\nimport type React from 'react'\n\ntype secondaryAction = {\n label: string\n onClick: (event: MouseEvent) => void\n}\nexport type Props = {\n 'aria-label'?: string\n buttonId?: string\n buttonStyle?: 'error' | 'icon-label' | 'none' | 'pill' | 'primary' | 'secondary' | 'transparent'\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n el?: 'anchor' | 'link' | ElementType\n icon?: ['chevron' | 'edit' | 'plus' | 'x'] | React.ReactNode\n iconPosition?: 'left' | 'right'\n iconStyle?: 'none' | 'with-border' | 'without-border'\n id?: string\n Link?: React.ElementType\n newTab?: boolean\n onClick?: (event: MouseEvent) => void\n round?: boolean\n secondaryActions?: secondaryAction | secondaryAction[]\n size?: 'large' | 'medium' | 'small'\n SubMenuPopupContent?: React.ReactNode\n to?: string\n tooltip?: string\n type?: 'button' | 'submit'\n url?: string\n}\n"],"mappings":"AAOA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/Button/types.ts"],"sourcesContent":["import type { ElementType, MouseEvent } from 'react'\nimport type React from 'react'\n\ntype secondaryAction = {\n label: string\n onClick: (event: MouseEvent) => void\n}\nexport type Props = {\n 'aria-label'?: string\n buttonId?: string\n buttonStyle?: 'error' | 'icon-label' | 'none' | 'pill' | 'primary' | 'secondary' | 'transparent'\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n el?: 'anchor' | 'link' | ElementType\n icon?: ['chevron' | 'edit' | 'plus' | 'x'] | React.ReactNode\n iconPosition?: 'left' | 'right'\n iconStyle?: 'none' | 'with-border' | 'without-border'\n id?: string\n Link?: React.ElementType\n newTab?: boolean\n onClick?: (event: MouseEvent) => void\n onMouseDown?: (event: MouseEvent) => void\n round?: boolean\n secondaryActions?: secondaryAction | secondaryAction[]\n size?: 'large' | 'medium' | 'small'\n SubMenuPopupContent?: (props: { close: () => void }) => React.ReactNode\n to?: string\n tooltip?: string\n type?: 'button' | 'submit'\n url?: string\n}\n"],"mappings":"AAOA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../src/elements/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAIvC,OAAO,cAAc,CAAA;AAMrB,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmD/B,CAAA;AAGD,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../src/elements/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAIvC,OAAO,cAAc,CAAA;AAMrB,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAqD/B,CAAA;AAGD,eAAe,UAAU,CAAA"}