@payloadcms/ui 4.0.0-canary.6 → 4.0.0-canary.8

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 (189) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/elements/AddNewRelation/index.css +28 -28
  3. package/dist/elements/AppHeader/index.d.ts +2 -1
  4. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  5. package/dist/elements/AppHeader/index.js +2 -0
  6. package/dist/elements/AppHeader/index.js.map +1 -1
  7. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  8. package/dist/elements/BulkUpload/FormsManager/index.js +13 -0
  9. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  10. package/dist/elements/DocumentFields/index.css +8 -0
  11. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +38 -13
  12. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  13. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +37 -31
  14. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  15. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  16. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  17. package/dist/elements/Hierarchy/Tree/index.js +18 -5
  18. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  19. package/dist/elements/RelationshipTable/index.css +1 -2
  20. package/dist/elements/RenderServerComponent/clientOnly.d.ts +8 -0
  21. package/dist/elements/RenderServerComponent/clientOnly.d.ts.map +1 -0
  22. package/dist/elements/RenderServerComponent/clientOnly.js +56 -0
  23. package/dist/elements/RenderServerComponent/clientOnly.js.map +1 -0
  24. package/dist/elements/SidebarRow/index.css +0 -2
  25. package/dist/elements/Table/index.css +7 -2
  26. package/dist/elements/UserMenu/index.d.ts +1 -0
  27. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  28. package/dist/elements/UserMenu/index.js +2 -1
  29. package/dist/elements/UserMenu/index.js.map +1 -1
  30. package/dist/exports/client/index.d.ts +1 -0
  31. package/dist/exports/client/index.d.ts.map +1 -1
  32. package/dist/exports/client/index.js +1 -86
  33. package/dist/exports/client/index.js.map +4 -4
  34. package/dist/exports/rsc/index.d.ts +2 -0
  35. package/dist/exports/rsc/index.d.ts.map +1 -1
  36. package/dist/exports/rsc/index.js +2 -0
  37. package/dist/exports/rsc/index.js.map +1 -1
  38. package/dist/exports/server.d.ts +3 -0
  39. package/dist/exports/server.d.ts.map +1 -0
  40. package/dist/exports/server.js +2 -0
  41. package/dist/exports/server.js.map +1 -0
  42. package/dist/exports/shared/index.js.map +2 -2
  43. package/dist/fields/Group/index.css +1 -7
  44. package/dist/forms/Form/types.d.ts +2 -2
  45. package/dist/forms/Form/types.d.ts.map +1 -1
  46. package/dist/forms/Form/types.js.map +1 -1
  47. package/dist/forms/RenderFields/index.css +4 -4
  48. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  49. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  50. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +9 -1
  51. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  52. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
  53. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  54. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  55. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
  56. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  57. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  58. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
  59. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  60. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  61. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  62. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  63. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  64. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  65. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  66. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  67. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  68. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  69. package/dist/providers/Auth/index.d.ts +2 -2
  70. package/dist/providers/Auth/index.d.ts.map +1 -1
  71. package/dist/providers/Auth/index.js.map +1 -1
  72. package/dist/providers/DocumentInfo/types.d.ts +2 -2
  73. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  74. package/dist/providers/DocumentInfo/types.js.map +1 -1
  75. package/dist/providers/Root/index.d.ts +2 -2
  76. package/dist/providers/Root/index.d.ts.map +1 -1
  77. package/dist/providers/Root/index.js.map +1 -1
  78. package/dist/styles.css +1369 -1
  79. package/dist/templates/Default/index.d.ts.map +1 -1
  80. package/dist/templates/Default/index.js +6 -0
  81. package/dist/templates/Default/index.js.map +1 -1
  82. package/dist/utilities/buildFormState.d.ts.map +1 -1
  83. package/dist/utilities/buildFormState.js +1 -0
  84. package/dist/utilities/buildFormState.js.map +1 -1
  85. package/dist/utilities/formatRelativeDate.d.ts +15 -0
  86. package/dist/utilities/formatRelativeDate.d.ts.map +1 -0
  87. package/dist/utilities/formatRelativeDate.js +62 -0
  88. package/dist/utilities/formatRelativeDate.js.map +1 -0
  89. package/dist/utilities/getDocPreferences.d.ts +2 -2
  90. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  91. package/dist/utilities/getDocPreferences.js.map +1 -1
  92. package/dist/utilities/getDocumentData.d.ts +2 -2
  93. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  94. package/dist/utilities/getDocumentData.js.map +1 -1
  95. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  96. package/dist/utilities/getGlobalData.js.map +1 -1
  97. package/dist/utilities/getHasScheduledPublish.d.ts +2 -2
  98. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  99. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  100. package/dist/utilities/getIsLocked.d.ts +2 -2
  101. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  102. package/dist/utilities/getIsLocked.js.map +1 -1
  103. package/dist/utilities/getVersions.d.ts +2 -2
  104. package/dist/utilities/getVersions.d.ts.map +1 -1
  105. package/dist/utilities/getVersions.js.map +1 -1
  106. package/dist/utilities/handleAuthRedirect.d.ts +2 -2
  107. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  108. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  109. package/dist/utilities/handleFormStateLocking.d.ts +2 -2
  110. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  111. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  112. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  113. package/dist/utilities/recentlyViewed.d.ts +16 -0
  114. package/dist/utilities/recentlyViewed.d.ts.map +1 -0
  115. package/dist/utilities/recentlyViewed.js +21 -0
  116. package/dist/utilities/recentlyViewed.js.map +1 -0
  117. package/dist/utilities/recentlyViewed.spec.js +92 -0
  118. package/dist/utilities/recentlyViewed.spec.js.map +1 -0
  119. package/dist/utilities/serverFunctionRegistry.d.ts +13 -0
  120. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -0
  121. package/dist/utilities/serverFunctionRegistry.js +25 -0
  122. package/dist/utilities/serverFunctionRegistry.js.map +1 -0
  123. package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
  124. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  125. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  126. package/dist/views/Account/Settings/index.d.ts +2 -2
  127. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  128. package/dist/views/Account/Settings/index.js.map +1 -1
  129. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
  130. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
  131. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  132. package/dist/views/Document/index.d.ts.map +1 -1
  133. package/dist/views/Document/index.js +16 -0
  134. package/dist/views/Document/index.js.map +1 -1
  135. package/dist/views/Document/recordRecentlyViewed.d.ts +12 -0
  136. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -0
  137. package/dist/views/Document/recordRecentlyViewed.js +40 -0
  138. package/dist/views/Document/recordRecentlyViewed.js.map +1 -0
  139. package/dist/views/Logout/LogoutClient.d.ts +14 -0
  140. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  141. package/dist/views/Logout/LogoutClient.js +6 -4
  142. package/dist/views/Logout/LogoutClient.js.map +1 -1
  143. package/dist/views/Logout/index.d.ts.map +1 -1
  144. package/dist/views/Logout/index.js +7 -2
  145. package/dist/views/Logout/index.js.map +1 -1
  146. package/dist/views/Versions/fetchVersions.d.ts +4 -4
  147. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  148. package/dist/views/Versions/fetchVersions.js.map +1 -1
  149. package/dist/views/Versions/types.d.ts +2 -2
  150. package/dist/views/Versions/types.d.ts.map +1 -1
  151. package/dist/views/Versions/types.js.map +1 -1
  152. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +20 -0
  153. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -0
  154. package/dist/widgets/CollectionCards/getCollectionCardsData.js +29 -0
  155. package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -0
  156. package/dist/widgets/CollectionCards/index.client.d.ts +5 -0
  157. package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -0
  158. package/dist/widgets/CollectionCards/index.client.js +139 -0
  159. package/dist/widgets/CollectionCards/index.client.js.map +1 -0
  160. package/dist/widgets/CollectionQuery/index.css +10 -152
  161. package/dist/widgets/CollectionQuery/index.d.ts +0 -1
  162. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -1
  163. package/dist/widgets/CollectionQuery/index.js +40 -111
  164. package/dist/widgets/CollectionQuery/index.js.map +1 -1
  165. package/dist/widgets/RecentlyViewed/CollectionsField/index.css +14 -0
  166. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +10 -0
  167. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -0
  168. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +76 -0
  169. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -0
  170. package/dist/widgets/RecentlyViewed/index.d.ts +10 -0
  171. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -0
  172. package/dist/widgets/RecentlyViewed/index.js +148 -0
  173. package/dist/widgets/RecentlyViewed/index.js.map +1 -0
  174. package/dist/widgets/WidgetCard/index.css +155 -0
  175. package/dist/widgets/WidgetCard/index.d.ts +19 -0
  176. package/dist/widgets/WidgetCard/index.d.ts.map +1 -0
  177. package/dist/widgets/WidgetCard/index.js +49 -0
  178. package/dist/widgets/WidgetCard/index.js.map +1 -0
  179. package/package.json +57 -7
  180. package/dist/exports/client/CodeEditor-T3624SG3.js +0 -14
  181. package/dist/exports/client/CodeEditor-T3624SG3.js.map +0 -7
  182. package/dist/exports/client/DatePicker-6KF52Z3G.js +0 -14
  183. package/dist/exports/client/DatePicker-6KF52Z3G.js.map +0 -7
  184. package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
  185. package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
  186. package/dist/exports/client/chunk-7T64ULOM.js +0 -29
  187. package/dist/exports/client/chunk-7T64ULOM.js.map +0 -7
  188. package/dist/exports/client/chunk-DMFYTMX6.js +0 -27
  189. package/dist/exports/client/chunk-DMFYTMX6.js.map +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"addFieldStatePromise.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EAGd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EAGd,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACV,UAAU,EAEX,MAAM,SAAS,CAAA;AAchB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAQnD,MAAM,MAAM,wBAAwB,GAAG;IACrC,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,SAAS,EAAE,IAAI,GAAG,SAAS,CAAA;IAC3B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,cAAc,CAAA;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,0BAA0B,CAAA;IAC7C,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,mBAAmB,CAAA;IAChC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC;;;OAGG;IACH,GAAG,EAAE,cAAc,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,0BAA0B,CAAA;CAClC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAU,MAAM,wBAAwB,KAAG,OAAO,CAAC,IAAI,CAk6BvF,CAAA"}
1
+ {"version":3,"file":"addFieldStatePromise.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EAGd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EAGd,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACV,UAAU,EAEX,MAAM,SAAS,CAAA;AAchB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAQnD,MAAM,MAAM,wBAAwB,GAAG;IACrC,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,SAAS,EAAE,IAAI,GAAG,SAAS,CAAA;IAC3B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,cAAc,CAAA;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,0BAA0B,CAAA;IAC7C,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,mBAAmB,CAAA;IAChC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC;;;OAGG;IACH,GAAG,EAAE,cAAc,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,0BAA0B,CAAA;CAClC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAU,MAAM,wBAAwB,KAAG,OAAO,CAAC,IAAI,CA26BvF,CAAA"}
@@ -23,6 +23,7 @@ export const addFieldStatePromise = async args => {
23
23
  filter,
24
24
  forceFullValue = false,
25
25
  fullData,
26
+ globalSlug,
26
27
  includeSchema = false,
27
28
  indexPath,
28
29
  mockRSCs,
@@ -88,12 +89,19 @@ export const addFieldStatePromise = async args => {
88
89
  fieldPermissions = parentPermissions === true ? parentPermissions : deepCopyObjectSimple(parentPermissions?.[field.name]);
89
90
  let hasPermission = fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read);
90
91
  if (typeof field?.access?.read === 'function') {
92
+ const collection = collectionSlug ? req.payload.collections[collectionSlug]?.config ?? null : null;
93
+ const global = globalSlug ? req.payload.globals.config.find(g => g.slug === globalSlug) ?? null : null;
91
94
  hasPermission = await field.access.read({
92
95
  id,
93
96
  blockData,
94
97
  data: fullData,
95
98
  req,
96
- siblingData: data
99
+ siblingData: data,
100
+ ...(collection ? {
101
+ collection
102
+ } : {
103
+ global
104
+ })
97
105
  });
98
106
  } else {
99
107
  hasPermission = true;
@@ -1 +1 @@
1
- {"version":3,"file":"addFieldStatePromise.js","names":["ObjectIdImport","getBlockSelect","stripUnselectedFields","validateBlocksFilterOptions","deepCopyObjectSimple","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","fieldIsID","fieldIsLocalized","tabHasName","resolveFilterOptions","isRowCollapsed","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","blockData","clientFieldSchemaMap","collectionSlug","data","field","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","indexPath","mockRSCs","omitParents","operation","parentPath","parentPermissions","parentSchemaPath","passesCondition","path","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","schemaPath","select","selectMode","skipConditionChecks","skipValidation","state","console","warn","fieldPermissions","fieldState","lastRenderedPath","addedByServer","fieldSchema","type","name","undefined","value","initialValue","hasPermission","read","access","siblingData","validate","validationResult","jsonError","JSON","parse","e","event","previousValue","err","payload","logger","error","msg","errorPath","errorPaths","includes","push","valid","errorMessage","arrayValue","Array","isArray","arraySelect","promises","rows","reduce","acc","row","rowIndex","rowPath","toHexString","idKey","fields","find","localized","parentIndexPath","parentPassesCondition","permissions","previousRow","prevRow","newRow","isLoading","isCollapsed","collapsedPrefs","collapsed","Promise","all","length","disableFormData","blocksValue","filterOptionsValidationResult","filterOptions","blocksFilterOptions","allowedBlockSlugs","rowMetadata","i","blockTypeToMatch","blockType","block","blocks","slug","Error","blockSelect","blockSelectMode","invalidBlockSlugs","t","blockField","fieldKey","blockNameKey","blockName","groupSelect","relationTo","relation","query","user","hasMany","relationshipValue","map","relationship","selectFilterOptions","options","isNamedTab","shouldContinue","siblingDoc","childPermissions","tabSelect","tabPermissions","tabs","tab","fieldConfig","get","endsWith","formState","previousFieldState"],"sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FieldState,\n FlattenedBlock,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n Row,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n TabAsField,\n Validate,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { getBlockSelect, stripUnselectedFields, validateBlocksFilterOptions } from 'payload'\nimport {\n deepCopyObjectSimple,\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsLocalized,\n tabHasName,\n} from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { resolveFilterOptions } from '../../utilities/resolveFilterOptions.js'\nimport { isRowCollapsed } from './isRowCollapsed.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n /**\n * Data of the nearest parent block, or undefined\n */\n blockData: Data | undefined\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n field: Field | TabAsField\n fieldIndex: number\n fieldSchemaMap: FieldSchemaMap\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n indexPath: string\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPath: string\n parentPermissions: SanitizedFieldsPermissions\n parentSchemaPath: string\n passesCondition: boolean\n path: string\n preferences: DocumentPreferences\n previousFormState: FormState\n readOnly?: boolean\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n schemaPath: string\n select?: SelectType\n selectMode?: SelectMode\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n indexPath,\n mockRSCs,\n omitParents = false,\n operation,\n parentPath,\n parentPermissions,\n parentSchemaPath,\n passesCondition,\n path,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n // eslint-disable-next-line no-console\n console.warn(\n 'clientFieldSchemaMap is not passed to addFieldStatePromise - this will reduce performance',\n )\n }\n\n let fieldPermissions: SanitizedFieldPermissions = true\n\n const fieldState: FieldState = {}\n\n const lastRenderedPath = previousFormState?.[path]?.lastRenderedPath\n\n // Append only if true to avoid sending '$undefined' through the network\n if (lastRenderedPath) {\n fieldState.lastRenderedPath = lastRenderedPath\n }\n\n // If we're rendering all fields, no need to flag this as added by server\n const addedByServer = !renderAllFields && !previousFormState?.[path]\n\n // Append only if true to avoid sending '$undefined' through the network\n if (addedByServer) {\n fieldState.addedByServer = true\n }\n\n // Append only if true to avoid sending '$undefined' through the network\n if (passesCondition === false) {\n fieldState.passesCondition = false\n }\n\n // Append only if true to avoid sending '$undefined' through the network\n if (includeSchema) {\n fieldState.fieldSchema = field\n }\n\n // Short-circuit to prevent hidden fields from recursing and rendering.\n // Note: `tab` is excluded bc tab visibility is keyed by `field.id` rather than `path`.\n // The tab branch below owns that write and the skip-recursion.\n if (passesCondition === false && field.type !== 'tab') {\n if (fieldAffectsData(field) && data?.[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n return\n }\n\n if (fieldAffectsData(field) && !fieldIsHiddenOrDisabled(field) && field.type !== 'tab') {\n fieldPermissions =\n parentPermissions === true\n ? parentPermissions\n : deepCopyObjectSimple(parentPermissions?.[field.name])\n\n let hasPermission: boolean =\n fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read)\n\n if (typeof field?.access?.read === 'function') {\n hasPermission = await field.access.read({\n id,\n blockData,\n data: fullData,\n req,\n siblingData: data,\n })\n } else {\n hasPermission = true\n }\n\n if (!hasPermission) {\n return\n }\n\n const validate: Validate = 'validate' in field ? field.validate : undefined\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name])\n } catch (e) {\n jsonError = e\n }\n }\n\n try {\n validationResult = await validate(data?.[field.name], {\n ...field,\n id,\n blockData,\n collectionSlug,\n data: fullData,\n event: 'onChange',\n // @AlessioGr added `jsonError` in https://github.com/payloadcms/payload/commit/c7ea62a39473408c3ea912c4fbf73e11be4b538d\n // @ts-expect-error-next-line\n jsonError,\n operation,\n preferences,\n previousValue: previousFormState?.[path]?.initialValue,\n req,\n siblingData: data,\n })\n } catch (err) {\n validationResult = `Error validating field at path: ${path}`\n\n req.payload.logger.error({\n err,\n msg: validationResult,\n })\n }\n }\n\n /**\n * This function adds the error **path** to the current field and all its parents. If a field is invalid, all its parents are also invalid.\n * It does not add the error **message** to the current field, as that shouldn't apply to all parents.\n * This is done separately below.\n */\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths) {\n fieldState.errorPaths = []\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(path)\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const arraySelect = select?.[field.name]\n\n const { promises, rows } = arrayValue.reduce(\n (acc, row, rowIndex: number) => {\n const rowPath = path + '.' + rowIndex\n\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n const idKey = rowPath + '.id'\n\n state[idKey] = {\n initialValue: row.id,\n value: row.id,\n }\n\n if (includeSchema) {\n state[idKey].fieldSchema = field.fields.find((field) => fieldIsID(field))\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: rowPath,\n parentSchemaPath: schemaPath,\n permissions:\n fieldPermissions === true ? fieldPermissions : fieldPermissions?.fields || {},\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof arraySelect === 'object' ? arraySelect : undefined,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n if (!acc.rows) {\n acc.rows = []\n }\n\n // First, check if `previousFormState` has a matching row\n const previousRow: Row = (previousFormState?.[path]?.rows || []).find(\n (prevRow) => prevRow.id === row.id,\n )\n\n const newRow: Row = {\n id: row.id,\n isLoading: false,\n }\n\n if (previousRow?.lastRenderedPath) {\n newRow.lastRenderedPath = previousRow.lastRenderedPath\n }\n\n // add addedByServer flag\n if (!previousRow) {\n newRow.addedByServer = true\n }\n\n const isCollapsed = isRowCollapsed({\n collapsedPrefs: preferences?.fields?.[path]?.collapsed,\n field,\n previousRow,\n row,\n })\n\n if (isCollapsed) {\n newRow.collapsed = true\n }\n\n acc.rows.push(newRow)\n\n return acc\n },\n {\n promises: [],\n rows: [],\n },\n )\n\n // Wait for all promises and update fields with the results\n await Promise.all(promises)\n\n if (rows) {\n fieldState.rows = rows\n }\n\n // Add values to field state\n if (data[field.name] !== null) {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n // Handle blocks filterOptions\n let filterOptionsValidationResult: Awaited<\n ReturnType<typeof validateBlocksFilterOptions>\n > | null = null\n if (field.filterOptions) {\n filterOptionsValidationResult = await validateBlocksFilterOptions({\n id,\n data: fullData,\n filterOptions: field.filterOptions,\n req,\n siblingData: data,\n value: data[field.name],\n })\n\n fieldState.blocksFilterOptions = filterOptionsValidationResult.allowedBlockSlugs\n }\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i: number) => {\n const blockTypeToMatch: string = row.blockType\n\n const block =\n req.payload.blocks[blockTypeToMatch] ??\n (field.blocks.find(\n (blockType) => typeof blockType !== 'string' && blockType.slug === blockTypeToMatch,\n ) as FlattenedBlock | undefined)\n\n if (!block) {\n throw new Error(\n `Block with type \"${row.blockType}\" was found in block data, but no block with that type is defined in the config for field with schema path ${schemaPath}.`,\n )\n }\n\n const { blockSelect, blockSelectMode } = getBlockSelect({\n block,\n select: select?.[field.name],\n selectMode,\n })\n\n const rowPath = path + '.' + i\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n // Handle block `id` field\n const idKey = rowPath + '.id'\n\n state[idKey] = {\n initialValue: row.id,\n value: row.id,\n }\n\n // If the blocks field fails filterOptions validation, add error paths to the individual blocks that are no longer allowed\n if (\n filterOptionsValidationResult?.invalidBlockSlugs?.length &&\n filterOptionsValidationResult.invalidBlockSlugs.includes(row.blockType)\n ) {\n state[idKey].errorMessage = req.t('validation:invalidBlock', {\n block: row.blockType,\n })\n state[idKey].valid = false\n addErrorPathToParent(idKey)\n\n // If the error is due to block filterOptions, we want the blocks field (fieldState) to include all the filterOptions-related\n // error paths for each sub-block, not for the validation result of the block itself. Otherwise, say there are 2 invalid blocks,\n // the blocks field will have 3 instead of 2 error paths - one for itself, and one for each invalid block.\n // Instead, we want only the 2 error paths for the individual, invalid blocks.\n fieldState.errorPaths = fieldState.errorPaths.filter(\n (errorPath) => errorPath !== path,\n )\n }\n\n if (includeSchema) {\n state[idKey].fieldSchema = includeSchema\n ? block.fields.find((blockField) => fieldIsID(blockField))\n : undefined\n }\n\n // Handle `blockType` field\n const fieldKey = rowPath + '.blockType'\n\n state[fieldKey] = {\n initialValue: row.blockType,\n value: row.blockType,\n }\n\n if (addedByServer) {\n state[fieldKey].addedByServer = addedByServer\n }\n\n if (includeSchema) {\n state[fieldKey].fieldSchema = block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n }\n\n // Handle `blockName` field\n const blockNameKey = rowPath + '.blockName'\n\n state[blockNameKey] = {}\n\n if (row.blockName) {\n state[blockNameKey].initialValue = row.blockName\n state[blockNameKey].value = row.blockName\n }\n\n if (includeSchema) {\n state[blockNameKey].fieldSchema = block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData: row,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: block.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: rowPath,\n parentSchemaPath: schemaPath + '.' + block.slug,\n permissions:\n fieldPermissions === true\n ? fieldPermissions\n : parentPermissions?.[field.name]?.blocks?.[block.slug] === true\n ? true\n : parentPermissions?.[field.name]?.blocks?.[block.slug]?.fields || {},\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof blockSelect === 'object' ? blockSelect : undefined,\n selectMode: blockSelectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n // First, check if `previousFormState` has a matching row\n const previousRow: Row = (previousFormState?.[path]?.rows || []).find(\n (prevRow) => prevRow.id === row.id,\n )\n\n const newRow: Row = {\n id: row.id,\n blockType: row.blockType,\n isLoading: false,\n }\n\n if (previousRow?.lastRenderedPath) {\n newRow.lastRenderedPath = previousRow.lastRenderedPath\n }\n\n acc.rowMetadata.push(newRow)\n\n const isCollapsed = isRowCollapsed({\n collapsedPrefs: preferences?.fields?.[path]?.collapsed,\n field,\n previousRow,\n row,\n })\n\n if (isCollapsed) {\n acc.rowMetadata[acc.rowMetadata.length - 1].collapsed = true\n }\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[path] = fieldState\n }\n\n const groupSelect = select?.[field.name]\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: data?.[field.name] || {},\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions:\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.fields,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof groupSelect === 'object' ? groupSelect : undefined,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n\n case 'relationship':\n case 'upload': {\n if (field.filterOptions) {\n if (typeof field.filterOptions === 'object') {\n if (typeof field.relationTo === 'string') {\n fieldState.filterOptions = {\n [field.relationTo]: field.filterOptions,\n }\n } else {\n fieldState.filterOptions = field.relationTo.reduce((acc, relation) => {\n acc[relation] = field.filterOptions\n return acc\n }, {})\n }\n }\n\n if (typeof field.filterOptions === 'function') {\n const query = await resolveFilterOptions(field.filterOptions, {\n id,\n blockData,\n data: fullData,\n relationTo: field.relationTo,\n req,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'select': {\n if (typeof field.filterOptions === 'function') {\n fieldState.selectFilterOptions = field.filterOptions({\n data: fullData,\n options: field.options,\n req,\n siblingData: data,\n })\n }\n\n if (data[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n default: {\n if (data[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n // Add field to state\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n // Handle field types that do not use names (row, collapsible, unnamed group etc)\n\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n }\n }\n\n await iterateFields({\n id,\n mockRSCs,\n select,\n selectMode,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: fieldIsLocalized(field) || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions: parentPermissions, // TODO: Verify this is correct\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tab') {\n const isNamedTab = tabHasName(field)\n\n if (isNamedTab) {\n const shouldContinue = stripUnselectedFields({\n field: { ...field, type: 'tab' },\n select,\n selectMode,\n siblingDoc: data?.[field.name] || {},\n })\n\n if (!shouldContinue) {\n return\n }\n }\n\n // Tab visibility on the client is keyed by `field.id`, not `path` (like all other fields).\n if (field?.id) {\n state[field.id] = {\n passesCondition,\n }\n\n // Flag newly added tab entries so the client accepts them during merge.\n // Otherwise, tabs revealed after a hidden ancestor becomes visible would never make it into client form state.\n if (!renderAllFields && !previousFormState?.[field.id]) {\n state[field.id].addedByServer = true\n }\n }\n\n if (!passesCondition) {\n return\n }\n\n let childPermissions: SanitizedFieldsPermissions\n let tabSelect: SelectType | undefined\n\n if (isNamedTab) {\n if (parentPermissions === true) {\n childPermissions = true\n } else {\n const tabPermissions = parentPermissions?.[field.name]\n childPermissions = tabPermissions === true ? true : tabPermissions?.fields\n }\n\n if (typeof select?.[field.name] === 'object') {\n tabSelect = select?.[field.name] as SelectType\n }\n } else {\n childPermissions = parentPermissions\n tabSelect = select\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: isNamedTab ? data?.[field.name] || {} : data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions: childPermissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: tabSelect,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n }\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: fieldIsLocalized(field) || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions: parentPermissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n select,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[path] = fieldState\n state[path].disableFormData = true\n }\n }\n\n if (renderFieldFn && !fieldIsHiddenOrDisabled(field)) {\n const fieldConfig = fieldSchemaMap.get(schemaPath)\n\n if (!fieldConfig && !mockRSCs) {\n if (schemaPath.endsWith('.blockType')) {\n return\n } else {\n throw new Error(`Field config not found for ${schemaPath}`)\n }\n }\n\n if (!state[path]) {\n // Some fields (ie `Tab`) do not live in form state\n // therefore we cannot attach customComponents to them\n return\n }\n\n if (addedByServer) {\n state[path].addedByServer = addedByServer\n }\n\n renderFieldFn({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data: fullData,\n fieldConfig: fieldConfig as Field,\n fieldSchemaMap,\n fieldState: state[path],\n formState: state,\n indexPath,\n lastRenderedPath,\n mockRSCs,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions: fieldPermissions,\n preferences,\n previousFieldState: previousFormState?.[path],\n readOnly,\n renderAllFields,\n req,\n schemaPath,\n siblingData: data,\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"addFieldStatePromise.js","names":["ObjectIdImport","getBlockSelect","stripUnselectedFields","validateBlocksFilterOptions","deepCopyObjectSimple","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","fieldIsID","fieldIsLocalized","tabHasName","resolveFilterOptions","isRowCollapsed","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","blockData","clientFieldSchemaMap","collectionSlug","data","field","fieldSchemaMap","filter","forceFullValue","fullData","globalSlug","includeSchema","indexPath","mockRSCs","omitParents","operation","parentPath","parentPermissions","parentSchemaPath","passesCondition","path","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","schemaPath","select","selectMode","skipConditionChecks","skipValidation","state","console","warn","fieldPermissions","fieldState","lastRenderedPath","addedByServer","fieldSchema","type","name","undefined","value","initialValue","hasPermission","read","access","collection","payload","collections","config","global","globals","find","g","slug","siblingData","validate","validationResult","jsonError","JSON","parse","e","event","previousValue","err","logger","error","msg","errorPath","errorPaths","includes","push","valid","errorMessage","arrayValue","Array","isArray","arraySelect","promises","rows","reduce","acc","row","rowIndex","rowPath","toHexString","idKey","fields","localized","parentIndexPath","parentPassesCondition","permissions","previousRow","prevRow","newRow","isLoading","isCollapsed","collapsedPrefs","collapsed","Promise","all","length","disableFormData","blocksValue","filterOptionsValidationResult","filterOptions","blocksFilterOptions","allowedBlockSlugs","rowMetadata","i","blockTypeToMatch","blockType","block","blocks","Error","blockSelect","blockSelectMode","invalidBlockSlugs","t","blockField","fieldKey","blockNameKey","blockName","groupSelect","relationTo","relation","query","user","hasMany","relationshipValue","map","relationship","selectFilterOptions","options","isNamedTab","shouldContinue","siblingDoc","childPermissions","tabSelect","tabPermissions","tabs","tab","fieldConfig","get","endsWith","formState","previousFieldState"],"sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FieldState,\n FlattenedBlock,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n Row,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n TabAsField,\n Validate,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { getBlockSelect, stripUnselectedFields, validateBlocksFilterOptions } from 'payload'\nimport {\n deepCopyObjectSimple,\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsLocalized,\n tabHasName,\n} from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { resolveFilterOptions } from '../../utilities/resolveFilterOptions.js'\nimport { isRowCollapsed } from './isRowCollapsed.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n /**\n * Data of the nearest parent block, or undefined\n */\n blockData: Data | undefined\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n field: Field | TabAsField\n fieldIndex: number\n fieldSchemaMap: FieldSchemaMap\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n globalSlug?: string\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n indexPath: string\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPath: string\n parentPermissions: SanitizedFieldsPermissions\n parentSchemaPath: string\n passesCondition: boolean\n path: string\n preferences: DocumentPreferences\n previousFormState: FormState\n readOnly?: boolean\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n schemaPath: string\n select?: SelectType\n selectMode?: SelectMode\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n globalSlug,\n includeSchema = false,\n indexPath,\n mockRSCs,\n omitParents = false,\n operation,\n parentPath,\n parentPermissions,\n parentSchemaPath,\n passesCondition,\n path,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n // eslint-disable-next-line no-console\n console.warn(\n 'clientFieldSchemaMap is not passed to addFieldStatePromise - this will reduce performance',\n )\n }\n\n let fieldPermissions: SanitizedFieldPermissions = true\n\n const fieldState: FieldState = {}\n\n const lastRenderedPath = previousFormState?.[path]?.lastRenderedPath\n\n // Append only if true to avoid sending '$undefined' through the network\n if (lastRenderedPath) {\n fieldState.lastRenderedPath = lastRenderedPath\n }\n\n // If we're rendering all fields, no need to flag this as added by server\n const addedByServer = !renderAllFields && !previousFormState?.[path]\n\n // Append only if true to avoid sending '$undefined' through the network\n if (addedByServer) {\n fieldState.addedByServer = true\n }\n\n // Append only if true to avoid sending '$undefined' through the network\n if (passesCondition === false) {\n fieldState.passesCondition = false\n }\n\n // Append only if true to avoid sending '$undefined' through the network\n if (includeSchema) {\n fieldState.fieldSchema = field\n }\n\n // Short-circuit to prevent hidden fields from recursing and rendering.\n // Note: `tab` is excluded bc tab visibility is keyed by `field.id` rather than `path`.\n // The tab branch below owns that write and the skip-recursion.\n if (passesCondition === false && field.type !== 'tab') {\n if (fieldAffectsData(field) && data?.[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n return\n }\n\n if (fieldAffectsData(field) && !fieldIsHiddenOrDisabled(field) && field.type !== 'tab') {\n fieldPermissions =\n parentPermissions === true\n ? parentPermissions\n : deepCopyObjectSimple(parentPermissions?.[field.name])\n\n let hasPermission: boolean =\n fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read)\n\n if (typeof field?.access?.read === 'function') {\n const collection = collectionSlug\n ? (req.payload.collections[collectionSlug]?.config ?? null)\n : null\n const global = globalSlug\n ? (req.payload.globals.config.find((g) => g.slug === globalSlug) ?? null)\n : null\n\n hasPermission = await field.access.read({\n id,\n blockData,\n data: fullData,\n req,\n siblingData: data,\n ...(collection ? { collection } : { global }),\n })\n } else {\n hasPermission = true\n }\n\n if (!hasPermission) {\n return\n }\n\n const validate: Validate = 'validate' in field ? field.validate : undefined\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name])\n } catch (e) {\n jsonError = e\n }\n }\n\n try {\n validationResult = await validate(data?.[field.name], {\n ...field,\n id,\n blockData,\n collectionSlug,\n data: fullData,\n event: 'onChange',\n // @AlessioGr added `jsonError` in https://github.com/payloadcms/payload/commit/c7ea62a39473408c3ea912c4fbf73e11be4b538d\n // @ts-expect-error-next-line\n jsonError,\n operation,\n preferences,\n previousValue: previousFormState?.[path]?.initialValue,\n req,\n siblingData: data,\n })\n } catch (err) {\n validationResult = `Error validating field at path: ${path}`\n\n req.payload.logger.error({\n err,\n msg: validationResult,\n })\n }\n }\n\n /**\n * This function adds the error **path** to the current field and all its parents. If a field is invalid, all its parents are also invalid.\n * It does not add the error **message** to the current field, as that shouldn't apply to all parents.\n * This is done separately below.\n */\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths) {\n fieldState.errorPaths = []\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(path)\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const arraySelect = select?.[field.name]\n\n const { promises, rows } = arrayValue.reduce(\n (acc, row, rowIndex: number) => {\n const rowPath = path + '.' + rowIndex\n\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n const idKey = rowPath + '.id'\n\n state[idKey] = {\n initialValue: row.id,\n value: row.id,\n }\n\n if (includeSchema) {\n state[idKey].fieldSchema = field.fields.find((field) => fieldIsID(field))\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: rowPath,\n parentSchemaPath: schemaPath,\n permissions:\n fieldPermissions === true ? fieldPermissions : fieldPermissions?.fields || {},\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof arraySelect === 'object' ? arraySelect : undefined,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n if (!acc.rows) {\n acc.rows = []\n }\n\n // First, check if `previousFormState` has a matching row\n const previousRow: Row = (previousFormState?.[path]?.rows || []).find(\n (prevRow) => prevRow.id === row.id,\n )\n\n const newRow: Row = {\n id: row.id,\n isLoading: false,\n }\n\n if (previousRow?.lastRenderedPath) {\n newRow.lastRenderedPath = previousRow.lastRenderedPath\n }\n\n // add addedByServer flag\n if (!previousRow) {\n newRow.addedByServer = true\n }\n\n const isCollapsed = isRowCollapsed({\n collapsedPrefs: preferences?.fields?.[path]?.collapsed,\n field,\n previousRow,\n row,\n })\n\n if (isCollapsed) {\n newRow.collapsed = true\n }\n\n acc.rows.push(newRow)\n\n return acc\n },\n {\n promises: [],\n rows: [],\n },\n )\n\n // Wait for all promises and update fields with the results\n await Promise.all(promises)\n\n if (rows) {\n fieldState.rows = rows\n }\n\n // Add values to field state\n if (data[field.name] !== null) {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n // Handle blocks filterOptions\n let filterOptionsValidationResult: Awaited<\n ReturnType<typeof validateBlocksFilterOptions>\n > | null = null\n if (field.filterOptions) {\n filterOptionsValidationResult = await validateBlocksFilterOptions({\n id,\n data: fullData,\n filterOptions: field.filterOptions,\n req,\n siblingData: data,\n value: data[field.name],\n })\n\n fieldState.blocksFilterOptions = filterOptionsValidationResult.allowedBlockSlugs\n }\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i: number) => {\n const blockTypeToMatch: string = row.blockType\n\n const block =\n req.payload.blocks[blockTypeToMatch] ??\n (field.blocks.find(\n (blockType) => typeof blockType !== 'string' && blockType.slug === blockTypeToMatch,\n ) as FlattenedBlock | undefined)\n\n if (!block) {\n throw new Error(\n `Block with type \"${row.blockType}\" was found in block data, but no block with that type is defined in the config for field with schema path ${schemaPath}.`,\n )\n }\n\n const { blockSelect, blockSelectMode } = getBlockSelect({\n block,\n select: select?.[field.name],\n selectMode,\n })\n\n const rowPath = path + '.' + i\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n // Handle block `id` field\n const idKey = rowPath + '.id'\n\n state[idKey] = {\n initialValue: row.id,\n value: row.id,\n }\n\n // If the blocks field fails filterOptions validation, add error paths to the individual blocks that are no longer allowed\n if (\n filterOptionsValidationResult?.invalidBlockSlugs?.length &&\n filterOptionsValidationResult.invalidBlockSlugs.includes(row.blockType)\n ) {\n state[idKey].errorMessage = req.t('validation:invalidBlock', {\n block: row.blockType,\n })\n state[idKey].valid = false\n addErrorPathToParent(idKey)\n\n // If the error is due to block filterOptions, we want the blocks field (fieldState) to include all the filterOptions-related\n // error paths for each sub-block, not for the validation result of the block itself. Otherwise, say there are 2 invalid blocks,\n // the blocks field will have 3 instead of 2 error paths - one for itself, and one for each invalid block.\n // Instead, we want only the 2 error paths for the individual, invalid blocks.\n fieldState.errorPaths = fieldState.errorPaths.filter(\n (errorPath) => errorPath !== path,\n )\n }\n\n if (includeSchema) {\n state[idKey].fieldSchema = includeSchema\n ? block.fields.find((blockField) => fieldIsID(blockField))\n : undefined\n }\n\n // Handle `blockType` field\n const fieldKey = rowPath + '.blockType'\n\n state[fieldKey] = {\n initialValue: row.blockType,\n value: row.blockType,\n }\n\n if (addedByServer) {\n state[fieldKey].addedByServer = addedByServer\n }\n\n if (includeSchema) {\n state[fieldKey].fieldSchema = block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n }\n\n // Handle `blockName` field\n const blockNameKey = rowPath + '.blockName'\n\n state[blockNameKey] = {}\n\n if (row.blockName) {\n state[blockNameKey].initialValue = row.blockName\n state[blockNameKey].value = row.blockName\n }\n\n if (includeSchema) {\n state[blockNameKey].fieldSchema = block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData: row,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: block.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: rowPath,\n parentSchemaPath: schemaPath + '.' + block.slug,\n permissions:\n fieldPermissions === true\n ? fieldPermissions\n : parentPermissions?.[field.name]?.blocks?.[block.slug] === true\n ? true\n : parentPermissions?.[field.name]?.blocks?.[block.slug]?.fields || {},\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof blockSelect === 'object' ? blockSelect : undefined,\n selectMode: blockSelectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n // First, check if `previousFormState` has a matching row\n const previousRow: Row = (previousFormState?.[path]?.rows || []).find(\n (prevRow) => prevRow.id === row.id,\n )\n\n const newRow: Row = {\n id: row.id,\n blockType: row.blockType,\n isLoading: false,\n }\n\n if (previousRow?.lastRenderedPath) {\n newRow.lastRenderedPath = previousRow.lastRenderedPath\n }\n\n acc.rowMetadata.push(newRow)\n\n const isCollapsed = isRowCollapsed({\n collapsedPrefs: preferences?.fields?.[path]?.collapsed,\n field,\n previousRow,\n row,\n })\n\n if (isCollapsed) {\n acc.rowMetadata[acc.rowMetadata.length - 1].collapsed = true\n }\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[path] = fieldState\n }\n\n const groupSelect = select?.[field.name]\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: data?.[field.name] || {},\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions:\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.fields,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof groupSelect === 'object' ? groupSelect : undefined,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n\n case 'relationship':\n case 'upload': {\n if (field.filterOptions) {\n if (typeof field.filterOptions === 'object') {\n if (typeof field.relationTo === 'string') {\n fieldState.filterOptions = {\n [field.relationTo]: field.filterOptions,\n }\n } else {\n fieldState.filterOptions = field.relationTo.reduce((acc, relation) => {\n acc[relation] = field.filterOptions\n return acc\n }, {})\n }\n }\n\n if (typeof field.filterOptions === 'function') {\n const query = await resolveFilterOptions(field.filterOptions, {\n id,\n blockData,\n data: fullData,\n relationTo: field.relationTo,\n req,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'select': {\n if (typeof field.filterOptions === 'function') {\n fieldState.selectFilterOptions = field.filterOptions({\n data: fullData,\n options: field.options,\n req,\n siblingData: data,\n })\n }\n\n if (data[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n default: {\n if (data[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n // Add field to state\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n // Handle field types that do not use names (row, collapsible, unnamed group etc)\n\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n }\n }\n\n await iterateFields({\n id,\n mockRSCs,\n select,\n selectMode,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: fieldIsLocalized(field) || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions: parentPermissions, // TODO: Verify this is correct\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tab') {\n const isNamedTab = tabHasName(field)\n\n if (isNamedTab) {\n const shouldContinue = stripUnselectedFields({\n field: { ...field, type: 'tab' },\n select,\n selectMode,\n siblingDoc: data?.[field.name] || {},\n })\n\n if (!shouldContinue) {\n return\n }\n }\n\n // Tab visibility on the client is keyed by `field.id`, not `path` (like all other fields).\n if (field?.id) {\n state[field.id] = {\n passesCondition,\n }\n\n // Flag newly added tab entries so the client accepts them during merge.\n // Otherwise, tabs revealed after a hidden ancestor becomes visible would never make it into client form state.\n if (!renderAllFields && !previousFormState?.[field.id]) {\n state[field.id].addedByServer = true\n }\n }\n\n if (!passesCondition) {\n return\n }\n\n let childPermissions: SanitizedFieldsPermissions\n let tabSelect: SelectType | undefined\n\n if (isNamedTab) {\n if (parentPermissions === true) {\n childPermissions = true\n } else {\n const tabPermissions = parentPermissions?.[field.name]\n childPermissions = tabPermissions === true ? true : tabPermissions?.fields\n }\n\n if (typeof select?.[field.name] === 'object') {\n tabSelect = select?.[field.name] as SelectType\n }\n } else {\n childPermissions = parentPermissions\n tabSelect = select\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: isNamedTab ? data?.[field.name] || {} : data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions: childPermissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: tabSelect,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n }\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: fieldIsLocalized(field) || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions: parentPermissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n select,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[path] = fieldState\n state[path].disableFormData = true\n }\n }\n\n if (renderFieldFn && !fieldIsHiddenOrDisabled(field)) {\n const fieldConfig = fieldSchemaMap.get(schemaPath)\n\n if (!fieldConfig && !mockRSCs) {\n if (schemaPath.endsWith('.blockType')) {\n return\n } else {\n throw new Error(`Field config not found for ${schemaPath}`)\n }\n }\n\n if (!state[path]) {\n // Some fields (ie `Tab`) do not live in form state\n // therefore we cannot attach customComponents to them\n return\n }\n\n if (addedByServer) {\n state[path].addedByServer = addedByServer\n }\n\n renderFieldFn({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data: fullData,\n fieldConfig: fieldConfig as Field,\n fieldSchemaMap,\n fieldState: state[path],\n formState: state,\n indexPath,\n lastRenderedPath,\n mockRSCs,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions: fieldPermissions,\n preferences,\n previousFieldState: previousFormState?.[path],\n readOnly,\n renderAllFields,\n req,\n schemaPath,\n siblingData: data,\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { Data, Field as FieldSchema, PayloadRequest, SelectMode, SelectType, TypedUser } from 'payload';
1
+ import type { Data, Field as FieldSchema, PayloadRequest, SelectMode, SelectType, User } from 'payload';
2
2
  type Args = {
3
3
  data: Data;
4
4
  fields: FieldSchema[];
@@ -8,7 +8,7 @@ type Args = {
8
8
  select?: SelectType;
9
9
  selectMode?: SelectMode;
10
10
  siblingData: Data;
11
- user: TypedUser;
11
+ user: User;
12
12
  };
13
13
  export declare const calculateDefaultValues: ({ id, data, fields, locale, req, select, selectMode, user, }: Args) => Promise<Data>;
14
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,KAAK,IAAI,WAAW,EACpB,cAAc,EACd,UAAU,EACV,UAAU,EACV,SAAS,EACV,MAAM,SAAS,CAAA;AAIhB,KAAK,IAAI,GAAG;IACV,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAU,8DAS1C,IAAI,KAAG,OAAO,CAAC,IAAI,CAcrB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,KAAK,IAAI,WAAW,EACpB,cAAc,EACd,UAAU,EACV,UAAU,EACV,IAAI,EACL,MAAM,SAAS,CAAA;AAIhB,KAAK,IAAI,GAAG;IACV,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAU,8DAS1C,IAAI,KAAG,OAAO,CAAC,IAAI,CAcrB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["iterateFields","calculateDefaultValues","id","data","fields","locale","req","select","selectMode","user","siblingData"],"sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/index.ts"],"sourcesContent":["import type {\n Data,\n Field as FieldSchema,\n PayloadRequest,\n SelectMode,\n SelectType,\n TypedUser,\n} from 'payload'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n data: Data\n fields: FieldSchema[]\n id?: number | string\n locale: string | undefined\n req: PayloadRequest\n select?: SelectType\n selectMode?: SelectMode\n siblingData: Data\n user: TypedUser\n}\n\nexport const calculateDefaultValues = async ({\n id,\n data,\n fields,\n locale,\n req,\n select,\n selectMode,\n user,\n}: Args): Promise<Data> => {\n await iterateFields({\n id,\n data,\n fields,\n locale,\n req,\n select,\n selectMode,\n siblingData: data,\n user,\n })\n\n return data\n}\n"],"mappings":"AASA,SAASA,aAAa,QAAQ;AAc9B,OAAO,MAAMC,sBAAA,GAAyB,MAAAA,CAAO;EAC3CC,EAAE;EACFC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,GAAG;EACHC,MAAM;EACNC,UAAU;EACVC;AAAI,CACC;EACL,MAAMT,aAAA,CAAc;IAClBE,EAAA;IACAC,IAAA;IACAC,MAAA;IACAC,MAAA;IACAC,GAAA;IACAC,MAAA;IACAC,UAAA;IACAE,WAAA,EAAaP,IAAA;IACbM;EACF;EAEA,OAAON,IAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["iterateFields","calculateDefaultValues","id","data","fields","locale","req","select","selectMode","user","siblingData"],"sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/index.ts"],"sourcesContent":["import type {\n Data,\n Field as FieldSchema,\n PayloadRequest,\n SelectMode,\n SelectType,\n User,\n} from 'payload'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n data: Data\n fields: FieldSchema[]\n id?: number | string\n locale: string | undefined\n req: PayloadRequest\n select?: SelectType\n selectMode?: SelectMode\n siblingData: Data\n user: User\n}\n\nexport const calculateDefaultValues = async ({\n id,\n data,\n fields,\n locale,\n req,\n select,\n selectMode,\n user,\n}: Args): Promise<Data> => {\n await iterateFields({\n id,\n data,\n fields,\n locale,\n req,\n select,\n selectMode,\n siblingData: data,\n user,\n })\n\n return data\n}\n"],"mappings":"AASA,SAASA,aAAa,QAAQ;AAc9B,OAAO,MAAMC,sBAAA,GAAyB,MAAAA,CAAO;EAC3CC,EAAE;EACFC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,GAAG;EACHC,MAAM;EACNC,UAAU;EACVC;AAAI,CACC;EACL,MAAMT,aAAA,CAAc;IAClBE,EAAA;IACAC,IAAA;IACAC,MAAA;IACAC,MAAA;IACAC,GAAA;IACAC,MAAA;IACAC,UAAA;IACAE,WAAA,EAAaP,IAAA;IACbM;EACF;EAEA,OAAON,IAAA;AACT","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { Data, Field, PayloadRequest, SelectMode, SelectType, TabAsField, TypedUser } from 'payload';
1
+ import type { Data, Field, PayloadRequest, SelectMode, SelectType, TabAsField, User } from 'payload';
2
2
  type Args<T> = {
3
3
  data: T;
4
4
  fields: (Field | TabAsField)[];
@@ -8,7 +8,7 @@ type Args<T> = {
8
8
  select?: SelectType;
9
9
  selectMode?: SelectMode;
10
10
  siblingData: Data;
11
- user: TypedUser;
11
+ user: User;
12
12
  };
13
13
  export declare const iterateFields: <T>({ id, data, fields, locale, req, select, selectMode, siblingData, user, }: Args<T>) => Promise<void>;
14
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,KAAK,EACL,cAAc,EACd,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACV,MAAM,SAAS,CAAA;AAIhB,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,IAAI,EAAE,CAAC,CAAA;IACP,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,CAAC,EAAE,2EAUpC,IAAI,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAoBxB,CAAA"}
1
+ {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAIpG,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,IAAI,EAAE,CAAC,CAAA;IACP,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,CAAC,EAAE,2EAUpC,IAAI,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAoBxB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"iterateFields.js","names":["defaultValuePromise","iterateFields","id","data","fields","locale","req","select","selectMode","siblingData","user","promises","forEach","field","push","Promise","all"],"sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.ts"],"sourcesContent":["import type {\n Data,\n Field,\n PayloadRequest,\n SelectMode,\n SelectType,\n TabAsField,\n TypedUser,\n} from 'payload'\n\nimport { defaultValuePromise } from './promise.js'\n\ntype Args<T> = {\n data: T\n fields: (Field | TabAsField)[]\n id?: number | string\n locale: string | undefined\n req: PayloadRequest\n select?: SelectType\n selectMode?: SelectMode\n siblingData: Data\n user: TypedUser\n}\n\nexport const iterateFields = async <T>({\n id,\n data,\n fields,\n locale,\n req,\n select,\n selectMode,\n siblingData,\n user,\n}: Args<T>): Promise<void> => {\n const promises = []\n\n fields.forEach((field) => {\n promises.push(\n defaultValuePromise({\n id,\n data,\n field,\n locale,\n req,\n select,\n selectMode,\n siblingData,\n user,\n }),\n )\n })\n\n await Promise.all(promises)\n}\n"],"mappings":"AAUA,SAASA,mBAAmB,QAAQ;AAcpC,OAAO,MAAMC,aAAA,GAAgB,MAAAA,CAAU;EACrCC,EAAE;EACFC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,GAAG;EACHC,MAAM;EACNC,UAAU;EACVC,WAAW;EACXC;AAAI,CACI;EACR,MAAMC,QAAA,GAAW,EAAE;EAEnBP,MAAA,CAAOQ,OAAO,CAAEC,KAAA;IACdF,QAAA,CAASG,IAAI,CACXd,mBAAA,CAAoB;MAClBE,EAAA;MACAC,IAAA;MACAU,KAAA;MACAR,MAAA;MACAC,GAAA;MACAC,MAAA;MACAC,UAAA;MACAC,WAAA;MACAC;IACF;EAEJ;EAEA,MAAMK,OAAA,CAAQC,GAAG,CAACL,QAAA;AACpB","ignoreList":[]}
1
+ {"version":3,"file":"iterateFields.js","names":["defaultValuePromise","iterateFields","id","data","fields","locale","req","select","selectMode","siblingData","user","promises","forEach","field","push","Promise","all"],"sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.ts"],"sourcesContent":["import type { Data, Field, PayloadRequest, SelectMode, SelectType, TabAsField, User } from 'payload'\n\nimport { defaultValuePromise } from './promise.js'\n\ntype Args<T> = {\n data: T\n fields: (Field | TabAsField)[]\n id?: number | string\n locale: string | undefined\n req: PayloadRequest\n select?: SelectType\n selectMode?: SelectMode\n siblingData: Data\n user: User\n}\n\nexport const iterateFields = async <T>({\n id,\n data,\n fields,\n locale,\n req,\n select,\n selectMode,\n siblingData,\n user,\n}: Args<T>): Promise<void> => {\n const promises = []\n\n fields.forEach((field) => {\n promises.push(\n defaultValuePromise({\n id,\n data,\n field,\n locale,\n req,\n select,\n selectMode,\n siblingData,\n user,\n }),\n )\n })\n\n await Promise.all(promises)\n}\n"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ;AAcpC,OAAO,MAAMC,aAAA,GAAgB,MAAAA,CAAU;EACrCC,EAAE;EACFC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,GAAG;EACHC,MAAM;EACNC,UAAU;EACVC,WAAW;EACXC;AAAI,CACI;EACR,MAAMC,QAAA,GAAW,EAAE;EAEnBP,MAAA,CAAOQ,OAAO,CAAEC,KAAA;IACdF,QAAA,CAASG,IAAI,CACXd,mBAAA,CAAoB;MAClBE,EAAA;MACAC,IAAA;MACAU,KAAA;MACAR,MAAA;MACAC,GAAA;MACAC,MAAA;MACAC,UAAA;MACAC,WAAA;MACAC;IACF;EAEJ;EAEA,MAAMK,OAAA,CAAQC,GAAG,CAACL,QAAA;AACpB","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { Data, Field, PayloadRequest, SelectMode, SelectType, TabAsField, TypedUser } from 'payload';
1
+ import type { Data, Field, PayloadRequest, SelectMode, SelectType, TabAsField, User } from 'payload';
2
2
  type Args<T> = {
3
3
  data: T;
4
4
  field: Field | TabAsField;
@@ -8,7 +8,7 @@ type Args<T> = {
8
8
  select?: SelectType;
9
9
  selectMode?: SelectMode;
10
10
  siblingData: Data;
11
- user: TypedUser;
11
+ user: User;
12
12
  };
13
13
  export declare const defaultValuePromise: <T>({ id, data, field, locale, req, select, selectMode, siblingData, user, }: Args<T>) => Promise<void>;
14
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/promise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,KAAK,EAEL,cAAc,EACd,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACV,MAAM,SAAS,CAAA;AAOhB,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAGD,eAAO,MAAM,mBAAmB,GAAU,CAAC,EAAE,0EAU1C,IAAI,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CA4NxB,CAAA"}
1
+ {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/promise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,KAAK,EAEL,cAAc,EACd,UAAU,EACV,UAAU,EACV,UAAU,EACV,IAAI,EACL,MAAM,SAAS,CAAA;AAOhB,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAGD,eAAO,MAAM,mBAAmB,GAAU,CAAC,EAAE,0EAU1C,IAAI,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CA4NxB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"promise.js","names":["getBlockSelect","getDefaultValue","stripUnselectedFields","fieldAffectsData","tabHasName","iterateFields","defaultValuePromise","id","data","field","locale","req","select","selectMode","siblingData","user","shouldContinue","siblingDoc","name","defaultValue","value","err","payload","logger","error","msg","type","rows","Array","isArray","promises","arraySelect","forEach","row","push","fields","undefined","Promise","all","blockTypeToMatch","blockType","block","blocks","find","slug","blockSelect","blockSelectMode","groupData","groupSelect","tabSiblingData","isNamedTab","tabSelect","tabs","map","tab"],"sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/promise.ts"],"sourcesContent":["import type {\n Data,\n Field,\n FlattenedBlock,\n PayloadRequest,\n SelectMode,\n SelectType,\n TabAsField,\n TypedUser,\n} from 'payload'\n\nimport { getBlockSelect, getDefaultValue, stripUnselectedFields } from 'payload'\nimport { fieldAffectsData, tabHasName } from 'payload/shared'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args<T> = {\n data: T\n field: Field | TabAsField\n id?: number | string\n locale: string | undefined\n req: PayloadRequest\n select?: SelectType\n selectMode?: SelectMode\n siblingData: Data\n user: TypedUser\n}\n\n// TODO: Make this works for rich text subfields\nexport const defaultValuePromise = async <T>({\n id,\n data,\n field,\n locale,\n req,\n select,\n selectMode,\n siblingData,\n user,\n}: Args<T>): Promise<void> => {\n const shouldContinue = stripUnselectedFields({\n field,\n select,\n selectMode,\n siblingDoc: siblingData,\n })\n\n if (!shouldContinue) {\n return\n }\n\n if (fieldAffectsData(field)) {\n if (\n typeof siblingData[field.name] === 'undefined' &&\n typeof field.defaultValue !== 'undefined'\n ) {\n try {\n siblingData[field.name] = await getDefaultValue({\n defaultValue: field.defaultValue,\n locale,\n req,\n user,\n value: siblingData[field.name],\n })\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `Error calculating default value for field: ${field.name}`,\n })\n }\n }\n }\n\n // Traverse subfields\n switch (field.type) {\n case 'array': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n const arraySelect = select?.[field.name]\n\n rows.forEach((row) => {\n promises.push(\n iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\n select: typeof arraySelect === 'object' ? arraySelect : undefined,\n selectMode,\n siblingData: row,\n user,\n }),\n )\n })\n\n await Promise.all(promises)\n }\n break\n }\n\n case 'blocks': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n\n rows.forEach((row) => {\n const blockTypeToMatch: string = row.blockType\n\n const block =\n req.payload.blocks[blockTypeToMatch] ??\n (field.blocks.find(\n (blockType) => typeof blockType !== 'string' && blockType.slug === blockTypeToMatch,\n ) as FlattenedBlock | undefined)\n\n const { blockSelect, blockSelectMode } = getBlockSelect({\n block,\n select: select?.[field.name],\n selectMode,\n })\n\n if (block) {\n row.blockType = blockTypeToMatch\n\n promises.push(\n iterateFields({\n id,\n data,\n fields: block.fields,\n locale,\n req,\n select: typeof blockSelect === 'object' ? blockSelect : undefined,\n selectMode: blockSelectMode,\n siblingData: row,\n user,\n }),\n )\n }\n })\n await Promise.all(promises)\n }\n\n break\n }\n\n case 'collapsible':\n case 'row': {\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\n select,\n selectMode,\n siblingData,\n user,\n })\n\n break\n }\n case 'group': {\n if (fieldAffectsData(field)) {\n if (typeof siblingData[field.name] !== 'object') {\n siblingData[field.name] = {}\n }\n\n const groupData = siblingData[field.name] as Record<string, unknown>\n\n const groupSelect = select?.[field.name]\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\n select: typeof groupSelect === 'object' ? groupSelect : undefined,\n selectMode,\n siblingData: groupData,\n user,\n })\n } else {\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\n select,\n selectMode,\n siblingData,\n user,\n })\n }\n\n break\n }\n\n case 'tab': {\n let tabSiblingData\n\n const isNamedTab = tabHasName(field)\n\n let tabSelect: SelectType | undefined\n\n if (isNamedTab) {\n if (typeof siblingData[field.name] !== 'object') {\n siblingData[field.name] = {}\n }\n\n tabSiblingData = siblingData[field.name] as Record<string, unknown>\n\n if (typeof select?.[field.name] === 'object') {\n tabSelect = select?.[field.name] as SelectType\n }\n } else {\n tabSiblingData = siblingData\n tabSelect = select\n }\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\n select: tabSelect,\n selectMode,\n siblingData: tabSiblingData,\n user,\n })\n\n break\n }\n\n case 'tabs': {\n await iterateFields({\n id,\n data,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n locale,\n req,\n select,\n selectMode,\n siblingData,\n user,\n })\n\n break\n }\n\n default: {\n break\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"promise.js","names":["getBlockSelect","getDefaultValue","stripUnselectedFields","fieldAffectsData","tabHasName","iterateFields","defaultValuePromise","id","data","field","locale","req","select","selectMode","siblingData","user","shouldContinue","siblingDoc","name","defaultValue","value","err","payload","logger","error","msg","type","rows","Array","isArray","promises","arraySelect","forEach","row","push","fields","undefined","Promise","all","blockTypeToMatch","blockType","block","blocks","find","slug","blockSelect","blockSelectMode","groupData","groupSelect","tabSiblingData","isNamedTab","tabSelect","tabs","map","tab"],"sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/promise.ts"],"sourcesContent":["import type {\n Data,\n Field,\n FlattenedBlock,\n PayloadRequest,\n SelectMode,\n SelectType,\n TabAsField,\n User,\n} from 'payload'\n\nimport { getBlockSelect, getDefaultValue, stripUnselectedFields } from 'payload'\nimport { fieldAffectsData, tabHasName } from 'payload/shared'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args<T> = {\n data: T\n field: Field | TabAsField\n id?: number | string\n locale: string | undefined\n req: PayloadRequest\n select?: SelectType\n selectMode?: SelectMode\n siblingData: Data\n user: User\n}\n\n// TODO: Make this works for rich text subfields\nexport const defaultValuePromise = async <T>({\n id,\n data,\n field,\n locale,\n req,\n select,\n selectMode,\n siblingData,\n user,\n}: Args<T>): Promise<void> => {\n const shouldContinue = stripUnselectedFields({\n field,\n select,\n selectMode,\n siblingDoc: siblingData,\n })\n\n if (!shouldContinue) {\n return\n }\n\n if (fieldAffectsData(field)) {\n if (\n typeof siblingData[field.name] === 'undefined' &&\n typeof field.defaultValue !== 'undefined'\n ) {\n try {\n siblingData[field.name] = await getDefaultValue({\n defaultValue: field.defaultValue,\n locale,\n req,\n user,\n value: siblingData[field.name],\n })\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `Error calculating default value for field: ${field.name}`,\n })\n }\n }\n }\n\n // Traverse subfields\n switch (field.type) {\n case 'array': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n const arraySelect = select?.[field.name]\n\n rows.forEach((row) => {\n promises.push(\n iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\n select: typeof arraySelect === 'object' ? arraySelect : undefined,\n selectMode,\n siblingData: row,\n user,\n }),\n )\n })\n\n await Promise.all(promises)\n }\n break\n }\n\n case 'blocks': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n\n rows.forEach((row) => {\n const blockTypeToMatch: string = row.blockType\n\n const block =\n req.payload.blocks[blockTypeToMatch] ??\n (field.blocks.find(\n (blockType) => typeof blockType !== 'string' && blockType.slug === blockTypeToMatch,\n ) as FlattenedBlock | undefined)\n\n const { blockSelect, blockSelectMode } = getBlockSelect({\n block,\n select: select?.[field.name],\n selectMode,\n })\n\n if (block) {\n row.blockType = blockTypeToMatch\n\n promises.push(\n iterateFields({\n id,\n data,\n fields: block.fields,\n locale,\n req,\n select: typeof blockSelect === 'object' ? blockSelect : undefined,\n selectMode: blockSelectMode,\n siblingData: row,\n user,\n }),\n )\n }\n })\n await Promise.all(promises)\n }\n\n break\n }\n\n case 'collapsible':\n case 'row': {\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\n select,\n selectMode,\n siblingData,\n user,\n })\n\n break\n }\n case 'group': {\n if (fieldAffectsData(field)) {\n if (typeof siblingData[field.name] !== 'object') {\n siblingData[field.name] = {}\n }\n\n const groupData = siblingData[field.name] as Record<string, unknown>\n\n const groupSelect = select?.[field.name]\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\n select: typeof groupSelect === 'object' ? groupSelect : undefined,\n selectMode,\n siblingData: groupData,\n user,\n })\n } else {\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\n select,\n selectMode,\n siblingData,\n user,\n })\n }\n\n break\n }\n\n case 'tab': {\n let tabSiblingData\n\n const isNamedTab = tabHasName(field)\n\n let tabSelect: SelectType | undefined\n\n if (isNamedTab) {\n if (typeof siblingData[field.name] !== 'object') {\n siblingData[field.name] = {}\n }\n\n tabSiblingData = siblingData[field.name] as Record<string, unknown>\n\n if (typeof select?.[field.name] === 'object') {\n tabSelect = select?.[field.name] as SelectType\n }\n } else {\n tabSiblingData = siblingData\n tabSelect = select\n }\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\n select: tabSelect,\n selectMode,\n siblingData: tabSiblingData,\n user,\n })\n\n break\n }\n\n case 'tabs': {\n await iterateFields({\n id,\n data,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n locale,\n req,\n select,\n selectMode,\n siblingData,\n user,\n })\n\n break\n }\n\n default: {\n break\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -34,6 +34,7 @@ type Args = {
34
34
  * then the field schema map is not required.
35
35
  */
36
36
  fieldSchemaMap: FieldSchemaMap | undefined;
37
+ globalSlug?: string;
37
38
  id?: number | string;
38
39
  /**
39
40
  * Validation, filterOptions and read access control will receive the `blockData`, which is the data of the nearest parent block. You can pass in
@@ -62,6 +63,6 @@ type Args = {
62
63
  selectMode?: SelectMode;
63
64
  skipValidation?: boolean;
64
65
  };
65
- export declare const fieldSchemasToFormState: ({ id, clientFieldSchemaMap, collectionSlug, data, documentData, fields, fieldSchemaMap, initialBlockData, mockRSCs, operation, permissions, preferences, previousFormState, readOnly, renderAllFields, renderFieldFn, req, schemaPath, select, selectMode, skipValidation, }: Args) => Promise<FormState>;
66
+ export declare const fieldSchemasToFormState: ({ id, clientFieldSchemaMap, collectionSlug, data, documentData, fields, fieldSchemaMap, globalSlug, initialBlockData, mockRSCs, operation, permissions, preferences, previousFormState, readOnly, renderAllFields, renderFieldFn, req, schemaPath, select, selectMode, skipValidation, }: Args) => Promise<FormState>;
66
67
  export { iterateFields };
67
68
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,SAAS,EAET,cAAc,EACd,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,KAAK,IAAI,GAAG;IACV;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;IAC3B;;;;OAIG;IACH,cAAc,EAAE,cAAc,GAAG,SAAS,CAAA;IAC1C,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,IAAI,CAAA;IACvB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzC,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC/B,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,EAAE,mBAAmB,CAAA;IAChC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC,GAAG,EAAE,cAAc,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAU,8QAsB3C,IAAI,KAAG,OAAO,CAAC,SAAS,CAkE1B,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,SAAS,EAET,cAAc,EACd,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,KAAK,IAAI,GAAG;IACV;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;IAC3B;;;;OAIG;IACH,cAAc,EAAE,cAAc,GAAG,SAAS,CAAA;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,IAAI,CAAA;IACvB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzC,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC/B,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,EAAE,mBAAmB,CAAA;IAChC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC,GAAG,EAAE,cAAc,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAU,0RAuB3C,IAAI,KAAG,OAAO,CAAC,SAAS,CAmE1B,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -8,6 +8,7 @@ export const fieldSchemasToFormState = async ({
8
8
  documentData,
9
9
  fields,
10
10
  fieldSchemaMap,
11
+ globalSlug,
11
12
  initialBlockData,
12
13
  mockRSCs,
13
14
  operation,
@@ -59,6 +60,7 @@ export const fieldSchemasToFormState = async ({
59
60
  fields,
60
61
  fieldSchemaMap,
61
62
  fullData,
63
+ globalSlug,
62
64
  mockRSCs,
63
65
  operation,
64
66
  parentIndexPath: '',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["calculateDefaultValues","iterateFields","fieldSchemasToFormState","id","clientFieldSchemaMap","collectionSlug","data","documentData","fields","fieldSchemaMap","initialBlockData","mockRSCs","operation","permissions","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","schemaPath","select","selectMode","skipValidation","console","warn","length","state","dataWithDefaultValues","locale","siblingData","user","fullData","addErrorPathToParent","blockData","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath"],"sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n} from 'payload'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { calculateDefaultValues } from './calculateDefaultValues/index.js'\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n /**\n * The client field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the client field schema map is not required.\n */\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data?: Data\n /**\n * If this is undefined, the `data` passed to this function will serve as `fullData` and `data` when iterating over\n * the top-level-fields to generate form state.\n * For sub fields, the `data` will be narrowed down to the sub fields, while `fullData` remains the same.\n *\n * Usually, the `data` passed to this function will be the document data. This means that running validation, read access control\n * or executing filterOptions here will have access to the full document through the passed `fullData` parameter, and that `fullData` and `data` will be identical.\n *\n * In some cases however, this function is used to generate form state solely for sub fields - independent from the parent form state.\n * This means that `data` will be the form state of the sub fields - the document data won't be available here.\n *\n * In these cases, you can pass `documentData` which will be used as `fullData` instead of `data`.\n *\n * This is useful for lexical blocks, as lexical block fields there are not part of the parent form state, yet we still want\n * document data to be available for validation and filterOptions, under the `data` key.\n */\n documentData?: Data\n fields: Field[] | undefined\n /**\n * The field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the field schema map is not required.\n */\n fieldSchemaMap: FieldSchemaMap | undefined\n id?: number | string\n /**\n * Validation, filterOptions and read access control will receive the `blockData`, which is the data of the nearest parent block. You can pass in\n * the initial block data here, which will be used as `blockData` for the top-level fields, until the first block is encountered.\n */\n initialBlockData?: Data\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n operation?: 'create' | 'update'\n permissions: SanitizedFieldsPermissions\n preferences: DocumentPreferences\n /**\n * Optionally accept the previous form state,\n * to be able to determine if custom fields need to be re-rendered.\n */\n previousFormState?: FormState\n readOnly?: boolean\n /**\n * If renderAllFields is true, then no matter what is in previous form state,\n * all custom fields will be re-rendered.\n */\n renderAllFields: boolean\n renderFieldFn?: RenderFieldMethod\n req: PayloadRequest\n schemaPath: string\n select?: SelectType\n selectMode?: SelectMode\n skipValidation?: boolean\n}\n\nexport const fieldSchemasToFormState = async ({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data = {},\n documentData,\n fields,\n fieldSchemaMap,\n initialBlockData,\n mockRSCs,\n operation,\n permissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipValidation,\n}: Args): Promise<FormState> => {\n if (!clientFieldSchemaMap && renderFieldFn) {\n // eslint-disable-next-line no-console\n console.warn(\n 'clientFieldSchemaMap is not passed to fieldSchemasToFormState - this will reduce performance',\n )\n }\n\n if (fields && fields.length) {\n const state: FormStateWithoutComponents = {}\n\n const dataWithDefaultValues = { ...data }\n\n await calculateDefaultValues({\n id,\n data: dataWithDefaultValues,\n fields,\n locale: req.locale,\n req,\n select,\n selectMode,\n siblingData: dataWithDefaultValues,\n user: req.user,\n })\n\n let fullData = dataWithDefaultValues\n\n if (documentData) {\n // By the time this function is used to get form state for nested forms, their default values should have already been calculated\n // => no need to run calculateDefaultValues here\n fullData = documentData\n }\n\n await iterateFields({\n id,\n addErrorPathToParent: null,\n blockData: initialBlockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: dataWithDefaultValues,\n fields,\n fieldSchemaMap,\n fullData,\n mockRSCs,\n operation,\n parentIndexPath: '',\n parentPassesCondition: true,\n parentPath: '',\n parentSchemaPath: schemaPath,\n permissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select,\n selectMode,\n skipValidation,\n state,\n })\n\n return state\n }\n\n return {}\n}\n\nexport { iterateFields }\n"],"mappings":"AAiBA,SAASA,sBAAsB,QAAQ;AACvC,SAASC,aAAa,QAAQ;AAgE9B,OAAO,MAAMC,uBAAA,GAA0B,MAAAA,CAAO;EAC5CC,EAAE;EACFC,oBAAoB;EACpBC,cAAc;EACdC,IAAA,GAAO,CAAC,CAAC;EACTC,YAAY;EACZC,MAAM;EACNC,cAAc;EACdC,gBAAgB;EAChBC,QAAQ;EACRC,SAAS;EACTC,WAAW;EACXC,WAAW;EACXC,iBAAiB;EACjBC,QAAQ;EACRC,eAAe;EACfC,aAAa;EACbC,GAAG;EACHC,UAAU;EACVC,MAAM;EACNC,UAAU;EACVC;AAAc,CACT;EACL,IAAI,CAACnB,oBAAA,IAAwBc,aAAA,EAAe;IAC1C;IACAM,OAAA,CAAQC,IAAI,CACV;EAEJ;EAEA,IAAIjB,MAAA,IAAUA,MAAA,CAAOkB,MAAM,EAAE;IAC3B,MAAMC,KAAA,GAAoC,CAAC;IAE3C,MAAMC,qBAAA,GAAwB;MAAE,GAAGtB;IAAK;IAExC,MAAMN,sBAAA,CAAuB;MAC3BG,EAAA;MACAG,IAAA,EAAMsB,qBAAA;MACNpB,MAAA;MACAqB,MAAA,EAAQV,GAAA,CAAIU,MAAM;MAClBV,GAAA;MACAE,MAAA;MACAC,UAAA;MACAQ,WAAA,EAAaF,qBAAA;MACbG,IAAA,EAAMZ,GAAA,CAAIY;IACZ;IAEA,IAAIC,QAAA,GAAWJ,qBAAA;IAEf,IAAIrB,YAAA,EAAc;MAChB;MACA;MACAyB,QAAA,GAAWzB,YAAA;IACb;IAEA,MAAMN,aAAA,CAAc;MAClBE,EAAA;MACA8B,oBAAA,EAAsB;MACtBC,SAAA,EAAWxB,gBAAA;MACXN,oBAAA;MACAC,cAAA;MACAC,IAAA,EAAMsB,qBAAA;MACNpB,MAAA;MACAC,cAAA;MACAuB,QAAA;MACArB,QAAA;MACAC,SAAA;MACAuB,eAAA,EAAiB;MACjBC,qBAAA,EAAuB;MACvBC,UAAA,EAAY;MACZC,gBAAA,EAAkBlB,UAAA;MAClBP,WAAA;MACAC,WAAA;MACAC,iBAAA;MACAC,QAAA;MACAC,eAAA;MACAC,aAAA;MACAC,GAAA;MACAE,MAAA;MACAC,UAAA;MACAC,cAAA;MACAI;IACF;IAEA,OAAOA,KAAA;EACT;EAEA,OAAO,CAAC;AACV;AAEA,SAAS1B,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["calculateDefaultValues","iterateFields","fieldSchemasToFormState","id","clientFieldSchemaMap","collectionSlug","data","documentData","fields","fieldSchemaMap","globalSlug","initialBlockData","mockRSCs","operation","permissions","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","schemaPath","select","selectMode","skipValidation","console","warn","length","state","dataWithDefaultValues","locale","siblingData","user","fullData","addErrorPathToParent","blockData","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath"],"sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n} from 'payload'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { calculateDefaultValues } from './calculateDefaultValues/index.js'\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n /**\n * The client field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the client field schema map is not required.\n */\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data?: Data\n /**\n * If this is undefined, the `data` passed to this function will serve as `fullData` and `data` when iterating over\n * the top-level-fields to generate form state.\n * For sub fields, the `data` will be narrowed down to the sub fields, while `fullData` remains the same.\n *\n * Usually, the `data` passed to this function will be the document data. This means that running validation, read access control\n * or executing filterOptions here will have access to the full document through the passed `fullData` parameter, and that `fullData` and `data` will be identical.\n *\n * In some cases however, this function is used to generate form state solely for sub fields - independent from the parent form state.\n * This means that `data` will be the form state of the sub fields - the document data won't be available here.\n *\n * In these cases, you can pass `documentData` which will be used as `fullData` instead of `data`.\n *\n * This is useful for lexical blocks, as lexical block fields there are not part of the parent form state, yet we still want\n * document data to be available for validation and filterOptions, under the `data` key.\n */\n documentData?: Data\n fields: Field[] | undefined\n /**\n * The field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the field schema map is not required.\n */\n fieldSchemaMap: FieldSchemaMap | undefined\n globalSlug?: string\n id?: number | string\n /**\n * Validation, filterOptions and read access control will receive the `blockData`, which is the data of the nearest parent block. You can pass in\n * the initial block data here, which will be used as `blockData` for the top-level fields, until the first block is encountered.\n */\n initialBlockData?: Data\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n operation?: 'create' | 'update'\n permissions: SanitizedFieldsPermissions\n preferences: DocumentPreferences\n /**\n * Optionally accept the previous form state,\n * to be able to determine if custom fields need to be re-rendered.\n */\n previousFormState?: FormState\n readOnly?: boolean\n /**\n * If renderAllFields is true, then no matter what is in previous form state,\n * all custom fields will be re-rendered.\n */\n renderAllFields: boolean\n renderFieldFn?: RenderFieldMethod\n req: PayloadRequest\n schemaPath: string\n select?: SelectType\n selectMode?: SelectMode\n skipValidation?: boolean\n}\n\nexport const fieldSchemasToFormState = async ({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data = {},\n documentData,\n fields,\n fieldSchemaMap,\n globalSlug,\n initialBlockData,\n mockRSCs,\n operation,\n permissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipValidation,\n}: Args): Promise<FormState> => {\n if (!clientFieldSchemaMap && renderFieldFn) {\n // eslint-disable-next-line no-console\n console.warn(\n 'clientFieldSchemaMap is not passed to fieldSchemasToFormState - this will reduce performance',\n )\n }\n\n if (fields && fields.length) {\n const state: FormStateWithoutComponents = {}\n\n const dataWithDefaultValues = { ...data }\n\n await calculateDefaultValues({\n id,\n data: dataWithDefaultValues,\n fields,\n locale: req.locale,\n req,\n select,\n selectMode,\n siblingData: dataWithDefaultValues,\n user: req.user,\n })\n\n let fullData = dataWithDefaultValues\n\n if (documentData) {\n // By the time this function is used to get form state for nested forms, their default values should have already been calculated\n // => no need to run calculateDefaultValues here\n fullData = documentData\n }\n\n await iterateFields({\n id,\n addErrorPathToParent: null,\n blockData: initialBlockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: dataWithDefaultValues,\n fields,\n fieldSchemaMap,\n fullData,\n globalSlug,\n mockRSCs,\n operation,\n parentIndexPath: '',\n parentPassesCondition: true,\n parentPath: '',\n parentSchemaPath: schemaPath,\n permissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select,\n selectMode,\n skipValidation,\n state,\n })\n\n return state\n }\n\n return {}\n}\n\nexport { iterateFields }\n"],"mappings":"AAiBA,SAASA,sBAAsB,QAAQ;AACvC,SAASC,aAAa,QAAQ;AAiE9B,OAAO,MAAMC,uBAAA,GAA0B,MAAAA,CAAO;EAC5CC,EAAE;EACFC,oBAAoB;EACpBC,cAAc;EACdC,IAAA,GAAO,CAAC,CAAC;EACTC,YAAY;EACZC,MAAM;EACNC,cAAc;EACdC,UAAU;EACVC,gBAAgB;EAChBC,QAAQ;EACRC,SAAS;EACTC,WAAW;EACXC,WAAW;EACXC,iBAAiB;EACjBC,QAAQ;EACRC,eAAe;EACfC,aAAa;EACbC,GAAG;EACHC,UAAU;EACVC,MAAM;EACNC,UAAU;EACVC;AAAc,CACT;EACL,IAAI,CAACpB,oBAAA,IAAwBe,aAAA,EAAe;IAC1C;IACAM,OAAA,CAAQC,IAAI,CACV;EAEJ;EAEA,IAAIlB,MAAA,IAAUA,MAAA,CAAOmB,MAAM,EAAE;IAC3B,MAAMC,KAAA,GAAoC,CAAC;IAE3C,MAAMC,qBAAA,GAAwB;MAAE,GAAGvB;IAAK;IAExC,MAAMN,sBAAA,CAAuB;MAC3BG,EAAA;MACAG,IAAA,EAAMuB,qBAAA;MACNrB,MAAA;MACAsB,MAAA,EAAQV,GAAA,CAAIU,MAAM;MAClBV,GAAA;MACAE,MAAA;MACAC,UAAA;MACAQ,WAAA,EAAaF,qBAAA;MACbG,IAAA,EAAMZ,GAAA,CAAIY;IACZ;IAEA,IAAIC,QAAA,GAAWJ,qBAAA;IAEf,IAAItB,YAAA,EAAc;MAChB;MACA;MACA0B,QAAA,GAAW1B,YAAA;IACb;IAEA,MAAMN,aAAA,CAAc;MAClBE,EAAA;MACA+B,oBAAA,EAAsB;MACtBC,SAAA,EAAWxB,gBAAA;MACXP,oBAAA;MACAC,cAAA;MACAC,IAAA,EAAMuB,qBAAA;MACNrB,MAAA;MACAC,cAAA;MACAwB,QAAA;MACAvB,UAAA;MACAE,QAAA;MACAC,SAAA;MACAuB,eAAA,EAAiB;MACjBC,qBAAA,EAAuB;MACvBC,UAAA,EAAY;MACZC,gBAAA,EAAkBlB,UAAA;MAClBP,WAAA;MACAC,WAAA;MACAC,iBAAA;MACAC,QAAA;MACAC,eAAA;MACAC,aAAA;MACAC,GAAA;MACAE,MAAA;MACAC,UAAA;MACAC,cAAA;MACAI;IACF;IAEA,OAAOA,KAAA;EACT;EAEA,OAAO,CAAC;AACV;AAEA,SAAS3B,aAAa","ignoreList":[]}
@@ -22,6 +22,7 @@ type Args = {
22
22
  */
23
23
  forceFullValue?: boolean;
24
24
  fullData: Data;
25
+ globalSlug?: string;
25
26
  id?: number | string;
26
27
  /**
27
28
  * Whether the field schema should be included in the state. @default false
@@ -62,6 +63,6 @@ type Args = {
62
63
  /**
63
64
  * Flattens the fields schema and fields data
64
65
  */
65
- export declare const iterateFields: ({ id, addErrorPathToParent: addErrorPathToParentArg, anyParentLocalized, blockData, clientFieldSchemaMap, collectionSlug, data, fields, fieldSchemaMap, filter, forceFullValue, fullData, includeSchema, mockRSCs, omitParents, operation, parentIndexPath, parentPassesCondition, parentPath, parentSchemaPath, permissions, preferences, previousFormState, readOnly, renderAllFields, renderFieldFn: renderFieldFn, req, select, selectMode, skipConditionChecks, skipValidation, state, }: Args) => Promise<void>;
66
+ export declare const iterateFields: ({ id, addErrorPathToParent: addErrorPathToParentArg, anyParentLocalized, blockData, clientFieldSchemaMap, collectionSlug, data, fields, fieldSchemaMap, filter, forceFullValue, fullData, globalSlug, includeSchema, mockRSCs, omitParents, operation, parentIndexPath, parentPassesCondition, parentPath, parentSchemaPath, permissions, preferences, previousFormState, readOnly, renderAllFields, renderFieldFn: renderFieldFn, req, select, selectMode, skipConditionChecks, skipValidation, state, }: Args) => Promise<void>;
66
67
  export {};
67
68
  //# sourceMappingURL=iterateFields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EACd,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACV,UAAU,EACX,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAInD,KAAK,IAAI,GAAG;IACV,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,SAAS,EAAE,IAAI,GAAG,SAAS,CAAA;IAC3B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IACjC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,0BAA0B,CAAA;CACnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,GAAU,+dAiCjC,IAAI,KAAG,OAAO,CAAC,IAAI,CAgGrB,CAAA"}
1
+ {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EACd,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACV,UAAU,EACX,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAInD,KAAK,IAAI,GAAG;IACV,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,SAAS,EAAE,IAAI,GAAG,SAAS,CAAA;IAC3B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IACjC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,0BAA0B,CAAA;CACnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,GAAU,2eAkCjC,IAAI,KAAG,OAAO,CAAC,IAAI,CAiGrB,CAAA"}
@@ -17,6 +17,7 @@ export const iterateFields = async ({
17
17
  filter,
18
18
  forceFullValue = false,
19
19
  fullData,
20
+ globalSlug,
20
21
  includeSchema = false,
21
22
  mockRSCs,
22
23
  omitParents = false,
@@ -94,6 +95,7 @@ export const iterateFields = async ({
94
95
  filter,
95
96
  forceFullValue,
96
97
  fullData,
98
+ globalSlug,
97
99
  includeSchema,
98
100
  indexPath,
99
101
  mockRSCs,