@payloadcms/ui 3.0.0-beta.35 → 3.0.0-beta.37

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 (595) hide show
  1. package/dist/elements/AppHeader/index.js +64 -39
  2. package/dist/elements/AppHeader/index.js.map +1 -1
  3. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  4. package/dist/elements/ArrayAction/index.js +76 -41
  5. package/dist/elements/ArrayAction/index.js.map +1 -1
  6. package/dist/elements/Autosave/index.js +15 -8
  7. package/dist/elements/Autosave/index.js.map +1 -1
  8. package/dist/elements/Banner/index.d.ts.map +1 -1
  9. package/dist/elements/Banner/index.js +17 -5
  10. package/dist/elements/Banner/index.js.map +1 -1
  11. package/dist/elements/Button/index.js +53 -31
  12. package/dist/elements/Button/index.js.map +1 -1
  13. package/dist/elements/Card/index.d.ts.map +1 -1
  14. package/dist/elements/Card/index.js +24 -15
  15. package/dist/elements/Card/index.js.map +1 -1
  16. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  17. package/dist/elements/CodeEditor/CodeEditor.js +4 -2
  18. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  19. package/dist/elements/CodeEditor/index.d.ts.map +1 -1
  20. package/dist/elements/CodeEditor/index.js +9 -6
  21. package/dist/elements/CodeEditor/index.js.map +1 -1
  22. package/dist/elements/Collapsible/index.js +63 -38
  23. package/dist/elements/Collapsible/index.js.map +1 -1
  24. package/dist/elements/Collapsible/provider.js +5 -3
  25. package/dist/elements/Collapsible/provider.js.map +1 -1
  26. package/dist/elements/ColumnSelector/index.js +24 -22
  27. package/dist/elements/ColumnSelector/index.js.map +1 -1
  28. package/dist/elements/CopyToClipboard/index.js +21 -11
  29. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  30. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  31. package/dist/elements/DatePicker/DatePicker.js +30 -17
  32. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  33. package/dist/elements/DatePicker/index.d.ts.map +1 -1
  34. package/dist/elements/DatePicker/index.js +8 -3
  35. package/dist/elements/DatePicker/index.js.map +1 -1
  36. package/dist/elements/DeleteDocument/index.js +57 -32
  37. package/dist/elements/DeleteDocument/index.js.map +1 -1
  38. package/dist/elements/DeleteMany/index.js +43 -23
  39. package/dist/elements/DeleteMany/index.js.map +1 -1
  40. package/dist/elements/DocumentControls/index.d.ts +1 -0
  41. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  42. package/dist/elements/DocumentControls/index.js +180 -101
  43. package/dist/elements/DocumentControls/index.js.map +1 -1
  44. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  45. package/dist/elements/DocumentDrawer/DrawerContent.js +30 -24
  46. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  47. package/dist/elements/DocumentDrawer/index.js +14 -8
  48. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  49. package/dist/elements/DocumentFields/index.js +52 -34
  50. package/dist/elements/DocumentFields/index.js.map +1 -1
  51. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +14 -11
  52. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  53. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +16 -5
  54. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  55. package/dist/elements/DocumentHeader/Tabs/index.js +64 -56
  56. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  57. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +5 -3
  58. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  59. package/dist/elements/DocumentHeader/index.js +21 -11
  60. package/dist/elements/DocumentHeader/index.js.map +1 -1
  61. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  62. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +15 -11
  63. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  64. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  65. package/dist/elements/DraggableSortable/index.js +13 -8
  66. package/dist/elements/DraggableSortable/index.js.map +1 -1
  67. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  68. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +1 -0
  69. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  70. package/dist/elements/Drawer/index.js +58 -35
  71. package/dist/elements/Drawer/index.js.map +1 -1
  72. package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
  73. package/dist/elements/Drawer/useDrawerSlug.js +1 -0
  74. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  75. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  76. package/dist/elements/Dropzone/index.js +31 -18
  77. package/dist/elements/Dropzone/index.js.map +1 -1
  78. package/dist/elements/DuplicateDocument/index.js +37 -17
  79. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  80. package/dist/elements/EditMany/index.d.ts.map +1 -1
  81. package/dist/elements/EditMany/index.js +112 -76
  82. package/dist/elements/EditMany/index.js.map +1 -1
  83. package/dist/elements/EditUpload/index.js +233 -151
  84. package/dist/elements/EditUpload/index.js.map +1 -1
  85. package/dist/elements/ErrorPill/index.d.ts.map +1 -1
  86. package/dist/elements/ErrorPill/index.js +15 -7
  87. package/dist/elements/ErrorPill/index.js.map +1 -1
  88. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  89. package/dist/elements/FieldSelect/index.js +43 -25
  90. package/dist/elements/FieldSelect/index.js.map +1 -1
  91. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  92. package/dist/elements/FileDetails/FileMeta/index.js +55 -20
  93. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  94. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  95. package/dist/elements/FileDetails/index.js +43 -30
  96. package/dist/elements/FileDetails/index.js.map +1 -1
  97. package/dist/elements/GenerateConfirmation/index.js +48 -26
  98. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  99. package/dist/elements/Gutter/index.js +5 -3
  100. package/dist/elements/Gutter/index.js.map +1 -1
  101. package/dist/elements/Hamburger/index.js +48 -27
  102. package/dist/elements/Hamburger/index.js.map +1 -1
  103. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  104. package/dist/elements/IDLabel/index.js +10 -3
  105. package/dist/elements/IDLabel/index.js.map +1 -1
  106. package/dist/elements/ListControls/index.js +94 -62
  107. package/dist/elements/ListControls/index.js.map +1 -1
  108. package/dist/elements/ListDrawer/DrawerContent.js +97 -67
  109. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  110. package/dist/elements/ListDrawer/index.js +14 -8
  111. package/dist/elements/ListDrawer/index.js.map +1 -1
  112. package/dist/elements/ListSelection/index.js +31 -17
  113. package/dist/elements/ListSelection/index.js.map +1 -1
  114. package/dist/elements/Loading/index.js +31 -18
  115. package/dist/elements/Loading/index.js.map +1 -1
  116. package/dist/elements/LoadingOverlay/index.js +13 -8
  117. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  118. package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
  119. package/dist/elements/Localizer/LocalizerLabel/index.js +20 -9
  120. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  121. package/dist/elements/Localizer/index.d.ts.map +1 -1
  122. package/dist/elements/Localizer/index.js +32 -24
  123. package/dist/elements/Localizer/index.js.map +1 -1
  124. package/dist/elements/Logout/index.js +9 -5
  125. package/dist/elements/Logout/index.js.map +1 -1
  126. package/dist/elements/Nav/NavHamburger/index.js +7 -5
  127. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  128. package/dist/elements/Nav/NavToggler/index.js +5 -3
  129. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  130. package/dist/elements/Nav/NavWrapper/index.js +9 -6
  131. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  132. package/dist/elements/Nav/context.d.ts +1 -1
  133. package/dist/elements/Nav/context.d.ts.map +1 -1
  134. package/dist/elements/Nav/context.js +5 -3
  135. package/dist/elements/Nav/context.js.map +1 -1
  136. package/dist/elements/Nav/index.client.js +43 -35
  137. package/dist/elements/Nav/index.client.js.map +1 -1
  138. package/dist/elements/Nav/index.js +31 -19
  139. package/dist/elements/Nav/index.js.map +1 -1
  140. package/dist/elements/NavGroup/index.js +39 -24
  141. package/dist/elements/NavGroup/index.js.map +1 -1
  142. package/dist/elements/Pagination/ClickableArrow/index.d.ts.map +1 -1
  143. package/dist/elements/Pagination/ClickableArrow/index.js +6 -3
  144. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  145. package/dist/elements/Pagination/Page/index.d.ts.map +1 -1
  146. package/dist/elements/Pagination/Page/index.js +6 -3
  147. package/dist/elements/Pagination/Page/index.js.map +1 -1
  148. package/dist/elements/Pagination/Separator/index.d.ts.map +1 -1
  149. package/dist/elements/Pagination/Separator/index.js +6 -3
  150. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  151. package/dist/elements/Pagination/index.js +17 -17
  152. package/dist/elements/Pagination/index.js.map +1 -1
  153. package/dist/elements/PerPage/index.js +46 -28
  154. package/dist/elements/PerPage/index.js.map +1 -1
  155. package/dist/elements/Pill/index.js +25 -12
  156. package/dist/elements/Pill/index.js.map +1 -1
  157. package/dist/elements/Popup/PopupButtonList/index.js +17 -12
  158. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  159. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  160. package/dist/elements/Popup/PopupTrigger/index.js +10 -6
  161. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  162. package/dist/elements/Popup/index.js +52 -35
  163. package/dist/elements/Popup/index.js.map +1 -1
  164. package/dist/elements/PreviewButton/index.js +6 -4
  165. package/dist/elements/PreviewButton/index.js.map +1 -1
  166. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  167. package/dist/elements/PreviewSizes/index.js +82 -49
  168. package/dist/elements/PreviewSizes/index.js.map +1 -1
  169. package/dist/elements/{Publish → PublishButton}/index.d.ts +1 -1
  170. package/dist/elements/PublishButton/index.d.ts.map +1 -0
  171. package/dist/elements/PublishButton/index.js +40 -0
  172. package/dist/elements/PublishButton/index.js.map +1 -0
  173. package/dist/elements/PublishMany/index.js +42 -22
  174. package/dist/elements/PublishMany/index.js.map +1 -1
  175. package/dist/elements/ReactSelect/ClearIndicator/index.d.ts.map +1 -1
  176. package/dist/elements/ReactSelect/ClearIndicator/index.js +10 -6
  177. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  178. package/dist/elements/ReactSelect/Control/index.d.ts.map +1 -1
  179. package/dist/elements/ReactSelect/Control/index.js +28 -23
  180. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  181. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +1 -1
  182. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  183. package/dist/elements/ReactSelect/DropdownIndicator/index.js +8 -5
  184. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  185. package/dist/elements/ReactSelect/MultiValue/index.d.ts +1 -0
  186. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  187. package/dist/elements/ReactSelect/MultiValue/index.js +27 -20
  188. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  189. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
  190. package/dist/elements/ReactSelect/MultiValueLabel/index.js +12 -9
  191. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  192. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts +1 -1
  193. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
  194. package/dist/elements/ReactSelect/MultiValueRemove/index.js +15 -8
  195. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  196. package/dist/elements/ReactSelect/SingleValue/index.d.ts.map +1 -1
  197. package/dist/elements/ReactSelect/SingleValue/index.js +12 -7
  198. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  199. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  200. package/dist/elements/ReactSelect/ValueContainer/index.js +8 -3
  201. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  202. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  203. package/dist/elements/ReactSelect/index.js +26 -14
  204. package/dist/elements/ReactSelect/index.js.map +1 -1
  205. package/dist/elements/ReactSelect/types.d.ts +1 -1
  206. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  207. package/dist/elements/ReactSelect/types.js.map +1 -1
  208. package/dist/elements/RenderCustomClientComponent/index.d.ts +8 -0
  209. package/dist/elements/RenderCustomClientComponent/index.d.ts.map +1 -0
  210. package/dist/elements/RenderCustomClientComponent/index.js +19 -0
  211. package/dist/elements/RenderCustomClientComponent/index.js.map +1 -0
  212. package/dist/elements/RenderCustomComponent/index.d.ts +4 -0
  213. package/dist/elements/RenderCustomComponent/index.d.ts.map +1 -1
  214. package/dist/elements/RenderCustomComponent/index.js +7 -3
  215. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  216. package/dist/elements/RenderTitle/index.js +8 -6
  217. package/dist/elements/RenderTitle/index.js.map +1 -1
  218. package/dist/elements/{Save → SaveButton}/index.d.ts +1 -1
  219. package/dist/elements/SaveButton/index.d.ts.map +1 -0
  220. package/dist/elements/{Save → SaveButton}/index.js +7 -5
  221. package/dist/elements/SaveButton/index.js.map +1 -0
  222. package/dist/elements/{SaveDraft → SaveDraftButton}/index.d.ts +1 -1
  223. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -0
  224. package/dist/elements/{SaveDraft → SaveDraftButton}/index.js +7 -5
  225. package/dist/elements/SaveDraftButton/index.js.map +1 -0
  226. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  227. package/dist/elements/SearchFilter/index.js +15 -9
  228. package/dist/elements/SearchFilter/index.js.map +1 -1
  229. package/dist/elements/SelectAll/index.js +2 -1
  230. package/dist/elements/SelectAll/index.js.map +1 -1
  231. package/dist/elements/SelectRow/index.js +2 -1
  232. package/dist/elements/SelectRow/index.js.map +1 -1
  233. package/dist/elements/ShimmerEffect/index.js +23 -20
  234. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  235. package/dist/elements/SortColumn/index.js +43 -31
  236. package/dist/elements/SortColumn/index.js.map +1 -1
  237. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  238. package/dist/elements/SortComplex/index.js +42 -23
  239. package/dist/elements/SortComplex/index.js.map +1 -1
  240. package/dist/elements/Status/index.js +94 -41
  241. package/dist/elements/Status/index.js.map +1 -1
  242. package/dist/elements/StayLoggedIn/index.js +40 -20
  243. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  244. package/dist/elements/StepNav/index.js +63 -41
  245. package/dist/elements/StepNav/index.js.map +1 -1
  246. package/dist/elements/Table/DefaultCell/fields/Array/index.js +4 -1
  247. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  248. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +4 -1
  249. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  250. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +7 -3
  251. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  252. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  253. package/dist/elements/Table/DefaultCell/fields/Code/index.js +8 -3
  254. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  255. package/dist/elements/Table/DefaultCell/fields/Date/index.js +8 -5
  256. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  257. package/dist/elements/Table/DefaultCell/fields/File/index.js +21 -15
  258. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  259. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +7 -3
  260. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  261. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +32 -21
  262. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  263. package/dist/elements/Table/DefaultCell/fields/Select/index.js +4 -1
  264. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  265. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +4 -1
  266. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  267. package/dist/elements/Table/DefaultCell/index.js +31 -15
  268. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  269. package/dist/elements/Table/RelationshipProvider/index.js +5 -3
  270. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  271. package/dist/elements/Table/TableCellProvider/index.js +5 -3
  272. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  273. package/dist/elements/Table/index.js +39 -24
  274. package/dist/elements/Table/index.js.map +1 -1
  275. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  276. package/dist/elements/TableColumns/buildColumnState.js +9 -5
  277. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  278. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  279. package/dist/elements/TableColumns/filterFields.js +2 -1
  280. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  281. package/dist/elements/TableColumns/index.js +5 -3
  282. package/dist/elements/TableColumns/index.js.map +1 -1
  283. package/dist/elements/Thumbnail/index.js +14 -8
  284. package/dist/elements/Thumbnail/index.js.map +1 -1
  285. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  286. package/dist/elements/ThumbnailCard/index.js +15 -7
  287. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  288. package/dist/elements/Tooltip/index.d.ts +1 -1
  289. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  290. package/dist/elements/Tooltip/index.js +36 -26
  291. package/dist/elements/Tooltip/index.js.map +1 -1
  292. package/dist/elements/Tooltip/index.scss +7 -7
  293. package/dist/elements/Translation/index.js +19 -16
  294. package/dist/elements/Translation/index.js.map +1 -1
  295. package/dist/elements/UnpublishMany/index.js +42 -22
  296. package/dist/elements/UnpublishMany/index.js.map +1 -1
  297. package/dist/elements/Upload/index.js +108 -77
  298. package/dist/elements/Upload/index.js.map +1 -1
  299. package/dist/elements/ViewDescription/index.js +6 -4
  300. package/dist/elements/ViewDescription/index.js.map +1 -1
  301. package/dist/elements/WhereBuilder/Condition/Date/index.d.ts.map +1 -1
  302. package/dist/elements/WhereBuilder/Condition/Date/index.js +11 -8
  303. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  304. package/dist/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
  305. package/dist/elements/WhereBuilder/Condition/Number/index.js +3 -1
  306. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  307. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  308. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +50 -43
  309. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  310. package/dist/elements/WhereBuilder/Condition/Select/index.d.ts.map +1 -1
  311. package/dist/elements/WhereBuilder/Condition/Select/index.js +3 -1
  312. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  313. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  314. package/dist/elements/WhereBuilder/Condition/Text/index.js +3 -1
  315. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  316. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  317. package/dist/elements/WhereBuilder/Condition/index.js +86 -67
  318. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  319. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  320. package/dist/elements/WhereBuilder/index.js +101 -69
  321. package/dist/elements/WhereBuilder/index.js.map +1 -1
  322. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
  323. package/dist/elements/WhereBuilder/reduceFieldMap.js +1 -0
  324. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  325. package/dist/elements/WithServerSideProps/index.js +7 -2
  326. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  327. package/dist/elements/withMergedProps/index.js +4 -1
  328. package/dist/elements/withMergedProps/index.js.map +1 -1
  329. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  330. package/dist/fields/Array/ArrayRow.js +54 -47
  331. package/dist/fields/Array/ArrayRow.js.map +1 -1
  332. package/dist/fields/Array/index.js +135 -91
  333. package/dist/fields/Array/index.js.map +1 -1
  334. package/dist/fields/Blocks/BlockRow.js +62 -53
  335. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  336. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.d.ts.map +1 -1
  337. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +13 -7
  338. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  339. package/dist/fields/Blocks/BlocksDrawer/index.js +36 -28
  340. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  341. package/dist/fields/Blocks/RowActions.js +30 -24
  342. package/dist/fields/Blocks/RowActions.js.map +1 -1
  343. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  344. package/dist/fields/Blocks/SectionTitle/index.js +15 -12
  345. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  346. package/dist/fields/Blocks/index.js +154 -103
  347. package/dist/fields/Blocks/index.js.map +1 -1
  348. package/dist/fields/Checkbox/Input.d.ts +3 -4
  349. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  350. package/dist/fields/Checkbox/Input.js +40 -25
  351. package/dist/fields/Checkbox/Input.js.map +1 -1
  352. package/dist/fields/Checkbox/index.d.ts +2 -1
  353. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  354. package/dist/fields/Checkbox/index.js +29 -21
  355. package/dist/fields/Checkbox/index.js.map +1 -1
  356. package/dist/fields/Code/index.js +34 -20
  357. package/dist/fields/Code/index.js.map +1 -1
  358. package/dist/fields/Collapsible/index.js +57 -42
  359. package/dist/fields/Collapsible/index.js.map +1 -1
  360. package/dist/fields/ConfirmPassword/index.js +28 -19
  361. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  362. package/dist/fields/DateTime/index.js +36 -22
  363. package/dist/fields/DateTime/index.js.map +1 -1
  364. package/dist/fields/Email/index.js +37 -23
  365. package/dist/fields/Email/index.js.map +1 -1
  366. package/dist/fields/Group/index.js +58 -36
  367. package/dist/fields/Group/index.js.map +1 -1
  368. package/dist/fields/Group/provider.js +5 -3
  369. package/dist/fields/Group/provider.js.map +1 -1
  370. package/dist/fields/HiddenInput/index.js +2 -1
  371. package/dist/fields/HiddenInput/index.js.map +1 -1
  372. package/dist/fields/JSON/index.js +40 -25
  373. package/dist/fields/JSON/index.js.map +1 -1
  374. package/dist/fields/Number/index.js +75 -57
  375. package/dist/fields/Number/index.js.map +1 -1
  376. package/dist/fields/Password/index.js +31 -22
  377. package/dist/fields/Password/index.js.map +1 -1
  378. package/dist/fields/Point/index.js +67 -31
  379. package/dist/fields/Point/index.js.map +1 -1
  380. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  381. package/dist/fields/RadioGroup/Radio/index.js +27 -18
  382. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  383. package/dist/fields/RadioGroup/Radio/index.scss +2 -1
  384. package/dist/fields/RadioGroup/index.js +60 -47
  385. package/dist/fields/RadioGroup/index.js.map +1 -1
  386. package/dist/fields/Relationship/AddNew/index.js +67 -44
  387. package/dist/fields/Relationship/AddNew/index.js.map +1 -1
  388. package/dist/fields/Relationship/index.d.ts.map +1 -1
  389. package/dist/fields/Relationship/index.js +116 -94
  390. package/dist/fields/Relationship/index.js.map +1 -1
  391. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  392. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +49 -33
  393. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  394. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  395. package/dist/fields/Relationship/select-components/SingleValue/index.js +50 -30
  396. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  397. package/dist/fields/Row/index.js +23 -19
  398. package/dist/fields/Row/index.js.map +1 -1
  399. package/dist/fields/Row/provider.js +5 -3
  400. package/dist/fields/Row/provider.js.map +1 -1
  401. package/dist/fields/Select/Input.d.ts +11 -0
  402. package/dist/fields/Select/Input.d.ts.map +1 -0
  403. package/dist/fields/Select/Input.js +87 -0
  404. package/dist/fields/Select/Input.js.map +1 -0
  405. package/dist/fields/Select/index.d.ts +3 -1
  406. package/dist/fields/Select/index.d.ts.map +1 -1
  407. package/dist/fields/Select/index.js +23 -60
  408. package/dist/fields/Select/index.js.map +1 -1
  409. package/dist/fields/Tabs/Tab/index.js +26 -16
  410. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  411. package/dist/fields/Tabs/index.js +47 -31
  412. package/dist/fields/Tabs/index.js.map +1 -1
  413. package/dist/fields/Tabs/provider.js +5 -3
  414. package/dist/fields/Tabs/provider.js.map +1 -1
  415. package/dist/fields/Text/Input.js +66 -48
  416. package/dist/fields/Text/Input.js.map +1 -1
  417. package/dist/fields/Text/index.js +2 -1
  418. package/dist/fields/Text/index.js.map +1 -1
  419. package/dist/fields/Textarea/Input.js +51 -32
  420. package/dist/fields/Textarea/Input.js.map +1 -1
  421. package/dist/fields/Textarea/index.js +2 -1
  422. package/dist/fields/Textarea/index.js.map +1 -1
  423. package/dist/fields/Upload/Input.js +71 -43
  424. package/dist/fields/Upload/Input.js.map +1 -1
  425. package/dist/fields/Upload/index.js +2 -1
  426. package/dist/fields/Upload/index.js.map +1 -1
  427. package/dist/forms/FieldDescription/index.js +8 -4
  428. package/dist/forms/FieldDescription/index.js.map +1 -1
  429. package/dist/forms/FieldError/index.js +8 -4
  430. package/dist/forms/FieldError/index.js.map +1 -1
  431. package/dist/forms/FieldLabel/index.js +14 -6
  432. package/dist/forms/FieldLabel/index.js.map +1 -1
  433. package/dist/forms/FieldPropsProvider/index.js +5 -3
  434. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  435. package/dist/forms/Form/index.d.ts.map +1 -1
  436. package/dist/forms/Form/index.js +31 -18
  437. package/dist/forms/Form/index.js.map +1 -1
  438. package/dist/forms/NullifyField/index.js +8 -5
  439. package/dist/forms/NullifyField/index.js.map +1 -1
  440. package/dist/forms/RenderFields/RenderField.js +7 -3
  441. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  442. package/dist/forms/RenderFields/index.js +23 -22
  443. package/dist/forms/RenderFields/index.js.map +1 -1
  444. package/dist/forms/RowLabel/Context/index.js +5 -3
  445. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  446. package/dist/forms/RowLabel/index.js +9 -6
  447. package/dist/forms/RowLabel/index.js.map +1 -1
  448. package/dist/forms/Submit/index.js +12 -9
  449. package/dist/forms/Submit/index.js.map +1 -1
  450. package/dist/forms/withCondition/WatchCondition.js +4 -1
  451. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  452. package/dist/forms/withCondition/index.js +7 -3
  453. package/dist/forms/withCondition/index.js.map +1 -1
  454. package/dist/graphics/Account/Default/index.js +22 -16
  455. package/dist/graphics/Account/Default/index.js.map +1 -1
  456. package/dist/graphics/Account/Gravatar/index.js +2 -1
  457. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  458. package/dist/graphics/Account/index.js +2 -1
  459. package/dist/graphics/Account/index.js.map +1 -1
  460. package/dist/graphics/DefaultBlockImage/index.js +32 -21
  461. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  462. package/dist/graphics/ExternalLink/index.js +9 -7
  463. package/dist/graphics/ExternalLink/index.js.map +1 -1
  464. package/dist/graphics/File/index.js +20 -14
  465. package/dist/graphics/File/index.js.map +1 -1
  466. package/dist/graphics/Icon/index.js +14 -9
  467. package/dist/graphics/Icon/index.js.map +1 -1
  468. package/dist/graphics/Logo/index.js +37 -22
  469. package/dist/graphics/Logo/index.js.map +1 -1
  470. package/dist/graphics/Search/index.js +23 -18
  471. package/dist/graphics/Search/index.js.map +1 -1
  472. package/dist/hooks/useDebouncedCallback.js +1 -1
  473. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  474. package/dist/hooks/useDelay.js +1 -1
  475. package/dist/hooks/useDelay.js.map +1 -1
  476. package/dist/hooks/useDelayedRender.d.ts.map +1 -1
  477. package/dist/hooks/useDelayedRender.js +1 -1
  478. package/dist/hooks/useDelayedRender.js.map +1 -1
  479. package/dist/icons/Calendar/index.js +34 -27
  480. package/dist/icons/Calendar/index.js.map +1 -1
  481. package/dist/icons/Check/index.js +18 -13
  482. package/dist/icons/Check/index.js.map +1 -1
  483. package/dist/icons/Chevron/index.js +8 -6
  484. package/dist/icons/Chevron/index.js.map +1 -1
  485. package/dist/icons/CloseMenu/index.js +22 -17
  486. package/dist/icons/CloseMenu/index.js.map +1 -1
  487. package/dist/icons/CodeBlock/index.js +14 -9
  488. package/dist/icons/CodeBlock/index.js.map +1 -1
  489. package/dist/icons/Copy/index.js +17 -12
  490. package/dist/icons/Copy/index.js.map +1 -1
  491. package/dist/icons/DragHandle/index.js +42 -33
  492. package/dist/icons/DragHandle/index.js.map +1 -1
  493. package/dist/icons/Edit/index.js +22 -16
  494. package/dist/icons/Edit/index.js.map +1 -1
  495. package/dist/icons/Line/index.js +11 -9
  496. package/dist/icons/Line/index.js.map +1 -1
  497. package/dist/icons/Link/index.js +14 -9
  498. package/dist/icons/Link/index.js.map +1 -1
  499. package/dist/icons/LogOut/index.js +25 -15
  500. package/dist/icons/LogOut/index.js.map +1 -1
  501. package/dist/icons/Menu/index.js +27 -21
  502. package/dist/icons/Menu/index.js.map +1 -1
  503. package/dist/icons/MinimizeMaximize/index.js +35 -19
  504. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  505. package/dist/icons/More/index.js +24 -18
  506. package/dist/icons/More/index.js.map +1 -1
  507. package/dist/icons/Plus/index.js +20 -15
  508. package/dist/icons/Plus/index.js.map +1 -1
  509. package/dist/icons/Search/index.js +19 -14
  510. package/dist/icons/Search/index.js.map +1 -1
  511. package/dist/icons/Swap/index.js +29 -22
  512. package/dist/icons/Swap/index.js.map +1 -1
  513. package/dist/icons/X/index.js +20 -15
  514. package/dist/icons/X/index.js.map +1 -1
  515. package/dist/providers/Actions/index.js +5 -3
  516. package/dist/providers/Actions/index.js.map +1 -1
  517. package/dist/providers/Auth/index.js +5 -3
  518. package/dist/providers/Auth/index.js.map +1 -1
  519. package/dist/providers/ClientFunction/index.js +8 -5
  520. package/dist/providers/ClientFunction/index.js.map +1 -1
  521. package/dist/providers/ComponentMap/buildComponentMap/actions.js +3 -2
  522. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
  523. package/dist/providers/ComponentMap/buildComponentMap/collections.js +12 -11
  524. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  525. package/dist/providers/ComponentMap/buildComponentMap/fields.js +19 -16
  526. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  527. package/dist/providers/ComponentMap/buildComponentMap/globals.js +7 -6
  528. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  529. package/dist/providers/ComponentMap/buildComponentMap/index.js +18 -11
  530. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  531. package/dist/providers/ComponentMap/index.js +5 -3
  532. package/dist/providers/ComponentMap/index.js.map +1 -1
  533. package/dist/providers/Config/index.js +5 -3
  534. package/dist/providers/Config/index.js.map +1 -1
  535. package/dist/providers/DocumentEvents/index.js +5 -3
  536. package/dist/providers/DocumentEvents/index.js.map +1 -1
  537. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  538. package/dist/providers/DocumentInfo/index.js +58 -28
  539. package/dist/providers/DocumentInfo/index.js.map +1 -1
  540. package/dist/providers/DocumentInfo/types.d.ts +2 -1
  541. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  542. package/dist/providers/DocumentInfo/types.js.map +1 -1
  543. package/dist/providers/EditDepth/index.js +5 -3
  544. package/dist/providers/EditDepth/index.js.map +1 -1
  545. package/dist/providers/EntityVisibility/index.js +5 -3
  546. package/dist/providers/EntityVisibility/index.js.map +1 -1
  547. package/dist/providers/FieldComponents/index.js +5 -3
  548. package/dist/providers/FieldComponents/index.js.map +1 -1
  549. package/dist/providers/FormQueryParams/index.js +5 -3
  550. package/dist/providers/FormQueryParams/index.js.map +1 -1
  551. package/dist/providers/ListInfo/index.js +5 -3
  552. package/dist/providers/ListInfo/index.js.map +1 -1
  553. package/dist/providers/ListQuery/index.js +5 -3
  554. package/dist/providers/ListQuery/index.js.map +1 -1
  555. package/dist/providers/Locale/index.js +5 -3
  556. package/dist/providers/Locale/index.js.map +1 -1
  557. package/dist/providers/Operation/index.js +5 -3
  558. package/dist/providers/Operation/index.js.map +1 -1
  559. package/dist/providers/Params/index.js +5 -3
  560. package/dist/providers/Params/index.js.map +1 -1
  561. package/dist/providers/Preferences/index.js +5 -3
  562. package/dist/providers/Preferences/index.js.map +1 -1
  563. package/dist/providers/Root/index.d.ts +2 -0
  564. package/dist/providers/Root/index.d.ts.map +1 -1
  565. package/dist/providers/Root/index.js +75 -28
  566. package/dist/providers/Root/index.js.map +1 -1
  567. package/dist/providers/RouteCache/index.js +5 -3
  568. package/dist/providers/RouteCache/index.js.map +1 -1
  569. package/dist/providers/SearchParams/index.js +5 -3
  570. package/dist/providers/SearchParams/index.js.map +1 -1
  571. package/dist/providers/Selection/index.js +5 -3
  572. package/dist/providers/Selection/index.js.map +1 -1
  573. package/dist/providers/Theme/index.d.ts +3 -0
  574. package/dist/providers/Theme/index.d.ts.map +1 -1
  575. package/dist/providers/Theme/index.js +31 -19
  576. package/dist/providers/Theme/index.js.map +1 -1
  577. package/dist/providers/Translation/index.js +5 -3
  578. package/dist/providers/Translation/index.js.map +1 -1
  579. package/dist/scss/app.scss +0 -6
  580. package/dist/templates/Default/NavHamburger/index.js +2 -1
  581. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  582. package/dist/templates/Default/Wrapper/index.js +5 -3
  583. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  584. package/dist/templates/Default/index.js +43 -26
  585. package/dist/templates/Default/index.js.map +1 -1
  586. package/dist/templates/Minimal/index.js +8 -5
  587. package/dist/templates/Minimal/index.js.map +1 -1
  588. package/package.json +28 -14
  589. package/dist/elements/Publish/index.d.ts.map +0 -1
  590. package/dist/elements/Publish/index.js +0 -87
  591. package/dist/elements/Publish/index.js.map +0 -1
  592. package/dist/elements/Save/index.d.ts.map +0 -1
  593. package/dist/elements/Save/index.js.map +0 -1
  594. package/dist/elements/SaveDraft/index.d.ts.map +0 -1
  595. package/dist/elements/SaveDraft/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/Form/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState } from 'payload/types'\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\nimport isDeepEqual from 'deep-equal'\nimport { useRouter } from 'next/navigation.js'\nimport { serialize } from 'object-to-formdata'\nimport { wait } from 'payload/utilities'\nimport QueryString from 'qs'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport type {\n Context as FormContextType,\n FormProps,\n GetDataByPath,\n SubmitOptions,\n} from './types.js'\n\nimport { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js'\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 { useFormQueryParams } from '../../providers/FormQueryParams/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { reduceFieldsToValues } from '../../utilities/reduceFieldsToValues.js'\nimport {\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n} from './context.js'\nimport { errorMessages } from './errorMessages.js'\nimport { fieldReducer } from './fieldReducer.js'\nimport { getDataByPath as getDataByPathFunc } from './getDataByPath.js'\nimport { getSiblingData as getSiblingDataFunc } from './getSiblingData.js'\nimport { initContextState } from './initContextState.js'\nimport { mergeServerFormState } from './mergeServerFormState.js'\n\nconst baseClass = 'form'\n\nexport const Form: React.FC<FormProps> = (props) => {\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const {\n action,\n beforeSubmit,\n children,\n className,\n disableSuccessStatus,\n disableValidationOnSubmit,\n disabled: disabledFromProps,\n // fields: fieldsFromProps = collection?.fields || global?.fields,\n handleResponse,\n initialState, // fully formed initial field state\n onChange,\n onSubmit,\n onSuccess,\n redirect,\n submitted: submittedFromProps,\n uuid,\n waitForAutocomplete,\n } = props\n\n const method = 'method' in props ? props?.method : undefined\n\n const router = useRouter()\n\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n const { refreshCookie, user } = useAuth()\n const operation = useOperation()\n const { formQueryParams } = useFormQueryParams()\n\n const config = useConfig()\n const {\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const [disabled, setDisabled] = useState(disabledFromProps || false)\n const [modified, setModified] = useState(false)\n const [processing, setProcessing] = useState(false)\n const [submitted, setSubmitted] = useState(false)\n const formRef = useRef<HTMLFormElement>(null)\n const contextRef = useRef({} as FormContextType)\n\n const fieldsReducer = useReducer(fieldReducer, {}, () => initialState)\n /**\n * `fields` is the current, up-to-date state/data of all fields in the form. It can be modified by using dispatchFields,\n * which calls the fieldReducer, which then updates the state.\n */\n const [fields, dispatchFields] = fieldsReducer\n\n contextRef.current.fields = fields\n\n const validateForm = useCallback(async () => {\n const validatedFieldState = {}\n let isValid = true\n\n const dataFromContext = contextRef.current.getData()\n const data = dataFromContext\n\n const validationPromises = Object.entries(contextRef.current.fields).map(\n async ([path, field]) => {\n const validatedField = field\n\n if (field.passesCondition !== false) {\n let validationResult: boolean | string = validatedField.valid\n\n if (typeof field.validate === 'function') {\n let valueToValidate = field.value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = contextRef.current.getDataByPath(path)\n }\n\n validationResult = await field.validate(valueToValidate, {\n id,\n config,\n data,\n operation,\n siblingData: contextRef.current.getSiblingData(path),\n t,\n user,\n })\n\n if (typeof validationResult === 'string') {\n validatedField.errorMessage = validationResult\n validatedField.valid = false\n } else {\n validatedField.valid = true\n validatedField.errorMessage = undefined\n }\n }\n\n if (validatedField.valid === false) {\n isValid = false\n }\n }\n\n validatedFieldState[path] = validatedField\n },\n )\n\n await Promise.all(validationPromises)\n\n if (!isDeepEqual(contextRef.current.fields, validatedFieldState)) {\n dispatchFields({ type: 'REPLACE_STATE', state: validatedFieldState })\n }\n\n return isValid\n }, [id, user, operation, t, dispatchFields, config])\n\n const submit = useCallback(\n async (options: SubmitOptions = {}, e): Promise<void> => {\n const {\n action: actionArg,\n method: methodToUse = method,\n overrides = {},\n skipValidation,\n } = options\n\n if (disabled) {\n if (e) {\n e.preventDefault()\n }\n return\n }\n\n if (e) {\n e.stopPropagation()\n e.preventDefault()\n }\n\n setProcessing(true)\n setDisabled(true)\n\n if (waitForAutocomplete) await wait(100)\n\n // Execute server side validations\n if (Array.isArray(beforeSubmit)) {\n let revalidatedFormState: FormState\n\n await beforeSubmit.reduce(async (priorOnChange, beforeSubmitFn) => {\n await priorOnChange\n\n const result = await beforeSubmitFn({\n formState: fields,\n })\n\n revalidatedFormState = result\n }, Promise.resolve())\n\n const isValid = Object.entries(revalidatedFormState).every(([, field]) => field.valid)\n\n if (!isValid) {\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return dispatchFields({ type: 'REPLACE_STATE', state: revalidatedFormState })\n }\n }\n\n const isValid =\n skipValidation || disableValidationOnSubmit ? true : await contextRef.current.validateForm()\n\n // If not valid, prevent submission\n if (!isValid) {\n toast.error(t('error:correctInvalidFields'))\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return\n }\n\n // If submit handler comes through via props, run that\n if (onSubmit) {\n const data = {\n ...reduceFieldsToValues(fields, true),\n ...overrides,\n }\n\n onSubmit(fields, data)\n }\n\n const formData = contextRef.current.createFormData(overrides)\n\n try {\n let res\n const actionEndpoint =\n actionArg ||\n (typeof action === 'string'\n ? `${action}${QueryString.stringify(formQueryParams, { addQueryPrefix: true })}`\n : null)\n\n if (actionEndpoint) {\n res = await requests[methodToUse.toLowerCase()](actionEndpoint, {\n body: formData,\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n } else if (typeof action === 'function') {\n res = await action(formData)\n }\n\n setModified(false)\n setDisabled(false)\n\n if (typeof handleResponse === 'function') {\n handleResponse(res)\n return\n }\n\n const contentType = res.headers.get('content-type')\n const isJSON = contentType && contentType.indexOf('application/json') !== -1\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let json: Record<string, any> = {}\n\n if (isJSON) json = await res.json()\n\n if (res.status < 400) {\n if (typeof onSuccess === 'function') await onSuccess(json)\n setSubmitted(false)\n setProcessing(false)\n\n if (redirect) {\n router.push(redirect)\n } else if (!disableSuccessStatus) {\n toast.success(json.message || t('general:submissionSuccessful'), { autoClose: 3000 })\n }\n } else {\n setProcessing(false)\n setSubmitted(true)\n\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n if (json.message) {\n toast.error(json.message)\n\n return\n }\n\n if (Array.isArray(json.errors)) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs = []\n const newNonFieldErrs = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data)) {\n err.data.forEach((dataError) => {\n if (dataError?.field) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n toast.error(err.message || t('error:unknown'))\n })\n\n return\n }\n\n const message = errorMessages?.[res.status] || res?.statusText || t('error:unknown')\n\n toast.error(message)\n }\n } catch (err) {\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n\n toast.error(err)\n }\n },\n [\n beforeSubmit,\n action,\n disableSuccessStatus,\n disableValidationOnSubmit,\n disabled,\n dispatchFields,\n fields,\n handleResponse,\n method,\n onSubmit,\n onSuccess,\n redirect,\n router,\n t,\n i18n,\n waitForAutocomplete,\n formQueryParams,\n ],\n )\n\n const getFields = useCallback(() => contextRef.current.fields, [])\n\n const getField = useCallback((path: string) => contextRef.current.fields[path], [])\n\n const getData = useCallback(() => reduceFieldsToValues(contextRef.current.fields, true), [])\n\n const getSiblingData = useCallback(\n (path: string) => getSiblingDataFunc(contextRef.current.fields, path),\n [],\n )\n const getDataByPath = useCallback<GetDataByPath>(\n (path: string) => getDataByPathFunc(contextRef.current.fields, path),\n [],\n )\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const createFormData = useCallback((overrides: any = {}) => {\n const data = reduceFieldsToValues(contextRef.current.fields, true)\n\n const file = data?.file\n\n if (file) {\n delete data.file\n }\n\n const dataWithOverrides = {\n ...data,\n ...overrides,\n }\n\n const dataToSerialize = {\n _payload: JSON.stringify(dataWithOverrides),\n file,\n }\n\n // nullAsUndefineds is important to allow uploads and relationship fields to clear themselves\n const formData = serialize(dataToSerialize, { indices: true, nullsAsUndefineds: false })\n\n return formData\n }, [])\n\n const reset = useCallback(\n async (data: unknown) => {\n const newState = await getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n data,\n globalSlug,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state: newState })\n },\n [apiRoute, collectionSlug, dispatchFields, globalSlug, id, operation, serverURL],\n )\n\n const replaceState = useCallback(\n (state: FormState) => {\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state })\n },\n [dispatchFields],\n )\n\n const getFieldStateBySchemaPath = useCallback(\n async ({ data, schemaPath }) => {\n const fieldSchema = await getFormState({\n apiRoute,\n body: {\n collectionSlug,\n data,\n globalSlug,\n schemaPath,\n },\n serverURL,\n })\n return fieldSchema\n },\n [apiRoute, collectionSlug, globalSlug, serverURL],\n )\n\n const addFieldRow: FormContextType['addFieldRow'] = useCallback(\n async ({ data, path, rowIndex, schemaPath }) => {\n const subFieldState = await getFieldStateBySchemaPath({ data, schemaPath })\n\n dispatchFields({\n type: 'ADD_ROW',\n blockType: data?.blockType,\n path,\n rowIndex,\n subFieldState,\n })\n },\n [getFieldStateBySchemaPath, dispatchFields],\n )\n\n const removeFieldRow: FormContextType['removeFieldRow'] = useCallback(\n ({ path, rowIndex }) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n },\n [dispatchFields],\n )\n\n const replaceFieldRow: FormContextType['replaceFieldRow'] = useCallback(\n async ({ data, path, rowIndex, schemaPath }) => {\n const subFieldState = await getFieldStateBySchemaPath({ data, schemaPath })\n\n dispatchFields({\n type: 'REPLACE_ROW',\n blockType: data?.blockType,\n path,\n rowIndex,\n subFieldState,\n })\n },\n [getFieldStateBySchemaPath, dispatchFields],\n )\n\n contextRef.current.submit = submit\n contextRef.current.getFields = getFields\n contextRef.current.getField = getField\n contextRef.current.getData = getData\n contextRef.current.getSiblingData = getSiblingData\n contextRef.current.getDataByPath = getDataByPath\n contextRef.current.validateForm = validateForm\n contextRef.current.createFormData = createFormData\n contextRef.current.setModified = setModified\n contextRef.current.setProcessing = setProcessing\n contextRef.current.setSubmitted = setSubmitted\n contextRef.current.disabled = disabled\n contextRef.current.setDisabled = setDisabled\n contextRef.current.formRef = formRef\n contextRef.current.reset = reset\n contextRef.current.replaceState = replaceState\n contextRef.current.dispatchFields = dispatchFields\n contextRef.current.addFieldRow = addFieldRow\n contextRef.current.removeFieldRow = removeFieldRow\n contextRef.current.replaceFieldRow = replaceFieldRow\n contextRef.current.uuid = uuid\n\n useEffect(() => {\n if (typeof submittedFromProps === 'boolean') setSubmitted(submittedFromProps)\n }, [submittedFromProps])\n\n useEffect(() => {\n if (initialState) {\n contextRef.current = { ...initContextState } as FormContextType\n dispatchFields({ type: 'REPLACE_STATE', state: initialState })\n }\n }, [initialState, dispatchFields])\n\n useThrottledEffect(\n () => {\n refreshCookie()\n },\n 15000,\n [fields],\n )\n\n useEffect(() => {\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n setModified(false)\n }, [locale])\n\n const classes = [className, baseClass].filter(Boolean).join(' ')\n\n useDebouncedEffect(\n () => {\n const executeOnChange = async () => {\n if (Array.isArray(onChange)) {\n let revalidatedFormState: FormState = contextRef.current.fields\n\n for (const onChangeFn of onChange) {\n revalidatedFormState = await onChangeFn({\n formState: revalidatedFormState,\n })\n }\n\n const { changed, newState } = mergeServerFormState(\n contextRef.current.fields || {},\n revalidatedFormState,\n )\n\n if (changed) {\n dispatchFields({\n type: 'REPLACE_STATE',\n optimize: false,\n state: newState,\n })\n }\n }\n }\n\n if (modified) void executeOnChange()\n },\n 150,\n // Make sure we trigger this whenever modified changes (not just when `fields` changes), otherwise we will miss merging server form state for the first form update/onChange. Here's why:\n // `fields` updates before `modified`, because setModified is in a setTimeout. So on the first change, modified is false, so we don't trigger the effect even though we should.\n [contextRef.current.fields, dispatchFields, onChange, modified],\n )\n\n const actionString =\n typeof action === 'string'\n ? `${action}${QueryString.stringify(formQueryParams, { addQueryPrefix: true })}`\n : ''\n\n return (\n <form\n action={method ? actionString : (action as string)}\n className={classes}\n method={method}\n noValidate\n onSubmit={(e) => contextRef.current.submit({}, e)}\n ref={formRef}\n >\n <FormContext.Provider value={contextRef.current}>\n <FormWatchContext.Provider\n value={{\n fields,\n ...contextRef.current,\n }}\n >\n <SubmittedContext.Provider value={submitted}>\n <ProcessingContext.Provider value={processing}>\n <ModifiedContext.Provider value={modified}>\n <FormFieldsContext.Provider value={fieldsReducer}>\n {children}\n </FormFieldsContext.Provider>\n </ModifiedContext.Provider>\n </ProcessingContext.Provider>\n </SubmittedContext.Provider>\n </FormWatchContext.Provider>\n </FormContext.Provider>\n </form>\n )\n}\n\nexport {\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n useAllFormFields,\n useForm,\n useFormFields,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n useWatchForm,\n} from './context.js'\n\nexport { FormProps }\n"],"names":["isDeepEqual","useRouter","serialize","wait","QueryString","React","useCallback","useEffect","useReducer","useRef","useState","toast","useDebouncedEffect","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useFormQueryParams","useLocale","useOperation","useTranslation","requests","getFormState","reduceFieldsToValues","FormContext","FormFieldsContext","FormWatchContext","ModifiedContext","ProcessingContext","SubmittedContext","errorMessages","fieldReducer","getDataByPath","getDataByPathFunc","getSiblingData","getSiblingDataFunc","initContextState","mergeServerFormState","baseClass","Form","props","id","collectionSlug","globalSlug","action","beforeSubmit","children","className","disableSuccessStatus","disableValidationOnSubmit","disabled","disabledFromProps","handleResponse","initialState","onChange","onSubmit","onSuccess","redirect","submitted","submittedFromProps","uuid","waitForAutocomplete","method","undefined","router","code","locale","i18n","t","refreshCookie","user","operation","formQueryParams","config","routes","api","apiRoute","serverURL","setDisabled","modified","setModified","processing","setProcessing","setSubmitted","formRef","contextRef","fieldsReducer","fields","dispatchFields","current","validateForm","validatedFieldState","isValid","dataFromContext","getData","data","validationPromises","Object","entries","map","path","field","validatedField","passesCondition","validationResult","valid","validate","valueToValidate","value","rows","Array","isArray","siblingData","errorMessage","Promise","all","type","state","submit","options","e","actionArg","methodToUse","overrides","skipValidation","preventDefault","stopPropagation","revalidatedFormState","reduce","priorOnChange","beforeSubmitFn","result","formState","resolve","every","error","formData","createFormData","res","actionEndpoint","stringify","addQueryPrefix","toLowerCase","body","headers","language","contentType","get","isJSON","indexOf","json","status","push","success","message","autoClose","errors","fieldErrors","nonFieldErrors","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","forEach","dataError","statusText","getFields","getField","file","dataWithOverrides","dataToSerialize","_payload","JSON","indices","nullsAsUndefineds","reset","newState","schemaPath","replaceState","getFieldStateBySchemaPath","fieldSchema","addFieldRow","rowIndex","subFieldState","blockType","removeFieldRow","replaceFieldRow","classes","filter","Boolean","join","executeOnChange","onChangeFn","changed","optimize","actionString","form","noValidate","ref","Provider","useAllFormFields","useForm","useFormFields","useFormModified","useFormProcessing","useFormSubmitted","useWatchForm"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/forms/Form/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState } from 'payload/types'\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\nimport isDeepEqual from 'deep-equal'\nimport { useRouter } from 'next/navigation.js'\nimport { serialize } from 'object-to-formdata'\nimport { wait } from 'payload/utilities'\nimport QueryString from 'qs'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport type {\n Context as FormContextType,\n FormProps,\n GetDataByPath,\n SubmitOptions,\n} from './types.js'\n\nimport { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js'\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 { useFormQueryParams } from '../../providers/FormQueryParams/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { reduceFieldsToValues } from '../../utilities/reduceFieldsToValues.js'\nimport {\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n} from './context.js'\nimport { errorMessages } from './errorMessages.js'\nimport { fieldReducer } from './fieldReducer.js'\nimport { getDataByPath as getDataByPathFunc } from './getDataByPath.js'\nimport { getSiblingData as getSiblingDataFunc } from './getSiblingData.js'\nimport { initContextState } from './initContextState.js'\nimport { mergeServerFormState } from './mergeServerFormState.js'\n\nconst baseClass = 'form'\n\nexport const Form: React.FC<FormProps> = (props) => {\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const {\n action,\n beforeSubmit,\n children,\n className,\n disableSuccessStatus,\n disableValidationOnSubmit,\n disabled: disabledFromProps,\n // fields: fieldsFromProps = collection?.fields || global?.fields,\n handleResponse,\n initialState, // fully formed initial field state\n onChange,\n onSubmit,\n onSuccess,\n redirect,\n submitted: submittedFromProps,\n uuid,\n waitForAutocomplete,\n } = props\n\n const method = 'method' in props ? props?.method : undefined\n\n const router = useRouter()\n\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n const { refreshCookie, user } = useAuth()\n const operation = useOperation()\n const { formQueryParams } = useFormQueryParams()\n\n const config = useConfig()\n const {\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const [disabled, setDisabled] = useState(disabledFromProps || false)\n const [modified, setModified] = useState(false)\n const [processing, setProcessing] = useState(false)\n const [submitted, setSubmitted] = useState(false)\n const formRef = useRef<HTMLFormElement>(null)\n const contextRef = useRef({} as FormContextType)\n\n const fieldsReducer = useReducer(fieldReducer, {}, () => initialState)\n /**\n * `fields` is the current, up-to-date state/data of all fields in the form. It can be modified by using dispatchFields,\n * which calls the fieldReducer, which then updates the state.\n */\n const [fields, dispatchFields] = fieldsReducer\n\n contextRef.current.fields = fields\n\n const validateForm = useCallback(async () => {\n const validatedFieldState = {}\n let isValid = true\n\n const dataFromContext = contextRef.current.getData()\n const data = dataFromContext\n\n const validationPromises = Object.entries(contextRef.current.fields).map(\n async ([path, field]) => {\n const validatedField = field\n\n if (field.passesCondition !== false) {\n let validationResult: boolean | string = validatedField.valid\n\n if (typeof field.validate === 'function') {\n let valueToValidate = field.value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = contextRef.current.getDataByPath(path)\n }\n\n validationResult = await field.validate(valueToValidate, {\n id,\n config,\n data,\n operation,\n siblingData: contextRef.current.getSiblingData(path),\n t,\n user,\n })\n\n if (typeof validationResult === 'string') {\n validatedField.errorMessage = validationResult\n validatedField.valid = false\n } else {\n validatedField.valid = true\n validatedField.errorMessage = undefined\n }\n }\n\n if (validatedField.valid === false) {\n isValid = false\n }\n }\n\n validatedFieldState[path] = validatedField\n },\n )\n\n await Promise.all(validationPromises)\n\n if (!isDeepEqual(contextRef.current.fields, validatedFieldState)) {\n dispatchFields({ type: 'REPLACE_STATE', state: validatedFieldState })\n }\n\n return isValid\n }, [id, user, operation, t, dispatchFields, config])\n\n const submit = useCallback(\n async (options: SubmitOptions = {}, e): Promise<void> => {\n const {\n action: actionArg,\n method: methodToUse = method,\n overrides = {},\n skipValidation,\n } = options\n\n if (disabled) {\n if (e) {\n e.preventDefault()\n }\n return\n }\n\n if (e) {\n e.stopPropagation()\n e.preventDefault()\n }\n\n setProcessing(true)\n setDisabled(true)\n\n if (waitForAutocomplete) await wait(100)\n\n // Execute server side validations\n if (Array.isArray(beforeSubmit)) {\n let revalidatedFormState: FormState\n\n await beforeSubmit.reduce(async (priorOnChange, beforeSubmitFn) => {\n await priorOnChange\n\n const result = await beforeSubmitFn({\n formState: fields,\n })\n\n revalidatedFormState = result\n }, Promise.resolve())\n\n const isValid = Object.entries(revalidatedFormState).every(([, field]) => field.valid)\n\n if (!isValid) {\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return dispatchFields({ type: 'REPLACE_STATE', state: revalidatedFormState })\n }\n }\n\n const isValid =\n skipValidation || disableValidationOnSubmit ? true : await contextRef.current.validateForm()\n\n // If not valid, prevent submission\n if (!isValid) {\n toast.error(t('error:correctInvalidFields'))\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return\n }\n\n // If submit handler comes through via props, run that\n if (onSubmit) {\n const data = {\n ...reduceFieldsToValues(fields, true),\n ...overrides,\n }\n\n onSubmit(fields, data)\n }\n\n const formData = contextRef.current.createFormData(overrides)\n\n try {\n let res\n const actionEndpoint =\n actionArg ||\n (typeof action === 'string'\n ? `${action}${QueryString.stringify(formQueryParams, { addQueryPrefix: true })}`\n : null)\n\n if (actionEndpoint) {\n res = await requests[methodToUse.toLowerCase()](actionEndpoint, {\n body: formData,\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n } else if (typeof action === 'function') {\n res = await action(formData)\n }\n\n setModified(false)\n setDisabled(false)\n\n if (typeof handleResponse === 'function') {\n handleResponse(res)\n return\n }\n\n const contentType = res.headers.get('content-type')\n const isJSON = contentType && contentType.indexOf('application/json') !== -1\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let json: Record<string, any> = {}\n\n if (isJSON) json = await res.json()\n\n if (res.status < 400) {\n if (typeof onSuccess === 'function') await onSuccess(json)\n setSubmitted(false)\n setProcessing(false)\n\n if (redirect) {\n router.push(redirect)\n } else if (!disableSuccessStatus) {\n toast.success(json.message || t('general:submissionSuccessful'), { autoClose: 3000 })\n }\n } else {\n setProcessing(false)\n setSubmitted(true)\n\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n if (json.message) {\n toast.error(json.message)\n\n return\n }\n\n if (Array.isArray(json.errors)) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs = []\n const newNonFieldErrs = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data)) {\n err.data.forEach((dataError) => {\n if (dataError?.field) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n toast.error(err.message || t('error:unknown'))\n })\n\n return\n }\n\n const message = errorMessages?.[res.status] || res?.statusText || t('error:unknown')\n\n toast.error(message)\n }\n } catch (err) {\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n\n toast.error(err)\n }\n },\n [\n beforeSubmit,\n action,\n disableSuccessStatus,\n disableValidationOnSubmit,\n disabled,\n dispatchFields,\n fields,\n handleResponse,\n method,\n onSubmit,\n onSuccess,\n redirect,\n router,\n t,\n i18n,\n waitForAutocomplete,\n formQueryParams,\n ],\n )\n\n const getFields = useCallback(() => contextRef.current.fields, [])\n\n const getField = useCallback((path: string) => contextRef.current.fields[path], [])\n\n const getData = useCallback(() => reduceFieldsToValues(contextRef.current.fields, true), [])\n\n const getSiblingData = useCallback(\n (path: string) => getSiblingDataFunc(contextRef.current.fields, path),\n [],\n )\n const getDataByPath = useCallback<GetDataByPath>(\n (path: string) => getDataByPathFunc(contextRef.current.fields, path),\n [],\n )\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const createFormData = useCallback((overrides: any = {}) => {\n const data = reduceFieldsToValues(contextRef.current.fields, true)\n\n const file = data?.file\n\n if (file) {\n delete data.file\n }\n\n const dataWithOverrides = {\n ...data,\n ...overrides,\n }\n\n const dataToSerialize = {\n _payload: JSON.stringify(dataWithOverrides),\n file,\n }\n\n // nullAsUndefineds is important to allow uploads and relationship fields to clear themselves\n const formData = serialize(dataToSerialize, { indices: true, nullsAsUndefineds: false })\n\n return formData\n }, [])\n\n const reset = useCallback(\n async (data: unknown) => {\n const newState = await getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n data,\n globalSlug,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state: newState })\n },\n [apiRoute, collectionSlug, dispatchFields, globalSlug, id, operation, serverURL],\n )\n\n const replaceState = useCallback(\n (state: FormState) => {\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state })\n },\n [dispatchFields],\n )\n\n const getFieldStateBySchemaPath = useCallback(\n async ({ data, schemaPath }) => {\n const fieldSchema = await getFormState({\n apiRoute,\n body: {\n collectionSlug,\n data,\n globalSlug,\n schemaPath,\n },\n serverURL,\n })\n return fieldSchema\n },\n [apiRoute, collectionSlug, globalSlug, serverURL],\n )\n\n const addFieldRow: FormContextType['addFieldRow'] = useCallback(\n async ({ data, path, rowIndex, schemaPath }) => {\n const subFieldState = await getFieldStateBySchemaPath({ data, schemaPath })\n\n dispatchFields({\n type: 'ADD_ROW',\n blockType: data?.blockType,\n path,\n rowIndex,\n subFieldState,\n })\n },\n [getFieldStateBySchemaPath, dispatchFields],\n )\n\n const removeFieldRow: FormContextType['removeFieldRow'] = useCallback(\n ({ path, rowIndex }) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n },\n [dispatchFields],\n )\n\n const replaceFieldRow: FormContextType['replaceFieldRow'] = useCallback(\n async ({ data, path, rowIndex, schemaPath }) => {\n const subFieldState = await getFieldStateBySchemaPath({ data, schemaPath })\n\n dispatchFields({\n type: 'REPLACE_ROW',\n blockType: data?.blockType,\n path,\n rowIndex,\n subFieldState,\n })\n },\n [getFieldStateBySchemaPath, dispatchFields],\n )\n\n useEffect(() => {\n if (typeof disabledFromProps === 'boolean') setDisabled(disabledFromProps)\n }, [disabledFromProps])\n\n contextRef.current.submit = submit\n contextRef.current.getFields = getFields\n contextRef.current.getField = getField\n contextRef.current.getData = getData\n contextRef.current.getSiblingData = getSiblingData\n contextRef.current.getDataByPath = getDataByPath\n contextRef.current.validateForm = validateForm\n contextRef.current.createFormData = createFormData\n contextRef.current.setModified = setModified\n contextRef.current.setProcessing = setProcessing\n contextRef.current.setSubmitted = setSubmitted\n contextRef.current.disabled = disabled\n contextRef.current.setDisabled = setDisabled\n contextRef.current.formRef = formRef\n contextRef.current.reset = reset\n contextRef.current.replaceState = replaceState\n contextRef.current.dispatchFields = dispatchFields\n contextRef.current.addFieldRow = addFieldRow\n contextRef.current.removeFieldRow = removeFieldRow\n contextRef.current.replaceFieldRow = replaceFieldRow\n contextRef.current.uuid = uuid\n\n useEffect(() => {\n if (typeof submittedFromProps === 'boolean') setSubmitted(submittedFromProps)\n }, [submittedFromProps])\n\n useEffect(() => {\n if (initialState) {\n contextRef.current = { ...initContextState } as FormContextType\n dispatchFields({ type: 'REPLACE_STATE', state: initialState })\n }\n }, [initialState, dispatchFields])\n\n useThrottledEffect(\n () => {\n refreshCookie()\n },\n 15000,\n [fields],\n )\n\n useEffect(() => {\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n setModified(false)\n }, [locale])\n\n const classes = [className, baseClass].filter(Boolean).join(' ')\n\n useDebouncedEffect(\n () => {\n const executeOnChange = async () => {\n if (Array.isArray(onChange)) {\n let revalidatedFormState: FormState = contextRef.current.fields\n\n for (const onChangeFn of onChange) {\n revalidatedFormState = await onChangeFn({\n formState: revalidatedFormState,\n })\n }\n\n const { changed, newState } = mergeServerFormState(\n contextRef.current.fields || {},\n revalidatedFormState,\n )\n\n if (changed) {\n dispatchFields({\n type: 'REPLACE_STATE',\n optimize: false,\n state: newState,\n })\n }\n }\n }\n\n if (modified) void executeOnChange()\n },\n 150,\n // Make sure we trigger this whenever modified changes (not just when `fields` changes), otherwise we will miss merging server form state for the first form update/onChange. Here's why:\n // `fields` updates before `modified`, because setModified is in a setTimeout. So on the first change, modified is false, so we don't trigger the effect even though we should.\n [contextRef.current.fields, dispatchFields, onChange, modified],\n )\n\n const actionString =\n typeof action === 'string'\n ? `${action}${QueryString.stringify(formQueryParams, { addQueryPrefix: true })}`\n : ''\n\n return (\n <form\n action={method ? actionString : (action as string)}\n className={classes}\n method={method}\n noValidate\n onSubmit={(e) => contextRef.current.submit({}, e)}\n ref={formRef}\n >\n <FormContext.Provider value={contextRef.current}>\n <FormWatchContext.Provider\n value={{\n fields,\n ...contextRef.current,\n }}\n >\n <SubmittedContext.Provider value={submitted}>\n <ProcessingContext.Provider value={processing}>\n <ModifiedContext.Provider value={modified}>\n <FormFieldsContext.Provider value={fieldsReducer}>\n {children}\n </FormFieldsContext.Provider>\n </ModifiedContext.Provider>\n </ProcessingContext.Provider>\n </SubmittedContext.Provider>\n </FormWatchContext.Provider>\n </FormContext.Provider>\n </form>\n )\n}\n\nexport {\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n useAllFormFields,\n useForm,\n useFormFields,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n useWatchForm,\n} from './context.js'\n\nexport { FormProps }\n"],"names":["isDeepEqual","useRouter","serialize","wait","QueryString","React","useCallback","useEffect","useReducer","useRef","useState","toast","useDebouncedEffect","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useFormQueryParams","useLocale","useOperation","useTranslation","requests","getFormState","reduceFieldsToValues","FormContext","FormFieldsContext","FormWatchContext","ModifiedContext","ProcessingContext","SubmittedContext","errorMessages","fieldReducer","getDataByPath","getDataByPathFunc","getSiblingData","getSiblingDataFunc","initContextState","mergeServerFormState","baseClass","Form","props","id","collectionSlug","globalSlug","action","beforeSubmit","children","className","disableSuccessStatus","disableValidationOnSubmit","disabled","disabledFromProps","handleResponse","initialState","onChange","onSubmit","onSuccess","redirect","submitted","submittedFromProps","uuid","waitForAutocomplete","method","undefined","router","code","locale","i18n","t","refreshCookie","user","operation","formQueryParams","config","routes","api","apiRoute","serverURL","setDisabled","modified","setModified","processing","setProcessing","setSubmitted","formRef","contextRef","fieldsReducer","fields","dispatchFields","current","validateForm","validatedFieldState","isValid","dataFromContext","getData","data","validationPromises","Object","entries","map","path","field","validatedField","passesCondition","validationResult","valid","validate","valueToValidate","value","rows","Array","isArray","siblingData","errorMessage","Promise","all","type","state","submit","options","e","actionArg","methodToUse","overrides","skipValidation","preventDefault","stopPropagation","revalidatedFormState","reduce","priorOnChange","beforeSubmitFn","result","formState","resolve","every","error","formData","createFormData","res","actionEndpoint","stringify","addQueryPrefix","toLowerCase","body","headers","language","contentType","get","isJSON","indexOf","json","status","push","success","message","autoClose","errors","fieldErrors","nonFieldErrors","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","forEach","dataError","statusText","getFields","getField","file","dataWithOverrides","dataToSerialize","_payload","JSON","indices","nullsAsUndefineds","reset","newState","schemaPath","replaceState","getFieldStateBySchemaPath","fieldSchema","addFieldRow","rowIndex","subFieldState","blockType","removeFieldRow","replaceFieldRow","classes","filter","Boolean","join","executeOnChange","onChangeFn","changed","optimize","actionString","form","noValidate","ref","Provider","useAllFormFields","useForm","useFormFields","useFormModified","useFormProcessing","useFormSubmitted","useWatchForm"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import * as React from 'react';
3
4
  import { Banner } from '../../elements/Banner/index.js';
4
5
  import { Checkbox } from '../../fields/Checkbox/index.js';
@@ -37,11 +38,13 @@ export const NullifyLocaleField = ({ fieldValue, localized, path })=>{
37
38
  return null;
38
39
  }
39
40
  }
40
- return /*#__PURE__*/ React.createElement(Banner, null, /*#__PURE__*/ React.createElement(Checkbox, {
41
- checked: checked,
42
- id: `field-${path.replace(/\./g, '__')}`,
43
- label: t('general:fallbackToDefaultLocale')
44
- }));
41
+ return /*#__PURE__*/ _jsx(Banner, {
42
+ children: /*#__PURE__*/ _jsx(Checkbox, {
43
+ checked: checked,
44
+ id: `field-${path.replace(/\./g, '__')}`,
45
+ label: t('general:fallbackToDefaultLocale')
46
+ })
47
+ });
45
48
  };
46
49
 
47
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/NullifyField/index.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Checkbox } from '../../fields/Checkbox/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useForm } from '../Form/context.js'\n\ntype NullifyLocaleFieldProps = {\n fieldValue?: [] | null | number\n localized: boolean\n path: string\n}\n\nexport const NullifyLocaleField: React.FC<NullifyLocaleFieldProps> = ({\n fieldValue,\n localized,\n path,\n}) => {\n const { dispatchFields, setModified } = useForm()\n const { code: currentLocale } = useLocale()\n const { localization } = useConfig()\n const [checked, setChecked] = React.useState<boolean>(typeof fieldValue !== 'number')\n const defaultLocale =\n localization && localization.defaultLocale ? localization.defaultLocale : 'en'\n const { t } = useTranslation()\n\n const onChange = () => {\n const useFallback = !checked\n\n dispatchFields({\n type: 'UPDATE',\n path,\n value: useFallback ? null : fieldValue || 0,\n })\n setModified(true)\n setChecked(useFallback)\n }\n\n if (!localized || currentLocale === defaultLocale || (localization && !localization.fallback)) {\n // hide when field is not localized or editing default locale or when fallback is disabled\n return null\n }\n\n if (fieldValue) {\n let hideCheckbox = false\n if (typeof fieldValue === 'number' && fieldValue > 0) hideCheckbox = true\n if (Array.isArray(fieldValue) && fieldValue.length > 0) hideCheckbox = true\n\n if (hideCheckbox) {\n if (checked) setChecked(false) // uncheck when field has value\n return null\n }\n }\n\n return (\n <Banner>\n <Checkbox\n checked={checked}\n id={`field-${path.replace(/\\./g, '__')}`}\n label={t('general:fallbackToDefaultLocale')}\n // onToggle={onChange}\n />\n </Banner>\n )\n}\n"],"names":["React","Banner","Checkbox","useConfig","useLocale","useTranslation","useForm","NullifyLocaleField","fieldValue","localized","path","dispatchFields","setModified","code","currentLocale","localization","checked","setChecked","useState","defaultLocale","t","onChange","useFallback","type","value","fallback","hideCheckbox","Array","isArray","length","id","replace","label"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,YAAYA,WAAW,QAAO;AAE9B,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,QAAQ,QAAQ,iCAAgC;AACzD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,OAAO,QAAQ,qBAAoB;AAQ5C,OAAO,MAAMC,qBAAwD,CAAC,EACpEC,UAAU,EACVC,SAAS,EACTC,IAAI,EACL;IACC,MAAM,EAAEC,cAAc,EAAEC,WAAW,EAAE,GAAGN;IACxC,MAAM,EAAEO,MAAMC,aAAa,EAAE,GAAGV;IAChC,MAAM,EAAEW,YAAY,EAAE,GAAGZ;IACzB,MAAM,CAACa,SAASC,WAAW,GAAGjB,MAAMkB,QAAQ,CAAU,OAAOV,eAAe;IAC5E,MAAMW,gBACJJ,gBAAgBA,aAAaI,aAAa,GAAGJ,aAAaI,aAAa,GAAG;IAC5E,MAAM,EAAEC,CAAC,EAAE,GAAGf;IAEd,MAAMgB,WAAW;QACf,MAAMC,cAAc,CAACN;QAErBL,eAAe;YACbY,MAAM;YACNb;YACAc,OAAOF,cAAc,OAAOd,cAAc;QAC5C;QACAI,YAAY;QACZK,WAAWK;IACb;IAEA,IAAI,CAACb,aAAaK,kBAAkBK,iBAAkBJ,gBAAgB,CAACA,aAAaU,QAAQ,EAAG;QAC7F,0FAA0F;QAC1F,OAAO;IACT;IAEA,IAAIjB,YAAY;QACd,IAAIkB,eAAe;QACnB,IAAI,OAAOlB,eAAe,YAAYA,aAAa,GAAGkB,eAAe;QACrE,IAAIC,MAAMC,OAAO,CAACpB,eAAeA,WAAWqB,MAAM,GAAG,GAAGH,eAAe;QAEvE,IAAIA,cAAc;YAChB,IAAIV,SAASC,WAAW,OAAO,+BAA+B;;YAC9D,OAAO;QACT;IACF;IAEA,qBACE,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,KAAChB;kBACC,cAAA,KAACC;YACCc,SAASA;YACTc,IAAI,CAAC,MAAM,EAAEpB,KAAKqB,OAAO,CAAC,OAAO,MAAM,CAAC;YACxCC,OAAOZ,EAAE;;;AAKjB,EAAC"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import React from 'react';
3
4
  import { HiddenInput } from '../../fields/HiddenInput/index.js';
4
5
  import { useFieldComponents } from '../../providers/FieldComponents/index.js';
@@ -33,7 +34,7 @@ export const RenderField = ({ name, type, CustomField, custom, disabled, fieldCo
33
34
  if (CustomField === undefined && !DefaultField) {
34
35
  return null;
35
36
  }
36
- return /*#__PURE__*/ React.createElement(FieldPropsProvider, {
37
+ return /*#__PURE__*/ _jsx(FieldPropsProvider, {
37
38
  custom: custom,
38
39
  indexPath: indexPath,
39
40
  path: path,
@@ -41,8 +42,11 @@ export const RenderField = ({ name, type, CustomField, custom, disabled, fieldCo
41
42
  readOnly: readOnly,
42
43
  schemaPath: schemaPath,
43
44
  siblingPermissions: siblingPermissions,
44
- type: type
45
- }, CustomField !== undefined ? CustomField : /*#__PURE__*/ React.createElement(DefaultField, fieldComponentProps));
45
+ type: type,
46
+ children: CustomField !== undefined ? CustomField : /*#__PURE__*/ _jsx(DefaultField, {
47
+ ...fieldComponentProps
48
+ })
49
+ });
46
50
  };
47
51
 
48
52
  //# sourceMappingURL=RenderField.js.map
@@ -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 custom?: Record<any, string>\n disabled: boolean\n fieldComponentProps?: FieldComponentProps\n indexPath?: string\n isHidden?: boolean\n name?: string\n path: string\n permissions?: FieldPermissions\n readOnly?: boolean\n schemaPath: string\n siblingPermissions: {\n [fieldName: string]: FieldPermissions\n }\n type: keyof FieldTypes\n}\n\nexport const RenderField: React.FC<Props> = ({\n name,\n type,\n CustomField,\n custom,\n disabled,\n fieldComponentProps,\n indexPath,\n isHidden,\n path: pathFromProps,\n permissions,\n readOnly: readOnlyFromProps,\n schemaPath: schemaPathFromProps,\n siblingPermissions,\n}) => {\n const operation = useOperation()\n const { readOnly: readOnlyFromContext } = useFieldProps()\n const fieldComponents = useFieldComponents()\n\n const path = [pathFromProps, name].filter(Boolean).join('.')\n const schemaPath = [schemaPathFromProps, name].filter(Boolean).join('.')\n\n // if the user cannot read the field, then filter it out\n // this is different from `admin.readOnly` which is executed based on `operation`\n if (permissions?.read?.permission === false || disabled) {\n return null\n }\n\n // `admin.readOnly` displays the value but prevents the field from being edited\n let readOnly = readOnlyFromProps\n\n // if parent field is `readOnly: true`, but this field is `readOnly: false`, the field should still be editable\n if (readOnlyFromContext && readOnly !== false) readOnly = true\n\n // if the user does not have access control to begin with, force it to be read-only\n if (permissions?.[operation]?.permission === false) {\n readOnly = true\n }\n\n const DefaultField = isHidden ? HiddenInput : fieldComponents[type]\n\n if (CustomField === undefined && !DefaultField) {\n return null\n }\n\n return (\n <FieldPropsProvider\n custom={custom}\n indexPath={indexPath}\n path={path}\n permissions={permissions}\n readOnly={readOnly}\n schemaPath={schemaPath}\n siblingPermissions={siblingPermissions}\n type={type}\n >\n {CustomField !== undefined ? CustomField : <DefaultField {...fieldComponentProps} />}\n </FieldPropsProvider>\n )\n}\n"],"names":["React","HiddenInput","useFieldComponents","useOperation","FieldPropsProvider","useFieldProps","RenderField","name","type","CustomField","custom","disabled","fieldComponentProps","indexPath","isHidden","path","pathFromProps","permissions","readOnly","readOnlyFromProps","schemaPath","schemaPathFromProps","siblingPermissions","operation","readOnlyFromContext","fieldComponents","filter","Boolean","join","read","permission","DefaultField","undefined"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;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;AAoBlF,OAAO,MAAMC,cAA+B,CAAC,EAC3CC,IAAI,EACJC,IAAI,EACJC,WAAW,EACXC,MAAM,EACNC,QAAQ,EACRC,mBAAmB,EACnBC,SAAS,EACTC,QAAQ,EACRC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,YAAYC,mBAAmB,EAC/BC,kBAAkB,EACnB;IACC,MAAMC,YAAYpB;IAClB,MAAM,EAAEe,UAAUM,mBAAmB,EAAE,GAAGnB;IAC1C,MAAMoB,kBAAkBvB;IAExB,MAAMa,OAAO;QAACC;QAAeT;KAAK,CAACmB,MAAM,CAACC,SAASC,IAAI,CAAC;IACxD,MAAMR,aAAa;QAACC;QAAqBd;KAAK,CAACmB,MAAM,CAACC,SAASC,IAAI,CAAC;IAEpE,wDAAwD;IACxD,iFAAiF;IACjF,IAAIX,aAAaY,MAAMC,eAAe,SAASnB,UAAU;QACvD,OAAO;IACT;IAEA,+EAA+E;IAC/E,IAAIO,WAAWC;IAEf,+GAA+G;IAC/G,IAAIK,uBAAuBN,aAAa,OAAOA,WAAW;IAE1D,mFAAmF;IACnF,IAAID,aAAa,CAACM,UAAU,EAAEO,eAAe,OAAO;QAClDZ,WAAW;IACb;IAEA,MAAMa,eAAejB,WAAWb,cAAcwB,eAAe,CAACjB,KAAK;IAEnE,IAAIC,gBAAgBuB,aAAa,CAACD,cAAc;QAC9C,OAAO;IACT;IAEA,qBACE,oBAAC3B;QACCM,QAAQA;QACRG,WAAWA;QACXE,MAAMA;QACNE,aAAaA;QACbC,UAAUA;QACVE,YAAYA;QACZE,oBAAoBA;QACpBd,MAAMA;OAELC,gBAAgBuB,YAAYvB,4BAAc,oBAACsB,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 custom?: Record<any, string>\n disabled: boolean\n fieldComponentProps?: FieldComponentProps\n indexPath?: string\n isHidden?: boolean\n name?: string\n path: string\n permissions?: FieldPermissions\n readOnly?: boolean\n schemaPath: string\n siblingPermissions: {\n [fieldName: string]: FieldPermissions\n }\n type: keyof FieldTypes\n}\n\nexport const RenderField: React.FC<Props> = ({\n name,\n type,\n CustomField,\n custom,\n disabled,\n fieldComponentProps,\n indexPath,\n isHidden,\n path: pathFromProps,\n permissions,\n readOnly: readOnlyFromProps,\n schemaPath: schemaPathFromProps,\n siblingPermissions,\n}) => {\n const operation = useOperation()\n const { readOnly: readOnlyFromContext } = useFieldProps()\n const fieldComponents = useFieldComponents()\n\n const path = [pathFromProps, name].filter(Boolean).join('.')\n const schemaPath = [schemaPathFromProps, name].filter(Boolean).join('.')\n\n // if the user cannot read the field, then filter it out\n // this is different from `admin.readOnly` which is executed based on `operation`\n if (permissions?.read?.permission === false || disabled) {\n return null\n }\n\n // `admin.readOnly` displays the value but prevents the field from being edited\n let readOnly = readOnlyFromProps\n\n // if parent field is `readOnly: true`, but this field is `readOnly: false`, the field should still be editable\n if (readOnlyFromContext && readOnly !== false) readOnly = true\n\n // if the user does not have access control to begin with, force it to be read-only\n if (permissions?.[operation]?.permission === false) {\n readOnly = true\n }\n\n const DefaultField = isHidden ? HiddenInput : fieldComponents[type]\n\n if (CustomField === undefined && !DefaultField) {\n return null\n }\n\n return (\n <FieldPropsProvider\n custom={custom}\n indexPath={indexPath}\n path={path}\n permissions={permissions}\n readOnly={readOnly}\n schemaPath={schemaPath}\n siblingPermissions={siblingPermissions}\n type={type}\n >\n {CustomField !== undefined ? CustomField : <DefaultField {...fieldComponentProps} />}\n </FieldPropsProvider>\n )\n}\n"],"names":["React","HiddenInput","useFieldComponents","useOperation","FieldPropsProvider","useFieldProps","RenderField","name","type","CustomField","custom","disabled","fieldComponentProps","indexPath","isHidden","path","pathFromProps","permissions","readOnly","readOnlyFromProps","schemaPath","schemaPathFromProps","siblingPermissions","operation","readOnlyFromContext","fieldComponents","filter","Boolean","join","read","permission","DefaultField","undefined"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;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;AAoBlF,OAAO,MAAMC,cAA+B,CAAC,EAC3CC,IAAI,EACJC,IAAI,EACJC,WAAW,EACXC,MAAM,EACNC,QAAQ,EACRC,mBAAmB,EACnBC,SAAS,EACTC,QAAQ,EACRC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,YAAYC,mBAAmB,EAC/BC,kBAAkB,EACnB;IACC,MAAMC,YAAYpB;IAClB,MAAM,EAAEe,UAAUM,mBAAmB,EAAE,GAAGnB;IAC1C,MAAMoB,kBAAkBvB;IAExB,MAAMa,OAAO;QAACC;QAAeT;KAAK,CAACmB,MAAM,CAACC,SAASC,IAAI,CAAC;IACxD,MAAMR,aAAa;QAACC;QAAqBd;KAAK,CAACmB,MAAM,CAACC,SAASC,IAAI,CAAC;IAEpE,wDAAwD;IACxD,iFAAiF;IACjF,IAAIX,aAAaY,MAAMC,eAAe,SAASnB,UAAU;QACvD,OAAO;IACT;IAEA,+EAA+E;IAC/E,IAAIO,WAAWC;IAEf,+GAA+G;IAC/G,IAAIK,uBAAuBN,aAAa,OAAOA,WAAW;IAE1D,mFAAmF;IACnF,IAAID,aAAa,CAACM,UAAU,EAAEO,eAAe,OAAO;QAClDZ,WAAW;IACb;IAEA,MAAMa,eAAejB,WAAWb,cAAcwB,eAAe,CAACjB,KAAK;IAEnE,IAAIC,gBAAgBuB,aAAa,CAACD,cAAc;QAC9C,OAAO;IACT;IAEA,qBACE,KAAC3B;QACCM,QAAQA;QACRG,WAAWA;QACXE,MAAMA;QACNE,aAAaA;QACbC,UAAUA;QACVE,YAAYA;QACZE,oBAAoBA;QACpBd,MAAMA;kBAELC,gBAAgBuB,YAAYvB,4BAAc,KAACsB;YAAc,GAAGnB,mBAAmB;;;AAGtF,EAAC"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import React from 'react';
3
4
  import { useIntersect } from '../../hooks/useIntersect.js';
4
5
  import { useTranslation } from '../../providers/Translation/index.js';
@@ -30,34 +31,34 @@ export const RenderFields = (props)=>{
30
31
  ;
31
32
  }
32
33
  if (fieldMap) {
33
- return /*#__PURE__*/ React.createElement("div", {
34
+ return /*#__PURE__*/ _jsx("div", {
34
35
  className: [
35
36
  baseClass,
36
37
  className,
37
38
  margins && `${baseClass}--margins-${margins}`,
38
39
  margins === false && `${baseClass}--margins-none`
39
40
  ].filter(Boolean).join(' '),
40
- ref: intersectionRef
41
- }, hasRendered && fieldMap?.map((f, fieldIndex)=>{
42
- const { type, CustomField, custom, disabled, fieldComponentProps, fieldComponentProps: { readOnly }, isHidden } = f;
43
- const name = 'name' in f ? f.name : undefined;
44
- return /*#__PURE__*/ React.createElement(RenderField, {
45
- CustomField: CustomField,
46
- custom: custom,
47
- disabled: disabled,
48
- fieldComponentProps: fieldComponentProps,
49
- indexPath: indexPath !== undefined ? `${indexPath}.${fieldIndex}` : `${fieldIndex}`,
50
- isHidden: isHidden,
51
- key: fieldIndex,
52
- name: name,
53
- path: path,
54
- permissions: permissions?.[name],
55
- readOnly: readOnly,
56
- schemaPath: schemaPath,
57
- siblingPermissions: permissions,
58
- type: type
59
- });
60
- }));
41
+ ref: intersectionRef,
42
+ children: hasRendered && fieldMap?.map((f, fieldIndex)=>{
43
+ const { type, CustomField, custom, disabled, fieldComponentProps, fieldComponentProps: { readOnly }, isHidden } = f;
44
+ const name = 'name' in f ? f.name : undefined;
45
+ return /*#__PURE__*/ _jsx(RenderField, {
46
+ CustomField: CustomField,
47
+ custom: custom,
48
+ disabled: disabled,
49
+ fieldComponentProps: fieldComponentProps,
50
+ indexPath: indexPath !== undefined ? `${indexPath}.${fieldIndex}` : `${fieldIndex}`,
51
+ isHidden: isHidden,
52
+ name: name,
53
+ path: path,
54
+ permissions: permissions?.[name],
55
+ readOnly: readOnly,
56
+ schemaPath: schemaPath,
57
+ siblingPermissions: permissions,
58
+ type: type
59
+ }, fieldIndex);
60
+ })
61
+ });
61
62
  }
62
63
  return null;
63
64
  };
@@ -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 custom,\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 custom={custom}\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","custom","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,MAAM,EACNC,QAAQ,EACRC,mBAAmB,EACnBA,qBAAqB,EAAEC,QAAQ,EAAE,EACjCC,QAAQ,EACT,GAAGR;YAEJ,MAAMS,OAAO,UAAUT,IAAIA,EAAES,IAAI,GAAGC;YAEpC,qBACE,oBAAC9C;gBACCuC,aAAaA;gBACbC,QAAQA;gBACRC,UAAUA;gBACVC,qBAAqBA;gBACrBnC,WAAWA,cAAcuC,YAAY,CAAC,EAAEvC,UAAU,CAAC,EAAE8B,WAAW,CAAC,GAAG,CAAC,EAAEA,WAAW,CAAC;gBACnFO,UAAUA;gBACVG,KAAKV;gBACLQ,MAAMA;gBACNpC,MAAMA;gBACNC,aAAaA,aAAa,CAACmC,KAAK;gBAChCF,UAAUA;gBACVhC,YAAYA;gBACZqC,oBAAoBtC;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 custom,\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 custom={custom}\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","custom","disabled","fieldComponentProps","readOnly","isHidden","name","undefined","siblingPermissions"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAIzB,SAASC,YAAY,QAAQ,8BAA6B;AAC1D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,WAAW,QAAQ,mBAAkB;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,KAAC0B;YACC3B,WAAW;gBACTH;gBACAG;gBACAI,WAAW,CAAC,EAAEP,UAAU,UAAU,EAAEO,QAAQ,CAAC;gBAC7CA,YAAY,SAAS,CAAC,EAAEP,UAAU,cAAc,CAAC;aAClD,CACE+B,MAAM,CAAChB,SACPiB,IAAI,CAAC;YACRC,KAAKjB;sBAEJJ,eACCR,UAAU8B,IAAI,CAACC,GAAGC;gBAChB,MAAM,EACJC,IAAI,EACJC,WAAW,EACXC,MAAM,EACNC,QAAQ,EACRC,mBAAmB,EACnBA,qBAAqB,EAAEC,QAAQ,EAAE,EACjCC,QAAQ,EACT,GAAGR;gBAEJ,MAAMS,OAAO,UAAUT,IAAIA,EAAES,IAAI,GAAGC;gBAEpC,qBACE,KAAC9C;oBACCuC,aAAaA;oBACbC,QAAQA;oBACRC,UAAUA;oBACVC,qBAAqBA;oBACrBnC,WAAWA,cAAcuC,YAAY,CAAC,EAAEvC,UAAU,CAAC,EAAE8B,WAAW,CAAC,GAAG,CAAC,EAAEA,WAAW,CAAC;oBACnFO,UAAUA;oBAEVC,MAAMA;oBACNpC,MAAMA;oBACNC,aAAaA,aAAa,CAACmC,KAAK;oBAChCF,UAAUA;oBACVhC,YAAYA;oBACZoC,oBAAoBrC;oBACpB4B,MAAMA;mBAPDD;YAUX;;IAGR;IAEA,OAAO;AACT,EAAC"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import React from 'react';
3
4
  import { useWatchForm } from '../../Form/context.js';
4
5
  const RowLabel = /*#__PURE__*/ React.createContext({
@@ -11,13 +12,14 @@ export const RowLabelProvider = ({ children, path, rowNumber })=>{
11
12
  const collapsibleData = getSiblingData(path);
12
13
  const arrayData = getDataByPath(path);
13
14
  const data = arrayData || collapsibleData;
14
- return /*#__PURE__*/ React.createElement(RowLabel.Provider, {
15
+ return /*#__PURE__*/ _jsx(RowLabel.Provider, {
15
16
  value: {
16
17
  data,
17
18
  path,
18
19
  rowNumber
19
- }
20
- }, children);
20
+ },
21
+ children: children
22
+ });
21
23
  };
22
24
  export const useRowLabel = ()=>{
23
25
  return React.useContext(RowLabel);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/forms/RowLabel/Context/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useWatchForm } from '../../Form/context.js'\n\ntype RowLabelType<T = unknown> = {\n data: T\n path: string\n rowNumber?: number\n}\n\nconst RowLabel = React.createContext<RowLabelType>({\n data: {},\n path: '',\n rowNumber: undefined,\n})\n\ntype Props<T> = Omit<RowLabelType<T>, 'data'> & {\n children: React.ReactNode\n}\n\nexport const RowLabelProvider: React.FC<Props<unknown>> = ({ children, path, rowNumber }) => {\n const { getDataByPath, getSiblingData } = useWatchForm()\n const collapsibleData = getSiblingData(path)\n const arrayData = getDataByPath(path)\n const data = arrayData || collapsibleData\n\n return <RowLabel.Provider value={{ data, path, rowNumber }}>{children}</RowLabel.Provider>\n}\n\nexport const useRowLabel = <T,>() => {\n return React.useContext(RowLabel) as RowLabelType<T>\n}\n"],"names":["React","useWatchForm","RowLabel","createContext","data","path","rowNumber","undefined","RowLabelProvider","children","getDataByPath","getSiblingData","collapsibleData","arrayData","Provider","value","useRowLabel","useContext"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,YAAY,QAAQ,wBAAuB;AAQpD,MAAMC,yBAAWF,MAAMG,aAAa,CAAe;IACjDC,MAAM,CAAC;IACPC,MAAM;IACNC,WAAWC;AACb;AAMA,OAAO,MAAMC,mBAA6C,CAAC,EAAEC,QAAQ,EAAEJ,IAAI,EAAEC,SAAS,EAAE;IACtF,MAAM,EAAEI,aAAa,EAAEC,cAAc,EAAE,GAAGV;IAC1C,MAAMW,kBAAkBD,eAAeN;IACvC,MAAMQ,YAAYH,cAAcL;IAChC,MAAMD,OAAOS,aAAaD;IAE1B,qBAAO,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,KAACV,SAASY,QAAQ;QAACC,OAAO;YAAEX;YAAMC;YAAMC;QAAU;kBAAIG;;AAC/D,EAAC;AAED,OAAO,MAAMO,cAAc;IACzB,OAAOhB,MAAMiB,UAAU,CAACf;AAC1B,EAAC"}
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import { getTranslation } from '@payloadcms/translations';
2
3
  import React from 'react';
3
4
  import { RowLabelProvider } from '../RowLabel/Context/index.js';
@@ -5,21 +6,23 @@ const baseClass = 'row-label';
5
6
  export const RowLabel = (props)=>{
6
7
  const { RowLabelComponent, className, i18n, path, rowLabel, rowNumber } = props;
7
8
  if (RowLabelComponent) {
8
- return /*#__PURE__*/ React.createElement(RowLabelProvider, {
9
+ return /*#__PURE__*/ _jsx(RowLabelProvider, {
9
10
  path: path,
10
- rowNumber: rowNumber
11
- }, RowLabelComponent);
11
+ rowNumber: rowNumber,
12
+ children: RowLabelComponent
13
+ });
12
14
  }
13
15
  const label = rowLabel ? typeof rowLabel === 'object' ? getTranslation(rowLabel, i18n) : typeof rowLabel === 'string' ? rowLabel : '' : '';
14
- return /*#__PURE__*/ React.createElement("span", {
16
+ return /*#__PURE__*/ _jsx("span", {
15
17
  className: [
16
18
  baseClass,
17
19
  className
18
20
  ].filter(Boolean).join(' '),
19
21
  style: {
20
22
  pointerEvents: 'none'
21
- }
22
- }, label);
23
+ },
24
+ children: label
25
+ });
23
26
  };
24
27
 
25
28
  //# sourceMappingURL=index.js.map
@@ -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"],"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
+ {"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,KAACJ;YAAiBO,MAAMA;YAAME,WAAWA;sBACtCL;;IAGP;IAEA,MAAMM,QAAQF,WACV,OAAOA,aAAa,WAClBV,eAAeU,UAAUF,QACzB,OAAOE,aAAa,WAClBA,WACA,KACJ;IAEJ,qBACE,KAACG;QACCN,WAAW;YAACJ;YAAWI;SAAU,CAACO,MAAM,CAACC,SAASC,IAAI,CAAC;QACvDC,OAAO;YACLC,eAAe;QACjB;kBAECN;;AAGP,EAAC"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import React, { forwardRef } from 'react';
3
4
  import { Button } from '../../elements/Button/index.js';
4
5
  import { useForm, useFormProcessing } from '../Form/context.js';
@@ -8,15 +9,17 @@ export const FormSubmit = /*#__PURE__*/ forwardRef((props, ref)=>{
8
9
  const processing = useFormProcessing();
9
10
  const { disabled } = useForm();
10
11
  const canSave = !(disabledFromProps || processing || disabled);
11
- return /*#__PURE__*/ React.createElement("div", {
12
- className: baseClass
13
- }, /*#__PURE__*/ React.createElement(Button, {
14
- ref: ref,
15
- ...props,
16
- disabled: canSave ? undefined : true,
17
- id: id,
18
- type: type
19
- }, children));
12
+ return /*#__PURE__*/ _jsx("div", {
13
+ className: baseClass,
14
+ children: /*#__PURE__*/ _jsx(Button, {
15
+ ref: ref,
16
+ ...props,
17
+ disabled: canSave ? undefined : true,
18
+ id: id,
19
+ type: type,
20
+ children: children
21
+ })
22
+ });
20
23
  });
21
24
 
22
25
  //# sourceMappingURL=index.js.map
@@ -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\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;IAErB,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\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;IAErB,MAAMa,UAAU,CAAEF,CAAAA,qBAAqBC,cAAcF,QAAO;IAE5D,qBACE,KAACI;QAAIC,WAAWb;kBACd,cAAA,KAACH;YAAOM,KAAKA;YAAM,GAAGD,KAAK;YAAEM,UAAUG,UAAUG,YAAY;YAAMR,IAAIA;YAAIF,MAAMA;sBAC9EG;;;AAIT,GAAE"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import React from 'react';
3
4
  import { Fragment } from 'react';
4
5
  import { useFormFields } from '../Form/context.js';
@@ -18,7 +19,9 @@ export const WatchCondition = (props)=>{
18
19
  if (passesCondition === false) {
19
20
  return null;
20
21
  }
21
- return /*#__PURE__*/ React.createElement(Fragment, null, children);
22
+ return /*#__PURE__*/ _jsx(Fragment, {
23
+ children: children
24
+ });
22
25
  };
23
26
 
24
27
  //# sourceMappingURL=WatchCondition.js.map
@@ -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"],"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
+ {"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,KAACjB;kBAAUM;;AACpB,EAAC"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import React from 'react';
3
4
  import { useFieldProps } from '../FieldPropsProvider/index.js';
4
5
  import { WatchCondition } from './WatchCondition.js';
@@ -7,12 +8,15 @@ export const withCondition = (Field)=>{
7
8
  const { name } = props;
8
9
  const { type, indexPath, path: pathFromContext } = useFieldProps();
9
10
  const path = pathFromContext || name;
10
- return /*#__PURE__*/ React.createElement(WatchCondition, {
11
+ return /*#__PURE__*/ _jsx(WatchCondition, {
11
12
  indexPath: indexPath,
12
13
  name: name,
13
14
  path: path,
14
- type: type
15
- }, /*#__PURE__*/ React.createElement(Field, props));
15
+ type: type,
16
+ children: /*#__PURE__*/ _jsx(Field, {
17
+ ...props
18
+ })
19
+ });
16
20
  };
17
21
  return CheckForCondition;
18
22
  };
@@ -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"],"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"}
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,KAACL;YAAeO,WAAWA;YAAWF,MAAMA;YAAgBG,MAAMA;YAAgBF,MAAMA;sBACtF,cAAA,KAACJ;gBAAO,GAAGE,KAAK;;;IAGtB;IAEA,OAAOD;AACT,EAAC"}