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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/dist/elements/Autosave/index.d.ts.map +1 -1
  2. package/dist/elements/Autosave/index.js +2 -43
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  5. package/dist/elements/ColumnSelector/index.js +2 -5
  6. package/dist/elements/ColumnSelector/index.js.map +1 -1
  7. package/dist/elements/DeleteDocument/index.js +2 -2
  8. package/dist/elements/DeleteDocument/index.js.map +1 -1
  9. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  10. package/dist/elements/DocumentControls/index.js +13 -4
  11. package/dist/elements/DocumentControls/index.js.map +1 -1
  12. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  13. package/dist/elements/DocumentDrawer/DrawerContent.js +31 -112
  14. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  15. package/dist/elements/DocumentDrawer/types.d.ts +0 -2
  16. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  17. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  18. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +1 -0
  19. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +8 -2
  21. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  22. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  23. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +1 -0
  24. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  25. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  26. package/dist/elements/DocumentHeader/Tabs/index.js +4 -0
  27. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  28. package/dist/elements/EditMany/index.d.ts.map +1 -1
  29. package/dist/elements/EditMany/index.js +3 -25
  30. package/dist/elements/EditMany/index.js.map +1 -1
  31. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  32. package/dist/elements/FieldSelect/index.js +39 -12
  33. package/dist/elements/FieldSelect/index.js.map +1 -1
  34. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  35. package/dist/elements/FileDetails/index.js +2 -1
  36. package/dist/elements/FileDetails/index.js.map +1 -1
  37. package/dist/elements/ListControls/index.d.ts +0 -1
  38. package/dist/elements/ListControls/index.d.ts.map +1 -1
  39. package/dist/elements/ListControls/index.js +7 -6
  40. package/dist/elements/ListControls/index.js.map +1 -1
  41. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  42. package/dist/elements/ListDrawer/DrawerContent.js +5 -9
  43. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  44. package/dist/elements/Nav/index.client.d.ts +3 -0
  45. package/dist/elements/Nav/index.client.d.ts.map +1 -0
  46. package/dist/elements/Nav/index.client.js +77 -0
  47. package/dist/elements/Nav/index.client.js.map +1 -0
  48. package/dist/elements/Nav/index.d.ts +3 -7
  49. package/dist/elements/Nav/index.d.ts.map +1 -1
  50. package/dist/elements/Nav/index.js +4 -66
  51. package/dist/elements/Nav/index.js.map +1 -1
  52. package/dist/elements/PerPage/index.d.ts +1 -0
  53. package/dist/elements/PerPage/index.d.ts.map +1 -1
  54. package/dist/elements/PerPage/index.js +6 -4
  55. package/dist/elements/PerPage/index.js.map +1 -1
  56. package/dist/elements/PreviewButton/index.d.ts +4 -6
  57. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  58. package/dist/elements/PreviewButton/index.js +11 -65
  59. package/dist/elements/PreviewButton/index.js.map +1 -1
  60. package/dist/elements/PreviewButton/usePreviewURL.d.ts +9 -0
  61. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -0
  62. package/dist/elements/PreviewButton/usePreviewURL.js +57 -0
  63. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -0
  64. package/dist/elements/Publish/index.d.ts +4 -2
  65. package/dist/elements/Publish/index.d.ts.map +1 -1
  66. package/dist/elements/Publish/index.js +15 -25
  67. package/dist/elements/Publish/index.js.map +1 -1
  68. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  69. package/dist/elements/ReactSelect/MultiValue/index.js +2 -1
  70. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  71. package/dist/elements/ReactSelect/ValueContainer/index.scss +4 -0
  72. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  73. package/dist/elements/ReactSelect/index.js +4 -1
  74. package/dist/elements/ReactSelect/index.js.map +1 -1
  75. package/dist/elements/ReactSelect/types.d.ts +2 -0
  76. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  77. package/dist/elements/ReactSelect/types.js.map +1 -1
  78. package/dist/elements/Save/index.d.ts +4 -2
  79. package/dist/elements/Save/index.d.ts.map +1 -1
  80. package/dist/elements/Save/index.js +7 -14
  81. package/dist/elements/Save/index.js.map +1 -1
  82. package/dist/elements/SaveDraft/index.d.ts +1 -2
  83. package/dist/elements/SaveDraft/index.d.ts.map +1 -1
  84. package/dist/elements/SaveDraft/index.js +33 -42
  85. package/dist/elements/SaveDraft/index.js.map +1 -1
  86. package/dist/elements/SortColumn/index.d.ts +3 -1
  87. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  88. package/dist/elements/SortColumn/index.js +5 -6
  89. package/dist/elements/SortColumn/index.js.map +1 -1
  90. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +3 -3
  91. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
  92. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  93. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +4 -4
  94. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  95. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  96. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +2 -2
  97. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  98. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  99. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +2 -2
  100. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  101. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  102. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +2 -5
  103. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  104. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  105. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
  106. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  107. package/dist/elements/Table/DefaultCell/fields/File/index.js +4 -3
  108. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  109. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +2 -2
  110. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  111. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  112. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +4 -4
  113. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  114. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  115. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +3 -3
  116. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
  117. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  118. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +2 -2
  119. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
  120. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  121. package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
  122. package/dist/elements/Table/DefaultCell/index.d.ts +2 -2
  123. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  124. package/dist/elements/Table/DefaultCell/index.js +4 -2
  125. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  126. package/dist/elements/Table/TableCellProvider/index.d.ts +11 -11
  127. package/dist/elements/Table/TableCellProvider/index.d.ts.map +1 -1
  128. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  129. package/dist/elements/Table/index.d.ts +8 -4
  130. package/dist/elements/Table/index.d.ts.map +1 -1
  131. package/dist/elements/Table/index.js +1 -0
  132. package/dist/elements/Table/index.js.map +1 -1
  133. package/dist/elements/TableColumns/{buildColumns.d.ts → buildColumnState.d.ts} +8 -6
  134. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -0
  135. package/dist/elements/TableColumns/{buildColumns.js → buildColumnState.js} +37 -13
  136. package/dist/elements/TableColumns/buildColumnState.js.map +1 -0
  137. package/dist/elements/TableColumns/filterFields.d.ts +3 -0
  138. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -0
  139. package/dist/elements/TableColumns/filterFields.js +27 -0
  140. package/dist/elements/TableColumns/filterFields.js.map +1 -0
  141. package/dist/elements/TableColumns/getInitialColumns.d.ts +5 -0
  142. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -0
  143. package/dist/elements/TableColumns/getInitialColumns.js +48 -0
  144. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -0
  145. package/dist/elements/TableColumns/index.d.ts +2 -2
  146. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  147. package/dist/elements/TableColumns/index.js +11 -7
  148. package/dist/elements/TableColumns/index.js.map +1 -1
  149. package/dist/elements/Thumbnail/index.d.ts +6 -0
  150. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  151. package/dist/elements/Thumbnail/index.js +32 -16
  152. package/dist/elements/Thumbnail/index.js.map +1 -1
  153. package/dist/elements/ThumbnailCard/index.d.ts +1 -1
  154. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  155. package/dist/elements/ThumbnailCard/index.js +2 -6
  156. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  157. package/dist/elements/Tooltip/index.scss +4 -4
  158. package/dist/elements/Translation/index.d.ts.map +1 -1
  159. package/dist/elements/Translation/index.js +12 -9
  160. package/dist/elements/Translation/index.js.map +1 -1
  161. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  162. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +11 -7
  163. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  164. package/dist/elements/WhereBuilder/Condition/index.d.ts +21 -4
  165. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  166. package/dist/elements/WhereBuilder/Condition/index.js +45 -61
  167. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  168. package/dist/elements/WhereBuilder/Condition/index.scss +6 -0
  169. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  170. package/dist/elements/WhereBuilder/index.js +134 -55
  171. package/dist/elements/WhereBuilder/index.js.map +1 -1
  172. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +3 -0
  173. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -0
  174. package/dist/elements/WhereBuilder/reduceFieldMap.js +36 -0
  175. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -0
  176. package/dist/elements/withMergedProps/index.js +1 -1
  177. package/dist/elements/withMergedProps/index.js.map +1 -1
  178. package/dist/fields/Array/ArrayRow.d.ts +2 -0
  179. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  180. package/dist/fields/Array/ArrayRow.js +3 -3
  181. package/dist/fields/Array/ArrayRow.js.map +1 -1
  182. package/dist/fields/Array/index.d.ts +1 -1
  183. package/dist/fields/Array/index.d.ts.map +1 -1
  184. package/dist/fields/Array/index.js +23 -8
  185. package/dist/fields/Array/index.js.map +1 -1
  186. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  187. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  188. package/dist/fields/Blocks/BlockRow.js +2 -3
  189. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  190. package/dist/fields/Blocks/index.d.ts +0 -1
  191. package/dist/fields/Blocks/index.d.ts.map +1 -1
  192. package/dist/fields/Blocks/index.js +17 -5
  193. package/dist/fields/Blocks/index.js.map +1 -1
  194. package/dist/fields/Checkbox/Input.d.ts +2 -1
  195. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  196. package/dist/fields/Checkbox/Input.js +3 -1
  197. package/dist/fields/Checkbox/Input.js.map +1 -1
  198. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  199. package/dist/fields/Checkbox/index.js +6 -2
  200. package/dist/fields/Checkbox/index.js.map +1 -1
  201. package/dist/fields/Code/index.d.ts.map +1 -1
  202. package/dist/fields/Code/index.js +8 -3
  203. package/dist/fields/Code/index.js.map +1 -1
  204. package/dist/fields/Collapsible/index.d.ts +2 -1
  205. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  206. package/dist/fields/Collapsible/index.js +4 -3
  207. package/dist/fields/Collapsible/index.js.map +1 -1
  208. package/dist/fields/DateTime/index.d.ts.map +1 -1
  209. package/dist/fields/DateTime/index.js +7 -2
  210. package/dist/fields/DateTime/index.js.map +1 -1
  211. package/dist/fields/Email/index.d.ts.map +1 -1
  212. package/dist/fields/Email/index.js +7 -2
  213. package/dist/fields/Email/index.js.map +1 -1
  214. package/dist/fields/Group/index.d.ts +0 -1
  215. package/dist/fields/Group/index.d.ts.map +1 -1
  216. package/dist/fields/Group/index.js +9 -8
  217. package/dist/fields/Group/index.js.map +1 -1
  218. package/dist/fields/HiddenInput/index.d.ts +1 -0
  219. package/dist/fields/HiddenInput/index.d.ts.map +1 -1
  220. package/dist/fields/HiddenInput/index.js +4 -2
  221. package/dist/fields/HiddenInput/index.js.map +1 -1
  222. package/dist/fields/JSON/index.d.ts.map +1 -1
  223. package/dist/fields/JSON/index.js +8 -4
  224. package/dist/fields/JSON/index.js.map +1 -1
  225. package/dist/fields/Number/index.d.ts.map +1 -1
  226. package/dist/fields/Number/index.js +7 -2
  227. package/dist/fields/Number/index.js.map +1 -1
  228. package/dist/fields/Password/index.d.ts +0 -1
  229. package/dist/fields/Password/index.d.ts.map +1 -1
  230. package/dist/fields/Password/index.js +5 -2
  231. package/dist/fields/Password/index.js.map +1 -1
  232. package/dist/fields/Point/index.d.ts.map +1 -1
  233. package/dist/fields/Point/index.js +15 -10
  234. package/dist/fields/Point/index.js.map +1 -1
  235. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  236. package/dist/fields/RadioGroup/index.js +7 -2
  237. package/dist/fields/RadioGroup/index.js.map +1 -1
  238. package/dist/fields/Relationship/index.d.ts.map +1 -1
  239. package/dist/fields/Relationship/index.js +45 -14
  240. package/dist/fields/Relationship/index.js.map +1 -1
  241. package/dist/fields/Relationship/types.d.ts +3 -1
  242. package/dist/fields/Relationship/types.d.ts.map +1 -1
  243. package/dist/fields/Relationship/types.js.map +1 -1
  244. package/dist/fields/RichText/index.d.ts +2 -0
  245. package/dist/fields/RichText/index.d.ts.map +1 -1
  246. package/dist/fields/RichText/index.js.map +1 -1
  247. package/dist/fields/Row/index.d.ts.map +1 -1
  248. package/dist/fields/Row/index.js +2 -1
  249. package/dist/fields/Row/index.js.map +1 -1
  250. package/dist/fields/Select/index.d.ts +0 -1
  251. package/dist/fields/Select/index.d.ts.map +1 -1
  252. package/dist/fields/Select/index.js +8 -3
  253. package/dist/fields/Select/index.js.map +1 -1
  254. package/dist/fields/Tabs/index.d.ts +0 -1
  255. package/dist/fields/Tabs/index.d.ts.map +1 -1
  256. package/dist/fields/Tabs/index.js +2 -2
  257. package/dist/fields/Tabs/index.js.map +1 -1
  258. package/dist/fields/Text/Input.d.ts.map +1 -1
  259. package/dist/fields/Text/Input.js +4 -1
  260. package/dist/fields/Text/Input.js.map +1 -1
  261. package/dist/fields/Text/index.d.ts.map +1 -1
  262. package/dist/fields/Text/index.js +3 -1
  263. package/dist/fields/Text/index.js.map +1 -1
  264. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  265. package/dist/fields/Textarea/Input.js +4 -1
  266. package/dist/fields/Textarea/Input.js.map +1 -1
  267. package/dist/fields/Textarea/index.d.ts.map +1 -1
  268. package/dist/fields/Textarea/index.js +3 -1
  269. package/dist/fields/Textarea/index.js.map +1 -1
  270. package/dist/fields/Upload/Input.d.ts.map +1 -1
  271. package/dist/fields/Upload/Input.js +10 -8
  272. package/dist/fields/Upload/Input.js.map +1 -1
  273. package/dist/fields/Upload/index.d.ts.map +1 -1
  274. package/dist/fields/Upload/index.js +6 -2
  275. package/dist/fields/Upload/index.js.map +1 -1
  276. package/dist/fields/shared/index.d.ts +1 -2
  277. package/dist/fields/shared/index.d.ts.map +1 -1
  278. package/dist/fields/shared/index.js.map +1 -1
  279. package/dist/forms/FieldDescription/index.d.ts +1 -2
  280. package/dist/forms/FieldDescription/index.d.ts.map +1 -1
  281. package/dist/forms/FieldDescription/index.js.map +1 -1
  282. package/dist/forms/FieldError/index.js +1 -1
  283. package/dist/forms/FieldError/index.js.map +1 -1
  284. package/dist/forms/FieldLabel/index.d.ts.map +1 -1
  285. package/dist/forms/FieldLabel/index.js +4 -4
  286. package/dist/forms/FieldLabel/index.js.map +1 -1
  287. package/dist/forms/FieldLabel/index.scss +1 -1
  288. package/dist/forms/FieldPropsProvider/index.d.ts +5 -0
  289. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  290. package/dist/forms/FieldPropsProvider/index.js +5 -1
  291. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  292. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  293. package/dist/forms/Form/fieldReducer.js +6 -8
  294. package/dist/forms/Form/fieldReducer.js.map +1 -1
  295. package/dist/forms/Form/index.d.ts.map +1 -1
  296. package/dist/forms/Form/index.js +37 -20
  297. package/dist/forms/Form/index.js.map +1 -1
  298. package/dist/forms/Form/initContextState.d.ts.map +1 -1
  299. package/dist/forms/Form/initContextState.js +1 -0
  300. package/dist/forms/Form/initContextState.js.map +1 -1
  301. package/dist/forms/Form/mergeErrorPaths.d.ts +5 -0
  302. package/dist/forms/Form/mergeErrorPaths.d.ts.map +1 -0
  303. package/dist/forms/Form/mergeErrorPaths.js +29 -0
  304. package/dist/forms/Form/mergeErrorPaths.js.map +1 -0
  305. package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
  306. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  307. package/dist/forms/Form/mergeServerFormState.js +36 -19
  308. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  309. package/dist/forms/Form/types.d.ts +8 -2
  310. package/dist/forms/Form/types.d.ts.map +1 -1
  311. package/dist/forms/Form/types.js.map +1 -1
  312. package/dist/forms/RenderFields/RenderField.d.ts +1 -0
  313. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  314. package/dist/forms/RenderFields/RenderField.js +12 -4
  315. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  316. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  317. package/dist/forms/RenderFields/index.js +3 -3
  318. package/dist/forms/RenderFields/index.js.map +1 -1
  319. package/dist/forms/RenderFields/types.d.ts +1 -0
  320. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  321. package/dist/forms/RenderFields/types.js.map +1 -1
  322. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +4 -3
  323. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  324. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +67 -42
  325. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  326. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +11 -0
  327. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -0
  328. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js +13 -0
  329. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -0
  330. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +11 -0
  331. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -0
  332. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js +16 -0
  333. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -0
  334. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +12 -0
  335. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -0
  336. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +122 -0
  337. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -0
  338. package/dist/forms/buildStateFromSchema/index.d.ts +1 -0
  339. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  340. package/dist/forms/buildStateFromSchema/index.js +10 -2
  341. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  342. package/dist/forms/buildStateFromSchema/iterateFields.d.ts +2 -2
  343. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  344. package/dist/forms/buildStateFromSchema/iterateFields.js +4 -3
  345. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  346. package/dist/forms/useField/index.d.ts.map +1 -1
  347. package/dist/forms/useField/index.js +32 -12
  348. package/dist/forms/useField/index.js.map +1 -1
  349. package/dist/forms/useField/types.d.ts +1 -0
  350. package/dist/forms/useField/types.d.ts.map +1 -1
  351. package/dist/forms/useField/types.js.map +1 -1
  352. package/dist/forms/withCondition/WatchCondition.d.ts +3 -0
  353. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  354. package/dist/forms/withCondition/WatchCondition.js +10 -2
  355. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  356. package/dist/forms/withCondition/index.js +4 -2
  357. package/dist/forms/withCondition/index.js.map +1 -1
  358. package/dist/hooks/usePayloadAPI.js +1 -1
  359. package/dist/hooks/usePayloadAPI.js.map +1 -1
  360. package/dist/hooks/useUseAsTitle.d.ts +3 -2
  361. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  362. package/dist/hooks/useUseAsTitle.js +5 -6
  363. package/dist/hooks/useUseAsTitle.js.map +1 -1
  364. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  365. package/dist/providers/ClientFunction/index.js +27 -5
  366. package/dist/providers/ClientFunction/index.js.map +1 -1
  367. package/dist/providers/ComponentMap/buildComponentMap/{mapActions.d.ts → actions.d.ts} +1 -1
  368. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -0
  369. package/dist/providers/ComponentMap/buildComponentMap/{mapActions.js → actions.js} +1 -1
  370. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -0
  371. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +13 -0
  372. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -0
  373. package/dist/providers/ComponentMap/buildComponentMap/collections.js +74 -0
  374. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -0
  375. package/dist/providers/ComponentMap/buildComponentMap/{mapFields.d.ts → fields.d.ts} +1 -1
  376. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -0
  377. package/dist/providers/ComponentMap/buildComponentMap/{mapFields.js → fields.js} +43 -23
  378. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -0
  379. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +12 -0
  380. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -0
  381. package/dist/providers/ComponentMap/buildComponentMap/globals.js +49 -0
  382. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -0
  383. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +2 -2
  384. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  385. package/dist/providers/ComponentMap/buildComponentMap/index.js +16 -83
  386. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  387. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +8 -3
  388. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  389. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  390. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  391. package/dist/providers/DocumentInfo/index.js +120 -96
  392. package/dist/providers/DocumentInfo/index.js.map +1 -1
  393. package/dist/providers/DocumentInfo/types.d.ts +12 -13
  394. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  395. package/dist/providers/DocumentInfo/types.js.map +1 -1
  396. package/dist/providers/EntityVisibility/index.d.ts +16 -0
  397. package/dist/providers/EntityVisibility/index.d.ts.map +1 -0
  398. package/dist/providers/EntityVisibility/index.js +25 -0
  399. package/dist/providers/EntityVisibility/index.js.map +1 -0
  400. package/dist/providers/ListInfo/index.d.ts +0 -1
  401. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  402. package/dist/providers/ListInfo/index.js +2 -7
  403. package/dist/providers/ListInfo/index.js.map +1 -1
  404. package/dist/templates/Default/index.d.ts +2 -7
  405. package/dist/templates/Default/index.d.ts.map +1 -1
  406. package/dist/templates/Default/index.js +10 -12
  407. package/dist/templates/Default/index.js.map +1 -1
  408. package/dist/utilities/buildComponentMap.d.ts +1 -1
  409. package/dist/utilities/buildComponentMap.d.ts.map +1 -1
  410. package/dist/utilities/buildComponentMap.js +1 -1
  411. package/dist/utilities/buildComponentMap.js.map +1 -1
  412. package/dist/utilities/flattenFieldMap.d.ts +10 -0
  413. package/dist/utilities/flattenFieldMap.d.ts.map +1 -0
  414. package/dist/utilities/flattenFieldMap.js +33 -0
  415. package/dist/utilities/flattenFieldMap.js.map +1 -0
  416. package/dist/utilities/getFormState.d.ts +2 -0
  417. package/dist/utilities/getFormState.d.ts.map +1 -1
  418. package/dist/utilities/getFormState.js +8 -3
  419. package/dist/utilities/getFormState.js.map +1 -1
  420. package/package.json +10 -4
  421. package/dist/elements/TableColumns/buildColumns.d.ts.map +0 -1
  422. package/dist/elements/TableColumns/buildColumns.js.map +0 -1
  423. package/dist/elements/WhereBuilder/reducer.d.ts +0 -5
  424. package/dist/elements/WhereBuilder/reducer.d.ts.map +0 -1
  425. package/dist/elements/WhereBuilder/reducer.js +0 -78
  426. package/dist/elements/WhereBuilder/reducer.js.map +0 -1
  427. package/dist/forms/FieldDescription/types.d.ts +0 -8
  428. package/dist/forms/FieldDescription/types.d.ts.map +0 -1
  429. package/dist/forms/FieldDescription/types.js +0 -3
  430. package/dist/forms/FieldDescription/types.js.map +0 -1
  431. package/dist/hooks/useAdminThumbnail.d.ts +0 -3
  432. package/dist/hooks/useAdminThumbnail.d.ts.map +0 -1
  433. package/dist/hooks/useAdminThumbnail.js +0 -8
  434. package/dist/hooks/useAdminThumbnail.js.map +0 -1
  435. package/dist/hooks/useThumbnail.d.ts +0 -3
  436. package/dist/hooks/useThumbnail.d.ts.map +0 -1
  437. package/dist/hooks/useThumbnail.js +0 -45
  438. package/dist/hooks/useThumbnail.js.map +0 -1
  439. package/dist/providers/ComponentMap/buildComponentMap/mapActions.d.ts.map +0 -1
  440. package/dist/providers/ComponentMap/buildComponentMap/mapActions.js.map +0 -1
  441. package/dist/providers/ComponentMap/buildComponentMap/mapFields.d.ts.map +0 -1
  442. package/dist/providers/ComponentMap/buildComponentMap/mapFields.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
2
3
  import React, { useEffect } from 'react';
3
4
  import { useField } from '../../forms/useField/index.js';
4
5
  import { withCondition } from '../../forms/withCondition/index.js';
@@ -6,9 +7,10 @@ import { withCondition } from '../../forms/withCondition/index.js';
6
7
  * This is mainly used to save a value on the form that is not visible to the user.
7
8
  * For example, this sets the `ìd` property of a block in the Blocks field.
8
9
  */ const HiddenInputField = (props)=>{
9
- const { name, disableModifyingForm = true, path: pathFromProps, value: valueFromProps } = props;
10
+ const { name, disableModifyingForm = true, forceUsePathFromProps, path: pathFromProps, value: valueFromProps } = props;
11
+ const { path: pathFromContext } = useFieldProps();
10
12
  const { path, setValue, value } = useField({
11
- path: pathFromProps || name
13
+ path: (!forceUsePathFromProps ? pathFromContext : null) || pathFromProps || name
12
14
  });
13
15
  useEffect(()=>{
14
16
  if (valueFromProps !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/HiddenInput/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect } from 'react'\n\nimport type { FormFieldBase } from '../index.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\n\nexport type HiddenInputFieldProps = FormFieldBase & {\n disableModifyingForm?: false\n name: string\n path?: string\n value?: unknown\n}\n\n/**\n * This is mainly used to save a value on the form that is not visible to the user.\n * For example, this sets the `ìd` property of a block in the Blocks field.\n */\nconst HiddenInputField: React.FC<HiddenInputFieldProps> = (props) => {\n const { name, disableModifyingForm = true, path: pathFromProps, value: valueFromProps } = props\n\n const { path, setValue, value } = useField({\n path: pathFromProps || name,\n })\n\n useEffect(() => {\n if (valueFromProps !== undefined) {\n setValue(valueFromProps, disableModifyingForm)\n }\n }, [valueFromProps, setValue, disableModifyingForm])\n\n return (\n <input\n id={`field-${path?.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n type=\"hidden\"\n value={(value as string) || ''}\n />\n )\n}\n\nexport const HiddenInput = withCondition(HiddenInputField)\n"],"names":["React","useEffect","useField","withCondition","HiddenInputField","props","name","disableModifyingForm","path","pathFromProps","value","valueFromProps","setValue","undefined","input","id","replace","onChange","type","HiddenInput"],"mappings":"AAAA;AACA,OAAOA,SAASC,SAAS,QAAQ,QAAO;AAIxC,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AASlE;;;CAGC,GACD,MAAMC,mBAAoD,CAACC;IACzD,MAAM,EAAEC,IAAI,EAAEC,uBAAuB,IAAI,EAAEC,MAAMC,aAAa,EAAEC,OAAOC,cAAc,EAAE,GAAGN;IAE1F,MAAM,EAAEG,IAAI,EAAEI,QAAQ,EAAEF,KAAK,EAAE,GAAGR,SAAS;QACzCM,MAAMC,iBAAiBH;IACzB;IAEAL,UAAU;QACR,IAAIU,mBAAmBE,WAAW;YAChCD,SAASD,gBAAgBJ;QAC3B;IACF,GAAG;QAACI;QAAgBC;QAAUL;KAAqB;IAEnD,qBACE,oBAACO;QACCC,IAAI,CAAC,MAAM,EAAEP,MAAMQ,QAAQ,OAAO,MAAM,CAAC;QACzCV,MAAME;QACNS,UAAUL;QACVM,MAAK;QACLR,OAAO,AAACA,SAAoB;;AAGlC;AAEA,OAAO,MAAMS,cAAchB,cAAcC,kBAAiB"}
1
+ {"version":3,"sources":["../../../src/fields/HiddenInput/index.tsx"],"sourcesContent":["'use client'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport React, { useEffect } from 'react'\n\nimport type { FormFieldBase } from '../index.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\n\nexport type HiddenInputFieldProps = FormFieldBase & {\n disableModifyingForm?: false\n forceUsePathFromProps?: boolean\n name: string\n path?: string\n value?: unknown\n}\n\n/**\n * This is mainly used to save a value on the form that is not visible to the user.\n * For example, this sets the `ìd` property of a block in the Blocks field.\n */\nconst HiddenInputField: React.FC<HiddenInputFieldProps> = (props) => {\n const {\n name,\n disableModifyingForm = true,\n forceUsePathFromProps,\n path: pathFromProps,\n value: valueFromProps,\n } = props\n\n const { path: pathFromContext } = useFieldProps()\n\n const { path, setValue, value } = useField({\n path: (!forceUsePathFromProps ? pathFromContext : null) || pathFromProps || name,\n })\n\n useEffect(() => {\n if (valueFromProps !== undefined) {\n setValue(valueFromProps, disableModifyingForm)\n }\n }, [valueFromProps, setValue, disableModifyingForm])\n\n return (\n <input\n id={`field-${path?.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n type=\"hidden\"\n value={(value as string) || ''}\n />\n )\n}\n\nexport const HiddenInput = withCondition(HiddenInputField)\n"],"names":["useFieldProps","React","useEffect","useField","withCondition","HiddenInputField","props","name","disableModifyingForm","forceUsePathFromProps","path","pathFromProps","value","valueFromProps","pathFromContext","setValue","undefined","input","id","replace","onChange","type","HiddenInput"],"mappings":"AAAA;AACA,SAASA,aAAa,QAAQ,0CAAyC;AACvE,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAIxC,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAUlE;;;CAGC,GACD,MAAMC,mBAAoD,CAACC;IACzD,MAAM,EACJC,IAAI,EACJC,uBAAuB,IAAI,EAC3BC,qBAAqB,EACrBC,MAAMC,aAAa,EACnBC,OAAOC,cAAc,EACtB,GAAGP;IAEJ,MAAM,EAAEI,MAAMI,eAAe,EAAE,GAAGd;IAElC,MAAM,EAAEU,IAAI,EAAEK,QAAQ,EAAEH,KAAK,EAAE,GAAGT,SAAS;QACzCO,MAAM,AAAC,CAAA,CAACD,wBAAwBK,kBAAkB,IAAG,KAAMH,iBAAiBJ;IAC9E;IAEAL,UAAU;QACR,IAAIW,mBAAmBG,WAAW;YAChCD,SAASF,gBAAgBL;QAC3B;IACF,GAAG;QAACK;QAAgBE;QAAUP;KAAqB;IAEnD,qBACE,oBAACS;QACCC,IAAI,CAAC,MAAM,EAAER,MAAMS,QAAQ,OAAO,MAAM,CAAC;QACzCZ,MAAMG;QACNU,UAAUL;QACVM,MAAK;QACLT,OAAO,AAACA,SAAoB;;AAGlC;AAEA,OAAO,MAAMU,cAAclB,cAAcC,kBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/JSON/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAO/D,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AAK1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,aAAa,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA4GD,eAAO,MAAM,SAAS,0BAAoC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/JSON/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAO/D,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AAM1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,aAAa,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA8GD,eAAO,MAAM,SAAS,0BAAoC,CAAA"}
@@ -8,8 +8,9 @@ import { fieldBaseClass } from '../shared/index.js';
8
8
  const baseClass = 'json-field';
9
9
  import { FieldDescription } from '@payloadcms/ui/forms/FieldDescription';
10
10
  import { FieldError } from '@payloadcms/ui/forms/FieldError';
11
+ import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
11
12
  const JSONFieldComponent = (props)=>{
12
- const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, editorOptions, errorProps, labelProps, path: pathFromProps, readOnly, required, style, validate, width } = props;
13
+ const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, editorOptions, errorProps, label, labelProps, path: pathFromProps, readOnly, required, style, validate, width } = props;
13
14
  const [stringValue, setStringValue] = useState();
14
15
  const [jsonError, setJsonError] = useState();
15
16
  const [hasLoadedValue, setHasLoadedValue] = useState(false);
@@ -24,9 +25,9 @@ const JSONFieldComponent = (props)=>{
24
25
  required,
25
26
  jsonError
26
27
  ]);
27
- const { initialValue, // path,
28
- setValue, showError, value } = useField({
29
- path: pathFromProps || name,
28
+ const { path: pathFromContext } = useFieldProps();
29
+ const { initialValue, path, setValue, showError, value } = useField({
30
+ path: pathFromContext || pathFromProps || name,
30
31
  validate: memoizedValidate
31
32
  });
32
33
  const handleChange = useCallback((val)=>{
@@ -67,9 +68,12 @@ const JSONFieldComponent = (props)=>{
67
68
  }
68
69
  }, /*#__PURE__*/ React.createElement(FieldError, {
69
70
  CustomError: CustomError,
71
+ path: path,
70
72
  ...errorProps || {}
71
73
  }), /*#__PURE__*/ React.createElement(FieldLabel, {
72
74
  CustomLabel: CustomLabel,
75
+ label: label,
76
+ required: required,
73
77
  ...labelProps || {}
74
78
  }), /*#__PURE__*/ React.createElement("div", null, BeforeInput, /*#__PURE__*/ React.createElement(CodeEditor, {
75
79
  defaultLanguage: "json",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload/types'\n\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nimport type { FieldBase, JSONField as JSONFieldType } from 'payload/types'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type JSONFieldProps = FormFieldBase & {\n editorOptions?: JSONFieldType['admin']['editorOptions']\n label?: FieldBase['label']\n name?: string\n path?: string\n width?: string\n}\n\nconst JSONFieldComponent: React.FC<JSONFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n editorOptions,\n errorProps,\n labelProps,\n path: pathFromProps,\n readOnly,\n required,\n style,\n validate,\n width,\n } = props\n\n const [stringValue, setStringValue] = useState<string>()\n const [jsonError, setJsonError] = useState<string>()\n const [hasLoadedValue, setHasLoadedValue] = useState(false)\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, jsonError, required })\n },\n [validate, required, jsonError],\n )\n\n const {\n initialValue,\n // path,\n setValue,\n showError,\n value,\n } = useField<string>({\n path: pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (val) => {\n if (readOnly) return\n setStringValue(val)\n\n try {\n setValue(val ? JSON.parse(val) : null)\n setJsonError(undefined)\n } catch (e) {\n setValue(val ? val : null)\n setJsonError(e)\n }\n },\n [readOnly, setValue, setStringValue],\n )\n\n useEffect(() => {\n if (hasLoadedValue) return\n setStringValue(\n value || initialValue ? JSON.stringify(value ? value : initialValue, null, 2) : '',\n )\n setHasLoadedValue(true)\n }, [initialValue, value, hasLoadedValue])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} {...(errorProps || {})} />\n <FieldLabel CustomLabel={CustomLabel} {...(labelProps || {})} />\n <div>\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n onChange={handleChange}\n options={editorOptions}\n readOnly={readOnly}\n value={stringValue}\n />\n {AfterInput}\n </div>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const JSONField = withCondition(JSONFieldComponent)\n"],"names":["React","useCallback","useEffect","useState","CodeEditor","FieldLabel","useField","withCondition","fieldBaseClass","baseClass","FieldDescription","FieldError","JSONFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","editorOptions","errorProps","labelProps","path","pathFromProps","readOnly","required","style","validate","width","stringValue","setStringValue","jsonError","setJsonError","hasLoadedValue","setHasLoadedValue","memoizedValidate","value","options","initialValue","setValue","showError","handleChange","val","JSON","parse","undefined","e","stringify","div","filter","Boolean","join","defaultLanguage","onChange","JSONField"],"mappings":"AAAA;AAGA,OAAOA,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAE/D,SAASC,UAAU,QAAQ,qCAAoC;AAC/D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,qBAAoB;AAGnD,MAAMC,YAAY;AAIlB,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAY5D,MAAMC,qBAA+C,CAACC;IACpD,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,aAAa,EACbC,UAAU,EACVC,UAAU,EACVC,MAAMC,aAAa,EACnBC,QAAQ,EACRC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGlB;IAEJ,MAAM,CAACmB,aAAaC,eAAe,GAAG9B;IACtC,MAAM,CAAC+B,WAAWC,aAAa,GAAGhC;IAClC,MAAM,CAACiC,gBAAgBC,kBAAkB,GAAGlC,SAAS;IAErD,MAAMmC,mBAAmCrC,YACvC,CAACsC,OAAOC;QACN,IAAI,OAAOV,aAAa,YACtB,OAAOA,SAASS,OAAO;YAAE,GAAGC,OAAO;YAAEN;YAAWN;QAAS;IAC7D,GACA;QAACE;QAAUF;QAAUM;KAAU;IAGjC,MAAM,EACJO,YAAY,EACZ,QAAQ;IACRC,QAAQ,EACRC,SAAS,EACTJ,KAAK,EACN,GAAGjC,SAAiB;QACnBmB,MAAMC,iBAAiBZ;QACvBgB,UAAUQ;IACZ;IAEA,MAAMM,eAAe3C,YACnB,CAAC4C;QACC,IAAIlB,UAAU;QACdM,eAAeY;QAEf,IAAI;YACFH,SAASG,MAAMC,KAAKC,KAAK,CAACF,OAAO;YACjCV,aAAaa;QACf,EAAE,OAAOC,GAAG;YACVP,SAASG,MAAMA,MAAM;YACrBV,aAAac;QACf;IACF,GACA;QAACtB;QAAUe;QAAUT;KAAe;IAGtC/B,UAAU;QACR,IAAIkC,gBAAgB;QACpBH,eACEM,SAASE,eAAeK,KAAKI,SAAS,CAACX,QAAQA,QAAQE,cAAc,MAAM,KAAK;QAElFJ,kBAAkB;IACpB,GAAG;QAACI;QAAcF;QAAOH;KAAe;IAExC,qBACE,oBAACe;QACC/B,WAAW;YACTZ;YACAC;YACAW;YACAuB,aAAa;YACbhB,YAAY;SACb,CACEyB,MAAM,CAACC,SACPC,IAAI,CAAC;QACRzB,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAACpB;QAAWO,aAAaA;QAAc,GAAIK,cAAc,CAAC,CAAC;sBAC3D,oBAAClB;QAAWc,aAAaA;QAAc,GAAIK,cAAc,CAAC,CAAC;sBAC3D,oBAAC2B,aACEnC,2BACD,oBAACZ;QACCmD,iBAAgB;QAChBC,UAAUZ;QACVJ,SAASlB;QACTK,UAAUA;QACVY,OAAOP;QAERjB,aAEFE,sBAAsB+B,YACrB/B,kCAEA,oBAACP,kBAAsBW,oBAAoB,CAAC;AAIpD;AAEA,OAAO,MAAMoC,YAAYlD,cAAcK,oBAAmB"}
1
+ {"version":3,"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload/types'\n\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nimport type { FieldBase, JSONField as JSONFieldType } from 'payload/types'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type JSONFieldProps = FormFieldBase & {\n editorOptions?: JSONFieldType['admin']['editorOptions']\n label?: FieldBase['label']\n name?: string\n path?: string\n width?: string\n}\n\nconst JSONFieldComponent: React.FC<JSONFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n editorOptions,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n readOnly,\n required,\n style,\n validate,\n width,\n } = props\n\n const [stringValue, setStringValue] = useState<string>()\n const [jsonError, setJsonError] = useState<string>()\n const [hasLoadedValue, setHasLoadedValue] = useState(false)\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, jsonError, required })\n },\n [validate, required, jsonError],\n )\n\n const { path: pathFromContext } = useFieldProps()\n\n const { initialValue, path, setValue, showError, value } = useField<string>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (val) => {\n if (readOnly) return\n setStringValue(val)\n\n try {\n setValue(val ? JSON.parse(val) : null)\n setJsonError(undefined)\n } catch (e) {\n setValue(val ? val : null)\n setJsonError(e)\n }\n },\n [readOnly, setValue, setStringValue],\n )\n\n useEffect(() => {\n if (hasLoadedValue) return\n setStringValue(\n value || initialValue ? JSON.stringify(value ? value : initialValue, null, 2) : '',\n )\n setHasLoadedValue(true)\n }, [initialValue, value, hasLoadedValue])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div>\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n onChange={handleChange}\n options={editorOptions}\n readOnly={readOnly}\n value={stringValue}\n />\n {AfterInput}\n </div>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const JSONField = withCondition(JSONFieldComponent)\n"],"names":["React","useCallback","useEffect","useState","CodeEditor","FieldLabel","useField","withCondition","fieldBaseClass","baseClass","FieldDescription","FieldError","useFieldProps","JSONFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","editorOptions","errorProps","label","labelProps","path","pathFromProps","readOnly","required","style","validate","width","stringValue","setStringValue","jsonError","setJsonError","hasLoadedValue","setHasLoadedValue","memoizedValidate","value","options","pathFromContext","initialValue","setValue","showError","handleChange","val","JSON","parse","undefined","e","stringify","div","filter","Boolean","join","defaultLanguage","onChange","JSONField"],"mappings":"AAAA;AAGA,OAAOA,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAE/D,SAASC,UAAU,QAAQ,qCAAoC;AAC/D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,qBAAoB;AAGnD,MAAMC,YAAY;AAIlB,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,0CAAyC;AAYvE,MAAMC,qBAA+C,CAACC;IACpD,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,aAAa,EACbC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,QAAQ,EACRC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGnB;IAEJ,MAAM,CAACoB,aAAaC,eAAe,GAAGhC;IACtC,MAAM,CAACiC,WAAWC,aAAa,GAAGlC;IAClC,MAAM,CAACmC,gBAAgBC,kBAAkB,GAAGpC,SAAS;IAErD,MAAMqC,mBAAmCvC,YACvC,CAACwC,OAAOC;QACN,IAAI,OAAOV,aAAa,YACtB,OAAOA,SAASS,OAAO;YAAE,GAAGC,OAAO;YAAEN;YAAWN;QAAS;IAC7D,GACA;QAACE;QAAUF;QAAUM;KAAU;IAGjC,MAAM,EAAET,MAAMgB,eAAe,EAAE,GAAG/B;IAElC,MAAM,EAAEgC,YAAY,EAAEjB,IAAI,EAAEkB,QAAQ,EAAEC,SAAS,EAAEL,KAAK,EAAE,GAAGnC,SAAiB;QAC1EqB,MAAMgB,mBAAmBf,iBAAiBb;QAC1CiB,UAAUQ;IACZ;IAEA,MAAMO,eAAe9C,YACnB,CAAC+C;QACC,IAAInB,UAAU;QACdM,eAAea;QAEf,IAAI;YACFH,SAASG,MAAMC,KAAKC,KAAK,CAACF,OAAO;YACjCX,aAAac;QACf,EAAE,OAAOC,GAAG;YACVP,SAASG,MAAMA,MAAM;YACrBX,aAAae;QACf;IACF,GACA;QAACvB;QAAUgB;QAAUV;KAAe;IAGtCjC,UAAU;QACR,IAAIoC,gBAAgB;QACpBH,eACEM,SAASG,eAAeK,KAAKI,SAAS,CAACZ,QAAQA,QAAQG,cAAc,MAAM,KAAK;QAElFL,kBAAkB;IACpB,GAAG;QAACK;QAAcH;QAAOH;KAAe;IAExC,qBACE,oBAACgB;QACCjC,WAAW;YACTb;YACAC;YACAY;YACAyB,aAAa;YACbjB,YAAY;SACb,CACE0B,MAAM,CAACC,SACPC,IAAI,CAAC;QACR1B,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAACtB;QAAWQ,aAAaA;QAAaQ,MAAMA;QAAO,GAAIH,cAAc,CAAC,CAAC;sBACvE,oBAACnB;QACCe,aAAaA;QACbK,OAAOA;QACPK,UAAUA;QACT,GAAIJ,cAAc,CAAC,CAAC;sBAEvB,oBAAC4B,aACErC,2BACD,oBAACb;QACCsD,iBAAgB;QAChBC,UAAUZ;QACVL,SAASnB;QACTM,UAAUA;QACVY,OAAOP;QAERlB,aAEFE,sBAAsBiC,YACrBjC,kCAEA,oBAACR,kBAAsBY,oBAAoB,CAAC;AAIpD;AAEA,OAAO,MAAMsC,YAAYrD,cAAcM,oBAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Number/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,eAAe,CAAA;AAO9E,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAOvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAA;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAqLD,eAAO,MAAM,WAAW,4BAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Number/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,eAAe,CAAA;AAQ9E,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAOvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAA;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA6LD,eAAO,MAAM,WAAW,4BAAsC,CAAA"}
@@ -3,6 +3,7 @@ import { getTranslation } from '@payloadcms/translations';
3
3
  import { FieldDescription } from '@payloadcms/ui/forms/FieldDescription';
4
4
  import { FieldError } from '@payloadcms/ui/forms/FieldError';
5
5
  import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel';
6
+ import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
6
7
  import { isNumber } from 'payload/utilities';
7
8
  import React, { useCallback, useEffect, useState } from 'react';
8
9
  import { ReactSelect } from '../../elements/ReactSelect/index.js';
@@ -11,7 +12,7 @@ import { withCondition } from '../../forms/withCondition/index.js';
11
12
  import { useTranslation } from '../../providers/Translation/index.js';
12
13
  import { fieldBaseClass } from '../shared/index.js';
13
14
  const NumberFieldComponent = (props)=>{
14
- const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, hasMany = false, labelProps, max = Infinity, maxRows = Infinity, min = -Infinity, onChange: onChangeFromProps, path: pathFromProps, placeholder, readOnly, required, step = 1, style, validate, width } = props;
15
+ const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, hasMany = false, label, labelProps, max = Infinity, maxRows = Infinity, min = -Infinity, onChange: onChangeFromProps, path: pathFromProps, placeholder, readOnly, required, step = 1, style, validate, width } = props;
15
16
  const { i18n, t } = useTranslation();
16
17
  const memoizedValidate = useCallback((value, options)=>{
17
18
  if (typeof validate === 'function') {
@@ -28,8 +29,9 @@ const NumberFieldComponent = (props)=>{
28
29
  max,
29
30
  required
30
31
  ]);
32
+ const { path: pathFromContext } = useFieldProps();
31
33
  const { path, setValue, showError, value } = useField({
32
- path: pathFromProps || name,
34
+ path: pathFromContext || pathFromProps || name,
33
35
  validate: memoizedValidate
34
36
  });
35
37
  const handleChange = useCallback((e)=>{
@@ -99,9 +101,12 @@ const NumberFieldComponent = (props)=>{
99
101
  }
100
102
  }, /*#__PURE__*/ React.createElement(FieldLabel, {
101
103
  CustomLabel: CustomLabel,
104
+ label: label,
105
+ required: required,
102
106
  ...labelProps || {}
103
107
  }), /*#__PURE__*/ React.createElement(FieldError, {
104
108
  CustomError: CustomError,
109
+ path: path,
105
110
  ...errorProps || {}
106
111
  }), hasMany ? /*#__PURE__*/ React.createElement(ReactSelect, {
107
112
  className: `field-${path.replace(/\./g, '__')}`,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { FieldBase, NumberField as NumberFieldType } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { isNumber } from 'payload/utilities'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type NumberFieldProps = FormFieldBase & {\n hasMany?: boolean\n label?: FieldBase['label']\n max?: number\n maxRows?: number\n min?: number\n name?: string\n onChange?: (e: number) => void\n path?: string\n placeholder?: NumberFieldType['admin']['placeholder']\n step?: number\n width?: string\n}\n\nconst NumberFieldComponent: React.FC<NumberFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany = false,\n labelProps,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n onChange: onChangeFromProps,\n path: pathFromProps,\n placeholder,\n readOnly,\n required,\n step = 1,\n style,\n validate,\n width,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, max, min, required })\n }\n },\n [validate, min, max, required],\n )\n\n const { path, setValue, showError, value } = useField<number | number[]>({\n path: pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e) => {\n const val = parseFloat(e.target.value)\n let newVal = val\n\n if (Number.isNaN(val)) {\n newVal = undefined\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newVal)\n }\n\n setValue(newVal)\n },\n [onChangeFromProps, setValue],\n )\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!readOnly) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => Number(option.value?.value || option.value))\n } else {\n newValue = [Number(selectedOption.value?.value || selectedOption.value)]\n }\n\n setValue(newValue)\n }\n },\n [readOnly, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n toString: () => `${val}${index}`,\n value: (val as unknown as Record<string, number>)?.value || val,\n }, // You're probably wondering, why the hell is this done that way? Well, React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\n className,\n showError && 'error',\n readOnly && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel CustomLabel={CustomLabel} {...(labelProps || {})} />\n <FieldError CustomError={CustomError} {...(errorProps || {})} />\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly}\n filterOption={(_, rawInput) => {\n // eslint-disable-next-line no-restricted-globals\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n return isNumber(rawInput) && !isOverHasMany\n }}\n isClearable\n isCreatable\n isMulti\n isSortable\n noOptionsMessage={() => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n if (isOverHasMany) {\n return t('validation:limitReached', { max: maxRows, value: value.length + 1 })\n }\n return null\n }}\n // numberOnly\n onChange={handleHasManyChange}\n options={[]}\n placeholder={t('general:enterAValue')}\n showError={showError}\n value={valueToRender as Option[]}\n />\n ) : (\n <div>\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n e.target.blur()\n }}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={typeof value === 'number' ? value : ''}\n />\n {AfterInput}\n </div>\n )}\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"names":["getTranslation","FieldDescription","FieldError","FieldLabel","isNumber","React","useCallback","useEffect","useState","ReactSelect","useField","withCondition","useTranslation","fieldBaseClass","NumberFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","labelProps","max","Infinity","maxRows","min","onChange","onChangeFromProps","path","pathFromProps","placeholder","readOnly","required","step","style","validate","width","i18n","t","memoizedValidate","value","options","setValue","showError","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","undefined","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","label","toString","div","filter","Boolean","join","replace","disabled","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","input","onWheel","blur","type","NumberField"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { FieldBase, NumberField as NumberFieldType } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport { isNumber } from 'payload/utilities'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type NumberFieldProps = FormFieldBase & {\n hasMany?: boolean\n label?: FieldBase['label']\n max?: number\n maxRows?: number\n min?: number\n name?: string\n onChange?: (e: number) => void\n path?: string\n placeholder?: NumberFieldType['admin']['placeholder']\n step?: number\n width?: string\n}\n\nconst NumberFieldComponent: React.FC<NumberFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany = false,\n label,\n labelProps,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n onChange: onChangeFromProps,\n path: pathFromProps,\n placeholder,\n readOnly,\n required,\n step = 1,\n style,\n validate,\n width,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, max, min, required })\n }\n },\n [validate, min, max, required],\n )\n\n const { path: pathFromContext } = useFieldProps()\n\n const { path, setValue, showError, value } = useField<number | number[]>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e) => {\n const val = parseFloat(e.target.value)\n let newVal = val\n\n if (Number.isNaN(val)) {\n newVal = undefined\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newVal)\n }\n\n setValue(newVal)\n },\n [onChangeFromProps, setValue],\n )\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!readOnly) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => Number(option.value?.value || option.value))\n } else {\n newValue = [Number(selectedOption.value?.value || selectedOption.value)]\n }\n\n setValue(newValue)\n }\n },\n [readOnly, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n toString: () => `${val}${index}`,\n value: (val as unknown as Record<string, number>)?.value || val,\n }, // You're probably wondering, why the hell is this done that way? Well, React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\n className,\n showError && 'error',\n readOnly && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly}\n filterOption={(_, rawInput) => {\n // eslint-disable-next-line no-restricted-globals\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n return isNumber(rawInput) && !isOverHasMany\n }}\n isClearable\n isCreatable\n isMulti\n isSortable\n noOptionsMessage={() => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n if (isOverHasMany) {\n return t('validation:limitReached', { max: maxRows, value: value.length + 1 })\n }\n return null\n }}\n // numberOnly\n onChange={handleHasManyChange}\n options={[]}\n placeholder={t('general:enterAValue')}\n showError={showError}\n value={valueToRender as Option[]}\n />\n ) : (\n <div>\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n e.target.blur()\n }}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={typeof value === 'number' ? value : ''}\n />\n {AfterInput}\n </div>\n )}\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"names":["getTranslation","FieldDescription","FieldError","FieldLabel","useFieldProps","isNumber","React","useCallback","useEffect","useState","ReactSelect","useField","withCondition","useTranslation","fieldBaseClass","NumberFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","label","labelProps","max","Infinity","maxRows","min","onChange","onChangeFromProps","path","pathFromProps","placeholder","readOnly","required","step","style","validate","width","i18n","t","memoizedValidate","value","options","pathFromContext","setValue","showError","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","undefined","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","toString","div","filter","Boolean","join","replace","disabled","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","input","onWheel","blur","type","NumberField"],"mappings":"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"}
@@ -15,6 +15,5 @@ export type PasswordFieldProps = FormFieldBase & {
15
15
  validate?: Validate;
16
16
  width?: string;
17
17
  };
18
- export declare const PasswordField: React.FC<PasswordFieldProps>;
19
18
  export declare const Password: React.FC<PasswordFieldProps>;
20
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Password/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAI1E,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAKvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsDtD,CAAA;AAED,eAAO,MAAM,QAAQ,8BAA+B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Password/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAI1E,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAKvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAgED,eAAO,MAAM,QAAQ,8BAA+B,CAAA"}
@@ -5,8 +5,8 @@ import React, { useCallback } from 'react';
5
5
  import { useField } from '../../forms/useField/index.js';
6
6
  import { withCondition } from '../../forms/withCondition/index.js';
7
7
  import { fieldBaseClass } from '../shared/index.js';
8
- export const PasswordField = (props)=>{
9
- const { name, CustomError, CustomLabel, autoComplete, className, disabled, errorProps, labelProps, path: pathFromProps, required, style, validate, width } = props;
8
+ const PasswordField = (props)=>{
9
+ const { name, CustomError, CustomLabel, autoComplete, className, disabled, errorProps, label, labelProps, path: pathFromProps, required, style, validate, width } = props;
10
10
  const memoizedValidate = useCallback((value, options)=>{
11
11
  if (typeof validate === 'function') {
12
12
  return validate(value, {
@@ -35,9 +35,12 @@ export const PasswordField = (props)=>{
35
35
  }
36
36
  }, /*#__PURE__*/ React.createElement(FieldError, {
37
37
  CustomError: CustomError,
38
+ path: path,
38
39
  ...errorProps || {}
39
40
  }), /*#__PURE__*/ React.createElement(FieldLabel, {
40
41
  CustomLabel: CustomLabel,
42
+ label: label,
43
+ required: required,
41
44
  ...labelProps || {}
42
45
  }), /*#__PURE__*/ React.createElement("input", {
43
46
  autoComplete: autoComplete,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Password/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate, Description, Validate } from 'payload/types'\n\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport React, { useCallback } from 'react'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type PasswordFieldProps = FormFieldBase & {\n autoComplete?: string\n className?: string\n description?: Description\n disabled?: boolean\n label?: string\n name: string\n path?: string\n required?: boolean\n style?: React.CSSProperties\n validate?: Validate\n width?: string\n}\n\nexport const PasswordField: React.FC<PasswordFieldProps> = (props) => {\n const {\n name,\n CustomError,\n CustomLabel,\n autoComplete,\n className,\n disabled,\n errorProps,\n labelProps,\n path: pathFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { formProcessing, path, setValue, showError, value } = useField({\n path: pathFromProps || name,\n validate: memoizedValidate,\n })\n\n return (\n <div\n className={[fieldBaseClass, 'password', className, showError && 'error']\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} {...(errorProps || {})} />\n <FieldLabel CustomLabel={CustomLabel} {...(labelProps || {})} />\n <input\n autoComplete={autoComplete}\n disabled={formProcessing || disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n type=\"password\"\n value={(value as string) || ''}\n />\n </div>\n )\n}\n\nexport const Password = withCondition(PasswordField)\n"],"names":["FieldError","FieldLabel","React","useCallback","useField","withCondition","fieldBaseClass","PasswordField","props","name","CustomError","CustomLabel","autoComplete","className","disabled","errorProps","labelProps","path","pathFromProps","required","style","validate","width","memoizedValidate","value","options","formProcessing","setValue","showError","div","filter","Boolean","join","input","id","replace","onChange","type","Password"],"mappings":"AAAA;AAGA,SAASA,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,qBAAoB;AAiBnD,OAAO,MAAMC,gBAA8C,CAACC;IAC1D,MAAM,EACJC,IAAI,EACJC,WAAW,EACXC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,QAAQ,EACRC,UAAU,EACVC,UAAU,EACVC,MAAMC,aAAa,EACnBC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGd;IAEJ,MAAMe,mBAAmCpB,YACvC,CAACqB,OAAOC;QACN,IAAI,OAAOJ,aAAa,YAAY;YAClC,OAAOA,SAASG,OAAO;gBAAE,GAAGC,OAAO;gBAAEN;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEO,cAAc,EAAET,IAAI,EAAEU,QAAQ,EAAEC,SAAS,EAAEJ,KAAK,EAAE,GAAGpB,SAAS;QACpEa,MAAMC,iBAAiBT;QACvBY,UAAUE;IACZ;IAEA,qBACE,oBAACM;QACChB,WAAW;YAACP;YAAgB;YAAYO;YAAWe,aAAa;SAAQ,CACrEE,MAAM,CAACC,SACPC,IAAI,CAAC;QACRZ,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAACtB;QAAWU,aAAaA;QAAc,GAAIK,cAAc,CAAC,CAAC;sBAC3D,oBAACd;QAAWU,aAAaA;QAAc,GAAIK,cAAc,CAAC,CAAC;sBAC3D,oBAACiB;QACCrB,cAAcA;QACdE,UAAUY,kBAAkBZ;QAC5BoB,IAAI,CAAC,MAAM,EAAEjB,KAAKkB,OAAO,CAAC,OAAO,MAAM,CAAC;QACxC1B,MAAMQ;QACNmB,UAAUT;QACVU,MAAK;QACLb,OAAO,AAACA,SAAoB;;AAIpC,EAAC;AAED,OAAO,MAAMc,WAAWjC,cAAcE,eAAc"}
1
+ {"version":3,"sources":["../../../src/fields/Password/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate, Description, Validate } from 'payload/types'\n\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport React, { useCallback } from 'react'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type PasswordFieldProps = FormFieldBase & {\n autoComplete?: string\n className?: string\n description?: Description\n disabled?: boolean\n label?: string\n name: string\n path?: string\n required?: boolean\n style?: React.CSSProperties\n validate?: Validate\n width?: string\n}\n\nconst PasswordField: React.FC<PasswordFieldProps> = (props) => {\n const {\n name,\n CustomError,\n CustomLabel,\n autoComplete,\n className,\n disabled,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { formProcessing, path, setValue, showError, value } = useField({\n path: pathFromProps || name,\n validate: memoizedValidate,\n })\n\n return (\n <div\n className={[fieldBaseClass, 'password', className, showError && 'error']\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <input\n autoComplete={autoComplete}\n disabled={formProcessing || disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n type=\"password\"\n value={(value as string) || ''}\n />\n </div>\n )\n}\n\nexport const Password = withCondition(PasswordField)\n"],"names":["FieldError","FieldLabel","React","useCallback","useField","withCondition","fieldBaseClass","PasswordField","props","name","CustomError","CustomLabel","autoComplete","className","disabled","errorProps","label","labelProps","path","pathFromProps","required","style","validate","width","memoizedValidate","value","options","formProcessing","setValue","showError","div","filter","Boolean","join","input","id","replace","onChange","type","Password"],"mappings":"AAAA;AAGA,SAASA,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,qBAAoB;AAiBnD,MAAMC,gBAA8C,CAACC;IACnD,MAAM,EACJC,IAAI,EACJC,WAAW,EACXC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,QAAQ,EACRC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGf;IAEJ,MAAMgB,mBAAmCrB,YACvC,CAACsB,OAAOC;QACN,IAAI,OAAOJ,aAAa,YAAY;YAClC,OAAOA,SAASG,OAAO;gBAAE,GAAGC,OAAO;gBAAEN;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEO,cAAc,EAAET,IAAI,EAAEU,QAAQ,EAAEC,SAAS,EAAEJ,KAAK,EAAE,GAAGrB,SAAS;QACpEc,MAAMC,iBAAiBV;QACvBa,UAAUE;IACZ;IAEA,qBACE,oBAACM;QACCjB,WAAW;YAACP;YAAgB;YAAYO;YAAWgB,aAAa;SAAQ,CACrEE,MAAM,CAACC,SACPC,IAAI,CAAC;QACRZ,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAACvB;QAAWU,aAAaA;QAAaQ,MAAMA;QAAO,GAAIH,cAAc,CAAC,CAAC;sBACvE,oBAACd;QACCU,aAAaA;QACbK,OAAOA;QACPI,UAAUA;QACT,GAAIH,cAAc,CAAC,CAAC;sBAEvB,oBAACiB;QACCtB,cAAcA;QACdE,UAAUa,kBAAkBb;QAC5BqB,IAAI,CAAC,MAAM,EAAEjB,KAAKkB,OAAO,CAAC,OAAO,MAAM,CAAC;QACxC3B,MAAMS;QACNmB,UAAUT;QACVU,MAAK;QACLb,OAAO,AAACA,SAAoB;;AAIpC;AAEA,OAAO,MAAMc,WAAWlC,cAAcE,eAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Point/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,SAAS,EAAE,MAAM,eAAe,CAAA;AAG9D,OAAO,KAAsB,MAAM,OAAO,CAAA;AAM1C,OAAO,cAAc,CAAA;AAQrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAwHD,eAAO,MAAM,KAAK,2BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Point/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,SAAS,EAAE,MAAM,eAAe,CAAA;AAG9D,OAAO,KAAsB,MAAM,OAAO,CAAA;AAM1C,OAAO,cAAc,CAAA;AASrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA2ID,eAAO,MAAM,KAAK,2BAA4B,CAAA"}
@@ -9,9 +9,10 @@ const baseClass = 'point';
9
9
  import { FieldDescription } from '@payloadcms/ui/forms/FieldDescription';
10
10
  import { FieldError } from '@payloadcms/ui/forms/FieldError';
11
11
  import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel';
12
+ import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
12
13
  const PointField = (props)=>{
13
14
  const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, labelProps, path: pathFromProps, placeholder, readOnly, required, step, style, validate, width } = props;
14
- const { i18n } = useTranslation();
15
+ const { i18n, t } = useTranslation();
15
16
  const memoizedValidate = useCallback((value, options)=>{
16
17
  if (typeof validate === 'function') {
17
18
  return validate(value, {
@@ -23,11 +24,12 @@ const PointField = (props)=>{
23
24
  validate,
24
25
  required
25
26
  ]);
27
+ const { path: pathFromContext } = useFieldProps();
26
28
  const { path, setValue, showError, value = [
27
29
  null,
28
30
  null
29
31
  ] } = useField({
30
- path: pathFromProps || name,
32
+ path: pathFromContext || pathFromProps || name,
31
33
  validate: memoizedValidate
32
34
  });
33
35
  const handleChange = useCallback((e, index)=>{
@@ -44,6 +46,14 @@ const PointField = (props)=>{
44
46
  setValue,
45
47
  value
46
48
  ]);
49
+ const getCoordinateFieldLabel = (type)=>{
50
+ const suffix = type === 'longitude' ? t('fields:longitude') : t('fields:latitude');
51
+ const fieldLabel = labelProps && labelProps.label ? labelProps.label : '';
52
+ return {
53
+ ...labelProps,
54
+ label: `${fieldLabel}${fieldLabel ? ' - ' : ''}${suffix}`
55
+ };
56
+ };
47
57
  return /*#__PURE__*/ React.createElement("div", {
48
58
  className: [
49
59
  fieldBaseClass,
@@ -58,13 +68,11 @@ const PointField = (props)=>{
58
68
  }
59
69
  }, /*#__PURE__*/ React.createElement(FieldError, {
60
70
  CustomError: CustomError,
71
+ path: path,
61
72
  ...errorProps || {}
62
73
  }), /*#__PURE__*/ React.createElement("ul", {
63
74
  className: `${baseClass}__wrap`
64
- }, /*#__PURE__*/ React.createElement("li", null, /*#__PURE__*/ React.createElement(FieldLabel, {
65
- CustomLabel: CustomLabel,
66
- ...labelProps || {}
67
- }), /*#__PURE__*/ React.createElement("div", {
75
+ }, /*#__PURE__*/ React.createElement("li", null, CustomLabel !== undefined ? CustomLabel : /*#__PURE__*/ React.createElement(FieldLabel, getCoordinateFieldLabel('longitude')), /*#__PURE__*/ React.createElement("div", {
68
76
  className: "input-wrapper"
69
77
  }, BeforeInput, /*#__PURE__*/ React.createElement("input", {
70
78
  disabled: readOnly,
@@ -75,10 +83,7 @@ const PointField = (props)=>{
75
83
  step: step,
76
84
  type: "number",
77
85
  value: value && typeof value[0] === 'number' ? value[0] : ''
78
- }), AfterInput)), /*#__PURE__*/ React.createElement("li", null, /*#__PURE__*/ React.createElement(FieldLabel, {
79
- CustomLabel: CustomLabel,
80
- ...labelProps || {}
81
- }), /*#__PURE__*/ React.createElement("div", {
86
+ }), AfterInput)), /*#__PURE__*/ React.createElement("li", null, CustomLabel !== undefined ? CustomLabel : /*#__PURE__*/ React.createElement(FieldLabel, getCoordinateFieldLabel('latitude')), /*#__PURE__*/ React.createElement("div", {
82
87
  className: "input-wrapper"
83
88
  }, BeforeInput, /*#__PURE__*/ React.createElement("input", {
84
89
  disabled: readOnly,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Point/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { ClientValidate, FieldBase } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'point'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type PointFieldProps = FormFieldBase & {\n label?: FieldBase['label']\n name?: string\n path?: string\n placeholder?: string\n step?: number\n width?: string\n}\n\nconst PointField: React.FC<PointFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n labelProps,\n path: pathFromProps,\n placeholder,\n readOnly,\n required,\n step,\n style,\n validate,\n width,\n } = props\n\n const { i18n } = useTranslation()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const {\n path,\n setValue,\n showError,\n value = [null, null],\n } = useField<[number, number]>({\n path: pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e, index: 0 | 1) => {\n let val = parseFloat(e.target.value)\n if (Number.isNaN(val)) {\n val = e.target.value\n }\n const coordinates = [...value]\n coordinates[index] = val\n setValue(coordinates)\n },\n [setValue, value],\n )\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} {...(errorProps || {})} />\n <ul className={`${baseClass}__wrap`}>\n <li>\n <FieldLabel CustomLabel={CustomLabel} {...(labelProps || {})} />\n <div className=\"input-wrapper\">\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-longitude-${path.replace(/\\./g, '__')}`}\n name={`${path}.longitude`}\n onChange={(e) => handleChange(e, 0)}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={value && typeof value[0] === 'number' ? value[0] : ''}\n />\n {AfterInput}\n </div>\n </li>\n <li>\n <FieldLabel CustomLabel={CustomLabel} {...(labelProps || {})} />\n <div className=\"input-wrapper\">\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-latitude-${path.replace(/\\./g, '__')}`}\n name={`${path}.latitude`}\n onChange={(e) => handleChange(e, 1)}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={value && typeof value[1] === 'number' ? value[1] : ''}\n />\n {AfterInput}\n </div>\n </li>\n </ul>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const Point = withCondition(PointField)\n"],"names":["getTranslation","React","useCallback","useField","withCondition","useTranslation","fieldBaseClass","baseClass","FieldDescription","FieldError","FieldLabel","PointField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","labelProps","path","pathFromProps","placeholder","readOnly","required","step","style","validate","width","i18n","memoizedValidate","value","options","setValue","showError","handleChange","e","index","val","parseFloat","target","Number","isNaN","coordinates","div","filter","Boolean","join","ul","li","input","disabled","id","replace","onChange","type","undefined","Point"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Point/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { ClientValidate, FieldBase } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'point'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type PointFieldProps = FormFieldBase & {\n label?: FieldBase['label']\n name?: string\n path?: string\n placeholder?: string\n step?: number\n width?: string\n}\n\nconst PointField: React.FC<PointFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n labelProps,\n path: pathFromProps,\n placeholder,\n readOnly,\n required,\n step,\n style,\n validate,\n width,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext } = useFieldProps()\n\n const {\n path,\n setValue,\n showError,\n value = [null, null],\n } = useField<[number, number]>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e, index: 0 | 1) => {\n let val = parseFloat(e.target.value)\n if (Number.isNaN(val)) {\n val = e.target.value\n }\n const coordinates = [...value]\n coordinates[index] = val\n setValue(coordinates)\n },\n [setValue, value],\n )\n\n const getCoordinateFieldLabel = (type: 'latitude' | 'longitude') => {\n const suffix = type === 'longitude' ? t('fields:longitude') : t('fields:latitude')\n const fieldLabel = labelProps && labelProps.label ? labelProps.label : ''\n return {\n ...labelProps,\n label: `${fieldLabel}${fieldLabel ? ' - ' : ''}${suffix}`,\n }\n }\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <ul className={`${baseClass}__wrap`}>\n <li>\n {CustomLabel !== undefined ? (\n CustomLabel\n ) : (\n <FieldLabel {...getCoordinateFieldLabel('longitude')} />\n )}\n <div className=\"input-wrapper\">\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-longitude-${path.replace(/\\./g, '__')}`}\n name={`${path}.longitude`}\n onChange={(e) => handleChange(e, 0)}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={value && typeof value[0] === 'number' ? value[0] : ''}\n />\n {AfterInput}\n </div>\n </li>\n <li>\n {CustomLabel !== undefined ? (\n CustomLabel\n ) : (\n <FieldLabel {...getCoordinateFieldLabel('latitude')} />\n )}\n <div className=\"input-wrapper\">\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-latitude-${path.replace(/\\./g, '__')}`}\n name={`${path}.latitude`}\n onChange={(e) => handleChange(e, 1)}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={value && typeof value[1] === 'number' ? value[1] : ''}\n />\n {AfterInput}\n </div>\n </li>\n </ul>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const Point = withCondition(PointField)\n"],"names":["getTranslation","React","useCallback","useField","withCondition","useTranslation","fieldBaseClass","baseClass","FieldDescription","FieldError","FieldLabel","useFieldProps","PointField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","labelProps","path","pathFromProps","placeholder","readOnly","required","step","style","validate","width","i18n","t","memoizedValidate","value","options","pathFromContext","setValue","showError","handleChange","e","index","val","parseFloat","target","Number","isNaN","coordinates","getCoordinateFieldLabel","type","suffix","fieldLabel","label","div","filter","Boolean","join","ul","li","undefined","input","disabled","id","replace","onChange","Point"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/RadioGroup/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGtD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAQ1C,OAAO,cAAc,CAAA;AAOrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;AAgHrD,eAAO,MAAM,UAAU,2BAAiC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/RadioGroup/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGtD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAQ1C,OAAO,cAAc,CAAA;AAQrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;AAwHrD,eAAO,MAAM,UAAU,2BAAiC,CAAA"}
@@ -10,8 +10,9 @@ import { Radio } from './Radio/index.js';
10
10
  const baseClass = 'radio-group';
11
11
  import { FieldDescription } from '@payloadcms/ui/forms/FieldDescription';
12
12
  import { FieldError } from '@payloadcms/ui/forms/FieldError';
13
+ import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
13
14
  const RadioGroupField = (props)=>{
14
- const { name, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, labelProps, layout = 'horizontal', onChange: onChangeFromProps, options = [], path: pathFromProps, readOnly, required, style, validate, value: valueFromProps, width } = props;
15
+ const { name, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, label, labelProps, layout = 'horizontal', onChange: onChangeFromProps, options = [], path: pathFromProps, readOnly, required, style, validate, value: valueFromProps, width } = props;
15
16
  const { uuid } = useForm();
16
17
  const memoizedValidate = useCallback((value, validationOptions)=>{
17
18
  if (typeof validate === 'function') return validate(value, {
@@ -24,8 +25,9 @@ const RadioGroupField = (props)=>{
24
25
  options,
25
26
  required
26
27
  ]);
28
+ const { path: pathFromContext } = useFieldProps();
27
29
  const { path, setValue, showError, value: valueFromContext } = useField({
28
- path: pathFromProps || name,
30
+ path: pathFromContext || pathFromProps || name,
29
31
  validate: memoizedValidate
30
32
  });
31
33
  const value = valueFromContext || valueFromProps;
@@ -46,9 +48,12 @@ const RadioGroupField = (props)=>{
46
48
  className: `${baseClass}__error-wrap`
47
49
  }, /*#__PURE__*/ React.createElement(FieldError, {
48
50
  CustomError: CustomError,
51
+ path: path,
49
52
  ...errorProps || {}
50
53
  })), /*#__PURE__*/ React.createElement(FieldLabel, {
51
54
  CustomLabel: CustomLabel,
55
+ label: label,
56
+ required: required,
52
57
  ...labelProps || {}
53
58
  }), /*#__PURE__*/ React.createElement("ul", {
54
59
  className: `${baseClass}--group`,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/RadioGroup/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n/* eslint-disable react-hooks/exhaustive-deps */\n'use client'\nimport type { FieldBase, Option } from 'payload/types'\n\nimport { optionIsObject } from 'payload/types'\nimport React, { useCallback } from 'react'\n\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { Radio } from './Radio/index.js'\nimport './index.scss'\n\nconst baseClass = 'radio-group'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type RadioFieldProps = FormFieldBase & {\n label?: FieldBase['label']\n layout?: 'horizontal' | 'vertical'\n name?: string\n onChange?: OnChange\n options?: Option[]\n path?: string\n value?: string\n width?: string\n}\n\nexport type OnChange<T = string> = (value: T) => void\n\nconst RadioGroupField: React.FC<RadioFieldProps> = (props) => {\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n labelProps,\n layout = 'horizontal',\n onChange: onChangeFromProps,\n options = [],\n path: pathFromProps,\n readOnly,\n required,\n style,\n validate,\n value: valueFromProps,\n width,\n } = props\n\n const { uuid } = useForm()\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function')\n return validate(value, { ...validationOptions, options, required })\n },\n [validate, options, required],\n )\n\n const {\n path,\n setValue,\n showError,\n value: valueFromContext,\n } = useField<string>({\n path: pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const value = valueFromContext || valueFromProps\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n `${baseClass}--layout-${layout}`,\n showError && 'error',\n readOnly && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <div className={`${baseClass}__error-wrap`}>\n <FieldError CustomError={CustomError} {...(errorProps || {})} />\n </div>\n <FieldLabel CustomLabel={CustomLabel} {...(labelProps || {})} />\n <ul className={`${baseClass}--group`} id={`field-${path.replace(/\\./g, '__')}`}>\n {options.map((option) => {\n let optionValue = ''\n\n if (optionIsObject(option)) {\n optionValue = option.value\n } else {\n optionValue = option\n }\n\n const isSelected = String(optionValue) === String(value)\n\n const id = `field-${path}-${optionValue}${uuid ? `-${uuid}` : ''}`\n\n return (\n <li key={`${path} - ${optionValue}`}>\n <Radio\n id={id}\n isSelected={isSelected}\n onChange={() => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(optionValue)\n }\n\n if (!readOnly) {\n setValue(optionValue)\n }\n }}\n option={optionIsObject(option) ? option : { label: option, value: option }}\n path={path}\n uuid={uuid}\n />\n </li>\n )\n })}\n </ul>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const RadioGroup = withCondition(RadioGroupField)\n"],"names":["optionIsObject","React","useCallback","FieldLabel","useForm","useField","withCondition","fieldBaseClass","Radio","baseClass","FieldDescription","FieldError","RadioGroupField","props","name","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","labelProps","layout","onChange","onChangeFromProps","options","path","pathFromProps","readOnly","required","style","validate","value","valueFromProps","width","uuid","memoizedValidate","validationOptions","setValue","showError","valueFromContext","div","filter","Boolean","join","ul","id","replace","map","option","optionValue","isSelected","String","li","key","label","undefined","RadioGroup"],"mappings":"AAAA,iDAAiD,GACjD,8CAA8C,GAC9C;AAGA,SAASA,cAAc,QAAQ,gBAAe;AAC9C,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,OAAO,QAAQ,8BAA6B;AACrD,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,KAAK,QAAQ,mBAAkB;AAGxC,MAAMC,YAAY;AAElB,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAiB5D,MAAMC,kBAA6C,CAACC;IAClD,MAAM,EACJC,IAAI,EACJC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,UAAU,EACVC,SAAS,YAAY,EACrBC,UAAUC,iBAAiB,EAC3BC,UAAU,EAAE,EACZC,MAAMC,aAAa,EACnBC,QAAQ,EACRC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,OAAOC,cAAc,EACrBC,KAAK,EACN,GAAGrB;IAEJ,MAAM,EAAEsB,IAAI,EAAE,GAAG/B;IAEjB,MAAMgC,mBAAmBlC,YACvB,CAAC8B,OAAOK;QACN,IAAI,OAAON,aAAa,YACtB,OAAOA,SAASC,OAAO;YAAE,GAAGK,iBAAiB;YAAEZ;YAASI;QAAS;IACrE,GACA;QAACE;QAAUN;QAASI;KAAS;IAG/B,MAAM,EACJH,IAAI,EACJY,QAAQ,EACRC,SAAS,EACTP,OAAOQ,gBAAgB,EACxB,GAAGnC,SAAiB;QACnBqB,MAAMC,iBAAiBb;QACvBiB,UAAUK;IACZ;IAEA,MAAMJ,QAAQQ,oBAAoBP;IAElC,qBACE,oBAACQ;QACCvB,WAAW;YACTX;YACAE;YACAS;YACA,CAAC,EAAET,UAAU,SAAS,EAAEa,OAAO,CAAC;YAChCiB,aAAa;YACbX,YAAY,CAAC,EAAEnB,UAAU,WAAW,CAAC;SACtC,CACEiC,MAAM,CAACC,SACPC,IAAI,CAAC;QACRd,OAAO;YACL,GAAGA,KAAK;YACRI;QACF;qBAEA,oBAACO;QAAIvB,WAAW,CAAC,EAAET,UAAU,YAAY,CAAC;qBACxC,oBAACE;QAAWK,aAAaA;QAAc,GAAII,cAAc,CAAC,CAAC;uBAE7D,oBAACjB;QAAWc,aAAaA;QAAc,GAAII,cAAc,CAAC,CAAC;sBAC3D,oBAACwB;QAAG3B,WAAW,CAAC,EAAET,UAAU,OAAO,CAAC;QAAEqC,IAAI,CAAC,MAAM,EAAEpB,KAAKqB,OAAO,CAAC,OAAO,MAAM,CAAC;OAC3EtB,QAAQuB,GAAG,CAAC,CAACC;QACZ,IAAIC,cAAc;QAElB,IAAIlD,eAAeiD,SAAS;YAC1BC,cAAcD,OAAOjB,KAAK;QAC5B,OAAO;YACLkB,cAAcD;QAChB;QAEA,MAAME,aAAaC,OAAOF,iBAAiBE,OAAOpB;QAElD,MAAMc,KAAK,CAAC,MAAM,EAAEpB,KAAK,CAAC,EAAEwB,YAAY,EAAEf,OAAO,CAAC,CAAC,EAAEA,KAAK,CAAC,GAAG,GAAG,CAAC;QAElE,qBACE,oBAACkB;YAAGC,KAAK,CAAC,EAAE5B,KAAK,GAAG,EAAEwB,YAAY,CAAC;yBACjC,oBAAC1C;YACCsC,IAAIA;YACJK,YAAYA;YACZ5B,UAAU;gBACR,IAAI,OAAOC,sBAAsB,YAAY;oBAC3CA,kBAAkB0B;gBACpB;gBAEA,IAAI,CAACtB,UAAU;oBACbU,SAASY;gBACX;YACF;YACAD,QAAQjD,eAAeiD,UAAUA,SAAS;gBAAEM,OAAON;gBAAQjB,OAAOiB;YAAO;YACzEvB,MAAMA;YACNS,MAAMA;;IAId,KAEDpB,sBAAsByC,YACrBzC,kCAEA,oBAACL,kBAAsBS,oBAAoB,CAAC;AAIpD;AAEA,OAAO,MAAMsC,aAAanD,cAAcM,iBAAgB"}
1
+ {"version":3,"sources":["../../../src/fields/RadioGroup/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n/* eslint-disable react-hooks/exhaustive-deps */\n'use client'\nimport type { FieldBase, Option } from 'payload/types'\n\nimport { optionIsObject } from 'payload/types'\nimport React, { useCallback } from 'react'\n\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { Radio } from './Radio/index.js'\nimport './index.scss'\n\nconst baseClass = 'radio-group'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type RadioFieldProps = FormFieldBase & {\n label?: FieldBase['label']\n layout?: 'horizontal' | 'vertical'\n name?: string\n onChange?: OnChange\n options?: Option[]\n path?: string\n value?: string\n width?: string\n}\n\nexport type OnChange<T = string> = (value: T) => void\n\nconst RadioGroupField: React.FC<RadioFieldProps> = (props) => {\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n layout = 'horizontal',\n onChange: onChangeFromProps,\n options = [],\n path: pathFromProps,\n readOnly,\n required,\n style,\n validate,\n value: valueFromProps,\n width,\n } = props\n\n const { uuid } = useForm()\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function')\n return validate(value, { ...validationOptions, options, required })\n },\n [validate, options, required],\n )\n\n const { path: pathFromContext } = useFieldProps()\n\n const {\n path,\n setValue,\n showError,\n value: valueFromContext,\n } = useField<string>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const value = valueFromContext || valueFromProps\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n `${baseClass}--layout-${layout}`,\n showError && 'error',\n readOnly && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <div className={`${baseClass}__error-wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n </div>\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <ul className={`${baseClass}--group`} id={`field-${path.replace(/\\./g, '__')}`}>\n {options.map((option) => {\n let optionValue = ''\n\n if (optionIsObject(option)) {\n optionValue = option.value\n } else {\n optionValue = option\n }\n\n const isSelected = String(optionValue) === String(value)\n\n const id = `field-${path}-${optionValue}${uuid ? `-${uuid}` : ''}`\n\n return (\n <li key={`${path} - ${optionValue}`}>\n <Radio\n id={id}\n isSelected={isSelected}\n onChange={() => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(optionValue)\n }\n\n if (!readOnly) {\n setValue(optionValue)\n }\n }}\n option={optionIsObject(option) ? option : { label: option, value: option }}\n path={path}\n uuid={uuid}\n />\n </li>\n )\n })}\n </ul>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const RadioGroup = withCondition(RadioGroupField)\n"],"names":["optionIsObject","React","useCallback","FieldLabel","useForm","useField","withCondition","fieldBaseClass","Radio","baseClass","FieldDescription","FieldError","useFieldProps","RadioGroupField","props","name","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","label","labelProps","layout","onChange","onChangeFromProps","options","path","pathFromProps","readOnly","required","style","validate","value","valueFromProps","width","uuid","memoizedValidate","validationOptions","pathFromContext","setValue","showError","valueFromContext","div","filter","Boolean","join","ul","id","replace","map","option","optionValue","isSelected","String","li","key","undefined","RadioGroup"],"mappings":"AAAA,iDAAiD,GACjD,8CAA8C,GAC9C;AAGA,SAASA,cAAc,QAAQ,gBAAe;AAC9C,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,OAAO,QAAQ,8BAA6B;AACrD,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,KAAK,QAAQ,mBAAkB;AAGxC,MAAMC,YAAY;AAElB,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,0CAAyC;AAiBvE,MAAMC,kBAA6C,CAACC;IAClD,MAAM,EACJC,IAAI,EACJC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,SAAS,YAAY,EACrBC,UAAUC,iBAAiB,EAC3BC,UAAU,EAAE,EACZC,MAAMC,aAAa,EACnBC,QAAQ,EACRC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,OAAOC,cAAc,EACrBC,KAAK,EACN,GAAGtB;IAEJ,MAAM,EAAEuB,IAAI,EAAE,GAAGjC;IAEjB,MAAMkC,mBAAmBpC,YACvB,CAACgC,OAAOK;QACN,IAAI,OAAON,aAAa,YACtB,OAAOA,SAASC,OAAO;YAAE,GAAGK,iBAAiB;YAAEZ;YAASI;QAAS;IACrE,GACA;QAACE;QAAUN;QAASI;KAAS;IAG/B,MAAM,EAAEH,MAAMY,eAAe,EAAE,GAAG5B;IAElC,MAAM,EACJgB,IAAI,EACJa,QAAQ,EACRC,SAAS,EACTR,OAAOS,gBAAgB,EACxB,GAAGtC,SAAiB;QACnBuB,MAAMY,mBAAmBX,iBAAiBd;QAC1CkB,UAAUK;IACZ;IAEA,MAAMJ,QAAQS,oBAAoBR;IAElC,qBACE,oBAACS;QACCzB,WAAW;YACTZ;YACAE;YACAU;YACA,CAAC,EAAEV,UAAU,SAAS,EAAEe,OAAO,CAAC;YAChCkB,aAAa;YACbZ,YAAY,CAAC,EAAErB,UAAU,WAAW,CAAC;SACtC,CACEoC,MAAM,CAACC,SACPC,IAAI,CAAC;QACRf,OAAO;YACL,GAAGA,KAAK;YACRI;QACF;qBAEA,oBAACQ;QAAIzB,WAAW,CAAC,EAAEV,UAAU,YAAY,CAAC;qBACxC,oBAACE;QAAWM,aAAaA;QAAaW,MAAMA;QAAO,GAAIP,cAAc,CAAC,CAAC;uBAEzE,oBAAClB;QACCe,aAAaA;QACbI,OAAOA;QACPS,UAAUA;QACT,GAAIR,cAAc,CAAC,CAAC;sBAEvB,oBAACyB;QAAG7B,WAAW,CAAC,EAAEV,UAAU,OAAO,CAAC;QAAEwC,IAAI,CAAC,MAAM,EAAErB,KAAKsB,OAAO,CAAC,OAAO,MAAM,CAAC;OAC3EvB,QAAQwB,GAAG,CAAC,CAACC;QACZ,IAAIC,cAAc;QAElB,IAAIrD,eAAeoD,SAAS;YAC1BC,cAAcD,OAAOlB,KAAK;QAC5B,OAAO;YACLmB,cAAcD;QAChB;QAEA,MAAME,aAAaC,OAAOF,iBAAiBE,OAAOrB;QAElD,MAAMe,KAAK,CAAC,MAAM,EAAErB,KAAK,CAAC,EAAEyB,YAAY,EAAEhB,OAAO,CAAC,CAAC,EAAEA,KAAK,CAAC,GAAG,GAAG,CAAC;QAElE,qBACE,oBAACmB;YAAGC,KAAK,CAAC,EAAE7B,KAAK,GAAG,EAAEyB,YAAY,CAAC;yBACjC,oBAAC7C;YACCyC,IAAIA;YACJK,YAAYA;YACZ7B,UAAU;gBACR,IAAI,OAAOC,sBAAsB,YAAY;oBAC3CA,kBAAkB2B;gBACpB;gBAEA,IAAI,CAACvB,UAAU;oBACbW,SAASY;gBACX;YACF;YACAD,QAAQpD,eAAeoD,UAAUA,SAAS;gBAAE9B,OAAO8B;gBAAQlB,OAAOkB;YAAO;YACzExB,MAAMA;YACNS,MAAMA;;IAId,KAEDrB,sBAAsB0C,YACrB1C,kCAEA,oBAACN,kBAAsBU,oBAAoB,CAAC;AAIpD;AAEA,OAAO,MAAMuC,aAAarD,cAAcO,iBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/index.tsx"],"names":[],"mappings":"AASA,OAAO,KAA+D,MAAM,OAAO,CAAA;AAGnF,OAAO,KAAK,EAAsB,sBAAsB,EAAS,MAAM,YAAY,CAAA;AAenF,OAAO,cAAc,CAAA;AASrB,OAAO,EAAE,sBAAsB,EAAE,CAAA;AA4fjC,eAAO,MAAM,YAAY,kCAAmC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA+D,MAAM,OAAO,CAAA;AAGnF,OAAO,KAAK,EAAsB,sBAAsB,EAAS,MAAM,YAAY,CAAA;AAenF,OAAO,cAAc,CAAA;AASrB,OAAO,EAAE,sBAAsB,EAAE,CAAA;AAqiBjC,eAAO,MAAM,YAAY,kCAAmC,CAAA"}