@payloadcms/ui 3.55.0-internal.f8c92b5 → 3.55.0

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 (254) hide show
  1. package/dist/elements/AppHeader/index.scss +1 -0
  2. package/dist/elements/Autosave/index.js +2 -2
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/EditForm/index.js +4 -18
  5. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  6. package/dist/elements/ClipboardAction/index.js +173 -74
  7. package/dist/elements/ClipboardAction/index.js.map +1 -1
  8. package/dist/elements/CodeEditor/CodeEditor.js +155 -67
  9. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  10. package/dist/elements/Collapsible/index.js +15 -7
  11. package/dist/elements/Collapsible/index.js.map +1 -1
  12. package/dist/elements/ConfirmationModal/index.js +44 -8
  13. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  14. package/dist/elements/CopyLocaleData/index.js +97 -89
  15. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  16. package/dist/elements/CopyToClipboard/index.js +22 -2
  17. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  18. package/dist/elements/DefaultListViewTabs/index.d.ts +12 -0
  19. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -0
  20. package/dist/elements/DefaultListViewTabs/index.js +161 -0
  21. package/dist/elements/DefaultListViewTabs/index.js.map +1 -0
  22. package/dist/elements/{ListHeaderTabs → DefaultListViewTabs}/index.scss +1 -1
  23. package/dist/elements/DeleteMany/index.js +83 -47
  24. package/dist/elements/DeleteMany/index.js.map +1 -1
  25. package/dist/elements/DocumentControls/index.js +55 -27
  26. package/dist/elements/DocumentControls/index.js.map +1 -1
  27. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +10 -2
  28. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  29. package/dist/elements/DocumentDrawer/Provider.d.ts +2 -1
  30. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  31. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  32. package/dist/elements/DocumentDrawer/index.js +99 -47
  33. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  34. package/dist/elements/DocumentFields/index.scss +1 -1
  35. package/dist/elements/Drawer/index.js +57 -23
  36. package/dist/elements/Drawer/index.js.map +1 -1
  37. package/dist/elements/DrawerActionHeader/index.js +21 -3
  38. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  39. package/dist/elements/FieldSelect/reduceFieldOptions.js +1 -1
  40. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  41. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +225 -149
  42. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  43. package/dist/elements/FolderView/FolderFileCard/index.js +27 -19
  44. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  45. package/dist/elements/FolderView/MoveDocToFolder/index.js +23 -12
  46. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  47. package/dist/elements/FullscreenModal/index.js +20 -10
  48. package/dist/elements/FullscreenModal/index.js.map +1 -1
  49. package/dist/elements/ListControls/index.d.ts.map +1 -1
  50. package/dist/elements/ListControls/index.js +69 -78
  51. package/dist/elements/ListControls/index.js.map +1 -1
  52. package/dist/elements/ListControls/index.scss +2 -82
  53. package/dist/elements/ListDrawer/index.js +24 -18
  54. package/dist/elements/ListDrawer/index.js.map +1 -1
  55. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +32 -19
  56. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  57. package/dist/elements/ListSelection/index.js +27 -11
  58. package/dist/elements/ListSelection/index.js.map +1 -1
  59. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  60. package/dist/elements/LivePreview/Window/index.js +152 -71
  61. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  62. package/dist/elements/Loading/index.js +11 -2
  63. package/dist/elements/Loading/index.js.map +1 -1
  64. package/dist/elements/LoadingOverlay/index.js +102 -46
  65. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  66. package/dist/elements/Localizer/LocalizerLabel/index.js +36 -23
  67. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  68. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  69. package/dist/elements/PublishButton/index.js +22 -11
  70. package/dist/elements/PublishButton/index.js.map +1 -1
  71. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +139 -41
  72. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  73. package/dist/elements/RenderIfInViewport/index.d.ts +2 -2
  74. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -1
  75. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  76. package/dist/elements/SearchBar/index.d.ts +2 -3
  77. package/dist/elements/SearchBar/index.d.ts.map +1 -1
  78. package/dist/elements/SearchBar/index.js +2 -3
  79. package/dist/elements/SearchBar/index.js.map +1 -1
  80. package/dist/elements/SearchBar/index.scss +56 -7
  81. package/dist/elements/SearchFilter/index.d.ts +2 -33
  82. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  83. package/dist/elements/SearchFilter/index.js +7 -5
  84. package/dist/elements/SearchFilter/index.js.map +1 -1
  85. package/dist/elements/SearchFilter/types.d.ts +33 -0
  86. package/dist/elements/SearchFilter/types.d.ts.map +1 -0
  87. package/dist/elements/SearchFilter/types.js +2 -0
  88. package/dist/elements/SearchFilter/types.js.map +1 -0
  89. package/dist/elements/SelectRow/index.js +40 -39
  90. package/dist/elements/SelectRow/index.js.map +1 -1
  91. package/dist/elements/ShimmerEffect/index.js +12 -20
  92. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  93. package/dist/elements/SortColumn/index.js +30 -21
  94. package/dist/elements/SortColumn/index.js.map +1 -1
  95. package/dist/elements/Status/index.d.ts.map +1 -1
  96. package/dist/elements/Status/index.js +19 -9
  97. package/dist/elements/Status/index.js.map +1 -1
  98. package/dist/elements/Table/DefaultCell/fields/Date/index.js +37 -9
  99. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  100. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +37 -35
  101. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  102. package/dist/elements/Table/DefaultCell/fields/Select/index.js +27 -12
  103. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  104. package/dist/elements/Thumbnail/index.js +75 -35
  105. package/dist/elements/Thumbnail/index.js.map +1 -1
  106. package/dist/elements/ThumbnailCard/index.js +26 -17
  107. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  108. package/dist/elements/Tooltip/index.js +127 -51
  109. package/dist/elements/Tooltip/index.js.map +1 -1
  110. package/dist/elements/Upload/index.js +10 -2
  111. package/dist/elements/Upload/index.js.map +1 -1
  112. package/dist/elements/WhereBuilder/Condition/Select/index.js +44 -31
  113. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  114. package/dist/exports/client/{CodeEditor-O6BWJHD2.js → CodeEditor-URFJPG6I.js} +2 -2
  115. package/dist/exports/client/{DatePicker-F432AIH3.js → DatePicker-NMDEHPWL.js} +2 -2
  116. package/dist/exports/client/{chunk-AZDI6MW4.js → chunk-7RGKTZG2.js} +1 -1
  117. package/dist/exports/client/{chunk-AZDI6MW4.js.map → chunk-7RGKTZG2.js.map} +1 -1
  118. package/dist/exports/client/chunk-KPQQ5IUL.js +26 -0
  119. package/dist/exports/client/{chunk-FXAFULZQ.js.map → chunk-KPQQ5IUL.js.map} +4 -4
  120. package/dist/exports/client/index.d.ts +2 -3
  121. package/dist/exports/client/index.d.ts.map +1 -1
  122. package/dist/exports/client/index.js +24 -24
  123. package/dist/exports/client/index.js.map +4 -4
  124. package/dist/exports/rsc/index.d.ts +1 -0
  125. package/dist/exports/rsc/index.d.ts.map +1 -1
  126. package/dist/exports/rsc/index.js +1 -0
  127. package/dist/exports/rsc/index.js.map +1 -1
  128. package/dist/fields/Array/ArrayRow.d.ts +3 -2
  129. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  130. package/dist/fields/Array/ArrayRow.js +23 -13
  131. package/dist/fields/Array/ArrayRow.js.map +1 -1
  132. package/dist/fields/Array/index.js +477 -273
  133. package/dist/fields/Array/index.js.map +1 -1
  134. package/dist/fields/Blocks/index.d.ts.map +1 -1
  135. package/dist/fields/Blocks/index.js.map +1 -1
  136. package/dist/fields/Checkbox/Input.js +19 -2
  137. package/dist/fields/Checkbox/Input.js.map +1 -1
  138. package/dist/fields/FieldError/index.js +29 -30
  139. package/dist/fields/FieldError/index.js.map +1 -1
  140. package/dist/fields/FieldLabel/index.js +64 -12
  141. package/dist/fields/FieldLabel/index.js.map +1 -1
  142. package/dist/fields/Join/index.js +1 -1
  143. package/dist/fields/Join/index.js.map +1 -1
  144. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +103 -45
  145. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  146. package/dist/fields/Relationship/select-components/SingleValue/index.js +44 -29
  147. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  148. package/dist/fields/Row/index.d.ts +3 -1
  149. package/dist/fields/Row/index.d.ts.map +1 -1
  150. package/dist/fields/Select/Input.js +31 -18
  151. package/dist/fields/Select/Input.js.map +1 -1
  152. package/dist/fields/Tabs/Tab/index.js +11 -2
  153. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  154. package/dist/fields/Tabs/index.d.ts +1 -2
  155. package/dist/fields/Tabs/index.d.ts.map +1 -1
  156. package/dist/fields/Tabs/index.js +225 -185
  157. package/dist/fields/Tabs/index.js.map +1 -1
  158. package/dist/fields/Upload/RelationshipContent/index.js +127 -79
  159. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  160. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  161. package/dist/forms/Form/fieldReducer.js +15 -13
  162. package/dist/forms/Form/fieldReducer.js.map +1 -1
  163. package/dist/forms/Form/types.d.ts +6 -3
  164. package/dist/forms/Form/types.d.ts.map +1 -1
  165. package/dist/forms/Form/types.js.map +1 -1
  166. package/dist/forms/RenderFields/RenderField.js +237 -245
  167. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  168. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  169. package/dist/forms/RenderFields/index.js +1 -1
  170. package/dist/forms/RenderFields/index.js.map +1 -1
  171. package/dist/forms/RenderFields/types.d.ts +10 -2
  172. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  173. package/dist/forms/RenderFields/types.js.map +1 -1
  174. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  175. package/dist/forms/RowLabel/Context/index.js +17 -31
  176. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  177. package/dist/forms/useField/index.d.ts +0 -5
  178. package/dist/forms/useField/index.d.ts.map +1 -1
  179. package/dist/forms/useField/index.js +45 -74
  180. package/dist/forms/useField/index.js.map +1 -1
  181. package/dist/hooks/useIntersect.js +53 -35
  182. package/dist/hooks/useIntersect.js.map +1 -1
  183. package/dist/hooks/usePayloadAPI.js +44 -36
  184. package/dist/hooks/usePayloadAPI.js.map +1 -1
  185. package/dist/providers/Auth/index.d.ts +2 -1
  186. package/dist/providers/Auth/index.d.ts.map +1 -1
  187. package/dist/providers/Auth/index.js +74 -83
  188. package/dist/providers/Auth/index.js.map +1 -1
  189. package/dist/providers/Config/index.d.ts.map +1 -1
  190. package/dist/providers/Config/index.js +6 -3
  191. package/dist/providers/Config/index.js.map +1 -1
  192. package/dist/providers/LivePreview/context.d.ts +0 -2
  193. package/dist/providers/LivePreview/context.d.ts.map +1 -1
  194. package/dist/providers/LivePreview/context.js +0 -1
  195. package/dist/providers/LivePreview/context.js.map +1 -1
  196. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  197. package/dist/providers/LivePreview/index.js +0 -12
  198. package/dist/providers/LivePreview/index.js.map +1 -1
  199. package/dist/providers/ServerFunctions/index.d.ts +1 -1
  200. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  201. package/dist/providers/ServerFunctions/index.js.map +1 -1
  202. package/dist/styles.css +1 -1
  203. package/dist/utilities/buildFormState.d.ts.map +1 -1
  204. package/dist/utilities/buildFormState.js +7 -1
  205. package/dist/utilities/buildFormState.js.map +1 -1
  206. package/dist/utilities/buildTableState.d.ts.map +1 -1
  207. package/dist/utilities/buildTableState.js +12 -4
  208. package/dist/utilities/buildTableState.js.map +1 -1
  209. package/dist/utilities/getClientConfig.d.ts +2 -7
  210. package/dist/utilities/getClientConfig.d.ts.map +1 -1
  211. package/dist/utilities/getClientConfig.js +19 -8
  212. package/dist/utilities/getClientConfig.js.map +1 -1
  213. package/dist/utilities/getColumns.d.ts +10 -0
  214. package/dist/utilities/getColumns.d.ts.map +1 -0
  215. package/dist/utilities/getColumns.js +36 -0
  216. package/dist/utilities/getColumns.js.map +1 -0
  217. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  218. package/dist/utilities/reduceFieldsToOptions.js +16 -1
  219. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  220. package/dist/utilities/renderTable.d.ts +3 -3
  221. package/dist/utilities/renderTable.d.ts.map +1 -1
  222. package/dist/utilities/renderTable.js +2 -11
  223. package/dist/utilities/renderTable.js.map +1 -1
  224. package/dist/utilities/traverseForLocalizedFields.d.ts +3 -0
  225. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -0
  226. package/dist/utilities/traverseForLocalizedFields.js +40 -0
  227. package/dist/utilities/traverseForLocalizedFields.js.map +1 -0
  228. package/dist/views/BrowseByFolder/index.js +56 -38
  229. package/dist/views/BrowseByFolder/index.js.map +1 -1
  230. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  231. package/dist/views/CollectionFolder/index.js +45 -28
  232. package/dist/views/CollectionFolder/index.js.map +1 -1
  233. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  234. package/dist/views/Edit/Auth/index.js +106 -94
  235. package/dist/views/Edit/Auth/index.js.map +1 -1
  236. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  237. package/dist/views/List/ListHeader/index.js +5 -13
  238. package/dist/views/List/ListHeader/index.js.map +1 -1
  239. package/package.json +7 -7
  240. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts +0 -10
  241. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts.map +0 -1
  242. package/dist/elements/ListHeaderTabs/ByFolderPill.js +0 -70
  243. package/dist/elements/ListHeaderTabs/ByFolderPill.js.map +0 -1
  244. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts +0 -9
  245. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts.map +0 -1
  246. package/dist/elements/ListHeaderTabs/DefaultListPill.js +0 -75
  247. package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +0 -1
  248. package/dist/elements/ListHeaderTabs/TrashPill.d.ts +0 -6
  249. package/dist/elements/ListHeaderTabs/TrashPill.d.ts.map +0 -1
  250. package/dist/elements/ListHeaderTabs/TrashPill.js +0 -53
  251. package/dist/elements/ListHeaderTabs/TrashPill.js.map +0 -1
  252. package/dist/exports/client/chunk-FXAFULZQ.js +0 -26
  253. /package/dist/exports/client/{CodeEditor-O6BWJHD2.js.map → CodeEditor-URFJPG6I.js.map} +0 -0
  254. /package/dist/exports/client/{DatePicker-F432AIH3.js.map → DatePicker-NMDEHPWL.js.map} +0 -0
@@ -11,7 +11,7 @@ import { useConfig } from '../../../providers/Config/index.js';
11
11
  import './index.scss';
12
12
  const baseClass = 'upload-relationship-details';
13
13
  export function RelationshipContent(props) {
14
- const $ = _c(11);
14
+ const $ = _c(34);
15
15
  const {
16
16
  id,
17
17
  allowEdit,
@@ -35,42 +35,51 @@ export function RelationshipContent(props) {
35
35
  const {
36
36
  config
37
37
  } = useConfig();
38
- const collectionConfig = "collections" in config ? config.collections.find(collection => collection.slug === collectionSlug) : undefined;
39
- const t1 = src ? id : undefined;
40
- let t2;
41
- if ($[0] !== collectionSlug || $[1] !== t1) {
42
- t2 = {
43
- id: t1,
38
+ let t1;
39
+ if ($[0] !== collectionSlug || $[1] !== config) {
40
+ t1 = "collections" in config ? config.collections.find(collection => collection.slug === collectionSlug) : undefined;
41
+ $[0] = collectionSlug;
42
+ $[1] = config;
43
+ $[2] = t1;
44
+ } else {
45
+ t1 = $[2];
46
+ }
47
+ const collectionConfig = t1;
48
+ const t2 = src ? id : undefined;
49
+ let t3;
50
+ if ($[3] !== collectionSlug || $[4] !== t2) {
51
+ t3 = {
52
+ id: t2,
44
53
  collectionSlug
45
54
  };
46
- $[0] = collectionSlug;
47
- $[1] = t1;
48
- $[2] = t2;
55
+ $[3] = collectionSlug;
56
+ $[4] = t2;
57
+ $[5] = t3;
49
58
  } else {
50
- t2 = $[2];
59
+ t3 = $[5];
51
60
  }
52
- const [DocumentDrawer,, t3] = useDocumentDrawer(t2);
61
+ const [DocumentDrawer,, t4] = useDocumentDrawer(t3);
53
62
  const {
54
63
  openDrawer
55
- } = t3;
56
- let t4;
57
- if ($[3] !== collectionSlug || $[4] !== reloadDoc) {
58
- t4 = async t5 => {
64
+ } = t4;
65
+ let t5;
66
+ if ($[6] !== collectionSlug || $[7] !== reloadDoc) {
67
+ t5 = async t6 => {
59
68
  const {
60
69
  doc
61
- } = t5;
70
+ } = t6;
62
71
  return reloadDoc(doc.id, collectionSlug);
63
72
  };
64
- $[3] = collectionSlug;
65
- $[4] = reloadDoc;
66
- $[5] = t4;
73
+ $[6] = collectionSlug;
74
+ $[7] = reloadDoc;
75
+ $[8] = t5;
67
76
  } else {
68
- t4 = $[5];
77
+ t5 = $[8];
69
78
  }
70
- const onSave = t4;
71
- let t5;
72
- if ($[6] !== x || $[7] !== y) {
73
- t5 = function generateMetaText(mimeType_0, size) {
79
+ const onSave = t5;
80
+ let t6;
81
+ if ($[9] !== x || $[10] !== y) {
82
+ t6 = function generateMetaText(mimeType_0, size) {
74
83
  const sections = [];
75
84
  if (size) {
76
85
  sections.push(formatFilesize(size));
@@ -83,65 +92,104 @@ export function RelationshipContent(props) {
83
92
  }
84
93
  return sections.join(" \u2014 ");
85
94
  };
86
- $[6] = x;
87
- $[7] = y;
88
- $[8] = t5;
95
+ $[9] = x;
96
+ $[10] = y;
97
+ $[11] = t6;
89
98
  } else {
90
- t5 = $[8];
99
+ t6 = $[11];
91
100
  }
92
- const generateMetaText = t5;
101
+ const generateMetaText = t6;
93
102
  const metaText = withMeta ? generateMetaText(mimeType, byteSize) : "";
94
103
  const previewAllowed = displayPreview ?? collectionConfig.upload?.displayPreview ?? true;
95
- let t6;
96
- if ($[9] !== className) {
97
- t6 = [baseClass, className].filter(Boolean);
98
- $[9] = className;
99
- $[10] = t6;
104
+ let t7;
105
+ if ($[12] !== className) {
106
+ t7 = [baseClass, className].filter(Boolean);
107
+ $[12] = className;
108
+ $[13] = t7;
109
+ } else {
110
+ t7 = $[13];
111
+ }
112
+ const t8 = t7.join(" ");
113
+ let t9;
114
+ if ($[14] !== alt || $[15] !== filename || $[16] !== previewAllowed || $[17] !== thumbnailSrc) {
115
+ t9 = previewAllowed && _jsx(ThumbnailComponent, {
116
+ alt,
117
+ className: `${baseClass}__thumbnail`,
118
+ filename,
119
+ fileSrc: thumbnailSrc,
120
+ size: "small"
121
+ });
122
+ $[14] = alt;
123
+ $[15] = filename;
124
+ $[16] = previewAllowed;
125
+ $[17] = thumbnailSrc;
126
+ $[18] = t9;
127
+ } else {
128
+ t9 = $[18];
129
+ }
130
+ let t10;
131
+ if ($[19] !== filename || $[20] !== src) {
132
+ t10 = src ? _jsx("a", {
133
+ href: src,
134
+ target: "_blank",
135
+ children: filename
136
+ }) : filename;
137
+ $[19] = filename;
138
+ $[20] = src;
139
+ $[21] = t10;
140
+ } else {
141
+ t10 = $[21];
142
+ }
143
+ let t11;
144
+ if ($[22] !== DocumentDrawer || $[23] !== allowEdit || $[24] !== allowRemove || $[25] !== metaText || $[26] !== onRemove || $[27] !== onSave || $[28] !== openDrawer || $[29] !== t10 || $[30] !== t8 || $[31] !== t9 || $[32] !== withMeta) {
145
+ t11 = _jsxs("div", {
146
+ className: t8,
147
+ children: [_jsxs("div", {
148
+ className: `${baseClass}__imageAndDetails`,
149
+ children: [t9, _jsxs("div", {
150
+ className: `${baseClass}__details`,
151
+ children: [_jsx("p", {
152
+ className: `${baseClass}__filename`,
153
+ children: t10
154
+ }), withMeta ? _jsx("p", {
155
+ className: `${baseClass}__meta`,
156
+ children: metaText
157
+ }) : null]
158
+ })]
159
+ }), allowEdit !== false || allowRemove !== false ? _jsxs("div", {
160
+ className: `${baseClass}__actions`,
161
+ children: [allowEdit !== false ? _jsx(Button, {
162
+ buttonStyle: "icon-label",
163
+ className: `${baseClass}__edit`,
164
+ icon: "edit",
165
+ iconStyle: "none",
166
+ onClick: openDrawer
167
+ }) : null, allowRemove !== false ? _jsx(Button, {
168
+ buttonStyle: "icon-label",
169
+ className: `${baseClass}__remove`,
170
+ icon: "x",
171
+ iconStyle: "none",
172
+ onClick: () => onRemove()
173
+ }) : null, _jsx(DocumentDrawer, {
174
+ onSave
175
+ })]
176
+ }) : null]
177
+ });
178
+ $[22] = DocumentDrawer;
179
+ $[23] = allowEdit;
180
+ $[24] = allowRemove;
181
+ $[25] = metaText;
182
+ $[26] = onRemove;
183
+ $[27] = onSave;
184
+ $[28] = openDrawer;
185
+ $[29] = t10;
186
+ $[30] = t8;
187
+ $[31] = t9;
188
+ $[32] = withMeta;
189
+ $[33] = t11;
100
190
  } else {
101
- t6 = $[10];
191
+ t11 = $[33];
102
192
  }
103
- return _jsxs("div", {
104
- className: t6.join(" "),
105
- children: [_jsxs("div", {
106
- className: `${baseClass}__imageAndDetails`,
107
- children: [previewAllowed && _jsx(ThumbnailComponent, {
108
- alt,
109
- className: `${baseClass}__thumbnail`,
110
- filename,
111
- fileSrc: thumbnailSrc,
112
- size: "small"
113
- }), _jsxs("div", {
114
- className: `${baseClass}__details`,
115
- children: [_jsx("p", {
116
- className: `${baseClass}__filename`,
117
- children: src ? _jsx("a", {
118
- href: src,
119
- target: "_blank",
120
- children: filename
121
- }) : filename
122
- }), withMeta ? _jsx("p", {
123
- className: `${baseClass}__meta`,
124
- children: metaText
125
- }) : null]
126
- })]
127
- }), allowEdit !== false || allowRemove !== false ? _jsxs("div", {
128
- className: `${baseClass}__actions`,
129
- children: [allowEdit !== false ? _jsx(Button, {
130
- buttonStyle: "icon-label",
131
- className: `${baseClass}__edit`,
132
- icon: "edit",
133
- iconStyle: "none",
134
- onClick: openDrawer
135
- }) : null, allowRemove !== false ? _jsx(Button, {
136
- buttonStyle: "icon-label",
137
- className: `${baseClass}__remove`,
138
- icon: "x",
139
- iconStyle: "none",
140
- onClick: () => onRemove()
141
- }) : null, _jsx(DocumentDrawer, {
142
- onSave
143
- })]
144
- }) : null]
145
- });
193
+ return t11;
146
194
  }
147
195
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","formatFilesize","React","Button","useDocumentDrawer","ThumbnailComponent","useConfig","baseClass","RelationshipContent","props","$","id","allowEdit","allowRemove","alt","byteSize","className","collectionSlug","displayPreview","filename","mimeType","onRemove","reloadDoc","src","thumbnailSrc","withMeta","t0","x","y","undefined","config","collectionConfig","collections","find","collection","slug","t1","t2","DocumentDrawer","t3","openDrawer","t4","t5","doc","onSave","generateMetaText","mimeType_0","size","sections","push","join","metaText","previewAllowed","upload","t6","filter","Boolean","_jsxs","children","_jsx","fileSrc","href","target","buttonStyle","icon","iconStyle","onClick"],"sources":["../../../../src/fields/Upload/RelationshipContent/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithID } from 'payload'\n\nimport { formatFilesize, isImage } from 'payload/shared'\nimport React from 'react'\n\nimport type { ReloadDoc } from '../types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../../elements/DocumentDrawer/index.js'\nimport { ThumbnailComponent } from '../../../elements/Thumbnail/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport './index.scss'\n\nconst baseClass = 'upload-relationship-details'\n\ntype Props = {\n readonly allowEdit?: boolean\n readonly allowRemove?: boolean\n readonly alt: string\n readonly byteSize: number\n readonly className?: string\n readonly collectionSlug: string\n readonly displayPreview?: boolean\n readonly filename: string\n readonly id?: number | string\n readonly mimeType: string\n readonly onRemove: () => void\n readonly reloadDoc: ReloadDoc\n readonly src: string\n readonly thumbnailSrc: string\n readonly withMeta?: boolean\n readonly x?: number\n readonly y?: number\n}\nexport function RelationshipContent(props: Props) {\n const {\n id,\n allowEdit,\n allowRemove,\n alt,\n byteSize,\n className,\n collectionSlug,\n displayPreview,\n filename,\n mimeType,\n onRemove,\n reloadDoc,\n src,\n thumbnailSrc,\n withMeta = true,\n x,\n y,\n } = props\n\n const { config } = useConfig()\n const collectionConfig =\n 'collections' in config\n ? config.collections.find((collection) => collection.slug === collectionSlug)\n : undefined\n\n const [DocumentDrawer, _, { openDrawer }] = useDocumentDrawer({\n id: src ? id : undefined,\n collectionSlug,\n })\n\n const onSave = React.useCallback(\n async ({ doc }: { doc: TypeWithID }) => reloadDoc(doc.id, collectionSlug),\n [reloadDoc, collectionSlug],\n )\n\n function generateMetaText(mimeType: string, size: number): string {\n const sections: string[] = []\n if (size) {\n sections.push(formatFilesize(size))\n }\n\n if (x && y) {\n sections.push(`${x}x${y}`)\n }\n\n if (mimeType) {\n sections.push(mimeType)\n }\n\n return sections.join(' — ')\n }\n\n const metaText = withMeta ? generateMetaText(mimeType, byteSize) : ''\n const previewAllowed = displayPreview ?? collectionConfig.upload?.displayPreview ?? true\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__imageAndDetails`}>\n {previewAllowed && (\n <ThumbnailComponent\n alt={alt}\n className={`${baseClass}__thumbnail`}\n filename={filename}\n fileSrc={thumbnailSrc}\n size=\"small\"\n />\n )}\n <div className={`${baseClass}__details`}>\n <p className={`${baseClass}__filename`}>\n {src ? (\n <a href={src} target=\"_blank\">\n {filename}\n </a>\n ) : (\n filename\n )}\n </p>\n {withMeta ? <p className={`${baseClass}__meta`}>{metaText}</p> : null}\n </div>\n </div>\n\n {allowEdit !== false || allowRemove !== false ? (\n <div className={`${baseClass}__actions`}>\n {allowEdit !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__edit`}\n icon=\"edit\"\n iconStyle=\"none\"\n onClick={openDrawer}\n />\n ) : null}\n {allowRemove !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"none\"\n onClick={() => onRemove()}\n />\n ) : null}\n <DocumentDrawer onSave={onSave} />\n </div>\n ) : null}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","formatFilesize","React","Button","useDocumentDrawer","ThumbnailComponent","useConfig","baseClass","RelationshipContent","props","$","id","allowEdit","allowRemove","alt","byteSize","className","collectionSlug","displayPreview","filename","mimeType","onRemove","reloadDoc","src","thumbnailSrc","withMeta","t0","x","y","undefined","config","t1","collections","find","collection","slug","collectionConfig","t2","t3","DocumentDrawer","t4","openDrawer","t5","t6","doc","onSave","generateMetaText","mimeType_0","size","sections","push","join","metaText","previewAllowed","upload","t7","filter","Boolean","t8","t9","_jsx","fileSrc","t10","href","target","children","t11","_jsxs","buttonStyle","icon","iconStyle","onClick"],"sources":["../../../../src/fields/Upload/RelationshipContent/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithID } from 'payload'\n\nimport { formatFilesize, isImage } from 'payload/shared'\nimport React from 'react'\n\nimport type { ReloadDoc } from '../types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../../elements/DocumentDrawer/index.js'\nimport { ThumbnailComponent } from '../../../elements/Thumbnail/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport './index.scss'\n\nconst baseClass = 'upload-relationship-details'\n\ntype Props = {\n readonly allowEdit?: boolean\n readonly allowRemove?: boolean\n readonly alt: string\n readonly byteSize: number\n readonly className?: string\n readonly collectionSlug: string\n readonly displayPreview?: boolean\n readonly filename: string\n readonly id?: number | string\n readonly mimeType: string\n readonly onRemove: () => void\n readonly reloadDoc: ReloadDoc\n readonly src: string\n readonly thumbnailSrc: string\n readonly withMeta?: boolean\n readonly x?: number\n readonly y?: number\n}\nexport function RelationshipContent(props: Props) {\n const {\n id,\n allowEdit,\n allowRemove,\n alt,\n byteSize,\n className,\n collectionSlug,\n displayPreview,\n filename,\n mimeType,\n onRemove,\n reloadDoc,\n src,\n thumbnailSrc,\n withMeta = true,\n x,\n y,\n } = props\n\n const { config } = useConfig()\n const collectionConfig =\n 'collections' in config\n ? config.collections.find((collection) => collection.slug === collectionSlug)\n : undefined\n\n const [DocumentDrawer, _, { openDrawer }] = useDocumentDrawer({\n id: src ? id : undefined,\n collectionSlug,\n })\n\n const onSave = React.useCallback(\n async ({ doc }: { doc: TypeWithID }) => reloadDoc(doc.id, collectionSlug),\n [reloadDoc, collectionSlug],\n )\n\n function generateMetaText(mimeType: string, size: number): string {\n const sections: string[] = []\n if (size) {\n sections.push(formatFilesize(size))\n }\n\n if (x && y) {\n sections.push(`${x}x${y}`)\n }\n\n if (mimeType) {\n sections.push(mimeType)\n }\n\n return sections.join(' — ')\n }\n\n const metaText = withMeta ? generateMetaText(mimeType, byteSize) : ''\n const previewAllowed = displayPreview ?? collectionConfig.upload?.displayPreview ?? true\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__imageAndDetails`}>\n {previewAllowed && (\n <ThumbnailComponent\n alt={alt}\n className={`${baseClass}__thumbnail`}\n filename={filename}\n fileSrc={thumbnailSrc}\n size=\"small\"\n />\n )}\n <div className={`${baseClass}__details`}>\n <p className={`${baseClass}__filename`}>\n {src ? (\n <a href={src} target=\"_blank\">\n {filename}\n </a>\n ) : (\n filename\n )}\n </p>\n {withMeta ? <p className={`${baseClass}__meta`}>{metaText}</p> : null}\n </div>\n </div>\n\n {allowEdit !== false || allowRemove !== false ? (\n <div className={`${baseClass}__actions`}>\n {allowEdit !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__edit`}\n icon=\"edit\"\n iconStyle=\"none\"\n onClick={openDrawer}\n />\n ) : null}\n {allowRemove !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"none\"\n onClick={() => onRemove()}\n />\n ) : null}\n <DocumentDrawer onSave={onSave} />\n </div>\n ) : null}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"fieldReducer.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/fieldReducer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,SAAS,EAAO,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAO7C;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CAwZ7E"}
1
+ {"version":3,"file":"fieldReducer.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/fieldReducer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,SAAS,EAAO,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAO7C;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CA0Z7E"}
@@ -129,33 +129,35 @@ export function fieldReducer(state, action) {
129
129
  remainingFields,
130
130
  rows
131
131
  } = separateRows(path, state);
132
- const rowsMetadata = [...(state[path].rows || [])];
133
- const duplicateRowMetadata = deepCopyObjectSimpleWithoutReactComponents(rowsMetadata[rowIndex]);
134
- if (duplicateRowMetadata.id) {
135
- duplicateRowMetadata.id = new ObjectId().toHexString();
132
+ const rowsWithDuplicate = [...(state[path].rows || [])];
133
+ const newRow = deepCopyObjectSimpleWithoutReactComponents(rowsWithDuplicate[rowIndex]);
134
+ const newRowID = new ObjectId().toHexString();
135
+ if (newRow.id) {
136
+ newRow.id = newRowID;
136
137
  }
137
- if (rowsMetadata[rowIndex]?.customComponents?.RowLabel) {
138
- duplicateRowMetadata.customComponents = {
139
- RowLabel: rowsMetadata[rowIndex].customComponents.RowLabel
138
+ if (rowsWithDuplicate[rowIndex]?.customComponents?.RowLabel) {
139
+ newRow.customComponents = {
140
+ RowLabel: rowsWithDuplicate[rowIndex].customComponents.RowLabel
140
141
  };
141
142
  }
142
143
  const duplicateRowState = deepCopyObjectSimpleWithoutReactComponents(rows[rowIndex]);
143
144
  if (duplicateRowState.id) {
144
- duplicateRowState.id.value = new ObjectId().toHexString();
145
- duplicateRowState.id.initialValue = new ObjectId().toHexString();
145
+ duplicateRowState.id.value = newRowID;
146
+ duplicateRowState.id.initialValue = newRowID;
146
147
  }
147
148
  for (const key of Object.keys(duplicateRowState).filter(key => key.endsWith('.id'))) {
148
149
  const idState = duplicateRowState[key];
150
+ const newNestedFieldID = new ObjectId().toHexString();
149
151
  if (idState && typeof idState.value === 'string' && ObjectId.isValid(idState.value)) {
150
- duplicateRowState[key].value = new ObjectId().toHexString();
151
- duplicateRowState[key].initialValue = new ObjectId().toHexString();
152
+ duplicateRowState[key].value = newNestedFieldID;
153
+ duplicateRowState[key].initialValue = newNestedFieldID;
152
154
  }
153
155
  }
154
156
  // If there are subfields
155
157
  if (Object.keys(duplicateRowState).length > 0) {
156
158
  // Add new object containing subfield names to unflattenedRows array
157
159
  rows.splice(rowIndex + 1, 0, duplicateRowState);
158
- rowsMetadata.splice(rowIndex + 1, 0, duplicateRowMetadata);
160
+ rowsWithDuplicate.splice(rowIndex + 1, 0, newRow);
159
161
  }
160
162
  const newState = {
161
163
  ...remainingFields,
@@ -163,7 +165,7 @@ export function fieldReducer(state, action) {
163
165
  [path]: {
164
166
  ...state[path],
165
167
  disableFormData: true,
166
- rows: rowsMetadata,
168
+ rows: rowsWithDuplicate,
167
169
  value: rows.length
168
170
  }
169
171
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fieldReducer.js","names":["ObjectIdImport","dequal","deepCopyObjectSimpleWithoutReactComponents","mergeServerFormState","flattenRows","separateRows","ObjectId","default","fieldReducer","state","action","type","blockType","path","rowIndex","rowIndexFromArgs","subFieldState","rows","length","withNewRow","newRow","id","value","toHexString","isLoading","splice","initialValue","valid","remainingFields","siblingRows","newState","passesCondition","disableFormData","errorPaths","errors","forEach","message","fieldPath","errorMessage","segments","split","push","fieldErrorPath","parentPath","slice","join","Object","entries","reduce","acc","fieldState","fieldErrorPaths","errorACC","startsWith","changed","newErrorPaths","Array","isArray","includes","rowsMetadata","duplicateRowMetadata","customComponents","RowLabel","duplicateRowState","key","keys","filter","endsWith","idState","isValid","acceptValues","prevStateRef","serverState","currentState","incomingState","current","moveFromIndex","moveToIndex","topLevelRows","copyOfMovingRow","rowsWithinField","copyOfMovingRow2","rowIndexArg","Math","max","min","undefined","collapsed","optimize","newField","oldField","sanitize","field","values","updatedRows","isModified","formState"],"sources":["../../../src/forms/Form/fieldReducer.ts"],"sourcesContent":["'use client'\nimport type { FormField, FormState, Row } from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { deepCopyObjectSimpleWithoutReactComponents } from 'payload/shared'\n\nimport type { FieldAction } from './types.js'\n\nimport { mergeServerFormState } from './mergeServerFormState.js'\nimport { flattenRows, separateRows } from './rows.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\n/**\n * Reducer which modifies the form field state (all the current data of the fields in the form). When called using dispatch, it will return a new state object.\n */\nexport function fieldReducer(state: FormState, action: FieldAction): FormState {\n switch (action.type) {\n case 'ADD_ROW': {\n const { blockType, path, rowIndex: rowIndexFromArgs, subFieldState = {} } = action\n\n const rowIndex =\n typeof rowIndexFromArgs === 'number' ? rowIndexFromArgs : state[path]?.rows?.length || 0\n\n const withNewRow = [...(state[path]?.rows || [])]\n\n const newRow: Row = {\n id: (subFieldState?.id?.value as string) || new ObjectId().toHexString(),\n isLoading: true,\n }\n\n if (blockType) {\n newRow.blockType = blockType\n }\n\n withNewRow.splice(rowIndex, 0, newRow)\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // add new row to array _field state_\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n\n siblingRows.splice(rowIndex, 0, subFieldState)\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [`${path}.${rowIndex}.id`]: {\n initialValue: newRow.id,\n passesCondition: true,\n valid: true,\n value: newRow.id,\n },\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: withNewRow,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'ADD_SERVER_ERRORS': {\n let newState = { ...state }\n\n const errorPaths: { fieldErrorPath: string; parentPath: string }[] = []\n\n action.errors.forEach(({ message, path: fieldPath }) => {\n newState[fieldPath] = {\n ...(newState[fieldPath] || {\n initialValue: null,\n value: null,\n }),\n errorMessage: message,\n valid: false,\n }\n\n const segments = fieldPath.split('.')\n if (segments.length > 1) {\n errorPaths.push({\n fieldErrorPath: fieldPath,\n parentPath: segments.slice(0, segments.length - 1).join('.'),\n })\n }\n })\n\n newState = Object.entries(newState).reduce((acc, [path, fieldState]) => {\n const fieldErrorPaths = errorPaths.reduce((errorACC, { fieldErrorPath, parentPath }) => {\n if (parentPath.startsWith(path)) {\n errorACC.push(fieldErrorPath)\n }\n return errorACC\n }, [])\n\n let changed = false\n\n if (fieldErrorPaths.length > 0) {\n const newErrorPaths = Array.isArray(fieldState.errorPaths) ? fieldState.errorPaths : []\n\n fieldErrorPaths.forEach((fieldErrorPath) => {\n if (!newErrorPaths.includes(fieldErrorPath)) {\n newErrorPaths.push(fieldErrorPath)\n changed = true\n }\n })\n\n if (changed) {\n acc[path] = {\n ...fieldState,\n errorPaths: newErrorPaths,\n }\n }\n }\n\n if (!changed) {\n acc[path] = fieldState\n }\n\n return acc\n }, {})\n\n return newState\n }\n\n case 'DUPLICATE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path].rows || [])]\n\n const duplicateRowMetadata = deepCopyObjectSimpleWithoutReactComponents(\n rowsMetadata[rowIndex],\n )\n\n if (duplicateRowMetadata.id) {\n duplicateRowMetadata.id = new ObjectId().toHexString()\n }\n\n if (rowsMetadata[rowIndex]?.customComponents?.RowLabel) {\n duplicateRowMetadata.customComponents = {\n RowLabel: rowsMetadata[rowIndex].customComponents.RowLabel,\n }\n }\n\n const duplicateRowState = deepCopyObjectSimpleWithoutReactComponents(rows[rowIndex])\n\n if (duplicateRowState.id) {\n duplicateRowState.id.value = new ObjectId().toHexString()\n duplicateRowState.id.initialValue = new ObjectId().toHexString()\n }\n\n for (const key of Object.keys(duplicateRowState).filter((key) => key.endsWith('.id'))) {\n const idState = duplicateRowState[key]\n\n if (idState && typeof idState.value === 'string' && ObjectId.isValid(idState.value)) {\n duplicateRowState[key].value = new ObjectId().toHexString()\n duplicateRowState[key].initialValue = new ObjectId().toHexString()\n }\n }\n\n // If there are subfields\n if (Object.keys(duplicateRowState).length > 0) {\n // Add new object containing subfield names to unflattenedRows array\n rows.splice(rowIndex + 1, 0, duplicateRowState)\n rowsMetadata.splice(rowIndex + 1, 0, duplicateRowMetadata)\n }\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, rows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: rowsMetadata,\n value: rows.length,\n },\n }\n\n return newState\n }\n\n case 'MERGE_SERVER_STATE': {\n const { acceptValues, prevStateRef, serverState } = action\n\n const newState = mergeServerFormState({\n acceptValues,\n currentState: state || {},\n incomingState: serverState,\n })\n\n prevStateRef.current = newState\n\n return newState\n }\n\n case 'MOVE_ROW': {\n const { moveFromIndex, moveToIndex, path } = action\n\n // Handle moving rows on the top-level, i.e. `array.0.text` -> `array.1.text`\n const { remainingFields, rows: topLevelRows } = separateRows(path, state)\n const copyOfMovingRow = topLevelRows[moveFromIndex]\n topLevelRows.splice(moveFromIndex, 1)\n topLevelRows.splice(moveToIndex, 0, copyOfMovingRow)\n\n // modify array/block internal row state (i.e. collapsed, blockType)\n const rowsWithinField = [...(state[path]?.rows || [])]\n const copyOfMovingRow2 = { ...rowsWithinField[moveFromIndex] }\n rowsWithinField.splice(moveFromIndex, 1)\n rowsWithinField.splice(moveToIndex, 0, copyOfMovingRow2)\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, topLevelRows),\n [path]: {\n ...state[path],\n rows: rowsWithinField,\n },\n }\n\n return newState\n }\n\n case 'REMOVE': {\n const newState = { ...state }\n if (newState[action.path]) {\n delete newState[action.path]\n }\n return newState\n }\n\n case 'REMOVE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path]?.rows || [])]\n\n rows.splice(rowIndex, 1)\n rowsMetadata.splice(rowIndex, 1)\n\n const newState: FormState = {\n ...remainingFields,\n [path]: {\n ...state[path],\n disableFormData: rows.length > 0,\n rows: rowsMetadata,\n value: rows.length,\n },\n ...flattenRows(path, rows),\n }\n\n return newState\n }\n\n case 'REPLACE_ROW': {\n const { blockType, path, rowIndex: rowIndexArg, subFieldState = {} } = action\n\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n const rowIndex = Math.max(0, Math.min(rowIndexArg, siblingRows?.length - 1 || 0))\n\n const rowsMetadata = [...(state[path]?.rows || [])]\n rowsMetadata[rowIndex] = {\n id: new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n }\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // replace form _field state_\n siblingRows[rowIndex] = subFieldState\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: rowsMetadata,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'REPLACE_STATE': {\n if (action.optimize !== false) {\n // Only update fields that have changed\n // by comparing old value / initialValue to new\n // ..\n // This is a performance enhancement for saving\n // large documents with hundreds of fields\n const newState: FormState = {}\n\n for (const [path, newField] of Object.entries(action.state)) {\n const oldField = state[path]\n\n if (newField.valid !== false) {\n newField.valid = true\n }\n if (newField.passesCondition !== false) {\n newField.passesCondition = true\n }\n\n if (!dequal(oldField, newField)) {\n newState[path] = newField\n } else if (oldField) {\n newState[path] = oldField\n }\n }\n\n return newState\n }\n\n // TODO: Remove this in 4.0 - this is a temporary fix to prevent a breaking change\n if (action.sanitize) {\n for (const field of Object.values(action.state)) {\n if (field.valid !== false) {\n field.valid = true\n }\n if (field.passesCondition !== false) {\n field.passesCondition = true\n }\n }\n }\n // If we're not optimizing, just set the state to the new state\n return action.state\n }\n\n case 'SET_ALL_ROWS_COLLAPSED': {\n const { path, updatedRows } = action\n\n return {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n }\n\n case 'SET_ROW_COLLAPSED': {\n const { path, updatedRows } = action\n\n const newState = {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n\n return newState\n }\n\n case 'UPDATE': {\n const newField = Object.entries(action).reduce(\n (field, [key, value]) => {\n if (\n [\n 'disableFormData',\n 'errorMessage',\n 'initialValue',\n 'rows',\n 'valid',\n 'validate',\n 'value',\n ].includes(key)\n ) {\n return {\n ...field,\n [key]: value,\n ...(key === 'value' ? { isModified: true } : {}),\n }\n }\n\n return field\n },\n state?.[action.path] || ({} as FormField),\n )\n\n const newState = {\n ...state,\n [action.path]: newField,\n }\n\n // reset `isModified` in all other fields\n if ('value' in action) {\n for (const [path, field] of Object.entries(newState)) {\n if (path !== action.path && 'isModified' in field) {\n delete newState[path].isModified\n }\n }\n }\n\n return newState\n }\n\n case 'UPDATE_MANY': {\n const newState = { ...state }\n\n Object.entries(action.formState).forEach(([path, field]) => {\n newState[path] = field\n })\n\n return newState\n }\n\n default: {\n return state\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"fieldReducer.js","names":["ObjectIdImport","dequal","deepCopyObjectSimpleWithoutReactComponents","mergeServerFormState","flattenRows","separateRows","ObjectId","default","fieldReducer","state","action","type","blockType","path","rowIndex","rowIndexFromArgs","subFieldState","rows","length","withNewRow","newRow","id","value","toHexString","isLoading","splice","initialValue","valid","remainingFields","siblingRows","newState","passesCondition","disableFormData","errorPaths","errors","forEach","message","fieldPath","errorMessage","segments","split","push","fieldErrorPath","parentPath","slice","join","Object","entries","reduce","acc","fieldState","fieldErrorPaths","errorACC","startsWith","changed","newErrorPaths","Array","isArray","includes","rowsWithDuplicate","newRowID","customComponents","RowLabel","duplicateRowState","key","keys","filter","endsWith","idState","newNestedFieldID","isValid","acceptValues","prevStateRef","serverState","currentState","incomingState","current","moveFromIndex","moveToIndex","topLevelRows","copyOfMovingRow","rowsWithinField","copyOfMovingRow2","rowsMetadata","rowIndexArg","Math","max","min","undefined","collapsed","optimize","newField","oldField","sanitize","field","values","updatedRows","isModified","formState"],"sources":["../../../src/forms/Form/fieldReducer.ts"],"sourcesContent":["'use client'\nimport type { FormField, FormState, Row } from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { deepCopyObjectSimpleWithoutReactComponents } from 'payload/shared'\n\nimport type { FieldAction } from './types.js'\n\nimport { mergeServerFormState } from './mergeServerFormState.js'\nimport { flattenRows, separateRows } from './rows.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\n/**\n * Reducer which modifies the form field state (all the current data of the fields in the form). When called using dispatch, it will return a new state object.\n */\nexport function fieldReducer(state: FormState, action: FieldAction): FormState {\n switch (action.type) {\n case 'ADD_ROW': {\n const { blockType, path, rowIndex: rowIndexFromArgs, subFieldState = {} } = action\n\n const rowIndex =\n typeof rowIndexFromArgs === 'number' ? rowIndexFromArgs : state[path]?.rows?.length || 0\n\n const withNewRow = [...(state[path]?.rows || [])]\n\n const newRow: Row = {\n id: (subFieldState?.id?.value as string) || new ObjectId().toHexString(),\n isLoading: true,\n }\n\n if (blockType) {\n newRow.blockType = blockType\n }\n\n withNewRow.splice(rowIndex, 0, newRow)\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // add new row to array _field state_\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n\n siblingRows.splice(rowIndex, 0, subFieldState)\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [`${path}.${rowIndex}.id`]: {\n initialValue: newRow.id,\n passesCondition: true,\n valid: true,\n value: newRow.id,\n },\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: withNewRow,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'ADD_SERVER_ERRORS': {\n let newState = { ...state }\n\n const errorPaths: { fieldErrorPath: string; parentPath: string }[] = []\n\n action.errors.forEach(({ message, path: fieldPath }) => {\n newState[fieldPath] = {\n ...(newState[fieldPath] || {\n initialValue: null,\n value: null,\n }),\n errorMessage: message,\n valid: false,\n }\n\n const segments = fieldPath.split('.')\n if (segments.length > 1) {\n errorPaths.push({\n fieldErrorPath: fieldPath,\n parentPath: segments.slice(0, segments.length - 1).join('.'),\n })\n }\n })\n\n newState = Object.entries(newState).reduce((acc, [path, fieldState]) => {\n const fieldErrorPaths = errorPaths.reduce((errorACC, { fieldErrorPath, parentPath }) => {\n if (parentPath.startsWith(path)) {\n errorACC.push(fieldErrorPath)\n }\n return errorACC\n }, [])\n\n let changed = false\n\n if (fieldErrorPaths.length > 0) {\n const newErrorPaths = Array.isArray(fieldState.errorPaths) ? fieldState.errorPaths : []\n\n fieldErrorPaths.forEach((fieldErrorPath) => {\n if (!newErrorPaths.includes(fieldErrorPath)) {\n newErrorPaths.push(fieldErrorPath)\n changed = true\n }\n })\n\n if (changed) {\n acc[path] = {\n ...fieldState,\n errorPaths: newErrorPaths,\n }\n }\n }\n\n if (!changed) {\n acc[path] = fieldState\n }\n\n return acc\n }, {})\n\n return newState\n }\n\n case 'DUPLICATE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsWithDuplicate = [...(state[path].rows || [])]\n\n const newRow = deepCopyObjectSimpleWithoutReactComponents(rowsWithDuplicate[rowIndex])\n\n const newRowID = new ObjectId().toHexString()\n\n if (newRow.id) {\n newRow.id = newRowID\n }\n\n if (rowsWithDuplicate[rowIndex]?.customComponents?.RowLabel) {\n newRow.customComponents = {\n RowLabel: rowsWithDuplicate[rowIndex].customComponents.RowLabel,\n }\n }\n\n const duplicateRowState = deepCopyObjectSimpleWithoutReactComponents(rows[rowIndex])\n\n if (duplicateRowState.id) {\n duplicateRowState.id.value = newRowID\n duplicateRowState.id.initialValue = newRowID\n }\n\n for (const key of Object.keys(duplicateRowState).filter((key) => key.endsWith('.id'))) {\n const idState = duplicateRowState[key]\n\n const newNestedFieldID = new ObjectId().toHexString()\n\n if (idState && typeof idState.value === 'string' && ObjectId.isValid(idState.value)) {\n duplicateRowState[key].value = newNestedFieldID\n duplicateRowState[key].initialValue = newNestedFieldID\n }\n }\n\n // If there are subfields\n if (Object.keys(duplicateRowState).length > 0) {\n // Add new object containing subfield names to unflattenedRows array\n rows.splice(rowIndex + 1, 0, duplicateRowState)\n rowsWithDuplicate.splice(rowIndex + 1, 0, newRow)\n }\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, rows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: rowsWithDuplicate,\n value: rows.length,\n },\n }\n\n return newState\n }\n\n case 'MERGE_SERVER_STATE': {\n const { acceptValues, prevStateRef, serverState } = action\n\n const newState = mergeServerFormState({\n acceptValues,\n currentState: state || {},\n incomingState: serverState,\n })\n\n prevStateRef.current = newState\n\n return newState\n }\n\n case 'MOVE_ROW': {\n const { moveFromIndex, moveToIndex, path } = action\n\n // Handle moving rows on the top-level, i.e. `array.0.text` -> `array.1.text`\n const { remainingFields, rows: topLevelRows } = separateRows(path, state)\n const copyOfMovingRow = topLevelRows[moveFromIndex]\n topLevelRows.splice(moveFromIndex, 1)\n topLevelRows.splice(moveToIndex, 0, copyOfMovingRow)\n\n // modify array/block internal row state (i.e. collapsed, blockType)\n const rowsWithinField = [...(state[path]?.rows || [])]\n const copyOfMovingRow2 = { ...rowsWithinField[moveFromIndex] }\n rowsWithinField.splice(moveFromIndex, 1)\n rowsWithinField.splice(moveToIndex, 0, copyOfMovingRow2)\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, topLevelRows),\n [path]: {\n ...state[path],\n rows: rowsWithinField,\n },\n }\n\n return newState\n }\n\n case 'REMOVE': {\n const newState = { ...state }\n if (newState[action.path]) {\n delete newState[action.path]\n }\n return newState\n }\n\n case 'REMOVE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path]?.rows || [])]\n\n rows.splice(rowIndex, 1)\n rowsMetadata.splice(rowIndex, 1)\n\n const newState: FormState = {\n ...remainingFields,\n [path]: {\n ...state[path],\n disableFormData: rows.length > 0,\n rows: rowsMetadata,\n value: rows.length,\n },\n ...flattenRows(path, rows),\n }\n\n return newState\n }\n\n case 'REPLACE_ROW': {\n const { blockType, path, rowIndex: rowIndexArg, subFieldState = {} } = action\n\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n const rowIndex = Math.max(0, Math.min(rowIndexArg, siblingRows?.length - 1 || 0))\n\n const rowsMetadata = [...(state[path]?.rows || [])]\n rowsMetadata[rowIndex] = {\n id: new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n }\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // replace form _field state_\n siblingRows[rowIndex] = subFieldState\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: rowsMetadata,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'REPLACE_STATE': {\n if (action.optimize !== false) {\n // Only update fields that have changed\n // by comparing old value / initialValue to new\n // ..\n // This is a performance enhancement for saving\n // large documents with hundreds of fields\n const newState: FormState = {}\n\n for (const [path, newField] of Object.entries(action.state)) {\n const oldField = state[path]\n\n if (newField.valid !== false) {\n newField.valid = true\n }\n if (newField.passesCondition !== false) {\n newField.passesCondition = true\n }\n\n if (!dequal(oldField, newField)) {\n newState[path] = newField\n } else if (oldField) {\n newState[path] = oldField\n }\n }\n\n return newState\n }\n\n // TODO: Remove this in 4.0 - this is a temporary fix to prevent a breaking change\n if (action.sanitize) {\n for (const field of Object.values(action.state)) {\n if (field.valid !== false) {\n field.valid = true\n }\n if (field.passesCondition !== false) {\n field.passesCondition = true\n }\n }\n }\n // If we're not optimizing, just set the state to the new state\n return action.state\n }\n\n case 'SET_ALL_ROWS_COLLAPSED': {\n const { path, updatedRows } = action\n\n return {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n }\n\n case 'SET_ROW_COLLAPSED': {\n const { path, updatedRows } = action\n\n const newState = {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n\n return newState\n }\n\n case 'UPDATE': {\n const newField = Object.entries(action).reduce(\n (field, [key, value]) => {\n if (\n [\n 'disableFormData',\n 'errorMessage',\n 'initialValue',\n 'rows',\n 'valid',\n 'validate',\n 'value',\n ].includes(key)\n ) {\n return {\n ...field,\n [key]: value,\n ...(key === 'value' ? { isModified: true } : {}),\n }\n }\n\n return field\n },\n state?.[action.path] || ({} as FormField),\n )\n\n const newState = {\n ...state,\n [action.path]: newField,\n }\n\n // reset `isModified` in all other fields\n if ('value' in action) {\n for (const [path, field] of Object.entries(newState)) {\n if (path !== action.path && 'isModified' in field) {\n delete newState[path].isModified\n }\n }\n }\n\n return newState\n }\n\n case 'UPDATE_MANY': {\n const newState = { ...state }\n\n Object.entries(action.formState).forEach(([path, field]) => {\n newState[path] = field\n })\n\n return newState\n }\n\n default: {\n return state\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -70,8 +70,9 @@ export type SubmitOptions<C = Record<string, unknown>> = {
70
70
  acceptValues?: AcceptValues;
71
71
  action?: string;
72
72
  /**
73
- * @experimental - Note: this property is experimental and may change in the future. Use at your own discretion.
74
73
  * If you want to pass additional data to the onSuccess callback, you can use this context object.
74
+ *
75
+ * @experimental This property is experimental and may change in the future.
75
76
  */
76
77
  context?: C;
77
78
  /**
@@ -94,11 +95,13 @@ export type SubmitOptions<C = Record<string, unknown>> = {
94
95
  };
95
96
  export type DispatchFields = React.Dispatch<any>;
96
97
  export type Submit = <T extends Response, C extends Record<string, unknown>>(options?: SubmitOptions<C>, e?: React.FormEvent<HTMLFormElement>) => Promise</**
97
- * @experimental - Note: the `{ res: ... }` return type is experimental and may change in the future. Use at your own discretion.
98
98
  * Returns the form state and the response from the server.
99
- */ /**
99
+ *
100
100
  * @experimental - Note: the `{ res: ... }` return type is experimental and may change in the future. Use at your own discretion.
101
+ */ /**
101
102
  * Returns the form state and the response from the server.
103
+ *
104
+ * @experimental - Note: the `{ res: ... }` return type is experimental and may change in the future. Use at your own discretion.
102
105
  */ {
103
106
  formState?: FormState;
104
107
  res: T;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,IAAI,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EACH,SAAS,EACT,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,MAAM,MAAM,WAAW,GAAG;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CACpE,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE;IACR;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAA;IACX;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,KACE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;AAErC,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,SAAS,CAAA;KAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA;IACzE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,cAAc,CAAC,EAAE,CACf,GAAG,EAAE,QAAQ,EACb,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACrC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAChC,IAAI,CAAA;IACT,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA;IAC1F,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAClD,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mBAAmB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACzC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,GAAG,CACA;IACE,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9C,GACD;IACE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;CAC7C,CACJ,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACvD,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,CAAA;IACX;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,KAAA,KAAK,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/D;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAEhD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,KACjC,OAAO,CAAC;;;;GAIV,CACH,AALa;;;;GAIV,CACH;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,CAAC,CAAA;CAAE,GAAG,IAAI,CAAC,CAAA;AAEzC,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;AAEjD,MAAM,MAAM,cAAc,GAAG,CAC3B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;AACnC;;;GAGG;AACH,OAAO,CAAC,EAAE;IACR;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,KACE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEjC,MAAM,MAAM,SAAS,GAAG,MAAM,SAAS,CAAA;AACvC,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAA;AAClD,MAAM,MAAM,OAAO,GAAG,MAAM,IAAI,CAAA;AAChC,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;AACnD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,CAAA;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;AACrD,MAAM,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;AACvD,MAAM,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;AAEzD,MAAM,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEpD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,SAAS,CAAA;IAChB,IAAI,EAAE,eAAe,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,kBAAkB,CAAA;IACxB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;CACf,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEtB,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,IAAI,EAAE,aAAa,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,YAAY,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IACxC,WAAW,EAAE,SAAS,CAAA;IACtB,IAAI,EAAE,oBAAoB,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,IAAI,EAAE,aAAa,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,eAAe,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,oBAAoB,EAAE,CAAA;IAC9B,IAAI,EAAE,mBAAmB,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,mBAAmB,CAAA;IACzB,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,wBAAwB,CAAA;IAC9B,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,iBAAiB,GACjB,aAAa,GACb,kBAAkB,GAClB,gBAAgB,GAChB,QAAQ,GACR,MAAM,GACN,UAAU,GACV,WAAW,GACX,aAAa,GACb,sBAAsB,GACtB,iBAAiB,GACjB,MAAM,GACN,WAAW,CAAA;AAEf,MAAM,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAA;AAElE,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,EAAE,CAAC,EACZ,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,aAAa,GACd,EAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,MAAM,CAAA;QAClB,aAAa,CAAC,EAAE,SAAS,CAAA;KAC1B,KAAK,IAAI,CAAA;IACV,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IACrC;;OAEG;IACH,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;IACzC,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,aAAa,CAAA;IAC5B,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,EAAE,cAAc,CAAA;IAC9B,YAAY,EAAE,OAAO,CAAA;IACrB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,CAAC,EACb,aAAa,EACb,WAAW,EACX,IAAI,GACL,EAAE;QACD,aAAa,EAAE,MAAM,CAAA;QACrB,WAAW,EAAE,MAAM,CAAA;QACnB,IAAI,EAAE,MAAM,CAAA;KACb,KAAK,IAAI,CAAA;IACV,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAChF,eAAe,EAAE,CAAC,EAChB,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,aAAa,GACd,EAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,MAAM,CAAA;QAChB,UAAU,EAAE,MAAM,CAAA;QAClB,aAAa,CAAC,EAAE,SAAS,CAAA;KAC1B,KAAK,IAAI,CAAA;IACV,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACxC,KAAK,EAAE,KAAK,CAAA;IACZ;;;OAGG;IACH,uBAAuB,EAAE,aAAa,CAAA;IACtC,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IACzC,WAAW,EAAE,WAAW,CAAA;IACxB,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,YAAY,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,YAAY,CAAA;CAC3B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/forms/Form/types.ts"],"sourcesContent":["import type {\n ClientField,\n Data,\n FormField,\n FormState,\n Row,\n TypedUser,\n ValidationFieldError,\n} from 'payload'\nimport type React from 'react'\nimport type { Dispatch } from 'react'\n\nimport type { AcceptValues } from './mergeServerFormState.js'\n\nexport type Preferences = {\n [key: string]: unknown\n}\n\nexport type FormOnSuccess<T = unknown, C = Record<string, unknown>> = (\n json: T,\n options?: {\n /**\n * Arbitrary context passed to the onSuccess callback.\n */\n context?: C\n /**\n * Form state at the time of the request used to retrieve the JSON response.\n */\n formState?: FormState\n },\n) => Promise<FormState | void> | void\n\nexport type FormProps = {\n beforeSubmit?: ((args: { formState: FormState }) => Promise<FormState>)[]\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n disableSuccessStatus?: boolean\n /**\n * If you would like to solely leverage server-side validation on submit,\n * you can disable checks that the form makes before it submits\n */\n disableValidationOnSubmit?: boolean\n /**\n * If you don't want the form to be a <form> element, you can pass a string here to use as the wrapper element.\n */\n el?: string\n /**\n * By default, the form will get the field schema (not data) from the current document. If you pass this in, you can override that behavior.\n * This is very useful for sub-forms, where the form's field schema is not necessarily the field schema of the current document (e.g. for the Blocks\n * feature of the Lexical Rich Text field)\n */\n fields?: ClientField[]\n handleResponse?: (\n res: Response,\n successToast: (value: string) => void,\n errorToast: (value: string) => void,\n ) => void\n initialState?: FormState\n /**\n * Determines if this Form is the main, top-level Form of a document. If set to true, the\n * Form's children will be wrapped in a DocumentFormContext, which lets you access this document\n * Form's data and fields from any child component - even if that child component is wrapped in a child\n * Form (e.g. a lexical block).\n */\n isDocumentForm?: boolean\n isInitializing?: boolean\n log?: boolean\n onChange?: ((args: { formState: FormState; submitted?: boolean }) => Promise<FormState>)[]\n onSubmit?: (fields: FormState, data: Data) => void\n onSuccess?: FormOnSuccess\n redirect?: string\n submitted?: boolean\n uuid?: string\n validationOperation?: 'create' | 'update'\n waitForAutocomplete?: boolean\n} & (\n | {\n action: (formData: FormData) => Promise<void>\n }\n | {\n action?: string\n method?: 'DELETE' | 'GET' | 'PATCH' | 'POST'\n }\n)\n\nexport type SubmitOptions<C = Record<string, unknown>> = {\n acceptValues?: AcceptValues\n action?: string\n /**\n * @experimental - Note: this property is experimental and may change in the future. Use at your own discretion.\n * If you want to pass additional data to the onSuccess callback, you can use this context object.\n */\n context?: C\n /**\n * When true, will disable the form while it is processing.\n * @default true\n */\n disableFormWhileProcessing?: boolean\n /**\n * When true, will disable the success toast after form submission.\n * @default false\n */\n disableSuccessStatus?: boolean\n method?: string\n overrides?: ((formState) => FormData) | Record<string, unknown>\n /**\n * When true, will skip validation before submitting the form.\n * @default false\n */\n skipValidation?: boolean\n}\n\nexport type DispatchFields = React.Dispatch<any>\n\nexport type Submit = <T extends Response, C extends Record<string, unknown>>(\n options?: SubmitOptions<C>,\n e?: React.FormEvent<HTMLFormElement>,\n) => Promise</**\n * @experimental - Note: the `{ res: ... }` return type is experimental and may change in the future. Use at your own discretion.\n * Returns the form state and the response from the server.\n */\n{ formState?: FormState; res: T } | void>\n\nexport type ValidateForm = () => Promise<boolean>\n\nexport type CreateFormData = (\n overrides?: Record<string, unknown>,\n /**\n * If mergeOverrideData true, the data will be merged with the existing data in the form state.\n * @default true\n */\n options?: {\n /**\n * If provided, will use this instead of of derived data from the current form state.\n */\n data?: Data\n mergeOverrideData?: boolean\n },\n) => FormData | Promise<FormData>\n\nexport type GetFields = () => FormState\nexport type GetField = (path: string) => FormField\nexport type GetData = () => Data\nexport type GetSiblingData = (path: string) => Data\nexport type GetDataByPath = <T = unknown>(path: string) => T\nexport type SetModified = (modified: boolean) => void\nexport type SetSubmitted = (submitted: boolean) => void\nexport type SetProcessing = (processing: boolean) => void\n\nexport type Reset = (data: unknown) => Promise<void>\n\nexport type REPLACE_STATE = {\n optimize?: boolean\n /**\n * If `sanitize` is true, default values will be set for form field properties that are not present in the incoming state.\n * For example, `valid` will be set to true if it is not present in the incoming state.\n */\n sanitize?: boolean\n state: FormState\n type: 'REPLACE_STATE'\n}\n\nexport type REMOVE = {\n path: string\n type: 'REMOVE'\n}\n\nexport type MODIFY_CONDITION = {\n path: string\n result: boolean\n type: 'MODIFY_CONDITION'\n user: TypedUser\n}\n\nexport type UPDATE = {\n path: string\n type: 'UPDATE'\n} & Partial<FormField>\n\nexport type UPDATE_MANY = {\n formState: FormState\n type: 'UPDATE_MANY'\n}\n\nexport type REMOVE_ROW = {\n path: string\n rowIndex: number\n type: 'REMOVE_ROW'\n}\n\nexport type ADD_ROW = {\n blockType?: string\n path: string\n rowIndex?: number\n subFieldState?: FormState\n type: 'ADD_ROW'\n}\n\nexport type MERGE_SERVER_STATE = {\n acceptValues?: AcceptValues\n prevStateRef: React.RefObject<FormState>\n serverState: FormState\n type: 'MERGE_SERVER_STATE'\n}\n\nexport type REPLACE_ROW = {\n blockType?: string\n path: string\n rowIndex: number\n subFieldState?: FormState\n type: 'REPLACE_ROW'\n}\n\nexport type DUPLICATE_ROW = {\n path: string\n rowIndex: number\n type: 'DUPLICATE_ROW'\n}\n\nexport type MOVE_ROW = {\n moveFromIndex: number\n moveToIndex: number\n path: string\n type: 'MOVE_ROW'\n}\n\nexport type ADD_SERVER_ERRORS = {\n errors: ValidationFieldError[]\n type: 'ADD_SERVER_ERRORS'\n}\n\nexport type SET_ROW_COLLAPSED = {\n path: string\n type: 'SET_ROW_COLLAPSED'\n updatedRows: Row[]\n}\n\nexport type SET_ALL_ROWS_COLLAPSED = {\n path: string\n type: 'SET_ALL_ROWS_COLLAPSED'\n updatedRows: Row[]\n}\n\nexport type FieldAction =\n | ADD_ROW\n | ADD_SERVER_ERRORS\n | DUPLICATE_ROW\n | MERGE_SERVER_STATE\n | MODIFY_CONDITION\n | MOVE_ROW\n | REMOVE\n | REMOVE_ROW\n | REPLACE_ROW\n | REPLACE_STATE\n | SET_ALL_ROWS_COLLAPSED\n | SET_ROW_COLLAPSED\n | UPDATE\n | UPDATE_MANY\n\nexport type FormFieldsContext = [FormState, Dispatch<FieldAction>]\n\nexport type Context = {\n addFieldRow: ({\n blockType,\n path,\n rowIndex,\n schemaPath,\n subFieldState,\n }: {\n blockType?: string\n path: string\n rowIndex?: number\n schemaPath: string\n subFieldState?: FormState\n }) => void\n buildRowErrors: () => void\n createFormData: CreateFormData\n disabled: boolean\n dispatchFields: Dispatch<FieldAction>\n /**\n * Form context fields may be outdated and should not be relied on. Instead, prefer `useFormFields`.\n */\n fields: FormState\n formRef: React.RefObject<HTMLFormElement>\n getData: GetData\n getDataByPath: GetDataByPath\n getField: GetField\n getFields: GetFields\n getSiblingData: GetSiblingData\n initializing: boolean\n /**\n * Tracks wether the form state passes validation.\n * For example the state could be submitted but invalid as field errors have been returned.\n */\n isValid: boolean\n moveFieldRow: ({\n moveFromIndex,\n moveToIndex,\n path,\n }: {\n moveFromIndex: number\n moveToIndex: number\n path: string\n }) => void\n removeFieldRow: ({ path, rowIndex }: { path: string; rowIndex: number }) => void\n replaceFieldRow: ({\n blockType,\n path,\n rowIndex,\n schemaPath,\n subFieldState,\n }: {\n blockType?: string\n path: string\n rowIndex: number\n schemaPath: string\n subFieldState?: FormState\n }) => void\n replaceState: (state: FormState) => void\n reset: Reset\n /**\n * If the form has started processing in the background (e.g.\n * if autosave is running), this will be true.\n */\n setBackgroundProcessing: SetProcessing\n setDisabled: (disabled: boolean) => void\n setIsValid: (processing: boolean) => void\n setModified: SetModified\n setProcessing: SetProcessing\n setSubmitted: SetSubmitted\n submit: Submit\n uuid?: string\n validateForm: ValidateForm\n}\n"],"mappings":"AAsQA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/forms/Form/types.ts"],"sourcesContent":["import type {\n ClientField,\n Data,\n FormField,\n FormState,\n Row,\n TypedUser,\n ValidationFieldError,\n} from 'payload'\nimport type React from 'react'\nimport type { Dispatch } from 'react'\n\nimport type { AcceptValues } from './mergeServerFormState.js'\n\nexport type Preferences = {\n [key: string]: unknown\n}\n\nexport type FormOnSuccess<T = unknown, C = Record<string, unknown>> = (\n json: T,\n options?: {\n /**\n * Arbitrary context passed to the onSuccess callback.\n */\n context?: C\n /**\n * Form state at the time of the request used to retrieve the JSON response.\n */\n formState?: FormState\n },\n) => Promise<FormState | void> | void\n\nexport type FormProps = {\n beforeSubmit?: ((args: { formState: FormState }) => Promise<FormState>)[]\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n disableSuccessStatus?: boolean\n /**\n * If you would like to solely leverage server-side validation on submit,\n * you can disable checks that the form makes before it submits\n */\n disableValidationOnSubmit?: boolean\n /**\n * If you don't want the form to be a <form> element, you can pass a string here to use as the wrapper element.\n */\n el?: string\n /**\n * By default, the form will get the field schema (not data) from the current document. If you pass this in, you can override that behavior.\n * This is very useful for sub-forms, where the form's field schema is not necessarily the field schema of the current document (e.g. for the Blocks\n * feature of the Lexical Rich Text field)\n */\n fields?: ClientField[]\n handleResponse?: (\n res: Response,\n successToast: (value: string) => void,\n errorToast: (value: string) => void,\n ) => void\n initialState?: FormState\n /**\n * Determines if this Form is the main, top-level Form of a document. If set to true, the\n * Form's children will be wrapped in a DocumentFormContext, which lets you access this document\n * Form's data and fields from any child component - even if that child component is wrapped in a child\n * Form (e.g. a lexical block).\n */\n isDocumentForm?: boolean\n isInitializing?: boolean\n log?: boolean\n onChange?: ((args: { formState: FormState; submitted?: boolean }) => Promise<FormState>)[]\n onSubmit?: (fields: FormState, data: Data) => void\n onSuccess?: FormOnSuccess\n redirect?: string\n submitted?: boolean\n uuid?: string\n validationOperation?: 'create' | 'update'\n waitForAutocomplete?: boolean\n} & (\n | {\n action: (formData: FormData) => Promise<void>\n }\n | {\n action?: string\n method?: 'DELETE' | 'GET' | 'PATCH' | 'POST'\n }\n)\n\nexport type SubmitOptions<C = Record<string, unknown>> = {\n acceptValues?: AcceptValues\n action?: string\n /**\n * If you want to pass additional data to the onSuccess callback, you can use this context object.\n *\n * @experimental This property is experimental and may change in the future.\n */\n context?: C\n /**\n * When true, will disable the form while it is processing.\n * @default true\n */\n disableFormWhileProcessing?: boolean\n /**\n * When true, will disable the success toast after form submission.\n * @default false\n */\n disableSuccessStatus?: boolean\n method?: string\n overrides?: ((formState) => FormData) | Record<string, unknown>\n /**\n * When true, will skip validation before submitting the form.\n * @default false\n */\n skipValidation?: boolean\n}\n\nexport type DispatchFields = React.Dispatch<any>\n\nexport type Submit = <T extends Response, C extends Record<string, unknown>>(\n options?: SubmitOptions<C>,\n e?: React.FormEvent<HTMLFormElement>,\n) => Promise</**\n * Returns the form state and the response from the server.\n *\n * @experimental - Note: the `{ res: ... }` return type is experimental and may change in the future. Use at your own discretion.\n */\n{ formState?: FormState; res: T } | void>\n\nexport type ValidateForm = () => Promise<boolean>\n\nexport type CreateFormData = (\n overrides?: Record<string, unknown>,\n /**\n * If mergeOverrideData true, the data will be merged with the existing data in the form state.\n * @default true\n */\n options?: {\n /**\n * If provided, will use this instead of of derived data from the current form state.\n */\n data?: Data\n mergeOverrideData?: boolean\n },\n) => FormData | Promise<FormData>\n\nexport type GetFields = () => FormState\nexport type GetField = (path: string) => FormField\nexport type GetData = () => Data\nexport type GetSiblingData = (path: string) => Data\nexport type GetDataByPath = <T = unknown>(path: string) => T\nexport type SetModified = (modified: boolean) => void\nexport type SetSubmitted = (submitted: boolean) => void\nexport type SetProcessing = (processing: boolean) => void\n\nexport type Reset = (data: unknown) => Promise<void>\n\nexport type REPLACE_STATE = {\n optimize?: boolean\n /**\n * If `sanitize` is true, default values will be set for form field properties that are not present in the incoming state.\n * For example, `valid` will be set to true if it is not present in the incoming state.\n */\n sanitize?: boolean\n state: FormState\n type: 'REPLACE_STATE'\n}\n\nexport type REMOVE = {\n path: string\n type: 'REMOVE'\n}\n\nexport type MODIFY_CONDITION = {\n path: string\n result: boolean\n type: 'MODIFY_CONDITION'\n user: TypedUser\n}\n\nexport type UPDATE = {\n path: string\n type: 'UPDATE'\n} & Partial<FormField>\n\nexport type UPDATE_MANY = {\n formState: FormState\n type: 'UPDATE_MANY'\n}\n\nexport type REMOVE_ROW = {\n path: string\n rowIndex: number\n type: 'REMOVE_ROW'\n}\n\nexport type ADD_ROW = {\n blockType?: string\n path: string\n rowIndex?: number\n subFieldState?: FormState\n type: 'ADD_ROW'\n}\n\nexport type MERGE_SERVER_STATE = {\n acceptValues?: AcceptValues\n prevStateRef: React.RefObject<FormState>\n serverState: FormState\n type: 'MERGE_SERVER_STATE'\n}\n\nexport type REPLACE_ROW = {\n blockType?: string\n path: string\n rowIndex: number\n subFieldState?: FormState\n type: 'REPLACE_ROW'\n}\n\nexport type DUPLICATE_ROW = {\n path: string\n rowIndex: number\n type: 'DUPLICATE_ROW'\n}\n\nexport type MOVE_ROW = {\n moveFromIndex: number\n moveToIndex: number\n path: string\n type: 'MOVE_ROW'\n}\n\nexport type ADD_SERVER_ERRORS = {\n errors: ValidationFieldError[]\n type: 'ADD_SERVER_ERRORS'\n}\n\nexport type SET_ROW_COLLAPSED = {\n path: string\n type: 'SET_ROW_COLLAPSED'\n updatedRows: Row[]\n}\n\nexport type SET_ALL_ROWS_COLLAPSED = {\n path: string\n type: 'SET_ALL_ROWS_COLLAPSED'\n updatedRows: Row[]\n}\n\nexport type FieldAction =\n | ADD_ROW\n | ADD_SERVER_ERRORS\n | DUPLICATE_ROW\n | MERGE_SERVER_STATE\n | MODIFY_CONDITION\n | MOVE_ROW\n | REMOVE\n | REMOVE_ROW\n | REPLACE_ROW\n | REPLACE_STATE\n | SET_ALL_ROWS_COLLAPSED\n | SET_ROW_COLLAPSED\n | UPDATE\n | UPDATE_MANY\n\nexport type FormFieldsContext = [FormState, Dispatch<FieldAction>]\n\nexport type Context = {\n addFieldRow: ({\n blockType,\n path,\n rowIndex,\n schemaPath,\n subFieldState,\n }: {\n blockType?: string\n path: string\n rowIndex?: number\n schemaPath: string\n subFieldState?: FormState\n }) => void\n buildRowErrors: () => void\n createFormData: CreateFormData\n disabled: boolean\n dispatchFields: Dispatch<FieldAction>\n /**\n * Form context fields may be outdated and should not be relied on. Instead, prefer `useFormFields`.\n */\n fields: FormState\n formRef: React.RefObject<HTMLFormElement>\n getData: GetData\n getDataByPath: GetDataByPath\n getField: GetField\n getFields: GetFields\n getSiblingData: GetSiblingData\n initializing: boolean\n /**\n * Tracks wether the form state passes validation.\n * For example the state could be submitted but invalid as field errors have been returned.\n */\n isValid: boolean\n moveFieldRow: ({\n moveFromIndex,\n moveToIndex,\n path,\n }: {\n moveFromIndex: number\n moveToIndex: number\n path: string\n }) => void\n removeFieldRow: ({ path, rowIndex }: { path: string; rowIndex: number }) => void\n replaceFieldRow: ({\n blockType,\n path,\n rowIndex,\n schemaPath,\n subFieldState,\n }: {\n blockType?: string\n path: string\n rowIndex: number\n schemaPath: string\n subFieldState?: FormState\n }) => void\n replaceState: (state: FormState) => void\n reset: Reset\n /**\n * If the form has started processing in the background (e.g.\n * if autosave is running), this will be true.\n */\n setBackgroundProcessing: SetProcessing\n setDisabled: (disabled: boolean) => void\n setIsValid: (processing: boolean) => void\n setModified: SetModified\n setProcessing: SetProcessing\n setSubmitted: SetSubmitted\n submit: Submit\n uuid?: string\n validateForm: ValidateForm\n}\n"],"mappings":"AAwQA","ignoreList":[]}