@payloadcms/ui 3.0.0-alpha.49 → 3.0.0-alpha.50

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 (442) hide show
  1. package/dist/elements/Autosave/index.d.ts.map +1 -1
  2. package/dist/elements/Autosave/index.js +2 -43
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  5. package/dist/elements/ColumnSelector/index.js +2 -5
  6. package/dist/elements/ColumnSelector/index.js.map +1 -1
  7. package/dist/elements/DeleteDocument/index.js +2 -2
  8. package/dist/elements/DeleteDocument/index.js.map +1 -1
  9. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  10. package/dist/elements/DocumentControls/index.js +13 -4
  11. package/dist/elements/DocumentControls/index.js.map +1 -1
  12. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  13. package/dist/elements/DocumentDrawer/DrawerContent.js +31 -112
  14. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  15. package/dist/elements/DocumentDrawer/types.d.ts +0 -2
  16. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  17. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  18. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +1 -0
  19. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +8 -2
  21. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  22. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  23. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +1 -0
  24. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  25. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  26. package/dist/elements/DocumentHeader/Tabs/index.js +4 -0
  27. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  28. package/dist/elements/EditMany/index.d.ts.map +1 -1
  29. package/dist/elements/EditMany/index.js +3 -25
  30. package/dist/elements/EditMany/index.js.map +1 -1
  31. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  32. package/dist/elements/FieldSelect/index.js +39 -12
  33. package/dist/elements/FieldSelect/index.js.map +1 -1
  34. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  35. package/dist/elements/FileDetails/index.js +2 -1
  36. package/dist/elements/FileDetails/index.js.map +1 -1
  37. package/dist/elements/ListControls/index.d.ts +0 -1
  38. package/dist/elements/ListControls/index.d.ts.map +1 -1
  39. package/dist/elements/ListControls/index.js +7 -6
  40. package/dist/elements/ListControls/index.js.map +1 -1
  41. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  42. package/dist/elements/ListDrawer/DrawerContent.js +5 -9
  43. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  44. package/dist/elements/Nav/index.client.d.ts +3 -0
  45. package/dist/elements/Nav/index.client.d.ts.map +1 -0
  46. package/dist/elements/Nav/index.client.js +77 -0
  47. package/dist/elements/Nav/index.client.js.map +1 -0
  48. package/dist/elements/Nav/index.d.ts +3 -7
  49. package/dist/elements/Nav/index.d.ts.map +1 -1
  50. package/dist/elements/Nav/index.js +4 -66
  51. package/dist/elements/Nav/index.js.map +1 -1
  52. package/dist/elements/PerPage/index.d.ts +1 -0
  53. package/dist/elements/PerPage/index.d.ts.map +1 -1
  54. package/dist/elements/PerPage/index.js +6 -4
  55. package/dist/elements/PerPage/index.js.map +1 -1
  56. package/dist/elements/PreviewButton/index.d.ts +4 -6
  57. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  58. package/dist/elements/PreviewButton/index.js +11 -65
  59. package/dist/elements/PreviewButton/index.js.map +1 -1
  60. package/dist/elements/PreviewButton/usePreviewURL.d.ts +9 -0
  61. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -0
  62. package/dist/elements/PreviewButton/usePreviewURL.js +57 -0
  63. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -0
  64. package/dist/elements/Publish/index.d.ts +4 -2
  65. package/dist/elements/Publish/index.d.ts.map +1 -1
  66. package/dist/elements/Publish/index.js +15 -25
  67. package/dist/elements/Publish/index.js.map +1 -1
  68. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  69. package/dist/elements/ReactSelect/MultiValue/index.js +2 -1
  70. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  71. package/dist/elements/ReactSelect/ValueContainer/index.scss +4 -0
  72. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  73. package/dist/elements/ReactSelect/index.js +4 -1
  74. package/dist/elements/ReactSelect/index.js.map +1 -1
  75. package/dist/elements/ReactSelect/types.d.ts +2 -0
  76. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  77. package/dist/elements/ReactSelect/types.js.map +1 -1
  78. package/dist/elements/Save/index.d.ts +4 -2
  79. package/dist/elements/Save/index.d.ts.map +1 -1
  80. package/dist/elements/Save/index.js +7 -14
  81. package/dist/elements/Save/index.js.map +1 -1
  82. package/dist/elements/SaveDraft/index.d.ts +1 -2
  83. package/dist/elements/SaveDraft/index.d.ts.map +1 -1
  84. package/dist/elements/SaveDraft/index.js +33 -42
  85. package/dist/elements/SaveDraft/index.js.map +1 -1
  86. package/dist/elements/SortColumn/index.d.ts +3 -1
  87. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  88. package/dist/elements/SortColumn/index.js +5 -6
  89. package/dist/elements/SortColumn/index.js.map +1 -1
  90. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +3 -3
  91. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
  92. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  93. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +4 -4
  94. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  95. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  96. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +2 -2
  97. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  98. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  99. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +2 -2
  100. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  101. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  102. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +2 -5
  103. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  104. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  105. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
  106. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  107. package/dist/elements/Table/DefaultCell/fields/File/index.js +4 -3
  108. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  109. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +2 -2
  110. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  111. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  112. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +4 -4
  113. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  114. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  115. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +3 -3
  116. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
  117. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  118. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +2 -2
  119. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
  120. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  121. package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
  122. package/dist/elements/Table/DefaultCell/index.d.ts +2 -2
  123. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  124. package/dist/elements/Table/DefaultCell/index.js +4 -2
  125. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  126. package/dist/elements/Table/TableCellProvider/index.d.ts +11 -11
  127. package/dist/elements/Table/TableCellProvider/index.d.ts.map +1 -1
  128. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  129. package/dist/elements/Table/index.d.ts +8 -4
  130. package/dist/elements/Table/index.d.ts.map +1 -1
  131. package/dist/elements/Table/index.js +1 -0
  132. package/dist/elements/Table/index.js.map +1 -1
  133. package/dist/elements/TableColumns/{buildColumns.d.ts → buildColumnState.d.ts} +8 -6
  134. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -0
  135. package/dist/elements/TableColumns/{buildColumns.js → buildColumnState.js} +37 -13
  136. package/dist/elements/TableColumns/buildColumnState.js.map +1 -0
  137. package/dist/elements/TableColumns/filterFields.d.ts +3 -0
  138. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -0
  139. package/dist/elements/TableColumns/filterFields.js +27 -0
  140. package/dist/elements/TableColumns/filterFields.js.map +1 -0
  141. package/dist/elements/TableColumns/getInitialColumns.d.ts +5 -0
  142. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -0
  143. package/dist/elements/TableColumns/getInitialColumns.js +48 -0
  144. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -0
  145. package/dist/elements/TableColumns/index.d.ts +2 -2
  146. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  147. package/dist/elements/TableColumns/index.js +11 -7
  148. package/dist/elements/TableColumns/index.js.map +1 -1
  149. package/dist/elements/Thumbnail/index.d.ts +6 -0
  150. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  151. package/dist/elements/Thumbnail/index.js +32 -16
  152. package/dist/elements/Thumbnail/index.js.map +1 -1
  153. package/dist/elements/ThumbnailCard/index.d.ts +1 -1
  154. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  155. package/dist/elements/ThumbnailCard/index.js +2 -6
  156. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  157. package/dist/elements/Tooltip/index.scss +4 -4
  158. package/dist/elements/Translation/index.d.ts.map +1 -1
  159. package/dist/elements/Translation/index.js +12 -9
  160. package/dist/elements/Translation/index.js.map +1 -1
  161. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  162. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +11 -7
  163. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  164. package/dist/elements/WhereBuilder/Condition/index.d.ts +21 -4
  165. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  166. package/dist/elements/WhereBuilder/Condition/index.js +45 -61
  167. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  168. package/dist/elements/WhereBuilder/Condition/index.scss +6 -0
  169. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  170. package/dist/elements/WhereBuilder/index.js +134 -55
  171. package/dist/elements/WhereBuilder/index.js.map +1 -1
  172. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +3 -0
  173. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -0
  174. package/dist/elements/WhereBuilder/reduceFieldMap.js +36 -0
  175. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -0
  176. package/dist/elements/withMergedProps/index.js +1 -1
  177. package/dist/elements/withMergedProps/index.js.map +1 -1
  178. package/dist/fields/Array/ArrayRow.d.ts +2 -0
  179. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  180. package/dist/fields/Array/ArrayRow.js +3 -3
  181. package/dist/fields/Array/ArrayRow.js.map +1 -1
  182. package/dist/fields/Array/index.d.ts +1 -1
  183. package/dist/fields/Array/index.d.ts.map +1 -1
  184. package/dist/fields/Array/index.js +23 -8
  185. package/dist/fields/Array/index.js.map +1 -1
  186. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  187. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  188. package/dist/fields/Blocks/BlockRow.js +2 -3
  189. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  190. package/dist/fields/Blocks/index.d.ts +0 -1
  191. package/dist/fields/Blocks/index.d.ts.map +1 -1
  192. package/dist/fields/Blocks/index.js +17 -5
  193. package/dist/fields/Blocks/index.js.map +1 -1
  194. package/dist/fields/Checkbox/Input.d.ts +2 -1
  195. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  196. package/dist/fields/Checkbox/Input.js +3 -1
  197. package/dist/fields/Checkbox/Input.js.map +1 -1
  198. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  199. package/dist/fields/Checkbox/index.js +6 -2
  200. package/dist/fields/Checkbox/index.js.map +1 -1
  201. package/dist/fields/Code/index.d.ts.map +1 -1
  202. package/dist/fields/Code/index.js +8 -3
  203. package/dist/fields/Code/index.js.map +1 -1
  204. package/dist/fields/Collapsible/index.d.ts +2 -1
  205. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  206. package/dist/fields/Collapsible/index.js +4 -3
  207. package/dist/fields/Collapsible/index.js.map +1 -1
  208. package/dist/fields/DateTime/index.d.ts.map +1 -1
  209. package/dist/fields/DateTime/index.js +7 -2
  210. package/dist/fields/DateTime/index.js.map +1 -1
  211. package/dist/fields/Email/index.d.ts.map +1 -1
  212. package/dist/fields/Email/index.js +7 -2
  213. package/dist/fields/Email/index.js.map +1 -1
  214. package/dist/fields/Group/index.d.ts +0 -1
  215. package/dist/fields/Group/index.d.ts.map +1 -1
  216. package/dist/fields/Group/index.js +9 -8
  217. package/dist/fields/Group/index.js.map +1 -1
  218. package/dist/fields/HiddenInput/index.d.ts +1 -0
  219. package/dist/fields/HiddenInput/index.d.ts.map +1 -1
  220. package/dist/fields/HiddenInput/index.js +4 -2
  221. package/dist/fields/HiddenInput/index.js.map +1 -1
  222. package/dist/fields/JSON/index.d.ts.map +1 -1
  223. package/dist/fields/JSON/index.js +8 -4
  224. package/dist/fields/JSON/index.js.map +1 -1
  225. package/dist/fields/Number/index.d.ts.map +1 -1
  226. package/dist/fields/Number/index.js +7 -2
  227. package/dist/fields/Number/index.js.map +1 -1
  228. package/dist/fields/Password/index.d.ts +0 -1
  229. package/dist/fields/Password/index.d.ts.map +1 -1
  230. package/dist/fields/Password/index.js +5 -2
  231. package/dist/fields/Password/index.js.map +1 -1
  232. package/dist/fields/Point/index.d.ts.map +1 -1
  233. package/dist/fields/Point/index.js +15 -10
  234. package/dist/fields/Point/index.js.map +1 -1
  235. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  236. package/dist/fields/RadioGroup/index.js +7 -2
  237. package/dist/fields/RadioGroup/index.js.map +1 -1
  238. package/dist/fields/Relationship/index.d.ts.map +1 -1
  239. package/dist/fields/Relationship/index.js +45 -14
  240. package/dist/fields/Relationship/index.js.map +1 -1
  241. package/dist/fields/Relationship/types.d.ts +3 -1
  242. package/dist/fields/Relationship/types.d.ts.map +1 -1
  243. package/dist/fields/Relationship/types.js.map +1 -1
  244. package/dist/fields/RichText/index.d.ts +2 -0
  245. package/dist/fields/RichText/index.d.ts.map +1 -1
  246. package/dist/fields/RichText/index.js.map +1 -1
  247. package/dist/fields/Row/index.d.ts.map +1 -1
  248. package/dist/fields/Row/index.js +2 -1
  249. package/dist/fields/Row/index.js.map +1 -1
  250. package/dist/fields/Select/index.d.ts +0 -1
  251. package/dist/fields/Select/index.d.ts.map +1 -1
  252. package/dist/fields/Select/index.js +8 -3
  253. package/dist/fields/Select/index.js.map +1 -1
  254. package/dist/fields/Tabs/index.d.ts +0 -1
  255. package/dist/fields/Tabs/index.d.ts.map +1 -1
  256. package/dist/fields/Tabs/index.js +2 -2
  257. package/dist/fields/Tabs/index.js.map +1 -1
  258. package/dist/fields/Text/Input.d.ts.map +1 -1
  259. package/dist/fields/Text/Input.js +4 -1
  260. package/dist/fields/Text/Input.js.map +1 -1
  261. package/dist/fields/Text/index.d.ts.map +1 -1
  262. package/dist/fields/Text/index.js +3 -1
  263. package/dist/fields/Text/index.js.map +1 -1
  264. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  265. package/dist/fields/Textarea/Input.js +4 -1
  266. package/dist/fields/Textarea/Input.js.map +1 -1
  267. package/dist/fields/Textarea/index.d.ts.map +1 -1
  268. package/dist/fields/Textarea/index.js +3 -1
  269. package/dist/fields/Textarea/index.js.map +1 -1
  270. package/dist/fields/Upload/Input.d.ts.map +1 -1
  271. package/dist/fields/Upload/Input.js +10 -8
  272. package/dist/fields/Upload/Input.js.map +1 -1
  273. package/dist/fields/Upload/index.d.ts.map +1 -1
  274. package/dist/fields/Upload/index.js +6 -2
  275. package/dist/fields/Upload/index.js.map +1 -1
  276. package/dist/fields/shared/index.d.ts +1 -2
  277. package/dist/fields/shared/index.d.ts.map +1 -1
  278. package/dist/fields/shared/index.js.map +1 -1
  279. package/dist/forms/FieldDescription/index.d.ts +1 -2
  280. package/dist/forms/FieldDescription/index.d.ts.map +1 -1
  281. package/dist/forms/FieldDescription/index.js.map +1 -1
  282. package/dist/forms/FieldError/index.js +1 -1
  283. package/dist/forms/FieldError/index.js.map +1 -1
  284. package/dist/forms/FieldLabel/index.d.ts.map +1 -1
  285. package/dist/forms/FieldLabel/index.js +4 -4
  286. package/dist/forms/FieldLabel/index.js.map +1 -1
  287. package/dist/forms/FieldLabel/index.scss +1 -1
  288. package/dist/forms/FieldPropsProvider/index.d.ts +5 -0
  289. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  290. package/dist/forms/FieldPropsProvider/index.js +5 -1
  291. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  292. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  293. package/dist/forms/Form/fieldReducer.js +6 -8
  294. package/dist/forms/Form/fieldReducer.js.map +1 -1
  295. package/dist/forms/Form/index.d.ts.map +1 -1
  296. package/dist/forms/Form/index.js +37 -20
  297. package/dist/forms/Form/index.js.map +1 -1
  298. package/dist/forms/Form/initContextState.d.ts.map +1 -1
  299. package/dist/forms/Form/initContextState.js +1 -0
  300. package/dist/forms/Form/initContextState.js.map +1 -1
  301. package/dist/forms/Form/mergeErrorPaths.d.ts +5 -0
  302. package/dist/forms/Form/mergeErrorPaths.d.ts.map +1 -0
  303. package/dist/forms/Form/mergeErrorPaths.js +29 -0
  304. package/dist/forms/Form/mergeErrorPaths.js.map +1 -0
  305. package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
  306. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  307. package/dist/forms/Form/mergeServerFormState.js +36 -19
  308. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  309. package/dist/forms/Form/types.d.ts +8 -2
  310. package/dist/forms/Form/types.d.ts.map +1 -1
  311. package/dist/forms/Form/types.js.map +1 -1
  312. package/dist/forms/RenderFields/RenderField.d.ts +1 -0
  313. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  314. package/dist/forms/RenderFields/RenderField.js +12 -4
  315. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  316. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  317. package/dist/forms/RenderFields/index.js +3 -3
  318. package/dist/forms/RenderFields/index.js.map +1 -1
  319. package/dist/forms/RenderFields/types.d.ts +1 -0
  320. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  321. package/dist/forms/RenderFields/types.js.map +1 -1
  322. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +4 -3
  323. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  324. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +67 -42
  325. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  326. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +11 -0
  327. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -0
  328. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js +13 -0
  329. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -0
  330. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +11 -0
  331. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -0
  332. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js +16 -0
  333. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -0
  334. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +12 -0
  335. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -0
  336. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +122 -0
  337. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -0
  338. package/dist/forms/buildStateFromSchema/index.d.ts +1 -0
  339. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  340. package/dist/forms/buildStateFromSchema/index.js +10 -2
  341. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  342. package/dist/forms/buildStateFromSchema/iterateFields.d.ts +2 -2
  343. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  344. package/dist/forms/buildStateFromSchema/iterateFields.js +4 -3
  345. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  346. package/dist/forms/useField/index.d.ts.map +1 -1
  347. package/dist/forms/useField/index.js +32 -12
  348. package/dist/forms/useField/index.js.map +1 -1
  349. package/dist/forms/useField/types.d.ts +1 -0
  350. package/dist/forms/useField/types.d.ts.map +1 -1
  351. package/dist/forms/useField/types.js.map +1 -1
  352. package/dist/forms/withCondition/WatchCondition.d.ts +3 -0
  353. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  354. package/dist/forms/withCondition/WatchCondition.js +10 -2
  355. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  356. package/dist/forms/withCondition/index.js +4 -2
  357. package/dist/forms/withCondition/index.js.map +1 -1
  358. package/dist/hooks/usePayloadAPI.js +1 -1
  359. package/dist/hooks/usePayloadAPI.js.map +1 -1
  360. package/dist/hooks/useUseAsTitle.d.ts +3 -2
  361. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  362. package/dist/hooks/useUseAsTitle.js +5 -6
  363. package/dist/hooks/useUseAsTitle.js.map +1 -1
  364. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  365. package/dist/providers/ClientFunction/index.js +27 -5
  366. package/dist/providers/ClientFunction/index.js.map +1 -1
  367. package/dist/providers/ComponentMap/buildComponentMap/{mapActions.d.ts → actions.d.ts} +1 -1
  368. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -0
  369. package/dist/providers/ComponentMap/buildComponentMap/{mapActions.js → actions.js} +1 -1
  370. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -0
  371. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +13 -0
  372. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -0
  373. package/dist/providers/ComponentMap/buildComponentMap/collections.js +74 -0
  374. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -0
  375. package/dist/providers/ComponentMap/buildComponentMap/{mapFields.d.ts → fields.d.ts} +1 -1
  376. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -0
  377. package/dist/providers/ComponentMap/buildComponentMap/{mapFields.js → fields.js} +43 -23
  378. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -0
  379. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +12 -0
  380. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -0
  381. package/dist/providers/ComponentMap/buildComponentMap/globals.js +49 -0
  382. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -0
  383. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +2 -2
  384. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  385. package/dist/providers/ComponentMap/buildComponentMap/index.js +16 -83
  386. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  387. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +8 -3
  388. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  389. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  390. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  391. package/dist/providers/DocumentInfo/index.js +120 -96
  392. package/dist/providers/DocumentInfo/index.js.map +1 -1
  393. package/dist/providers/DocumentInfo/types.d.ts +12 -13
  394. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  395. package/dist/providers/DocumentInfo/types.js.map +1 -1
  396. package/dist/providers/EntityVisibility/index.d.ts +16 -0
  397. package/dist/providers/EntityVisibility/index.d.ts.map +1 -0
  398. package/dist/providers/EntityVisibility/index.js +25 -0
  399. package/dist/providers/EntityVisibility/index.js.map +1 -0
  400. package/dist/providers/ListInfo/index.d.ts +0 -1
  401. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  402. package/dist/providers/ListInfo/index.js +2 -7
  403. package/dist/providers/ListInfo/index.js.map +1 -1
  404. package/dist/templates/Default/index.d.ts +2 -7
  405. package/dist/templates/Default/index.d.ts.map +1 -1
  406. package/dist/templates/Default/index.js +10 -12
  407. package/dist/templates/Default/index.js.map +1 -1
  408. package/dist/utilities/buildComponentMap.d.ts +1 -1
  409. package/dist/utilities/buildComponentMap.d.ts.map +1 -1
  410. package/dist/utilities/buildComponentMap.js +1 -1
  411. package/dist/utilities/buildComponentMap.js.map +1 -1
  412. package/dist/utilities/flattenFieldMap.d.ts +10 -0
  413. package/dist/utilities/flattenFieldMap.d.ts.map +1 -0
  414. package/dist/utilities/flattenFieldMap.js +33 -0
  415. package/dist/utilities/flattenFieldMap.js.map +1 -0
  416. package/dist/utilities/getFormState.d.ts +2 -0
  417. package/dist/utilities/getFormState.d.ts.map +1 -1
  418. package/dist/utilities/getFormState.js +8 -3
  419. package/dist/utilities/getFormState.js.map +1 -1
  420. package/package.json +10 -4
  421. package/dist/elements/TableColumns/buildColumns.d.ts.map +0 -1
  422. package/dist/elements/TableColumns/buildColumns.js.map +0 -1
  423. package/dist/elements/WhereBuilder/reducer.d.ts +0 -5
  424. package/dist/elements/WhereBuilder/reducer.d.ts.map +0 -1
  425. package/dist/elements/WhereBuilder/reducer.js +0 -78
  426. package/dist/elements/WhereBuilder/reducer.js.map +0 -1
  427. package/dist/forms/FieldDescription/types.d.ts +0 -8
  428. package/dist/forms/FieldDescription/types.d.ts.map +0 -1
  429. package/dist/forms/FieldDescription/types.js +0 -3
  430. package/dist/forms/FieldDescription/types.js.map +0 -1
  431. package/dist/hooks/useAdminThumbnail.d.ts +0 -3
  432. package/dist/hooks/useAdminThumbnail.d.ts.map +0 -1
  433. package/dist/hooks/useAdminThumbnail.js +0 -8
  434. package/dist/hooks/useAdminThumbnail.js.map +0 -1
  435. package/dist/hooks/useThumbnail.d.ts +0 -3
  436. package/dist/hooks/useThumbnail.d.ts.map +0 -1
  437. package/dist/hooks/useThumbnail.js +0 -45
  438. package/dist/hooks/useThumbnail.js.map +0 -1
  439. package/dist/providers/ComponentMap/buildComponentMap/mapActions.d.ts.map +0 -1
  440. package/dist/providers/ComponentMap/buildComponentMap/mapActions.js.map +0 -1
  441. package/dist/providers/ComponentMap/buildComponentMap/mapFields.d.ts.map +0 -1
  442. package/dist/providers/ComponentMap/buildComponentMap/mapFields.js.map +0 -1
@@ -1,6 +1,5 @@
1
1
  /* eslint-disable no-param-reassign */ import ObjectIdImport from 'bson-objectid';
2
2
  import { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/types';
3
- import { getDefaultValue } from 'payload/utilities';
4
3
  import { getFilterOptionsQuery } from './getFilterOptionsQuery.js';
5
4
  import { iterateFields } from './iterateFields.js';
6
5
  const ObjectId = ObjectIdImport.default || ObjectIdImport;
@@ -8,28 +7,19 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
8
7
  * Flattens the fields schema and fields data.
9
8
  * The output is the field path (e.g. array.0.name) mapped to a FormField object.
10
9
  */ export const addFieldStatePromise = async (args)=>{
11
- const { id, anyParentLocalized = false, data, errorPaths: parentErrorPaths, field, filter, forceFullValue = false, fullData, includeSchema = false, omitParents = false, operation, passesCondition, path, preferences, req, skipConditionChecks = false, skipValidation = false, state } = args;
10
+ const { id, addErrorPathToParent: addErrorPathToParentArg, anyParentLocalized = false, data, field, fieldIndex, filter, forceFullValue = false, fullData, includeSchema = false, omitParents = false, operation, passesCondition, path, preferences, req, skipConditionChecks = false, skipValidation = false, state } = args;
12
11
  if (fieldAffectsData(field)) {
13
- const validate = operation === 'update' ? field.validate : undefined;
12
+ const validate = field.validate;
14
13
  const fieldState = {
15
- errorPaths: new Set(),
14
+ errorPaths: [],
16
15
  fieldSchema: includeSchema ? field : undefined,
17
16
  initialValue: undefined,
18
17
  passesCondition,
19
18
  valid: true,
20
19
  value: undefined
21
20
  };
22
- const valueWithDefault = await getDefaultValue({
23
- defaultValue: field.defaultValue,
24
- locale: req.locale,
25
- user: req.user,
26
- value: data?.[field.name]
27
- });
28
- if (data?.[field.name]) {
29
- data[field.name] = valueWithDefault;
30
- }
31
21
  let validationResult = true;
32
- if (typeof validate === 'function' && !skipValidation) {
22
+ if (typeof validate === 'function' && !skipValidation && passesCondition) {
33
23
  let jsonError;
34
24
  if (field.type === 'json' && typeof data[field.name] === 'string') {
35
25
  try {
@@ -49,19 +39,26 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
49
39
  jsonError
50
40
  });
51
41
  }
42
+ const addErrorPathToParent = (errorPath)=>{
43
+ if (typeof addErrorPathToParentArg === 'function') {
44
+ addErrorPathToParentArg(errorPath);
45
+ }
46
+ if (!fieldState.errorPaths.includes(errorPath)) {
47
+ fieldState.errorPaths.push(errorPath);
48
+ fieldState.valid = false;
49
+ }
50
+ };
52
51
  if (typeof validationResult === 'string') {
53
52
  fieldState.errorMessage = validationResult;
54
53
  fieldState.valid = false;
55
- // TODO: this is unpredictable, need to figure out why
56
- // It will sometimes lead to inconsistencies across re-renders
57
- parentErrorPaths.add(`${path}${field.name}`);
54
+ addErrorPathToParent(`${path}${field.name}`);
58
55
  } else {
59
56
  fieldState.valid = true;
60
57
  }
61
58
  switch(field.type){
62
59
  case 'array':
63
60
  {
64
- const arrayValue = Array.isArray(valueWithDefault) ? valueWithDefault : [];
61
+ const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : [];
65
62
  const { promises, rowMetadata } = arrayValue.reduce((acc, row, i)=>{
66
63
  const rowPath = `${path}${field.name}.${i}.`;
67
64
  row.id = row?.id || new ObjectId().toHexString();
@@ -75,9 +72,9 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
75
72
  }
76
73
  acc.promises.push(iterateFields({
77
74
  id,
75
+ addErrorPathToParent,
78
76
  anyParentLocalized: field.localized || anyParentLocalized,
79
77
  data: row,
80
- errorPaths: fieldState.errorPaths,
81
78
  fields: field.fields,
82
79
  filter,
83
80
  forceFullValue,
@@ -96,8 +93,7 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
96
93
  const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed;
97
94
  acc.rowMetadata.push({
98
95
  id: row.id,
99
- collapsed: collapsedRowIDs === undefined ? field.admin.initCollapsed : collapsedRowIDs.includes(row.id),
100
- errorPaths: fieldState.errorPaths
96
+ collapsed: collapsedRowIDs === undefined ? field.admin.initCollapsed : collapsedRowIDs.includes(row.id)
101
97
  });
102
98
  return acc;
103
99
  }, {
@@ -106,7 +102,7 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
106
102
  });
107
103
  await Promise.all(promises);
108
104
  // Add values to field state
109
- if (valueWithDefault === null) {
105
+ if (data[field.name] === null) {
110
106
  fieldState.value = null;
111
107
  fieldState.initialValue = null;
112
108
  } else {
@@ -125,7 +121,7 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
125
121
  }
126
122
  case 'blocks':
127
123
  {
128
- const blocksValue = Array.isArray(valueWithDefault) ? valueWithDefault : [];
124
+ const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : [];
129
125
  const { promises, rowMetadata } = blocksValue.reduce((acc, row, i)=>{
130
126
  const block = field.blocks.find((blockType)=>blockType.slug === row.blockType);
131
127
  const rowPath = `${path}${field.name}.${i}.`;
@@ -153,9 +149,9 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
153
149
  }
154
150
  acc.promises.push(iterateFields({
155
151
  id,
152
+ addErrorPathToParent,
156
153
  anyParentLocalized: field.localized || anyParentLocalized,
157
154
  data: row,
158
- errorPaths: fieldState.errorPaths,
159
155
  fields: block.fields,
160
156
  filter,
161
157
  forceFullValue,
@@ -175,8 +171,7 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
175
171
  acc.rowMetadata.push({
176
172
  id: row.id,
177
173
  blockType: row.blockType,
178
- collapsed: collapsedRowIDs === undefined ? field.admin.initCollapsed : collapsedRowIDs.includes(row.id),
179
- errorPaths: fieldState.errorPaths
174
+ collapsed: collapsedRowIDs === undefined ? field.admin.initCollapsed : collapsedRowIDs.includes(row.id)
180
175
  });
181
176
  }
182
177
  return acc;
@@ -186,7 +181,7 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
186
181
  });
187
182
  await Promise.all(promises);
188
183
  // Add values to field state
189
- if (valueWithDefault === null) {
184
+ if (data[field.name] === null) {
190
185
  fieldState.value = null;
191
186
  fieldState.initialValue = null;
192
187
  } else {
@@ -205,11 +200,15 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
205
200
  }
206
201
  case 'group':
207
202
  {
203
+ if (!filter || filter(args)) {
204
+ fieldState.disableFormData = true;
205
+ state[`${path}${field.name}`] = fieldState;
206
+ }
208
207
  await iterateFields({
209
208
  id,
209
+ addErrorPathToParent,
210
210
  anyParentLocalized: field.localized || anyParentLocalized,
211
211
  data: data?.[field.name] || {},
212
- errorPaths: parentErrorPaths,
213
212
  fields: field.fields,
214
213
  filter,
215
214
  forceFullValue,
@@ -240,7 +239,7 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
240
239
  fieldState.filterOptions = query;
241
240
  }
242
241
  if (field.hasMany) {
243
- const relationshipValue = Array.isArray(valueWithDefault) ? valueWithDefault.map((relationship)=>{
242
+ const relationshipValue = Array.isArray(data[field.name]) ? data[field.name].map((relationship)=>{
244
243
  if (Array.isArray(field.relationTo)) {
245
244
  return {
246
245
  relationTo: relationship.relationTo,
@@ -255,17 +254,17 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
255
254
  fieldState.value = relationshipValue;
256
255
  fieldState.initialValue = relationshipValue;
257
256
  } else if (Array.isArray(field.relationTo)) {
258
- if (valueWithDefault && typeof valueWithDefault === 'object' && 'relationTo' in valueWithDefault && 'value' in valueWithDefault) {
259
- const value = typeof valueWithDefault?.value === 'object' && valueWithDefault?.value && 'id' in valueWithDefault.value ? valueWithDefault.value.id : valueWithDefault.value;
257
+ if (data[field.name] && typeof data[field.name] === 'object' && 'relationTo' in data[field.name] && 'value' in data[field.name]) {
258
+ const value = typeof data[field.name]?.value === 'object' && data[field.name]?.value && 'id' in data[field.name].value ? data[field.name].value.id : data[field.name].value;
260
259
  const relationshipValue = {
261
- relationTo: valueWithDefault?.relationTo,
260
+ relationTo: data[field.name]?.relationTo,
262
261
  value
263
262
  };
264
263
  fieldState.value = relationshipValue;
265
264
  fieldState.initialValue = relationshipValue;
266
265
  }
267
266
  } else {
268
- const relationshipValue = valueWithDefault && typeof valueWithDefault === 'object' && 'id' in valueWithDefault ? valueWithDefault.id : valueWithDefault;
267
+ const relationshipValue = data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name] ? data[field.name].id : data[field.name];
269
268
  fieldState.value = relationshipValue;
270
269
  fieldState.initialValue = relationshipValue;
271
270
  }
@@ -286,7 +285,7 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
286
285
  });
287
286
  fieldState.filterOptions = query;
288
287
  }
289
- const relationshipValue = valueWithDefault && typeof valueWithDefault === 'object' && 'id' in valueWithDefault ? valueWithDefault.id : valueWithDefault;
288
+ const relationshipValue = data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name] ? data[field.name].id : data[field.name];
290
289
  fieldState.value = relationshipValue;
291
290
  fieldState.initialValue = relationshipValue;
292
291
  if (!filter || filter(args)) {
@@ -296,8 +295,8 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
296
295
  }
297
296
  default:
298
297
  {
299
- fieldState.value = valueWithDefault;
300
- fieldState.initialValue = valueWithDefault;
298
+ fieldState.value = data[field.name];
299
+ fieldState.initialValue = data[field.name];
301
300
  // Add field to state
302
301
  if (!filter || filter(args)) {
303
302
  state[`${path}${field.name}`] = fieldState;
@@ -307,11 +306,22 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
307
306
  }
308
307
  } else if (fieldHasSubFields(field)) {
309
308
  // Handle field types that do not use names (row, etc)
309
+ if (!filter || filter(args)) {
310
+ state[`${path}_index-${fieldIndex}`] = {
311
+ disableFormData: true,
312
+ errorPaths: [],
313
+ initialValue: undefined,
314
+ passesCondition,
315
+ valid: true,
316
+ value: undefined
317
+ };
318
+ }
310
319
  await iterateFields({
311
320
  id,
321
+ // passthrough parent functionality
322
+ addErrorPathToParent: addErrorPathToParentArg,
312
323
  anyParentLocalized: field.localized || anyParentLocalized,
313
324
  data,
314
- errorPaths: parentErrorPaths,
315
325
  fields: field.fields,
316
326
  filter,
317
327
  forceFullValue,
@@ -328,11 +338,14 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
328
338
  state
329
339
  });
330
340
  } else if (field.type === 'tabs') {
331
- const promises = field.tabs.map((tab)=>iterateFields({
341
+ const promises = field.tabs.map((tab)=>{
342
+ const isNamedTab = tabHasName(tab);
343
+ return iterateFields({
332
344
  id,
345
+ // passthrough parent functionality
346
+ addErrorPathToParent: addErrorPathToParentArg,
333
347
  anyParentLocalized: tab.localized || anyParentLocalized,
334
- data: tabHasName(tab) ? data?.[tab.name] : data,
335
- errorPaths: parentErrorPaths,
348
+ data: isNamedTab ? data?.[tab.name] || {} : data,
336
349
  fields: tab.fields,
337
350
  filter,
338
351
  forceFullValue,
@@ -341,14 +354,26 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
341
354
  omitParents,
342
355
  operation,
343
356
  parentPassesCondition: passesCondition,
344
- path: tabHasName(tab) ? `${path}${tab.name}.` : path,
357
+ path: isNamedTab ? `${path}${tab.name}.` : path,
345
358
  preferences,
346
359
  req,
347
360
  skipConditionChecks,
348
361
  skipValidation,
349
362
  state
350
- }));
363
+ });
364
+ });
351
365
  await Promise.all(promises);
366
+ } else if (field.type === 'ui') {
367
+ if (!filter || filter(args)) {
368
+ state[`${path}_index-${fieldIndex}`] = {
369
+ disableFormData: true,
370
+ errorPaths: [],
371
+ initialValue: undefined,
372
+ passesCondition,
373
+ valid: true,
374
+ value: undefined
375
+ };
376
+ }
352
377
  }
353
378
  };
354
379
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/buildStateFromSchema/addFieldStatePromise.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type {\n Data,\n FormField,\n FormState,\n NonPresentationalField,\n PayloadRequest,\n} from 'payload/types'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/types'\nimport { getDefaultValue } from 'payload/utilities'\n\nimport { getFilterOptionsQuery } from './getFilterOptionsQuery.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport type AddFieldStatePromiseArgs = {\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n data: Data\n errorPaths: Set<string>\n field: NonPresentationalField\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 id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n passesCondition: boolean\n path: string\n preferences: {\n [key: string]: unknown\n }\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 /**\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: FormState\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 anyParentLocalized = false,\n data,\n errorPaths: parentErrorPaths,\n field,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (fieldAffectsData(field)) {\n const validate = operation === 'update' ? field.validate : undefined\n\n const fieldState: FormField = {\n errorPaths: new Set(),\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n\n const valueWithDefault = await getDefaultValue({\n defaultValue: field.defaultValue,\n locale: req.locale,\n user: req.user,\n value: data?.[field.name],\n })\n\n if (data?.[field.name]) {\n data[field.name] = valueWithDefault\n }\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name] as string)\n } catch (e) {\n jsonError = e\n }\n }\n\n validationResult = await validate(data?.[field.name], {\n ...field,\n id,\n data: fullData,\n operation,\n req,\n siblingData: data,\n // @ts-expect-error-next-line\n jsonError,\n })\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n // TODO: this is unpredictable, need to figure out why\n // It will sometimes lead to inconsistencies across re-renders\n parentErrorPaths.add(`${path}${field.name}`)\n } else {\n fieldState.valid = true\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(valueWithDefault) ? valueWithDefault : []\n\n const { promises, rowMetadata } = arrayValue.reduce(\n (acc, row, i) => {\n const rowPath = `${path}${field.name}.${i}.`\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}id`] = {\n fieldSchema: includeSchema\n ? field.fields.find((field) => 'name' in field && field.name === 'id')\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: row,\n errorPaths: fieldState.errorPaths,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n errorPaths: fieldState.errorPaths,\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 (valueWithDefault === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\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 fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(valueWithDefault) ? valueWithDefault : []\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i) => {\n const block = field.blocks.find((blockType) => blockType.slug === row.blockType)\n const rowPath = `${path}${field.name}.${i}.`\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}id`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'id',\n )\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n\n state[`${rowPath}blockType`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n : undefined,\n initialValue: row.blockType,\n valid: true,\n value: row.blockType,\n }\n\n state[`${rowPath}blockName`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n : undefined,\n initialValue: row.blockName,\n valid: true,\n value: row.blockName,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: row,\n errorPaths: fieldState.errorPaths,\n fields: block.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n blockType: row.blockType,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n errorPaths: fieldState.errorPaths,\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 (valueWithDefault === 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}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'group': {\n await iterateFields({\n id,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: data?.[field.name] || {},\n errorPaths: parentErrorPaths,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: `${path}${field.name}.`,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n\n case 'relationship': {\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(valueWithDefault)\n ? valueWithDefault.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 valueWithDefault &&\n typeof valueWithDefault === 'object' &&\n 'relationTo' in valueWithDefault &&\n 'value' in valueWithDefault\n ) {\n const value =\n typeof valueWithDefault?.value === 'object' &&\n valueWithDefault?.value &&\n 'id' in valueWithDefault.value\n ? valueWithDefault.value.id\n : valueWithDefault.value\n const relationshipValue = {\n relationTo: valueWithDefault?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n valueWithDefault && typeof valueWithDefault === 'object' && 'id' in valueWithDefault\n ? valueWithDefault.id\n : valueWithDefault\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'upload': {\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n\n const relationshipValue =\n valueWithDefault && typeof valueWithDefault === 'object' && 'id' in valueWithDefault\n ? valueWithDefault.id\n : valueWithDefault\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n default: {\n fieldState.value = valueWithDefault\n fieldState.initialValue = valueWithDefault\n\n // Add field to state\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field)) {\n // Handle field types that do not use names (row, etc)\n await iterateFields({\n id,\n anyParentLocalized: field.localized || anyParentLocalized,\n data,\n errorPaths: parentErrorPaths,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab) =>\n iterateFields({\n id,\n anyParentLocalized: tab.localized || anyParentLocalized,\n data: tabHasName(tab) ? data?.[tab.name] : data,\n errorPaths: parentErrorPaths,\n fields: tab.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: tabHasName(tab) ? `${path}${tab.name}.` : path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n await Promise.all(promises)\n }\n}\n"],"names":["ObjectIdImport","fieldAffectsData","fieldHasSubFields","tabHasName","getDefaultValue","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","anyParentLocalized","data","errorPaths","parentErrorPaths","field","filter","forceFullValue","fullData","includeSchema","omitParents","operation","passesCondition","path","preferences","req","skipConditionChecks","skipValidation","state","validate","undefined","fieldState","Set","fieldSchema","initialValue","valid","value","valueWithDefault","defaultValue","locale","user","name","validationResult","jsonError","type","JSON","parse","e","siblingData","errorMessage","add","arrayValue","Array","isArray","promises","rowMetadata","reduce","acc","row","i","rowPath","toHexString","fields","find","push","localized","parentPassesCondition","collapsedRowIDs","collapsed","admin","initCollapsed","includes","Promise","all","length","disableFormData","rows","blocksValue","block","blocks","blockType","slug","blockField","blockName","filterOptions","query","relationTo","hasMany","relationshipValue","map","relationship","tabs","tab"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/forms/buildStateFromSchema/addFieldStatePromise.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { Data, Field, FormField, FormState, PayloadRequest } from 'payload/types'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/types'\n\nimport { getFilterOptionsQuery } from './getFilterOptionsQuery.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (path: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n data: Data\n field: Field\n fieldIndex: number\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 id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n passesCondition: boolean\n path: string\n preferences: {\n [key: string]: unknown\n }\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 /**\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: FormState\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 data,\n field,\n fieldIndex,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (fieldAffectsData(field)) {\n const validate = field.validate\n\n const fieldState: FormField = {\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\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] as string)\n } catch (e) {\n jsonError = e\n }\n }\n\n validationResult = await validate(data?.[field.name], {\n ...field,\n id,\n data: fullData,\n operation,\n req,\n siblingData: data,\n // @ts-expect-error-next-line\n jsonError,\n })\n }\n\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\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}${field.name}`)\n } else {\n fieldState.valid = true\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = arrayValue.reduce(\n (acc, row, i) => {\n const rowPath = `${path}${field.name}.${i}.`\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}id`] = {\n fieldSchema: includeSchema\n ? field.fields.find((field) => 'name' in field && field.name === 'id')\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: row,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\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 ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.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}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i) => {\n const block = field.blocks.find((blockType) => blockType.slug === row.blockType)\n const rowPath = `${path}${field.name}.${i}.`\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}id`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'id',\n )\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n\n state[`${rowPath}blockType`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n : undefined,\n initialValue: row.blockType,\n valid: true,\n value: row.blockType,\n }\n\n state[`${rowPath}blockName`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n : undefined,\n initialValue: row.blockName,\n valid: true,\n value: row.blockName,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: row,\n fields: block.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n blockType: row.blockType,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\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}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[`${path}${field.name}`] = fieldState\n }\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: data?.[field.name] || {},\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: `${path}${field.name}.`,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n\n case 'relationship': {\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\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}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'upload': {\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n\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 if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n default: {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n\n // Add field to state\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field)) {\n // Handle field types that do not use names (row, etc)\n\n if (!filter || filter(args)) {\n state[`${path}_index-${fieldIndex}`] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n\n await iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: field.localized || anyParentLocalized,\n data,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab) => {\n const isNamedTab = tabHasName(tab)\n\n return iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n data: isNamedTab ? data?.[tab.name] || {} : data,\n fields: tab.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: isNamedTab ? `${path}${tab.name}.` : path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n })\n\n await Promise.all(promises)\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[`${path}_index-${fieldIndex}`] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n }\n}\n"],"names":["ObjectIdImport","fieldAffectsData","fieldHasSubFields","tabHasName","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","data","field","fieldIndex","filter","forceFullValue","fullData","includeSchema","omitParents","operation","passesCondition","path","preferences","req","skipConditionChecks","skipValidation","state","validate","fieldState","errorPaths","fieldSchema","undefined","initialValue","valid","value","validationResult","jsonError","type","name","JSON","parse","e","siblingData","errorPath","includes","push","errorMessage","arrayValue","Array","isArray","promises","rowMetadata","reduce","acc","row","i","rowPath","toHexString","fields","find","localized","parentPassesCondition","collapsedRowIDs","collapsed","admin","initCollapsed","Promise","all","length","disableFormData","rows","blocksValue","block","blocks","blockType","slug","blockField","blockName","filterOptions","query","relationTo","user","hasMany","relationshipValue","map","relationship","tabs","tab","isNamedTab"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Data, Field as FieldSchema, PayloadRequest } from 'payload/types';
2
+ type Args = {
3
+ data: Data;
4
+ fields: FieldSchema[];
5
+ id?: number | string;
6
+ req: PayloadRequest;
7
+ siblingData: Data;
8
+ };
9
+ export declare const calculateDefaultValues: ({ id, data, fields, req }: Args) => Promise<Data>;
10
+ export {};
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAI/E,KAAK,IAAI,GAAG;IACV,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,WAAW,EAAE,IAAI,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,sBAAsB,8BAAqC,IAAI,KAAG,QAAQ,IAAI,CAU1F,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { iterateFields } from './iterateFields.js';
2
+ export const calculateDefaultValues = async ({ id, data, fields, req })=>{
3
+ await iterateFields({
4
+ id,
5
+ data,
6
+ fields,
7
+ req,
8
+ siblingData: data
9
+ });
10
+ return data;
11
+ };
12
+
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/index.ts"],"sourcesContent":["import type { Data, Field as FieldSchema, PayloadRequest } from 'payload/types'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n data: Data\n fields: FieldSchema[]\n id?: number | string\n req: PayloadRequest\n siblingData: Data\n}\n\nexport const calculateDefaultValues = async ({ id, data, fields, req }: Args): Promise<Data> => {\n await iterateFields({\n id,\n data,\n fields,\n req,\n siblingData: data,\n })\n\n return data\n}\n"],"names":["iterateFields","calculateDefaultValues","id","data","fields","req","siblingData"],"mappings":"AAEA,SAASA,aAAa,QAAQ,qBAAoB;AAUlD,OAAO,MAAMC,yBAAyB,OAAO,EAAEC,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,GAAG,EAAQ;IAC1E,MAAML,cAAc;QAClBE;QACAC;QACAC;QACAC;QACAC,aAAaH;IACf;IAEA,OAAOA;AACT,EAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Data, Field, PayloadRequest, TabAsField } from 'payload/types';
2
+ type Args<T> = {
3
+ data: T;
4
+ fields: (Field | TabAsField)[];
5
+ id?: number | string;
6
+ req: PayloadRequest;
7
+ siblingData: Data;
8
+ };
9
+ export declare const iterateFields: <T>({ id, data, fields, req, siblingData, }: Args<T>) => Promise<void>;
10
+ export {};
11
+ //# sourceMappingURL=iterateFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI5E,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,IAAI,EAAE,CAAC,CAAA;IACP,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,WAAW,EAAE,IAAI,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,aAAa,+CAMvB,KAAK,CAAC,CAAC,KAAG,QAAQ,IAAI,CAcxB,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { defaultValuePromise } from './promise.js';
2
+ export const iterateFields = async ({ id, data, fields, req, siblingData })=>{
3
+ const promises = [];
4
+ fields.forEach((field)=>{
5
+ promises.push(defaultValuePromise({
6
+ id,
7
+ data,
8
+ field,
9
+ req,
10
+ siblingData
11
+ }));
12
+ });
13
+ await Promise.all(promises);
14
+ };
15
+
16
+ //# sourceMappingURL=iterateFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.ts"],"sourcesContent":["import type { Data, Field, PayloadRequest, TabAsField } from 'payload/types'\n\nimport { defaultValuePromise } from './promise.js'\n\ntype Args<T> = {\n data: T\n fields: (Field | TabAsField)[]\n id?: number | string\n req: PayloadRequest\n siblingData: Data\n}\n\nexport const iterateFields = async <T>({\n id,\n data,\n fields,\n req,\n siblingData,\n}: Args<T>): Promise<void> => {\n const promises = []\n fields.forEach((field) => {\n promises.push(\n defaultValuePromise({\n id,\n data,\n field,\n req,\n siblingData,\n }),\n )\n })\n await Promise.all(promises)\n}\n"],"names":["defaultValuePromise","iterateFields","id","data","fields","req","siblingData","promises","forEach","field","push","Promise","all"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,eAAc;AAUlD,OAAO,MAAMC,gBAAgB,OAAU,EACrCC,EAAE,EACFC,IAAI,EACJC,MAAM,EACNC,GAAG,EACHC,WAAW,EACH;IACR,MAAMC,WAAW,EAAE;IACnBH,OAAOI,OAAO,CAAC,CAACC;QACdF,SAASG,IAAI,CACXV,oBAAoB;YAClBE;YACAC;YACAM;YACAJ;YACAC;QACF;IAEJ;IACA,MAAMK,QAAQC,GAAG,CAACL;AACpB,EAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Data } from 'payload/types';
2
+ import { type Field, type PayloadRequest, type TabAsField } from 'payload/types';
3
+ type Args<T> = {
4
+ data: T;
5
+ field: Field | TabAsField;
6
+ id?: number | string;
7
+ req: PayloadRequest;
8
+ siblingData: Data;
9
+ };
10
+ export declare const defaultValuePromise: <T>({ id, data, field, req, siblingData, }: Args<T>) => Promise<void>;
11
+ export {};
12
+ //# sourceMappingURL=promise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/promise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEzC,OAAO,EACL,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,UAAU,EAGhB,MAAM,eAAe,CAAA;AAKtB,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,WAAW,EAAE,IAAI,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,mBAAmB,8CAM7B,KAAK,CAAC,CAAC,KAAG,QAAQ,IAAI,CAqIxB,CAAA"}
@@ -0,0 +1,122 @@
1
+ import { fieldAffectsData, tabHasName } from 'payload/types';
2
+ import { getDefaultValue } from 'payload/utilities';
3
+ import { iterateFields } from './iterateFields.js';
4
+ export const defaultValuePromise = async ({ id, data, field, req, siblingData })=>{
5
+ if (fieldAffectsData(field)) {
6
+ if (typeof siblingData[field.name] === 'undefined' && typeof field.defaultValue !== 'undefined') {
7
+ siblingData[field.name] = await getDefaultValue({
8
+ defaultValue: field.defaultValue,
9
+ locale: req.locale,
10
+ user: req.user,
11
+ value: siblingData[field.name]
12
+ });
13
+ }
14
+ }
15
+ // Traverse subfields
16
+ switch(field.type){
17
+ case 'group':
18
+ {
19
+ if (typeof siblingData[field.name] !== 'object') siblingData[field.name] = {};
20
+ const groupData = siblingData[field.name];
21
+ await iterateFields({
22
+ id,
23
+ data,
24
+ fields: field.fields,
25
+ req,
26
+ siblingData: groupData
27
+ });
28
+ break;
29
+ }
30
+ case 'array':
31
+ {
32
+ const rows = siblingData[field.name];
33
+ if (Array.isArray(rows)) {
34
+ const promises = [];
35
+ rows.forEach((row)=>{
36
+ promises.push(iterateFields({
37
+ id,
38
+ data,
39
+ fields: field.fields,
40
+ req,
41
+ siblingData: row
42
+ }));
43
+ });
44
+ await Promise.all(promises);
45
+ }
46
+ break;
47
+ }
48
+ case 'blocks':
49
+ {
50
+ const rows = siblingData[field.name];
51
+ if (Array.isArray(rows)) {
52
+ const promises = [];
53
+ rows.forEach((row)=>{
54
+ const blockTypeToMatch = row.blockType;
55
+ const block = field.blocks.find((blockType)=>blockType.slug === blockTypeToMatch);
56
+ if (block) {
57
+ row.blockType = blockTypeToMatch;
58
+ promises.push(iterateFields({
59
+ id,
60
+ data,
61
+ fields: block.fields,
62
+ req,
63
+ siblingData: row
64
+ }));
65
+ }
66
+ });
67
+ await Promise.all(promises);
68
+ }
69
+ break;
70
+ }
71
+ case 'row':
72
+ case 'collapsible':
73
+ {
74
+ await iterateFields({
75
+ id,
76
+ data,
77
+ fields: field.fields,
78
+ req,
79
+ siblingData
80
+ });
81
+ break;
82
+ }
83
+ case 'tab':
84
+ {
85
+ let tabSiblingData;
86
+ if (tabHasName(field)) {
87
+ if (typeof siblingData[field.name] !== 'object') siblingData[field.name] = {};
88
+ tabSiblingData = siblingData[field.name];
89
+ } else {
90
+ tabSiblingData = siblingData;
91
+ }
92
+ await iterateFields({
93
+ id,
94
+ data,
95
+ fields: field.fields,
96
+ req,
97
+ siblingData: tabSiblingData
98
+ });
99
+ break;
100
+ }
101
+ case 'tabs':
102
+ {
103
+ await iterateFields({
104
+ id,
105
+ data,
106
+ fields: field.tabs.map((tab)=>({
107
+ ...tab,
108
+ type: 'tab'
109
+ })),
110
+ req,
111
+ siblingData
112
+ });
113
+ break;
114
+ }
115
+ default:
116
+ {
117
+ break;
118
+ }
119
+ }
120
+ };
121
+
122
+ //# sourceMappingURL=promise.js.map