@payloadcms/ui 3.55.0-internal.ce8fe55 → 3.55.0-internal.df60e35

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 (169) hide show
  1. package/dist/elements/Autosave/index.js +2 -2
  2. package/dist/elements/Autosave/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/EditForm/index.js +4 -18
  4. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  5. package/dist/elements/ClipboardAction/index.js +173 -74
  6. package/dist/elements/ClipboardAction/index.js.map +1 -1
  7. package/dist/elements/CodeEditor/CodeEditor.js +155 -67
  8. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  9. package/dist/elements/Collapsible/index.js +15 -7
  10. package/dist/elements/Collapsible/index.js.map +1 -1
  11. package/dist/elements/ConfirmationModal/index.js +44 -8
  12. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  13. package/dist/elements/CopyLocaleData/index.js +97 -89
  14. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  15. package/dist/elements/CopyToClipboard/index.js +22 -2
  16. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  17. package/dist/elements/DeleteMany/index.js +83 -47
  18. package/dist/elements/DeleteMany/index.js.map +1 -1
  19. package/dist/elements/DocumentControls/index.js +55 -27
  20. package/dist/elements/DocumentControls/index.js.map +1 -1
  21. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +10 -2
  22. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  23. package/dist/elements/DocumentDrawer/index.js +99 -47
  24. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  25. package/dist/elements/Drawer/index.js +57 -23
  26. package/dist/elements/Drawer/index.js.map +1 -1
  27. package/dist/elements/DrawerActionHeader/index.js +21 -3
  28. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  29. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +225 -149
  30. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  31. package/dist/elements/FolderView/FolderFileCard/index.js +27 -19
  32. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  33. package/dist/elements/FolderView/MoveDocToFolder/index.js +23 -12
  34. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  35. package/dist/elements/FullscreenModal/index.js +20 -10
  36. package/dist/elements/FullscreenModal/index.js.map +1 -1
  37. package/dist/elements/ListDrawer/index.js +24 -18
  38. package/dist/elements/ListDrawer/index.js.map +1 -1
  39. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +32 -19
  40. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  41. package/dist/elements/ListHeaderTabs/DefaultListPill.js +8 -15
  42. package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +1 -1
  43. package/dist/elements/ListSelection/index.js +27 -11
  44. package/dist/elements/ListSelection/index.js.map +1 -1
  45. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  46. package/dist/elements/LivePreview/Window/index.js +152 -71
  47. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  48. package/dist/elements/Loading/index.js +11 -2
  49. package/dist/elements/Loading/index.js.map +1 -1
  50. package/dist/elements/LoadingOverlay/index.js +102 -46
  51. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  52. package/dist/elements/Localizer/LocalizerLabel/index.js +36 -23
  53. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  54. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +139 -41
  55. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  56. package/dist/elements/RenderIfInViewport/index.d.ts +2 -2
  57. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -1
  58. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  59. package/dist/elements/SelectRow/index.js +40 -39
  60. package/dist/elements/SelectRow/index.js.map +1 -1
  61. package/dist/elements/ShimmerEffect/index.js +12 -20
  62. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  63. package/dist/elements/SortColumn/index.js +30 -21
  64. package/dist/elements/SortColumn/index.js.map +1 -1
  65. package/dist/elements/Status/index.d.ts.map +1 -1
  66. package/dist/elements/Status/index.js +19 -9
  67. package/dist/elements/Status/index.js.map +1 -1
  68. package/dist/elements/Table/DefaultCell/fields/Date/index.js +37 -9
  69. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  70. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +37 -35
  71. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  72. package/dist/elements/Table/DefaultCell/fields/Select/index.js +27 -12
  73. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  74. package/dist/elements/Thumbnail/index.js +75 -35
  75. package/dist/elements/Thumbnail/index.js.map +1 -1
  76. package/dist/elements/ThumbnailCard/index.js +26 -17
  77. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  78. package/dist/elements/Tooltip/index.js +127 -51
  79. package/dist/elements/Tooltip/index.js.map +1 -1
  80. package/dist/elements/Upload/index.js +10 -2
  81. package/dist/elements/Upload/index.js.map +1 -1
  82. package/dist/elements/WhereBuilder/Condition/Select/index.js +44 -31
  83. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  84. package/dist/exports/client/{CodeEditor-O6BWJHD2.js → CodeEditor-MIIBUJZ4.js} +2 -2
  85. package/dist/exports/client/{DatePicker-F432AIH3.js → DatePicker-NMDEHPWL.js} +2 -2
  86. package/dist/exports/client/{chunk-AZDI6MW4.js → chunk-7RGKTZG2.js} +1 -1
  87. package/dist/exports/client/{chunk-AZDI6MW4.js.map → chunk-7RGKTZG2.js.map} +1 -1
  88. package/dist/exports/client/{chunk-FXAFULZQ.js → chunk-Z6O2JA43.js} +6 -6
  89. package/dist/exports/client/{chunk-FXAFULZQ.js.map → chunk-Z6O2JA43.js.map} +3 -3
  90. package/dist/exports/client/index.d.ts +2 -4
  91. package/dist/exports/client/index.d.ts.map +1 -1
  92. package/dist/exports/client/index.js +24 -24
  93. package/dist/exports/client/index.js.map +4 -4
  94. package/dist/exports/rsc/index.d.ts +0 -1
  95. package/dist/exports/rsc/index.d.ts.map +1 -1
  96. package/dist/exports/rsc/index.js +0 -1
  97. package/dist/exports/rsc/index.js.map +1 -1
  98. package/dist/fields/Array/ArrayRow.d.ts +3 -2
  99. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  100. package/dist/fields/Array/ArrayRow.js +23 -13
  101. package/dist/fields/Array/ArrayRow.js.map +1 -1
  102. package/dist/fields/Array/index.js +477 -273
  103. package/dist/fields/Array/index.js.map +1 -1
  104. package/dist/fields/Checkbox/Input.js +19 -2
  105. package/dist/fields/Checkbox/Input.js.map +1 -1
  106. package/dist/fields/FieldError/index.js +29 -30
  107. package/dist/fields/FieldError/index.js.map +1 -1
  108. package/dist/fields/FieldLabel/index.js +64 -12
  109. package/dist/fields/FieldLabel/index.js.map +1 -1
  110. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +103 -45
  111. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  112. package/dist/fields/Relationship/select-components/SingleValue/index.js +44 -29
  113. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  114. package/dist/fields/Row/index.d.ts +3 -1
  115. package/dist/fields/Row/index.d.ts.map +1 -1
  116. package/dist/fields/Select/Input.js +31 -18
  117. package/dist/fields/Select/Input.js.map +1 -1
  118. package/dist/fields/Tabs/Tab/index.js +11 -2
  119. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  120. package/dist/fields/Tabs/index.d.ts +1 -2
  121. package/dist/fields/Tabs/index.d.ts.map +1 -1
  122. package/dist/fields/Tabs/index.js +225 -185
  123. package/dist/fields/Tabs/index.js.map +1 -1
  124. package/dist/fields/Upload/RelationshipContent/index.js +127 -79
  125. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  126. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  127. package/dist/forms/Form/fieldReducer.js +15 -13
  128. package/dist/forms/Form/fieldReducer.js.map +1 -1
  129. package/dist/forms/RenderFields/RenderField.js +237 -245
  130. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  131. package/dist/forms/RenderFields/types.d.ts +10 -2
  132. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  133. package/dist/forms/RenderFields/types.js.map +1 -1
  134. package/dist/forms/useField/index.d.ts +0 -5
  135. package/dist/forms/useField/index.d.ts.map +1 -1
  136. package/dist/forms/useField/index.js +45 -74
  137. package/dist/forms/useField/index.js.map +1 -1
  138. package/dist/hooks/useIntersect.js +53 -35
  139. package/dist/hooks/useIntersect.js.map +1 -1
  140. package/dist/hooks/usePayloadAPI.js +44 -36
  141. package/dist/hooks/usePayloadAPI.js.map +1 -1
  142. package/dist/providers/LivePreview/context.d.ts +0 -2
  143. package/dist/providers/LivePreview/context.d.ts.map +1 -1
  144. package/dist/providers/LivePreview/context.js +0 -1
  145. package/dist/providers/LivePreview/context.js.map +1 -1
  146. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  147. package/dist/providers/LivePreview/index.js +0 -12
  148. package/dist/providers/LivePreview/index.js.map +1 -1
  149. package/dist/providers/ServerFunctions/index.d.ts +1 -4
  150. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  151. package/dist/providers/ServerFunctions/index.js +0 -13
  152. package/dist/providers/ServerFunctions/index.js.map +1 -1
  153. package/dist/styles.css +1 -1
  154. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  155. package/dist/utilities/reduceFieldsToOptions.js +16 -1
  156. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  157. package/dist/views/BrowseByFolder/index.js +55 -37
  158. package/dist/views/BrowseByFolder/index.js.map +1 -1
  159. package/dist/views/CollectionFolder/index.js +40 -13
  160. package/dist/views/CollectionFolder/index.js.map +1 -1
  161. package/dist/views/Edit/Auth/index.js +105 -93
  162. package/dist/views/Edit/Auth/index.js.map +1 -1
  163. package/package.json +8 -8
  164. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +0 -30
  165. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +0 -1
  166. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +0 -82
  167. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +0 -1
  168. /package/dist/exports/client/{CodeEditor-O6BWJHD2.js.map → CodeEditor-MIIBUJZ4.js.map} +0 -0
  169. /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":[]}