@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/forms/useField/index.tsx"],"sourcesContent":["'use client'\nimport { useCallback, useMemo, useRef } from 'react'\n\nimport type { UPDATE } from '../Form/types.js'\nimport type { FieldType, Options } from './types.js'\n\nexport type { FieldType, Options }\n\nimport useThrottledEffect from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useFieldProps } from '../FieldPropsProvider/index.js'\nimport {\n useForm,\n useFormFields,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n} from '../Form/context.js'\n\n/**\n * Get and set the value of a form field.\n *\n * @see https://payloadcms.com/docs/admin/hooks#usefield\n */\nexport const useField = <T,>(options: Options): FieldType<T> => {\n const { disableFormData = false, hasRows, validate } = options\n\n const { path: pathFromContext, permissions, readOnly, schemaPath } = useFieldProps()\n\n // Prioritize passed in path over context path. If the context path should be prioritized (which is the case for top-level useField calls in fields), it should be passed in as the options path.\n const path = options.path || pathFromContext\n\n const submitted = useFormSubmitted()\n const processing = useFormProcessing()\n const { user } = useAuth()\n const { id } = useDocumentInfo()\n const operation = useOperation()\n\n const { dispatchField, field } = useFormFields(([fields, dispatch]) => ({\n dispatchField: dispatch,\n field: (fields && fields?.[path]) || null,\n }))\n\n const { t } = useTranslation()\n const config = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\n const modified = useFormModified()\n\n const filterOptions = field?.filterOptions\n const value = field?.value as T\n const initialValue = field?.initialValue as T\n const valid = typeof field?.valid === 'boolean' ? field.valid : true\n const showError = valid === false && submitted\n\n const prevValid = useRef(valid)\n const prevErrorMessage = useRef(field?.errorMessage)\n\n // Method to return from `useField`, used to\n // update field values from field component(s)\n const setValue = useCallback(\n (e, disableModifyingForm = false) => {\n const val = e && e.target ? e.target.value : e\n\n dispatchField({\n type: 'UPDATE',\n disableFormData: disableFormData || (hasRows && val > 0),\n path,\n value: val,\n })\n\n if (!disableModifyingForm) {\n if (typeof setModified === 'function') {\n // Only update setModified to true if the form is not already set to modified. Otherwise the following could happen:\n // 1. Text field: someone types in it in an unmodified form\n // 2. After setTimeout triggers setModified(true): form is set to modified. Save Button becomes available. Good!\n // 3. Type something in text field\n // 4. Click on save button before setTimeout in useField has finished (so setModified(true) has not been run yet)\n // 5. Form is saved, setModified(false) is set in the Form/index.tsx `submit` function, \"saved successfully\" toast appears\n // 6. setModified(true) inside the timeout is run, form is set to modified again, even though it was already saved and thus set to unmodified. Bad! This should have happened before the form is saved. Now the form should be unmodified and stay that way\n // until a NEW change happens. Due to this, the \"Leave without saving\" modal appears even though it should not when leaving the page fast immediately after saving the document.\n // This is only an issue for forms which have already been set to modified true, as that causes the save button to be enabled. If we prevent this setTimeout to be run\n // for already-modified forms first place (which is unnecessary), we can avoid this issue. As for unmodified forms, this race issue will not happen, because you cannot click the save button faster\n // than the timeout in useField is run. That's because the save button won't even be enabled for clicking until the setTimeout in useField has run.\n // This fixes e2e test flakes, as e2e tests were often so fast that they were saving the form before the timeout in useField has run.\n // Specifically, this fixes the 'should not warn about unsaved changes when navigating to lexical editor with blocks node and then leaving the page after making a change and saving' lexical e2e test.\n if (modified === false) {\n // Update modified state after field value comes back\n // to avoid cursor jump caused by state value / DOM mismatch\n setTimeout(() => {\n setModified(true)\n }, 10)\n }\n }\n }\n },\n [setModified, path, dispatchField, disableFormData, hasRows, modified],\n )\n\n // Store result from hook as ref\n // to prevent unnecessary rerenders\n const result: FieldType<T> = useMemo(\n () => ({\n errorMessage: field?.errorMessage,\n errorPaths: field?.errorPaths || [],\n filterOptions,\n formProcessing: processing,\n formSubmitted: submitted,\n initialValue,\n path,\n permissions,\n readOnly: readOnly || false,\n rows: field?.rows,\n schemaPath,\n setValue,\n showError,\n valid: field?.valid,\n value,\n }),\n [\n field?.errorMessage,\n field?.rows,\n field?.valid,\n field?.errorPaths,\n processing,\n setValue,\n showError,\n submitted,\n value,\n initialValue,\n path,\n schemaPath,\n readOnly,\n permissions,\n filterOptions,\n ],\n )\n\n // Throttle the validate function\n useThrottledEffect(\n () => {\n const validateField = async () => {\n let valueToValidate = value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = getDataByPath(path)\n }\n\n let errorMessage: string | undefined\n let valid: boolean | string = prevValid.current\n\n const isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n config,\n data: getData(),\n operation,\n siblingData: getSiblingData(path),\n t,\n user,\n })\n : true\n\n if (typeof isValid === 'string') {\n valid = false\n errorMessage = isValid\n } else if (typeof isValid === 'boolean') {\n valid = isValid\n errorMessage = undefined\n }\n\n // Only dispatch if the validation result has changed\n // This will prevent unnecessary rerenders\n if (valid !== prevValid.current || errorMessage !== prevErrorMessage.current) {\n prevValid.current = valid\n prevErrorMessage.current = errorMessage\n\n const update: UPDATE = {\n type: 'UPDATE',\n errorMessage,\n path,\n rows: field?.rows,\n valid,\n // validate,\n value,\n }\n\n if (disableFormData || (hasRows ? typeof value === 'number' && value > 0 : false)) {\n update.disableFormData = true\n }\n\n if (typeof dispatchField === 'function') {\n dispatchField(update)\n }\n }\n }\n\n void validateField()\n },\n 150,\n [\n value,\n disableFormData,\n dispatchField,\n getData,\n getSiblingData,\n getDataByPath,\n id,\n operation,\n path,\n user,\n validate,\n field?.rows,\n ],\n )\n\n return result\n}\n"],"names":["useCallback","useMemo","useRef","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useOperation","useTranslation","useFieldProps","useForm","useFormFields","useFormModified","useFormProcessing","useFormSubmitted","useField","options","disableFormData","hasRows","validate","path","pathFromContext","permissions","readOnly","schemaPath","submitted","processing","user","id","operation","dispatchField","field","fields","dispatch","t","config","getData","getDataByPath","getSiblingData","setModified","modified","filterOptions","value","initialValue","valid","showError","prevValid","prevErrorMessage","errorMessage","setValue","e","disableModifyingForm","val","target","type","setTimeout","result","errorPaths","formProcessing","formSubmitted","rows","validateField","valueToValidate","Array","isArray","current","isValid","data","siblingData","undefined","update"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/forms/useField/index.tsx"],"sourcesContent":["'use client'\nimport { useCallback, useMemo, useRef } from 'react'\n\nimport type { UPDATE } from '../Form/types.js'\nimport type { FieldType, Options } from './types.js'\n\nexport type { FieldType, Options }\n\nimport useThrottledEffect from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useFieldProps } from '../FieldPropsProvider/index.js'\nimport {\n useForm,\n useFormFields,\n useFormInitializing,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n} from '../Form/context.js'\n\n/**\n * Get and set the value of a form field.\n *\n * @see https://payloadcms.com/docs/admin/hooks#usefield\n */\nexport const useField = <T,>(options: Options): FieldType<T> => {\n const { disableFormData = false, hasRows, validate } = options\n\n const { path: pathFromContext, permissions, readOnly, schemaPath } = useFieldProps()\n\n // Prioritize passed in path over context path. If the context path should be prioritized (which is the case for top-level useField calls in fields), it should be passed in as the options path.\n const path = options.path || pathFromContext\n\n const submitted = useFormSubmitted()\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n const { user } = useAuth()\n const { id } = useDocumentInfo()\n const operation = useOperation()\n\n const { dispatchField, field } = useFormFields(([fields, dispatch]) => ({\n dispatchField: dispatch,\n field: (fields && fields?.[path]) || null,\n }))\n\n const { t } = useTranslation()\n const config = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\n const modified = useFormModified()\n\n const filterOptions = field?.filterOptions\n const value = field?.value as T\n const initialValue = field?.initialValue as T\n const valid = typeof field?.valid === 'boolean' ? field.valid : true\n const showError = valid === false && submitted\n\n const prevValid = useRef(valid)\n const prevErrorMessage = useRef(field?.errorMessage)\n\n // Method to return from `useField`, used to\n // update field values from field component(s)\n const setValue = useCallback(\n (e, disableModifyingForm = false) => {\n const val = e && e.target ? e.target.value : e\n\n dispatchField({\n type: 'UPDATE',\n disableFormData: disableFormData || (hasRows && val > 0),\n path,\n value: val,\n })\n\n if (!disableModifyingForm) {\n if (typeof setModified === 'function') {\n // Only update setModified to true if the form is not already set to modified. Otherwise the following could happen:\n // 1. Text field: someone types in it in an unmodified form\n // 2. After setTimeout triggers setModified(true): form is set to modified. Save Button becomes available. Good!\n // 3. Type something in text field\n // 4. Click on save button before setTimeout in useField has finished (so setModified(true) has not been run yet)\n // 5. Form is saved, setModified(false) is set in the Form/index.tsx `submit` function, \"saved successfully\" toast appears\n // 6. setModified(true) inside the timeout is run, form is set to modified again, even though it was already saved and thus set to unmodified. Bad! This should have happened before the form is saved. Now the form should be unmodified and stay that way\n // until a NEW change happens. Due to this, the \"Leave without saving\" modal appears even though it should not when leaving the page fast immediately after saving the document.\n // This is only an issue for forms which have already been set to modified true, as that causes the save button to be enabled. If we prevent this setTimeout to be run\n // for already-modified forms first place (which is unnecessary), we can avoid this issue. As for unmodified forms, this race issue will not happen, because you cannot click the save button faster\n // than the timeout in useField is run. That's because the save button won't even be enabled for clicking until the setTimeout in useField has run.\n // This fixes e2e test flakes, as e2e tests were often so fast that they were saving the form before the timeout in useField has run.\n // Specifically, this fixes the 'should not warn about unsaved changes when navigating to lexical editor with blocks node and then leaving the page after making a change and saving' lexical e2e test.\n if (modified === false) {\n // Update modified state after field value comes back\n // to avoid cursor jump caused by state value / DOM mismatch\n setTimeout(() => {\n setModified(true)\n }, 10)\n }\n }\n }\n },\n [setModified, path, dispatchField, disableFormData, hasRows, modified],\n )\n\n // Store result from hook as ref\n // to prevent unnecessary rerenders\n const result: FieldType<T> = useMemo(\n () => ({\n errorMessage: field?.errorMessage,\n errorPaths: field?.errorPaths || [],\n filterOptions,\n formInitializing: initializing,\n formProcessing: processing,\n formSubmitted: submitted,\n initialValue,\n path,\n permissions,\n readOnly: readOnly || false,\n rows: field?.rows,\n schemaPath,\n setValue,\n showError,\n valid: field?.valid,\n value,\n }),\n [\n field?.errorMessage,\n field?.rows,\n field?.valid,\n field?.errorPaths,\n processing,\n setValue,\n showError,\n submitted,\n value,\n initialValue,\n path,\n schemaPath,\n readOnly,\n permissions,\n filterOptions,\n initializing,\n ],\n )\n\n // Throttle the validate function\n useThrottledEffect(\n () => {\n const validateField = async () => {\n let valueToValidate = value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = getDataByPath(path)\n }\n\n let errorMessage: string | undefined\n let valid: boolean | string = prevValid.current\n\n const isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n config,\n data: getData(),\n operation,\n siblingData: getSiblingData(path),\n t,\n user,\n })\n : true\n\n if (typeof isValid === 'string') {\n valid = false\n errorMessage = isValid\n } else if (typeof isValid === 'boolean') {\n valid = isValid\n errorMessage = undefined\n }\n\n // Only dispatch if the validation result has changed\n // This will prevent unnecessary rerenders\n if (valid !== prevValid.current || errorMessage !== prevErrorMessage.current) {\n prevValid.current = valid\n prevErrorMessage.current = errorMessage\n\n const update: UPDATE = {\n type: 'UPDATE',\n errorMessage,\n path,\n rows: field?.rows,\n valid,\n // validate,\n value,\n }\n\n if (disableFormData || (hasRows ? typeof value === 'number' && value > 0 : false)) {\n update.disableFormData = true\n }\n\n if (typeof dispatchField === 'function') {\n dispatchField(update)\n }\n }\n }\n\n void validateField()\n },\n 150,\n [\n value,\n disableFormData,\n dispatchField,\n getData,\n getSiblingData,\n getDataByPath,\n id,\n operation,\n path,\n user,\n validate,\n field?.rows,\n ],\n )\n\n return result\n}\n"],"names":["useCallback","useMemo","useRef","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useOperation","useTranslation","useFieldProps","useForm","useFormFields","useFormInitializing","useFormModified","useFormProcessing","useFormSubmitted","useField","options","disableFormData","hasRows","validate","path","pathFromContext","permissions","readOnly","schemaPath","submitted","processing","initializing","user","id","operation","dispatchField","field","fields","dispatch","t","config","getData","getDataByPath","getSiblingData","setModified","modified","filterOptions","value","initialValue","valid","showError","prevValid","prevErrorMessage","errorMessage","setValue","e","disableModifyingForm","val","target","type","setTimeout","result","errorPaths","formInitializing","formProcessing","formSubmitted","rows","validateField","valueToValidate","Array","isArray","current","isValid","data","siblingData","undefined","update"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,WAAW,EAAEC,OAAO,EAAEC,MAAM,QAAQ,QAAO;AAOpD,OAAOC,wBAAwB,oCAAmC;AAClE,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,aAAa,QAAQ,iCAAgC;AAC9D,SACEC,OAAO,EACPC,aAAa,EACbC,mBAAmB,EACnBC,eAAe,EACfC,iBAAiB,EACjBC,gBAAgB,QACX,qBAAoB;AAE3B;;;;CAIC,GACD,OAAO,MAAMC,WAAW,CAAKC;IAC3B,MAAM,EAAEC,kBAAkB,KAAK,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGH;IAEvD,MAAM,EAAEI,MAAMC,eAAe,EAAEC,WAAW,EAAEC,QAAQ,EAAEC,UAAU,EAAE,GAAGhB;IAErE,iMAAiM;IACjM,MAAMY,OAAOJ,QAAQI,IAAI,IAAIC;IAE7B,MAAMI,YAAYX;IAClB,MAAMY,aAAab;IACnB,MAAMc,eAAehB;IACrB,MAAM,EAAEiB,IAAI,EAAE,GAAGzB;IACjB,MAAM,EAAE0B,EAAE,EAAE,GAAGxB;IACf,MAAMyB,YAAYxB;IAElB,MAAM,EAAEyB,aAAa,EAAEC,KAAK,EAAE,GAAGtB,cAAc,CAAC,CAACuB,QAAQC,SAAS,GAAM,CAAA;YACtEH,eAAeG;YACfF,OAAO,AAACC,UAAUA,QAAQ,CAACb,KAAK,IAAK;QACvC,CAAA;IAEA,MAAM,EAAEe,CAAC,EAAE,GAAG5B;IACd,MAAM6B,SAAShC;IAEf,MAAM,EAAEiC,OAAO,EAAEC,aAAa,EAAEC,cAAc,EAAEC,WAAW,EAAE,GAAG/B;IAChE,MAAMgC,WAAW7B;IAEjB,MAAM8B,gBAAgBV,OAAOU;IAC7B,MAAMC,QAAQX,OAAOW;IACrB,MAAMC,eAAeZ,OAAOY;IAC5B,MAAMC,QAAQ,OAAOb,OAAOa,UAAU,YAAYb,MAAMa,KAAK,GAAG;IAChE,MAAMC,YAAYD,UAAU,SAASpB;IAErC,MAAMsB,YAAY9C,OAAO4C;IACzB,MAAMG,mBAAmB/C,OAAO+B,OAAOiB;IAEvC,4CAA4C;IAC5C,8CAA8C;IAC9C,MAAMC,WAAWnD,YACf,CAACoD,GAAGC,uBAAuB,KAAK;QAC9B,MAAMC,MAAMF,KAAKA,EAAEG,MAAM,GAAGH,EAAEG,MAAM,CAACX,KAAK,GAAGQ;QAE7CpB,cAAc;YACZwB,MAAM;YACNtC,iBAAiBA,mBAAoBC,WAAWmC,MAAM;YACtDjC;YACAuB,OAAOU;QACT;QAEA,IAAI,CAACD,sBAAsB;YACzB,IAAI,OAAOZ,gBAAgB,YAAY;gBACrC,oHAAoH;gBACpH,2DAA2D;gBAC3D,gHAAgH;gBAChH,kCAAkC;gBAClC,iHAAiH;gBACjH,0HAA0H;gBAC1H,2PAA2P;gBAC3P,mLAAmL;gBACnL,sKAAsK;gBACtK,oMAAoM;gBACpM,mJAAmJ;gBACnJ,qIAAqI;gBACrI,uMAAuM;gBACvM,IAAIC,aAAa,OAAO;oBACtB,qDAAqD;oBACrD,4DAA4D;oBAC5De,WAAW;wBACThB,YAAY;oBACd,GAAG;gBACL;YACF;QACF;IACF,GACA;QAACA;QAAapB;QAAMW;QAAed;QAAiBC;QAASuB;KAAS;IAGxE,gCAAgC;IAChC,mCAAmC;IACnC,MAAMgB,SAAuBzD,QAC3B,IAAO,CAAA;YACLiD,cAAcjB,OAAOiB;YACrBS,YAAY1B,OAAO0B,cAAc,EAAE;YACnChB;YACAiB,kBAAkBhC;YAClBiC,gBAAgBlC;YAChBmC,eAAepC;YACfmB;YACAxB;YACAE;YACAC,UAAUA,YAAY;YACtBuC,MAAM9B,OAAO8B;YACbtC;YACA0B;YACAJ;YACAD,OAAOb,OAAOa;YACdF;QACF,CAAA,GACA;QACEX,OAAOiB;QACPjB,OAAO8B;QACP9B,OAAOa;QACPb,OAAO0B;QACPhC;QACAwB;QACAJ;QACArB;QACAkB;QACAC;QACAxB;QACAI;QACAD;QACAD;QACAoB;QACAf;KACD;IAGH,iCAAiC;IACjCzB,mBACE;QACE,MAAM6D,gBAAgB;YACpB,IAAIC,kBAAkBrB;YAEtB,IAAIX,OAAO8B,QAAQG,MAAMC,OAAO,CAAClC,MAAM8B,IAAI,GAAG;gBAC5CE,kBAAkB1B,cAAclB;YAClC;YAEA,IAAI6B;YACJ,IAAIJ,QAA0BE,UAAUoB,OAAO;YAE/C,MAAMC,UACJ,OAAOjD,aAAa,aAChB,MAAMA,SAAS6C,iBAAiB;gBAC9BnC;gBACAO;gBACAiC,MAAMhC;gBACNP;gBACAwC,aAAa/B,eAAenB;gBAC5Be;gBACAP;YACF,KACA;YAEN,IAAI,OAAOwC,YAAY,UAAU;gBAC/BvB,QAAQ;gBACRI,eAAemB;YACjB,OAAO,IAAI,OAAOA,YAAY,WAAW;gBACvCvB,QAAQuB;gBACRnB,eAAesB;YACjB;YAEA,qDAAqD;YACrD,0CAA0C;YAC1C,IAAI1B,UAAUE,UAAUoB,OAAO,IAAIlB,iBAAiBD,iBAAiBmB,OAAO,EAAE;gBAC5EpB,UAAUoB,OAAO,GAAGtB;gBACpBG,iBAAiBmB,OAAO,GAAGlB;gBAE3B,MAAMuB,SAAiB;oBACrBjB,MAAM;oBACNN;oBACA7B;oBACA0C,MAAM9B,OAAO8B;oBACbjB;oBACA,YAAY;oBACZF;gBACF;gBAEA,IAAI1B,mBAAoBC,CAAAA,UAAU,OAAOyB,UAAU,YAAYA,QAAQ,IAAI,KAAI,GAAI;oBACjF6B,OAAOvD,eAAe,GAAG;gBAC3B;gBAEA,IAAI,OAAOc,kBAAkB,YAAY;oBACvCA,cAAcyC;gBAChB;YACF;QACF;QAEA,KAAKT;IACP,GACA,KACA;QACEpB;QACA1B;QACAc;QACAM;QACAE;QACAD;QACAT;QACAC;QACAV;QACAQ;QACAT;QACAa,OAAO8B;KACR;IAGH,OAAOL;AACT,EAAC"}
@@ -12,6 +12,7 @@ export type FieldType<T> = {
12
12
  errorMessage?: string;
13
13
  errorPaths?: string[];
14
14
  filterOptions?: FilterOptionsResult;
15
+ formInitializing: boolean;
15
16
  formProcessing: boolean;
16
17
  formSubmitted: boolean;
17
18
  initialValue?: T;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/useField/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAE/F,MAAM,MAAM,OAAO,GAAG;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;QAEI;IACJ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,cAAc,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,gBAAgB,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAChE,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,CAAC,CAAA;CACT,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/useField/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAE/F,MAAM,MAAM,OAAO,GAAG;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;QAEI;IACJ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,cAAc,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,gBAAgB,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,gBAAgB,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAChE,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,CAAC,CAAA;CACT,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/useField/types.ts"],"sourcesContent":["import type { ClientValidate, FieldPermissions, FilterOptionsResult, Row } from 'payload/types'\n\nexport type Options = {\n disableFormData?: boolean\n hasRows?: boolean\n /**\n * If you do not provide a `path` or a `name`, this hook will look for one using the `useFieldPath` hook.\n **/\n path?: string\n validate?: ClientValidate\n}\n\nexport type FieldType<T> = {\n errorMessage?: string\n errorPaths?: string[]\n filterOptions?: FilterOptionsResult\n formProcessing: boolean\n formSubmitted: boolean\n initialValue?: T\n path: string\n permissions: FieldPermissions\n readOnly?: boolean\n rows?: Row[]\n schemaPath: string\n setValue: (val: unknown, disableModifyingForm?: boolean) => void\n showError: boolean\n valid?: boolean\n value: T\n}\n"],"names":[],"rangeMappings":"","mappings":"AAYA,WAgBC"}
1
+ {"version":3,"sources":["../../../src/forms/useField/types.ts"],"sourcesContent":["import type { ClientValidate, FieldPermissions, FilterOptionsResult, Row } from 'payload/types'\n\nexport type Options = {\n disableFormData?: boolean\n hasRows?: boolean\n /**\n * If you do not provide a `path` or a `name`, this hook will look for one using the `useFieldPath` hook.\n **/\n path?: string\n validate?: ClientValidate\n}\n\nexport type FieldType<T> = {\n errorMessage?: string\n errorPaths?: string[]\n filterOptions?: FilterOptionsResult\n formInitializing: boolean\n formProcessing: boolean\n formSubmitted: boolean\n initialValue?: T\n path: string\n permissions: FieldPermissions\n readOnly?: boolean\n rows?: Row[]\n schemaPath: string\n setValue: (val: unknown, disableModifyingForm?: boolean) => void\n showError: boolean\n valid?: boolean\n value: T\n}\n"],"names":[],"rangeMappings":"","mappings":"AAYA,WAiBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Plus/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAKxB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Plus/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAUxB,CAAA"}
@@ -3,6 +3,7 @@ import React from 'react';
3
3
  export const Plus = ()=>/*#__PURE__*/ _jsxs("svg", {
4
4
  className: "icon icon--plus",
5
5
  viewBox: "0 0 25 25",
6
+ width: "25",
6
7
  xmlns: "http://www.w3.org/2000/svg",
7
8
  children: [
8
9
  /*#__PURE__*/ _jsx("line", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/icons/Plus/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport const Plus: React.FC = () => (\n <svg className=\"icon icon--plus\" viewBox=\"0 0 25 25\" xmlns=\"http://www.w3.org/2000/svg\">\n <line className=\"stroke\" x1=\"12.4589\" x2=\"12.4589\" y1=\"16.9175\" y2=\"8.50115\" />\n <line className=\"stroke\" x1=\"8.05164\" x2=\"16.468\" y1=\"12.594\" y2=\"12.594\" />\n </svg>\n)\n"],"names":["React","Plus","svg","className","viewBox","xmlns","line","x1","x2","y1","y2"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,OAAOA,WAAW,QAAO;AAIzB,OAAO,MAAMC,OAAiB,kBAC5B,MAACC;QAAIC,WAAU;QAAkBC,SAAQ;QAAYC,OAAM;;0BACzD,KAACC;gBAAKH,WAAU;gBAASI,IAAG;gBAAUC,IAAG;gBAAUC,IAAG;gBAAUC,IAAG;;0BACnE,KAACJ;gBAAKH,WAAU;gBAASI,IAAG;gBAAUC,IAAG;gBAASC,IAAG;gBAASC,IAAG;;;OAEpE"}
1
+ {"version":3,"sources":["../../../src/icons/Plus/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport const Plus: React.FC = () => (\n <svg\n className=\"icon icon--plus\"\n viewBox=\"0 0 25 25\"\n width=\"25\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line className=\"stroke\" x1=\"12.4589\" x2=\"12.4589\" y1=\"16.9175\" y2=\"8.50115\" />\n <line className=\"stroke\" x1=\"8.05164\" x2=\"16.468\" y1=\"12.594\" y2=\"12.594\" />\n </svg>\n)\n"],"names":["React","Plus","svg","className","viewBox","width","xmlns","line","x1","x2","y1","y2"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,OAAOA,WAAW,QAAO;AAIzB,OAAO,MAAMC,OAAiB,kBAC5B,MAACC;QACCC,WAAU;QACVC,SAAQ;QACRC,OAAM;QACNC,OAAM;;0BAEN,KAACC;gBAAKJ,WAAU;gBAASK,IAAG;gBAAUC,IAAG;gBAAUC,IAAG;gBAAUC,IAAG;;0BACnE,KAACJ;gBAAKJ,WAAU;gBAASK,IAAG;gBAAUC,IAAG;gBAASC,IAAG;gBAASC,IAAG;;;OAEpE"}
@@ -1,9 +1,6 @@
1
1
  @import '../../scss/styles';
2
2
 
3
3
  .icon--plus {
4
- width: $baseline;
5
- height: $baseline;
6
-
7
4
  .stroke {
8
5
  stroke: var(--theme-elevation-800);
9
6
  stroke-width: $style-stroke-width;
@@ -1 +1 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,KAAK,EAEV,KAAK,EAEL,aAAa,EAGb,eAAe,EAChB,MAAM,eAAe,CAAA;AA0BtB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAEV,QAAQ,EAIT,MAAM,YAAY,CAAA;AAKnB,eAAO,MAAM,SAAS,SAAU;IAC9B,mBAAmB,EAAE,+BAA+B,CAAA;IACpD,MAAM,EAAE,eAAe,CAAA;IACvB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;IAClC,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,aAuuBA,CAAA"}
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,KAAK,EAEV,KAAK,EAEL,aAAa,EAGb,eAAe,EAChB,MAAM,eAAe,CAAA;AA0BtB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAEV,QAAQ,EAIT,MAAM,YAAY,CAAA;AAKnB,eAAO,MAAM,SAAS,SAAU;IAC9B,mBAAmB,EAAE,+BAA+B,CAAA;IACpD,MAAM,EAAE,eAAe,CAAA;IACvB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;IAClC,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,aAwuBA,CAAA"}
@@ -387,6 +387,7 @@ export const mapFields = (args)=>{
387
387
  className: field.admin?.className,
388
388
  disabled: field.admin?.disabled,
389
389
  hasMany: field.hasMany,
390
+ isSortable: field.admin?.isSortable,
390
391
  readOnly: field.admin?.readOnly,
391
392
  relationTo: field.relationTo,
392
393
  required: field.required,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { CustomComponent } from 'payload/config'\nimport type {\n CellComponentProps,\n Field,\n FieldDescriptionProps,\n FieldWithPath,\n LabelProps,\n Option,\n SanitizedConfig,\n} from 'payload/types'\n\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/types'\nimport React, { Fragment } from 'react'\n\nimport type { ArrayFieldProps } from '../../../fields/Array/index.js'\nimport type { BlocksFieldProps } from '../../../fields/Blocks/index.js'\nimport type { CheckboxFieldProps } from '../../../fields/Checkbox/index.js'\nimport type { CodeFieldProps } from '../../../fields/Code/index.js'\nimport type { CollapsibleFieldProps } from '../../../fields/Collapsible/index.js'\nimport type { DateFieldProps } from '../../../fields/DateTime/index.js'\nimport type { EmailFieldProps } from '../../../fields/Email/index.js'\nimport type { GroupFieldProps } from '../../../fields/Group/index.js'\nimport type { JSONFieldProps } from '../../../fields/JSON/index.js'\nimport type { NumberFieldProps } from '../../../fields/Number/index.js'\nimport type { PointFieldProps } from '../../../fields/Point/index.js'\nimport type { RadioFieldProps } from '../../../fields/RadioGroup/index.js'\nimport type { RelationshipFieldProps } from '../../../fields/Relationship/types.js'\nimport type { RichTextFieldProps } from '../../../fields/RichText/index.js'\nimport type { RowFieldProps } from '../../../fields/Row/types.js'\nimport type { SelectFieldProps } from '../../../fields/Select/index.js'\nimport type { TabsFieldProps } from '../../../fields/Tabs/index.js'\nimport type { TextFieldProps } from '../../../fields/Text/types.js'\nimport type { TextareaFieldProps } from '../../../fields/Textarea/types.js'\nimport type { UploadFieldProps } from '../../../fields/Upload/types.js'\nimport type { FormFieldBase } from '../../../fields/shared/index.js'\nimport type { WithServerSidePropsPrePopulated } from './index.js'\nimport type {\n FieldComponentProps,\n FieldMap,\n MappedField,\n MappedTab,\n ReducedBlock,\n} from './types.js'\n\nimport { HiddenInput } from '../../../fields/HiddenInput/index.js'\nimport { FieldDescription } from '../../../forms/FieldDescription/index.js'\n\nexport const mapFields = (args: {\n WithServerSideProps: WithServerSidePropsPrePopulated\n config: SanitizedConfig\n /**\n * If mapFields is used outside of collections, you might not want it to add an id field\n */\n disableAddingID?: boolean\n fieldSchema: FieldWithPath[]\n filter?: (field: Field) => boolean\n i18n: I18nClient\n parentPath?: string\n readOnly?: boolean\n}): FieldMap => {\n const {\n WithServerSideProps,\n config,\n disableAddingID,\n fieldSchema,\n filter,\n i18n,\n i18n: { t },\n parentPath,\n readOnly: readOnlyOverride,\n } = args\n\n const result: FieldMap = fieldSchema.reduce((acc, field): FieldMap => {\n const fieldIsPresentational = fieldIsPresentationalOnly(field)\n let CustomFieldComponent: CustomComponent<FieldComponentProps> = field.admin?.components?.Field\n\n const CustomCellComponent = field.admin?.components?.Cell\n\n const isHidden = field?.admin && 'hidden' in field.admin && field.admin.hidden\n\n if (fieldIsPresentational || (!field?.hidden && field?.admin?.disabled !== true)) {\n if ((filter && typeof filter === 'function' && filter(field)) || !filter) {\n if (isHidden) {\n if (CustomFieldComponent) {\n CustomFieldComponent = HiddenInput\n }\n }\n\n const isFieldAffectingData = fieldAffectsData(field)\n\n const path = `${parentPath ? `${parentPath}.` : ''}${\n field.path || (isFieldAffectingData && 'name' in field ? field.name : '')\n }`\n\n const AfterInput =\n ('admin' in field &&\n 'components' in field.admin &&\n 'afterInput' in field.admin.components &&\n Array.isArray(field.admin?.components?.afterInput) && (\n <Fragment>\n {field.admin.components.afterInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n const BeforeInput =\n ('admin' in field &&\n field.admin?.components &&\n 'beforeInput' in field.admin.components &&\n Array.isArray(field.admin.components.beforeInput) && (\n <Fragment>\n {field.admin.components.beforeInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n let label = undefined\n if ('label' in field) {\n if (typeof field.label === 'string' || typeof field.label === 'object') {\n label = field.label\n } else if (typeof field.label === 'function') {\n label = field.label({ t })\n }\n }\n\n const labelProps: LabelProps = {\n label,\n required: 'required' in field ? field.required : undefined,\n }\n\n const CustomLabelComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Label' in field.admin.components &&\n field.admin.components?.Label) ||\n undefined\n\n // If we return undefined here (so if no CUSTOM label component is set), the field client component is responsible for falling back to the default label\n const CustomLabel =\n CustomLabelComponent !== undefined ? (\n <WithServerSideProps Component={CustomLabelComponent} {...(labelProps || {})} />\n ) : undefined\n\n let description = undefined\n if (field.admin && 'description' in field.admin) {\n if (\n typeof field.admin?.description === 'string' ||\n typeof field.admin?.description === 'object'\n ) {\n description = field.admin.description\n } else if (typeof field.admin?.description === 'function') {\n description = field.admin?.description({ t })\n }\n }\n\n const descriptionProps: FieldDescriptionProps = {\n description,\n }\n\n let CustomDescriptionComponent = undefined\n if (\n field.admin?.components &&\n 'Description' in field.admin.components &&\n field.admin.components?.Description\n ) {\n CustomDescriptionComponent = field.admin.components.Description\n } else if (description) {\n CustomDescriptionComponent = FieldDescription\n }\n\n const CustomDescription =\n CustomDescriptionComponent !== undefined ? (\n <WithServerSideProps\n Component={CustomDescriptionComponent}\n {...(descriptionProps || {})}\n />\n ) : undefined\n\n const errorProps = {\n path,\n }\n\n const CustomErrorComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Error' in field.admin.components &&\n field.admin?.components?.Error) ||\n undefined\n\n const CustomError =\n CustomErrorComponent !== undefined ? (\n <WithServerSideProps Component={CustomErrorComponent} {...(errorProps || {})} />\n ) : undefined\n\n // These fields are shared across all field types even if they are not used in the default field, as the custom field component can use them\n const baseFieldProps: FormFieldBase = {\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n custom: 'admin' in field && 'custom' in field.admin ? field.admin?.custom : undefined,\n descriptionProps,\n disabled: 'admin' in field && 'disabled' in field.admin ? field.admin?.disabled : false,\n errorProps,\n label: labelProps?.label,\n path,\n required: 'required' in field ? field.required : undefined,\n }\n\n let fieldComponentProps: FieldComponentProps\n\n let fieldOptions: Option[]\n\n if ('options' in field) {\n fieldOptions = field.options.map((option) => {\n if (typeof option === 'object' && typeof option.label === 'function') {\n return {\n label: option.label({ t }),\n value: option.value,\n }\n }\n\n return option\n })\n }\n\n const cellComponentProps: CellComponentProps = {\n name: 'name' in field ? field.name : undefined,\n fieldType: field.type,\n isFieldAffectingData,\n label: labelProps?.label || undefined,\n labels: 'labels' in field ? field.labels : undefined,\n options: 'options' in field ? fieldOptions : undefined,\n relationTo: 'relationTo' in field ? field.relationTo : undefined,\n }\n\n switch (field.type) {\n case 'array': {\n let CustomRowLabel: React.ReactNode\n\n if (\n 'admin' in field &&\n field.admin.components &&\n 'RowLabel' in field.admin.components &&\n field.admin.components.RowLabel\n ) {\n const CustomRowLabelComponent = field.admin.components.RowLabel\n CustomRowLabel = (\n <WithServerSideProps Component={CustomRowLabelComponent} {...(labelProps || {})} />\n )\n }\n\n const arrayFieldProps: Omit<ArrayFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n CustomRowLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = arrayFieldProps\n break\n }\n case 'blocks': {\n const blocks = field.blocks.map((block) => {\n const blockFieldMap = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: block.fields,\n filter,\n i18n,\n parentPath: `${path}.${block.slug}`,\n readOnly: readOnlyOverride,\n })\n\n const reducedBlock: ReducedBlock = {\n slug: block.slug,\n custom: block.admin?.custom,\n fieldMap: blockFieldMap,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n labels: block.labels,\n }\n\n return reducedBlock\n })\n\n const blocksField: Omit<BlocksFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n blocks,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = blocksField\n\n cellComponentProps.blocks = field.blocks.map((b) => ({\n slug: b.slug,\n labels: b.labels,\n }))\n\n break\n }\n case 'checkbox': {\n const checkboxField: CheckboxFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = checkboxField\n break\n }\n case 'code': {\n const codeField: CodeFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n language: field.admin?.language,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = codeField\n break\n }\n case 'collapsible': {\n let CustomCollapsibleLabel: React.ReactNode\n if (\n field?.admin?.components &&\n 'RowLabel' in field.admin.components &&\n field?.admin?.components?.RowLabel\n ) {\n const CustomCollapsibleLabelComponent = field.admin.components.RowLabel\n CustomCollapsibleLabel = (\n <WithServerSideProps\n Component={CustomCollapsibleLabelComponent}\n {...(labelProps || {})}\n />\n )\n }\n\n const collapsibleField: Omit<CollapsibleFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n CustomLabel: CustomCollapsibleLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n initCollapsed: field.admin?.initCollapsed,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = collapsibleField as CollapsibleFieldProps // TODO: dunno why this is needed\n break\n }\n case 'date': {\n const dateField: DateFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n date: field.admin?.date,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = dateField\n cellComponentProps.dateDisplayFormat = field.admin?.date?.displayFormat\n break\n }\n case 'email': {\n const emailField: EmailFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = emailField\n break\n }\n case 'group': {\n const groupField: Omit<GroupFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n readOnly: field.admin?.readOnly,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = groupField\n break\n }\n case 'json': {\n const jsonField: JSONFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n jsonSchema: field.jsonSchema,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = jsonField\n break\n }\n case 'number': {\n const numberField: NumberFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n max: field.max,\n maxRows: field.maxRows,\n min: field.min,\n readOnly: field.admin?.readOnly,\n required: field.required,\n step: field.admin?.step,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = numberField\n break\n }\n case 'point': {\n const pointField: PointFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = pointField\n break\n }\n case 'relationship': {\n const relationshipField: RelationshipFieldProps = {\n ...baseFieldProps,\n name: field.name,\n allowCreate: field.admin.allowCreate,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n sortOptions: field.admin.sortOptions,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = relationshipField\n break\n }\n case 'radio': {\n const radioField: RadioFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = radioField\n break\n }\n case 'richText': {\n const richTextField: RichTextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n const RichTextFieldComponent = field.editor.FieldComponent\n const RichTextCellComponent = field.editor.CellComponent\n\n if (typeof field.editor.generateComponentMap === 'function') {\n const result = field.editor.generateComponentMap({\n WithServerSideProps,\n config,\n i18n,\n schemaPath: path,\n })\n richTextField.richTextComponentMap = result\n cellComponentProps.richTextComponentMap = result\n }\n\n if (RichTextFieldComponent) {\n CustomFieldComponent = RichTextFieldComponent\n }\n\n if (RichTextCellComponent) {\n cellComponentProps.CellComponentOverride = (\n <WithServerSideProps Component={RichTextCellComponent} />\n )\n }\n\n fieldComponentProps = richTextField\n\n break\n }\n case 'row': {\n const rowField: Omit<RowFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = rowField\n break\n }\n case 'tabs': {\n // `tabs` fields require a field map of each of its tab's nested fields\n const tabs = field.tabs.map((tab) => {\n const tabFieldMap = mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: tab.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n })\n\n const reducedTab: MappedTab = {\n name: 'name' in tab ? tab.name : undefined,\n fieldMap: tabFieldMap,\n label: tab.label,\n }\n\n return reducedTab\n })\n\n const tabsField: Omit<TabsFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: 'name' in field ? (field.name as string) : undefined,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n tabs,\n width: field.admin?.width,\n }\n\n fieldComponentProps = tabsField\n break\n }\n case 'text': {\n const textField: TextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textField\n break\n }\n case 'textarea': {\n const textareaField: TextareaFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n rows: field.admin?.rows,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textareaField\n break\n }\n case 'ui': {\n fieldComponentProps = baseFieldProps\n break\n }\n case 'upload': {\n const uploadField: UploadFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n filterOptions: field.filterOptions,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = uploadField\n break\n }\n case 'select': {\n const selectField: SelectFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isClearable: field.admin?.isClearable,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = selectField\n break\n }\n default: {\n break\n }\n }\n\n const reducedField: MappedField = {\n name: 'name' in field ? field.name : undefined,\n type: field.type,\n CustomCell: CustomCellComponent ? (\n <WithServerSideProps Component={CustomCellComponent} {...cellComponentProps} />\n ) : undefined,\n CustomField: CustomFieldComponent ? (\n <WithServerSideProps Component={CustomFieldComponent} {...fieldComponentProps} />\n ) : undefined,\n cellComponentProps,\n custom: field?.admin?.custom,\n disableBulkEdit:\n 'admin' in field && 'disableBulkEdit' in field.admin && field.admin.disableBulkEdit,\n disableListColumn:\n 'admin' in field && 'disableListColumn' in field.admin && field.admin.disableListColumn,\n disableListFilter:\n 'admin' in field && 'disableListFilter' in field.admin && field.admin.disableListFilter,\n fieldComponentProps,\n fieldIsPresentational,\n isFieldAffectingData,\n isHidden,\n isSidebar:\n 'admin' in field && 'position' in field.admin && field.admin.position === 'sidebar',\n localized: 'localized' in field ? field.localized : false,\n unique: 'unique' in field ? field.unique : false,\n }\n\n acc.push(reducedField)\n }\n }\n\n return acc\n }, [])\n\n const hasID =\n result.findIndex((f) => 'name' in f && f.isFieldAffectingData && f.name === 'id') > -1\n\n if (!disableAddingID && !hasID) {\n // TODO: For all fields (not just this one) we need to add the name to both .fieldComponentProps.name AND .name. This can probably be improved\n result.push({\n name: 'id',\n type: 'text',\n CustomField: null,\n cellComponentProps: {\n name: 'id',\n },\n disableBulkEdit: true,\n fieldComponentProps: {\n name: 'id',\n label: 'ID',\n },\n fieldIsPresentational: false,\n isFieldAffectingData: true,\n isHidden: true,\n localized: undefined,\n })\n }\n\n return result\n}\n"],"names":["fieldAffectsData","fieldIsPresentationalOnly","React","Fragment","HiddenInput","FieldDescription","mapFields","args","WithServerSideProps","config","disableAddingID","fieldSchema","filter","i18n","t","parentPath","readOnly","readOnlyOverride","result","reduce","acc","field","fieldIsPresentational","CustomFieldComponent","admin","components","Field","CustomCellComponent","Cell","isHidden","hidden","disabled","isFieldAffectingData","path","name","AfterInput","Array","isArray","afterInput","map","Component","i","BeforeInput","beforeInput","label","undefined","labelProps","required","CustomLabelComponent","Label","CustomLabel","description","descriptionProps","CustomDescriptionComponent","Description","CustomDescription","errorProps","CustomErrorComponent","Error","CustomError","baseFieldProps","custom","fieldComponentProps","fieldOptions","options","option","value","cellComponentProps","fieldType","type","labels","relationTo","CustomRowLabel","RowLabel","CustomRowLabelComponent","arrayFieldProps","className","fieldMap","fields","isSortable","maxRows","minRows","style","width","blocks","block","blockFieldMap","slug","reducedBlock","imageAltText","imageURL","blocksField","b","checkboxField","codeField","editorOptions","language","CustomCollapsibleLabel","CustomCollapsibleLabelComponent","collapsibleField","initCollapsed","dateField","date","placeholder","dateDisplayFormat","displayFormat","emailField","groupField","jsonField","jsonSchema","numberField","hasMany","max","min","step","pointField","relationshipField","allowCreate","sortOptions","radioField","richTextField","editor","RichTextFieldComponent","FieldComponent","RichTextCellComponent","CellComponent","generateComponentMap","schemaPath","richTextComponentMap","CellComponentOverride","rowField","tabs","tab","tabFieldMap","reducedTab","tabsField","textField","maxLength","minLength","textareaField","rows","uploadField","filterOptions","selectField","isClearable","reducedField","CustomCell","CustomField","disableBulkEdit","disableListColumn","disableListFilter","isSidebar","position","localized","unique","push","hasID","findIndex","f"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { CustomComponent } from 'payload/config'\nimport type {\n CellComponentProps,\n Field,\n FieldDescriptionProps,\n FieldWithPath,\n LabelProps,\n Option,\n SanitizedConfig,\n} from 'payload/types'\n\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/types'\nimport React, { Fragment } from 'react'\n\nimport type { ArrayFieldProps } from '../../../fields/Array/index.js'\nimport type { BlocksFieldProps } from '../../../fields/Blocks/index.js'\nimport type { CheckboxFieldProps } from '../../../fields/Checkbox/index.js'\nimport type { CodeFieldProps } from '../../../fields/Code/index.js'\nimport type { CollapsibleFieldProps } from '../../../fields/Collapsible/index.js'\nimport type { DateFieldProps } from '../../../fields/DateTime/index.js'\nimport type { EmailFieldProps } from '../../../fields/Email/index.js'\nimport type { GroupFieldProps } from '../../../fields/Group/index.js'\nimport type { JSONFieldProps } from '../../../fields/JSON/index.js'\nimport type { NumberFieldProps } from '../../../fields/Number/index.js'\nimport type { PointFieldProps } from '../../../fields/Point/index.js'\nimport type { RadioFieldProps } from '../../../fields/RadioGroup/index.js'\nimport type { RelationshipFieldProps } from '../../../fields/Relationship/types.js'\nimport type { RichTextFieldProps } from '../../../fields/RichText/index.js'\nimport type { RowFieldProps } from '../../../fields/Row/types.js'\nimport type { SelectFieldProps } from '../../../fields/Select/index.js'\nimport type { TabsFieldProps } from '../../../fields/Tabs/index.js'\nimport type { TextFieldProps } from '../../../fields/Text/types.js'\nimport type { TextareaFieldProps } from '../../../fields/Textarea/types.js'\nimport type { UploadFieldProps } from '../../../fields/Upload/types.js'\nimport type { FormFieldBase } from '../../../fields/shared/index.js'\nimport type { WithServerSidePropsPrePopulated } from './index.js'\nimport type {\n FieldComponentProps,\n FieldMap,\n MappedField,\n MappedTab,\n ReducedBlock,\n} from './types.js'\n\nimport { HiddenInput } from '../../../fields/HiddenInput/index.js'\nimport { FieldDescription } from '../../../forms/FieldDescription/index.js'\n\nexport const mapFields = (args: {\n WithServerSideProps: WithServerSidePropsPrePopulated\n config: SanitizedConfig\n /**\n * If mapFields is used outside of collections, you might not want it to add an id field\n */\n disableAddingID?: boolean\n fieldSchema: FieldWithPath[]\n filter?: (field: Field) => boolean\n i18n: I18nClient\n parentPath?: string\n readOnly?: boolean\n}): FieldMap => {\n const {\n WithServerSideProps,\n config,\n disableAddingID,\n fieldSchema,\n filter,\n i18n,\n i18n: { t },\n parentPath,\n readOnly: readOnlyOverride,\n } = args\n\n const result: FieldMap = fieldSchema.reduce((acc, field): FieldMap => {\n const fieldIsPresentational = fieldIsPresentationalOnly(field)\n let CustomFieldComponent: CustomComponent<FieldComponentProps> = field.admin?.components?.Field\n\n const CustomCellComponent = field.admin?.components?.Cell\n\n const isHidden = field?.admin && 'hidden' in field.admin && field.admin.hidden\n\n if (fieldIsPresentational || (!field?.hidden && field?.admin?.disabled !== true)) {\n if ((filter && typeof filter === 'function' && filter(field)) || !filter) {\n if (isHidden) {\n if (CustomFieldComponent) {\n CustomFieldComponent = HiddenInput\n }\n }\n\n const isFieldAffectingData = fieldAffectsData(field)\n\n const path = `${parentPath ? `${parentPath}.` : ''}${\n field.path || (isFieldAffectingData && 'name' in field ? field.name : '')\n }`\n\n const AfterInput =\n ('admin' in field &&\n 'components' in field.admin &&\n 'afterInput' in field.admin.components &&\n Array.isArray(field.admin?.components?.afterInput) && (\n <Fragment>\n {field.admin.components.afterInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n const BeforeInput =\n ('admin' in field &&\n field.admin?.components &&\n 'beforeInput' in field.admin.components &&\n Array.isArray(field.admin.components.beforeInput) && (\n <Fragment>\n {field.admin.components.beforeInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n let label = undefined\n if ('label' in field) {\n if (typeof field.label === 'string' || typeof field.label === 'object') {\n label = field.label\n } else if (typeof field.label === 'function') {\n label = field.label({ t })\n }\n }\n\n const labelProps: LabelProps = {\n label,\n required: 'required' in field ? field.required : undefined,\n }\n\n const CustomLabelComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Label' in field.admin.components &&\n field.admin.components?.Label) ||\n undefined\n\n // If we return undefined here (so if no CUSTOM label component is set), the field client component is responsible for falling back to the default label\n const CustomLabel =\n CustomLabelComponent !== undefined ? (\n <WithServerSideProps Component={CustomLabelComponent} {...(labelProps || {})} />\n ) : undefined\n\n let description = undefined\n if (field.admin && 'description' in field.admin) {\n if (\n typeof field.admin?.description === 'string' ||\n typeof field.admin?.description === 'object'\n ) {\n description = field.admin.description\n } else if (typeof field.admin?.description === 'function') {\n description = field.admin?.description({ t })\n }\n }\n\n const descriptionProps: FieldDescriptionProps = {\n description,\n }\n\n let CustomDescriptionComponent = undefined\n if (\n field.admin?.components &&\n 'Description' in field.admin.components &&\n field.admin.components?.Description\n ) {\n CustomDescriptionComponent = field.admin.components.Description\n } else if (description) {\n CustomDescriptionComponent = FieldDescription\n }\n\n const CustomDescription =\n CustomDescriptionComponent !== undefined ? (\n <WithServerSideProps\n Component={CustomDescriptionComponent}\n {...(descriptionProps || {})}\n />\n ) : undefined\n\n const errorProps = {\n path,\n }\n\n const CustomErrorComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Error' in field.admin.components &&\n field.admin?.components?.Error) ||\n undefined\n\n const CustomError =\n CustomErrorComponent !== undefined ? (\n <WithServerSideProps Component={CustomErrorComponent} {...(errorProps || {})} />\n ) : undefined\n\n // These fields are shared across all field types even if they are not used in the default field, as the custom field component can use them\n const baseFieldProps: FormFieldBase = {\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n custom: 'admin' in field && 'custom' in field.admin ? field.admin?.custom : undefined,\n descriptionProps,\n disabled: 'admin' in field && 'disabled' in field.admin ? field.admin?.disabled : false,\n errorProps,\n label: labelProps?.label,\n path,\n required: 'required' in field ? field.required : undefined,\n }\n\n let fieldComponentProps: FieldComponentProps\n\n let fieldOptions: Option[]\n\n if ('options' in field) {\n fieldOptions = field.options.map((option) => {\n if (typeof option === 'object' && typeof option.label === 'function') {\n return {\n label: option.label({ t }),\n value: option.value,\n }\n }\n\n return option\n })\n }\n\n const cellComponentProps: CellComponentProps = {\n name: 'name' in field ? field.name : undefined,\n fieldType: field.type,\n isFieldAffectingData,\n label: labelProps?.label || undefined,\n labels: 'labels' in field ? field.labels : undefined,\n options: 'options' in field ? fieldOptions : undefined,\n relationTo: 'relationTo' in field ? field.relationTo : undefined,\n }\n\n switch (field.type) {\n case 'array': {\n let CustomRowLabel: React.ReactNode\n\n if (\n 'admin' in field &&\n field.admin.components &&\n 'RowLabel' in field.admin.components &&\n field.admin.components.RowLabel\n ) {\n const CustomRowLabelComponent = field.admin.components.RowLabel\n CustomRowLabel = (\n <WithServerSideProps Component={CustomRowLabelComponent} {...(labelProps || {})} />\n )\n }\n\n const arrayFieldProps: Omit<ArrayFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n CustomRowLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = arrayFieldProps\n break\n }\n case 'blocks': {\n const blocks = field.blocks.map((block) => {\n const blockFieldMap = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: block.fields,\n filter,\n i18n,\n parentPath: `${path}.${block.slug}`,\n readOnly: readOnlyOverride,\n })\n\n const reducedBlock: ReducedBlock = {\n slug: block.slug,\n custom: block.admin?.custom,\n fieldMap: blockFieldMap,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n labels: block.labels,\n }\n\n return reducedBlock\n })\n\n const blocksField: Omit<BlocksFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n blocks,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = blocksField\n\n cellComponentProps.blocks = field.blocks.map((b) => ({\n slug: b.slug,\n labels: b.labels,\n }))\n\n break\n }\n case 'checkbox': {\n const checkboxField: CheckboxFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = checkboxField\n break\n }\n case 'code': {\n const codeField: CodeFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n language: field.admin?.language,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = codeField\n break\n }\n case 'collapsible': {\n let CustomCollapsibleLabel: React.ReactNode\n if (\n field?.admin?.components &&\n 'RowLabel' in field.admin.components &&\n field?.admin?.components?.RowLabel\n ) {\n const CustomCollapsibleLabelComponent = field.admin.components.RowLabel\n CustomCollapsibleLabel = (\n <WithServerSideProps\n Component={CustomCollapsibleLabelComponent}\n {...(labelProps || {})}\n />\n )\n }\n\n const collapsibleField: Omit<CollapsibleFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n CustomLabel: CustomCollapsibleLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n initCollapsed: field.admin?.initCollapsed,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = collapsibleField as CollapsibleFieldProps // TODO: dunno why this is needed\n break\n }\n case 'date': {\n const dateField: DateFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n date: field.admin?.date,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = dateField\n cellComponentProps.dateDisplayFormat = field.admin?.date?.displayFormat\n break\n }\n case 'email': {\n const emailField: EmailFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = emailField\n break\n }\n case 'group': {\n const groupField: Omit<GroupFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n readOnly: field.admin?.readOnly,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = groupField\n break\n }\n case 'json': {\n const jsonField: JSONFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n jsonSchema: field.jsonSchema,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = jsonField\n break\n }\n case 'number': {\n const numberField: NumberFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n max: field.max,\n maxRows: field.maxRows,\n min: field.min,\n readOnly: field.admin?.readOnly,\n required: field.required,\n step: field.admin?.step,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = numberField\n break\n }\n case 'point': {\n const pointField: PointFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = pointField\n break\n }\n case 'relationship': {\n const relationshipField: RelationshipFieldProps = {\n ...baseFieldProps,\n name: field.name,\n allowCreate: field.admin.allowCreate,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isSortable: field.admin?.isSortable,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n sortOptions: field.admin.sortOptions,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = relationshipField\n break\n }\n case 'radio': {\n const radioField: RadioFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = radioField\n break\n }\n case 'richText': {\n const richTextField: RichTextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n const RichTextFieldComponent = field.editor.FieldComponent\n const RichTextCellComponent = field.editor.CellComponent\n\n if (typeof field.editor.generateComponentMap === 'function') {\n const result = field.editor.generateComponentMap({\n WithServerSideProps,\n config,\n i18n,\n schemaPath: path,\n })\n richTextField.richTextComponentMap = result\n cellComponentProps.richTextComponentMap = result\n }\n\n if (RichTextFieldComponent) {\n CustomFieldComponent = RichTextFieldComponent\n }\n\n if (RichTextCellComponent) {\n cellComponentProps.CellComponentOverride = (\n <WithServerSideProps Component={RichTextCellComponent} />\n )\n }\n\n fieldComponentProps = richTextField\n\n break\n }\n case 'row': {\n const rowField: Omit<RowFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = rowField\n break\n }\n case 'tabs': {\n // `tabs` fields require a field map of each of its tab's nested fields\n const tabs = field.tabs.map((tab) => {\n const tabFieldMap = mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: tab.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n })\n\n const reducedTab: MappedTab = {\n name: 'name' in tab ? tab.name : undefined,\n fieldMap: tabFieldMap,\n label: tab.label,\n }\n\n return reducedTab\n })\n\n const tabsField: Omit<TabsFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: 'name' in field ? (field.name as string) : undefined,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n tabs,\n width: field.admin?.width,\n }\n\n fieldComponentProps = tabsField\n break\n }\n case 'text': {\n const textField: TextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textField\n break\n }\n case 'textarea': {\n const textareaField: TextareaFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n rows: field.admin?.rows,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textareaField\n break\n }\n case 'ui': {\n fieldComponentProps = baseFieldProps\n break\n }\n case 'upload': {\n const uploadField: UploadFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n filterOptions: field.filterOptions,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = uploadField\n break\n }\n case 'select': {\n const selectField: SelectFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isClearable: field.admin?.isClearable,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = selectField\n break\n }\n default: {\n break\n }\n }\n\n const reducedField: MappedField = {\n name: 'name' in field ? field.name : undefined,\n type: field.type,\n CustomCell: CustomCellComponent ? (\n <WithServerSideProps Component={CustomCellComponent} {...cellComponentProps} />\n ) : undefined,\n CustomField: CustomFieldComponent ? (\n <WithServerSideProps Component={CustomFieldComponent} {...fieldComponentProps} />\n ) : undefined,\n cellComponentProps,\n custom: field?.admin?.custom,\n disableBulkEdit:\n 'admin' in field && 'disableBulkEdit' in field.admin && field.admin.disableBulkEdit,\n disableListColumn:\n 'admin' in field && 'disableListColumn' in field.admin && field.admin.disableListColumn,\n disableListFilter:\n 'admin' in field && 'disableListFilter' in field.admin && field.admin.disableListFilter,\n fieldComponentProps,\n fieldIsPresentational,\n isFieldAffectingData,\n isHidden,\n isSidebar:\n 'admin' in field && 'position' in field.admin && field.admin.position === 'sidebar',\n localized: 'localized' in field ? field.localized : false,\n unique: 'unique' in field ? field.unique : false,\n }\n\n acc.push(reducedField)\n }\n }\n\n return acc\n }, [])\n\n const hasID =\n result.findIndex((f) => 'name' in f && f.isFieldAffectingData && f.name === 'id') > -1\n\n if (!disableAddingID && !hasID) {\n // TODO: For all fields (not just this one) we need to add the name to both .fieldComponentProps.name AND .name. This can probably be improved\n result.push({\n name: 'id',\n type: 'text',\n CustomField: null,\n cellComponentProps: {\n name: 'id',\n },\n disableBulkEdit: true,\n fieldComponentProps: {\n name: 'id',\n label: 'ID',\n },\n fieldIsPresentational: false,\n isFieldAffectingData: true,\n isHidden: true,\n localized: undefined,\n })\n }\n\n return result\n}\n"],"names":["fieldAffectsData","fieldIsPresentationalOnly","React","Fragment","HiddenInput","FieldDescription","mapFields","args","WithServerSideProps","config","disableAddingID","fieldSchema","filter","i18n","t","parentPath","readOnly","readOnlyOverride","result","reduce","acc","field","fieldIsPresentational","CustomFieldComponent","admin","components","Field","CustomCellComponent","Cell","isHidden","hidden","disabled","isFieldAffectingData","path","name","AfterInput","Array","isArray","afterInput","map","Component","i","BeforeInput","beforeInput","label","undefined","labelProps","required","CustomLabelComponent","Label","CustomLabel","description","descriptionProps","CustomDescriptionComponent","Description","CustomDescription","errorProps","CustomErrorComponent","Error","CustomError","baseFieldProps","custom","fieldComponentProps","fieldOptions","options","option","value","cellComponentProps","fieldType","type","labels","relationTo","CustomRowLabel","RowLabel","CustomRowLabelComponent","arrayFieldProps","className","fieldMap","fields","isSortable","maxRows","minRows","style","width","blocks","block","blockFieldMap","slug","reducedBlock","imageAltText","imageURL","blocksField","b","checkboxField","codeField","editorOptions","language","CustomCollapsibleLabel","CustomCollapsibleLabelComponent","collapsibleField","initCollapsed","dateField","date","placeholder","dateDisplayFormat","displayFormat","emailField","groupField","jsonField","jsonSchema","numberField","hasMany","max","min","step","pointField","relationshipField","allowCreate","sortOptions","radioField","richTextField","editor","RichTextFieldComponent","FieldComponent","RichTextCellComponent","CellComponent","generateComponentMap","schemaPath","richTextComponentMap","CellComponentOverride","rowField","tabs","tab","tabFieldMap","reducedTab","tabsField","textField","maxLength","minLength","textareaField","rows","uploadField","filterOptions","selectField","isClearable","reducedField","CustomCell","CustomField","disableBulkEdit","disableListColumn","disableListFilter","isSidebar","position","localized","unique","push","hasID","findIndex","f"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAgBxE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AAE7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC,iBAAiB,GAAG;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAgdF,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAexE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AAE7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC,iBAAiB,GAAG;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAkfF,CAAA"}
@@ -3,7 +3,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { notFound } from 'next/navigation.js';
4
4
  import qs from 'qs';
5
5
  import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';
6
- import { LoadingOverlay } from '../../elements/Loading/index.js';
7
6
  import { formatDocTitle } from '../../utilities/formatDocTitle.js';
8
7
  import { getFormState } from '../../utilities/getFormState.js';
9
8
  import { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js';
@@ -17,27 +16,42 @@ import { useTranslation } from '../Translation/index.js';
17
16
  const Context = /*#__PURE__*/ createContext({});
18
17
  export const useDocumentInfo = ()=>useContext(Context);
19
18
  export const DocumentInfoProvider = ({ children, ...props })=>{
20
- const { id, collectionSlug, docPermissions: docPermissionsFromProps, globalSlug, hasPublishPermission: hasPublishPermissionFromProps, hasSavePermission: hasSavePermissionFromProps, onLoadError, onSave: onSaveFromProps } = props;
19
+ const { id, collectionSlug, docPermissions: docPermissionsFromProps, globalSlug, hasPublishPermission: hasPublishPermissionFromProps, hasSavePermission: hasSavePermissionFromProps, initialData: initialDataFromProps, initialState: initialStateFromProps, onLoadError, onSave: onSaveFromProps } = props;
20
+ const { admin: { dateFormat }, collections, globals, routes: { api }, serverURL } = useConfig();
21
+ const collectionConfig = collections.find((c)=>c.slug === collectionSlug);
22
+ const globalConfig = globals.find((g)=>g.slug === globalSlug);
23
+ const docConfig = collectionConfig || globalConfig;
24
+ const { i18n } = useTranslation();
25
+ const [documentTitle, setDocumentTitle] = useState(()=>{
26
+ if (!initialDataFromProps) return '';
27
+ return formatDocTitle({
28
+ collectionConfig,
29
+ data: {
30
+ ...initialDataFromProps,
31
+ id
32
+ },
33
+ dateFormat,
34
+ fallback: id?.toString(),
35
+ globalConfig,
36
+ i18n
37
+ });
38
+ });
21
39
  const [isLoading, setIsLoading] = useState(false);
22
40
  const [isError, setIsError] = useState(false);
23
- const [documentTitle, setDocumentTitle] = useState('');
24
- const [data, setData] = useState();
25
- const [initialState, setInitialState] = useState();
41
+ const [data, setData] = useState(initialDataFromProps);
42
+ const [initialState, setInitialState] = useState(initialStateFromProps);
26
43
  const [publishedDoc, setPublishedDoc] = useState(null);
27
44
  const [versions, setVersions] = useState(null);
28
- const [docPermissions, setDocPermissions] = useState(null);
29
- const [hasSavePermission, setHasSavePermission] = useState(null);
30
- const [hasPublishPermission, setHasPublishPermission] = useState(null);
45
+ const [docPermissions, setDocPermissions] = useState(docPermissionsFromProps);
46
+ const [hasSavePermission, setHasSavePermission] = useState(hasSavePermissionFromProps);
47
+ const [hasPublishPermission, setHasPublishPermission] = useState(hasPublishPermissionFromProps);
48
+ const isInitializing = initialState === undefined || data === undefined;
31
49
  const hasInitializedDocPermissions = useRef(false);
32
50
  const [unpublishedVersions, setUnpublishedVersions] = useState(null);
33
51
  const { getPreference, setPreference } = usePreferences();
34
- const { i18n } = useTranslation();
35
52
  const { permissions } = useAuth();
36
53
  const { code: locale } = useLocale();
37
- const { admin: { dateFormat }, collections, globals, routes: { api }, serverURL } = useConfig();
38
- const collectionConfig = collections.find((c)=>c.slug === collectionSlug);
39
- const globalConfig = globals.find((g)=>g.slug === globalSlug);
40
- const docConfig = collectionConfig || globalConfig;
54
+ const prevLocale = useRef(locale);
41
55
  const versionsConfig = docConfig?.versions;
42
56
  const baseURL = `${serverURL}${api}`;
43
57
  let slug;
@@ -235,8 +249,7 @@ export const DocumentInfoProvider = ({ children, ...props })=>{
235
249
  i18n.language,
236
250
  locale,
237
251
  collectionSlug,
238
- globalSlug,
239
- isEditing
252
+ globalSlug
240
253
  ]);
241
254
  const getDocPreferences = useCallback(()=>{
242
255
  return getPreference(preferencesKey);
@@ -305,38 +318,42 @@ export const DocumentInfoProvider = ({ children, ...props })=>{
305
318
  ]);
306
319
  useEffect(()=>{
307
320
  const abortController = new AbortController();
308
- const getInitialState = async ()=>{
309
- setIsError(false);
310
- setIsLoading(true);
311
- try {
312
- const result = await getFormState({
313
- apiRoute: api,
314
- body: {
315
- id,
316
- collectionSlug,
317
- globalSlug,
318
- locale,
319
- operation,
320
- schemaPath: collectionSlug || globalSlug
321
- },
322
- onError: onLoadError,
323
- serverURL,
324
- signal: abortController.signal
325
- });
326
- setData(reduceFieldsToValues(result, true));
327
- setInitialState(result);
328
- } catch (err) {
329
- if (!abortController.signal.aborted) {
330
- if (typeof onLoadError === 'function') {
331
- void onLoadError();
321
+ const localeChanged = locale !== prevLocale.current;
322
+ if (initialStateFromProps === undefined || initialDataFromProps === undefined || localeChanged) {
323
+ if (localeChanged) prevLocale.current = locale;
324
+ const getInitialState = async ()=>{
325
+ setIsError(false);
326
+ setIsLoading(true);
327
+ try {
328
+ const result = await getFormState({
329
+ apiRoute: api,
330
+ body: {
331
+ id,
332
+ collectionSlug,
333
+ globalSlug,
334
+ locale,
335
+ operation,
336
+ schemaPath: collectionSlug || globalSlug
337
+ },
338
+ onError: onLoadError,
339
+ serverURL,
340
+ signal: abortController.signal
341
+ });
342
+ setData(reduceFieldsToValues(result, true));
343
+ setInitialState(result);
344
+ } catch (err) {
345
+ if (!abortController.signal.aborted) {
346
+ if (typeof onLoadError === 'function') {
347
+ void onLoadError();
348
+ }
349
+ setIsError(true);
350
+ setIsLoading(false);
332
351
  }
333
- setIsError(true);
334
- setIsLoading(false);
335
352
  }
336
- }
337
- setIsLoading(false);
338
- };
339
- void getInitialState();
353
+ setIsLoading(false);
354
+ };
355
+ void getInitialState();
356
+ }
340
357
  return ()=>{
341
358
  abortController.abort();
342
359
  };
@@ -348,7 +365,9 @@ export const DocumentInfoProvider = ({ children, ...props })=>{
348
365
  id,
349
366
  globalSlug,
350
367
  locale,
351
- onLoadError
368
+ onLoadError,
369
+ initialDataFromProps,
370
+ initialStateFromProps
352
371
  ]);
353
372
  useEffect(()=>{
354
373
  void getVersions();
@@ -382,10 +401,6 @@ export const DocumentInfoProvider = ({ children, ...props })=>{
382
401
  const hasPublishPermission = hasPublishPermissionFromProps;
383
402
  if (!docPermissions || hasSavePermission === undefined || hasSavePermission === null || hasPublishPermission === undefined || hasPublishPermission === null) {
384
403
  await getDocPermissions(data);
385
- } else {
386
- setDocPermissions(docPermissions);
387
- setHasSavePermission(hasSavePermission);
388
- setHasPublishPermission(hasPublishPermission);
389
404
  }
390
405
  };
391
406
  if (!hasInitializedDocPermissions.current && data && (collectionSlug || globalSlug)) {
@@ -403,9 +418,6 @@ export const DocumentInfoProvider = ({ children, ...props })=>{
403
418
  data
404
419
  ]);
405
420
  if (isError) notFound();
406
- if (!initialState || isLoading) {
407
- return /*#__PURE__*/ _jsx(LoadingOverlay, {});
408
- }
409
421
  const value = {
410
422
  ...props,
411
423
  docConfig,
@@ -417,6 +429,8 @@ export const DocumentInfoProvider = ({ children, ...props })=>{
417
429
  hasSavePermission,
418
430
  initialData: data,
419
431
  initialState,
432
+ isInitializing,
433
+ isLoading,
420
434
  onSave,
421
435
  publishedDoc,
422
436
  setDocFieldPreferences,