@payloadcms/ui 3.0.0-alpha.60 → 3.0.0-alpha.61

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 (399) 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 +4 -1
  6. package/dist/elements/Autosave/index.js.map +1 -1
  7. package/dist/elements/Banner/index.js.map +1 -1
  8. package/dist/elements/Button/index.js.map +1 -1
  9. package/dist/elements/Button/types.js.map +1 -1
  10. package/dist/elements/Card/index.js.map +1 -1
  11. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  12. package/dist/elements/CodeEditor/index.js.map +1 -1
  13. package/dist/elements/CodeEditor/types.js.map +1 -1
  14. package/dist/elements/Collapsible/index.js.map +1 -1
  15. package/dist/elements/Collapsible/provider.js.map +1 -1
  16. package/dist/elements/ColumnSelector/index.js.map +1 -1
  17. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  18. package/dist/elements/DatePicker/DatePicker.js +4 -4
  19. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  20. package/dist/elements/DatePicker/getFormattedLocale.d.ts +2 -0
  21. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -0
  22. package/dist/elements/DatePicker/getFormattedLocale.js +12 -0
  23. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -0
  24. package/dist/elements/DatePicker/index.js.map +1 -1
  25. package/dist/elements/DatePicker/types.js.map +1 -1
  26. package/dist/elements/DeleteDocument/index.js.map +1 -1
  27. package/dist/elements/DeleteMany/index.js.map +1 -1
  28. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  29. package/dist/elements/DocumentControls/index.js +20 -4
  30. package/dist/elements/DocumentControls/index.js.map +1 -1
  31. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  32. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  33. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  34. package/dist/elements/DocumentFields/index.js.map +1 -1
  35. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  36. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  37. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  38. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
  39. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
  40. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  41. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  42. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  43. package/dist/elements/DocumentHeader/index.js.map +1 -1
  44. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  45. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  46. package/dist/elements/DraggableSortable/index.js.map +1 -1
  47. package/dist/elements/DraggableSortable/types.js.map +1 -1
  48. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  49. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  50. package/dist/elements/Drawer/index.js.map +1 -1
  51. package/dist/elements/Drawer/types.js.map +1 -1
  52. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  53. package/dist/elements/Dropzone/index.js.map +1 -1
  54. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  55. package/dist/elements/EditMany/index.js.map +1 -1
  56. package/dist/elements/EditUpload/index.js.map +1 -1
  57. package/dist/elements/ErrorPill/index.js.map +1 -1
  58. package/dist/elements/FieldSelect/index.js.map +1 -1
  59. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  60. package/dist/elements/FileDetails/index.js.map +1 -1
  61. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  62. package/dist/elements/Gutter/index.js.map +1 -1
  63. package/dist/elements/Hamburger/index.js.map +1 -1
  64. package/dist/elements/HydrateClientUser/index.js.map +1 -1
  65. package/dist/elements/IDLabel/index.js.map +1 -1
  66. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  67. package/dist/elements/ListControls/index.js.map +1 -1
  68. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  69. package/dist/elements/ListDrawer/index.js.map +1 -1
  70. package/dist/elements/ListDrawer/types.js.map +1 -1
  71. package/dist/elements/ListSelection/index.js.map +1 -1
  72. package/dist/elements/Loading/index.js.map +1 -1
  73. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  74. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  75. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  76. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  77. package/dist/elements/Localizer/index.js.map +1 -1
  78. package/dist/elements/Logout/index.js.map +1 -1
  79. package/dist/elements/Modal/index.js.map +1 -1
  80. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  81. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  82. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  83. package/dist/elements/Nav/context.js.map +1 -1
  84. package/dist/elements/Nav/index.client.js.map +1 -1
  85. package/dist/elements/Nav/index.js.map +1 -1
  86. package/dist/elements/NavGroup/index.js.map +1 -1
  87. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  88. package/dist/elements/Pagination/Page/index.js.map +1 -1
  89. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  90. package/dist/elements/Pagination/index.js.map +1 -1
  91. package/dist/elements/PerPage/index.js.map +1 -1
  92. package/dist/elements/Pill/index.js.map +1 -1
  93. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  94. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  95. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  96. package/dist/elements/Popup/index.js.map +1 -1
  97. package/dist/elements/PreviewButton/index.js.map +1 -1
  98. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  99. package/dist/elements/PreviewSizes/index.js.map +1 -1
  100. package/dist/elements/Publish/index.js.map +1 -1
  101. package/dist/elements/PublishMany/index.js.map +1 -1
  102. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  103. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  104. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  105. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  106. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  107. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  108. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  109. package/dist/elements/ReactSelect/index.js.map +1 -1
  110. package/dist/elements/ReactSelect/types.js.map +1 -1
  111. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  112. package/dist/elements/RenderTitle/index.js.map +1 -1
  113. package/dist/elements/Save/index.js.map +1 -1
  114. package/dist/elements/SaveDraft/index.js.map +1 -1
  115. package/dist/elements/SearchFilter/index.js.map +1 -1
  116. package/dist/elements/SelectAll/index.js.map +1 -1
  117. package/dist/elements/SelectRow/index.js.map +1 -1
  118. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  119. package/dist/elements/SortColumn/index.js.map +1 -1
  120. package/dist/elements/SortComplex/index.js.map +1 -1
  121. package/dist/elements/Status/index.js.map +1 -1
  122. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  123. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  124. package/dist/elements/StepNav/index.d.ts +2 -1
  125. package/dist/elements/StepNav/index.d.ts.map +1 -1
  126. package/dist/elements/StepNav/index.js.map +1 -1
  127. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  128. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  129. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  130. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  131. package/dist/elements/Table/DefaultCell/fields/Date/index.js +5 -1
  132. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  133. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  134. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  135. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  136. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  137. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  138. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  139. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  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/columnReducer.js.map +1 -1
  146. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  147. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  148. package/dist/elements/TableColumns/index.js.map +1 -1
  149. package/dist/elements/Thumbnail/index.js.map +1 -1
  150. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  151. package/dist/elements/Tooltip/index.js.map +1 -1
  152. package/dist/elements/Translation/index.js.map +1 -1
  153. package/dist/elements/UnpublishMany/index.js.map +1 -1
  154. package/dist/elements/Upload/index.js.map +1 -1
  155. package/dist/elements/ViewDescription/index.js.map +1 -1
  156. package/dist/elements/ViewDescription/types.js.map +1 -1
  157. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  158. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  159. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  160. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  161. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  162. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  163. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  164. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  165. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  166. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  167. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  168. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  169. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  170. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  171. package/dist/elements/WhereBuilder/index.js.map +1 -1
  172. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  173. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -1
  174. package/dist/elements/WhereBuilder/types.js.map +1 -1
  175. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  176. package/dist/elements/WindowInfo/index.js.map +1 -1
  177. package/dist/elements/withMergedProps/index.js.map +1 -1
  178. package/dist/exports/elements.js.map +1 -1
  179. package/dist/fields/Array/ArrayRow.js.map +1 -1
  180. package/dist/fields/Array/index.js.map +1 -1
  181. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  182. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  183. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  184. package/dist/fields/Blocks/RowActions.js.map +1 -1
  185. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  186. package/dist/fields/Blocks/index.js.map +1 -1
  187. package/dist/fields/Checkbox/Input.js.map +1 -1
  188. package/dist/fields/Checkbox/index.js.map +1 -1
  189. package/dist/fields/Checkbox/types.js.map +1 -1
  190. package/dist/fields/Code/index.js.map +1 -1
  191. package/dist/fields/Collapsible/index.js.map +1 -1
  192. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  193. package/dist/fields/DateTime/index.js.map +1 -1
  194. package/dist/fields/Email/index.js.map +1 -1
  195. package/dist/fields/Group/index.js.map +1 -1
  196. package/dist/fields/Group/provider.js.map +1 -1
  197. package/dist/fields/HiddenInput/index.js.map +1 -1
  198. package/dist/fields/JSON/index.js.map +1 -1
  199. package/dist/fields/Number/index.js.map +1 -1
  200. package/dist/fields/Password/index.js.map +1 -1
  201. package/dist/fields/Point/index.js.map +1 -1
  202. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  203. package/dist/fields/RadioGroup/index.js.map +1 -1
  204. package/dist/fields/Relationship/AddNew/index.js.map +1 -1
  205. package/dist/fields/Relationship/AddNew/types.js.map +1 -1
  206. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
  207. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  208. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  209. package/dist/fields/Relationship/index.js.map +1 -1
  210. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  211. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  212. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  213. package/dist/fields/Relationship/types.js.map +1 -1
  214. package/dist/fields/RichText/index.js.map +1 -1
  215. package/dist/fields/Row/index.js.map +1 -1
  216. package/dist/fields/Row/provider.js.map +1 -1
  217. package/dist/fields/Row/types.js.map +1 -1
  218. package/dist/fields/Select/index.js.map +1 -1
  219. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  220. package/dist/fields/Tabs/index.js.map +1 -1
  221. package/dist/fields/Tabs/provider.js.map +1 -1
  222. package/dist/fields/Text/Input.js.map +1 -1
  223. package/dist/fields/Text/index.js.map +1 -1
  224. package/dist/fields/Text/types.js.map +1 -1
  225. package/dist/fields/Textarea/Input.js.map +1 -1
  226. package/dist/fields/Textarea/index.js.map +1 -1
  227. package/dist/fields/Textarea/types.js.map +1 -1
  228. package/dist/fields/UI/index.js.map +1 -1
  229. package/dist/fields/Upload/Input.js.map +1 -1
  230. package/dist/fields/Upload/index.js.map +1 -1
  231. package/dist/fields/Upload/types.js.map +1 -1
  232. package/dist/fields/index.js.map +1 -1
  233. package/dist/fields/shared/index.js.map +1 -1
  234. package/dist/forms/FieldDescription/index.js.map +1 -1
  235. package/dist/forms/FieldError/index.js.map +1 -1
  236. package/dist/forms/FieldLabel/index.js.map +1 -1
  237. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  238. package/dist/forms/Form/context.js.map +1 -1
  239. package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
  240. package/dist/forms/Form/errorMessages.js.map +1 -1
  241. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  242. package/dist/forms/Form/fieldReducer.js +53 -0
  243. package/dist/forms/Form/fieldReducer.js.map +1 -1
  244. package/dist/forms/Form/getDataByPath.js.map +1 -1
  245. package/dist/forms/Form/getSiblingData.js.map +1 -1
  246. package/dist/forms/Form/index.d.ts.map +1 -1
  247. package/dist/forms/Form/index.js +3 -8
  248. package/dist/forms/Form/index.js.map +1 -1
  249. package/dist/forms/Form/initContextState.js.map +1 -1
  250. package/dist/forms/Form/mergeErrorPaths.js.map +1 -1
  251. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  252. package/dist/forms/Form/rows.js.map +1 -1
  253. package/dist/forms/Form/types.d.ts +8 -1
  254. package/dist/forms/Form/types.d.ts.map +1 -1
  255. package/dist/forms/Form/types.js.map +1 -1
  256. package/dist/forms/NullifyField/index.js.map +1 -1
  257. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  258. package/dist/forms/RenderFields/index.js.map +1 -1
  259. package/dist/forms/RenderFields/types.js.map +1 -1
  260. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  261. package/dist/forms/RowLabel/index.js.map +1 -1
  262. package/dist/forms/RowLabel/types.js.map +1 -1
  263. package/dist/forms/Submit/index.js.map +1 -1
  264. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  265. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js.map +1 -1
  266. package/dist/forms/WatchChildErrors/getNestedFieldState.js.map +1 -1
  267. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  268. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  269. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
  270. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
  271. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
  272. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  273. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
  274. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  275. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  276. package/dist/forms/useField/index.js.map +1 -1
  277. package/dist/forms/useField/types.js.map +1 -1
  278. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  279. package/dist/forms/withCondition/index.js.map +1 -1
  280. package/dist/graphics/Account/Default/index.js.map +1 -1
  281. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  282. package/dist/graphics/Account/index.js.map +1 -1
  283. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  284. package/dist/graphics/ExternalLink/index.js.map +1 -1
  285. package/dist/graphics/File/index.js.map +1 -1
  286. package/dist/graphics/Icon/index.js.map +1 -1
  287. package/dist/graphics/Logo/index.js.map +1 -1
  288. package/dist/graphics/Search/index.js.map +1 -1
  289. package/dist/hooks/useDebounce.js.map +1 -1
  290. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  291. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  292. package/dist/hooks/useDelay.js.map +1 -1
  293. package/dist/hooks/useDelayedRender.js.map +1 -1
  294. package/dist/hooks/useHotkey.js.map +1 -1
  295. package/dist/hooks/useIntersect.js.map +1 -1
  296. package/dist/hooks/usePayloadAPI.js.map +1 -1
  297. package/dist/hooks/useResize.js.map +1 -1
  298. package/dist/hooks/useThrottledEffect.js.map +1 -1
  299. package/dist/hooks/useUseAsTitle.js.map +1 -1
  300. package/dist/icons/Calendar/index.js.map +1 -1
  301. package/dist/icons/Check/index.js.map +1 -1
  302. package/dist/icons/Chevron/index.js.map +1 -1
  303. package/dist/icons/CloseMenu/index.js.map +1 -1
  304. package/dist/icons/CodeBlock/index.js.map +1 -1
  305. package/dist/icons/Copy/index.js.map +1 -1
  306. package/dist/icons/DragHandle/index.js.map +1 -1
  307. package/dist/icons/Edit/index.js.map +1 -1
  308. package/dist/icons/Line/index.js.map +1 -1
  309. package/dist/icons/Link/index.js.map +1 -1
  310. package/dist/icons/LogOut/index.js.map +1 -1
  311. package/dist/icons/Menu/index.js.map +1 -1
  312. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  313. package/dist/icons/More/index.js.map +1 -1
  314. package/dist/icons/Plus/index.js.map +1 -1
  315. package/dist/icons/Search/index.js.map +1 -1
  316. package/dist/icons/Swap/index.js.map +1 -1
  317. package/dist/icons/X/index.js.map +1 -1
  318. package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
  319. package/dist/providers/Actions/index.js.map +1 -1
  320. package/dist/providers/Auth/index.js.map +1 -1
  321. package/dist/providers/ClientFunction/index.js.map +1 -1
  322. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
  323. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +3 -1
  324. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  325. package/dist/providers/ComponentMap/buildComponentMap/collections.js +2 -1
  326. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  327. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +2 -0
  328. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  329. package/dist/providers/ComponentMap/buildComponentMap/fields.js +30 -7
  330. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  331. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +3 -1
  332. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
  333. package/dist/providers/ComponentMap/buildComponentMap/globals.js +2 -1
  334. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  335. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +2 -0
  336. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  337. package/dist/providers/ComponentMap/buildComponentMap/index.js +3 -1
  338. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  339. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  340. package/dist/providers/ComponentMap/index.js.map +1 -1
  341. package/dist/providers/Config/index.js.map +1 -1
  342. package/dist/providers/DocumentEvents/index.js.map +1 -1
  343. package/dist/providers/DocumentInfo/index.js.map +1 -1
  344. package/dist/providers/DocumentInfo/types.js.map +1 -1
  345. package/dist/providers/EditDepth/index.js.map +1 -1
  346. package/dist/providers/EntityVisibility/index.js.map +1 -1
  347. package/dist/providers/FieldComponents/index.js.map +1 -1
  348. package/dist/providers/FormQueryParams/index.js.map +1 -1
  349. package/dist/providers/FormQueryParams/types.js.map +1 -1
  350. package/dist/providers/ListInfo/index.js.map +1 -1
  351. package/dist/providers/ListQuery/index.js.map +1 -1
  352. package/dist/providers/Locale/index.js.map +1 -1
  353. package/dist/providers/Operation/index.js.map +1 -1
  354. package/dist/providers/Params/index.js.map +1 -1
  355. package/dist/providers/Preferences/index.js.map +1 -1
  356. package/dist/providers/Root/index.d.ts +4 -3
  357. package/dist/providers/Root/index.d.ts.map +1 -1
  358. package/dist/providers/Root/index.js +3 -2
  359. package/dist/providers/Root/index.js.map +1 -1
  360. package/dist/providers/RouteCache/index.js.map +1 -1
  361. package/dist/providers/SearchParams/index.js.map +1 -1
  362. package/dist/providers/Selection/index.js.map +1 -1
  363. package/dist/providers/Theme/index.js.map +1 -1
  364. package/dist/providers/Translation/index.d.ts +4 -3
  365. package/dist/providers/Translation/index.d.ts.map +1 -1
  366. package/dist/providers/Translation/index.js +20 -6
  367. package/dist/providers/Translation/index.js.map +1 -1
  368. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  369. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  370. package/dist/templates/Default/index.js.map +1 -1
  371. package/dist/templates/Minimal/index.js.map +1 -1
  372. package/dist/utilities/api.js.map +1 -1
  373. package/dist/utilities/arraysHaveSameStrings.js.map +1 -1
  374. package/dist/utilities/buildComponentMap.js.map +1 -1
  375. package/dist/utilities/canUseDOM.js.map +1 -1
  376. package/dist/utilities/dateLocales.js.map +1 -1
  377. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  378. package/dist/utilities/flattenFieldMap.js.map +1 -1
  379. package/dist/utilities/formatDate.d.ts +13 -2
  380. package/dist/utilities/formatDate.d.ts.map +1 -1
  381. package/dist/utilities/formatDate.js +4 -7
  382. package/dist/utilities/formatDate.js.map +1 -1
  383. package/dist/utilities/formatDocTitle.js +5 -1
  384. package/dist/utilities/formatDocTitle.js.map +1 -1
  385. package/dist/utilities/formatFields.js.map +1 -1
  386. package/dist/utilities/generateFieldID.js.map +1 -1
  387. package/dist/utilities/getFormState.js.map +1 -1
  388. package/dist/utilities/getOffsetTop.js.map +1 -1
  389. package/dist/utilities/getRequestLanguage.js.map +1 -1
  390. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  391. package/dist/utilities/groupNavItems.js.map +1 -1
  392. package/dist/utilities/reduceFieldsToValues.js.map +1 -1
  393. package/dist/utilities/scrollToID.js.map +1 -1
  394. package/dist/utilities/setsAreEqual.js.map +1 -1
  395. package/package.json +4 -4
  396. package/dist/utilities/getDateLocale.d.ts +0 -7
  397. package/dist/utilities/getDateLocale.d.ts.map +0 -1
  398. package/dist/utilities/getDateLocale.js +0 -16
  399. package/dist/utilities/getDateLocale.js.map +0 -1
@@ -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"],"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,oBAAChB,4BACC,oBAACC;QACCc,SAASA;QACTc,IAAI,CAAC,MAAM,EAAEpB,KAAKqB,OAAO,CAAC,OAAO,MAAM,CAAC;QACxCC,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 { 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,oBAAChB,4BACC,oBAACC;QACCc,SAASA;QACTc,IAAI,CAAC,MAAM,EAAEpB,KAAKqB,OAAO,CAAC,OAAO,MAAM,CAAC;QACxCC,OAAOZ,EAAE;;AAKjB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/RenderFields/RenderField.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldTypes } from 'payload/config'\nimport type { FieldPermissions } from 'payload/types'\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 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 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 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","disabled","fieldComponentProps","indexPath","isHidden","path","pathFromProps","permissions","readOnly","readOnlyFromProps","schemaPath","schemaPathFromProps","siblingPermissions","operation","readOnlyFromContext","fieldComponents","filter","Boolean","join","read","permission","DefaultField","undefined"],"mappings":"AAAA;AAKA,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;AAmBlF,OAAO,MAAMC,cAA+B,CAAC,EAC3CC,IAAI,EACJC,IAAI,EACJC,WAAW,EACXC,QAAQ,EACRC,mBAAmB,EACnBC,SAAS,EACTC,QAAQ,EACRC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,YAAYC,mBAAmB,EAC/BC,kBAAkB,EACnB;IACC,MAAMC,YAAYnB;IAClB,MAAM,EAAEc,UAAUM,mBAAmB,EAAE,GAAGlB;IAC1C,MAAMmB,kBAAkBtB;IAExB,MAAMY,OAAO;QAACC;QAAeR;KAAK,CAACkB,MAAM,CAACC,SAASC,IAAI,CAAC;IACxD,MAAMR,aAAa;QAACC;QAAqBb;KAAK,CAACkB,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,WAAWZ,cAAcuB,eAAe,CAAChB,KAAK;IAEnE,IAAIC,gBAAgBsB,aAAa,CAACD,cAAc;QAC9C,OAAO;IACT;IAEA,qBACE,oBAAC1B;QACCQ,WAAWA;QACXE,MAAMA;QACNE,aAAaA;QACbC,UAAUA;QACVE,YAAYA;QACZE,oBAAoBA;QACpBb,MAAMA;OAELC,gBAAgBsB,YAAYtB,4BAAc,oBAACqB,cAAiBnB;AAGnE,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/RenderFields/RenderField.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldTypes } from 'payload/config'\nimport type { FieldPermissions } from 'payload/types'\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 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 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 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","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;AAKA,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;AAmBlF,OAAO,MAAMC,cAA+B,CAAC,EAC3CC,IAAI,EACJC,IAAI,EACJC,WAAW,EACXC,QAAQ,EACRC,mBAAmB,EACnBC,SAAS,EACTC,QAAQ,EACRC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,YAAYC,mBAAmB,EAC/BC,kBAAkB,EACnB;IACC,MAAMC,YAAYnB;IAClB,MAAM,EAAEc,UAAUM,mBAAmB,EAAE,GAAGlB;IAC1C,MAAMmB,kBAAkBtB;IAExB,MAAMY,OAAO;QAACC;QAAeR;KAAK,CAACkB,MAAM,CAACC,SAASC,IAAI,CAAC;IACxD,MAAMR,aAAa;QAACC;QAAqBb;KAAK,CAACkB,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,WAAWZ,cAAcuB,eAAe,CAAChB,KAAK;IAEnE,IAAIC,gBAAgBsB,aAAa,CAACD,cAAc;QAC9C,OAAO;IACT;IAEA,qBACE,oBAAC1B;QACCQ,WAAWA;QACXE,MAAMA;QACNE,aAAaA;QACbC,UAAUA;QACVE,YAAYA;QACZE,oBAAoBA;QACpBb,MAAMA;OAELC,gBAAgBsB,YAAYtB,4BAAc,oBAACqB,cAAiBnB;AAGnE,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 forceRender,\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 disabled,\n fieldComponentProps,\n fieldComponentProps: { readOnly },\n isHidden,\n } = f\n\n const name = 'name' in f ? f.name : undefined\n\n return (\n <RenderField\n CustomField={CustomField}\n disabled={disabled}\n fieldComponentProps={fieldComponentProps}\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","disabled","fieldComponentProps","readOnly","isHidden","name","undefined","key","siblingPermissions"],"mappings":"AAAA;AACA,OAAOA,WAAW,QAAO;AAIzB,SAASC,YAAY,QAAQ,8BAA6B;AAC1D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,WAAW,QAAQ,mBAAkB;AAG9C,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,GACAb;IAEF,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,oBAAC0B;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;WAEJJ,eACCR,UAAU8B,IAAI,CAACC,GAAGC;YAChB,MAAM,EACJC,IAAI,EACJC,WAAW,EACXC,QAAQ,EACRC,mBAAmB,EACnBA,qBAAqB,EAAEC,QAAQ,EAAE,EACjCC,QAAQ,EACT,GAAGP;YAEJ,MAAMQ,OAAO,UAAUR,IAAIA,EAAEQ,IAAI,GAAGC;YAEpC,qBACE,oBAAC7C;gBACCuC,aAAaA;gBACbC,UAAUA;gBACVC,qBAAqBA;gBACrBlC,WAAWA,cAAcsC,YAAY,CAAC,EAAEtC,UAAU,CAAC,EAAE8B,WAAW,CAAC,GAAG,CAAC,EAAEA,WAAW,CAAC;gBACnFM,UAAUA;gBACVG,KAAKT;gBACLO,MAAMA;gBACNnC,MAAMA;gBACNC,aAAaA,aAAa,CAACkC,KAAK;gBAChCF,UAAUA;gBACV/B,YAAYA;gBACZoC,oBAAoBrC;gBACpB4B,MAAMA;;QAGZ;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 forceRender,\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 disabled,\n fieldComponentProps,\n fieldComponentProps: { readOnly },\n isHidden,\n } = f\n\n const name = 'name' in f ? f.name : undefined\n\n return (\n <RenderField\n CustomField={CustomField}\n disabled={disabled}\n fieldComponentProps={fieldComponentProps}\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","disabled","fieldComponentProps","readOnly","isHidden","name","undefined","key","siblingPermissions"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,OAAOA,WAAW,QAAO;AAIzB,SAASC,YAAY,QAAQ,8BAA6B;AAC1D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,WAAW,QAAQ,mBAAkB;AAG9C,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,GACAb;IAEF,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,oBAAC0B;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;WAEJJ,eACCR,UAAU8B,IAAI,CAACC,GAAGC;YAChB,MAAM,EACJC,IAAI,EACJC,WAAW,EACXC,QAAQ,EACRC,mBAAmB,EACnBA,qBAAqB,EAAEC,QAAQ,EAAE,EACjCC,QAAQ,EACT,GAAGP;YAEJ,MAAMQ,OAAO,UAAUR,IAAIA,EAAEQ,IAAI,GAAGC;YAEpC,qBACE,oBAAC7C;gBACCuC,aAAaA;gBACbC,UAAUA;gBACVC,qBAAqBA;gBACrBlC,WAAWA,cAAcsC,YAAY,CAAC,EAAEtC,UAAU,CAAC,EAAE8B,WAAW,CAAC,GAAG,CAAC,EAAEA,WAAW,CAAC;gBACnFM,UAAUA;gBACVG,KAAKT;gBACLO,MAAMA;gBACNnC,MAAMA;gBACNC,aAAaA,aAAa,CAACkC,KAAK;gBAChCF,UAAUA;gBACV/B,YAAYA;gBACZoC,oBAAoBrC;gBACpB4B,MAAMA;;QAGZ;IAGR;IAEA,OAAO;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/RenderFields/types.ts"],"sourcesContent":["import type { FieldPermissions, Operation } from 'payload/types'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nexport type Props = {\n className?: string\n fieldMap: FieldMap\n forceRender?: boolean\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,WAaC"}
1
+ {"version":3,"sources":["../../../src/forms/RenderFields/types.ts"],"sourcesContent":["import type { FieldPermissions, Operation } from 'payload/types'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nexport type Props = {\n className?: string\n fieldMap: FieldMap\n forceRender?: boolean\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,WAaC"}
@@ -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"],"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,oBAACV,SAASY,QAAQ;QAACC,OAAO;YAAEX;YAAMC;YAAMC;QAAU;OAAIG;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"],"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,oBAACV,SAASY,QAAQ;QAACC,OAAO;YAAEX;YAAMC;YAAMC;QAAU;OAAIG;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 { Props } from './types.js'\n\nimport { RowLabelProvider } from '../RowLabel/Context/index.js'\n\nconst baseClass = 'row-label'\n\nexport const RowLabel: React.FC<Props> = (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;AAIzB,SAASC,gBAAgB,QAAQ,+BAA8B;AAE/D,MAAMC,YAAY;AAElB,OAAO,MAAMC,WAA4B,CAACC;IACxC,MAAM,EAAEC,iBAAiB,EAAEC,SAAS,EAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGN;IAE1E,IAAIC,mBAAmB;QACrB,qBACE,oBAACJ;YAAiBO,MAAMA;YAAME,WAAWA;WACtCL;IAGP;IAEA,MAAMM,QAAQF,WACV,OAAOA,aAAa,WAClBV,eAAeU,UAAUF,QACzB,OAAOE,aAAa,WAClBA,WACA,KACJ;IAEJ,qBACE,oBAACG;QACCN,WAAW;YAACJ;YAAWI;SAAU,CAACO,MAAM,CAACC,SAASC,IAAI,CAAC;QACvDC,OAAO;YACLC,eAAe;QACjB;OAECN;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/RowLabel/index.tsx"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { RowLabelProvider } from '../RowLabel/Context/index.js'\n\nconst baseClass = 'row-label'\n\nexport const RowLabel: React.FC<Props> = (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;AAIzB,SAASC,gBAAgB,QAAQ,+BAA8B;AAE/D,MAAMC,YAAY;AAElB,OAAO,MAAMC,WAA4B,CAACC;IACxC,MAAM,EAAEC,iBAAiB,EAAEC,SAAS,EAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGN;IAE1E,IAAIC,mBAAmB;QACrB,qBACE,oBAACJ;YAAiBO,MAAMA;YAAME,WAAWA;WACtCL;IAGP;IAEA,MAAMM,QAAQF,WACV,OAAOA,aAAa,WAClBV,eAAeU,UAAUF,QACzB,OAAOE,aAAa,WAClBA,WACA,KACJ;IAEJ,qBACE,oBAACG;QACCN,WAAW;YAACJ;YAAWI;SAAU,CAACO,MAAM,CAACC,SAASC,IAAI,CAAC;QACvDC,OAAO;YACLC,eAAe;QACjB;OAECN;AAGP,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/RowLabel/types.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { LabelProps, RowLabel, RowLabelComponent } from 'payload/types'\n\nimport React from 'react'\n\nexport type Props = {\n RowLabelComponent?: React.ReactNode\n className?: string\n i18n: I18n\n path: string\n rowLabel?: LabelProps['label']\n rowNumber?: number\n}\n\nexport function isComponent(label: RowLabel): label is RowLabelComponent {\n return React.isValidElement(label)\n}\n"],"names":["React","isComponent","label","isValidElement"],"mappings":"AAGA,OAAOA,WAAW,QAAO;AAWzB,OAAO,SAASC,YAAYC,KAAe;IACzC,OAAOF,MAAMG,cAAc,CAACD;AAC9B"}
1
+ {"version":3,"sources":["../../../src/forms/RowLabel/types.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { LabelProps, RowLabel, RowLabelComponent } from 'payload/types'\n\nimport React from 'react'\n\nexport type Props = {\n RowLabelComponent?: React.ReactNode\n className?: string\n i18n: I18n\n path: string\n rowLabel?: LabelProps['label']\n rowNumber?: number\n}\n\nexport function isComponent(label: RowLabel): label is RowLabelComponent {\n return React.isValidElement(label)\n}\n"],"names":["React","isComponent","label","isValidElement"],"rangeMappings":";;;","mappings":"AAGA,OAAOA,WAAW,QAAO;AAWzB,OAAO,SAASC,YAAYC,KAAe;IACzC,OAAOF,MAAMG,cAAc,CAACD;AAC9B"}
@@ -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, 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 { disabled } = useForm()\n const canSave = !(disabledFromProps || 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","useFormProcessing","baseClass","FormSubmit","props","ref","type","buttonId","id","children","disabled","disabledFromProps","processing","canSave","div","className","undefined"],"mappings":"AAAA;AACA,OAAOA,SAASC,UAAU,QAAQ,QAAO;AAIzC,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,OAAO,EAAEC,iBAAiB,QAAQ,qBAAoB;AAG/D,MAAMC,YAAY;AAElB,OAAO,MAAMC,2BAAaL,WAAqC,CAACM,OAAOC;IACrE,MAAM,EAAEC,OAAO,QAAQ,EAAEC,UAAUC,EAAE,EAAEC,QAAQ,EAAEC,UAAUC,iBAAiB,EAAE,GAAGP;IACjF,MAAMQ,aAAaX;IACnB,MAAM,EAAES,QAAQ,EAAE,GAAGV;IACrB,MAAMa,UAAU,CAAEF,CAAAA,qBAAqBC,cAAcF,QAAO;IAE5D,qBACE,oBAACI;QAAIC,WAAWb;qBACd,oBAACH;QAAOM,KAAKA;QAAM,GAAGD,KAAK;QAAEM,UAAUG,UAAUG,YAAY;QAAMR,IAAIA;QAAIF,MAAMA;OAC9EG;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, 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 { disabled } = useForm()\n const canSave = !(disabledFromProps || 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","useFormProcessing","baseClass","FormSubmit","props","ref","type","buttonId","id","children","disabled","disabledFromProps","processing","canSave","div","className","undefined"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,OAAOA,SAASC,UAAU,QAAQ,QAAO;AAIzC,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,OAAO,EAAEC,iBAAiB,QAAQ,qBAAoB;AAG/D,MAAMC,YAAY;AAElB,OAAO,MAAMC,2BAAaL,WAAqC,CAACM,OAAOC;IACrE,MAAM,EAAEC,OAAO,QAAQ,EAAEC,UAAUC,EAAE,EAAEC,QAAQ,EAAEC,UAAUC,iBAAiB,EAAE,GAAGP;IACjF,MAAMQ,aAAaX;IACnB,MAAM,EAAES,QAAQ,EAAE,GAAGV;IACrB,MAAMa,UAAU,CAAEF,CAAAA,qBAAqBC,cAAcF,QAAO;IAE5D,qBACE,oBAACI;QAAIC,WAAWb;qBACd,oBAACH;QAAOM,KAAKA;QAAM,GAAGD,KAAK;QAAEM,UAAUG,UAAUG,YAAY;QAAMR,IAAIA;QAAIF,MAAMA;OAC9EG;AAIT,GAAE"}
@@ -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"],"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"],"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 +1 @@
1
- {"version":3,"sources":["../../../src/forms/WatchChildErrors/getFieldStateFromPaths.ts"],"sourcesContent":["import type { FormState } from 'payload/types'\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
+ {"version":3,"sources":["../../../src/forms/WatchChildErrors/getFieldStateFromPaths.ts"],"sourcesContent":["import type { FormState } from 'payload/types'\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 +1 @@
1
- {"version":3,"sources":["../../../src/forms/WatchChildErrors/getNestedFieldState.ts"],"sourcesContent":["import type { Field, FormState } from 'payload/types'\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
+ {"version":3,"sources":["../../../src/forms/WatchChildErrors/getNestedFieldState.ts"],"sourcesContent":["import type { Field, FormState } from 'payload/types'\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 +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"],"mappings":"AAAA;AAKA,OAAOA,wBAAwB,oCAAmC;AAClE,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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAKA,OAAOA,wBAAwB,oCAAmC;AAClE,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,"sources":["../../../src/forms/buildStateFromSchema/addFieldStatePromise.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { Data, Field, FormField, FormState, PayloadRequest } from 'payload/types'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/types'\n\nimport { getFilterOptionsQuery } from './getFilterOptionsQuery.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (path: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n data: Data\n field: Field\n fieldIndex: number\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n passesCondition: boolean\n path: string\n preferences: {\n [key: string]: unknown\n }\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormState\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n data,\n field,\n fieldIndex,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (fieldAffectsData(field)) {\n const validate = field.validate\n\n const fieldState: FormField = {\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name] as string)\n } catch (e) {\n jsonError = e\n }\n }\n\n validationResult = await validate(data?.[field.name], {\n ...field,\n id,\n data: fullData,\n operation,\n req,\n siblingData: data,\n // @ts-expect-error-next-line\n jsonError,\n })\n }\n\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(`${path}${field.name}`)\n } else {\n fieldState.valid = true\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = arrayValue.reduce(\n (acc, row, i) => {\n const rowPath = `${path}${field.name}.${i}.`\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}id`] = {\n fieldSchema: includeSchema\n ? field.fields.find((field) => 'name' in field && field.name === 'id')\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: row,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i) => {\n const block = field.blocks.find((blockType) => blockType.slug === row.blockType)\n const rowPath = `${path}${field.name}.${i}.`\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}id`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'id',\n )\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n\n state[`${rowPath}blockType`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n : undefined,\n initialValue: row.blockType,\n valid: true,\n value: row.blockType,\n }\n\n state[`${rowPath}blockName`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n : undefined,\n initialValue: row.blockName,\n valid: true,\n value: row.blockName,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: row,\n fields: block.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n blockType: row.blockType,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[`${path}${field.name}`] = fieldState\n }\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: data?.[field.name] || {},\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: `${path}${field.name}.`,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n\n case 'relationship': {\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'upload': {\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n default: {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n\n // Add field to state\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field)) {\n // Handle field types that do not use names (row, etc)\n\n if (!filter || filter(args)) {\n state[`${path}_index-${fieldIndex}`] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n\n await iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: field.localized || anyParentLocalized,\n data,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab) => {\n const isNamedTab = tabHasName(tab)\n\n return iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n data: isNamedTab ? data?.[tab.name] || {} : data,\n fields: tab.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: isNamedTab ? `${path}${tab.name}.` : path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n })\n\n await Promise.all(promises)\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[`${path}_index-${fieldIndex}`] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n }\n}\n"],"names":["ObjectIdImport","fieldAffectsData","fieldHasSubFields","tabHasName","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","data","field","fieldIndex","filter","forceFullValue","fullData","includeSchema","omitParents","operation","passesCondition","path","preferences","req","skipConditionChecks","skipValidation","state","validate","fieldState","errorPaths","fieldSchema","undefined","initialValue","valid","value","validationResult","jsonError","type","name","JSON","parse","e","siblingData","errorPath","includes","push","errorMessage","arrayValue","Array","isArray","promises","rowMetadata","reduce","acc","row","i","rowPath","toHexString","fields","find","localized","parentPassesCondition","collapsedRowIDs","collapsed","admin","initCollapsed","Promise","all","length","disableFormData","rows","blocksValue","block","blocks","blockType","slug","blockField","blockName","filterOptions","query","relationTo","user","hasMany","relationshipValue","map","relationship","tabs","tab","isNamedTab"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/forms/buildStateFromSchema/addFieldStatePromise.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { Data, Field, FormField, FormState, PayloadRequest } from 'payload/types'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/types'\n\nimport { getFilterOptionsQuery } from './getFilterOptionsQuery.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (path: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n data: Data\n field: Field\n fieldIndex: number\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n passesCondition: boolean\n path: string\n preferences: {\n [key: string]: unknown\n }\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormState\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n data,\n field,\n fieldIndex,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (fieldAffectsData(field)) {\n const validate = field.validate\n\n const fieldState: FormField = {\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name] as string)\n } catch (e) {\n jsonError = e\n }\n }\n\n validationResult = await validate(data?.[field.name], {\n ...field,\n id,\n data: fullData,\n operation,\n req,\n siblingData: data,\n // @ts-expect-error-next-line\n jsonError,\n })\n }\n\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(`${path}${field.name}`)\n } else {\n fieldState.valid = true\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = arrayValue.reduce(\n (acc, row, i) => {\n const rowPath = `${path}${field.name}.${i}.`\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}id`] = {\n fieldSchema: includeSchema\n ? field.fields.find((field) => 'name' in field && field.name === 'id')\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: row,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i) => {\n const block = field.blocks.find((blockType) => blockType.slug === row.blockType)\n const rowPath = `${path}${field.name}.${i}.`\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}id`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'id',\n )\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n\n state[`${rowPath}blockType`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n : undefined,\n initialValue: row.blockType,\n valid: true,\n value: row.blockType,\n }\n\n state[`${rowPath}blockName`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n : undefined,\n initialValue: row.blockName,\n valid: true,\n value: row.blockName,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: row,\n fields: block.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n blockType: row.blockType,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[`${path}${field.name}`] = fieldState\n }\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: data?.[field.name] || {},\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: `${path}${field.name}.`,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n\n case 'relationship': {\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'upload': {\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n default: {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n\n // Add field to state\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field)) {\n // Handle field types that do not use names (row, etc)\n\n if (!filter || filter(args)) {\n state[`${path}_index-${fieldIndex}`] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n\n await iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: field.localized || anyParentLocalized,\n data,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab) => {\n const isNamedTab = tabHasName(tab)\n\n return iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n data: isNamedTab ? data?.[tab.name] || {} : data,\n fields: tab.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: isNamedTab ? `${path}${tab.name}.` : path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n })\n\n await Promise.all(promises)\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[`${path}_index-${fieldIndex}`] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n }\n}\n"],"names":["ObjectIdImport","fieldAffectsData","fieldHasSubFields","tabHasName","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","data","field","fieldIndex","filter","forceFullValue","fullData","includeSchema","omitParents","operation","passesCondition","path","preferences","req","skipConditionChecks","skipValidation","state","validate","fieldState","errorPaths","fieldSchema","undefined","initialValue","valid","value","validationResult","jsonError","type","name","JSON","parse","e","siblingData","errorPath","includes","push","errorMessage","arrayValue","Array","isArray","promises","rowMetadata","reduce","acc","row","i","rowPath","toHexString","fields","find","localized","parentPassesCondition","collapsedRowIDs","collapsed","admin","initCollapsed","Promise","all","length","disableFormData","rows","blocksValue","block","blocks","blockType","slug","blockField","blockName","filterOptions","query","relationTo","user","hasMany","relationshipValue","map","relationship","tabs","tab","isNamedTab"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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"],"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"],"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 +1 @@
1
- {"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/index.ts"],"sourcesContent":["import type { Data, Field as FieldSchema, PayloadRequest } from 'payload/types'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n data: Data\n fields: FieldSchema[]\n id?: number | string\n req: PayloadRequest\n siblingData: Data\n}\n\nexport const calculateDefaultValues = async ({ id, data, fields, req }: Args): Promise<Data> => {\n await iterateFields({\n id,\n data,\n fields,\n req,\n siblingData: data,\n })\n\n return data\n}\n"],"names":["iterateFields","calculateDefaultValues","id","data","fields","req","siblingData"],"mappings":"AAEA,SAASA,aAAa,QAAQ,qBAAoB;AAUlD,OAAO,MAAMC,yBAAyB,OAAO,EAAEC,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,GAAG,EAAQ;IAC1E,MAAML,cAAc;QAClBE;QACAC;QACAC;QACAC;QACAC,aAAaH;IACf;IAEA,OAAOA;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/index.ts"],"sourcesContent":["import type { Data, Field as FieldSchema, PayloadRequest } from 'payload/types'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n data: Data\n fields: FieldSchema[]\n id?: number | string\n req: PayloadRequest\n siblingData: Data\n}\n\nexport const calculateDefaultValues = async ({ id, data, fields, req }: Args): Promise<Data> => {\n await iterateFields({\n id,\n data,\n fields,\n req,\n siblingData: data,\n })\n\n return data\n}\n"],"names":["iterateFields","calculateDefaultValues","id","data","fields","req","siblingData"],"rangeMappings":";;;;;;;;;;","mappings":"AAEA,SAASA,aAAa,QAAQ,qBAAoB;AAUlD,OAAO,MAAMC,yBAAyB,OAAO,EAAEC,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,GAAG,EAAQ;IAC1E,MAAML,cAAc;QAClBE;QACAC;QACAC;QACAC;QACAC,aAAaH;IACf;IAEA,OAAOA;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.ts"],"sourcesContent":["import type { Data, Field, PayloadRequest, TabAsField } from 'payload/types'\n\nimport { defaultValuePromise } from './promise.js'\n\ntype Args<T> = {\n data: T\n fields: (Field | TabAsField)[]\n id?: number | string\n req: PayloadRequest\n siblingData: Data\n}\n\nexport const iterateFields = async <T>({\n id,\n data,\n fields,\n req,\n siblingData,\n}: Args<T>): Promise<void> => {\n const promises = []\n fields.forEach((field) => {\n promises.push(\n defaultValuePromise({\n id,\n data,\n field,\n req,\n siblingData,\n }),\n )\n })\n await Promise.all(promises)\n}\n"],"names":["defaultValuePromise","iterateFields","id","data","fields","req","siblingData","promises","forEach","field","push","Promise","all"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,eAAc;AAUlD,OAAO,MAAMC,gBAAgB,OAAU,EACrCC,EAAE,EACFC,IAAI,EACJC,MAAM,EACNC,GAAG,EACHC,WAAW,EACH;IACR,MAAMC,WAAW,EAAE;IACnBH,OAAOI,OAAO,CAAC,CAACC;QACdF,SAASG,IAAI,CACXV,oBAAoB;YAClBE;YACAC;YACAM;YACAJ;YACAC;QACF;IAEJ;IACA,MAAMK,QAAQC,GAAG,CAACL;AACpB,EAAC"}
1
+ {"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.ts"],"sourcesContent":["import type { Data, Field, PayloadRequest, TabAsField } from 'payload/types'\n\nimport { defaultValuePromise } from './promise.js'\n\ntype Args<T> = {\n data: T\n fields: (Field | TabAsField)[]\n id?: number | string\n req: PayloadRequest\n siblingData: Data\n}\n\nexport const iterateFields = async <T>({\n id,\n data,\n fields,\n req,\n siblingData,\n}: Args<T>): Promise<void> => {\n const promises = []\n fields.forEach((field) => {\n promises.push(\n defaultValuePromise({\n id,\n data,\n field,\n req,\n siblingData,\n }),\n )\n })\n await Promise.all(promises)\n}\n"],"names":["defaultValuePromise","iterateFields","id","data","fields","req","siblingData","promises","forEach","field","push","Promise","all"],"rangeMappings":";;;;;;;;;;;;;","mappings":"AAEA,SAASA,mBAAmB,QAAQ,eAAc;AAUlD,OAAO,MAAMC,gBAAgB,OAAU,EACrCC,EAAE,EACFC,IAAI,EACJC,MAAM,EACNC,GAAG,EACHC,WAAW,EACH;IACR,MAAMC,WAAW,EAAE;IACnBH,OAAOI,OAAO,CAAC,CAACC;QACdF,SAASG,IAAI,CACXV,oBAAoB;YAClBE;YACAC;YACAM;YACAJ;YACAC;QACF;IAEJ;IACA,MAAMK,QAAQC,GAAG,CAACL;AACpB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/promise.ts"],"sourcesContent":["import type { Data } from 'payload/types'\n\nimport {\n type Field,\n type PayloadRequest,\n type TabAsField,\n fieldAffectsData,\n tabHasName,\n} from 'payload/types'\nimport { getDefaultValue } from 'payload/utilities'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args<T> = {\n data: T\n field: Field | TabAsField\n id?: number | string\n req: PayloadRequest\n siblingData: Data\n}\n\nexport const defaultValuePromise = async <T>({\n id,\n data,\n field,\n req,\n siblingData,\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: req.locale,\n user: req.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 req,\n siblingData: groupData,\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 req,\n siblingData: row,\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 req,\n siblingData: row,\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 req,\n siblingData,\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 req,\n siblingData: tabSiblingData,\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 req,\n siblingData,\n })\n\n break\n }\n\n default: {\n break\n }\n }\n}\n"],"names":["fieldAffectsData","tabHasName","getDefaultValue","iterateFields","defaultValuePromise","id","data","field","req","siblingData","name","defaultValue","locale","user","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
+ {"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/promise.ts"],"sourcesContent":["import type { Data } from 'payload/types'\n\nimport {\n type Field,\n type PayloadRequest,\n type TabAsField,\n fieldAffectsData,\n tabHasName,\n} from 'payload/types'\nimport { getDefaultValue } from 'payload/utilities'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args<T> = {\n data: T\n field: Field | TabAsField\n id?: number | string\n req: PayloadRequest\n siblingData: Data\n}\n\nexport const defaultValuePromise = async <T>({\n id,\n data,\n field,\n req,\n siblingData,\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: req.locale,\n user: req.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 req,\n siblingData: groupData,\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 req,\n siblingData: row,\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 req,\n siblingData: row,\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 req,\n siblingData,\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 req,\n siblingData: tabSiblingData,\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 req,\n siblingData,\n })\n\n break\n }\n\n default: {\n break\n }\n }\n}\n"],"names":["fieldAffectsData","tabHasName","getDefaultValue","iterateFields","defaultValuePromise","id","data","field","req","siblingData","name","defaultValue","locale","user","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 +1 @@
1
- {"version":3,"sources":["../../../src/forms/buildStateFromSchema/getFilterOptionsQuery.ts"],"sourcesContent":["import type { FilterOptions, FilterOptionsProps, Where } from 'payload/types'\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"}
1
+ {"version":3,"sources":["../../../src/forms/buildStateFromSchema/getFilterOptionsQuery.ts"],"sourcesContent":["import type { FilterOptions, FilterOptionsProps, Where } from 'payload/types'\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 +1 @@
1
- {"version":3,"sources":["../../../src/forms/buildStateFromSchema/index.tsx"],"sourcesContent":["import type {\n Data,\n DocumentPreferences,\n Field as FieldSchema,\n FormState,\n PayloadRequest,\n} from 'payload/types'\n\nimport { calculateDefaultValues } from './calculateDefaultValues/index.js'\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n data?: Data\n fieldSchema: FieldSchema[] | undefined\n id?: number | string\n operation?: 'create' | 'update'\n preferences: {\n [key: string]: unknown\n }\n req: PayloadRequest\n siblingData?: Data\n}\n\nexport type BuildFormStateArgs = {\n collectionSlug?: string\n data?: Data\n docPreferences?: DocumentPreferences\n formState?: FormState\n globalSlug?: string\n id?: number | string\n locale?: string\n operation?: 'create' | 'update'\n schemaPath: string\n}\n\nexport const buildStateFromSchema = async (args: Args): Promise<FormState> => {\n const { id, data: fullData = {}, fieldSchema, operation, preferences, req } = args\n\n if (fieldSchema) {\n const state: FormState = {}\n\n const dataWithDefaultValues = await calculateDefaultValues({\n id,\n data: fullData,\n fields: fieldSchema,\n req,\n siblingData: fullData,\n })\n\n await iterateFields({\n id,\n addErrorPathToParent: null,\n data: dataWithDefaultValues,\n fields: fieldSchema,\n fullData,\n operation,\n parentPassesCondition: true,\n path: '',\n preferences,\n req,\n state,\n })\n\n return state\n }\n\n return {}\n}\n"],"names":["calculateDefaultValues","iterateFields","buildStateFromSchema","args","id","data","fullData","fieldSchema","operation","preferences","req","state","dataWithDefaultValues","fields","siblingData","addErrorPathToParent","parentPassesCondition","path"],"mappings":"AAQA,SAASA,sBAAsB,QAAQ,oCAAmC;AAC1E,SAASC,aAAa,QAAQ,qBAAoB;AA0BlD,OAAO,MAAMC,uBAAuB,OAAOC;IACzC,MAAM,EAAEC,EAAE,EAAEC,MAAMC,WAAW,CAAC,CAAC,EAAEC,WAAW,EAAEC,SAAS,EAAEC,WAAW,EAAEC,GAAG,EAAE,GAAGP;IAE9E,IAAII,aAAa;QACf,MAAMI,QAAmB,CAAC;QAE1B,MAAMC,wBAAwB,MAAMZ,uBAAuB;YACzDI;YACAC,MAAMC;YACNO,QAAQN;YACRG;YACAI,aAAaR;QACf;QAEA,MAAML,cAAc;YAClBG;YACAW,sBAAsB;YACtBV,MAAMO;YACNC,QAAQN;YACRD;YACAE;YACAQ,uBAAuB;YACvBC,MAAM;YACNR;YACAC;YACAC;QACF;QAEA,OAAOA;IACT;IAEA,OAAO,CAAC;AACV,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/buildStateFromSchema/index.tsx"],"sourcesContent":["import type {\n Data,\n DocumentPreferences,\n Field as FieldSchema,\n FormState,\n PayloadRequest,\n} from 'payload/types'\n\nimport { calculateDefaultValues } from './calculateDefaultValues/index.js'\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n data?: Data\n fieldSchema: FieldSchema[] | undefined\n id?: number | string\n operation?: 'create' | 'update'\n preferences: {\n [key: string]: unknown\n }\n req: PayloadRequest\n siblingData?: Data\n}\n\nexport type BuildFormStateArgs = {\n collectionSlug?: string\n data?: Data\n docPreferences?: DocumentPreferences\n formState?: FormState\n globalSlug?: string\n id?: number | string\n locale?: string\n operation?: 'create' | 'update'\n schemaPath: string\n}\n\nexport const buildStateFromSchema = async (args: Args): Promise<FormState> => {\n const { id, data: fullData = {}, fieldSchema, operation, preferences, req } = args\n\n if (fieldSchema) {\n const state: FormState = {}\n\n const dataWithDefaultValues = await calculateDefaultValues({\n id,\n data: fullData,\n fields: fieldSchema,\n req,\n siblingData: fullData,\n })\n\n await iterateFields({\n id,\n addErrorPathToParent: null,\n data: dataWithDefaultValues,\n fields: fieldSchema,\n fullData,\n operation,\n parentPassesCondition: true,\n path: '',\n preferences,\n req,\n state,\n })\n\n return state\n }\n\n return {}\n}\n"],"names":["calculateDefaultValues","iterateFields","buildStateFromSchema","args","id","data","fullData","fieldSchema","operation","preferences","req","state","dataWithDefaultValues","fields","siblingData","addErrorPathToParent","parentPassesCondition","path"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAQA,SAASA,sBAAsB,QAAQ,oCAAmC;AAC1E,SAASC,aAAa,QAAQ,qBAAoB;AA0BlD,OAAO,MAAMC,uBAAuB,OAAOC;IACzC,MAAM,EAAEC,EAAE,EAAEC,MAAMC,WAAW,CAAC,CAAC,EAAEC,WAAW,EAAEC,SAAS,EAAEC,WAAW,EAAEC,GAAG,EAAE,GAAGP;IAE9E,IAAII,aAAa;QACf,MAAMI,QAAmB,CAAC;QAE1B,MAAMC,wBAAwB,MAAMZ,uBAAuB;YACzDI;YACAC,MAAMC;YACNO,QAAQN;YACRG;YACAI,aAAaR;QACf;QAEA,MAAML,cAAc;YAClBG;YACAW,sBAAsB;YACtBV,MAAMO;YACNC,QAAQN;YACRD;YACAE;YACAQ,uBAAuB;YACvBC,MAAM;YACNR;YACAC;YACAC;QACF;QAEA,OAAOA;IACT;IAEA,OAAO,CAAC;AACV,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/buildStateFromSchema/iterateFields.ts"],"sourcesContent":["import type { Data, Field as FieldSchema, FormState, PayloadRequest } from 'payload/types'\n\nimport { fieldIsPresentationalOnly } from 'payload/types'\n\nimport type { AddFieldStatePromiseArgs } from './addFieldStatePromise.js'\n\nimport { addFieldStatePromise } from './addFieldStatePromise.js'\n\ntype Args = {\n addErrorPathToParent: (path: string) => void\n /**\n * if any parents is localized, then the field is localized. @default false\n */\n anyParentLocalized?: boolean\n data: Data\n fields: FieldSchema[]\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. @default false\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n /**\n * operation is only needed for validation\n */\n operation: 'create' | 'update'\n parentPassesCondition?: boolean\n /**\n * The initial path of the field. @default ''\n */\n path?: string\n preferences?: {\n [key: string]: unknown\n }\n req: PayloadRequest\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state?: FormState\n}\n\n/**\n * Flattens the fields schema and fields data\n */\nexport const iterateFields = async ({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n data,\n fields,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n parentPassesCondition = true,\n path = '',\n preferences,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state = {},\n}: Args): Promise<void> => {\n const promises = []\n\n fields.forEach((field, fieldIndex) => {\n if (!fieldIsPresentationalOnly(field) && !field?.admin?.disabled) {\n let passesCondition = true\n if (!skipConditionChecks) {\n passesCondition = Boolean(\n (field?.admin?.condition\n ? Boolean(field.admin.condition(fullData || {}, data || {}, { user: req.user }))\n : true) && parentPassesCondition,\n )\n }\n\n promises.push(\n addFieldStatePromise({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized,\n data,\n field,\n fieldIndex,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n }\n })\n\n await Promise.all(promises)\n}\n"],"names":["fieldIsPresentationalOnly","addFieldStatePromise","iterateFields","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","data","fields","filter","forceFullValue","fullData","includeSchema","omitParents","operation","parentPassesCondition","path","preferences","req","skipConditionChecks","skipValidation","state","promises","forEach","field","fieldIndex","admin","disabled","passesCondition","Boolean","condition","user","push","Promise","all"],"mappings":"AAEA,SAASA,yBAAyB,QAAQ,gBAAe;AAIzD,SAASC,oBAAoB,QAAQ,4BAA2B;AAiDhE;;CAEC,GACD,OAAO,MAAMC,gBAAgB,OAAO,EAClCC,EAAE,EACFC,sBAAsBC,uBAAuB,EAC7CC,qBAAqB,KAAK,EAC1BC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,iBAAiB,KAAK,EACtBC,QAAQ,EACRC,gBAAgB,KAAK,EACrBC,cAAc,KAAK,EACnBC,SAAS,EACTC,wBAAwB,IAAI,EAC5BC,OAAO,EAAE,EACTC,WAAW,EACXC,GAAG,EACHC,sBAAsB,KAAK,EAC3BC,iBAAiB,KAAK,EACtBC,QAAQ,CAAC,CAAC,EACL;IACL,MAAMC,WAAW,EAAE;IAEnBd,OAAOe,OAAO,CAAC,CAACC,OAAOC;QACrB,IAAI,CAACzB,0BAA0BwB,UAAU,CAACA,OAAOE,OAAOC,UAAU;YAChE,IAAIC,kBAAkB;YACtB,IAAI,CAACT,qBAAqB;gBACxBS,kBAAkBC,QAChB,AAACL,CAAAA,OAAOE,OAAOI,YACXD,QAAQL,MAAME,KAAK,CAACI,SAAS,CAACnB,YAAY,CAAC,GAAGJ,QAAQ,CAAC,GAAG;oBAAEwB,MAAMb,IAAIa,IAAI;gBAAC,MAC3E,IAAG,KAAMhB;YAEjB;YAEAO,SAASU,IAAI,CACX/B,qBAAqB;gBACnBE;gBACAC,sBAAsBC;gBACtBC;gBACAC;gBACAiB;gBACAC;gBACAhB;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC;gBACAc;gBACAZ;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC;YACF;QAEJ;IACF;IAEA,MAAMY,QAAQC,GAAG,CAACZ;AACpB,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/buildStateFromSchema/iterateFields.ts"],"sourcesContent":["import type { Data, Field as FieldSchema, FormState, PayloadRequest } from 'payload/types'\n\nimport { fieldIsPresentationalOnly } from 'payload/types'\n\nimport type { AddFieldStatePromiseArgs } from './addFieldStatePromise.js'\n\nimport { addFieldStatePromise } from './addFieldStatePromise.js'\n\ntype Args = {\n addErrorPathToParent: (path: string) => void\n /**\n * if any parents is localized, then the field is localized. @default false\n */\n anyParentLocalized?: boolean\n data: Data\n fields: FieldSchema[]\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. @default false\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n /**\n * operation is only needed for validation\n */\n operation: 'create' | 'update'\n parentPassesCondition?: boolean\n /**\n * The initial path of the field. @default ''\n */\n path?: string\n preferences?: {\n [key: string]: unknown\n }\n req: PayloadRequest\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state?: FormState\n}\n\n/**\n * Flattens the fields schema and fields data\n */\nexport const iterateFields = async ({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n data,\n fields,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n parentPassesCondition = true,\n path = '',\n preferences,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state = {},\n}: Args): Promise<void> => {\n const promises = []\n\n fields.forEach((field, fieldIndex) => {\n if (!fieldIsPresentationalOnly(field) && !field?.admin?.disabled) {\n let passesCondition = true\n if (!skipConditionChecks) {\n passesCondition = Boolean(\n (field?.admin?.condition\n ? Boolean(field.admin.condition(fullData || {}, data || {}, { user: req.user }))\n : true) && parentPassesCondition,\n )\n }\n\n promises.push(\n addFieldStatePromise({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized,\n data,\n field,\n fieldIndex,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n }\n })\n\n await Promise.all(promises)\n}\n"],"names":["fieldIsPresentationalOnly","addFieldStatePromise","iterateFields","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","data","fields","filter","forceFullValue","fullData","includeSchema","omitParents","operation","parentPassesCondition","path","preferences","req","skipConditionChecks","skipValidation","state","promises","forEach","field","fieldIndex","admin","disabled","passesCondition","Boolean","condition","user","push","Promise","all"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,yBAAyB,QAAQ,gBAAe;AAIzD,SAASC,oBAAoB,QAAQ,4BAA2B;AAiDhE;;CAEC,GACD,OAAO,MAAMC,gBAAgB,OAAO,EAClCC,EAAE,EACFC,sBAAsBC,uBAAuB,EAC7CC,qBAAqB,KAAK,EAC1BC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,iBAAiB,KAAK,EACtBC,QAAQ,EACRC,gBAAgB,KAAK,EACrBC,cAAc,KAAK,EACnBC,SAAS,EACTC,wBAAwB,IAAI,EAC5BC,OAAO,EAAE,EACTC,WAAW,EACXC,GAAG,EACHC,sBAAsB,KAAK,EAC3BC,iBAAiB,KAAK,EACtBC,QAAQ,CAAC,CAAC,EACL;IACL,MAAMC,WAAW,EAAE;IAEnBd,OAAOe,OAAO,CAAC,CAACC,OAAOC;QACrB,IAAI,CAACzB,0BAA0BwB,UAAU,CAACA,OAAOE,OAAOC,UAAU;YAChE,IAAIC,kBAAkB;YACtB,IAAI,CAACT,qBAAqB;gBACxBS,kBAAkBC,QAChB,AAACL,CAAAA,OAAOE,OAAOI,YACXD,QAAQL,MAAME,KAAK,CAACI,SAAS,CAACnB,YAAY,CAAC,GAAGJ,QAAQ,CAAC,GAAG;oBAAEwB,MAAMb,IAAIa,IAAI;gBAAC,MAC3E,IAAG,KAAMhB;YAEjB;YAEAO,SAASU,IAAI,CACX/B,qBAAqB;gBACnBE;gBACAC,sBAAsBC;gBACtBC;gBACAC;gBACAiB;gBACAC;gBACAhB;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC;gBACAc;gBACAZ;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC;YACF;QAEJ;IACF;IAEA,MAAMY,QAAQC,GAAG,CAACZ;AACpB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/useField/index.tsx"],"sourcesContent":["'use client'\nimport { useCallback, useMemo, useRef } from 'react'\n\nimport type { UPDATE } from '../Form/types.js'\nimport type { FieldType, Options } from './types.js'\n\nexport type { FieldType, Options }\n\nimport useThrottledEffect from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useFieldProps } from '../FieldPropsProvider/index.js'\nimport {\n useForm,\n useFormFields,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n} from '../Form/context.js'\n\n/**\n * Get and set the value of a form field.\n *\n * @see https://payloadcms.com/docs/admin/hooks#usefield\n */\nexport const useField = <T,>(options: Options): FieldType<T> => {\n const { disableFormData = false, hasRows, validate } = options\n\n const { path: pathFromContext, permissions, readOnly, schemaPath } = useFieldProps()\n\n // Prioritize passed in path over context path. If the context path should be prioritized (which is the case for top-level useField calls in fields), it should be passed in as the options path.\n const path = options.path || pathFromContext\n\n const submitted = useFormSubmitted()\n const processing = useFormProcessing()\n const { user } = useAuth()\n const { id } = useDocumentInfo()\n const operation = useOperation()\n\n const { dispatchField, field } = useFormFields(([fields, dispatch]) => ({\n dispatchField: dispatch,\n field: (fields && fields?.[path]) || null,\n }))\n\n const { t } = useTranslation()\n const config = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\n const modified = useFormModified()\n\n const filterOptions = field?.filterOptions\n const value = field?.value as T\n const initialValue = field?.initialValue as T\n const valid = typeof field?.valid === 'boolean' ? field.valid : true\n const showError = valid === false && submitted\n\n const prevValid = useRef(valid)\n\n // Method to return from `useField`, used to\n // update field values from field component(s)\n const setValue = useCallback(\n (e, disableModifyingForm = false) => {\n const val = e && e.target ? e.target.value : e\n\n dispatchField({\n type: 'UPDATE',\n disableFormData: disableFormData || (hasRows && val > 0),\n path,\n value: val,\n })\n\n if (!disableModifyingForm) {\n if (typeof setModified === 'function') {\n // Only update setModified to true if the form is not already set to modified. Otherwise the following could happen:\n // 1. Text field: someone types in it in an unmodified form\n // 2. After setTimeout triggers setModified(true): form is set to modified. Save Button becomes available. Good!\n // 3. Type something in text field\n // 4. Click on save button before setTimeout in useField has finished (so setModified(true) has not been run yet)\n // 5. Form is saved, setModified(false) is set in the Form/index.tsx `submit` function, \"saved successfully\" toast appears\n // 6. setModified(true) inside the timeout is run, form is set to modified again, even though it was already saved and thus set to unmodified. Bad! This should have happened before the form is saved. Now the form should be unmodified and stay that way\n // until a NEW change happens. Due to this, the \"Leave without saving\" modal appears even though it should not when leaving the page fast immediately after saving the document.\n // This is only an issue for forms which have already been set to modified true, as that causes the save button to be enabled. If we prevent this setTimeout to be run\n // for already-modified forms first place (which is unnecessary), we can avoid this issue. As for unmodified forms, this race issue will not happen, because you cannot click the save button faster\n // than the timeout in useField is run. That's because the save button won't even be enabled for clicking until the setTimeout in useField has run.\n // This fixes e2e test flakes, as e2e tests were often so fast that they were saving the form before the timeout in useField has run.\n // Specifically, this fixes the 'should not warn about unsaved changes when navigating to lexical editor with blocks node and then leaving the page after making a change and saving' lexical e2e test.\n if (modified === false) {\n // Update modified state after field value comes back\n // to avoid cursor jump caused by state value / DOM mismatch\n setTimeout(() => {\n setModified(true)\n }, 10)\n }\n }\n }\n },\n [setModified, path, dispatchField, disableFormData, hasRows, modified],\n )\n\n // Store result from hook as ref\n // to prevent unnecessary rerenders\n const result: FieldType<T> = useMemo(\n () => ({\n errorMessage: field?.errorMessage,\n errorPaths: field?.errorPaths || [],\n filterOptions,\n formProcessing: processing,\n formSubmitted: submitted,\n initialValue,\n path,\n permissions,\n readOnly: readOnly || false,\n rows: field?.rows,\n schemaPath,\n setValue,\n showError,\n valid: field?.valid,\n value,\n }),\n [\n field?.errorMessage,\n field?.rows,\n field?.valid,\n field?.errorPaths,\n processing,\n setValue,\n showError,\n submitted,\n value,\n initialValue,\n path,\n schemaPath,\n readOnly,\n permissions,\n filterOptions,\n ],\n )\n\n // Throttle the validate function\n useThrottledEffect(\n () => {\n const validateField = async () => {\n let valueToValidate = value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = getDataByPath(path)\n }\n\n let errorMessage: string | undefined\n let valid: boolean | string = prevValid.current\n\n const isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n config,\n data: getData(),\n operation,\n siblingData: getSiblingData(path),\n t,\n user,\n })\n : true\n\n if (typeof isValid === 'string') {\n valid = false\n errorMessage = isValid\n } else if (typeof isValid === 'boolean') {\n valid = isValid\n errorMessage = undefined\n }\n\n // Only dispatch if the validation result has changed\n // This will prevent unnecessary rerenders\n if (valid !== prevValid.current) {\n prevValid.current = valid\n\n const update: UPDATE = {\n type: 'UPDATE',\n errorMessage,\n path,\n rows: field?.rows,\n valid,\n // validate,\n value,\n }\n\n if (disableFormData || (hasRows ? typeof value === 'number' && value > 0 : false)) {\n update.disableFormData = true\n }\n\n if (typeof dispatchField === 'function') {\n dispatchField(update)\n }\n }\n }\n\n void validateField()\n },\n 150,\n [\n value,\n disableFormData,\n dispatchField,\n getData,\n getSiblingData,\n getDataByPath,\n id,\n operation,\n path,\n user,\n validate,\n field?.rows,\n ],\n )\n\n return result\n}\n"],"names":["useCallback","useMemo","useRef","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useOperation","useTranslation","useFieldProps","useForm","useFormFields","useFormModified","useFormProcessing","useFormSubmitted","useField","options","disableFormData","hasRows","validate","path","pathFromContext","permissions","readOnly","schemaPath","submitted","processing","user","id","operation","dispatchField","field","fields","dispatch","t","config","getData","getDataByPath","getSiblingData","setModified","modified","filterOptions","value","initialValue","valid","showError","prevValid","setValue","e","disableModifyingForm","val","target","type","setTimeout","result","errorMessage","errorPaths","formProcessing","formSubmitted","rows","validateField","valueToValidate","Array","isArray","current","isValid","data","siblingData","undefined","update"],"mappings":"AAAA;AACA,SAASA,WAAW,EAAEC,OAAO,EAAEC,MAAM,QAAQ,QAAO;AAOpD,OAAOC,wBAAwB,oCAAmC;AAClE,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,aAAa,QAAQ,iCAAgC;AAC9D,SACEC,OAAO,EACPC,aAAa,EACbC,eAAe,EACfC,iBAAiB,EACjBC,gBAAgB,QACX,qBAAoB;AAE3B;;;;CAIC,GACD,OAAO,MAAMC,WAAW,CAAKC;IAC3B,MAAM,EAAEC,kBAAkB,KAAK,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGH;IAEvD,MAAM,EAAEI,MAAMC,eAAe,EAAEC,WAAW,EAAEC,QAAQ,EAAEC,UAAU,EAAE,GAAGf;IAErE,iMAAiM;IACjM,MAAMW,OAAOJ,QAAQI,IAAI,IAAIC;IAE7B,MAAMI,YAAYX;IAClB,MAAMY,aAAab;IACnB,MAAM,EAAEc,IAAI,EAAE,GAAGvB;IACjB,MAAM,EAAEwB,EAAE,EAAE,GAAGtB;IACf,MAAMuB,YAAYtB;IAElB,MAAM,EAAEuB,aAAa,EAAEC,KAAK,EAAE,GAAGpB,cAAc,CAAC,CAACqB,QAAQC,SAAS,GAAM,CAAA;YACtEH,eAAeG;YACfF,OAAO,AAACC,UAAUA,QAAQ,CAACZ,KAAK,IAAK;QACvC,CAAA;IAEA,MAAM,EAAEc,CAAC,EAAE,GAAG1B;IACd,MAAM2B,SAAS9B;IAEf,MAAM,EAAE+B,OAAO,EAAEC,aAAa,EAAEC,cAAc,EAAEC,WAAW,EAAE,GAAG7B;IAChE,MAAM8B,WAAW5B;IAEjB,MAAM6B,gBAAgBV,OAAOU;IAC7B,MAAMC,QAAQX,OAAOW;IACrB,MAAMC,eAAeZ,OAAOY;IAC5B,MAAMC,QAAQ,OAAOb,OAAOa,UAAU,YAAYb,MAAMa,KAAK,GAAG;IAChE,MAAMC,YAAYD,UAAU,SAASnB;IAErC,MAAMqB,YAAY5C,OAAO0C;IAEzB,4CAA4C;IAC5C,8CAA8C;IAC9C,MAAMG,WAAW/C,YACf,CAACgD,GAAGC,uBAAuB,KAAK;QAC9B,MAAMC,MAAMF,KAAKA,EAAEG,MAAM,GAAGH,EAAEG,MAAM,CAACT,KAAK,GAAGM;QAE7ClB,cAAc;YACZsB,MAAM;YACNnC,iBAAiBA,mBAAoBC,WAAWgC,MAAM;YACtD9B;YACAsB,OAAOQ;QACT;QAEA,IAAI,CAACD,sBAAsB;YACzB,IAAI,OAAOV,gBAAgB,YAAY;gBACrC,oHAAoH;gBACpH,2DAA2D;gBAC3D,gHAAgH;gBAChH,kCAAkC;gBAClC,iHAAiH;gBACjH,0HAA0H;gBAC1H,2PAA2P;gBAC3P,mLAAmL;gBACnL,sKAAsK;gBACtK,oMAAoM;gBACpM,mJAAmJ;gBACnJ,qIAAqI;gBACrI,uMAAuM;gBACvM,IAAIC,aAAa,OAAO;oBACtB,qDAAqD;oBACrD,4DAA4D;oBAC5Da,WAAW;wBACTd,YAAY;oBACd,GAAG;gBACL;YACF;QACF;IACF,GACA;QAACA;QAAanB;QAAMU;QAAeb;QAAiBC;QAASsB;KAAS;IAGxE,gCAAgC;IAChC,mCAAmC;IACnC,MAAMc,SAAuBrD,QAC3B,IAAO,CAAA;YACLsD,cAAcxB,OAAOwB;YACrBC,YAAYzB,OAAOyB,cAAc,EAAE;YACnCf;YACAgB,gBAAgB/B;YAChBgC,eAAejC;YACfkB;YACAvB;YACAE;YACAC,UAAUA,YAAY;YACtBoC,MAAM5B,OAAO4B;YACbnC;YACAuB;YACAF;YACAD,OAAOb,OAAOa;YACdF;QACF,CAAA,GACA;QACEX,OAAOwB;QACPxB,OAAO4B;QACP5B,OAAOa;QACPb,OAAOyB;QACP9B;QACAqB;QACAF;QACApB;QACAiB;QACAC;QACAvB;QACAI;QACAD;QACAD;QACAmB;KACD;IAGH,iCAAiC;IACjCtC,mBACE;QACE,MAAMyD,gBAAgB;YACpB,IAAIC,kBAAkBnB;YAEtB,IAAIX,OAAO4B,QAAQG,MAAMC,OAAO,CAAChC,MAAM4B,IAAI,GAAG;gBAC5CE,kBAAkBxB,cAAcjB;YAClC;YAEA,IAAImC;YACJ,IAAIX,QAA0BE,UAAUkB,OAAO;YAE/C,MAAMC,UACJ,OAAO9C,aAAa,aAChB,MAAMA,SAAS0C,iBAAiB;gBAC9BjC;gBACAO;gBACA+B,MAAM9B;gBACNP;gBACAsC,aAAa7B,eAAelB;gBAC5Bc;gBACAP;YACF,KACA;YAEN,IAAI,OAAOsC,YAAY,UAAU;gBAC/BrB,QAAQ;gBACRW,eAAeU;YACjB,OAAO,IAAI,OAAOA,YAAY,WAAW;gBACvCrB,QAAQqB;gBACRV,eAAea;YACjB;YAEA,qDAAqD;YACrD,0CAA0C;YAC1C,IAAIxB,UAAUE,UAAUkB,OAAO,EAAE;gBAC/BlB,UAAUkB,OAAO,GAAGpB;gBAEpB,MAAMyB,SAAiB;oBACrBjB,MAAM;oBACNG;oBACAnC;oBACAuC,MAAM5B,OAAO4B;oBACbf;oBACA,YAAY;oBACZF;gBACF;gBAEA,IAAIzB,mBAAoBC,CAAAA,UAAU,OAAOwB,UAAU,YAAYA,QAAQ,IAAI,KAAI,GAAI;oBACjF2B,OAAOpD,eAAe,GAAG;gBAC3B;gBAEA,IAAI,OAAOa,kBAAkB,YAAY;oBACvCA,cAAcuC;gBAChB;YACF;QACF;QAEA,KAAKT;IACP,GACA,KACA;QACElB;QACAzB;QACAa;QACAM;QACAE;QACAD;QACAT;QACAC;QACAT;QACAO;QACAR;QACAY,OAAO4B;KACR;IAGH,OAAOL;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/useField/index.tsx"],"sourcesContent":["'use client'\nimport { useCallback, useMemo, useRef } from 'react'\n\nimport type { UPDATE } from '../Form/types.js'\nimport type { FieldType, Options } from './types.js'\n\nexport type { FieldType, Options }\n\nimport useThrottledEffect from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useFieldProps } from '../FieldPropsProvider/index.js'\nimport {\n useForm,\n useFormFields,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n} from '../Form/context.js'\n\n/**\n * Get and set the value of a form field.\n *\n * @see https://payloadcms.com/docs/admin/hooks#usefield\n */\nexport const useField = <T,>(options: Options): FieldType<T> => {\n const { disableFormData = false, hasRows, validate } = options\n\n const { path: pathFromContext, permissions, readOnly, schemaPath } = useFieldProps()\n\n // Prioritize passed in path over context path. If the context path should be prioritized (which is the case for top-level useField calls in fields), it should be passed in as the options path.\n const path = options.path || pathFromContext\n\n const submitted = useFormSubmitted()\n const processing = useFormProcessing()\n const { user } = useAuth()\n const { id } = useDocumentInfo()\n const operation = useOperation()\n\n const { dispatchField, field } = useFormFields(([fields, dispatch]) => ({\n dispatchField: dispatch,\n field: (fields && fields?.[path]) || null,\n }))\n\n const { t } = useTranslation()\n const config = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\n const modified = useFormModified()\n\n const filterOptions = field?.filterOptions\n const value = field?.value as T\n const initialValue = field?.initialValue as T\n const valid = typeof field?.valid === 'boolean' ? field.valid : true\n const showError = valid === false && submitted\n\n const prevValid = useRef(valid)\n\n // Method to return from `useField`, used to\n // update field values from field component(s)\n const setValue = useCallback(\n (e, disableModifyingForm = false) => {\n const val = e && e.target ? e.target.value : e\n\n dispatchField({\n type: 'UPDATE',\n disableFormData: disableFormData || (hasRows && val > 0),\n path,\n value: val,\n })\n\n if (!disableModifyingForm) {\n if (typeof setModified === 'function') {\n // Only update setModified to true if the form is not already set to modified. Otherwise the following could happen:\n // 1. Text field: someone types in it in an unmodified form\n // 2. After setTimeout triggers setModified(true): form is set to modified. Save Button becomes available. Good!\n // 3. Type something in text field\n // 4. Click on save button before setTimeout in useField has finished (so setModified(true) has not been run yet)\n // 5. Form is saved, setModified(false) is set in the Form/index.tsx `submit` function, \"saved successfully\" toast appears\n // 6. setModified(true) inside the timeout is run, form is set to modified again, even though it was already saved and thus set to unmodified. Bad! This should have happened before the form is saved. Now the form should be unmodified and stay that way\n // until a NEW change happens. Due to this, the \"Leave without saving\" modal appears even though it should not when leaving the page fast immediately after saving the document.\n // This is only an issue for forms which have already been set to modified true, as that causes the save button to be enabled. If we prevent this setTimeout to be run\n // for already-modified forms first place (which is unnecessary), we can avoid this issue. As for unmodified forms, this race issue will not happen, because you cannot click the save button faster\n // than the timeout in useField is run. That's because the save button won't even be enabled for clicking until the setTimeout in useField has run.\n // This fixes e2e test flakes, as e2e tests were often so fast that they were saving the form before the timeout in useField has run.\n // Specifically, this fixes the 'should not warn about unsaved changes when navigating to lexical editor with blocks node and then leaving the page after making a change and saving' lexical e2e test.\n if (modified === false) {\n // Update modified state after field value comes back\n // to avoid cursor jump caused by state value / DOM mismatch\n setTimeout(() => {\n setModified(true)\n }, 10)\n }\n }\n }\n },\n [setModified, path, dispatchField, disableFormData, hasRows, modified],\n )\n\n // Store result from hook as ref\n // to prevent unnecessary rerenders\n const result: FieldType<T> = useMemo(\n () => ({\n errorMessage: field?.errorMessage,\n errorPaths: field?.errorPaths || [],\n filterOptions,\n formProcessing: processing,\n formSubmitted: submitted,\n initialValue,\n path,\n permissions,\n readOnly: readOnly || false,\n rows: field?.rows,\n schemaPath,\n setValue,\n showError,\n valid: field?.valid,\n value,\n }),\n [\n field?.errorMessage,\n field?.rows,\n field?.valid,\n field?.errorPaths,\n processing,\n setValue,\n showError,\n submitted,\n value,\n initialValue,\n path,\n schemaPath,\n readOnly,\n permissions,\n filterOptions,\n ],\n )\n\n // Throttle the validate function\n useThrottledEffect(\n () => {\n const validateField = async () => {\n let valueToValidate = value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = getDataByPath(path)\n }\n\n let errorMessage: string | undefined\n let valid: boolean | string = prevValid.current\n\n const isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n config,\n data: getData(),\n operation,\n siblingData: getSiblingData(path),\n t,\n user,\n })\n : true\n\n if (typeof isValid === 'string') {\n valid = false\n errorMessage = isValid\n } else if (typeof isValid === 'boolean') {\n valid = isValid\n errorMessage = undefined\n }\n\n // Only dispatch if the validation result has changed\n // This will prevent unnecessary rerenders\n if (valid !== prevValid.current) {\n prevValid.current = valid\n\n const update: UPDATE = {\n type: 'UPDATE',\n errorMessage,\n path,\n rows: field?.rows,\n valid,\n // validate,\n value,\n }\n\n if (disableFormData || (hasRows ? typeof value === 'number' && value > 0 : false)) {\n update.disableFormData = true\n }\n\n if (typeof dispatchField === 'function') {\n dispatchField(update)\n }\n }\n }\n\n void validateField()\n },\n 150,\n [\n value,\n disableFormData,\n dispatchField,\n getData,\n getSiblingData,\n getDataByPath,\n id,\n operation,\n path,\n user,\n validate,\n field?.rows,\n ],\n )\n\n return result\n}\n"],"names":["useCallback","useMemo","useRef","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useOperation","useTranslation","useFieldProps","useForm","useFormFields","useFormModified","useFormProcessing","useFormSubmitted","useField","options","disableFormData","hasRows","validate","path","pathFromContext","permissions","readOnly","schemaPath","submitted","processing","user","id","operation","dispatchField","field","fields","dispatch","t","config","getData","getDataByPath","getSiblingData","setModified","modified","filterOptions","value","initialValue","valid","showError","prevValid","setValue","e","disableModifyingForm","val","target","type","setTimeout","result","errorMessage","errorPaths","formProcessing","formSubmitted","rows","validateField","valueToValidate","Array","isArray","current","isValid","data","siblingData","undefined","update"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/useField/types.ts"],"sourcesContent":["import type { ClientValidate, FieldPermissions, FilterOptionsResult, Row } from 'payload/types'\n\nexport type Options = {\n disableFormData?: boolean\n hasRows?: boolean\n /**\n * If you do not provide a `path` or a `name`, this hook will look for one using the `useFieldPath` hook.\n **/\n path?: string\n validate?: ClientValidate\n}\n\nexport type FieldType<T> = {\n errorMessage?: string\n errorPaths?: string[]\n filterOptions?: FilterOptionsResult\n formProcessing: boolean\n formSubmitted: boolean\n initialValue?: T\n path: string\n permissions: FieldPermissions\n readOnly?: boolean\n rows?: Row[]\n schemaPath: string\n setValue: (val: unknown, disableModifyingForm?: boolean) => void\n showError: boolean\n valid?: boolean\n value: T\n}\n"],"names":[],"mappings":"AAYA,WAgBC"}
1
+ {"version":3,"sources":["../../../src/forms/useField/types.ts"],"sourcesContent":["import type { ClientValidate, FieldPermissions, FilterOptionsResult, Row } from 'payload/types'\n\nexport type Options = {\n disableFormData?: boolean\n hasRows?: boolean\n /**\n * If you do not provide a `path` or a `name`, this hook will look for one using the `useFieldPath` hook.\n **/\n path?: string\n validate?: ClientValidate\n}\n\nexport type FieldType<T> = {\n errorMessage?: string\n errorPaths?: string[]\n filterOptions?: FilterOptionsResult\n formProcessing: boolean\n formSubmitted: boolean\n initialValue?: T\n path: string\n permissions: FieldPermissions\n readOnly?: boolean\n rows?: Row[]\n schemaPath: string\n setValue: (val: unknown, disableModifyingForm?: boolean) => void\n showError: boolean\n valid?: boolean\n value: T\n}\n"],"names":[],"rangeMappings":"","mappings":"AAYA,WAgBC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/withCondition/WatchCondition.tsx"],"sourcesContent":["'use client'\nimport type { FieldTypes } from 'payload/config'\n\nimport React from 'react'\nimport { Fragment } from 'react'\n\nimport { useFormFields } from '../Form/context.js'\n\nexport const WatchCondition: React.FC<{\n children: React.ReactNode\n indexPath: string\n name?: string\n path?: string\n type: keyof FieldTypes\n}> = (props) => {\n const { name, type, children, indexPath, path: pathFromProps } = props\n\n const path = typeof pathFromProps === 'string' ? pathFromProps : name\n\n let formStateID = path\n\n if (['collapsible', 'row'].includes(type)) {\n const index = indexPath.split('.').pop()\n formStateID = `${path ? `${path}.` : ''}_index-${index}`\n }\n\n const field = useFormFields(([fields]) => (fields && fields?.[formStateID]) || null)\n\n const { passesCondition } = field || {}\n\n if (passesCondition === false) {\n return null\n }\n\n return <Fragment>{children}</Fragment>\n}\n"],"names":["React","Fragment","useFormFields","WatchCondition","props","name","type","children","indexPath","path","pathFromProps","formStateID","includes","index","split","pop","field","fields","passesCondition"],"mappings":"AAAA;AAGA,OAAOA,WAAW,QAAO;AACzB,SAASC,QAAQ,QAAQ,QAAO;AAEhC,SAASC,aAAa,QAAQ,qBAAoB;AAElD,OAAO,MAAMC,iBAMR,CAACC;IACJ,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,MAAMC,aAAa,EAAE,GAAGN;IAEjE,MAAMK,OAAO,OAAOC,kBAAkB,WAAWA,gBAAgBL;IAEjE,IAAIM,cAAcF;IAElB,IAAI;QAAC;QAAe;KAAM,CAACG,QAAQ,CAACN,OAAO;QACzC,MAAMO,QAAQL,UAAUM,KAAK,CAAC,KAAKC,GAAG;QACtCJ,cAAc,CAAC,EAAEF,OAAO,CAAC,EAAEA,KAAK,CAAC,CAAC,GAAG,GAAG,OAAO,EAAEI,MAAM,CAAC;IAC1D;IAEA,MAAMG,QAAQd,cAAc,CAAC,CAACe,OAAO,GAAK,AAACA,UAAUA,QAAQ,CAACN,YAAY,IAAK;IAE/E,MAAM,EAAEO,eAAe,EAAE,GAAGF,SAAS,CAAC;IAEtC,IAAIE,oBAAoB,OAAO;QAC7B,OAAO;IACT;IAEA,qBAAO,oBAACjB,gBAAUM;AACpB,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/withCondition/WatchCondition.tsx"],"sourcesContent":["'use client'\nimport type { FieldTypes } from 'payload/config'\n\nimport React from 'react'\nimport { Fragment } from 'react'\n\nimport { useFormFields } from '../Form/context.js'\n\nexport const WatchCondition: React.FC<{\n children: React.ReactNode\n indexPath: string\n name?: string\n path?: string\n type: keyof FieldTypes\n}> = (props) => {\n const { name, type, children, indexPath, path: pathFromProps } = props\n\n const path = typeof pathFromProps === 'string' ? pathFromProps : name\n\n let formStateID = path\n\n if (['collapsible', 'row'].includes(type)) {\n const index = indexPath.split('.').pop()\n formStateID = `${path ? `${path}.` : ''}_index-${index}`\n }\n\n const field = useFormFields(([fields]) => (fields && fields?.[formStateID]) || null)\n\n const { passesCondition } = field || {}\n\n if (passesCondition === false) {\n return null\n }\n\n return <Fragment>{children}</Fragment>\n}\n"],"names":["React","Fragment","useFormFields","WatchCondition","props","name","type","children","indexPath","path","pathFromProps","formStateID","includes","index","split","pop","field","fields","passesCondition"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,OAAOA,WAAW,QAAO;AACzB,SAASC,QAAQ,QAAQ,QAAO;AAEhC,SAASC,aAAa,QAAQ,qBAAoB;AAElD,OAAO,MAAMC,iBAMR,CAACC;IACJ,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,MAAMC,aAAa,EAAE,GAAGN;IAEjE,MAAMK,OAAO,OAAOC,kBAAkB,WAAWA,gBAAgBL;IAEjE,IAAIM,cAAcF;IAElB,IAAI;QAAC;QAAe;KAAM,CAACG,QAAQ,CAACN,OAAO;QACzC,MAAMO,QAAQL,UAAUM,KAAK,CAAC,KAAKC,GAAG;QACtCJ,cAAc,CAAC,EAAEF,OAAO,CAAC,EAAEA,KAAK,CAAC,CAAC,GAAG,GAAG,OAAO,EAAEI,MAAM,CAAC;IAC1D;IAEA,MAAMG,QAAQd,cAAc,CAAC,CAACe,OAAO,GAAK,AAACA,UAAUA,QAAQ,CAACN,YAAY,IAAK;IAE/E,MAAM,EAAEO,eAAe,EAAE,GAAGF,SAAS,CAAC;IAEtC,IAAIE,oBAAoB,OAAO;QAC7B,OAAO;IACT;IAEA,qBAAO,oBAACjB,gBAAUM;AACpB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/withCondition/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useFieldProps } from '../FieldPropsProvider/index.js'\nimport { WatchCondition } from './WatchCondition.js'\n\nexport const withCondition = <P extends Record<string, unknown>>(\n Field: React.ComponentType<P>,\n): React.FC<P> => {\n const CheckForCondition: React.FC<P> = (props) => {\n const { name } = props\n const { type, indexPath, path: pathFromContext } = useFieldProps()\n const path = pathFromContext || name\n\n return (\n <WatchCondition indexPath={indexPath} name={name as string} path={path as string} type={type}>\n <Field {...props} />\n </WatchCondition>\n )\n }\n\n return CheckForCondition\n}\n"],"names":["React","useFieldProps","WatchCondition","withCondition","Field","CheckForCondition","props","name","type","indexPath","path","pathFromContext"],"mappings":"AAAA;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,aAAa,QAAQ,iCAAgC;AAC9D,SAASC,cAAc,QAAQ,sBAAqB;AAEpD,OAAO,MAAMC,gBAAgB,CAC3BC;IAEA,MAAMC,oBAAiC,CAACC;QACtC,MAAM,EAAEC,IAAI,EAAE,GAAGD;QACjB,MAAM,EAAEE,IAAI,EAAEC,SAAS,EAAEC,MAAMC,eAAe,EAAE,GAAGV;QACnD,MAAMS,OAAOC,mBAAmBJ;QAEhC,qBACE,oBAACL;YAAeO,WAAWA;YAAWF,MAAMA;YAAgBG,MAAMA;YAAgBF,MAAMA;yBACtF,oBAACJ,OAAUE;IAGjB;IAEA,OAAOD;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/withCondition/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useFieldProps } from '../FieldPropsProvider/index.js'\nimport { WatchCondition } from './WatchCondition.js'\n\nexport const withCondition = <P extends Record<string, unknown>>(\n Field: React.ComponentType<P>,\n): React.FC<P> => {\n const CheckForCondition: React.FC<P> = (props) => {\n const { name } = props\n const { type, indexPath, path: pathFromContext } = useFieldProps()\n const path = pathFromContext || name\n\n return (\n <WatchCondition indexPath={indexPath} name={name as string} path={path as string} type={type}>\n <Field {...props} />\n </WatchCondition>\n )\n }\n\n return CheckForCondition\n}\n"],"names":["React","useFieldProps","WatchCondition","withCondition","Field","CheckForCondition","props","name","type","indexPath","path","pathFromContext"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,aAAa,QAAQ,iCAAgC;AAC9D,SAASC,cAAc,QAAQ,sBAAqB;AAEpD,OAAO,MAAMC,gBAAgB,CAC3BC;IAEA,MAAMC,oBAAiC,CAACC;QACtC,MAAM,EAAEC,IAAI,EAAE,GAAGD;QACjB,MAAM,EAAEE,IAAI,EAAEC,SAAS,EAAEC,MAAMC,eAAe,EAAE,GAAGV;QACnD,MAAMS,OAAOC,mBAAmBJ;QAEhC,qBACE,oBAACL;YAAeO,WAAWA;YAAWF,MAAMA;YAAgBG,MAAMA;YAAgBF,MAAMA;yBACtF,oBAACJ,OAAUE;IAGjB;IAEA,OAAOD;AACT,EAAC"}