@payloadcms/ui 3.0.0-canary.23fcb9e → 3.0.0-canary.28c161d

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 (745) hide show
  1. package/dist/elements/AddNewRelation/index.d.ts.map +1 -0
  2. package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.js +98 -82
  3. package/dist/elements/AddNewRelation/index.js.map +1 -0
  4. package/dist/elements/AddNewRelation/index.scss +42 -0
  5. package/dist/elements/AddNewRelation/types.d.ts +11 -0
  6. package/dist/elements/AddNewRelation/types.d.ts.map +1 -0
  7. package/dist/elements/AddNewRelation/types.js.map +1 -0
  8. package/dist/elements/AddNewRelation/useRelatedCollections.d.ts.map +1 -0
  9. package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/useRelatedCollections.js +1 -1
  10. package/dist/elements/AddNewRelation/useRelatedCollections.js.map +1 -0
  11. package/dist/elements/AppHeader/index.js +45 -84
  12. package/dist/elements/AppHeader/index.js.map +1 -1
  13. package/dist/elements/Autosave/index.d.ts.map +1 -1
  14. package/dist/elements/Autosave/index.js +148 -229
  15. package/dist/elements/Autosave/index.js.map +1 -1
  16. package/dist/elements/Banner/index.d.ts.map +1 -1
  17. package/dist/elements/Banner/index.js +6 -2
  18. package/dist/elements/Banner/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  20. package/dist/elements/BulkUpload/ActionsBar/index.js +2 -2
  21. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/ActionsBar/index.scss +4 -4
  23. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  24. package/dist/elements/BulkUpload/AddFilesView/index.js +45 -30
  25. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/AddFilesView/index.scss +13 -0
  27. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/AddingFilesView/index.js +7 -7
  29. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +14 -17
  32. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  33. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts +1 -2
  34. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts.map +1 -1
  35. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +5 -8
  36. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  37. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  38. package/dist/elements/BulkUpload/EditForm/index.js +42 -33
  39. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  41. package/dist/elements/BulkUpload/FileSidebar/index.js +71 -59
  42. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  43. package/dist/elements/BulkUpload/FileSidebar/index.scss +16 -14
  44. package/dist/elements/BulkUpload/FormsManager/index.d.ts +4 -7
  45. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  46. package/dist/elements/BulkUpload/FormsManager/index.js +67 -37
  47. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  48. package/dist/elements/BulkUpload/Header/index.d.ts.map +1 -1
  49. package/dist/elements/BulkUpload/Header/index.js +1 -3
  50. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  51. package/dist/elements/BulkUpload/index.d.ts +21 -5
  52. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  53. package/dist/elements/BulkUpload/index.js +149 -52
  54. package/dist/elements/BulkUpload/index.js.map +1 -1
  55. package/dist/elements/Button/index.d.ts.map +1 -1
  56. package/dist/elements/Button/index.js +96 -219
  57. package/dist/elements/Button/index.js.map +1 -1
  58. package/dist/elements/Button/types.d.ts +8 -2
  59. package/dist/elements/Button/types.d.ts.map +1 -1
  60. package/dist/elements/Button/types.js.map +1 -1
  61. package/dist/elements/Card/index.d.ts +1 -1
  62. package/dist/elements/Card/index.d.ts.map +1 -1
  63. package/dist/elements/Card/index.js +2 -2
  64. package/dist/elements/Card/index.js.map +1 -1
  65. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  66. package/dist/elements/CodeEditor/CodeEditor.js +51 -25
  67. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  68. package/dist/elements/CodeEditor/index.d.ts.map +1 -1
  69. package/dist/elements/CodeEditor/index.js +3 -9
  70. package/dist/elements/CodeEditor/index.js.map +1 -1
  71. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  72. package/dist/elements/Collapsible/index.js +44 -62
  73. package/dist/elements/Collapsible/index.js.map +1 -1
  74. package/dist/elements/Collapsible/index.scss +15 -28
  75. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  76. package/dist/elements/ColumnSelector/index.js +15 -3
  77. package/dist/elements/ColumnSelector/index.js.map +1 -1
  78. package/dist/elements/CopyToClipboard/index.js +20 -54
  79. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  80. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  81. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  82. package/dist/elements/DatePicker/index.js +1 -1
  83. package/dist/elements/DatePicker/index.js.map +1 -1
  84. package/dist/elements/DeleteDocument/index.d.ts +9 -6
  85. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  86. package/dist/elements/DeleteDocument/index.js +65 -28
  87. package/dist/elements/DeleteDocument/index.js.map +1 -1
  88. package/dist/elements/DeleteDocument/index.scss +24 -11
  89. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  90. package/dist/elements/DeleteMany/index.js +26 -18
  91. package/dist/elements/DeleteMany/index.js.map +1 -1
  92. package/dist/elements/DeleteMany/index.scss +24 -5
  93. package/dist/elements/DocumentControls/index.d.ts +13 -2
  94. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  95. package/dist/elements/DocumentControls/index.js +67 -13
  96. package/dist/elements/DocumentControls/index.js.map +1 -1
  97. package/dist/elements/DocumentControls/index.scss +8 -0
  98. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  99. package/dist/elements/DocumentDrawer/DrawerContent.js +109 -38
  100. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  101. package/dist/elements/DocumentDrawer/index.js +2 -2
  102. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  103. package/dist/elements/DocumentDrawer/types.d.ts +10 -1
  104. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  105. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  106. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  107. package/dist/elements/DraggableSortable/index.js +2 -1
  108. package/dist/elements/DraggableSortable/index.js.map +1 -1
  109. package/dist/elements/Drawer/index.d.ts +1 -0
  110. package/dist/elements/Drawer/index.d.ts.map +1 -1
  111. package/dist/elements/Drawer/index.js +3 -3
  112. package/dist/elements/Drawer/index.js.map +1 -1
  113. package/dist/elements/Drawer/types.d.ts +1 -1
  114. package/dist/elements/Drawer/types.d.ts.map +1 -1
  115. package/dist/elements/Drawer/types.js.map +1 -1
  116. package/dist/elements/Dropzone/index.d.ts +4 -3
  117. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  118. package/dist/elements/Dropzone/index.js +60 -146
  119. package/dist/elements/Dropzone/index.js.map +1 -1
  120. package/dist/elements/Dropzone/index.scss +6 -23
  121. package/dist/elements/DuplicateDocument/index.d.ts +6 -3
  122. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  123. package/dist/elements/DuplicateDocument/index.js +95 -137
  124. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  125. package/dist/elements/DuplicateDocument/index.scss +25 -5
  126. package/dist/elements/EditMany/index.d.ts.map +1 -1
  127. package/dist/elements/EditMany/index.js +10 -5
  128. package/dist/elements/EditMany/index.js.map +1 -1
  129. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  130. package/dist/elements/EditUpload/index.js +140 -201
  131. package/dist/elements/EditUpload/index.js.map +1 -1
  132. package/dist/elements/ErrorPill/index.d.ts.map +1 -1
  133. package/dist/elements/ErrorPill/index.js +3 -1
  134. package/dist/elements/ErrorPill/index.js.map +1 -1
  135. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  136. package/dist/elements/FieldSelect/index.js +5 -3
  137. package/dist/elements/FieldSelect/index.js.map +1 -1
  138. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +20 -0
  139. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -0
  140. package/dist/elements/FileDetails/DraggableFileDetails/index.js +116 -0
  141. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -0
  142. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +33 -0
  143. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +17 -0
  144. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -0
  145. package/dist/elements/FileDetails/StaticFileDetails/index.js +70 -0
  146. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -0
  147. package/dist/elements/FileDetails/{index.scss → StaticFileDetails/index.scss} +2 -1
  148. package/dist/elements/FileDetails/index.d.ts +19 -4
  149. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  150. package/dist/elements/FileDetails/index.js +11 -62
  151. package/dist/elements/FileDetails/index.js.map +1 -1
  152. package/dist/elements/GenerateConfirmation/index.d.ts.map +1 -1
  153. package/dist/elements/GenerateConfirmation/index.js +31 -24
  154. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  155. package/dist/elements/GenerateConfirmation/index.scss +24 -5
  156. package/dist/elements/Hamburger/index.scss +4 -0
  157. package/dist/elements/ListControls/index.d.ts.map +1 -1
  158. package/dist/elements/ListControls/index.js +102 -204
  159. package/dist/elements/ListControls/index.js.map +1 -1
  160. package/dist/elements/ListControls/index.scss +0 -6
  161. package/dist/elements/ListDrawer/DrawerContent.d.ts +2 -0
  162. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  163. package/dist/elements/ListDrawer/DrawerContent.js +342 -251
  164. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  165. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  166. package/dist/elements/ListDrawer/index.js +19 -16
  167. package/dist/elements/ListDrawer/index.js.map +1 -1
  168. package/dist/elements/ListDrawer/index.scss +7 -0
  169. package/dist/elements/ListDrawer/types.d.ts +7 -1
  170. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  171. package/dist/elements/ListDrawer/types.js.map +1 -1
  172. package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
  173. package/dist/elements/Localizer/LocalizerLabel/index.js +9 -5
  174. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  175. package/dist/elements/Localizer/LocalizerLabel/index.scss +7 -3
  176. package/dist/elements/Localizer/index.d.ts.map +1 -1
  177. package/dist/elements/Localizer/index.js +1 -1
  178. package/dist/elements/Localizer/index.js.map +1 -1
  179. package/dist/elements/Locked/index.d.ts +8 -0
  180. package/dist/elements/Locked/index.d.ts.map +1 -0
  181. package/dist/elements/Locked/index.js +72 -0
  182. package/dist/elements/Locked/index.js.map +1 -0
  183. package/dist/elements/Locked/index.scss +14 -0
  184. package/dist/elements/Logout/index.js +1 -1
  185. package/dist/elements/Logout/index.js.map +1 -1
  186. package/dist/elements/Nav/context.js +47 -83
  187. package/dist/elements/Nav/context.js.map +1 -1
  188. package/dist/elements/Pagination/index.d.ts.map +1 -1
  189. package/dist/elements/Pagination/index.js +20 -10
  190. package/dist/elements/Pagination/index.js.map +1 -1
  191. package/dist/elements/PerPage/index.d.ts +5 -5
  192. package/dist/elements/PerPage/index.d.ts.map +1 -1
  193. package/dist/elements/PerPage/index.js +2 -1
  194. package/dist/elements/PerPage/index.js.map +1 -1
  195. package/dist/elements/Pill/index.d.ts.map +1 -1
  196. package/dist/elements/Pill/index.js +11 -5
  197. package/dist/elements/Pill/index.js.map +1 -1
  198. package/dist/elements/Pill/index.scss +3 -1
  199. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  200. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  201. package/dist/elements/Popup/PopupTrigger/index.js +6 -3
  202. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  203. package/dist/elements/Popup/PopupTrigger/index.scss +12 -0
  204. package/dist/elements/Popup/index.d.ts +1 -0
  205. package/dist/elements/Popup/index.d.ts.map +1 -1
  206. package/dist/elements/Popup/index.js +10 -5
  207. package/dist/elements/Popup/index.js.map +1 -1
  208. package/dist/elements/Popup/index.scss +18 -1
  209. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  210. package/dist/elements/PreviewButton/usePreviewURL.js +29 -9
  211. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  212. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  213. package/dist/elements/PreviewSizes/index.js +15 -5
  214. package/dist/elements/PreviewSizes/index.js.map +1 -1
  215. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  216. package/dist/elements/PublishButton/index.js +164 -48
  217. package/dist/elements/PublishButton/index.js.map +1 -1
  218. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  219. package/dist/elements/PublishMany/index.js +27 -18
  220. package/dist/elements/PublishMany/index.js.map +1 -1
  221. package/dist/elements/PublishMany/index.scss +23 -4
  222. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  223. package/dist/elements/ReactSelect/DropdownIndicator/index.js +3 -1
  224. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  225. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  226. package/dist/elements/ReactSelect/index.js +5 -3
  227. package/dist/elements/ReactSelect/index.js.map +1 -1
  228. package/dist/elements/ReactSelect/index.scss +4 -0
  229. package/dist/elements/ReactSelect/types.d.ts +11 -3
  230. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  231. package/dist/elements/ReactSelect/types.js.map +1 -1
  232. package/dist/elements/RelationshipTable/TableWrapper.d.ts +8 -0
  233. package/dist/elements/RelationshipTable/TableWrapper.d.ts.map +1 -0
  234. package/dist/elements/RelationshipTable/TableWrapper.js +69 -0
  235. package/dist/elements/RelationshipTable/TableWrapper.js.map +1 -0
  236. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +8 -0
  237. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -0
  238. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +82 -0
  239. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -0
  240. package/dist/elements/RelationshipTable/cells/DrawerLink/index.scss +4 -0
  241. package/dist/elements/RelationshipTable/index.d.ts +15 -0
  242. package/dist/elements/RelationshipTable/index.d.ts.map +1 -0
  243. package/dist/elements/RelationshipTable/index.js +445 -0
  244. package/dist/elements/RelationshipTable/index.js.map +1 -0
  245. package/dist/elements/RelationshipTable/index.scss +26 -0
  246. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  247. package/dist/elements/SaveButton/index.js +35 -84
  248. package/dist/elements/SaveButton/index.js.map +1 -1
  249. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  250. package/dist/elements/SaveDraftButton/index.js +63 -119
  251. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  252. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  253. package/dist/elements/SearchFilter/index.js +45 -81
  254. package/dist/elements/SearchFilter/index.js.map +1 -1
  255. package/dist/elements/SelectMany/index.d.ts +6 -0
  256. package/dist/elements/SelectMany/index.d.ts.map +1 -0
  257. package/dist/elements/SelectMany/index.js +29 -0
  258. package/dist/elements/SelectMany/index.js.map +1 -0
  259. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  260. package/dist/elements/SelectRow/index.js +64 -24
  261. package/dist/elements/SelectRow/index.js.map +1 -1
  262. package/dist/elements/ShimmerEffect/index.d.ts +3 -3
  263. package/dist/elements/ShimmerEffect/index.d.ts.map +1 -1
  264. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  265. package/dist/elements/SortColumn/index.d.ts +5 -4
  266. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  267. package/dist/elements/SortColumn/index.js +26 -31
  268. package/dist/elements/SortColumn/index.js.map +1 -1
  269. package/dist/elements/SortColumn/index.scss +10 -1
  270. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  271. package/dist/elements/SortComplex/index.js.map +1 -1
  272. package/dist/elements/Status/index.d.ts.map +1 -1
  273. package/dist/elements/Status/index.js +44 -28
  274. package/dist/elements/Status/index.js.map +1 -1
  275. package/dist/elements/Status/index.scss +26 -7
  276. package/dist/elements/StepNav/index.d.ts +1 -1
  277. package/dist/elements/StepNav/index.d.ts.map +1 -1
  278. package/dist/elements/StepNav/index.js +2 -2
  279. package/dist/elements/StepNav/index.js.map +1 -1
  280. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +2 -2
  281. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  282. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  283. package/dist/elements/Table/DefaultCell/fields/Code/index.js +1 -1
  284. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  285. package/dist/elements/Table/DefaultCell/fields/File/index.scss +5 -5
  286. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +2 -3
  287. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  288. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +43 -40
  289. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  290. package/dist/elements/Table/DefaultCell/fields/Relationship/index.scss +0 -3
  291. package/dist/elements/Table/DefaultCell/fields/index.d.ts +2 -1
  292. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  293. package/dist/elements/Table/DefaultCell/fields/index.js +2 -1
  294. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  295. package/dist/elements/Table/RelationshipProvider/index.d.ts +1 -1
  296. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  297. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  298. package/dist/elements/Table/RenderCell.d.ts +11 -0
  299. package/dist/elements/Table/RenderCell.d.ts.map +1 -0
  300. package/dist/elements/Table/RenderCell.js +30 -0
  301. package/dist/elements/Table/RenderCell.js.map +1 -0
  302. package/dist/elements/Table/TableCellProvider/index.js +9 -9
  303. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  304. package/dist/elements/Table/index.d.ts +4 -7
  305. package/dist/elements/Table/index.d.ts.map +1 -1
  306. package/dist/elements/Table/index.js +40 -30
  307. package/dist/elements/Table/index.js.map +1 -1
  308. package/dist/elements/Table/index.scss +50 -0
  309. package/dist/elements/TableColumns/buildColumnState.d.ts +5 -2
  310. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  311. package/dist/elements/TableColumns/buildColumnState.js +47 -31
  312. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  313. package/dist/elements/TableColumns/index.d.ts +5 -0
  314. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  315. package/dist/elements/TableColumns/index.js +118 -107
  316. package/dist/elements/TableColumns/index.js.map +1 -1
  317. package/dist/elements/Thumbnail/index.d.ts +10 -6
  318. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  319. package/dist/elements/Thumbnail/index.js +84 -9
  320. package/dist/elements/Thumbnail/index.js.map +1 -1
  321. package/dist/elements/Tooltip/index.d.ts +1 -0
  322. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  323. package/dist/elements/Tooltip/index.js +15 -13
  324. package/dist/elements/Tooltip/index.js.map +1 -1
  325. package/dist/elements/Tooltip/index.scss +2 -2
  326. package/dist/elements/Translation/index.d.ts.map +1 -1
  327. package/dist/elements/Translation/index.js +0 -2
  328. package/dist/elements/Translation/index.js.map +1 -1
  329. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  330. package/dist/elements/UnpublishMany/index.js +28 -19
  331. package/dist/elements/UnpublishMany/index.js.map +1 -1
  332. package/dist/elements/UnpublishMany/index.scss +23 -4
  333. package/dist/elements/Upload/index.d.ts.map +1 -1
  334. package/dist/elements/Upload/index.js +183 -302
  335. package/dist/elements/Upload/index.js.map +1 -1
  336. package/dist/elements/Upload/index.scss +38 -0
  337. package/dist/elements/ViewDescription/index.d.ts +1 -1
  338. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  339. package/dist/elements/ViewDescription/index.js.map +1 -1
  340. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  341. package/dist/elements/WhereBuilder/Condition/index.js +34 -31
  342. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  343. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  344. package/dist/elements/WhereBuilder/index.js +5 -8
  345. package/dist/elements/WhereBuilder/index.js.map +1 -1
  346. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  347. package/dist/elements/WhereBuilder/reduceClientFields.js +6 -2
  348. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  349. package/dist/elements/WhereBuilder/types.d.ts +1 -1
  350. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  351. package/dist/elements/WhereBuilder/types.js.map +1 -1
  352. package/dist/elements/WindowInfo/index.d.ts +2 -2
  353. package/dist/elements/WindowInfo/index.d.ts.map +1 -1
  354. package/dist/elements/WindowInfo/index.js +2 -2
  355. package/dist/elements/WindowInfo/index.js.map +1 -1
  356. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  357. package/dist/exports/client/CodeEditor-4A6256PR.js +26 -0
  358. package/dist/exports/client/CodeEditor-4A6256PR.js.map +8 -0
  359. package/dist/exports/client/{DatePicker-E6IJFDN2.js → DatePicker-HNJMUG32.js} +2 -2
  360. package/dist/exports/client/chunk-6IWEPNUV.js +14 -0
  361. package/dist/exports/client/chunk-6IWEPNUV.js.map +8 -0
  362. package/dist/exports/client/{chunk-OBXEO4WP.js → chunk-IHJK2MAT.js} +3 -3
  363. package/dist/exports/client/{chunk-OBXEO4WP.js.map → chunk-IHJK2MAT.js.map} +4 -4
  364. package/dist/exports/client/index.d.ts +7 -5
  365. package/dist/exports/client/index.d.ts.map +1 -1
  366. package/dist/exports/client/index.js +19 -19
  367. package/dist/exports/client/index.js.map +4 -4
  368. package/dist/exports/shared/index.d.ts +6 -2
  369. package/dist/exports/shared/index.d.ts.map +1 -1
  370. package/dist/exports/shared/index.js +2 -2
  371. package/dist/exports/shared/index.js.map +4 -4
  372. package/dist/fields/Array/ArrayRow.d.ts +1 -1
  373. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  374. package/dist/fields/Array/ArrayRow.js +7 -7
  375. package/dist/fields/Array/ArrayRow.js.map +1 -1
  376. package/dist/fields/Array/index.d.ts +11 -3
  377. package/dist/fields/Array/index.d.ts.map +1 -1
  378. package/dist/fields/Array/index.js +8 -5
  379. package/dist/fields/Array/index.js.map +1 -1
  380. package/dist/fields/Blocks/BlockRow.d.ts +2 -2
  381. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  382. package/dist/fields/Blocks/BlockRow.js +5 -5
  383. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  384. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  385. package/dist/fields/Blocks/BlocksDrawer/index.js +3 -1
  386. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  387. package/dist/fields/Blocks/RowActions.d.ts +1 -1
  388. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  389. package/dist/fields/Blocks/RowActions.js +1 -1
  390. package/dist/fields/Blocks/RowActions.js.map +1 -1
  391. package/dist/fields/Blocks/index.d.ts +8 -2
  392. package/dist/fields/Blocks/index.d.ts.map +1 -1
  393. package/dist/fields/Blocks/index.js +2 -5
  394. package/dist/fields/Blocks/index.js.map +1 -1
  395. package/dist/fields/Checkbox/Input.d.ts +1 -1
  396. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  397. package/dist/fields/Checkbox/Input.js +3 -3
  398. package/dist/fields/Checkbox/Input.js.map +1 -1
  399. package/dist/fields/Checkbox/index.d.ts +16 -4
  400. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  401. package/dist/fields/Checkbox/index.js +2 -2
  402. package/dist/fields/Checkbox/index.js.map +1 -1
  403. package/dist/fields/Checkbox/index.scss +13 -0
  404. package/dist/fields/Code/index.d.ts +9 -2
  405. package/dist/fields/Code/index.d.ts.map +1 -1
  406. package/dist/fields/Code/index.js +32 -37
  407. package/dist/fields/Code/index.js.map +1 -1
  408. package/dist/fields/Collapsible/index.d.ts +143 -2
  409. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  410. package/dist/fields/Collapsible/index.js +49 -42
  411. package/dist/fields/Collapsible/index.js.map +1 -1
  412. package/dist/fields/DateTime/index.d.ts +9 -2
  413. package/dist/fields/DateTime/index.d.ts.map +1 -1
  414. package/dist/fields/DateTime/index.js +33 -38
  415. package/dist/fields/DateTime/index.js.map +1 -1
  416. package/dist/fields/Email/index.d.ts +10 -2
  417. package/dist/fields/Email/index.d.ts.map +1 -1
  418. package/dist/fields/Email/index.js +29 -33
  419. package/dist/fields/Email/index.js.map +1 -1
  420. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  421. package/dist/fields/FieldLabel/index.js +7 -1
  422. package/dist/fields/FieldLabel/index.js.map +1 -1
  423. package/dist/fields/Group/index.d.ts +8 -3
  424. package/dist/fields/Group/index.d.ts.map +1 -1
  425. package/dist/fields/Group/index.js +3 -3
  426. package/dist/fields/Group/index.js.map +1 -1
  427. package/dist/fields/JSON/index.d.ts +8 -2
  428. package/dist/fields/JSON/index.d.ts.map +1 -1
  429. package/dist/fields/JSON/index.js +17 -11
  430. package/dist/fields/JSON/index.js.map +1 -1
  431. package/dist/fields/Join/index.d.ts +9 -0
  432. package/dist/fields/Join/index.d.ts.map +1 -0
  433. package/dist/fields/Join/index.js +75 -0
  434. package/dist/fields/Join/index.js.map +1 -0
  435. package/dist/fields/Number/index.d.ts +9 -2
  436. package/dist/fields/Number/index.d.ts.map +1 -1
  437. package/dist/fields/Number/index.js +37 -42
  438. package/dist/fields/Number/index.js.map +1 -1
  439. package/dist/fields/Password/index.js +32 -28
  440. package/dist/fields/Password/index.js.map +1 -1
  441. package/dist/fields/Password/input.js +7 -7
  442. package/dist/fields/Password/input.js.map +1 -1
  443. package/dist/fields/Password/types.d.ts +5 -5
  444. package/dist/fields/Password/types.d.ts.map +1 -1
  445. package/dist/fields/Password/types.js.map +1 -1
  446. package/dist/fields/Point/index.d.ts +10 -3
  447. package/dist/fields/Point/index.d.ts.map +1 -1
  448. package/dist/fields/Point/index.js +2 -1
  449. package/dist/fields/Point/index.js.map +1 -1
  450. package/dist/fields/RadioGroup/Radio/index.d.ts +2 -2
  451. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  452. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  453. package/dist/fields/RadioGroup/index.d.ts +10 -2
  454. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  455. package/dist/fields/RadioGroup/index.js +36 -41
  456. package/dist/fields/RadioGroup/index.js.map +1 -1
  457. package/dist/fields/Relationship/createRelationMap.d.ts +1 -1
  458. package/dist/fields/Relationship/createRelationMap.d.ts.map +1 -1
  459. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  460. package/dist/fields/Relationship/findOptionsByValue.d.ts +2 -1
  461. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  462. package/dist/fields/Relationship/findOptionsByValue.js +9 -2
  463. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  464. package/dist/fields/Relationship/index.d.ts +8 -2
  465. package/dist/fields/Relationship/index.d.ts.map +1 -1
  466. package/dist/fields/Relationship/index.js +421 -518
  467. package/dist/fields/Relationship/index.js.map +1 -1
  468. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  469. package/dist/fields/Relationship/optionsReducer.js +31 -1
  470. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  471. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts +6 -1
  472. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  473. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +48 -82
  474. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  475. package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +4 -0
  476. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts +6 -1
  477. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  478. package/dist/fields/Relationship/select-components/SingleValue/index.js +53 -101
  479. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  480. package/dist/fields/Relationship/select-components/SingleValue/index.scss +4 -0
  481. package/dist/fields/Relationship/types.d.ts +15 -5
  482. package/dist/fields/Relationship/types.d.ts.map +1 -1
  483. package/dist/fields/Relationship/types.js.map +1 -1
  484. package/dist/fields/RichText/index.d.ts +2 -2
  485. package/dist/fields/RichText/index.d.ts.map +1 -1
  486. package/dist/fields/RichText/index.js.map +1 -1
  487. package/dist/fields/Row/index.d.ts +9 -2
  488. package/dist/fields/Row/index.d.ts.map +1 -1
  489. package/dist/fields/Row/index.js.map +1 -1
  490. package/dist/fields/Row/index.scss +15 -2
  491. package/dist/fields/Select/Input.d.ts +5 -5
  492. package/dist/fields/Select/Input.d.ts.map +1 -1
  493. package/dist/fields/Select/Input.js +7 -7
  494. package/dist/fields/Select/Input.js.map +1 -1
  495. package/dist/fields/Select/index.d.ts +10 -2
  496. package/dist/fields/Select/index.d.ts.map +1 -1
  497. package/dist/fields/Select/index.js +11 -11
  498. package/dist/fields/Select/index.js.map +1 -1
  499. package/dist/fields/Tabs/index.d.ts +6 -2
  500. package/dist/fields/Tabs/index.d.ts.map +1 -1
  501. package/dist/fields/Tabs/index.js +1 -1
  502. package/dist/fields/Tabs/index.js.map +1 -1
  503. package/dist/fields/Text/Input.js +7 -7
  504. package/dist/fields/Text/Input.js.map +1 -1
  505. package/dist/fields/Text/index.d.ts +11 -3
  506. package/dist/fields/Text/index.d.ts.map +1 -1
  507. package/dist/fields/Text/index.js +4 -6
  508. package/dist/fields/Text/index.js.map +1 -1
  509. package/dist/fields/Text/types.d.ts +5 -5
  510. package/dist/fields/Text/types.d.ts.map +1 -1
  511. package/dist/fields/Text/types.js.map +1 -1
  512. package/dist/fields/Textarea/Input.js +7 -7
  513. package/dist/fields/Textarea/Input.js.map +1 -1
  514. package/dist/fields/Textarea/index.d.ts +13 -4
  515. package/dist/fields/Textarea/index.d.ts.map +1 -1
  516. package/dist/fields/Textarea/index.js +6 -5
  517. package/dist/fields/Textarea/index.js.map +1 -1
  518. package/dist/fields/Textarea/types.d.ts +5 -5
  519. package/dist/fields/Textarea/types.d.ts.map +1 -1
  520. package/dist/fields/Textarea/types.js.map +1 -1
  521. package/dist/fields/Upload/HasMany/index.d.ts +18 -0
  522. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -0
  523. package/dist/fields/Upload/HasMany/index.js +169 -0
  524. package/dist/fields/Upload/HasMany/index.js.map +1 -0
  525. package/dist/fields/Upload/HasMany/index.scss +27 -0
  526. package/dist/fields/Upload/HasOne/index.d.ts +16 -0
  527. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -0
  528. package/dist/fields/Upload/HasOne/index.js +47 -0
  529. package/dist/fields/Upload/HasOne/index.js.map +1 -0
  530. package/dist/fields/Upload/HasOne/index.scss +6 -0
  531. package/dist/fields/Upload/Input.d.ts +14 -10
  532. package/dist/fields/Upload/Input.d.ts.map +1 -1
  533. package/dist/fields/Upload/Input.js +610 -254
  534. package/dist/fields/Upload/Input.js.map +1 -1
  535. package/dist/fields/Upload/RelationshipContent/index.d.ts +21 -0
  536. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -0
  537. package/dist/fields/Upload/RelationshipContent/index.js +139 -0
  538. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -0
  539. package/dist/fields/Upload/RelationshipContent/index.scss +54 -0
  540. package/dist/fields/Upload/UploadCard/index.d.ts +10 -0
  541. package/dist/fields/Upload/UploadCard/index.d.ts.map +1 -0
  542. package/dist/fields/Upload/UploadCard/index.js +15 -0
  543. package/dist/fields/Upload/UploadCard/index.js.map +1 -0
  544. package/dist/fields/Upload/UploadCard/index.scss +26 -0
  545. package/dist/fields/Upload/index.d.ts +6 -6
  546. package/dist/fields/Upload/index.d.ts.map +1 -1
  547. package/dist/fields/Upload/index.js +77 -96
  548. package/dist/fields/Upload/index.js.map +1 -1
  549. package/dist/fields/Upload/index.scss +38 -51
  550. package/dist/fields/index.d.ts.map +1 -1
  551. package/dist/fields/index.js +2 -0
  552. package/dist/fields/index.js.map +1 -1
  553. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  554. package/dist/forms/Form/fieldReducer.js +6 -2
  555. package/dist/forms/Form/fieldReducer.js.map +1 -1
  556. package/dist/forms/Form/index.d.ts.map +1 -1
  557. package/dist/forms/Form/index.js +26 -10
  558. package/dist/forms/Form/index.js.map +1 -1
  559. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  560. package/dist/forms/Form/mergeServerFormState.js +3 -1
  561. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  562. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  563. package/dist/forms/Form/rowHelpers.js +9 -3
  564. package/dist/forms/Form/rowHelpers.js.map +1 -1
  565. package/dist/forms/Form/rows.d.ts.map +1 -1
  566. package/dist/forms/Form/rows.js +3 -1
  567. package/dist/forms/Form/rows.js.map +1 -1
  568. package/dist/forms/Form/types.d.ts +1 -1
  569. package/dist/forms/Form/types.d.ts.map +1 -1
  570. package/dist/forms/Form/types.js.map +1 -1
  571. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  572. package/dist/forms/NullifyField/index.js +1 -0
  573. package/dist/forms/NullifyField/index.js.map +1 -1
  574. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  575. package/dist/forms/RenderFields/RenderField.js +6 -2
  576. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  577. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  578. package/dist/forms/RenderFields/index.js +19 -16
  579. package/dist/forms/RenderFields/index.js.map +1 -1
  580. package/dist/forms/RowLabel/index.js +1 -1
  581. package/dist/forms/RowLabel/index.js.map +1 -1
  582. package/dist/forms/RowLabel/types.d.ts +1 -1
  583. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  584. package/dist/forms/RowLabel/types.js.map +1 -1
  585. package/dist/forms/Submit/index.js +12 -28
  586. package/dist/forms/Submit/index.js.map +1 -1
  587. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  588. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +4 -31
  589. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  590. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  591. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +6 -2
  592. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  593. package/dist/forms/buildStateFromSchema/index.d.ts +2 -0
  594. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  595. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  596. package/dist/forms/useField/index.js +203 -111
  597. package/dist/forms/useField/index.js.map +1 -1
  598. package/dist/graphics/Account/index.d.ts.map +1 -1
  599. package/dist/graphics/Account/index.js +1 -1
  600. package/dist/graphics/Account/index.js.map +1 -1
  601. package/dist/hooks/useHotkey.d.ts.map +1 -1
  602. package/dist/hooks/useHotkey.js.map +1 -1
  603. package/dist/hooks/useIgnoredEffect.d.ts +17 -0
  604. package/dist/hooks/useIgnoredEffect.d.ts.map +1 -0
  605. package/dist/hooks/useIgnoredEffect.js +28 -0
  606. package/dist/hooks/useIgnoredEffect.js.map +1 -0
  607. package/dist/hooks/useIntersect.d.ts.map +1 -1
  608. package/dist/hooks/useIntersect.js +14 -20
  609. package/dist/hooks/useIntersect.js.map +1 -1
  610. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  611. package/dist/hooks/usePayloadAPI.js.map +1 -1
  612. package/dist/hooks/useThrottledEffect.d.ts +7 -0
  613. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  614. package/dist/hooks/useThrottledEffect.js +7 -0
  615. package/dist/hooks/useThrottledEffect.js.map +1 -1
  616. package/dist/icons/Chevron/index.d.ts +3 -3
  617. package/dist/icons/Chevron/index.d.ts.map +1 -1
  618. package/dist/icons/Chevron/index.js +4 -4
  619. package/dist/icons/Chevron/index.js.map +1 -1
  620. package/dist/icons/Chevron/index.scss +9 -1
  621. package/dist/icons/Lock/index.d.ts +6 -0
  622. package/dist/icons/Lock/index.d.ts.map +1 -0
  623. package/dist/icons/Lock/index.js +27 -0
  624. package/dist/icons/Lock/index.js.map +1 -0
  625. package/dist/icons/Lock/index.scss +8 -0
  626. package/dist/providers/Auth/index.d.ts +1 -1
  627. package/dist/providers/Auth/index.d.ts.map +1 -1
  628. package/dist/providers/Auth/index.js +6 -2
  629. package/dist/providers/Auth/index.js.map +1 -1
  630. package/dist/providers/Config/RenderComponent.d.ts +1 -1
  631. package/dist/providers/Config/RenderComponent.d.ts.map +1 -1
  632. package/dist/providers/Config/RenderComponent.js +2 -2
  633. package/dist/providers/Config/RenderComponent.js.map +1 -1
  634. package/dist/providers/Config/createClientConfig/collections.d.ts +6 -6
  635. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  636. package/dist/providers/Config/createClientConfig/collections.js +27 -13
  637. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  638. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
  639. package/dist/providers/Config/createClientConfig/fields.js +34 -11
  640. package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
  641. package/dist/providers/Config/createClientConfig/getComponent.d.ts +1 -1
  642. package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +1 -1
  643. package/dist/providers/Config/createClientConfig/getComponent.js +2 -2
  644. package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -1
  645. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -1
  646. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +3 -1
  647. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -1
  648. package/dist/providers/Config/createClientConfig/globals.d.ts +4 -4
  649. package/dist/providers/Config/createClientConfig/globals.d.ts.map +1 -1
  650. package/dist/providers/Config/createClientConfig/globals.js +3 -3
  651. package/dist/providers/Config/createClientConfig/globals.js.map +1 -1
  652. package/dist/providers/Config/createClientConfig/index.d.ts +3 -3
  653. package/dist/providers/Config/createClientConfig/index.d.ts.map +1 -1
  654. package/dist/providers/Config/createClientConfig/index.js +20 -5
  655. package/dist/providers/Config/createClientConfig/index.js.map +1 -1
  656. package/dist/providers/DocumentEvents/index.js.map +1 -1
  657. package/dist/providers/DocumentInfo/index.d.ts +1 -1
  658. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  659. package/dist/providers/DocumentInfo/index.js +117 -11
  660. package/dist/providers/DocumentInfo/index.js.map +1 -1
  661. package/dist/providers/DocumentInfo/types.d.ts +43 -21
  662. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  663. package/dist/providers/DocumentInfo/types.js.map +1 -1
  664. package/dist/providers/ListInfo/index.d.ts +8 -2
  665. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  666. package/dist/providers/ListInfo/index.js.map +1 -1
  667. package/dist/providers/ListQuery/index.d.ts +17 -11
  668. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  669. package/dist/providers/ListQuery/index.js +32 -20
  670. package/dist/providers/ListQuery/index.js.map +1 -1
  671. package/dist/providers/Locale/index.d.ts.map +1 -1
  672. package/dist/providers/Locale/index.js.map +1 -1
  673. package/dist/providers/Preferences/index.d.ts.map +1 -1
  674. package/dist/providers/Preferences/index.js +3 -1
  675. package/dist/providers/Preferences/index.js.map +1 -1
  676. package/dist/providers/Root/index.d.ts +12 -12
  677. package/dist/providers/Root/index.d.ts.map +1 -1
  678. package/dist/providers/Root/index.js +2 -2
  679. package/dist/providers/Root/index.js.map +1 -1
  680. package/dist/providers/ScrollInfo/index.d.ts +1 -3
  681. package/dist/providers/ScrollInfo/index.d.ts.map +1 -1
  682. package/dist/providers/ScrollInfo/index.js +1 -12
  683. package/dist/providers/ScrollInfo/index.js.map +1 -1
  684. package/dist/providers/Selection/index.d.ts +8 -5
  685. package/dist/providers/Selection/index.d.ts.map +1 -1
  686. package/dist/providers/Selection/index.js +130 -184
  687. package/dist/providers/Selection/index.js.map +1 -1
  688. package/dist/providers/Theme/index.d.ts +0 -1
  689. package/dist/providers/Theme/index.d.ts.map +1 -1
  690. package/dist/providers/Theme/index.js +29 -21
  691. package/dist/providers/Theme/index.js.map +1 -1
  692. package/dist/providers/Translation/index.d.ts.map +1 -1
  693. package/dist/providers/Translation/index.js +5 -7
  694. package/dist/providers/Translation/index.js.map +1 -1
  695. package/dist/providers/WindowInfo/index.d.ts +1 -1
  696. package/dist/providers/WindowInfo/index.d.ts.map +1 -1
  697. package/dist/providers/WindowInfo/index.js +1 -1
  698. package/dist/providers/WindowInfo/index.js.map +1 -1
  699. package/dist/scss/app.scss +6 -6
  700. package/dist/scss/type.scss +4 -4
  701. package/dist/styles.css +1 -1
  702. package/dist/utilities/buildFormState.d.ts +9 -3
  703. package/dist/utilities/buildFormState.d.ts.map +1 -1
  704. package/dist/utilities/buildFormState.js +88 -6
  705. package/dist/utilities/buildFormState.js.map +1 -1
  706. package/dist/utilities/deepMerge.d.ts +12 -0
  707. package/dist/utilities/deepMerge.d.ts.map +1 -0
  708. package/dist/utilities/deepMerge.js +25 -0
  709. package/dist/utilities/deepMerge.js.map +1 -0
  710. package/dist/utilities/getFormState.d.ts +8 -2
  711. package/dist/utilities/getFormState.d.ts.map +1 -1
  712. package/dist/utilities/getFormState.js +3 -1
  713. package/dist/utilities/getFormState.js.map +1 -1
  714. package/dist/utilities/handleBackToDashboard.d.ts +8 -0
  715. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -0
  716. package/dist/utilities/handleBackToDashboard.js +12 -0
  717. package/dist/utilities/handleBackToDashboard.js.map +1 -0
  718. package/dist/utilities/handleGoBack.d.ts +9 -0
  719. package/dist/utilities/handleGoBack.d.ts.map +1 -0
  720. package/dist/utilities/handleGoBack.js +13 -0
  721. package/dist/utilities/handleGoBack.js.map +1 -0
  722. package/dist/utilities/handleTakeOver.d.ts +7 -0
  723. package/dist/utilities/handleTakeOver.d.ts.map +1 -0
  724. package/dist/utilities/handleTakeOver.js +27 -0
  725. package/dist/utilities/handleTakeOver.js.map +1 -0
  726. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  727. package/dist/utilities/reduceFieldsToValuesWithValidation.js +6 -2
  728. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  729. package/package.json +21 -21
  730. package/dist/exports/client/CodeEditor-C4FLUUO7.js +0 -24
  731. package/dist/exports/client/CodeEditor-C4FLUUO7.js.map +0 -8
  732. package/dist/exports/client/chunk-UGBVRIVY.js +0 -14
  733. package/dist/exports/client/chunk-UGBVRIVY.js.map +0 -8
  734. package/dist/fields/Relationship/AddNew/index.d.ts.map +0 -1
  735. package/dist/fields/Relationship/AddNew/index.js.map +0 -1
  736. package/dist/fields/Relationship/AddNew/index.scss +0 -28
  737. package/dist/fields/Relationship/AddNew/types.d.ts +0 -12
  738. package/dist/fields/Relationship/AddNew/types.d.ts.map +0 -1
  739. package/dist/fields/Relationship/AddNew/types.js.map +0 -1
  740. package/dist/fields/Relationship/AddNew/useRelatedCollections.d.ts.map +0 -1
  741. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +0 -1
  742. /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.d.ts +0 -0
  743. /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/types.js +0 -0
  744. /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/useRelatedCollections.d.ts +0 -0
  745. /package/dist/exports/client/{DatePicker-E6IJFDN2.js.map → DatePicker-HNJMUG32.js.map} +0 -0
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
- import { c as _c } from "react/compiler-runtime";
4
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
4
  import { versionDefaults } from 'payload/shared';
6
5
  import React, { useEffect, useRef, useState } from 'react';
@@ -18,24 +17,20 @@ import './index.scss';
18
17
  const baseClass = 'autosave';
19
18
  // The minimum time the saving state should be shown
20
19
  const minimumAnimationTime = 1000;
21
- export const Autosave = t0 => {
22
- const $ = _c(45);
20
+ export const Autosave = ({
21
+ id,
22
+ collection,
23
+ global: globalDoc,
24
+ publishedDocUpdatedAt
25
+ }) => {
23
26
  const {
24
- id,
25
- collection,
26
- global: globalDoc,
27
- publishedDocUpdatedAt
28
- } = t0;
29
- const {
30
- config: t1
27
+ config: {
28
+ routes: {
29
+ api
30
+ },
31
+ serverURL
32
+ }
31
33
  } = useConfig();
32
- const {
33
- routes: t2,
34
- serverURL
35
- } = t1;
36
- const {
37
- api
38
- } = t2;
39
34
  const {
40
35
  docConfig,
41
36
  getVersions,
@@ -46,7 +41,6 @@ export const Autosave = t0 => {
46
41
  } = useDocumentEvents();
47
42
  const {
48
43
  dispatchFields,
49
- setModified,
50
44
  setSubmitted
51
45
  } = useForm();
52
46
  const submitted = useFormSubmitted();
@@ -73,230 +67,155 @@ export const Autosave = t0 => {
73
67
  const localeRef = useRef(locale);
74
68
  const debouncedRef = useRef(debouncedFields);
75
69
  debouncedRef.current = debouncedFields;
70
+ // Store fields in ref so the autosave func
71
+ // can always retrieve the most to date copies
72
+ // after the timeout has executed
76
73
  fieldRef.current = fields;
74
+ // Store modified in ref so the autosave func
75
+ // can bail out if modified becomes false while
76
+ // timing out during autosave
77
77
  modifiedRef.current = modified;
78
+ // Store locale in ref so the autosave func
79
+ // can always retrieve the most to date locale
78
80
  localeRef.current = locale;
79
- let t3;
80
- if ($[0] !== modified || $[1] !== collection || $[2] !== id || $[3] !== serverURL || $[4] !== api || $[5] !== globalDoc || $[6] !== submitted || $[7] !== versionsConfig || $[8] !== i18n || $[9] !== reportUpdate || $[10] !== setModified || $[11] !== getVersions || $[12] !== dispatchFields || $[13] !== setSubmitted) {
81
- t3 = () => {
82
- const abortController = new AbortController();
83
- let autosaveTimeout;
84
- autosaveTimeout = undefined;
85
- let startTimestamp;
86
- startTimestamp = undefined;
87
- let endTimestamp;
88
- endTimestamp = undefined;
89
- const autosave = () => {
90
- if (modified) {
91
- startTimestamp = new Date().getTime();
92
- setSaving(true);
93
- let url;
94
- let method;
95
- let entitySlug;
96
- if (collection && id) {
97
- entitySlug = collection.slug;
98
- url = `${serverURL}${api}/${entitySlug}/${id}?draft=true&autosave=true&locale=${localeRef.current}`;
99
- method = "PATCH";
100
- }
101
- if (globalDoc) {
102
- entitySlug = globalDoc.slug;
103
- url = `${serverURL}${api}/globals/${entitySlug}?draft=true&autosave=true&locale=${localeRef.current}`;
104
- method = "POST";
105
- }
106
- if (url) {
107
- if (modifiedRef.current) {
108
- const {
109
- data,
110
- valid
111
- } = {
112
- ...reduceFieldsToValuesWithValidation(fieldRef.current, true)
113
- };
114
- data._status = "draft";
115
- const skipSubmission = submitted && !valid && versionsConfig?.drafts && versionsConfig?.drafts?.validate;
116
- if (!skipSubmission) {
117
- fetch(url, {
118
- body: JSON.stringify(data),
119
- credentials: "include",
120
- headers: {
121
- "Accept-Language": i18n.language,
122
- "Content-Type": "application/json"
123
- },
124
- method,
125
- signal: abortController.signal
126
- }).then(res => {
127
- const newDate = new Date();
128
- endTimestamp = newDate.getTime();
129
- if (res.status === 200) {
130
- setLastSaved(newDate.getTime());
131
- reportUpdate({
132
- id,
133
- entitySlug,
134
- updatedAt: newDate.toISOString()
81
+ // When debounced fields change, autosave
82
+ useEffect(() => {
83
+ const abortController = new AbortController();
84
+ let autosaveTimeout = undefined;
85
+ // We need to log the time in order to figure out if we need to trigger the state off later
86
+ let startTimestamp = undefined;
87
+ let endTimestamp = undefined;
88
+ const autosave = () => {
89
+ if (modified) {
90
+ startTimestamp = new Date().getTime();
91
+ setSaving(true);
92
+ let url;
93
+ let method;
94
+ let entitySlug;
95
+ if (collection && id) {
96
+ entitySlug = collection.slug;
97
+ url = `${serverURL}${api}/${entitySlug}/${id}?draft=true&autosave=true&locale=${localeRef.current}`;
98
+ method = 'PATCH';
99
+ }
100
+ if (globalDoc) {
101
+ entitySlug = globalDoc.slug;
102
+ url = `${serverURL}${api}/globals/${entitySlug}?draft=true&autosave=true&locale=${localeRef.current}`;
103
+ method = 'POST';
104
+ }
105
+ if (url) {
106
+ if (modifiedRef.current) {
107
+ const {
108
+ data,
109
+ valid
110
+ } = {
111
+ ...reduceFieldsToValuesWithValidation(fieldRef.current, true)
112
+ };
113
+ data._status = 'draft';
114
+ const skipSubmission = submitted && !valid && versionsConfig?.drafts && versionsConfig?.drafts?.validate;
115
+ if (!skipSubmission) {
116
+ void fetch(url, {
117
+ body: JSON.stringify(data),
118
+ credentials: 'include',
119
+ headers: {
120
+ 'Accept-Language': i18n.language,
121
+ 'Content-Type': 'application/json'
122
+ },
123
+ method,
124
+ signal: abortController.signal
125
+ }).then(res => {
126
+ const newDate = new Date();
127
+ // We need to log the time in order to figure out if we need to trigger the state off later
128
+ endTimestamp = newDate.getTime();
129
+ if (res.status === 200) {
130
+ setLastSaved(newDate.getTime());
131
+ reportUpdate({
132
+ id,
133
+ entitySlug,
134
+ updatedAt: newDate.toISOString()
135
+ });
136
+ void getVersions();
137
+ } else {
138
+ return res.json();
139
+ }
140
+ }).then(json => {
141
+ if (versionsConfig?.drafts && versionsConfig?.drafts?.validate && json?.errors) {
142
+ if (Array.isArray(json.errors)) {
143
+ const [fieldErrors, nonFieldErrors] = json.errors.reduce(([fieldErrs, nonFieldErrs], err) => {
144
+ const newFieldErrs = [];
145
+ const newNonFieldErrs = [];
146
+ if (err?.message) {
147
+ newNonFieldErrs.push(err);
148
+ }
149
+ if (Array.isArray(err?.data)) {
150
+ err.data.forEach(dataError => {
151
+ if (dataError?.field) {
152
+ newFieldErrs.push(dataError);
153
+ } else {
154
+ newNonFieldErrs.push(dataError);
155
+ }
156
+ });
157
+ }
158
+ return [[...fieldErrs, ...newFieldErrs], [...nonFieldErrs, ...newNonFieldErrs]];
159
+ }, [[], []]);
160
+ dispatchFields({
161
+ type: 'ADD_SERVER_ERRORS',
162
+ errors: fieldErrors
135
163
  });
136
- setModified(false);
137
- getVersions();
138
- } else {
139
- return res.json();
140
- }
141
- }).then(json => {
142
- if (versionsConfig?.drafts && versionsConfig?.drafts?.validate && json?.errors) {
143
- if (Array.isArray(json.errors)) {
144
- const [fieldErrors, nonFieldErrors] = json.errors.reduce((t4, err) => {
145
- const [fieldErrs, nonFieldErrs] = t4;
146
- const newFieldErrs = [];
147
- const newNonFieldErrs = [];
148
- if (err?.message) {
149
- newNonFieldErrs.push(err);
150
- }
151
- if (Array.isArray(err?.data)) {
152
- err.data.forEach(dataError => {
153
- if (dataError?.field) {
154
- newFieldErrs.push(dataError);
155
- } else {
156
- newNonFieldErrs.push(dataError);
157
- }
158
- });
159
- }
160
- return [[...fieldErrs, ...newFieldErrs], [...nonFieldErrs, ...newNonFieldErrs]];
161
- }, [[], []]);
162
- dispatchFields({
163
- type: "ADD_SERVER_ERRORS",
164
- errors: fieldErrors
165
- });
166
- nonFieldErrors.forEach(err_0 => {
167
- toast.error(err_0.message || i18n.t("error:unknown"));
168
- });
169
- setSubmitted(true);
170
- setSaving(false);
171
- return;
172
- }
173
- }
174
- }).then(() => {
175
- if (endTimestamp - startTimestamp < minimumAnimationTime) {
176
- autosaveTimeout = setTimeout(() => {
177
- setSaving(false);
178
- }, minimumAnimationTime - (endTimestamp - startTimestamp));
179
- } else {
164
+ nonFieldErrors.forEach(err_0 => {
165
+ toast.error(err_0.message || i18n.t('error:unknown'));
166
+ });
167
+ setSubmitted(true);
180
168
  setSaving(false);
169
+ return;
181
170
  }
182
- });
183
- }
171
+ }
172
+ }).then(() => {
173
+ // If request was faster than minimum animation time, animate the difference
174
+ if (endTimestamp - startTimestamp < minimumAnimationTime) {
175
+ autosaveTimeout = setTimeout(() => {
176
+ setSaving(false);
177
+ }, minimumAnimationTime - (endTimestamp - startTimestamp));
178
+ } else {
179
+ setSaving(false);
180
+ }
181
+ });
184
182
  }
185
183
  }
186
184
  }
187
- };
188
- autosave();
189
- return () => {
190
- if (autosaveTimeout) {
191
- clearTimeout(autosaveTimeout);
192
- }
193
- if (abortController.signal) {
194
- ;
195
- try {
196
- abortController.abort("Autosave closed early.");
197
- } catch (t5) {
198
- const error = t5;
199
- }
200
- }
201
- setSaving(false);
202
- };
185
+ }
203
186
  };
204
- $[0] = modified;
205
- $[1] = collection;
206
- $[2] = id;
207
- $[3] = serverURL;
208
- $[4] = api;
209
- $[5] = globalDoc;
210
- $[6] = submitted;
211
- $[7] = versionsConfig;
212
- $[8] = i18n;
213
- $[9] = reportUpdate;
214
- $[10] = setModified;
215
- $[11] = getVersions;
216
- $[12] = dispatchFields;
217
- $[13] = setSubmitted;
218
- $[14] = t3;
219
- } else {
220
- t3 = $[14];
221
- }
222
- const t4 = versionsConfig?.drafts;
223
- let t5;
224
- if ($[15] !== api || $[16] !== collection || $[17] !== dispatchFields || $[18] !== getVersions || $[19] !== globalDoc || $[20] !== i18n || $[21] !== id || $[22] !== interval || $[23] !== modified || $[24] !== reportUpdate || $[25] !== serverURL || $[26] !== setSubmitted || $[27] !== setModified || $[28] !== t4 || $[29] !== debouncedFields || $[30] !== submitted) {
225
- t5 = [api, collection, dispatchFields, getVersions, globalDoc, i18n, id, interval, modified, reportUpdate, serverURL, setSubmitted, setModified, t4, debouncedFields, submitted];
226
- $[15] = api;
227
- $[16] = collection;
228
- $[17] = dispatchFields;
229
- $[18] = getVersions;
230
- $[19] = globalDoc;
231
- $[20] = i18n;
232
- $[21] = id;
233
- $[22] = interval;
234
- $[23] = modified;
235
- $[24] = reportUpdate;
236
- $[25] = serverURL;
237
- $[26] = setSubmitted;
238
- $[27] = setModified;
239
- $[28] = t4;
240
- $[29] = debouncedFields;
241
- $[30] = submitted;
242
- $[31] = t5;
243
- } else {
244
- t5 = $[31];
245
- }
246
- useEffect(t3, t5);
247
- let t6;
248
- let t7;
249
- if ($[32] !== versions || $[33] !== publishedDocUpdatedAt) {
250
- t6 = () => {
251
- if (versions?.docs?.[0]) {
252
- setLastSaved(new Date(versions.docs[0].updatedAt).getTime());
253
- } else {
254
- if (publishedDocUpdatedAt) {
255
- setLastSaved(new Date(publishedDocUpdatedAt).getTime());
187
+ void autosave();
188
+ return () => {
189
+ if (autosaveTimeout) {
190
+ clearTimeout(autosaveTimeout);
191
+ }
192
+ if (abortController.signal) {
193
+ try {
194
+ abortController.abort('Autosave closed early.');
195
+ } catch (error) {
196
+ // swallow error
256
197
  }
257
198
  }
199
+ setSaving(false);
258
200
  };
259
- t7 = [publishedDocUpdatedAt, versions];
260
- $[32] = versions;
261
- $[33] = publishedDocUpdatedAt;
262
- $[34] = t6;
263
- $[35] = t7;
264
- } else {
265
- t6 = $[34];
266
- t7 = $[35];
267
- }
268
- useEffect(t6, t7);
269
- let t8;
270
- if ($[36] !== saving || $[37] !== t) {
271
- t8 = saving && t("general:saving");
272
- $[36] = saving;
273
- $[37] = t;
274
- $[38] = t8;
275
- } else {
276
- t8 = $[38];
277
- }
278
- let t9;
279
- if ($[39] !== saving || $[40] !== lastSaved || $[41] !== i18n || $[42] !== t || $[43] !== t8) {
280
- t9 = _jsxs("div", {
281
- className: baseClass,
282
- children: [t8, !saving && Boolean(lastSaved) && _jsx(React.Fragment, {
283
- children: t("version:lastSavedAgo", {
284
- distance: formatTimeToNow({
285
- date: lastSaved,
286
- i18n
287
- })
201
+ }, [api, collection, dispatchFields, getVersions, globalDoc, i18n, id, interval, modified, reportUpdate, serverURL, setSubmitted, versionsConfig?.drafts, debouncedFields, submitted]);
202
+ useEffect(() => {
203
+ if (versions?.docs?.[0]) {
204
+ setLastSaved(new Date(versions.docs[0].updatedAt).getTime());
205
+ } else if (publishedDocUpdatedAt) {
206
+ setLastSaved(new Date(publishedDocUpdatedAt).getTime());
207
+ }
208
+ }, [publishedDocUpdatedAt, versions]);
209
+ return /*#__PURE__*/_jsxs("div", {
210
+ className: baseClass,
211
+ children: [saving && t('general:saving'), !saving && Boolean(lastSaved) && /*#__PURE__*/_jsx(React.Fragment, {
212
+ children: t('version:lastSavedAgo', {
213
+ distance: formatTimeToNow({
214
+ date: lastSaved,
215
+ i18n
288
216
  })
289
- })]
290
- });
291
- $[39] = saving;
292
- $[40] = lastSaved;
293
- $[41] = i18n;
294
- $[42] = t;
295
- $[43] = t8;
296
- $[44] = t9;
297
- } else {
298
- t9 = $[44];
299
- }
300
- return t9;
217
+ })
218
+ })]
219
+ });
301
220
  };
302
221
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","versionDefaults","React","useEffect","useRef","useState","toast","useAllFormFields","useForm","useFormModified","useFormSubmitted","useDebounce","useConfig","useDocumentEvents","useDocumentInfo","useLocale","useTranslation","formatTimeToNow","reduceFieldsToValuesWithValidation","baseClass","minimumAnimationTime","Autosave","t0","$","id","collection","global","globalDoc","publishedDocUpdatedAt","config","t1","routes","t2","serverURL","api","docConfig","getVersions","versions","reportUpdate","dispatchFields","setModified","setSubmitted","submitted","versionsConfig","fields","formModified","code","locale","i18n","t","interval","autosaveInterval","drafts","autosave","saving","setSaving","lastSaved","setLastSaved","debouncedFields","modified","fieldRef","modifiedRef","localeRef","debouncedRef","current","t3","abortController","AbortController","autosaveTimeout","undefined","startTimestamp","endTimestamp","url","method","entitySlug","slug","data","valid","_status","skipSubmission","validate","fetch","body","JSON","stringify","credentials","headers","language","signal","then","res","newDate","Date","getTime","status","updatedAt","toISOString","json","errors","Array","isArray","fieldErrors","nonFieldErrors","reduce","t4","err","fieldErrs","nonFieldErrs","newFieldErrs","newNonFieldErrs","message","push","forEach","dataError","field","type","err_0","error","clearTimeout","abort","t5","t6","t7","docs","t8","t9","_jsxs","className","children","Boolean","_jsx","Fragment","distance","date"],"sources":["../../../src/elements/Autosave/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport { versionDefaults } from 'payload/shared'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport {\n useAllFormFields,\n useForm,\n useFormModified,\n useFormSubmitted,\n} from '../../forms/Form/context.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatTimeToNow } from '../../utilities/formatDate.js'\nimport { reduceFieldsToValuesWithValidation } from '../../utilities/reduceFieldsToValuesWithValidation.js'\nimport './index.scss'\n\nconst baseClass = 'autosave'\n// The minimum time the saving state should be shown\nconst minimumAnimationTime = 1000\n\nexport type Props = {\n collection?: ClientCollectionConfig\n global?: ClientGlobalConfig\n id?: number | string\n publishedDocUpdatedAt: string\n}\n\nexport const Autosave: React.FC<Props> = ({\n id,\n collection,\n global: globalDoc,\n publishedDocUpdatedAt,\n}) => {\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { docConfig, getVersions, versions } = useDocumentInfo()\n const { reportUpdate } = useDocumentEvents()\n const { dispatchFields, setModified, setSubmitted } = useForm()\n const submitted = useFormSubmitted()\n const versionsConfig = docConfig?.versions\n\n const [fields] = useAllFormFields()\n const formModified = useFormModified()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n let interval = versionDefaults.autosaveInterval\n if (versionsConfig.drafts && versionsConfig.drafts.autosave)\n interval = versionsConfig.drafts.autosave.interval\n\n const [saving, setSaving] = useState(false)\n const [lastSaved, setLastSaved] = useState<number>()\n const debouncedFields = useDebounce(fields, interval)\n const modified = useDebounce(formModified, interval)\n const fieldRef = useRef(fields)\n const modifiedRef = useRef(modified)\n const localeRef = useRef(locale)\n const debouncedRef = useRef(debouncedFields)\n\n debouncedRef.current = debouncedFields\n\n // Store fields in ref so the autosave func\n // can always retrieve the most to date copies\n // after the timeout has executed\n fieldRef.current = fields\n\n // Store modified in ref so the autosave func\n // can bail out if modified becomes false while\n // timing out during autosave\n modifiedRef.current = modified\n\n // Store locale in ref so the autosave func\n // can always retrieve the most to date locale\n localeRef.current = locale\n\n // When debounced fields change, autosave\n useEffect(() => {\n const abortController = new AbortController()\n let autosaveTimeout = undefined\n // We need to log the time in order to figure out if we need to trigger the state off later\n let startTimestamp = undefined\n let endTimestamp = undefined\n\n const autosave = () => {\n if (modified) {\n startTimestamp = new Date().getTime()\n\n setSaving(true)\n\n let url: string\n let method: string\n let entitySlug: string\n\n if (collection && id) {\n entitySlug = collection.slug\n url = `${serverURL}${api}/${entitySlug}/${id}?draft=true&autosave=true&locale=${localeRef.current}`\n method = 'PATCH'\n }\n\n if (globalDoc) {\n entitySlug = globalDoc.slug\n url = `${serverURL}${api}/globals/${entitySlug}?draft=true&autosave=true&locale=${localeRef.current}`\n method = 'POST'\n }\n\n if (url) {\n if (modifiedRef.current) {\n const { data, valid } = {\n ...reduceFieldsToValuesWithValidation(fieldRef.current, true),\n }\n data._status = 'draft'\n const skipSubmission =\n submitted && !valid && versionsConfig?.drafts && versionsConfig?.drafts?.validate\n\n if (!skipSubmission) {\n void fetch(url, {\n body: JSON.stringify(data),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method,\n signal: abortController.signal,\n })\n .then((res) => {\n const newDate = new Date()\n // We need to log the time in order to figure out if we need to trigger the state off later\n endTimestamp = newDate.getTime()\n\n if (res.status === 200) {\n setLastSaved(newDate.getTime())\n\n reportUpdate({\n id,\n entitySlug,\n updatedAt: newDate.toISOString(),\n })\n setModified(false)\n void getVersions()\n } else {\n return res.json()\n }\n })\n .then((json) => {\n if (versionsConfig?.drafts && versionsConfig?.drafts?.validate && json?.errors) {\n if (Array.isArray(json.errors)) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs = []\n const newNonFieldErrs = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data)) {\n err.data.forEach((dataError) => {\n if (dataError?.field) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n toast.error(err.message || i18n.t('error:unknown'))\n })\n\n setSubmitted(true)\n setSaving(false)\n return\n }\n }\n })\n .then(() => {\n // If request was faster than minimum animation time, animate the difference\n if (endTimestamp - startTimestamp < minimumAnimationTime) {\n autosaveTimeout = setTimeout(\n () => {\n setSaving(false)\n },\n minimumAnimationTime - (endTimestamp - startTimestamp),\n )\n } else {\n setSaving(false)\n }\n })\n }\n }\n }\n }\n }\n\n void autosave()\n\n return () => {\n if (autosaveTimeout) clearTimeout(autosaveTimeout)\n if (abortController.signal) {\n try {\n abortController.abort('Autosave closed early.')\n } catch (error) {\n // swallow error\n }\n }\n setSaving(false)\n }\n }, [\n api,\n collection,\n dispatchFields,\n getVersions,\n globalDoc,\n i18n,\n id,\n interval,\n modified,\n reportUpdate,\n serverURL,\n setSubmitted,\n setModified,\n versionsConfig?.drafts,\n debouncedFields,\n submitted,\n ])\n\n useEffect(() => {\n if (versions?.docs?.[0]) {\n setLastSaved(new Date(versions.docs[0].updatedAt).getTime())\n } else if (publishedDocUpdatedAt) {\n setLastSaved(new Date(publishedDocUpdatedAt).getTime())\n }\n }, [publishedDocUpdatedAt, versions])\n\n return (\n <div className={baseClass}>\n {saving && t('general:saving')}\n {!saving && Boolean(lastSaved) && (\n <React.Fragment>\n {t('version:lastSavedAgo', {\n distance: formatTimeToNow({ date: lastSaved, i18n }),\n })}\n </React.Fragment>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["versionDefaults","React","useEffect","useRef","useState","toast","useAllFormFields","useForm","useFormModified","useFormSubmitted","useDebounce","useConfig","useDocumentEvents","useDocumentInfo","useLocale","useTranslation","formatTimeToNow","reduceFieldsToValuesWithValidation","baseClass","minimumAnimationTime","Autosave","id","collection","global","globalDoc","publishedDocUpdatedAt","config","routes","api","serverURL","docConfig","getVersions","versions","reportUpdate","dispatchFields","setSubmitted","submitted","versionsConfig","fields","formModified","code","locale","i18n","t","interval","autosaveInterval","drafts","autosave","saving","setSaving","lastSaved","setLastSaved","debouncedFields","modified","fieldRef","modifiedRef","localeRef","debouncedRef","current","abortController","AbortController","autosaveTimeout","undefined","startTimestamp","endTimestamp","Date","getTime","url","method","entitySlug","slug","data","valid","_status","skipSubmission","validate","fetch","body","JSON","stringify","credentials","headers","language","signal","then","res","newDate","status","updatedAt","toISOString","json","errors","Array","isArray","fieldErrors","nonFieldErrors","reduce","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","message","push","forEach","dataError","field","type","error","setTimeout","clearTimeout","abort","docs","_jsxs","className","Boolean","_jsx","Fragment","distance","date"],"sources":["../../../src/elements/Autosave/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport { versionDefaults } from 'payload/shared'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport {\n useAllFormFields,\n useForm,\n useFormModified,\n useFormSubmitted,\n} from '../../forms/Form/context.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatTimeToNow } from '../../utilities/formatDate.js'\nimport { reduceFieldsToValuesWithValidation } from '../../utilities/reduceFieldsToValuesWithValidation.js'\nimport './index.scss'\n\nconst baseClass = 'autosave'\n// The minimum time the saving state should be shown\nconst minimumAnimationTime = 1000\n\nexport type Props = {\n collection?: ClientCollectionConfig\n global?: ClientGlobalConfig\n id?: number | string\n publishedDocUpdatedAt: string\n}\n\nexport const Autosave: React.FC<Props> = ({\n id,\n collection,\n global: globalDoc,\n publishedDocUpdatedAt,\n}) => {\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { docConfig, getVersions, versions } = useDocumentInfo()\n const { reportUpdate } = useDocumentEvents()\n const { dispatchFields, setSubmitted } = useForm()\n const submitted = useFormSubmitted()\n const versionsConfig = docConfig?.versions\n\n const [fields] = useAllFormFields()\n const formModified = useFormModified()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n let interval = versionDefaults.autosaveInterval\n if (versionsConfig.drafts && versionsConfig.drafts.autosave) {\n interval = versionsConfig.drafts.autosave.interval\n }\n\n const [saving, setSaving] = useState(false)\n const [lastSaved, setLastSaved] = useState<number>()\n const debouncedFields = useDebounce(fields, interval)\n const modified = useDebounce(formModified, interval)\n const fieldRef = useRef(fields)\n const modifiedRef = useRef(modified)\n const localeRef = useRef(locale)\n const debouncedRef = useRef(debouncedFields)\n\n debouncedRef.current = debouncedFields\n\n // Store fields in ref so the autosave func\n // can always retrieve the most to date copies\n // after the timeout has executed\n fieldRef.current = fields\n\n // Store modified in ref so the autosave func\n // can bail out if modified becomes false while\n // timing out during autosave\n modifiedRef.current = modified\n\n // Store locale in ref so the autosave func\n // can always retrieve the most to date locale\n localeRef.current = locale\n\n // When debounced fields change, autosave\n useEffect(() => {\n const abortController = new AbortController()\n let autosaveTimeout = undefined\n // We need to log the time in order to figure out if we need to trigger the state off later\n let startTimestamp = undefined\n let endTimestamp = undefined\n\n const autosave = () => {\n if (modified) {\n startTimestamp = new Date().getTime()\n\n setSaving(true)\n\n let url: string\n let method: string\n let entitySlug: string\n\n if (collection && id) {\n entitySlug = collection.slug\n url = `${serverURL}${api}/${entitySlug}/${id}?draft=true&autosave=true&locale=${localeRef.current}`\n method = 'PATCH'\n }\n\n if (globalDoc) {\n entitySlug = globalDoc.slug\n url = `${serverURL}${api}/globals/${entitySlug}?draft=true&autosave=true&locale=${localeRef.current}`\n method = 'POST'\n }\n\n if (url) {\n if (modifiedRef.current) {\n const { data, valid } = {\n ...reduceFieldsToValuesWithValidation(fieldRef.current, true),\n }\n data._status = 'draft'\n const skipSubmission =\n submitted && !valid && versionsConfig?.drafts && versionsConfig?.drafts?.validate\n\n if (!skipSubmission) {\n void fetch(url, {\n body: JSON.stringify(data),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method,\n signal: abortController.signal,\n })\n .then((res) => {\n const newDate = new Date()\n // We need to log the time in order to figure out if we need to trigger the state off later\n endTimestamp = newDate.getTime()\n\n if (res.status === 200) {\n setLastSaved(newDate.getTime())\n\n reportUpdate({\n id,\n entitySlug,\n updatedAt: newDate.toISOString(),\n })\n\n void getVersions()\n } else {\n return res.json()\n }\n })\n .then((json) => {\n if (versionsConfig?.drafts && versionsConfig?.drafts?.validate && json?.errors) {\n if (Array.isArray(json.errors)) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs = []\n const newNonFieldErrs = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data)) {\n err.data.forEach((dataError) => {\n if (dataError?.field) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n toast.error(err.message || i18n.t('error:unknown'))\n })\n\n setSubmitted(true)\n setSaving(false)\n return\n }\n }\n })\n .then(() => {\n // If request was faster than minimum animation time, animate the difference\n if (endTimestamp - startTimestamp < minimumAnimationTime) {\n autosaveTimeout = setTimeout(\n () => {\n setSaving(false)\n },\n minimumAnimationTime - (endTimestamp - startTimestamp),\n )\n } else {\n setSaving(false)\n }\n })\n }\n }\n }\n }\n }\n\n void autosave()\n\n return () => {\n if (autosaveTimeout) {\n clearTimeout(autosaveTimeout)\n }\n if (abortController.signal) {\n try {\n abortController.abort('Autosave closed early.')\n } catch (error) {\n // swallow error\n }\n }\n setSaving(false)\n }\n }, [\n api,\n collection,\n dispatchFields,\n getVersions,\n globalDoc,\n i18n,\n id,\n interval,\n modified,\n reportUpdate,\n serverURL,\n setSubmitted,\n versionsConfig?.drafts,\n debouncedFields,\n submitted,\n ])\n\n useEffect(() => {\n if (versions?.docs?.[0]) {\n setLastSaved(new Date(versions.docs[0].updatedAt).getTime())\n } else if (publishedDocUpdatedAt) {\n setLastSaved(new Date(publishedDocUpdatedAt).getTime())\n }\n }, [publishedDocUpdatedAt, versions])\n\n return (\n <div className={baseClass}>\n {saving && t('general:saving')}\n {!saving && Boolean(lastSaved) && (\n <React.Fragment>\n {t('version:lastSavedAgo', {\n distance: formatTimeToNow({ date: lastSaved, i18n }),\n })}\n </React.Fragment>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Banner/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAMrB,KAAK,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;AAE1C,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;CAChD,CAAC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiClC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Banner/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAMrB,KAAK,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;AAE1C,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;CAChD,CAAC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAqClC,CAAA"}
@@ -17,8 +17,12 @@ export const Banner = ({
17
17
  }) => {
18
18
  const classes = [baseClass, `${baseClass}--type-${type}`, className && className, to && `${baseClass}--has-link`, (to || onClick) && `${baseClass}--has-action`, icon && `${baseClass}--has-icon`, icon && `${baseClass}--align-icon-${alignIcon}`].filter(Boolean).join(' ');
19
19
  let RenderedType = 'div';
20
- if (onClick && !to) RenderedType = 'button';
21
- if (to) RenderedType = Link;
20
+ if (onClick && !to) {
21
+ RenderedType = 'button';
22
+ }
23
+ if (to) {
24
+ RenderedType = Link;
25
+ }
22
26
  return /*#__PURE__*/_jsxs(RenderedType, {
23
27
  className: classes,
24
28
  href: to || null,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["LinkImport","React","Link","default","baseClass","Banner","type","alignIcon","children","className","icon","onClick","to","classes","filter","Boolean","join","RenderedType","_jsxs","href","_jsx","Fragment"],"sources":["../../../src/elements/Banner/index.tsx"],"sourcesContent":["'use client'\nimport LinkImport from 'next/link.js' // TODO: abstract this out to support all routers\nimport type { MouseEvent } from 'react'\n\nimport React from 'react'\n\nimport './index.scss'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nconst baseClass = 'banner'\n\ntype onClick = (event: MouseEvent) => void\n\nexport type Props = Readonly<{\n alignIcon?: 'left' | 'right'\n children?: React.ReactNode\n className?: string\n icon?: React.ReactNode\n onClick?: onClick\n to?: string\n type?: 'default' | 'error' | 'info' | 'success'\n}>\n\nexport type RenderedTypeProps = {\n children?: React.ReactNode\n className?: string\n onClick?: onClick\n to: string\n}\n\nexport const Banner: React.FC<Props> = ({\n type = 'default',\n alignIcon = 'right',\n children,\n className,\n icon,\n onClick,\n to,\n}) => {\n const classes = [\n baseClass,\n `${baseClass}--type-${type}`,\n className && className,\n to && `${baseClass}--has-link`,\n (to || onClick) && `${baseClass}--has-action`,\n icon && `${baseClass}--has-icon`,\n icon && `${baseClass}--align-icon-${alignIcon}`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let RenderedType: React.ComponentType<RenderedTypeProps> | React.ElementType = 'div'\n\n if (onClick && !to) RenderedType = 'button'\n if (to) RenderedType = Link\n\n return (\n <RenderedType className={classes} href={to || null} onClick={onClick}>\n {icon && alignIcon === 'left' && <React.Fragment>{icon}</React.Fragment>}\n <span className={`${baseClass}__content`}>{children}</span>\n {icon && alignIcon === 'right' && <React.Fragment>{icon}</React.Fragment>}\n </RenderedType>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,UAAA,MAAgB,eAAc,CAAC;AAGtC,OAAOC,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,IAAA,GAAQF,UAAA,CAAWG,OAAO,IAAIH,UAAA;AAEpC,MAAMI,SAAA,GAAY;AAqBlB,OAAO,MAAMC,MAAA,GAA0BA,CAAC;EACtCC,IAAA,GAAO,SAAS;EAChBC,SAAA,GAAY,OAAO;EACnBC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJC,OAAO;EACPC;AAAE,CACH;EACC,MAAMC,OAAA,GAAU,CACdT,SAAA,EACA,GAAGA,SAAA,UAAmBE,IAAA,EAAM,EAC5BG,SAAA,IAAaA,SAAA,EACbG,EAAA,IAAM,GAAGR,SAAA,YAAqB,EAC7B,CAAAQ,EAAA,IAAMD,OAAM,KAAM,GAAGP,SAAA,cAAuB,EAC7CM,IAAA,IAAQ,GAAGN,SAAA,YAAqB,EAChCM,IAAA,IAAQ,GAAGN,SAAA,gBAAyBG,SAAA,EAAW,CAChD,CACEO,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;EAER,IAAIC,YAAA,GAA2E;EAE/E,IAAIN,OAAA,IAAW,CAACC,EAAA,EAAIK,YAAA,GAAe;EACnC,IAAIL,EAAA,EAAIK,YAAA,GAAef,IAAA;EAEvB,oBACEgB,KAAA,CAACD,YAAA;IAAaR,SAAA,EAAWI,OAAA;IAASM,IAAA,EAAMP,EAAA,IAAM;IAAMD,OAAA,EAASA,OAAA;eAC1DD,IAAA,IAAQH,SAAA,KAAc,uBAAUa,IAAA,CAACnB,KAAA,CAAMoB,QAAQ;gBAAEX;qBAClDU,IAAA,CAAC;MAAKX,SAAA,EAAW,GAAGL,SAAA,WAAoB;gBAAGI;QAC1CE,IAAA,IAAQH,SAAA,KAAc,wBAAWa,IAAA,CAACnB,KAAA,CAAMoB,QAAQ;gBAAEX;;;AAGzD","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["LinkImport","React","Link","default","baseClass","Banner","type","alignIcon","children","className","icon","onClick","to","classes","filter","Boolean","join","RenderedType","_jsxs","href","_jsx","Fragment"],"sources":["../../../src/elements/Banner/index.tsx"],"sourcesContent":["'use client'\nimport LinkImport from 'next/link.js' // TODO: abstract this out to support all routers\nimport type { MouseEvent } from 'react'\n\nimport React from 'react'\n\nimport './index.scss'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nconst baseClass = 'banner'\n\ntype onClick = (event: MouseEvent) => void\n\nexport type Props = Readonly<{\n alignIcon?: 'left' | 'right'\n children?: React.ReactNode\n className?: string\n icon?: React.ReactNode\n onClick?: onClick\n to?: string\n type?: 'default' | 'error' | 'info' | 'success'\n}>\n\nexport type RenderedTypeProps = {\n children?: React.ReactNode\n className?: string\n onClick?: onClick\n to: string\n}\n\nexport const Banner: React.FC<Props> = ({\n type = 'default',\n alignIcon = 'right',\n children,\n className,\n icon,\n onClick,\n to,\n}) => {\n const classes = [\n baseClass,\n `${baseClass}--type-${type}`,\n className && className,\n to && `${baseClass}--has-link`,\n (to || onClick) && `${baseClass}--has-action`,\n icon && `${baseClass}--has-icon`,\n icon && `${baseClass}--align-icon-${alignIcon}`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let RenderedType: React.ComponentType<RenderedTypeProps> | React.ElementType = 'div'\n\n if (onClick && !to) {\n RenderedType = 'button'\n }\n if (to) {\n RenderedType = Link\n }\n\n return (\n <RenderedType className={classes} href={to || null} onClick={onClick}>\n {icon && alignIcon === 'left' && <React.Fragment>{icon}</React.Fragment>}\n <span className={`${baseClass}__content`}>{children}</span>\n {icon && alignIcon === 'right' && <React.Fragment>{icon}</React.Fragment>}\n </RenderedType>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,UAAA,MAAgB,eAAc,CAAC;AAGtC,OAAOC,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,IAAA,GAAQF,UAAA,CAAWG,OAAO,IAAIH,UAAA;AAEpC,MAAMI,SAAA,GAAY;AAqBlB,OAAO,MAAMC,MAAA,GAA0BA,CAAC;EACtCC,IAAA,GAAO,SAAS;EAChBC,SAAA,GAAY,OAAO;EACnBC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJC,OAAO;EACPC;AAAE,CACH;EACC,MAAMC,OAAA,GAAU,CACdT,SAAA,EACA,GAAGA,SAAA,UAAmBE,IAAA,EAAM,EAC5BG,SAAA,IAAaA,SAAA,EACbG,EAAA,IAAM,GAAGR,SAAA,YAAqB,EAC7B,CAAAQ,EAAA,IAAMD,OAAM,KAAM,GAAGP,SAAA,cAAuB,EAC7CM,IAAA,IAAQ,GAAGN,SAAA,YAAqB,EAChCM,IAAA,IAAQ,GAAGN,SAAA,gBAAyBG,SAAA,EAAW,CAChD,CACEO,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;EAER,IAAIC,YAAA,GAA2E;EAE/E,IAAIN,OAAA,IAAW,CAACC,EAAA,EAAI;IAClBK,YAAA,GAAe;EACjB;EACA,IAAIL,EAAA,EAAI;IACNK,YAAA,GAAef,IAAA;EACjB;EAEA,oBACEgB,KAAA,CAACD,YAAA;IAAaR,SAAA,EAAWI,OAAA;IAASM,IAAA,EAAMP,EAAA,IAAM;IAAMD,OAAA,EAASA,OAAA;eAC1DD,IAAA,IAAQH,SAAA,KAAc,uBAAUa,IAAA,CAACnB,KAAA,CAAMoB,QAAQ;gBAAEX;qBAClDU,IAAA,CAAC;MAAKX,SAAA,EAAW,GAAGL,SAAA,WAAoB;gBAAGI;QAC1CE,IAAA,IAAQH,SAAA,KAAc,wBAAWa,IAAA,CAACnB,KAAA,CAAMoB,QAAQ;gBAAEX;;;AAGzD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/ActionsBar/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,cAAc,CAAA;AAIrB,wBAAgB,UAAU,sBA4CzB;AAED,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AACD,wBAAgB,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,YAAY,qBA4BlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/ActionsBar/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,cAAc,CAAA;AAIrB,wBAAgB,UAAU,sBAkDzB;AAED,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AACD,wBAAgB,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,YAAY,qBA4BlD"}
@@ -148,7 +148,7 @@ export function Actions(t0) {
148
148
  }
149
149
  const t3 = t2.join(" ");
150
150
  let t4;
151
- if ($[7] !== collectionConfig || $[8] !== hasSavePermission || $[9] !== saveAllDocs || $[10] !== t || $[11] !== hasPublishPermission || $[12] !== t3) {
151
+ if ($[7] !== collectionConfig?.versions?.drafts || $[8] !== hasSavePermission || $[9] !== saveAllDocs || $[10] !== t || $[11] !== hasPublishPermission || $[12] !== t3) {
152
152
  t4 = _jsxs("div", {
153
153
  className: t3,
154
154
  children: [collectionConfig?.versions?.drafts && hasSavePermission ? _jsx(Button, {
@@ -171,7 +171,7 @@ export function Actions(t0) {
171
171
  children: t("general:save")
172
172
  }) : null]
173
173
  });
174
- $[7] = collectionConfig;
174
+ $[7] = collectionConfig?.versions?.drafts;
175
175
  $[8] = hasSavePermission;
176
176
  $[9] = saveAllDocs;
177
177
  $[10] = t;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","ChevronIcon","useConfig","useTranslation","Button","useFormsManager","baseClass","ActionsBar","$","activeIndex","forms","setActiveIndex","t","t0","t1","length","t2","nextIndex","t3","nextIndex_0","_jsxs","className","children","_jsx","buttonStyle","onClick","type","direction","Actions","config","collectionSlug","hasPublishPermission","hasSavePermission","saveAllDocs","collections","slug","find","collectionConfig","filter","Boolean","join","t4","versions","drafts","overrides","_status"],"sources":["../../../../src/elements/BulkUpload/ActionsBar/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport './index.scss'\n\nconst baseClass = 'bulk-upload--actions-bar'\n\nexport function ActionsBar() {\n const { activeIndex, forms, setActiveIndex } = useFormsManager()\n const { t } = useTranslation()\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__navigation`}>\n <p className={`${baseClass}__locationText`}>\n <strong>{activeIndex + 1}</strong>\n {' of '}\n <strong>{forms.length}</strong>\n </p>\n\n <div className={`${baseClass}__controls`}>\n <Button\n aria-label={t('general:previous')}\n buttonStyle=\"none\"\n onClick={() => {\n const nextIndex = activeIndex - 1\n if (nextIndex < 0) setActiveIndex(forms.length - 1)\n else setActiveIndex(nextIndex)\n }}\n type=\"button\"\n >\n <ChevronIcon direction=\"left\" />\n </Button>\n <Button\n aria-label={t('general:next')}\n buttonStyle=\"none\"\n onClick={() => {\n const nextIndex = activeIndex + 1\n if (nextIndex === forms.length) setActiveIndex(0)\n else setActiveIndex(nextIndex)\n }}\n type=\"button\"\n >\n <ChevronIcon direction=\"right\" />\n </Button>\n </div>\n </div>\n\n <Actions className={`${baseClass}__saveButtons`} />\n </div>\n )\n}\n\ntype ActionsProps = {\n readonly className?: string\n}\nexport function Actions({ className }: ActionsProps) {\n const { config } = useConfig()\n const { t } = useTranslation()\n const { collectionSlug, hasPublishPermission, hasSavePermission, saveAllDocs } = useFormsManager()\n\n const collectionConfig = config.collections.find((c) => c.slug === collectionSlug)\n\n return (\n <div className={[`${baseClass}__buttons`, className].filter(Boolean).join(' ')}>\n {collectionConfig?.versions?.drafts && hasSavePermission ? (\n <Button\n buttonStyle=\"secondary\"\n onClick={() => void saveAllDocs({ overrides: { _status: 'draft' } })}\n >\n {t('version:saveDraft')}\n </Button>\n ) : null}\n {collectionConfig?.versions?.drafts && hasPublishPermission ? (\n <Button onClick={() => void saveAllDocs({ overrides: { _status: 'published' } })}>\n {t('version:publish')}\n </Button>\n ) : null}\n\n {!collectionConfig?.versions?.drafts && hasSavePermission ? (\n <Button onClick={() => void saveAllDocs()}>{t('general:save')}</Button>\n ) : null}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","ChevronIcon","useConfig","useTranslation","Button","useFormsManager","baseClass","ActionsBar","$","activeIndex","forms","setActiveIndex","t","t0","t1","length","t2","nextIndex","t3","nextIndex_0","_jsxs","className","children","_jsx","buttonStyle","onClick","type","direction","Actions","config","collectionSlug","hasPublishPermission","hasSavePermission","saveAllDocs","collections","slug","find","collectionConfig","filter","Boolean","join","t4","versions","drafts","overrides","_status"],"sources":["../../../../src/elements/BulkUpload/ActionsBar/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport './index.scss'\n\nconst baseClass = 'bulk-upload--actions-bar'\n\nexport function ActionsBar() {\n const { activeIndex, forms, setActiveIndex } = useFormsManager()\n const { t } = useTranslation()\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__navigation`}>\n <p className={`${baseClass}__locationText`}>\n <strong>{activeIndex + 1}</strong>\n {' of '}\n <strong>{forms.length}</strong>\n </p>\n\n <div className={`${baseClass}__controls`}>\n <Button\n aria-label={t('general:previous')}\n buttonStyle=\"none\"\n onClick={() => {\n const nextIndex = activeIndex - 1\n if (nextIndex < 0) {\n setActiveIndex(forms.length - 1)\n } else {\n setActiveIndex(nextIndex)\n }\n }}\n type=\"button\"\n >\n <ChevronIcon direction=\"left\" />\n </Button>\n <Button\n aria-label={t('general:next')}\n buttonStyle=\"none\"\n onClick={() => {\n const nextIndex = activeIndex + 1\n if (nextIndex === forms.length) {\n setActiveIndex(0)\n } else {\n setActiveIndex(nextIndex)\n }\n }}\n type=\"button\"\n >\n <ChevronIcon direction=\"right\" />\n </Button>\n </div>\n </div>\n\n <Actions className={`${baseClass}__saveButtons`} />\n </div>\n )\n}\n\ntype ActionsProps = {\n readonly className?: string\n}\nexport function Actions({ className }: ActionsProps) {\n const { config } = useConfig()\n const { t } = useTranslation()\n const { collectionSlug, hasPublishPermission, hasSavePermission, saveAllDocs } = useFormsManager()\n\n const collectionConfig = config.collections.find((c) => c.slug === collectionSlug)\n\n return (\n <div className={[`${baseClass}__buttons`, className].filter(Boolean).join(' ')}>\n {collectionConfig?.versions?.drafts && hasSavePermission ? (\n <Button\n buttonStyle=\"secondary\"\n onClick={() => void saveAllDocs({ overrides: { _status: 'draft' } })}\n >\n {t('version:saveDraft')}\n </Button>\n ) : null}\n {collectionConfig?.versions?.drafts && hasPublishPermission ? (\n <Button onClick={() => void saveAllDocs({ overrides: { _status: 'published' } })}>\n {t('version:publish')}\n </Button>\n ) : null}\n\n {!collectionConfig?.versions?.drafts && hasSavePermission ? (\n <Button onClick={() => void saveAllDocs()}>{t('general:save')}</Button>\n ) : null}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}