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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (919) hide show
  1. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  2. package/dist/elements/AddNewRelation/index.js +4 -4
  3. package/dist/elements/AddNewRelation/index.js.map +1 -1
  4. package/dist/elements/AppHeader/index.d.ts +6 -1
  5. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  6. package/dist/elements/AppHeader/index.js +20 -13
  7. package/dist/elements/AppHeader/index.js.map +1 -1
  8. package/dist/elements/AppHeader/index.scss +0 -1
  9. package/dist/elements/Autosave/index.d.ts.map +1 -1
  10. package/dist/elements/Autosave/index.js +17 -19
  11. package/dist/elements/Autosave/index.js.map +1 -1
  12. package/dist/elements/Banner/index.d.ts.map +1 -1
  13. package/dist/elements/Banner/index.js.map +1 -1
  14. package/dist/elements/BulkUpload/ActionsBar/index.js +20 -26
  15. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  16. package/dist/elements/BulkUpload/ActionsBar/index.scss +4 -0
  17. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -1
  18. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/AddFilesView/index.js +2 -0
  20. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  22. package/dist/elements/BulkUpload/AddingFilesView/index.js +32 -23
  23. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  25. package/dist/elements/BulkUpload/EditForm/index.js +42 -40
  26. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  27. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/FileSidebar/index.js +34 -25
  29. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/FileSidebar/index.scss +40 -2
  31. package/dist/elements/BulkUpload/FormsManager/index.d.ts +4 -2
  32. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  33. package/dist/elements/BulkUpload/FormsManager/index.js +95 -41
  34. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  35. package/dist/elements/BulkUpload/FormsManager/reducer.js +14 -14
  36. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  37. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  38. package/dist/elements/BulkUpload/index.js +45 -62
  39. package/dist/elements/BulkUpload/index.js.map +1 -1
  40. package/dist/elements/Button/index.d.ts.map +1 -1
  41. package/dist/elements/Button/index.js +14 -4
  42. package/dist/elements/Button/index.js.map +1 -1
  43. package/dist/elements/Button/index.scss +4 -0
  44. package/dist/elements/Button/types.d.ts +4 -1
  45. package/dist/elements/Button/types.d.ts.map +1 -1
  46. package/dist/elements/Button/types.js.map +1 -1
  47. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  48. package/dist/elements/CodeEditor/CodeEditor.js +32 -27
  49. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  50. package/dist/elements/CodeEditor/types.d.ts +1 -0
  51. package/dist/elements/CodeEditor/types.d.ts.map +1 -1
  52. package/dist/elements/CodeEditor/types.js.map +1 -1
  53. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  54. package/dist/elements/ColumnSelector/index.js +11 -19
  55. package/dist/elements/ColumnSelector/index.js.map +1 -1
  56. package/dist/elements/DatePicker/DatePicker.d.ts +1 -1
  57. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  58. package/dist/elements/DatePicker/DatePicker.js +1 -1
  59. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  60. package/dist/elements/DatePicker/library.scss +859 -0
  61. package/dist/elements/DeleteDocument/index.d.ts +2 -2
  62. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  63. package/dist/elements/DeleteDocument/index.js.map +1 -1
  64. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  65. package/dist/elements/DeleteMany/index.js +17 -6
  66. package/dist/elements/DeleteMany/index.js.map +1 -1
  67. package/dist/elements/DocumentControls/index.d.ts +14 -8
  68. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  69. package/dist/elements/DocumentControls/index.js +72 -51
  70. package/dist/elements/DocumentControls/index.js.map +1 -1
  71. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  72. package/dist/elements/DocumentDrawer/DrawerContent.js +106 -239
  73. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  74. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +5 -0
  75. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -0
  76. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +82 -0
  77. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -0
  78. package/dist/elements/DocumentDrawer/DrawerHeader/index.scss +73 -0
  79. package/dist/elements/DocumentDrawer/Provider.d.ts +26 -0
  80. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -0
  81. package/dist/elements/DocumentDrawer/Provider.js +20 -0
  82. package/dist/elements/DocumentDrawer/Provider.js.map +1 -0
  83. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  84. package/dist/elements/DocumentDrawer/index.js +41 -37
  85. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  86. package/dist/elements/DocumentDrawer/index.scss +0 -50
  87. package/dist/elements/DocumentDrawer/types.d.ts +3 -5
  88. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  89. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  90. package/dist/elements/DocumentFields/index.d.ts +5 -5
  91. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  92. package/dist/elements/DocumentFields/index.js +113 -49
  93. package/dist/elements/DocumentFields/index.js.map +1 -1
  94. package/dist/elements/DocumentLocked/index.d.ts +12 -0
  95. package/dist/elements/DocumentLocked/index.d.ts.map +1 -0
  96. package/dist/elements/DocumentLocked/index.js +155 -0
  97. package/dist/elements/DocumentLocked/index.js.map +1 -0
  98. package/dist/elements/DocumentLocked/index.scss +40 -0
  99. package/dist/elements/DocumentTakeOver/index.d.ts +8 -0
  100. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -0
  101. package/dist/elements/DocumentTakeOver/index.js +101 -0
  102. package/dist/elements/DocumentTakeOver/index.js.map +1 -0
  103. package/dist/elements/DocumentTakeOver/index.scss +39 -0
  104. package/dist/elements/Drawer/index.d.ts +5 -0
  105. package/dist/elements/Drawer/index.d.ts.map +1 -1
  106. package/dist/elements/Drawer/index.js +53 -30
  107. package/dist/elements/Drawer/index.js.map +1 -1
  108. package/dist/elements/DuplicateDocument/index.d.ts +2 -2
  109. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  110. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  111. package/dist/elements/EditMany/index.d.ts +1 -2
  112. package/dist/elements/EditMany/index.d.ts.map +1 -1
  113. package/dist/elements/EditMany/index.js +135 -207
  114. package/dist/elements/EditMany/index.js.map +1 -1
  115. package/dist/elements/EmailAndUsername/index.d.ts +16 -0
  116. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -0
  117. package/dist/elements/EmailAndUsername/index.js +42 -0
  118. package/dist/elements/EmailAndUsername/index.js.map +1 -0
  119. package/dist/elements/FieldSelect/index.d.ts +5 -5
  120. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  121. package/dist/elements/FieldSelect/index.js +36 -45
  122. package/dist/elements/FieldSelect/index.js.map +1 -1
  123. package/dist/elements/HydrateAuthProvider/index.d.ts +2 -2
  124. package/dist/elements/HydrateAuthProvider/index.d.ts.map +1 -1
  125. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  126. package/dist/elements/LeaveWithoutSaving/index.d.ts +4 -0
  127. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -0
  128. package/dist/elements/LeaveWithoutSaving/index.js +167 -0
  129. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -0
  130. package/dist/elements/LeaveWithoutSaving/index.scss +39 -0
  131. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +9 -0
  132. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -0
  133. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +136 -0
  134. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -0
  135. package/dist/elements/ListControls/index.d.ts +6 -2
  136. package/dist/elements/ListControls/index.d.ts.map +1 -1
  137. package/dist/elements/ListControls/index.js +18 -21
  138. package/dist/elements/ListControls/index.js.map +1 -1
  139. package/dist/elements/ListDrawer/DrawerContent.d.ts +0 -2
  140. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  141. package/dist/elements/ListDrawer/DrawerContent.js +123 -611
  142. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  143. package/dist/elements/ListDrawer/Provider.d.ts +27 -0
  144. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -0
  145. package/dist/elements/ListDrawer/Provider.js +23 -0
  146. package/dist/elements/ListDrawer/Provider.js.map +1 -0
  147. package/dist/elements/ListDrawer/index.d.ts +0 -1
  148. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  149. package/dist/elements/ListDrawer/index.js +2 -1
  150. package/dist/elements/ListDrawer/index.js.map +1 -1
  151. package/dist/elements/ListDrawer/types.d.ts +6 -12
  152. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  153. package/dist/elements/ListDrawer/types.js.map +1 -1
  154. package/dist/elements/Locked/index.d.ts.map +1 -1
  155. package/dist/elements/Locked/index.js +2 -5
  156. package/dist/elements/Locked/index.js.map +1 -1
  157. package/dist/elements/Logout/index.d.ts.map +1 -1
  158. package/dist/elements/Logout/index.js +25 -66
  159. package/dist/elements/Logout/index.js.map +1 -1
  160. package/dist/elements/Nav/NavToggler/index.d.ts.map +1 -1
  161. package/dist/elements/Nav/NavToggler/index.js +1 -1
  162. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  163. package/dist/elements/NavGroup/index.d.ts +1 -0
  164. package/dist/elements/NavGroup/index.d.ts.map +1 -1
  165. package/dist/elements/NavGroup/index.js +69 -90
  166. package/dist/elements/NavGroup/index.js.map +1 -1
  167. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  168. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  169. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  170. package/dist/elements/PreviewButton/index.d.ts +1 -6
  171. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  172. package/dist/elements/PreviewButton/index.js +1 -12
  173. package/dist/elements/PreviewButton/index.js.map +1 -1
  174. package/dist/elements/PreviewButton/usePreviewURL.js +2 -2
  175. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  176. package/dist/elements/PublishButton/index.d.ts +1 -7
  177. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  178. package/dist/elements/PublishButton/index.js +58 -48
  179. package/dist/elements/PublishButton/index.js.map +1 -1
  180. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  181. package/dist/elements/PublishMany/index.js +17 -6
  182. package/dist/elements/PublishMany/index.js.map +1 -1
  183. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  184. package/dist/elements/ReactSelect/index.js +1 -0
  185. package/dist/elements/ReactSelect/index.js.map +1 -1
  186. package/dist/elements/ReactSelect/index.scss +9 -1
  187. package/dist/elements/RelationshipTable/Pagination.d.ts +3 -0
  188. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -0
  189. package/dist/elements/RelationshipTable/Pagination.js +54 -0
  190. package/dist/elements/RelationshipTable/Pagination.js.map +1 -0
  191. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +1 -2
  192. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -1
  193. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +34 -41
  194. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  195. package/dist/elements/RelationshipTable/index.d.ts +4 -2
  196. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  197. package/dist/elements/RelationshipTable/index.js +139 -378
  198. package/dist/elements/RelationshipTable/index.js.map +1 -1
  199. package/dist/elements/RenderComponent/index.d.ts +7 -0
  200. package/dist/elements/RenderComponent/index.d.ts.map +1 -0
  201. package/dist/elements/RenderComponent/index.js +23 -0
  202. package/dist/elements/RenderComponent/index.js.map +1 -0
  203. package/dist/elements/RenderCustomComponent/index.d.ts +18 -0
  204. package/dist/elements/RenderCustomComponent/index.d.ts.map +1 -0
  205. package/dist/elements/RenderCustomComponent/index.js +17 -0
  206. package/dist/elements/RenderCustomComponent/index.js.map +1 -0
  207. package/dist/elements/RenderIfInViewport/index.d.ts +7 -0
  208. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -0
  209. package/dist/elements/RenderIfInViewport/index.js +63 -0
  210. package/dist/elements/RenderIfInViewport/index.js.map +1 -0
  211. package/dist/elements/RenderServerComponent/index.d.ts +13 -0
  212. package/dist/elements/RenderServerComponent/index.d.ts.map +1 -0
  213. package/dist/elements/RenderServerComponent/index.js +61 -0
  214. package/dist/elements/RenderServerComponent/index.js.map +1 -0
  215. package/dist/elements/SaveButton/index.d.ts +1 -7
  216. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  217. package/dist/elements/SaveButton/index.js +1 -12
  218. package/dist/elements/SaveButton/index.js.map +1 -1
  219. package/dist/elements/SaveDraftButton/index.d.ts +1 -7
  220. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  221. package/dist/elements/SaveDraftButton/index.js +5 -14
  222. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  223. package/dist/elements/SelectRow/index.d.ts +8 -1
  224. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  225. package/dist/elements/SelectRow/index.js +38 -39
  226. package/dist/elements/SelectRow/index.js.map +1 -1
  227. package/dist/elements/SortColumn/index.d.ts +2 -2
  228. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  229. package/dist/elements/SortColumn/index.js +33 -19
  230. package/dist/elements/SortColumn/index.js.map +1 -1
  231. package/dist/elements/Status/index.d.ts.map +1 -1
  232. package/dist/elements/Status/index.js +71 -66
  233. package/dist/elements/Status/index.js.map +1 -1
  234. package/dist/elements/StayLoggedIn/index.scss +1 -0
  235. package/dist/elements/StepNav/index.d.ts +2 -1
  236. package/dist/elements/StepNav/index.d.ts.map +1 -1
  237. package/dist/elements/StepNav/index.js +30 -23
  238. package/dist/elements/StepNav/index.js.map +1 -1
  239. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +1 -1
  240. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
  241. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  242. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +1 -1
  243. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  244. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  245. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +1 -1
  246. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  247. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  248. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +1 -1
  249. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  250. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  251. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +1 -1
  252. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  253. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  254. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
  255. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  256. package/dist/elements/Table/DefaultCell/fields/File/index.js +3 -7
  257. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  258. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +1 -1
  259. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  260. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  261. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +1 -1
  262. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  263. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +11 -12
  264. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  265. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +1 -1
  266. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
  267. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  268. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +1 -1
  269. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
  270. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  271. package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
  272. package/dist/elements/Table/DefaultCell/index.d.ts +2 -2
  273. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  274. package/dist/elements/Table/DefaultCell/index.js +67 -94
  275. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  276. package/dist/elements/Table/RelationshipProvider/reducer.js +16 -16
  277. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  278. package/dist/elements/Table/index.d.ts +4 -7
  279. package/dist/elements/Table/index.d.ts.map +1 -1
  280. package/dist/elements/Table/index.js +38 -100
  281. package/dist/elements/Table/index.js.map +1 -1
  282. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts +11 -0
  283. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -0
  284. package/dist/elements/TableColumns/RenderDefaultCell/index.js +77 -0
  285. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -0
  286. package/dist/elements/TableColumns/RenderDefaultCell/index.scss +15 -0
  287. package/dist/elements/TableColumns/buildColumnState.d.ts +9 -3
  288. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  289. package/dist/elements/TableColumns/buildColumnState.js +131 -76
  290. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  291. package/dist/elements/TableColumns/filterFields.d.ts +2 -2
  292. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  293. package/dist/elements/TableColumns/filterFields.js +1 -3
  294. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  295. package/dist/elements/TableColumns/getInitialColumns.d.ts +3 -3
  296. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  297. package/dist/elements/TableColumns/getInitialColumns.js +1 -3
  298. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  299. package/dist/elements/TableColumns/index.d.ts +12 -9
  300. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  301. package/dist/elements/TableColumns/index.js +176 -245
  302. package/dist/elements/TableColumns/index.js.map +1 -1
  303. package/dist/elements/Thumbnail/createThumbnail.d.ts +5 -0
  304. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -0
  305. package/dist/elements/Thumbnail/createThumbnail.js +50 -0
  306. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -0
  307. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  308. package/dist/elements/Thumbnail/index.js.map +1 -1
  309. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  310. package/dist/elements/UnpublishMany/index.js +17 -6
  311. package/dist/elements/UnpublishMany/index.js.map +1 -1
  312. package/dist/elements/Upload/index.d.ts.map +1 -1
  313. package/dist/elements/Upload/index.js +21 -17
  314. package/dist/elements/Upload/index.js.map +1 -1
  315. package/dist/elements/Upload/index.scss +0 -6
  316. package/dist/elements/ViewDescription/index.d.ts +1 -2
  317. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  318. package/dist/elements/ViewDescription/index.js +9 -44
  319. package/dist/elements/ViewDescription/index.js.map +1 -1
  320. package/dist/elements/WhereBuilder/Condition/Date/index.js +3 -1
  321. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  322. package/dist/elements/WhereBuilder/Condition/Date/types.d.ts +5 -8
  323. package/dist/elements/WhereBuilder/Condition/Date/types.d.ts.map +1 -1
  324. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  325. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts +15 -0
  326. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts.map +1 -0
  327. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +70 -0
  328. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -0
  329. package/dist/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
  330. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  331. package/dist/elements/WhereBuilder/Condition/Number/types.d.ts +6 -4
  332. package/dist/elements/WhereBuilder/Condition/Number/types.d.ts.map +1 -1
  333. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  334. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  335. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +17 -10
  336. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  337. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +7 -7
  338. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  339. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +5 -6
  340. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
  341. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  342. package/dist/elements/WhereBuilder/Condition/Select/types.d.ts +7 -7
  343. package/dist/elements/WhereBuilder/Condition/Select/types.d.ts.map +1 -1
  344. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  345. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  346. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  347. package/dist/elements/WhereBuilder/Condition/Text/types.d.ts +6 -4
  348. package/dist/elements/WhereBuilder/Condition/Text/types.d.ts.map +1 -1
  349. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  350. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  351. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  352. package/dist/elements/WhereBuilder/Condition/index.js +111 -137
  353. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  354. package/dist/elements/WhereBuilder/Condition/types.d.ts +7 -1
  355. package/dist/elements/WhereBuilder/Condition/types.d.ts.map +1 -1
  356. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  357. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  358. package/dist/elements/WhereBuilder/index.js +13 -10
  359. package/dist/elements/WhereBuilder/index.js.map +1 -1
  360. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  361. package/dist/elements/WhereBuilder/reduceClientFields.js +1 -7
  362. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  363. package/dist/elements/WhereBuilder/types.d.ts +2 -3
  364. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  365. package/dist/elements/WhereBuilder/types.js.map +1 -1
  366. package/dist/exports/client/{CodeEditor-4A6256PR.js → CodeEditor-DRTCMRCY.js} +6 -6
  367. package/dist/exports/client/CodeEditor-DRTCMRCY.js.map +8 -0
  368. package/dist/exports/client/{DatePicker-HNJMUG32.js → DatePicker-23XPGPYP.js} +2 -2
  369. package/dist/exports/client/chunk-PELL3UMP.js +30 -0
  370. package/dist/exports/client/{chunk-IHJK2MAT.js.map → chunk-PELL3UMP.js.map} +4 -4
  371. package/dist/exports/client/chunk-PNHVQDTJ.js +14 -0
  372. package/dist/exports/client/chunk-PNHVQDTJ.js.map +8 -0
  373. package/dist/exports/client/index.d.ts +29 -13
  374. package/dist/exports/client/index.d.ts.map +1 -1
  375. package/dist/exports/client/index.js +22 -19
  376. package/dist/exports/client/index.js.map +4 -4
  377. package/dist/exports/rsc/index.d.ts +2 -0
  378. package/dist/exports/rsc/index.d.ts.map +1 -0
  379. package/dist/exports/rsc/index.js +2 -0
  380. package/dist/exports/rsc/index.js.map +1 -0
  381. package/dist/exports/shared/index.d.ts +8 -5
  382. package/dist/exports/shared/index.d.ts.map +1 -1
  383. package/dist/exports/shared/index.js +2 -2
  384. package/dist/exports/shared/index.js.map +4 -4
  385. package/dist/fields/Array/ArrayRow.d.ts +4 -4
  386. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  387. package/dist/fields/Array/ArrayRow.js +37 -40
  388. package/dist/fields/Array/ArrayRow.js.map +1 -1
  389. package/dist/fields/Array/index.d.ts +2 -6
  390. package/dist/fields/Array/index.d.ts.map +1 -1
  391. package/dist/fields/Array/index.js +169 -179
  392. package/dist/fields/Array/index.js.map +1 -1
  393. package/dist/fields/Blocks/BlockRow.d.ts +5 -4
  394. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  395. package/dist/fields/Blocks/BlockRow.js +68 -57
  396. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  397. package/dist/fields/Blocks/index.d.ts +2 -5
  398. package/dist/fields/Blocks/index.d.ts.map +1 -1
  399. package/dist/fields/Blocks/index.js +156 -172
  400. package/dist/fields/Blocks/index.js.map +1 -1
  401. package/dist/fields/Checkbox/Input.d.ts +5 -7
  402. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  403. package/dist/fields/Checkbox/Input.js +15 -19
  404. package/dist/fields/Checkbox/Input.js.map +1 -1
  405. package/dist/fields/Checkbox/index.d.ts +2 -4
  406. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  407. package/dist/fields/Checkbox/index.js +75 -201
  408. package/dist/fields/Checkbox/index.js.map +1 -1
  409. package/dist/fields/Code/index.d.ts +3 -5
  410. package/dist/fields/Code/index.d.ts.map +1 -1
  411. package/dist/fields/Code/index.js +74 -192
  412. package/dist/fields/Code/index.js.map +1 -1
  413. package/dist/fields/Collapsible/index.d.ts +3 -143
  414. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  415. package/dist/fields/Collapsible/index.js +111 -201
  416. package/dist/fields/Collapsible/index.js.map +1 -1
  417. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  418. package/dist/fields/ConfirmPassword/index.js +0 -2
  419. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  420. package/dist/fields/DateTime/index.d.ts +2 -4
  421. package/dist/fields/DateTime/index.d.ts.map +1 -1
  422. package/dist/fields/DateTime/index.js +79 -186
  423. package/dist/fields/DateTime/index.js.map +1 -1
  424. package/dist/fields/Email/index.d.ts +2 -5
  425. package/dist/fields/Email/index.d.ts.map +1 -1
  426. package/dist/fields/Email/index.js +77 -183
  427. package/dist/fields/Email/index.js.map +1 -1
  428. package/dist/fields/FieldDescription/index.d.ts +3 -2
  429. package/dist/fields/FieldDescription/index.d.ts.map +1 -1
  430. package/dist/fields/FieldDescription/index.js +4 -23
  431. package/dist/fields/FieldDescription/index.js.map +1 -1
  432. package/dist/fields/FieldError/index.d.ts +3 -2
  433. package/dist/fields/FieldError/index.d.ts.map +1 -1
  434. package/dist/fields/FieldError/index.js +2 -23
  435. package/dist/fields/FieldError/index.js.map +1 -1
  436. package/dist/fields/FieldLabel/index.d.ts +3 -2
  437. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  438. package/dist/fields/FieldLabel/index.js +61 -59
  439. package/dist/fields/FieldLabel/index.js.map +1 -1
  440. package/dist/fields/FieldLabel/index.scss +24 -2
  441. package/dist/fields/Group/index.d.ts +2 -5
  442. package/dist/fields/Group/index.d.ts.map +1 -1
  443. package/dist/fields/Group/index.js +72 -162
  444. package/dist/fields/Group/index.js.map +1 -1
  445. package/dist/fields/Hidden/index.d.ts.map +1 -1
  446. package/dist/fields/Hidden/index.js +30 -41
  447. package/dist/fields/Hidden/index.js.map +1 -1
  448. package/dist/fields/JSON/index.d.ts +2 -4
  449. package/dist/fields/JSON/index.d.ts.map +1 -1
  450. package/dist/fields/JSON/index.js +48 -53
  451. package/dist/fields/JSON/index.js.map +1 -1
  452. package/dist/fields/Join/index.d.ts +4 -5
  453. package/dist/fields/Join/index.d.ts.map +1 -1
  454. package/dist/fields/Join/index.js +41 -32
  455. package/dist/fields/Join/index.js.map +1 -1
  456. package/dist/fields/Number/index.d.ts +2 -4
  457. package/dist/fields/Number/index.d.ts.map +1 -1
  458. package/dist/fields/Number/index.js +146 -295
  459. package/dist/fields/Number/index.js.map +1 -1
  460. package/dist/fields/Password/index.d.ts.map +1 -1
  461. package/dist/fields/Password/index.js +79 -160
  462. package/dist/fields/Password/index.js.map +1 -1
  463. package/dist/fields/Password/input.d.ts.map +1 -1
  464. package/dist/fields/Password/input.js +51 -65
  465. package/dist/fields/Password/input.js.map +1 -1
  466. package/dist/fields/Password/types.d.ts +28 -12
  467. package/dist/fields/Password/types.d.ts.map +1 -1
  468. package/dist/fields/Password/types.js.map +1 -1
  469. package/dist/fields/Point/index.d.ts +2 -4
  470. package/dist/fields/Point/index.d.ts.map +1 -1
  471. package/dist/fields/Point/index.js +116 -252
  472. package/dist/fields/Point/index.js.map +1 -1
  473. package/dist/fields/RadioGroup/index.d.ts +3 -4
  474. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  475. package/dist/fields/RadioGroup/index.js +101 -230
  476. package/dist/fields/RadioGroup/index.js.map +1 -1
  477. package/dist/fields/Relationship/index.d.ts +2 -4
  478. package/dist/fields/Relationship/index.d.ts.map +1 -1
  479. package/dist/fields/Relationship/index.js +68 -72
  480. package/dist/fields/Relationship/index.js.map +1 -1
  481. package/dist/fields/Relationship/optionsReducer.js +42 -42
  482. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  483. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +1 -1
  484. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  485. package/dist/fields/Relationship/select-components/SingleValue/index.js +1 -1
  486. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  487. package/dist/fields/Row/index.d.ts +2 -8
  488. package/dist/fields/Row/index.d.ts.map +1 -1
  489. package/dist/fields/Row/index.js +28 -69
  490. package/dist/fields/Row/index.js.map +1 -1
  491. package/dist/fields/Select/Input.d.ts +7 -13
  492. package/dist/fields/Select/Input.d.ts.map +1 -1
  493. package/dist/fields/Select/Input.js +77 -114
  494. package/dist/fields/Select/Input.js.map +1 -1
  495. package/dist/fields/Select/index.d.ts +2 -4
  496. package/dist/fields/Select/index.d.ts.map +1 -1
  497. package/dist/fields/Select/index.js +28 -31
  498. package/dist/fields/Select/index.js.map +1 -1
  499. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  500. package/dist/fields/Tabs/Tab/index.js +61 -36
  501. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  502. package/dist/fields/Tabs/index.d.ts +2 -5
  503. package/dist/fields/Tabs/index.d.ts.map +1 -1
  504. package/dist/fields/Tabs/index.js +315 -142
  505. package/dist/fields/Tabs/index.js.map +1 -1
  506. package/dist/fields/Text/Input.d.ts.map +1 -1
  507. package/dist/fields/Text/Input.js +58 -93
  508. package/dist/fields/Text/Input.js.map +1 -1
  509. package/dist/fields/Text/index.d.ts +2 -4
  510. package/dist/fields/Text/index.d.ts.map +1 -1
  511. package/dist/fields/Text/index.js +93 -167
  512. package/dist/fields/Text/index.js.map +1 -1
  513. package/dist/fields/Text/types.d.ts +7 -12
  514. package/dist/fields/Text/types.d.ts.map +1 -1
  515. package/dist/fields/Text/types.js.map +1 -1
  516. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  517. package/dist/fields/Textarea/Input.js +53 -87
  518. package/dist/fields/Textarea/Input.js.map +1 -1
  519. package/dist/fields/Textarea/index.d.ts +2 -4
  520. package/dist/fields/Textarea/index.d.ts.map +1 -1
  521. package/dist/fields/Textarea/index.js +64 -117
  522. package/dist/fields/Textarea/index.js.map +1 -1
  523. package/dist/fields/Textarea/types.d.ts +7 -12
  524. package/dist/fields/Textarea/types.d.ts.map +1 -1
  525. package/dist/fields/Textarea/types.js.map +1 -1
  526. package/dist/fields/Upload/HasMany/index.d.ts +2 -0
  527. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  528. package/dist/fields/Upload/HasMany/index.js +22 -18
  529. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  530. package/dist/fields/Upload/HasMany/index.scss +8 -0
  531. package/dist/fields/Upload/HasOne/index.d.ts +2 -0
  532. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
  533. package/dist/fields/Upload/HasOne/index.js +2 -0
  534. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  535. package/dist/fields/Upload/Input.d.ts +8 -8
  536. package/dist/fields/Upload/Input.d.ts.map +1 -1
  537. package/dist/fields/Upload/Input.js +153 -148
  538. package/dist/fields/Upload/Input.js.map +1 -1
  539. package/dist/fields/Upload/RelationshipContent/index.d.ts +2 -0
  540. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -1
  541. package/dist/fields/Upload/RelationshipContent/index.js +61 -42
  542. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  543. package/dist/fields/Upload/index.d.ts.map +1 -1
  544. package/dist/fields/Upload/index.js +64 -119
  545. package/dist/fields/Upload/index.js.map +1 -1
  546. package/dist/fields/Upload/types.d.ts +4 -0
  547. package/dist/fields/Upload/types.d.ts.map +1 -0
  548. package/dist/fields/Upload/types.js.map +1 -0
  549. package/dist/fields/index.d.ts +13 -2
  550. package/dist/fields/index.d.ts.map +1 -1
  551. package/dist/fields/index.js +11 -0
  552. package/dist/fields/index.js.map +1 -1
  553. package/dist/fields/mergeFieldStyles.d.ts +3 -0
  554. package/dist/fields/mergeFieldStyles.d.ts.map +1 -0
  555. package/dist/fields/mergeFieldStyles.js +13 -0
  556. package/dist/fields/mergeFieldStyles.js.map +1 -0
  557. package/dist/forms/Form/context.d.ts +2 -0
  558. package/dist/forms/Form/context.d.ts.map +1 -1
  559. package/dist/forms/Form/context.js.map +1 -1
  560. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  561. package/dist/forms/Form/fieldReducer.js +181 -154
  562. package/dist/forms/Form/fieldReducer.js.map +1 -1
  563. package/dist/forms/Form/index.d.ts.map +1 -1
  564. package/dist/forms/Form/index.js +80 -74
  565. package/dist/forms/Form/index.js.map +1 -1
  566. package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
  567. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  568. package/dist/forms/Form/mergeServerFormState.js +17 -4
  569. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  570. package/dist/forms/Form/reduceToSerializableFields.d.ts +7 -0
  571. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -0
  572. package/dist/forms/Form/reduceToSerializableFields.js +20 -0
  573. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -0
  574. package/dist/forms/Form/types.d.ts +15 -12
  575. package/dist/forms/Form/types.d.ts.map +1 -1
  576. package/dist/forms/Form/types.js.map +1 -1
  577. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  578. package/dist/forms/NullifyField/index.js +3 -1
  579. package/dist/forms/NullifyField/index.js.map +1 -1
  580. package/dist/forms/RenderFields/RenderField.d.ts +6 -18
  581. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  582. package/dist/forms/RenderFields/RenderField.js +290 -69
  583. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  584. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  585. package/dist/forms/RenderFields/index.js +89 -101
  586. package/dist/forms/RenderFields/index.js.map +1 -1
  587. package/dist/forms/RenderFields/types.d.ts +9 -10
  588. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  589. package/dist/forms/RenderFields/types.js.map +1 -1
  590. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  591. package/dist/forms/RowLabel/index.js +15 -23
  592. package/dist/forms/RowLabel/index.js.map +1 -1
  593. package/dist/forms/RowLabel/types.d.ts +2 -5
  594. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  595. package/dist/forms/RowLabel/types.js.map +1 -1
  596. package/dist/forms/Submit/index.d.ts.map +1 -1
  597. package/dist/forms/Submit/index.js +7 -2
  598. package/dist/forms/Submit/index.js.map +1 -1
  599. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +1 -1
  600. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  601. package/dist/forms/WatchChildErrors/buildPathSegments.js +3 -3
  602. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  603. package/dist/forms/WatchChildErrors/index.d.ts +1 -1
  604. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  605. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  606. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/addFieldStatePromise.d.ts +14 -4
  607. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -0
  608. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/addFieldStatePromise.js +171 -32
  609. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -0
  610. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -0
  611. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -0
  612. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -0
  613. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -0
  614. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -0
  615. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/promise.js +17 -17
  616. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -0
  617. package/dist/forms/{buildStateFromSchema/buildStateFromSchema.spec.js → fieldSchemasToFormState/fieldSchemasToFormState.spec.js} +9 -9
  618. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -0
  619. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts.map +1 -0
  620. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.js.map +1 -0
  621. package/dist/forms/fieldSchemasToFormState/index.d.ts +34 -0
  622. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -0
  623. package/dist/forms/fieldSchemasToFormState/index.js +58 -0
  624. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -0
  625. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/iterateFields.d.ts +15 -8
  626. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -0
  627. package/dist/forms/fieldSchemasToFormState/iterateFields.js +73 -0
  628. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -0
  629. package/dist/forms/fieldSchemasToFormState/renderField.d.ts +3 -0
  630. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -0
  631. package/dist/forms/fieldSchemasToFormState/renderField.js +222 -0
  632. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -0
  633. package/dist/forms/fieldSchemasToFormState/types.d.ts +25 -0
  634. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -0
  635. package/dist/forms/fieldSchemasToFormState/types.js +2 -0
  636. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -0
  637. package/dist/forms/useField/index.d.ts +1 -1
  638. package/dist/forms/useField/index.d.ts.map +1 -1
  639. package/dist/forms/useField/index.js +63 -73
  640. package/dist/forms/useField/index.js.map +1 -1
  641. package/dist/forms/useField/types.d.ts +3 -8
  642. package/dist/forms/useField/types.d.ts.map +1 -1
  643. package/dist/forms/useField/types.js.map +1 -1
  644. package/dist/forms/withCondition/WatchCondition.d.ts +1 -4
  645. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  646. package/dist/forms/withCondition/WatchCondition.js +21 -42
  647. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  648. package/dist/forms/withCondition/index.d.ts +3 -1
  649. package/dist/forms/withCondition/index.d.ts.map +1 -1
  650. package/dist/forms/withCondition/index.js +9 -31
  651. package/dist/forms/withCondition/index.js.map +1 -1
  652. package/dist/graphics/Account/index.d.ts.map +1 -1
  653. package/dist/graphics/Account/index.js +17 -38
  654. package/dist/graphics/Account/index.js.map +1 -1
  655. package/dist/graphics/ExternalLink/index.d.ts +1 -0
  656. package/dist/graphics/ExternalLink/index.d.ts.map +1 -1
  657. package/dist/graphics/ExternalLink/index.js +6 -9
  658. package/dist/graphics/ExternalLink/index.js.map +1 -1
  659. package/dist/graphics/ExternalLink/index.scss +14 -0
  660. package/dist/hooks/useDebouncedEffect.d.ts +1 -1
  661. package/dist/hooks/useDebouncedEffect.d.ts.map +1 -1
  662. package/dist/hooks/useDebouncedEffect.js +1 -1
  663. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  664. package/dist/hooks/useIgnoredEffect.d.ts +4 -0
  665. package/dist/hooks/useIgnoredEffect.d.ts.map +1 -1
  666. package/dist/hooks/useIgnoredEffect.js +13 -0
  667. package/dist/hooks/useIgnoredEffect.js.map +1 -1
  668. package/dist/hooks/usePayloadAPI.js +1 -1
  669. package/dist/hooks/usePayloadAPI.js.map +1 -1
  670. package/dist/hooks/useUseAsTitle.d.ts +1 -1
  671. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  672. package/dist/hooks/useUseAsTitle.js +4 -3
  673. package/dist/hooks/useUseAsTitle.js.map +1 -1
  674. package/dist/providers/Actions/index.d.ts +8 -4
  675. package/dist/providers/Actions/index.d.ts.map +1 -1
  676. package/dist/providers/Actions/index.js +13 -74
  677. package/dist/providers/Actions/index.js.map +1 -1
  678. package/dist/providers/Auth/index.d.ts +11 -6
  679. package/dist/providers/Auth/index.d.ts.map +1 -1
  680. package/dist/providers/Auth/index.js +49 -58
  681. package/dist/providers/Auth/index.js.map +1 -1
  682. package/dist/providers/Config/index.d.ts +11 -2
  683. package/dist/providers/Config/index.d.ts.map +1 -1
  684. package/dist/providers/Config/index.js +8 -6
  685. package/dist/providers/Config/index.js.map +1 -1
  686. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  687. package/dist/providers/DocumentInfo/index.js +95 -352
  688. package/dist/providers/DocumentInfo/index.js.map +1 -1
  689. package/dist/providers/DocumentInfo/types.d.ts +21 -28
  690. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  691. package/dist/providers/DocumentInfo/types.js.map +1 -1
  692. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +16 -0
  693. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -0
  694. package/dist/providers/DocumentInfo/useGetDocPermissions.js +77 -0
  695. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -0
  696. package/dist/providers/EditDepth/index.d.ts +0 -1
  697. package/dist/providers/EditDepth/index.d.ts.map +1 -1
  698. package/dist/providers/EditDepth/index.js +22 -7
  699. package/dist/providers/EditDepth/index.js.map +1 -1
  700. package/dist/providers/ListQuery/index.d.ts +6 -23
  701. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  702. package/dist/providers/ListQuery/index.js +52 -57
  703. package/dist/providers/ListQuery/index.js.map +1 -1
  704. package/dist/providers/Preferences/index.d.ts.map +1 -1
  705. package/dist/providers/Preferences/index.js +2 -4
  706. package/dist/providers/Preferences/index.js.map +1 -1
  707. package/dist/providers/Root/index.d.ts +3 -2
  708. package/dist/providers/Root/index.d.ts.map +1 -1
  709. package/dist/providers/Root/index.js +11 -14
  710. package/dist/providers/Root/index.js.map +1 -1
  711. package/dist/providers/Selection/index.d.ts.map +1 -1
  712. package/dist/providers/Selection/index.js +3 -3
  713. package/dist/providers/Selection/index.js.map +1 -1
  714. package/dist/providers/ServerFunctions/index.d.ts +42 -0
  715. package/dist/providers/ServerFunctions/index.d.ts.map +1 -0
  716. package/dist/providers/ServerFunctions/index.js +108 -0
  717. package/dist/providers/ServerFunctions/index.js.map +1 -0
  718. package/dist/scss/vars.scss +2 -2
  719. package/dist/styles.css +1 -1
  720. package/dist/utilities/abortAndIgnore.d.ts +2 -0
  721. package/dist/utilities/abortAndIgnore.d.ts.map +1 -0
  722. package/dist/utilities/abortAndIgnore.js +10 -0
  723. package/dist/utilities/abortAndIgnore.js.map +1 -0
  724. package/dist/utilities/buildFieldSchemaMap/index.d.ts +9 -3
  725. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  726. package/dist/utilities/buildFieldSchemaMap/index.js +58 -36
  727. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  728. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +4 -4
  729. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  730. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +55 -30
  731. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  732. package/dist/utilities/buildFormState.d.ts +24 -7
  733. package/dist/utilities/buildFormState.d.ts.map +1 -1
  734. package/dist/utilities/buildFormState.js +149 -216
  735. package/dist/utilities/buildFormState.js.map +1 -1
  736. package/dist/utilities/buildTableState.d.ts +31 -0
  737. package/dist/utilities/buildTableState.d.ts.map +1 -0
  738. package/dist/utilities/buildTableState.js +200 -0
  739. package/dist/utilities/buildTableState.js.map +1 -0
  740. package/dist/utilities/flattenFieldMap.d.ts +2 -2
  741. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  742. package/dist/utilities/flattenFieldMap.js +5 -3
  743. package/dist/utilities/flattenFieldMap.js.map +1 -1
  744. package/dist/utilities/groupNavItems.d.ts +10 -6
  745. package/dist/utilities/groupNavItems.d.ts.map +1 -1
  746. package/dist/utilities/groupNavItems.js +15 -3
  747. package/dist/utilities/groupNavItems.js.map +1 -1
  748. package/dist/utilities/handleFormStateLocking.d.ts +16 -0
  749. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -0
  750. package/dist/utilities/handleFormStateLocking.js +129 -0
  751. package/dist/utilities/handleFormStateLocking.js.map +1 -0
  752. package/dist/utilities/handleTakeOver.d.ts +2 -2
  753. package/dist/utilities/handleTakeOver.d.ts.map +1 -1
  754. package/dist/utilities/handleTakeOver.js.map +1 -1
  755. package/dist/utilities/hasSavePermission.d.ts +2 -2
  756. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  757. package/dist/utilities/hasSavePermission.js +2 -2
  758. package/dist/utilities/hasSavePermission.js.map +1 -1
  759. package/dist/utilities/isClientUserObject.d.ts +3 -0
  760. package/dist/utilities/isClientUserObject.d.ts.map +1 -0
  761. package/dist/utilities/isClientUserObject.js +4 -0
  762. package/dist/utilities/isClientUserObject.js.map +1 -0
  763. package/dist/utilities/mergeListSearchAndWhere.d.ts +10 -0
  764. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -0
  765. package/dist/utilities/mergeListSearchAndWhere.js +47 -0
  766. package/dist/utilities/mergeListSearchAndWhere.js.map +1 -0
  767. package/dist/utilities/removeUndefined.d.ts +2 -0
  768. package/dist/utilities/removeUndefined.d.ts.map +1 -0
  769. package/dist/utilities/removeUndefined.js +4 -0
  770. package/dist/utilities/removeUndefined.js.map +1 -0
  771. package/dist/utilities/renderTable.d.ts +24 -0
  772. package/dist/utilities/renderTable.d.ts.map +1 -0
  773. package/dist/utilities/renderTable.js +64 -0
  774. package/dist/utilities/renderTable.js.map +1 -0
  775. package/dist/views/Edit/Auth/APIKey.d.ts +6 -0
  776. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -0
  777. package/dist/views/Edit/Auth/APIKey.js +123 -0
  778. package/dist/views/Edit/Auth/APIKey.js.map +1 -0
  779. package/dist/views/Edit/Auth/index.d.ts +5 -0
  780. package/dist/views/Edit/Auth/index.d.ts.map +1 -0
  781. package/dist/views/Edit/Auth/index.js +337 -0
  782. package/dist/views/Edit/Auth/index.js.map +1 -0
  783. package/dist/views/Edit/Auth/index.scss +78 -0
  784. package/dist/views/Edit/Auth/types.d.ts +17 -0
  785. package/dist/views/Edit/Auth/types.d.ts.map +1 -0
  786. package/dist/views/Edit/Auth/types.js +2 -0
  787. package/dist/views/Edit/Auth/types.js.map +1 -0
  788. package/dist/views/Edit/SetDocumentStepNav/index.d.ts +11 -0
  789. package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -0
  790. package/dist/views/Edit/SetDocumentStepNav/index.js +135 -0
  791. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -0
  792. package/dist/views/Edit/SetDocumentTitle/index.d.ts +8 -0
  793. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -0
  794. package/dist/views/Edit/SetDocumentTitle/index.js +83 -0
  795. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -0
  796. package/dist/views/Edit/index.d.ts +5 -0
  797. package/dist/views/Edit/index.d.ts.map +1 -0
  798. package/dist/views/Edit/index.js +397 -0
  799. package/dist/views/Edit/index.js.map +1 -0
  800. package/dist/views/Edit/index.scss +23 -0
  801. package/dist/views/Edit/types.d.ts +6 -0
  802. package/dist/views/Edit/types.d.ts.map +1 -0
  803. package/dist/views/Edit/types.js +2 -0
  804. package/dist/views/Edit/types.js.map +1 -0
  805. package/dist/views/List/ListHeader/index.d.ts +18 -0
  806. package/dist/views/List/ListHeader/index.d.ts.map +1 -0
  807. package/dist/views/List/ListHeader/index.js +141 -0
  808. package/dist/views/List/ListHeader/index.js.map +1 -0
  809. package/dist/{elements/ListDrawer → views/List/ListHeader}/index.scss +12 -1
  810. package/dist/views/List/index.d.ts +27 -0
  811. package/dist/views/List/index.d.ts.map +1 -0
  812. package/dist/views/List/index.js +294 -0
  813. package/dist/views/List/index.js.map +1 -0
  814. package/dist/views/List/index.scss +179 -0
  815. package/dist/views/List/types.d.ts +32 -0
  816. package/dist/views/List/types.d.ts.map +1 -0
  817. package/dist/views/List/types.js +2 -0
  818. package/dist/views/List/types.js.map +1 -0
  819. package/license.md +22 -0
  820. package/package.json +40 -16
  821. package/dist/elements/ListHeader/index.d.ts +0 -10
  822. package/dist/elements/ListHeader/index.d.ts.map +0 -1
  823. package/dist/elements/ListHeader/index.js +0 -17
  824. package/dist/elements/ListHeader/index.js.map +0 -1
  825. package/dist/elements/ListHeader/index.scss +0 -12
  826. package/dist/elements/RelationshipTable/TableWrapper.d.ts +0 -8
  827. package/dist/elements/RelationshipTable/TableWrapper.d.ts.map +0 -1
  828. package/dist/elements/RelationshipTable/TableWrapper.js +0 -69
  829. package/dist/elements/RelationshipTable/TableWrapper.js.map +0 -1
  830. package/dist/elements/Table/RenderCell.d.ts +0 -11
  831. package/dist/elements/Table/RenderCell.d.ts.map +0 -1
  832. package/dist/elements/Table/RenderCell.js +0 -30
  833. package/dist/elements/Table/RenderCell.js.map +0 -1
  834. package/dist/elements/Table/TableCellProvider/index.d.ts +0 -19
  835. package/dist/elements/Table/TableCellProvider/index.d.ts.map +0 -1
  836. package/dist/elements/Table/TableCellProvider/index.js +0 -48
  837. package/dist/elements/Table/TableCellProvider/index.js.map +0 -1
  838. package/dist/exports/client/CodeEditor-4A6256PR.js.map +0 -8
  839. package/dist/exports/client/chunk-6IWEPNUV.js +0 -14
  840. package/dist/exports/client/chunk-6IWEPNUV.js.map +0 -8
  841. package/dist/exports/client/chunk-IHJK2MAT.js +0 -30
  842. package/dist/forms/FieldPropsProvider/index.d.ts +0 -31
  843. package/dist/forms/FieldPropsProvider/index.d.ts.map +0 -1
  844. package/dist/forms/FieldPropsProvider/index.js +0 -44
  845. package/dist/forms/FieldPropsProvider/index.js.map +0 -1
  846. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +0 -1
  847. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +0 -1
  848. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +0 -1
  849. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +0 -1
  850. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +0 -1
  851. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +0 -1
  852. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +0 -1
  853. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +0 -1
  854. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +0 -1
  855. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +0 -1
  856. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +0 -1
  857. package/dist/forms/buildStateFromSchema/index.d.ts +0 -28
  858. package/dist/forms/buildStateFromSchema/index.d.ts.map +0 -1
  859. package/dist/forms/buildStateFromSchema/index.js +0 -42
  860. package/dist/forms/buildStateFromSchema/index.js.map +0 -1
  861. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +0 -1
  862. package/dist/forms/buildStateFromSchema/iterateFields.js +0 -62
  863. package/dist/forms/buildStateFromSchema/iterateFields.js.map +0 -1
  864. package/dist/providers/Actions/SetViewActions/index.d.ts +0 -6
  865. package/dist/providers/Actions/SetViewActions/index.d.ts.map +0 -1
  866. package/dist/providers/Actions/SetViewActions/index.js +0 -35
  867. package/dist/providers/Actions/SetViewActions/index.js.map +0 -1
  868. package/dist/providers/Config/RenderComponent.d.ts +0 -12
  869. package/dist/providers/Config/RenderComponent.d.ts.map +0 -1
  870. package/dist/providers/Config/RenderComponent.js +0 -77
  871. package/dist/providers/Config/RenderComponent.js.map +0 -1
  872. package/dist/providers/Config/createClientConfig/collections.d.ts +0 -24
  873. package/dist/providers/Config/createClientConfig/collections.d.ts.map +0 -1
  874. package/dist/providers/Config/createClientConfig/collections.js +0 -203
  875. package/dist/providers/Config/createClientConfig/collections.js.map +0 -1
  876. package/dist/providers/Config/createClientConfig/fields.d.ts +0 -22
  877. package/dist/providers/Config/createClientConfig/fields.d.ts.map +0 -1
  878. package/dist/providers/Config/createClientConfig/fields.js +0 -333
  879. package/dist/providers/Config/createClientConfig/fields.js.map +0 -1
  880. package/dist/providers/Config/createClientConfig/getComponent.d.ts +0 -11
  881. package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +0 -1
  882. package/dist/providers/Config/createClientConfig/getComponent.js +0 -38
  883. package/dist/providers/Config/createClientConfig/getComponent.js.map +0 -1
  884. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts +0 -11
  885. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +0 -1
  886. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +0 -101
  887. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +0 -1
  888. package/dist/providers/Config/createClientConfig/globals.d.ts +0 -22
  889. package/dist/providers/Config/createClientConfig/globals.d.ts.map +0 -1
  890. package/dist/providers/Config/createClientConfig/globals.js +0 -114
  891. package/dist/providers/Config/createClientConfig/globals.js.map +0 -1
  892. package/dist/providers/Config/createClientConfig/index.d.ts +0 -21
  893. package/dist/providers/Config/createClientConfig/index.d.ts.map +0 -1
  894. package/dist/providers/Config/createClientConfig/index.js +0 -123
  895. package/dist/providers/Config/createClientConfig/index.js.map +0 -1
  896. package/dist/providers/FieldComponents/index.d.ts +0 -9
  897. package/dist/providers/FieldComponents/index.d.ts.map +0 -1
  898. package/dist/providers/FieldComponents/index.js +0 -18
  899. package/dist/providers/FieldComponents/index.js.map +0 -1
  900. package/dist/providers/ListInfo/index.d.ts +0 -29
  901. package/dist/providers/ListInfo/index.d.ts.map +0 -1
  902. package/dist/providers/ListInfo/index.js +0 -18
  903. package/dist/providers/ListInfo/index.js.map +0 -1
  904. package/dist/utilities/buildFieldSchemaMap/types.d.ts +0 -3
  905. package/dist/utilities/buildFieldSchemaMap/types.d.ts.map +0 -1
  906. package/dist/utilities/buildFieldSchemaMap/types.js.map +0 -1
  907. package/dist/utilities/getFormState.d.ts +0 -17
  908. package/dist/utilities/getFormState.d.ts.map +0 -1
  909. package/dist/utilities/getFormState.js +0 -34
  910. package/dist/utilities/getFormState.js.map +0 -1
  911. /package/dist/exports/client/{DatePicker-HNJMUG32.js.map → DatePicker-23XPGPYP.js.map} +0 -0
  912. /package/dist/{utilities/buildFieldSchemaMap → fields/Upload}/types.js +0 -0
  913. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/index.d.ts +0 -0
  914. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/index.js +0 -0
  915. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/iterateFields.d.ts +0 -0
  916. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/iterateFields.js +0 -0
  917. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/promise.d.ts +0 -0
  918. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/getFilterOptionsQuery.d.ts +0 -0
  919. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/getFilterOptionsQuery.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AddNewRelation/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqD,MAAM,OAAO,CAAA;AAIzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAoM1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AddNewRelation/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqD,MAAM,OAAO,CAAA;AAIzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmM1C,CAAA"}
@@ -114,9 +114,9 @@ export const AddNewRelation = t0 => {
114
114
  t7 = () => {
115
115
  if (permissions) {
116
116
  if (relatedCollections.length === 1) {
117
- setShow(permissions.collections[relatedCollections[0]?.slug]?.create?.permission);
117
+ setShow(permissions.collections[relatedCollections[0]?.slug]?.create);
118
118
  } else {
119
- setShow(relatedCollections.some(collection => permissions.collections[collection?.slug]?.create?.permission));
119
+ setShow(relatedCollections.some(collection => permissions.collections[collection?.slug]?.create));
120
120
  }
121
121
  }
122
122
  };
@@ -233,7 +233,7 @@ export const AddNewRelation = t0 => {
233
233
  } = t18;
234
234
  return _jsx(PopupList.ButtonGroup, {
235
235
  children: relatedCollections.map(relatedCollection => {
236
- if (permissions.collections[relatedCollection?.slug].create.permission) {
236
+ if (permissions.collections[relatedCollection?.slug].create) {
237
237
  return _jsx(PopupList.Button, {
238
238
  className: `${baseClass}__relation-button--${relatedCollection?.slug}`,
239
239
  onClick: () => {
@@ -248,7 +248,7 @@ export const AddNewRelation = t0 => {
248
248
  });
249
249
  },
250
250
  size: "medium"
251
- }), collectionConfig && permissions.collections[collectionConfig?.slug]?.create?.permission && _jsx(DocumentDrawer, {
251
+ }), collectionConfig && permissions.collections[collectionConfig?.slug]?.create && _jsx(DocumentDrawer, {
252
252
  onSave
253
253
  })]
254
254
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","useEffect","useState","PlusIcon","useAuth","useTranslation","Button","useDocumentDrawer","Popup","PopupList","Tooltip","useRelatedCollections","baseClass","AddNewRelation","t0","$","ButtonFromProps","hasMany","path","relationTo","setValue","unstyled","value","relatedCollections","permissions","show","setShow","selectedCollection","setSelectedCollection","relatedToMany","length","t1","undefined","collectionConfig","setCollectionConfig","popupOpen","setPopupOpen","i18n","t","showTooltip","setShowTooltip","t2","slug","t3","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t4","isDrawerOpen","toggleDrawer","t5","t6","doc","operation","newValue","Array","isArray","id","isNewValue","some","v","onSave","Symbol","for","state","onPopupToggle","t7","t8","collections","create","permission","collection","t9","t10","find","collection_0","t11","t12","t13","t14","t15","t16","labels","singular","t17","label","_jsxs","className","children","_jsx","filter","Boolean","join","onClick","onMouseEnter","onMouseLeave","button","buttonStyle","tooltip","horizontalAlign","onToggleOpen","render","t18","close","closePopup","ButtonGroup","map","relatedCollection"],"sources":["../../../src/elements/AddNewRelation/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { Value } from '../../fields/Relationship/types.js'\nimport type { DocumentInfoContext } from '../../providers/DocumentInfo/types.js'\nimport type { Props } from './types.js'\n\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { Popup } from '../Popup/index.js'\nimport * as PopupList from '../Popup/PopupButtonList/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\nimport { useRelatedCollections } from './useRelatedCollections.js'\n\nconst baseClass = 'relationship-add-new'\n\nexport const AddNewRelation: React.FC<Props> = ({\n Button: ButtonFromProps,\n hasMany,\n path,\n relationTo,\n setValue,\n unstyled,\n value,\n}) => {\n const relatedCollections = useRelatedCollections(relationTo)\n const { permissions } = useAuth()\n const [show, setShow] = useState(false)\n const [selectedCollection, setSelectedCollection] = useState<string>()\n const relatedToMany = relatedCollections.length > 1\n const [collectionConfig, setCollectionConfig] = useState<ClientCollectionConfig>(() =>\n !relatedToMany ? relatedCollections[0] : undefined,\n )\n const [popupOpen, setPopupOpen] = useState(false)\n const { i18n, t } = useTranslation()\n const [showTooltip, setShowTooltip] = useState(false)\n\n const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen, toggleDrawer }] = useDocumentDrawer(\n {\n collectionSlug: collectionConfig?.slug,\n },\n )\n\n const onSave: DocumentInfoContext['onSave'] = useCallback(\n ({ doc, operation }) => {\n if (operation === 'create') {\n const newValue: Value = Array.isArray(relationTo)\n ? {\n relationTo: collectionConfig?.slug,\n value: doc.id,\n }\n : doc.id\n\n // ensure the value is not already in the array\n const isNewValue =\n Array.isArray(relationTo) && Array.isArray(value)\n ? !value.some((v) => v && typeof v === 'object' && v.value === doc.id)\n : value !== doc.id\n\n if (isNewValue) {\n // dispatchOptions({\n // collection: collectionConfig,\n // // TODO: fix this\n // // @ts-expect-error-next-line\n // type: 'ADD',\n // config,\n // docs: [doc],\n // i18n,\n // sort: true,\n // })\n\n if (hasMany) {\n setValue([...(Array.isArray(value) ? value : []), newValue])\n } else {\n setValue(newValue)\n }\n }\n\n setSelectedCollection(undefined)\n }\n },\n [relationTo, collectionConfig, hasMany, setValue, value],\n )\n\n const onPopupToggle = useCallback((state) => {\n setPopupOpen(state)\n }, [])\n\n useEffect(() => {\n if (permissions) {\n if (relatedCollections.length === 1) {\n setShow(permissions.collections[relatedCollections[0]?.slug]?.create?.permission)\n } else {\n setShow(\n relatedCollections.some(\n (collection) => permissions.collections[collection?.slug]?.create?.permission,\n ),\n )\n }\n }\n }, [permissions, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && selectedCollection) {\n setCollectionConfig(\n relatedCollections.find((collection) => collection?.slug === selectedCollection),\n )\n }\n }, [selectedCollection, relatedToMany, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && collectionConfig) {\n // the drawer must be rendered on the page before before opening it\n // this is why 'selectedCollection' is different from 'collectionConfig'\n toggleDrawer()\n setSelectedCollection(undefined)\n }\n }, [toggleDrawer, relatedToMany, collectionConfig])\n\n useEffect(() => {\n if (relatedToMany && !isDrawerOpen) {\n setCollectionConfig(undefined)\n }\n }, [isDrawerOpen, relatedToMany])\n\n const label = t('fields:addNewLabel', {\n label: getTranslation(relatedCollections[0].labels.singular, i18n),\n })\n\n if (show) {\n return (\n <div className={baseClass} id={`${path}-add-new`}>\n {relatedCollections.length === 1 && (\n <Fragment>\n <DocumentDrawerToggler\n className={[\n `${baseClass}__add-button`,\n unstyled && `${baseClass}__add-button--unstyled`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={() => setShowTooltip(false)}\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n >\n {ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Fragment>\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {label}\n </Tooltip>\n <PlusIcon />\n </Fragment>\n )}\n </DocumentDrawerToggler>\n <DocumentDrawer onSave={onSave} />\n </Fragment>\n )}\n {relatedCollections.length > 1 && (\n <Fragment>\n <Popup\n button={\n ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__add-button`}\n tooltip={popupOpen ? undefined : t('fields:addNew')}\n >\n <PlusIcon />\n </Button>\n )\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n onToggleOpen={onPopupToggle}\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relatedCollections.map((relatedCollection) => {\n if (permissions.collections[relatedCollection?.slug].create.permission) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection?.slug}`}\n key={relatedCollection?.slug}\n onClick={() => {\n closePopup()\n setSelectedCollection(relatedCollection?.slug)\n }}\n >\n {getTranslation(relatedCollection?.labels?.singular, i18n)}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"medium\"\n />\n {collectionConfig &&\n permissions.collections[collectionConfig?.slug]?.create?.permission && (\n <DocumentDrawer onSave={onSave} />\n )}\n </Fragment>\n )}\n </div>\n )\n }\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,QAAQ,EAAEC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AAMlE,SAASC,QAAQ,QAAQ;AACzB,SAASC,OAAO,QAAQ;AACxB,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,KAAK,QAAQ;AACtB,YAAYC,SAAA,MAAe;AAC3B,SAASC,OAAO,QAAQ;AACxB,OAAO;AACP,SAASC,qBAAqB,QAAQ;AAEtC,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,cAAA,GAAkCC,EAAA;EAAA,MAAAC,CAAA,GAAAnB,EAAA;EAAC;IAAAU,MAAA,EAAAU,eAAA;IAAAC,OAAA;IAAAC,IAAA;IAAAC,UAAA;IAAAC,QAAA;IAAAC,QAAA;IAAAC;EAAA,IAAAR,EAQ/C;EACC,MAAAS,kBAAA,GAA2BZ,qBAAA,CAAsBQ,UAAA;EACjD;IAAAK;EAAA,IAAwBpB,OAAA;EACxB,OAAAqB,IAAA,EAAAC,OAAA,IAAwBxB,QAAA,MAAS;EACjC,OAAAyB,kBAAA,EAAAC,qBAAA,IAAoD1B,QAAA;EACpD,MAAA2B,aAAA,GAAsBN,kBAAA,CAAAO,MAAA,IAA4B;EAAA,IAAAC,EAAA;EAAA,IAAAhB,CAAA,QAAAc,aAAA,IAAAd,CAAA,QAAAQ,kBAAA;IAC+BQ,EAAA,GAAAA,CAAA,KAC/E,CAACF,aAAA,GAAgBN,kBAAkB,MAAAS,SAAM;IAAAjB,CAAA,MAAAc,aAAA;IAAAd,CAAA,MAAAQ,kBAAA;IAAAR,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAD3C,OAAAkB,gBAAA,EAAAC,mBAAA,IAAgDhC,QAAA,CAAiC6B,EACtC;EAE3C,OAAAI,SAAA,EAAAC,YAAA,IAAkClC,QAAA,MAAS;EAC3C;IAAAmC,IAAA;IAAAC;EAAA,IAAoBjC,cAAA;EACpB,OAAAkC,WAAA,EAAAC,cAAA,IAAsCtC,QAAA,MAAS;EAI3B,MAAAuC,EAAA,GAAAR,gBAAA,EAAAS,IAAA;EAAkB,IAAAC,EAAA;EAAA,IAAA5B,CAAA,QAAA0B,EAAA;IADpCE,EAAA;MAAAC,cAAA,EACkBH;IAAkB;IACpC1B,CAAA,MAAA0B,EAAA;IAAA1B,CAAA,MAAA4B,EAAA;EAAA;IAAAA,EAAA,GAAA5B,CAAA;EAAA;EAHF,OAAA8B,cAAA,EAAAC,qBAAA,EAAAC,EAAA,IAAgFxC,iBAAA,CAC9EoC,EAEA;EAH4C;IAAAK,YAAA;IAAAC;EAAA,IAAAF,EAA8B;EAAA,IAAAG,EAAA;EAAA,IAAAnC,CAAA,QAAAI,UAAA,IAAAJ,CAAA,QAAAkB,gBAAA,IAAAlB,CAAA,QAAAO,KAAA,IAAAP,CAAA,QAAAE,OAAA,IAAAF,CAAA,QAAAK,QAAA;IAO1E8B,EAAA,GAAAC,EAAA;MAAC;QAAAC,GAAA;QAAAC;MAAA,IAAAF,EAAkB;MAAA,IACbE,SAAA,KAAc;QAChB,MAAAC,QAAA,GAAwBC,KAAA,CAAAC,OAAA,CAAcrC,UAAA;UAAAA,UAAA,EAEpBc,gBAAA,EAAAS,IAAA;UAAApB,KAAA,EACL8B,GAAA,CAAAK;QAAA,IAETL,GAAA,CAAAK,EAAM;QAGV,MAAAC,UAAA,GACEH,KAAA,CAAAC,OAAA,CAAcrC,UAAA,KAAeoC,KAAA,CAAAC,OAAA,CAAclC,KAAA,KACtCA,KAAA,CAAAqC,IAAA,CAAAC,CAAA,IAAkBA,CAAA,IAAK,OAAOA,CAAA,KAAM,YAAYA,CAAA,CAAAtC,KAAA,KAAY8B,GAAA,CAAAK,EAAM,IACnEnC,KAAA,KAAU8B,GAAA,CAAAK,EAAM;QAAA,IAElBC,UAAA;UAAA,IAYEzC,OAAA;YACFG,QAAA,MAAcmC,KAAA,CAAAC,OAAA,CAAclC,KAAA,IAASA,KAAA,KAAU,GAAGgC,QAAA,CAAS;UAAA;YAE3DlC,QAAA,CAASkC,QAAA;UAAA;QAAA;QAIb1B,qBAAA,CAAAI,SAAsB;MAAA;IAAA;IAE1BjB,CAAA,MAAAI,UAAA;IAAAJ,CAAA,MAAAkB,gBAAA;IAAAlB,CAAA,MAAAO,KAAA;IAAAP,CAAA,MAAAE,OAAA;IAAAF,CAAA,MAAAK,QAAA;IAAAL,CAAA,OAAAmC,EAAA;EAAA;IAAAA,EAAA,GAAAnC,CAAA;EAAA;EArCF,MAAA8C,MAAA,GAA8CX,EAsCY;EAAA,IAAAC,EAAA;EAAA,IAAApC,CAAA,SAAA+C,MAAA,CAAAC,GAAA;IAGxBZ,EAAA,GAAAa,KAAA;MAChC5B,YAAA,CAAa4B,KAAA;IAAA;IACfjD,CAAA,OAAAoC,EAAA;EAAA;IAAAA,EAAA,GAAApC,CAAA;EAAA;EAFA,MAAAkD,aAAA,GAAsBd,EAEjB;EAAA,IAAAe,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAApD,CAAA,SAAAS,WAAA,IAAAT,CAAA,SAAAQ,kBAAA;IAEK2C,EAAA,GAAAA,CAAA;MAAA,IACJ1C,WAAA;QAAA,IACED,kBAAA,CAAAO,MAAA,MAA8B;UAChCJ,OAAA,CAAQF,WAAA,CAAA4C,WAAA,CAAwB7C,kBAAkB,KAAAmB,IAAA,GAAA2B,MAAA,EAAAC,UAAoB;QAAA;UAEtE5C,OAAA,CACEH,kBAAA,CAAAoC,IAAA,CAAAY,UAAA,IACkB/C,WAAA,CAAA4C,WAAA,CAAwBG,UAAA,EAAA7B,IAAA,GAAA2B,MAAA,EAAAC,UAA2B;QAAA;MAAA;IAAA;IAK1EH,EAAA,IAAC3C,WAAA,EAAaD,kBAAA;IAAmBR,CAAA,OAAAS,WAAA;IAAAT,CAAA,OAAAQ,kBAAA;IAAAR,CAAA,OAAAmD,EAAA;IAAAnD,CAAA,OAAAoD,EAAA;EAAA;IAAAD,EAAA,GAAAnD,CAAA;IAAAoD,EAAA,GAAApD,CAAA;EAAA;EAZpCd,SAAA,CAAUiE,EAYV,EAAGC,EAAiC;EAAA,IAAAK,EAAA;EAAA,IAAAC,GAAA;EAAA,IAAA1D,CAAA,SAAAc,aAAA,IAAAd,CAAA,SAAAY,kBAAA,IAAAZ,CAAA,SAAAQ,kBAAA;IAE1BiD,EAAA,GAAAA,CAAA;MAAA,IACJ3C,aAAA,IAAiBF,kBAAA;QACnBO,mBAAA,CACEX,kBAAA,CAAAmD,IAAA,CAAAC,YAAA,IAAwCJ,YAAA,EAAA7B,IAAA,KAAqBf,kBAAA;MAAA;IAAA;IAGhE8C,GAAA,IAAC9C,kBAAA,EAAoBE,aAAA,EAAeN,kBAAA;IAAmBR,CAAA,OAAAc,aAAA;IAAAd,CAAA,OAAAY,kBAAA;IAAAZ,CAAA,OAAAQ,kBAAA;IAAAR,CAAA,OAAAyD,EAAA;IAAAzD,CAAA,OAAA0D,GAAA;EAAA;IAAAD,EAAA,GAAAzD,CAAA;IAAA0D,GAAA,GAAA1D,CAAA;EAAA;EAN1Dd,SAAA,CAAUuE,EAMV,EAAGC,GAAuD;EAAA,IAAAG,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAA9D,CAAA,SAAAc,aAAA,IAAAd,CAAA,SAAAkB,gBAAA,IAAAlB,CAAA,SAAAkC,YAAA;IAEhD2B,GAAA,GAAAA,CAAA;MAAA,IACJ/C,aAAA,IAAiBI,gBAAA;QAGnBgB,YAAA;QACArB,qBAAA,CAAAI,SAAsB;MAAA;IAAA;IAEvB6C,GAAA,IAAC5B,YAAA,EAAcpB,aAAA,EAAeI,gBAAA;IAAiBlB,CAAA,OAAAc,aAAA;IAAAd,CAAA,OAAAkB,gBAAA;IAAAlB,CAAA,OAAAkC,YAAA;IAAAlC,CAAA,OAAA6D,GAAA;IAAA7D,CAAA,OAAA8D,GAAA;EAAA;IAAAD,GAAA,GAAA7D,CAAA;IAAA8D,GAAA,GAAA9D,CAAA;EAAA;EAPlDd,SAAA,CAAU2E,GAOV,EAAGC,GAA+C;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAhE,CAAA,SAAAc,aAAA,IAAAd,CAAA,SAAAiC,YAAA;IAExC8B,GAAA,GAAAA,CAAA;MAAA,IACJjD,aAAA,KAAkBmB,YAAA;QACpBd,mBAAA,CAAAF,SAAoB;MAAA;IAAA;IAErB+C,GAAA,IAAC/B,YAAA,EAAcnB,aAAA;IAAcd,CAAA,OAAAc,aAAA;IAAAd,CAAA,OAAAiC,YAAA;IAAAjC,CAAA,OAAA+D,GAAA;IAAA/D,CAAA,OAAAgE,GAAA;EAAA;IAAAD,GAAA,GAAA/D,CAAA;IAAAgE,GAAA,GAAAhE,CAAA;EAAA;EAJhCd,SAAA,CAAU6E,GAIV,EAAGC,GAA6B;EAGR,MAAAC,GAAA,GAAAzD,kBAAkB;EAAlB,MAAA0D,GAAA,GAAAD,GAAqB,CAAAE,MAAA,CAAAC,QAAA;EAAgB,IAAAC,GAAA;EAAA,IAAArE,CAAA,SAAAiE,GAAA,CAAAE,MAAA,CAAAC,QAAA,IAAApE,CAAA,SAAAsB,IAAA,IAAAtB,CAAA,SAAAuB,CAAA,IAAAvB,CAAA,SAAAU,IAAA,IAAAV,CAAA,SAAAG,IAAA,IAAAH,CAAA,SAAAQ,kBAAA,IAAAR,CAAA,SAAAM,QAAA,IAAAN,CAAA,SAAAC,eAAA,IAAAD,CAAA,SAAAwB,WAAA,IAAAxB,CAAA,SAAA+B,qBAAA,IAAA/B,CAAA,SAAA8C,MAAA,IAAA9C,CAAA,SAAA8B,cAAA,IAAA9B,CAAA,SAAAoB,SAAA,IAAApB,CAAA,SAAAS,WAAA,IAAAT,CAAA,SAAAkB,gBAAA;IAKzDmD,GAAA,GAAAtB,MAAA,CAAAC,GAAA,8B;;MANJ,MAAAsB,KAAA,GAAc/C,CAAA,CAAE;QAAA+C,KAAA,EACPxF,cAAA,CAAeoF,GAAqC,EAAE5C,IAAA;MAAA,CAC/D;MAAA,IAEIZ,IAAA;QAEA2D,GAAA,GAAAE,KAAA,CAAC;UAAAC,SAAA,EAAA3E,SAAA;UAAA6C,EAAA,EAA8B,GAAGvC,IAAA,UAAc;UAAAsE,QAAA,GAC7CjE,kBAAA,CAAAO,MAAA,MAA8B,IAC7BwD,KAAA,CAAAvF,QAAA;YAAAyF,QAAA,GACEC,IAAA,CAAC3C,qBAAA;cAAAyC,SAAA,EACY,CACT,GAAA3E,SAAA,cAA0B,EAC1BS,QAAA,IAAY,GAAAT,SAAA,wBAAoC,EAAA8E,MAAA,CAAAC,OAExC,EAAAC,IAAA,CACF;cAAAC,OAAA,EAAAA,CAAA,KACOrD,cAAA,MAAe;cAAAsD,YAAA,EAAAA,CAAA,KACVtD,cAAA,KAAe;cAAAuD,YAAA,EAAAA,CAAA,KACfvD,cAAA,MAAe;cAAAgD,QAAA,EAElCxE,eAAA,GACCA,eAAA,GAEAsE,KAAA,CAAAvF,QAAA;gBAAAyF,QAAA,GACEC,IAAA,CAAA/E,OAAA;kBAAA6E,SAAA,EAAoB,GAAA3E,SAAA,WAAuB;kBAAAa,IAAA,EAAQc,WAAA;kBAAAiD,QAAA,EAChDH;gBAAA,C,GAEHI,IAAA,CAAAtF,QAAA,IAAC;cAAA,C;gBAIPsF,IAAA,CAAC5C,cAAA;cAAAgB;YAAA,C;cAGJtC,kBAAA,CAAAO,MAAA,IAA4B,IAC3BwD,KAAA,CAAAvF,QAAA;YAAAyF,QAAA,GACEC,IAAA,CAAAjF,KAAA;cAAAwF,MAAA,EAEIhF,eAAA,GACEA,eAAA,GAEAyE,IAAA,CAAAnF,MAAA;gBAAA2F,WAAA,EACc;gBAAAV,SAAA,EACD,GAAA3E,SAAA,cAA0B;gBAAAsF,OAAA,EAC5B/D,SAAA,GAAAH,SAAA,GAAwBM,CAAA,CAAE;gBAAAkD,QAAA,EAEnCC,IAAA,CAAAtF,QAAA,IAAC;cAAA,C;0BAII;cAAAgG,eAAA,EACK;cAAAC,YAAA,EACFnC,aAAA;cAAAoC,MAAA,EAAAC,GAAA;gBACL;kBAAAC,KAAA,EAAAC;gBAAA,IAAAF,GAAqB;gBAAA,OAC5Bb,IAAA,CAAAhF,SAAA,CAAAgG,WAAA;kBAAAjB,QAAA,EACGjE,kBAAA,CAAAmF,GAAA,CAAAC,iBAAA;oBAAA,IACKnF,WAAA,CAAA4C,WAAA,CAAwBuC,iBAAA,EAAAjE,IAAA,EAAA2B,MAAA,CAAAC,UAAA;sBAAA,OAExBmB,IAAA,CAAAhF,SAAA,CAAAH,MAAA;wBAAAiF,SAAA,EACa,GAAA3E,SAAA,sBAAkC+F,iBAAA,EAAAjE,IAAA,EAAyB;wBAAAmD,OAAA,EAAAA,CAAA;0BAGpEW,UAAA;0BACA5E,qBAAA,CAAsB+E,iBAAA,EAAAjE,IAAmB;wBAAA;wBAAA8C,QAAA,EAG1C3F,cAAA,CAAe8G,iBAAA,EAAAzB,MAAA,EAAAC,QAAA,EAAqC9C,IAAA;sBAAA,GANhDsE,iBAAA,EAAAjE,IAAmB;oBAAA;oBAAA;kBAAA,CAYhC;gBAAA,C;;oBAGC;YAAA,C,GAENT,gBAAA,IACCT,WAAA,CAAA4C,WAAA,CAAwBnC,gBAAA,EAAAS,IAAA,GAAA2B,MAAA,EAAAC,UAAiC,IACvDmB,IAAA,CAAC5C,cAAA;cAAAgB;YAAA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQjB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","useEffect","useState","PlusIcon","useAuth","useTranslation","Button","useDocumentDrawer","Popup","PopupList","Tooltip","useRelatedCollections","baseClass","AddNewRelation","t0","$","ButtonFromProps","hasMany","path","relationTo","setValue","unstyled","value","relatedCollections","permissions","show","setShow","selectedCollection","setSelectedCollection","relatedToMany","length","t1","undefined","collectionConfig","setCollectionConfig","popupOpen","setPopupOpen","i18n","t","showTooltip","setShowTooltip","t2","slug","t3","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t4","isDrawerOpen","toggleDrawer","t5","t6","doc","operation","newValue","Array","isArray","id","isNewValue","some","v","onSave","Symbol","for","state","onPopupToggle","t7","t8","collections","create","collection","t9","t10","find","collection_0","t11","t12","t13","t14","t15","t16","labels","singular","t17","label","_jsxs","className","children","_jsx","filter","Boolean","join","onClick","onMouseEnter","onMouseLeave","button","buttonStyle","tooltip","horizontalAlign","onToggleOpen","render","t18","close","closePopup","ButtonGroup","map","relatedCollection"],"sources":["../../../src/elements/AddNewRelation/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { Value } from '../../fields/Relationship/types.js'\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\nimport type { Props } from './types.js'\n\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { Popup } from '../Popup/index.js'\nimport * as PopupList from '../Popup/PopupButtonList/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\nimport { useRelatedCollections } from './useRelatedCollections.js'\n\nconst baseClass = 'relationship-add-new'\n\nexport const AddNewRelation: React.FC<Props> = ({\n Button: ButtonFromProps,\n hasMany,\n path,\n relationTo,\n setValue,\n unstyled,\n value,\n}) => {\n const relatedCollections = useRelatedCollections(relationTo)\n const { permissions } = useAuth()\n const [show, setShow] = useState(false)\n const [selectedCollection, setSelectedCollection] = useState<string>()\n const relatedToMany = relatedCollections.length > 1\n const [collectionConfig, setCollectionConfig] = useState<ClientCollectionConfig>(() =>\n !relatedToMany ? relatedCollections[0] : undefined,\n )\n const [popupOpen, setPopupOpen] = useState(false)\n const { i18n, t } = useTranslation()\n const [showTooltip, setShowTooltip] = useState(false)\n\n const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen, toggleDrawer }] = useDocumentDrawer(\n {\n collectionSlug: collectionConfig?.slug,\n },\n )\n\n const onSave: DocumentDrawerContextType['onSave'] = useCallback(\n ({ doc, operation }) => {\n if (operation === 'create') {\n const newValue: Value = Array.isArray(relationTo)\n ? {\n relationTo: collectionConfig?.slug,\n value: doc.id,\n }\n : doc.id\n\n // ensure the value is not already in the array\n const isNewValue =\n Array.isArray(relationTo) && Array.isArray(value)\n ? !value.some((v) => v && typeof v === 'object' && v.value === doc.id)\n : value !== doc.id\n\n if (isNewValue) {\n // dispatchOptions({\n // collection: collectionConfig,\n // // TODO: fix this\n // // @ts-expect-error-next-line\n // type: 'ADD',\n // config,\n // docs: [doc],\n // i18n,\n // sort: true,\n // })\n\n if (hasMany) {\n setValue([...(Array.isArray(value) ? value : []), newValue])\n } else {\n setValue(newValue)\n }\n }\n\n setSelectedCollection(undefined)\n }\n },\n [relationTo, collectionConfig, hasMany, setValue, value],\n )\n\n const onPopupToggle = useCallback((state) => {\n setPopupOpen(state)\n }, [])\n\n useEffect(() => {\n if (permissions) {\n if (relatedCollections.length === 1) {\n setShow(permissions.collections[relatedCollections[0]?.slug]?.create)\n } else {\n setShow(\n relatedCollections.some(\n (collection) => permissions.collections[collection?.slug]?.create,\n ),\n )\n }\n }\n }, [permissions, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && selectedCollection) {\n setCollectionConfig(\n relatedCollections.find((collection) => collection?.slug === selectedCollection),\n )\n }\n }, [selectedCollection, relatedToMany, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && collectionConfig) {\n // the drawer must be rendered on the page before before opening it\n // this is why 'selectedCollection' is different from 'collectionConfig'\n toggleDrawer()\n setSelectedCollection(undefined)\n }\n }, [toggleDrawer, relatedToMany, collectionConfig])\n\n useEffect(() => {\n if (relatedToMany && !isDrawerOpen) {\n setCollectionConfig(undefined)\n }\n }, [isDrawerOpen, relatedToMany])\n\n const label = t('fields:addNewLabel', {\n label: getTranslation(relatedCollections[0].labels.singular, i18n),\n })\n\n if (show) {\n return (\n <div className={baseClass} id={`${path}-add-new`}>\n {relatedCollections.length === 1 && (\n <Fragment>\n <DocumentDrawerToggler\n className={[\n `${baseClass}__add-button`,\n unstyled && `${baseClass}__add-button--unstyled`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={() => setShowTooltip(false)}\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n >\n {ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Fragment>\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {label}\n </Tooltip>\n <PlusIcon />\n </Fragment>\n )}\n </DocumentDrawerToggler>\n <DocumentDrawer onSave={onSave} />\n </Fragment>\n )}\n {relatedCollections.length > 1 && (\n <Fragment>\n <Popup\n button={\n ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__add-button`}\n tooltip={popupOpen ? undefined : t('fields:addNew')}\n >\n <PlusIcon />\n </Button>\n )\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n onToggleOpen={onPopupToggle}\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relatedCollections.map((relatedCollection) => {\n if (permissions.collections[relatedCollection?.slug].create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection?.slug}`}\n key={relatedCollection?.slug}\n onClick={() => {\n closePopup()\n setSelectedCollection(relatedCollection?.slug)\n }}\n >\n {getTranslation(relatedCollection?.labels?.singular, i18n)}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"medium\"\n />\n {collectionConfig && permissions.collections[collectionConfig?.slug]?.create && (\n <DocumentDrawer onSave={onSave} />\n )}\n </Fragment>\n )}\n </div>\n )\n }\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,9 @@
1
1
  import React from 'react';
2
2
  import './index.scss';
3
- export declare const AppHeader: React.FC;
3
+ type Props = {
4
+ CustomAvatar?: React.ReactNode;
5
+ CustomIcon?: React.ReactNode;
6
+ };
7
+ export declare function AppHeader({ CustomAvatar, CustomIcon }: Props): React.JSX.Element;
8
+ export {};
4
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AppHeader/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAc1D,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAsF7B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AppHeader/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAc1D,OAAO,cAAc,CAAA;AAIrB,KAAK,KAAK,GAAG;IACX,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC7B,CAAA;AACD,wBAAgB,SAAS,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,KAAK,qBA0F5D"}
@@ -6,7 +6,6 @@ import React, { useEffect, useRef, useState } from 'react';
6
6
  import { Account } from '../../graphics/Account/index.js';
7
7
  import { useActions } from '../../providers/Actions/index.js';
8
8
  import { useConfig } from '../../providers/Config/index.js';
9
- import { RenderComponent } from '../../providers/Config/RenderComponent.js';
10
9
  import { useTranslation } from '../../providers/Translation/index.js';
11
10
  import { formatAdminURL } from '../../utilities/formatAdminURL.js';
12
11
  import { Hamburger } from '../Hamburger/index.js';
@@ -14,13 +13,20 @@ import { Localizer } from '../Localizer/index.js';
14
13
  import { LocalizerLabel } from '../Localizer/LocalizerLabel/index.js';
15
14
  import { useNav } from '../Nav/context.js';
16
15
  import { NavToggler } from '../Nav/NavToggler/index.js';
16
+ import { RenderCustomComponent } from '../RenderCustomComponent/index.js';
17
17
  import { StepNav } from '../StepNav/index.js';
18
18
  import './index.scss';
19
19
  const baseClass = 'app-header';
20
- export const AppHeader = () => {
20
+ export function AppHeader({
21
+ CustomAvatar,
22
+ CustomIcon
23
+ }) {
21
24
  const {
22
25
  t
23
26
  } = useTranslation();
27
+ const {
28
+ Actions
29
+ } = useActions();
24
30
  const {
25
31
  config: {
26
32
  admin: {
@@ -34,9 +40,6 @@ export const AppHeader = () => {
34
40
  }
35
41
  }
36
42
  } = useConfig();
37
- const {
38
- actions
39
- } = useActions();
40
43
  const {
41
44
  navOpen
42
45
  } = useNav();
@@ -55,9 +58,10 @@ export const AppHeader = () => {
55
58
  return () => {
56
59
  window.removeEventListener('resize', checkIsScrollable);
57
60
  };
58
- }, [actions]);
61
+ }, [Actions]);
59
62
  const Link = LinkWithDefault.default;
60
63
  const LinkElement = Link || 'a';
64
+ const ActionComponents = Actions ? Object.values(Actions) : [];
61
65
  return /*#__PURE__*/_jsxs("header", {
62
66
  className: [baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' '),
63
67
  children: [/*#__PURE__*/_jsx("div", {
@@ -76,6 +80,7 @@ export const AppHeader = () => {
76
80
  className: `${baseClass}__step-nav-wrapper`,
77
81
  children: /*#__PURE__*/_jsx(StepNav, {
78
82
  className: `${baseClass}__step-nav`,
83
+ CustomIcon: CustomIcon,
79
84
  Link: Link
80
85
  })
81
86
  }), /*#__PURE__*/_jsxs("div", {
@@ -83,11 +88,9 @@ export const AppHeader = () => {
83
88
  children: [/*#__PURE__*/_jsx("div", {
84
89
  className: `${baseClass}__actions`,
85
90
  ref: customControlsRef,
86
- children: Array.isArray(actions) && actions.map((Action, i) => /*#__PURE__*/_jsx("div", {
87
- className: isScrollable && i === actions.length - 1 ? `${baseClass}__last-action` : '',
88
- children: /*#__PURE__*/_jsx(RenderComponent, {
89
- mappedComponent: Action
90
- })
91
+ children: ActionComponents.map((Action, i) => /*#__PURE__*/_jsx("div", {
92
+ className: isScrollable && i === ActionComponents.length - 1 ? `${baseClass}__last-action` : '',
93
+ children: Action
91
94
  }, i))
92
95
  }), isScrollable && /*#__PURE__*/_jsx("div", {
93
96
  className: `${baseClass}__gradient-placeholder`
@@ -102,8 +105,12 @@ export const AppHeader = () => {
102
105
  adminRoute,
103
106
  path: accountRoute
104
107
  }),
108
+ prefetch: Link ? false : undefined,
105
109
  tabIndex: 0,
106
- children: /*#__PURE__*/_jsx(Account, {})
110
+ children: /*#__PURE__*/_jsx(RenderCustomComponent, {
111
+ CustomComponent: CustomAvatar,
112
+ Fallback: /*#__PURE__*/_jsx(Account, {})
113
+ })
107
114
  })]
108
115
  })]
109
116
  })
@@ -111,5 +118,5 @@ export const AppHeader = () => {
111
118
  className: `${baseClass}__localizer`
112
119
  })]
113
120
  });
114
- };
121
+ }
115
122
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["LinkWithDefault","React","useEffect","useRef","useState","Account","useActions","useConfig","RenderComponent","useTranslation","formatAdminURL","Hamburger","Localizer","LocalizerLabel","useNav","NavToggler","StepNav","baseClass","AppHeader","t","config","admin","routes","account","accountRoute","localization","adminRoute","actions","navOpen","customControlsRef","isScrollable","setIsScrollable","checkIsScrollable","el","current","scrollable","scrollWidth","clientWidth","window","addEventListener","removeEventListener","Link","default","LinkElement","_jsxs","className","filter","Boolean","join","_jsx","tabIndex","ref","Array","isArray","map","Action","i","length","mappedComponent","ariaLabel","href","path"],"sources":["../../../src/elements/AppHeader/index.tsx"],"sourcesContent":["'use client'\nimport LinkWithDefault from 'next/link.js'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { Account } from '../../graphics/Account/index.js'\nimport { useActions } from '../../providers/Actions/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { Hamburger } from '../Hamburger/index.js'\nimport { Localizer } from '../Localizer/index.js'\nimport { LocalizerLabel } from '../Localizer/LocalizerLabel/index.js'\nimport { useNav } from '../Nav/context.js'\nimport { NavToggler } from '../Nav/NavToggler/index.js'\nimport { StepNav } from '../StepNav/index.js'\nimport './index.scss'\n\nconst baseClass = 'app-header'\n\nexport const AppHeader: React.FC = () => {\n const { t } = useTranslation()\n\n const {\n config: {\n admin: {\n routes: { account: accountRoute },\n },\n localization,\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { actions } = useActions()\n\n const { navOpen } = useNav()\n\n const customControlsRef = useRef<HTMLDivElement>(null)\n const [isScrollable, setIsScrollable] = useState(false)\n\n useEffect(() => {\n const checkIsScrollable = () => {\n const el = customControlsRef.current\n if (el) {\n const scrollable = el.scrollWidth > el.clientWidth\n setIsScrollable(scrollable)\n }\n }\n\n checkIsScrollable()\n window.addEventListener('resize', checkIsScrollable)\n\n return () => {\n window.removeEventListener('resize', checkIsScrollable)\n }\n }, [actions])\n\n const Link = LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n\n return (\n <header className={[baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__bg`} />\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__wrapper`}>\n <NavToggler className={`${baseClass}__mobile-nav-toggler`} tabIndex={-1}>\n <Hamburger />\n </NavToggler>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__step-nav-wrapper`}>\n <StepNav className={`${baseClass}__step-nav`} Link={Link} />\n </div>\n <div className={`${baseClass}__actions-wrapper`}>\n <div className={`${baseClass}__actions`} ref={customControlsRef}>\n {Array.isArray(actions) &&\n actions.map((Action, i) => (\n <div\n className={\n isScrollable && i === actions.length - 1 ? `${baseClass}__last-action` : ''\n }\n key={i}\n >\n <RenderComponent mappedComponent={Action} />\n </div>\n ))}\n </div>\n {isScrollable && <div className={`${baseClass}__gradient-placeholder`} />}\n </div>\n {localization && (\n <LocalizerLabel ariaLabel=\"invisible\" className={`${baseClass}__localizer-spacing`} />\n )}\n <LinkElement\n aria-label={t('authentication:account')}\n className={`${baseClass}__account`}\n href={formatAdminURL({ adminRoute, path: accountRoute })}\n tabIndex={0}\n >\n <Account />\n </LinkElement>\n </div>\n </div>\n </div>\n <Localizer className={`${baseClass}__localizer`} />\n </header>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["LinkWithDefault","React","useEffect","useRef","useState","Account","useActions","useConfig","useTranslation","formatAdminURL","Hamburger","Localizer","LocalizerLabel","useNav","NavToggler","RenderCustomComponent","StepNav","baseClass","AppHeader","CustomAvatar","CustomIcon","t","Actions","config","admin","routes","account","accountRoute","localization","adminRoute","navOpen","customControlsRef","isScrollable","setIsScrollable","checkIsScrollable","el","current","scrollable","scrollWidth","clientWidth","window","addEventListener","removeEventListener","Link","default","LinkElement","ActionComponents","Object","values","_jsxs","className","filter","Boolean","join","_jsx","tabIndex","ref","map","Action","i","length","ariaLabel","href","path","prefetch","undefined","CustomComponent","Fallback"],"sources":["../../../src/elements/AppHeader/index.tsx"],"sourcesContent":["'use client'\nimport LinkWithDefault from 'next/link.js'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { Account } from '../../graphics/Account/index.js'\nimport { useActions } from '../../providers/Actions/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { Hamburger } from '../Hamburger/index.js'\nimport { Localizer } from '../Localizer/index.js'\nimport { LocalizerLabel } from '../Localizer/LocalizerLabel/index.js'\nimport { useNav } from '../Nav/context.js'\nimport { NavToggler } from '../Nav/NavToggler/index.js'\nimport { RenderCustomComponent } from '../RenderCustomComponent/index.js'\nimport { StepNav } from '../StepNav/index.js'\nimport './index.scss'\n\nconst baseClass = 'app-header'\n\ntype Props = {\n CustomAvatar?: React.ReactNode\n CustomIcon?: React.ReactNode\n}\nexport function AppHeader({ CustomAvatar, CustomIcon }: Props) {\n const { t } = useTranslation()\n\n const { Actions } = useActions()\n\n const {\n config: {\n admin: {\n routes: { account: accountRoute },\n },\n localization,\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { navOpen } = useNav()\n\n const customControlsRef = useRef<HTMLDivElement>(null)\n const [isScrollable, setIsScrollable] = useState(false)\n\n useEffect(() => {\n const checkIsScrollable = () => {\n const el = customControlsRef.current\n if (el) {\n const scrollable = el.scrollWidth > el.clientWidth\n setIsScrollable(scrollable)\n }\n }\n\n checkIsScrollable()\n window.addEventListener('resize', checkIsScrollable)\n\n return () => {\n window.removeEventListener('resize', checkIsScrollable)\n }\n }, [Actions])\n\n const Link = LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n\n const ActionComponents = Actions ? Object.values(Actions) : []\n\n return (\n <header className={[baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__bg`} />\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__wrapper`}>\n <NavToggler className={`${baseClass}__mobile-nav-toggler`} tabIndex={-1}>\n <Hamburger />\n </NavToggler>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__step-nav-wrapper`}>\n <StepNav className={`${baseClass}__step-nav`} CustomIcon={CustomIcon} Link={Link} />\n </div>\n <div className={`${baseClass}__actions-wrapper`}>\n <div className={`${baseClass}__actions`} ref={customControlsRef}>\n {ActionComponents.map((Action, i) => (\n <div\n className={\n isScrollable && i === ActionComponents.length - 1\n ? `${baseClass}__last-action`\n : ''\n }\n key={i}\n >\n {Action}\n </div>\n ))}\n </div>\n {isScrollable && <div className={`${baseClass}__gradient-placeholder`} />}\n </div>\n {localization && (\n <LocalizerLabel ariaLabel=\"invisible\" className={`${baseClass}__localizer-spacing`} />\n )}\n <LinkElement\n aria-label={t('authentication:account')}\n className={`${baseClass}__account`}\n href={formatAdminURL({ adminRoute, path: accountRoute })}\n prefetch={Link ? false : undefined}\n tabIndex={0}\n >\n <RenderCustomComponent CustomComponent={CustomAvatar} Fallback={<Account />} />\n </LinkElement>\n </div>\n </div>\n </div>\n <Localizer className={`${baseClass}__localizer`} />\n </header>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -107,7 +107,6 @@
107
107
 
108
108
  &__actions-wrapper {
109
109
  position: relative;
110
- overflow: hidden;
111
110
  display: flex;
112
111
  align-items: center;
113
112
  gap: calc(var(--base) / 2);
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Autosave/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAGzE,OAAO,KAAsC,MAAM,OAAO,CAAA;AAiB1D,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,sBAAsB,CAAA;IACnC,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,qBAAqB,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+OpC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Autosave/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAGzE,OAAO,KAAsC,MAAM,OAAO,CAAA;AAkB1D,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,sBAAsB,CAAA;IACnC,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,qBAAqB,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAqPpC,CAAA"}
@@ -2,10 +2,11 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { versionDefaults } from 'payload/shared';
5
- import React, { useEffect, useRef, useState } from 'react';
5
+ import React, { useRef, useState } from 'react';
6
6
  import { toast } from 'sonner';
7
7
  import { useAllFormFields, useForm, useFormModified, useFormSubmitted } from '../../forms/Form/context.js';
8
8
  import { useDebounce } from '../../hooks/useDebounce.js';
9
+ import { useIgnoredEffect } from '../../hooks/useIgnoredEffect.js';
9
10
  import { useConfig } from '../../providers/Config/index.js';
10
11
  import { useDocumentEvents } from '../../providers/DocumentEvents/index.js';
11
12
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
@@ -20,8 +21,7 @@ const minimumAnimationTime = 1000;
20
21
  export const Autosave = ({
21
22
  id,
22
23
  collection,
23
- global: globalDoc,
24
- publishedDocUpdatedAt
24
+ global: globalDoc
25
25
  }) => {
26
26
  const {
27
27
  config: {
@@ -33,8 +33,11 @@ export const Autosave = ({
33
33
  } = useConfig();
34
34
  const {
35
35
  docConfig,
36
- getVersions,
37
- versions
36
+ incrementVersionCount,
37
+ lastUpdateTime,
38
+ mostRecentVersionIsAutosaved,
39
+ setLastUpdateTime,
40
+ setMostRecentVersionIsAutosaved
38
41
  } = useDocumentInfo();
39
42
  const {
40
43
  reportUpdate
@@ -59,7 +62,6 @@ export const Autosave = ({
59
62
  interval = versionsConfig.drafts.autosave.interval;
60
63
  }
61
64
  const [saving, setSaving] = useState(false);
62
- const [lastSaved, setLastSaved] = useState();
63
65
  const debouncedFields = useDebounce(fields, interval);
64
66
  const modified = useDebounce(formModified, interval);
65
67
  const fieldRef = useRef(fields);
@@ -79,7 +81,7 @@ export const Autosave = ({
79
81
  // can always retrieve the most to date locale
80
82
  localeRef.current = locale;
81
83
  // When debounced fields change, autosave
82
- useEffect(() => {
84
+ useIgnoredEffect(() => {
83
85
  const abortController = new AbortController();
84
86
  let autosaveTimeout = undefined;
85
87
  // We need to log the time in order to figure out if we need to trigger the state off later
@@ -127,13 +129,16 @@ export const Autosave = ({
127
129
  // We need to log the time in order to figure out if we need to trigger the state off later
128
130
  endTimestamp = newDate.getTime();
129
131
  if (res.status === 200) {
130
- setLastSaved(newDate.getTime());
132
+ setLastUpdateTime(newDate.getTime());
131
133
  reportUpdate({
132
134
  id,
133
135
  entitySlug,
134
136
  updatedAt: newDate.toISOString()
135
137
  });
136
- void getVersions();
138
+ if (!mostRecentVersionIsAutosaved) {
139
+ incrementVersionCount();
140
+ setMostRecentVersionIsAutosaved(true);
141
+ }
137
142
  } else {
138
143
  return res.json();
139
144
  }
@@ -198,20 +203,13 @@ export const Autosave = ({
198
203
  }
199
204
  setSaving(false);
200
205
  };
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]);
206
+ }, [debouncedFields], [api, collection, dispatchFields, globalDoc, i18n, id, interval, modified, reportUpdate, serverURL, setSubmitted, versionsConfig?.drafts, submitted, setLastUpdateTime, mostRecentVersionIsAutosaved, incrementVersionCount, setMostRecentVersionIsAutosaved]);
209
207
  return /*#__PURE__*/_jsxs("div", {
210
208
  className: baseClass,
211
- children: [saving && t('general:saving'), !saving && Boolean(lastSaved) && /*#__PURE__*/_jsx(React.Fragment, {
209
+ children: [saving && t('general:saving'), !saving && Boolean(lastUpdateTime) && /*#__PURE__*/_jsx(React.Fragment, {
212
210
  children: t('version:lastSavedAgo', {
213
211
  distance: formatTimeToNow({
214
- date: lastSaved,
212
+ date: lastUpdateTime,
215
213
  i18n
216
214
  })
217
215
  })
@@ -1 +1 @@
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
+ {"version":3,"file":"index.js","names":["versionDefaults","React","useRef","useState","toast","useAllFormFields","useForm","useFormModified","useFormSubmitted","useDebounce","useIgnoredEffect","useConfig","useDocumentEvents","useDocumentInfo","useLocale","useTranslation","formatTimeToNow","reduceFieldsToValuesWithValidation","baseClass","minimumAnimationTime","Autosave","id","collection","global","globalDoc","config","routes","api","serverURL","docConfig","incrementVersionCount","lastUpdateTime","mostRecentVersionIsAutosaved","setLastUpdateTime","setMostRecentVersionIsAutosaved","reportUpdate","dispatchFields","setSubmitted","submitted","versionsConfig","versions","fields","formModified","code","locale","i18n","t","interval","autosaveInterval","drafts","autosave","saving","setSaving","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","_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 { useIgnoredEffect } from '../../hooks/useIgnoredEffect.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> = ({ id, collection, global: globalDoc }) => {\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const {\n docConfig,\n incrementVersionCount,\n lastUpdateTime,\n mostRecentVersionIsAutosaved,\n setLastUpdateTime,\n setMostRecentVersionIsAutosaved,\n } = 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 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 useIgnoredEffect(\n () => {\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 setLastUpdateTime(newDate.getTime())\n\n reportUpdate({\n id,\n entitySlug,\n updatedAt: newDate.toISOString(),\n })\n\n if (!mostRecentVersionIsAutosaved) {\n incrementVersionCount()\n setMostRecentVersionIsAutosaved(true)\n }\n } else {\n return res.json()\n }\n })\n .then((json) => {\n if (\n versionsConfig?.drafts &&\n versionsConfig?.drafts?.validate &&\n json?.errors\n ) {\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 [debouncedFields],\n [\n api,\n collection,\n dispatchFields,\n globalDoc,\n i18n,\n id,\n interval,\n modified,\n reportUpdate,\n serverURL,\n setSubmitted,\n versionsConfig?.drafts,\n submitted,\n setLastUpdateTime,\n mostRecentVersionIsAutosaved,\n incrementVersionCount,\n setMostRecentVersionIsAutosaved,\n ],\n )\n\n return (\n <div className={baseClass}>\n {saving && t('general:saving')}\n {!saving && Boolean(lastUpdateTime) && (\n <React.Fragment>\n {t('version:lastSavedAgo', {\n distance: formatTimeToNow({ date: lastUpdateTime, 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,CAqClC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Banner/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGvC,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"}
@@ -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) {\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
+ {"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 type { MouseEvent } from 'react'\n\nimport LinkImport from 'next/link.js' // TODO: abstract this out to support all routers\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;;;AAGA,OAAOA,UAAA,MAAgB,eAAc,CAAC;AACtC,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":[]}
@@ -104,12 +104,12 @@ export function ActionsBar() {
104
104
  return t1;
105
105
  }
106
106
  export function Actions(t0) {
107
- const $ = _c(14);
107
+ const $ = _c(12);
108
108
  const {
109
109
  className
110
110
  } = t0;
111
111
  const {
112
- config
112
+ getEntityConfig
113
113
  } = useConfig();
114
114
  const {
115
115
  t
@@ -121,34 +121,28 @@ export function Actions(t0) {
121
121
  saveAllDocs
122
122
  } = useFormsManager();
123
123
  let t1;
124
- if ($[0] !== collectionSlug || $[1] !== config.collections) {
125
- let t2;
126
- if ($[3] !== collectionSlug) {
127
- t2 = c => c.slug === collectionSlug;
128
- $[3] = collectionSlug;
129
- $[4] = t2;
130
- } else {
131
- t2 = $[4];
132
- }
133
- t1 = config.collections.find(t2);
124
+ if ($[0] !== collectionSlug || $[1] !== getEntityConfig) {
125
+ t1 = getEntityConfig({
126
+ collectionSlug
127
+ });
134
128
  $[0] = collectionSlug;
135
- $[1] = config.collections;
129
+ $[1] = getEntityConfig;
136
130
  $[2] = t1;
137
131
  } else {
138
132
  t1 = $[2];
139
133
  }
140
134
  const collectionConfig = t1;
141
135
  let t2;
142
- if ($[5] !== className) {
136
+ if ($[3] !== className) {
143
137
  t2 = [`${baseClass}__buttons`, className].filter(Boolean);
144
- $[5] = className;
145
- $[6] = t2;
138
+ $[3] = className;
139
+ $[4] = t2;
146
140
  } else {
147
- t2 = $[6];
141
+ t2 = $[4];
148
142
  }
149
143
  const t3 = t2.join(" ");
150
144
  let t4;
151
- if ($[7] !== collectionConfig?.versions?.drafts || $[8] !== hasSavePermission || $[9] !== saveAllDocs || $[10] !== t || $[11] !== hasPublishPermission || $[12] !== t3) {
145
+ if ($[5] !== collectionConfig?.versions?.drafts || $[6] !== hasSavePermission || $[7] !== saveAllDocs || $[8] !== t || $[9] !== hasPublishPermission || $[10] !== t3) {
152
146
  t4 = _jsxs("div", {
153
147
  className: t3,
154
148
  children: [collectionConfig?.versions?.drafts && hasSavePermission ? _jsx(Button, {
@@ -171,15 +165,15 @@ export function Actions(t0) {
171
165
  children: t("general:save")
172
166
  }) : null]
173
167
  });
174
- $[7] = collectionConfig?.versions?.drafts;
175
- $[8] = hasSavePermission;
176
- $[9] = saveAllDocs;
177
- $[10] = t;
178
- $[11] = hasPublishPermission;
179
- $[12] = t3;
180
- $[13] = t4;
168
+ $[5] = collectionConfig?.versions?.drafts;
169
+ $[6] = hasSavePermission;
170
+ $[7] = saveAllDocs;
171
+ $[8] = t;
172
+ $[9] = hasPublishPermission;
173
+ $[10] = t3;
174
+ $[11] = t4;
181
175
  } else {
182
- t4 = $[13];
176
+ t4 = $[11];
183
177
  }
184
178
  return t4;
185
179
  }