@payloadcms/ui 3.23.0 → 3.24.0-canary.05013b2

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 (281) hide show
  1. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  2. package/dist/elements/AppHeader/index.js +2 -4
  3. package/dist/elements/AppHeader/index.js.map +1 -1
  4. package/dist/elements/Banner/index.d.ts.map +1 -1
  5. package/dist/elements/Banner/index.js +1 -2
  6. package/dist/elements/Banner/index.js.map +1 -1
  7. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  8. package/dist/elements/BulkUpload/EditForm/index.js +6 -2
  9. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  10. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  11. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +22 -20
  12. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  13. package/dist/elements/Button/index.d.ts.map +1 -1
  14. package/dist/elements/Button/index.js +11 -12
  15. package/dist/elements/Button/index.js.map +1 -1
  16. package/dist/elements/Button/types.d.ts +5 -0
  17. package/dist/elements/Button/types.d.ts.map +1 -1
  18. package/dist/elements/Button/types.js.map +1 -1
  19. package/dist/elements/Card/index.d.ts +7 -3
  20. package/dist/elements/Card/index.d.ts.map +1 -1
  21. package/dist/elements/Card/index.js +0 -2
  22. package/dist/elements/Card/index.js.map +1 -1
  23. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  24. package/dist/elements/CopyLocaleData/index.js +220 -99
  25. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  26. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  27. package/dist/elements/DeleteDocument/index.js +7 -3
  28. package/dist/elements/DeleteDocument/index.js.map +1 -1
  29. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  30. package/dist/elements/DeleteMany/index.js +2 -2
  31. package/dist/elements/DeleteMany/index.js.map +1 -1
  32. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  33. package/dist/elements/DocumentControls/index.js.map +1 -1
  34. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  35. package/dist/elements/DocumentLocked/index.js +67 -39
  36. package/dist/elements/DocumentLocked/index.js.map +1 -1
  37. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -1
  38. package/dist/elements/DocumentTakeOver/index.js +28 -12
  39. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  40. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  41. package/dist/elements/DuplicateDocument/index.js +8 -4
  42. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  43. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  44. package/dist/elements/EditMany/DrawerContent.js +3 -2
  45. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  46. package/dist/elements/EditUpload/index.js +1 -1
  47. package/dist/elements/EditUpload/index.js.map +1 -1
  48. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -0
  49. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  50. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -17
  51. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  52. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -0
  53. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  54. package/dist/elements/FileDetails/StaticFileDetails/index.js +2 -1
  55. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  56. package/dist/elements/FileDetails/index.d.ts +1 -0
  57. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  58. package/dist/elements/FileDetails/index.js.map +1 -1
  59. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  60. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  61. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +6 -2
  62. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  63. package/dist/elements/Link/formatUrl.d.ts +4 -0
  64. package/dist/elements/Link/formatUrl.d.ts.map +1 -0
  65. package/dist/elements/Link/formatUrl.js +87 -0
  66. package/dist/elements/Link/formatUrl.js.map +1 -0
  67. package/dist/elements/Link/index.d.ts +6 -0
  68. package/dist/elements/Link/index.d.ts.map +1 -0
  69. package/dist/elements/Link/index.js +58 -0
  70. package/dist/elements/Link/index.js.map +1 -0
  71. package/dist/elements/ListControls/index.d.ts +2 -1
  72. package/dist/elements/ListControls/index.d.ts.map +1 -1
  73. package/dist/elements/ListControls/index.js +5 -3
  74. package/dist/elements/ListControls/index.js.map +1 -1
  75. package/dist/elements/Logout/index.d.ts +5 -0
  76. package/dist/elements/Logout/index.d.ts.map +1 -1
  77. package/dist/elements/Logout/index.js +10 -13
  78. package/dist/elements/Logout/index.js.map +1 -1
  79. package/dist/elements/Nav/context.d.ts.map +1 -1
  80. package/dist/elements/Nav/context.js +3 -1
  81. package/dist/elements/Nav/context.js.map +1 -1
  82. package/dist/elements/Pill/index.d.ts.map +1 -1
  83. package/dist/elements/Pill/index.js +1 -2
  84. package/dist/elements/Pill/index.js.map +1 -1
  85. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  86. package/dist/elements/Popup/PopupButtonList/index.js +1 -2
  87. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  88. package/dist/elements/PreviewButton/index.d.ts +2 -1
  89. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  90. package/dist/elements/PreviewButton/index.js +2 -2
  91. package/dist/elements/PreviewButton/index.js.map +1 -1
  92. package/dist/elements/PreviewSizes/index.js +1 -1
  93. package/dist/elements/PreviewSizes/index.js.map +1 -1
  94. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +1 -2
  95. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  96. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  97. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  98. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  99. package/dist/elements/PublishButton/index.d.ts +2 -3
  100. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  101. package/dist/elements/PublishButton/index.js +2 -2
  102. package/dist/elements/PublishButton/index.js.map +1 -1
  103. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  104. package/dist/elements/RelationshipTable/index.js.map +1 -1
  105. package/dist/elements/SaveButton/index.d.ts +2 -3
  106. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  107. package/dist/elements/SaveButton/index.js +3 -3
  108. package/dist/elements/SaveButton/index.js.map +1 -1
  109. package/dist/elements/SaveDraftButton/index.d.ts +2 -1
  110. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  111. package/dist/elements/SaveDraftButton/index.js +2 -2
  112. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  113. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  114. package/dist/elements/StayLoggedIn/index.js +32 -27
  115. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  116. package/dist/elements/StepNav/index.d.ts +5 -0
  117. package/dist/elements/StepNav/index.d.ts.map +1 -1
  118. package/dist/elements/StepNav/index.js +18 -25
  119. package/dist/elements/StepNav/index.js.map +1 -1
  120. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  121. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +12 -4
  122. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  123. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  124. package/dist/elements/Table/DefaultCell/index.js +1 -2
  125. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  126. package/dist/elements/Table/index.d.ts +1 -9
  127. package/dist/elements/Table/index.d.ts.map +1 -1
  128. package/dist/elements/Table/index.js.map +1 -1
  129. package/dist/elements/TableColumns/buildColumnState.d.ts +1 -2
  130. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  131. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  132. package/dist/elements/TableColumns/index.d.ts +1 -2
  133. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  134. package/dist/elements/TableColumns/index.js.map +1 -1
  135. package/dist/elements/Thumbnail/index.js +2 -2
  136. package/dist/elements/Thumbnail/index.js.map +1 -1
  137. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  138. package/dist/elements/UnpublishMany/index.js.map +1 -1
  139. package/dist/elements/Upload/index.d.ts.map +1 -1
  140. package/dist/elements/Upload/index.js +5 -1
  141. package/dist/elements/Upload/index.js.map +1 -1
  142. package/dist/elements/ViewDescription/index.d.ts +2 -5
  143. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  144. package/dist/elements/ViewDescription/index.js +2 -2
  145. package/dist/elements/ViewDescription/index.js.map +1 -1
  146. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts +2 -1
  147. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts.map +1 -1
  148. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +2 -0
  149. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  150. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  151. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +4 -0
  152. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  153. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +2 -1
  154. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
  155. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  156. package/dist/elements/WhereBuilder/Condition/index.d.ts +2 -1
  157. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  158. package/dist/elements/WhereBuilder/Condition/index.js +2 -0
  159. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  160. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  161. package/dist/elements/WhereBuilder/index.js +3 -1
  162. package/dist/elements/WhereBuilder/index.js.map +1 -1
  163. package/dist/elements/WhereBuilder/types.d.ts +2 -1
  164. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  165. package/dist/elements/WhereBuilder/types.js.map +1 -1
  166. package/dist/exports/client/{CodeEditor-BMYVMDNZ.js → CodeEditor-L6GW2VQ6.js} +2 -2
  167. package/dist/exports/client/chunk-ZZDNSFEW.js +26 -0
  168. package/dist/exports/client/{chunk-CQQHQHCB.js.map → chunk-ZZDNSFEW.js.map} +4 -4
  169. package/dist/exports/client/index.d.ts +47 -4
  170. package/dist/exports/client/index.d.ts.map +1 -1
  171. package/dist/exports/client/index.js +23 -23
  172. package/dist/exports/client/index.js.map +4 -4
  173. package/dist/exports/rsc/index.d.ts +1 -0
  174. package/dist/exports/rsc/index.d.ts.map +1 -1
  175. package/dist/exports/rsc/index.js +1 -0
  176. package/dist/exports/rsc/index.js.map +1 -1
  177. package/dist/fields/Array/index.d.ts.map +1 -1
  178. package/dist/fields/Array/index.js +1 -2
  179. package/dist/fields/Array/index.js.map +1 -1
  180. package/dist/fields/Blocks/BlockRow.d.ts +1 -1
  181. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  182. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  183. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +1 -1
  184. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  185. package/dist/fields/Blocks/BlocksDrawer/index.js +31 -23
  186. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  187. package/dist/fields/Blocks/RowActions.d.ts +1 -1
  188. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  189. package/dist/fields/Blocks/RowActions.js.map +1 -1
  190. package/dist/fields/Blocks/index.d.ts.map +1 -1
  191. package/dist/fields/Blocks/index.js +6 -4
  192. package/dist/fields/Blocks/index.js.map +1 -1
  193. package/dist/fields/JSON/index.d.ts.map +1 -1
  194. package/dist/fields/JSON/index.js +5 -6
  195. package/dist/fields/JSON/index.js.map +1 -1
  196. package/dist/fields/Join/index.d.ts.map +1 -1
  197. package/dist/fields/Join/index.js +20 -4
  198. package/dist/fields/Join/index.js.map +1 -1
  199. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  200. package/dist/fields/Relationship/optionsReducer.js +1 -0
  201. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  202. package/dist/fields/Upload/Input.d.ts +1 -0
  203. package/dist/fields/Upload/Input.d.ts.map +1 -1
  204. package/dist/fields/Upload/Input.js.map +1 -1
  205. package/dist/fields/Upload/RelationshipContent/index.js +1 -1
  206. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  207. package/dist/forms/Form/index.d.ts.map +1 -1
  208. package/dist/forms/Form/index.js +5 -1
  209. package/dist/forms/Form/index.js.map +1 -1
  210. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  211. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +4 -3
  212. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  213. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  214. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
  215. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  216. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  217. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
  218. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  219. package/dist/providers/Auth/index.d.ts.map +1 -1
  220. package/dist/providers/Auth/index.js +9 -13
  221. package/dist/providers/Auth/index.js.map +1 -1
  222. package/dist/providers/Config/index.d.ts +2 -2
  223. package/dist/providers/Config/index.d.ts.map +1 -1
  224. package/dist/providers/Config/index.js +17 -2
  225. package/dist/providers/Config/index.js.map +1 -1
  226. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  227. package/dist/providers/ListQuery/index.js +2 -1
  228. package/dist/providers/ListQuery/index.js.map +1 -1
  229. package/dist/providers/Root/index.d.ts.map +1 -1
  230. package/dist/providers/Root/index.js +44 -41
  231. package/dist/providers/Root/index.js.map +1 -1
  232. package/dist/providers/RouteTransition/ProgressBar/index.d.ts +17 -0
  233. package/dist/providers/RouteTransition/ProgressBar/index.d.ts.map +1 -0
  234. package/dist/providers/RouteTransition/ProgressBar/index.js +104 -0
  235. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -0
  236. package/dist/providers/RouteTransition/ProgressBar/index.scss +21 -0
  237. package/dist/providers/RouteTransition/index.d.ts +51 -0
  238. package/dist/providers/RouteTransition/index.d.ts.map +1 -0
  239. package/dist/providers/RouteTransition/index.js +133 -0
  240. package/dist/providers/RouteTransition/index.js.map +1 -0
  241. package/dist/styles.css +1 -1
  242. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  243. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +3 -1
  244. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  245. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  246. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +4 -1
  247. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  248. package/dist/utilities/buildTableState.d.ts +1 -2
  249. package/dist/utilities/buildTableState.d.ts.map +1 -1
  250. package/dist/utilities/buildTableState.js +1 -0
  251. package/dist/utilities/buildTableState.js.map +1 -1
  252. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  253. package/dist/utilities/copyDataFromLocale.js +22 -18
  254. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  255. package/dist/utilities/getClientConfig.js.map +1 -1
  256. package/dist/utilities/renderTable.d.ts.map +1 -1
  257. package/dist/utilities/renderTable.js.map +1 -1
  258. package/dist/utilities/resolveFilterOptions.d.ts +5 -0
  259. package/dist/utilities/resolveFilterOptions.d.ts.map +1 -0
  260. package/dist/{forms/fieldSchemasToFormState/getFilterOptionsQuery.js → utilities/resolveFilterOptions.js} +2 -2
  261. package/dist/utilities/resolveFilterOptions.js.map +1 -0
  262. package/dist/views/Edit/index.d.ts +2 -2
  263. package/dist/views/Edit/index.d.ts.map +1 -1
  264. package/dist/views/Edit/index.js +8 -4
  265. package/dist/views/Edit/index.js.map +1 -1
  266. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  267. package/dist/views/List/ListHeader/index.js +1 -4
  268. package/dist/views/List/ListHeader/index.js.map +1 -1
  269. package/dist/views/List/index.d.ts +2 -24
  270. package/dist/views/List/index.d.ts.map +1 -1
  271. package/dist/views/List/index.js +7 -7
  272. package/dist/views/List/index.js.map +1 -1
  273. package/dist/views/List/types.d.ts +1 -18
  274. package/dist/views/List/types.d.ts.map +1 -1
  275. package/dist/views/List/types.js.map +1 -1
  276. package/package.json +6 -6
  277. package/dist/exports/client/chunk-CQQHQHCB.js +0 -26
  278. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts +0 -7
  279. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts.map +0 -1
  280. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.js.map +0 -1
  281. /package/dist/exports/client/{CodeEditor-BMYVMDNZ.js.map → CodeEditor-L6GW2VQ6.js.map} +0 -0
@@ -1,4 +1,5 @@
1
1
  export { copyDataFromLocaleHandler } from '../../utilities/copyDataFromLocale.js';
2
2
  export { renderFilters, renderTable } from '../../utilities/renderTable.js';
3
+ export { resolveFilterOptions } from '../../utilities/resolveFilterOptions.js';
3
4
  export { upsertPreferences } from '../../utilities/upsertPreferences.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exports/rsc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exports/rsc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export { copyDataFromLocaleHandler } from '../../utilities/copyDataFromLocale.js';
2
2
  export { renderFilters, renderTable } from '../../utilities/renderTable.js';
3
+ export { resolveFilterOptions } from '../../utilities/resolveFilterOptions.js';
3
4
  export { upsertPreferences } from '../../utilities/upsertPreferences.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["copyDataFromLocaleHandler","renderFilters","renderTable","upsertPreferences"],"sources":["../../../src/exports/rsc/index.ts"],"sourcesContent":["export { copyDataFromLocaleHandler } from '../../utilities/copyDataFromLocale.js'\nexport { renderFilters, renderTable } from '../../utilities/renderTable.js'\nexport { upsertPreferences } from '../../utilities/upsertPreferences.js'\n"],"mappings":"AAAA,SAASA,yBAAyB,QAAQ;AAC1C,SAASC,aAAa,EAAEC,WAAW,QAAQ;AAC3C,SAASC,iBAAiB,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["copyDataFromLocaleHandler","renderFilters","renderTable","resolveFilterOptions","upsertPreferences"],"sources":["../../../src/exports/rsc/index.ts"],"sourcesContent":["export { copyDataFromLocaleHandler } from '../../utilities/copyDataFromLocale.js'\nexport { renderFilters, renderTable } from '../../utilities/renderTable.js'\nexport { resolveFilterOptions } from '../../utilities/resolveFilterOptions.js'\nexport { upsertPreferences } from '../../utilities/upsertPreferences.js'\n"],"mappings":"AAAA,SAASA,yBAAyB,QAAQ;AAC1C,SAASC,aAAa,EAAEC,WAAW,QAAQ;AAC3C,SAASC,oBAAoB,QAAQ;AACrC,SAASC,iBAAiB,QAAQ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Array/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EAG1B,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAsB,MAAM,OAAO,CAAA;AAuB1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,mBAAmB,EAAE,yBAiUjC,CAAA;AAED,eAAO,MAAM,UAAU;;;;+EAAqC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Array/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EAG1B,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAsB,MAAM,OAAO,CAAA;AAuB1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,mBAAmB,EAAE,yBAgUjC,CAAA;AAED,eAAO,MAAM,UAAU;;;;+EAAqC,CAAA"}
@@ -487,10 +487,9 @@ export const ArrayFieldComponent = props => {
487
487
  })
488
488
  })]
489
489
  })]
490
- }), !hasMaxRows && _jsx(Button, {
490
+ }), !hasMaxRows && !readOnly && _jsx(Button, {
491
491
  buttonStyle: "icon-label",
492
492
  className: `${baseClass}__add-row`,
493
- disabled: readOnly,
494
493
  icon: "plus",
495
494
  iconPosition: "left",
496
495
  iconStyle: "with-border",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","$","field","t0","forceRender","t1","path","permissions","readOnly","schemaPath","schemaPathFromProps","validate","name","admin","t2","fields","label","localized","maxRows","minRows","minRowsProp","required","t3","undefined","className","description","isSortable","t4","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","submitted","code","locale","i18n","t","config","t5","localization","t6","bb0","fallback","defaultLocale","editingDefaultLocale","t7","p","labels","plural","singular","getLabels","t8","value","options","memoizedValidate","t9","hasRows","customComponents","t10","errorPaths","rows","t11","showError","valid","value_0","t12","AfterInput","BeforeInput","Description","Error","Label","RowLabels","t13","rowsData","t14","rowIndex","setTimeout","addRow","t15","rowIndex_0","type","duplicateRow","t16","rowIndex_1","removeRow","t17","moveFromIndex","moveToIndex","moveRow","t18","collapsed","collapsedIDs","updatedRows","toggleCollapseAll","t19","rowID","collapsed_0","collapsedIDs_0","updatedRows_0","setCollapse","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showRequired","showMinRows","t20","t21","filter","Boolean","t22","_jsx","CustomComponent","Fallback","t23","count","withMessage","_jsxs","join","id","replace","children","as","onClick","fieldValue","ids","map","_temp","onDragEnd","t24","moveFromIndex_0","moveToIndex_0","rowData","i","rowID_0","isLoading","rowPath","rowErrorCount","errorPath","startsWith","disabled","draggableSortableItemProps","CustomRowLabel","errorCount","parentPath","row","rowCount","Fragment","buttonStyle","icon","iconPosition","iconStyle","ArrayField"],"sources":["../../../src/fields/Array/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ArrayFieldClientComponent,\n ArrayFieldClientProps,\n ArrayField as ArrayFieldType,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.scss'\n\nconst baseClass = 'array-field'\n\nexport const ArrayFieldComponent: ArrayFieldClientComponent = (props) => {\n const {\n field: {\n name,\n admin: { className, description, isSortable = true } = {},\n fields,\n label,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n forceRender = false,\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = (minRowsProp ?? required) ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, setModified } = useForm()\n const submitted = useFormSubmitted()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale || 'en'\n return locale === defaultLocale\n }\n\n return true\n })()\n\n // Handle labeling for Arrays, Global Arrays, and Blocks\n const getLabels = (p: ArrayFieldClientProps): Partial<ArrayFieldType['labels']> => {\n if ('labels' in p && p?.labels) {\n return p.labels\n }\n\n if ('labels' in p.field && p.field.labels) {\n return { plural: p.field.labels?.plural, singular: p.field.labels?.singular }\n }\n\n if ('label' in p.field && p.field.label) {\n return { plural: undefined, singular: p.field.label }\n }\n\n return { plural: t('general:rows'), singular: t('general:row') }\n }\n\n const labels = getLabels(props)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label, RowLabels } = {},\n errorPaths,\n rows: rowsData = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path,\n validate: memoizedValidate,\n })\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n dispatchFields({ type: 'MOVE_ROW', moveFromIndex, moveToIndex, path })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows: rowsData,\n })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n },\n [dispatchFields, path, rowsData, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows: rowsData,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rowsData, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rowsData.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && errorPaths.length > 0\n\n const showRequired = readOnly && rowsData.length === 0\n const showMinRows = rowsData.length < minRows || (required && rowsData.length === 0)\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n >\n {showError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h3 className={`${baseClass}__title`}>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n as=\"span\"\n label={label}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rowsData?.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {BeforeInput}\n {(rowsData?.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rowsData.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rowsData.map((rowData, i) => {\n const { id: rowID, isLoading } = rowData\n\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths?.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem disabled={readOnly || !isSortable} id={rowID} key={rowID}>\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n addRow={addRow}\n CustomRowLabel={RowLabels?.[i]}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={fields}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n isLoading={isLoading}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly}\n removeRow={removeRow}\n row={rowData}\n rowCount={rowsData?.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n })}\n {!valid && (\n <React.Fragment>\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:rows' : 'general:row'),\n })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-row`}\n disabled={readOnly}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n void addRow(value || 0)\n }}\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const ArrayField = withCondition(ArrayFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","$","field","t0","forceRender","t1","path","permissions","readOnly","schemaPath","schemaPathFromProps","validate","name","admin","t2","fields","label","localized","maxRows","minRows","minRowsProp","required","t3","undefined","className","description","isSortable","t4","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","submitted","code","locale","i18n","t","config","t5","localization","t6","bb0","fallback","defaultLocale","editingDefaultLocale","t7","p","labels","plural","singular","getLabels","t8","value","options","memoizedValidate","t9","hasRows","customComponents","t10","errorPaths","rows","t11","showError","valid","value_0","t12","AfterInput","BeforeInput","Description","Error","Label","RowLabels","t13","rowsData","t14","rowIndex","setTimeout","addRow","t15","rowIndex_0","type","duplicateRow","t16","rowIndex_1","removeRow","t17","moveFromIndex","moveToIndex","moveRow","t18","collapsed","collapsedIDs","updatedRows","toggleCollapseAll","t19","rowID","collapsed_0","collapsedIDs_0","updatedRows_0","setCollapse","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showRequired","showMinRows","t20","t21","filter","Boolean","t22","_jsx","CustomComponent","Fallback","t23","count","withMessage","_jsxs","join","id","replace","children","as","onClick","fieldValue","ids","map","_temp","onDragEnd","t24","moveFromIndex_0","moveToIndex_0","rowData","i","rowID_0","isLoading","rowPath","rowErrorCount","errorPath","startsWith","disabled","draggableSortableItemProps","CustomRowLabel","errorCount","parentPath","row","rowCount","Fragment","buttonStyle","icon","iconPosition","iconStyle","ArrayField"],"sources":["../../../src/fields/Array/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ArrayFieldClientComponent,\n ArrayFieldClientProps,\n ArrayField as ArrayFieldType,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.scss'\n\nconst baseClass = 'array-field'\n\nexport const ArrayFieldComponent: ArrayFieldClientComponent = (props) => {\n const {\n field: {\n name,\n admin: { className, description, isSortable = true } = {},\n fields,\n label,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n forceRender = false,\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = (minRowsProp ?? required) ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, setModified } = useForm()\n const submitted = useFormSubmitted()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale || 'en'\n return locale === defaultLocale\n }\n\n return true\n })()\n\n // Handle labeling for Arrays, Global Arrays, and Blocks\n const getLabels = (p: ArrayFieldClientProps): Partial<ArrayFieldType['labels']> => {\n if ('labels' in p && p?.labels) {\n return p.labels\n }\n\n if ('labels' in p.field && p.field.labels) {\n return { plural: p.field.labels?.plural, singular: p.field.labels?.singular }\n }\n\n if ('label' in p.field && p.field.label) {\n return { plural: undefined, singular: p.field.label }\n }\n\n return { plural: t('general:rows'), singular: t('general:row') }\n }\n\n const labels = getLabels(props)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label, RowLabels } = {},\n errorPaths,\n rows: rowsData = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path,\n validate: memoizedValidate,\n })\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n dispatchFields({ type: 'MOVE_ROW', moveFromIndex, moveToIndex, path })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows: rowsData,\n })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n },\n [dispatchFields, path, rowsData, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows: rowsData,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rowsData, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rowsData.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && errorPaths.length > 0\n\n const showRequired = readOnly && rowsData.length === 0\n const showMinRows = rowsData.length < minRows || (required && rowsData.length === 0)\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n >\n {showError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h3 className={`${baseClass}__title`}>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n as=\"span\"\n label={label}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rowsData?.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {BeforeInput}\n {(rowsData?.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rowsData.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rowsData.map((rowData, i) => {\n const { id: rowID, isLoading } = rowData\n\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths?.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem disabled={readOnly || !isSortable} id={rowID} key={rowID}>\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n addRow={addRow}\n CustomRowLabel={RowLabels?.[i]}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={fields}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n isLoading={isLoading}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly}\n removeRow={removeRow}\n row={rowData}\n rowCount={rowsData?.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n })}\n {!valid && (\n <React.Fragment>\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:rows' : 'general:row'),\n })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && !readOnly && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-row`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n void addRow(value || 0)\n }}\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const ArrayField = withCondition(ArrayFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ import type { UseDraggableSortableReturn } from '../../elements/DraggableSortabl
4
4
  type BlocksFieldProps = {
5
5
  addRow: (rowIndex: number, blockType: string) => Promise<void> | void;
6
6
  block: ClientBlock;
7
- blocks: ClientBlock[];
7
+ blocks: (ClientBlock | string)[] | ClientBlock[];
8
8
  duplicateRow: (rowIndex: number) => void;
9
9
  errorCount: number;
10
10
  fields: ClientField[];
@@ -1 +1 @@
1
- {"version":3,"file":"BlockRow.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/BlockRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAG/F,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAgBhH,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,yBAAyB,CAAA;IACtC,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CACtD,GAAG,0BAA0B,CAAA;AAE9B,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA0I/C,CAAA"}
1
+ {"version":3,"file":"BlockRow.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/BlockRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAG/F,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAgBhH,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,GAAG,WAAW,EAAE,CAAA;IAChD,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,yBAAyB,CAAA;IACtC,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CACtD,GAAG,0BAA0B,CAAA;AAE9B,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA0I/C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"BlockRow.js","names":["c","_c","getTranslation","React","Fragment","Collapsible","ErrorPill","Pill","ShimmerEffect","useFormSubmitted","RenderFields","useThrottledValue","useTranslation","RowActions","SectionTitle","baseClass","BlockRow","t0","$","addRow","attributes","block","blocks","duplicateRow","errorCount","fields","hasMaxRows","isLoading","isLoadingFromProps","isSortable","Label","labels","listeners","moveRow","parentPath","path","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","i18n","hasSubmitted","fieldHasErrors","t1","t2","filter","Boolean","classNames","join","blockPermissions","permissionsBlockSpecific","slug","t3","split","t4","blockType","collapsed","id","t5","_jsx","ref","style","children","actions","className","collapsibleStyle","dragHandleProps","undefined","header","height","width","_jsxs","String","padStart","pillStyle","singular","count","withMessage","onToggle","margins","parentIndexPath","parentSchemaPath"],"sources":["../../../src/fields/Blocks/BlockRow.tsx"],"sourcesContent":["'use client'\nimport type { ClientBlock, ClientField, Labels, Row, SanitizedFieldPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment } from 'react'\n\nimport type { UseDraggableSortableReturn } from '../../elements/DraggableSortable/useDraggableSortable/types.js'\nimport type { RenderFieldsProps } from '../../forms/RenderFields/types.js'\n\nimport { Collapsible } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { useFormSubmitted } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { useThrottledValue } from '../../hooks/useThrottledValue.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { RowActions } from './RowActions.js'\nimport { SectionTitle } from './SectionTitle/index.js'\n\nconst baseClass = 'blocks-field'\n\ntype BlocksFieldProps = {\n addRow: (rowIndex: number, blockType: string) => Promise<void> | void\n block: ClientBlock\n blocks: ClientBlock[]\n duplicateRow: (rowIndex: number) => void\n errorCount: number\n fields: ClientField[]\n hasMaxRows?: boolean\n isLoading?: boolean\n isSortable?: boolean\n Label?: React.ReactNode\n labels: Labels\n moveRow: (fromIndex: number, toIndex: number) => void\n parentPath: string\n path: string\n permissions: SanitizedFieldPermissions\n readOnly: boolean\n removeRow: (rowIndex: number) => void\n row: Row\n rowCount: number\n rowIndex: number\n schemaPath: string\n setCollapse: (id: string, collapsed: boolean) => void\n} & UseDraggableSortableReturn\n\nexport const BlockRow: React.FC<BlocksFieldProps> = ({\n addRow,\n attributes,\n block,\n blocks,\n duplicateRow,\n errorCount,\n fields,\n hasMaxRows,\n isLoading: isLoadingFromProps,\n isSortable,\n Label,\n labels,\n listeners,\n moveRow,\n parentPath,\n path,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n}) => {\n const isLoading = useThrottledValue(isLoadingFromProps, 500)\n\n const { i18n } = useTranslation()\n const hasSubmitted = useFormSubmitted()\n\n const fieldHasErrors = hasSubmitted && errorCount > 0\n\n const classNames = [\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let blockPermissions: RenderFieldsProps['permissions'] = undefined\n\n if (permissions === true) {\n blockPermissions = true\n } else {\n const permissionsBlockSpecific = permissions?.blocks?.[block.slug]\n if (permissionsBlockSpecific === true) {\n blockPermissions = true\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n }\n\n return (\n <div\n id={`${parentPath?.split('.').join('-')}-row-${rowIndex}`}\n key={`${parentPath}-row-${rowIndex}`}\n ref={setNodeRef}\n style={{\n transform,\n }}\n >\n <Collapsible\n actions={\n !readOnly ? (\n <RowActions\n addRow={addRow}\n blocks={blocks}\n blockType={row.blockType}\n duplicateRow={duplicateRow}\n fields={block.fields}\n hasMaxRows={hasMaxRows}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n removeRow={removeRow}\n rowCount={rowCount}\n rowIndex={rowIndex}\n />\n ) : undefined\n }\n className={classNames}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n dragHandleProps={\n isSortable\n ? {\n id: row.id,\n attributes,\n listeners,\n }\n : undefined\n }\n header={\n isLoading ? (\n <ShimmerEffect height=\"1rem\" width=\"8rem\" />\n ) : (\n <div className={`${baseClass}__block-header`}>\n {Label || (\n <Fragment>\n <span className={`${baseClass}__block-number`}>\n {String(rowIndex + 1).padStart(2, '0')}\n </span>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${row.blockType}`}\n pillStyle=\"white\"\n >\n {getTranslation(block.labels.singular, i18n)}\n </Pill>\n <SectionTitle path={`${path}.blockName`} readOnly={readOnly} />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </Fragment>\n )}\n </div>\n )\n }\n isCollapsed={row.collapsed}\n key={row.id}\n onToggle={(collapsed) => setCollapse(row.id, collapsed)}\n >\n {isLoading ? (\n <ShimmerEffect />\n ) : (\n <RenderFields\n className={`${baseClass}__fields`}\n fields={fields}\n margins=\"small\"\n parentIndexPath=\"\"\n parentPath={path}\n parentSchemaPath={schemaPath}\n permissions={blockPermissions}\n readOnly={readOnly}\n />\n )}\n </Collapsible>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BlockRow.js","names":["c","_c","getTranslation","React","Fragment","Collapsible","ErrorPill","Pill","ShimmerEffect","useFormSubmitted","RenderFields","useThrottledValue","useTranslation","RowActions","SectionTitle","baseClass","BlockRow","t0","$","addRow","attributes","block","blocks","duplicateRow","errorCount","fields","hasMaxRows","isLoading","isLoadingFromProps","isSortable","Label","labels","listeners","moveRow","parentPath","path","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","i18n","hasSubmitted","fieldHasErrors","t1","t2","filter","Boolean","classNames","join","blockPermissions","permissionsBlockSpecific","slug","t3","split","t4","blockType","collapsed","id","t5","_jsx","ref","style","children","actions","className","collapsibleStyle","dragHandleProps","undefined","header","height","width","_jsxs","String","padStart","pillStyle","singular","count","withMessage","onToggle","margins","parentIndexPath","parentSchemaPath"],"sources":["../../../src/fields/Blocks/BlockRow.tsx"],"sourcesContent":["'use client'\nimport type { ClientBlock, ClientField, Labels, Row, SanitizedFieldPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment } from 'react'\n\nimport type { UseDraggableSortableReturn } from '../../elements/DraggableSortable/useDraggableSortable/types.js'\nimport type { RenderFieldsProps } from '../../forms/RenderFields/types.js'\n\nimport { Collapsible } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { useFormSubmitted } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { useThrottledValue } from '../../hooks/useThrottledValue.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { RowActions } from './RowActions.js'\nimport { SectionTitle } from './SectionTitle/index.js'\n\nconst baseClass = 'blocks-field'\n\ntype BlocksFieldProps = {\n addRow: (rowIndex: number, blockType: string) => Promise<void> | void\n block: ClientBlock\n blocks: (ClientBlock | string)[] | ClientBlock[]\n duplicateRow: (rowIndex: number) => void\n errorCount: number\n fields: ClientField[]\n hasMaxRows?: boolean\n isLoading?: boolean\n isSortable?: boolean\n Label?: React.ReactNode\n labels: Labels\n moveRow: (fromIndex: number, toIndex: number) => void\n parentPath: string\n path: string\n permissions: SanitizedFieldPermissions\n readOnly: boolean\n removeRow: (rowIndex: number) => void\n row: Row\n rowCount: number\n rowIndex: number\n schemaPath: string\n setCollapse: (id: string, collapsed: boolean) => void\n} & UseDraggableSortableReturn\n\nexport const BlockRow: React.FC<BlocksFieldProps> = ({\n addRow,\n attributes,\n block,\n blocks,\n duplicateRow,\n errorCount,\n fields,\n hasMaxRows,\n isLoading: isLoadingFromProps,\n isSortable,\n Label,\n labels,\n listeners,\n moveRow,\n parentPath,\n path,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n}) => {\n const isLoading = useThrottledValue(isLoadingFromProps, 500)\n\n const { i18n } = useTranslation()\n const hasSubmitted = useFormSubmitted()\n\n const fieldHasErrors = hasSubmitted && errorCount > 0\n\n const classNames = [\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let blockPermissions: RenderFieldsProps['permissions'] = undefined\n\n if (permissions === true) {\n blockPermissions = true\n } else {\n const permissionsBlockSpecific = permissions?.blocks?.[block.slug]\n if (permissionsBlockSpecific === true) {\n blockPermissions = true\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n }\n\n return (\n <div\n id={`${parentPath?.split('.').join('-')}-row-${rowIndex}`}\n key={`${parentPath}-row-${rowIndex}`}\n ref={setNodeRef}\n style={{\n transform,\n }}\n >\n <Collapsible\n actions={\n !readOnly ? (\n <RowActions\n addRow={addRow}\n blocks={blocks}\n blockType={row.blockType}\n duplicateRow={duplicateRow}\n fields={block.fields}\n hasMaxRows={hasMaxRows}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n removeRow={removeRow}\n rowCount={rowCount}\n rowIndex={rowIndex}\n />\n ) : undefined\n }\n className={classNames}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n dragHandleProps={\n isSortable\n ? {\n id: row.id,\n attributes,\n listeners,\n }\n : undefined\n }\n header={\n isLoading ? (\n <ShimmerEffect height=\"1rem\" width=\"8rem\" />\n ) : (\n <div className={`${baseClass}__block-header`}>\n {Label || (\n <Fragment>\n <span className={`${baseClass}__block-number`}>\n {String(rowIndex + 1).padStart(2, '0')}\n </span>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${row.blockType}`}\n pillStyle=\"white\"\n >\n {getTranslation(block.labels.singular, i18n)}\n </Pill>\n <SectionTitle path={`${path}.blockName`} readOnly={readOnly} />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </Fragment>\n )}\n </div>\n )\n }\n isCollapsed={row.collapsed}\n key={row.id}\n onToggle={(collapsed) => setCollapse(row.id, collapsed)}\n >\n {isLoading ? (\n <ShimmerEffect />\n ) : (\n <RenderFields\n className={`${baseClass}__fields`}\n fields={fields}\n margins=\"small\"\n parentIndexPath=\"\"\n parentPath={path}\n parentSchemaPath={schemaPath}\n permissions={blockPermissions}\n readOnly={readOnly}\n />\n )}\n </Collapsible>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ import './index.scss';
4
4
  export type Props = {
5
5
  readonly addRow: (index: number, blockType?: string) => Promise<void> | void;
6
6
  readonly addRowIndex: number;
7
- readonly blocks: ClientBlock[];
7
+ readonly blocks: (ClientBlock | string)[];
8
8
  readonly drawerSlug: string;
9
9
  readonly labels: Labels;
10
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Blocks/BlocksDrawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAIlD,OAAO,KAA8B,MAAM,OAAO,CAAA;AAOlD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC5E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB,CAAA;AAcD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiExC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Blocks/BlocksDrawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAIlD,OAAO,KAA8B,MAAM,OAAO,CAAA;AAOlD,OAAO,cAAc,CAAA;AAGrB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC5E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAA;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB,CAAA;AAcD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAqExC,CAAA"}
@@ -8,9 +8,10 @@ import React, { useEffect, useState } from 'react';
8
8
  import { Drawer } from '../../../elements/Drawer/index.js';
9
9
  import { ThumbnailCard } from '../../../elements/ThumbnailCard/index.js';
10
10
  import { DefaultBlockImage } from '../../../graphics/DefaultBlockImage/index.js';
11
+ import { useConfig } from '../../../providers/Config/index.js';
11
12
  import { useTranslation } from '../../../providers/Translation/index.js';
12
- import { BlockSearch } from './BlockSearch/index.js';
13
13
  import './index.scss';
14
+ import { BlockSearch } from './BlockSearch/index.js';
14
15
  const baseClass = 'blocks-drawer';
15
16
  const getBlockLabel = (block, i18n) => {
16
17
  if (typeof block.labels.singular === 'string') {
@@ -22,7 +23,7 @@ const getBlockLabel = (block, i18n) => {
22
23
  return '';
23
24
  };
24
25
  export const BlocksDrawer = props => {
25
- const $ = _c(18);
26
+ const $ = _c(20);
26
27
  const {
27
28
  addRow,
28
29
  addRowIndex,
@@ -40,6 +41,9 @@ export const BlocksDrawer = props => {
40
41
  i18n,
41
42
  t
42
43
  } = useTranslation();
44
+ const {
45
+ config
46
+ } = useConfig();
43
47
  let t0;
44
48
  let t1;
45
49
  if ($[0] !== drawerSlug || $[1] !== isModalOpen) {
@@ -60,10 +64,11 @@ export const BlocksDrawer = props => {
60
64
  useEffect(t0, t1);
61
65
  let t2;
62
66
  let t3;
63
- if ($[4] !== blocks || $[5] !== i18n || $[6] !== searchTerm) {
67
+ if ($[4] !== blocks || $[5] !== config.blocksMap || $[6] !== i18n || $[7] !== searchTerm) {
64
68
  t2 = () => {
65
69
  const searchTermToUse = searchTerm.toLowerCase();
66
- const matchingBlocks = blocks?.reduce((matchedBlocks, block) => {
70
+ const matchingBlocks = blocks?.reduce((matchedBlocks, _block) => {
71
+ const block = typeof _block === "string" ? config.blocksMap[_block] : _block;
67
72
  const blockLabel = getBlockLabel(block, i18n);
68
73
  if (blockLabel.includes(searchTermToUse)) {
69
74
  matchedBlocks.push(block);
@@ -72,19 +77,20 @@ export const BlocksDrawer = props => {
72
77
  }, []);
73
78
  setFilteredBlocks(matchingBlocks);
74
79
  };
75
- t3 = [searchTerm, blocks, i18n];
80
+ t3 = [searchTerm, blocks, i18n, config.blocksMap];
76
81
  $[4] = blocks;
77
- $[5] = i18n;
78
- $[6] = searchTerm;
79
- $[7] = t2;
80
- $[8] = t3;
82
+ $[5] = config.blocksMap;
83
+ $[6] = i18n;
84
+ $[7] = searchTerm;
85
+ $[8] = t2;
86
+ $[9] = t3;
81
87
  } else {
82
- t2 = $[7];
83
- t3 = $[8];
88
+ t2 = $[8];
89
+ t3 = $[9];
84
90
  }
85
91
  useEffect(t2, t3);
86
92
  let t4;
87
- if ($[9] !== addRow || $[10] !== addRowIndex || $[11] !== closeModal || $[12] !== drawerSlug || $[13] !== filteredBlocks || $[14] !== i18n || $[15] !== labels.singular || $[16] !== t) {
93
+ if ($[10] !== addRow || $[11] !== addRowIndex || $[12] !== closeModal || $[13] !== config.blocksMap || $[14] !== drawerSlug || $[15] !== filteredBlocks || $[16] !== i18n || $[17] !== labels.singular || $[18] !== t) {
88
94
  t4 = _jsxs(Drawer, {
89
95
  slug: drawerSlug,
90
96
  title: t("fields:addLabel", {
@@ -96,7 +102,8 @@ export const BlocksDrawer = props => {
96
102
  className: `${baseClass}__blocks-wrapper`,
97
103
  children: _jsx("ul", {
98
104
  className: `${baseClass}__blocks`,
99
- children: filteredBlocks?.map((block_0, index) => {
105
+ children: filteredBlocks?.map((_block_0, index) => {
106
+ const block_0 = typeof _block_0 === "string" ? config.blocksMap[_block_0] : _block_0;
100
107
  const {
101
108
  slug,
102
109
  imageAltText,
@@ -125,17 +132,18 @@ export const BlocksDrawer = props => {
125
132
  })
126
133
  })]
127
134
  });
128
- $[9] = addRow;
129
- $[10] = addRowIndex;
130
- $[11] = closeModal;
131
- $[12] = drawerSlug;
132
- $[13] = filteredBlocks;
133
- $[14] = i18n;
134
- $[15] = labels.singular;
135
- $[16] = t;
136
- $[17] = t4;
135
+ $[10] = addRow;
136
+ $[11] = addRowIndex;
137
+ $[12] = closeModal;
138
+ $[13] = config.blocksMap;
139
+ $[14] = drawerSlug;
140
+ $[15] = filteredBlocks;
141
+ $[16] = i18n;
142
+ $[17] = labels.singular;
143
+ $[18] = t;
144
+ $[19] = t4;
137
145
  } else {
138
- t4 = $[17];
146
+ t4 = $[19];
139
147
  }
140
148
  return t4;
141
149
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","React","useEffect","useState","Drawer","ThumbnailCard","DefaultBlockImage","useTranslation","BlockSearch","baseClass","getBlockLabel","block","i18n","labels","singular","toLowerCase","BlocksDrawer","props","$","addRow","addRowIndex","blocks","drawerSlug","searchTerm","setSearchTerm","filteredBlocks","setFilteredBlocks","closeModal","isModalOpen","t","t0","t1","t2","t3","searchTermToUse","matchingBlocks","reduce","matchedBlocks","blockLabel","includes","push","t4","_jsxs","slug","title","label","children","_jsx","className","map","block_0","index","imageAltText","imageURL","blockLabels","alignLabel","onClick","thumbnail","alt","src"],"sources":["../../../../src/fields/Blocks/BlocksDrawer/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientBlock, Labels } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useState } from 'react'\n\nimport { Drawer } from '../../../elements/Drawer/index.js'\nimport { ThumbnailCard } from '../../../elements/ThumbnailCard/index.js'\nimport { DefaultBlockImage } from '../../../graphics/DefaultBlockImage/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { BlockSearch } from './BlockSearch/index.js'\nimport './index.scss'\n\nexport type Props = {\n readonly addRow: (index: number, blockType?: string) => Promise<void> | void\n readonly addRowIndex: number\n readonly blocks: ClientBlock[]\n readonly drawerSlug: string\n readonly labels: Labels\n}\n\nconst baseClass = 'blocks-drawer'\n\nconst getBlockLabel = (block: ClientBlock, i18n: I18nClient) => {\n if (typeof block.labels.singular === 'string') {\n return block.labels.singular.toLowerCase()\n }\n if (typeof block.labels.singular === 'object') {\n return getTranslation(block.labels.singular, i18n).toLowerCase()\n }\n return ''\n}\n\nexport const BlocksDrawer: React.FC<Props> = (props) => {\n const { addRow, addRowIndex, blocks, drawerSlug, labels } = props\n\n const [searchTerm, setSearchTerm] = useState('')\n const [filteredBlocks, setFilteredBlocks] = useState(blocks)\n const { closeModal, isModalOpen } = useModal()\n const { i18n, t } = useTranslation()\n\n useEffect(() => {\n if (!isModalOpen(drawerSlug)) {\n setSearchTerm('')\n }\n }, [isModalOpen, drawerSlug])\n\n useEffect(() => {\n const searchTermToUse = searchTerm.toLowerCase()\n\n const matchingBlocks = blocks?.reduce((matchedBlocks, block) => {\n const blockLabel = getBlockLabel(block, i18n)\n if (blockLabel.includes(searchTermToUse)) {\n matchedBlocks.push(block)\n }\n return matchedBlocks\n }, [])\n\n setFilteredBlocks(matchingBlocks)\n }, [searchTerm, blocks, i18n])\n\n return (\n <Drawer\n slug={drawerSlug}\n title={t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n >\n <BlockSearch setSearchTerm={setSearchTerm} />\n <div className={`${baseClass}__blocks-wrapper`}>\n <ul className={`${baseClass}__blocks`}>\n {filteredBlocks?.map((block, index) => {\n const { slug, imageAltText, imageURL, labels: blockLabels } = block\n\n return (\n <li className={`${baseClass}__block`} key={index}>\n <ThumbnailCard\n alignLabel=\"center\"\n label={getTranslation(blockLabels?.singular, i18n)}\n onClick={() => {\n void addRow(addRowIndex, slug)\n closeModal(drawerSlug)\n }}\n thumbnail={\n imageURL ? (\n <img alt={imageAltText} src={imageURL} />\n ) : (\n <div className={`${baseClass}__default-image`}>\n <DefaultBlockImage />\n </div>\n )\n }\n />\n </li>\n )\n })}\n </ul>\n </div>\n </Drawer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","React","useEffect","useState","Drawer","ThumbnailCard","DefaultBlockImage","useConfig","useTranslation","BlockSearch","baseClass","getBlockLabel","block","i18n","labels","singular","toLowerCase","BlocksDrawer","props","$","addRow","addRowIndex","blocks","drawerSlug","searchTerm","setSearchTerm","filteredBlocks","setFilteredBlocks","closeModal","isModalOpen","t","config","t0","t1","t2","t3","blocksMap","searchTermToUse","matchingBlocks","reduce","matchedBlocks","_block","blockLabel","includes","push","t4","_jsxs","slug","title","label","children","_jsx","className","map","_block_0","index","block_0","imageAltText","imageURL","blockLabels","alignLabel","onClick","thumbnail","alt","src"],"sources":["../../../../src/fields/Blocks/BlocksDrawer/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientBlock, Labels } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useState } from 'react'\n\nimport { Drawer } from '../../../elements/Drawer/index.js'\nimport { ThumbnailCard } from '../../../elements/ThumbnailCard/index.js'\nimport { DefaultBlockImage } from '../../../graphics/DefaultBlockImage/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\nimport { BlockSearch } from './BlockSearch/index.js'\n\nexport type Props = {\n readonly addRow: (index: number, blockType?: string) => Promise<void> | void\n readonly addRowIndex: number\n readonly blocks: (ClientBlock | string)[]\n readonly drawerSlug: string\n readonly labels: Labels\n}\n\nconst baseClass = 'blocks-drawer'\n\nconst getBlockLabel = (block: ClientBlock, i18n: I18nClient) => {\n if (typeof block.labels.singular === 'string') {\n return block.labels.singular.toLowerCase()\n }\n if (typeof block.labels.singular === 'object') {\n return getTranslation(block.labels.singular, i18n).toLowerCase()\n }\n return ''\n}\n\nexport const BlocksDrawer: React.FC<Props> = (props) => {\n const { addRow, addRowIndex, blocks, drawerSlug, labels } = props\n\n const [searchTerm, setSearchTerm] = useState('')\n const [filteredBlocks, setFilteredBlocks] = useState(blocks)\n const { closeModal, isModalOpen } = useModal()\n const { i18n, t } = useTranslation()\n const { config } = useConfig()\n\n useEffect(() => {\n if (!isModalOpen(drawerSlug)) {\n setSearchTerm('')\n }\n }, [isModalOpen, drawerSlug])\n\n useEffect(() => {\n const searchTermToUse = searchTerm.toLowerCase()\n\n const matchingBlocks = blocks?.reduce((matchedBlocks, _block) => {\n const block = typeof _block === 'string' ? config.blocksMap[_block] : _block\n const blockLabel = getBlockLabel(block, i18n)\n if (blockLabel.includes(searchTermToUse)) {\n matchedBlocks.push(block)\n }\n return matchedBlocks\n }, [])\n\n setFilteredBlocks(matchingBlocks)\n }, [searchTerm, blocks, i18n, config.blocksMap])\n\n return (\n <Drawer\n slug={drawerSlug}\n title={t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n >\n <BlockSearch setSearchTerm={setSearchTerm} />\n <div className={`${baseClass}__blocks-wrapper`}>\n <ul className={`${baseClass}__blocks`}>\n {filteredBlocks?.map((_block, index) => {\n const block = typeof _block === 'string' ? config.blocksMap[_block] : _block\n\n const { slug, imageAltText, imageURL, labels: blockLabels } = block\n\n return (\n <li className={`${baseClass}__block`} key={index}>\n <ThumbnailCard\n alignLabel=\"center\"\n label={getTranslation(blockLabels?.singular, i18n)}\n onClick={() => {\n void addRow(addRowIndex, slug)\n closeModal(drawerSlug)\n }}\n thumbnail={\n imageURL ? (\n <img alt={imageAltText} src={imageURL} />\n ) : (\n <div className={`${baseClass}__default-image`}>\n <DefaultBlockImage />\n </div>\n )\n }\n />\n </li>\n )\n })}\n </ul>\n </div>\n </Drawer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import type { ClientBlock, ClientField, Labels } from 'payload';
2
2
  import React from 'react';
3
3
  export declare const RowActions: React.FC<{
4
4
  readonly addRow: (rowIndex: number, blockType: string) => Promise<void> | void;
5
- readonly blocks: ClientBlock[];
5
+ readonly blocks: (ClientBlock | string)[];
6
6
  readonly blockType: string;
7
7
  readonly duplicateRow: (rowIndex: number, blockType: string) => void;
8
8
  readonly fields: ClientField[];
@@ -1 +1 @@
1
- {"version":3,"file":"RowActions.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/RowActions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAG/D,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9E,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACpE,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9D,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAiDA,CAAA"}
1
+ {"version":3,"file":"RowActions.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/RowActions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAG/D,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9E,QAAQ,CAAC,MAAM,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACpE,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9D,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAiDA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"RowActions.js","names":["c","_c","useModal","React","ArrayAction","useDrawerSlug","BlocksDrawer","RowActions","props","$","addRow","blocks","blockType","duplicateRow","hasMaxRows","isSortable","labels","moveRow","removeRow","rowCount","rowIndex","closeModal","openModal","drawerSlug","indexToAdd","setIndexToAdd","useState","t0","_","rowBlockType","t1","t2","index","t3","_jsxs","Fragment","children","_jsx","addRowIndex"],"sources":["../../../src/fields/Blocks/RowActions.tsx"],"sourcesContent":["'use client'\nimport type { ClientBlock, ClientField, Labels } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { ArrayAction } from '../../elements/ArrayAction/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\n\nexport const RowActions: React.FC<{\n readonly addRow: (rowIndex: number, blockType: string) => Promise<void> | void\n readonly blocks: ClientBlock[]\n readonly blockType: string\n readonly duplicateRow: (rowIndex: number, blockType: string) => void\n readonly fields: ClientField[]\n readonly hasMaxRows?: boolean\n readonly isSortable?: boolean\n readonly labels: Labels\n readonly moveRow: (fromIndex: number, toIndex: number) => void\n readonly removeRow: (rowIndex: number) => void\n readonly rowCount: number\n readonly rowIndex: number\n}> = (props) => {\n const {\n addRow,\n blocks,\n blockType,\n duplicateRow,\n hasMaxRows,\n isSortable,\n labels,\n moveRow,\n removeRow,\n rowCount,\n rowIndex,\n } = props\n\n const { closeModal, openModal } = useModal()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n\n const [indexToAdd, setIndexToAdd] = React.useState<null | number>(null)\n\n return (\n <React.Fragment>\n <BlocksDrawer\n addRow={(_, rowBlockType) => {\n if (typeof addRow === 'function') {\n void addRow(indexToAdd, rowBlockType)\n }\n closeModal(drawerSlug)\n }}\n addRowIndex={rowIndex}\n blocks={blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n <ArrayAction\n addRow={(index) => {\n setIndexToAdd(index)\n openModal(drawerSlug)\n }}\n duplicateRow={() => duplicateRow(rowIndex, blockType)}\n hasMaxRows={hasMaxRows}\n index={rowIndex}\n isSortable={isSortable}\n moveRow={moveRow}\n removeRow={removeRow}\n rowCount={rowCount}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"RowActions.js","names":["c","_c","useModal","React","ArrayAction","useDrawerSlug","BlocksDrawer","RowActions","props","$","addRow","blocks","blockType","duplicateRow","hasMaxRows","isSortable","labels","moveRow","removeRow","rowCount","rowIndex","closeModal","openModal","drawerSlug","indexToAdd","setIndexToAdd","useState","t0","_","rowBlockType","t1","t2","index","t3","_jsxs","Fragment","children","_jsx","addRowIndex"],"sources":["../../../src/fields/Blocks/RowActions.tsx"],"sourcesContent":["'use client'\nimport type { ClientBlock, ClientField, Labels } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { ArrayAction } from '../../elements/ArrayAction/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\n\nexport const RowActions: React.FC<{\n readonly addRow: (rowIndex: number, blockType: string) => Promise<void> | void\n readonly blocks: (ClientBlock | string)[]\n readonly blockType: string\n readonly duplicateRow: (rowIndex: number, blockType: string) => void\n readonly fields: ClientField[]\n readonly hasMaxRows?: boolean\n readonly isSortable?: boolean\n readonly labels: Labels\n readonly moveRow: (fromIndex: number, toIndex: number) => void\n readonly removeRow: (rowIndex: number) => void\n readonly rowCount: number\n readonly rowIndex: number\n}> = (props) => {\n const {\n addRow,\n blocks,\n blockType,\n duplicateRow,\n hasMaxRows,\n isSortable,\n labels,\n moveRow,\n removeRow,\n rowCount,\n rowIndex,\n } = props\n\n const { closeModal, openModal } = useModal()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n\n const [indexToAdd, setIndexToAdd] = React.useState<null | number>(null)\n\n return (\n <React.Fragment>\n <BlocksDrawer\n addRow={(_, rowBlockType) => {\n if (typeof addRow === 'function') {\n void addRow(indexToAdd, rowBlockType)\n }\n closeModal(drawerSlug)\n }}\n addRowIndex={rowIndex}\n blocks={blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n <ArrayAction\n addRow={(index) => {\n setIndexToAdd(index)\n openModal(drawerSlug)\n }}\n duplicateRow={() => duplicateRow(rowIndex, blockType)}\n hasMaxRows={hasMaxRows}\n index={rowIndex}\n isSortable={isSortable}\n moveRow={moveRow}\n removeRow={removeRow}\n rowCount={rowCount}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgC,MAAM,OAAO,CAAA;AA0BpD,OAAO,cAAc,CAAA;AAyUrB,eAAO,MAAM,WAAW;;;;+EAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgC,MAAM,OAAO,CAAA;AA0BpD,OAAO,cAAc,CAAA;AA+UrB,eAAO,MAAM,WAAW;;;;+EAAsC,CAAA"}
@@ -47,6 +47,7 @@ const BlocksFieldComponent = props => {
47
47
  const {
48
48
  name,
49
49
  admin: t1,
50
+ blockReferences,
50
51
  blocks,
51
52
  label,
52
53
  labels: labelsFromProps,
@@ -83,7 +84,8 @@ const BlocksFieldComponent = props => {
83
84
  code: locale
84
85
  } = useLocale();
85
86
  const {
86
- config: t4
87
+ config: t4,
88
+ config
87
89
  } = useConfig();
88
90
  const {
89
91
  localization
@@ -421,7 +423,7 @@ const BlocksFieldComponent = props => {
421
423
  blockType: blockType_0,
422
424
  isLoading
423
425
  } = row_0;
424
- const blockConfig = blocks.find(block => block.slug === blockType_0);
426
+ const blockConfig = config.blocksMap[blockType_0] ?? (blockReferences ?? blocks).find(block => typeof block !== "string" && block.slug === blockType_0);
425
427
  if (blockConfig) {
426
428
  const rowPath = `${path}.${i}`;
427
429
  const rowErrorCount = errorPaths.filter(errorPath => errorPath.startsWith(rowPath + ".")).length;
@@ -432,7 +434,7 @@ const BlocksFieldComponent = props => {
432
434
  ...draggableSortableItemProps,
433
435
  addRow,
434
436
  block: blockConfig,
435
- blocks,
437
+ blocks: blockReferences ?? blocks,
436
438
  duplicateRow,
437
439
  errorCount: rowErrorCount,
438
440
  fields: blockConfig.fields,
@@ -488,7 +490,7 @@ const BlocksFieldComponent = props => {
488
490
  }), _jsx(BlocksDrawer, {
489
491
  addRow,
490
492
  addRowIndex: rows?.length || 0,
491
- blocks,
493
+ blocks: blockReferences ?? blocks,
492
494
  drawerSlug,
493
495
  labels
494
496
  })]