@payloadcms/ui 3.0.0-beta.107 → 3.0.0-beta.108

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 (249) hide show
  1. package/dist/elements/BulkUpload/ActionsBar/index.js +2 -2
  2. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/EditForm/index.js +3 -1
  4. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  5. package/dist/elements/BulkUpload/FormsManager/index.js +3 -1
  6. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  7. package/dist/elements/Button/types.d.ts +6 -0
  8. package/dist/elements/Button/types.d.ts.map +1 -1
  9. package/dist/elements/Button/types.js.map +1 -1
  10. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  11. package/dist/elements/CodeEditor/CodeEditor.js +51 -25
  12. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  13. package/dist/elements/CodeEditor/index.d.ts.map +1 -1
  14. package/dist/elements/CodeEditor/index.js +2 -8
  15. package/dist/elements/CodeEditor/index.js.map +1 -1
  16. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  17. package/dist/elements/ColumnSelector/index.js +14 -2
  18. package/dist/elements/ColumnSelector/index.js.map +1 -1
  19. package/dist/elements/DocumentControls/index.d.ts +4 -1
  20. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  21. package/dist/elements/DocumentControls/index.js +42 -6
  22. package/dist/elements/DocumentControls/index.js.map +1 -1
  23. package/dist/elements/DocumentControls/index.scss +8 -0
  24. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  25. package/dist/elements/DocumentDrawer/DrawerContent.js +23 -17
  26. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  27. package/dist/elements/DocumentDrawer/types.d.ts +4 -1
  28. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  29. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  30. package/dist/elements/EditMany/index.d.ts.map +1 -1
  31. package/dist/elements/EditMany/index.js +235 -124
  32. package/dist/elements/EditMany/index.js.map +1 -1
  33. package/dist/elements/Hamburger/index.scss +4 -0
  34. package/dist/elements/ListControls/index.d.ts.map +1 -1
  35. package/dist/elements/ListControls/index.js +9 -5
  36. package/dist/elements/ListControls/index.js.map +1 -1
  37. package/dist/elements/ListControls/index.scss +0 -6
  38. package/dist/elements/ListDrawer/DrawerContent.d.ts +2 -0
  39. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  40. package/dist/elements/ListDrawer/DrawerContent.js +3 -3
  41. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  42. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  43. package/dist/elements/ListDrawer/index.js +18 -15
  44. package/dist/elements/ListDrawer/index.js.map +1 -1
  45. package/dist/elements/ListDrawer/types.d.ts +2 -0
  46. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  47. package/dist/elements/ListDrawer/types.js.map +1 -1
  48. package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
  49. package/dist/elements/Localizer/LocalizerLabel/index.js +9 -5
  50. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  51. package/dist/elements/Localizer/LocalizerLabel/index.scss +7 -3
  52. package/dist/elements/Locked/index.d.ts +8 -0
  53. package/dist/elements/Locked/index.d.ts.map +1 -0
  54. package/dist/elements/Locked/index.js +72 -0
  55. package/dist/elements/Locked/index.js.map +1 -0
  56. package/dist/elements/Locked/index.scss +14 -0
  57. package/dist/elements/Pagination/index.d.ts.map +1 -1
  58. package/dist/elements/Pagination/index.js +1 -1
  59. package/dist/elements/Pagination/index.js.map +1 -1
  60. package/dist/elements/PerPage/index.d.ts +5 -5
  61. package/dist/elements/PerPage/index.d.ts.map +1 -1
  62. package/dist/elements/PerPage/index.js +2 -1
  63. package/dist/elements/PerPage/index.js.map +1 -1
  64. package/dist/elements/Pill/index.scss +3 -1
  65. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  66. package/dist/elements/PreviewButton/usePreviewURL.js +11 -3
  67. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  68. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  69. package/dist/elements/PublishButton/index.js +97 -46
  70. package/dist/elements/PublishButton/index.js.map +1 -1
  71. package/dist/elements/PublishMany/index.js +2 -1
  72. package/dist/elements/PublishMany/index.js.map +1 -1
  73. package/dist/elements/ReactSelect/index.scss +4 -0
  74. package/dist/elements/RelationshipTable/TableWrapper.d.ts +8 -0
  75. package/dist/elements/RelationshipTable/TableWrapper.d.ts.map +1 -0
  76. package/dist/elements/RelationshipTable/TableWrapper.js +69 -0
  77. package/dist/elements/RelationshipTable/TableWrapper.js.map +1 -0
  78. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +8 -0
  79. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -0
  80. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +82 -0
  81. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -0
  82. package/dist/elements/RelationshipTable/cells/DrawerLink/index.scss +4 -0
  83. package/dist/elements/RelationshipTable/index.d.ts +15 -0
  84. package/dist/elements/RelationshipTable/index.d.ts.map +1 -0
  85. package/dist/elements/RelationshipTable/index.js +445 -0
  86. package/dist/elements/RelationshipTable/index.js.map +1 -0
  87. package/dist/elements/RelationshipTable/index.scss +26 -0
  88. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  89. package/dist/elements/SelectRow/index.js +60 -29
  90. package/dist/elements/SelectRow/index.js.map +1 -1
  91. package/dist/elements/SortColumn/index.d.ts +1 -0
  92. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  93. package/dist/elements/SortColumn/index.js +29 -17
  94. package/dist/elements/SortColumn/index.js.map +1 -1
  95. package/dist/elements/SortColumn/index.scss +10 -1
  96. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +2 -3
  97. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  98. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +43 -40
  99. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  100. package/dist/elements/Table/DefaultCell/fields/Relationship/index.scss +0 -3
  101. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -0
  102. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  103. package/dist/elements/Table/DefaultCell/fields/index.js +1 -0
  104. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  105. package/dist/elements/Table/RenderCell.d.ts +11 -0
  106. package/dist/elements/Table/RenderCell.d.ts.map +1 -0
  107. package/dist/elements/Table/RenderCell.js +30 -0
  108. package/dist/elements/Table/RenderCell.js.map +1 -0
  109. package/dist/elements/Table/index.d.ts +3 -6
  110. package/dist/elements/Table/index.d.ts.map +1 -1
  111. package/dist/elements/Table/index.js +36 -31
  112. package/dist/elements/Table/index.js.map +1 -1
  113. package/dist/elements/Table/index.scss +50 -0
  114. package/dist/elements/TableColumns/buildColumnState.d.ts +5 -2
  115. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  116. package/dist/elements/TableColumns/buildColumnState.js +35 -22
  117. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  118. package/dist/elements/TableColumns/index.d.ts +5 -0
  119. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  120. package/dist/elements/TableColumns/index.js +107 -74
  121. package/dist/elements/TableColumns/index.js.map +1 -1
  122. package/dist/elements/Tooltip/index.d.ts +1 -0
  123. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  124. package/dist/elements/Tooltip/index.js +15 -13
  125. package/dist/elements/Tooltip/index.js.map +1 -1
  126. package/dist/elements/Tooltip/index.scss +2 -2
  127. package/dist/elements/UnpublishMany/index.js +2 -1
  128. package/dist/elements/UnpublishMany/index.js.map +1 -1
  129. package/dist/elements/WhereBuilder/Condition/index.js +32 -30
  130. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  131. package/dist/exports/client/{CodeEditor-CHKRX3U2.js → CodeEditor-CXCLJBIQ.js} +6 -4
  132. package/dist/exports/client/CodeEditor-CXCLJBIQ.js.map +8 -0
  133. package/dist/exports/client/{DatePicker-OLRZVTAD.js → DatePicker-NBYDOP2X.js} +2 -2
  134. package/dist/exports/client/{chunk-JINNHJP7.js → chunk-6MRITTMD.js} +3 -3
  135. package/dist/exports/client/{chunk-JINNHJP7.js.map → chunk-6MRITTMD.js.map} +4 -4
  136. package/dist/exports/client/chunk-W2YIQDPJ.js +14 -0
  137. package/dist/exports/client/{chunk-BGA6EPOL.js.map → chunk-W2YIQDPJ.js.map} +2 -2
  138. package/dist/exports/client/index.d.ts +1 -0
  139. package/dist/exports/client/index.d.ts.map +1 -1
  140. package/dist/exports/client/index.js +19 -19
  141. package/dist/exports/client/index.js.map +4 -4
  142. package/dist/exports/shared/index.js +2 -2
  143. package/dist/exports/shared/index.js.map +2 -2
  144. package/dist/fields/Array/ArrayRow.js +2 -2
  145. package/dist/fields/Array/ArrayRow.js.map +1 -1
  146. package/dist/fields/Blocks/BlockRow.js +2 -2
  147. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  148. package/dist/fields/Collapsible/index.d.ts +16 -16
  149. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  150. package/dist/fields/Group/index.js +2 -2
  151. package/dist/fields/Group/index.js.map +1 -1
  152. package/dist/fields/Join/index.d.ts +9 -0
  153. package/dist/fields/Join/index.d.ts.map +1 -0
  154. package/dist/fields/Join/index.js +75 -0
  155. package/dist/fields/Join/index.js.map +1 -0
  156. package/dist/fields/Password/index.js +29 -25
  157. package/dist/fields/Password/index.js.map +1 -1
  158. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  159. package/dist/fields/Relationship/select-components/SingleValue/index.js +11 -13
  160. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  161. package/dist/fields/Row/index.scss +3 -0
  162. package/dist/fields/Textarea/index.d.ts.map +1 -1
  163. package/dist/fields/Textarea/index.js +2 -0
  164. package/dist/fields/Textarea/index.js.map +1 -1
  165. package/dist/fields/Upload/RelationshipContent/index.js +28 -29
  166. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  167. package/dist/fields/Upload/UploadCard/index.scss +0 -1
  168. package/dist/fields/index.d.ts.map +1 -1
  169. package/dist/fields/index.js +2 -0
  170. package/dist/fields/index.js.map +1 -1
  171. package/dist/forms/Form/index.js +6 -2
  172. package/dist/forms/Form/index.js.map +1 -1
  173. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  174. package/dist/forms/NullifyField/index.js +1 -0
  175. package/dist/forms/NullifyField/index.js.map +1 -1
  176. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  177. package/dist/forms/RenderFields/RenderField.js +3 -1
  178. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  179. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  180. package/dist/forms/RenderFields/index.js +18 -15
  181. package/dist/forms/RenderFields/index.js.map +1 -1
  182. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  183. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +3 -4
  184. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  185. package/dist/forms/buildStateFromSchema/index.d.ts +2 -0
  186. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  187. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  188. package/dist/forms/useField/index.js +203 -111
  189. package/dist/forms/useField/index.js.map +1 -1
  190. package/dist/hooks/useDelay.js +48 -15
  191. package/dist/hooks/useDelay.js.map +1 -1
  192. package/dist/hooks/useDelayedRender.js +71 -32
  193. package/dist/hooks/useDelayedRender.js.map +1 -1
  194. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  195. package/dist/hooks/usePayloadAPI.js.map +1 -1
  196. package/dist/icons/Chevron/index.d.ts +3 -3
  197. package/dist/icons/Chevron/index.d.ts.map +1 -1
  198. package/dist/icons/Chevron/index.js +4 -4
  199. package/dist/icons/Chevron/index.js.map +1 -1
  200. package/dist/icons/Chevron/index.scss +9 -1
  201. package/dist/icons/Lock/index.d.ts +6 -0
  202. package/dist/icons/Lock/index.d.ts.map +1 -0
  203. package/dist/icons/Lock/index.js +27 -0
  204. package/dist/icons/Lock/index.js.map +1 -0
  205. package/dist/icons/Lock/index.scss +8 -0
  206. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  207. package/dist/providers/Config/createClientConfig/collections.js +11 -1
  208. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  209. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
  210. package/dist/providers/Config/createClientConfig/fields.js +3 -0
  211. package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
  212. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  213. package/dist/providers/DocumentInfo/index.js +109 -8
  214. package/dist/providers/DocumentInfo/index.js.map +1 -1
  215. package/dist/providers/DocumentInfo/types.d.ts +32 -27
  216. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  217. package/dist/providers/DocumentInfo/types.js.map +1 -1
  218. package/dist/providers/ListQuery/index.d.ts +5 -5
  219. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  220. package/dist/providers/ListQuery/index.js.map +1 -1
  221. package/dist/providers/Preferences/index.js +3 -1
  222. package/dist/providers/Preferences/index.js.map +1 -1
  223. package/dist/providers/Root/index.d.ts.map +1 -1
  224. package/dist/providers/Root/index.js +2 -1
  225. package/dist/providers/Root/index.js.map +1 -1
  226. package/dist/providers/Selection/index.d.ts +2 -1
  227. package/dist/providers/Selection/index.d.ts.map +1 -1
  228. package/dist/providers/Selection/index.js +23 -8
  229. package/dist/providers/Selection/index.js.map +1 -1
  230. package/dist/providers/Translation/index.d.ts.map +1 -1
  231. package/dist/providers/Translation/index.js +5 -7
  232. package/dist/providers/Translation/index.js.map +1 -1
  233. package/dist/styles.css +1 -1
  234. package/dist/utilities/buildFormState.d.ts +9 -3
  235. package/dist/utilities/buildFormState.d.ts.map +1 -1
  236. package/dist/utilities/buildFormState.js +82 -4
  237. package/dist/utilities/buildFormState.js.map +1 -1
  238. package/dist/utilities/deepMerge.d.ts +12 -0
  239. package/dist/utilities/deepMerge.d.ts.map +1 -0
  240. package/dist/utilities/deepMerge.js +25 -0
  241. package/dist/utilities/deepMerge.js.map +1 -0
  242. package/dist/utilities/getFormState.d.ts +8 -2
  243. package/dist/utilities/getFormState.d.ts.map +1 -1
  244. package/dist/utilities/getFormState.js +3 -1
  245. package/dist/utilities/getFormState.js.map +1 -1
  246. package/package.json +15 -15
  247. package/dist/exports/client/CodeEditor-CHKRX3U2.js.map +0 -8
  248. package/dist/exports/client/chunk-BGA6EPOL.js +0 -14
  249. /package/dist/exports/client/{DatePicker-OLRZVTAD.js.map → DatePicker-NBYDOP2X.js.map} +0 -0
@@ -1,7 +1,13 @@
1
- import type { FormState, PayloadRequest } from 'payload';
1
+ import type { ClientUser, FormState, PayloadRequest } from 'payload';
2
2
  import type { FieldSchemaMap } from './buildFieldSchemaMap/types.js';
3
3
  export declare const getFieldSchemaMap: (req: PayloadRequest) => FieldSchemaMap;
4
- export declare const buildFormState: ({ req }: {
4
+ export declare const buildFormState: ({ req, }: {
5
5
  req: PayloadRequest;
6
- }) => Promise<FormState>;
6
+ }) => Promise<{
7
+ lockedState?: {
8
+ isLocked: boolean;
9
+ user: ClientUser | number | string;
10
+ };
11
+ state: FormState;
12
+ }>;
7
13
  //# sourceMappingURL=buildFormState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,SAAS,EAAE,cAAc,EAAc,MAAM,SAAS,CAAA;AAKhG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAWpE,eAAO,MAAM,iBAAiB,QAAS,cAAc,KAAG,cAWvD,CAAA;AAED,eAAO,MAAM,cAAc,YAAmB;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,KAAG,OAAO,CAAC,SAAS,CAqLxF,CAAA"}
1
+ {"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAGV,SAAS,EACT,cAAc,EAEf,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAWpE,eAAO,MAAM,iBAAiB,QAAS,cAAc,KAAG,cAWvD,CAAA;AAED,eAAO,MAAM,cAAc,aAExB;IACD,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC;IACV,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACvE,KAAK,EAAE,SAAS,CAAA;CACjB,CAqQA,CAAA"}
@@ -25,7 +25,9 @@ export const buildFormState = async ({
25
25
  globalSlug,
26
26
  locale,
27
27
  operation,
28
- schemaPath
28
+ returnLockStatus,
29
+ schemaPath,
30
+ updateLastEdited
29
31
  } = reqData;
30
32
  const incomingUserSlug = req.user?.collection;
31
33
  const adminUserSlug = req.payload.config.admin.user;
@@ -60,7 +62,7 @@ export const buildFormState = async ({
60
62
  const id = collectionSlug ? reqData.id : undefined;
61
63
  const schemaPathSegments = schemaPath && schemaPath.split('.');
62
64
  let fieldSchema;
63
- if (schemaPathSegments.length === 1) {
65
+ if (schemaPathSegments && schemaPathSegments.length === 1) {
64
66
  if (req.payload.collections[schemaPath]) {
65
67
  fieldSchema = req.payload.collections[schemaPath].config.fields;
66
68
  } else {
@@ -154,7 +156,7 @@ export const buildFormState = async ({
154
156
  };
155
157
  promises.data = fetchData();
156
158
  }
157
- if (Object.keys(promises).length > 0) {
159
+ if (Object.keys(promises) && Object.keys(promises).length > 0) {
158
160
  await Promise.all(Object.values(promises));
159
161
  }
160
162
  const result = await buildStateFromSchema({
@@ -174,6 +176,82 @@ export const buildFormState = async ({
174
176
  result.file = formState.file;
175
177
  }
176
178
  }
177
- return result;
179
+ if (returnLockStatus && req.user && (id || globalSlug)) {
180
+ let lockedDocumentQuery;
181
+ if (collectionSlug) {
182
+ lockedDocumentQuery = {
183
+ and: [{
184
+ 'document.relationTo': {
185
+ equals: collectionSlug
186
+ }
187
+ }, {
188
+ 'document.value': {
189
+ equals: id
190
+ }
191
+ }]
192
+ };
193
+ } else if (globalSlug) {
194
+ lockedDocumentQuery = {
195
+ globalSlug: {
196
+ equals: globalSlug
197
+ }
198
+ };
199
+ }
200
+ if (lockedDocumentQuery) {
201
+ const lockedDocument = await req.payload.find({
202
+ collection: 'payload-locked-documents',
203
+ depth: 1,
204
+ limit: 1,
205
+ pagination: false,
206
+ where: lockedDocumentQuery
207
+ });
208
+ if (lockedDocument.docs && lockedDocument.docs.length > 0) {
209
+ const lockedState = {
210
+ isLocked: true,
211
+ user: lockedDocument.docs[0]?.user?.value
212
+ };
213
+ if (updateLastEdited) {
214
+ await req.payload.db.updateOne({
215
+ id: lockedDocument.docs[0].id,
216
+ collection: 'payload-locked-documents',
217
+ data: {},
218
+ req
219
+ });
220
+ }
221
+ return {
222
+ lockedState,
223
+ state: result
224
+ };
225
+ } else {
226
+ // If no lock document exists, create it
227
+ await req.payload.db.create({
228
+ collection: 'payload-locked-documents',
229
+ data: {
230
+ document: collectionSlug ? {
231
+ relationTo: [collectionSlug],
232
+ value: id
233
+ } : undefined,
234
+ globalSlug: globalSlug ? globalSlug : undefined,
235
+ user: {
236
+ relationTo: [req.user.collection],
237
+ value: req.user.id
238
+ }
239
+ },
240
+ req
241
+ });
242
+ const lockedState = {
243
+ isLocked: true,
244
+ user: req.user
245
+ };
246
+ return {
247
+ lockedState,
248
+ state: result
249
+ };
250
+ }
251
+ }
252
+ }
253
+ return {
254
+ state: result
255
+ };
178
256
  };
179
257
  //# sourceMappingURL=buildFormState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildFormState.js","names":["reduceFieldsToValues","buildStateFromSchema","buildFieldSchemaMap","cached","global","_payload_fieldSchemaMap","getFieldSchemaMap","req","process","env","NODE_ENV","config","payload","i18n","buildFormState","reqData","data","collectionSlug","formState","globalSlug","locale","operation","schemaPath","incomingUserSlug","user","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","fieldSchemaMap","id","undefined","schemaPathSegments","split","fieldSchema","fields","globals","global1","slug","has","get","docPreferences","promises","preferencesKey","fetchPreferences","preferencesResult","where","and","key","equals","value","preferences","fetchData","resolvedData","findByID","draft","fallbackLocale","overrideAccess","findGlobal","Object","keys","Promise","all","values","result","upload","file"],"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type { DocumentPreferences, Field, FormState, PayloadRequest, TypeWithID } from 'payload'\n\nimport { reduceFieldsToValues } from 'payload/shared'\n\nimport type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js'\nimport type { FieldSchemaMap } from './buildFieldSchemaMap/types.js'\n\nimport { buildStateFromSchema } from '../forms/buildStateFromSchema/index.js'\nimport { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js'\n\nlet cached = global._payload_fieldSchemaMap\n\nif (!cached) {\n cached = global._payload_fieldSchemaMap = null\n}\n\nexport const getFieldSchemaMap = (req: PayloadRequest): FieldSchemaMap => {\n if (cached && process.env.NODE_ENV !== 'development') {\n return cached\n }\n\n cached = buildFieldSchemaMap({\n config: req.payload.config,\n i18n: req.i18n,\n })\n\n return cached\n}\n\nexport const buildFormState = async ({ req }: { req: PayloadRequest }): Promise<FormState> => {\n const reqData: BuildFormStateArgs = (req.data || {}) as BuildFormStateArgs\n const { collectionSlug, formState, globalSlug, locale, operation, schemaPath } = reqData\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = req.payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await req.payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const fieldSchemaMap = getFieldSchemaMap(req)\n\n const id = collectionSlug ? reqData.id : undefined\n const schemaPathSegments = schemaPath && schemaPath.split('.')\n\n let fieldSchema: Field[]\n\n if (schemaPathSegments.length === 1) {\n if (req.payload.collections[schemaPath]) {\n fieldSchema = req.payload.collections[schemaPath].config.fields\n } else {\n fieldSchema = req.payload.config.globals.find((global) => global.slug === schemaPath)?.fields\n }\n } else if (fieldSchemaMap.has(schemaPath)) {\n fieldSchema = fieldSchemaMap.get(schemaPath)\n }\n\n if (!fieldSchema) {\n throw new Error(`Could not find field schema for given path \"${schemaPath}\"`)\n }\n\n let docPreferences = reqData.docPreferences\n let data = reqData.data\n\n const promises: {\n data?: Promise<void>\n preferences?: Promise<void>\n } = {}\n\n // If the request does not include doc preferences,\n // we should fetch them. This is useful for DocumentInfoProvider\n // as it reduces the amount of client-side fetches necessary\n // when we fetch data for the Edit View\n if (!docPreferences) {\n let preferencesKey\n\n if (collectionSlug && id) {\n preferencesKey = `collection-${collectionSlug}-${id}`\n }\n\n if (globalSlug) {\n preferencesKey = `global-${globalSlug}`\n }\n\n if (preferencesKey) {\n const fetchPreferences = async () => {\n const preferencesResult = (await req.payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: req.user.collection,\n },\n },\n {\n 'user.value': {\n equals: req.user.id,\n },\n },\n ],\n },\n })) as unknown as { docs: { value: DocumentPreferences }[] }\n\n if (preferencesResult?.docs?.[0]?.value) {\n docPreferences = preferencesResult.docs[0].value\n }\n }\n\n promises.preferences = fetchPreferences()\n }\n }\n\n // If there is a form state,\n // then we can deduce data from that form state\n if (formState) {\n data = reduceFieldsToValues(formState, true)\n }\n\n // If we do not have data at this point,\n // we can fetch it. This is useful for DocumentInfoProvider\n // to reduce the amount of fetches required\n if (!data) {\n const fetchData = async () => {\n let resolvedData: Record<string, unknown> | TypeWithID\n\n if (collectionSlug && id) {\n resolvedData = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n if (globalSlug && schemaPath === globalSlug) {\n resolvedData = await req.payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n data = resolvedData\n }\n\n promises.data = fetchData()\n }\n\n if (Object.keys(promises).length > 0) {\n await Promise.all(Object.values(promises))\n }\n\n const result = await buildStateFromSchema({\n id,\n collectionSlug,\n data,\n fieldSchema,\n operation,\n preferences: docPreferences || { fields: {} },\n req,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (req.payload.collections[collectionSlug]?.config?.upload && formState.file) {\n result.file = formState.file\n }\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"buildFormState.js","names":["reduceFieldsToValues","buildStateFromSchema","buildFieldSchemaMap","cached","global","_payload_fieldSchemaMap","getFieldSchemaMap","req","process","env","NODE_ENV","config","payload","i18n","buildFormState","reqData","data","collectionSlug","formState","globalSlug","locale","operation","returnLockStatus","schemaPath","updateLastEdited","incomingUserSlug","user","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","fieldSchemaMap","id","undefined","schemaPathSegments","split","fieldSchema","fields","globals","global1","slug","has","get","docPreferences","promises","preferencesKey","fetchPreferences","preferencesResult","where","and","key","equals","value","preferences","fetchData","resolvedData","findByID","draft","fallbackLocale","overrideAccess","findGlobal","Object","keys","Promise","all","values","result","upload","file","lockedDocumentQuery","lockedDocument","lockedState","isLocked","db","updateOne","state","create","document","relationTo"],"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type {\n ClientUser,\n DocumentPreferences,\n Field,\n FormState,\n PayloadRequest,\n TypeWithID,\n} from 'payload'\n\nimport { reduceFieldsToValues } from 'payload/shared'\n\nimport type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js'\nimport type { FieldSchemaMap } from './buildFieldSchemaMap/types.js'\n\nimport { buildStateFromSchema } from '../forms/buildStateFromSchema/index.js'\nimport { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js'\n\nlet cached = global._payload_fieldSchemaMap\n\nif (!cached) {\n cached = global._payload_fieldSchemaMap = null\n}\n\nexport const getFieldSchemaMap = (req: PayloadRequest): FieldSchemaMap => {\n if (cached && process.env.NODE_ENV !== 'development') {\n return cached\n }\n\n cached = buildFieldSchemaMap({\n config: req.payload.config,\n i18n: req.i18n,\n })\n\n return cached\n}\n\nexport const buildFormState = async ({\n req,\n}: {\n req: PayloadRequest\n}): Promise<{\n lockedState?: { isLocked: boolean; user: ClientUser | number | string }\n state: FormState\n}> => {\n const reqData: BuildFormStateArgs = (req.data || {}) as BuildFormStateArgs\n const {\n collectionSlug,\n formState,\n globalSlug,\n locale,\n operation,\n returnLockStatus,\n schemaPath,\n updateLastEdited,\n } = reqData\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = req.payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await req.payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const fieldSchemaMap = getFieldSchemaMap(req)\n\n const id = collectionSlug ? reqData.id : undefined\n const schemaPathSegments = schemaPath && schemaPath.split('.')\n\n let fieldSchema: Field[]\n\n if (schemaPathSegments && schemaPathSegments.length === 1) {\n if (req.payload.collections[schemaPath]) {\n fieldSchema = req.payload.collections[schemaPath].config.fields\n } else {\n fieldSchema = req.payload.config.globals.find((global) => global.slug === schemaPath)?.fields\n }\n } else if (fieldSchemaMap.has(schemaPath)) {\n fieldSchema = fieldSchemaMap.get(schemaPath)\n }\n\n if (!fieldSchema) {\n throw new Error(`Could not find field schema for given path \"${schemaPath}\"`)\n }\n\n let docPreferences = reqData.docPreferences\n let data = reqData.data\n\n const promises: {\n data?: Promise<void>\n preferences?: Promise<void>\n } = {}\n\n // If the request does not include doc preferences,\n // we should fetch them. This is useful for DocumentInfoProvider\n // as it reduces the amount of client-side fetches necessary\n // when we fetch data for the Edit View\n if (!docPreferences) {\n let preferencesKey\n\n if (collectionSlug && id) {\n preferencesKey = `collection-${collectionSlug}-${id}`\n }\n\n if (globalSlug) {\n preferencesKey = `global-${globalSlug}`\n }\n\n if (preferencesKey) {\n const fetchPreferences = async () => {\n const preferencesResult = (await req.payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: req.user.collection,\n },\n },\n {\n 'user.value': {\n equals: req.user.id,\n },\n },\n ],\n },\n })) as unknown as { docs: { value: DocumentPreferences }[] }\n\n if (preferencesResult?.docs?.[0]?.value) {\n docPreferences = preferencesResult.docs[0].value\n }\n }\n\n promises.preferences = fetchPreferences()\n }\n }\n\n // If there is a form state,\n // then we can deduce data from that form state\n if (formState) {\n data = reduceFieldsToValues(formState, true)\n }\n\n // If we do not have data at this point,\n // we can fetch it. This is useful for DocumentInfoProvider\n // to reduce the amount of fetches required\n if (!data) {\n const fetchData = async () => {\n let resolvedData: Record<string, unknown> | TypeWithID\n\n if (collectionSlug && id) {\n resolvedData = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n if (globalSlug && schemaPath === globalSlug) {\n resolvedData = await req.payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n data = resolvedData\n }\n\n promises.data = fetchData()\n }\n\n if (Object.keys(promises) && Object.keys(promises).length > 0) {\n await Promise.all(Object.values(promises))\n }\n\n const result = await buildStateFromSchema({\n id,\n collectionSlug,\n data,\n fieldSchema,\n operation,\n preferences: docPreferences || { fields: {} },\n req,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (req.payload.collections[collectionSlug]?.config?.upload && formState.file) {\n result.file = formState.file\n }\n }\n\n if (returnLockStatus && req.user && (id || globalSlug)) {\n let lockedDocumentQuery\n\n if (collectionSlug) {\n lockedDocumentQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n { 'document.value': { equals: id } },\n ],\n }\n } else if (globalSlug) {\n lockedDocumentQuery = {\n globalSlug: { equals: globalSlug },\n }\n }\n\n if (lockedDocumentQuery) {\n const lockedDocument = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n limit: 1,\n pagination: false,\n where: lockedDocumentQuery,\n })\n\n if (lockedDocument.docs && lockedDocument.docs.length > 0) {\n const lockedState = {\n isLocked: true,\n user: lockedDocument.docs[0]?.user?.value,\n }\n\n if (updateLastEdited) {\n await req.payload.db.updateOne({\n id: lockedDocument.docs[0].id,\n collection: 'payload-locked-documents',\n data: {},\n req,\n })\n }\n\n return { lockedState, state: result }\n } else {\n // If no lock document exists, create it\n await req.payload.db.create({\n collection: 'payload-locked-documents',\n data: {\n document: collectionSlug\n ? {\n relationTo: [collectionSlug],\n value: id,\n }\n : undefined,\n globalSlug: globalSlug ? globalSlug : undefined,\n user: {\n relationTo: [req.user.collection],\n value: req.user.id,\n },\n },\n req,\n })\n\n const lockedState = {\n isLocked: true,\n user: req.user,\n }\n\n return { lockedState, state: result }\n }\n }\n }\n\n return { state: result }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Very simple, but fast deepMerge implementation. Only deepMerges objects, not arrays and clones everything.
3
+ * Do not use this if your object contains any complex objects like React Components, or if you would like to combine Arrays.
4
+ * If you only have simple objects and need a fast deepMerge, this is the function for you.
5
+ *
6
+ * obj2 takes precedence over obj1 - thus if obj2 has a key that obj1 also has, obj2's value will be used.
7
+ *
8
+ * @param obj1 base object
9
+ * @param obj2 object to merge "into" obj1
10
+ */
11
+ export declare function deepMergeSimple<T = object>(obj1: object, obj2: object): T;
12
+ //# sourceMappingURL=deepMerge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepMerge.d.ts","sourceRoot":"","sources":["../../src/utilities/deepMerge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAczE"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Very simple, but fast deepMerge implementation. Only deepMerges objects, not arrays and clones everything.
3
+ * Do not use this if your object contains any complex objects like React Components, or if you would like to combine Arrays.
4
+ * If you only have simple objects and need a fast deepMerge, this is the function for you.
5
+ *
6
+ * obj2 takes precedence over obj1 - thus if obj2 has a key that obj1 also has, obj2's value will be used.
7
+ *
8
+ * @param obj1 base object
9
+ * @param obj2 object to merge "into" obj1
10
+ */export function deepMergeSimple(obj1, obj2) {
11
+ const output = {
12
+ ...obj1
13
+ };
14
+ for (const key in obj2) {
15
+ if (Object.prototype.hasOwnProperty.call(obj2, key)) {
16
+ if (typeof obj2[key] === 'object' && !Array.isArray(obj2[key]) && obj1[key]) {
17
+ output[key] = deepMergeSimple(obj1[key], obj2[key]);
18
+ } else {
19
+ output[key] = obj2[key];
20
+ }
21
+ }
22
+ }
23
+ return output;
24
+ }
25
+ //# sourceMappingURL=deepMerge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepMerge.js","names":["deepMergeSimple","obj1","obj2","output","key","Object","prototype","hasOwnProperty","call","Array","isArray"],"sources":["../../src/utilities/deepMerge.ts"],"sourcesContent":["/**\n * Very simple, but fast deepMerge implementation. Only deepMerges objects, not arrays and clones everything.\n * Do not use this if your object contains any complex objects like React Components, or if you would like to combine Arrays.\n * If you only have simple objects and need a fast deepMerge, this is the function for you.\n *\n * obj2 takes precedence over obj1 - thus if obj2 has a key that obj1 also has, obj2's value will be used.\n *\n * @param obj1 base object\n * @param obj2 object to merge \"into\" obj1\n */\nexport function deepMergeSimple<T = object>(obj1: object, obj2: object): T {\n const output = { ...obj1 }\n\n for (const key in obj2) {\n if (Object.prototype.hasOwnProperty.call(obj2, key)) {\n if (typeof obj2[key] === 'object' && !Array.isArray(obj2[key]) && obj1[key]) {\n output[key] = deepMergeSimple(obj1[key], obj2[key])\n } else {\n output[key] = obj2[key]\n }\n }\n }\n\n return output as T\n}\n"],"mappings":"AAAA;;;;;;;;;GAUA,OAAO,SAASA,gBAA4BC,IAAY,EAAEC,IAAY;EACpE,MAAMC,MAAA,GAAS;IAAE,GAAGF;EAAK;EAEzB,KAAK,MAAMG,GAAA,IAAOF,IAAA,EAAM;IACtB,IAAIG,MAAA,CAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACN,IAAA,EAAME,GAAA,GAAM;MACnD,IAAI,OAAOF,IAAI,CAACE,GAAA,CAAI,KAAK,YAAY,CAACK,KAAA,CAAMC,OAAO,CAACR,IAAI,CAACE,GAAA,CAAI,KAAKH,IAAI,CAACG,GAAA,CAAI,EAAE;QAC3ED,MAAM,CAACC,GAAA,CAAI,GAAGJ,eAAA,CAAgBC,IAAI,CAACG,GAAA,CAAI,EAAEF,IAAI,CAACE,GAAA,CAAI;MACpD,OAAO;QACLD,MAAM,CAACC,GAAA,CAAI,GAAGF,IAAI,CAACE,GAAA,CAAI;MACzB;IACF;EACF;EAEA,OAAOD,MAAA;AACT","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { FormState, SanitizedConfig } from 'payload';
1
+ import type { ClientUser, FormState, SanitizedConfig } from 'payload';
2
2
  import type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js';
3
3
  export declare const getFormState: (args: {
4
4
  apiRoute: SanitizedConfig["routes"]["api"];
@@ -7,5 +7,11 @@ export declare const getFormState: (args: {
7
7
  serverURL: SanitizedConfig["serverURL"];
8
8
  signal?: AbortSignal;
9
9
  token?: string;
10
- }) => Promise<FormState>;
10
+ }) => Promise<{
11
+ lockedState?: {
12
+ isLocked: boolean;
13
+ user: ClientUser;
14
+ };
15
+ state: FormState;
16
+ }>;
11
17
  //# sourceMappingURL=getFormState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/getFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAEhF,eAAO,MAAM,YAAY,SAAgB;IACvC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9C,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,KAAG,OAAO,CAAC,SAAS,CAyBpB,CAAA"}
1
+ {"version":3,"file":"getFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/getFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAErE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAEhF,eAAO,MAAM,YAAY,SAAgB;IACvC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9C,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,KAAG,OAAO,CAAC;IAAE,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CA4BtF,CAAA"}
@@ -27,6 +27,8 @@ export const getFormState = async args => {
27
27
  void onError(json);
28
28
  }
29
29
  }
30
- return body?.formState;
30
+ return {
31
+ state: body?.formState
32
+ };
31
33
  };
32
34
  //# sourceMappingURL=getFormState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getFormState.js","names":["getFormState","args","apiRoute","body","onError","serverURL","signal","token","res","fetch","JSON","stringify","credentials","headers","Authorization","method","json","ok","formState"],"sources":["../../src/utilities/getFormState.ts"],"sourcesContent":["import type { FormState, SanitizedConfig } from 'payload'\n\nimport type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js'\n\nexport const getFormState = async (args: {\n apiRoute: SanitizedConfig['routes']['api']\n body: BuildFormStateArgs\n onError?: (data?: any) => Promise<void> | void\n serverURL: SanitizedConfig['serverURL']\n signal?: AbortSignal\n token?: string\n}): Promise<FormState> => {\n const { apiRoute, body, onError, serverURL, signal, token } = args\n\n const res = await fetch(`${serverURL}${apiRoute}/form-state`, {\n body: JSON.stringify(body),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n ...(token ? { Authorization: `JWT ${token}` } : {}),\n },\n method: 'POST',\n signal,\n })\n\n const json = (await res.json()) as FormState\n\n if (res.ok) {\n return json\n } else {\n if (typeof onError === 'function') {\n void onError(json)\n }\n }\n\n return body?.formState\n}\n"],"mappings":"AAIA,OAAO,MAAMA,YAAA,GAAe,MAAOC,IAAA;EAQjC,MAAM;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,OAAO;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAK,CAAE,GAAGN,IAAA;EAE9D,MAAMO,GAAA,GAAM,MAAMC,KAAA,CAAM,GAAGJ,SAAA,GAAYH,QAAA,aAAqB,EAAE;IAC5DC,IAAA,EAAMO,IAAA,CAAKC,SAAS,CAACR,IAAA;IACrBS,WAAA,EAAa;IACbC,OAAA,EAAS;MACP,gBAAgB;MAChB,IAAIN,KAAA,GAAQ;QAAEO,aAAA,EAAe,OAAOP,KAAA;MAAQ,IAAI,CAAC,CAAC;IACpD;IACAQ,MAAA,EAAQ;IACRT;EACF;EAEA,MAAMU,IAAA,GAAQ,MAAMR,GAAA,CAAIQ,IAAI;EAE5B,IAAIR,GAAA,CAAIS,EAAE,EAAE;IACV,OAAOD,IAAA;EACT,OAAO;IACL,IAAI,OAAOZ,OAAA,KAAY,YAAY;MACjC,KAAKA,OAAA,CAAQY,IAAA;IACf;EACF;EAEA,OAAOb,IAAA,EAAMe,SAAA;AACf","ignoreList":[]}
1
+ {"version":3,"file":"getFormState.js","names":["getFormState","args","apiRoute","body","onError","serverURL","signal","token","res","fetch","JSON","stringify","credentials","headers","Authorization","method","json","ok","state","formState"],"sources":["../../src/utilities/getFormState.ts"],"sourcesContent":["import type { ClientUser, FormState, SanitizedConfig } from 'payload'\n\nimport type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js'\n\nexport const getFormState = async (args: {\n apiRoute: SanitizedConfig['routes']['api']\n body: BuildFormStateArgs\n onError?: (data?: any) => Promise<void> | void\n serverURL: SanitizedConfig['serverURL']\n signal?: AbortSignal\n token?: string\n}): Promise<{ lockedState?: { isLocked: boolean; user: ClientUser }; state: FormState }> => {\n const { apiRoute, body, onError, serverURL, signal, token } = args\n\n const res = await fetch(`${serverURL}${apiRoute}/form-state`, {\n body: JSON.stringify(body),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n ...(token ? { Authorization: `JWT ${token}` } : {}),\n },\n method: 'POST',\n signal,\n })\n\n const json = (await res.json()) as {\n lockedState?: { isLocked: boolean; user: ClientUser }\n state: FormState\n }\n\n if (res.ok) {\n return json\n } else {\n if (typeof onError === 'function') {\n void onError(json)\n }\n }\n\n return { state: body?.formState }\n}\n"],"mappings":"AAIA,OAAO,MAAMA,YAAA,GAAe,MAAOC,IAAA;EAQjC,MAAM;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,OAAO;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAK,CAAE,GAAGN,IAAA;EAE9D,MAAMO,GAAA,GAAM,MAAMC,KAAA,CAAM,GAAGJ,SAAA,GAAYH,QAAA,aAAqB,EAAE;IAC5DC,IAAA,EAAMO,IAAA,CAAKC,SAAS,CAACR,IAAA;IACrBS,WAAA,EAAa;IACbC,OAAA,EAAS;MACP,gBAAgB;MAChB,IAAIN,KAAA,GAAQ;QAAEO,aAAA,EAAe,OAAOP,KAAA;MAAQ,IAAI,CAAC,CAAC;IACpD;IACAQ,MAAA,EAAQ;IACRT;EACF;EAEA,MAAMU,IAAA,GAAQ,MAAMR,GAAA,CAAIQ,IAAI;EAK5B,IAAIR,GAAA,CAAIS,EAAE,EAAE;IACV,OAAOD,IAAA;EACT,OAAO;IACL,IAAI,OAAOZ,OAAA,KAAY,YAAY;MACjC,KAAKA,OAAA,CAAQY,IAAA;IACf;EACF;EAEA,OAAO;IAAEE,KAAA,EAAOf,IAAA,EAAMgB;EAAU;AAClC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/ui",
3
- "version": "3.0.0-beta.107",
3
+ "version": "3.0.0-beta.108",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -104,12 +104,12 @@
104
104
  "react-datepicker": "6.9.0",
105
105
  "react-image-crop": "10.1.8",
106
106
  "react-select": "5.8.0",
107
- "scheduler": "0.25.0-rc-f994737d14-20240522",
107
+ "scheduler": "0.0.0-experimental-5dcb0097-20240918",
108
108
  "sonner": "^1.5.0",
109
109
  "ts-essentials": "10.0.2",
110
110
  "use-context-selector": "2.0.0",
111
111
  "uuid": "10.0.0",
112
- "@payloadcms/translations": "3.0.0-beta.107"
112
+ "@payloadcms/translations": "3.0.0-beta.108"
113
113
  },
114
114
  "devDependencies": {
115
115
  "@babel/cli": "^7.24.5",
@@ -119,29 +119,29 @@
119
119
  "@babel/preset-typescript": "^7.24.1",
120
120
  "@hyrious/esbuild-plugin-commonjs": "^0.2.4",
121
121
  "@types/body-scroll-lock": "^3.1.0",
122
- "@types/react": "npm:types-react@19.0.0-rc.0",
122
+ "@types/react": "npm:types-react@19.0.0-rc.1",
123
123
  "@types/react-datepicker": "6.2.0",
124
- "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
124
+ "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1",
125
125
  "@types/uuid": "10.0.0",
126
- "babel-plugin-react-compiler": "0.0.0-experimental-48eb8f4-20240822",
126
+ "babel-plugin-react-compiler": "0.0.0-experimental-24ec0eb-20240918",
127
127
  "esbuild": "0.23.1",
128
128
  "esbuild-sass-plugin": "3.3.1",
129
- "eslint-plugin-react-compiler": "0.0.0-experimental-72f06b2-20240822",
130
- "payload": "3.0.0-beta.107",
131
- "@payloadcms/eslint-config": "3.0.0-beta.97"
129
+ "eslint-plugin-react-compiler": "0.0.0-experimental-7670337-20240918",
130
+ "@payloadcms/eslint-config": "3.0.0-beta.97",
131
+ "payload": "3.0.0-beta.108"
132
132
  },
133
133
  "peerDependencies": {
134
- "next": "^15.0.0-canary.104",
135
- "react": "^19.0.0 || ^19.0.0-rc-06d0b89e-20240801",
136
- "react-dom": "^19.0.0 || ^19.0.0-rc-06d0b89e-20240801",
137
- "payload": "3.0.0-beta.107"
134
+ "next": "^15.0.0-canary.160",
135
+ "react": "^19.0.0 || ^19.0.0-rc-5dcb0097-20240918",
136
+ "react-dom": "^19.0.0 || ^19.0.0-rc-5dcb0097-20240918",
137
+ "payload": "3.0.0-beta.108"
138
138
  },
139
139
  "engines": {
140
140
  "node": "^18.20.2 || >=20.9.0"
141
141
  },
142
142
  "overrides": {
143
- "@types/react": "npm:types-react@19.0.0-rc.0",
144
- "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0"
143
+ "@types/react": "npm:types-react@19.0.0-rc.1",
144
+ "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1"
145
145
  },
146
146
  "scripts": {
147
147
  "build": "pnpm build:reactcompiler",
@@ -1,8 +0,0 @@
1
- "use client";
2
- {
3
- "version": 3,
4
- "sources": ["../../../src/elements/CodeEditor/CodeEditor.tsx", "../../../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.38.0/node_modules/@monaco-editor/loader/lib/es/_virtual/_rollupPluginBabelHelpers.js", "../../../../../node_modules/.pnpm/state-local@1.0.7/node_modules/state-local/lib/es/state-local.js", "../../../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.38.0/node_modules/@monaco-editor/loader/lib/es/config/index.js", "../../../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.38.0/node_modules/@monaco-editor/loader/lib/es/utils/curry.js", "../../../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.38.0/node_modules/@monaco-editor/loader/lib/es/utils/isObject.js", "../../../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.38.0/node_modules/@monaco-editor/loader/lib/es/validators/index.js", "../../../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.38.0/node_modules/@monaco-editor/loader/lib/es/utils/compose.js", "../../../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.38.0/node_modules/@monaco-editor/loader/lib/es/utils/deepMerge.js", "../../../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.38.0/node_modules/@monaco-editor/loader/lib/es/utils/makeCancelable.js", "../../../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.38.0/node_modules/@monaco-editor/loader/lib/es/loader/index.js", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/index.ts", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/DiffEditor/index.ts", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/DiffEditor/DiffEditor.tsx", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/MonacoContainer/index.ts", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/MonacoContainer/MonacoContainer.tsx", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/MonacoContainer/styles.ts", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/Loading/Loading.tsx", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/Loading/styles.ts", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/Loading/index.ts", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/hooks/useMount/index.ts", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/hooks/useUpdate/index.ts", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/utils/index.ts", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/hooks/useMonaco/index.ts", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/Editor/index.ts", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/Editor/Editor.tsx", "../../../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.38.0_react-dom@19.0.0-rc-06d0b89e-20240801_react@1_d6tuwzktcq3wehzynqh6vxa35y/node_modules/@monaco-editor/react/src/hooks/usePrevious/index.ts"],
5
- "sourcesContent": ["'use client'\nimport EditorImport from '@monaco-editor/react'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTheme } from '../../providers/Theme/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\nimport './index.scss'\n\nconst Editor = (EditorImport.default || EditorImport) as unknown as typeof EditorImport.default\n\nconst baseClass = 'code-editor'\n\nconst CodeEditor: React.FC<Props> = (props) => {\n const { className, height, options, readOnly, ...rest } = props\n\n const { theme } = useTheme()\n\n const classes = [\n baseClass,\n className,\n rest?.defaultLanguage ? `language--${rest.defaultLanguage}` : '',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <Editor\n className={classes}\n height={height}\n loading={<ShimmerEffect height={height} />}\n options={{\n detectIndentation: true,\n minimap: {\n enabled: false,\n },\n readOnly: Boolean(readOnly),\n scrollBeyondLastLine: false,\n tabSize: 2,\n wordWrap: 'on',\n ...options,\n }}\n theme={theme === 'dark' ? 'vs-dark' : 'vs'}\n {...rest}\n />\n )\n}\n\n// eslint-disable-next-line no-restricted-exports\nexport default CodeEditor\n", "function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nexport { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _defineProperty as defineProperty, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _objectSpread2 as objectSpread2, _objectWithoutProperties as objectWithoutProperties, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose, _slicedToArray as slicedToArray, _unsupportedIterableToArray as unsupportedIterableToArray };\n", "function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n}\n\nfunction curry(fn) {\n return function curried() {\n var _this = this;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n nextArgs[_key3] = arguments[_key3];\n }\n\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nfunction isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nfunction isEmpty(obj) {\n return !Object.keys(obj).length;\n}\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nfunction hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nfunction validateChanges(initial, changes) {\n if (!isObject(changes)) errorHandler('changeType');\n if (Object.keys(changes).some(function (field) {\n return !hasOwnProperty(initial, field);\n })) errorHandler('changeField');\n return changes;\n}\n\nfunction validateSelector(selector) {\n if (!isFunction(selector)) errorHandler('selectorType');\n}\n\nfunction validateHandler(handler) {\n if (!(isFunction(handler) || isObject(handler))) errorHandler('handlerType');\n if (isObject(handler) && Object.values(handler).some(function (_handler) {\n return !isFunction(_handler);\n })) errorHandler('handlersType');\n}\n\nfunction validateInitial(initial) {\n if (!initial) errorHandler('initialIsRequired');\n if (!isObject(initial)) errorHandler('initialType');\n if (isEmpty(initial)) errorHandler('initialContent');\n}\n\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\n\nvar errorMessages = {\n initialIsRequired: 'initial state is required',\n initialType: 'initial state should be an object',\n initialContent: 'initial state shouldn\\'t be an empty object',\n handlerType: 'handler should be an object or a function',\n handlersType: 'all handlers should be a functions',\n selectorType: 'selector should be a function',\n changeType: 'provided value of changes should be an object',\n changeField: 'it seams you want to change a field in the state which is not specified in the \"initial\" state',\n \"default\": 'an unknown error accured in `state-local` package'\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n changes: validateChanges,\n selector: validateSelector,\n handler: validateHandler,\n initial: validateInitial\n};\n\nfunction create(initial) {\n var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n validators.initial(initial);\n validators.handler(handler);\n var state = {\n current: initial\n };\n var didUpdate = curry(didStateUpdate)(state, handler);\n var update = curry(updateState)(state);\n var validate = curry(validators.changes)(initial);\n var getChanges = curry(extractChanges)(state);\n\n function getState() {\n var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (state) {\n return state;\n };\n validators.selector(selector);\n return selector(state.current);\n }\n\n function setState(causedChanges) {\n compose(didUpdate, update, validate, getChanges)(causedChanges);\n }\n\n return [getState, setState];\n}\n\nfunction extractChanges(state, causedChanges) {\n return isFunction(causedChanges) ? causedChanges(state.current) : causedChanges;\n}\n\nfunction updateState(state, changes) {\n state.current = _objectSpread2(_objectSpread2({}, state.current), changes);\n return changes;\n}\n\nfunction didStateUpdate(state, handler, changes) {\n isFunction(handler) ? handler(state.current) : Object.keys(changes).forEach(function (field) {\n var _handler$field;\n\n return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]);\n });\n return changes;\n}\n\nvar index = {\n create: create\n};\n\nexport default index;\n", "var config = {\n paths: {\n vs: 'https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs'\n }\n};\n\nexport default config;\n", "function curry(fn) {\n return function curried() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len2 = arguments.length, nextArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n nextArgs[_key2] = arguments[_key2];\n }\n\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nexport default curry;\n", "function isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nexport default isObject;\n", "import curry from '../utils/curry.js';\nimport isObject from '../utils/isObject.js';\n\n/**\n * validates the configuration object and informs about deprecation\n * @param {Object} config - the configuration object \n * @return {Object} config - the validated configuration object\n */\n\nfunction validateConfig(config) {\n if (!config) errorHandler('configIsRequired');\n if (!isObject(config)) errorHandler('configType');\n\n if (config.urls) {\n informAboutDeprecation();\n return {\n paths: {\n vs: config.urls.monacoBase\n }\n };\n }\n\n return config;\n}\n/**\n * logs deprecation message\n */\n\n\nfunction informAboutDeprecation() {\n console.warn(errorMessages.deprecation);\n}\n\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\n\nvar errorMessages = {\n configIsRequired: 'the configuration object is required',\n configType: 'the configuration object should be an object',\n \"default\": 'an unknown error accured in `@monaco-editor/loader` package',\n deprecation: \"Deprecation warning!\\n You are using deprecated way of configuration.\\n\\n Instead of using\\n monaco.config({ urls: { monacoBase: '...' } })\\n use\\n monaco.config({ paths: { vs: '...' } })\\n\\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\\n \"\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n config: validateConfig\n};\n\nexport default validators;\nexport { errorHandler, errorMessages };\n", "var compose = function compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n};\n\nexport default compose;\n", "import { objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';\n\nfunction merge(target, source) {\n Object.keys(source).forEach(function (key) {\n if (source[key] instanceof Object) {\n if (target[key]) {\n Object.assign(source[key], merge(target[key], source[key]));\n }\n }\n });\n return _objectSpread2(_objectSpread2({}, target), source);\n}\n\nexport default merge;\n", "// The source (has been changed) is https://github.com/facebook/react/issues/5465#issuecomment-157888325\nvar CANCELATION_MESSAGE = {\n type: 'cancelation',\n msg: 'operation is manually canceled'\n};\n\nfunction makeCancelable(promise) {\n var hasCanceled_ = false;\n var wrappedPromise = new Promise(function (resolve, reject) {\n promise.then(function (val) {\n return hasCanceled_ ? reject(CANCELATION_MESSAGE) : resolve(val);\n });\n promise[\"catch\"](reject);\n });\n return wrappedPromise.cancel = function () {\n return hasCanceled_ = true;\n }, wrappedPromise;\n}\n\nexport default makeCancelable;\nexport { CANCELATION_MESSAGE };\n", "import { slicedToArray as _slicedToArray, objectWithoutProperties as _objectWithoutProperties } from '../_virtual/_rollupPluginBabelHelpers.js';\nimport state from 'state-local';\nimport config$1 from '../config/index.js';\nimport validators from '../validators/index.js';\nimport compose from '../utils/compose.js';\nimport merge from '../utils/deepMerge.js';\nimport makeCancelable from '../utils/makeCancelable.js';\n\n/** the local state of the module */\n\nvar _state$create = state.create({\n config: config$1,\n isInitialized: false,\n resolve: null,\n reject: null,\n monaco: null\n}),\n _state$create2 = _slicedToArray(_state$create, 2),\n getState = _state$create2[0],\n setState = _state$create2[1];\n/**\n * set the loader configuration\n * @param {Object} config - the configuration object\n */\n\n\nfunction config(globalConfig) {\n var _validators$config = validators.config(globalConfig),\n monaco = _validators$config.monaco,\n config = _objectWithoutProperties(_validators$config, [\"monaco\"]);\n\n setState(function (state) {\n return {\n config: merge(state.config, config),\n monaco: monaco\n };\n });\n}\n/**\n * handles the initialization of the monaco-editor\n * @return {Promise} - returns an instance of monaco (with a cancelable promise)\n */\n\n\nfunction init() {\n var state = getState(function (_ref) {\n var monaco = _ref.monaco,\n isInitialized = _ref.isInitialized,\n resolve = _ref.resolve;\n return {\n monaco: monaco,\n isInitialized: isInitialized,\n resolve: resolve\n };\n });\n\n if (!state.isInitialized) {\n setState({\n isInitialized: true\n });\n\n if (state.monaco) {\n state.resolve(state.monaco);\n return makeCancelable(wrapperPromise);\n }\n\n if (window.monaco && window.monaco.editor) {\n storeMonacoInstance(window.monaco);\n state.resolve(window.monaco);\n return makeCancelable(wrapperPromise);\n }\n\n compose(injectScripts, getMonacoLoaderScript)(configureLoader);\n }\n\n return makeCancelable(wrapperPromise);\n}\n/**\n * injects provided scripts into the document.body\n * @param {Object} script - an HTML script element\n * @return {Object} - the injected HTML script element\n */\n\n\nfunction injectScripts(script) {\n return document.body.appendChild(script);\n}\n/**\n * creates an HTML script element with/without provided src\n * @param {string} [src] - the source path of the script\n * @return {Object} - the created HTML script element\n */\n\n\nfunction createScript(src) {\n var script = document.createElement('script');\n return src && (script.src = src), script;\n}\n/**\n * creates an HTML script element with the monaco loader src\n * @return {Object} - the created HTML script element\n */\n\n\nfunction getMonacoLoaderScript(configureLoader) {\n var state = getState(function (_ref2) {\n var config = _ref2.config,\n reject = _ref2.reject;\n return {\n config: config,\n reject: reject\n };\n });\n var loaderScript = createScript(\"\".concat(state.config.paths.vs, \"/loader.js\"));\n\n loaderScript.onload = function () {\n return configureLoader();\n };\n\n loaderScript.onerror = state.reject;\n return loaderScript;\n}\n/**\n * configures the monaco loader\n */\n\n\nfunction configureLoader() {\n var state = getState(function (_ref3) {\n var config = _ref3.config,\n resolve = _ref3.resolve,\n reject = _ref3.reject;\n return {\n config: config,\n resolve: resolve,\n reject: reject\n };\n });\n var require = window.require;\n\n require.config(state.config);\n\n require(['vs/editor/editor.main'], function (monaco) {\n storeMonacoInstance(monaco);\n state.resolve(monaco);\n }, function (error) {\n state.reject(error);\n });\n}\n/**\n * store monaco instance in local state\n */\n\n\nfunction storeMonacoInstance(monaco) {\n if (!getState().monaco) {\n setState({\n monaco: monaco\n });\n }\n}\n/**\n * internal helper function\n * extracts stored monaco instance\n * @return {Object|null} - the monaco instance\n */\n\n\nfunction __getMonacoInstance() {\n return getState(function (_ref4) {\n var monaco = _ref4.monaco;\n return monaco;\n });\n}\n\nvar wrapperPromise = new Promise(function (resolve, reject) {\n return setState({\n resolve: resolve,\n reject: reject\n });\n});\nvar loader = {\n config: config,\n init: init,\n __getMonacoInstance: __getMonacoInstance\n};\n\nexport default loader;\n", "import loader from '@monaco-editor/loader';\nexport { loader };\n\nimport DiffEditor from './DiffEditor';\nexport * from './DiffEditor/types';\nexport { DiffEditor };\n\nimport useMonaco from './hooks/useMonaco';\nexport { useMonaco };\n\nimport Editor from './Editor';\nexport * from './Editor/types';\nexport { Editor };\nexport default Editor;\n\n// Monaco\nimport type * as monaco from 'monaco-editor/esm/vs/editor/editor.api';\nexport type Monaco = typeof monaco;\n\n// Default themes\nexport type Theme = 'vs-dark' | 'light';\n", "import { memo } from 'react';\n\nimport DiffEditor from './DiffEditor';\n\nexport * from './types';\n\nexport default memo(DiffEditor);\n", "'use client';\n\nimport React, { useState, useRef, useCallback, useEffect } from 'react';\nimport loader from '@monaco-editor/loader';\n\nimport MonacoContainer from '../MonacoContainer';\nimport useMount from '../hooks/useMount';\nimport useUpdate from '../hooks/useUpdate';\nimport { noop, getOrCreateModel } from '../utils';\nimport { type DiffEditorProps, type MonacoDiffEditor } from './types';\nimport { type Monaco } from '..';\n\nfunction DiffEditor({\n original,\n modified,\n language,\n originalLanguage,\n modifiedLanguage,\n originalModelPath,\n modifiedModelPath,\n keepCurrentOriginalModel = false,\n keepCurrentModifiedModel = false,\n theme = 'light',\n loading = 'Loading...',\n options = {},\n height = '100%',\n width = '100%',\n className,\n wrapperProps = {},\n beforeMount = noop,\n onMount = noop,\n}: DiffEditorProps) {\n const [isEditorReady, setIsEditorReady] = useState(false);\n const [isMonacoMounting, setIsMonacoMounting] = useState(true);\n const editorRef = useRef<MonacoDiffEditor | null>(null);\n const monacoRef = useRef<Monaco | null>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const onMountRef = useRef(onMount);\n const beforeMountRef = useRef(beforeMount);\n const preventCreation = useRef(false);\n\n useMount(() => {\n const cancelable = loader.init();\n\n cancelable\n .then((monaco) => (monacoRef.current = monaco) && setIsMonacoMounting(false))\n .catch(\n (error) =>\n error?.type !== 'cancelation' && console.error('Monaco initialization: error:', error),\n );\n\n return () => (editorRef.current ? disposeEditor() : cancelable.cancel());\n });\n\n useUpdate(\n () => {\n if (editorRef.current && monacoRef.current) {\n const originalEditor = editorRef.current.getOriginalEditor();\n const model = getOrCreateModel(\n monacoRef.current,\n original || '',\n originalLanguage || language || 'text',\n originalModelPath || '',\n );\n\n if (model !== originalEditor.getModel()) {\n originalEditor.setModel(model);\n }\n }\n },\n [originalModelPath],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n if (editorRef.current && monacoRef.current) {\n const modifiedEditor = editorRef.current.getModifiedEditor();\n const model = getOrCreateModel(\n monacoRef.current,\n modified || '',\n modifiedLanguage || language || 'text',\n modifiedModelPath || '',\n );\n\n if (model !== modifiedEditor.getModel()) {\n modifiedEditor.setModel(model);\n }\n }\n },\n [modifiedModelPath],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n const modifiedEditor = editorRef.current!.getModifiedEditor();\n if (modifiedEditor.getOption(monacoRef.current!.editor.EditorOption.readOnly)) {\n modifiedEditor.setValue(modified || '');\n } else {\n if (modified !== modifiedEditor.getValue()) {\n modifiedEditor.executeEdits('', [\n {\n range: modifiedEditor.getModel()!.getFullModelRange(),\n text: modified || '',\n forceMoveMarkers: true,\n },\n ]);\n\n modifiedEditor.pushUndoStop();\n }\n }\n },\n [modified],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n editorRef.current?.getModel()?.original.setValue(original || '');\n },\n [original],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n const { original, modified } = editorRef.current!.getModel()!;\n\n monacoRef.current!.editor.setModelLanguage(original, originalLanguage || language || 'text');\n monacoRef.current!.editor.setModelLanguage(modified, modifiedLanguage || language || 'text');\n },\n [language, originalLanguage, modifiedLanguage],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n monacoRef.current?.editor.setTheme(theme);\n },\n [theme],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n editorRef.current?.updateOptions(options);\n },\n [options],\n isEditorReady,\n );\n\n const setModels = useCallback(() => {\n if (!monacoRef.current) return;\n beforeMountRef.current(monacoRef.current);\n const originalModel = getOrCreateModel(\n monacoRef.current,\n original || '',\n originalLanguage || language || 'text',\n originalModelPath || '',\n );\n\n const modifiedModel = getOrCreateModel(\n monacoRef.current,\n modified || '',\n modifiedLanguage || language || 'text',\n modifiedModelPath || '',\n );\n\n editorRef.current?.setModel({\n original: originalModel,\n modified: modifiedModel,\n });\n }, [\n language,\n modified,\n modifiedLanguage,\n original,\n originalLanguage,\n originalModelPath,\n modifiedModelPath,\n ]);\n\n const createEditor = useCallback(() => {\n if (!preventCreation.current && containerRef.current) {\n editorRef.current = monacoRef.current!.editor.createDiffEditor(containerRef.current, {\n automaticLayout: true,\n ...options,\n });\n\n setModels();\n\n monacoRef.current?.editor.setTheme(theme);\n\n setIsEditorReady(true);\n preventCreation.current = true;\n }\n }, [options, theme, setModels]);\n\n useEffect(() => {\n if (isEditorReady) {\n onMountRef.current(editorRef.current!, monacoRef.current!);\n }\n }, [isEditorReady]);\n\n useEffect(() => {\n !isMonacoMounting && !isEditorReady && createEditor();\n }, [isMonacoMounting, isEditorReady, createEditor]);\n\n function disposeEditor() {\n const models = editorRef.current?.getModel();\n\n if (!keepCurrentOriginalModel) {\n models?.original?.dispose();\n }\n\n if (!keepCurrentModifiedModel) {\n models?.modified?.dispose();\n }\n\n editorRef.current?.dispose();\n }\n\n return (\n <MonacoContainer\n width={width}\n height={height}\n isEditorReady={isEditorReady}\n loading={loading}\n _ref={containerRef}\n className={className}\n wrapperProps={wrapperProps}\n />\n );\n}\n\nexport default DiffEditor;\n", "import { memo } from 'react';\n\nimport MonacoContainer from './MonacoContainer';\n\nexport default memo(MonacoContainer);\n", "import React from 'react';\n\nimport styles from './styles';\nimport Loading from '../Loading';\nimport { type ContainerProps } from './types';\n\n// ** forwardref render functions do not support proptypes or defaultprops **\n// one of the reasons why we use a separate prop for passing ref instead of using forwardref\n\nfunction MonacoContainer({\n width,\n height,\n isEditorReady,\n loading,\n _ref,\n className,\n wrapperProps,\n}: ContainerProps) {\n return (\n <section style={{ ...styles.wrapper, width, height }} {...wrapperProps}>\n {!isEditorReady && <Loading>{loading}</Loading>}\n <div\n ref={_ref}\n style={{ ...styles.fullWidth, ...(!isEditorReady && styles.hide) }}\n className={className}\n />\n </section>\n );\n}\n\nexport default MonacoContainer;\n", "import { type CSSProperties } from 'react';\n\nconst styles: Record<string, CSSProperties> = {\n wrapper: {\n display: 'flex',\n position: 'relative',\n textAlign: 'initial',\n },\n fullWidth: {\n width: '100%',\n },\n hide: {\n display: 'none',\n },\n};\n\nexport default styles;\n", "import React, { type PropsWithChildren } from 'react';\n\nimport styles from './styles';\n\nfunction Loading({ children }: PropsWithChildren) {\n return <div style={styles.container}>{children}</div>;\n}\n\nexport default Loading;\n", "import { type CSSProperties } from 'react';\n\nconst styles: Record<string, CSSProperties> = {\n container: {\n display: 'flex',\n height: '100%',\n width: '100%',\n justifyContent: 'center',\n alignItems: 'center',\n },\n};\n\nexport default styles;\n", "import Loading from './Loading';\n\nexport default Loading;\n", "import { useEffect, type EffectCallback } from 'react';\n\nfunction useMount(effect: EffectCallback) {\n useEffect(effect, []);\n}\n\nexport default useMount;\n", "import { useEffect, useRef, type DependencyList, type EffectCallback } from 'react';\n\nfunction useUpdate(effect: EffectCallback, deps: DependencyList, applyChanges = true) {\n const isInitialMount = useRef(true);\n\n useEffect(\n isInitialMount.current || !applyChanges\n ? () => {\n isInitialMount.current = false;\n }\n : effect,\n deps,\n );\n}\n\nexport default useUpdate;\n", "import { type Monaco } from '..';\n\n/**\n * noop is a helper function that does nothing\n * @returns undefined\n */\nfunction noop() {\n /** no-op */\n}\n\n/**\n * getOrCreateModel is a helper function that will return a model if it exists\n * or create a new model if it does not exist.\n * This is useful for when you want to create a model for a file that may or may not exist yet.\n * @param monaco The monaco instance\n * @param value The value of the model\n * @param language The language of the model\n * @param path The path of the model\n * @returns The model that was found or created\n */\nfunction getOrCreateModel(monaco: Monaco, value: string, language: string, path: string) {\n return getModel(monaco, path) || createModel(monaco, value, language, path);\n}\n\n/**\n * getModel is a helper function that will return a model if it exists\n * or return undefined if it does not exist.\n * @param monaco The monaco instance\n * @param path The path of the model\n * @returns The model that was found or undefined\n */\nfunction getModel(monaco: Monaco, path: string) {\n return monaco.editor.getModel(createModelUri(monaco, path));\n}\n\n/**\n * createModel is a helper function that will create a new model\n * @param monaco The monaco instance\n * @param value The value of the model\n * @param language The language of the model\n * @param path The path of the model\n * @returns The model that was created\n */\nfunction createModel(monaco: Monaco, value: string, language?: string, path?: string) {\n return monaco.editor.createModel(\n value,\n language,\n path ? createModelUri(monaco, path) : undefined,\n );\n}\n\n/**\n * createModelUri is a helper function that will create a new model uri\n * @param monaco The monaco instance\n * @param path The path of the model\n * @returns The model uri that was created\n */\nfunction createModelUri(monaco: Monaco, path: string) {\n return monaco.Uri.parse(path);\n}\n\nexport { noop, getOrCreateModel };\n", "import { useState } from 'react';\nimport loader from '@monaco-editor/loader';\n\nimport useMount from '../useMount';\n\nfunction useMonaco() {\n const [monaco, setMonaco] = useState(loader.__getMonacoInstance());\n\n useMount(() => {\n let cancelable: ReturnType<typeof loader.init>;\n\n if (!monaco) {\n cancelable = loader.init();\n\n cancelable.then((monaco) => {\n setMonaco(monaco);\n });\n }\n\n return () => cancelable?.cancel();\n });\n\n return monaco;\n}\n\nexport default useMonaco;\n", "import { memo } from 'react';\n\nimport Editor from './Editor';\n\nexport * from './types';\n\nexport default memo(Editor);\n", "'use client';\n\nimport React, { useState, useEffect, useRef, useCallback } from 'react';\nimport loader from '@monaco-editor/loader';\nimport useMount from '../hooks/useMount';\nimport useUpdate from '../hooks/useUpdate';\nimport usePrevious from '../hooks/usePrevious';\nimport { type IDisposable, type editor } from 'monaco-editor';\nimport { noop, getOrCreateModel } from '../utils';\nimport { type EditorProps } from './types';\nimport { type Monaco } from '..';\nimport MonacoContainer from '../MonacoContainer';\n\nconst viewStates = new Map();\n\nfunction Editor({\n defaultValue,\n defaultLanguage,\n defaultPath,\n value,\n language,\n path,\n /* === */\n theme = 'light',\n line,\n loading = 'Loading...',\n options = {},\n overrideServices = {},\n saveViewState = true,\n keepCurrentModel = false,\n /* === */\n width = '100%',\n height = '100%',\n className,\n wrapperProps = {},\n /* === */\n beforeMount = noop,\n onMount = noop,\n onChange,\n onValidate = noop,\n}: EditorProps) {\n const [isEditorReady, setIsEditorReady] = useState(false);\n const [isMonacoMounting, setIsMonacoMounting] = useState(true);\n const monacoRef = useRef<Monaco | null>(null);\n const editorRef = useRef<editor.IStandaloneCodeEditor | null>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const onMountRef = useRef(onMount);\n const beforeMountRef = useRef(beforeMount);\n const subscriptionRef = useRef<IDisposable>();\n const valueRef = useRef(value);\n const previousPath = usePrevious(path);\n const preventCreation = useRef(false);\n const preventTriggerChangeEvent = useRef<boolean>(false);\n\n useMount(() => {\n const cancelable = loader.init();\n\n cancelable\n .then((monaco) => (monacoRef.current = monaco) && setIsMonacoMounting(false))\n .catch(\n (error) =>\n error?.type !== 'cancelation' && console.error('Monaco initialization: error:', error),\n );\n\n return () => (editorRef.current ? disposeEditor() : cancelable.cancel());\n });\n\n useUpdate(\n () => {\n const model = getOrCreateModel(\n monacoRef.current!,\n defaultValue || value || '',\n defaultLanguage || language || '',\n path || defaultPath || '',\n );\n\n if (model !== editorRef.current?.getModel()) {\n if (saveViewState) viewStates.set(previousPath, editorRef.current?.saveViewState());\n editorRef.current?.setModel(model);\n if (saveViewState) editorRef.current?.restoreViewState(viewStates.get(path));\n }\n },\n [path],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n editorRef.current?.updateOptions(options);\n },\n [options],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n if (!editorRef.current || value === undefined) return;\n if (editorRef.current.getOption(monacoRef.current!.editor.EditorOption.readOnly)) {\n editorRef.current.setValue(value);\n } else if (value !== editorRef.current.getValue()) {\n preventTriggerChangeEvent.current = true;\n editorRef.current.executeEdits('', [\n {\n range: editorRef.current.getModel()!.getFullModelRange(),\n text: value,\n forceMoveMarkers: true,\n },\n ]);\n\n editorRef.current.pushUndoStop();\n preventTriggerChangeEvent.current = false;\n }\n },\n [value],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n const model = editorRef.current?.getModel();\n if (model && language) monacoRef.current?.editor.setModelLanguage(model, language);\n },\n [language],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n // reason for undefined check: https://github.com/suren-atoyan/monaco-react/pull/188\n if (line !== undefined) {\n editorRef.current?.revealLine(line);\n }\n },\n [line],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n monacoRef.current?.editor.setTheme(theme);\n },\n [theme],\n isEditorReady,\n );\n\n const createEditor = useCallback(() => {\n if (!containerRef.current || !monacoRef.current) return;\n if (!preventCreation.current) {\n beforeMountRef.current(monacoRef.current);\n const autoCreatedModelPath = path || defaultPath;\n\n const defaultModel = getOrCreateModel(\n monacoRef.current,\n value || defaultValue || '',\n defaultLanguage || language || '',\n autoCreatedModelPath || '',\n );\n\n editorRef.current = monacoRef.current?.editor.create(\n containerRef.current,\n {\n model: defaultModel,\n automaticLayout: true,\n ...options,\n },\n overrideServices,\n );\n\n saveViewState && editorRef.current.restoreViewState(viewStates.get(autoCreatedModelPath));\n\n monacoRef.current.editor.setTheme(theme);\n\n if (line !== undefined) {\n editorRef.current.revealLine(line);\n }\n\n setIsEditorReady(true);\n preventCreation.current = true;\n }\n }, [\n defaultValue,\n defaultLanguage,\n defaultPath,\n value,\n language,\n path,\n options,\n overrideServices,\n saveViewState,\n theme,\n line,\n ]);\n\n useEffect(() => {\n if (isEditorReady) {\n onMountRef.current(editorRef.current!, monacoRef.current!);\n }\n }, [isEditorReady]);\n\n useEffect(() => {\n !isMonacoMounting && !isEditorReady && createEditor();\n }, [isMonacoMounting, isEditorReady, createEditor]);\n\n // subscription\n // to avoid unnecessary updates (attach - dispose listener) in subscription\n valueRef.current = value;\n\n // onChange\n useEffect(() => {\n if (isEditorReady && onChange) {\n subscriptionRef.current?.dispose();\n subscriptionRef.current = editorRef.current?.onDidChangeModelContent((event) => {\n if (!preventTriggerChangeEvent.current) {\n onChange(editorRef.current!.getValue(), event);\n }\n });\n }\n }, [isEditorReady, onChange]);\n\n // onValidate\n useEffect(() => {\n if (isEditorReady) {\n const changeMarkersListener = monacoRef.current!.editor.onDidChangeMarkers((uris) => {\n const editorUri = editorRef.current!.getModel()?.uri;\n\n if (editorUri) {\n const currentEditorHasMarkerChanges = uris.find((uri) => uri.path === editorUri.path);\n if (currentEditorHasMarkerChanges) {\n const markers = monacoRef.current!.editor.getModelMarkers({\n resource: editorUri,\n });\n onValidate?.(markers);\n }\n }\n });\n\n return () => {\n changeMarkersListener?.dispose();\n };\n }\n return () => {\n // eslint happy\n };\n }, [isEditorReady, onValidate]);\n\n function disposeEditor() {\n subscriptionRef.current?.dispose();\n\n if (keepCurrentModel) {\n saveViewState && viewStates.set(path, editorRef.current!.saveViewState());\n } else {\n editorRef.current!.getModel()?.dispose();\n }\n\n editorRef.current!.dispose();\n }\n\n return (\n <MonacoContainer\n width={width}\n height={height}\n isEditorReady={isEditorReady}\n loading={loading}\n _ref={containerRef}\n className={className}\n wrapperProps={wrapperProps}\n />\n );\n}\n\nexport default Editor;\n", "import { useEffect, useRef } from 'react';\n\nfunction usePrevious<T>(value: T) {\n const ref = useRef<T>();\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n}\n\nexport default usePrevious;\n"],
6
- "mappings": "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",
7
- "names": ["c", "_c", "_defineProperty", "obj", "key", "value", "ownKeys", "object", "enumerableOnly", "keys", "symbols", "sym", "_objectSpread2", "target", "i", "source", "_objectWithoutPropertiesLoose", "excluded", "sourceKeys", "_objectWithoutProperties", "sourceSymbolKeys", "_slicedToArray", "arr", "_arrayWithHoles", "_iterableToArrayLimit", "_unsupportedIterableToArray", "_nonIterableRest", "_arr", "_n", "_d", "_e", "_i", "_s", "err", "o", "minLen", "_arrayLikeToArray", "n", "len", "arr2", "_defineProperty", "obj", "key", "value", "ownKeys", "object", "enumerableOnly", "keys", "symbols", "sym", "_objectSpread2", "target", "i", "source", "compose", "_len", "fns", "_key", "x", "y", "f", "curry", "fn", "curried", "_this", "_len2", "args", "_key2", "_len3", "nextArgs", "_key3", "isObject", "isEmpty", "isFunction", "hasOwnProperty", "property", "validateChanges", "initial", "changes", "errorHandler", "field", "validateSelector", "selector", "validateHandler", "handler", "_handler", "validateInitial", "throwError", "errorMessages", "type", "validators", "create", "state", "didUpdate", "didStateUpdate", "update", "updateState", "validate", "getChanges", "extractChanges", "getState", "setState", "causedChanges", "_handler$field", "index", "state_local_default", "config", "config_default", "curry", "fn", "curried", "_this", "_len", "args", "_key", "_len2", "nextArgs", "_key2", "curry_default", "isObject", "value", "isObject_default", "validateConfig", "config", "errorHandler", "isObject_default", "informAboutDeprecation", "errorMessages", "throwError", "type", "curry_default", "validators", "validators_default", "compose", "_len", "fns", "_key", "x", "y", "f", "compose_default", "merge", "target", "source", "key", "_objectSpread2", "deepMerge_default", "CANCELATION_MESSAGE", "makeCancelable", "promise", "hasCanceled_", "wrappedPromise", "resolve", "reject", "val", "makeCancelable_default", "_state$create", "state_local_default", "config_default", "_state$create2", "_slicedToArray", "getState", "setState", "config", "globalConfig", "_validators$config", "validators_default", "monaco", "_objectWithoutProperties", "state", "deepMerge_default", "init", "_ref", "isInitialized", "resolve", "makeCancelable_default", "wrapperPromise", "storeMonacoInstance", "compose_default", "injectScripts", "getMonacoLoaderScript", "configureLoader", "script", "createScript", "src", "_ref2", "reject", "loaderScript", "_ref3", "require", "error", "__getMonacoInstance", "_ref4", "loader", "loader_default", "memo", "React", "useState", "useRef", "useCallback", "useEffect", "memo", "React", "useEffect", "useRef", "useState", "memo", "React", "useState", "useEffect", "useRef", "useCallback", "useEffect", "useRef", "styles", "styles_default", "Loading", "children", "React", "Loading_default", "MonacoContainer", "width", "height", "isEditorReady", "loading", "_ref", "className", "wrapperProps", "MonacoContainer_default", "memo", "useMount", "effect", "useMount_default", "useUpdate", "deps", "applyChanges", "isInitialMount", "useUpdate_default", "noop", "getOrCreateModel", "monaco", "value", "language", "path", "getModel", "createModel", "createModelUri", "DiffEditor", "original", "modified", "originalLanguage", "modifiedLanguage", "originalModelPath", "modifiedModelPath", "keepCurrentOriginalModel", "keepCurrentModifiedModel", "theme", "options", "beforeMount", "onMount", "setIsEditorReady", "useState", "isMonacoMounting", "setIsMonacoMounting", "editorRef", "monacoRef", "containerRef", "onMountRef", "beforeMountRef", "preventCreation", "cancelable", "loader", "error", "disposeEditor", "originalEditor", "model", "modifiedEditor", "setModels", "useCallback", "originalModel", "modifiedModel", "createEditor", "models", "DiffEditor_default", "usePrevious", "value", "ref", "useRef", "useEffect", "usePrevious_default", "viewStates", "Editor", "defaultValue", "defaultLanguage", "defaultPath", "language", "path", "theme", "line", "loading", "options", "overrideServices", "saveViewState", "keepCurrentModel", "width", "height", "className", "wrapperProps", "beforeMount", "noop", "onMount", "onChange", "onValidate", "isEditorReady", "setIsEditorReady", "useState", "isMonacoMounting", "setIsMonacoMounting", "monacoRef", "editorRef", "containerRef", "onMountRef", "beforeMountRef", "subscriptionRef", "valueRef", "previousPath", "preventCreation", "preventTriggerChangeEvent", "useMount_default", "cancelable", "loader", "monaco", "error", "disposeEditor", "useUpdate_default", "model", "getOrCreateModel", "createEditor", "useCallback", "autoCreatedModelPath", "defaultModel", "event", "changeMarkersListener", "uris", "editorUri", "uri", "markers", "React", "MonacoContainer_default", "Editor_default", "memo", "src_default", "Editor", "Ft", "EditorImport", "baseClass", "props", "CodeEditor", "rest", "readOnly", "className", "height", "options", "$", "theme", "useTheme", "t0", "defaultLanguage", "t2", "t1", "classes", "t3", "_jsx", "ShimmerEffect", "loading", "scrollBeyondLastLine", "tabSize", "wordWrap", "CodeEditor_default"]
8
- }
@@ -1,14 +0,0 @@
1
- "use client";
2
- // Workaround for react-datepicker and other cjs dependencies potentially inserting require("react") statements
3
- import * as requireReact from 'react';
4
- import * as requireReactDom from 'react-dom';
5
-
6
- function require(m) {
7
- if (m === 'react') return requireReact;
8
- if (m === 'react-dom') return requireReactDom;
9
- throw new Error(`Unknown module ${m}`);
10
- }
11
- // Workaround end
12
-
13
- import*as l from"react";var g=(r,e=!1)=>{let[t,o]=l.useState(!1),c=l.useRef(void 0),s=l.useCallback(()=>(o(!1),clearTimeout(c.current),c.current=setTimeout(()=>{o(!0)},r),()=>{clearTimeout(c.current)}),[r]);return l.useEffect(()=>{e&&s()},[s,e]),[t,s]};import{c as T}from"react/compiler-runtime";import{jsx as y}from"react/jsx-runtime";import"react";var R=({animationDelay:r="0ms",height:e="60px",width:t="100%"})=>y("div",{className:"shimmer-effect",style:{height:typeof e=="number"?`${e}px`:e,width:typeof t=="number"?`${t}px`:t},children:y("div",{className:"shimmer-effect__shine",style:{animationDelay:r}})}),I=r=>{let e=T(7),{className:t,count:o,height:c,renderDelay:s,shimmerDelay:h,shimmerItemClassName:u,width:d}=r,p=s===void 0?500:s,i=h===void 0?25:h,n=typeof i=="number"?`${i}ms`:i,[f]=g(p,!0);if(!f)return null;let m;return e[0]!==o||e[1]!==u||e[2]!==n||e[3]!==c||e[4]!==d||e[5]!==t?(m=y("div",{className:t,children:[...Array(o)].map((x,a)=>y("div",{className:u,children:y(R,{animationDelay:`calc(${a} * ${n})`,height:c,width:d})},a))}),e[0]=o,e[1]=u,e[2]=n,e[3]=c,e[4]=d,e[5]=t,e[6]=m):m=e[6],m};import{c as $}from"react/compiler-runtime";import{jsx as b}from"react/jsx-runtime";import{createContext as _,useContext as v,useEffect as E,useState as D}from"react";var M={autoMode:!0,setTheme:()=>null,theme:"light"},C=_(M);function w(r,e,t){let o=new Date;o.setTime(o.getTime()+t*24*60*60*1e3);let c="expires="+o.toUTCString();document.cookie=r+"="+e+";"+c+";path=/"}var A=r=>{let e,t=window.document.cookie.split("; ").find(o=>o.startsWith(`${r}=`))?.split("=")[1];return t==="light"||t==="dark"?e=t:e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",document.documentElement.setAttribute("data-theme",e),{theme:e,themeFromCookies:t}},N="light",G=r=>{let e=$(10),{children:t,cookiePrefix:o,theme:c}=r,s=`${o||"payload"}-theme`,[h,u]=D(c||N),[d,p]=D(),i,n;e[0]!==s?(i=()=>{let{theme:a,themeFromCookies:k}=A(s);u(a),p(!k)},n=[s],e[0]=s,e[1]=i,e[2]=n):(i=e[1],n=e[2]),E(i,n);let f;e[3]!==s?(f=a=>{if(a==="light"||a==="dark")u(a),p(!1),w(s,a,365),document.documentElement.setAttribute("data-theme",a);else if(a==="auto"){w(s,a,-1);let k=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";document.documentElement.setAttribute("data-theme",k),p(!0),u(k)}},e[3]=s,e[4]=f):f=e[4];let m=f,x;return e[5]!==d||e[6]!==m||e[7]!==h||e[8]!==t?(x=b(C.Provider,{value:{autoMode:d,setTheme:m,theme:h},children:t}),e[5]=d,e[6]=m,e[7]=h,e[8]=t,e[9]=x):x=e[9],x},J=()=>v(C);export{g as a,R as b,I as c,N as d,G as e,J as f};
14
- //# sourceMappingURL=chunk-BGA6EPOL.js.map