@payloadcms/ui 3.80.0-internal.8d9ec7c → 3.80.0-internal.bd498b0

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 (532) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/EditForm/index.js +12 -0
  3. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  5. package/dist/elements/BulkUpload/FormsManager/index.js +29 -7
  6. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  7. package/dist/elements/Button/index.d.ts.map +1 -1
  8. package/dist/elements/Button/index.js +3 -5
  9. package/dist/elements/Button/index.js.map +1 -1
  10. package/dist/elements/Button/index.scss +5 -38
  11. package/dist/elements/Button/types.d.ts +1 -1
  12. package/dist/elements/Button/types.d.ts.map +1 -1
  13. package/dist/elements/Button/types.js.map +1 -1
  14. package/dist/elements/CheckboxPopup/index.d.ts.map +1 -1
  15. package/dist/elements/CheckboxPopup/index.js +1 -0
  16. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  17. package/dist/elements/CheckboxPopup/index.scss +0 -1
  18. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  19. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +4 -2
  20. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  21. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +157 -0
  22. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  23. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  24. package/dist/elements/DefaultListViewTabs/index.js +54 -28
  25. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  26. package/dist/elements/DocumentControls/index.d.ts +0 -1
  27. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  28. package/dist/elements/DocumentControls/index.js +10 -6
  29. package/dist/elements/DocumentControls/index.js.map +1 -1
  30. package/dist/elements/DocumentControls/index.scss +1 -1
  31. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  32. package/dist/elements/DocumentDrawer/index.js +141 -54
  33. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  34. package/dist/elements/DocumentDrawer/types.d.ts +1 -7
  35. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  36. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  37. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  38. package/dist/elements/DrawerActionHeader/index.js +0 -2
  39. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  40. package/dist/elements/DrawerActionHeader/index.scss +2 -2
  41. package/dist/elements/FolderView/Breadcrumbs/index.d.ts +19 -0
  42. package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +1 -0
  43. package/dist/elements/FolderView/Breadcrumbs/index.js +96 -0
  44. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -0
  45. package/dist/elements/FolderView/Breadcrumbs/index.scss +56 -0
  46. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +6 -0
  47. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +1 -0
  48. package/dist/elements/FolderView/BrowseByFolderButton/index.js +40 -0
  49. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -0
  50. package/dist/elements/FolderView/BrowseByFolderButton/index.scss +30 -0
  51. package/dist/elements/FolderView/Cell/index.client.d.ts +13 -0
  52. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -0
  53. package/dist/elements/FolderView/Cell/index.client.js +95 -0
  54. package/dist/elements/FolderView/Cell/index.client.js.map +1 -0
  55. package/dist/elements/FolderView/Cell/index.server.d.ts +4 -0
  56. package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -0
  57. package/dist/elements/FolderView/Cell/index.server.js +18 -0
  58. package/dist/elements/FolderView/Cell/index.server.js.map +1 -0
  59. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +3 -0
  60. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +1 -0
  61. package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -0
  62. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -0
  63. package/dist/elements/FolderView/ColoredFolderIcon/index.scss +5 -0
  64. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +7 -0
  65. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -0
  66. package/dist/elements/FolderView/CurrentFolderActions/index.js +162 -0
  67. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -0
  68. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +11 -0
  69. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +1 -0
  70. package/dist/elements/FolderView/DragOverlaySelection/index.js +62 -0
  71. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -0
  72. package/dist/elements/FolderView/DragOverlaySelection/index.scss +35 -0
  73. package/dist/elements/FolderView/DraggableTableRow/index.d.ts +18 -0
  74. package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +1 -0
  75. package/dist/elements/FolderView/DraggableTableRow/index.js +63 -0
  76. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -0
  77. package/dist/elements/FolderView/DraggableTableRow/index.scss +135 -0
  78. package/dist/elements/FolderView/DraggableWithClick/index.d.ts +15 -0
  79. package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +1 -0
  80. package/dist/elements/FolderView/DraggableWithClick/index.js +86 -0
  81. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -0
  82. package/dist/elements/FolderView/DraggableWithClick/index.scss +5 -0
  83. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +7 -0
  84. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +1 -0
  85. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +39 -0
  86. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -0
  87. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +37 -0
  88. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -0
  89. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +609 -0
  90. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -0
  91. package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +30 -0
  92. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts +4 -0
  93. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts.map +1 -0
  94. package/dist/elements/FolderView/FilterFolderTypePill/index.js +102 -0
  95. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -0
  96. package/dist/elements/FolderView/FilterFolderTypePill/index.scss +16 -0
  97. package/dist/elements/FolderView/FolderField/index.scss +12 -0
  98. package/dist/elements/FolderView/FolderField/index.server.d.ts +4 -0
  99. package/dist/elements/FolderView/FolderField/index.server.d.ts.map +1 -0
  100. package/dist/elements/FolderView/FolderField/index.server.js +16 -0
  101. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -0
  102. package/dist/elements/FolderView/FolderFileCard/index.d.ts +30 -0
  103. package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +1 -0
  104. package/dist/elements/FolderView/FolderFileCard/index.js +209 -0
  105. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -0
  106. package/dist/elements/FolderView/FolderFileCard/index.scss +247 -0
  107. package/dist/elements/FolderView/FolderFileTable/index.d.ts +8 -0
  108. package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +1 -0
  109. package/dist/elements/FolderView/FolderFileTable/index.js +284 -0
  110. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -0
  111. package/dist/elements/FolderView/FolderFileTable/index.scss +11 -0
  112. package/dist/elements/FolderView/FolderTypeField/index.d.ts +4 -0
  113. package/dist/elements/FolderView/FolderTypeField/index.d.ts.map +1 -0
  114. package/dist/elements/FolderView/FolderTypeField/index.js +123 -0
  115. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -0
  116. package/dist/elements/FolderView/ItemCardGrid/index.d.ts +16 -0
  117. package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +1 -0
  118. package/dist/elements/FolderView/ItemCardGrid/index.js +34 -0
  119. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -0
  120. package/dist/elements/FolderView/ItemCardGrid/index.scss +16 -0
  121. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +37 -0
  122. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +1 -0
  123. package/dist/elements/FolderView/MoveDocToFolder/index.js +292 -0
  124. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -0
  125. package/dist/elements/{HierarchyButton → FolderView/MoveDocToFolder}/index.scss +1 -7
  126. package/dist/elements/FolderView/SimpleTable/index.d.ts +19 -0
  127. package/dist/elements/FolderView/SimpleTable/index.d.ts.map +1 -0
  128. package/dist/elements/FolderView/SimpleTable/index.js +95 -0
  129. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -0
  130. package/dist/elements/FolderView/SimpleTable/index.scss +59 -0
  131. package/dist/elements/FolderView/SortByPill/index.d.ts +4 -0
  132. package/dist/elements/FolderView/SortByPill/index.d.ts.map +1 -0
  133. package/dist/elements/FolderView/SortByPill/index.js +112 -0
  134. package/dist/elements/FolderView/SortByPill/index.js.map +1 -0
  135. package/dist/elements/FolderView/SortByPill/index.scss +16 -0
  136. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +8 -0
  137. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +1 -0
  138. package/dist/elements/FolderView/ToggleViewButtons/index.js +31 -0
  139. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -0
  140. package/dist/elements/FolderView/ToggleViewButtons/index.scss +17 -0
  141. package/dist/elements/Link/index.d.ts +0 -4
  142. package/dist/elements/Link/index.d.ts.map +1 -1
  143. package/dist/elements/Link/index.js +0 -5
  144. package/dist/elements/Link/index.js.map +1 -1
  145. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +15 -0
  146. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -0
  147. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +182 -0
  148. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -0
  149. package/dist/elements/ListHeader/TitleActions/index.d.ts +1 -0
  150. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
  151. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  152. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  153. package/dist/elements/ListHeader/index.js +2 -2
  154. package/dist/elements/ListHeader/index.js.map +1 -1
  155. package/dist/elements/ListSelection/index.scss +1 -2
  156. package/dist/elements/Locked/index.scss +1 -1
  157. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  158. package/dist/elements/RelationshipTable/index.js +17 -12
  159. package/dist/elements/RelationshipTable/index.js.map +1 -1
  160. package/dist/elements/StepNav/index.d.ts.map +1 -1
  161. package/dist/elements/StepNav/index.js +1 -10
  162. package/dist/elements/StepNav/index.js.map +1 -1
  163. package/dist/elements/StepNav/types.d.ts +0 -1
  164. package/dist/elements/StepNav/types.d.ts.map +1 -1
  165. package/dist/elements/StepNav/types.js.map +1 -1
  166. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  167. package/dist/elements/Table/DefaultCell/index.js +0 -20
  168. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  169. package/dist/elements/Tooltip/index.js +1 -1
  170. package/dist/elements/Tooltip/index.js.map +1 -1
  171. package/dist/elements/Tooltip/index.scss +15 -1
  172. package/dist/exports/client/index.d.ts +10 -31
  173. package/dist/exports/client/index.d.ts.map +1 -1
  174. package/dist/exports/client/index.js +24 -26
  175. package/dist/exports/client/index.js.map +4 -4
  176. package/dist/exports/rsc/index.d.ts +3 -3
  177. package/dist/exports/rsc/index.d.ts.map +1 -1
  178. package/dist/exports/rsc/index.js +3 -3
  179. package/dist/exports/rsc/index.js.map +1 -1
  180. package/dist/fields/Join/index.d.ts.map +1 -1
  181. package/dist/fields/Join/index.js +1 -1
  182. package/dist/fields/Join/index.js.map +1 -1
  183. package/dist/fields/shared/index.d.ts +2 -2
  184. package/dist/fields/shared/index.d.ts.map +1 -1
  185. package/dist/fields/shared/index.js.map +1 -1
  186. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  187. package/dist/forms/Form/mergeServerFormState.js +101 -24
  188. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  189. package/dist/icons/Chevron/index.d.ts.map +1 -1
  190. package/dist/icons/Chevron/index.js +1 -5
  191. package/dist/icons/Chevron/index.js.map +1 -1
  192. package/dist/icons/Document/index.d.ts +1 -3
  193. package/dist/icons/Document/index.d.ts.map +1 -1
  194. package/dist/icons/Document/index.js +2 -4
  195. package/dist/icons/Document/index.js.map +1 -1
  196. package/dist/icons/Document/index.scss +0 -4
  197. package/dist/icons/Folder/index.d.ts +2 -4
  198. package/dist/icons/Folder/index.d.ts.map +1 -1
  199. package/dist/icons/Folder/index.js +2 -4
  200. package/dist/icons/Folder/index.js.map +1 -1
  201. package/dist/icons/Folder/index.scss +0 -8
  202. package/dist/icons/Lock/index.scss +1 -1
  203. package/dist/icons/Plus/index.d.ts.map +1 -1
  204. package/dist/icons/Plus/index.js +1 -2
  205. package/dist/icons/Plus/index.js.map +1 -1
  206. package/dist/providers/Folders/groupItemIDsByRelation.d.ts +3 -0
  207. package/dist/providers/Folders/groupItemIDsByRelation.d.ts.map +1 -0
  208. package/dist/providers/Folders/groupItemIDsByRelation.js +10 -0
  209. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -0
  210. package/dist/providers/Folders/index.d.ts +143 -0
  211. package/dist/providers/Folders/index.d.ts.map +1 -0
  212. package/dist/providers/Folders/index.js +641 -0
  213. package/dist/providers/Folders/index.js.map +1 -0
  214. package/dist/providers/Root/index.d.ts.map +1 -1
  215. package/dist/providers/Root/index.js +15 -18
  216. package/dist/providers/Root/index.js.map +1 -1
  217. package/dist/providers/ServerFunctions/index.d.ts +6 -1
  218. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  219. package/dist/providers/ServerFunctions/index.js +18 -0
  220. package/dist/providers/ServerFunctions/index.js.map +1 -1
  221. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +1 -2
  222. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  223. package/dist/providers/TableColumns/buildColumnState/renderCell.js +1 -34
  224. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  225. package/dist/styles.css +1 -1
  226. package/dist/utilities/getFolderResultsComponentAndData.d.ts +25 -0
  227. package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -0
  228. package/dist/utilities/getFolderResultsComponentAndData.js +135 -0
  229. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -0
  230. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  231. package/dist/utilities/renderTable.d.ts +1 -3
  232. package/dist/utilities/renderTable.d.ts.map +1 -1
  233. package/dist/utilities/renderTable.js +3 -9
  234. package/dist/utilities/renderTable.js.map +1 -1
  235. package/dist/views/BrowseByFolder/index.d.ts +5 -0
  236. package/dist/views/BrowseByFolder/index.d.ts.map +1 -0
  237. package/dist/views/BrowseByFolder/index.js +342 -0
  238. package/dist/views/BrowseByFolder/index.js.map +1 -0
  239. package/dist/views/BrowseByFolder/index.scss +174 -0
  240. package/dist/views/CollectionFolder/ListSelection/index.d.ts +9 -0
  241. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -0
  242. package/dist/views/CollectionFolder/ListSelection/index.js +180 -0
  243. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -0
  244. package/dist/views/CollectionFolder/index.d.ts +5 -0
  245. package/dist/views/CollectionFolder/index.d.ts.map +1 -0
  246. package/dist/views/CollectionFolder/index.js +325 -0
  247. package/dist/views/CollectionFolder/index.js.map +1 -0
  248. package/dist/views/CollectionFolder/index.scss +162 -0
  249. package/dist/views/Edit/index.d.ts +1 -1
  250. package/dist/views/Edit/index.d.ts.map +1 -1
  251. package/dist/views/Edit/index.js +17 -6
  252. package/dist/views/Edit/index.js.map +1 -1
  253. package/dist/views/List/index.d.ts.map +1 -1
  254. package/dist/views/List/index.js +7 -51
  255. package/dist/views/List/index.js.map +1 -1
  256. package/package.json +5 -5
  257. package/dist/elements/CreateDocumentButton/index.d.ts +0 -26
  258. package/dist/elements/CreateDocumentButton/index.d.ts.map +0 -1
  259. package/dist/elements/CreateDocumentButton/index.js +0 -182
  260. package/dist/elements/CreateDocumentButton/index.js.map +0 -1
  261. package/dist/elements/DelayedSpinner/index.d.ts +0 -23
  262. package/dist/elements/DelayedSpinner/index.d.ts.map +0 -1
  263. package/dist/elements/DelayedSpinner/index.js +0 -61
  264. package/dist/elements/DelayedSpinner/index.js.map +0 -1
  265. package/dist/elements/HierarchyButton/index.d.ts +0 -11
  266. package/dist/elements/HierarchyButton/index.d.ts.map +0 -1
  267. package/dist/elements/HierarchyButton/index.js +0 -126
  268. package/dist/elements/HierarchyButton/index.js.map +0 -1
  269. package/dist/elements/HierarchyButton/index.server.d.ts +0 -10
  270. package/dist/elements/HierarchyButton/index.server.d.ts.map +0 -1
  271. package/dist/elements/HierarchyButton/index.server.js +0 -34
  272. package/dist/elements/HierarchyButton/index.server.js.map +0 -1
  273. package/dist/elements/HierarchyColumnBrowser/Column/index.d.ts +0 -5
  274. package/dist/elements/HierarchyColumnBrowser/Column/index.d.ts.map +0 -1
  275. package/dist/elements/HierarchyColumnBrowser/Column/index.js +0 -166
  276. package/dist/elements/HierarchyColumnBrowser/Column/index.js.map +0 -1
  277. package/dist/elements/HierarchyColumnBrowser/Column/index.scss +0 -63
  278. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.d.ts +0 -5
  279. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.d.ts.map +0 -1
  280. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.js +0 -161
  281. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.js.map +0 -1
  282. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.scss +0 -105
  283. package/dist/elements/HierarchyColumnBrowser/index.d.ts +0 -8
  284. package/dist/elements/HierarchyColumnBrowser/index.d.ts.map +0 -1
  285. package/dist/elements/HierarchyColumnBrowser/index.js +0 -473
  286. package/dist/elements/HierarchyColumnBrowser/index.js.map +0 -1
  287. package/dist/elements/HierarchyColumnBrowser/index.scss +0 -20
  288. package/dist/elements/HierarchyColumnBrowser/types.d.ts +0 -106
  289. package/dist/elements/HierarchyColumnBrowser/types.d.ts.map +0 -1
  290. package/dist/elements/HierarchyColumnBrowser/types.js +0 -2
  291. package/dist/elements/HierarchyColumnBrowser/types.js.map +0 -1
  292. package/dist/elements/HierarchyDrawer/Drawer/index.d.ts +0 -20
  293. package/dist/elements/HierarchyDrawer/Drawer/index.d.ts.map +0 -1
  294. package/dist/elements/HierarchyDrawer/Drawer/index.js +0 -291
  295. package/dist/elements/HierarchyDrawer/Drawer/index.js.map +0 -1
  296. package/dist/elements/HierarchyDrawer/Drawer/index.scss +0 -81
  297. package/dist/elements/HierarchyDrawer/fetchAncestorPath.d.ts +0 -15
  298. package/dist/elements/HierarchyDrawer/fetchAncestorPath.d.ts.map +0 -1
  299. package/dist/elements/HierarchyDrawer/fetchAncestorPath.js +0 -60
  300. package/dist/elements/HierarchyDrawer/fetchAncestorPath.js.map +0 -1
  301. package/dist/elements/HierarchyDrawer/index.d.ts +0 -30
  302. package/dist/elements/HierarchyDrawer/index.d.ts.map +0 -1
  303. package/dist/elements/HierarchyDrawer/index.js +0 -148
  304. package/dist/elements/HierarchyDrawer/index.js.map +0 -1
  305. package/dist/elements/HierarchyDrawer/types.d.ts +0 -68
  306. package/dist/elements/HierarchyDrawer/types.d.ts.map +0 -1
  307. package/dist/elements/HierarchyDrawer/types.js +0 -3
  308. package/dist/elements/HierarchyDrawer/types.js.map +0 -1
  309. package/dist/elements/HierarchyField/SelectedHierarchies.d.ts +0 -13
  310. package/dist/elements/HierarchyField/SelectedHierarchies.d.ts.map +0 -1
  311. package/dist/elements/HierarchyField/SelectedHierarchies.js +0 -194
  312. package/dist/elements/HierarchyField/SelectedHierarchies.js.map +0 -1
  313. package/dist/elements/HierarchyField/SelectedHierarchies.scss +0 -78
  314. package/dist/elements/HierarchyField/index.client.d.ts +0 -8
  315. package/dist/elements/HierarchyField/index.client.d.ts.map +0 -1
  316. package/dist/elements/HierarchyField/index.client.js +0 -198
  317. package/dist/elements/HierarchyField/index.client.js.map +0 -1
  318. package/dist/elements/HierarchyField/index.scss +0 -35
  319. package/dist/elements/HierarchyField/index.server.d.ts +0 -3
  320. package/dist/elements/HierarchyField/index.server.d.ts.map +0 -1
  321. package/dist/elements/HierarchyField/index.server.js +0 -30
  322. package/dist/elements/HierarchyField/index.server.js.map +0 -1
  323. package/dist/elements/HierarchySearch/HierarchySearchInput.d.ts +0 -18
  324. package/dist/elements/HierarchySearch/HierarchySearchInput.d.ts.map +0 -1
  325. package/dist/elements/HierarchySearch/HierarchySearchInput.js +0 -115
  326. package/dist/elements/HierarchySearch/HierarchySearchInput.js.map +0 -1
  327. package/dist/elements/HierarchySearch/HierarchySearchResultItem.d.ts +0 -13
  328. package/dist/elements/HierarchySearch/HierarchySearchResultItem.d.ts.map +0 -1
  329. package/dist/elements/HierarchySearch/HierarchySearchResultItem.js +0 -88
  330. package/dist/elements/HierarchySearch/HierarchySearchResultItem.js.map +0 -1
  331. package/dist/elements/HierarchySearch/HierarchySearchResults.d.ts +0 -17
  332. package/dist/elements/HierarchySearch/HierarchySearchResults.d.ts.map +0 -1
  333. package/dist/elements/HierarchySearch/HierarchySearchResults.js +0 -85
  334. package/dist/elements/HierarchySearch/HierarchySearchResults.js.map +0 -1
  335. package/dist/elements/HierarchySearch/index.d.ts +0 -10
  336. package/dist/elements/HierarchySearch/index.d.ts.map +0 -1
  337. package/dist/elements/HierarchySearch/index.js +0 -144
  338. package/dist/elements/HierarchySearch/index.js.map +0 -1
  339. package/dist/elements/HierarchySearch/index.scss +0 -212
  340. package/dist/elements/HierarchySearch/types.d.ts +0 -21
  341. package/dist/elements/HierarchySearch/types.d.ts.map +0 -1
  342. package/dist/elements/HierarchySearch/types.js +0 -2
  343. package/dist/elements/HierarchySearch/types.js.map +0 -1
  344. package/dist/elements/HierarchySearch/useHierarchySearch.d.ts +0 -20
  345. package/dist/elements/HierarchySearch/useHierarchySearch.d.ts.map +0 -1
  346. package/dist/elements/HierarchySearch/useHierarchySearch.js +0 -122
  347. package/dist/elements/HierarchySearch/useHierarchySearch.js.map +0 -1
  348. package/dist/elements/HierarchyTree/HierarchySidebarTab.d.ts +0 -21
  349. package/dist/elements/HierarchyTree/HierarchySidebarTab.d.ts.map +0 -1
  350. package/dist/elements/HierarchyTree/HierarchySidebarTab.js +0 -167
  351. package/dist/elements/HierarchyTree/HierarchySidebarTab.js.map +0 -1
  352. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.d.ts +0 -7
  353. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.d.ts.map +0 -1
  354. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.js +0 -176
  355. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.js.map +0 -1
  356. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.d.ts +0 -8
  357. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.d.ts.map +0 -1
  358. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.js +0 -36
  359. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.js.map +0 -1
  360. package/dist/elements/HierarchyTree/LoadMore/index.d.ts +0 -12
  361. package/dist/elements/HierarchyTree/LoadMore/index.d.ts.map +0 -1
  362. package/dist/elements/HierarchyTree/LoadMore/index.js +0 -29
  363. package/dist/elements/HierarchyTree/LoadMore/index.js.map +0 -1
  364. package/dist/elements/HierarchyTree/LoadMore/index.scss +0 -26
  365. package/dist/elements/HierarchyTree/TreeConnector.d.ts +0 -7
  366. package/dist/elements/HierarchyTree/TreeConnector.d.ts.map +0 -1
  367. package/dist/elements/HierarchyTree/TreeConnector.js +0 -23
  368. package/dist/elements/HierarchyTree/TreeConnector.js.map +0 -1
  369. package/dist/elements/HierarchyTree/TreeFocusContext.d.ts +0 -28
  370. package/dist/elements/HierarchyTree/TreeFocusContext.d.ts.map +0 -1
  371. package/dist/elements/HierarchyTree/TreeFocusContext.js +0 -140
  372. package/dist/elements/HierarchyTree/TreeFocusContext.js.map +0 -1
  373. package/dist/elements/HierarchyTree/TreeNode/index.d.ts +0 -5
  374. package/dist/elements/HierarchyTree/TreeNode/index.d.ts.map +0 -1
  375. package/dist/elements/HierarchyTree/TreeNode/index.js +0 -201
  376. package/dist/elements/HierarchyTree/TreeNode/index.js.map +0 -1
  377. package/dist/elements/HierarchyTree/TreeNode/index.scss +0 -99
  378. package/dist/elements/HierarchyTree/index.d.ts +0 -4
  379. package/dist/elements/HierarchyTree/index.d.ts.map +0 -1
  380. package/dist/elements/HierarchyTree/index.js +0 -66
  381. package/dist/elements/HierarchyTree/index.js.map +0 -1
  382. package/dist/elements/HierarchyTree/index.scss +0 -42
  383. package/dist/elements/HierarchyTree/types.d.ts +0 -57
  384. package/dist/elements/HierarchyTree/types.d.ts.map +0 -1
  385. package/dist/elements/HierarchyTree/types.js +0 -2
  386. package/dist/elements/HierarchyTree/types.js.map +0 -1
  387. package/dist/elements/HierarchyTree/useChildren.d.ts +0 -26
  388. package/dist/elements/HierarchyTree/useChildren.d.ts.map +0 -1
  389. package/dist/elements/HierarchyTree/useChildren.js +0 -150
  390. package/dist/elements/HierarchyTree/useChildren.js.map +0 -1
  391. package/dist/elements/HierarchyTree/useTreeState.d.ts +0 -9
  392. package/dist/elements/HierarchyTree/useTreeState.d.ts.map +0 -1
  393. package/dist/elements/HierarchyTree/useTreeState.js +0 -50
  394. package/dist/elements/HierarchyTree/useTreeState.js.map +0 -1
  395. package/dist/elements/HydrateHierarchyProvider/index.d.ts +0 -4
  396. package/dist/elements/HydrateHierarchyProvider/index.d.ts.map +0 -1
  397. package/dist/elements/HydrateHierarchyProvider/index.js +0 -70
  398. package/dist/elements/HydrateHierarchyProvider/index.js.map +0 -1
  399. package/dist/elements/LoadMoreRow/index.d.ts +0 -15
  400. package/dist/elements/LoadMoreRow/index.d.ts.map +0 -1
  401. package/dist/elements/LoadMoreRow/index.js +0 -75
  402. package/dist/elements/LoadMoreRow/index.js.map +0 -1
  403. package/dist/elements/LoadMoreRow/index.scss +0 -42
  404. package/dist/elements/MoveMany/index.d.ts +0 -22
  405. package/dist/elements/MoveMany/index.d.ts.map +0 -1
  406. package/dist/elements/MoveMany/index.js +0 -278
  407. package/dist/elements/MoveMany/index.js.map +0 -1
  408. package/dist/elements/MoveMany/index.scss +0 -7
  409. package/dist/elements/Spinner/index.d.ts +0 -16
  410. package/dist/elements/Spinner/index.d.ts.map +0 -1
  411. package/dist/elements/Spinner/index.js +0 -49
  412. package/dist/elements/Spinner/index.js.map +0 -1
  413. package/dist/elements/Spinner/index.scss +0 -39
  414. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts +0 -6
  415. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +0 -1
  416. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +0 -187
  417. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +0 -1
  418. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.scss +0 -29
  419. package/dist/elements/Tree/LoadMore/LoadMoreButton.d.ts +0 -8
  420. package/dist/elements/Tree/LoadMore/LoadMoreButton.d.ts.map +0 -1
  421. package/dist/elements/Tree/LoadMore/LoadMoreButton.js +0 -36
  422. package/dist/elements/Tree/LoadMore/LoadMoreButton.js.map +0 -1
  423. package/dist/elements/Tree/LoadMore/index.d.ts +0 -12
  424. package/dist/elements/Tree/LoadMore/index.d.ts.map +0 -1
  425. package/dist/elements/Tree/LoadMore/index.js +0 -29
  426. package/dist/elements/Tree/LoadMore/index.js.map +0 -1
  427. package/dist/elements/Tree/LoadMore/index.scss +0 -26
  428. package/dist/elements/Tree/TreeConnector.d.ts +0 -7
  429. package/dist/elements/Tree/TreeConnector.d.ts.map +0 -1
  430. package/dist/elements/Tree/TreeConnector.js +0 -23
  431. package/dist/elements/Tree/TreeConnector.js.map +0 -1
  432. package/dist/elements/Tree/TreeFocusContext.d.ts +0 -28
  433. package/dist/elements/Tree/TreeFocusContext.d.ts.map +0 -1
  434. package/dist/elements/Tree/TreeFocusContext.js +0 -140
  435. package/dist/elements/Tree/TreeFocusContext.js.map +0 -1
  436. package/dist/elements/Tree/TreeNode/index.d.ts +0 -5
  437. package/dist/elements/Tree/TreeNode/index.d.ts.map +0 -1
  438. package/dist/elements/Tree/TreeNode/index.js +0 -221
  439. package/dist/elements/Tree/TreeNode/index.js.map +0 -1
  440. package/dist/elements/Tree/TreeNode/index.scss +0 -110
  441. package/dist/elements/Tree/index.d.ts +0 -5
  442. package/dist/elements/Tree/index.d.ts.map +0 -1
  443. package/dist/elements/Tree/index.js +0 -270
  444. package/dist/elements/Tree/index.js.map +0 -1
  445. package/dist/elements/Tree/index.scss +0 -63
  446. package/dist/elements/Tree/types.d.ts +0 -70
  447. package/dist/elements/Tree/types.d.ts.map +0 -1
  448. package/dist/elements/Tree/types.js +0 -2
  449. package/dist/elements/Tree/types.js.map +0 -1
  450. package/dist/elements/Tree/useChildren.d.ts +0 -28
  451. package/dist/elements/Tree/useChildren.d.ts.map +0 -1
  452. package/dist/elements/Tree/useChildren.js +0 -213
  453. package/dist/elements/Tree/useChildren.js.map +0 -1
  454. package/dist/fields/Null/index.d.ts +0 -11
  455. package/dist/fields/Null/index.d.ts.map +0 -1
  456. package/dist/fields/Null/index.js +0 -13
  457. package/dist/fields/Null/index.js.map +0 -1
  458. package/dist/icons/Filter/index.d.ts +0 -4
  459. package/dist/icons/Filter/index.d.ts.map +0 -1
  460. package/dist/icons/Filter/index.js +0 -15
  461. package/dist/icons/Filter/index.js.map +0 -1
  462. package/dist/icons/Filter/index.scss +0 -13
  463. package/dist/icons/Tag/index.d.ts +0 -8
  464. package/dist/icons/Tag/index.d.ts.map +0 -1
  465. package/dist/icons/Tag/index.js +0 -22
  466. package/dist/icons/Tag/index.js.map +0 -1
  467. package/dist/icons/Tag/index.scss +0 -14
  468. package/dist/providers/DocumentSelection/index.d.ts +0 -8
  469. package/dist/providers/DocumentSelection/index.d.ts.map +0 -1
  470. package/dist/providers/DocumentSelection/index.js +0 -239
  471. package/dist/providers/DocumentSelection/index.js.map +0 -1
  472. package/dist/providers/DocumentSelection/types.d.ts +0 -122
  473. package/dist/providers/DocumentSelection/types.d.ts.map +0 -1
  474. package/dist/providers/DocumentSelection/types.js +0 -5
  475. package/dist/providers/DocumentSelection/types.js.map +0 -1
  476. package/dist/providers/Hierarchy/index.d.ts +0 -5
  477. package/dist/providers/Hierarchy/index.d.ts.map +0 -1
  478. package/dist/providers/Hierarchy/index.js +0 -346
  479. package/dist/providers/Hierarchy/index.js.map +0 -1
  480. package/dist/providers/Hierarchy/types.d.ts +0 -105
  481. package/dist/providers/Hierarchy/types.d.ts.map +0 -1
  482. package/dist/providers/Hierarchy/types.js +0 -2
  483. package/dist/providers/Hierarchy/types.js.map +0 -1
  484. package/dist/utilities/isSuperset.d.ts +0 -6
  485. package/dist/utilities/isSuperset.d.ts.map +0 -1
  486. package/dist/utilities/isSuperset.js +0 -10
  487. package/dist/utilities/isSuperset.js.map +0 -1
  488. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts +0 -10
  489. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +0 -1
  490. package/dist/views/HierarchyList/DocumentListSelection/index.js +0 -135
  491. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +0 -1
  492. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +0 -21
  493. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +0 -1
  494. package/dist/views/HierarchyList/HierarchyListHeader/index.js +0 -67
  495. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +0 -1
  496. package/dist/views/HierarchyList/HierarchyListHeader/index.scss +0 -9
  497. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts +0 -4
  498. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +0 -1
  499. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +0 -104
  500. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +0 -1
  501. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts +0 -4
  502. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts.map +0 -1
  503. package/dist/views/HierarchyList/HierarchyTable/DateCell.js +0 -53
  504. package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +0 -1
  505. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts +0 -4
  506. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +0 -1
  507. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +0 -128
  508. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +0 -1
  509. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +0 -99
  510. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +0 -1
  511. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +0 -118
  512. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +0 -1
  513. package/dist/views/HierarchyList/HierarchyTable/SlotTable.scss +0 -214
  514. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +0 -27
  515. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +0 -1
  516. package/dist/views/HierarchyList/HierarchyTable/index.js +0 -388
  517. package/dist/views/HierarchyList/HierarchyTable/index.js.map +0 -1
  518. package/dist/views/HierarchyList/HierarchyTable/index.scss +0 -148
  519. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +0 -20
  520. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +0 -1
  521. package/dist/views/HierarchyList/HierarchyTable/types.js +0 -2
  522. package/dist/views/HierarchyList/HierarchyTable/types.js.map +0 -1
  523. package/dist/views/HierarchyList/TypeFilter/index.d.ts +0 -15
  524. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +0 -1
  525. package/dist/views/HierarchyList/TypeFilter/index.js +0 -37
  526. package/dist/views/HierarchyList/TypeFilter/index.js.map +0 -1
  527. package/dist/views/HierarchyList/TypeFilter/index.scss +0 -32
  528. package/dist/views/HierarchyList/index.d.ts +0 -5
  529. package/dist/views/HierarchyList/index.d.ts.map +0 -1
  530. package/dist/views/HierarchyList/index.js +0 -305
  531. package/dist/views/HierarchyList/index.js.map +0 -1
  532. package/dist/views/HierarchyList/index.scss +0 -72
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAe/C,OAAO,cAAc,CAAA;AAQrB,wBAAgB,QAAQ,CAAC,EACvB,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,EAAE,aAAa,qBAqHf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAgB/C,OAAO,cAAc,CAAA;AAQrB,wBAAgB,QAAQ,CAAC,EACvB,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,EAAE,aAAa,qBAqIf"}
@@ -13,6 +13,7 @@ import { useServerFunctions } from '../../../providers/ServerFunctions/index.js'
13
13
  import { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js';
14
14
  import { useDocumentDrawerContext } from '../../DocumentDrawer/Provider.js';
15
15
  import { DocumentFields } from '../../DocumentFields/index.js';
16
+ import { MoveDocToFolder } from '../../FolderView/MoveDocToFolder/index.js';
16
17
  import { Upload_v4 } from '../../Upload/index.js';
17
18
  import { useFormsManager } from '../FormsManager/index.js';
18
19
  import './index.scss';
@@ -44,6 +45,9 @@ export function EditForm({
44
45
  getFormState
45
46
  } = useServerFunctions();
46
47
  const {
48
+ config: {
49
+ folders
50
+ },
47
51
  getEntityConfig
48
52
  } = useConfig();
49
53
  const abortOnChangeRef = React.useRef(null);
@@ -114,6 +118,14 @@ export function EditForm({
114
118
  BeforeFields: /*#__PURE__*/_jsx(React.Fragment, {
115
119
  children: CustomUpload || /*#__PURE__*/_jsx(Upload_v4, {
116
120
  collectionSlug: collectionConfig.slug,
121
+ customActions: [folders && collectionConfig.folders && /*#__PURE__*/_jsx(MoveDocToFolder, {
122
+ buttonProps: {
123
+ buttonStyle: 'pill',
124
+ size: 'small'
125
+ },
126
+ folderCollectionSlug: folders.slug,
127
+ folderFieldName: folders.fieldName
128
+ }, "move-doc-to-folder")].filter(Boolean),
117
129
  initialState: initialState,
118
130
  resetUploadEdits: resetUploadEdits,
119
131
  updateUploadEdits: updateUploadEdits,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","Form","useForm","WatchChildErrors","useConfig","useDocumentEvents","useDocumentInfo","OperationProvider","useServerFunctions","abortAndIgnore","handleAbortRef","useDocumentDrawerContext","DocumentFields","Upload_v4","useFormsManager","baseClass","EditForm","resetUploadEdits","submitted","updateUploadEdits","uploadEdits","action","collectionSlug","docSlug","docPermissions","getDocPreferences","hasSavePermission","initialState","isInitializing","Upload","CustomUpload","drawerSlug","onSave","onSaveFromContext","getFormState","getEntityConfig","abortOnChangeRef","useRef","collectionConfig","reportUpdate","slug","schemaPath","useState","json","doc","result","entitySlug","operation","updatedAt","Date","toISOString","onChange","formState","prevFormState","controller","docPreferences","state","newFormState","signal","skipValidation","current","abortOnChange","_jsx","_jsxs","className","disabled","undefined","method","onSuccess","BeforeFields","Fragment","uploadConfig","upload","fields","schemaPathSegments","ReportAllErrors","GetFieldProxy","$","getField","getFields","getFormDataRef","t0","t1","docConfig","activeIndex","forms","setFormTotalErrorCount","errorCountRef","fileIsValid","currentForm","file","valid","reportFormErrorCount","fieldErrorCount","newErrorCount","errorCount","index","path","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { EditFormProps } from './types.js'\n\nimport { Form, useForm } from '../../../forms/Form/index.js'\nimport { type FormProps } from '../../../forms/Form/types.js'\nimport { WatchChildErrors } from '../../../forms/WatchChildErrors/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { OperationProvider } from '../../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { useDocumentDrawerContext } from '../../DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../DocumentFields/index.js'\nimport { Upload_v4 } from '../../Upload/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\n\nexport function EditForm({\n resetUploadEdits,\n submitted,\n updateUploadEdits,\n uploadEdits,\n}: EditFormProps) {\n const {\n action,\n collectionSlug: docSlug,\n docPermissions,\n getDocPreferences,\n hasSavePermission,\n initialState,\n isInitializing,\n Upload: CustomUpload,\n } = useDocumentInfo()\n\n const { drawerSlug, onSave: onSaveFromContext } = useDocumentDrawerContext()\n\n const { getFormState } = useServerFunctions()\n\n const { getEntityConfig } = useConfig()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug })\n const { reportUpdate } = useDocumentEvents()\n\n const collectionSlug = collectionConfig.slug\n\n const [schemaPath] = React.useState(collectionSlug)\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n doc: json?.doc || json?.result,\n drawerSlug,\n entitySlug: collectionSlug,\n operation: 'create',\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: 'create',\n })\n }\n resetUploadEdits()\n },\n [collectionSlug, onSaveFromContext, reportUpdate, resetUploadEdits, drawerSlug],\n )\n\n const onChange: NonNullable<FormProps['onChange']>[0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newFormState } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortOnChangeRef.current = null\n\n return newFormState\n },\n [collectionSlug, schemaPath, getDocPreferences, getFormState, docPermissions],\n )\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <OperationProvider operation=\"create\">\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isInitializing || !hasSavePermission}\n initialState={isInitializing ? undefined : initialState}\n isInitializing={isInitializing}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={onSave}\n submitted={submitted}\n >\n <DocumentFields\n BeforeFields={\n <React.Fragment>\n {CustomUpload || (\n <Upload_v4\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadConfig={collectionConfig.upload}\n uploadEdits={uploadEdits}\n />\n )}\n </React.Fragment>\n }\n docPermissions={docPermissions}\n fields={collectionConfig.fields}\n schemaPathSegments={[collectionConfig.slug]}\n />\n <ReportAllErrors />\n <GetFieldProxy />\n </Form>\n </OperationProvider>\n )\n}\n\nfunction GetFieldProxy() {\n const { getField, getFields } = useForm()\n const { getFormDataRef } = useFormsManager()\n\n useEffect(() => {\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n getFormDataRef.current = getFields\n }, [getFields, getField, getFormDataRef])\n\n return null\n}\n\nfunction ReportAllErrors() {\n const { docConfig } = useDocumentInfo()\n const { activeIndex, forms, setFormTotalErrorCount } = useFormsManager()\n const errorCountRef = React.useRef(0)\n\n const fileIsValid = useMemo(() => {\n const currentForm = forms[activeIndex]\n return currentForm?.formState?.file?.valid ?? true\n }, [activeIndex, forms])\n\n const reportFormErrorCount = React.useCallback(\n (fieldErrorCount: number) => {\n let newErrorCount = fieldErrorCount\n // If the file is invalid, count that as an error\n if (!fileIsValid) {\n newErrorCount += 1\n }\n if (newErrorCount === errorCountRef.current) {\n return\n }\n setFormTotalErrorCount({ errorCount: newErrorCount, index: activeIndex })\n errorCountRef.current = newErrorCount\n },\n [activeIndex, setFormTotalErrorCount, fileIsValid],\n )\n\n if (!docConfig) {\n return null\n }\n\n return (\n <WatchChildErrors fields={docConfig.fields} path={[]} setErrorCount={reportFormErrorCount} />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","Form","useForm","WatchChildErrors","useConfig","useDocumentEvents","useDocumentInfo","OperationProvider","useServerFunctions","abortAndIgnore","handleAbortRef","useDocumentDrawerContext","DocumentFields","MoveDocToFolder","Upload_v4","useFormsManager","baseClass","EditForm","resetUploadEdits","submitted","updateUploadEdits","uploadEdits","action","collectionSlug","docSlug","docPermissions","getDocPreferences","hasSavePermission","initialState","isInitializing","Upload","CustomUpload","drawerSlug","onSave","onSaveFromContext","getFormState","config","folders","getEntityConfig","abortOnChangeRef","useRef","collectionConfig","reportUpdate","slug","schemaPath","useState","json","doc","result","entitySlug","operation","updatedAt","Date","toISOString","onChange","formState","prevFormState","controller","docPreferences","state","newFormState","signal","skipValidation","current","abortOnChange","_jsx","_jsxs","className","disabled","undefined","method","onSuccess","BeforeFields","Fragment","customActions","buttonProps","buttonStyle","size","folderCollectionSlug","folderFieldName","fieldName","filter","Boolean","uploadConfig","upload","fields","schemaPathSegments","ReportAllErrors","GetFieldProxy","$","getField","getFields","getFormDataRef","t0","t1","docConfig","activeIndex","forms","setFormTotalErrorCount","errorCountRef","fileIsValid","currentForm","file","valid","reportFormErrorCount","fieldErrorCount","newErrorCount","errorCount","index","path","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { EditFormProps } from './types.js'\n\nimport { Form, useForm } from '../../../forms/Form/index.js'\nimport { type FormProps } from '../../../forms/Form/types.js'\nimport { WatchChildErrors } from '../../../forms/WatchChildErrors/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { OperationProvider } from '../../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { useDocumentDrawerContext } from '../../DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../DocumentFields/index.js'\nimport { MoveDocToFolder } from '../../FolderView/MoveDocToFolder/index.js'\nimport { Upload_v4 } from '../../Upload/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\n\nexport function EditForm({\n resetUploadEdits,\n submitted,\n updateUploadEdits,\n uploadEdits,\n}: EditFormProps) {\n const {\n action,\n collectionSlug: docSlug,\n docPermissions,\n getDocPreferences,\n hasSavePermission,\n initialState,\n isInitializing,\n Upload: CustomUpload,\n } = useDocumentInfo()\n\n const { drawerSlug, onSave: onSaveFromContext } = useDocumentDrawerContext()\n\n const { getFormState } = useServerFunctions()\n\n const {\n config: { folders },\n getEntityConfig,\n } = useConfig()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug })\n const { reportUpdate } = useDocumentEvents()\n\n const collectionSlug = collectionConfig.slug\n\n const [schemaPath] = React.useState(collectionSlug)\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n doc: json?.doc || json?.result,\n drawerSlug,\n entitySlug: collectionSlug,\n operation: 'create',\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: 'create',\n })\n }\n resetUploadEdits()\n },\n [collectionSlug, onSaveFromContext, reportUpdate, resetUploadEdits, drawerSlug],\n )\n\n const onChange: NonNullable<FormProps['onChange']>[0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newFormState } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortOnChangeRef.current = null\n\n return newFormState\n },\n [collectionSlug, schemaPath, getDocPreferences, getFormState, docPermissions],\n )\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <OperationProvider operation=\"create\">\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isInitializing || !hasSavePermission}\n initialState={isInitializing ? undefined : initialState}\n isInitializing={isInitializing}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={onSave}\n submitted={submitted}\n >\n <DocumentFields\n BeforeFields={\n <React.Fragment>\n {CustomUpload || (\n <Upload_v4\n collectionSlug={collectionConfig.slug}\n customActions={[\n folders && collectionConfig.folders && (\n <MoveDocToFolder\n buttonProps={{\n buttonStyle: 'pill',\n size: 'small',\n }}\n folderCollectionSlug={folders.slug}\n folderFieldName={folders.fieldName}\n key=\"move-doc-to-folder\"\n />\n ),\n ].filter(Boolean)}\n initialState={initialState}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadConfig={collectionConfig.upload}\n uploadEdits={uploadEdits}\n />\n )}\n </React.Fragment>\n }\n docPermissions={docPermissions}\n fields={collectionConfig.fields}\n schemaPathSegments={[collectionConfig.slug]}\n />\n <ReportAllErrors />\n <GetFieldProxy />\n </Form>\n </OperationProvider>\n )\n}\n\nfunction GetFieldProxy() {\n const { getField, getFields } = useForm()\n const { getFormDataRef } = useFormsManager()\n\n useEffect(() => {\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n getFormDataRef.current = getFields\n }, [getFields, getField, getFormDataRef])\n\n return null\n}\n\nfunction ReportAllErrors() {\n const { docConfig } = useDocumentInfo()\n const { activeIndex, forms, setFormTotalErrorCount } = useFormsManager()\n const errorCountRef = React.useRef(0)\n\n const fileIsValid = useMemo(() => {\n const currentForm = forms[activeIndex]\n return currentForm?.formState?.file?.valid ?? true\n }, [activeIndex, forms])\n\n const reportFormErrorCount = React.useCallback(\n (fieldErrorCount: number) => {\n let newErrorCount = fieldErrorCount\n // If the file is invalid, count that as an error\n if (!fileIsValid) {\n newErrorCount += 1\n }\n if (newErrorCount === errorCountRef.current) {\n return\n }\n setFormTotalErrorCount({ errorCount: newErrorCount, index: activeIndex })\n errorCountRef.current = newErrorCount\n },\n [activeIndex, setFormTotalErrorCount, fileIsValid],\n )\n\n if (!docConfig) {\n return null\n }\n\n return (\n <WatchChildErrors fields={docConfig.fields} path={[]} setErrorCount={reportFormErrorCount} />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/FormsManager/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,IAAI,EACJ,aAAa,EACb,SAAS,EAET,4BAA4B,EAC5B,WAAW,EACZ,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAgBzC,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,QAAQ,CAAC,cAAc,EAAE,CACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,gBAAgB,CAAC,EAAE,MAAM,IAAI,KAC1B,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,4BAA4B,CAAA;IACtD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9B,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAA;IAC3C,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChG,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,sBAAsB,EAAE,CAAC,EAChC,UAAU,EACV,KAAK,GACN,EAAE;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;CACxD,CAAA;AA6BD,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC;IAC/B,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;CAChC,CAAC,CAAA;AAEF,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,CAAA;AAED,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,qBAyjBnE;AAED,wBAAgB,eAAe,wBAE9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/FormsManager/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,IAAI,EACJ,aAAa,EACb,SAAS,EAET,4BAA4B,EAC5B,WAAW,EACZ,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAgBzC,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,QAAQ,CAAC,cAAc,EAAE,CACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,gBAAgB,CAAC,EAAE,MAAM,IAAI,KAC1B,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,4BAA4B,CAAA;IACtD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9B,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAA;IAC3C,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChG,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,sBAAsB,EAAE,CAAC,EAChC,UAAU,EACV,KAAK,GACN,EAAE;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;CACxD,CAAA;AA6BD,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC;IAC/B,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;CAChC,CAAC,CAAA;AAEF,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,CAAA;AAED,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,qBA0kBnE;AAED,wBAAgB,eAAe,wBAE9B"}
@@ -329,7 +329,21 @@ export function FormsManagerProvider({
329
329
  const missingFilename = fileValue && typeof fileValue === 'object' && 'name' in fileValue && (!fileValue.name || fileValue.name === '');
330
330
  if (missingFile || exceedsLimit || missingFilename) {
331
331
  currentForms[i_0].formState.file.valid = false;
332
- // neeed to get the field state to extract count since field errors
332
+ // File/Blob objects cannot be serialized via the RSC flight protocol,
333
+ // so replace with a plain object before calling the server function.
334
+ const originalFileValue = currentForms[i_0].formState.file?.value;
335
+ const formStateForServer = {
336
+ ...currentForms[i_0].formState
337
+ };
338
+ if (originalFileValue instanceof File) {
339
+ formStateForServer.file = {
340
+ ...formStateForServer.file,
341
+ value: {
342
+ name: originalFileValue.name
343
+ }
344
+ };
345
+ }
346
+ // Need to get the field state to extract count since field errors
333
347
  // are not returned when file is missing or exceeds limit
334
348
  const {
335
349
  state: newState
@@ -337,15 +351,23 @@ export function FormsManagerProvider({
337
351
  collectionSlug,
338
352
  docPermissions,
339
353
  docPreferences: null,
340
- formState: currentForms[i_0].formState,
354
+ formState: formStateForServer,
341
355
  operation: 'update',
342
356
  schemaPath: collectionSlug
343
357
  });
344
- currentForms[i_0] = {
345
- errorCount: Object.values(newState).reduce((acc, value) => value?.valid === false ? acc + 1 : acc, 0),
346
- formID: currentForms[i_0].formID,
347
- formState: newState
348
- };
358
+ if (newState) {
359
+ if (originalFileValue instanceof File && newState.file) {
360
+ newState.file = {
361
+ ...newState.file,
362
+ value: originalFileValue
363
+ };
364
+ }
365
+ currentForms[i_0] = {
366
+ errorCount: Object.values(newState).reduce((acc, value) => value?.valid === false ? acc + 1 : acc, 0),
367
+ formID: currentForms[i_0].formID,
368
+ formState: newState
369
+ };
370
+ }
349
371
  toast.error(nonFieldErrors[0]?.message);
350
372
  } else {
351
373
  currentForms[i_0] = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","formatAdminURL","qs","React","toast","fieldReducer","useEffectEvent","useConfig","useLocale","useServerFunctions","useTranslation","useUploadHandlers","hasSavePermission","getHasSavePermission","LoadingOverlay","useLoadingOverlay","useBulkUpload","createFormData","formsManagementReducer","Context","createContext","activeIndex","addFiles","Promise","resolve","bulkUpdateForm","collectionSlug","docPermissions","undefined","documentSlots","forms","getFormDataRef","current","hasPublishPermission","hasSubmitted","isInitializing","removeFile","saveAllDocs","setActiveIndex","setFormTotalErrorCount","totalErrorCount","updateUploadEdits","initialState","FormsManagerProvider","children","config","routes","api","code","i18n","t","getDocumentSlots","getFormState","getUploadHandler","setDocumentSlots","useState","setHasSubmitted","setDocPermissions","setHasSavePermission","setHasPublishPermission","hasInitializedState","setHasInitializedState","hasInitializedDocPermissions","setHasInitializedDocPermissions","setIsInitializing","state","dispatch","useReducer","formsRef","useRef","toggleLoadingOverlay","closeModal","drawerSlug","initialFiles","initialForms","onSuccess","setInitialFiles","setInitialForms","setSuccessfullyUploaded","isUploading","setIsUploading","loadingText","setLoadingText","hasInitializedWithFiles","initialStateRef","baseAPIPath","apiRoute","path","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","skipValidation","_err","index","currentFormsData","type","map","form","i","errorCount","formID","formState","uploadEdits","files","length","isLoading","key","Array","from","file","addFilesEffectEvent","addInitialForms","count","overrides","currentForms","activeFormID","newDocs","fileValue","value","total","actionURLWithParams","addQueryPrefix","req","status","doc","push","fieldErrors","nonFieldErrors","errors","reduce","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","message","isArray","data","forEach","dataError","missingFile","exceedsLimit","missingFilename","name","valid","newState","Object","values","acc","error","_","remainingForms","successCount","Math","max","success","updatedFields","afterStateUpdate","entries","newFormErrorCount","resetUploadEdits","useEffect","_jsxs","_jsx","animationDuration","overlayType","show","useFormsManager","use"],"sources":["../../../../src/elements/BulkUpload/FormsManager/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n CollectionSlug,\n Data,\n DocumentSlots,\n FormState,\n JsonObject,\n SanitizedDocumentPermissions,\n UploadEdits,\n} from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatAdminURL } from 'payload/shared'\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 { useEffectEvent } from '../../../hooks/useEffectEvent.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 { useUploadHandlers } from '../../../providers/UploadHandlers/index.js'\nimport { hasSavePermission as getHasSavePermission } from '../../../utilities/hasSavePermission.js'\nimport { LoadingOverlay } from '../../Loading/index.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 bulkUpdateForm: (\n updatedFields: Record<string, unknown>,\n afterStateUpdate?: () => void,\n ) => 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 resetUploadEdits?: () => 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 readonly updateUploadEdits: (args: UploadEdits) => void\n}\n\nconst Context = React.createContext<FormsManagerContext>({\n activeIndex: 0,\n addFiles: () => Promise.resolve(),\n bulkUpdateForm: () => null,\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 totalErrorCount: 0,\n updateUploadEdits: () => {},\n})\n\nconst initialState: State = {\n activeIndex: 0,\n forms: [],\n totalErrorCount: 0,\n}\n\nexport type InitialForms = Array<{\n file: File\n formID?: string\n initialState?: FormState | null\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 } = config\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const { getDocumentSlots, getFormState } = useServerFunctions()\n const { getUploadHandler } = useUploadHandlers()\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\n const { toggleLoadingOverlay } = useLoadingOverlay()\n const { closeModal } = useModal()\n const {\n collectionSlug,\n drawerSlug,\n initialFiles,\n initialForms,\n onSuccess,\n setInitialFiles,\n setInitialForms,\n setSuccessfullyUploaded,\n } = 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 baseAPIPath = formatAdminURL({\n apiRoute: api,\n path: '',\n })\n\n const actionURL = `${baseAPIPath}/${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(`${baseAPIPath}${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 `${baseAPIPath}${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 }, [baseAPIPath, code, collectionSlug, i18n.language])\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 skipValidation: true,\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\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 formID: form.formID,\n formState: currentFormsData,\n uploadEdits: form.uploadEdits,\n }\n }\n return form\n }),\n },\n })\n },\n [forms, activeIndex],\n )\n\n const addFiles = React.useCallback(\n async (files: FileList) => {\n if (forms.length) {\n // save the state of the current form before adding new files\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: forms[activeIndex].errorCount,\n formState: getFormDataRef.current(),\n index: activeIndex,\n })\n }\n\n toggleLoadingOverlay({ isLoading: true, key: 'addingDocs' })\n if (!hasInitializedState) {\n await initializeSharedFormState()\n }\n dispatch({\n type: 'ADD_FORMS',\n forms: Array.from(files).map((file) => ({\n file,\n initialState: initialStateRef.current,\n })),\n })\n toggleLoadingOverlay({ isLoading: false, key: 'addingDocs' })\n },\n [initializeSharedFormState, hasInitializedState, toggleLoadingOverlay, activeIndex, forms],\n )\n\n const addFilesEffectEvent = useEffectEvent(addFiles)\n\n const addInitialForms = useEffectEvent(async (initialForms: InitialForms) => {\n toggleLoadingOverlay({ isLoading: true, key: 'addingDocs' })\n\n if (!hasInitializedState) {\n await initializeSharedFormState()\n }\n\n dispatch({\n type: 'ADD_FORMS',\n forms: initialForms.map((form) => ({\n ...form,\n initialState: form?.initialState || initialStateRef.current,\n })),\n })\n\n toggleLoadingOverlay({ isLoading: false, key: 'addingDocs' })\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 formID: currentForms[activeIndex].formID,\n formState: currentFormsData,\n uploadEdits: currentForms[activeIndex].uploadEdits,\n }\n const activeFormID = currentForms[activeIndex]?.formID\n const newDocs: Array<{\n collectionSlug: CollectionSlug\n doc: JsonObject\n /**\n * ID of the form that created this document\n */\n formID: string\n }> = []\n\n setIsUploading(true)\n\n for (let i = 0; i < currentForms.length; i++) {\n try {\n const form = currentForms[i]\n const fileValue = form.formState?.file?.value\n\n setLoadingText(t('general:uploadingBulk', { current: i + 1, total: currentForms.length }))\n\n const actionURLWithParams = `${actionURL}${qs.stringify(\n {\n locale: code,\n uploadEdits: form?.uploadEdits || undefined,\n },\n {\n addQueryPrefix: true,\n },\n )}`\n\n const req = await fetch(actionURLWithParams, {\n body: await createFormData(\n form.formState,\n overrides,\n collectionSlug,\n getUploadHandler({ collectionSlug }),\n ),\n credentials: 'include',\n method: 'POST',\n })\n\n const json = await req.json()\n\n if (req.status === 201 && json?.doc) {\n newDocs.push({\n collectionSlug,\n doc: json.doc,\n formID: form.formID,\n })\n }\n\n // should expose some sort of helper for this\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 const missingFile = !fileValue && req.status === 400\n const exceedsLimit = fileValue && req.status === 413\n const missingFilename =\n fileValue &&\n typeof fileValue === 'object' &&\n 'name' in fileValue &&\n (!fileValue.name || fileValue.name === '')\n\n if (missingFile || exceedsLimit || missingFilename) {\n currentForms[i].formState.file.valid = false\n\n // neeed to get the field state to extract count since field errors\n // are not returned when file is missing or exceeds limit\n const { state: newState } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences: null,\n formState: currentForms[i].formState,\n operation: 'update',\n schemaPath: collectionSlug,\n })\n\n currentForms[i] = {\n errorCount: Object.values(newState).reduce(\n (acc, value) => (value?.valid === false ? acc + 1 : acc),\n 0,\n ),\n formID: currentForms[i].formID,\n formState: newState,\n }\n\n toast.error(nonFieldErrors[0]?.message)\n } else {\n currentForms[i] = {\n errorCount: fieldErrors.length,\n formID: currentForms[i].formID,\n formState: fieldReducer(currentForms[i].formState, {\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n }),\n }\n }\n } catch (_) {\n // swallow\n }\n }\n\n setHasSubmitted(true)\n setLoadingText('')\n setIsUploading(false)\n\n const remainingForms = []\n\n currentForms.forEach(({ errorCount }, i) => {\n if (errorCount) {\n remainingForms.push(currentForms[i])\n }\n })\n\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 setSuccessfullyUploaded(true)\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: remainingForms.reduce((acc, { formID }, i) => {\n if (formID === activeFormID) {\n return i\n }\n return acc\n }, 0),\n forms: remainingForms,\n totalErrorCount: remainingForms.reduce((acc, { errorCount }) => acc + errorCount, 0),\n },\n })\n\n if (remainingForms.length === 0) {\n setInitialFiles(undefined)\n setInitialForms(undefined)\n }\n },\n [\n forms,\n activeIndex,\n t,\n actionURL,\n code,\n collectionSlug,\n getUploadHandler,\n getFormState,\n docPermissions,\n setSuccessfullyUploaded,\n onSuccess,\n closeModal,\n drawerSlug,\n setInitialFiles,\n setInitialForms,\n ],\n )\n\n const bulkUpdateForm = React.useCallback(\n async (updatedFields: Record<string, unknown>, afterStateUpdate?: () => void) => {\n for (let i = 0; i < forms.length; i++) {\n Object.entries(updatedFields).forEach(([path, value]) => {\n if (forms[i].formState[path]) {\n forms[i].formState[path].value = value\n\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: forms[i].errorCount,\n formState: forms[i].formState,\n index: i,\n })\n }\n })\n\n if (typeof afterStateUpdate === 'function') {\n afterStateUpdate()\n }\n\n if (hasSubmitted) {\n const { state } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences: null,\n formState: forms[i].formState,\n operation: 'create',\n schemaPath: collectionSlug,\n })\n\n const newFormErrorCount = Object.values(state).reduce(\n (acc, value) => (value?.valid === false ? acc + 1 : acc),\n 0,\n )\n\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: newFormErrorCount,\n formState: state,\n index: i,\n })\n }\n }\n },\n [collectionSlug, docPermissions, forms, getFormState, hasSubmitted],\n )\n\n const updateUploadEdits = React.useCallback<FormsManagerContext['updateUploadEdits']>(\n (uploadEdits) => {\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: forms[activeIndex].errorCount,\n formState: forms[activeIndex].formState,\n index: activeIndex,\n uploadEdits,\n })\n },\n [activeIndex, forms],\n )\n\n const resetUploadEdits = React.useCallback<FormsManagerContext['resetUploadEdits']>(() => {\n dispatch({\n type: 'REPLACE',\n state: {\n forms: forms.map((form) => ({\n ...form,\n uploadEdits: {},\n })),\n },\n })\n }, [forms])\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 || initialForms) {\n if (!hasInitializedState || !hasInitializedDocPermissions) {\n setIsInitializing(true)\n } else {\n setIsInitializing(false)\n }\n }\n\n if (\n hasInitializedState &&\n (initialForms?.length || initialFiles?.length) &&\n !hasInitializedWithFiles.current\n ) {\n if (initialForms?.length) {\n void addInitialForms(initialForms)\n }\n if (initialFiles?.length) {\n void addFilesEffectEvent(initialFiles)\n }\n hasInitializedWithFiles.current = true\n }\n return\n }, [\n initialFiles,\n initializeSharedFormState,\n initializeSharedDocPermissions,\n collectionSlug,\n hasInitializedState,\n hasInitializedDocPermissions,\n initialForms,\n ])\n\n return (\n <Context\n value={{\n activeIndex: state.activeIndex,\n addFiles,\n bulkUpdateForm,\n collectionSlug,\n docPermissions,\n documentSlots,\n forms,\n getFormDataRef,\n hasPublishPermission,\n hasSavePermission,\n hasSubmitted,\n isInitializing,\n removeFile,\n resetUploadEdits,\n saveAllDocs,\n setActiveIndex,\n setFormTotalErrorCount,\n totalErrorCount,\n updateUploadEdits,\n }}\n >\n {isUploading && (\n <LoadingOverlay\n animationDuration=\"250ms\"\n loadingText={loadingText}\n overlayType=\"fullscreen\"\n show\n />\n )}\n {children}\n </Context>\n )\n}\n\nexport function useFormsManager() {\n return React.use(Context)\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","formatAdminURL","qs","React","toast","fieldReducer","useEffectEvent","useConfig","useLocale","useServerFunctions","useTranslation","useUploadHandlers","hasSavePermission","getHasSavePermission","LoadingOverlay","useLoadingOverlay","useBulkUpload","createFormData","formsManagementReducer","Context","createContext","activeIndex","addFiles","Promise","resolve","bulkUpdateForm","collectionSlug","docPermissions","undefined","documentSlots","forms","getFormDataRef","current","hasPublishPermission","hasSubmitted","isInitializing","removeFile","saveAllDocs","setActiveIndex","setFormTotalErrorCount","totalErrorCount","updateUploadEdits","initialState","FormsManagerProvider","children","config","routes","api","code","i18n","t","getDocumentSlots","getFormState","getUploadHandler","setDocumentSlots","useState","setHasSubmitted","setDocPermissions","setHasSavePermission","setHasPublishPermission","hasInitializedState","setHasInitializedState","hasInitializedDocPermissions","setHasInitializedDocPermissions","setIsInitializing","state","dispatch","useReducer","formsRef","useRef","toggleLoadingOverlay","closeModal","drawerSlug","initialFiles","initialForms","onSuccess","setInitialFiles","setInitialForms","setSuccessfullyUploaded","isUploading","setIsUploading","loadingText","setLoadingText","hasInitializedWithFiles","initialStateRef","baseAPIPath","apiRoute","path","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","skipValidation","_err","index","currentFormsData","type","map","form","i","errorCount","formID","formState","uploadEdits","files","length","isLoading","key","Array","from","file","addFilesEffectEvent","addInitialForms","count","overrides","currentForms","activeFormID","newDocs","fileValue","value","total","actionURLWithParams","addQueryPrefix","req","status","doc","push","fieldErrors","nonFieldErrors","errors","reduce","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","message","isArray","data","forEach","dataError","missingFile","exceedsLimit","missingFilename","name","valid","originalFileValue","formStateForServer","File","newState","Object","values","acc","error","_","remainingForms","successCount","Math","max","success","updatedFields","afterStateUpdate","entries","newFormErrorCount","resetUploadEdits","useEffect","_jsxs","_jsx","animationDuration","overlayType","show","useFormsManager","use"],"sources":["../../../../src/elements/BulkUpload/FormsManager/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n CollectionSlug,\n Data,\n DocumentSlots,\n FormState,\n JsonObject,\n SanitizedDocumentPermissions,\n UploadEdits,\n} from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatAdminURL } from 'payload/shared'\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 { useEffectEvent } from '../../../hooks/useEffectEvent.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 { useUploadHandlers } from '../../../providers/UploadHandlers/index.js'\nimport { hasSavePermission as getHasSavePermission } from '../../../utilities/hasSavePermission.js'\nimport { LoadingOverlay } from '../../Loading/index.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 bulkUpdateForm: (\n updatedFields: Record<string, unknown>,\n afterStateUpdate?: () => void,\n ) => 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 resetUploadEdits?: () => 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 readonly updateUploadEdits: (args: UploadEdits) => void\n}\n\nconst Context = React.createContext<FormsManagerContext>({\n activeIndex: 0,\n addFiles: () => Promise.resolve(),\n bulkUpdateForm: () => null,\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 totalErrorCount: 0,\n updateUploadEdits: () => {},\n})\n\nconst initialState: State = {\n activeIndex: 0,\n forms: [],\n totalErrorCount: 0,\n}\n\nexport type InitialForms = Array<{\n file: File\n formID?: string\n initialState?: FormState | null\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 } = config\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const { getDocumentSlots, getFormState } = useServerFunctions()\n const { getUploadHandler } = useUploadHandlers()\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\n const { toggleLoadingOverlay } = useLoadingOverlay()\n const { closeModal } = useModal()\n const {\n collectionSlug,\n drawerSlug,\n initialFiles,\n initialForms,\n onSuccess,\n setInitialFiles,\n setInitialForms,\n setSuccessfullyUploaded,\n } = 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 baseAPIPath = formatAdminURL({\n apiRoute: api,\n path: '',\n })\n\n const actionURL = `${baseAPIPath}/${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(`${baseAPIPath}${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 `${baseAPIPath}${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 }, [baseAPIPath, code, collectionSlug, i18n.language])\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 skipValidation: true,\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\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 formID: form.formID,\n formState: currentFormsData,\n uploadEdits: form.uploadEdits,\n }\n }\n return form\n }),\n },\n })\n },\n [forms, activeIndex],\n )\n\n const addFiles = React.useCallback(\n async (files: FileList) => {\n if (forms.length) {\n // save the state of the current form before adding new files\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: forms[activeIndex].errorCount,\n formState: getFormDataRef.current(),\n index: activeIndex,\n })\n }\n\n toggleLoadingOverlay({ isLoading: true, key: 'addingDocs' })\n if (!hasInitializedState) {\n await initializeSharedFormState()\n }\n dispatch({\n type: 'ADD_FORMS',\n forms: Array.from(files).map((file) => ({\n file,\n initialState: initialStateRef.current,\n })),\n })\n toggleLoadingOverlay({ isLoading: false, key: 'addingDocs' })\n },\n [initializeSharedFormState, hasInitializedState, toggleLoadingOverlay, activeIndex, forms],\n )\n\n const addFilesEffectEvent = useEffectEvent(addFiles)\n\n const addInitialForms = useEffectEvent(async (initialForms: InitialForms) => {\n toggleLoadingOverlay({ isLoading: true, key: 'addingDocs' })\n\n if (!hasInitializedState) {\n await initializeSharedFormState()\n }\n\n dispatch({\n type: 'ADD_FORMS',\n forms: initialForms.map((form) => ({\n ...form,\n initialState: form?.initialState || initialStateRef.current,\n })),\n })\n\n toggleLoadingOverlay({ isLoading: false, key: 'addingDocs' })\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 formID: currentForms[activeIndex].formID,\n formState: currentFormsData,\n uploadEdits: currentForms[activeIndex].uploadEdits,\n }\n const activeFormID = currentForms[activeIndex]?.formID\n const newDocs: Array<{\n collectionSlug: CollectionSlug\n doc: JsonObject\n /**\n * ID of the form that created this document\n */\n formID: string\n }> = []\n\n setIsUploading(true)\n\n for (let i = 0; i < currentForms.length; i++) {\n try {\n const form = currentForms[i]\n const fileValue = form.formState?.file?.value\n\n setLoadingText(t('general:uploadingBulk', { current: i + 1, total: currentForms.length }))\n\n const actionURLWithParams = `${actionURL}${qs.stringify(\n {\n locale: code,\n uploadEdits: form?.uploadEdits || undefined,\n },\n {\n addQueryPrefix: true,\n },\n )}`\n\n const req = await fetch(actionURLWithParams, {\n body: await createFormData(\n form.formState,\n overrides,\n collectionSlug,\n getUploadHandler({ collectionSlug }),\n ),\n credentials: 'include',\n method: 'POST',\n })\n\n const json = await req.json()\n\n if (req.status === 201 && json?.doc) {\n newDocs.push({\n collectionSlug,\n doc: json.doc,\n formID: form.formID,\n })\n }\n\n // should expose some sort of helper for this\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 const missingFile = !fileValue && req.status === 400\n const exceedsLimit = fileValue && req.status === 413\n const missingFilename =\n fileValue &&\n typeof fileValue === 'object' &&\n 'name' in fileValue &&\n (!fileValue.name || fileValue.name === '')\n\n if (missingFile || exceedsLimit || missingFilename) {\n currentForms[i].formState.file.valid = false\n\n // File/Blob objects cannot be serialized via the RSC flight protocol,\n // so replace with a plain object before calling the server function.\n const originalFileValue = currentForms[i].formState.file?.value\n const formStateForServer = { ...currentForms[i].formState }\n if (originalFileValue instanceof File) {\n formStateForServer.file = {\n ...formStateForServer.file,\n value: { name: originalFileValue.name },\n }\n }\n\n // Need to get the field state to extract count since field errors\n // are not returned when file is missing or exceeds limit\n const { state: newState } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences: null,\n formState: formStateForServer,\n operation: 'update',\n schemaPath: collectionSlug,\n })\n\n if (newState) {\n if (originalFileValue instanceof File && newState.file) {\n newState.file = { ...newState.file, value: originalFileValue }\n }\n\n currentForms[i] = {\n errorCount: Object.values(newState).reduce(\n (acc, value) => (value?.valid === false ? acc + 1 : acc),\n 0,\n ),\n formID: currentForms[i].formID,\n formState: newState,\n }\n }\n\n toast.error(nonFieldErrors[0]?.message)\n } else {\n currentForms[i] = {\n errorCount: fieldErrors.length,\n formID: currentForms[i].formID,\n formState: fieldReducer(currentForms[i].formState, {\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n }),\n }\n }\n } catch (_) {\n // swallow\n }\n }\n\n setHasSubmitted(true)\n setLoadingText('')\n setIsUploading(false)\n\n const remainingForms = []\n\n currentForms.forEach(({ errorCount }, i) => {\n if (errorCount) {\n remainingForms.push(currentForms[i])\n }\n })\n\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 setSuccessfullyUploaded(true)\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: remainingForms.reduce((acc, { formID }, i) => {\n if (formID === activeFormID) {\n return i\n }\n return acc\n }, 0),\n forms: remainingForms,\n totalErrorCount: remainingForms.reduce((acc, { errorCount }) => acc + errorCount, 0),\n },\n })\n\n if (remainingForms.length === 0) {\n setInitialFiles(undefined)\n setInitialForms(undefined)\n }\n },\n [\n forms,\n activeIndex,\n t,\n actionURL,\n code,\n collectionSlug,\n getUploadHandler,\n getFormState,\n docPermissions,\n setSuccessfullyUploaded,\n onSuccess,\n closeModal,\n drawerSlug,\n setInitialFiles,\n setInitialForms,\n ],\n )\n\n const bulkUpdateForm = React.useCallback(\n async (updatedFields: Record<string, unknown>, afterStateUpdate?: () => void) => {\n for (let i = 0; i < forms.length; i++) {\n Object.entries(updatedFields).forEach(([path, value]) => {\n if (forms[i].formState[path]) {\n forms[i].formState[path].value = value\n\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: forms[i].errorCount,\n formState: forms[i].formState,\n index: i,\n })\n }\n })\n\n if (typeof afterStateUpdate === 'function') {\n afterStateUpdate()\n }\n\n if (hasSubmitted) {\n const { state } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences: null,\n formState: forms[i].formState,\n operation: 'create',\n schemaPath: collectionSlug,\n })\n\n const newFormErrorCount = Object.values(state).reduce(\n (acc, value) => (value?.valid === false ? acc + 1 : acc),\n 0,\n )\n\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: newFormErrorCount,\n formState: state,\n index: i,\n })\n }\n }\n },\n [collectionSlug, docPermissions, forms, getFormState, hasSubmitted],\n )\n\n const updateUploadEdits = React.useCallback<FormsManagerContext['updateUploadEdits']>(\n (uploadEdits) => {\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: forms[activeIndex].errorCount,\n formState: forms[activeIndex].formState,\n index: activeIndex,\n uploadEdits,\n })\n },\n [activeIndex, forms],\n )\n\n const resetUploadEdits = React.useCallback<FormsManagerContext['resetUploadEdits']>(() => {\n dispatch({\n type: 'REPLACE',\n state: {\n forms: forms.map((form) => ({\n ...form,\n uploadEdits: {},\n })),\n },\n })\n }, [forms])\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 || initialForms) {\n if (!hasInitializedState || !hasInitializedDocPermissions) {\n setIsInitializing(true)\n } else {\n setIsInitializing(false)\n }\n }\n\n if (\n hasInitializedState &&\n (initialForms?.length || initialFiles?.length) &&\n !hasInitializedWithFiles.current\n ) {\n if (initialForms?.length) {\n void addInitialForms(initialForms)\n }\n if (initialFiles?.length) {\n void addFilesEffectEvent(initialFiles)\n }\n hasInitializedWithFiles.current = true\n }\n return\n }, [\n initialFiles,\n initializeSharedFormState,\n initializeSharedDocPermissions,\n collectionSlug,\n hasInitializedState,\n hasInitializedDocPermissions,\n initialForms,\n ])\n\n return (\n <Context\n value={{\n activeIndex: state.activeIndex,\n addFiles,\n bulkUpdateForm,\n collectionSlug,\n docPermissions,\n documentSlots,\n forms,\n getFormDataRef,\n hasPublishPermission,\n hasSavePermission,\n hasSubmitted,\n isInitializing,\n removeFile,\n resetUploadEdits,\n saveAllDocs,\n setActiveIndex,\n setFormTotalErrorCount,\n totalErrorCount,\n updateUploadEdits,\n }}\n >\n {isUploading && (\n <LoadingOverlay\n animationDuration=\"250ms\"\n loadingText={loadingText}\n overlayType=\"fullscreen\"\n show\n />\n )}\n {children}\n </Context>\n )\n}\n\nexport function useFormsManager() {\n return React.use(Context)\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,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAcrB,eAAO,MAAM,cAAc;;;;;uBAuB1B,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAwJlC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmC,MAAM,OAAO,CAAA;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAcrB,eAAO,MAAM,cAAc;;;;;uBAqB1B,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAwJlC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- import React, { Fragment } from 'react';
4
+ import React, { Fragment, isValidElement } from 'react';
5
5
  import { ChevronIcon } from '../../icons/Chevron/index.js';
6
6
  import { EditIcon } from '../../icons/Edit/index.js';
7
7
  import { LinkIcon } from '../../icons/Link/index.js';
@@ -27,9 +27,7 @@ export const ButtonContents = ({
27
27
  showTooltip,
28
28
  tooltip
29
29
  }) => {
30
- const BuiltInIcon = typeof icon === 'string' ? icons[icon] : undefined;
31
- // Check if icon is a React element (including RSC payloads) - not a string icon name
32
- const isReactIcon = icon && typeof icon !== 'string';
30
+ const BuiltInIcon = icons[icon];
33
31
  return /*#__PURE__*/_jsxs(Fragment, {
34
32
  children: [tooltip && /*#__PURE__*/_jsx(Tooltip, {
35
33
  className: `${baseClass}__tooltip`,
@@ -42,7 +40,7 @@ export const ButtonContents = ({
42
40
  children: children
43
41
  }), icon && /*#__PURE__*/_jsxs("span", {
44
42
  className: `${baseClass}__icon`,
45
- children: [isReactIcon && icon, BuiltInIcon && /*#__PURE__*/_jsx(BuiltInIcon, {})]
43
+ children: [/*#__PURE__*/isValidElement(icon) && icon, BuiltInIcon && /*#__PURE__*/_jsx(BuiltInIcon, {})]
46
44
  })]
47
45
  })]
48
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","Fragment","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Link","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","undefined","isReactIcon","_jsxs","_jsx","className","show","Button","props","id","type","ariaLabel","buttonStyle","disabled","el","enableSubMenu","extraButtonProps","iconPosition","iconStyle","margin","newTab","onClick","onMouseDown","ref","round","size","SubMenuPopupContent","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","styleClasses","buttonProps","onPointerEnter","onPointerLeave","rel","target","title","buttonElement","href","prefetch","Tag","button","buttonSize","horizontalAlign","noBackground","render","close","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } 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 { Link } from '../Link/index.js'\nimport { Popup } from '../Popup/index.js'\nimport './index.scss'\nimport { Tooltip } from '../Tooltip/index.js'\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 = typeof icon === 'string' ? icons[icon] : undefined\n // Check if icon is a React element (including RSC payloads) - not a string icon name\n const isReactIcon = icon && typeof icon !== 'string'\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 {isReactIcon && icon}\n {BuiltInIcon && <BuiltInIcon />}\n </span>\n )}\n </span>\n </Fragment>\n )\n}\n\nexport const Button: React.FC<Props> = (props) => {\n const {\n id,\n type = 'button',\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n enableSubMenu,\n extraButtonProps = {},\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n margin = true,\n newTab,\n onClick,\n onMouseDown,\n ref,\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 !margin && `${baseClass}--no-margin`,\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 title: ariaLabel,\n ...extraButtonProps,\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.RefObject<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 (disabled) {\n buttonElement = (\n <div {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </div>\n )\n }\n\n buttonElement = (\n <Link {...buttonProps} href={to || url} prefetch={false}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Link>\n )\n\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} {...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 && !enableSubMenu ? `${baseClass}--popup-disabled` : ''}\n disabled={disabled && !enableSubMenu}\n horizontalAlign=\"right\"\n id={`${id}-popup`}\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":[]}
1
+ {"version":3,"file":"index.js","names":["React","Fragment","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Link","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","_jsxs","_jsx","className","show","Button","props","id","type","ariaLabel","buttonStyle","disabled","el","enableSubMenu","extraButtonProps","iconPosition","iconStyle","margin","newTab","onClick","onMouseDown","ref","round","size","SubMenuPopupContent","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","styleClasses","buttonProps","undefined","onPointerEnter","onPointerLeave","rel","target","title","buttonElement","href","prefetch","Tag","button","buttonSize","horizontalAlign","noBackground","render","close","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { 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 { Link } from '../Link/index.js'\nimport { Popup } from '../Popup/index.js'\nimport './index.scss'\nimport { Tooltip } from '../Tooltip/index.js'\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: React.FC<Props> = (props) => {\n const {\n id,\n type = 'button',\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n enableSubMenu,\n extraButtonProps = {},\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n margin = true,\n newTab,\n onClick,\n onMouseDown,\n ref,\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 !margin && `${baseClass}--no-margin`,\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 title: ariaLabel,\n ...extraButtonProps,\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.RefObject<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 (disabled) {\n buttonElement = (\n <div {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </div>\n )\n }\n\n buttonElement = (\n <Link {...buttonProps} href={to || url} prefetch={false}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Link>\n )\n\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} {...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 && !enableSubMenu ? `${baseClass}--popup-disabled` : ''}\n disabled={disabled && !enableSubMenu}\n horizontalAlign=\"right\"\n id={`${id}-popup`}\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":[]}
@@ -110,10 +110,6 @@
110
110
  --hover-bg: var(--bg-color);
111
111
  --hover-color: var(--color);
112
112
  }
113
-
114
- .icon {
115
- color: var(--theme-elevation-550);
116
- }
117
113
  }
118
114
 
119
115
  &--style-tab {
@@ -129,27 +125,6 @@
129
125
  --hover-color: var(--color);
130
126
  }
131
127
  }
132
-
133
- &--style-muted-text {
134
- padding: 0;
135
- --color: var(--theme-elevation-500);
136
- --bg-color: transparent;
137
- --hover-color: var(--theme-elevation-700);
138
- --hover-bg: transparent;
139
- --margin-block: 0;
140
-
141
- &:hover,
142
- &:focus-visible,
143
- &:focus,
144
- &:active {
145
- text-decoration: underline;
146
- }
147
-
148
- &.btn--disabled {
149
- --color: var(--theme-elevation-300);
150
- --hover-color: var(--color);
151
- }
152
- }
153
128
  }
154
129
 
155
130
  .popup--active .btn {
@@ -203,13 +178,6 @@
203
178
  color: var(--hover-color);
204
179
  background-color: var(--hover-bg);
205
180
  border: var(--hover-btn-border, var(--btn-border, 1px solid transparent));
206
-
207
- .btn__icon .stroke {
208
- stroke: var(--hover-color, currentColor);
209
- }
210
- .btn__icon .fill {
211
- fill: var(--hover-color, currentColor);
212
- }
213
181
  }
214
182
  }
215
183
 
@@ -244,7 +212,7 @@
244
212
  transition: border, color, background, var(--btn-base-transition);
245
213
  padding: var(--btn-padding-block-start) var(--btn-padding-inline-end)
246
214
  var(--btn-padding-block-end) var(--btn-padding-inline-start);
247
- color: var(--color, currentColor);
215
+ color: var(--color, inherit);
248
216
  background-color: var(--bg-color, transparent);
249
217
 
250
218
  &__icon {
@@ -254,12 +222,10 @@
254
222
  .stroke {
255
223
  stroke: var(--color, currentColor);
256
224
  fill: none;
257
- transition: stroke var(--btn-base-transition);
258
225
  }
259
226
 
260
227
  .fill {
261
228
  fill: var(--color, currentColor);
262
- transition: fill var(--btn-base-transition);
263
229
  }
264
230
  }
265
231
 
@@ -278,7 +244,8 @@
278
244
  border: 1px solid var(--btn-icon-border-color);
279
245
  border-radius: 100%;
280
246
  padding: var(--btn-icon-padding);
281
- color: currentColor;
247
+ color: inherit;
248
+
282
249
  svg {
283
250
  width: 100%;
284
251
  height: 100%;
@@ -315,7 +282,7 @@
315
282
  }
316
283
 
317
284
  &--size-small {
318
- --btn-icon-size: var(--base);
285
+ --btn-icon-size: calc(var(--base) * 0.9);
319
286
  // --btn-icon-padding: 0px; // This will be needed when we make icons go edge to edge instead of having built in padding in the svg code
320
287
  --btn-icon-content-gap: calc(var(--base) * 0.2);
321
288
  --btn-padding-block-start: 0;
@@ -337,7 +304,7 @@
337
304
  }
338
305
 
339
306
  &--size-xsmall {
340
- --btn-icon-size: var(--base);
307
+ --btn-icon-size: calc(var(--base) * 0.8);
341
308
  // --btn-icon-padding: 0px; // This will be needed when we make icons go edge to edge instead of having built in padding in the svg code
342
309
  --btn-icon-content-gap: calc(var(--base) * 0.2);
343
310
  --btn-padding-block-start: 0;
@@ -7,7 +7,7 @@ type secondaryAction = {
7
7
  export type Props = {
8
8
  'aria-label'?: string;
9
9
  buttonId?: string;
10
- buttonStyle?: 'dashed' | 'error' | 'icon-label' | 'muted-text' | 'none' | 'pill' | 'primary' | 'secondary' | 'subtle' | 'tab' | 'transparent';
10
+ buttonStyle?: 'dashed' | 'error' | 'icon-label' | 'none' | 'pill' | 'primary' | 'secondary' | 'subtle' | 'tab' | 'transparent';
11
11
  children?: React.ReactNode;
12
12
  className?: string;
13
13
  disabled?: boolean;
@@ -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;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EACR,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,YAAY,GACZ,MAAM,GACN,MAAM,GACN,SAAS,GACT,WAAW,GACX,QAAQ,GACR,KAAK,GACL,aAAa,CAAA;IACjB,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;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,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;;;;OAIG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IACxB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,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;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,iBAAiB,GAAG,IAAI,CAAC,CAAA;IACnE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,gBAAgB,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAA;IACtD,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC9C,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
+ {"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;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EACR,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,MAAM,GACN,MAAM,GACN,SAAS,GACT,WAAW,GACX,QAAQ,GACR,KAAK,GACL,aAAa,CAAA;IACjB,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;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,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;;;;OAIG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IACxB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,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;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,iBAAiB,GAAG,IAAI,CAAC,CAAA;IACnE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,gBAAgB,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAA;IACtD,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC9C,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}\n\nexport type Props = {\n 'aria-label'?: string\n buttonId?: string\n buttonStyle?:\n | 'dashed'\n | 'error'\n | 'icon-label'\n | 'muted-text'\n | 'none'\n | 'pill'\n | 'primary'\n | 'secondary'\n | 'subtle'\n | 'tab'\n | 'transparent'\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n el?: 'anchor' | 'link' | ElementType\n /**\n * Setting to `true` will allow the submenu to be opened when the button is disabled\n */\n enableSubMenu?: boolean\n extraButtonProps?: Record<string, any>\n icon?: ['chevron' | 'edit' | 'plus' | 'x'] | React.ReactNode\n iconPosition?: 'left' | 'right'\n iconStyle?: 'none' | 'with-border' | 'without-border'\n id?: string\n /**\n * @deprecated\n * This prop is deprecated and will be removed in the next major version.\n * Components now import their own `Link` directly from `next/link`.\n */\n Link?: React.ElementType\n margin?: boolean\n newTab?: boolean\n onClick?: (event: MouseEvent) => void\n onMouseDown?: (event: MouseEvent) => void\n /**\n * Enables form submission via an onClick handler. This is only needed if\n * type=\"submit\" does not trigger form submission, e.g. if the button DOM\n * element is not a direct child of the form element.\n *\n * @default false\n */\n programmaticSubmit?: boolean\n ref?: React.RefObject<HTMLAnchorElement | HTMLButtonElement | null>\n round?: boolean\n secondaryActions?: secondaryAction | secondaryAction[]\n size?: 'large' | 'medium' | 'small' | 'xsmall'\n SubMenuPopupContent?: (props: { close: () => void }) => React.ReactNode\n to?: string\n tooltip?: string\n type?: 'button' | 'submit'\n url?: string\n}\n"],"mappings":"AAQA","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}\n\nexport type Props = {\n 'aria-label'?: string\n buttonId?: string\n buttonStyle?:\n | 'dashed'\n | 'error'\n | 'icon-label'\n | 'none'\n | 'pill'\n | 'primary'\n | 'secondary'\n | 'subtle'\n | 'tab'\n | 'transparent'\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n el?: 'anchor' | 'link' | ElementType\n /**\n * Setting to `true` will allow the submenu to be opened when the button is disabled\n */\n enableSubMenu?: boolean\n extraButtonProps?: Record<string, any>\n icon?: ['chevron' | 'edit' | 'plus' | 'x'] | React.ReactNode\n iconPosition?: 'left' | 'right'\n iconStyle?: 'none' | 'with-border' | 'without-border'\n id?: string\n /**\n * @deprecated\n * This prop is deprecated and will be removed in the next major version.\n * Components now import their own `Link` directly from `next/link`.\n */\n Link?: React.ElementType\n margin?: boolean\n newTab?: boolean\n onClick?: (event: MouseEvent) => void\n onMouseDown?: (event: MouseEvent) => void\n /**\n * Enables form submission via an onClick handler. This is only needed if\n * type=\"submit\" does not trigger form submission, e.g. if the button DOM\n * element is not a direct child of the form element.\n *\n * @default false\n */\n programmaticSubmit?: boolean\n ref?: React.RefObject<HTMLAnchorElement | HTMLButtonElement | null>\n round?: boolean\n secondaryActions?: secondaryAction | secondaryAction[]\n size?: 'large' | 'medium' | 'small' | 'xsmall'\n SubMenuPopupContent?: (props: { close: () => void }) => React.ReactNode\n to?: string\n tooltip?: string\n type?: 'button' | 'submit'\n url?: string\n}\n"],"mappings":"AAQA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/CheckboxPopup/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAInD,OAAO,cAAc,CAAA;AAIrB,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAA;IACzE,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KACd,EAAE,CAAA;IACH,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAA;AACzC,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,EACP,cAAc,EACd,GAAG,UAAU,EACd,EAAE,kBAAkB,+BA2BpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/CheckboxPopup/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAInD,OAAO,cAAc,CAAA;AAIrB,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAA;IACzE,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KACd,EAAE,CAAA;IACH,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAA;AACzC,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,EACP,cAAc,EACd,GAAG,UAAU,EACd,EAAE,kBAAkB,+BA4BpB"}