@payloadcms/ui 3.0.0-beta.53 → 3.0.0-beta.55

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 (526) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js.map +1 -1
  3. package/dist/elements/AppHeader/index.js.map +1 -1
  4. package/dist/elements/ArrayAction/index.js.map +1 -1
  5. package/dist/elements/Autosave/index.js.map +1 -1
  6. package/dist/elements/Banner/index.js.map +1 -1
  7. package/dist/elements/Button/index.js.map +1 -1
  8. package/dist/elements/Button/types.js.map +1 -1
  9. package/dist/elements/Card/index.js.map +1 -1
  10. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  11. package/dist/elements/CodeEditor/index.js.map +1 -1
  12. package/dist/elements/CodeEditor/types.js.map +1 -1
  13. package/dist/elements/Collapsible/index.js.map +1 -1
  14. package/dist/elements/Collapsible/provider.js.map +1 -1
  15. package/dist/elements/ColumnSelector/index.js.map +1 -1
  16. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  17. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  18. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  19. package/dist/elements/DatePicker/index.js.map +1 -1
  20. package/dist/elements/DatePicker/types.js.map +1 -1
  21. package/dist/elements/DeleteDocument/index.js.map +1 -1
  22. package/dist/elements/DeleteMany/index.js.map +1 -1
  23. package/dist/elements/DocumentControls/index.js.map +1 -1
  24. package/dist/elements/DocumentDrawer/DrawerContent.js +2 -2
  25. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  26. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  27. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  28. package/dist/elements/DocumentFields/index.js.map +1 -1
  29. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  30. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  31. package/dist/elements/DraggableSortable/index.js.map +1 -1
  32. package/dist/elements/DraggableSortable/types.js.map +1 -1
  33. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  34. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  35. package/dist/elements/Drawer/index.js.map +1 -1
  36. package/dist/elements/Drawer/types.js.map +1 -1
  37. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  38. package/dist/elements/Dropzone/index.js.map +1 -1
  39. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  40. package/dist/elements/EditMany/index.js.map +1 -1
  41. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  42. package/dist/elements/EditUpload/index.js +28 -11
  43. package/dist/elements/EditUpload/index.js.map +1 -1
  44. package/dist/elements/ErrorPill/index.js.map +1 -1
  45. package/dist/elements/FieldSelect/index.js.map +1 -1
  46. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  47. package/dist/elements/FileDetails/index.d.ts +2 -1
  48. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  49. package/dist/elements/FileDetails/index.js +6 -5
  50. package/dist/elements/FileDetails/index.js.map +1 -1
  51. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  52. package/dist/elements/Gutter/index.js.map +1 -1
  53. package/dist/elements/Hamburger/index.js.map +1 -1
  54. package/dist/elements/HydrateClientUser/index.d.ts +0 -1
  55. package/dist/elements/HydrateClientUser/index.d.ts.map +1 -1
  56. package/dist/elements/HydrateClientUser/index.js.map +1 -1
  57. package/dist/elements/IDLabel/index.js.map +1 -1
  58. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  59. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  60. package/dist/elements/ListControls/index.js.map +1 -1
  61. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  62. package/dist/elements/ListDrawer/index.js.map +1 -1
  63. package/dist/elements/ListDrawer/types.js.map +1 -1
  64. package/dist/elements/ListSelection/index.js.map +1 -1
  65. package/dist/elements/Loading/index.js.map +1 -1
  66. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  67. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  68. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  69. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  70. package/dist/elements/Localizer/index.js.map +1 -1
  71. package/dist/elements/Logout/index.js.map +1 -1
  72. package/dist/elements/Modal/index.js.map +1 -1
  73. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  74. package/dist/elements/Nav/context.js.map +1 -1
  75. package/dist/elements/NavGroup/index.js.map +1 -1
  76. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  77. package/dist/elements/Pagination/Page/index.js.map +1 -1
  78. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  79. package/dist/elements/Pagination/index.js.map +1 -1
  80. package/dist/elements/PerPage/index.js.map +1 -1
  81. package/dist/elements/Pill/index.js.map +1 -1
  82. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  83. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  84. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  85. package/dist/elements/Popup/index.js.map +1 -1
  86. package/dist/elements/PreviewButton/index.js.map +1 -1
  87. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  88. package/dist/elements/PreviewSizes/index.js.map +1 -1
  89. package/dist/elements/PublishButton/index.js.map +1 -1
  90. package/dist/elements/PublishMany/index.js.map +1 -1
  91. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  92. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  93. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  94. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  95. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  96. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  97. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  98. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  99. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  100. package/dist/elements/ReactSelect/index.js.map +1 -1
  101. package/dist/elements/ReactSelect/types.d.ts +0 -1
  102. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  103. package/dist/elements/ReactSelect/types.js.map +1 -1
  104. package/dist/elements/RenderCustomClientComponent/index.js.map +1 -1
  105. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  106. package/dist/elements/RenderTitle/index.js.map +1 -1
  107. package/dist/elements/SaveButton/index.js.map +1 -1
  108. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  109. package/dist/elements/SearchFilter/index.js.map +1 -1
  110. package/dist/elements/SelectAll/index.js.map +1 -1
  111. package/dist/elements/SelectRow/index.js.map +1 -1
  112. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  113. package/dist/elements/SortColumn/index.js.map +1 -1
  114. package/dist/elements/SortComplex/index.js +2 -2
  115. package/dist/elements/SortComplex/index.js.map +1 -1
  116. package/dist/elements/Status/index.js.map +1 -1
  117. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  118. package/dist/elements/StepNav/SetStepNav.d.ts +0 -1
  119. package/dist/elements/StepNav/SetStepNav.d.ts.map +1 -1
  120. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  121. package/dist/elements/StepNav/context.js.map +1 -1
  122. package/dist/elements/StepNav/index.js.map +1 -1
  123. package/dist/elements/StepNav/types.js.map +1 -1
  124. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  125. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  126. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  127. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  128. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  129. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  130. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  131. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  132. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  133. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  134. package/dist/elements/Table/DefaultCell/fields/index.d.ts +0 -1
  135. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  136. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  137. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  138. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  139. package/dist/elements/Table/RelationshipProvider/index.js +11 -10
  140. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  141. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  142. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  143. package/dist/elements/Table/index.js.map +1 -1
  144. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  145. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  146. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  147. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  148. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  149. package/dist/elements/TableColumns/index.js.map +1 -1
  150. package/dist/elements/Thumbnail/index.js.map +1 -1
  151. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  152. package/dist/elements/Tooltip/index.js.map +1 -1
  153. package/dist/elements/Translation/index.js.map +1 -1
  154. package/dist/elements/UnpublishMany/index.js.map +1 -1
  155. package/dist/elements/Upload/index.d.ts +9 -5
  156. package/dist/elements/Upload/index.d.ts.map +1 -1
  157. package/dist/elements/Upload/index.js +53 -41
  158. package/dist/elements/Upload/index.js.map +1 -1
  159. package/dist/elements/Upload/index.scss +1 -1
  160. package/dist/elements/ViewDescription/index.js.map +1 -1
  161. package/dist/elements/ViewDescription/types.js.map +1 -1
  162. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  163. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  164. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  165. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  166. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  167. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +8 -8
  168. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  169. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  170. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  171. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  172. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  173. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  174. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  175. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  176. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  177. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  178. package/dist/elements/WhereBuilder/index.js.map +1 -1
  179. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  180. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -1
  181. package/dist/elements/WhereBuilder/types.js.map +1 -1
  182. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +1 -1
  183. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  184. package/dist/elements/WindowInfo/index.js.map +1 -1
  185. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  186. package/dist/elements/withMergedProps/index.js.map +1 -1
  187. package/dist/exports/client/index.d.ts +20 -21
  188. package/dist/exports/client/index.d.ts.map +1 -1
  189. package/dist/exports/client/index.js +6 -6
  190. package/dist/exports/client/index.js.map +4 -4
  191. package/dist/fields/Array/ArrayRow.js.map +1 -1
  192. package/dist/fields/Array/index.js.map +1 -1
  193. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  194. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  195. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  196. package/dist/fields/Blocks/RowActions.js.map +1 -1
  197. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  198. package/dist/fields/Blocks/index.js.map +1 -1
  199. package/dist/fields/Checkbox/Input.js.map +1 -1
  200. package/dist/fields/Checkbox/index.d.ts +1 -1
  201. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  202. package/dist/fields/Checkbox/index.js +2 -2
  203. package/dist/fields/Checkbox/index.js.map +1 -1
  204. package/dist/fields/Checkbox/types.js.map +1 -1
  205. package/dist/fields/Code/index.d.ts +1 -1
  206. package/dist/fields/Code/index.d.ts.map +1 -1
  207. package/dist/fields/Code/index.js +2 -2
  208. package/dist/fields/Code/index.js.map +1 -1
  209. package/dist/fields/Collapsible/index.d.ts +1 -1
  210. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  211. package/dist/fields/Collapsible/index.js +2 -2
  212. package/dist/fields/Collapsible/index.js.map +1 -1
  213. package/dist/fields/ConfirmPassword/index.d.ts +1 -1
  214. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  215. package/dist/fields/ConfirmPassword/index.js +1 -1
  216. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  217. package/dist/fields/DateTime/index.d.ts +1 -1
  218. package/dist/fields/DateTime/index.d.ts.map +1 -1
  219. package/dist/fields/DateTime/index.js +2 -2
  220. package/dist/fields/DateTime/index.js.map +1 -1
  221. package/dist/fields/Email/index.d.ts +1 -1
  222. package/dist/fields/Email/index.d.ts.map +1 -1
  223. package/dist/fields/Email/index.js +2 -2
  224. package/dist/fields/Email/index.js.map +1 -1
  225. package/dist/fields/FieldDescription/index.js.map +1 -1
  226. package/dist/fields/FieldError/index.js.map +1 -1
  227. package/dist/fields/FieldLabel/index.js.map +1 -1
  228. package/dist/fields/Group/index.d.ts +2 -1
  229. package/dist/fields/Group/index.d.ts.map +1 -1
  230. package/dist/fields/Group/index.js +2 -2
  231. package/dist/fields/Group/index.js.map +1 -1
  232. package/dist/fields/Group/provider.js.map +1 -1
  233. package/dist/fields/{HiddenInput → Hidden}/index.d.ts +1 -1
  234. package/dist/fields/Hidden/index.d.ts.map +1 -0
  235. package/dist/fields/{HiddenInput → Hidden}/index.js +2 -2
  236. package/dist/fields/Hidden/index.js.map +1 -0
  237. package/dist/fields/JSON/index.d.ts.map +1 -1
  238. package/dist/fields/JSON/index.js +2 -2
  239. package/dist/fields/JSON/index.js.map +1 -1
  240. package/dist/fields/Number/index.d.ts.map +1 -1
  241. package/dist/fields/Number/index.js +2 -2
  242. package/dist/fields/Number/index.js.map +1 -1
  243. package/dist/fields/Password/index.d.ts +1 -1
  244. package/dist/fields/Password/index.d.ts.map +1 -1
  245. package/dist/fields/Password/index.js +2 -2
  246. package/dist/fields/Password/index.js.map +1 -1
  247. package/dist/fields/Point/index.d.ts +2 -1
  248. package/dist/fields/Point/index.d.ts.map +1 -1
  249. package/dist/fields/Point/index.js +2 -2
  250. package/dist/fields/Point/index.js.map +1 -1
  251. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  252. package/dist/fields/RadioGroup/index.d.ts +1 -1
  253. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  254. package/dist/fields/RadioGroup/index.js +2 -2
  255. package/dist/fields/RadioGroup/index.js.map +1 -1
  256. package/dist/fields/Relationship/AddNew/index.js.map +1 -1
  257. package/dist/fields/Relationship/AddNew/types.js.map +1 -1
  258. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
  259. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  260. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  261. package/dist/fields/Relationship/index.d.ts +1 -1
  262. package/dist/fields/Relationship/index.d.ts.map +1 -1
  263. package/dist/fields/Relationship/index.js +2 -2
  264. package/dist/fields/Relationship/index.js.map +1 -1
  265. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  266. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  267. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  268. package/dist/fields/Relationship/types.js.map +1 -1
  269. package/dist/fields/RichText/index.d.ts +1 -1
  270. package/dist/fields/RichText/index.d.ts.map +1 -1
  271. package/dist/fields/RichText/index.js +1 -1
  272. package/dist/fields/RichText/index.js.map +1 -1
  273. package/dist/fields/Row/index.d.ts +2 -1
  274. package/dist/fields/Row/index.d.ts.map +1 -1
  275. package/dist/fields/Row/index.js +2 -2
  276. package/dist/fields/Row/index.js.map +1 -1
  277. package/dist/fields/Row/provider.js.map +1 -1
  278. package/dist/fields/Row/types.js.map +1 -1
  279. package/dist/fields/Select/Input.js.map +1 -1
  280. package/dist/fields/Select/index.d.ts +1 -1
  281. package/dist/fields/Select/index.d.ts.map +1 -1
  282. package/dist/fields/Select/index.js +6 -4
  283. package/dist/fields/Select/index.js.map +1 -1
  284. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  285. package/dist/fields/Tabs/index.d.ts +1 -1
  286. package/dist/fields/Tabs/index.d.ts.map +1 -1
  287. package/dist/fields/Tabs/index.js +2 -2
  288. package/dist/fields/Tabs/index.js.map +1 -1
  289. package/dist/fields/Tabs/provider.js.map +1 -1
  290. package/dist/fields/Text/Input.js.map +1 -1
  291. package/dist/fields/Text/index.d.ts +1 -1
  292. package/dist/fields/Text/index.d.ts.map +1 -1
  293. package/dist/fields/Text/index.js +2 -2
  294. package/dist/fields/Text/index.js.map +1 -1
  295. package/dist/fields/Text/types.js.map +1 -1
  296. package/dist/fields/Textarea/Input.js.map +1 -1
  297. package/dist/fields/Textarea/index.d.ts +1 -1
  298. package/dist/fields/Textarea/index.d.ts.map +1 -1
  299. package/dist/fields/Textarea/index.js +2 -2
  300. package/dist/fields/Textarea/index.js.map +1 -1
  301. package/dist/fields/Textarea/types.js.map +1 -1
  302. package/dist/fields/UI/index.d.ts +1 -1
  303. package/dist/fields/UI/index.d.ts.map +1 -1
  304. package/dist/fields/UI/index.js +1 -1
  305. package/dist/fields/UI/index.js.map +1 -1
  306. package/dist/fields/Upload/Input.d.ts +1 -0
  307. package/dist/fields/Upload/Input.d.ts.map +1 -1
  308. package/dist/fields/Upload/Input.js +2 -1
  309. package/dist/fields/Upload/Input.js.map +1 -1
  310. package/dist/fields/Upload/index.d.ts +1 -1
  311. package/dist/fields/Upload/index.d.ts.map +1 -1
  312. package/dist/fields/Upload/index.js +1 -1
  313. package/dist/fields/Upload/index.js.map +1 -1
  314. package/dist/fields/Upload/types.js.map +1 -1
  315. package/dist/fields/index.js +48 -48
  316. package/dist/fields/index.js.map +1 -1
  317. package/dist/fields/shared/index.d.ts +0 -1
  318. package/dist/fields/shared/index.d.ts.map +1 -1
  319. package/dist/fields/shared/index.js.map +1 -1
  320. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  321. package/dist/forms/Form/context.d.ts +0 -1
  322. package/dist/forms/Form/context.d.ts.map +1 -1
  323. package/dist/forms/Form/context.js.map +1 -1
  324. package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
  325. package/dist/forms/Form/errorMessages.js.map +1 -1
  326. package/dist/forms/Form/fieldReducer.js +2 -2
  327. package/dist/forms/Form/fieldReducer.js.map +1 -1
  328. package/dist/forms/Form/getDataByPath.d.ts.map +1 -1
  329. package/dist/forms/Form/getDataByPath.js.map +1 -1
  330. package/dist/forms/Form/getSiblingData.js.map +1 -1
  331. package/dist/forms/Form/index.js +5 -5
  332. package/dist/forms/Form/index.js.map +1 -1
  333. package/dist/forms/Form/initContextState.js.map +1 -1
  334. package/dist/forms/Form/mergeErrorPaths.js.map +1 -1
  335. package/dist/forms/Form/mergeServerFormState.js +2 -2
  336. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  337. package/dist/forms/Form/rows.js.map +1 -1
  338. package/dist/forms/Form/types.js.map +1 -1
  339. package/dist/forms/NullifyField/index.js +2 -2
  340. package/dist/forms/NullifyField/index.js.map +1 -1
  341. package/dist/forms/RenderFields/RenderField.js +2 -2
  342. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  343. package/dist/forms/RenderFields/index.js.map +1 -1
  344. package/dist/forms/RenderFields/types.js.map +1 -1
  345. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  346. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  347. package/dist/forms/RowLabel/index.js.map +1 -1
  348. package/dist/forms/RowLabel/types.js.map +1 -1
  349. package/dist/forms/Submit/index.js.map +1 -1
  350. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  351. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  352. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js.map +1 -1
  353. package/dist/forms/WatchChildErrors/getNestedFieldState.js.map +1 -1
  354. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  355. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  356. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  357. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
  358. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -1
  359. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
  360. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  361. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
  362. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  363. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  364. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts +1 -1
  365. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +1 -1
  366. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
  367. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  368. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  369. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  370. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  371. package/dist/forms/useField/index.d.ts.map +1 -1
  372. package/dist/forms/useField/index.js.map +1 -1
  373. package/dist/forms/useField/types.js.map +1 -1
  374. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  375. package/dist/forms/withCondition/index.d.ts.map +1 -1
  376. package/dist/forms/withCondition/index.js.map +1 -1
  377. package/dist/graphics/Account/Default/index.js.map +1 -1
  378. package/dist/graphics/Account/Gravatar/index.d.ts.map +1 -1
  379. package/dist/graphics/Account/Gravatar/index.js +4 -4
  380. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  381. package/dist/graphics/Account/index.js.map +1 -1
  382. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  383. package/dist/graphics/ExternalLink/index.js.map +1 -1
  384. package/dist/graphics/File/index.js.map +1 -1
  385. package/dist/graphics/Icon/index.js.map +1 -1
  386. package/dist/graphics/Logo/index.js.map +1 -1
  387. package/dist/hooks/useDebounce.js.map +1 -1
  388. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  389. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  390. package/dist/hooks/useDelay.d.ts.map +1 -1
  391. package/dist/hooks/useDelay.js.map +1 -1
  392. package/dist/hooks/useDelayedRender.js.map +1 -1
  393. package/dist/hooks/useHotkey.js.map +1 -1
  394. package/dist/hooks/useIntersect.d.ts +0 -1
  395. package/dist/hooks/useIntersect.d.ts.map +1 -1
  396. package/dist/hooks/useIntersect.js.map +1 -1
  397. package/dist/hooks/usePayloadAPI.d.ts +0 -1
  398. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  399. package/dist/hooks/usePayloadAPI.js +2 -2
  400. package/dist/hooks/usePayloadAPI.js.map +1 -1
  401. package/dist/hooks/useResize.js.map +1 -1
  402. package/dist/hooks/useThrottledEffect.d.ts +0 -1
  403. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  404. package/dist/hooks/useThrottledEffect.js.map +1 -1
  405. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  406. package/dist/hooks/useUseAsTitle.js.map +1 -1
  407. package/dist/icons/Calendar/index.js.map +1 -1
  408. package/dist/icons/Check/index.js.map +1 -1
  409. package/dist/icons/Chevron/index.js.map +1 -1
  410. package/dist/icons/CloseMenu/index.js.map +1 -1
  411. package/dist/icons/CodeBlock/index.js.map +1 -1
  412. package/dist/icons/Copy/index.js.map +1 -1
  413. package/dist/icons/DragHandle/index.js.map +1 -1
  414. package/dist/icons/Edit/index.js.map +1 -1
  415. package/dist/icons/Line/index.js.map +1 -1
  416. package/dist/icons/Link/index.js.map +1 -1
  417. package/dist/icons/LogOut/index.js.map +1 -1
  418. package/dist/icons/Menu/index.js.map +1 -1
  419. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  420. package/dist/icons/More/index.js.map +1 -1
  421. package/dist/icons/Plus/index.js.map +1 -1
  422. package/dist/icons/Search/index.js.map +1 -1
  423. package/dist/icons/Swap/index.js.map +1 -1
  424. package/dist/icons/X/index.js.map +1 -1
  425. package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
  426. package/dist/providers/Actions/index.js.map +1 -1
  427. package/dist/providers/Auth/index.d.ts +2 -0
  428. package/dist/providers/Auth/index.d.ts.map +1 -1
  429. package/dist/providers/Auth/index.js +5 -0
  430. package/dist/providers/Auth/index.js.map +1 -1
  431. package/dist/providers/ClientFunction/index.js.map +1 -1
  432. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
  433. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +1 -1
  434. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  435. package/dist/providers/ComponentMap/buildComponentMap/collections.js +5 -0
  436. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  437. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  438. package/dist/providers/ComponentMap/buildComponentMap/fields.js +2 -2
  439. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  440. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +1 -1
  441. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
  442. package/dist/providers/ComponentMap/buildComponentMap/globals.js +1 -0
  443. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  444. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +1 -1
  445. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  446. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  447. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +2 -2
  448. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  449. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  450. package/dist/providers/ComponentMap/index.js.map +1 -1
  451. package/dist/providers/Config/index.js.map +1 -1
  452. package/dist/providers/DocumentEvents/index.js.map +1 -1
  453. package/dist/providers/DocumentInfo/index.js.map +1 -1
  454. package/dist/providers/DocumentInfo/types.js.map +1 -1
  455. package/dist/providers/EditDepth/index.js.map +1 -1
  456. package/dist/providers/EntityVisibility/index.js.map +1 -1
  457. package/dist/providers/FieldComponents/index.js.map +1 -1
  458. package/dist/providers/FormQueryParams/index.d.ts.map +1 -1
  459. package/dist/providers/FormQueryParams/index.js.map +1 -1
  460. package/dist/providers/FormQueryParams/types.js.map +1 -1
  461. package/dist/providers/ListInfo/index.js.map +1 -1
  462. package/dist/providers/ListQuery/index.js.map +1 -1
  463. package/dist/providers/Locale/index.js.map +1 -1
  464. package/dist/providers/Operation/index.js.map +1 -1
  465. package/dist/providers/Params/index.js.map +1 -1
  466. package/dist/providers/Preferences/index.js +3 -3
  467. package/dist/providers/Preferences/index.js.map +1 -1
  468. package/dist/providers/Root/index.js.map +1 -1
  469. package/dist/providers/RouteCache/index.js.map +1 -1
  470. package/dist/providers/ScrollInfo/index.d.ts +0 -1
  471. package/dist/providers/ScrollInfo/index.d.ts.map +1 -1
  472. package/dist/providers/ScrollInfo/index.js.map +1 -1
  473. package/dist/providers/SearchParams/index.js.map +1 -1
  474. package/dist/providers/Selection/index.js +2 -2
  475. package/dist/providers/Selection/index.js.map +1 -1
  476. package/dist/providers/Theme/index.js.map +1 -1
  477. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  478. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  479. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  480. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  481. package/dist/providers/ToastContainer/index.js.map +1 -1
  482. package/dist/providers/Translation/index.d.ts.map +1 -1
  483. package/dist/providers/Translation/index.js.map +1 -1
  484. package/dist/providers/WindowInfo/index.d.ts +0 -1
  485. package/dist/providers/WindowInfo/index.d.ts.map +1 -1
  486. package/dist/providers/WindowInfo/index.js.map +1 -1
  487. package/dist/styles.css +1 -1
  488. package/dist/utilities/api.d.ts.map +1 -1
  489. package/dist/utilities/api.js.map +1 -1
  490. package/dist/utilities/arraysHaveSameStrings.js.map +1 -1
  491. package/dist/utilities/buildComponentMap.js.map +1 -1
  492. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  493. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  494. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  495. package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -1
  496. package/dist/utilities/buildFormState.d.ts.map +1 -1
  497. package/dist/utilities/buildFormState.js.map +1 -1
  498. package/dist/utilities/canUseDOM.js.map +1 -1
  499. package/dist/utilities/dateLocales.js.map +1 -1
  500. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  501. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  502. package/dist/utilities/flattenFieldMap.js.map +1 -1
  503. package/dist/utilities/formatDate.js.map +1 -1
  504. package/dist/utilities/formatDocTitle.d.ts +1 -1
  505. package/dist/utilities/formatDocTitle.d.ts.map +1 -1
  506. package/dist/utilities/formatDocTitle.js.map +1 -1
  507. package/dist/utilities/formatFields.js.map +1 -1
  508. package/dist/utilities/generateFieldID.js.map +1 -1
  509. package/dist/utilities/getFormState.d.ts +2 -2
  510. package/dist/utilities/getFormState.d.ts.map +1 -1
  511. package/dist/utilities/getFormState.js.map +1 -1
  512. package/dist/utilities/getOffsetTop.js.map +1 -1
  513. package/dist/utilities/getRequestLanguage.js.map +1 -1
  514. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  515. package/dist/utilities/groupNavItems.js.map +1 -1
  516. package/dist/utilities/hasSavePermission.js.map +1 -1
  517. package/dist/utilities/isEditing.js.map +1 -1
  518. package/dist/utilities/reduceFieldsToValues.js.map +1 -1
  519. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  520. package/dist/utilities/scrollToID.js.map +1 -1
  521. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  522. package/dist/utilities/setsAreEqual.js.map +1 -1
  523. package/dist/utilities/unflatten.js.map +1 -1
  524. package/package.json +7 -7
  525. package/dist/fields/HiddenInput/index.d.ts.map +0 -1
  526. package/dist/fields/HiddenInput/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/Form/rows.ts"],"sourcesContent":["import type { FormState } from 'payload'\n\ntype Result = {\n remainingFields: FormState\n rows: FormState[]\n}\n\nexport const separateRows = (path: string, fields: FormState): Result => {\n const remainingFields: FormState = {}\n\n const rows = Object.entries(fields).reduce((incomingRows, [fieldPath, field]) => {\n const newRows = incomingRows\n\n if (fieldPath.indexOf(`${path}.`) === 0) {\n const [rowIndex] = fieldPath.replace(`${path}.`, '').split('.')\n if (!newRows[rowIndex]) newRows[rowIndex] = {}\n newRows[rowIndex][fieldPath.replace(`${path}.${String(rowIndex)}.`, '')] = { ...field }\n } else {\n remainingFields[fieldPath] = field\n }\n\n return newRows\n }, [])\n\n return {\n remainingFields,\n rows,\n }\n}\n\nexport const flattenRows = (path: string, rows: FormState[]): FormState => {\n return rows.reduce(\n (fields, row, i) => ({\n ...fields,\n ...Object.entries(row).reduce((subFields, [subPath, subField]) => {\n return {\n ...subFields,\n [`${path}.${i}.${subPath}`]: { ...subField },\n }\n }, {}),\n }),\n {},\n )\n}\n"],"names":["separateRows","path","fields","remainingFields","rows","Object","entries","reduce","incomingRows","fieldPath","field","newRows","indexOf","rowIndex","replace","split","String","flattenRows","row","i","subFields","subPath","subField"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAOA,OAAO,MAAMA,eAAe,CAACC,MAAcC;IACzC,MAAMC,kBAA6B,CAAC;IAEpC,MAAMC,OAAOC,OAAOC,OAAO,CAACJ,QAAQK,MAAM,CAAC,CAACC,cAAc,CAACC,WAAWC,MAAM;QAC1E,MAAMC,UAAUH;QAEhB,IAAIC,UAAUG,OAAO,CAAC,CAAC,EAAEX,KAAK,CAAC,CAAC,MAAM,GAAG;YACvC,MAAM,CAACY,SAAS,GAAGJ,UAAUK,OAAO,CAAC,CAAC,EAAEb,KAAK,CAAC,CAAC,EAAE,IAAIc,KAAK,CAAC;YAC3D,IAAI,CAACJ,OAAO,CAACE,SAAS,EAAEF,OAAO,CAACE,SAAS,GAAG,CAAC;YAC7CF,OAAO,CAACE,SAAS,CAACJ,UAAUK,OAAO,CAAC,CAAC,EAAEb,KAAK,CAAC,EAAEe,OAAOH,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG;gBAAE,GAAGH,KAAK;YAAC;QACxF,OAAO;YACLP,eAAe,CAACM,UAAU,GAAGC;QAC/B;QAEA,OAAOC;IACT,GAAG,EAAE;IAEL,OAAO;QACLR;QACAC;IACF;AACF,EAAC;AAED,OAAO,MAAMa,cAAc,CAAChB,MAAcG;IACxC,OAAOA,KAAKG,MAAM,CAChB,CAACL,QAAQgB,KAAKC,IAAO,CAAA;YACnB,GAAGjB,MAAM;YACT,GAAGG,OAAOC,OAAO,CAACY,KAAKX,MAAM,CAAC,CAACa,WAAW,CAACC,SAASC,SAAS;gBAC3D,OAAO;oBACL,GAAGF,SAAS;oBACZ,CAAC,CAAC,EAAEnB,KAAK,CAAC,EAAEkB,EAAE,CAAC,EAAEE,QAAQ,CAAC,CAAC,EAAE;wBAAE,GAAGC,QAAQ;oBAAC;gBAC7C;YACF,GAAG,CAAC,EAAE;QACR,CAAA,GACA,CAAC;AAEL,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/Form/rows.ts"],"sourcesContent":["import type { FormState } from 'payload'\n\ntype Result = {\n remainingFields: FormState\n rows: FormState[]\n}\n\nexport const separateRows = (path: string, fields: FormState): Result => {\n const remainingFields: FormState = {}\n\n const rows = Object.entries(fields).reduce((incomingRows, [fieldPath, field]) => {\n const newRows = incomingRows\n\n if (fieldPath.indexOf(`${path}.`) === 0) {\n const [rowIndex] = fieldPath.replace(`${path}.`, '').split('.')\n if (!newRows[rowIndex]) newRows[rowIndex] = {}\n newRows[rowIndex][fieldPath.replace(`${path}.${String(rowIndex)}.`, '')] = { ...field }\n } else {\n remainingFields[fieldPath] = field\n }\n\n return newRows\n }, [])\n\n return {\n remainingFields,\n rows,\n }\n}\n\nexport const flattenRows = (path: string, rows: FormState[]): FormState => {\n return rows.reduce(\n (fields, row, i) => ({\n ...fields,\n ...Object.entries(row).reduce((subFields, [subPath, subField]) => {\n return {\n ...subFields,\n [`${path}.${i}.${subPath}`]: { ...subField },\n }\n }, {}),\n }),\n {},\n )\n}\n"],"names":["separateRows","path","fields","remainingFields","rows","Object","entries","reduce","incomingRows","fieldPath","field","newRows","indexOf","rowIndex","replace","split","String","flattenRows","row","i","subFields","subPath","subField"],"mappings":"AAOA,OAAO,MAAMA,eAAe,CAACC,MAAcC;IACzC,MAAMC,kBAA6B,CAAC;IAEpC,MAAMC,OAAOC,OAAOC,OAAO,CAACJ,QAAQK,MAAM,CAAC,CAACC,cAAc,CAACC,WAAWC,MAAM;QAC1E,MAAMC,UAAUH;QAEhB,IAAIC,UAAUG,OAAO,CAAC,CAAC,EAAEX,KAAK,CAAC,CAAC,MAAM,GAAG;YACvC,MAAM,CAACY,SAAS,GAAGJ,UAAUK,OAAO,CAAC,CAAC,EAAEb,KAAK,CAAC,CAAC,EAAE,IAAIc,KAAK,CAAC;YAC3D,IAAI,CAACJ,OAAO,CAACE,SAAS,EAAEF,OAAO,CAACE,SAAS,GAAG,CAAC;YAC7CF,OAAO,CAACE,SAAS,CAACJ,UAAUK,OAAO,CAAC,CAAC,EAAEb,KAAK,CAAC,EAAEe,OAAOH,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG;gBAAE,GAAGH,KAAK;YAAC;QACxF,OAAO;YACLP,eAAe,CAACM,UAAU,GAAGC;QAC/B;QAEA,OAAOC;IACT,GAAG,EAAE;IAEL,OAAO;QACLR;QACAC;IACF;AACF,EAAC;AAED,OAAO,MAAMa,cAAc,CAAChB,MAAcG;IACxC,OAAOA,KAAKG,MAAM,CAChB,CAACL,QAAQgB,KAAKC,IAAO,CAAA;YACnB,GAAGjB,MAAM;YACT,GAAGG,OAAOC,OAAO,CAACY,KAAKX,MAAM,CAAC,CAACa,WAAW,CAACC,SAASC,SAAS;gBAC3D,OAAO;oBACL,GAAGF,SAAS;oBACZ,CAAC,CAAC,EAAEnB,KAAK,CAAC,EAAEkB,EAAE,CAAC,EAAEE,QAAQ,CAAC,CAAC,EAAE;wBAAE,GAAGC,QAAQ;oBAAC;gBAC7C;YACF,GAAG,CAAC,EAAE;QACR,CAAA,GACA,CAAC;AAEL,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/Form/types.ts"],"sourcesContent":["import type { Data, Field, FormField, FormState, User } from 'payload'\nimport type React from 'react'\nimport type { Dispatch } from 'react'\n\nexport type Preferences = {\n [key: string]: unknown\n}\n\nexport type FormProps = (\n | {\n action: (formData: FormData) => Promise<void>\n }\n | {\n action?: string\n method?: 'DELETE' | 'GET' | 'PATCH' | 'POST'\n }\n) & {\n beforeSubmit?: ((args: { formState: FormState }) => Promise<FormState>)[]\n children?: React.ReactNode\n className?: string\n disableSuccessStatus?: boolean\n /**\n * If you would like to solely leverage server-side validation on submit,\n * you can disable checks that the form makes before it submits\n */\n disableValidationOnSubmit?: boolean\n disabled?: boolean\n /**\n * By default, the form will get the field schema (not data) from the current document. If you pass this in, you can override that behavior.\n * This is very useful for sub-forms, where the form's field schema is not necessarily the field schema of the current document (e.g. for the Blocks\n * feature of the Lexical Rich Text field)\n */\n fields?: Field[]\n handleResponse?: (\n res: Response,\n successToast: (value: string) => void,\n errorToast: (value: string) => void,\n ) => void\n initialState?: FormState\n isInitializing?: boolean\n log?: boolean\n onChange?: ((args: { formState: FormState }) => Promise<FormState>)[]\n onSubmit?: (fields: FormState, data: Data) => void\n onSuccess?: (json: unknown) => Promise<void> | void\n redirect?: string\n submitted?: boolean\n uuid?: string\n validationOperation?: 'create' | 'update'\n waitForAutocomplete?: boolean\n}\n\nexport type SubmitOptions = {\n action?: string\n method?: string\n overrides?: Record<string, unknown>\n skipValidation?: boolean\n}\n\nexport type DispatchFields = React.Dispatch<any>\nexport type Submit = (\n options?: SubmitOptions,\n e?: React.FormEvent<HTMLFormElement>,\n) => Promise<void>\nexport type ValidateForm = () => Promise<boolean>\nexport type CreateFormData = (overrides?: any) => FormData\nexport type GetFields = () => FormState\nexport type GetField = (path: string) => FormField\nexport type GetData = () => Data\nexport type GetSiblingData = (path: string) => Data\nexport type GetDataByPath = <T = unknown>(path: string) => T\nexport type SetModified = (modified: boolean) => void\nexport type SetSubmitted = (submitted: boolean) => void\nexport type SetProcessing = (processing: boolean) => void\n\nexport type Reset = (data: unknown) => Promise<void>\n\nexport type REPLACE_STATE = {\n optimize?: boolean\n state: FormState\n type: 'REPLACE_STATE'\n}\n\nexport type REMOVE = {\n path: string\n type: 'REMOVE'\n}\n\nexport type MODIFY_CONDITION = {\n path: string\n result: boolean\n type: 'MODIFY_CONDITION'\n user: User\n}\n\nexport type UPDATE = {\n path: string\n type: 'UPDATE'\n} & Partial<FormField>\n\nexport type REMOVE_ROW = {\n path: string\n rowIndex: number\n type: 'REMOVE_ROW'\n}\n\nexport type ADD_ROW = {\n blockType?: string\n path: string\n rowIndex?: number\n subFieldState?: FormState\n type: 'ADD_ROW'\n}\n\nexport type REPLACE_ROW = {\n blockType?: string\n path: string\n rowIndex: number\n subFieldState?: FormState\n type: 'REPLACE_ROW'\n}\n\nexport type DUPLICATE_ROW = {\n path: string\n rowIndex: number\n type: 'DUPLICATE_ROW'\n}\n\nexport type MOVE_ROW = {\n moveFromIndex: number\n moveToIndex: number\n path: string\n type: 'MOVE_ROW'\n}\n\nexport type ADD_SERVER_ERRORS = {\n errors: {\n field: string\n message: string\n }[]\n type: 'ADD_SERVER_ERRORS'\n}\n\nexport type SET_ROW_COLLAPSED = {\n collapsed: boolean\n path: string\n rowID: string\n setDocFieldPreferences: (field: string, fieldPreferences: { [key: string]: unknown }) => void\n type: 'SET_ROW_COLLAPSED'\n}\n\nexport type SET_ALL_ROWS_COLLAPSED = {\n collapsed: boolean\n path: string\n setDocFieldPreferences: (field: string, fieldPreferences: { [key: string]: unknown }) => void\n type: 'SET_ALL_ROWS_COLLAPSED'\n}\n\nexport type FieldAction =\n | ADD_ROW\n | ADD_SERVER_ERRORS\n | DUPLICATE_ROW\n | MODIFY_CONDITION\n | MOVE_ROW\n | REMOVE\n | REMOVE_ROW\n | REPLACE_ROW\n | REPLACE_STATE\n | SET_ALL_ROWS_COLLAPSED\n | SET_ROW_COLLAPSED\n | UPDATE\n\nexport type FormFieldsContext = [FormState, Dispatch<FieldAction>]\n\nexport type Context = {\n addFieldRow: ({\n data,\n path,\n rowIndex,\n schemaPath,\n }: {\n data?: Data\n path: string\n /*\n * by default the new row will be added to the end of the list\n */\n rowIndex?: number\n schemaPath: string\n }) => Promise<void>\n buildRowErrors: () => void\n createFormData: CreateFormData\n disabled: boolean\n dispatchFields: Dispatch<FieldAction>\n /**\n * Form context fields may be outdated and should not be relied on. Instead, prefer `useFormFields`.\n */\n fields: FormState\n formRef: React.MutableRefObject<HTMLFormElement>\n getData: GetData\n getDataByPath: GetDataByPath\n getField: GetField\n getFields: GetFields\n getSiblingData: GetSiblingData\n initializing: boolean\n removeFieldRow: ({ path, rowIndex }: { path: string; rowIndex: number }) => void\n replaceFieldRow: ({\n data,\n path,\n rowIndex,\n schemaPath,\n }: {\n data?: Data\n path: string\n rowIndex: number\n schemaPath: string\n }) => Promise<void>\n replaceState: (state: FormState) => void\n reset: Reset\n setDisabled: (disabled: boolean) => void\n setModified: SetModified\n setProcessing: SetProcessing\n setSubmitted: SetSubmitted\n submit: Submit\n uuid?: string\n validateForm: ValidateForm\n}\n"],"names":[],"rangeMappings":"","mappings":"AA6KA,WAmDC"}
1
+ {"version":3,"sources":["../../../src/forms/Form/types.ts"],"sourcesContent":["import type { Data, Field, FormField, FormState, User } from 'payload'\nimport type React from 'react'\nimport type { Dispatch } from 'react'\n\nexport type Preferences = {\n [key: string]: unknown\n}\n\nexport type FormProps = (\n | {\n action: (formData: FormData) => Promise<void>\n }\n | {\n action?: string\n method?: 'DELETE' | 'GET' | 'PATCH' | 'POST'\n }\n) & {\n beforeSubmit?: ((args: { formState: FormState }) => Promise<FormState>)[]\n children?: React.ReactNode\n className?: string\n disableSuccessStatus?: boolean\n /**\n * If you would like to solely leverage server-side validation on submit,\n * you can disable checks that the form makes before it submits\n */\n disableValidationOnSubmit?: boolean\n disabled?: boolean\n /**\n * By default, the form will get the field schema (not data) from the current document. If you pass this in, you can override that behavior.\n * This is very useful for sub-forms, where the form's field schema is not necessarily the field schema of the current document (e.g. for the Blocks\n * feature of the Lexical Rich Text field)\n */\n fields?: Field[]\n handleResponse?: (\n res: Response,\n successToast: (value: string) => void,\n errorToast: (value: string) => void,\n ) => void\n initialState?: FormState\n isInitializing?: boolean\n log?: boolean\n onChange?: ((args: { formState: FormState }) => Promise<FormState>)[]\n onSubmit?: (fields: FormState, data: Data) => void\n onSuccess?: (json: unknown) => Promise<void> | void\n redirect?: string\n submitted?: boolean\n uuid?: string\n validationOperation?: 'create' | 'update'\n waitForAutocomplete?: boolean\n}\n\nexport type SubmitOptions = {\n action?: string\n method?: string\n overrides?: Record<string, unknown>\n skipValidation?: boolean\n}\n\nexport type DispatchFields = React.Dispatch<any>\nexport type Submit = (\n options?: SubmitOptions,\n e?: React.FormEvent<HTMLFormElement>,\n) => Promise<void>\nexport type ValidateForm = () => Promise<boolean>\nexport type CreateFormData = (overrides?: any) => FormData\nexport type GetFields = () => FormState\nexport type GetField = (path: string) => FormField\nexport type GetData = () => Data\nexport type GetSiblingData = (path: string) => Data\nexport type GetDataByPath = <T = unknown>(path: string) => T\nexport type SetModified = (modified: boolean) => void\nexport type SetSubmitted = (submitted: boolean) => void\nexport type SetProcessing = (processing: boolean) => void\n\nexport type Reset = (data: unknown) => Promise<void>\n\nexport type REPLACE_STATE = {\n optimize?: boolean\n state: FormState\n type: 'REPLACE_STATE'\n}\n\nexport type REMOVE = {\n path: string\n type: 'REMOVE'\n}\n\nexport type MODIFY_CONDITION = {\n path: string\n result: boolean\n type: 'MODIFY_CONDITION'\n user: User\n}\n\nexport type UPDATE = {\n path: string\n type: 'UPDATE'\n} & Partial<FormField>\n\nexport type REMOVE_ROW = {\n path: string\n rowIndex: number\n type: 'REMOVE_ROW'\n}\n\nexport type ADD_ROW = {\n blockType?: string\n path: string\n rowIndex?: number\n subFieldState?: FormState\n type: 'ADD_ROW'\n}\n\nexport type REPLACE_ROW = {\n blockType?: string\n path: string\n rowIndex: number\n subFieldState?: FormState\n type: 'REPLACE_ROW'\n}\n\nexport type DUPLICATE_ROW = {\n path: string\n rowIndex: number\n type: 'DUPLICATE_ROW'\n}\n\nexport type MOVE_ROW = {\n moveFromIndex: number\n moveToIndex: number\n path: string\n type: 'MOVE_ROW'\n}\n\nexport type ADD_SERVER_ERRORS = {\n errors: {\n field: string\n message: string\n }[]\n type: 'ADD_SERVER_ERRORS'\n}\n\nexport type SET_ROW_COLLAPSED = {\n collapsed: boolean\n path: string\n rowID: string\n setDocFieldPreferences: (field: string, fieldPreferences: { [key: string]: unknown }) => void\n type: 'SET_ROW_COLLAPSED'\n}\n\nexport type SET_ALL_ROWS_COLLAPSED = {\n collapsed: boolean\n path: string\n setDocFieldPreferences: (field: string, fieldPreferences: { [key: string]: unknown }) => void\n type: 'SET_ALL_ROWS_COLLAPSED'\n}\n\nexport type FieldAction =\n | ADD_ROW\n | ADD_SERVER_ERRORS\n | DUPLICATE_ROW\n | MODIFY_CONDITION\n | MOVE_ROW\n | REMOVE\n | REMOVE_ROW\n | REPLACE_ROW\n | REPLACE_STATE\n | SET_ALL_ROWS_COLLAPSED\n | SET_ROW_COLLAPSED\n | UPDATE\n\nexport type FormFieldsContext = [FormState, Dispatch<FieldAction>]\n\nexport type Context = {\n addFieldRow: ({\n data,\n path,\n rowIndex,\n schemaPath,\n }: {\n data?: Data\n path: string\n /*\n * by default the new row will be added to the end of the list\n */\n rowIndex?: number\n schemaPath: string\n }) => Promise<void>\n buildRowErrors: () => void\n createFormData: CreateFormData\n disabled: boolean\n dispatchFields: Dispatch<FieldAction>\n /**\n * Form context fields may be outdated and should not be relied on. Instead, prefer `useFormFields`.\n */\n fields: FormState\n formRef: React.MutableRefObject<HTMLFormElement>\n getData: GetData\n getDataByPath: GetDataByPath\n getField: GetField\n getFields: GetFields\n getSiblingData: GetSiblingData\n initializing: boolean\n removeFieldRow: ({ path, rowIndex }: { path: string; rowIndex: number }) => void\n replaceFieldRow: ({\n data,\n path,\n rowIndex,\n schemaPath,\n }: {\n data?: Data\n path: string\n rowIndex: number\n schemaPath: string\n }) => Promise<void>\n replaceState: (state: FormState) => void\n reset: Reset\n setDisabled: (disabled: boolean) => void\n setModified: SetModified\n setProcessing: SetProcessing\n setSubmitted: SetSubmitted\n submit: Submit\n uuid?: string\n validateForm: ValidateForm\n}\n"],"names":[],"mappings":"AA6KA,WAmDC"}
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import * as React from 'react';
4
4
  import { Banner } from '../../elements/Banner/index.js';
5
- import { Checkbox } from '../../fields/Checkbox/index.js';
5
+ import { CheckboxField } from '../../fields/Checkbox/index.js';
6
6
  import { useConfig } from '../../providers/Config/index.js';
7
7
  import { useLocale } from '../../providers/Locale/index.js';
8
8
  import { useTranslation } from '../../providers/Translation/index.js';
@@ -39,7 +39,7 @@ export const NullifyLocaleField = ({ fieldValue, localized, path })=>{
39
39
  }
40
40
  }
41
41
  return /*#__PURE__*/ _jsx(Banner, {
42
- children: /*#__PURE__*/ _jsx(Checkbox, {
42
+ children: /*#__PURE__*/ _jsx(CheckboxField, {
43
43
  checked: checked,
44
44
  id: `field-${path.replace(/\./g, '__')}`,
45
45
  label: t('general:fallbackToDefaultLocale')
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/NullifyField/index.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Checkbox } from '../../fields/Checkbox/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useForm } from '../Form/context.js'\n\ntype NullifyLocaleFieldProps = {\n fieldValue?: [] | null | number\n localized: boolean\n path: string\n}\n\nexport const NullifyLocaleField: React.FC<NullifyLocaleFieldProps> = ({\n fieldValue,\n localized,\n path,\n}) => {\n const { dispatchFields, setModified } = useForm()\n const { code: currentLocale } = useLocale()\n const { localization } = useConfig()\n const [checked, setChecked] = React.useState<boolean>(typeof fieldValue !== 'number')\n const defaultLocale =\n localization && localization.defaultLocale ? localization.defaultLocale : 'en'\n const { t } = useTranslation()\n\n const onChange = () => {\n const useFallback = !checked\n\n dispatchFields({\n type: 'UPDATE',\n path,\n value: useFallback ? null : fieldValue || 0,\n })\n setModified(true)\n setChecked(useFallback)\n }\n\n if (!localized || currentLocale === defaultLocale || (localization && !localization.fallback)) {\n // hide when field is not localized or editing default locale or when fallback is disabled\n return null\n }\n\n if (fieldValue) {\n let hideCheckbox = false\n if (typeof fieldValue === 'number' && fieldValue > 0) hideCheckbox = true\n if (Array.isArray(fieldValue) && fieldValue.length > 0) hideCheckbox = true\n\n if (hideCheckbox) {\n if (checked) setChecked(false) // uncheck when field has value\n return null\n }\n }\n\n return (\n <Banner>\n <Checkbox\n checked={checked}\n id={`field-${path.replace(/\\./g, '__')}`}\n label={t('general:fallbackToDefaultLocale')}\n // onToggle={onChange}\n />\n </Banner>\n )\n}\n"],"names":["React","Banner","Checkbox","useConfig","useLocale","useTranslation","useForm","NullifyLocaleField","fieldValue","localized","path","dispatchFields","setModified","code","currentLocale","localization","checked","setChecked","useState","defaultLocale","t","onChange","useFallback","type","value","fallback","hideCheckbox","Array","isArray","length","id","replace","label"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAO;AAE9B,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,QAAQ,QAAQ,iCAAgC;AACzD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,OAAO,QAAQ,qBAAoB;AAQ5C,OAAO,MAAMC,qBAAwD,CAAC,EACpEC,UAAU,EACVC,SAAS,EACTC,IAAI,EACL;IACC,MAAM,EAAEC,cAAc,EAAEC,WAAW,EAAE,GAAGN;IACxC,MAAM,EAAEO,MAAMC,aAAa,EAAE,GAAGV;IAChC,MAAM,EAAEW,YAAY,EAAE,GAAGZ;IACzB,MAAM,CAACa,SAASC,WAAW,GAAGjB,MAAMkB,QAAQ,CAAU,OAAOV,eAAe;IAC5E,MAAMW,gBACJJ,gBAAgBA,aAAaI,aAAa,GAAGJ,aAAaI,aAAa,GAAG;IAC5E,MAAM,EAAEC,CAAC,EAAE,GAAGf;IAEd,MAAMgB,WAAW;QACf,MAAMC,cAAc,CAACN;QAErBL,eAAe;YACbY,MAAM;YACNb;YACAc,OAAOF,cAAc,OAAOd,cAAc;QAC5C;QACAI,YAAY;QACZK,WAAWK;IACb;IAEA,IAAI,CAACb,aAAaK,kBAAkBK,iBAAkBJ,gBAAgB,CAACA,aAAaU,QAAQ,EAAG;QAC7F,0FAA0F;QAC1F,OAAO;IACT;IAEA,IAAIjB,YAAY;QACd,IAAIkB,eAAe;QACnB,IAAI,OAAOlB,eAAe,YAAYA,aAAa,GAAGkB,eAAe;QACrE,IAAIC,MAAMC,OAAO,CAACpB,eAAeA,WAAWqB,MAAM,GAAG,GAAGH,eAAe;QAEvE,IAAIA,cAAc;YAChB,IAAIV,SAASC,WAAW,OAAO,+BAA+B;;YAC9D,OAAO;QACT;IACF;IAEA,qBACE,KAAChB;kBACC,cAAA,KAACC;YACCc,SAASA;YACTc,IAAI,CAAC,MAAM,EAAEpB,KAAKqB,OAAO,CAAC,OAAO,MAAM,CAAC;YACxCC,OAAOZ,EAAE;;;AAKjB,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/NullifyField/index.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useForm } from '../Form/context.js'\n\ntype NullifyLocaleFieldProps = {\n fieldValue?: [] | null | number\n localized: boolean\n path: string\n}\n\nexport const NullifyLocaleField: React.FC<NullifyLocaleFieldProps> = ({\n fieldValue,\n localized,\n path,\n}) => {\n const { dispatchFields, setModified } = useForm()\n const { code: currentLocale } = useLocale()\n const { localization } = useConfig()\n const [checked, setChecked] = React.useState<boolean>(typeof fieldValue !== 'number')\n const defaultLocale =\n localization && localization.defaultLocale ? localization.defaultLocale : 'en'\n const { t } = useTranslation()\n\n const onChange = () => {\n const useFallback = !checked\n\n dispatchFields({\n type: 'UPDATE',\n path,\n value: useFallback ? null : fieldValue || 0,\n })\n setModified(true)\n setChecked(useFallback)\n }\n\n if (!localized || currentLocale === defaultLocale || (localization && !localization.fallback)) {\n // hide when field is not localized or editing default locale or when fallback is disabled\n return null\n }\n\n if (fieldValue) {\n let hideCheckbox = false\n if (typeof fieldValue === 'number' && fieldValue > 0) hideCheckbox = true\n if (Array.isArray(fieldValue) && fieldValue.length > 0) hideCheckbox = true\n\n if (hideCheckbox) {\n if (checked) setChecked(false) // uncheck when field has value\n return null\n }\n }\n\n return (\n <Banner>\n <CheckboxField\n checked={checked}\n id={`field-${path.replace(/\\./g, '__')}`}\n label={t('general:fallbackToDefaultLocale')}\n // onToggle={onChange}\n />\n </Banner>\n )\n}\n"],"names":["React","Banner","CheckboxField","useConfig","useLocale","useTranslation","useForm","NullifyLocaleField","fieldValue","localized","path","dispatchFields","setModified","code","currentLocale","localization","checked","setChecked","useState","defaultLocale","t","onChange","useFallback","type","value","fallback","hideCheckbox","Array","isArray","length","id","replace","label"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAO;AAE9B,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,aAAa,QAAQ,iCAAgC;AAC9D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,OAAO,QAAQ,qBAAoB;AAQ5C,OAAO,MAAMC,qBAAwD,CAAC,EACpEC,UAAU,EACVC,SAAS,EACTC,IAAI,EACL;IACC,MAAM,EAAEC,cAAc,EAAEC,WAAW,EAAE,GAAGN;IACxC,MAAM,EAAEO,MAAMC,aAAa,EAAE,GAAGV;IAChC,MAAM,EAAEW,YAAY,EAAE,GAAGZ;IACzB,MAAM,CAACa,SAASC,WAAW,GAAGjB,MAAMkB,QAAQ,CAAU,OAAOV,eAAe;IAC5E,MAAMW,gBACJJ,gBAAgBA,aAAaI,aAAa,GAAGJ,aAAaI,aAAa,GAAG;IAC5E,MAAM,EAAEC,CAAC,EAAE,GAAGf;IAEd,MAAMgB,WAAW;QACf,MAAMC,cAAc,CAACN;QAErBL,eAAe;YACbY,MAAM;YACNb;YACAc,OAAOF,cAAc,OAAOd,cAAc;QAC5C;QACAI,YAAY;QACZK,WAAWK;IACb;IAEA,IAAI,CAACb,aAAaK,kBAAkBK,iBAAkBJ,gBAAgB,CAACA,aAAaU,QAAQ,EAAG;QAC7F,0FAA0F;QAC1F,OAAO;IACT;IAEA,IAAIjB,YAAY;QACd,IAAIkB,eAAe;QACnB,IAAI,OAAOlB,eAAe,YAAYA,aAAa,GAAGkB,eAAe;QACrE,IAAIC,MAAMC,OAAO,CAACpB,eAAeA,WAAWqB,MAAM,GAAG,GAAGH,eAAe;QAEvE,IAAIA,cAAc;YAChB,IAAIV,SAASC,WAAW,OAAO,+BAA+B;;YAC9D,OAAO;QACT;IACF;IAEA,qBACE,KAAChB;kBACC,cAAA,KAACC;YACCc,SAASA;YACTc,IAAI,CAAC,MAAM,EAAEpB,KAAKqB,OAAO,CAAC,OAAO,MAAM,CAAC;YACxCC,OAAOZ,EAAE;;;AAKjB,EAAC"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import React from 'react';
4
- import { HiddenInput } from '../../fields/HiddenInput/index.js';
4
+ import { HiddenField } from '../../fields/Hidden/index.js';
5
5
  import { useFieldComponents } from '../../providers/FieldComponents/index.js';
6
6
  import { useOperation } from '../../providers/Operation/index.js';
7
7
  import { FieldPropsProvider, useFieldProps } from '../FieldPropsProvider/index.js';
@@ -30,7 +30,7 @@ export const RenderField = ({ name, type, CustomField, custom, disabled, fieldCo
30
30
  if (permissions?.[operation]?.permission === false) {
31
31
  readOnly = true;
32
32
  }
33
- const DefaultField = isHidden ? HiddenInput : fieldComponents[type];
33
+ const DefaultField = isHidden ? HiddenField : fieldComponents[type];
34
34
  if (CustomField === undefined && !DefaultField) {
35
35
  return null;
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/RenderFields/RenderField.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldPermissions, FieldTypes } from 'payload'\n\nimport React from 'react'\n\nimport type {\n FieldComponentProps,\n MappedField,\n} from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nimport { HiddenInput } from '../../fields/HiddenInput/index.js'\nimport { useFieldComponents } from '../../providers/FieldComponents/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { FieldPropsProvider, useFieldProps } from '../FieldPropsProvider/index.js'\n\ntype Props = {\n CustomField: MappedField['CustomField']\n custom?: Record<any, string>\n disabled: boolean\n fieldComponentProps?: FieldComponentProps\n indexPath?: string\n isHidden?: boolean\n name?: string\n path: string\n permissions?: FieldPermissions\n readOnly?: boolean\n schemaPath: string\n siblingPermissions: {\n [fieldName: string]: FieldPermissions\n }\n type: keyof FieldTypes\n}\n\nexport const RenderField: React.FC<Props> = ({\n name,\n type,\n CustomField,\n custom,\n disabled,\n fieldComponentProps,\n indexPath,\n isHidden,\n path: pathFromProps,\n permissions,\n readOnly: readOnlyFromProps,\n schemaPath: schemaPathFromProps,\n siblingPermissions,\n}) => {\n const operation = useOperation()\n const { readOnly: readOnlyFromContext } = useFieldProps()\n const fieldComponents = useFieldComponents()\n\n const path = [pathFromProps, name].filter(Boolean).join('.')\n const schemaPath = [schemaPathFromProps, name].filter(Boolean).join('.')\n\n // if the user cannot read the field, then filter it out\n // this is different from `admin.readOnly` which is executed based on `operation`\n if (permissions?.read?.permission === false || disabled) {\n return null\n }\n\n // `admin.readOnly` displays the value but prevents the field from being edited\n let readOnly = readOnlyFromProps\n\n // if parent field is `readOnly: true`, but this field is `readOnly: false`, the field should still be editable\n if (readOnlyFromContext && readOnly !== false) readOnly = true\n\n // if the user does not have access control to begin with, force it to be read-only\n if (permissions?.[operation]?.permission === false) {\n readOnly = true\n }\n\n const DefaultField = isHidden ? HiddenInput : fieldComponents[type]\n\n if (CustomField === undefined && !DefaultField) {\n return null\n }\n\n return (\n <FieldPropsProvider\n custom={custom}\n indexPath={indexPath}\n path={path}\n permissions={permissions}\n readOnly={readOnly}\n schemaPath={schemaPath}\n siblingPermissions={siblingPermissions}\n type={type}\n >\n {CustomField !== undefined ? CustomField : <DefaultField {...fieldComponentProps} />}\n </FieldPropsProvider>\n )\n}\n"],"names":["React","HiddenInput","useFieldComponents","useOperation","FieldPropsProvider","useFieldProps","RenderField","name","type","CustomField","custom","disabled","fieldComponentProps","indexPath","isHidden","path","pathFromProps","permissions","readOnly","readOnlyFromProps","schemaPath","schemaPathFromProps","siblingPermissions","operation","readOnlyFromContext","fieldComponents","filter","Boolean","join","read","permission","DefaultField","undefined"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAIA,OAAOA,WAAW,QAAO;AAOzB,SAASC,WAAW,QAAQ,oCAAmC;AAC/D,SAASC,kBAAkB,QAAQ,2CAA0C;AAC7E,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,kBAAkB,EAAEC,aAAa,QAAQ,iCAAgC;AAoBlF,OAAO,MAAMC,cAA+B,CAAC,EAC3CC,IAAI,EACJC,IAAI,EACJC,WAAW,EACXC,MAAM,EACNC,QAAQ,EACRC,mBAAmB,EACnBC,SAAS,EACTC,QAAQ,EACRC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,YAAYC,mBAAmB,EAC/BC,kBAAkB,EACnB;IACC,MAAMC,YAAYpB;IAClB,MAAM,EAAEe,UAAUM,mBAAmB,EAAE,GAAGnB;IAC1C,MAAMoB,kBAAkBvB;IAExB,MAAMa,OAAO;QAACC;QAAeT;KAAK,CAACmB,MAAM,CAACC,SAASC,IAAI,CAAC;IACxD,MAAMR,aAAa;QAACC;QAAqBd;KAAK,CAACmB,MAAM,CAACC,SAASC,IAAI,CAAC;IAEpE,wDAAwD;IACxD,iFAAiF;IACjF,IAAIX,aAAaY,MAAMC,eAAe,SAASnB,UAAU;QACvD,OAAO;IACT;IAEA,+EAA+E;IAC/E,IAAIO,WAAWC;IAEf,+GAA+G;IAC/G,IAAIK,uBAAuBN,aAAa,OAAOA,WAAW;IAE1D,mFAAmF;IACnF,IAAID,aAAa,CAACM,UAAU,EAAEO,eAAe,OAAO;QAClDZ,WAAW;IACb;IAEA,MAAMa,eAAejB,WAAWb,cAAcwB,eAAe,CAACjB,KAAK;IAEnE,IAAIC,gBAAgBuB,aAAa,CAACD,cAAc;QAC9C,OAAO;IACT;IAEA,qBACE,KAAC3B;QACCM,QAAQA;QACRG,WAAWA;QACXE,MAAMA;QACNE,aAAaA;QACbC,UAAUA;QACVE,YAAYA;QACZE,oBAAoBA;QACpBd,MAAMA;kBAELC,gBAAgBuB,YAAYvB,4BAAc,KAACsB;YAAc,GAAGnB,mBAAmB;;;AAGtF,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/RenderFields/RenderField.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldPermissions, FieldTypes } from 'payload'\n\nimport React from 'react'\n\nimport type {\n FieldComponentProps,\n MappedField,\n} from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nimport { HiddenField } from '../../fields/Hidden/index.js'\nimport { useFieldComponents } from '../../providers/FieldComponents/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { FieldPropsProvider, useFieldProps } from '../FieldPropsProvider/index.js'\n\ntype Props = {\n CustomField: MappedField['CustomField']\n custom?: Record<any, string>\n disabled: boolean\n fieldComponentProps?: FieldComponentProps\n indexPath?: string\n isHidden?: boolean\n name?: string\n path: string\n permissions?: FieldPermissions\n readOnly?: boolean\n schemaPath: string\n siblingPermissions: {\n [fieldName: string]: FieldPermissions\n }\n type: keyof FieldTypes\n}\n\nexport const RenderField: React.FC<Props> = ({\n name,\n type,\n CustomField,\n custom,\n disabled,\n fieldComponentProps,\n indexPath,\n isHidden,\n path: pathFromProps,\n permissions,\n readOnly: readOnlyFromProps,\n schemaPath: schemaPathFromProps,\n siblingPermissions,\n}) => {\n const operation = useOperation()\n const { readOnly: readOnlyFromContext } = useFieldProps()\n const fieldComponents = useFieldComponents()\n\n const path = [pathFromProps, name].filter(Boolean).join('.')\n const schemaPath = [schemaPathFromProps, name].filter(Boolean).join('.')\n\n // if the user cannot read the field, then filter it out\n // this is different from `admin.readOnly` which is executed based on `operation`\n if (permissions?.read?.permission === false || disabled) {\n return null\n }\n\n // `admin.readOnly` displays the value but prevents the field from being edited\n let readOnly = readOnlyFromProps\n\n // if parent field is `readOnly: true`, but this field is `readOnly: false`, the field should still be editable\n if (readOnlyFromContext && readOnly !== false) readOnly = true\n\n // if the user does not have access control to begin with, force it to be read-only\n if (permissions?.[operation]?.permission === false) {\n readOnly = true\n }\n\n const DefaultField = isHidden ? HiddenField : fieldComponents[type]\n\n if (CustomField === undefined && !DefaultField) {\n return null\n }\n\n return (\n <FieldPropsProvider\n custom={custom}\n indexPath={indexPath}\n path={path}\n permissions={permissions}\n readOnly={readOnly}\n schemaPath={schemaPath}\n siblingPermissions={siblingPermissions}\n type={type}\n >\n {CustomField !== undefined ? CustomField : <DefaultField {...fieldComponentProps} />}\n </FieldPropsProvider>\n )\n}\n"],"names":["React","HiddenField","useFieldComponents","useOperation","FieldPropsProvider","useFieldProps","RenderField","name","type","CustomField","custom","disabled","fieldComponentProps","indexPath","isHidden","path","pathFromProps","permissions","readOnly","readOnlyFromProps","schemaPath","schemaPathFromProps","siblingPermissions","operation","readOnlyFromContext","fieldComponents","filter","Boolean","join","read","permission","DefaultField","undefined"],"mappings":"AAAA;;AAIA,OAAOA,WAAW,QAAO;AAOzB,SAASC,WAAW,QAAQ,+BAA8B;AAC1D,SAASC,kBAAkB,QAAQ,2CAA0C;AAC7E,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,kBAAkB,EAAEC,aAAa,QAAQ,iCAAgC;AAoBlF,OAAO,MAAMC,cAA+B,CAAC,EAC3CC,IAAI,EACJC,IAAI,EACJC,WAAW,EACXC,MAAM,EACNC,QAAQ,EACRC,mBAAmB,EACnBC,SAAS,EACTC,QAAQ,EACRC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,YAAYC,mBAAmB,EAC/BC,kBAAkB,EACnB;IACC,MAAMC,YAAYpB;IAClB,MAAM,EAAEe,UAAUM,mBAAmB,EAAE,GAAGnB;IAC1C,MAAMoB,kBAAkBvB;IAExB,MAAMa,OAAO;QAACC;QAAeT;KAAK,CAACmB,MAAM,CAACC,SAASC,IAAI,CAAC;IACxD,MAAMR,aAAa;QAACC;QAAqBd;KAAK,CAACmB,MAAM,CAACC,SAASC,IAAI,CAAC;IAEpE,wDAAwD;IACxD,iFAAiF;IACjF,IAAIX,aAAaY,MAAMC,eAAe,SAASnB,UAAU;QACvD,OAAO;IACT;IAEA,+EAA+E;IAC/E,IAAIO,WAAWC;IAEf,+GAA+G;IAC/G,IAAIK,uBAAuBN,aAAa,OAAOA,WAAW;IAE1D,mFAAmF;IACnF,IAAID,aAAa,CAACM,UAAU,EAAEO,eAAe,OAAO;QAClDZ,WAAW;IACb;IAEA,MAAMa,eAAejB,WAAWb,cAAcwB,eAAe,CAACjB,KAAK;IAEnE,IAAIC,gBAAgBuB,aAAa,CAACD,cAAc;QAC9C,OAAO;IACT;IAEA,qBACE,KAAC3B;QACCM,QAAQA;QACRG,WAAWA;QACXE,MAAMA;QACNE,aAAaA;QACbC,UAAUA;QACVE,YAAYA;QACZE,oBAAoBA;QACpBd,MAAMA;kBAELC,gBAAgBuB,YAAYvB,4BAAc,KAACsB;YAAc,GAAGnB,mBAAmB;;;AAGtF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/RenderFields/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { RenderField } from './RenderField.js'\nimport './index.scss'\n\nconst baseClass = 'render-fields'\n\nexport { Props }\n\nexport const RenderFields: React.FC<Props> = (props) => {\n const { className, fieldMap, forceRender, indexPath, margins, path, permissions, schemaPath } =\n props\n\n const { i18n } = useTranslation()\n const [hasRendered, setHasRendered] = React.useState(Boolean(forceRender))\n const [intersectionRef, entry] = useIntersect(\n {\n rootMargin: '1000px',\n },\n Boolean(forceRender),\n )\n\n const isIntersecting = Boolean(entry?.isIntersecting)\n const isAboveViewport = entry?.boundingClientRect?.top < 0\n const shouldRender = forceRender || isIntersecting || isAboveViewport\n\n React.useEffect(() => {\n if (shouldRender && !hasRendered) {\n setHasRendered(true)\n }\n }, [shouldRender, hasRendered])\n\n if (!fieldMap || (Array.isArray(fieldMap) && fieldMap.length === 0)) {\n return null\n }\n\n if (!i18n) {\n console.error('Need to implement i18n when calling RenderFields') // eslint-disable-line no-console\n }\n\n if (fieldMap) {\n return (\n <div\n className={[\n baseClass,\n className,\n margins && `${baseClass}--margins-${margins}`,\n margins === false && `${baseClass}--margins-none`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={intersectionRef}\n >\n {hasRendered &&\n fieldMap?.map((f, fieldIndex) => {\n const {\n type,\n CustomField,\n custom,\n disabled,\n fieldComponentProps,\n fieldComponentProps: { readOnly },\n isHidden,\n } = f\n\n const forceRenderChildren =\n (typeof forceRender === 'number' && fieldIndex <= forceRender) || true\n\n const name = 'name' in f ? f.name : undefined\n\n return (\n <RenderField\n CustomField={CustomField}\n custom={custom}\n disabled={disabled}\n fieldComponentProps={{ ...fieldComponentProps, forceRender: forceRenderChildren }}\n indexPath={indexPath !== undefined ? `${indexPath}.${fieldIndex}` : `${fieldIndex}`}\n isHidden={isHidden}\n key={fieldIndex}\n name={name}\n path={path}\n permissions={permissions?.[name]}\n readOnly={readOnly}\n schemaPath={schemaPath}\n siblingPermissions={permissions}\n type={type}\n />\n )\n })}\n </div>\n )\n }\n\n return null\n}\n"],"names":["React","useIntersect","useTranslation","RenderField","baseClass","RenderFields","props","className","fieldMap","forceRender","indexPath","margins","path","permissions","schemaPath","i18n","hasRendered","setHasRendered","useState","Boolean","intersectionRef","entry","rootMargin","isIntersecting","isAboveViewport","boundingClientRect","top","shouldRender","useEffect","Array","isArray","length","console","error","div","filter","join","ref","map","f","fieldIndex","type","CustomField","custom","disabled","fieldComponentProps","readOnly","isHidden","forceRenderChildren","name","undefined","siblingPermissions"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAIzB,SAASC,YAAY,QAAQ,8BAA6B;AAC1D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,WAAW,QAAQ,mBAAkB;AAC9C,OAAO,eAAc;AAErB,MAAMC,YAAY;AAIlB,OAAO,MAAMC,eAAgC,CAACC;IAC5C,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAE,GAC3FR;IAEF,MAAM,EAAES,IAAI,EAAE,GAAGb;IACjB,MAAM,CAACc,aAAaC,eAAe,GAAGjB,MAAMkB,QAAQ,CAACC,QAAQV;IAC7D,MAAM,CAACW,iBAAiBC,MAAM,GAAGpB,aAC/B;QACEqB,YAAY;IACd,GACAH,QAAQV;IAGV,MAAMc,iBAAiBJ,QAAQE,OAAOE;IACtC,MAAMC,kBAAkBH,OAAOI,oBAAoBC,MAAM;IACzD,MAAMC,eAAelB,eAAec,kBAAkBC;IAEtDxB,MAAM4B,SAAS,CAAC;QACd,IAAID,gBAAgB,CAACX,aAAa;YAChCC,eAAe;QACjB;IACF,GAAG;QAACU;QAAcX;KAAY;IAE9B,IAAI,CAACR,YAAaqB,MAAMC,OAAO,CAACtB,aAAaA,SAASuB,MAAM,KAAK,GAAI;QACnE,OAAO;IACT;IAEA,IAAI,CAAChB,MAAM;QACTiB,QAAQC,KAAK,CAAC,oDAAoD,iCAAiC;;IACrG;IAEA,IAAIzB,UAAU;QACZ,qBACE,KAAC0B;YACC3B,WAAW;gBACTH;gBACAG;gBACAI,WAAW,CAAC,EAAEP,UAAU,UAAU,EAAEO,QAAQ,CAAC;gBAC7CA,YAAY,SAAS,CAAC,EAAEP,UAAU,cAAc,CAAC;aAClD,CACE+B,MAAM,CAAChB,SACPiB,IAAI,CAAC;YACRC,KAAKjB;sBAEJJ,eACCR,UAAU8B,IAAI,CAACC,GAAGC;gBAChB,MAAM,EACJC,IAAI,EACJC,WAAW,EACXC,MAAM,EACNC,QAAQ,EACRC,mBAAmB,EACnBA,qBAAqB,EAAEC,QAAQ,EAAE,EACjCC,QAAQ,EACT,GAAGR;gBAEJ,MAAMS,sBACJ,AAAC,OAAOvC,gBAAgB,YAAY+B,cAAc/B,eAAgB;gBAEpE,MAAMwC,OAAO,UAAUV,IAAIA,EAAEU,IAAI,GAAGC;gBAEpC,qBACE,KAAC/C;oBACCuC,aAAaA;oBACbC,QAAQA;oBACRC,UAAUA;oBACVC,qBAAqB;wBAAE,GAAGA,mBAAmB;wBAAEpC,aAAauC;oBAAoB;oBAChFtC,WAAWA,cAAcwC,YAAY,CAAC,EAAExC,UAAU,CAAC,EAAE8B,WAAW,CAAC,GAAG,CAAC,EAAEA,WAAW,CAAC;oBACnFO,UAAUA;oBAEVE,MAAMA;oBACNrC,MAAMA;oBACNC,aAAaA,aAAa,CAACoC,KAAK;oBAChCH,UAAUA;oBACVhC,YAAYA;oBACZqC,oBAAoBtC;oBACpB4B,MAAMA;mBAPDD;YAUX;;IAGR;IAEA,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/RenderFields/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { RenderField } from './RenderField.js'\nimport './index.scss'\n\nconst baseClass = 'render-fields'\n\nexport { Props }\n\nexport const RenderFields: React.FC<Props> = (props) => {\n const { className, fieldMap, forceRender, indexPath, margins, path, permissions, schemaPath } =\n props\n\n const { i18n } = useTranslation()\n const [hasRendered, setHasRendered] = React.useState(Boolean(forceRender))\n const [intersectionRef, entry] = useIntersect(\n {\n rootMargin: '1000px',\n },\n Boolean(forceRender),\n )\n\n const isIntersecting = Boolean(entry?.isIntersecting)\n const isAboveViewport = entry?.boundingClientRect?.top < 0\n const shouldRender = forceRender || isIntersecting || isAboveViewport\n\n React.useEffect(() => {\n if (shouldRender && !hasRendered) {\n setHasRendered(true)\n }\n }, [shouldRender, hasRendered])\n\n if (!fieldMap || (Array.isArray(fieldMap) && fieldMap.length === 0)) {\n return null\n }\n\n if (!i18n) {\n console.error('Need to implement i18n when calling RenderFields') // eslint-disable-line no-console\n }\n\n if (fieldMap) {\n return (\n <div\n className={[\n baseClass,\n className,\n margins && `${baseClass}--margins-${margins}`,\n margins === false && `${baseClass}--margins-none`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={intersectionRef}\n >\n {hasRendered &&\n fieldMap?.map((f, fieldIndex) => {\n const {\n type,\n CustomField,\n custom,\n disabled,\n fieldComponentProps,\n fieldComponentProps: { readOnly },\n isHidden,\n } = f\n\n const forceRenderChildren =\n (typeof forceRender === 'number' && fieldIndex <= forceRender) || true\n\n const name = 'name' in f ? f.name : undefined\n\n return (\n <RenderField\n CustomField={CustomField}\n custom={custom}\n disabled={disabled}\n fieldComponentProps={{ ...fieldComponentProps, forceRender: forceRenderChildren }}\n indexPath={indexPath !== undefined ? `${indexPath}.${fieldIndex}` : `${fieldIndex}`}\n isHidden={isHidden}\n key={fieldIndex}\n name={name}\n path={path}\n permissions={permissions?.[name]}\n readOnly={readOnly}\n schemaPath={schemaPath}\n siblingPermissions={permissions}\n type={type}\n />\n )\n })}\n </div>\n )\n }\n\n return null\n}\n"],"names":["React","useIntersect","useTranslation","RenderField","baseClass","RenderFields","props","className","fieldMap","forceRender","indexPath","margins","path","permissions","schemaPath","i18n","hasRendered","setHasRendered","useState","Boolean","intersectionRef","entry","rootMargin","isIntersecting","isAboveViewport","boundingClientRect","top","shouldRender","useEffect","Array","isArray","length","console","error","div","filter","join","ref","map","f","fieldIndex","type","CustomField","custom","disabled","fieldComponentProps","readOnly","isHidden","forceRenderChildren","name","undefined","siblingPermissions"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAIzB,SAASC,YAAY,QAAQ,8BAA6B;AAC1D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,WAAW,QAAQ,mBAAkB;AAC9C,OAAO,eAAc;AAErB,MAAMC,YAAY;AAIlB,OAAO,MAAMC,eAAgC,CAACC;IAC5C,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAE,GAC3FR;IAEF,MAAM,EAAES,IAAI,EAAE,GAAGb;IACjB,MAAM,CAACc,aAAaC,eAAe,GAAGjB,MAAMkB,QAAQ,CAACC,QAAQV;IAC7D,MAAM,CAACW,iBAAiBC,MAAM,GAAGpB,aAC/B;QACEqB,YAAY;IACd,GACAH,QAAQV;IAGV,MAAMc,iBAAiBJ,QAAQE,OAAOE;IACtC,MAAMC,kBAAkBH,OAAOI,oBAAoBC,MAAM;IACzD,MAAMC,eAAelB,eAAec,kBAAkBC;IAEtDxB,MAAM4B,SAAS,CAAC;QACd,IAAID,gBAAgB,CAACX,aAAa;YAChCC,eAAe;QACjB;IACF,GAAG;QAACU;QAAcX;KAAY;IAE9B,IAAI,CAACR,YAAaqB,MAAMC,OAAO,CAACtB,aAAaA,SAASuB,MAAM,KAAK,GAAI;QACnE,OAAO;IACT;IAEA,IAAI,CAAChB,MAAM;QACTiB,QAAQC,KAAK,CAAC,oDAAoD,iCAAiC;;IACrG;IAEA,IAAIzB,UAAU;QACZ,qBACE,KAAC0B;YACC3B,WAAW;gBACTH;gBACAG;gBACAI,WAAW,CAAC,EAAEP,UAAU,UAAU,EAAEO,QAAQ,CAAC;gBAC7CA,YAAY,SAAS,CAAC,EAAEP,UAAU,cAAc,CAAC;aAClD,CACE+B,MAAM,CAAChB,SACPiB,IAAI,CAAC;YACRC,KAAKjB;sBAEJJ,eACCR,UAAU8B,IAAI,CAACC,GAAGC;gBAChB,MAAM,EACJC,IAAI,EACJC,WAAW,EACXC,MAAM,EACNC,QAAQ,EACRC,mBAAmB,EACnBA,qBAAqB,EAAEC,QAAQ,EAAE,EACjCC,QAAQ,EACT,GAAGR;gBAEJ,MAAMS,sBACJ,AAAC,OAAOvC,gBAAgB,YAAY+B,cAAc/B,eAAgB;gBAEpE,MAAMwC,OAAO,UAAUV,IAAIA,EAAEU,IAAI,GAAGC;gBAEpC,qBACE,KAAC/C;oBACCuC,aAAaA;oBACbC,QAAQA;oBACRC,UAAUA;oBACVC,qBAAqB;wBAAE,GAAGA,mBAAmB;wBAAEpC,aAAauC;oBAAoB;oBAChFtC,WAAWA,cAAcwC,YAAY,CAAC,EAAExC,UAAU,CAAC,EAAE8B,WAAW,CAAC,GAAG,CAAC,EAAEA,WAAW,CAAC;oBACnFO,UAAUA;oBAEVE,MAAMA;oBACNrC,MAAMA;oBACNC,aAAaA,aAAa,CAACoC,KAAK;oBAChCH,UAAUA;oBACVhC,YAAYA;oBACZqC,oBAAoBtC;oBACpB4B,MAAMA;mBAPDD;YAUX;;IAGR;IAEA,OAAO;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/RenderFields/types.ts"],"sourcesContent":["import type { FieldPermissions, Operation } from 'payload'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nexport type Props = {\n className?: string\n fieldMap: FieldMap\n /**\n * Controls the rendering behavior of the fields, i.e. defers rendering until they intersect with the viewport using the Intersection Observer API.\n *\n * If true, the fields will be rendered immediately, rather than waiting for them to intersect with the viewport.\n *\n * If a number is provided, will immediately render fields _up to that index_.\n */\n forceRender?: boolean | number\n indexPath?: string\n margins?: 'small' | false\n operation?: Operation\n path: string\n permissions?: {\n [fieldName: string]: FieldPermissions\n }\n readOnly: boolean\n schemaPath: string\n}\n"],"names":[],"rangeMappings":"","mappings":"AAIA,WAoBC"}
1
+ {"version":3,"sources":["../../../src/forms/RenderFields/types.ts"],"sourcesContent":["import type { FieldPermissions, Operation } from 'payload'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nexport type Props = {\n className?: string\n fieldMap: FieldMap\n /**\n * Controls the rendering behavior of the fields, i.e. defers rendering until they intersect with the viewport using the Intersection Observer API.\n *\n * If true, the fields will be rendered immediately, rather than waiting for them to intersect with the viewport.\n *\n * If a number is provided, will immediately render fields _up to that index_.\n */\n forceRender?: boolean | number\n indexPath?: string\n margins?: 'small' | false\n operation?: Operation\n path: string\n permissions?: {\n [fieldName: string]: FieldPermissions\n }\n readOnly: boolean\n schemaPath: string\n}\n"],"names":[],"mappings":"AAIA,WAoBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/forms/RowLabel/Context/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,KAAK,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI;IAC/B,IAAI,EAAE,CAAC,CAAA;IACP,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAQD,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAOrD,CAAA;AAED,eAAO,MAAM,WAAW,0BAEvB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/forms/RowLabel/Context/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,KAAK,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI;IAC/B,IAAI,EAAE,CAAC,CAAA;IACP,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAQD,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAOrD,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,CAAC,OACU,YAAY,CAAC,CAAC,CACpD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/forms/RowLabel/Context/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useWatchForm } from '../../Form/context.js'\n\ntype RowLabelType<T = unknown> = {\n data: T\n path: string\n rowNumber?: number\n}\n\nconst RowLabel = React.createContext<RowLabelType>({\n data: {},\n path: '',\n rowNumber: undefined,\n})\n\ntype Props<T> = Omit<RowLabelType<T>, 'data'> & {\n children: React.ReactNode\n}\n\nexport const RowLabelProvider: React.FC<Props<unknown>> = ({ children, path, rowNumber }) => {\n const { getDataByPath, getSiblingData } = useWatchForm()\n const collapsibleData = getSiblingData(path)\n const arrayData = getDataByPath(path)\n const data = arrayData || collapsibleData\n\n return <RowLabel.Provider value={{ data, path, rowNumber }}>{children}</RowLabel.Provider>\n}\n\nexport const useRowLabel = <T,>() => {\n return React.useContext(RowLabel) as RowLabelType<T>\n}\n"],"names":["React","useWatchForm","RowLabel","createContext","data","path","rowNumber","undefined","RowLabelProvider","children","getDataByPath","getSiblingData","collapsibleData","arrayData","Provider","value","useRowLabel","useContext"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,YAAY,QAAQ,wBAAuB;AAQpD,MAAMC,yBAAWF,MAAMG,aAAa,CAAe;IACjDC,MAAM,CAAC;IACPC,MAAM;IACNC,WAAWC;AACb;AAMA,OAAO,MAAMC,mBAA6C,CAAC,EAAEC,QAAQ,EAAEJ,IAAI,EAAEC,SAAS,EAAE;IACtF,MAAM,EAAEI,aAAa,EAAEC,cAAc,EAAE,GAAGV;IAC1C,MAAMW,kBAAkBD,eAAeN;IACvC,MAAMQ,YAAYH,cAAcL;IAChC,MAAMD,OAAOS,aAAaD;IAE1B,qBAAO,KAACV,SAASY,QAAQ;QAACC,OAAO;YAAEX;YAAMC;YAAMC;QAAU;kBAAIG;;AAC/D,EAAC;AAED,OAAO,MAAMO,cAAc;IACzB,OAAOhB,MAAMiB,UAAU,CAACf;AAC1B,EAAC"}
1
+ {"version":3,"sources":["../../../../src/forms/RowLabel/Context/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useWatchForm } from '../../Form/context.js'\n\ntype RowLabelType<T = unknown> = {\n data: T\n path: string\n rowNumber?: number\n}\n\nconst RowLabel = React.createContext<RowLabelType>({\n data: {},\n path: '',\n rowNumber: undefined,\n})\n\ntype Props<T> = Omit<RowLabelType<T>, 'data'> & {\n children: React.ReactNode\n}\n\nexport const RowLabelProvider: React.FC<Props<unknown>> = ({ children, path, rowNumber }) => {\n const { getDataByPath, getSiblingData } = useWatchForm()\n const collapsibleData = getSiblingData(path)\n const arrayData = getDataByPath(path)\n const data = arrayData || collapsibleData\n\n return <RowLabel.Provider value={{ data, path, rowNumber }}>{children}</RowLabel.Provider>\n}\n\nexport const useRowLabel = <T,>() => {\n return React.useContext(RowLabel) as RowLabelType<T>\n}\n"],"names":["React","useWatchForm","RowLabel","createContext","data","path","rowNumber","undefined","RowLabelProvider","children","getDataByPath","getSiblingData","collapsibleData","arrayData","Provider","value","useRowLabel","useContext"],"mappings":"AAAA;;AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,YAAY,QAAQ,wBAAuB;AAQpD,MAAMC,yBAAWF,MAAMG,aAAa,CAAe;IACjDC,MAAM,CAAC;IACPC,MAAM;IACNC,WAAWC;AACb;AAMA,OAAO,MAAMC,mBAA6C,CAAC,EAAEC,QAAQ,EAAEJ,IAAI,EAAEC,SAAS,EAAE;IACtF,MAAM,EAAEI,aAAa,EAAEC,cAAc,EAAE,GAAGV;IAC1C,MAAMW,kBAAkBD,eAAeN;IACvC,MAAMQ,YAAYH,cAAcL;IAChC,MAAMD,OAAOS,aAAaD;IAE1B,qBAAO,KAACV,SAASY,QAAQ;QAACC,OAAO;YAAEX;YAAMC;YAAMC;QAAU;kBAAIG;;AAC/D,EAAC;AAED,OAAO,MAAMO,cAAc;IACzB,OAAOhB,MAAMiB,UAAU,CAACf;AAC1B,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/RowLabel/index.tsx"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { RowLabelProps } from './types.js'\nexport type { RowLabelProps }\n\nimport { RowLabelProvider } from '../RowLabel/Context/index.js'\n\nconst baseClass = 'row-label'\n\nexport const RowLabel: React.FC<RowLabelProps> = (props) => {\n const { RowLabelComponent, className, i18n, path, rowLabel, rowNumber } = props\n\n if (RowLabelComponent) {\n return (\n <RowLabelProvider path={path} rowNumber={rowNumber}>\n {RowLabelComponent}\n </RowLabelProvider>\n )\n }\n\n const label = rowLabel\n ? typeof rowLabel === 'object'\n ? getTranslation(rowLabel, i18n)\n : typeof rowLabel === 'string'\n ? rowLabel\n : ''\n : ''\n\n return (\n <span\n className={[baseClass, className].filter(Boolean).join(' ')}\n style={{\n pointerEvents: 'none',\n }}\n >\n {label}\n </span>\n )\n}\n"],"names":["getTranslation","React","RowLabelProvider","baseClass","RowLabel","props","RowLabelComponent","className","i18n","path","rowLabel","rowNumber","label","span","filter","Boolean","join","style","pointerEvents"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAKzB,SAASC,gBAAgB,QAAQ,+BAA8B;AAE/D,MAAMC,YAAY;AAElB,OAAO,MAAMC,WAAoC,CAACC;IAChD,MAAM,EAAEC,iBAAiB,EAAEC,SAAS,EAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGN;IAE1E,IAAIC,mBAAmB;QACrB,qBACE,KAACJ;YAAiBO,MAAMA;YAAME,WAAWA;sBACtCL;;IAGP;IAEA,MAAMM,QAAQF,WACV,OAAOA,aAAa,WAClBV,eAAeU,UAAUF,QACzB,OAAOE,aAAa,WAClBA,WACA,KACJ;IAEJ,qBACE,KAACG;QACCN,WAAW;YAACJ;YAAWI;SAAU,CAACO,MAAM,CAACC,SAASC,IAAI,CAAC;QACvDC,OAAO;YACLC,eAAe;QACjB;kBAECN;;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/RowLabel/index.tsx"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { RowLabelProps } from './types.js'\nexport type { RowLabelProps }\n\nimport { RowLabelProvider } from '../RowLabel/Context/index.js'\n\nconst baseClass = 'row-label'\n\nexport const RowLabel: React.FC<RowLabelProps> = (props) => {\n const { RowLabelComponent, className, i18n, path, rowLabel, rowNumber } = props\n\n if (RowLabelComponent) {\n return (\n <RowLabelProvider path={path} rowNumber={rowNumber}>\n {RowLabelComponent}\n </RowLabelProvider>\n )\n }\n\n const label = rowLabel\n ? typeof rowLabel === 'object'\n ? getTranslation(rowLabel, i18n)\n : typeof rowLabel === 'string'\n ? rowLabel\n : ''\n : ''\n\n return (\n <span\n className={[baseClass, className].filter(Boolean).join(' ')}\n style={{\n pointerEvents: 'none',\n }}\n >\n {label}\n </span>\n )\n}\n"],"names":["getTranslation","React","RowLabelProvider","baseClass","RowLabel","props","RowLabelComponent","className","i18n","path","rowLabel","rowNumber","label","span","filter","Boolean","join","style","pointerEvents"],"mappings":";AAAA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAKzB,SAASC,gBAAgB,QAAQ,+BAA8B;AAE/D,MAAMC,YAAY;AAElB,OAAO,MAAMC,WAAoC,CAACC;IAChD,MAAM,EAAEC,iBAAiB,EAAEC,SAAS,EAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGN;IAE1E,IAAIC,mBAAmB;QACrB,qBACE,KAACJ;YAAiBO,MAAMA;YAAME,WAAWA;sBACtCL;;IAGP;IAEA,MAAMM,QAAQF,WACV,OAAOA,aAAa,WAClBV,eAAeU,UAAUF,QACzB,OAAOE,aAAa,WAClBA,WACA,KACJ;IAEJ,qBACE,KAACG;QACCN,WAAW;YAACJ;YAAWI;SAAU,CAACO,MAAM,CAACC,SAASC,IAAI,CAAC;QACvDC,OAAO;YACLC,eAAe;QACjB;kBAECN;;AAGP,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/RowLabel/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { LabelProps } from 'payload'\nimport type React from 'react'\n\nexport type RowLabelProps = {\n RowLabelComponent?: React.ReactNode\n className?: string\n i18n: I18nClient\n path: string\n rowLabel?: LabelProps['label']\n rowNumber?: number\n}\n"],"names":[],"rangeMappings":"","mappings":"AAIA,WAOC"}
1
+ {"version":3,"sources":["../../../src/forms/RowLabel/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { LabelProps } from 'payload'\nimport type React from 'react'\n\nexport type RowLabelProps = {\n RowLabelComponent?: React.ReactNode\n className?: string\n i18n: I18nClient\n path: string\n rowLabel?: LabelProps['label']\n rowNumber?: number\n}\n"],"names":[],"mappings":"AAIA,WAOC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/Submit/index.tsx"],"sourcesContent":["'use client'\nimport React, { forwardRef } from 'react'\n\nimport type { Props } from '../../elements/Button/types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { useForm, useFormInitializing, useFormProcessing } from '../Form/context.js'\nimport './index.scss'\n\nconst baseClass = 'form-submit'\n\nexport const FormSubmit = forwardRef<HTMLButtonElement, Props>((props, ref) => {\n const { type = 'submit', buttonId: id, children, disabled: disabledFromProps } = props\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n const { disabled } = useForm()\n\n const canSave = !(disabledFromProps || initializing || processing || disabled)\n\n return (\n <div className={baseClass}>\n <Button ref={ref} {...props} disabled={canSave ? undefined : true} id={id} type={type}>\n {children}\n </Button>\n </div>\n )\n})\n"],"names":["React","forwardRef","Button","useForm","useFormInitializing","useFormProcessing","baseClass","FormSubmit","props","ref","type","buttonId","id","children","disabled","disabledFromProps","processing","initializing","canSave","div","className","undefined"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,SAASC,UAAU,QAAQ,QAAO;AAIzC,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,OAAO,EAAEC,mBAAmB,EAAEC,iBAAiB,QAAQ,qBAAoB;AACpF,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,2BAAaN,WAAqC,CAACO,OAAOC;IACrE,MAAM,EAAEC,OAAO,QAAQ,EAAEC,UAAUC,EAAE,EAAEC,QAAQ,EAAEC,UAAUC,iBAAiB,EAAE,GAAGP;IACjF,MAAMQ,aAAaX;IACnB,MAAMY,eAAeb;IACrB,MAAM,EAAEU,QAAQ,EAAE,GAAGX;IAErB,MAAMe,UAAU,CAAEH,CAAAA,qBAAqBE,gBAAgBD,cAAcF,QAAO;IAE5E,qBACE,KAACK;QAAIC,WAAWd;kBACd,cAAA,KAACJ;YAAOO,KAAKA;YAAM,GAAGD,KAAK;YAAEM,UAAUI,UAAUG,YAAY;YAAMT,IAAIA;YAAIF,MAAMA;sBAC9EG;;;AAIT,GAAE"}
1
+ {"version":3,"sources":["../../../src/forms/Submit/index.tsx"],"sourcesContent":["'use client'\nimport React, { forwardRef } from 'react'\n\nimport type { Props } from '../../elements/Button/types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { useForm, useFormInitializing, useFormProcessing } from '../Form/context.js'\nimport './index.scss'\n\nconst baseClass = 'form-submit'\n\nexport const FormSubmit = forwardRef<HTMLButtonElement, Props>((props, ref) => {\n const { type = 'submit', buttonId: id, children, disabled: disabledFromProps } = props\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n const { disabled } = useForm()\n\n const canSave = !(disabledFromProps || initializing || processing || disabled)\n\n return (\n <div className={baseClass}>\n <Button ref={ref} {...props} disabled={canSave ? undefined : true} id={id} type={type}>\n {children}\n </Button>\n </div>\n )\n})\n"],"names":["React","forwardRef","Button","useForm","useFormInitializing","useFormProcessing","baseClass","FormSubmit","props","ref","type","buttonId","id","children","disabled","disabledFromProps","processing","initializing","canSave","div","className","undefined"],"mappings":"AAAA;;AACA,OAAOA,SAASC,UAAU,QAAQ,QAAO;AAIzC,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,OAAO,EAAEC,mBAAmB,EAAEC,iBAAiB,QAAQ,qBAAoB;AACpF,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,2BAAaN,WAAqC,CAACO,OAAOC;IACrE,MAAM,EAAEC,OAAO,QAAQ,EAAEC,UAAUC,EAAE,EAAEC,QAAQ,EAAEC,UAAUC,iBAAiB,EAAE,GAAGP;IACjF,MAAMQ,aAAaX;IACnB,MAAMY,eAAeb;IACrB,MAAM,EAAEU,QAAQ,EAAE,GAAGX;IAErB,MAAMe,UAAU,CAAEH,CAAAA,qBAAqBE,gBAAgBD,cAAcF,QAAO;IAE5E,qBACE,KAACK;QAAIC,WAAWd;kBACd,cAAA,KAACJ;YAAOO,KAAKA;YAAM,GAAGD,KAAK;YAAEM,UAAUI,UAAUG,YAAY;YAAMT,IAAIA;YAAIF,MAAMA;sBAC9EG;;;AAIT,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildPathSegments.d.ts","sourceRoot":"","sources":["../../../src/forms/WatchChildErrors/buildPathSegments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAA;AAEvF,eAAO,MAAM,iBAAiB,eAAgB,MAAM,yBAAuB,MAAM,EAmChF,CAAA"}
1
+ {"version":3,"file":"buildPathSegments.d.ts","sourceRoot":"","sources":["../../../src/forms/WatchChildErrors/buildPathSegments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAA;AAEvF,eAAO,MAAM,iBAAiB,eAAgB,MAAM,YAAY,QAAQ,KAAG,MAAM,EAmChF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/WatchChildErrors/buildPathSegments.ts"],"sourcesContent":["import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nexport const buildPathSegments = (parentPath: string, fieldMap: FieldMap): string[] => {\n const pathNames = fieldMap.reduce((acc, field) => {\n const fieldMap =\n 'fieldMap' in field.fieldComponentProps ? field.fieldComponentProps.fieldMap : undefined\n\n if (fieldMap) {\n if (field.isFieldAffectingData) {\n // group, block, array\n const name = 'name' in field ? field.name : 'unnamed'\n acc.push(parentPath ? `${parentPath}.${name}.` : `${name}.`)\n } else {\n // rows, collapsibles, unnamed-tab\n acc.push(...buildPathSegments(parentPath, fieldMap))\n }\n } else if (field.type === 'tabs') {\n // tabs\n if ('tabs' in field.fieldComponentProps) {\n field.fieldComponentProps.tabs?.forEach((tab) => {\n let tabPath = parentPath\n if ('name' in tab) {\n tabPath = parentPath ? `${parentPath}.${tab.name}` : tab.name\n }\n acc.push(...buildPathSegments(tabPath, tab.fieldMap))\n })\n }\n } else if (field.isFieldAffectingData) {\n // text, number, date, etc.\n const name = 'name' in field ? field.name : 'unnamed'\n acc.push(parentPath ? `${parentPath}.${name}` : name)\n }\n\n return acc\n }, [])\n\n return pathNames\n}\n"],"names":["buildPathSegments","parentPath","fieldMap","pathNames","reduce","acc","field","fieldComponentProps","undefined","isFieldAffectingData","name","push","type","tabs","forEach","tab","tabPath"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAO,MAAMA,oBAAoB,CAACC,YAAoBC;IACpD,MAAMC,YAAYD,SAASE,MAAM,CAAC,CAACC,KAAKC;QACtC,MAAMJ,WACJ,cAAcI,MAAMC,mBAAmB,GAAGD,MAAMC,mBAAmB,CAACL,QAAQ,GAAGM;QAEjF,IAAIN,UAAU;YACZ,IAAII,MAAMG,oBAAoB,EAAE;gBAC9B,sBAAsB;gBACtB,MAAMC,OAAO,UAAUJ,QAAQA,MAAMI,IAAI,GAAG;gBAC5CL,IAAIM,IAAI,CAACV,aAAa,CAAC,EAAEA,WAAW,CAAC,EAAES,KAAK,CAAC,CAAC,GAAG,CAAC,EAAEA,KAAK,CAAC,CAAC;YAC7D,OAAO;gBACL,kCAAkC;gBAClCL,IAAIM,IAAI,IAAIX,kBAAkBC,YAAYC;YAC5C;QACF,OAAO,IAAII,MAAMM,IAAI,KAAK,QAAQ;YAChC,OAAO;YACP,IAAI,UAAUN,MAAMC,mBAAmB,EAAE;gBACvCD,MAAMC,mBAAmB,CAACM,IAAI,EAAEC,QAAQ,CAACC;oBACvC,IAAIC,UAAUf;oBACd,IAAI,UAAUc,KAAK;wBACjBC,UAAUf,aAAa,CAAC,EAAEA,WAAW,CAAC,EAAEc,IAAIL,IAAI,CAAC,CAAC,GAAGK,IAAIL,IAAI;oBAC/D;oBACAL,IAAIM,IAAI,IAAIX,kBAAkBgB,SAASD,IAAIb,QAAQ;gBACrD;YACF;QACF,OAAO,IAAII,MAAMG,oBAAoB,EAAE;YACrC,2BAA2B;YAC3B,MAAMC,OAAO,UAAUJ,QAAQA,MAAMI,IAAI,GAAG;YAC5CL,IAAIM,IAAI,CAACV,aAAa,CAAC,EAAEA,WAAW,CAAC,EAAES,KAAK,CAAC,GAAGA;QAClD;QAEA,OAAOL;IACT,GAAG,EAAE;IAEL,OAAOF;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/WatchChildErrors/buildPathSegments.ts"],"sourcesContent":["import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nexport const buildPathSegments = (parentPath: string, fieldMap: FieldMap): string[] => {\n const pathNames = fieldMap.reduce((acc, field) => {\n const fieldMap =\n 'fieldMap' in field.fieldComponentProps ? field.fieldComponentProps.fieldMap : undefined\n\n if (fieldMap) {\n if (field.isFieldAffectingData) {\n // group, block, array\n const name = 'name' in field ? field.name : 'unnamed'\n acc.push(parentPath ? `${parentPath}.${name}.` : `${name}.`)\n } else {\n // rows, collapsibles, unnamed-tab\n acc.push(...buildPathSegments(parentPath, fieldMap))\n }\n } else if (field.type === 'tabs') {\n // tabs\n if ('tabs' in field.fieldComponentProps) {\n field.fieldComponentProps.tabs?.forEach((tab) => {\n let tabPath = parentPath\n if ('name' in tab) {\n tabPath = parentPath ? `${parentPath}.${tab.name}` : tab.name\n }\n acc.push(...buildPathSegments(tabPath, tab.fieldMap))\n })\n }\n } else if (field.isFieldAffectingData) {\n // text, number, date, etc.\n const name = 'name' in field ? field.name : 'unnamed'\n acc.push(parentPath ? `${parentPath}.${name}` : name)\n }\n\n return acc\n }, [])\n\n return pathNames\n}\n"],"names":["buildPathSegments","parentPath","fieldMap","pathNames","reduce","acc","field","fieldComponentProps","undefined","isFieldAffectingData","name","push","type","tabs","forEach","tab","tabPath"],"mappings":"AAEA,OAAO,MAAMA,oBAAoB,CAACC,YAAoBC;IACpD,MAAMC,YAAYD,SAASE,MAAM,CAAC,CAACC,KAAKC;QACtC,MAAMJ,WACJ,cAAcI,MAAMC,mBAAmB,GAAGD,MAAMC,mBAAmB,CAACL,QAAQ,GAAGM;QAEjF,IAAIN,UAAU;YACZ,IAAII,MAAMG,oBAAoB,EAAE;gBAC9B,sBAAsB;gBACtB,MAAMC,OAAO,UAAUJ,QAAQA,MAAMI,IAAI,GAAG;gBAC5CL,IAAIM,IAAI,CAACV,aAAa,CAAC,EAAEA,WAAW,CAAC,EAAES,KAAK,CAAC,CAAC,GAAG,CAAC,EAAEA,KAAK,CAAC,CAAC;YAC7D,OAAO;gBACL,kCAAkC;gBAClCL,IAAIM,IAAI,IAAIX,kBAAkBC,YAAYC;YAC5C;QACF,OAAO,IAAII,MAAMM,IAAI,KAAK,QAAQ;YAChC,OAAO;YACP,IAAI,UAAUN,MAAMC,mBAAmB,EAAE;gBACvCD,MAAMC,mBAAmB,CAACM,IAAI,EAAEC,QAAQ,CAACC;oBACvC,IAAIC,UAAUf;oBACd,IAAI,UAAUc,KAAK;wBACjBC,UAAUf,aAAa,CAAC,EAAEA,WAAW,CAAC,EAAEc,IAAIL,IAAI,CAAC,CAAC,GAAGK,IAAIL,IAAI;oBAC/D;oBACAL,IAAIM,IAAI,IAAIX,kBAAkBgB,SAASD,IAAIb,QAAQ;gBACrD;YACF;QACF,OAAO,IAAII,MAAMG,oBAAoB,EAAE;YACrC,2BAA2B;YAC3B,MAAMC,OAAO,UAAUJ,QAAQA,MAAMI,IAAI,GAAG;YAC5CL,IAAIM,IAAI,CAACV,aAAa,CAAC,EAAEA,WAAW,CAAC,EAAES,KAAK,CAAC,GAAGA;QAClD;QAEA,OAAOL;IACT,GAAG,EAAE;IAEL,OAAOF;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/WatchChildErrors/getFieldStateFromPaths.ts"],"sourcesContent":["import type { FormState } from 'payload'\n\nexport const getFieldStateFromPaths = ({\n formState,\n pathSegments,\n}: {\n formState: FormState\n pathSegments: string[]\n}): {\n errorCount: number\n fieldState: FormState\n} => {\n const fieldState: FormState = {}\n let errorCount = 0\n\n Object.entries(formState).forEach(([key]) => {\n const matchingSegment = pathSegments?.some((segment) => {\n if (segment.endsWith('.')) {\n return key.startsWith(segment)\n }\n return key === segment\n })\n\n if (matchingSegment) {\n const pathState = formState[key]\n fieldState[key] = pathState\n if ('valid' in pathState && !pathState.valid) {\n errorCount += 1\n }\n }\n })\n\n return {\n errorCount,\n fieldState,\n }\n}\n"],"names":["getFieldStateFromPaths","formState","pathSegments","fieldState","errorCount","Object","entries","forEach","key","matchingSegment","some","segment","endsWith","startsWith","pathState","valid"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAO,MAAMA,yBAAyB,CAAC,EACrCC,SAAS,EACTC,YAAY,EAIb;IAIC,MAAMC,aAAwB,CAAC;IAC/B,IAAIC,aAAa;IAEjBC,OAAOC,OAAO,CAACL,WAAWM,OAAO,CAAC,CAAC,CAACC,IAAI;QACtC,MAAMC,kBAAkBP,cAAcQ,KAAK,CAACC;YAC1C,IAAIA,QAAQC,QAAQ,CAAC,MAAM;gBACzB,OAAOJ,IAAIK,UAAU,CAACF;YACxB;YACA,OAAOH,QAAQG;QACjB;QAEA,IAAIF,iBAAiB;YACnB,MAAMK,YAAYb,SAAS,CAACO,IAAI;YAChCL,UAAU,CAACK,IAAI,GAAGM;YAClB,IAAI,WAAWA,aAAa,CAACA,UAAUC,KAAK,EAAE;gBAC5CX,cAAc;YAChB;QACF;IACF;IAEA,OAAO;QACLA;QACAD;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/WatchChildErrors/getFieldStateFromPaths.ts"],"sourcesContent":["import type { FormState } from 'payload'\n\nexport const getFieldStateFromPaths = ({\n formState,\n pathSegments,\n}: {\n formState: FormState\n pathSegments: string[]\n}): {\n errorCount: number\n fieldState: FormState\n} => {\n const fieldState: FormState = {}\n let errorCount = 0\n\n Object.entries(formState).forEach(([key]) => {\n const matchingSegment = pathSegments?.some((segment) => {\n if (segment.endsWith('.')) {\n return key.startsWith(segment)\n }\n return key === segment\n })\n\n if (matchingSegment) {\n const pathState = formState[key]\n fieldState[key] = pathState\n if ('valid' in pathState && !pathState.valid) {\n errorCount += 1\n }\n }\n })\n\n return {\n errorCount,\n fieldState,\n }\n}\n"],"names":["getFieldStateFromPaths","formState","pathSegments","fieldState","errorCount","Object","entries","forEach","key","matchingSegment","some","segment","endsWith","startsWith","pathState","valid"],"mappings":"AAEA,OAAO,MAAMA,yBAAyB,CAAC,EACrCC,SAAS,EACTC,YAAY,EAIb;IAIC,MAAMC,aAAwB,CAAC;IAC/B,IAAIC,aAAa;IAEjBC,OAAOC,OAAO,CAACL,WAAWM,OAAO,CAAC,CAAC,CAACC,IAAI;QACtC,MAAMC,kBAAkBP,cAAcQ,KAAK,CAACC;YAC1C,IAAIA,QAAQC,QAAQ,CAAC,MAAM;gBACzB,OAAOJ,IAAIK,UAAU,CAACF;YACxB;YACA,OAAOH,QAAQG;QACjB;QAEA,IAAIF,iBAAiB;YACnB,MAAMK,YAAYb,SAAS,CAACO,IAAI;YAChCL,UAAU,CAACK,IAAI,GAAGM;YAClB,IAAI,WAAWA,aAAa,CAACA,UAAUC,KAAK,EAAE;gBAC5CX,cAAc;YAChB;QACF;IACF;IAEA,OAAO;QACLA;QACAD;IACF;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/WatchChildErrors/getNestedFieldState.ts"],"sourcesContent":["import type { Field, FormState } from 'payload'\n\n// import { buildPathSegments } from './buildPathSegments'\nimport { getFieldStateFromPaths } from './getFieldStateFromPaths.js'\n\nexport const getNestedFieldState = ({\n fieldSchema,\n formState,\n // path,\n pathSegments: pathSegmentsFromProps,\n}: {\n fieldSchema?: Field[]\n formState?: FormState\n path: string\n pathSegments?: string[]\n}): {\n errorCount: number\n fieldState: FormState\n pathSegments: string[]\n} => {\n const pathSegments = pathSegmentsFromProps\n\n if (!pathSegments && fieldSchema) {\n // pathSegments = buildPathSegments(path, fieldSchema)\n }\n\n const result = getFieldStateFromPaths({ formState, pathSegments })\n\n return {\n ...result,\n pathSegments,\n }\n}\n"],"names":["getFieldStateFromPaths","getNestedFieldState","fieldSchema","formState","pathSegments","pathSegmentsFromProps","result"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAEA,0DAA0D;AAC1D,SAASA,sBAAsB,QAAQ,8BAA6B;AAEpE,OAAO,MAAMC,sBAAsB,CAAC,EAClCC,WAAW,EACXC,SAAS,EACT,QAAQ;AACRC,cAAcC,qBAAqB,EAMpC;IAKC,MAAMD,eAAeC;IAErB,IAAI,CAACD,gBAAgBF,aAAa;IAChC,sDAAsD;IACxD;IAEA,MAAMI,SAASN,uBAAuB;QAAEG;QAAWC;IAAa;IAEhE,OAAO;QACL,GAAGE,MAAM;QACTF;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/WatchChildErrors/getNestedFieldState.ts"],"sourcesContent":["import type { Field, FormState } from 'payload'\n\n// import { buildPathSegments } from './buildPathSegments'\nimport { getFieldStateFromPaths } from './getFieldStateFromPaths.js'\n\nexport const getNestedFieldState = ({\n fieldSchema,\n formState,\n // path,\n pathSegments: pathSegmentsFromProps,\n}: {\n fieldSchema?: Field[]\n formState?: FormState\n path: string\n pathSegments?: string[]\n}): {\n errorCount: number\n fieldState: FormState\n pathSegments: string[]\n} => {\n const pathSegments = pathSegmentsFromProps\n\n if (!pathSegments && fieldSchema) {\n // pathSegments = buildPathSegments(path, fieldSchema)\n }\n\n const result = getFieldStateFromPaths({ formState, pathSegments })\n\n return {\n ...result,\n pathSegments,\n }\n}\n"],"names":["getFieldStateFromPaths","getNestedFieldState","fieldSchema","formState","pathSegments","pathSegmentsFromProps","result"],"mappings":"AAEA,0DAA0D;AAC1D,SAASA,sBAAsB,QAAQ,8BAA6B;AAEpE,OAAO,MAAMC,sBAAsB,CAAC,EAClCC,WAAW,EACXC,SAAS,EACT,QAAQ;AACRC,cAAcC,qBAAqB,EAMpC;IAKC,MAAMD,eAAeC;IAErB,IAAI,CAACD,gBAAgBF,aAAa;IAChC,sDAAsD;IACxD;IAEA,MAAMI,SAASN,uBAAuB;QAAEG;QAAWC;IAAa;IAEhE,OAAO;QACL,GAAGE,MAAM;QACTF;IACF;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/WatchChildErrors/index.tsx"],"sourcesContent":["'use client'\nimport type React from 'react'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAllFormFields, useFormSubmitted } from '../Form/context.js'\nimport { buildPathSegments } from './buildPathSegments.js'\nimport { getFieldStateFromPaths } from './getFieldStateFromPaths.js'\n\ntype TrackSubSchemaErrorCountProps = {\n fieldMap?: FieldMap\n path: string\n setErrorCount: (count: number) => void\n}\n\nexport const WatchChildErrors: React.FC<TrackSubSchemaErrorCountProps> = ({\n fieldMap,\n path,\n setErrorCount,\n}) => {\n const [formState] = useAllFormFields()\n const hasSubmitted = useFormSubmitted()\n\n const pathSegments = buildPathSegments(path, fieldMap)\n\n useThrottledEffect(\n () => {\n if (hasSubmitted) {\n const { errorCount } = getFieldStateFromPaths({ formState, pathSegments })\n setErrorCount(errorCount)\n }\n },\n 250,\n [formState, hasSubmitted, fieldMap],\n )\n\n return null\n}\n"],"names":["useThrottledEffect","useAllFormFields","useFormSubmitted","buildPathSegments","getFieldStateFromPaths","WatchChildErrors","fieldMap","path","setErrorCount","formState","hasSubmitted","pathSegments","errorCount"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAKA,SAASA,kBAAkB,QAAQ,oCAAmC;AACtE,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,qBAAoB;AACvE,SAASC,iBAAiB,QAAQ,yBAAwB;AAC1D,SAASC,sBAAsB,QAAQ,8BAA6B;AAQpE,OAAO,MAAMC,mBAA4D,CAAC,EACxEC,QAAQ,EACRC,IAAI,EACJC,aAAa,EACd;IACC,MAAM,CAACC,UAAU,GAAGR;IACpB,MAAMS,eAAeR;IAErB,MAAMS,eAAeR,kBAAkBI,MAAMD;IAE7CN,mBACE;QACE,IAAIU,cAAc;YAChB,MAAM,EAAEE,UAAU,EAAE,GAAGR,uBAAuB;gBAAEK;gBAAWE;YAAa;YACxEH,cAAcI;QAChB;IACF,GACA,KACA;QAACH;QAAWC;QAAcJ;KAAS;IAGrC,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/WatchChildErrors/index.tsx"],"sourcesContent":["'use client'\nimport type React from 'react'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAllFormFields, useFormSubmitted } from '../Form/context.js'\nimport { buildPathSegments } from './buildPathSegments.js'\nimport { getFieldStateFromPaths } from './getFieldStateFromPaths.js'\n\ntype TrackSubSchemaErrorCountProps = {\n fieldMap?: FieldMap\n path: string\n setErrorCount: (count: number) => void\n}\n\nexport const WatchChildErrors: React.FC<TrackSubSchemaErrorCountProps> = ({\n fieldMap,\n path,\n setErrorCount,\n}) => {\n const [formState] = useAllFormFields()\n const hasSubmitted = useFormSubmitted()\n\n const pathSegments = buildPathSegments(path, fieldMap)\n\n useThrottledEffect(\n () => {\n if (hasSubmitted) {\n const { errorCount } = getFieldStateFromPaths({ formState, pathSegments })\n setErrorCount(errorCount)\n }\n },\n 250,\n [formState, hasSubmitted, fieldMap],\n )\n\n return null\n}\n"],"names":["useThrottledEffect","useAllFormFields","useFormSubmitted","buildPathSegments","getFieldStateFromPaths","WatchChildErrors","fieldMap","path","setErrorCount","formState","hasSubmitted","pathSegments","errorCount"],"mappings":"AAAA;AAKA,SAASA,kBAAkB,QAAQ,oCAAmC;AACtE,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,qBAAoB;AACvE,SAASC,iBAAiB,QAAQ,yBAAwB;AAC1D,SAASC,sBAAsB,QAAQ,8BAA6B;AAQpE,OAAO,MAAMC,mBAA4D,CAAC,EACxEC,QAAQ,EACRC,IAAI,EACJC,aAAa,EACd;IACC,MAAM,CAACC,UAAU,GAAGR;IACpB,MAAMS,eAAeR;IAErB,MAAMS,eAAeR,kBAAkBI,MAAMD;IAE7CN,mBACE;QACE,IAAIU,cAAc;YAChB,MAAM,EAAEE,UAAU,EAAE,GAAGR,uBAAuB;gBAAEK;gBAAWE;YAAa;YACxEH,cAAcI;QAChB;IACF,GACA,KACA;QAACH;QAAWC;QAAcJ;KAAS;IAGrC,OAAO;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"addFieldStatePromise.d.ts","sourceRoot":"","sources":["../../../src/forms/buildStateFromSchema/addFieldStatePromise.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EACJ,mBAAmB,EACnB,KAAK,EAEL,SAAS,EACT,sBAAsB,EACvB,MAAM,SAAS,CAAA;AAWhB,MAAM,MAAM,wBAAwB,GAAG;IACrC,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,mBAAmB,CAAA;IAEhC;;;OAGG;IACH,GAAG,EAAE,sBAAsB,CAAA;IAC3B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,SAAgB,wBAAwB,KAAG,QAAQ,IAAI,CA8evF,CAAA"}
1
+ {"version":3,"file":"addFieldStatePromise.d.ts","sourceRoot":"","sources":["../../../src/forms/buildStateFromSchema/addFieldStatePromise.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EACJ,mBAAmB,EACnB,KAAK,EAEL,SAAS,EACT,sBAAsB,EACvB,MAAM,SAAS,CAAA;AAWhB,MAAM,MAAM,wBAAwB,GAAG;IACrC,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,mBAAmB,CAAA;IAEhC;;;OAGG;IACH,GAAG,EAAE,sBAAsB,CAAA;IAC3B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,SAAgB,wBAAwB,KAAG,OAAO,CAAC,IAAI,CA8evF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/buildStateFromSchema/addFieldStatePromise.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type {\n Data,\n DocumentPreferences,\n Field,\n FormField,\n FormState,\n PayloadRequestWithData,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/shared'\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: DocumentPreferences\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: PayloadRequestWithData\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 preferences,\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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/forms/buildStateFromSchema/addFieldStatePromise.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type {\n Data,\n DocumentPreferences,\n Field,\n FormField,\n FormState,\n PayloadRequestWithData,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/shared'\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: DocumentPreferences\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: PayloadRequestWithData\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 preferences,\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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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/buildStateFromSchema/buildStateFromSchema.spec.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport buildStateFromSchema from './index.js'\n\ndescribe('Form - buildStateFromSchema', () => {\n const defaultValue = 'Default'\n it('populates default value - normal fields', async () => {\n const fieldSchema = [\n {\n name: 'text',\n type: 'text',\n defaultValue,\n label: 'Text',\n },\n ]\n const state = await buildStateFromSchema({ fieldSchema })\n expect(state.text.value).toBe(defaultValue)\n })\n it('field value overrides defaultValue - normal fields', async () => {\n const value = 'value'\n const data = { text: value }\n const fieldSchema = [\n {\n name: 'text',\n type: 'text',\n defaultValue,\n label: 'Text',\n },\n ]\n const state = await buildStateFromSchema({ data, fieldSchema })\n expect(state.text.value).toBe(value)\n })\n it('populates default value from a function - normal fields', async () => {\n const user = { email: 'user@example.com' }\n const locale = 'en'\n const fieldSchema = [\n {\n name: 'text',\n type: 'text',\n defaultValue: (args) => {\n if (!args.locale) {\n return 'missing locale'\n }\n if (!args.user) {\n return 'missing user'\n }\n return 'Default'\n },\n label: 'Text',\n },\n ]\n const state = await buildStateFromSchema({ fieldSchema, locale, user })\n expect(state.text.value).toBe(defaultValue)\n })\n})\n"],"names":["buildStateFromSchema","describe","defaultValue","it","fieldSchema","name","type","label","state","expect","text","value","toBe","data","user","email","locale","args"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,2BAA2B,GAC3B,OAAOA,0BAA0B,aAAY;AAE7CC,SAAS,+BAA+B;IACtC,MAAMC,eAAe;IACrBC,GAAG,2CAA2C;QAC5C,MAAMC,cAAc;YAClB;gBACEC,MAAM;gBACNC,MAAM;gBACNJ;gBACAK,OAAO;YACT;SACD;QACD,MAAMC,QAAQ,MAAMR,qBAAqB;YAAEI;QAAY;QACvDK,OAAOD,MAAME,IAAI,CAACC,KAAK,EAAEC,IAAI,CAACV;IAChC;IACAC,GAAG,sDAAsD;QACvD,MAAMQ,QAAQ;QACd,MAAME,OAAO;YAAEH,MAAMC;QAAM;QAC3B,MAAMP,cAAc;YAClB;gBACEC,MAAM;gBACNC,MAAM;gBACNJ;gBACAK,OAAO;YACT;SACD;QACD,MAAMC,QAAQ,MAAMR,qBAAqB;YAAEa;YAAMT;QAAY;QAC7DK,OAAOD,MAAME,IAAI,CAACC,KAAK,EAAEC,IAAI,CAACD;IAChC;IACAR,GAAG,2DAA2D;QAC5D,MAAMW,OAAO;YAAEC,OAAO;QAAmB;QACzC,MAAMC,SAAS;QACf,MAAMZ,cAAc;YAClB;gBACEC,MAAM;gBACNC,MAAM;gBACNJ,cAAc,CAACe;oBACb,IAAI,CAACA,KAAKD,MAAM,EAAE;wBAChB,OAAO;oBACT;oBACA,IAAI,CAACC,KAAKH,IAAI,EAAE;wBACd,OAAO;oBACT;oBACA,OAAO;gBACT;gBACAP,OAAO;YACT;SACD;QACD,MAAMC,QAAQ,MAAMR,qBAAqB;YAAEI;YAAaY;YAAQF;QAAK;QACrEL,OAAOD,MAAME,IAAI,CAACC,KAAK,EAAEC,IAAI,CAACV;IAChC;AACF"}
1
+ {"version":3,"sources":["../../../src/forms/buildStateFromSchema/buildStateFromSchema.spec.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport buildStateFromSchema from './index.js'\n\ndescribe('Form - buildStateFromSchema', () => {\n const defaultValue = 'Default'\n it('populates default value - normal fields', async () => {\n const fieldSchema = [\n {\n name: 'text',\n type: 'text',\n defaultValue,\n label: 'Text',\n },\n ]\n const state = await buildStateFromSchema({ fieldSchema })\n expect(state.text.value).toBe(defaultValue)\n })\n it('field value overrides defaultValue - normal fields', async () => {\n const value = 'value'\n const data = { text: value }\n const fieldSchema = [\n {\n name: 'text',\n type: 'text',\n defaultValue,\n label: 'Text',\n },\n ]\n const state = await buildStateFromSchema({ data, fieldSchema })\n expect(state.text.value).toBe(value)\n })\n it('populates default value from a function - normal fields', async () => {\n const user = { email: 'user@example.com' }\n const locale = 'en'\n const fieldSchema = [\n {\n name: 'text',\n type: 'text',\n defaultValue: (args) => {\n if (!args.locale) {\n return 'missing locale'\n }\n if (!args.user) {\n return 'missing user'\n }\n return 'Default'\n },\n label: 'Text',\n },\n ]\n const state = await buildStateFromSchema({ fieldSchema, locale, user })\n expect(state.text.value).toBe(defaultValue)\n })\n})\n"],"names":["buildStateFromSchema","describe","defaultValue","it","fieldSchema","name","type","label","state","expect","text","value","toBe","data","user","email","locale","args"],"mappings":"AAAA,2BAA2B,GAC3B,OAAOA,0BAA0B,aAAY;AAE7CC,SAAS,+BAA+B;IACtC,MAAMC,eAAe;IACrBC,GAAG,2CAA2C;QAC5C,MAAMC,cAAc;YAClB;gBACEC,MAAM;gBACNC,MAAM;gBACNJ;gBACAK,OAAO;YACT;SACD;QACD,MAAMC,QAAQ,MAAMR,qBAAqB;YAAEI;QAAY;QACvDK,OAAOD,MAAME,IAAI,CAACC,KAAK,EAAEC,IAAI,CAACV;IAChC;IACAC,GAAG,sDAAsD;QACvD,MAAMQ,QAAQ;QACd,MAAME,OAAO;YAAEH,MAAMC;QAAM;QAC3B,MAAMP,cAAc;YAClB;gBACEC,MAAM;gBACNC,MAAM;gBACNJ;gBACAK,OAAO;YACT;SACD;QACD,MAAMC,QAAQ,MAAMR,qBAAqB;YAAEa;YAAMT;QAAY;QAC7DK,OAAOD,MAAME,IAAI,CAACC,KAAK,EAAEC,IAAI,CAACD;IAChC;IACAR,GAAG,2DAA2D;QAC5D,MAAMW,OAAO;YAAEC,OAAO;QAAmB;QACzC,MAAMC,SAAS;QACf,MAAMZ,cAAc;YAClB;gBACEC,MAAM;gBACNC,MAAM;gBACNJ,cAAc,CAACe;oBACb,IAAI,CAACA,KAAKD,MAAM,EAAE;wBAChB,OAAO;oBACT;oBACA,IAAI,CAACC,KAAKH,IAAI,EAAE;wBACd,OAAO;oBACT;oBACA,OAAO;gBACT;gBACAP,OAAO;YACT;SACD;QACD,MAAMC,QAAQ,MAAMR,qBAAqB;YAAEI;YAAaY;YAAQF;QAAK;QACrEL,OAAOD,MAAME,IAAI,CAACC,KAAK,EAAEC,IAAI,CAACV;IAChC;AACF"}
@@ -1 +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,IAAI,EAAE,MAAM,SAAS,CAAA;AAI/D,KAAK,IAAI,GAAG;IACV,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,eAAO,MAAM,sBAAsB,wCAMhC,IAAI,KAAG,QAAQ,IAAI,CAWrB,CAAA"}
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,IAAI,EAAE,MAAM,SAAS,CAAA;AAI/D,KAAK,IAAI,GAAG;IACV,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,eAAO,MAAM,sBAAsB,wCAMhC,IAAI,KAAG,OAAO,CAAC,IAAI,CAWrB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/index.ts"],"sourcesContent":["import type { Data, Field as FieldSchema, User } from 'payload'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n data: Data\n fields: FieldSchema[]\n id?: number | string\n locale: string | undefined\n siblingData: Data\n user: User\n}\n\nexport const calculateDefaultValues = async ({\n id,\n data,\n fields,\n locale,\n user,\n}: Args): Promise<Data> => {\n await iterateFields({\n id,\n data,\n fields,\n locale,\n siblingData: data,\n user,\n })\n\n return data\n}\n"],"names":["iterateFields","calculateDefaultValues","id","data","fields","locale","user","siblingData"],"rangeMappings":";;;;;;;;;;;","mappings":"AAEA,SAASA,aAAa,QAAQ,qBAAoB;AAWlD,OAAO,MAAMC,yBAAyB,OAAO,EAC3CC,EAAE,EACFC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,IAAI,EACC;IACL,MAAMN,cAAc;QAClBE;QACAC;QACAC;QACAC;QACAE,aAAaJ;QACbG;IACF;IAEA,OAAOH;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/index.ts"],"sourcesContent":["import type { Data, Field as FieldSchema, User } from 'payload'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n data: Data\n fields: FieldSchema[]\n id?: number | string\n locale: string | undefined\n siblingData: Data\n user: User\n}\n\nexport const calculateDefaultValues = async ({\n id,\n data,\n fields,\n locale,\n user,\n}: Args): Promise<Data> => {\n await iterateFields({\n id,\n data,\n fields,\n locale,\n siblingData: data,\n user,\n })\n\n return data\n}\n"],"names":["iterateFields","calculateDefaultValues","id","data","fields","locale","user","siblingData"],"mappings":"AAEA,SAASA,aAAa,QAAQ,qBAAoB;AAWlD,OAAO,MAAMC,yBAAyB,OAAO,EAC3CC,EAAE,EACFC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,IAAI,EACC;IACL,MAAMN,cAAc;QAClBE;QACAC;QACAC;QACAC;QACAE,aAAaJ;QACbG;IACF;IAEA,OAAOH;AACT,EAAC"}
@@ -1 +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,UAAU,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAI5D,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,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,eAAO,MAAM,aAAa,wDAOvB,KAAK,CAAC,CAAC,KAAG,QAAQ,IAAI,CAexB,CAAA"}
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,UAAU,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAI5D,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,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,CAAC,oDAOlC,IAAI,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAexB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.ts"],"sourcesContent":["import type { Data, Field, TabAsField, User } from 'payload'\n\nimport { defaultValuePromise } from './promise.js'\n\ntype Args<T> = {\n data: T\n fields: (Field | TabAsField)[]\n id?: number | string\n locale: string | undefined\n siblingData: Data\n user: User\n}\n\nexport const iterateFields = async <T>({\n id,\n data,\n fields,\n locale,\n siblingData,\n user,\n}: Args<T>): Promise<void> => {\n const promises = []\n fields.forEach((field) => {\n promises.push(\n defaultValuePromise({\n id,\n data,\n field,\n locale,\n siblingData,\n user,\n }),\n )\n })\n await Promise.all(promises)\n}\n"],"names":["defaultValuePromise","iterateFields","id","data","fields","locale","siblingData","user","promises","forEach","field","push","Promise","all"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAEA,SAASA,mBAAmB,QAAQ,eAAc;AAWlD,OAAO,MAAMC,gBAAgB,OAAU,EACrCC,EAAE,EACFC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,WAAW,EACXC,IAAI,EACI;IACR,MAAMC,WAAW,EAAE;IACnBJ,OAAOK,OAAO,CAAC,CAACC;QACdF,SAASG,IAAI,CACXX,oBAAoB;YAClBE;YACAC;YACAO;YACAL;YACAC;YACAC;QACF;IAEJ;IACA,MAAMK,QAAQC,GAAG,CAACL;AACpB,EAAC"}
1
+ {"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.ts"],"sourcesContent":["import type { Data, Field, TabAsField, User } from 'payload'\n\nimport { defaultValuePromise } from './promise.js'\n\ntype Args<T> = {\n data: T\n fields: (Field | TabAsField)[]\n id?: number | string\n locale: string | undefined\n siblingData: Data\n user: User\n}\n\nexport const iterateFields = async <T>({\n id,\n data,\n fields,\n locale,\n siblingData,\n user,\n}: Args<T>): Promise<void> => {\n const promises = []\n fields.forEach((field) => {\n promises.push(\n defaultValuePromise({\n id,\n data,\n field,\n locale,\n siblingData,\n user,\n }),\n )\n })\n await Promise.all(promises)\n}\n"],"names":["defaultValuePromise","iterateFields","id","data","fields","locale","siblingData","user","promises","forEach","field","push","Promise","all"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,eAAc;AAWlD,OAAO,MAAMC,gBAAgB,OAAU,EACrCC,EAAE,EACFC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,WAAW,EACXC,IAAI,EACI;IACR,MAAMC,WAAW,EAAE;IACnBJ,OAAOK,OAAO,CAAC,CAACC;QACdF,SAASG,IAAI,CACXX,oBAAoB;YAClBE;YACAC;YACAO;YACAL;YACAC;YACAC;QACF;IAEJ;IACA,MAAMK,QAAQC,GAAG,CAACL;AACpB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/promise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAO5D,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,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAGD,eAAO,MAAM,mBAAmB,uDAO7B,KAAK,CAAC,CAAC,KAAG,QAAQ,IAAI,CA2IxB,CAAA"}
1
+ {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/promise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAO5D,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,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAGD,eAAO,MAAM,mBAAmB,GAAU,CAAC,mDAOxC,IAAI,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CA2IxB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/promise.ts"],"sourcesContent":["import type { Data, Field, TabAsField, User } from 'payload'\n\nimport { getDefaultValue } from 'payload'\nimport { fieldAffectsData, tabHasName } from 'payload/shared'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args<T> = {\n data: T\n field: Field | TabAsField\n id?: number | string\n locale: string | undefined\n siblingData: Data\n user: User\n}\n\n// TODO: Make this works for rich text subfields\nexport const defaultValuePromise = async <T>({\n id,\n data,\n field,\n locale,\n siblingData,\n user,\n}: Args<T>): Promise<void> => {\n if (fieldAffectsData(field)) {\n if (\n typeof siblingData[field.name] === 'undefined' &&\n typeof field.defaultValue !== 'undefined'\n ) {\n siblingData[field.name] = await getDefaultValue({\n defaultValue: field.defaultValue,\n locale,\n user,\n value: siblingData[field.name],\n })\n }\n }\n\n // Traverse subfields\n switch (field.type) {\n case 'group': {\n if (typeof siblingData[field.name] !== 'object') siblingData[field.name] = {}\n\n const groupData = siblingData[field.name] as Record<string, unknown>\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData: groupData,\n user,\n })\n\n break\n }\n\n case 'array': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n rows.forEach((row) => {\n promises.push(\n iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData: row,\n user,\n }),\n )\n })\n await Promise.all(promises)\n }\n break\n }\n\n case 'blocks': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n rows.forEach((row) => {\n const blockTypeToMatch = row.blockType\n const block = field.blocks.find((blockType) => blockType.slug === blockTypeToMatch)\n\n if (block) {\n row.blockType = blockTypeToMatch\n\n promises.push(\n iterateFields({\n id,\n data,\n fields: block.fields,\n locale,\n siblingData: row,\n user,\n }),\n )\n }\n })\n await Promise.all(promises)\n }\n\n break\n }\n\n case 'row':\n case 'collapsible': {\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData,\n user,\n })\n\n break\n }\n\n case 'tab': {\n let tabSiblingData\n if (tabHasName(field)) {\n if (typeof siblingData[field.name] !== 'object') siblingData[field.name] = {}\n\n tabSiblingData = siblingData[field.name] as Record<string, unknown>\n } else {\n tabSiblingData = siblingData\n }\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData: tabSiblingData,\n user,\n })\n\n break\n }\n\n case 'tabs': {\n await iterateFields({\n id,\n data,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n locale,\n siblingData,\n user,\n })\n\n break\n }\n\n default: {\n break\n }\n }\n}\n"],"names":["getDefaultValue","fieldAffectsData","tabHasName","iterateFields","defaultValuePromise","id","data","field","locale","siblingData","user","name","defaultValue","value","type","groupData","fields","rows","Array","isArray","promises","forEach","row","push","Promise","all","blockTypeToMatch","blockType","block","blocks","find","slug","tabSiblingData","tabs","map","tab"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/promise.ts"],"sourcesContent":["import type { Data, Field, TabAsField, User } from 'payload'\n\nimport { getDefaultValue } from 'payload'\nimport { fieldAffectsData, tabHasName } from 'payload/shared'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args<T> = {\n data: T\n field: Field | TabAsField\n id?: number | string\n locale: string | undefined\n siblingData: Data\n user: User\n}\n\n// TODO: Make this works for rich text subfields\nexport const defaultValuePromise = async <T>({\n id,\n data,\n field,\n locale,\n siblingData,\n user,\n}: Args<T>): Promise<void> => {\n if (fieldAffectsData(field)) {\n if (\n typeof siblingData[field.name] === 'undefined' &&\n typeof field.defaultValue !== 'undefined'\n ) {\n siblingData[field.name] = await getDefaultValue({\n defaultValue: field.defaultValue,\n locale,\n user,\n value: siblingData[field.name],\n })\n }\n }\n\n // Traverse subfields\n switch (field.type) {\n case 'group': {\n if (typeof siblingData[field.name] !== 'object') siblingData[field.name] = {}\n\n const groupData = siblingData[field.name] as Record<string, unknown>\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData: groupData,\n user,\n })\n\n break\n }\n\n case 'array': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n rows.forEach((row) => {\n promises.push(\n iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData: row,\n user,\n }),\n )\n })\n await Promise.all(promises)\n }\n break\n }\n\n case 'blocks': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n rows.forEach((row) => {\n const blockTypeToMatch = row.blockType\n const block = field.blocks.find((blockType) => blockType.slug === blockTypeToMatch)\n\n if (block) {\n row.blockType = blockTypeToMatch\n\n promises.push(\n iterateFields({\n id,\n data,\n fields: block.fields,\n locale,\n siblingData: row,\n user,\n }),\n )\n }\n })\n await Promise.all(promises)\n }\n\n break\n }\n\n case 'row':\n case 'collapsible': {\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData,\n user,\n })\n\n break\n }\n\n case 'tab': {\n let tabSiblingData\n if (tabHasName(field)) {\n if (typeof siblingData[field.name] !== 'object') siblingData[field.name] = {}\n\n tabSiblingData = siblingData[field.name] as Record<string, unknown>\n } else {\n tabSiblingData = siblingData\n }\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData: tabSiblingData,\n user,\n })\n\n break\n }\n\n case 'tabs': {\n await iterateFields({\n id,\n data,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n locale,\n siblingData,\n user,\n })\n\n break\n }\n\n default: {\n break\n }\n }\n}\n"],"names":["getDefaultValue","fieldAffectsData","tabHasName","iterateFields","defaultValuePromise","id","data","field","locale","siblingData","user","name","defaultValue","value","type","groupData","fields","rows","Array","isArray","promises","forEach","row","push","Promise","all","blockTypeToMatch","blockType","block","blocks","find","slug","tabSiblingData","tabs","map","tab"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { FilterOptions, FilterOptionsProps, Where } from 'payload';
2
- export declare const getFilterOptionsQuery: (filterOptions: FilterOptions, options: Omit<FilterOptionsProps, 'relationTo'> & {
2
+ export declare const getFilterOptionsQuery: (filterOptions: FilterOptions, options: Omit<FilterOptionsProps, "relationTo"> & {
3
3
  relationTo: string | string[];
4
4
  }) => Promise<{
5
5
  [collection: string]: Where;
@@ -1 +1 @@
1
- {"version":3,"file":"getFilterOptionsQuery.d.ts","sourceRoot":"","sources":["../../../src/forms/buildStateFromSchema/getFilterOptionsQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEvE,eAAO,MAAM,qBAAqB,kBACjB,aAAa,WACnB,KAAK,kBAAkB,EAAE,YAAY,CAAC,GAAG;IAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,KAClF,QAAQ;IAAE,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,CA4BzC,CAAA"}
1
+ {"version":3,"file":"getFilterOptionsQuery.d.ts","sourceRoot":"","sources":["../../../src/forms/buildStateFromSchema/getFilterOptionsQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEvE,eAAO,MAAM,qBAAqB,kBACjB,aAAa,WACnB,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,GAAG;IAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,KAClF,OAAO,CAAC;IAAE,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,CA4BzC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/buildStateFromSchema/getFilterOptionsQuery.ts"],"sourcesContent":["import type { FilterOptions, FilterOptionsProps, Where } from 'payload'\n\nexport const getFilterOptionsQuery = async (\n filterOptions: FilterOptions,\n options: Omit<FilterOptionsProps, 'relationTo'> & { relationTo: string | string[] },\n): Promise<{ [collection: string]: Where }> => {\n const { relationTo } = options\n\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n\n const query = {}\n\n if (typeof filterOptions !== 'undefined') {\n await Promise.all(\n relations.map(async (relation) => {\n query[relation] =\n typeof filterOptions === 'function'\n ? await filterOptions({ ...options, relationTo: relation })\n : filterOptions\n\n if (query[relation] === true) {\n query[relation] = {}\n }\n\n // this is an ugly way to prevent results from being returned\n if (query[relation] === false) {\n query[relation] = { id: { exists: false } }\n }\n }),\n )\n }\n\n return query\n}\n"],"names":["getFilterOptionsQuery","filterOptions","options","relationTo","relations","Array","isArray","query","Promise","all","map","relation","id","exists"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAO,MAAMA,wBAAwB,OACnCC,eACAC;IAEA,MAAM,EAAEC,UAAU,EAAE,GAAGD;IAEvB,MAAME,YAAYC,MAAMC,OAAO,CAACH,cAAcA,aAAa;QAACA;KAAW;IAEvE,MAAMI,QAAQ,CAAC;IAEf,IAAI,OAAON,kBAAkB,aAAa;QACxC,MAAMO,QAAQC,GAAG,CACfL,UAAUM,GAAG,CAAC,OAAOC;YACnBJ,KAAK,CAACI,SAAS,GACb,OAAOV,kBAAkB,aACrB,MAAMA,cAAc;gBAAE,GAAGC,OAAO;gBAAEC,YAAYQ;YAAS,KACvDV;YAEN,IAAIM,KAAK,CAACI,SAAS,KAAK,MAAM;gBAC5BJ,KAAK,CAACI,SAAS,GAAG,CAAC;YACrB;YAEA,6DAA6D;YAC7D,IAAIJ,KAAK,CAACI,SAAS,KAAK,OAAO;gBAC7BJ,KAAK,CAACI,SAAS,GAAG;oBAAEC,IAAI;wBAAEC,QAAQ;oBAAM;gBAAE;YAC5C;QACF;IAEJ;IAEA,OAAON;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/buildStateFromSchema/getFilterOptionsQuery.ts"],"sourcesContent":["import type { FilterOptions, FilterOptionsProps, Where } from 'payload'\n\nexport const getFilterOptionsQuery = async (\n filterOptions: FilterOptions,\n options: Omit<FilterOptionsProps, 'relationTo'> & { relationTo: string | string[] },\n): Promise<{ [collection: string]: Where }> => {\n const { relationTo } = options\n\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n\n const query = {}\n\n if (typeof filterOptions !== 'undefined') {\n await Promise.all(\n relations.map(async (relation) => {\n query[relation] =\n typeof filterOptions === 'function'\n ? await filterOptions({ ...options, relationTo: relation })\n : filterOptions\n\n if (query[relation] === true) {\n query[relation] = {}\n }\n\n // this is an ugly way to prevent results from being returned\n if (query[relation] === false) {\n query[relation] = { id: { exists: false } }\n }\n }),\n )\n }\n\n return query\n}\n"],"names":["getFilterOptionsQuery","filterOptions","options","relationTo","relations","Array","isArray","query","Promise","all","map","relation","id","exists"],"mappings":"AAEA,OAAO,MAAMA,wBAAwB,OACnCC,eACAC;IAEA,MAAM,EAAEC,UAAU,EAAE,GAAGD;IAEvB,MAAME,YAAYC,MAAMC,OAAO,CAACH,cAAcA,aAAa;QAACA;KAAW;IAEvE,MAAMI,QAAQ,CAAC;IAEf,IAAI,OAAON,kBAAkB,aAAa;QACxC,MAAMO,QAAQC,GAAG,CACfL,UAAUM,GAAG,CAAC,OAAOC;YACnBJ,KAAK,CAACI,SAAS,GACb,OAAOV,kBAAkB,aACrB,MAAMA,cAAc;gBAAE,GAAGC,OAAO;gBAAEC,YAAYQ;YAAS,KACvDV;YAEN,IAAIM,KAAK,CAACI,SAAS,KAAK,MAAM;gBAC5BJ,KAAK,CAACI,SAAS,GAAG,CAAC;YACrB;YAEA,6DAA6D;YAC7D,IAAIJ,KAAK,CAACI,SAAS,KAAK,OAAO;gBAC7BJ,KAAK,CAACI,SAAS,GAAG;oBAAEC,IAAI;wBAAEC,QAAQ;oBAAM;gBAAE;YAC5C;QACF;IAEJ;IAEA,OAAON;AACT,EAAC"}