payload 1.3.0 → 1.3.1

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 (385) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/components/index.js +1 -1
  3. package/components/styles.css +1 -1
  4. package/dist/admin/api.d.ts +1 -1
  5. package/dist/admin/components/elements/ArrayAction/types.d.ts +1 -1
  6. package/dist/admin/components/elements/Autosave/types.d.ts +1 -1
  7. package/dist/admin/components/elements/Banner/types.d.ts +3 -3
  8. package/dist/admin/components/elements/Button/index.js +19 -13
  9. package/dist/admin/components/elements/Button/index.scss +0 -16
  10. package/dist/admin/components/elements/Button/types.d.ts +3 -3
  11. package/dist/admin/components/elements/Card/types.d.ts +1 -1
  12. package/dist/admin/components/elements/Collapsible/index.scss +5 -1
  13. package/dist/admin/components/elements/Collapsible/types.d.ts +1 -1
  14. package/dist/admin/components/elements/ColumnSelector/types.d.ts +1 -1
  15. package/dist/admin/components/elements/CopyToClipboard/index.js +2 -9
  16. package/dist/admin/components/elements/CopyToClipboard/index.scss +0 -14
  17. package/dist/admin/components/elements/CopyToClipboard/types.d.ts +1 -1
  18. package/dist/admin/components/elements/DatePicker/types.d.ts +6 -6
  19. package/dist/admin/components/elements/DeleteDocument/index.js +1 -1
  20. package/dist/admin/components/elements/DeleteDocument/types.d.ts +1 -1
  21. package/dist/admin/components/elements/DocumentDrawer/index.d.ts +6 -0
  22. package/dist/admin/components/elements/DocumentDrawer/index.js +143 -0
  23. package/dist/admin/components/elements/DocumentDrawer/index.scss +36 -0
  24. package/dist/admin/components/elements/DocumentDrawer/types.d.ts +28 -0
  25. package/dist/admin/components/{forms/field-types/Relationship/AddNew/Modal → elements/DocumentDrawer}/types.js +0 -0
  26. package/dist/admin/components/elements/Drawer/index.d.ts +5 -0
  27. package/dist/admin/components/elements/Drawer/index.js +44 -0
  28. package/dist/admin/components/elements/Drawer/index.scss +86 -0
  29. package/dist/admin/components/elements/Drawer/types.d.ts +13 -0
  30. package/dist/admin/components/elements/Drawer/types.js +1 -0
  31. package/dist/admin/components/elements/DuplicateDocument/types.d.ts +1 -1
  32. package/dist/admin/components/elements/Eyebrow/types.d.ts +1 -1
  33. package/dist/admin/components/elements/FileDetails/Meta/types.d.ts +1 -1
  34. package/dist/admin/components/elements/FileDetails/types.d.ts +1 -1
  35. package/dist/admin/components/elements/GenerateConfirmation/types.d.ts +1 -1
  36. package/dist/admin/components/elements/Gutter/index.d.ts +1 -1
  37. package/dist/admin/components/elements/ListControls/types.d.ts +2 -2
  38. package/dist/admin/components/elements/Localizer/types.d.ts +1 -1
  39. package/dist/admin/components/elements/NavGroup/index.d.ts +1 -1
  40. package/dist/admin/components/elements/Paginator/ClickableArrow/types.d.ts +1 -1
  41. package/dist/admin/components/elements/Paginator/Page/types.d.ts +1 -1
  42. package/dist/admin/components/elements/Paginator/types.d.ts +2 -2
  43. package/dist/admin/components/elements/PerPage/index.d.ts +1 -1
  44. package/dist/admin/components/elements/Pill/types.d.ts +2 -2
  45. package/dist/admin/components/elements/Popup/PopupButton/types.d.ts +1 -1
  46. package/dist/admin/components/elements/Popup/types.d.ts +1 -1
  47. package/dist/admin/components/elements/PreviewButton/types.d.ts +1 -1
  48. package/dist/admin/components/elements/Publish/types.d.ts +1 -1
  49. package/dist/admin/components/elements/ReactSelect/ClearIndicator/index.d.ts +5 -0
  50. package/dist/admin/components/elements/ReactSelect/ClearIndicator/index.js +9 -0
  51. package/dist/admin/components/elements/ReactSelect/ClearIndicator/index.scss +5 -0
  52. package/dist/admin/components/elements/ReactSelect/Control/index.d.ts +4 -0
  53. package/dist/admin/components/elements/ReactSelect/Control/index.js +23 -0
  54. package/dist/admin/components/elements/ReactSelect/MultiValue/index.d.ts +5 -0
  55. package/dist/admin/components/elements/ReactSelect/MultiValue/index.js +39 -0
  56. package/dist/admin/components/elements/ReactSelect/MultiValue/index.scss +15 -0
  57. package/dist/admin/components/elements/ReactSelect/MultiValueLabel/index.d.ts +5 -0
  58. package/dist/admin/components/elements/ReactSelect/MultiValueLabel/index.js +12 -0
  59. package/dist/admin/components/elements/ReactSelect/MultiValueLabel/index.scss +15 -0
  60. package/dist/admin/components/elements/ReactSelect/MultiValueRemove/index.d.ts +5 -0
  61. package/dist/admin/components/elements/ReactSelect/MultiValueRemove/index.js +17 -0
  62. package/dist/admin/components/elements/ReactSelect/MultiValueRemove/index.scss +24 -0
  63. package/dist/admin/components/elements/ReactSelect/ValueContainer/index.d.ts +5 -0
  64. package/dist/admin/components/elements/ReactSelect/ValueContainer/index.js +9 -0
  65. package/dist/admin/components/elements/ReactSelect/ValueContainer/index.scss +33 -0
  66. package/dist/admin/components/elements/ReactSelect/index.js +58 -44
  67. package/dist/admin/components/elements/ReactSelect/index.scss +6 -62
  68. package/dist/admin/components/elements/ReactSelect/types.d.ts +14 -3
  69. package/dist/admin/components/elements/RenderTitle/types.d.ts +1 -1
  70. package/dist/admin/components/elements/SearchFilter/types.d.ts +1 -1
  71. package/dist/admin/components/elements/SortColumn/types.d.ts +1 -1
  72. package/dist/admin/components/elements/SortComplex/types.d.ts +1 -1
  73. package/dist/admin/components/elements/Status/types.d.ts +1 -1
  74. package/dist/admin/components/elements/StepNav/index.js +4 -1
  75. package/dist/admin/components/elements/StepNav/types.d.ts +2 -2
  76. package/dist/admin/components/elements/Table/types.d.ts +2 -2
  77. package/dist/admin/components/elements/Thumbnail/types.d.ts +1 -1
  78. package/dist/admin/components/elements/Tooltip/index.js +24 -9
  79. package/dist/admin/components/elements/Tooltip/index.scss +25 -11
  80. package/dist/admin/components/elements/Tooltip/types.d.ts +3 -1
  81. package/dist/admin/components/elements/UploadCard/types.d.ts +1 -1
  82. package/dist/admin/components/elements/UploadGallery/types.d.ts +1 -1
  83. package/dist/admin/components/elements/VersionsCount/types.d.ts +1 -1
  84. package/dist/admin/components/elements/ViewDescription/types.d.ts +4 -4
  85. package/dist/admin/components/elements/WhereBuilder/Condition/Date/types.d.ts +1 -1
  86. package/dist/admin/components/elements/WhereBuilder/Condition/Number/types.d.ts +1 -1
  87. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/types.d.ts +7 -7
  88. package/dist/admin/components/elements/WhereBuilder/Condition/Text/types.d.ts +1 -1
  89. package/dist/admin/components/elements/WhereBuilder/Condition/types.d.ts +1 -1
  90. package/dist/admin/components/elements/WhereBuilder/types.d.ts +8 -8
  91. package/dist/admin/components/forms/Error/index.js +1 -1
  92. package/dist/admin/components/forms/Error/types.d.ts +1 -1
  93. package/dist/admin/components/forms/FieldDescription/types.d.ts +4 -4
  94. package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.d.ts +1 -1
  95. package/dist/admin/components/forms/Form/buildStateFromSchema/index.d.ts +1 -1
  96. package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.d.ts +1 -1
  97. package/dist/admin/components/forms/Form/rows.d.ts +1 -1
  98. package/dist/admin/components/forms/Form/types.d.ts +30 -30
  99. package/dist/admin/components/forms/Label/types.d.ts +1 -1
  100. package/dist/admin/components/forms/RenderFields/types.d.ts +1 -1
  101. package/dist/admin/components/forms/RowLabel/types.d.ts +5 -5
  102. package/dist/admin/components/forms/field-types/Array/index.js +1 -1
  103. package/dist/admin/components/forms/field-types/Array/index.scss +0 -4
  104. package/dist/admin/components/forms/field-types/Array/types.d.ts +1 -1
  105. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlockSelection/types.d.ts +1 -1
  106. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlocksContainer/types.d.ts +1 -1
  107. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/types.d.ts +1 -1
  108. package/dist/admin/components/forms/field-types/Blocks/SectionTitle/types.d.ts +1 -1
  109. package/dist/admin/components/forms/field-types/Blocks/index.scss +0 -4
  110. package/dist/admin/components/forms/field-types/Blocks/types.d.ts +1 -1
  111. package/dist/admin/components/forms/field-types/Checkbox/types.d.ts +1 -1
  112. package/dist/admin/components/forms/field-types/Code/types.d.ts +1 -1
  113. package/dist/admin/components/forms/field-types/Collapsible/index.scss +0 -4
  114. package/dist/admin/components/forms/field-types/Collapsible/types.d.ts +1 -1
  115. package/dist/admin/components/forms/field-types/DateTime/index.js +4 -1
  116. package/dist/admin/components/forms/field-types/DateTime/types.d.ts +1 -1
  117. package/dist/admin/components/forms/field-types/Email/types.d.ts +1 -1
  118. package/dist/admin/components/forms/field-types/Group/types.d.ts +1 -1
  119. package/dist/admin/components/forms/field-types/HiddenInput/types.d.ts +1 -1
  120. package/dist/admin/components/forms/field-types/Number/types.d.ts +1 -1
  121. package/dist/admin/components/forms/field-types/Password/types.d.ts +1 -1
  122. package/dist/admin/components/forms/field-types/Point/types.d.ts +1 -1
  123. package/dist/admin/components/forms/field-types/RadioGroup/Input.d.ts +1 -1
  124. package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/types.d.ts +1 -1
  125. package/dist/admin/components/forms/field-types/RadioGroup/types.d.ts +2 -2
  126. package/dist/admin/components/forms/field-types/Relationship/AddNew/index.js +55 -35
  127. package/dist/admin/components/forms/field-types/Relationship/AddNew/index.scss +6 -18
  128. package/dist/admin/components/forms/field-types/Relationship/AddNew/types.d.ts +1 -1
  129. package/dist/admin/components/forms/field-types/Relationship/AddNew/useRelatedCollections.js +5 -2
  130. package/dist/admin/components/forms/field-types/Relationship/GetFilterOptions/index.d.ts +1 -1
  131. package/dist/admin/components/forms/field-types/Relationship/createRelationMap.d.ts +2 -2
  132. package/dist/admin/components/forms/field-types/Relationship/findOptionsByValue.d.ts +1 -1
  133. package/dist/admin/components/forms/field-types/Relationship/index.js +11 -1
  134. package/dist/admin/components/forms/field-types/Relationship/select-components/MultiValueLabel/index.d.ts +5 -0
  135. package/dist/admin/components/forms/field-types/Relationship/select-components/MultiValueLabel/index.js +36 -0
  136. package/dist/admin/components/forms/field-types/Relationship/select-components/MultiValueLabel/index.scss +40 -0
  137. package/dist/admin/components/forms/field-types/Relationship/select-components/SingleValue/index.d.ts +5 -0
  138. package/dist/admin/components/forms/field-types/Relationship/select-components/SingleValue/index.js +34 -0
  139. package/dist/admin/components/forms/field-types/Relationship/select-components/SingleValue/index.scss +43 -0
  140. package/dist/admin/components/forms/field-types/Relationship/types.d.ts +10 -10
  141. package/dist/admin/components/forms/field-types/RichText/RichText.d.ts +2 -2
  142. package/dist/admin/components/forms/field-types/RichText/elements/link/Modal/types.d.ts +1 -1
  143. package/dist/admin/components/forms/field-types/RichText/elements/relationship/Element/index.js +3 -2
  144. package/dist/admin/components/forms/field-types/RichText/elements/types.d.ts +1 -1
  145. package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/EditModal/index.d.ts +1 -1
  146. package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/SwapUploadModal/index.d.ts +1 -1
  147. package/dist/admin/components/forms/field-types/RichText/types.d.ts +1 -1
  148. package/dist/admin/components/forms/field-types/Row/types.d.ts +1 -1
  149. package/dist/admin/components/forms/field-types/Select/Input.d.ts +1 -1
  150. package/dist/admin/components/forms/field-types/Select/types.d.ts +1 -1
  151. package/dist/admin/components/forms/field-types/Tabs/types.d.ts +1 -1
  152. package/dist/admin/components/forms/field-types/Text/Input.d.ts +1 -1
  153. package/dist/admin/components/forms/field-types/Text/types.d.ts +1 -1
  154. package/dist/admin/components/forms/field-types/Textarea/Input.d.ts +1 -1
  155. package/dist/admin/components/forms/field-types/Textarea/types.d.ts +1 -1
  156. package/dist/admin/components/forms/field-types/Upload/Add/types.d.ts +1 -1
  157. package/dist/admin/components/forms/field-types/Upload/Input.d.ts +1 -1
  158. package/dist/admin/components/forms/field-types/Upload/SelectExisting/types.d.ts +1 -1
  159. package/dist/admin/components/forms/field-types/Upload/types.d.ts +1 -1
  160. package/dist/admin/components/forms/field-types/index.d.ts +1 -1
  161. package/dist/admin/components/forms/field-types/rowReducer.d.ts +8 -8
  162. package/dist/admin/components/forms/useField/types.d.ts +2 -2
  163. package/dist/admin/components/modals/StayLoggedIn/types.d.ts +1 -1
  164. package/dist/admin/components/templates/Default/types.d.ts +1 -1
  165. package/dist/admin/components/templates/Minimal/types.d.ts +1 -1
  166. package/dist/admin/components/utilities/Auth/index.d.ts +1 -1
  167. package/dist/admin/components/utilities/Auth/types.d.ts +1 -1
  168. package/dist/admin/components/utilities/DocumentInfo/index.d.ts +0 -2
  169. package/dist/admin/components/utilities/DocumentInfo/index.js +30 -1
  170. package/dist/admin/components/utilities/DocumentInfo/types.d.ts +9 -4
  171. package/dist/admin/components/utilities/Meta/types.d.ts +2 -2
  172. package/dist/admin/components/utilities/OperationProvider/index.d.ts +1 -1
  173. package/dist/admin/components/utilities/Preferences/index.d.ts +1 -1
  174. package/dist/admin/components/utilities/RenderCustomComponent/types.d.ts +1 -1
  175. package/dist/admin/components/utilities/Theme/index.d.ts +2 -2
  176. package/dist/admin/components/views/Account/types.d.ts +1 -1
  177. package/dist/admin/components/views/CreateFirstUser/types.d.ts +1 -1
  178. package/dist/admin/components/views/Dashboard/types.d.ts +1 -1
  179. package/dist/admin/components/views/Global/index.js +8 -8
  180. package/dist/admin/components/views/Global/types.d.ts +2 -2
  181. package/dist/admin/components/views/Version/Compare/types.d.ts +5 -5
  182. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/types.d.ts +2 -2
  183. package/dist/admin/components/views/Version/RenderFieldsToDiff/types.d.ts +1 -1
  184. package/dist/admin/components/views/Version/Restore/types.d.ts +1 -1
  185. package/dist/admin/components/views/Version/SelectLocales/types.d.ts +1 -1
  186. package/dist/admin/components/views/Version/types.d.ts +3 -3
  187. package/dist/admin/components/views/Versions/types.d.ts +1 -1
  188. package/dist/admin/components/views/collections/Edit/Auth/types.d.ts +1 -1
  189. package/dist/admin/components/views/collections/Edit/Upload/types.d.ts +2 -2
  190. package/dist/admin/components/views/collections/Edit/index.js +8 -8
  191. package/dist/admin/components/views/collections/Edit/index.scss +6 -3
  192. package/dist/admin/components/views/collections/Edit/types.d.ts +2 -2
  193. package/dist/admin/components/views/collections/List/Cell/cellTypes.spec.js +11 -2
  194. package/dist/admin/components/views/collections/List/Cell/field-types/Array/index.d.ts +1 -1
  195. package/dist/admin/components/views/collections/List/Cell/field-types/Blocks/index.d.ts +1 -1
  196. package/dist/admin/components/views/collections/List/Cell/field-types/Date/index.d.ts +2 -1
  197. package/dist/admin/components/views/collections/List/Cell/field-types/Date/index.js +4 -2
  198. package/dist/admin/components/views/collections/List/Cell/field-types/Select/index.d.ts +1 -1
  199. package/dist/admin/components/views/collections/List/Cell/field-types/index.d.ts +2 -1
  200. package/dist/admin/components/views/collections/List/Cell/types.d.ts +1 -1
  201. package/dist/admin/components/views/collections/List/RelationshipProvider/index.d.ts +2 -2
  202. package/dist/admin/components/views/collections/List/RelationshipProvider/reducer.d.ts +3 -3
  203. package/dist/admin/components/views/collections/List/types.d.ts +3 -3
  204. package/dist/admin/hooks/useIntersect.d.ts +1 -1
  205. package/dist/admin/hooks/usePayloadAPI.d.ts +3 -3
  206. package/dist/admin/hooks/useThrottledEffect.d.ts +1 -1
  207. package/dist/admin/scss/type.scss +1 -1
  208. package/dist/admin/utilities/groupNavItems.d.ts +2 -2
  209. package/dist/auth/operations/access.d.ts +3 -3
  210. package/dist/auth/operations/access.js +24 -75
  211. package/dist/auth/operations/forgotPassword.d.ts +2 -2
  212. package/dist/auth/operations/local/forgotPassword.d.ts +1 -1
  213. package/dist/auth/operations/local/login.d.ts +1 -1
  214. package/dist/auth/operations/local/resetPassword.d.ts +1 -1
  215. package/dist/auth/operations/local/unlock.d.ts +1 -1
  216. package/dist/auth/operations/local/verifyEmail.d.ts +1 -1
  217. package/dist/auth/operations/login.d.ts +2 -2
  218. package/dist/auth/operations/logout.d.ts +1 -1
  219. package/dist/auth/operations/me.d.ts +2 -2
  220. package/dist/auth/operations/refresh.d.ts +2 -2
  221. package/dist/auth/operations/registerFirstUser.d.ts +2 -2
  222. package/dist/auth/operations/resetPassword.d.ts +2 -2
  223. package/dist/auth/operations/unlock.d.ts +1 -1
  224. package/dist/auth/operations/verifyEmail.d.ts +1 -1
  225. package/dist/auth/sendVerificationEmail.d.ts +1 -1
  226. package/dist/auth/types.d.ts +20 -14
  227. package/dist/auth/types.js +1 -1
  228. package/dist/collections/buildEndpoints.js +7 -1
  229. package/dist/collections/config/types.d.ts +26 -26
  230. package/dist/collections/graphql/init.js +15 -1
  231. package/dist/collections/graphql/resolvers/create.d.ts +1 -1
  232. package/dist/collections/graphql/resolvers/delete.d.ts +1 -1
  233. package/dist/collections/graphql/resolvers/docAccess.d.ts +9 -0
  234. package/dist/collections/graphql/resolvers/docAccess.js +15 -0
  235. package/dist/collections/graphql/resolvers/find.d.ts +1 -1
  236. package/dist/collections/graphql/resolvers/findByID.d.ts +1 -1
  237. package/dist/collections/graphql/resolvers/findVersionByID.d.ts +1 -1
  238. package/dist/collections/graphql/resolvers/findVersions.d.ts +1 -1
  239. package/dist/collections/graphql/resolvers/restoreVersion.d.ts +1 -1
  240. package/dist/collections/graphql/resolvers/update.d.ts +1 -1
  241. package/dist/collections/graphql/types.d.ts +1 -1
  242. package/dist/collections/init.js +2 -1
  243. package/dist/collections/operations/create.d.ts +1 -1
  244. package/dist/collections/operations/delete.d.ts +1 -1
  245. package/dist/collections/operations/docAccess.d.ts +8 -0
  246. package/dist/collections/operations/docAccess.js +26 -0
  247. package/dist/collections/operations/find.d.ts +1 -1
  248. package/dist/collections/operations/findByID.d.ts +1 -1
  249. package/dist/collections/operations/findVersionByID.d.ts +1 -1
  250. package/dist/collections/operations/findVersions.d.ts +1 -1
  251. package/dist/collections/operations/local/create.d.ts +1 -1
  252. package/dist/collections/operations/local/delete.d.ts +1 -1
  253. package/dist/collections/operations/local/find.d.ts +1 -1
  254. package/dist/collections/operations/local/findByID.d.ts +1 -1
  255. package/dist/collections/operations/local/findVersionByID.d.ts +1 -1
  256. package/dist/collections/operations/local/findVersions.d.ts +1 -1
  257. package/dist/collections/operations/local/restoreVersion.d.ts +1 -1
  258. package/dist/collections/operations/local/update.d.ts +1 -1
  259. package/dist/collections/operations/restoreVersion.d.ts +1 -1
  260. package/dist/collections/operations/update.d.ts +1 -1
  261. package/dist/collections/requestHandlers/create.d.ts +1 -1
  262. package/dist/collections/requestHandlers/delete.d.ts +1 -1
  263. package/dist/collections/requestHandlers/docAccess.d.ts +4 -0
  264. package/dist/collections/requestHandlers/docAccess.js +21 -0
  265. package/dist/collections/requestHandlers/findByID.d.ts +1 -1
  266. package/dist/collections/requestHandlers/findVersionByID.d.ts +1 -1
  267. package/dist/collections/requestHandlers/restoreVersion.d.ts +1 -1
  268. package/dist/collections/requestHandlers/update.d.ts +1 -1
  269. package/dist/config/types.d.ts +18 -18
  270. package/dist/email/types.d.ts +3 -3
  271. package/dist/express/middleware/authenticate.d.ts +1 -1
  272. package/dist/express/middleware/errorHandler.d.ts +1 -1
  273. package/dist/express/responses/formatError.d.ts +1 -1
  274. package/dist/fields/config/types.d.ts +58 -57
  275. package/dist/fields/config/types.js +1 -1
  276. package/dist/fields/getDefaultValue.d.ts +1 -1
  277. package/dist/fields/hooks/afterChange/index.d.ts +1 -1
  278. package/dist/fields/hooks/afterChange/promise.d.ts +1 -1
  279. package/dist/fields/hooks/afterChange/traverseFields.d.ts +1 -1
  280. package/dist/fields/hooks/afterRead/index.d.ts +1 -1
  281. package/dist/fields/hooks/afterRead/promise.d.ts +1 -1
  282. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +1 -1
  283. package/dist/fields/hooks/afterRead/traverseFields.d.ts +1 -1
  284. package/dist/fields/hooks/beforeChange/index.d.ts +1 -1
  285. package/dist/fields/hooks/beforeChange/promise.d.ts +1 -1
  286. package/dist/fields/hooks/beforeChange/promise.js +1 -7
  287. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +1 -1
  288. package/dist/fields/hooks/beforeValidate/index.d.ts +1 -1
  289. package/dist/fields/hooks/beforeValidate/promise.d.ts +1 -1
  290. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +1 -1
  291. package/dist/fields/richText/populate.d.ts +1 -1
  292. package/dist/fields/richText/recurseNestedFields.d.ts +1 -1
  293. package/dist/fields/richText/richTextRelationshipPromise.d.ts +2 -2
  294. package/dist/globals/buildEndpoints.js +8 -2
  295. package/dist/globals/config/types.d.ts +11 -11
  296. package/dist/globals/graphql/init.js +12 -1
  297. package/dist/globals/graphql/resolvers/docAccess.d.ts +8 -0
  298. package/dist/globals/graphql/resolvers/docAccess.js +15 -0
  299. package/dist/globals/graphql/resolvers/findVersionByID.d.ts +1 -1
  300. package/dist/globals/graphql/resolvers/findVersions.d.ts +1 -1
  301. package/dist/globals/graphql/resolvers/restoreVersion.d.ts +1 -1
  302. package/dist/globals/graphql/resolvers/update.d.ts +1 -1
  303. package/dist/globals/init.js +2 -1
  304. package/dist/globals/operations/docAccess.d.ts +9 -0
  305. package/dist/globals/operations/docAccess.js +21 -0
  306. package/dist/globals/operations/findOne.d.ts +1 -1
  307. package/dist/globals/operations/findVersionByID.d.ts +1 -1
  308. package/dist/globals/operations/findVersions.d.ts +1 -1
  309. package/dist/globals/operations/local/findOne.d.ts +1 -1
  310. package/dist/globals/operations/local/findVersionByID.d.ts +1 -1
  311. package/dist/globals/operations/local/findVersions.d.ts +1 -1
  312. package/dist/globals/operations/local/restoreVersion.d.ts +1 -1
  313. package/dist/globals/operations/local/update.d.ts +1 -1
  314. package/dist/globals/operations/restoreVersion.d.ts +1 -1
  315. package/dist/globals/operations/update.d.ts +1 -1
  316. package/dist/globals/requestHandlers/docAccess.d.ts +5 -0
  317. package/dist/globals/requestHandlers/docAccess.js +21 -0
  318. package/dist/globals/requestHandlers/findOne.d.ts +2 -2
  319. package/dist/globals/requestHandlers/update.d.ts +2 -2
  320. package/dist/graphql/schema/buildBlockType.d.ts +1 -1
  321. package/dist/graphql/schema/buildMutationInputType.d.ts +1 -1
  322. package/dist/graphql/schema/buildObjectType.d.ts +2 -2
  323. package/dist/graphql/schema/buildPoliciesType.d.ts +28 -0
  324. package/dist/graphql/schema/buildPoliciesType.js +63 -27
  325. package/dist/mongoose/buildSchema.d.ts +1 -1
  326. package/dist/mongoose/buildSchema.js +7 -1
  327. package/dist/mongoose/buildSortParam.d.ts +1 -1
  328. package/dist/mongoose/getLocalizedSortProperty.d.ts +1 -1
  329. package/dist/mongoose/types.d.ts +1 -1
  330. package/dist/preferences/requestHandlers/update.d.ts +2 -2
  331. package/dist/preferences/types.d.ts +8 -8
  332. package/dist/translations/de.json +2 -0
  333. package/dist/translations/en.json +2 -0
  334. package/dist/translations/es.json +2 -0
  335. package/dist/translations/fr.json +2 -0
  336. package/dist/translations/index.d.ts +32 -0
  337. package/dist/translations/it.json +2 -0
  338. package/dist/translations/ja.json +2 -0
  339. package/dist/translations/my.json +2 -0
  340. package/dist/translations/nb.json +2 -0
  341. package/dist/translations/nl.json +2 -0
  342. package/dist/translations/pl.json +2 -0
  343. package/dist/translations/pt.json +2 -0
  344. package/dist/translations/ru.json +2 -0
  345. package/dist/translations/sv.json +2 -0
  346. package/dist/translations/th.json +80 -78
  347. package/dist/translations/tr.json +2 -0
  348. package/dist/translations/type.d.ts +1 -1
  349. package/dist/translations/vi.json +2 -0
  350. package/dist/types/index.d.ts +8 -5
  351. package/dist/types/index.js +1 -1
  352. package/dist/uploads/generateFileData.d.ts +2 -2
  353. package/dist/uploads/getBaseFields.d.ts +1 -1
  354. package/dist/uploads/getImageSize.d.ts +1 -1
  355. package/dist/uploads/imageResizer.d.ts +2 -2
  356. package/dist/uploads/types.d.ts +10 -10
  357. package/dist/utilities/getEntityPolicies.d.ts +19 -0
  358. package/dist/utilities/getEntityPolicies.js +156 -0
  359. package/dist/utilities/logger.d.ts +1 -1
  360. package/dist/utilities/telemetry/events/adminInit.d.ts +1 -1
  361. package/dist/utilities/telemetry/events/serverInit.d.ts +1 -1
  362. package/dist/utilities/telemetry/index.d.ts +4 -4
  363. package/dist/versions/cleanUpFailedVersion.d.ts +1 -1
  364. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +1 -1
  365. package/dist/versions/drafts/saveCollectionDraft.d.ts +1 -1
  366. package/dist/versions/drafts/saveGlobalDraft.d.ts +1 -1
  367. package/dist/versions/enforceMaxVersions.d.ts +1 -1
  368. package/dist/versions/ensurePublishedCollectionVersion.d.ts +1 -1
  369. package/dist/versions/ensurePublishedGlobalVersion.d.ts +1 -1
  370. package/dist/versions/getLatestCollectionVersion.d.ts +1 -1
  371. package/dist/versions/getLatestGlobalVersion.d.ts +1 -1
  372. package/dist/versions/saveCollectionVersion.d.ts +1 -1
  373. package/dist/versions/saveGlobalVersion.d.ts +1 -1
  374. package/dist/versions/shouldIncrementVersionCount.d.ts +1 -1
  375. package/dist/versions/types.d.ts +7 -7
  376. package/docs/admin/hooks.mdx +19 -17
  377. package/docs/authentication/operations.mdx +2 -0
  378. package/docs/graphql/overview.mdx +1 -1
  379. package/package.json +4 -3
  380. package/dist/admin/components/forms/field-types/Relationship/AddNew/Modal/index.d.ts +0 -4
  381. package/dist/admin/components/forms/field-types/Relationship/AddNew/Modal/index.js +0 -69
  382. package/dist/admin/components/forms/field-types/Relationship/AddNew/Modal/index.scss +0 -117
  383. package/dist/admin/components/forms/field-types/Relationship/AddNew/Modal/types.d.ts +0 -6
  384. package/dist/utilities/arrayMove.d.ts +0 -1
  385. package/dist/utilities/arrayMove.js +0 -10
@@ -2,7 +2,7 @@ import React, { ChangeEvent } from 'react';
2
2
  import { TextareaField } from '../../../../../fields/config/types';
3
3
  import { Description } from '../../FieldDescription/types';
4
4
  import './index.scss';
5
- export declare type TextAreaInputProps = Omit<TextareaField, 'type'> & {
5
+ export type TextAreaInputProps = Omit<TextareaField, 'type'> & {
6
6
  showError?: boolean;
7
7
  errorMessage?: string;
8
8
  readOnly?: boolean;
@@ -1,4 +1,4 @@
1
1
  import { TextareaField } from '../../../../../fields/config/types';
2
- export declare type Props = Omit<TextareaField, 'type'> & {
2
+ export type Props = Omit<TextareaField, 'type'> & {
3
3
  path?: string;
4
4
  };
@@ -1,6 +1,6 @@
1
1
  import { SanitizedCollectionConfig } from '../../../../../../collections/config/types';
2
2
  import { FieldTypes } from '../..';
3
- export declare type Props = {
3
+ export type Props = {
4
4
  setValue: (val: {
5
5
  id: string;
6
6
  } | null) => void;
@@ -4,7 +4,7 @@ import { Description } from '../../FieldDescription/types';
4
4
  import { FieldTypes } from '..';
5
5
  import { SanitizedCollectionConfig } from '../../../../../collections/config/types';
6
6
  import './index.scss';
7
- export declare type UploadInputProps = Omit<UploadField, 'type'> & {
7
+ export type UploadInputProps = Omit<UploadField, 'type'> & {
8
8
  showError?: boolean;
9
9
  errorMessage?: string;
10
10
  readOnly?: boolean;
@@ -1,6 +1,6 @@
1
1
  import { SanitizedCollectionConfig } from '../../../../../../collections/config/types';
2
2
  import { FilterOptions } from '../../../../../../fields/config/types';
3
- export declare type Props = {
3
+ export type Props = {
4
4
  setValue: (val: {
5
5
  id: string;
6
6
  } | null) => void;
@@ -1,6 +1,6 @@
1
1
  import { UploadField } from '../../../../../fields/config/types';
2
2
  import { FieldTypes } from '..';
3
- export declare type Props = Omit<UploadField, 'type'> & {
3
+ export type Props = Omit<UploadField, 'type'> & {
4
4
  path?: string;
5
5
  fieldTypes: FieldTypes;
6
6
  };
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- export declare type FieldTypes = {
2
+ export type FieldTypes = {
3
3
  code: React.ComponentType<any>;
4
4
  email: React.ComponentType<any>;
5
5
  hidden: React.ComponentType<any>;
@@ -1,9 +1,9 @@
1
- export declare type Row = {
1
+ export type Row = {
2
2
  id: string;
3
3
  collapsed?: boolean;
4
4
  blockType?: string;
5
5
  };
6
- declare type SET_ALL = {
6
+ type SET_ALL = {
7
7
  type: 'SET_ALL';
8
8
  data: {
9
9
  id?: string;
@@ -13,29 +13,29 @@ declare type SET_ALL = {
13
13
  blockType?: string;
14
14
  initCollapsed?: boolean;
15
15
  };
16
- declare type SET_COLLAPSE = {
16
+ type SET_COLLAPSE = {
17
17
  type: 'SET_COLLAPSE';
18
18
  id: string;
19
19
  collapsed: boolean;
20
20
  };
21
- declare type SET_ALL_COLLAPSED = {
21
+ type SET_ALL_COLLAPSED = {
22
22
  type: 'SET_ALL_COLLAPSED';
23
23
  collapse: boolean;
24
24
  };
25
- declare type ADD = {
25
+ type ADD = {
26
26
  type: 'ADD';
27
27
  rowIndex: number;
28
28
  blockType?: string;
29
29
  };
30
- declare type REMOVE = {
30
+ type REMOVE = {
31
31
  type: 'REMOVE';
32
32
  rowIndex: number;
33
33
  };
34
- declare type MOVE = {
34
+ type MOVE = {
35
35
  type: 'MOVE';
36
36
  moveFromIndex: number;
37
37
  moveToIndex: number;
38
38
  };
39
- declare type Action = SET_ALL | SET_COLLAPSE | SET_ALL_COLLAPSED | ADD | REMOVE | MOVE;
39
+ type Action = SET_ALL | SET_COLLAPSE | SET_ALL_COLLAPSED | ADD | REMOVE | MOVE;
40
40
  declare const reducer: (currentState: Row[], action: Action) => Row[];
41
41
  export default reducer;
@@ -1,11 +1,11 @@
1
1
  import { Condition, Validate } from '../../../../fields/config/types';
2
- export declare type Options = {
2
+ export type Options = {
3
3
  path: string;
4
4
  validate?: Validate;
5
5
  disableFormData?: boolean;
6
6
  condition?: Condition;
7
7
  };
8
- export declare type FieldType<T> = {
8
+ export type FieldType<T> = {
9
9
  value: T;
10
10
  errorMessage?: string;
11
11
  showError: boolean;
@@ -1,3 +1,3 @@
1
- export declare type Props = {
1
+ export type Props = {
2
2
  refreshCookie: () => void;
3
3
  };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export declare type Props = {
2
+ export type Props = {
3
3
  className?: string;
4
4
  children?: React.ReactNode;
5
5
  };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export declare type Props = {
2
+ export type Props = {
3
3
  className?: string;
4
4
  width?: 'normal' | 'wide';
5
5
  style?: React.CSSProperties;
@@ -4,6 +4,6 @@ import { AuthContext } from './types';
4
4
  export declare const AuthProvider: React.FC<{
5
5
  children: React.ReactNode;
6
6
  }>;
7
- declare type UseAuth<T = User> = () => AuthContext<T>;
7
+ type UseAuth<T = User> = () => AuthContext<T>;
8
8
  export declare const useAuth: UseAuth;
9
9
  export {};
@@ -1,5 +1,5 @@
1
1
  import { User, Permissions } from '../../../../auth/types';
2
- export declare type AuthContext<T = User> = {
2
+ export type AuthContext<T = User> = {
3
3
  user?: T | null;
4
4
  logOut: () => void;
5
5
  refreshCookie: () => void;
@@ -1,6 +1,4 @@
1
1
  import React from 'react';
2
2
  import { ContextType, Props } from './types';
3
- declare const Context: React.Context<ContextType>;
4
3
  export declare const DocumentInfoProvider: React.FC<Props>;
5
4
  export declare const useDocumentInfo: () => ContextType;
6
- export default Context;
@@ -3,26 +3,32 @@ import qs from 'qs';
3
3
  import { useTranslation } from 'react-i18next';
4
4
  import { useConfig } from '../Config';
5
5
  import { usePreferences } from '../Preferences';
6
+ import { useAuth } from '../Auth';
6
7
  const Context = createContext({});
7
8
  export const DocumentInfoProvider = ({ children, global, collection, id, }) => {
8
9
  const { serverURL, routes: { api } } = useConfig();
9
10
  const { getPreference } = usePreferences();
10
11
  const { i18n } = useTranslation();
12
+ const { permissions } = useAuth();
11
13
  const [publishedDoc, setPublishedDoc] = useState(null);
12
14
  const [versions, setVersions] = useState(null);
13
15
  const [unpublishedVersions, setUnpublishedVersions] = useState(null);
16
+ const [docPermissions, setDocPermissions] = useState(null);
14
17
  const baseURL = `${serverURL}${api}`;
15
18
  let slug;
16
19
  let type;
20
+ let pluralType;
17
21
  let preferencesKey;
18
22
  if (global) {
19
23
  slug = global.slug;
20
24
  type = 'global';
25
+ pluralType = 'globals';
21
26
  preferencesKey = `global-${slug}`;
22
27
  }
23
28
  if (collection) {
24
29
  slug = collection.slug;
25
30
  type = 'collection';
31
+ pluralType = 'collections';
26
32
  if (id) {
27
33
  preferencesKey = `collection-${slug}-${id}`;
28
34
  }
@@ -134,6 +140,25 @@ export const DocumentInfoProvider = ({ children, global, collection, id, }) => {
134
140
  setUnpublishedVersions(unpublishedVersionJSON);
135
141
  }
136
142
  }, [i18n, global, collection, id, baseURL]);
143
+ const getDocPermissions = React.useCallback(async () => {
144
+ let docAccessURL;
145
+ if (pluralType === 'globals') {
146
+ docAccessURL = `/globals/${slug}/access`;
147
+ }
148
+ else if (pluralType === 'collections' && id) {
149
+ docAccessURL = `/${slug}/access/${id}`;
150
+ }
151
+ if (docAccessURL) {
152
+ const res = await fetch(`${serverURL}${api}${docAccessURL}`);
153
+ const json = await res.json();
154
+ setDocPermissions(json);
155
+ }
156
+ else {
157
+ // fallback to permissions from the collection
158
+ // (i.e. create has no id)
159
+ setDocPermissions(permissions[pluralType][slug]);
160
+ }
161
+ }, [serverURL, api, pluralType, slug, id, permissions]);
137
162
  useEffect(() => {
138
163
  getVersions();
139
164
  }, [getVersions]);
@@ -143,6 +168,9 @@ export const DocumentInfoProvider = ({ children, global, collection, id, }) => {
143
168
  };
144
169
  getDocPreferences();
145
170
  }, [getPreference, preferencesKey]);
171
+ useEffect(() => {
172
+ getDocPermissions();
173
+ }, [getDocPermissions]);
146
174
  const value = {
147
175
  slug,
148
176
  type,
@@ -154,8 +182,9 @@ export const DocumentInfoProvider = ({ children, global, collection, id, }) => {
154
182
  getVersions,
155
183
  publishedDoc,
156
184
  id,
185
+ getDocPermissions,
186
+ docPermissions,
157
187
  };
158
188
  return (React.createElement(Context.Provider, { value: value }, children));
159
189
  };
160
190
  export const useDocumentInfo = () => useContext(Context);
161
- export default Context;
@@ -1,13 +1,16 @@
1
1
  import React from 'react';
2
+ import { CollectionPermission, GlobalPermission } from '../../../../auth';
2
3
  import { SanitizedCollectionConfig, TypeWithID, TypeWithTimestamps } from '../../../../collections/config/types';
3
4
  import { SanitizedGlobalConfig } from '../../../../globals/config/types';
4
5
  import { PaginatedDocs } from '../../../../mongoose/types';
5
6
  import { TypeWithVersion } from '../../../../versions/types';
6
- export declare type Version = TypeWithVersion<any>;
7
- export declare type ContextType = {
7
+ export type Version = TypeWithVersion<any>;
8
+ export type DocumentPermissions = null | GlobalPermission | CollectionPermission;
9
+ export type EntityType = 'global' | 'collection';
10
+ export type ContextType = {
8
11
  collection?: SanitizedCollectionConfig;
9
12
  global?: SanitizedGlobalConfig;
10
- type: 'global' | 'collection';
13
+ type: EntityType;
11
14
  /** Slug of the collection or global */
12
15
  slug?: string;
13
16
  id?: string | number;
@@ -18,8 +21,10 @@ export declare type ContextType = {
18
21
  _status?: string;
19
22
  };
20
23
  getVersions: () => Promise<void>;
24
+ docPermissions: DocumentPermissions;
25
+ getDocPermissions: () => Promise<void>;
21
26
  };
22
- export declare type Props = {
27
+ export type Props = {
23
28
  collection?: SanitizedCollectionConfig;
24
29
  global?: SanitizedGlobalConfig;
25
30
  id?: string | number;
@@ -1,8 +1,8 @@
1
- export declare type Meta = {
1
+ export type Meta = {
2
2
  property: string;
3
3
  content: string;
4
4
  };
5
- export declare type Props = {
5
+ export type Props = {
6
6
  title: string;
7
7
  description?: string;
8
8
  lang?: string;
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  export declare const OperationContext: import("react").Context<any>;
3
- export declare type Operation = 'create' | 'update';
3
+ export type Operation = 'create' | 'update';
4
4
  export declare const useOperation: () => Operation | undefined;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare type PreferencesContext = {
2
+ type PreferencesContext = {
3
3
  getPreference: <T = any>(key: string) => T | Promise<T>;
4
4
  setPreference: <T = any>(key: string, value: T) => void;
5
5
  };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export declare type Props = {
2
+ export type Props = {
3
3
  CustomComponent: React.ComponentType<any>;
4
4
  DefaultComponent: React.ComponentType<any>;
5
5
  componentProps?: Record<string, unknown>;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- export declare type Theme = 'light' | 'dark';
3
- export declare type ThemeContext = {
2
+ export type Theme = 'light' | 'dark';
3
+ export type ThemeContext = {
4
4
  theme: Theme;
5
5
  setTheme: (theme: Theme) => void;
6
6
  autoMode: boolean;
@@ -1,7 +1,7 @@
1
1
  import { SanitizedCollectionConfig } from '../../../../collections/config/types';
2
2
  import { Fields, Data } from '../../forms/Form/types';
3
3
  import { CollectionPermission } from '../../../../auth/types';
4
- export declare type Props = {
4
+ export type Props = {
5
5
  hasSavePermission: boolean;
6
6
  apiURL: string;
7
7
  collection: SanitizedCollectionConfig;
@@ -1,3 +1,3 @@
1
- export declare type Props = {
1
+ export type Props = {
2
2
  setInitialized: (initialized: boolean) => void;
3
3
  };
@@ -1,7 +1,7 @@
1
1
  import { SanitizedCollectionConfig } from '../../../../collections/config/types';
2
2
  import { SanitizedGlobalConfig } from '../../../../globals/config/types';
3
3
  import { Permissions } from '../../../../auth/types';
4
- export declare type Props = {
4
+ export type Props = {
5
5
  collections: SanitizedCollectionConfig[];
6
6
  globals: SanitizedGlobalConfig[];
7
7
  permissions: Permissions;
@@ -12,13 +12,13 @@ import buildStateFromSchema from '../../forms/Form/buildStateFromSchema';
12
12
  import { useDocumentInfo } from '../../utilities/DocumentInfo';
13
13
  import { usePreferences } from '../../utilities/Preferences';
14
14
  const GlobalView = (props) => {
15
- var _a, _b;
15
+ var _a;
16
16
  const { state: locationState } = useLocation();
17
17
  const locale = useLocale();
18
18
  const { setStepNav } = useStepNav();
19
- const { permissions, user } = useAuth();
19
+ const { user } = useAuth();
20
20
  const [initialState, setInitialState] = useState();
21
- const { getVersions, preferencesKey } = useDocumentInfo();
21
+ const { getVersions, preferencesKey, docPermissions, getDocPermissions } = useDocumentInfo();
22
22
  const { getPreference } = usePreferences();
23
23
  const { t } = useTranslation();
24
24
  const { serverURL, routes: { api, }, } = useConfig();
@@ -26,9 +26,10 @@ const GlobalView = (props) => {
26
26
  const { slug, label, fields, admin: { components: { views: { Edit: CustomEdit, } = {}, } = {}, } = {}, } = global;
27
27
  const onSave = useCallback(async (json) => {
28
28
  getVersions();
29
+ getDocPermissions();
29
30
  const state = await buildStateFromSchema({ fieldSchema: fields, data: json.result, operation: 'update', user, locale, t });
30
31
  setInitialState(state);
31
- }, [getVersions, fields, user, locale, t]);
32
+ }, [getVersions, fields, user, locale, t, getDocPermissions]);
32
33
  const [{ data }] = usePayloadAPI(`${serverURL}${api}/globals/${slug}`, { initialParams: { 'fallback-locale': 'null', depth: 0, draft: 'true' } });
33
34
  const dataToRender = (locationState === null || locationState === void 0 ? void 0 : locationState.data) || data;
34
35
  useEffect(() => {
@@ -45,15 +46,14 @@ const GlobalView = (props) => {
45
46
  };
46
47
  awaitInitialState();
47
48
  }, [dataToRender, fields, user, locale, getPreference, preferencesKey, t]);
48
- const globalPermissions = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.globals) === null || _a === void 0 ? void 0 : _a[slug];
49
49
  return (React.createElement(RenderCustomComponent, { DefaultComponent: DefaultGlobal, CustomComponent: CustomEdit, componentProps: {
50
- isLoading: !initialState,
50
+ isLoading: !initialState || !docPermissions,
51
51
  data: dataToRender,
52
- permissions: globalPermissions,
52
+ permissions: docPermissions,
53
53
  initialState,
54
54
  global,
55
55
  onSave,
56
- apiURL: `${serverURL}${api}/globals/${slug}${((_b = global.versions) === null || _b === void 0 ? void 0 : _b.drafts) ? '?draft=true' : ''}`,
56
+ apiURL: `${serverURL}${api}/globals/${slug}${((_a = global.versions) === null || _a === void 0 ? void 0 : _a.drafts) ? '?draft=true' : ''}`,
57
57
  action: `${serverURL}${api}/globals/${slug}?locale=${locale}&depth=0&fallback-locale=null`,
58
58
  } }));
59
59
  };
@@ -2,10 +2,10 @@ import { GlobalPermission } from '../../../../auth/types';
2
2
  import { SanitizedGlobalConfig } from '../../../../globals/config/types';
3
3
  import { Fields } from '../../forms/Form/types';
4
4
  import { Document } from '../../../../types';
5
- export declare type IndexProps = {
5
+ export type IndexProps = {
6
6
  global: SanitizedGlobalConfig;
7
7
  };
8
- export declare type Props = {
8
+ export type Props = {
9
9
  global: SanitizedGlobalConfig;
10
10
  data: Document;
11
11
  onSave: () => void;
@@ -1,7 +1,7 @@
1
1
  import { SanitizedCollectionConfig } from '../../../../../collections/config/types';
2
2
  import { PaginatedDocs } from '../../../../../mongoose/types';
3
3
  import { CompareOption } from '../types';
4
- export declare type Props = {
4
+ export type Props = {
5
5
  onChange: (val: CompareOption) => void;
6
6
  value: CompareOption;
7
7
  baseURL: string;
@@ -9,17 +9,17 @@ export declare type Props = {
9
9
  versionID: string;
10
10
  parentID?: string;
11
11
  };
12
- declare type CLEAR = {
12
+ type CLEAR = {
13
13
  type: 'CLEAR';
14
14
  required: boolean;
15
15
  };
16
- declare type ADD = {
16
+ type ADD = {
17
17
  type: 'ADD';
18
18
  data: PaginatedDocs<any>;
19
19
  collection: SanitizedCollectionConfig;
20
20
  };
21
- export declare type Action = CLEAR | ADD;
22
- export declare type ValueWithRelation = {
21
+ export type Action = CLEAR | ADD;
22
+ export type ValueWithRelation = {
23
23
  relationTo: string;
24
24
  value: string;
25
25
  };
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { DiffMethod } from 'react-diff-viewer';
3
3
  import { FieldPermissions } from '../../../../../../auth';
4
- export declare type FieldComponents = Record<string, React.FC<Props>>;
5
- export declare type Props = {
4
+ export type FieldComponents = Record<string, React.FC<Props>>;
5
+ export type Props = {
6
6
  diffMethod?: DiffMethod;
7
7
  fieldComponents: FieldComponents;
8
8
  version: any;
@@ -1,7 +1,7 @@
1
1
  import { FieldPermissions } from '../../../../../auth';
2
2
  import { Field } from '../../../../../fields/config/types';
3
3
  import { FieldComponents } from './fields/types';
4
- export declare type Props = {
4
+ export type Props = {
5
5
  fields: Field[];
6
6
  fieldComponents: FieldComponents;
7
7
  fieldPermissions: Record<string, FieldPermissions>;
@@ -1,6 +1,6 @@
1
1
  import { SanitizedCollectionConfig } from '../../../../../collections/config/types';
2
2
  import { SanitizedGlobalConfig } from '../../../../../globals/config/types';
3
- export declare type Props = {
3
+ export type Props = {
4
4
  collection?: SanitizedCollectionConfig;
5
5
  global?: SanitizedGlobalConfig;
6
6
  className?: string;
@@ -1,5 +1,5 @@
1
1
  import { LocaleOption } from '../types';
2
- export declare type Props = {
2
+ export type Props = {
3
3
  onChange: (options: LocaleOption[]) => void;
4
4
  value: LocaleOption[];
5
5
  options: LocaleOption[];
@@ -1,16 +1,16 @@
1
1
  import { SanitizedCollectionConfig } from '../../../../collections/config/types';
2
2
  import { SanitizedGlobalConfig } from '../../../../globals/config/types';
3
- export declare type LocaleOption = {
3
+ export type LocaleOption = {
4
4
  label: string;
5
5
  value: string;
6
6
  };
7
- export declare type CompareOption = {
7
+ export type CompareOption = {
8
8
  label: string;
9
9
  value: string;
10
10
  relationTo?: string;
11
11
  options?: CompareOption[];
12
12
  };
13
- export declare type Props = {
13
+ export type Props = {
14
14
  collection?: SanitizedCollectionConfig;
15
15
  global?: SanitizedGlobalConfig;
16
16
  };
@@ -1,6 +1,6 @@
1
1
  import { SanitizedCollectionConfig } from '../../../../collections/config/types';
2
2
  import { SanitizedGlobalConfig } from '../../../../globals/config/types';
3
- export declare type Props = {
3
+ export type Props = {
4
4
  collection?: SanitizedCollectionConfig;
5
5
  global?: SanitizedGlobalConfig;
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import { SanitizedCollectionConfig } from '../../../../../../collections/config/types';
2
2
  import { VerifyConfig } from '../../../../../../auth/types';
3
- export declare type Props = {
3
+ export type Props = {
4
4
  useAPIKey?: boolean;
5
5
  requirePassword?: boolean;
6
6
  verify?: VerifyConfig | boolean;
@@ -1,10 +1,10 @@
1
1
  import { SanitizedCollectionConfig } from '../../../../../../collections/config/types';
2
- export declare type Data = {
2
+ export type Data = {
3
3
  filename: string;
4
4
  mimeType: string;
5
5
  filesize: number;
6
6
  };
7
- export declare type Props = {
7
+ export type Props = {
8
8
  data?: Data;
9
9
  collection: SanitizedCollectionConfig;
10
10
  adminThumbnail?: string;
@@ -13,7 +13,7 @@ import { useDocumentInfo } from '../../../utilities/DocumentInfo';
13
13
  import { usePreferences } from '../../../utilities/Preferences';
14
14
  import { EditDepthContext } from '../../../utilities/EditDepth';
15
15
  const EditView = (props) => {
16
- var _a, _b, _c;
16
+ var _a, _b;
17
17
  const { collection: incomingCollection, isEditing } = props;
18
18
  const { slug, admin: { components: { views: { Edit: CustomEdit, } = {}, } = {}, } = {}, } = incomingCollection;
19
19
  const [fields] = useState(() => formatFields(incomingCollection, isEditing));
@@ -25,13 +25,14 @@ const EditView = (props) => {
25
25
  const { state: locationState } = useLocation();
26
26
  const history = useHistory();
27
27
  const [initialState, setInitialState] = useState();
28
- const { permissions, user } = useAuth();
29
- const { getVersions, preferencesKey } = useDocumentInfo();
28
+ const { user } = useAuth();
29
+ const { getVersions, preferencesKey, getDocPermissions, docPermissions } = useDocumentInfo();
30
30
  const { getPreference } = usePreferences();
31
31
  const { t } = useTranslation('general');
32
32
  const onSave = useCallback(async (json) => {
33
33
  var _a;
34
34
  getVersions();
35
+ getDocPermissions();
35
36
  if (!isEditing) {
36
37
  setRedirect(`${admin}/collections/${collection.slug}/${(_a = json === null || json === void 0 ? void 0 : json.doc) === null || _a === void 0 ? void 0 : _a.id}`);
37
38
  }
@@ -39,7 +40,7 @@ const EditView = (props) => {
39
40
  const state = await buildStateFromSchema({ fieldSchema: collection.fields, data: json.doc, user, id, operation: 'update', locale, t });
40
41
  setInitialState(state);
41
42
  }
42
- }, [admin, collection, isEditing, getVersions, user, id, t, locale]);
43
+ }, [admin, collection, isEditing, getVersions, user, id, t, locale, getDocPermissions]);
43
44
  const [{ data, isLoading: isLoadingDocument, isError }] = usePayloadAPI((isEditing ? `${serverURL}${api}/${slug}/${id}` : null), { initialParams: { 'fallback-locale': 'null', depth: 0, draft: 'true' } });
44
45
  const dataToRender = (locationState === null || locationState === void 0 ? void 0 : locationState.data) || data;
45
46
  useEffect(() => {
@@ -61,17 +62,16 @@ const EditView = (props) => {
61
62
  if (isError) {
62
63
  return (React.createElement(Redirect, { to: `${admin}/not-found` }));
63
64
  }
64
- const collectionPermissions = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.collections) === null || _a === void 0 ? void 0 : _a[slug];
65
65
  const apiURL = `${serverURL}${api}/${slug}/${id}${collection.versions.drafts ? '?draft=true' : ''}`;
66
66
  const action = `${serverURL}${api}/${slug}${isEditing ? `/${id}` : ''}?locale=${locale}&depth=0&fallback-locale=null`;
67
- const hasSavePermission = (isEditing && ((_b = collectionPermissions === null || collectionPermissions === void 0 ? void 0 : collectionPermissions.update) === null || _b === void 0 ? void 0 : _b.permission)) || (!isEditing && ((_c = collectionPermissions === null || collectionPermissions === void 0 ? void 0 : collectionPermissions.create) === null || _c === void 0 ? void 0 : _c.permission));
67
+ const hasSavePermission = (isEditing && ((_a = docPermissions === null || docPermissions === void 0 ? void 0 : docPermissions.update) === null || _a === void 0 ? void 0 : _a.permission)) || (!isEditing && ((_b = docPermissions === null || docPermissions === void 0 ? void 0 : docPermissions.create) === null || _b === void 0 ? void 0 : _b.permission));
68
68
  return (React.createElement(EditDepthContext.Provider, { value: 1 },
69
69
  React.createElement(RenderCustomComponent, { DefaultComponent: DefaultEdit, CustomComponent: CustomEdit, componentProps: {
70
70
  id,
71
- isLoading: !initialState,
71
+ isLoading: !initialState || !docPermissions,
72
72
  data: dataToRender,
73
73
  collection,
74
- permissions: collectionPermissions,
74
+ permissions: docPermissions,
75
75
  isEditing,
76
76
  onSave,
77
77
  initialState,
@@ -70,16 +70,19 @@
70
70
  }
71
71
 
72
72
  &__document-actions {
73
- @include blur-bg;
74
73
  padding-right: $baseline;
75
74
  position: sticky;
76
75
  top: 0;
77
76
  z-index: var(--z-nav);
78
77
 
79
- >* {
78
+ > * {
80
79
  position: relative;
81
80
  z-index: 1;
82
81
  }
82
+
83
+ @include mid-break {
84
+ @include blur-bg;
85
+ }
83
86
  }
84
87
 
85
88
  &__document-actions--has-2 {
@@ -233,4 +236,4 @@
233
236
  padding-bottom: base(3.5);
234
237
  }
235
238
  }
236
- }
239
+ }