@payloadcms/ui 4.0.0-internal.f15737c → 4.0.0-internal.f2a04f7

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 (330) hide show
  1. package/dist/css/preflight.css +21 -2
  2. package/dist/elements/AppHeader/index.css +1 -1
  3. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  4. package/dist/elements/AppHeader/index.js +5 -1
  5. package/dist/elements/AppHeader/index.js.map +1 -1
  6. package/dist/elements/Autosave/index.d.ts.map +1 -1
  7. package/dist/elements/Autosave/index.js +10 -3
  8. package/dist/elements/Autosave/index.js.map +1 -1
  9. package/dist/elements/Button/index.css +24 -0
  10. package/dist/elements/Button/types.d.ts +1 -1
  11. package/dist/elements/Button/types.d.ts.map +1 -1
  12. package/dist/elements/Button/types.js.map +1 -1
  13. package/dist/elements/CloseModalOnRouteChange/index.d.ts.map +1 -1
  14. package/dist/elements/CloseModalOnRouteChange/index.js +27 -19
  15. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  16. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  17. package/dist/elements/CodeEditor/CodeEditor.js +5 -0
  18. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  19. package/dist/elements/DatePicker/DatePicker.js +6 -2
  20. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  21. package/dist/elements/DatePicker/index.css +35 -25
  22. package/dist/elements/DocumentControls/index.css +13 -10
  23. package/dist/elements/DocumentControls/index.d.ts +4 -2
  24. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  25. package/dist/elements/DocumentControls/index.js.map +1 -1
  26. package/dist/elements/DocumentDrawer/types.d.ts +1 -5
  27. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  28. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  29. package/dist/elements/DocumentFields/index.css +7 -7
  30. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  31. package/dist/elements/DocumentFields/index.js +1 -2
  32. package/dist/elements/DocumentFields/index.js.map +1 -1
  33. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  34. package/dist/elements/Drawer/types.d.ts +2 -2
  35. package/dist/elements/Drawer/types.d.ts.map +1 -1
  36. package/dist/elements/Drawer/types.js.map +1 -1
  37. package/dist/elements/EditUpload/library.css +6 -13
  38. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  39. package/dist/elements/FileManager/index.d.ts.map +1 -1
  40. package/dist/elements/FileManager/index.js +6 -1
  41. package/dist/elements/FileManager/index.js.map +1 -1
  42. package/dist/elements/Hierarchy/ActionsMenu/index.css +18 -0
  43. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts +35 -0
  44. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts.map +1 -0
  45. package/dist/elements/Hierarchy/ActionsMenu/index.js +99 -0
  46. package/dist/elements/Hierarchy/ActionsMenu/index.js.map +1 -0
  47. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +18 -16
  48. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  49. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +2 -0
  50. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  51. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  52. package/dist/elements/Hierarchy/DocHeaderButton/index.css +12 -0
  53. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  54. package/dist/elements/Hierarchy/DocHeaderButton/index.js +61 -14
  55. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  56. package/dist/elements/Hierarchy/Modal/Footer/index.css +33 -0
  57. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +21 -0
  58. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  59. package/dist/elements/Hierarchy/Modal/Footer/index.js +122 -0
  60. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  61. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +8 -3
  62. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  63. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +38 -12
  64. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  65. package/dist/elements/Hierarchy/Modal/index.css +0 -56
  66. package/dist/elements/Hierarchy/Modal/index.d.ts +5 -3
  67. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  68. package/dist/elements/Hierarchy/Modal/index.js +64 -65
  69. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  70. package/dist/elements/Hierarchy/Modal/types.d.ts +2 -0
  71. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  72. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  73. package/dist/elements/Hierarchy/MoveMany/index.d.ts +1 -3
  74. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  75. package/dist/elements/Hierarchy/MoveMany/index.js +62 -84
  76. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  77. package/dist/elements/ListControls/types.d.ts +0 -10
  78. package/dist/elements/ListControls/types.d.ts.map +1 -1
  79. package/dist/elements/ListControls/types.js.map +1 -1
  80. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  81. package/dist/elements/ListDrawer/DrawerContent.js +1 -2
  82. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  83. package/dist/elements/ListDrawer/Provider.d.ts +0 -6
  84. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  85. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  86. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  87. package/dist/elements/ListDrawer/index.js +1 -1
  88. package/dist/elements/ListDrawer/index.js.map +1 -1
  89. package/dist/elements/ListDrawer/types.d.ts +1 -0
  90. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  91. package/dist/elements/ListDrawer/types.js.map +1 -1
  92. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  93. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +24 -20
  94. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  95. package/dist/elements/LivePreview/Window/index.css +7 -1
  96. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  97. package/dist/elements/Nav/NavWrapper/index.js +19 -14
  98. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  99. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  100. package/dist/elements/PublishButton/index.js +71 -8
  101. package/dist/elements/PublishButton/index.js.map +1 -1
  102. package/dist/elements/PublishButton/validateAllLocales.d.ts +11 -0
  103. package/dist/elements/PublishButton/validateAllLocales.d.ts.map +1 -0
  104. package/dist/elements/PublishButton/validateAllLocales.js +263 -0
  105. package/dist/elements/PublishButton/validateAllLocales.js.map +1 -0
  106. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  107. package/dist/elements/RelationshipTable/AddNewButton.js +3 -0
  108. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  109. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  110. package/dist/elements/SaveDraftButton/index.js +15 -2
  111. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  112. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  113. package/dist/elements/SegmentedControl/index.css +50 -7
  114. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  115. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  116. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +0 -9
  117. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  118. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +63 -40
  119. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  120. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  121. package/dist/elements/Table/DefaultCell/index.js +6 -1
  122. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  123. package/dist/elements/Table/index.js.map +1 -1
  124. package/dist/elements/Tabs/index.css +4 -3
  125. package/dist/elements/Upload/getEditorFileSrc.d.ts +11 -0
  126. package/dist/elements/Upload/getEditorFileSrc.d.ts.map +1 -0
  127. package/dist/elements/Upload/getEditorFileSrc.js +6 -0
  128. package/dist/elements/Upload/getEditorFileSrc.js.map +1 -0
  129. package/dist/elements/Upload/index.d.ts.map +1 -1
  130. package/dist/elements/Upload/index.js +6 -1
  131. package/dist/elements/Upload/index.js.map +1 -1
  132. package/dist/exports/client/{CodeEditor-UKD3EPUY.js → CodeEditor-I6PL55BF.js} +2 -2
  133. package/dist/exports/client/{DatePicker-POZJVQP4.js → DatePicker-XAKGIULG.js} +2 -2
  134. package/dist/exports/client/{chunk-2AY67NFV.js → chunk-36JJSMEB.js} +2 -2
  135. package/dist/exports/client/chunk-36JJSMEB.js.map +7 -0
  136. package/dist/exports/client/chunk-R7M6BG75.js +27 -0
  137. package/dist/exports/client/chunk-R7M6BG75.js.map +7 -0
  138. package/dist/exports/client/index.d.ts +3 -0
  139. package/dist/exports/client/index.d.ts.map +1 -1
  140. package/dist/exports/client/index.js +27 -27
  141. package/dist/exports/client/index.js.map +4 -4
  142. package/dist/exports/shared/index.js +2 -2
  143. package/dist/exports/shared/index.js.map +3 -3
  144. package/dist/fields/Group/index.css +3 -5
  145. package/dist/fields/Tabs/index.css +14 -14
  146. package/dist/fields/Upload/Input.d.ts.map +1 -1
  147. package/dist/fields/Upload/Input.js +3 -1
  148. package/dist/fields/Upload/Input.js.map +1 -1
  149. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  150. package/dist/forms/Form/fieldReducer.js +6 -9
  151. package/dist/forms/Form/fieldReducer.js.map +1 -1
  152. package/dist/forms/Form/index.d.ts.map +1 -1
  153. package/dist/forms/Form/index.js +0 -1
  154. package/dist/forms/Form/index.js.map +1 -1
  155. package/dist/forms/Form/types.d.ts +0 -5
  156. package/dist/forms/Form/types.d.ts.map +1 -1
  157. package/dist/forms/Form/types.js.map +1 -1
  158. package/dist/forms/RenderFields/index.css +2 -2
  159. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +2 -2
  160. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  161. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  162. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -2
  163. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  164. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  165. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -2
  166. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  167. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  168. package/dist/forms/fieldSchemasToFormState/types.d.ts +2 -2
  169. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  170. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  171. package/dist/forms/useField/types.d.ts +0 -4
  172. package/dist/forms/useField/types.d.ts.map +1 -1
  173. package/dist/forms/useField/types.js.map +1 -1
  174. package/dist/icons/Arrow/index.d.ts +1 -1
  175. package/dist/icons/Arrow/index.d.ts.map +1 -1
  176. package/dist/icons/Arrow/index.js +7 -1
  177. package/dist/icons/Arrow/index.js.map +1 -1
  178. package/dist/icons/Clock/index.d.ts +6 -0
  179. package/dist/icons/Clock/index.d.ts.map +1 -0
  180. package/dist/icons/Clock/index.js +18 -0
  181. package/dist/icons/Clock/index.js.map +1 -0
  182. package/dist/icons/Pin/index.d.ts +7 -0
  183. package/dist/icons/Pin/index.d.ts.map +1 -0
  184. package/dist/icons/Pin/index.js +23 -0
  185. package/dist/icons/Pin/index.js.map +1 -0
  186. package/dist/icons/Sidebar/index.d.ts.map +1 -1
  187. package/dist/icons/Sidebar/index.js +2 -0
  188. package/dist/icons/Sidebar/index.js.map +1 -1
  189. package/dist/icons/Table/index.css +5 -1
  190. package/dist/layouts/Root/getRootLayoutData.d.ts +2 -2
  191. package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -1
  192. package/dist/layouts/Root/getRootLayoutData.js +8 -4
  193. package/dist/layouts/Root/getRootLayoutData.js.map +1 -1
  194. package/dist/layouts/Root/index.d.ts +1 -1
  195. package/dist/layouts/Root/index.d.ts.map +1 -1
  196. package/dist/layouts/Root/index.js +5 -20
  197. package/dist/layouts/Root/index.js.map +1 -1
  198. package/dist/providers/ListQuery/types.d.ts +0 -4
  199. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  200. package/dist/providers/ListQuery/types.js.map +1 -1
  201. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  202. package/dist/providers/RouteCache/index.js +37 -25
  203. package/dist/providers/RouteCache/index.js.map +1 -1
  204. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  205. package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -2
  206. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  207. package/dist/providers/TableColumns/types.d.ts +1 -34
  208. package/dist/providers/TableColumns/types.d.ts.map +1 -1
  209. package/dist/providers/TableColumns/types.js.map +1 -1
  210. package/dist/styles.css +22 -3
  211. package/dist/templates/Default/index.css +0 -1
  212. package/dist/utilities/appendCacheTag.d.ts +1 -0
  213. package/dist/utilities/appendCacheTag.d.ts.map +1 -1
  214. package/dist/utilities/appendCacheTag.js +2 -1
  215. package/dist/utilities/appendCacheTag.js.map +1 -1
  216. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  217. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +32 -6
  218. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  219. package/dist/utilities/getDisplayedFieldValue.d.ts +8 -2
  220. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  221. package/dist/utilities/getDisplayedFieldValue.js +11 -1
  222. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  223. package/dist/utilities/getDocumentThumbnail.d.ts +6 -0
  224. package/dist/utilities/getDocumentThumbnail.d.ts.map +1 -0
  225. package/dist/utilities/getDocumentThumbnail.js +27 -0
  226. package/dist/utilities/getDocumentThumbnail.js.map +1 -0
  227. package/dist/utilities/getDocumentThumbnailPopulate.d.ts +7 -0
  228. package/dist/utilities/getDocumentThumbnailPopulate.d.ts.map +1 -0
  229. package/dist/utilities/getDocumentThumbnailPopulate.js +23 -0
  230. package/dist/utilities/getDocumentThumbnailPopulate.js.map +1 -0
  231. package/dist/utilities/getDocumentThumbnailSelect.d.ts +7 -0
  232. package/dist/utilities/getDocumentThumbnailSelect.d.ts.map +1 -0
  233. package/dist/utilities/getDocumentThumbnailSelect.js +24 -0
  234. package/dist/utilities/getDocumentThumbnailSelect.js.map +1 -0
  235. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  236. package/dist/utilities/handleLivePreview.js.map +1 -1
  237. package/dist/utilities/hasSavePermission.js.map +1 -1
  238. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  239. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  240. package/dist/utilities/serverFunctionRegistry.js +2 -0
  241. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  242. package/dist/utilities/traverseForLocalizedFields.d.ts +7 -2
  243. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  244. package/dist/utilities/traverseForLocalizedFields.js +22 -8
  245. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  246. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  247. package/dist/views/CreateFirstUser/index.js +4 -2
  248. package/dist/views/CreateFirstUser/index.js.map +1 -1
  249. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  250. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +30 -21
  251. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  252. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +1 -1
  253. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  254. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +16 -4
  255. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  256. package/dist/views/Edit/index.css +26 -0
  257. package/dist/views/Edit/index.d.ts.map +1 -1
  258. package/dist/views/Edit/index.js +1 -1
  259. package/dist/views/Edit/index.js.map +1 -1
  260. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  261. package/dist/views/HierarchyList/DocumentListSelection/index.js +0 -1
  262. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  263. package/dist/views/List/DocumentGrid/index.d.ts.map +1 -1
  264. package/dist/views/List/DocumentGrid/index.js +2 -37
  265. package/dist/views/List/DocumentGrid/index.js.map +1 -1
  266. package/dist/views/List/enrichDocsWithVersionStatus.d.ts.map +1 -1
  267. package/dist/views/List/enrichDocsWithVersionStatus.js +3 -1
  268. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  269. package/dist/views/List/index.d.ts.map +1 -1
  270. package/dist/views/List/index.js +11 -24
  271. package/dist/views/List/index.js.map +1 -1
  272. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -12
  273. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  274. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +2 -2
  275. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  276. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +2 -2
  277. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  278. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +2 -2
  279. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  280. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +2 -2
  281. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  282. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +2 -2
  283. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  284. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +2 -2
  285. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  286. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  287. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +2 -2
  288. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  289. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +8 -8
  290. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  291. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +2 -2
  292. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  293. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
  294. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +2 -2
  295. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  296. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -1
  297. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +31 -5
  298. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
  299. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +41 -0
  300. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +19 -0
  301. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +1 -0
  302. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +121 -0
  303. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +1 -0
  304. package/dist/widgets/RecentlyViewed/getDocuments.d.ts +20 -0
  305. package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +1 -0
  306. package/dist/widgets/RecentlyViewed/getDocuments.js +254 -0
  307. package/dist/widgets/RecentlyViewed/getDocuments.js.map +1 -0
  308. package/dist/widgets/RecentlyViewed/index.client.d.ts +41 -0
  309. package/dist/widgets/RecentlyViewed/index.client.d.ts.map +1 -0
  310. package/dist/widgets/RecentlyViewed/index.client.js +409 -0
  311. package/dist/widgets/RecentlyViewed/index.client.js.map +1 -0
  312. package/dist/widgets/RecentlyViewed/index.css +352 -0
  313. package/dist/widgets/RecentlyViewed/index.d.ts +1 -1
  314. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -1
  315. package/dist/widgets/RecentlyViewed/index.js +33 -134
  316. package/dist/widgets/RecentlyViewed/index.js.map +1 -1
  317. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts +18 -0
  318. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +1 -0
  319. package/dist/widgets/RecentlyViewed/pinnedPreferences.js +81 -0
  320. package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +1 -0
  321. package/dist/widgets/RecentlyViewed/recents.d.ts +8 -0
  322. package/dist/widgets/RecentlyViewed/recents.d.ts.map +1 -0
  323. package/dist/widgets/RecentlyViewed/recents.js +19 -0
  324. package/dist/widgets/RecentlyViewed/recents.js.map +1 -0
  325. package/package.json +16 -16
  326. package/dist/exports/client/chunk-2AY67NFV.js.map +0 -7
  327. package/dist/exports/client/chunk-6XCSN54Q.js +0 -27
  328. package/dist/exports/client/chunk-6XCSN54Q.js.map +0 -7
  329. /package/dist/exports/client/{CodeEditor-UKD3EPUY.js.map → CodeEditor-I6PL55BF.js.map} +0 -0
  330. /package/dist/exports/client/{DatePicker-POZJVQP4.js.map → DatePicker-XAKGIULG.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"addFieldStatePromise.js","names":["ObjectIdImport","getBlockSelect","stripUnselectedFields","validateBlocksFilterOptions","deepCopyObjectSimple","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","fieldIsID","fieldIsLocalized","tabHasName","resolveFilterOptions","isRowCollapsed","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","blockData","clientFieldSchemaMap","collectionSlug","data","field","fieldSchemaMap","filter","forceFullValue","fullData","globalSlug","includeSchema","indexPath","mockRSCs","omitParents","operation","parentPath","parentPermissions","parentSchemaPath","passesCondition","path","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","schemaPath","select","selectMode","skipConditionChecks","skipValidation","state","console","warn","fieldPermissions","fieldState","lastRenderedPath","addedByServer","fieldSchema","isPresentationalWithSubFields","type","name","undefined","value","initialValue","hasPermission","read","access","collection","payload","collections","config","global","globals","find","g","slug","siblingData","validate","validationResult","jsonError","JSON","parse","e","event","previousValue","err","logger","error","msg","errorPath","errorPaths","includes","push","valid","errorMessage","arrayValue","Array","isArray","arraySelect","promises","rows","reduce","acc","row","rowIndex","rowPath","toHexString","idKey","fields","localized","parentIndexPath","parentPassesCondition","permissions","previousRow","prevRow","newRow","isLoading","isCollapsed","collapsedPrefs","collapsed","Promise","all","length","disableFormData","blocksValue","filterOptionsValidationResult","filterOptions","blocksFilterOptions","allowedBlockSlugs","rowMetadata","i","blockTypeToMatch","blockType","block","blocks","Error","blockSelect","blockSelectMode","invalidBlockSlugs","t","blockField","fieldKey","blockNameKey","blockName","groupSelect","relationTo","relation","query","user","hasMany","relationshipValue","map","relationship","selectFilterOptions","options","isNamedTab","shouldContinue","siblingDoc","childPermissions","tabSelect","tabPermissions","tabs","tab","fieldConfig","get","endsWith","formState","previousFieldState"],"sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FieldState,\n FlattenedBlock,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n Row,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n TabAsField,\n Validate,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { getBlockSelect, stripUnselectedFields, validateBlocksFilterOptions } from 'payload'\nimport {\n deepCopyObjectSimple,\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsLocalized,\n tabHasName,\n} from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { resolveFilterOptions } from '../../utilities/resolveFilterOptions.js'\nimport { isRowCollapsed } from './isRowCollapsed.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n /**\n * Data of the nearest parent block, or undefined\n */\n blockData: Data | undefined\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n field: Field | TabAsField\n fieldIndex: number\n fieldSchemaMap: FieldSchemaMap\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n globalSlug?: string\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n indexPath: string\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPath: string\n parentPermissions: SanitizedFieldsPermissions\n parentSchemaPath: string\n passesCondition: boolean\n path: string\n preferences: DocumentPreferences\n previousFormState: FormState\n readOnly?: boolean\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n schemaPath: string\n select?: SelectType\n selectMode?: SelectMode\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n globalSlug,\n includeSchema = false,\n indexPath,\n mockRSCs,\n omitParents = false,\n operation,\n parentPath,\n parentPermissions,\n parentSchemaPath,\n passesCondition,\n path,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n // eslint-disable-next-line no-console\n console.warn(\n 'clientFieldSchemaMap is not passed to addFieldStatePromise - this will reduce performance',\n )\n }\n\n let fieldPermissions: SanitizedFieldPermissions = true\n\n const fieldState: FieldState = {}\n\n const lastRenderedPath = previousFormState?.[path]?.lastRenderedPath\n\n // Append only if true to avoid sending '$undefined' through the network\n if (lastRenderedPath) {\n fieldState.lastRenderedPath = lastRenderedPath\n }\n\n // If we're rendering all fields, no need to flag this as added by server\n const addedByServer = !renderAllFields && !previousFormState?.[path]\n\n // Append only if true to avoid sending '$undefined' through the network\n if (addedByServer) {\n fieldState.addedByServer = true\n }\n\n // Append only if true to avoid sending '$undefined' through the network\n if (passesCondition === false) {\n fieldState.passesCondition = false\n }\n\n // Append only if true to avoid sending '$undefined' through the network\n if (includeSchema) {\n fieldState.fieldSchema = field\n }\n\n // Short-circuit hidden fields to prevent recursing and rendering. Two exclusions:\n // - `tab`: visibility is keyed by `field.id` (not `path`); the tab branch owns that write.\n // - presentational containers (row, collapsible, unnamed group): they hold no value, so\n // returning here drops their nested fields' values.\n const isPresentationalWithSubFields = fieldHasSubFields(field) && !fieldAffectsData(field)\n\n if (passesCondition === false && field.type !== 'tab' && !isPresentationalWithSubFields) {\n if (fieldAffectsData(field) && data?.[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n return\n }\n\n if (fieldAffectsData(field) && !fieldIsHiddenOrDisabled(field) && field.type !== 'tab') {\n fieldPermissions =\n parentPermissions === true\n ? parentPermissions\n : deepCopyObjectSimple(parentPermissions?.[field.name])\n\n let hasPermission: boolean =\n fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read)\n\n if (typeof field?.access?.read === 'function') {\n const collection = collectionSlug\n ? (req.payload.collections[collectionSlug]?.config ?? null)\n : null\n const global = globalSlug\n ? (req.payload.globals.config.find((g) => g.slug === globalSlug) ?? null)\n : null\n\n hasPermission = await field.access.read({\n id,\n blockData,\n data: fullData,\n req,\n siblingData: data,\n ...(collection ? { collection } : { global }),\n })\n } else {\n hasPermission = true\n }\n\n if (!hasPermission) {\n return\n }\n\n const validate: Validate = 'validate' in field ? field.validate : undefined\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name])\n } catch (e) {\n jsonError = e\n }\n }\n\n try {\n validationResult = await validate(data?.[field.name], {\n ...field,\n id,\n blockData,\n collectionSlug,\n data: fullData,\n event: 'onChange',\n // @AlessioGr added `jsonError` in https://github.com/payloadcms/payload/commit/c7ea62a39473408c3ea912c4fbf73e11be4b538d\n // @ts-expect-error-next-line\n jsonError,\n operation,\n preferences,\n previousValue: previousFormState?.[path]?.initialValue,\n req,\n siblingData: data,\n })\n } catch (err) {\n validationResult = `Error validating field at path: ${path}`\n\n req.payload.logger.error({\n err,\n msg: validationResult,\n })\n }\n }\n\n /**\n * This function adds the error **path** to the current field and all its parents. If a field is invalid, all its parents are also invalid.\n * It does not add the error **message** to the current field, as that shouldn't apply to all parents.\n * This is done separately below.\n */\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths) {\n fieldState.errorPaths = []\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(path)\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const arraySelect = select?.[field.name]\n\n const { promises, rows } = arrayValue.reduce(\n (acc, row, rowIndex: number) => {\n const rowPath = path + '.' + rowIndex\n\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n const idKey = rowPath + '.id'\n\n state[idKey] = {\n initialValue: row.id,\n value: row.id,\n }\n\n if (includeSchema) {\n state[idKey].fieldSchema = field.fields.find((field) => fieldIsID(field))\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: rowPath,\n parentSchemaPath: schemaPath,\n permissions:\n fieldPermissions === true ? fieldPermissions : fieldPermissions?.fields || {},\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof arraySelect === 'object' ? arraySelect : undefined,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n if (!acc.rows) {\n acc.rows = []\n }\n\n // First, check if `previousFormState` has a matching row\n const previousRow: Row = (previousFormState?.[path]?.rows || []).find(\n (prevRow) => prevRow.id === row.id,\n )\n\n const newRow: Row = {\n id: row.id,\n isLoading: false,\n }\n\n if (previousRow?.lastRenderedPath) {\n newRow.lastRenderedPath = previousRow.lastRenderedPath\n }\n\n // add addedByServer flag\n if (!previousRow) {\n newRow.addedByServer = true\n }\n\n const isCollapsed = isRowCollapsed({\n collapsedPrefs: preferences?.fields?.[path]?.collapsed,\n field,\n previousRow,\n row,\n })\n\n if (isCollapsed) {\n newRow.collapsed = true\n }\n\n acc.rows.push(newRow)\n\n return acc\n },\n {\n promises: [],\n rows: [],\n },\n )\n\n // Wait for all promises and update fields with the results\n await Promise.all(promises)\n\n if (rows) {\n fieldState.rows = rows\n }\n\n // Add values to field state\n if (data[field.name] !== null) {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n // Handle blocks filterOptions\n let filterOptionsValidationResult: Awaited<\n ReturnType<typeof validateBlocksFilterOptions>\n > | null = null\n if (field.filterOptions) {\n filterOptionsValidationResult = await validateBlocksFilterOptions({\n id,\n data: fullData,\n filterOptions: field.filterOptions,\n req,\n siblingData: data,\n value: data[field.name],\n })\n\n fieldState.blocksFilterOptions = filterOptionsValidationResult.allowedBlockSlugs\n }\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i: number) => {\n const blockTypeToMatch: string = row.blockType\n\n const block =\n req.payload.blocks[blockTypeToMatch] ??\n (field.blocks.find(\n (blockType) => typeof blockType !== 'string' && blockType.slug === blockTypeToMatch,\n ) as FlattenedBlock | undefined)\n\n if (!block) {\n throw new Error(\n `Block with type \"${row.blockType}\" was found in block data, but no block with that type is defined in the config for field with schema path ${schemaPath}.`,\n )\n }\n\n const { blockSelect, blockSelectMode } = getBlockSelect({\n block,\n select: select?.[field.name],\n selectMode,\n })\n\n const rowPath = path + '.' + i\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n const previousRow: Row = (previousFormState?.[path]?.rows || []).find(\n (prevRow) => prevRow.id === row.id,\n )\n\n if (!omitParents && (!filter || filter(args))) {\n // Handle block `id` field\n const idKey = rowPath + '.id'\n\n state[idKey] = {\n initialValue: row.id,\n value: row.id,\n }\n\n if (!previousRow) {\n state[idKey].addedByServer = true\n }\n\n // If the blocks field fails filterOptions validation, add error paths to the individual blocks that are no longer allowed\n if (\n filterOptionsValidationResult?.invalidBlockSlugs?.length &&\n filterOptionsValidationResult.invalidBlockSlugs.includes(row.blockType)\n ) {\n state[idKey].errorMessage = req.t('validation:invalidBlock', {\n block: row.blockType,\n })\n state[idKey].valid = false\n addErrorPathToParent(idKey)\n\n // If the error is due to block filterOptions, we want the blocks field (fieldState) to include all the filterOptions-related\n // error paths for each sub-block, not for the validation result of the block itself. Otherwise, say there are 2 invalid blocks,\n // the blocks field will have 3 instead of 2 error paths - one for itself, and one for each invalid block.\n // Instead, we want only the 2 error paths for the individual, invalid blocks.\n fieldState.errorPaths = fieldState.errorPaths.filter(\n (errorPath) => errorPath !== path,\n )\n }\n\n if (includeSchema) {\n state[idKey].fieldSchema = includeSchema\n ? block.fields.find((blockField) => fieldIsID(blockField))\n : undefined\n }\n\n // Handle `blockType` field\n const fieldKey = rowPath + '.blockType'\n\n state[fieldKey] = {\n initialValue: row.blockType,\n value: row.blockType,\n }\n\n if (!previousRow) {\n state[fieldKey].addedByServer = true\n }\n\n if (includeSchema) {\n state[fieldKey].fieldSchema = block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n }\n\n // Handle `blockName` field\n const blockNameKey = rowPath + '.blockName'\n\n state[blockNameKey] = {}\n\n if (!previousRow) {\n state[blockNameKey].addedByServer = true\n }\n\n if (row.blockName) {\n state[blockNameKey].initialValue = row.blockName\n state[blockNameKey].value = row.blockName\n }\n\n if (includeSchema) {\n state[blockNameKey].fieldSchema = block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData: row,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: block.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: rowPath,\n parentSchemaPath: schemaPath + '.' + block.slug,\n permissions:\n fieldPermissions === true\n ? fieldPermissions\n : parentPermissions?.[field.name]?.blocks?.[block.slug] === true\n ? true\n : parentPermissions?.[field.name]?.blocks?.[block.slug]?.fields || {},\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof blockSelect === 'object' ? blockSelect : undefined,\n selectMode: blockSelectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const newRow: Row = {\n id: row.id,\n blockType: row.blockType,\n isLoading: false,\n }\n\n if (previousRow?.lastRenderedPath) {\n newRow.lastRenderedPath = previousRow.lastRenderedPath\n }\n\n if (!previousRow) {\n newRow.addedByServer = true\n }\n\n acc.rowMetadata.push(newRow)\n\n const isCollapsed = isRowCollapsed({\n collapsedPrefs: preferences?.fields?.[path]?.collapsed,\n field,\n previousRow,\n row,\n })\n\n if (isCollapsed) {\n acc.rowMetadata[acc.rowMetadata.length - 1].collapsed = true\n }\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[path] = fieldState\n }\n\n const groupSelect = select?.[field.name]\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: data?.[field.name] || {},\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions:\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.fields,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof groupSelect === 'object' ? groupSelect : undefined,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n\n case 'relationship':\n case 'upload': {\n if (field.filterOptions) {\n if (typeof field.filterOptions === 'object') {\n if (typeof field.relationTo === 'string') {\n fieldState.filterOptions = {\n [field.relationTo]: field.filterOptions,\n }\n } else {\n fieldState.filterOptions = field.relationTo.reduce((acc, relation) => {\n acc[relation] = field.filterOptions\n return acc\n }, {})\n }\n }\n\n if (typeof field.filterOptions === 'function') {\n const query = await resolveFilterOptions(field.filterOptions, {\n id,\n blockData,\n data: fullData,\n relationTo: field.relationTo,\n req,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'select': {\n if (typeof field.filterOptions === 'function') {\n fieldState.selectFilterOptions = await field.filterOptions({\n data: fullData,\n options: field.options,\n req,\n siblingData: data,\n })\n }\n\n if (data[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n default: {\n if (data[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n // Add field to state\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n // Handle field types that do not use names (row, collapsible, unnamed group etc)\n\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n }\n\n // Presentational containers are hidden client-side via `withCondition`, which reads\n // `passesCondition` from their own state entry. Must be set here since these fields\n // are excluded from the short-circuit above (which would otherwise carry the flag).\n if (passesCondition === false) {\n state[path].passesCondition = false\n }\n }\n\n await iterateFields({\n id,\n mockRSCs,\n select,\n selectMode,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: fieldIsLocalized(field) || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions: parentPermissions, // TODO: Verify this is correct\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tab') {\n const isNamedTab = tabHasName(field)\n\n if (isNamedTab) {\n const shouldContinue = stripUnselectedFields({\n field: { ...field, type: 'tab' },\n select,\n selectMode,\n siblingDoc: data?.[field.name] || {},\n })\n\n if (!shouldContinue) {\n return\n }\n }\n\n // Tab visibility on the client is keyed by `field.id`, not `path` (like all other fields).\n if (field?.id) {\n state[field.id] = {\n passesCondition,\n }\n\n // Flag newly added tab entries so the client accepts them during merge.\n // Otherwise, tabs revealed after a hidden ancestor becomes visible would never make it into client form state.\n if (!renderAllFields && !previousFormState?.[field.id]) {\n state[field.id].addedByServer = true\n }\n }\n\n if (!passesCondition) {\n return\n }\n\n let childPermissions: SanitizedFieldsPermissions\n let tabSelect: SelectType | undefined\n\n if (isNamedTab) {\n if (parentPermissions === true) {\n childPermissions = true\n } else {\n const tabPermissions = parentPermissions?.[field.name]\n childPermissions = tabPermissions === true ? true : tabPermissions?.fields\n }\n\n if (typeof select?.[field.name] === 'object') {\n tabSelect = select?.[field.name] as SelectType\n }\n } else {\n childPermissions = parentPermissions\n tabSelect = select\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: isNamedTab ? data?.[field.name] || {} : data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions: childPermissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: tabSelect,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n }\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: fieldIsLocalized(field) || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions: parentPermissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[path] = fieldState\n state[path].disableFormData = true\n }\n }\n\n if (renderFieldFn && !fieldIsHiddenOrDisabled(field)) {\n const fieldConfig = fieldSchemaMap.get(schemaPath)\n\n if (!fieldConfig && !mockRSCs) {\n if (schemaPath.endsWith('.blockType')) {\n return\n } else {\n throw new Error(`Field config not found for ${schemaPath}`)\n }\n }\n\n if (!state[path]) {\n // Some fields (ie `Tab`) do not live in form state\n // therefore we cannot attach customComponents to them\n return\n }\n\n if (addedByServer) {\n state[path].addedByServer = addedByServer\n }\n\n renderFieldFn({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data: fullData,\n fieldConfig: fieldConfig as Field,\n fieldSchemaMap,\n fieldState: state[path],\n formState: state,\n indexPath,\n lastRenderedPath,\n mockRSCs,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions: fieldPermissions,\n preferences,\n previousFieldState: previousFormState?.[path],\n readOnly,\n renderAllFields,\n req,\n schemaPath,\n siblingData: data,\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"addFieldStatePromise.js","names":["ObjectIdImport","getBlockSelect","stripUnselectedFields","validateBlocksFilterOptions","deepCopyObjectSimple","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","fieldIsID","fieldIsLocalized","tabHasName","resolveFilterOptions","isRowCollapsed","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","blockData","clientFieldSchemaMap","collectionSlug","data","field","fieldSchemaMap","filter","forceFullValue","fullData","globalSlug","includeSchema","indexPath","mockRSCs","omitParents","operation","parentPath","parentPermissions","parentSchemaPath","passesCondition","path","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","schemaPath","select","selectMode","skipConditionChecks","skipValidation","state","console","warn","fieldPermissions","fieldState","lastRenderedPath","addedByServer","fieldSchema","isPresentationalWithSubFields","type","name","undefined","value","initialValue","hasPermission","read","access","collection","payload","collections","config","global","globals","find","g","slug","siblingData","validate","validationResult","jsonError","JSON","parse","e","event","previousValue","err","logger","error","msg","errorPath","errorPaths","includes","push","valid","errorMessage","arrayValue","Array","isArray","arraySelect","promises","rows","reduce","acc","row","rowIndex","rowPath","toHexString","idKey","fields","localized","parentIndexPath","parentPassesCondition","permissions","previousRow","prevRow","newRow","isLoading","isCollapsed","collapsedPrefs","collapsed","Promise","all","length","disableFormData","blocksValue","filterOptionsValidationResult","filterOptions","blocksFilterOptions","allowedBlockSlugs","rowMetadata","i","blockTypeToMatch","blockType","block","blocks","Error","blockSelect","blockSelectMode","invalidBlockSlugs","t","blockField","fieldKey","blockNameKey","blockName","groupSelect","relationTo","relation","query","user","hasMany","relationshipValue","map","relationship","selectFilterOptions","options","isNamedTab","shouldContinue","siblingDoc","childPermissions","tabSelect","tabPermissions","tabs","tab","fieldConfig","get","endsWith","formState","previousFieldState"],"sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldOperation,\n FieldSchemaMap,\n FieldState,\n FlattenedBlock,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n Row,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n TabAsField,\n Validate,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { getBlockSelect, stripUnselectedFields, validateBlocksFilterOptions } from 'payload'\nimport {\n deepCopyObjectSimple,\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsLocalized,\n tabHasName,\n} from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { resolveFilterOptions } from '../../utilities/resolveFilterOptions.js'\nimport { isRowCollapsed } from './isRowCollapsed.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n /**\n * Data of the nearest parent block, or undefined\n */\n blockData: Data | undefined\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n field: Field | TabAsField\n fieldIndex: number\n fieldSchemaMap: FieldSchemaMap\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n globalSlug?: string\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n indexPath: string\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: FieldOperation\n parentIndexPath: string\n parentPath: string\n parentPermissions: SanitizedFieldsPermissions\n parentSchemaPath: string\n passesCondition: boolean\n path: string\n preferences: DocumentPreferences\n previousFormState: FormState\n readOnly?: boolean\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n schemaPath: string\n select?: SelectType\n selectMode?: SelectMode\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n globalSlug,\n includeSchema = false,\n indexPath,\n mockRSCs,\n omitParents = false,\n operation,\n parentPath,\n parentPermissions,\n parentSchemaPath,\n passesCondition,\n path,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n // eslint-disable-next-line no-console\n console.warn(\n 'clientFieldSchemaMap is not passed to addFieldStatePromise - this will reduce performance',\n )\n }\n\n let fieldPermissions: SanitizedFieldPermissions = true\n\n const fieldState: FieldState = {}\n\n const lastRenderedPath = previousFormState?.[path]?.lastRenderedPath\n\n // Append only if true to avoid sending '$undefined' through the network\n if (lastRenderedPath) {\n fieldState.lastRenderedPath = lastRenderedPath\n }\n\n // If we're rendering all fields, no need to flag this as added by server\n const addedByServer = !renderAllFields && !previousFormState?.[path]\n\n // Append only if true to avoid sending '$undefined' through the network\n if (addedByServer) {\n fieldState.addedByServer = true\n }\n\n // Append only if true to avoid sending '$undefined' through the network\n if (passesCondition === false) {\n fieldState.passesCondition = false\n }\n\n // Append only if true to avoid sending '$undefined' through the network\n if (includeSchema) {\n fieldState.fieldSchema = field\n }\n\n // Short-circuit hidden fields to prevent recursing and rendering. Two exclusions:\n // - `tab`: visibility is keyed by `field.id` (not `path`); the tab branch owns that write.\n // - presentational containers (row, collapsible, unnamed group): they hold no value, so\n // returning here drops their nested fields' values.\n const isPresentationalWithSubFields = fieldHasSubFields(field) && !fieldAffectsData(field)\n\n if (passesCondition === false && field.type !== 'tab' && !isPresentationalWithSubFields) {\n if (fieldAffectsData(field) && data?.[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n return\n }\n\n if (fieldAffectsData(field) && !fieldIsHiddenOrDisabled(field) && field.type !== 'tab') {\n fieldPermissions =\n parentPermissions === true\n ? parentPermissions\n : deepCopyObjectSimple(parentPermissions?.[field.name])\n\n let hasPermission: boolean =\n fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read)\n\n if (typeof field?.access?.read === 'function') {\n const collection = collectionSlug\n ? (req.payload.collections[collectionSlug]?.config ?? null)\n : null\n const global = globalSlug\n ? (req.payload.globals.config.find((g) => g.slug === globalSlug) ?? null)\n : null\n\n hasPermission = await field.access.read({\n id,\n blockData,\n data: fullData,\n req,\n siblingData: data,\n ...(collection ? { collection } : { global }),\n })\n } else {\n hasPermission = true\n }\n\n if (!hasPermission) {\n return\n }\n\n const validate: Validate = 'validate' in field ? field.validate : undefined\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name])\n } catch (e) {\n jsonError = e\n }\n }\n\n try {\n validationResult = await validate(data?.[field.name], {\n ...field,\n id,\n blockData,\n collectionSlug,\n data: fullData,\n event: 'onChange',\n // @AlessioGr added `jsonError` in https://github.com/payloadcms/payload/commit/c7ea62a39473408c3ea912c4fbf73e11be4b538d\n // @ts-expect-error-next-line\n jsonError,\n operation,\n preferences,\n previousValue: previousFormState?.[path]?.initialValue,\n req,\n siblingData: data,\n })\n } catch (err) {\n validationResult = `Error validating field at path: ${path}`\n\n req.payload.logger.error({\n err,\n msg: validationResult,\n })\n }\n }\n\n /**\n * This function adds the error **path** to the current field and all its parents. If a field is invalid, all its parents are also invalid.\n * It does not add the error **message** to the current field, as that shouldn't apply to all parents.\n * This is done separately below.\n */\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths) {\n fieldState.errorPaths = []\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(path)\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const arraySelect = select?.[field.name]\n\n const { promises, rows } = arrayValue.reduce(\n (acc, row, rowIndex: number) => {\n const rowPath = path + '.' + rowIndex\n\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n const idKey = rowPath + '.id'\n\n state[idKey] = {\n initialValue: row.id,\n value: row.id,\n }\n\n if (includeSchema) {\n state[idKey].fieldSchema = field.fields.find((field) => fieldIsID(field))\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: rowPath,\n parentSchemaPath: schemaPath,\n permissions:\n fieldPermissions === true ? fieldPermissions : fieldPermissions?.fields || {},\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof arraySelect === 'object' ? arraySelect : undefined,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n if (!acc.rows) {\n acc.rows = []\n }\n\n // First, check if `previousFormState` has a matching row\n const previousRow: Row = (previousFormState?.[path]?.rows || []).find(\n (prevRow) => prevRow.id === row.id,\n )\n\n const newRow: Row = {\n id: row.id,\n isLoading: false,\n }\n\n if (previousRow?.lastRenderedPath) {\n newRow.lastRenderedPath = previousRow.lastRenderedPath\n }\n\n // add addedByServer flag\n if (!previousRow) {\n newRow.addedByServer = true\n }\n\n const isCollapsed = isRowCollapsed({\n collapsedPrefs: preferences?.fields?.[path]?.collapsed,\n field,\n previousRow,\n row,\n })\n\n if (isCollapsed) {\n newRow.collapsed = true\n }\n\n acc.rows.push(newRow)\n\n return acc\n },\n {\n promises: [],\n rows: [],\n },\n )\n\n // Wait for all promises and update fields with the results\n await Promise.all(promises)\n\n if (rows) {\n fieldState.rows = rows\n }\n\n // Add values to field state\n if (data[field.name] !== null) {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n // Handle blocks filterOptions\n let filterOptionsValidationResult: Awaited<\n ReturnType<typeof validateBlocksFilterOptions>\n > | null = null\n if (field.filterOptions) {\n filterOptionsValidationResult = await validateBlocksFilterOptions({\n id,\n data: fullData,\n filterOptions: field.filterOptions,\n req,\n siblingData: data,\n value: data[field.name],\n })\n\n fieldState.blocksFilterOptions = filterOptionsValidationResult.allowedBlockSlugs\n }\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i: number) => {\n const blockTypeToMatch: string = row.blockType\n\n const block =\n req.payload.blocks[blockTypeToMatch] ??\n (field.blocks.find(\n (blockType) => typeof blockType !== 'string' && blockType.slug === blockTypeToMatch,\n ) as FlattenedBlock | undefined)\n\n if (!block) {\n throw new Error(\n `Block with type \"${row.blockType}\" was found in block data, but no block with that type is defined in the config for field with schema path ${schemaPath}.`,\n )\n }\n\n const { blockSelect, blockSelectMode } = getBlockSelect({\n block,\n select: select?.[field.name],\n selectMode,\n })\n\n const rowPath = path + '.' + i\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n const previousRow: Row = (previousFormState?.[path]?.rows || []).find(\n (prevRow) => prevRow.id === row.id,\n )\n\n if (!omitParents && (!filter || filter(args))) {\n // Handle block `id` field\n const idKey = rowPath + '.id'\n\n state[idKey] = {\n initialValue: row.id,\n value: row.id,\n }\n\n if (!previousRow) {\n state[idKey].addedByServer = true\n }\n\n // If the blocks field fails filterOptions validation, add error paths to the individual blocks that are no longer allowed\n if (\n filterOptionsValidationResult?.invalidBlockSlugs?.length &&\n filterOptionsValidationResult.invalidBlockSlugs.includes(row.blockType)\n ) {\n state[idKey].errorMessage = req.t('validation:invalidBlock', {\n block: row.blockType,\n })\n state[idKey].valid = false\n addErrorPathToParent(idKey)\n\n // If the error is due to block filterOptions, we want the blocks field (fieldState) to include all the filterOptions-related\n // error paths for each sub-block, not for the validation result of the block itself. Otherwise, say there are 2 invalid blocks,\n // the blocks field will have 3 instead of 2 error paths - one for itself, and one for each invalid block.\n // Instead, we want only the 2 error paths for the individual, invalid blocks.\n fieldState.errorPaths = fieldState.errorPaths.filter(\n (errorPath) => errorPath !== path,\n )\n }\n\n if (includeSchema) {\n state[idKey].fieldSchema = includeSchema\n ? block.fields.find((blockField) => fieldIsID(blockField))\n : undefined\n }\n\n // Handle `blockType` field\n const fieldKey = rowPath + '.blockType'\n\n state[fieldKey] = {\n initialValue: row.blockType,\n value: row.blockType,\n }\n\n if (!previousRow) {\n state[fieldKey].addedByServer = true\n }\n\n if (includeSchema) {\n state[fieldKey].fieldSchema = block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n }\n\n // Handle `blockName` field\n const blockNameKey = rowPath + '.blockName'\n\n state[blockNameKey] = {}\n\n if (!previousRow) {\n state[blockNameKey].addedByServer = true\n }\n\n if (row.blockName) {\n state[blockNameKey].initialValue = row.blockName\n state[blockNameKey].value = row.blockName\n }\n\n if (includeSchema) {\n state[blockNameKey].fieldSchema = block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData: row,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: block.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: rowPath,\n parentSchemaPath: schemaPath + '.' + block.slug,\n permissions:\n fieldPermissions === true\n ? fieldPermissions\n : parentPermissions?.[field.name]?.blocks?.[block.slug] === true\n ? true\n : parentPermissions?.[field.name]?.blocks?.[block.slug]?.fields || {},\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof blockSelect === 'object' ? blockSelect : undefined,\n selectMode: blockSelectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const newRow: Row = {\n id: row.id,\n blockType: row.blockType,\n isLoading: false,\n }\n\n if (previousRow?.lastRenderedPath) {\n newRow.lastRenderedPath = previousRow.lastRenderedPath\n }\n\n if (!previousRow) {\n newRow.addedByServer = true\n }\n\n acc.rowMetadata.push(newRow)\n\n const isCollapsed = isRowCollapsed({\n collapsedPrefs: preferences?.fields?.[path]?.collapsed,\n field,\n previousRow,\n row,\n })\n\n if (isCollapsed) {\n acc.rowMetadata[acc.rowMetadata.length - 1].collapsed = true\n }\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[path] = fieldState\n }\n\n const groupSelect = select?.[field.name]\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: data?.[field.name] || {},\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions:\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.fields,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof groupSelect === 'object' ? groupSelect : undefined,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n\n case 'relationship':\n case 'upload': {\n if (field.filterOptions) {\n if (typeof field.filterOptions === 'object') {\n if (typeof field.relationTo === 'string') {\n fieldState.filterOptions = {\n [field.relationTo]: field.filterOptions,\n }\n } else {\n fieldState.filterOptions = field.relationTo.reduce((acc, relation) => {\n acc[relation] = field.filterOptions\n return acc\n }, {})\n }\n }\n\n if (typeof field.filterOptions === 'function') {\n const query = await resolveFilterOptions(field.filterOptions, {\n id,\n blockData,\n data: fullData,\n relationTo: field.relationTo,\n req,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'select': {\n if (typeof field.filterOptions === 'function') {\n fieldState.selectFilterOptions = await field.filterOptions({\n data: fullData,\n options: field.options,\n req,\n siblingData: data,\n })\n }\n\n if (data[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n default: {\n if (data[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n // Add field to state\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n // Handle field types that do not use names (row, collapsible, unnamed group etc)\n\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n }\n\n // Presentational containers are hidden client-side via `withCondition`, which reads\n // `passesCondition` from their own state entry. Must be set here since these fields\n // are excluded from the short-circuit above (which would otherwise carry the flag).\n if (passesCondition === false) {\n state[path].passesCondition = false\n }\n }\n\n await iterateFields({\n id,\n mockRSCs,\n select,\n selectMode,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: fieldIsLocalized(field) || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions: parentPermissions, // TODO: Verify this is correct\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tab') {\n const isNamedTab = tabHasName(field)\n\n if (isNamedTab) {\n const shouldContinue = stripUnselectedFields({\n field: { ...field, type: 'tab' },\n select,\n selectMode,\n siblingDoc: data?.[field.name] || {},\n })\n\n if (!shouldContinue) {\n return\n }\n }\n\n // Tab visibility on the client is keyed by `field.id`, not `path` (like all other fields).\n if (field?.id) {\n state[field.id] = {\n passesCondition,\n }\n\n // Flag newly added tab entries so the client accepts them during merge.\n // Otherwise, tabs revealed after a hidden ancestor becomes visible would never make it into client form state.\n if (!renderAllFields && !previousFormState?.[field.id]) {\n state[field.id].addedByServer = true\n }\n }\n\n if (!passesCondition) {\n return\n }\n\n let childPermissions: SanitizedFieldsPermissions\n let tabSelect: SelectType | undefined\n\n if (isNamedTab) {\n if (parentPermissions === true) {\n childPermissions = true\n } else {\n const tabPermissions = parentPermissions?.[field.name]\n childPermissions = tabPermissions === true ? true : tabPermissions?.fields\n }\n\n if (typeof select?.[field.name] === 'object') {\n tabSelect = select?.[field.name] as SelectType\n }\n } else {\n childPermissions = parentPermissions\n tabSelect = select\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: isNamedTab ? data?.[field.name] || {} : data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions: childPermissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: tabSelect,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n }\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: fieldIsLocalized(field) || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions: parentPermissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[path] = fieldState\n state[path].disableFormData = true\n }\n }\n\n if (renderFieldFn && !fieldIsHiddenOrDisabled(field)) {\n const fieldConfig = fieldSchemaMap.get(schemaPath)\n\n if (!fieldConfig && !mockRSCs) {\n if (schemaPath.endsWith('.blockType')) {\n return\n } else {\n throw new Error(`Field config not found for ${schemaPath}`)\n }\n }\n\n if (!state[path]) {\n // Some fields (ie `Tab`) do not live in form state\n // therefore we cannot attach customComponents to them\n return\n }\n\n if (addedByServer) {\n state[path].addedByServer = addedByServer\n }\n\n renderFieldFn({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data: fullData,\n fieldConfig: fieldConfig as Field,\n fieldSchemaMap,\n fieldState: state[path],\n formState: state,\n indexPath,\n lastRenderedPath,\n mockRSCs,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions: fieldPermissions,\n preferences,\n previousFieldState: previousFormState?.[path],\n readOnly,\n renderAllFields,\n req,\n schemaPath,\n siblingData: data,\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { BuildFormStateArgs, ClientFieldSchemaMap, Data, DocumentPreferences, Field, FieldSchemaMap, FormState, PayloadRequest, SanitizedFieldsPermissions, SelectMode, SelectType } from 'payload';
1
+ import type { BuildFormStateArgs, ClientFieldSchemaMap, Data, DocumentPreferences, Field, FieldOperation, FieldSchemaMap, FormState, PayloadRequest, SanitizedFieldsPermissions, SelectMode, SelectType } from 'payload';
2
2
  import type { RenderFieldMethod } from './types.js';
3
3
  import { iterateFields } from './iterateFields.js';
4
4
  type Args = {
@@ -42,7 +42,7 @@ type Args = {
42
42
  */
43
43
  initialBlockData?: Data;
44
44
  mockRSCs?: BuildFormStateArgs['mockRSCs'];
45
- operation?: 'create' | 'update';
45
+ operation?: FieldOperation;
46
46
  permissions: SanitizedFieldsPermissions;
47
47
  preferences: DocumentPreferences;
48
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,SAAS,EAET,cAAc,EACd,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,KAAK,IAAI,GAAG;IACV;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;IAC3B;;;;OAIG;IACH,cAAc,EAAE,cAAc,GAAG,SAAS,CAAA;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,IAAI,CAAA;IACvB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzC,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC/B,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,EAAE,mBAAmB,CAAA;IAChC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC,GAAG,EAAE,cAAc,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,uBAAuB,6RAuBjC,IAAI,KAAG,OAAO,CAAC,SAAS,CAmE1B,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,cAAc,EACd,SAAS,EAET,cAAc,EACd,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,KAAK,IAAI,GAAG;IACV;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;IAC3B;;;;OAIG;IACH,cAAc,EAAE,cAAc,GAAG,SAAS,CAAA;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,IAAI,CAAA;IACvB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzC,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,EAAE,mBAAmB,CAAA;IAChC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC,GAAG,EAAE,cAAc,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,uBAAuB,6RAuBjC,IAAI,KAAG,OAAO,CAAC,SAAS,CAmE1B,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["calculateDefaultValues","iterateFields","fieldSchemasToFormState","id","clientFieldSchemaMap","collectionSlug","data","documentData","fields","fieldSchemaMap","globalSlug","initialBlockData","mockRSCs","operation","permissions","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","schemaPath","select","selectMode","skipValidation","console","warn","length","state","dataWithDefaultValues","locale","siblingData","user","fullData","addErrorPathToParent","blockData","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath"],"sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n} from 'payload'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { calculateDefaultValues } from './calculateDefaultValues/index.js'\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n /**\n * The client field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the client field schema map is not required.\n */\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data?: Data\n /**\n * If this is undefined, the `data` passed to this function will serve as `fullData` and `data` when iterating over\n * the top-level-fields to generate form state.\n * For sub fields, the `data` will be narrowed down to the sub fields, while `fullData` remains the same.\n *\n * Usually, the `data` passed to this function will be the document data. This means that running validation, read access control\n * or executing filterOptions here will have access to the full document through the passed `fullData` parameter, and that `fullData` and `data` will be identical.\n *\n * In some cases however, this function is used to generate form state solely for sub fields - independent from the parent form state.\n * This means that `data` will be the form state of the sub fields - the document data won't be available here.\n *\n * In these cases, you can pass `documentData` which will be used as `fullData` instead of `data`.\n *\n * This is useful for lexical blocks, as lexical block fields there are not part of the parent form state, yet we still want\n * document data to be available for validation and filterOptions, under the `data` key.\n */\n documentData?: Data\n fields: Field[] | undefined\n /**\n * The field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the field schema map is not required.\n */\n fieldSchemaMap: FieldSchemaMap | undefined\n globalSlug?: string\n id?: number | string\n /**\n * Validation, filterOptions and read access control will receive the `blockData`, which is the data of the nearest parent block. You can pass in\n * the initial block data here, which will be used as `blockData` for the top-level fields, until the first block is encountered.\n */\n initialBlockData?: Data\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n operation?: 'create' | 'update'\n permissions: SanitizedFieldsPermissions\n preferences: DocumentPreferences\n /**\n * Optionally accept the previous form state,\n * to be able to determine if custom fields need to be re-rendered.\n */\n previousFormState?: FormState\n readOnly?: boolean\n /**\n * If renderAllFields is true, then no matter what is in previous form state,\n * all custom fields will be re-rendered.\n */\n renderAllFields: boolean\n renderFieldFn?: RenderFieldMethod\n req: PayloadRequest\n schemaPath: string\n select?: SelectType\n selectMode?: SelectMode\n skipValidation?: boolean\n}\n\nexport const fieldSchemasToFormState = async ({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data = {},\n documentData,\n fields,\n fieldSchemaMap,\n globalSlug,\n initialBlockData,\n mockRSCs,\n operation,\n permissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipValidation,\n}: Args): Promise<FormState> => {\n if (!clientFieldSchemaMap && renderFieldFn) {\n // eslint-disable-next-line no-console\n console.warn(\n 'clientFieldSchemaMap is not passed to fieldSchemasToFormState - this will reduce performance',\n )\n }\n\n if (fields && fields.length) {\n const state: FormStateWithoutComponents = {}\n\n const dataWithDefaultValues = { ...data }\n\n await calculateDefaultValues({\n id,\n data: dataWithDefaultValues,\n fields,\n locale: req.locale,\n req,\n select,\n selectMode,\n siblingData: dataWithDefaultValues,\n user: req.user,\n })\n\n let fullData = dataWithDefaultValues\n\n if (documentData) {\n // By the time this function is used to get form state for nested forms, their default values should have already been calculated\n // => no need to run calculateDefaultValues here\n fullData = documentData\n }\n\n await iterateFields({\n id,\n addErrorPathToParent: null,\n blockData: initialBlockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: dataWithDefaultValues,\n fields,\n fieldSchemaMap,\n fullData,\n globalSlug,\n mockRSCs,\n operation,\n parentIndexPath: '',\n parentPassesCondition: true,\n parentPath: '',\n parentSchemaPath: schemaPath,\n permissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select,\n selectMode,\n skipValidation,\n state,\n })\n\n return state\n }\n\n return {}\n}\n\nexport { iterateFields }\n"],"mappings":"AAiBA,SAASA,sBAAsB,QAAQ;AACvC,SAASC,aAAa,QAAQ;AAiE9B,OAAO,MAAMC,uBAAA,GAA0B,MAAAA,CAAO;EAC5CC,EAAE;EACFC,oBAAoB;EACpBC,cAAc;EACdC,IAAA,GAAO,CAAC,CAAC;EACTC,YAAY;EACZC,MAAM;EACNC,cAAc;EACdC,UAAU;EACVC,gBAAgB;EAChBC,QAAQ;EACRC,SAAS;EACTC,WAAW;EACXC,WAAW;EACXC,iBAAiB;EACjBC,QAAQ;EACRC,eAAe;EACfC,aAAa;EACbC,GAAG;EACHC,UAAU;EACVC,MAAM;EACNC,UAAU;EACVC;AAAc,CACT;EACL,IAAI,CAACpB,oBAAA,IAAwBe,aAAA,EAAe;IAC1C;IACAM,OAAA,CAAQC,IAAI,CACV;EAEJ;EAEA,IAAIlB,MAAA,IAAUA,MAAA,CAAOmB,MAAM,EAAE;IAC3B,MAAMC,KAAA,GAAoC,CAAC;IAE3C,MAAMC,qBAAA,GAAwB;MAAE,GAAGvB;IAAK;IAExC,MAAMN,sBAAA,CAAuB;MAC3BG,EAAA;MACAG,IAAA,EAAMuB,qBAAA;MACNrB,MAAA;MACAsB,MAAA,EAAQV,GAAA,CAAIU,MAAM;MAClBV,GAAA;MACAE,MAAA;MACAC,UAAA;MACAQ,WAAA,EAAaF,qBAAA;MACbG,IAAA,EAAMZ,GAAA,CAAIY;IACZ;IAEA,IAAIC,QAAA,GAAWJ,qBAAA;IAEf,IAAItB,YAAA,EAAc;MAChB;MACA;MACA0B,QAAA,GAAW1B,YAAA;IACb;IAEA,MAAMN,aAAA,CAAc;MAClBE,EAAA;MACA+B,oBAAA,EAAsB;MACtBC,SAAA,EAAWxB,gBAAA;MACXP,oBAAA;MACAC,cAAA;MACAC,IAAA,EAAMuB,qBAAA;MACNrB,MAAA;MACAC,cAAA;MACAwB,QAAA;MACAvB,UAAA;MACAE,QAAA;MACAC,SAAA;MACAuB,eAAA,EAAiB;MACjBC,qBAAA,EAAuB;MACvBC,UAAA,EAAY;MACZC,gBAAA,EAAkBlB,UAAA;MAClBP,WAAA;MACAC,WAAA;MACAC,iBAAA;MACAC,QAAA;MACAC,eAAA;MACAC,aAAA;MACAC,GAAA;MACAE,MAAA;MACAC,UAAA;MACAC,cAAA;MACAI;IACF;IAEA,OAAOA,KAAA;EACT;EAEA,OAAO,CAAC;AACV;AAEA,SAAS3B,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["calculateDefaultValues","iterateFields","fieldSchemasToFormState","id","clientFieldSchemaMap","collectionSlug","data","documentData","fields","fieldSchemaMap","globalSlug","initialBlockData","mockRSCs","operation","permissions","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","schemaPath","select","selectMode","skipValidation","console","warn","length","state","dataWithDefaultValues","locale","siblingData","user","fullData","addErrorPathToParent","blockData","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath"],"sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldOperation,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n} from 'payload'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { calculateDefaultValues } from './calculateDefaultValues/index.js'\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n /**\n * The client field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the client field schema map is not required.\n */\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data?: Data\n /**\n * If this is undefined, the `data` passed to this function will serve as `fullData` and `data` when iterating over\n * the top-level-fields to generate form state.\n * For sub fields, the `data` will be narrowed down to the sub fields, while `fullData` remains the same.\n *\n * Usually, the `data` passed to this function will be the document data. This means that running validation, read access control\n * or executing filterOptions here will have access to the full document through the passed `fullData` parameter, and that `fullData` and `data` will be identical.\n *\n * In some cases however, this function is used to generate form state solely for sub fields - independent from the parent form state.\n * This means that `data` will be the form state of the sub fields - the document data won't be available here.\n *\n * In these cases, you can pass `documentData` which will be used as `fullData` instead of `data`.\n *\n * This is useful for lexical blocks, as lexical block fields there are not part of the parent form state, yet we still want\n * document data to be available for validation and filterOptions, under the `data` key.\n */\n documentData?: Data\n fields: Field[] | undefined\n /**\n * The field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the field schema map is not required.\n */\n fieldSchemaMap: FieldSchemaMap | undefined\n globalSlug?: string\n id?: number | string\n /**\n * Validation, filterOptions and read access control will receive the `blockData`, which is the data of the nearest parent block. You can pass in\n * the initial block data here, which will be used as `blockData` for the top-level fields, until the first block is encountered.\n */\n initialBlockData?: Data\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n operation?: FieldOperation\n permissions: SanitizedFieldsPermissions\n preferences: DocumentPreferences\n /**\n * Optionally accept the previous form state,\n * to be able to determine if custom fields need to be re-rendered.\n */\n previousFormState?: FormState\n readOnly?: boolean\n /**\n * If renderAllFields is true, then no matter what is in previous form state,\n * all custom fields will be re-rendered.\n */\n renderAllFields: boolean\n renderFieldFn?: RenderFieldMethod\n req: PayloadRequest\n schemaPath: string\n select?: SelectType\n selectMode?: SelectMode\n skipValidation?: boolean\n}\n\nexport const fieldSchemasToFormState = async ({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data = {},\n documentData,\n fields,\n fieldSchemaMap,\n globalSlug,\n initialBlockData,\n mockRSCs,\n operation,\n permissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipValidation,\n}: Args): Promise<FormState> => {\n if (!clientFieldSchemaMap && renderFieldFn) {\n // eslint-disable-next-line no-console\n console.warn(\n 'clientFieldSchemaMap is not passed to fieldSchemasToFormState - this will reduce performance',\n )\n }\n\n if (fields && fields.length) {\n const state: FormStateWithoutComponents = {}\n\n const dataWithDefaultValues = { ...data }\n\n await calculateDefaultValues({\n id,\n data: dataWithDefaultValues,\n fields,\n locale: req.locale,\n req,\n select,\n selectMode,\n siblingData: dataWithDefaultValues,\n user: req.user,\n })\n\n let fullData = dataWithDefaultValues\n\n if (documentData) {\n // By the time this function is used to get form state for nested forms, their default values should have already been calculated\n // => no need to run calculateDefaultValues here\n fullData = documentData\n }\n\n await iterateFields({\n id,\n addErrorPathToParent: null,\n blockData: initialBlockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: dataWithDefaultValues,\n fields,\n fieldSchemaMap,\n fullData,\n globalSlug,\n mockRSCs,\n operation,\n parentIndexPath: '',\n parentPassesCondition: true,\n parentPath: '',\n parentSchemaPath: schemaPath,\n permissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select,\n selectMode,\n skipValidation,\n state,\n })\n\n return state\n }\n\n return {}\n}\n\nexport { iterateFields }\n"],"mappings":"AAkBA,SAASA,sBAAsB,QAAQ;AACvC,SAASC,aAAa,QAAQ;AAiE9B,OAAO,MAAMC,uBAAA,GAA0B,MAAAA,CAAO;EAC5CC,EAAE;EACFC,oBAAoB;EACpBC,cAAc;EACdC,IAAA,GAAO,CAAC,CAAC;EACTC,YAAY;EACZC,MAAM;EACNC,cAAc;EACdC,UAAU;EACVC,gBAAgB;EAChBC,QAAQ;EACRC,SAAS;EACTC,WAAW;EACXC,WAAW;EACXC,iBAAiB;EACjBC,QAAQ;EACRC,eAAe;EACfC,aAAa;EACbC,GAAG;EACHC,UAAU;EACVC,MAAM;EACNC,UAAU;EACVC;AAAc,CACT;EACL,IAAI,CAACpB,oBAAA,IAAwBe,aAAA,EAAe;IAC1C;IACAM,OAAA,CAAQC,IAAI,CACV;EAEJ;EAEA,IAAIlB,MAAA,IAAUA,MAAA,CAAOmB,MAAM,EAAE;IAC3B,MAAMC,KAAA,GAAoC,CAAC;IAE3C,MAAMC,qBAAA,GAAwB;MAAE,GAAGvB;IAAK;IAExC,MAAMN,sBAAA,CAAuB;MAC3BG,EAAA;MACAG,IAAA,EAAMuB,qBAAA;MACNrB,MAAA;MACAsB,MAAA,EAAQV,GAAA,CAAIU,MAAM;MAClBV,GAAA;MACAE,MAAA;MACAC,UAAA;MACAQ,WAAA,EAAaF,qBAAA;MACbG,IAAA,EAAMZ,GAAA,CAAIY;IACZ;IAEA,IAAIC,QAAA,GAAWJ,qBAAA;IAEf,IAAItB,YAAA,EAAc;MAChB;MACA;MACA0B,QAAA,GAAW1B,YAAA;IACb;IAEA,MAAMN,aAAA,CAAc;MAClBE,EAAA;MACA+B,oBAAA,EAAsB;MACtBC,SAAA,EAAWxB,gBAAA;MACXP,oBAAA;MACAC,cAAA;MACAC,IAAA,EAAMuB,qBAAA;MACNrB,MAAA;MACAC,cAAA;MACAwB,QAAA;MACAvB,UAAA;MACAE,QAAA;MACAC,SAAA;MACAuB,eAAA,EAAiB;MACjBC,qBAAA,EAAuB;MACvBC,UAAA,EAAY;MACZC,gBAAA,EAAkBlB,UAAA;MAClBP,WAAA;MACAC,WAAA;MACAC,iBAAA;MACAC,QAAA;MACAC,eAAA;MACAC,aAAA;MACAC,GAAA;MACAE,MAAA;MACAC,UAAA;MACAC,cAAA;MACAI;IACF;IAEA,OAAOA,KAAA;EACT;EAEA,OAAO,CAAC;AACV;AAEA,SAAS3B,aAAa","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { BuildFormStateArgs, ClientFieldSchemaMap, Data, DocumentPreferences, Field, FieldSchemaMap, FormState, FormStateWithoutComponents, PayloadRequest, SanitizedFieldsPermissions, SelectMode, SelectType, TabAsField } from 'payload';
1
+ import type { BuildFormStateArgs, ClientFieldSchemaMap, Data, DocumentPreferences, Field, FieldOperation, FieldSchemaMap, FormState, FormStateWithoutComponents, PayloadRequest, SanitizedFieldsPermissions, SelectMode, SelectType, TabAsField } from 'payload';
2
2
  import type { AddFieldStatePromiseArgs } from './addFieldStatePromise.js';
3
3
  import type { RenderFieldMethod } from './types.js';
4
4
  type Args = {
@@ -36,7 +36,7 @@ type Args = {
36
36
  /**
37
37
  * operation is only needed for validation
38
38
  */
39
- operation: 'create' | 'update';
39
+ operation: FieldOperation;
40
40
  parentIndexPath: string;
41
41
  parentPassesCondition?: boolean;
42
42
  parentPath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EACd,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACV,UAAU,EACX,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAInD,KAAK,IAAI,GAAG;IACV,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,SAAS,EAAE,IAAI,GAAG,SAAS,CAAA;IAC3B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IACjC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,0BAA0B,CAAA;CACnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,8eAkCvB,IAAI,KAAG,OAAO,CAAC,IAAI,CAiGrB,CAAA"}
1
+ {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,cAAc,EACd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EACd,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACV,UAAU,EACX,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAInD,KAAK,IAAI,GAAG;IACV,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,SAAS,EAAE,IAAI,GAAG,SAAS,CAAA;IAC3B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,cAAc,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IACjC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,0BAA0B,CAAA;CACnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,8eAkCvB,IAAI,KAAG,OAAO,CAAC,IAAI,CAiGrB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"iterateFields.js","names":["stripUnselectedFields","getFieldPaths","addFieldStatePromise","iterateFields","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","blockData","clientFieldSchemaMap","collectionSlug","data","fields","fieldSchemaMap","filter","forceFullValue","fullData","globalSlug","includeSchema","mockRSCs","omitParents","operation","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath","permissions","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","select","selectMode","skipConditionChecks","skipValidation","state","promises","forEach","field","fieldIndex","passesCondition","indexPath","path","schemaPath","index","shouldContinue","siblingDoc","pathSegments","split","Boolean","admin","condition","user","err","payload","logger","error","msg","push","parentPermissions","Promise","all"],"sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n TabAsField,\n} from 'payload'\n\nimport { stripUnselectedFields } from 'payload'\nimport { getFieldPaths } from 'payload/shared'\n\nimport type { AddFieldStatePromiseArgs } from './addFieldStatePromise.js'\nimport type { RenderFieldMethod } from './types.js'\n\nimport { addFieldStatePromise } from './addFieldStatePromise.js'\n\ntype Args = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if any parents is localized, then the field is localized. @default false\n */\n anyParentLocalized?: boolean\n /**\n * Data of the nearest parent block, or undefined\n */\n blockData: Data | undefined\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n fields: (Field | TabAsField)[]\n fieldSchemaMap: FieldSchemaMap\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n globalSlug?: string\n id?: number | string\n /**\n * Whether the field schema should be included in the state. @default false\n */\n includeSchema?: boolean\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n /**\n * operation is only needed for validation\n */\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPassesCondition?: boolean\n parentPath: string\n parentSchemaPath: string\n permissions: SanitizedFieldsPermissions\n preferences?: DocumentPreferences\n previousFormState: FormState\n readOnly?: boolean\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n req: PayloadRequest\n select?: SelectType\n selectMode?: SelectMode\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state?: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data\n */\nexport const iterateFields = async ({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n globalSlug,\n includeSchema = false,\n mockRSCs,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPassesCondition = true,\n parentPath,\n parentSchemaPath,\n permissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn: renderFieldFn,\n req,\n select,\n selectMode,\n skipConditionChecks = false,\n skipValidation = false,\n state = {},\n}: Args): Promise<void> => {\n const promises = []\n\n fields.forEach((field, fieldIndex) => {\n let passesCondition = true\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n if (path !== 'id') {\n const shouldContinue = stripUnselectedFields({\n field,\n select,\n selectMode,\n siblingDoc: data,\n })\n\n if (!shouldContinue) {\n return\n }\n }\n\n const pathSegments = path ? path.split('.') : []\n\n if (!skipConditionChecks) {\n try {\n passesCondition = Boolean(\n (field?.admin?.condition\n ? Boolean(\n field.admin.condition(fullData || {}, data || {}, {\n blockData,\n operation,\n path: pathSegments,\n user: req.user,\n }),\n )\n : true) && parentPassesCondition,\n )\n } catch (err) {\n passesCondition = false\n\n req.payload.logger.error({\n err,\n msg: `Error evaluating field condition at path: ${path}`,\n })\n }\n }\n\n promises.push(\n addFieldStatePromise({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n globalSlug,\n includeSchema,\n indexPath,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath,\n parentPath,\n parentPermissions: permissions,\n parentSchemaPath,\n passesCondition,\n path,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n })\n\n await Promise.all(promises)\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"iterateFields.js","names":["stripUnselectedFields","getFieldPaths","addFieldStatePromise","iterateFields","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","blockData","clientFieldSchemaMap","collectionSlug","data","fields","fieldSchemaMap","filter","forceFullValue","fullData","globalSlug","includeSchema","mockRSCs","omitParents","operation","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath","permissions","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","select","selectMode","skipConditionChecks","skipValidation","state","promises","forEach","field","fieldIndex","passesCondition","indexPath","path","schemaPath","index","shouldContinue","siblingDoc","pathSegments","split","Boolean","admin","condition","user","err","payload","logger","error","msg","push","parentPermissions","Promise","all"],"sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldOperation,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n TabAsField,\n} from 'payload'\n\nimport { stripUnselectedFields } from 'payload'\nimport { getFieldPaths } from 'payload/shared'\n\nimport type { AddFieldStatePromiseArgs } from './addFieldStatePromise.js'\nimport type { RenderFieldMethod } from './types.js'\n\nimport { addFieldStatePromise } from './addFieldStatePromise.js'\n\ntype Args = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if any parents is localized, then the field is localized. @default false\n */\n anyParentLocalized?: boolean\n /**\n * Data of the nearest parent block, or undefined\n */\n blockData: Data | undefined\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n fields: (Field | TabAsField)[]\n fieldSchemaMap: FieldSchemaMap\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n globalSlug?: string\n id?: number | string\n /**\n * Whether the field schema should be included in the state. @default false\n */\n includeSchema?: boolean\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n /**\n * operation is only needed for validation\n */\n operation: FieldOperation\n parentIndexPath: string\n parentPassesCondition?: boolean\n parentPath: string\n parentSchemaPath: string\n permissions: SanitizedFieldsPermissions\n preferences?: DocumentPreferences\n previousFormState: FormState\n readOnly?: boolean\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n req: PayloadRequest\n select?: SelectType\n selectMode?: SelectMode\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state?: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data\n */\nexport const iterateFields = async ({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n globalSlug,\n includeSchema = false,\n mockRSCs,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPassesCondition = true,\n parentPath,\n parentSchemaPath,\n permissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn: renderFieldFn,\n req,\n select,\n selectMode,\n skipConditionChecks = false,\n skipValidation = false,\n state = {},\n}: Args): Promise<void> => {\n const promises = []\n\n fields.forEach((field, fieldIndex) => {\n let passesCondition = true\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n if (path !== 'id') {\n const shouldContinue = stripUnselectedFields({\n field,\n select,\n selectMode,\n siblingDoc: data,\n })\n\n if (!shouldContinue) {\n return\n }\n }\n\n const pathSegments = path ? path.split('.') : []\n\n if (!skipConditionChecks) {\n try {\n passesCondition = Boolean(\n (field?.admin?.condition\n ? Boolean(\n field.admin.condition(fullData || {}, data || {}, {\n blockData,\n operation,\n path: pathSegments,\n user: req.user,\n }),\n )\n : true) && parentPassesCondition,\n )\n } catch (err) {\n passesCondition = false\n\n req.payload.logger.error({\n err,\n msg: `Error evaluating field condition at path: ${path}`,\n })\n }\n }\n\n promises.push(\n addFieldStatePromise({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n globalSlug,\n includeSchema,\n indexPath,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath,\n parentPath,\n parentPermissions: permissions,\n parentSchemaPath,\n passesCondition,\n path,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n })\n\n await Promise.all(promises)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { ClientFieldSchemaMap, Data, DocumentPreferences, Field, FieldSchemaMap, FieldState, FormState, Operation, PayloadRequest, SanitizedFieldPermissions } from 'payload';
1
+ import type { ClientFieldSchemaMap, Data, DocumentPreferences, Field, FieldOperation, FieldSchemaMap, FieldState, FormState, PayloadRequest, SanitizedFieldPermissions } from 'payload';
2
2
  export type RenderFieldArgs = {
3
3
  clientFieldSchemaMap?: ClientFieldSchemaMap;
4
4
  collectionSlug: string;
@@ -17,7 +17,7 @@ export type RenderFieldArgs = {
17
17
  indexPath: string;
18
18
  lastRenderedPath: string;
19
19
  mockRSCs?: boolean;
20
- operation: Operation;
20
+ operation: FieldOperation;
21
21
  parentPath: string;
22
22
  parentSchemaPath: string;
23
23
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,UAAU,EACV,SAAS,EACT,SAAS,EACT,cAAc,EACd,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,eAAe,GAAG;IAC5B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,KAAK,CAAA;IAClB,cAAc,EAAE,cAAc,CAAA;IAC9B,UAAU,EAAE,UAAU,CAAA;IACtB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,yBAAyB,CAAA;IACtC,WAAW,EAAE,mBAAmB,CAAA;IAChC,kBAAkB,EAAE,UAAU,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,cAAc,EACd,UAAU,EACV,SAAS,EACT,cAAc,EACd,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,eAAe,GAAG;IAC5B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,KAAK,CAAA;IAClB,cAAc,EAAE,cAAc,CAAA;IAC9B,UAAU,EAAE,UAAU,CAAA;IACtB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,yBAAyB,CAAA;IACtC,WAAW,EAAE,mBAAmB,CAAA;IAChC,kBAAkB,EAAE,UAAU,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/forms/fieldSchemasToFormState/types.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FieldState,\n FormState,\n Operation,\n PayloadRequest,\n SanitizedFieldPermissions,\n} from 'payload'\n\nexport type RenderFieldArgs = {\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug: string\n data: Data\n fieldConfig: Field\n fieldSchemaMap: FieldSchemaMap\n fieldState: FieldState\n /**\n * If set to true, it will force creating a clientField based on the passed fieldConfig instead of pulling\n * the client field from the clientFieldSchemaMap. This is useful if the passed fieldConfig differs from the one in the schema map,\n * e.g. when calling the render-field server function and passing a field config override.\n */\n forceCreateClientField?: boolean\n formState: FormState\n id?: number | string\n indexPath: string\n lastRenderedPath: string\n mockRSCs?: boolean\n operation: Operation\n parentPath: string\n parentSchemaPath: string\n path: string\n permissions: SanitizedFieldPermissions\n preferences: DocumentPreferences\n previousFieldState: FieldState\n readOnly?: boolean\n renderAllFields: boolean\n req: PayloadRequest\n schemaPath: string\n siblingData: Data\n user?: PayloadRequest['user']\n}\n\nexport type RenderFieldMethod = (args: RenderFieldArgs) => void\n"],"mappings":"AA8CA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/forms/fieldSchemasToFormState/types.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldOperation,\n FieldSchemaMap,\n FieldState,\n FormState,\n PayloadRequest,\n SanitizedFieldPermissions,\n} from 'payload'\n\nexport type RenderFieldArgs = {\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug: string\n data: Data\n fieldConfig: Field\n fieldSchemaMap: FieldSchemaMap\n fieldState: FieldState\n /**\n * If set to true, it will force creating a clientField based on the passed fieldConfig instead of pulling\n * the client field from the clientFieldSchemaMap. This is useful if the passed fieldConfig differs from the one in the schema map,\n * e.g. when calling the render-field server function and passing a field config override.\n */\n forceCreateClientField?: boolean\n formState: FormState\n id?: number | string\n indexPath: string\n lastRenderedPath: string\n mockRSCs?: boolean\n operation: FieldOperation\n parentPath: string\n parentSchemaPath: string\n path: string\n permissions: SanitizedFieldPermissions\n preferences: DocumentPreferences\n previousFieldState: FieldState\n readOnly?: boolean\n renderAllFields: boolean\n req: PayloadRequest\n schemaPath: string\n siblingData: Data\n user?: PayloadRequest['user']\n}\n\nexport type RenderFieldMethod = (args: RenderFieldArgs) => void\n"],"mappings":"AA8CA","ignoreList":[]}
@@ -32,10 +32,6 @@ export type FieldType<T> = {
32
32
  formSubmitted: boolean;
33
33
  initialValue?: T;
34
34
  path: string;
35
- /**
36
- * @deprecated - readOnly is no longer returned from useField. Remove this in 4.0.
37
- */
38
- readOnly?: boolean;
39
35
  setValue: (val: unknown, disableModifyingForm?: boolean) => void;
40
36
  showError: boolean;
41
37
  value: T;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/useField/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEnD,MAAM,MAAM,OAAO,GAAG;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAChE,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,CAAC,CAAA;CACT,GAAG,IAAI,CACN,UAAU,EACR,qBAAqB,GACrB,kBAAkB,GAClB,cAAc,GACd,YAAY,GACZ,eAAe,GACf,MAAM,GACN,qBAAqB,GACrB,OAAO,CACV,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/useField/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEnD,MAAM,MAAM,OAAO,GAAG;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAChE,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,CAAC,CAAA;CACT,GAAG,IAAI,CACN,UAAU,EACR,qBAAqB,GACrB,kBAAkB,GAClB,cAAc,GACd,YAAY,GACZ,eAAe,GACf,MAAM,GACN,qBAAqB,GACrB,OAAO,CACV,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/forms/useField/types.ts"],"sourcesContent":["import type { FieldState, Validate } from 'payload'\n\nexport type Options = {\n disableFormData?: boolean\n hasRows?: boolean\n /**\n * If `path` is provided to this hook, it will be used outright. This is useful when calling this hook directly within a custom component.\n * Otherwise, the field will attempt to get the path from the `FieldPathContext` via the `useFieldPath` hook.\n * If still not found, the `potentiallyStalePath` arg will be used. See the note below about why this is important.\n */\n path?: string\n /**\n * Custom server components receive a static `path` prop at render-time, leading to temporarily stale paths when re-ordering rows in form state.\n * This is because when manipulating rows, field paths change in form state, but the prop remains the same until the component is re-rendered on the server.\n * This causes the component to temporarily point to the wrong field in form state until the server responds with a freshly rendered component.\n * To prevent this, fields are wrapped with a `FieldPathContext` which is guaranteed to be up-to-date.\n * The `path` prop that Payload's default fields receive, then, are sent into this hook as the `potentiallyStalePath` arg.\n * This ensures that:\n * 1. Custom components that use this hook directly will still respect the `path` prop as top priority.\n * 2. Custom server components that blindly spread their props into default Payload fields still prefer the dynamic path from context.\n * 3. Components that render default Payload fields directly do not require a `FieldPathProvider`, e.g. the email field in the account view.\n */\n potentiallyStalePath?: string\n /**\n * Client-side validation function fired when the form is submitted.\n */\n validate?: Validate\n}\n\nexport type FieldType<T> = {\n disabled: boolean\n formInitializing: boolean\n formProcessing: boolean\n formSubmitted: boolean\n initialValue?: T\n path: string\n /**\n * @deprecated - readOnly is no longer returned from useField. Remove this in 4.0.\n */\n readOnly?: boolean\n setValue: (val: unknown, disableModifyingForm?: boolean) => void\n showError: boolean\n value: T\n} & Pick<\n FieldState,\n | 'blocksFilterOptions'\n | 'customComponents'\n | 'errorMessage'\n | 'errorPaths'\n | 'filterOptions'\n | 'rows'\n | 'selectFilterOptions'\n | 'valid'\n>\n"],"mappings":"AA6BA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/forms/useField/types.ts"],"sourcesContent":["import type { FieldState, Validate } from 'payload'\n\nexport type Options = {\n disableFormData?: boolean\n hasRows?: boolean\n /**\n * If `path` is provided to this hook, it will be used outright. This is useful when calling this hook directly within a custom component.\n * Otherwise, the field will attempt to get the path from the `FieldPathContext` via the `useFieldPath` hook.\n * If still not found, the `potentiallyStalePath` arg will be used. See the note below about why this is important.\n */\n path?: string\n /**\n * Custom server components receive a static `path` prop at render-time, leading to temporarily stale paths when re-ordering rows in form state.\n * This is because when manipulating rows, field paths change in form state, but the prop remains the same until the component is re-rendered on the server.\n * This causes the component to temporarily point to the wrong field in form state until the server responds with a freshly rendered component.\n * To prevent this, fields are wrapped with a `FieldPathContext` which is guaranteed to be up-to-date.\n * The `path` prop that Payload's default fields receive, then, are sent into this hook as the `potentiallyStalePath` arg.\n * This ensures that:\n * 1. Custom components that use this hook directly will still respect the `path` prop as top priority.\n * 2. Custom server components that blindly spread their props into default Payload fields still prefer the dynamic path from context.\n * 3. Components that render default Payload fields directly do not require a `FieldPathProvider`, e.g. the email field in the account view.\n */\n potentiallyStalePath?: string\n /**\n * Client-side validation function fired when the form is submitted.\n */\n validate?: Validate\n}\n\nexport type FieldType<T> = {\n disabled: boolean\n formInitializing: boolean\n formProcessing: boolean\n formSubmitted: boolean\n initialValue?: T\n path: string\n setValue: (val: unknown, disableModifyingForm?: boolean) => void\n showError: boolean\n value: T\n} & Pick<\n FieldState,\n | 'blocksFilterOptions'\n | 'customComponents'\n | 'errorMessage'\n | 'errorPaths'\n | 'filterOptions'\n | 'rows'\n | 'selectFilterOptions'\n | 'valid'\n>\n"],"mappings":"AA6BA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import './index.css';
3
- type Direction = 'down' | 'up';
3
+ type Direction = 'down' | 'left' | 'right' | 'up';
4
4
  export declare const ArrowIcon: React.FC<{
5
5
  readonly className?: string;
6
6
  readonly direction?: Direction;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Arrow/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAEpB,KAAK,SAAS,GAAG,MAAM,GAAG,IAAI,CAAA;AAS9B,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAA;CACxB,CAcA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Arrow/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAEpB,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAgBjD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAA;CACxB,CAcA,CAAA"}
@@ -7,6 +7,12 @@ const paths = {
7
7
  // icon-24-arrow-up-small
8
8
  24: 'M12 16a.5.5 0 0 1-.5-.5V8.707l-3.146 3.147a.5.5 0 0 1-.708-.708l4-4a.5.5 0 0 1 .708 0l4 4a.5.5 0 0 1-.708.708L12.5 8.707V15.5a.5.5 0 0 1-.5.5'
9
9
  };
10
+ const rotations = {
11
+ down: 180,
12
+ left: -90,
13
+ right: 90,
14
+ up: 0
15
+ };
10
16
  export const ArrowIcon = ({
11
17
  className,
12
18
  direction = 'up',
@@ -16,7 +22,7 @@ export const ArrowIcon = ({
16
22
  fill: "none",
17
23
  height: size,
18
24
  style: {
19
- transform: direction === 'down' ? 'rotate(180deg)' : undefined
25
+ transform: rotations[direction] ? `rotate(${rotations[direction]}deg)` : undefined
20
26
  },
21
27
  viewBox: `0 0 ${size} ${size}`,
22
28
  width: size,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","paths","ArrowIcon","className","direction","size","_jsx","filter","Boolean","join","fill","height","style","transform","undefined","viewBox","width","xmlns","clipRule","d","fillRule"],"sources":["../../../src/icons/Arrow/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.css'\n\ntype Direction = 'down' | 'up'\n\nconst paths = {\n // icon-16-arrow-up\n 16: 'M8 12a.5.5 0 0 1-.5-.5V4.707L4.354 7.854a.5.5 0 1 1-.708-.707l4-4a.5.5 0 0 1 .708 0l4 4a.5.5 0 0 1-.708.707L8.5 4.707V11.5a.5.5 0 0 1-.5.5',\n // icon-24-arrow-up-small\n 24: 'M12 16a.5.5 0 0 1-.5-.5V8.707l-3.146 3.147a.5.5 0 0 1-.708-.708l4-4a.5.5 0 0 1 .708 0l4 4a.5.5 0 0 1-.708.708L12.5 8.707V15.5a.5.5 0 0 1-.5.5',\n}\n\nexport const ArrowIcon: React.FC<{\n readonly className?: string\n readonly direction?: Direction\n readonly size?: 16 | 24\n}> = ({ className, direction = 'up', size = 24 }) => (\n <svg\n className={['icon', 'icon--arrow', className].filter(Boolean).join(' ')}\n fill=\"none\"\n height={size}\n style={{\n transform: direction === 'down' ? 'rotate(180deg)' : undefined,\n }}\n viewBox={`0 0 ${size} ${size}`}\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path clipRule=\"evenodd\" d={paths[size]} fill=\"currentColor\" fillRule=\"evenodd\" />\n </svg>\n)\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAIP,MAAMC,KAAA,GAAQ;EACZ;EACA,IAAI;EACJ;EACA,IAAI;AACN;AAEA,OAAO,MAAMC,SAAA,GAIRA,CAAC;EAAEC,SAAS;EAAEC,SAAA,GAAY,IAAI;EAAEC,IAAA,GAAO;AAAE,CAAE,kBAC9CC,IAAA,CAAC;EACCH,SAAA,EAAW,CAAC,QAAQ,eAAeA,SAAA,CAAU,CAACI,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EACnEC,IAAA,EAAK;EACLC,MAAA,EAAQN,IAAA;EACRO,KAAA,EAAO;IACLC,SAAA,EAAWT,SAAA,KAAc,SAAS,mBAAmBU;EACvD;EACAC,OAAA,EAAS,OAAOV,IAAA,IAAQA,IAAA,EAAM;EAC9BW,KAAA,EAAOX,IAAA;EACPY,KAAA,EAAM;YAEN,aAAAX,IAAA,CAAC;IAAKY,QAAA,EAAS;IAAUC,CAAA,EAAGlB,KAAK,CAACI,IAAA,CAAK;IAAEK,IAAA,EAAK;IAAeU,QAAA,EAAS","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","paths","rotations","down","left","right","up","ArrowIcon","className","direction","size","_jsx","filter","Boolean","join","fill","height","style","transform","undefined","viewBox","width","xmlns","clipRule","d","fillRule"],"sources":["../../../src/icons/Arrow/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.css'\n\ntype Direction = 'down' | 'left' | 'right' | 'up'\n\nconst paths = {\n // icon-16-arrow-up\n 16: 'M8 12a.5.5 0 0 1-.5-.5V4.707L4.354 7.854a.5.5 0 1 1-.708-.707l4-4a.5.5 0 0 1 .708 0l4 4a.5.5 0 0 1-.708.707L8.5 4.707V11.5a.5.5 0 0 1-.5.5',\n // icon-24-arrow-up-small\n 24: 'M12 16a.5.5 0 0 1-.5-.5V8.707l-3.146 3.147a.5.5 0 0 1-.708-.708l4-4a.5.5 0 0 1 .708 0l4 4a.5.5 0 0 1-.708.708L12.5 8.707V15.5a.5.5 0 0 1-.5.5',\n}\n\nconst rotations: Record<Direction, number> = {\n down: 180,\n left: -90,\n right: 90,\n up: 0,\n}\n\nexport const ArrowIcon: React.FC<{\n readonly className?: string\n readonly direction?: Direction\n readonly size?: 16 | 24\n}> = ({ className, direction = 'up', size = 24 }) => (\n <svg\n className={['icon', 'icon--arrow', className].filter(Boolean).join(' ')}\n fill=\"none\"\n height={size}\n style={{\n transform: rotations[direction] ? `rotate(${rotations[direction]}deg)` : undefined,\n }}\n viewBox={`0 0 ${size} ${size}`}\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path clipRule=\"evenodd\" d={paths[size]} fill=\"currentColor\" fillRule=\"evenodd\" />\n </svg>\n)\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAIP,MAAMC,KAAA,GAAQ;EACZ;EACA,IAAI;EACJ;EACA,IAAI;AACN;AAEA,MAAMC,SAAA,GAAuC;EAC3CC,IAAA,EAAM;EACNC,IAAA,EAAM,CAAC;EACPC,KAAA,EAAO;EACPC,EAAA,EAAI;AACN;AAEA,OAAO,MAAMC,SAAA,GAIRA,CAAC;EAAEC,SAAS;EAAEC,SAAA,GAAY,IAAI;EAAEC,IAAA,GAAO;AAAE,CAAE,kBAC9CC,IAAA,CAAC;EACCH,SAAA,EAAW,CAAC,QAAQ,eAAeA,SAAA,CAAU,CAACI,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EACnEC,IAAA,EAAK;EACLC,MAAA,EAAQN,IAAA;EACRO,KAAA,EAAO;IACLC,SAAA,EAAWhB,SAAS,CAACO,SAAA,CAAU,GAAG,UAAUP,SAAS,CAACO,SAAA,CAAU,MAAM,GAAGU;EAC3E;EACAC,OAAA,EAAS,OAAOV,IAAA,IAAQA,IAAA,EAAM;EAC9BW,KAAA,EAAOX,IAAA;EACPY,KAAA,EAAM;YAEN,aAAAX,IAAA,CAAC;IAAKY,QAAA,EAAS;IAAUC,CAAA,EAAGvB,KAAK,CAACS,IAAA,CAAK;IAAEK,IAAA,EAAK;IAAeU,QAAA,EAAS","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export declare const ClockIcon: React.FC<{
3
+ readonly className?: string;
4
+ readonly size?: 16 | 24;
5
+ }>;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Clock/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAA;CACxB,CAcA,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ export const ClockIcon = ({
4
+ className,
5
+ size = 16
6
+ }) => /*#__PURE__*/_jsx("svg", {
7
+ className: ['icon', 'icon--clock', className].filter(Boolean).join(' '),
8
+ fill: "none",
9
+ height: size,
10
+ viewBox: "0 0 14 14",
11
+ width: size,
12
+ xmlns: "http://www.w3.org/2000/svg",
13
+ children: /*#__PURE__*/_jsx("path", {
14
+ d: "M7 0C10.866 0 14 3.13401 14 7C14 10.866 10.866 14 7 14C3.13401 14 0 10.866 0 7C0 3.13401 3.13401 0 7 0ZM7 1C3.68629 1 1 3.68629 1 7C1 10.3137 3.68629 13 7 13C10.3137 13 13 10.3137 13 7C13 3.68629 10.3137 1 7 1ZM7 3C7.27614 3 7.5 3.22386 7.5 3.5V6.79297L9.35352 8.64648C9.54878 8.84175 9.54878 9.15825 9.35352 9.35352C9.15825 9.54878 8.84175 9.54878 8.64648 9.35352L6.64648 7.35352C6.55272 7.25975 6.5 7.13261 6.5 7V3.5C6.5 3.22386 6.72386 3 7 3Z",
15
+ fill: "currentColor"
16
+ })
17
+ });
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","ClockIcon","className","size","_jsx","filter","Boolean","join","fill","height","viewBox","width","xmlns","d"],"sources":["../../../src/icons/Clock/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport const ClockIcon: React.FC<{\n readonly className?: string\n readonly size?: 16 | 24\n}> = ({ className, size = 16 }) => (\n <svg\n className={['icon', 'icon--clock', className].filter(Boolean).join(' ')}\n fill=\"none\"\n height={size}\n viewBox=\"0 0 14 14\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7 0C10.866 0 14 3.13401 14 7C14 10.866 10.866 14 7 14C3.13401 14 0 10.866 0 7C0 3.13401 3.13401 0 7 0ZM7 1C3.68629 1 1 3.68629 1 7C1 10.3137 3.68629 13 7 13C10.3137 13 13 10.3137 13 7C13 3.68629 10.3137 1 7 1ZM7 3C7.27614 3 7.5 3.22386 7.5 3.5V6.79297L9.35352 8.64648C9.54878 8.84175 9.54878 9.15825 9.35352 9.35352C9.15825 9.54878 8.84175 9.54878 8.64648 9.35352L6.64648 7.35352C6.55272 7.25975 6.5 7.13261 6.5 7V3.5C6.5 3.22386 6.72386 3 7 3Z\"\n fill=\"currentColor\"\n />\n </svg>\n)\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO,MAAMC,SAAA,GAGRA,CAAC;EAAEC,SAAS;EAAEC,IAAA,GAAO;AAAE,CAAE,kBAC5BC,IAAA,CAAC;EACCF,SAAA,EAAW,CAAC,QAAQ,eAAeA,SAAA,CAAU,CAACG,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EACnEC,IAAA,EAAK;EACLC,MAAA,EAAQN,IAAA;EACRO,OAAA,EAAQ;EACRC,KAAA,EAAOR,IAAA;EACPS,KAAA,EAAM;YAEN,aAAAR,IAAA,CAAC;IACCS,CAAA,EAAE;IACFL,IAAA,EAAK","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export declare const PinIcon: React.FC<{
3
+ readonly className?: string;
4
+ readonly isFilled?: boolean;
5
+ readonly size?: 16 | 24;
6
+ }>;
7
+ //# sourceMappingURL=index.d.ts.map