@payloadcms/ui 3.0.0-beta.77 → 3.0.0-beta.79

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 (568) hide show
  1. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  2. package/dist/elements/AppHeader/index.js +5 -2
  3. package/dist/elements/AppHeader/index.js.map +1 -1
  4. package/dist/elements/AppHeader/index.scss +5 -3
  5. package/dist/elements/Autosave/index.d.ts.map +1 -1
  6. package/dist/elements/Autosave/index.js +1 -1
  7. package/dist/elements/Autosave/index.js.map +1 -1
  8. package/dist/elements/Card/index.scss +3 -3
  9. package/dist/elements/Collapsible/index.scss +4 -1
  10. package/dist/elements/ColumnSelector/index.d.ts +1 -1
  11. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  12. package/dist/elements/ColumnSelector/index.js +2 -2
  13. package/dist/elements/ColumnSelector/index.js.map +1 -1
  14. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  15. package/dist/elements/DeleteDocument/index.js +1 -1
  16. package/dist/elements/DeleteDocument/index.js.map +1 -1
  17. package/dist/elements/DeleteDocument/index.scss +1 -0
  18. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  19. package/dist/elements/DeleteMany/index.js +1 -1
  20. package/dist/elements/DeleteMany/index.js.map +1 -1
  21. package/dist/elements/DeleteMany/index.scss +1 -0
  22. package/dist/elements/DocumentControls/index.d.ts +10 -10
  23. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  24. package/dist/elements/DocumentControls/index.js +11 -13
  25. package/dist/elements/DocumentControls/index.js.map +1 -1
  26. package/dist/elements/DocumentControls/index.scss +18 -7
  27. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  28. package/dist/elements/DocumentDrawer/DrawerContent.js +6 -5
  29. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  30. package/dist/elements/DocumentDrawer/types.d.ts +10 -10
  31. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  32. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  33. package/dist/elements/DocumentFields/index.d.ts +9 -9
  34. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  35. package/dist/elements/DocumentFields/index.js +6 -5
  36. package/dist/elements/DocumentFields/index.js.map +1 -1
  37. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +6 -6
  38. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts.map +1 -1
  39. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  40. package/dist/elements/Drawer/types.d.ts +7 -7
  41. package/dist/elements/Drawer/types.d.ts.map +1 -1
  42. package/dist/elements/Drawer/types.js.map +1 -1
  43. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  44. package/dist/elements/DuplicateDocument/index.js +1 -2
  45. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  46. package/dist/elements/DuplicateDocument/index.scss +1 -0
  47. package/dist/elements/EditMany/index.d.ts +3 -3
  48. package/dist/elements/EditMany/index.d.ts.map +1 -1
  49. package/dist/elements/EditMany/index.js +4 -4
  50. package/dist/elements/EditMany/index.js.map +1 -1
  51. package/dist/elements/EditMany/index.scss +4 -10
  52. package/dist/elements/FieldSelect/index.d.ts +4 -4
  53. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  54. package/dist/elements/FieldSelect/index.js +32 -21
  55. package/dist/elements/FieldSelect/index.js.map +1 -1
  56. package/dist/elements/GenerateConfirmation/index.scss +1 -0
  57. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +2 -2
  58. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  59. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +4 -3
  60. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  61. package/dist/elements/ListControls/index.d.ts +2 -2
  62. package/dist/elements/ListControls/index.d.ts.map +1 -1
  63. package/dist/elements/ListControls/index.js +8 -8
  64. package/dist/elements/ListControls/index.js.map +1 -1
  65. package/dist/elements/ListControls/index.scss +14 -5
  66. package/dist/elements/ListDrawer/DrawerContent.js +6 -5
  67. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  68. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  69. package/dist/elements/ListDrawer/index.js +1 -1
  70. package/dist/elements/ListDrawer/index.js.map +1 -1
  71. package/dist/elements/ListDrawer/index.scss +4 -4
  72. package/dist/elements/ListDrawer/types.d.ts +6 -6
  73. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  74. package/dist/elements/ListDrawer/types.js.map +1 -1
  75. package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
  76. package/dist/elements/Localizer/LocalizerLabel/index.js +5 -4
  77. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  78. package/dist/elements/Localizer/LocalizerLabel/index.scss +6 -0
  79. package/dist/elements/Localizer/index.js +1 -1
  80. package/dist/elements/Localizer/index.js.map +1 -1
  81. package/dist/elements/Logout/index.d.ts.map +1 -1
  82. package/dist/elements/Logout/index.js +6 -6
  83. package/dist/elements/Logout/index.js.map +1 -1
  84. package/dist/elements/Popup/index.d.ts +1 -1
  85. package/dist/elements/Popup/index.d.ts.map +1 -1
  86. package/dist/elements/Popup/index.js.map +1 -1
  87. package/dist/elements/PreviewButton/index.d.ts +2 -1
  88. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  89. package/dist/elements/PreviewButton/index.js +6 -1
  90. package/dist/elements/PreviewButton/index.js.map +1 -1
  91. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  92. package/dist/elements/PreviewButton/usePreviewURL.js +1 -1
  93. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  94. package/dist/elements/PublishButton/index.d.ts +2 -1
  95. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  96. package/dist/elements/PublishButton/index.js +4 -1
  97. package/dist/elements/PublishButton/index.js.map +1 -1
  98. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  99. package/dist/elements/PublishMany/index.js +1 -1
  100. package/dist/elements/PublishMany/index.js.map +1 -1
  101. package/dist/elements/PublishMany/index.scss +1 -0
  102. package/dist/elements/ReactSelect/Control/index.d.ts.map +1 -1
  103. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  104. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  105. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  106. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
  107. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  108. package/dist/elements/ReactSelect/SingleValue/index.d.ts.map +1 -1
  109. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  110. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  111. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  112. package/dist/elements/SaveButton/index.d.ts +2 -1
  113. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  114. package/dist/elements/SaveButton/index.js +4 -1
  115. package/dist/elements/SaveButton/index.js.map +1 -1
  116. package/dist/elements/SaveDraftButton/index.d.ts +2 -1
  117. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  118. package/dist/elements/SaveDraftButton/index.js +5 -2
  119. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  120. package/dist/elements/Status/index.d.ts.map +1 -1
  121. package/dist/elements/Status/index.js +1 -1
  122. package/dist/elements/Status/index.js.map +1 -1
  123. package/dist/elements/Status/index.scss +1 -0
  124. package/dist/elements/StayLoggedIn/index.js +1 -1
  125. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  126. package/dist/elements/StayLoggedIn/index.scss +1 -0
  127. package/dist/elements/StepNav/index.d.ts +2 -2
  128. package/dist/elements/StepNav/index.d.ts.map +1 -1
  129. package/dist/elements/StepNav/index.js +11 -8
  130. package/dist/elements/StepNav/index.js.map +1 -1
  131. package/dist/elements/StepNav/index.scss +1 -1
  132. package/dist/elements/StepNav/types.d.ts +2 -2
  133. package/dist/elements/StepNav/types.js.map +1 -1
  134. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +2 -3
  135. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
  136. package/dist/elements/Table/DefaultCell/fields/Array/index.js +2 -2
  137. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  138. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +2 -4
  139. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  140. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -1
  141. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  142. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +2 -2
  143. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  144. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  145. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +3 -3
  146. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  147. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  148. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +2 -2
  149. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  150. package/dist/elements/Table/DefaultCell/fields/Date/index.js +4 -4
  151. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  152. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
  153. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  154. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  155. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +2 -2
  156. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  157. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  158. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +2 -4
  159. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  160. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +6 -8
  161. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  162. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +2 -3
  163. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
  164. package/dist/elements/Table/DefaultCell/fields/Select/index.js +1 -1
  165. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  166. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +2 -2
  167. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
  168. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  169. package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
  170. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  171. package/dist/elements/Table/DefaultCell/index.js +16 -12
  172. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  173. package/dist/elements/Table/RelationshipProvider/index.d.ts +1 -1
  174. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  175. package/dist/elements/Table/RelationshipProvider/index.js +1 -2
  176. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  177. package/dist/elements/Table/TableCellProvider/index.d.ts +6 -6
  178. package/dist/elements/Table/TableCellProvider/index.d.ts.map +1 -1
  179. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  180. package/dist/elements/Table/index.d.ts +11 -14
  181. package/dist/elements/Table/index.d.ts.map +1 -1
  182. package/dist/elements/Table/index.js +7 -1
  183. package/dist/elements/Table/index.js.map +1 -1
  184. package/dist/elements/TableColumns/buildColumnState.d.ts +2 -2
  185. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  186. package/dist/elements/TableColumns/buildColumnState.js +30 -32
  187. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  188. package/dist/elements/TableColumns/filterFields.d.ts +2 -2
  189. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  190. package/dist/elements/TableColumns/filterFields.js +8 -11
  191. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  192. package/dist/elements/TableColumns/getInitialColumns.d.ts +2 -3
  193. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  194. package/dist/elements/TableColumns/getInitialColumns.js +9 -11
  195. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  196. package/dist/elements/TableColumns/index.d.ts +6 -6
  197. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  198. package/dist/elements/TableColumns/index.js +8 -11
  199. package/dist/elements/TableColumns/index.js.map +1 -1
  200. package/dist/elements/ThumbnailCard/index.d.ts +2 -2
  201. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  202. package/dist/elements/ThumbnailCard/index.js +1 -1
  203. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  204. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  205. package/dist/elements/UnpublishMany/index.js +2 -2
  206. package/dist/elements/UnpublishMany/index.js.map +1 -1
  207. package/dist/elements/UnpublishMany/index.scss +1 -0
  208. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  209. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +5 -5
  210. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  211. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +3 -3
  212. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
  213. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  214. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts +1 -2
  215. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  216. package/dist/elements/WhereBuilder/Condition/Text/index.js +1 -2
  217. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  218. package/dist/elements/WhereBuilder/Condition/index.d.ts +9 -9
  219. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  220. package/dist/elements/WhereBuilder/Condition/index.js +25 -20
  221. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  222. package/dist/elements/WhereBuilder/index.js +9 -8
  223. package/dist/elements/WhereBuilder/index.js.map +1 -1
  224. package/dist/elements/WhereBuilder/reduceClientFields.d.ts +15 -0
  225. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -0
  226. package/dist/elements/WhereBuilder/{reduceFieldMap.js → reduceClientFields.js} +28 -26
  227. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -0
  228. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  229. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  230. package/dist/elements/WhereBuilder/types.js.map +1 -1
  231. package/dist/exports/client/{CodeEditor-UPOVAXRP.js → CodeEditor-MODTAQNB.js} +1 -1
  232. package/dist/exports/client/{CodeEditor-UPOVAXRP.js.map → CodeEditor-MODTAQNB.js.map} +1 -1
  233. package/dist/exports/client/{DatePicker-XJHHMZP7.js → DatePicker-QKRYICNS.js} +2 -2
  234. package/dist/exports/client/chunk-HR5HEGNB.js +30 -0
  235. package/dist/exports/client/{chunk-TIH7OFW3.js.map → chunk-HR5HEGNB.js.map} +4 -4
  236. package/dist/exports/client/index.d.ts +9 -2
  237. package/dist/exports/client/index.d.ts.map +1 -1
  238. package/dist/exports/client/index.js +27 -27
  239. package/dist/exports/client/index.js.map +4 -4
  240. package/dist/exports/shared/index.d.ts +4 -1
  241. package/dist/exports/shared/index.d.ts.map +1 -1
  242. package/dist/exports/shared/index.js +2 -2
  243. package/dist/exports/shared/index.js.map +4 -4
  244. package/dist/fields/Array/ArrayRow.d.ts +21 -21
  245. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  246. package/dist/fields/Array/ArrayRow.js +3 -3
  247. package/dist/fields/Array/ArrayRow.js.map +1 -1
  248. package/dist/fields/Array/index.d.ts.map +1 -1
  249. package/dist/fields/Array/index.js +11 -9
  250. package/dist/fields/Array/index.js.map +1 -1
  251. package/dist/fields/Blocks/BlockRow.d.ts +3 -3
  252. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  253. package/dist/fields/Blocks/BlockRow.js +9 -6
  254. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  255. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +6 -6
  256. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  257. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  258. package/dist/fields/Blocks/RowActions.d.ts +13 -13
  259. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  260. package/dist/fields/Blocks/RowActions.js.map +1 -1
  261. package/dist/fields/Blocks/SectionTitle/index.scss +12 -2
  262. package/dist/fields/Blocks/index.d.ts +2 -2
  263. package/dist/fields/Blocks/index.d.ts.map +1 -1
  264. package/dist/fields/Blocks/index.js +10 -6
  265. package/dist/fields/Blocks/index.js.map +1 -1
  266. package/dist/fields/Blocks/index.scss +1 -0
  267. package/dist/fields/Checkbox/Input.d.ts +15 -15
  268. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  269. package/dist/fields/Checkbox/Input.js +9 -4
  270. package/dist/fields/Checkbox/Input.js.map +1 -1
  271. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  272. package/dist/fields/Checkbox/index.js +9 -6
  273. package/dist/fields/Checkbox/index.js.map +1 -1
  274. package/dist/fields/Code/index.d.ts.map +1 -1
  275. package/dist/fields/Code/index.js +14 -6
  276. package/dist/fields/Code/index.js.map +1 -1
  277. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  278. package/dist/fields/Collapsible/index.js +7 -5
  279. package/dist/fields/Collapsible/index.js.map +1 -1
  280. package/dist/fields/ConfirmPassword/index.d.ts +2 -2
  281. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  282. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  283. package/dist/fields/DateTime/index.d.ts.map +1 -1
  284. package/dist/fields/DateTime/index.js +14 -6
  285. package/dist/fields/DateTime/index.js.map +1 -1
  286. package/dist/fields/Email/index.d.ts.map +1 -1
  287. package/dist/fields/Email/index.js +15 -6
  288. package/dist/fields/Email/index.js.map +1 -1
  289. package/dist/fields/FieldDescription/index.d.ts.map +1 -1
  290. package/dist/fields/FieldDescription/index.js +8 -4
  291. package/dist/fields/FieldDescription/index.js.map +1 -1
  292. package/dist/fields/FieldError/index.d.ts.map +1 -1
  293. package/dist/fields/FieldError/index.js +8 -4
  294. package/dist/fields/FieldError/index.js.map +1 -1
  295. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  296. package/dist/fields/FieldLabel/index.js +8 -4
  297. package/dist/fields/FieldLabel/index.js.map +1 -1
  298. package/dist/fields/Group/index.d.ts.map +1 -1
  299. package/dist/fields/Group/index.js +63 -56
  300. package/dist/fields/Group/index.js.map +1 -1
  301. package/dist/fields/Hidden/index.d.ts.map +1 -1
  302. package/dist/fields/Hidden/index.js +1 -1
  303. package/dist/fields/Hidden/index.js.map +1 -1
  304. package/dist/fields/JSON/index.d.ts.map +1 -1
  305. package/dist/fields/JSON/index.js +14 -6
  306. package/dist/fields/JSON/index.js.map +1 -1
  307. package/dist/fields/Number/Input.d.ts +2 -0
  308. package/dist/fields/Number/Input.d.ts.map +1 -0
  309. package/dist/fields/Number/Input.js +2 -0
  310. package/dist/fields/Number/Input.js.map +1 -0
  311. package/dist/fields/Number/index.d.ts.map +1 -1
  312. package/dist/fields/Number/index.js +14 -6
  313. package/dist/fields/Number/index.js.map +1 -1
  314. package/dist/fields/Password/index.d.ts +1 -24
  315. package/dist/fields/Password/index.d.ts.map +1 -1
  316. package/dist/fields/Password/index.js +8 -7
  317. package/dist/fields/Password/index.js.map +1 -1
  318. package/dist/fields/Password/input.d.ts.map +1 -1
  319. package/dist/fields/Password/input.js +18 -8
  320. package/dist/fields/Password/input.js.map +1 -1
  321. package/dist/fields/Password/types.d.ts +32 -23
  322. package/dist/fields/Password/types.d.ts.map +1 -1
  323. package/dist/fields/Password/types.js.map +1 -1
  324. package/dist/fields/Point/index.d.ts.map +1 -1
  325. package/dist/fields/Point/index.js +23 -9
  326. package/dist/fields/Point/index.js.map +1 -1
  327. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  328. package/dist/fields/RadioGroup/index.js +7 -4
  329. package/dist/fields/RadioGroup/index.js.map +1 -1
  330. package/dist/fields/Relationship/AddNew/useRelatedCollections.js +1 -1
  331. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
  332. package/dist/fields/Relationship/index.d.ts.map +1 -1
  333. package/dist/fields/Relationship/index.js +8 -5
  334. package/dist/fields/Relationship/index.js.map +1 -1
  335. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  336. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  337. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  338. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  339. package/dist/fields/RichText/index.d.ts +2 -2
  340. package/dist/fields/RichText/index.d.ts.map +1 -1
  341. package/dist/fields/RichText/index.js.map +1 -1
  342. package/dist/fields/Row/index.d.ts.map +1 -1
  343. package/dist/fields/Row/index.js +6 -8
  344. package/dist/fields/Row/index.js.map +1 -1
  345. package/dist/fields/Select/Input.d.ts +26 -6
  346. package/dist/fields/Select/Input.d.ts.map +1 -1
  347. package/dist/fields/Select/Input.js +13 -6
  348. package/dist/fields/Select/Input.js.map +1 -1
  349. package/dist/fields/Select/index.d.ts.map +1 -1
  350. package/dist/fields/Select/index.js +8 -9
  351. package/dist/fields/Select/index.js.map +1 -1
  352. package/dist/fields/Tabs/Tab/index.d.ts +5 -5
  353. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  354. package/dist/fields/Tabs/Tab/index.js +4 -5
  355. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  356. package/dist/fields/Tabs/index.d.ts.map +1 -1
  357. package/dist/fields/Tabs/index.js +10 -9
  358. package/dist/fields/Tabs/index.js.map +1 -1
  359. package/dist/fields/Text/Input.d.ts.map +1 -1
  360. package/dist/fields/Text/Input.js +13 -6
  361. package/dist/fields/Text/Input.js.map +1 -1
  362. package/dist/fields/Text/index.js +9 -10
  363. package/dist/fields/Text/index.js.map +1 -1
  364. package/dist/fields/Text/types.d.ts +32 -13
  365. package/dist/fields/Text/types.d.ts.map +1 -1
  366. package/dist/fields/Text/types.js.map +1 -1
  367. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  368. package/dist/fields/Textarea/Input.js +13 -6
  369. package/dist/fields/Textarea/Input.js.map +1 -1
  370. package/dist/fields/Textarea/index.js +9 -10
  371. package/dist/fields/Textarea/index.js.map +1 -1
  372. package/dist/fields/Textarea/types.d.ts +28 -6
  373. package/dist/fields/Textarea/types.d.ts.map +1 -1
  374. package/dist/fields/Textarea/types.js.map +1 -1
  375. package/dist/fields/Upload/Input.d.ts +25 -12
  376. package/dist/fields/Upload/Input.d.ts.map +1 -1
  377. package/dist/fields/Upload/Input.js +5 -4
  378. package/dist/fields/Upload/Input.js.map +1 -1
  379. package/dist/fields/Upload/index.d.ts.map +1 -1
  380. package/dist/fields/Upload/index.js +7 -10
  381. package/dist/fields/Upload/index.js.map +1 -1
  382. package/dist/fields/index.d.ts +5 -1
  383. package/dist/fields/index.d.ts.map +1 -1
  384. package/dist/fields/index.js.map +1 -1
  385. package/dist/forms/FieldPropsProvider/index.d.ts +11 -11
  386. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  387. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  388. package/dist/forms/Form/createNestedClientFieldPath.d.ts +3 -0
  389. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -0
  390. package/dist/forms/Form/{createNestedFieldPath.js → createNestedClientFieldPath.js} +2 -13
  391. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -0
  392. package/dist/forms/Form/index.js +1 -1
  393. package/dist/forms/Form/index.js.map +1 -1
  394. package/dist/forms/Form/types.d.ts +3 -3
  395. package/dist/forms/Form/types.d.ts.map +1 -1
  396. package/dist/forms/Form/types.js.map +1 -1
  397. package/dist/forms/NullifyField/index.d.ts +3 -3
  398. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  399. package/dist/forms/NullifyField/index.js +5 -15
  400. package/dist/forms/NullifyField/index.js.map +1 -1
  401. package/dist/forms/RenderFields/RenderField.d.ts +12 -15
  402. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  403. package/dist/forms/RenderFields/RenderField.js +35 -16
  404. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  405. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  406. package/dist/forms/RenderFields/index.js +7 -14
  407. package/dist/forms/RenderFields/index.js.map +1 -1
  408. package/dist/forms/RenderFields/types.d.ts +11 -11
  409. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  410. package/dist/forms/RenderFields/types.js.map +1 -1
  411. package/dist/forms/RowLabel/Context/index.d.ts +4 -4
  412. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  413. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  414. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  415. package/dist/forms/RowLabel/index.js +8 -2
  416. package/dist/forms/RowLabel/index.js.map +1 -1
  417. package/dist/forms/RowLabel/types.d.ts +7 -8
  418. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  419. package/dist/forms/RowLabel/types.js.map +1 -1
  420. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +2 -2
  421. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  422. package/dist/forms/WatchChildErrors/buildPathSegments.js +11 -10
  423. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  424. package/dist/forms/WatchChildErrors/index.d.ts +2 -2
  425. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  426. package/dist/forms/WatchChildErrors/index.js +3 -3
  427. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  428. package/dist/forms/useField/index.js +1 -1
  429. package/dist/forms/useField/index.js.map +1 -1
  430. package/dist/forms/withCondition/WatchCondition.d.ts +1 -1
  431. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  432. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  433. package/dist/graphics/Account/index.d.ts.map +1 -1
  434. package/dist/graphics/Account/index.js +14 -8
  435. package/dist/graphics/Account/index.js.map +1 -1
  436. package/dist/hooks/useDelayedRender.d.ts.map +1 -1
  437. package/dist/hooks/useDelayedRender.js.map +1 -1
  438. package/dist/hooks/useUseAsTitle.d.ts +2 -2
  439. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  440. package/dist/hooks/useUseAsTitle.js +3 -3
  441. package/dist/hooks/useUseAsTitle.js.map +1 -1
  442. package/dist/providers/Actions/SetViewActions/index.d.ts +3 -3
  443. package/dist/providers/Actions/SetViewActions/index.d.ts.map +1 -1
  444. package/dist/providers/Actions/SetViewActions/index.js +1 -1
  445. package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
  446. package/dist/providers/Actions/index.d.ts +3 -3
  447. package/dist/providers/Actions/index.d.ts.map +1 -1
  448. package/dist/providers/Actions/index.js +2 -2
  449. package/dist/providers/Actions/index.js.map +1 -1
  450. package/dist/providers/Auth/index.js +1 -1
  451. package/dist/providers/Auth/index.js.map +1 -1
  452. package/dist/providers/Config/RenderComponent.d.ts +12 -0
  453. package/dist/providers/Config/RenderComponent.d.ts.map +1 -0
  454. package/dist/providers/Config/RenderComponent.js +69 -0
  455. package/dist/providers/Config/RenderComponent.js.map +1 -0
  456. package/dist/providers/Config/createClientConfig/collections.d.ts +24 -0
  457. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -0
  458. package/dist/providers/Config/createClientConfig/collections.js +173 -0
  459. package/dist/providers/Config/createClientConfig/collections.js.map +1 -0
  460. package/dist/providers/Config/createClientConfig/fields.d.ts +22 -0
  461. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -0
  462. package/dist/providers/Config/createClientConfig/fields.js +299 -0
  463. package/dist/providers/Config/createClientConfig/fields.js.map +1 -0
  464. package/dist/providers/Config/createClientConfig/getComponent.d.ts +11 -0
  465. package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +1 -0
  466. package/dist/providers/Config/createClientConfig/getComponent.js +29 -0
  467. package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -0
  468. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts +11 -0
  469. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -0
  470. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +86 -0
  471. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -0
  472. package/dist/providers/Config/createClientConfig/globals.d.ts +22 -0
  473. package/dist/providers/Config/createClientConfig/globals.d.ts.map +1 -0
  474. package/dist/providers/Config/createClientConfig/globals.js +103 -0
  475. package/dist/providers/Config/createClientConfig/globals.js.map +1 -0
  476. package/dist/providers/Config/createClientConfig/index.d.ts +21 -0
  477. package/dist/providers/Config/createClientConfig/index.d.ts.map +1 -0
  478. package/dist/providers/Config/createClientConfig/index.js +98 -0
  479. package/dist/providers/Config/createClientConfig/index.js.map +1 -0
  480. package/dist/providers/Config/index.d.ts +10 -3
  481. package/dist/providers/Config/index.d.ts.map +1 -1
  482. package/dist/providers/Config/index.js +17 -3
  483. package/dist/providers/Config/index.js.map +1 -1
  484. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  485. package/dist/providers/DocumentInfo/index.js +16 -16
  486. package/dist/providers/DocumentInfo/index.js.map +1 -1
  487. package/dist/providers/FieldComponents/index.d.ts +4 -3
  488. package/dist/providers/FieldComponents/index.d.ts.map +1 -1
  489. package/dist/providers/FieldComponents/index.js +2 -3
  490. package/dist/providers/FieldComponents/index.js.map +1 -1
  491. package/dist/providers/ListInfo/index.d.ts +12 -12
  492. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  493. package/dist/providers/ListInfo/index.js.map +1 -1
  494. package/dist/providers/Locale/index.d.ts.map +1 -1
  495. package/dist/providers/Locale/index.js +1 -1
  496. package/dist/providers/Locale/index.js.map +1 -1
  497. package/dist/providers/Preferences/index.js +1 -1
  498. package/dist/providers/Preferences/index.js.map +1 -1
  499. package/dist/providers/Root/index.d.ts +0 -2
  500. package/dist/providers/Root/index.d.ts.map +1 -1
  501. package/dist/providers/Root/index.js +46 -48
  502. package/dist/providers/Root/index.js.map +1 -1
  503. package/dist/scss/app.scss +4 -4
  504. package/dist/scss/type.scss +1 -0
  505. package/dist/scss/vars.scss +1 -1
  506. package/dist/styles.css +1 -1
  507. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  508. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +1 -0
  509. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  510. package/dist/utilities/buildFormState.d.ts.map +1 -1
  511. package/dist/utilities/buildFormState.js +2 -4
  512. package/dist/utilities/buildFormState.js.map +1 -1
  513. package/dist/utilities/flattenFieldMap.d.ts +2 -2
  514. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  515. package/dist/utilities/flattenFieldMap.js +8 -8
  516. package/dist/utilities/flattenFieldMap.js.map +1 -1
  517. package/dist/utilities/groupNavItems.d.ts +3 -3
  518. package/dist/utilities/groupNavItems.d.ts.map +1 -1
  519. package/dist/utilities/groupNavItems.js.map +1 -1
  520. package/package.json +10 -4
  521. package/dist/elements/RenderCustomClientComponent/index.d.ts +0 -8
  522. package/dist/elements/RenderCustomClientComponent/index.d.ts.map +0 -1
  523. package/dist/elements/RenderCustomClientComponent/index.js +0 -19
  524. package/dist/elements/RenderCustomClientComponent/index.js.map +0 -1
  525. package/dist/elements/RenderCustomComponent/index.d.ts +0 -17
  526. package/dist/elements/RenderCustomComponent/index.d.ts.map +0 -1
  527. package/dist/elements/RenderCustomComponent/index.js +0 -26
  528. package/dist/elements/RenderCustomComponent/index.js.map +0 -1
  529. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +0 -14
  530. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +0 -1
  531. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +0 -1
  532. package/dist/exports/client/chunk-TIH7OFW3.js +0 -30
  533. package/dist/forms/Form/createNestedFieldPath.d.ts +0 -4
  534. package/dist/forms/Form/createNestedFieldPath.d.ts.map +0 -1
  535. package/dist/forms/Form/createNestedFieldPath.js.map +0 -1
  536. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts +0 -9
  537. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +0 -1
  538. package/dist/providers/ComponentMap/buildComponentMap/actions.js +0 -45
  539. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +0 -1
  540. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +0 -18
  541. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +0 -1
  542. package/dist/providers/ComponentMap/buildComponentMap/collections.js +0 -118
  543. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +0 -1
  544. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +0 -18
  545. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +0 -1
  546. package/dist/providers/ComponentMap/buildComponentMap/fields.js +0 -703
  547. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +0 -1
  548. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +0 -19
  549. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +0 -1
  550. package/dist/providers/ComponentMap/buildComponentMap/globals.js +0 -81
  551. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +0 -1
  552. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +0 -16
  553. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +0 -1
  554. package/dist/providers/ComponentMap/buildComponentMap/index.js +0 -79
  555. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +0 -1
  556. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +0 -39
  557. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +0 -1
  558. package/dist/providers/ComponentMap/buildComponentMap/types.js +0 -3
  559. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +0 -1
  560. package/dist/providers/ComponentMap/index.d.ts +0 -25
  561. package/dist/providers/ComponentMap/index.d.ts.map +0 -1
  562. package/dist/providers/ComponentMap/index.js +0 -53
  563. package/dist/providers/ComponentMap/index.js.map +0 -1
  564. package/dist/utilities/buildComponentMap.d.ts +0 -4
  565. package/dist/utilities/buildComponentMap.d.ts.map +0 -1
  566. package/dist/utilities/buildComponentMap.js +0 -4
  567. package/dist/utilities/buildComponentMap.js.map +0 -1
  568. /package/dist/exports/client/{DatePicker-XJHHMZP7.js.map → DatePicker-QKRYICNS.js.map} +0 -0
@@ -0,0 +1,103 @@
1
+ import { deepCopyObjectSimple } from 'payload';
2
+ import { createClientFields } from './fields.js';
3
+ export const createClientGlobalConfig = ({ DefaultEditView, clientGlobal, createMappedComponent, global, i18n, importMap, payload })=>{
4
+ clientGlobal.fields = createClientFields({
5
+ clientFields: clientGlobal.fields,
6
+ createMappedComponent,
7
+ fields: global.fields,
8
+ i18n,
9
+ importMap,
10
+ payload
11
+ });
12
+ const serverOnlyProperties = [
13
+ 'hooks',
14
+ 'access',
15
+ 'endpoints',
16
+ 'custom'
17
+ ];
18
+ serverOnlyProperties.forEach((key)=>{
19
+ if (key in clientGlobal) {
20
+ delete clientGlobal[key];
21
+ }
22
+ });
23
+ if ('admin' in clientGlobal) {
24
+ const serverOnlyGlobalAdminProperties = [
25
+ 'hidden',
26
+ 'preview'
27
+ ];
28
+ serverOnlyGlobalAdminProperties.forEach((key)=>{
29
+ if (key in clientGlobal.admin) {
30
+ delete clientGlobal.admin[key];
31
+ }
32
+ });
33
+ if (global.admin.preview) {
34
+ clientGlobal._isPreviewEnabled = true;
35
+ }
36
+ clientGlobal.admin.components = {};
37
+ if (global?.admin?.components) {
38
+ if (global.admin.components.elements) {
39
+ clientGlobal.admin.components.elements = {};
40
+ if (global.admin.components.elements?.PreviewButton) {
41
+ clientGlobal.admin.components.elements.PreviewButton = createMappedComponent(global.admin.components.elements.PreviewButton, undefined, undefined, 'global.admin.components.elements.PreviewButton');
42
+ }
43
+ if (global.admin.components.elements?.PublishButton) {
44
+ clientGlobal.admin.components.elements.PublishButton = createMappedComponent(global.admin.components.elements.PublishButton, undefined, undefined, 'global.admin.components.elements.PublishButton');
45
+ }
46
+ if (global.admin.components.elements?.SaveButton) {
47
+ clientGlobal.admin.components.elements.SaveButton = createMappedComponent(global.admin.components.elements.SaveButton, undefined, undefined, 'global.admin.components.elements.SaveButton');
48
+ }
49
+ if (global.admin.components.elements?.SaveDraftButton) {
50
+ clientGlobal.admin.components.elements.SaveDraftButton = createMappedComponent(global.admin.components.elements.SaveDraftButton, undefined, undefined, 'global.admin.components.elements.SaveDraftButton');
51
+ }
52
+ }
53
+ }
54
+ clientGlobal.admin.components.views = global?.admin?.components?.views ? deepCopyObjectSimple(global?.admin?.components?.views) : {};
55
+ const hasEditView = 'admin' in global && 'components' in global.admin && 'views' in global.admin.components && 'edit' in global.admin.components.views && 'default' in global.admin.components.views.edit;
56
+ if (!clientGlobal.admin.components.views.edit) {
57
+ clientGlobal.admin.components.views.edit = {};
58
+ }
59
+ clientGlobal.admin.components.views.edit.default = {
60
+ Component: createMappedComponent(hasEditView && 'Component' in global.admin.components.views.edit.default && global.admin.components.views.edit.default.Component, {
61
+ globalSlug: global.slug
62
+ }, DefaultEditView, 'global.admin.components.views.edit.default')
63
+ };
64
+ if (global?.admin?.components?.views?.edit) {
65
+ for(const key in global.admin.components.views.edit){
66
+ const view = global.admin.components.views.edit[key];
67
+ if (!clientGlobal.admin.components.views.edit[key]) {
68
+ clientGlobal.admin.components.views.edit[key] = {};
69
+ }
70
+ if ('Component' in view && key !== 'default') {
71
+ clientGlobal.admin.components.views.edit[key].Component = createMappedComponent(view.Component, {
72
+ globalSlug: global.slug
73
+ }, undefined, 'global.admin.components.views.edit.key.Component');
74
+ }
75
+ if ('actions' in view && view.actions?.length) {
76
+ clientGlobal.admin.components.views.edit[key].actions = view.actions.map((Component)=>createMappedComponent(Component, undefined, undefined, 'global.admin.components.views.key.actions'));
77
+ }
78
+ }
79
+ }
80
+ if ('livePreview' in clientGlobal.admin && clientGlobal.admin.livePreview && 'url' in clientGlobal.admin.livePreview) {
81
+ delete clientGlobal.admin.livePreview.url;
82
+ }
83
+ }
84
+ return clientGlobal;
85
+ };
86
+ export const createClientGlobalConfigs = ({ DefaultEditView, clientGlobals, createMappedComponent, globals, i18n, importMap, payload })=>{
87
+ for(let i = 0; i < globals.length; i++){
88
+ const global = globals[i];
89
+ const clientGlobal = clientGlobals[i];
90
+ clientGlobals[i] = createClientGlobalConfig({
91
+ DefaultEditView,
92
+ clientGlobal,
93
+ createMappedComponent,
94
+ global,
95
+ i18n,
96
+ importMap,
97
+ payload
98
+ });
99
+ }
100
+ return clientGlobals;
101
+ };
102
+
103
+ //# sourceMappingURL=globals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/providers/Config/createClientConfig/globals.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientGlobalConfig,\n CreateMappedComponent,\n EditViewConfig,\n EditViewProps,\n ImportMap,\n MappedView,\n Payload,\n SanitizedConfig,\n ServerOnlyGlobalAdminProperties,\n ServerOnlyGlobalProperties,\n} from 'payload'\nimport type React from 'react'\n\nimport { deepCopyObjectSimple } from 'payload'\n\nimport { createClientFields } from './fields.js'\n\nexport const createClientGlobalConfig = ({\n DefaultEditView,\n clientGlobal,\n createMappedComponent,\n global,\n i18n,\n importMap,\n payload,\n}: {\n DefaultEditView: React.FC<EditViewProps>\n clientGlobal: ClientGlobalConfig\n createMappedComponent: CreateMappedComponent\n global: SanitizedConfig['globals'][0]\n i18n: I18nClient\n importMap: ImportMap\n payload: Payload\n}): ClientGlobalConfig => {\n clientGlobal.fields = createClientFields({\n clientFields: clientGlobal.fields,\n createMappedComponent,\n fields: global.fields,\n i18n,\n importMap,\n payload,\n })\n\n const serverOnlyProperties: Partial<ServerOnlyGlobalProperties>[] = [\n 'hooks',\n 'access',\n 'endpoints',\n 'custom',\n // `admin` is handled separately\n ]\n\n serverOnlyProperties.forEach((key) => {\n if (key in clientGlobal) {\n delete clientGlobal[key]\n }\n })\n\n if ('admin' in clientGlobal) {\n const serverOnlyGlobalAdminProperties: Partial<ServerOnlyGlobalAdminProperties>[] = [\n 'hidden',\n 'preview',\n ]\n\n serverOnlyGlobalAdminProperties.forEach((key) => {\n if (key in clientGlobal.admin) {\n delete clientGlobal.admin[key]\n }\n })\n\n if (global.admin.preview) {\n clientGlobal._isPreviewEnabled = true\n }\n\n clientGlobal.admin.components = {} as ClientGlobalConfig['admin']['components']\n\n if (global?.admin?.components) {\n if (global.admin.components.elements) {\n clientGlobal.admin.components.elements =\n {} as ClientGlobalConfig['admin']['components']['elements']\n\n if (global.admin.components.elements?.PreviewButton) {\n clientGlobal.admin.components.elements.PreviewButton = createMappedComponent(\n global.admin.components.elements.PreviewButton,\n undefined,\n undefined,\n 'global.admin.components.elements.PreviewButton',\n )\n }\n\n if (global.admin.components.elements?.PublishButton) {\n clientGlobal.admin.components.elements.PublishButton = createMappedComponent(\n global.admin.components.elements.PublishButton,\n undefined,\n undefined,\n 'global.admin.components.elements.PublishButton',\n )\n }\n\n if (global.admin.components.elements?.SaveButton) {\n clientGlobal.admin.components.elements.SaveButton = createMappedComponent(\n global.admin.components.elements.SaveButton,\n undefined,\n undefined,\n 'global.admin.components.elements.SaveButton',\n )\n }\n\n if (global.admin.components.elements?.SaveDraftButton) {\n clientGlobal.admin.components.elements.SaveDraftButton = createMappedComponent(\n global.admin.components.elements.SaveDraftButton,\n undefined,\n undefined,\n 'global.admin.components.elements.SaveDraftButton',\n )\n }\n }\n }\n\n clientGlobal.admin.components.views = (\n global?.admin?.components?.views ? deepCopyObjectSimple(global?.admin?.components?.views) : {}\n ) as ClientGlobalConfig['admin']['components']['views']\n\n const hasEditView =\n 'admin' in global &&\n 'components' in global.admin &&\n 'views' in global.admin.components &&\n 'edit' in global.admin.components.views &&\n 'default' in global.admin.components.views.edit\n\n if (!clientGlobal.admin.components.views.edit) {\n clientGlobal.admin.components.views.edit =\n {} as ClientGlobalConfig['admin']['components']['views']['edit']\n }\n\n clientGlobal.admin.components.views.edit.default = {\n Component: createMappedComponent(\n hasEditView &&\n 'Component' in global.admin.components.views.edit.default &&\n global.admin.components.views.edit.default.Component,\n {\n globalSlug: global.slug,\n },\n DefaultEditView,\n 'global.admin.components.views.edit.default',\n ),\n }\n\n if (global?.admin?.components?.views?.edit) {\n for (const key in global.admin.components.views.edit) {\n const view: EditViewConfig = global.admin.components.views.edit[key]\n if (!clientGlobal.admin.components.views.edit[key]) {\n clientGlobal.admin.components.views.edit[key] = {} as MappedView\n }\n\n if ('Component' in view && key !== 'default') {\n clientGlobal.admin.components.views.edit[key].Component = createMappedComponent(\n view.Component,\n {\n globalSlug: global.slug,\n },\n undefined,\n 'global.admin.components.views.edit.key.Component',\n )\n }\n\n if ('actions' in view && view.actions?.length) {\n clientGlobal.admin.components.views.edit[key].actions = view.actions.map((Component) =>\n createMappedComponent(\n Component,\n undefined,\n undefined,\n 'global.admin.components.views.key.actions',\n ),\n )\n }\n }\n }\n\n if (\n 'livePreview' in clientGlobal.admin &&\n clientGlobal.admin.livePreview &&\n 'url' in clientGlobal.admin.livePreview\n ) {\n delete clientGlobal.admin.livePreview.url\n }\n }\n\n return clientGlobal\n}\n\nexport const createClientGlobalConfigs = ({\n DefaultEditView,\n clientGlobals,\n createMappedComponent,\n globals,\n i18n,\n importMap,\n payload,\n}: {\n DefaultEditView: React.FC<EditViewProps>\n clientGlobals: ClientGlobalConfig[]\n createMappedComponent: CreateMappedComponent\n globals: SanitizedConfig['globals']\n i18n: I18nClient\n importMap: ImportMap\n payload: Payload\n}): ClientGlobalConfig[] => {\n for (let i = 0; i < globals.length; i++) {\n const global = globals[i]\n const clientGlobal = clientGlobals[i]\n clientGlobals[i] = createClientGlobalConfig({\n DefaultEditView,\n clientGlobal,\n createMappedComponent,\n global,\n i18n,\n importMap,\n payload,\n })\n }\n return clientGlobals\n}\n"],"names":["deepCopyObjectSimple","createClientFields","createClientGlobalConfig","DefaultEditView","clientGlobal","createMappedComponent","global","i18n","importMap","payload","fields","clientFields","serverOnlyProperties","forEach","key","serverOnlyGlobalAdminProperties","admin","preview","_isPreviewEnabled","components","elements","PreviewButton","undefined","PublishButton","SaveButton","SaveDraftButton","views","hasEditView","edit","default","Component","globalSlug","slug","view","actions","length","map","livePreview","url","createClientGlobalConfigs","clientGlobals","globals","i"],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { I18nClient } from '@payloadcms/translations';
2
+ import { type AdminViewProps, type ClientConfig, type EditViewProps, type ImportMap, type Payload, type SanitizedConfig } from 'payload';
3
+ import React from 'react';
4
+ import { createClientCollectionConfig, createClientCollectionConfigs } from './collections.js';
5
+ import { createClientField, createClientFields } from './fields.js';
6
+ import { createClientGlobalConfig, createClientGlobalConfigs } from './globals.js';
7
+ export { createClientCollectionConfig, createClientCollectionConfigs, createClientGlobalConfig, createClientGlobalConfigs, };
8
+ export declare const createClientConfig: ({ DefaultEditView, DefaultListView, children, config, i18n, importMap, payload, }: {
9
+ DefaultEditView: React.FC<EditViewProps>;
10
+ DefaultListView: React.FC<AdminViewProps>;
11
+ children: React.ReactNode;
12
+ config: SanitizedConfig;
13
+ i18n: I18nClient;
14
+ importMap: ImportMap;
15
+ payload: Payload;
16
+ }) => Promise<{
17
+ clientConfig: ClientConfig;
18
+ render: React.ReactNode;
19
+ }>;
20
+ export { createClientField, createClientFields };
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,eAAe,EAGrB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGnE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAElF,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,GAC1B,CAAA;AAED,eAAO,MAAM,kBAAkB,sFAQ5B;IACD,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CAEjB,KAAG,OAAO,CAAC;IAAE,YAAY,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CA4IlE,CAAA;AACD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAA"}
@@ -0,0 +1,98 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { deepCopyObjectSimple, serverOnlyConfigProperties } from 'payload';
3
+ import React from 'react';
4
+ import { createClientCollectionConfig, createClientCollectionConfigs } from './collections.js';
5
+ import { createClientField, createClientFields } from './fields.js';
6
+ import { getComponent } from './getComponent.js';
7
+ import { getCreateMappedComponent } from './getCreateMappedComponent.js';
8
+ import { createClientGlobalConfig, createClientGlobalConfigs } from './globals.js';
9
+ export { createClientCollectionConfig, createClientCollectionConfigs, createClientGlobalConfig, createClientGlobalConfigs, };
10
+ export const createClientConfig = async ({ DefaultEditView, DefaultListView, children, config, i18n, importMap, payload })=>{
11
+ // We can use deepCopySimple here, as the clientConfig should be JSON serializable anyways, since it will be sent from server => client
12
+ const clientConfig = deepCopyObjectSimple(config);
13
+ const createMappedComponent = getCreateMappedComponent({
14
+ importMap,
15
+ serverProps: {
16
+ i18n,
17
+ payload
18
+ }
19
+ });
20
+ for (const key of serverOnlyConfigProperties){
21
+ if (key in clientConfig) {
22
+ delete clientConfig[key];
23
+ }
24
+ }
25
+ if ('localization' in clientConfig && clientConfig.localization) {
26
+ for (const locale of clientConfig.localization.locales){
27
+ delete locale.toString;
28
+ }
29
+ }
30
+ if ('admin' in clientConfig) {
31
+ if (config.admin?.avatar && typeof config.admin?.avatar === 'object' && config.admin?.avatar && 'Component' in config.admin.avatar) {
32
+ clientConfig.admin.components.Avatar = createMappedComponent(config.admin.avatar.Component, undefined, undefined, 'config.admin.avatar.Component');
33
+ }
34
+ if (config.admin?.components?.logout?.Button) {
35
+ clientConfig.admin.components.LogoutButton = createMappedComponent(config.admin.components.logout.Button, undefined, undefined, 'config.admin.components.logout.Button');
36
+ }
37
+ if (config.admin?.components?.actions && config.admin?.components?.actions.length > 0) {
38
+ clientConfig.admin.components.actions = config.admin.components.actions.map((Component)=>createMappedComponent(Component, undefined, undefined, 'config.admin.components.actions'));
39
+ }
40
+ if (config.admin?.components?.graphics?.Icon) {
41
+ clientConfig.admin.components.graphics.Icon = createMappedComponent(config.admin.components.graphics.Icon, undefined, undefined, 'config.admin.components.graphics.Icon');
42
+ }
43
+ if (config.admin?.components?.graphics?.Logo) {
44
+ clientConfig.admin.components.graphics.Logo = createMappedComponent(config.admin.components.graphics.Logo, undefined, undefined, 'config.admin.components.graphics.Logo');
45
+ }
46
+ }
47
+ if ('livePreview' in clientConfig.admin && clientConfig.admin.livePreview && 'url' in clientConfig.admin.livePreview) {
48
+ delete clientConfig.admin.livePreview.url;
49
+ }
50
+ clientConfig.collections = createClientCollectionConfigs({
51
+ DefaultEditView,
52
+ DefaultListView,
53
+ clientCollections: clientConfig.collections,
54
+ collections: config.collections,
55
+ createMappedComponent,
56
+ i18n,
57
+ importMap,
58
+ payload
59
+ });
60
+ clientConfig.globals = createClientGlobalConfigs({
61
+ DefaultEditView,
62
+ clientGlobals: clientConfig.globals,
63
+ createMappedComponent,
64
+ globals: config.globals,
65
+ i18n,
66
+ importMap,
67
+ payload
68
+ });
69
+ const NestProviders = ({ children, providers })=>{
70
+ const Component = providers[0];
71
+ if (providers.length > 1) {
72
+ return /*#__PURE__*/ _jsx(Component, {
73
+ children: /*#__PURE__*/ _jsx(NestProviders, {
74
+ providers: providers.slice(1),
75
+ children: children
76
+ })
77
+ });
78
+ }
79
+ return /*#__PURE__*/ _jsx(Component, {
80
+ children: children
81
+ });
82
+ };
83
+ const render = Array.isArray(config.admin?.components?.providers) && config.admin?.components?.providers.length > 0 ? /*#__PURE__*/ _jsx(NestProviders, {
84
+ providers: config.admin?.components?.providers.map((Component)=>getComponent({
85
+ identifier: 'config.admin?.components?.providers',
86
+ importMap,
87
+ payloadComponent: Component
88
+ }).Component),
89
+ children: children
90
+ }) : children;
91
+ return {
92
+ clientConfig,
93
+ render
94
+ };
95
+ };
96
+ export { createClientField, createClientFields };
97
+
98
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/providers/Config/createClientConfig/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport {\n type AdminViewProps,\n type ClientConfig,\n type EditViewProps,\n type ImportMap,\n type Payload,\n type SanitizedConfig,\n deepCopyObjectSimple,\n serverOnlyConfigProperties,\n} from 'payload'\nimport React from 'react'\n\nimport { createClientCollectionConfig, createClientCollectionConfigs } from './collections.js'\nimport { createClientField, createClientFields } from './fields.js'\nimport { getComponent } from './getComponent.js'\nimport { getCreateMappedComponent } from './getCreateMappedComponent.js'\nimport { createClientGlobalConfig, createClientGlobalConfigs } from './globals.js'\n\nexport {\n createClientCollectionConfig,\n createClientCollectionConfigs,\n createClientGlobalConfig,\n createClientGlobalConfigs,\n}\n\nexport const createClientConfig = async ({\n DefaultEditView,\n DefaultListView,\n children,\n config,\n i18n,\n importMap,\n payload,\n}: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n children: React.ReactNode\n config: SanitizedConfig\n i18n: I18nClient\n importMap: ImportMap\n payload: Payload\n // eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<{ clientConfig: ClientConfig; render: React.ReactNode }> => {\n // We can use deepCopySimple here, as the clientConfig should be JSON serializable anyways, since it will be sent from server => client\n const clientConfig: ClientConfig = deepCopyObjectSimple(config) as unknown as ClientConfig\n\n const createMappedComponent = getCreateMappedComponent({\n importMap,\n serverProps: {\n i18n,\n payload,\n },\n })\n\n for (const key of serverOnlyConfigProperties) {\n if (key in clientConfig) {\n delete clientConfig[key]\n }\n }\n\n if ('localization' in clientConfig && clientConfig.localization) {\n for (const locale of clientConfig.localization.locales) {\n delete locale.toString\n }\n }\n\n if ('admin' in clientConfig) {\n if (\n config.admin?.avatar &&\n typeof config.admin?.avatar === 'object' &&\n config.admin?.avatar &&\n 'Component' in config.admin.avatar\n ) {\n clientConfig.admin.components.Avatar = createMappedComponent(\n config.admin.avatar.Component,\n undefined,\n undefined,\n 'config.admin.avatar.Component',\n )\n }\n\n if (config.admin?.components?.logout?.Button) {\n clientConfig.admin.components.LogoutButton = createMappedComponent(\n config.admin.components.logout.Button,\n undefined,\n undefined,\n 'config.admin.components.logout.Button',\n )\n }\n\n if (config.admin?.components?.actions && config.admin?.components?.actions.length > 0) {\n clientConfig.admin.components.actions = config.admin.components.actions.map((Component) =>\n createMappedComponent(Component, undefined, undefined, 'config.admin.components.actions'),\n )\n }\n\n if (config.admin?.components?.graphics?.Icon) {\n clientConfig.admin.components.graphics.Icon = createMappedComponent(\n config.admin.components.graphics.Icon,\n undefined,\n undefined,\n 'config.admin.components.graphics.Icon',\n )\n }\n\n if (config.admin?.components?.graphics?.Logo) {\n clientConfig.admin.components.graphics.Logo = createMappedComponent(\n config.admin.components.graphics.Logo,\n undefined,\n undefined,\n 'config.admin.components.graphics.Logo',\n )\n }\n }\n\n if (\n 'livePreview' in clientConfig.admin &&\n clientConfig.admin.livePreview &&\n 'url' in clientConfig.admin.livePreview\n ) {\n delete clientConfig.admin.livePreview.url\n }\n\n clientConfig.collections = createClientCollectionConfigs({\n DefaultEditView,\n DefaultListView,\n clientCollections: clientConfig.collections,\n collections: config.collections,\n createMappedComponent,\n i18n,\n importMap,\n payload,\n })\n\n clientConfig.globals = createClientGlobalConfigs({\n DefaultEditView,\n clientGlobals: clientConfig.globals,\n createMappedComponent,\n globals: config.globals,\n i18n,\n importMap,\n payload,\n })\n\n const NestProviders = ({\n children,\n providers,\n }: {\n readonly children: React.ReactNode\n readonly providers: React.FC<{ children?: React.ReactNode }>[]\n }) => {\n const Component = providers[0]\n if (providers.length > 1) {\n return (\n <Component>\n <NestProviders providers={providers.slice(1)}>{children}</NestProviders>\n </Component>\n )\n }\n return <Component>{children}</Component>\n }\n\n const render =\n Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n providers={config.admin?.components?.providers.map(\n (Component) =>\n getComponent({\n identifier: 'config.admin?.components?.providers',\n importMap,\n payloadComponent: Component,\n }).Component,\n )}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )\n\n return { clientConfig, render }\n}\nexport { createClientField, createClientFields }\n"],"names":["deepCopyObjectSimple","serverOnlyConfigProperties","React","createClientCollectionConfig","createClientCollectionConfigs","createClientField","createClientFields","getComponent","getCreateMappedComponent","createClientGlobalConfig","createClientGlobalConfigs","createClientConfig","DefaultEditView","DefaultListView","children","config","i18n","importMap","payload","clientConfig","createMappedComponent","serverProps","key","localization","locale","locales","toString","admin","avatar","components","Avatar","Component","undefined","logout","Button","LogoutButton","actions","length","map","graphics","Icon","Logo","livePreview","url","collections","clientCollections","globals","clientGlobals","NestProviders","providers","slice","render","Array","isArray","identifier","payloadComponent"],"mappings":"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"}
@@ -1,8 +1,15 @@
1
1
  import type { ClientConfig } from 'payload';
2
2
  import React from 'react';
3
- export declare const ConfigProvider: React.FC<{
4
- children: React.ReactNode;
3
+ export type ClientConfigContext = {
5
4
  config: ClientConfig;
5
+ getEntityConfig: (args: {
6
+ collectionSlug?: string;
7
+ globalSlug?: string;
8
+ }) => ClientConfig['collections'][number] | ClientConfig['globals'][number];
9
+ };
10
+ export declare const ConfigProvider: React.FC<{
11
+ readonly children: React.ReactNode;
12
+ readonly config: ClientConfig;
6
13
  }>;
7
- export declare const useConfig: () => ClientConfig;
14
+ export declare const useConfig: () => ClientConfigContext;
8
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Config/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,OAAO,KAAoC,MAAM,OAAO,CAAA;AAIxD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAKxF,CAAA;AAED,eAAO,MAAM,SAAS,QAAO,YAAmC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Config/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,OAAO,KAAiD,MAAM,OAAO,CAAA;AAErE,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,YAAY,CAAA;IACpB,eAAe,EAAE,CAAC,IAAI,EAAE;QACtB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,KAAK,YAAY,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;CAC5E,CAAA;AAID,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAC9B,CAiBA,CAAA;AAED,eAAO,MAAM,SAAS,QAAO,mBAA0C,CAAA"}
@@ -1,10 +1,24 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import React, { createContext, useContext } from 'react';
4
- const Context = /*#__PURE__*/ createContext({});
3
+ import React, { createContext, useCallback, useContext } from 'react';
4
+ const Context = /*#__PURE__*/ createContext(undefined);
5
5
  export const ConfigProvider = ({ children, config })=>{
6
+ const getEntityConfig = useCallback(({ collectionSlug, globalSlug })=>{
7
+ if (collectionSlug) {
8
+ return config.collections.find((collection)=>collection.slug === collectionSlug);
9
+ }
10
+ if (globalSlug) {
11
+ return config.globals.find((global)=>global.slug === globalSlug);
12
+ }
13
+ return null;
14
+ }, [
15
+ config
16
+ ]);
6
17
  return /*#__PURE__*/ _jsx(Context.Provider, {
7
- value: config,
18
+ value: {
19
+ config,
20
+ getEntityConfig
21
+ },
8
22
  children: children
9
23
  });
10
24
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/providers/Config/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig } from 'payload'\n\nimport React, { createContext, useContext } from 'react'\n\nconst Context = createContext<ClientConfig>({} as ClientConfig)\n\nexport const ConfigProvider: React.FC<{ children: React.ReactNode; config: ClientConfig }> = ({\n children,\n config,\n}) => {\n return <Context.Provider value={config}>{children}</Context.Provider>\n}\n\nexport const useConfig = (): ClientConfig => useContext(Context)\n"],"names":["React","createContext","useContext","Context","ConfigProvider","children","config","Provider","value","useConfig"],"mappings":"AAAA;;AAGA,OAAOA,SAASC,aAAa,EAAEC,UAAU,QAAQ,QAAO;AAExD,MAAMC,wBAAUF,cAA4B,CAAC;AAE7C,OAAO,MAAMG,iBAAgF,CAAC,EAC5FC,QAAQ,EACRC,MAAM,EACP;IACC,qBAAO,KAACH,QAAQI,QAAQ;QAACC,OAAOF;kBAASD;;AAC3C,EAAC;AAED,OAAO,MAAMI,YAAY,IAAoBP,WAAWC,SAAQ"}
1
+ {"version":3,"sources":["../../../src/providers/Config/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig } from 'payload'\n\nimport React, { createContext, useCallback, useContext } from 'react'\n\nexport type ClientConfigContext = {\n config: ClientConfig\n getEntityConfig: (args: {\n collectionSlug?: string\n globalSlug?: string\n }) => ClientConfig['collections'][number] | ClientConfig['globals'][number]\n}\n\nconst Context = createContext<ClientConfigContext | undefined>(undefined)\n\nexport const ConfigProvider: React.FC<{\n readonly children: React.ReactNode\n readonly config: ClientConfig\n}> = ({ children, config }) => {\n const getEntityConfig = useCallback(\n ({ collectionSlug, globalSlug }: { collectionSlug?: string; globalSlug?: string }) => {\n if (collectionSlug) {\n return config.collections.find((collection) => collection.slug === collectionSlug)\n }\n\n if (globalSlug) {\n return config.globals.find((global) => global.slug === globalSlug)\n }\n\n return null\n },\n [config],\n )\n\n return <Context.Provider value={{ config, getEntityConfig }}>{children}</Context.Provider>\n}\n\nexport const useConfig = (): ClientConfigContext => useContext(Context)\n"],"names":["React","createContext","useCallback","useContext","Context","undefined","ConfigProvider","children","config","getEntityConfig","collectionSlug","globalSlug","collections","find","collection","slug","globals","global","Provider","value","useConfig"],"mappings":"AAAA;;AAGA,OAAOA,SAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,QAAQ,QAAO;AAUrE,MAAMC,wBAAUH,cAA+CI;AAE/D,OAAO,MAAMC,iBAGR,CAAC,EAAEC,QAAQ,EAAEC,MAAM,EAAE;IACxB,MAAMC,kBAAkBP,YACtB,CAAC,EAAEQ,cAAc,EAAEC,UAAU,EAAoD;QAC/E,IAAID,gBAAgB;YAClB,OAAOF,OAAOI,WAAW,CAACC,IAAI,CAAC,CAACC,aAAeA,WAAWC,IAAI,KAAKL;QACrE;QAEA,IAAIC,YAAY;YACd,OAAOH,OAAOQ,OAAO,CAACH,IAAI,CAAC,CAACI,SAAWA,OAAOF,IAAI,KAAKJ;QACzD;QAEA,OAAO;IACT,GACA;QAACH;KAAO;IAGV,qBAAO,KAACJ,QAAQc,QAAQ;QAACC,OAAO;YAAEX;YAAQC;QAAgB;kBAAIF;;AAChE,EAAC;AAED,OAAO,MAAMa,YAAY,IAA2BjB,WAAWC,SAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAexE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AAshB7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,iBAAiB,CAOtB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAexE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AAwhB7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,iBAAiB,CAOtB,CAAA"}
@@ -18,7 +18,7 @@ const Context = /*#__PURE__*/ createContext({});
18
18
  export const useDocumentInfo = ()=>useContext(Context);
19
19
  const DocumentInfo = ({ children, ...props })=>{
20
20
  const { id, collectionSlug, docPermissions: docPermissionsFromProps, globalSlug, hasPublishPermission: hasPublishPermissionFromProps, hasSavePermission: hasSavePermissionFromProps, initialData: initialDataFromProps, initialState: initialStateFromProps, onLoadError, onSave: onSaveFromProps } = props;
21
- const { admin: { dateFormat }, collections, globals, routes: { api }, serverURL } = useConfig();
21
+ const { config: { admin: { dateFormat }, collections, globals, routes: { api }, serverURL } } = useConfig();
22
22
  const collectionConfig = collections.find((c)=>c.slug === collectionSlug);
23
23
  const globalConfig = globals.find((g)=>g.slug === globalSlug);
24
24
  const docConfig = collectionConfig || globalConfig;
@@ -210,22 +210,24 @@ const DocumentInfo = ({ children, ...props })=>{
210
210
  const docAccessURL = collectionSlug ? `/${collectionSlug}/access/${idToUse}` : globalSlug ? `/globals/${globalSlug}/access` : null;
211
211
  if (docAccessURL) {
212
212
  const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {
213
+ body: JSON.stringify(data),
213
214
  credentials: 'include',
214
215
  headers: {
215
- 'Accept-Language': i18n.language
216
- }
216
+ 'Accept-Language': i18n.language,
217
+ 'Content-Type': 'application/json'
218
+ },
219
+ method: 'post'
217
220
  });
218
221
  const json = await res.json();
219
222
  const publishedAccessJSON = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {
220
223
  body: JSON.stringify({
221
- data: {
222
- ...data || {},
223
- _status: 'published'
224
- }
224
+ ...data || {},
225
+ _status: 'published'
225
226
  }),
226
227
  credentials: 'include',
227
228
  headers: {
228
- 'Accept-Language': i18n.language
229
+ 'Accept-Language': i18n.language,
230
+ 'Content-Type': 'application/json'
229
231
  },
230
232
  method: 'POST'
231
233
  }).then((res)=>res.json());
@@ -348,7 +350,9 @@ const DocumentInfo = ({ children, ...props })=>{
348
350
  serverURL,
349
351
  signal: abortController.signal
350
352
  });
351
- setData(reduceFieldsToValues(result, true));
353
+ const data = reduceFieldsToValues(result, true);
354
+ setData(data);
355
+ if (localeChanged) void getDocPermissions(data);
352
356
  setInitialState(result);
353
357
  } catch (err) {
354
358
  if (!abortController.signal.aborted) {
@@ -380,7 +384,8 @@ const DocumentInfo = ({ children, ...props })=>{
380
384
  locale,
381
385
  onLoadError,
382
386
  initialDataFromProps,
383
- initialStateFromProps
387
+ initialStateFromProps,
388
+ getDocPermissions
384
389
  ]);
385
390
  useEffect(()=>{
386
391
  void getVersions();
@@ -408,12 +413,8 @@ const DocumentInfo = ({ children, ...props })=>{
408
413
  globalConfig
409
414
  ]);
410
415
  useEffect(()=>{
411
- const localeChanged = locale !== prevLocalePermissions.current;
412
416
  if (data && (collectionSlug || globalSlug)) {
413
- if (localeChanged) {
414
- prevLocalePermissions.current = locale;
415
- void getDocPermissions(data);
416
- } else if (hasInitializedDocPermissions.current === false && (!docPermissions || hasSavePermission === undefined || hasSavePermission === null || hasPublishPermission === undefined || hasPublishPermission === null)) {
417
+ if (hasInitializedDocPermissions.current === false && (!docPermissions || hasSavePermission === undefined || hasSavePermission === null || hasPublishPermission === undefined || hasPublishPermission === null)) {
417
418
  hasInitializedDocPermissions.current = true;
418
419
  void getDocPermissions(data);
419
420
  }
@@ -427,7 +428,6 @@ const DocumentInfo = ({ children, ...props })=>{
427
428
  collectionSlug,
428
429
  globalSlug,
429
430
  data,
430
- locale,
431
431
  docPermissions,
432
432
  hasSavePermission,
433
433
  hasPublishPermission
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) return ''\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n const hasInitializedDocPermissions = useRef(false)\n // Separate locale cache used for handling permissions\n const prevLocalePermissions = useRef(locale)\n\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const idToUse = data?.id || id\n const newIsEditing = getIsEditing({ id: idToUse, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${idToUse}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n data: {\n ...(data || {}),\n _status: 'published',\n },\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, id, permissions, i18n.language, locale, collectionSlug, globalSlug],\n )\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) prevLocale.current = locale\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n\n setData(reduceFieldsToValues(result, true))\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n try {\n abortController.abort()\n } catch (error) {\n // swallow error\n }\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n const localeChanged = locale !== prevLocalePermissions.current\n\n if (data && (collectionSlug || globalSlug)) {\n if (localeChanged) {\n prevLocalePermissions.current = locale\n void getDocPermissions(data)\n } else if (\n hasInitializedDocPermissions.current === false &&\n (!docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null)\n ) {\n hasInitializedDocPermissions.current = true\n void getDocPermissions(data)\n }\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n locale,\n docPermissions,\n hasSavePermission,\n hasPublishPermission,\n ])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n if (isError) notFound()\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"names":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","hasInitializedDocPermissions","prevLocalePermissions","versionsConfig","baseURL","pluralType","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","idToUse","newIsEditing","docAccessURL","publishedAccessJSON","body","JSON","method","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","action","useMemo","docURL","addQueryPrefix","value","title","Provider","DocumentInfoProvider"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n config: {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) return ''\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n const hasInitializedDocPermissions = useRef(false)\n // Separate locale cache used for handling permissions\n const prevLocalePermissions = useRef(locale)\n\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const idToUse = data?.id || id\n const newIsEditing = getIsEditing({ id: idToUse, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${idToUse}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n body: JSON.stringify(data),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n ...(data || {}),\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, id, permissions, i18n.language, locale, collectionSlug, globalSlug],\n )\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) prevLocale.current = locale\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n const data = reduceFieldsToValues(result, true)\n setData(data)\n\n if (localeChanged) void getDocPermissions(data)\n\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n try {\n abortController.abort()\n } catch (error) {\n // swallow error\n }\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n getDocPermissions,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n if (data && (collectionSlug || globalSlug)) {\n if (\n hasInitializedDocPermissions.current === false &&\n (!docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null)\n ) {\n hasInitializedDocPermissions.current = true\n void getDocPermissions(data)\n }\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n docPermissions,\n hasSavePermission,\n hasPublishPermission,\n ])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n if (isError) notFound()\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"names":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","config","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","hasInitializedDocPermissions","prevLocalePermissions","versionsConfig","baseURL","pluralType","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","idToUse","newIsEditing","docAccessURL","body","JSON","method","publishedAccessJSON","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","action","useMemo","docURL","addQueryPrefix","value","title","Provider","DocumentInfoProvider"],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import type { FieldTypes } from 'payload';
2
1
  import React from 'react';
3
- export type IFieldComponentsContext = FieldTypes;
2
+ import type { FieldTypesComponents } from '../../fields/index.js';
3
+ export type IFieldComponentsContext = FieldTypesComponents;
4
4
  export declare const FieldComponentsProvider: React.FC<{
5
- children: React.ReactNode;
5
+ readonly children: React.ReactNode;
6
+ readonly fieldComponents: FieldTypesComponents;
6
7
  }>;
7
8
  export declare const useFieldComponents: () => IFieldComponentsContext;
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/FieldComponents/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,KAAoC,MAAM,OAAO,CAAA;AAIxD,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAA;AAIhD,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAMA,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAO,uBAA6D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/FieldComponents/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAEjE,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,CAAA;AAI1D,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,eAAe,EAAE,oBAAoB,CAAA;CAC/C,CAMA,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAO,uBAA6D,CAAA"}
@@ -1,9 +1,8 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import React, { createContext, useContext } from 'react';
4
- import { fieldComponents } from '../../fields/index.js';
5
- const FieldComponentsContext = /*#__PURE__*/ createContext(fieldComponents);
6
- export const FieldComponentsProvider = ({ children })=>{
4
+ const FieldComponentsContext = /*#__PURE__*/ createContext(null);
5
+ export const FieldComponentsProvider = ({ children, fieldComponents })=>{
7
6
  return /*#__PURE__*/ _jsx(FieldComponentsContext.Provider, {
8
7
  value: fieldComponents,
9
8
  children: children