@payloadcms/ui 3.0.0-beta.36 → 3.0.0-beta.38

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 (321) hide show
  1. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  2. package/dist/elements/ArrayAction/index.js +1 -0
  3. package/dist/elements/ArrayAction/index.js.map +1 -1
  4. package/dist/elements/Banner/index.d.ts.map +1 -1
  5. package/dist/elements/Banner/index.js +1 -0
  6. package/dist/elements/Banner/index.js.map +1 -1
  7. package/dist/elements/Card/index.d.ts.map +1 -1
  8. package/dist/elements/Card/index.js +1 -0
  9. package/dist/elements/Card/index.js.map +1 -1
  10. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  11. package/dist/elements/CodeEditor/CodeEditor.js +1 -0
  12. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  13. package/dist/elements/CodeEditor/index.d.ts.map +1 -1
  14. package/dist/elements/CodeEditor/index.js +1 -0
  15. package/dist/elements/CodeEditor/index.js.map +1 -1
  16. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  17. package/dist/elements/DatePicker/DatePicker.js +1 -0
  18. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  19. package/dist/elements/DatePicker/index.d.ts.map +1 -1
  20. package/dist/elements/DatePicker/index.js +1 -0
  21. package/dist/elements/DatePicker/index.js.map +1 -1
  22. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  23. package/dist/elements/DocumentFields/index.js +2 -0
  24. package/dist/elements/DocumentFields/index.js.map +1 -1
  25. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +3 -1
  26. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  27. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +14 -8
  28. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  29. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  30. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +1 -0
  31. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  32. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  33. package/dist/elements/DraggableSortable/index.js +1 -0
  34. package/dist/elements/DraggableSortable/index.js.map +1 -1
  35. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  36. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +1 -0
  37. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  38. package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
  39. package/dist/elements/Drawer/useDrawerSlug.js +1 -0
  40. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  41. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  42. package/dist/elements/Dropzone/index.js +1 -0
  43. package/dist/elements/Dropzone/index.js.map +1 -1
  44. package/dist/elements/ErrorPill/index.d.ts.map +1 -1
  45. package/dist/elements/ErrorPill/index.js +1 -0
  46. package/dist/elements/ErrorPill/index.js.map +1 -1
  47. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  48. package/dist/elements/FieldSelect/index.js +1 -0
  49. package/dist/elements/FieldSelect/index.js.map +1 -1
  50. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  51. package/dist/elements/FileDetails/FileMeta/index.js +1 -0
  52. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  53. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  54. package/dist/elements/FileDetails/index.js +1 -0
  55. package/dist/elements/FileDetails/index.js.map +1 -1
  56. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  57. package/dist/elements/IDLabel/index.js +1 -0
  58. package/dist/elements/IDLabel/index.js.map +1 -1
  59. package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
  60. package/dist/elements/Localizer/LocalizerLabel/index.js +1 -0
  61. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  62. package/dist/elements/Localizer/index.d.ts.map +1 -1
  63. package/dist/elements/Localizer/index.js +1 -0
  64. package/dist/elements/Localizer/index.js.map +1 -1
  65. package/dist/elements/Pagination/ClickableArrow/index.d.ts.map +1 -1
  66. package/dist/elements/Pagination/ClickableArrow/index.js +1 -0
  67. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  68. package/dist/elements/Pagination/Page/index.d.ts.map +1 -1
  69. package/dist/elements/Pagination/Page/index.js +1 -0
  70. package/dist/elements/Pagination/Page/index.js.map +1 -1
  71. package/dist/elements/Pagination/Separator/index.d.ts.map +1 -1
  72. package/dist/elements/Pagination/Separator/index.js +1 -0
  73. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  74. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  75. package/dist/elements/Popup/PopupTrigger/index.js +1 -0
  76. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  77. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  78. package/dist/elements/PreviewSizes/index.js +1 -0
  79. package/dist/elements/PreviewSizes/index.js.map +1 -1
  80. package/dist/elements/ReactSelect/ClearIndicator/index.d.ts.map +1 -1
  81. package/dist/elements/ReactSelect/ClearIndicator/index.js +1 -0
  82. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  83. package/dist/elements/ReactSelect/Control/index.d.ts.map +1 -1
  84. package/dist/elements/ReactSelect/Control/index.js +1 -0
  85. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  86. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  87. package/dist/elements/ReactSelect/DropdownIndicator/index.js +1 -0
  88. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  89. package/dist/elements/ReactSelect/Input/index.d.ts +5 -0
  90. package/dist/elements/ReactSelect/Input/index.d.ts.map +1 -0
  91. package/dist/elements/ReactSelect/Input/index.js +17 -0
  92. package/dist/elements/ReactSelect/Input/index.js.map +1 -0
  93. package/dist/elements/ReactSelect/MultiValue/index.d.ts +1 -0
  94. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  95. package/dist/elements/ReactSelect/MultiValue/index.js +14 -8
  96. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  97. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
  98. package/dist/elements/ReactSelect/MultiValueLabel/index.js +1 -0
  99. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  100. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
  101. package/dist/elements/ReactSelect/MultiValueRemove/index.js +1 -0
  102. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  103. package/dist/elements/ReactSelect/SingleValue/index.d.ts.map +1 -1
  104. package/dist/elements/ReactSelect/SingleValue/index.js +1 -0
  105. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  106. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  107. package/dist/elements/ReactSelect/ValueContainer/index.js +1 -0
  108. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  109. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  110. package/dist/elements/ReactSelect/index.js +28 -8
  111. package/dist/elements/ReactSelect/index.js.map +1 -1
  112. package/dist/elements/RenderCustomClientComponent/index.d.ts +8 -0
  113. package/dist/elements/RenderCustomClientComponent/index.d.ts.map +1 -0
  114. package/dist/elements/RenderCustomClientComponent/index.js +19 -0
  115. package/dist/elements/RenderCustomClientComponent/index.js.map +1 -0
  116. package/dist/elements/RenderCustomComponent/index.d.ts +4 -0
  117. package/dist/elements/RenderCustomComponent/index.d.ts.map +1 -1
  118. package/dist/elements/RenderCustomComponent/index.js +4 -1
  119. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  120. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  121. package/dist/elements/RenderTitle/index.js +12 -7
  122. package/dist/elements/RenderTitle/index.js.map +1 -1
  123. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  124. package/dist/elements/SearchFilter/index.js +1 -0
  125. package/dist/elements/SearchFilter/index.js.map +1 -1
  126. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  127. package/dist/elements/SortComplex/index.js +1 -0
  128. package/dist/elements/SortComplex/index.js.map +1 -1
  129. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  130. package/dist/elements/Table/DefaultCell/fields/Code/index.js +1 -0
  131. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  132. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -1
  133. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  134. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  135. package/dist/elements/TableColumns/buildColumnState.js +1 -0
  136. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  137. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  138. package/dist/elements/TableColumns/filterFields.js +1 -0
  139. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  140. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  141. package/dist/elements/ThumbnailCard/index.js +1 -0
  142. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  143. package/dist/elements/WhereBuilder/Condition/Date/index.d.ts.map +1 -1
  144. package/dist/elements/WhereBuilder/Condition/Date/index.js +1 -0
  145. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  146. package/dist/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
  147. package/dist/elements/WhereBuilder/Condition/Number/index.js +1 -0
  148. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  149. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  150. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +106 -73
  151. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  152. package/dist/elements/WhereBuilder/Condition/Select/index.d.ts.map +1 -1
  153. package/dist/elements/WhereBuilder/Condition/Select/index.js +1 -0
  154. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  155. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  156. package/dist/elements/WhereBuilder/Condition/Text/index.js +1 -0
  157. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  158. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  159. package/dist/elements/WhereBuilder/Condition/index.js +8 -7
  160. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  161. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  162. package/dist/elements/WhereBuilder/index.js +56 -52
  163. package/dist/elements/WhereBuilder/index.js.map +1 -1
  164. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
  165. package/dist/elements/WhereBuilder/reduceFieldMap.js +1 -0
  166. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  167. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  168. package/dist/fields/Array/ArrayRow.js +1 -0
  169. package/dist/fields/Array/ArrayRow.js.map +1 -1
  170. package/dist/fields/Array/index.d.ts.map +1 -1
  171. package/dist/fields/Array/index.js +6 -6
  172. package/dist/fields/Array/index.js.map +1 -1
  173. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.d.ts.map +1 -1
  174. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +1 -0
  175. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  176. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  177. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  178. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  179. package/dist/fields/Blocks/index.d.ts.map +1 -1
  180. package/dist/fields/Blocks/index.js +6 -6
  181. package/dist/fields/Blocks/index.js.map +1 -1
  182. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  183. package/dist/fields/Checkbox/index.js +6 -6
  184. package/dist/fields/Checkbox/index.js.map +1 -1
  185. package/dist/fields/Code/index.d.ts.map +1 -1
  186. package/dist/fields/Code/index.js +5 -5
  187. package/dist/fields/Code/index.js.map +1 -1
  188. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  189. package/dist/fields/Collapsible/index.js +5 -2
  190. package/dist/fields/Collapsible/index.js.map +1 -1
  191. package/dist/fields/DateTime/index.js +5 -5
  192. package/dist/fields/DateTime/index.js.map +1 -1
  193. package/dist/fields/Email/index.d.ts.map +1 -1
  194. package/dist/fields/Email/index.js +4 -4
  195. package/dist/fields/Email/index.js.map +1 -1
  196. package/dist/fields/Group/index.d.ts.map +1 -1
  197. package/dist/fields/Group/index.js +5 -3
  198. package/dist/fields/Group/index.js.map +1 -1
  199. package/dist/fields/JSON/index.d.ts.map +1 -1
  200. package/dist/fields/JSON/index.js +7 -7
  201. package/dist/fields/JSON/index.js.map +1 -1
  202. package/dist/fields/Number/index.d.ts.map +1 -1
  203. package/dist/fields/Number/index.js +7 -7
  204. package/dist/fields/Number/index.js.map +1 -1
  205. package/dist/fields/Password/index.d.ts.map +1 -1
  206. package/dist/fields/Password/index.js +6 -4
  207. package/dist/fields/Password/index.js.map +1 -1
  208. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  209. package/dist/fields/RadioGroup/index.js +5 -5
  210. package/dist/fields/RadioGroup/index.js.map +1 -1
  211. package/dist/fields/Relationship/findOptionsByValue.js +1 -1
  212. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  213. package/dist/fields/Relationship/index.d.ts.map +1 -1
  214. package/dist/fields/Relationship/index.js +6 -4
  215. package/dist/fields/Relationship/index.js.map +1 -1
  216. package/dist/fields/Select/index.d.ts.map +1 -1
  217. package/dist/fields/Select/index.js +5 -5
  218. package/dist/fields/Select/index.js.map +1 -1
  219. package/dist/fields/Tabs/index.d.ts.map +1 -1
  220. package/dist/fields/Tabs/index.js.map +1 -1
  221. package/dist/fields/Text/index.d.ts.map +1 -1
  222. package/dist/fields/Text/index.js +5 -5
  223. package/dist/fields/Text/index.js.map +1 -1
  224. package/dist/fields/Textarea/index.d.ts.map +1 -1
  225. package/dist/fields/Textarea/index.js +3 -3
  226. package/dist/fields/Textarea/index.js.map +1 -1
  227. package/dist/fields/Upload/index.d.ts.map +1 -1
  228. package/dist/fields/Upload/index.js +3 -3
  229. package/dist/fields/Upload/index.js.map +1 -1
  230. package/dist/forms/FieldPropsProvider/index.d.ts +1 -0
  231. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  232. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  233. package/dist/forms/Form/context.d.ts +3 -1
  234. package/dist/forms/Form/context.d.ts.map +1 -1
  235. package/dist/forms/Form/context.js +3 -1
  236. package/dist/forms/Form/context.js.map +1 -1
  237. package/dist/forms/Form/getSiblingData.d.ts.map +1 -1
  238. package/dist/forms/Form/getSiblingData.js +1 -0
  239. package/dist/forms/Form/getSiblingData.js.map +1 -1
  240. package/dist/forms/Form/index.d.ts.map +1 -1
  241. package/dist/forms/Form/index.js +28 -11
  242. package/dist/forms/Form/index.js.map +1 -1
  243. package/dist/forms/Form/initContextState.d.ts.map +1 -1
  244. package/dist/forms/Form/initContextState.js +1 -0
  245. package/dist/forms/Form/initContextState.js.map +1 -1
  246. package/dist/forms/Form/types.d.ts +2 -0
  247. package/dist/forms/Form/types.d.ts.map +1 -1
  248. package/dist/forms/Form/types.js.map +1 -1
  249. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  250. package/dist/forms/RenderFields/index.js +6 -2
  251. package/dist/forms/RenderFields/index.js.map +1 -1
  252. package/dist/forms/RenderFields/types.d.ts +8 -1
  253. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  254. package/dist/forms/RenderFields/types.js.map +1 -1
  255. package/dist/forms/Submit/index.d.ts.map +1 -1
  256. package/dist/forms/Submit/index.js +3 -2
  257. package/dist/forms/Submit/index.js.map +1 -1
  258. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +5 -3
  259. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -1
  260. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js +4 -3
  261. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
  262. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +5 -3
  263. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  264. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js +4 -3
  265. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
  266. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +5 -3
  267. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  268. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +21 -15
  269. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  270. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  271. package/dist/forms/buildStateFromSchema/index.js +3 -2
  272. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  273. package/dist/forms/useField/index.d.ts.map +1 -1
  274. package/dist/forms/useField/index.js +5 -2
  275. package/dist/forms/useField/index.js.map +1 -1
  276. package/dist/forms/useField/types.d.ts +1 -0
  277. package/dist/forms/useField/types.d.ts.map +1 -1
  278. package/dist/forms/useField/types.js.map +1 -1
  279. package/dist/icons/Plus/index.d.ts.map +1 -1
  280. package/dist/icons/Plus/index.js +1 -0
  281. package/dist/icons/Plus/index.js.map +1 -1
  282. package/dist/icons/Plus/index.scss +0 -3
  283. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  284. package/dist/providers/ComponentMap/buildComponentMap/fields.js +1 -0
  285. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  286. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  287. package/dist/providers/DocumentInfo/index.js +67 -53
  288. package/dist/providers/DocumentInfo/index.js.map +1 -1
  289. package/dist/providers/DocumentInfo/types.d.ts +4 -0
  290. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  291. package/dist/providers/DocumentInfo/types.js.map +1 -1
  292. package/dist/providers/Root/index.d.ts +1 -2
  293. package/dist/providers/Root/index.d.ts.map +1 -1
  294. package/dist/providers/Root/index.js.map +1 -1
  295. package/dist/providers/Translation/index.d.ts +1 -5
  296. package/dist/providers/Translation/index.d.ts.map +1 -1
  297. package/dist/providers/Translation/index.js.map +1 -1
  298. package/dist/utilities/buildFieldSchemaMap/index.d.ts +8 -0
  299. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -0
  300. package/dist/utilities/buildFieldSchemaMap/index.js +29 -0
  301. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -0
  302. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +14 -0
  303. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -0
  304. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +75 -0
  305. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -0
  306. package/dist/utilities/buildFieldSchemaMap/types.d.ts +3 -0
  307. package/dist/utilities/buildFieldSchemaMap/types.d.ts.map +1 -0
  308. package/dist/utilities/buildFieldSchemaMap/types.js +3 -0
  309. package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -0
  310. package/dist/utilities/buildFormState.d.ts +7 -0
  311. package/dist/utilities/buildFormState.d.ts.map +1 -0
  312. package/dist/utilities/buildFormState.js +162 -0
  313. package/dist/utilities/buildFormState.js.map +1 -0
  314. package/dist/utilities/getFormState.d.ts +1 -0
  315. package/dist/utilities/getFormState.d.ts.map +1 -1
  316. package/dist/utilities/getFormState.js +5 -2
  317. package/dist/utilities/getFormState.js.map +1 -1
  318. package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -1
  319. package/dist/utilities/reduceFieldsToValues.js +1 -0
  320. package/dist/utilities/reduceFieldsToValues.js.map +1 -1
  321. package/package.json +16 -6
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport type { DocumentPreferences } from 'payload/types'\n\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport { Collapsible as CollapsibleElement } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { RowLabel } from '../../forms/RowLabel/index.js'\nimport { WatchChildErrors } from '../../forms/WatchChildErrors/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'collapsible-field'\n\nimport type { FieldPermissions } from 'payload/auth'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { FieldDescription } from '../../forms/FieldDescription/index.js'\n\nexport type CollapsibleFieldProps = FormFieldBase & {\n fieldMap: FieldMap\n initCollapsed?: boolean\n permissions: FieldPermissions\n width?: string\n}\n\nconst CollapsibleField: React.FC<CollapsibleFieldProps> = (props) => {\n const {\n CustomDescription,\n CustomLabel,\n className,\n descriptionProps,\n fieldMap,\n initCollapsed = false,\n label,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n } = props\n\n const {\n indexPath,\n path: pathFromContext,\n readOnly: readOnlyFromContext,\n schemaPath,\n siblingPermissions,\n } = useFieldProps()\n const path = pathFromContext || pathFromProps\n\n const { i18n } = useTranslation()\n const { getPreference, setPreference } = usePreferences()\n const { preferencesKey } = useDocumentInfo()\n const [collapsedOnMount, setCollapsedOnMount] = useState<boolean>()\n const fieldPreferencesKey = `collapsible-${indexPath.replace(/\\./g, '__')}`\n const [errorCount, setErrorCount] = useState(0)\n const fieldHasErrors = errorCount > 0\n\n const onToggle = useCallback(\n async (newCollapsedState: boolean) => {\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n\n if (preferencesKey) {\n void setPreference(preferencesKey, {\n ...existingPreferences,\n ...(path\n ? {\n fields: {\n ...(existingPreferences?.fields || {}),\n [path]: {\n ...existingPreferences?.fields?.[path],\n collapsed: newCollapsedState,\n },\n },\n }\n : {\n fields: {\n ...(existingPreferences?.fields || {}),\n [fieldPreferencesKey]: {\n ...existingPreferences?.fields?.[fieldPreferencesKey],\n collapsed: newCollapsedState,\n },\n },\n }),\n })\n }\n },\n [preferencesKey, fieldPreferencesKey, getPreference, setPreference, path],\n )\n\n useEffect(() => {\n const fetchInitialState = async () => {\n if (preferencesKey) {\n const preferences = await getPreference(preferencesKey)\n const specificPreference = path\n ? preferences?.fields?.[path]?.collapsed\n : preferences?.fields?.[fieldPreferencesKey]?.collapsed\n\n if (specificPreference !== undefined) {\n setCollapsedOnMount(Boolean(specificPreference))\n } else {\n setCollapsedOnMount(typeof initCollapsed === 'boolean' ? initCollapsed : false)\n }\n } else {\n setCollapsedOnMount(typeof initCollapsed === 'boolean' ? initCollapsed : false)\n }\n }\n\n void fetchInitialState()\n }, [getPreference, preferencesKey, fieldPreferencesKey, initCollapsed, path])\n\n if (typeof collapsedOnMount !== 'boolean') return null\n\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n return (\n <Fragment>\n <WatchChildErrors fieldMap={fieldMap} path={path} setErrorCount={setErrorCount} />\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${fieldPreferencesKey}${path ? `-${path.replace(/\\./g, '__')}` : ''}`}\n >\n <CollapsibleElement\n className={`${baseClass}__collapsible`}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n header={\n <div className={`${baseClass}__row-label-wrap`}>\n <RowLabel RowLabelComponent={CustomLabel} i18n={i18n} path={path} rowLabel={label} />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n }\n initCollapsed={collapsedOnMount}\n onToggle={onToggle}\n >\n <RenderFields\n fieldMap={fieldMap}\n forceRender\n indexPath={indexPath}\n margins=\"small\"\n path={path}\n permissions={siblingPermissions}\n readOnly={readOnly}\n schemaPath={schemaPath}\n />\n </CollapsibleElement>\n <FieldDescription CustomDescription={CustomDescription} {...(descriptionProps || {})} />\n </div>\n </Fragment>\n )\n}\n\nexport const Collapsible = withCondition(CollapsibleField)\n"],"names":["React","Fragment","useCallback","useEffect","useState","Collapsible","CollapsibleElement","ErrorPill","useFieldProps","RenderFields","RowLabel","WatchChildErrors","withCondition","useDocumentInfo","usePreferences","useTranslation","fieldBaseClass","baseClass","FieldDescription","CollapsibleField","props","CustomDescription","CustomLabel","className","descriptionProps","fieldMap","initCollapsed","label","path","pathFromProps","readOnly","readOnlyFromProps","indexPath","pathFromContext","readOnlyFromContext","schemaPath","siblingPermissions","i18n","getPreference","setPreference","preferencesKey","collapsedOnMount","setCollapsedOnMount","fieldPreferencesKey","replace","errorCount","setErrorCount","fieldHasErrors","onToggle","newCollapsedState","existingPreferences","fields","collapsed","fetchInitialState","preferences","specificPreference","undefined","Boolean","div","filter","join","id","collapsibleStyle","header","RowLabelComponent","rowLabel","count","withMessage","forceRender","margins","permissions"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport type { DocumentPreferences } from 'payload/types'\n\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport { Collapsible as CollapsibleElement } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { RowLabel } from '../../forms/RowLabel/index.js'\nimport { WatchChildErrors } from '../../forms/WatchChildErrors/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'collapsible-field'\n\nimport type { FieldPermissions } from 'payload/auth'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { FieldDescription } from '../../forms/FieldDescription/index.js'\nimport { useFormInitializing, useFormProcessing } from '../../forms/Form/context.js'\n\nexport type CollapsibleFieldProps = FormFieldBase & {\n fieldMap: FieldMap\n initCollapsed?: boolean\n permissions: FieldPermissions\n width?: string\n}\n\nconst CollapsibleField: React.FC<CollapsibleFieldProps> = (props) => {\n const {\n CustomDescription,\n CustomLabel,\n className,\n descriptionProps,\n fieldMap,\n initCollapsed = false,\n label,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n } = props\n\n const {\n indexPath,\n path: pathFromContext,\n readOnly: readOnlyFromContext,\n schemaPath,\n siblingPermissions,\n } = useFieldProps()\n\n const formInitializing = useFormInitializing()\n const formProcessing = useFormProcessing()\n\n const path = pathFromContext || pathFromProps\n\n const { i18n } = useTranslation()\n const { getPreference, setPreference } = usePreferences()\n const { preferencesKey } = useDocumentInfo()\n const [collapsedOnMount, setCollapsedOnMount] = useState<boolean>()\n const fieldPreferencesKey = `collapsible-${indexPath.replace(/\\./g, '__')}`\n const [errorCount, setErrorCount] = useState(0)\n const fieldHasErrors = errorCount > 0\n\n const onToggle = useCallback(\n async (newCollapsedState: boolean) => {\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n\n if (preferencesKey) {\n void setPreference(preferencesKey, {\n ...existingPreferences,\n ...(path\n ? {\n fields: {\n ...(existingPreferences?.fields || {}),\n [path]: {\n ...existingPreferences?.fields?.[path],\n collapsed: newCollapsedState,\n },\n },\n }\n : {\n fields: {\n ...(existingPreferences?.fields || {}),\n [fieldPreferencesKey]: {\n ...existingPreferences?.fields?.[fieldPreferencesKey],\n collapsed: newCollapsedState,\n },\n },\n }),\n })\n }\n },\n [preferencesKey, fieldPreferencesKey, getPreference, setPreference, path],\n )\n\n useEffect(() => {\n const fetchInitialState = async () => {\n if (preferencesKey) {\n const preferences = await getPreference(preferencesKey)\n const specificPreference = path\n ? preferences?.fields?.[path]?.collapsed\n : preferences?.fields?.[fieldPreferencesKey]?.collapsed\n\n if (specificPreference !== undefined) {\n setCollapsedOnMount(Boolean(specificPreference))\n } else {\n setCollapsedOnMount(typeof initCollapsed === 'boolean' ? initCollapsed : false)\n }\n } else {\n setCollapsedOnMount(typeof initCollapsed === 'boolean' ? initCollapsed : false)\n }\n }\n\n void fetchInitialState()\n }, [getPreference, preferencesKey, fieldPreferencesKey, initCollapsed, path])\n\n if (typeof collapsedOnMount !== 'boolean') return null\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n return (\n <Fragment>\n <WatchChildErrors fieldMap={fieldMap} path={path} setErrorCount={setErrorCount} />\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${fieldPreferencesKey}${path ? `-${path.replace(/\\./g, '__')}` : ''}`}\n >\n <CollapsibleElement\n className={`${baseClass}__collapsible`}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n header={\n <div className={`${baseClass}__row-label-wrap`}>\n <RowLabel RowLabelComponent={CustomLabel} i18n={i18n} path={path} rowLabel={label} />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n }\n initCollapsed={collapsedOnMount}\n onToggle={onToggle}\n >\n <RenderFields\n fieldMap={fieldMap}\n forceRender\n indexPath={indexPath}\n margins=\"small\"\n path={path}\n permissions={siblingPermissions}\n readOnly={disabled}\n schemaPath={schemaPath}\n />\n </CollapsibleElement>\n <FieldDescription CustomDescription={CustomDescription} {...(descriptionProps || {})} />\n </div>\n </Fragment>\n )\n}\n\nexport const Collapsible = withCondition(CollapsibleField)\n"],"names":["React","Fragment","useCallback","useEffect","useState","Collapsible","CollapsibleElement","ErrorPill","useFieldProps","RenderFields","RowLabel","WatchChildErrors","withCondition","useDocumentInfo","usePreferences","useTranslation","fieldBaseClass","baseClass","FieldDescription","useFormInitializing","useFormProcessing","CollapsibleField","props","CustomDescription","CustomLabel","className","descriptionProps","fieldMap","initCollapsed","label","path","pathFromProps","readOnly","readOnlyFromProps","indexPath","pathFromContext","readOnlyFromContext","schemaPath","siblingPermissions","formInitializing","formProcessing","i18n","getPreference","setPreference","preferencesKey","collapsedOnMount","setCollapsedOnMount","fieldPreferencesKey","replace","errorCount","setErrorCount","fieldHasErrors","onToggle","newCollapsedState","existingPreferences","fields","collapsed","fetchInitialState","preferences","specificPreference","undefined","Boolean","disabled","div","filter","join","id","collapsibleStyle","header","RowLabelComponent","rowLabel","count","withMessage","forceRender","margins","permissions"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -27,18 +27,18 @@ const DateTimeField = (props)=>{
27
27
  required
28
28
  ]);
29
29
  const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps();
30
- const { path, setValue, showError, value } = useField({
30
+ const { formInitializing, formProcessing, path, setValue, showError, value } = useField({
31
31
  path: pathFromContext || pathFromProps || name,
32
32
  validate: memoizedValidate
33
33
  });
34
- const readOnly = readOnlyFromProps || readOnlyFromContext;
34
+ const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing;
35
35
  return /*#__PURE__*/ _jsxs("div", {
36
36
  className: [
37
37
  fieldBaseClass,
38
38
  baseClass,
39
39
  className,
40
40
  showError && `${baseClass}--has-error`,
41
- readOnly && 'read-only'
41
+ disabled && 'read-only'
42
42
  ].filter(Boolean).join(' '),
43
43
  style: {
44
44
  ...style,
@@ -64,10 +64,10 @@ const DateTimeField = (props)=>{
64
64
  /*#__PURE__*/ _jsx(DatePickerField, {
65
65
  ...datePickerProps,
66
66
  onChange: (incomingDate)=>{
67
- if (!readOnly) setValue(incomingDate?.toISOString() || null);
67
+ if (!disabled) setValue(incomingDate?.toISOString() || null);
68
68
  },
69
69
  placeholder: getTranslation(placeholder, i18n),
70
- readOnly: readOnly,
70
+ readOnly: disabled,
71
71
  value: value
72
72
  }),
73
73
  AfterInput
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/DateTime/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { ClientValidate } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { DatePickerField } from '../../elements/DatePicker/index.js'\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'date-time-field'\n\nimport type { DateField } from 'payload/types'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { FieldDescription } from '../../forms/FieldDescription/index.js'\nimport { FieldError } from '../../forms/FieldError/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\n\nexport type DateFieldProps = FormFieldBase & {\n date?: DateField['admin']['date']\n name?: string\n path?: string\n placeholder?: DateField['admin']['placeholder'] | string\n width?: string\n}\n\nconst DateTimeField: React.FC<DateFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n date: datePickerProps,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\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 { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { path, setValue, showError, value } = useField<Date>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && `${baseClass}--has-error`,\n readOnly && 'read-only',\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 <div className={`${fieldBaseClass}__wrap`} id={`field-${path.replace(/\\./g, '__')}`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {BeforeInput}\n <DatePickerField\n {...datePickerProps}\n onChange={(incomingDate) => {\n if (!readOnly) setValue(incomingDate?.toISOString() || null)\n }}\n placeholder={getTranslation(placeholder, i18n)}\n readOnly={readOnly}\n value={value}\n />\n {AfterInput}\n </div>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const DateTime = withCondition(DateTimeField)\n"],"names":["getTranslation","React","useCallback","DatePickerField","FieldLabel","useField","useTranslation","fieldBaseClass","baseClass","FieldDescription","FieldError","useFieldProps","withCondition","DateTimeField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","date","datePickerProps","descriptionProps","errorProps","label","labelProps","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","style","validate","width","i18n","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","setValue","showError","div","filter","Boolean","join","id","replace","onChange","incomingDate","toISOString","undefined","DateTime"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,iDAAiD,GACjD;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,qBAAoB;AAGnD,MAAMC,YAAY;AAMlB,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,aAAa,QAAQ,qCAAoC;AAUlE,MAAMC,gBAA0C,CAACC;IAC/C,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,MAAMC,eAAe,EACrBC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGtB;IAEJ,MAAM,EAAEuB,IAAI,EAAE,GAAG/B;IAEjB,MAAMgC,mBAAmCpC,YACvC,CAACqC,OAAOC;QACN,IAAI,OAAOL,aAAa,YAAY;YAClC,OAAOA,SAASI,OAAO;gBAAE,GAAGC,OAAO;gBAAEP;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEL,MAAMa,eAAe,EAAEV,UAAUW,mBAAmB,EAAE,GAAG/B;IAEjE,MAAM,EAAEiB,IAAI,EAAEe,QAAQ,EAAEC,SAAS,EAAEL,KAAK,EAAE,GAAGlC,SAAe;QAC1DuB,MAAMa,mBAAmBZ,iBAAiBd;QAC1CoB,UAAUG;IACZ;IAEA,MAAMP,WAAWC,qBAAqBU;IAEtC,qBACE,MAACG;QACCxB,WAAW;YACTd;YACAC;YACAa;YACAuB,aAAa,CAAC,EAAEpC,UAAU,WAAW,CAAC;YACtCuB,YAAY;SACb,CACEe,MAAM,CAACC,SACPC,IAAI,CAAC;QACRd,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;;0BAEA,KAAChC;gBACCgB,aAAaA;gBACbM,OAAOA;gBACPO,UAAUA;gBACT,GAAIN,cAAc,CAAC,CAAC;;0BAEvB,MAACkB;gBAAIxB,WAAW,CAAC,EAAEd,eAAe,MAAM,CAAC;gBAAE0C,IAAI,CAAC,MAAM,EAAErB,KAAKsB,OAAO,CAAC,OAAO,MAAM,CAAC;;kCACjF,KAACxC;wBAAWS,aAAaA;wBAAaS,MAAMA;wBAAO,GAAIH,cAAc,CAAC,CAAC;;oBACtER;kCACD,KAACd;wBACE,GAAGoB,eAAe;wBACnB4B,UAAU,CAACC;4BACT,IAAI,CAACrB,UAAUY,SAASS,cAAcC,iBAAiB;wBACzD;wBACAvB,aAAa9B,eAAe8B,aAAaO;wBACzCN,UAAUA;wBACVQ,OAAOA;;oBAERvB;;;YAEFE,sBAAsBoC,YACrBpC,kCAEA,KAACT;gBAAkB,GAAIe,oBAAoB,CAAC,CAAC;;;;AAIrD;AAEA,OAAO,MAAM+B,WAAW3C,cAAcC,eAAc"}
1
+ {"version":3,"sources":["../../../src/fields/DateTime/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { ClientValidate } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { DatePickerField } from '../../elements/DatePicker/index.js'\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'date-time-field'\n\nimport type { DateField } from 'payload/types'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { FieldDescription } from '../../forms/FieldDescription/index.js'\nimport { FieldError } from '../../forms/FieldError/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\n\nexport type DateFieldProps = FormFieldBase & {\n date?: DateField['admin']['date']\n name?: string\n path?: string\n placeholder?: DateField['admin']['placeholder'] | string\n width?: string\n}\n\nconst DateTimeField: React.FC<DateFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n date: datePickerProps,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\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 { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField<Date>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && `${baseClass}--has-error`,\n disabled && 'read-only',\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 <div className={`${fieldBaseClass}__wrap`} id={`field-${path.replace(/\\./g, '__')}`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {BeforeInput}\n <DatePickerField\n {...datePickerProps}\n onChange={(incomingDate) => {\n if (!disabled) setValue(incomingDate?.toISOString() || null)\n }}\n placeholder={getTranslation(placeholder, i18n)}\n readOnly={disabled}\n value={value}\n />\n {AfterInput}\n </div>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const DateTime = withCondition(DateTimeField)\n"],"names":["getTranslation","React","useCallback","DatePickerField","FieldLabel","useField","useTranslation","fieldBaseClass","baseClass","FieldDescription","FieldError","useFieldProps","withCondition","DateTimeField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","date","datePickerProps","descriptionProps","errorProps","label","labelProps","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","style","validate","width","i18n","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","div","filter","Boolean","join","id","replace","onChange","incomingDate","toISOString","undefined","DateTime"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,iDAAiD,GACjD;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,qBAAoB;AAGnD,MAAMC,YAAY;AAMlB,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,aAAa,QAAQ,qCAAoC;AAUlE,MAAMC,gBAA0C,CAACC;IAC/C,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,MAAMC,eAAe,EACrBC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGtB;IAEJ,MAAM,EAAEuB,IAAI,EAAE,GAAG/B;IAEjB,MAAMgC,mBAAmCpC,YACvC,CAACqC,OAAOC;QACN,IAAI,OAAOL,aAAa,YAAY;YAClC,OAAOA,SAASI,OAAO;gBAAE,GAAGC,OAAO;gBAAEP;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEL,MAAMa,eAAe,EAAEV,UAAUW,mBAAmB,EAAE,GAAG/B;IAEjE,MAAM,EAAEgC,gBAAgB,EAAEC,cAAc,EAAEhB,IAAI,EAAEiB,QAAQ,EAAEC,SAAS,EAAEP,KAAK,EAAE,GAAGlC,SAAe;QAC5FuB,MAAMa,mBAAmBZ,iBAAiBd;QAC1CoB,UAAUG;IACZ;IAEA,MAAMS,WAAWf,qBAAqBU,uBAAuBE,kBAAkBD;IAE/E,qBACE,MAACK;QACC3B,WAAW;YACTd;YACAC;YACAa;YACAyB,aAAa,CAAC,EAAEtC,UAAU,WAAW,CAAC;YACtCuC,YAAY;SACb,CACEE,MAAM,CAACC,SACPC,IAAI,CAAC;QACRjB,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;;0BAEA,KAAChC;gBACCgB,aAAaA;gBACbM,OAAOA;gBACPO,UAAUA;gBACT,GAAIN,cAAc,CAAC,CAAC;;0BAEvB,MAACqB;gBAAI3B,WAAW,CAAC,EAAEd,eAAe,MAAM,CAAC;gBAAE6C,IAAI,CAAC,MAAM,EAAExB,KAAKyB,OAAO,CAAC,OAAO,MAAM,CAAC;;kCACjF,KAAC3C;wBAAWS,aAAaA;wBAAaS,MAAMA;wBAAO,GAAIH,cAAc,CAAC,CAAC;;oBACtER;kCACD,KAACd;wBACE,GAAGoB,eAAe;wBACnB+B,UAAU,CAACC;4BACT,IAAI,CAACR,UAAUF,SAASU,cAAcC,iBAAiB;wBACzD;wBACA1B,aAAa9B,eAAe8B,aAAaO;wBACzCN,UAAUgB;wBACVR,OAAOA;;oBAERvB;;;YAEFE,sBAAsBuC,YACrBvC,kCAEA,KAACT;gBAAkB,GAAIe,oBAAoB,CAAC,CAAC;;;;AAIrD;AAEA,OAAO,MAAMkC,WAAW9C,cAAcC,eAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Email/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAGjE,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAUvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAA;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAoFD,eAAO,MAAM,KAAK,2BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Email/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAGjE,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAUvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAA;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAqFD,eAAO,MAAM,KAAK,2BAA4B,CAAA"}
@@ -25,18 +25,18 @@ const EmailField = (props)=>{
25
25
  required
26
26
  ]);
27
27
  const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps();
28
- const readOnly = readOnlyFromProps || readOnlyFromContext;
29
- const { path, setValue, showError, value } = useField({
28
+ const { formInitializing, formProcessing, path, setValue, showError, value } = useField({
30
29
  path: pathFromContext || pathFromProps || name,
31
30
  validate: memoizedValidate
32
31
  });
32
+ const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing;
33
33
  return /*#__PURE__*/ _jsxs("div", {
34
34
  className: [
35
35
  fieldBaseClass,
36
36
  'email',
37
37
  className,
38
38
  showError && 'error',
39
- readOnly && 'read-only'
39
+ disabled && 'read-only'
40
40
  ].filter(Boolean).join(' '),
41
41
  style: {
42
42
  ...style,
@@ -60,7 +60,7 @@ const EmailField = (props)=>{
60
60
  BeforeInput,
61
61
  /*#__PURE__*/ _jsx("input", {
62
62
  autoComplete: autoComplete,
63
- disabled: readOnly,
63
+ disabled: disabled,
64
64
  id: `field-${path.replace(/\./g, '__')}`,
65
65
  name: path,
66
66
  onChange: setValue,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Email/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload/types'\nimport type { EmailField as EmailFieldType } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { FieldDescription } from '../../forms/FieldDescription/index.js'\nimport { FieldError } from '../../forms/FieldError/index.js'\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/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 EmailFieldProps = FormFieldBase & {\n autoComplete?: string\n name?: string\n path?: string\n placeholder?: EmailFieldType['admin']['placeholder']\n width?: string\n}\n\nconst EmailField: React.FC<EmailFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n autoComplete,\n className,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\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 { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const { path, setValue, showError, value } = useField({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n return (\n <div\n className={[fieldBaseClass, 'email', className, showError && 'error', readOnly && 'read-only']\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 <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {BeforeInput}\n <input\n autoComplete={autoComplete}\n disabled={readOnly}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n placeholder={getTranslation(placeholder, i18n)}\n type=\"email\"\n value={(value as string) || ''}\n />\n {AfterInput}\n </div>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const Email = withCondition(EmailField)\n"],"names":["getTranslation","React","useCallback","FieldDescription","FieldError","FieldLabel","useFieldProps","useField","withCondition","useTranslation","fieldBaseClass","EmailField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","autoComplete","className","descriptionProps","errorProps","label","labelProps","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","style","validate","width","i18n","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","setValue","showError","div","filter","Boolean","join","input","disabled","id","replace","onChange","type","undefined","Email"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAIA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,qBAAoB;AAWnD,MAAMC,aAAwC,CAACC;IAC7C,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGrB;IAEJ,MAAM,EAAEsB,IAAI,EAAE,GAAGzB;IAEjB,MAAM0B,mBAAmCjC,YACvC,CAACkC,OAAOC;QACN,IAAI,OAAOL,aAAa,YAAY;YAClC,OAAOA,SAASI,OAAO;gBAAE,GAAGC,OAAO;gBAAEP;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEL,MAAMa,eAAe,EAAEV,UAAUW,mBAAmB,EAAE,GAAGjC;IACjE,MAAMsB,WAAWC,qBAAqBU;IAEtC,MAAM,EAAEd,IAAI,EAAEe,QAAQ,EAAEC,SAAS,EAAEL,KAAK,EAAE,GAAG7B,SAAS;QACpDkB,MAAMa,mBAAmBZ,iBAAiBb;QAC1CmB,UAAUG;IACZ;IAEA,qBACE,MAACO;QACCtB,WAAW;YAACV;YAAgB;YAASU;YAAWqB,aAAa;YAASb,YAAY;SAAY,CAC3Fe,MAAM,CAACC,SACPC,IAAI,CAAC;QACRd,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;;0BAEA,KAAC5B;gBACCa,aAAaA;gBACbK,OAAOA;gBACPO,UAAUA;gBACT,GAAIN,cAAc,CAAC,CAAC;;0BAEvB,MAACkB;gBAAItB,WAAW,CAAC,EAAEV,eAAe,MAAM,CAAC;;kCACvC,KAACN;wBAAWa,aAAaA;wBAAaQ,MAAMA;wBAAO,GAAIH,cAAc,CAAC,CAAC;;oBACtEP;kCACD,KAAC+B;wBACC3B,cAAcA;wBACd4B,UAAUnB;wBACVoB,IAAI,CAAC,MAAM,EAAEvB,KAAKwB,OAAO,CAAC,OAAO,MAAM,CAAC;wBACxCpC,MAAMY;wBACNyB,UAAUV;wBACVb,aAAa3B,eAAe2B,aAAaO;wBACzCiB,MAAK;wBACLf,OAAO,AAACA,SAAoB;;oBAE7BtB;;;YAEFE,sBAAsBoC,YACrBpC,kCAEA,KAACb;gBAAkB,GAAIkB,oBAAoB,CAAC,CAAC;;;;AAIrD;AAEA,OAAO,MAAMgC,QAAQ7C,cAAcG,YAAW"}
1
+ {"version":3,"sources":["../../../src/fields/Email/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload/types'\nimport type { EmailField as EmailFieldType } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { FieldDescription } from '../../forms/FieldDescription/index.js'\nimport { FieldError } from '../../forms/FieldError/index.js'\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/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 EmailFieldProps = FormFieldBase & {\n autoComplete?: string\n name?: string\n path?: string\n placeholder?: EmailFieldType['admin']['placeholder']\n width?: string\n}\n\nconst EmailField: React.FC<EmailFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n autoComplete,\n className,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\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 { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n return (\n <div\n className={[fieldBaseClass, 'email', className, showError && 'error', disabled && 'read-only']\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 <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {BeforeInput}\n <input\n autoComplete={autoComplete}\n disabled={disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n placeholder={getTranslation(placeholder, i18n)}\n type=\"email\"\n value={(value as string) || ''}\n />\n {AfterInput}\n </div>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const Email = withCondition(EmailField)\n"],"names":["getTranslation","React","useCallback","FieldDescription","FieldError","FieldLabel","useFieldProps","useField","withCondition","useTranslation","fieldBaseClass","EmailField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","autoComplete","className","descriptionProps","errorProps","label","labelProps","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","style","validate","width","i18n","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","div","filter","Boolean","join","input","id","replace","onChange","type","undefined","Email"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAIA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,qBAAoB;AAWnD,MAAMC,aAAwC,CAACC;IAC7C,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGrB;IAEJ,MAAM,EAAEsB,IAAI,EAAE,GAAGzB;IAEjB,MAAM0B,mBAAmCjC,YACvC,CAACkC,OAAOC;QACN,IAAI,OAAOL,aAAa,YAAY;YAClC,OAAOA,SAASI,OAAO;gBAAE,GAAGC,OAAO;gBAAEP;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEL,MAAMa,eAAe,EAAEV,UAAUW,mBAAmB,EAAE,GAAGjC;IAEjE,MAAM,EAAEkC,gBAAgB,EAAEC,cAAc,EAAEhB,IAAI,EAAEiB,QAAQ,EAAEC,SAAS,EAAEP,KAAK,EAAE,GAAG7B,SAAS;QACtFkB,MAAMa,mBAAmBZ,iBAAiBb;QAC1CmB,UAAUG;IACZ;IAEA,MAAMS,WAAWf,qBAAqBU,uBAAuBE,kBAAkBD;IAE/E,qBACE,MAACK;QACCzB,WAAW;YAACV;YAAgB;YAASU;YAAWuB,aAAa;YAASC,YAAY;SAAY,CAC3FE,MAAM,CAACC,SACPC,IAAI,CAAC;QACRjB,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;;0BAEA,KAAC5B;gBACCa,aAAaA;gBACbK,OAAOA;gBACPO,UAAUA;gBACT,GAAIN,cAAc,CAAC,CAAC;;0BAEvB,MAACqB;gBAAIzB,WAAW,CAAC,EAAEV,eAAe,MAAM,CAAC;;kCACvC,KAACN;wBAAWa,aAAaA;wBAAaQ,MAAMA;wBAAO,GAAIH,cAAc,CAAC,CAAC;;oBACtEP;kCACD,KAACkC;wBACC9B,cAAcA;wBACdyB,UAAUA;wBACVM,IAAI,CAAC,MAAM,EAAEzB,KAAK0B,OAAO,CAAC,OAAO,MAAM,CAAC;wBACxCtC,MAAMY;wBACN2B,UAAUV;wBACVf,aAAa3B,eAAe2B,aAAaO;wBACzCmB,MAAK;wBACLjB,OAAO,AAACA,SAAoB;;oBAE7BtB;;;YAEFE,sBAAsBsC,YACrBtC,kCAEA,KAACb;gBAAkB,GAAIkB,oBAAoB,CAAC,CAAC;;;;AAIrD;AAEA,OAAO,MAAMkC,QAAQ/C,cAAcG,YAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Group/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAGpD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAA;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAcvD,OAAO,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAIvD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,QAAQ,EAAE,QAAQ,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,gBAAgB,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAuFD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA;AAElC,eAAO,MAAM,KAAK,2BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Group/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAGpD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAA;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAkBvD,OAAO,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAIvD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,QAAQ,EAAE,QAAQ,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,gBAAgB,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAyFD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA;AAElC,eAAO,MAAM,KAAK,2BAA4B,CAAA"}
@@ -6,7 +6,7 @@ import { useCollapsible } from '../../elements/Collapsible/provider.js';
6
6
  import { ErrorPill } from '../../elements/ErrorPill/index.js';
7
7
  import { FieldDescription } from '../../forms/FieldDescription/index.js';
8
8
  import { useFieldProps } from '../../forms/FieldPropsProvider/index.js';
9
- import { useFormSubmitted } from '../../forms/Form/context.js';
9
+ import { useFormInitializing, useFormProcessing, useFormSubmitted } from '../../forms/Form/context.js';
10
10
  import { RenderFields } from '../../forms/RenderFields/index.js';
11
11
  import { useField } from '../../forms/useField/index.js';
12
12
  import { withCondition } from '../../forms/withCondition/index.js';
@@ -27,10 +27,12 @@ const GroupField = (props)=>{
27
27
  const { errorPaths } = useField({
28
28
  path
29
29
  });
30
+ const formInitializing = useFormInitializing();
31
+ const formProcessing = useFormProcessing();
30
32
  const submitted = useFormSubmitted();
31
33
  const errorCount = errorPaths.length;
32
34
  const fieldHasErrors = submitted && errorCount > 0;
33
- const readOnly = readOnlyFromProps || readOnlyFromContext;
35
+ const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing;
34
36
  const isTopLevel = !(isWithinCollapsible || isWithinGroup || isWithinRow);
35
37
  return /*#__PURE__*/ _jsx(Fragment, {
36
38
  children: /*#__PURE__*/ _jsx("div", {
@@ -81,7 +83,7 @@ const GroupField = (props)=>{
81
83
  margins: "small",
82
84
  path: path,
83
85
  permissions: permissions?.fields,
84
- readOnly: readOnly,
86
+ readOnly: disabled,
85
87
  schemaPath: schemaPath
86
88
  })
87
89
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Group/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldPermissions } from 'payload/auth'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment } from 'react'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { useCollapsible } from '../../elements/Collapsible/provider.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { FieldDescription } from '../../forms/FieldDescription/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useFormSubmitted } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useRow } from '../Row/provider.js'\nimport { useTabs } from '../Tabs/provider.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\nimport { GroupProvider, useGroup } from './provider.js'\n\nconst baseClass = 'group-field'\n\nexport type GroupFieldProps = FormFieldBase & {\n fieldMap: FieldMap\n forceRender?: boolean\n hideGutter?: boolean\n name?: string\n permissions: FieldPermissions\n width?: string\n}\n\nconst GroupField: React.FC<GroupFieldProps> = (props) => {\n const {\n CustomDescription,\n CustomLabel,\n className,\n descriptionProps,\n fieldMap,\n hideGutter,\n label,\n readOnly: readOnlyFromProps,\n style,\n width,\n } = props\n\n const { path, permissions, readOnly: readOnlyFromContext, schemaPath } = useFieldProps()\n const { i18n } = useTranslation()\n const { isWithinCollapsible } = useCollapsible()\n const isWithinGroup = useGroup()\n const isWithinRow = useRow()\n const isWithinTab = useTabs()\n const { errorPaths } = useField({ path })\n const submitted = useFormSubmitted()\n const errorCount = errorPaths.length\n const fieldHasErrors = submitted && errorCount > 0\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const isTopLevel = !(isWithinCollapsible || isWithinGroup || isWithinRow)\n\n return (\n <Fragment>\n <div\n className={[\n fieldBaseClass,\n baseClass,\n isTopLevel && `${baseClass}--top-level`,\n isWithinCollapsible && `${baseClass}--within-collapsible`,\n isWithinGroup && `${baseClass}--within-group`,\n isWithinRow && `${baseClass}--within-row`,\n isWithinTab && `${baseClass}--within-tab`,\n !hideGutter && isWithinGroup && `${baseClass}--gutter`,\n fieldHasErrors && `${baseClass}--has-error`,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <GroupProvider>\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header`}>\n {(CustomLabel || CustomDescription || label) && (\n <header>\n {CustomLabel !== undefined ? (\n CustomLabel\n ) : label ? (\n <h3 className={`${baseClass}__title`}>{getTranslation(label, i18n)}</h3>\n ) : null}\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </header>\n )}\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n <RenderFields\n fieldMap={fieldMap}\n margins=\"small\"\n path={path}\n permissions={permissions?.fields}\n readOnly={readOnly}\n schemaPath={schemaPath}\n />\n </div>\n </GroupProvider>\n </div>\n </Fragment>\n )\n}\n\nexport { GroupProvider, useGroup }\n\nexport const Group = withCondition(GroupField)\n"],"names":["getTranslation","React","Fragment","useCollapsible","ErrorPill","FieldDescription","useFieldProps","useFormSubmitted","RenderFields","useField","withCondition","useTranslation","useRow","useTabs","fieldBaseClass","GroupProvider","useGroup","baseClass","GroupField","props","CustomDescription","CustomLabel","className","descriptionProps","fieldMap","hideGutter","label","readOnly","readOnlyFromProps","style","width","path","permissions","readOnlyFromContext","schemaPath","i18n","isWithinCollapsible","isWithinGroup","isWithinRow","isWithinTab","errorPaths","submitted","errorCount","length","fieldHasErrors","isTopLevel","div","filter","Boolean","join","id","replace","header","undefined","h3","count","withMessage","margins","fields","Group"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Group/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldPermissions } from 'payload/auth'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment } from 'react'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { useCollapsible } from '../../elements/Collapsible/provider.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { FieldDescription } from '../../forms/FieldDescription/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport {\n useFormInitializing,\n useFormProcessing,\n useFormSubmitted,\n} from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useRow } from '../Row/provider.js'\nimport { useTabs } from '../Tabs/provider.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\nimport { GroupProvider, useGroup } from './provider.js'\n\nconst baseClass = 'group-field'\n\nexport type GroupFieldProps = FormFieldBase & {\n fieldMap: FieldMap\n forceRender?: boolean\n hideGutter?: boolean\n name?: string\n permissions: FieldPermissions\n width?: string\n}\n\nconst GroupField: React.FC<GroupFieldProps> = (props) => {\n const {\n CustomDescription,\n CustomLabel,\n className,\n descriptionProps,\n fieldMap,\n hideGutter,\n label,\n readOnly: readOnlyFromProps,\n style,\n width,\n } = props\n\n const { path, permissions, readOnly: readOnlyFromContext, schemaPath } = useFieldProps()\n const { i18n } = useTranslation()\n const { isWithinCollapsible } = useCollapsible()\n const isWithinGroup = useGroup()\n const isWithinRow = useRow()\n const isWithinTab = useTabs()\n const { errorPaths } = useField({ path })\n const formInitializing = useFormInitializing()\n const formProcessing = useFormProcessing()\n const submitted = useFormSubmitted()\n const errorCount = errorPaths.length\n const fieldHasErrors = submitted && errorCount > 0\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const isTopLevel = !(isWithinCollapsible || isWithinGroup || isWithinRow)\n\n return (\n <Fragment>\n <div\n className={[\n fieldBaseClass,\n baseClass,\n isTopLevel && `${baseClass}--top-level`,\n isWithinCollapsible && `${baseClass}--within-collapsible`,\n isWithinGroup && `${baseClass}--within-group`,\n isWithinRow && `${baseClass}--within-row`,\n isWithinTab && `${baseClass}--within-tab`,\n !hideGutter && isWithinGroup && `${baseClass}--gutter`,\n fieldHasErrors && `${baseClass}--has-error`,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <GroupProvider>\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header`}>\n {(CustomLabel || CustomDescription || label) && (\n <header>\n {CustomLabel !== undefined ? (\n CustomLabel\n ) : label ? (\n <h3 className={`${baseClass}__title`}>{getTranslation(label, i18n)}</h3>\n ) : null}\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </header>\n )}\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n <RenderFields\n fieldMap={fieldMap}\n margins=\"small\"\n path={path}\n permissions={permissions?.fields}\n readOnly={disabled}\n schemaPath={schemaPath}\n />\n </div>\n </GroupProvider>\n </div>\n </Fragment>\n )\n}\n\nexport { GroupProvider, useGroup }\n\nexport const Group = withCondition(GroupField)\n"],"names":["getTranslation","React","Fragment","useCollapsible","ErrorPill","FieldDescription","useFieldProps","useFormInitializing","useFormProcessing","useFormSubmitted","RenderFields","useField","withCondition","useTranslation","useRow","useTabs","fieldBaseClass","GroupProvider","useGroup","baseClass","GroupField","props","CustomDescription","CustomLabel","className","descriptionProps","fieldMap","hideGutter","label","readOnly","readOnlyFromProps","style","width","path","permissions","readOnlyFromContext","schemaPath","i18n","isWithinCollapsible","isWithinGroup","isWithinRow","isWithinTab","errorPaths","formInitializing","formProcessing","submitted","errorCount","length","fieldHasErrors","disabled","isTopLevel","div","filter","Boolean","join","id","replace","header","undefined","h3","count","withMessage","margins","fields","Group"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -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,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAMvD,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,aAAa,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAqID,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,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAMvD,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,aAAa,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAyID,eAAO,MAAM,SAAS,0BAAoC,CAAA"}
@@ -27,11 +27,11 @@ const JSONFieldComponent = (props)=>{
27
27
  jsonError
28
28
  ]);
29
29
  const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps();
30
- const readOnly = readOnlyFromProps || readOnlyFromContext;
31
- const { initialValue, path, setValue, showError, value } = useField({
30
+ const { formInitializing, formProcessing, initialValue, path, setValue, showError, value } = useField({
32
31
  path: pathFromContext || pathFromProps || name,
33
32
  validate: memoizedValidate
34
33
  });
34
+ const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing;
35
35
  const handleMount = useCallback((editor, monaco)=>{
36
36
  if (!jsonSchema) return;
37
37
  const existingSchemas = monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || [];
@@ -51,7 +51,7 @@ const JSONFieldComponent = (props)=>{
51
51
  value
52
52
  ]);
53
53
  const handleChange = useCallback((val)=>{
54
- if (readOnly) return;
54
+ if (disabled) return;
55
55
  setStringValue(val);
56
56
  try {
57
57
  setValue(val ? JSON.parse(val) : null);
@@ -61,12 +61,12 @@ const JSONFieldComponent = (props)=>{
61
61
  setJsonError(e);
62
62
  }
63
63
  }, [
64
- readOnly,
64
+ disabled,
65
65
  setValue,
66
66
  setStringValue
67
67
  ]);
68
68
  useEffect(()=>{
69
- if (hasLoadedValue) return;
69
+ if (hasLoadedValue || value === undefined) return;
70
70
  setStringValue(value || initialValue ? JSON.stringify(value ? value : initialValue, null, 2) : '');
71
71
  setHasLoadedValue(true);
72
72
  }, [
@@ -80,7 +80,7 @@ const JSONFieldComponent = (props)=>{
80
80
  baseClass,
81
81
  className,
82
82
  showError && 'error',
83
- readOnly && 'read-only'
83
+ disabled && 'read-only'
84
84
  ].filter(Boolean).join(' '),
85
85
  style: {
86
86
  ...style,
@@ -112,7 +112,7 @@ const JSONFieldComponent = (props)=>{
112
112
  onChange: handleChange,
113
113
  onMount: handleMount,
114
114
  options: editorOptions,
115
- readOnly: readOnly,
115
+ readOnly: disabled,
116
116
  value: stringValue
117
117
  }),
118
118
  AfterInput
@@ -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 { JSONField as JSONFieldType } from 'payload/types'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { FieldDescription } from '../../forms/FieldDescription/index.js'\nimport { FieldError } from '../../forms/FieldError/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\n\nexport type JSONFieldProps = FormFieldBase & {\n editorOptions?: JSONFieldType['admin']['editorOptions']\n jsonSchema?: Record<string, unknown>\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 jsonSchema,\n label,\n labelProps,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\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, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const { initialValue, path, setValue, showError, value } = useField<string>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleMount = useCallback(\n (editor, monaco) => {\n if (!jsonSchema) return\n\n const existingSchemas = monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || []\n const modelUri = monaco.Uri.parse(jsonSchema.uri)\n\n const model = monaco.editor.createModel(JSON.stringify(value, null, 2), 'json', modelUri)\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\n enableSchemaRequest: true,\n schemas: [...existingSchemas, jsonSchema],\n validate: true,\n })\n\n editor.setModel(model)\n },\n [jsonSchema, value],\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 <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n onChange={handleChange}\n onMount={handleMount}\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","jsonSchema","label","labelProps","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","width","stringValue","setStringValue","jsonError","setJsonError","hasLoadedValue","setHasLoadedValue","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","initialValue","setValue","showError","handleMount","editor","monaco","existingSchemas","languages","json","jsonDefaults","diagnosticsOptions","schemas","modelUri","Uri","parse","uri","model","createModel","JSON","stringify","setDiagnosticsOptions","enableSchemaRequest","setModel","handleChange","val","undefined","e","div","filter","Boolean","join","defaultLanguage","onChange","onMount","JSONField"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
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 { JSONField as JSONFieldType } from 'payload/types'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { FieldDescription } from '../../forms/FieldDescription/index.js'\nimport { FieldError } from '../../forms/FieldError/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\n\nexport type JSONFieldProps = FormFieldBase & {\n editorOptions?: JSONFieldType['admin']['editorOptions']\n jsonSchema?: Record<string, unknown>\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 jsonSchema,\n label,\n labelProps,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\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, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, initialValue, path, setValue, showError, value } =\n useField<string>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const handleMount = useCallback(\n (editor, monaco) => {\n if (!jsonSchema) return\n\n const existingSchemas = monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || []\n const modelUri = monaco.Uri.parse(jsonSchema.uri)\n\n const model = monaco.editor.createModel(JSON.stringify(value, null, 2), 'json', modelUri)\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\n enableSchemaRequest: true,\n schemas: [...existingSchemas, jsonSchema],\n validate: true,\n })\n\n editor.setModel(model)\n },\n [jsonSchema, value],\n )\n\n const handleChange = useCallback(\n (val) => {\n if (disabled) 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 [disabled, setValue, setStringValue],\n )\n\n useEffect(() => {\n if (hasLoadedValue || value === undefined) return\n\n setStringValue(\n value || initialValue ? JSON.stringify(value ? value : initialValue, null, 2) : '',\n )\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 disabled && 'read-only',\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 <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n onChange={handleChange}\n onMount={handleMount}\n options={editorOptions}\n readOnly={disabled}\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","jsonSchema","label","labelProps","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","width","stringValue","setStringValue","jsonError","setJsonError","hasLoadedValue","setHasLoadedValue","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","initialValue","setValue","showError","disabled","handleMount","editor","monaco","existingSchemas","languages","json","jsonDefaults","diagnosticsOptions","schemas","modelUri","Uri","parse","uri","model","createModel","JSON","stringify","setDiagnosticsOptions","enableSchemaRequest","setModel","handleChange","val","undefined","e","div","filter","Boolean","join","defaultLanguage","onChange","onMount","JSONField"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Number/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,eAAe,CAAA;AAInE,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAWvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,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;AAgMD,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,WAAW,IAAI,eAAe,EAAE,MAAM,eAAe,CAAA;AAInE,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAWvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,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;AAmMD,eAAO,MAAM,WAAW,4BAAsC,CAAA"}
@@ -31,11 +31,11 @@ const NumberFieldComponent = (props)=>{
31
31
  required
32
32
  ]);
33
33
  const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps();
34
- const readOnly = readOnlyFromProps || readOnlyFromContext;
35
- const { path, setValue, showError, value } = useField({
34
+ const { formInitializing, formProcessing, path, setValue, showError, value } = useField({
36
35
  path: pathFromContext || pathFromProps || name,
37
36
  validate: memoizedValidate
38
37
  });
38
+ const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing;
39
39
  const handleChange = useCallback((e)=>{
40
40
  const val = parseFloat(e.target.value);
41
41
  let newVal = val;
@@ -53,7 +53,7 @@ const NumberFieldComponent = (props)=>{
53
53
  const [valueToRender, setValueToRender] = useState([]) // Only for hasMany
54
54
  ;
55
55
  const handleHasManyChange = useCallback((selectedOption)=>{
56
- if (!readOnly) {
56
+ if (!disabled) {
57
57
  let newValue;
58
58
  if (!selectedOption) {
59
59
  newValue = [];
@@ -67,7 +67,7 @@ const NumberFieldComponent = (props)=>{
67
67
  setValue(newValue);
68
68
  }
69
69
  }, [
70
- readOnly,
70
+ disabled,
71
71
  setValue
72
72
  ]);
73
73
  // useEffect update valueToRender:
@@ -94,7 +94,7 @@ const NumberFieldComponent = (props)=>{
94
94
  'number',
95
95
  className,
96
96
  showError && 'error',
97
- readOnly && 'read-only',
97
+ disabled && 'read-only',
98
98
  hasMany && 'has-many'
99
99
  ].filter(Boolean).join(' '),
100
100
  style: {
@@ -118,7 +118,7 @@ const NumberFieldComponent = (props)=>{
118
118
  }),
119
119
  hasMany ? /*#__PURE__*/ _jsx(ReactSelect, {
120
120
  className: `field-${path.replace(/\./g, '__')}`,
121
- disabled: readOnly,
121
+ disabled: disabled,
122
122
  filterOption: (_, rawInput)=>{
123
123
  // eslint-disable-next-line no-restricted-globals
124
124
  const isOverHasMany = Array.isArray(value) && value.length >= maxRows;
@@ -148,7 +148,7 @@ const NumberFieldComponent = (props)=>{
148
148
  children: [
149
149
  BeforeInput,
150
150
  /*#__PURE__*/ _jsx("input", {
151
- disabled: readOnly,
151
+ disabled: disabled,
152
152
  id: `field-${path.replace(/\./g, '__')}`,
153
153
  max: max,
154
154
  min: min,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { NumberField as NumberFieldType } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\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 { FieldDescription } from '../../forms/FieldDescription/index.js'\nimport { FieldError } from '../../forms/FieldError/index.js'\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/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 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: readOnlyFromProps,\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, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\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 <div className={`${fieldBaseClass}__wrap`}>\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 </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"names":["getTranslation","isNumber","React","useCallback","useEffect","useState","ReactSelect","FieldDescription","FieldError","FieldLabel","useFieldProps","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","readOnlyFromProps","required","step","style","validate","width","i18n","t","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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 { NumberField as NumberFieldType } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\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 { FieldDescription } from '../../forms/FieldDescription/index.js'\nimport { FieldError } from '../../forms/FieldError/index.js'\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/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 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: readOnlyFromProps,\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, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField<\n number | number[]\n >({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\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 (!disabled) {\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 [disabled, 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 disabled && '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 <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={disabled}\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={disabled}\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 </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"names":["getTranslation","isNumber","React","useCallback","useEffect","useState","ReactSelect","FieldDescription","FieldError","FieldLabel","useFieldProps","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","readOnlyFromProps","required","step","style","validate","width","i18n","t","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","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","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","input","onWheel","blur","type","NumberField"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -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;AAE1E,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAOvD,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,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;AAmED,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;AAE1E,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAOvD,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,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;AA0ED,eAAO,MAAM,QAAQ,8BAA+B,CAAA"}
@@ -7,7 +7,7 @@ import { useField } from '../../forms/useField/index.js';
7
7
  import { withCondition } from '../../forms/withCondition/index.js';
8
8
  import { fieldBaseClass } from '../shared/index.js';
9
9
  const PasswordField = (props)=>{
10
- const { name, CustomError, CustomLabel, autoComplete, className, disabled, errorProps, label, labelProps, path: pathFromProps, required, style, validate, width } = props;
10
+ const { name, CustomError, CustomLabel, autoComplete, className, disabled: disabledFromProps, errorProps, label, labelProps, path: pathFromProps, required, style, validate, width } = props;
11
11
  const memoizedValidate = useCallback((value, options)=>{
12
12
  if (typeof validate === 'function') {
13
13
  return validate(value, {
@@ -19,16 +19,18 @@ const PasswordField = (props)=>{
19
19
  validate,
20
20
  required
21
21
  ]);
22
- const { formProcessing, path, setValue, showError, value } = useField({
22
+ const { formInitializing, formProcessing, path, setValue, showError, value } = useField({
23
23
  path: pathFromProps || name,
24
24
  validate: memoizedValidate
25
25
  });
26
+ const disabled = disabledFromProps || formInitializing || formProcessing;
26
27
  return /*#__PURE__*/ _jsxs("div", {
27
28
  className: [
28
29
  fieldBaseClass,
29
30
  'password',
30
31
  className,
31
- showError && 'error'
32
+ showError && 'error',
33
+ disabled && 'read-only'
32
34
  ].filter(Boolean).join(' '),
33
35
  style: {
34
36
  ...style,
@@ -51,7 +53,7 @@ const PasswordField = (props)=>{
51
53
  }),
52
54
  /*#__PURE__*/ _jsx("input", {
53
55
  autoComplete: autoComplete,
54
- disabled: formProcessing || disabled,
56
+ disabled: disabled,
55
57
  id: `field-${path.replace(/\./g, '__')}`,
56
58
  name: path,
57
59
  onChange: setValue,