@payloadcms/ui 4.0.0-internal.e7d4ebc → 4.0.0-internal.f05c47f

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 (494) hide show
  1. package/dist/css/app.css +121 -0
  2. package/dist/css/forms.css +0 -6
  3. package/dist/css/spacing.css +10 -3
  4. package/dist/css/z-index.css +1 -0
  5. package/dist/elements/AddNewRelation/index.css +0 -1
  6. package/dist/elements/AppHeader/index.css +1 -3
  7. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  8. package/dist/elements/AppHeader/index.js +5 -1
  9. package/dist/elements/AppHeader/index.js.map +1 -1
  10. package/dist/elements/ArrayAction/index.d.ts +1 -0
  11. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  12. package/dist/elements/ArrayAction/index.js +45 -32
  13. package/dist/elements/ArrayAction/index.js.map +1 -1
  14. package/dist/elements/Autosave/index.d.ts.map +1 -1
  15. package/dist/elements/Autosave/index.js +3 -0
  16. package/dist/elements/Autosave/index.js.map +1 -1
  17. package/dist/elements/BranchSelector/index.css +83 -0
  18. package/dist/elements/BranchSelector/index.d.ts +12 -0
  19. package/dist/elements/BranchSelector/index.d.ts.map +1 -0
  20. package/dist/elements/BranchSelector/index.js +160 -0
  21. package/dist/elements/BranchSelector/index.js.map +1 -0
  22. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
  23. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  24. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  25. package/dist/elements/BulkUpload/FormsManager/index.js +6 -2
  26. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  27. package/dist/elements/Button/index.css +2 -2
  28. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  29. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  30. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +55 -0
  31. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  32. package/dist/elements/CodeEditor/index.css +0 -5
  33. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  34. package/dist/elements/ColumnSelection/Popup.js +3 -3
  35. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  36. package/dist/elements/Combobox/index.css +76 -23
  37. package/dist/elements/Combobox/index.d.ts +7 -0
  38. package/dist/elements/Combobox/index.d.ts.map +1 -1
  39. package/dist/elements/Combobox/index.js +58 -20
  40. package/dist/elements/Combobox/index.js.map +1 -1
  41. package/dist/elements/CommandPalette/index.css +0 -7
  42. package/dist/elements/CopyToClipboard/index.d.ts +1 -0
  43. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  44. package/dist/elements/CopyToClipboard/index.js +10 -8
  45. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  46. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  47. package/dist/elements/CreateDocumentButton/index.js +4 -1
  48. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  49. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  50. package/dist/elements/DatePicker/DatePicker.js +1 -0
  51. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  52. package/dist/elements/DatePicker/index.css +1 -1
  53. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  54. package/dist/elements/DeleteDocument/index.js +24 -2
  55. package/dist/elements/DeleteDocument/index.js.map +1 -1
  56. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  57. package/dist/elements/DeleteMany/index.js +4 -1
  58. package/dist/elements/DeleteMany/index.js.map +1 -1
  59. package/dist/elements/Drawer/index.css +10 -4
  60. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  61. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  62. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  63. package/dist/elements/DuplicateDocument/index.js +6 -1
  64. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  65. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  66. package/dist/elements/EditMany/DrawerContent.js +6 -3
  67. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  68. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  69. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  70. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  71. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  72. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  73. package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
  74. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
  75. package/dist/elements/FileManager/FileToolbar/index.js +3 -0
  76. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
  77. package/dist/elements/FileManager/index.js +1 -0
  78. package/dist/elements/FileManager/index.js.map +1 -1
  79. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +0 -1
  80. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  81. package/dist/elements/Hierarchy/ColumnBrowser/index.js +4 -1
  82. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  83. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  84. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +4 -1
  85. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  86. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +2 -1
  87. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  88. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +2 -0
  89. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  90. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  91. package/dist/elements/Hierarchy/Modal/index.js +3 -0
  92. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  93. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  94. package/dist/elements/Hierarchy/MoveMany/index.js +4 -1
  95. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  96. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  97. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +3 -0
  98. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
  99. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  100. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
  101. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  102. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  103. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
  104. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  105. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +0 -1
  106. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  107. package/dist/elements/Hierarchy/Tree/useChildren.js +4 -1
  108. package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
  109. package/dist/elements/IDLabel/index.css +6 -0
  110. package/dist/elements/IDLabel/index.d.ts +1 -1
  111. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  112. package/dist/elements/IDLabel/index.js +16 -21
  113. package/dist/elements/IDLabel/index.js.map +1 -1
  114. package/dist/elements/InputStepper/index.css +0 -1
  115. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  116. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  117. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  118. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  119. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
  120. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +6 -2
  121. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  122. package/dist/elements/Locked/index.css +0 -8
  123. package/dist/elements/Locked/index.d.ts.map +1 -1
  124. package/dist/elements/Locked/index.js +70 -64
  125. package/dist/elements/Locked/index.js.map +1 -1
  126. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  127. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  128. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  129. package/dist/elements/Nav/SidebarTabs/index.css +0 -5
  130. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  131. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  132. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
  133. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  134. package/dist/elements/NavGroup/index.css +0 -1
  135. package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -1
  136. package/dist/elements/PermanentlyDeleteButton/index.js +4 -1
  137. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  138. package/dist/elements/Popup/PopupButtonList/index.css +1 -1
  139. package/dist/elements/Popup/index.js +1 -1
  140. package/dist/elements/Popup/index.js.map +1 -1
  141. package/dist/elements/PreviewButton/index.d.ts +1 -2
  142. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  143. package/dist/elements/PreviewButton/index.js +11 -5
  144. package/dist/elements/PreviewButton/index.js.map +1 -1
  145. package/dist/elements/PreviewSizes/index.css +8 -9
  146. package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
  147. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  148. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  149. package/dist/elements/PublishButton/index.js +6 -2
  150. package/dist/elements/PublishButton/index.js.map +1 -1
  151. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  152. package/dist/elements/PublishMany/DrawerContent.js +4 -1
  153. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  154. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  155. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  156. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  157. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  158. package/dist/elements/ReactSelect/index.css +0 -3
  159. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  160. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  161. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  162. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  163. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  164. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  165. package/dist/elements/RelationshipTable/index.js +41 -5
  166. package/dist/elements/RelationshipTable/index.js.map +1 -1
  167. package/dist/elements/RestoreButton/index.d.ts.map +1 -1
  168. package/dist/elements/RestoreButton/index.js +4 -1
  169. package/dist/elements/RestoreButton/index.js.map +1 -1
  170. package/dist/elements/RestoreMany/index.d.ts.map +1 -1
  171. package/dist/elements/RestoreMany/index.js +3 -0
  172. package/dist/elements/RestoreMany/index.js.map +1 -1
  173. package/dist/elements/SelectRow/index.d.ts +4 -3
  174. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  175. package/dist/elements/SelectRow/index.js +10 -7
  176. package/dist/elements/SelectRow/index.js.map +1 -1
  177. package/dist/elements/SidebarToggle/index.css +0 -17
  178. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  179. package/dist/elements/SortColumn/index.js +42 -38
  180. package/dist/elements/SortColumn/index.js.map +1 -1
  181. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  182. package/dist/elements/SortHeader/index.js +29 -26
  183. package/dist/elements/SortHeader/index.js.map +1 -1
  184. package/dist/elements/StepNav/index.css +64 -14
  185. package/dist/elements/StepNav/index.d.ts.map +1 -1
  186. package/dist/elements/StepNav/index.js +145 -69
  187. package/dist/elements/StepNav/index.js.map +1 -1
  188. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  189. package/dist/elements/Table/DefaultCell/index.js +3 -11
  190. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  191. package/dist/elements/Table/OrderableRow.d.ts +3 -1
  192. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  193. package/dist/elements/Table/OrderableRow.js +17 -1
  194. package/dist/elements/Table/OrderableRow.js.map +1 -1
  195. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  196. package/dist/elements/Table/OrderableTable.js +22 -3
  197. package/dist/elements/Table/OrderableTable.js.map +1 -1
  198. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  199. package/dist/elements/Table/RelationshipProvider/index.js +29 -23
  200. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  201. package/dist/elements/TableSection/index.css +0 -1
  202. package/dist/elements/Tooltip/index.css +15 -34
  203. package/dist/elements/Tooltip/index.d.ts +11 -3
  204. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  205. package/dist/elements/Tooltip/index.js +151 -85
  206. package/dist/elements/Tooltip/index.js.map +1 -1
  207. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  208. package/dist/elements/UnpublishButton/index.js +4 -1
  209. package/dist/elements/UnpublishButton/index.js.map +1 -1
  210. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  211. package/dist/elements/UnpublishMany/DrawerContent.js +4 -1
  212. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  213. package/dist/elements/Upload/index.css +0 -5
  214. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  215. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +3 -0
  216. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  217. package/dist/exports/client/index.d.ts +8 -1
  218. package/dist/exports/client/index.d.ts.map +1 -1
  219. package/dist/exports/client/index.js +1 -1
  220. package/dist/exports/client/index.js.map +3 -3
  221. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  222. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  223. package/dist/fields/Array/ArrayRow.js +2 -0
  224. package/dist/fields/Array/ArrayRow.js.map +1 -1
  225. package/dist/fields/Array/index.d.ts.map +1 -1
  226. package/dist/fields/Array/index.js +38 -10
  227. package/dist/fields/Array/index.js.map +1 -1
  228. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  229. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  230. package/dist/fields/Blocks/BlockRow.js +2 -0
  231. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  232. package/dist/fields/Blocks/RowActions.d.ts +1 -0
  233. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  234. package/dist/fields/Blocks/RowActions.js +22 -19
  235. package/dist/fields/Blocks/RowActions.js.map +1 -1
  236. package/dist/fields/Blocks/index.d.ts.map +1 -1
  237. package/dist/fields/Blocks/index.js +38 -10
  238. package/dist/fields/Blocks/index.js.map +1 -1
  239. package/dist/fields/Checkbox/Input.d.ts +2 -0
  240. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  241. package/dist/fields/Checkbox/Input.js +32 -26
  242. package/dist/fields/Checkbox/Input.js.map +1 -1
  243. package/dist/fields/Checkbox/index.css +37 -73
  244. package/dist/fields/FieldError/index.css +0 -9
  245. package/dist/fields/FieldError/index.d.ts.map +1 -1
  246. package/dist/fields/FieldError/index.js +19 -9
  247. package/dist/fields/FieldError/index.js.map +1 -1
  248. package/dist/fields/Join/index.css +9 -0
  249. package/dist/fields/Join/index.d.ts.map +1 -1
  250. package/dist/fields/Join/index.js +13 -9
  251. package/dist/fields/Join/index.js.map +1 -1
  252. package/dist/fields/RadioGroup/index.css +0 -7
  253. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  254. package/dist/fields/Relationship/Input.js +37 -15
  255. package/dist/fields/Relationship/Input.js.map +1 -1
  256. package/dist/fields/Slug/index.css +0 -1
  257. package/dist/fields/Slug/index.d.ts.map +1 -1
  258. package/dist/fields/Slug/index.js +80 -125
  259. package/dist/fields/Slug/index.js.map +1 -1
  260. package/dist/fields/Upload/Input.d.ts.map +1 -1
  261. package/dist/fields/Upload/Input.js +4 -1
  262. package/dist/fields/Upload/Input.js.map +1 -1
  263. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  264. package/dist/forms/Form/fieldReducer.js +3 -1
  265. package/dist/forms/Form/fieldReducer.js.map +1 -1
  266. package/dist/forms/Form/index.d.ts.map +1 -1
  267. package/dist/forms/Form/index.js +9 -1
  268. package/dist/forms/Form/index.js.map +1 -1
  269. package/dist/forms/Form/types.d.ts +1 -1
  270. package/dist/forms/Form/types.d.ts.map +1 -1
  271. package/dist/forms/Form/types.js.map +1 -1
  272. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  273. package/dist/forms/WatchChildErrors/index.js +2 -2
  274. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  275. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  276. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  277. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  278. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
  279. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  280. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  281. package/dist/hooks/usePayloadAPI.js +44 -40
  282. package/dist/hooks/usePayloadAPI.js.map +1 -1
  283. package/dist/icons/Edit/index.d.ts +0 -1
  284. package/dist/icons/Edit/index.d.ts.map +1 -1
  285. package/dist/icons/Edit/index.js +4 -4
  286. package/dist/icons/Edit/index.js.map +1 -1
  287. package/dist/layouts/Root/index.d.ts +1 -1
  288. package/dist/layouts/Root/index.d.ts.map +1 -1
  289. package/dist/layouts/Root/index.js +8 -2
  290. package/dist/layouts/Root/index.js.map +1 -1
  291. package/dist/providers/Actions/index.d.ts +1 -0
  292. package/dist/providers/Actions/index.d.ts.map +1 -1
  293. package/dist/providers/Actions/index.js +43 -11
  294. package/dist/providers/Actions/index.js.map +1 -1
  295. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  296. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  297. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  298. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  299. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  300. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  301. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  302. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  303. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  304. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  305. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  306. package/dist/providers/Auth/authSessionRequests.js +119 -0
  307. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  308. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  309. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  310. package/dist/providers/Auth/index.d.ts +2 -56
  311. package/dist/providers/Auth/index.d.ts.map +1 -1
  312. package/dist/providers/Auth/index.js +283 -135
  313. package/dist/providers/Auth/index.js.map +1 -1
  314. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  315. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  316. package/dist/providers/Auth/sessionActivity.js +49 -0
  317. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  318. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  319. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  320. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  321. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  322. package/dist/providers/Auth/sessionTiming.js +18 -0
  323. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  324. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  325. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  326. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  327. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  328. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  329. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  330. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  331. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  332. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  333. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  334. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  335. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  336. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  337. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  338. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  339. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  340. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  341. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  342. package/dist/providers/Auth/types.d.ts +65 -0
  343. package/dist/providers/Auth/types.d.ts.map +1 -0
  344. package/dist/providers/Auth/types.js +2 -0
  345. package/dist/providers/Auth/types.js.map +1 -0
  346. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  347. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  348. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  349. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  350. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  351. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  352. package/dist/providers/Branch/index.d.ts +62 -0
  353. package/dist/providers/Branch/index.d.ts.map +1 -0
  354. package/dist/providers/Branch/index.js +192 -0
  355. package/dist/providers/Branch/index.js.map +1 -0
  356. package/dist/providers/Branch/index.server.d.ts +14 -0
  357. package/dist/providers/Branch/index.server.d.ts.map +1 -0
  358. package/dist/providers/Branch/index.server.js +80 -0
  359. package/dist/providers/Branch/index.server.js.map +1 -0
  360. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  361. package/dist/providers/DocumentInfo/index.js +5 -1
  362. package/dist/providers/DocumentInfo/index.js.map +1 -1
  363. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +2 -1
  364. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  365. package/dist/providers/DocumentInfo/useGetDocPermissions.js +3 -1
  366. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  367. package/dist/providers/Embed/index.d.ts +24 -0
  368. package/dist/providers/Embed/index.d.ts.map +1 -0
  369. package/dist/providers/Embed/index.js +105 -0
  370. package/dist/providers/Embed/index.js.map +1 -0
  371. package/dist/providers/FormErrorHandler/index.d.ts +24 -0
  372. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  373. package/dist/providers/FormErrorHandler/index.js +6 -0
  374. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  375. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  376. package/dist/providers/Hierarchy/index.js +4 -1
  377. package/dist/providers/Hierarchy/index.js.map +1 -1
  378. package/dist/providers/Locale/index.d.ts.map +1 -1
  379. package/dist/providers/Locale/index.js +41 -36
  380. package/dist/providers/Locale/index.js.map +1 -1
  381. package/dist/providers/Root/index.d.ts +1 -0
  382. package/dist/providers/Root/index.d.ts.map +1 -1
  383. package/dist/providers/Root/index.js +37 -31
  384. package/dist/providers/Root/index.js.map +1 -1
  385. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  386. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  387. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  388. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  389. package/dist/providers/RouteTransition/index.d.ts +2 -0
  390. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  391. package/dist/providers/RouteTransition/index.js +42 -14
  392. package/dist/providers/RouteTransition/index.js.map +1 -1
  393. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  394. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  395. package/dist/providers/SidebarTabs/index.js.map +1 -1
  396. package/dist/providers/Theme/index.d.ts +3 -0
  397. package/dist/providers/Theme/index.d.ts.map +1 -1
  398. package/dist/providers/Theme/index.js +107 -95
  399. package/dist/providers/Theme/index.js.map +1 -1
  400. package/dist/styles.css +12 -10
  401. package/dist/templates/Default/index.d.ts +1 -0
  402. package/dist/templates/Default/index.d.ts.map +1 -1
  403. package/dist/templates/Default/index.js +45 -39
  404. package/dist/templates/Default/index.js.map +1 -1
  405. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  406. package/dist/utilities/combineFieldLabel.js +5 -1
  407. package/dist/utilities/combineFieldLabel.js.map +1 -1
  408. package/dist/utilities/generateFieldID.d.ts +1 -1
  409. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  410. package/dist/utilities/generateFieldID.js +2 -2
  411. package/dist/utilities/generateFieldID.js.map +1 -1
  412. package/dist/utilities/getRequestBranch.d.ts +18 -0
  413. package/dist/utilities/getRequestBranch.d.ts.map +1 -0
  414. package/dist/utilities/getRequestBranch.js +32 -0
  415. package/dist/utilities/getRequestBranch.js.map +1 -0
  416. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  417. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  418. package/dist/utilities/getRequestEmbed.js +10 -0
  419. package/dist/utilities/getRequestEmbed.js.map +1 -0
  420. package/dist/utilities/initReq.d.ts.map +1 -1
  421. package/dist/utilities/initReq.js +8 -0
  422. package/dist/utilities/initReq.js.map +1 -1
  423. package/dist/utilities/matchesSearchQuery.d.ts +12 -0
  424. package/dist/utilities/matchesSearchQuery.d.ts.map +1 -0
  425. package/dist/utilities/matchesSearchQuery.js +23 -0
  426. package/dist/utilities/matchesSearchQuery.js.map +1 -0
  427. package/dist/{elements/ColumnSelection/matchesColumnSearch.spec.js → utilities/matchesSearchQuery.spec.js} +29 -29
  428. package/dist/utilities/matchesSearchQuery.spec.js.map +1 -0
  429. package/dist/utilities/renderTable.d.ts.map +1 -1
  430. package/dist/utilities/renderTable.js +18 -2
  431. package/dist/utilities/renderTable.js.map +1 -1
  432. package/dist/utilities/slugify.d.ts.map +1 -1
  433. package/dist/utilities/slugify.js +49 -6
  434. package/dist/utilities/slugify.js.map +1 -1
  435. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  436. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  437. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  438. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  439. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  440. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  441. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  442. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  443. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  444. package/dist/views/Dashboard/Default/ModularDashboard/index.css +29 -144
  445. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
  446. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  447. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
  448. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  449. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  450. package/dist/views/HierarchyList/HierarchyTable/index.js +6 -2
  451. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  452. package/dist/views/HierarchyList/index.css +1 -1
  453. package/dist/views/List/ListHeader/index.d.ts +1 -10
  454. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  455. package/dist/views/List/ListHeader/index.js +1 -3
  456. package/dist/views/List/ListHeader/index.js.map +1 -1
  457. package/dist/views/List/index.client.d.ts.map +1 -1
  458. package/dist/views/List/index.client.js +0 -14
  459. package/dist/views/List/index.client.js.map +1 -1
  460. package/dist/views/List/index.css +6 -1
  461. package/dist/views/List/index.d.ts.map +1 -1
  462. package/dist/views/List/index.js +4 -0
  463. package/dist/views/List/index.js.map +1 -1
  464. package/dist/views/Logout/index.d.ts.map +1 -1
  465. package/dist/views/Logout/index.js +11 -0
  466. package/dist/views/Logout/index.js.map +1 -1
  467. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  468. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  469. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  470. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  471. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  472. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  473. package/dist/views/Root/index.d.ts.map +1 -1
  474. package/dist/views/Root/index.js +1 -0
  475. package/dist/views/Root/index.js.map +1 -1
  476. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  477. package/dist/views/Version/Restore/index.js +6 -3
  478. package/dist/views/Version/Restore/index.js.map +1 -1
  479. package/package.json +5 -10
  480. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +0 -10
  481. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +0 -1
  482. package/dist/elements/ColumnSelection/matchesColumnSearch.js +0 -21
  483. package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +0 -1
  484. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +0 -1
  485. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  486. package/dist/scss/app.scss +0 -183
  487. package/dist/scss/colors.scss +0 -191
  488. package/dist/scss/custom.css +0 -1
  489. package/dist/scss/queries.scss +0 -27
  490. package/dist/scss/styles.scss +0 -9
  491. package/dist/scss/svg.scss +0 -10
  492. package/dist/scss/toastify.scss +0 -61
  493. package/dist/scss/vars.scss +0 -192
  494. package/dist/scss/z-index.scss +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["verticalListSortingStrategy","getTranslation","React","useCallback","useId","useMemo","toast","Banner","Button","clipboardCopy","clipboardPaste","ClipboardAction","mergeFormStateFromClipboard","reduceFormStateByPath","CollapseAllToggle","DraggableSortableItem","DragOverlayPreview","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","RowLabel","useField","withCondition","CirclePlusIcon","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","mergeFieldStyles","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","field","name","type","admin","className","description","isSortable","fields","label","localized","maxRows","minRows","minRowsProp","required","forceRender","path","pathFromProps","permissions","readOnly","schemaPath","schemaPathFromProps","validate","setDocFieldPreferences","addFieldRow","dispatchFields","getFields","moveFieldRow","removeFieldRow","replaceState","setModified","submitted","code","locale","i18n","t","config","localization","editingDefaultLocale","fallback","defaultLocale","getLabels","p","labels","plural","singular","undefined","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","errorPaths","rows","showError","valid","hasRows","potentiallyStalePath","componentId","scrollIdPrefix","addRow","rowIndex","setTimeout","duplicateRow","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","collapsedIDs","updatedRows","setCollapse","rowID","copyRow","formState","clipboardResult","getDataToCopy","error","success","pasteRow","pasteArgs","onPaste","dataFromClipboard","newState","schemaFields","pasteField","hasMaxRows","length","fieldErrorCount","fieldHasErrors","displayedErrorCount","showRequired","showMinRows","shouldShowSummaryBanner","shouldShowFieldError","styles","renderDragOverlay","activeId","activeIndex","findIndex","row","id","_jsx","header","CustomComponent","String","padStart","rowNumber","_jsxs","filter","Boolean","join","replace","style","Fallback","as","count","withMessage","onClick","allowCopy","allowPaste","fieldValue","ids","map","onDragEnd","sortingStrategy","rowData","i","isLoading","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","CustomRowLabel","errorCount","parentPath","rowCount","Fragment","buttonStyle","icon","iconPosition","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 { verticalListSortingStrategy } from '@dnd-kit/sortable'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useId, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { ClipboardPasteData } from '../../elements/ClipboardAction/types.js'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { clipboardCopy, clipboardPaste } from '../../elements/ClipboardAction/clipboardUtilities.js'\nimport { ClipboardAction } from '../../elements/ClipboardAction/index.js'\nimport {\n mergeFormStateFromClipboard,\n reduceFormStateByPath,\n} from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js'\nimport { CollapseAllToggle } from '../../elements/CollapseAllToggle/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DragOverlayPreview } from '../../elements/DraggableSortable/DragOverlayPreview/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 { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { CirclePlusIcon } from '../../icons/CirclePlus/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 { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.css'\n\nconst baseClass = 'array-field'\n\nexport const ArrayFieldComponent: ArrayFieldClientComponent = (props) => {\n const {\n field,\n field: {\n name,\n type,\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: pathFromProps,\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 {\n addFieldRow,\n dispatchFields,\n getFields,\n moveFieldRow,\n removeFieldRow,\n replaceState,\n setModified,\n } = 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\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 } = {},\n disabled,\n errorPaths,\n path,\n rows = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const componentId = useId()\n const scrollIdPrefix = useMemo(() => `scroll-${componentId}`, [componentId])\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${scrollIdPrefix}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath, scrollIdPrefix],\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(`${scrollIdPrefix}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, scrollIdPrefix, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n removeFieldRow({ path, rowIndex })\n },\n [removeFieldRow, path],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n moveFieldRow({\n moveFromIndex,\n moveToIndex,\n path,\n })\n },\n [path, moveFieldRow],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows,\n })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const copyRow = useCallback(\n (rowIndex: number) => {\n const formState = { ...getFields() }\n const clipboardResult = clipboardCopy({\n type,\n fields,\n getDataToCopy: () =>\n reduceFormStateByPath({\n formState,\n path,\n rowIndex,\n }),\n path,\n rowIndex,\n t,\n })\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n } else {\n toast.success(t('general:copied'))\n }\n },\n [fields, getFields, path, t, type],\n )\n\n const pasteRow = useCallback(\n (rowIndex: number) => {\n const formState = { ...getFields() }\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex,\n })\n replaceState(newState)\n setModified(true)\n },\n path,\n schemaFields: fields,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [fields, getFields, path, replaceState, setModified, t],\n )\n\n const pasteField = useCallback(\n (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n })\n replaceState(newState)\n setModified(true)\n },\n [getFields, path, replaceState, setModified],\n )\n\n const getDataToCopy = useCallback(\n () =>\n reduceFormStateByPath({\n formState: { ...getFields() },\n path,\n }),\n [getFields, path],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && (fieldErrorCount > 0 || !valid)\n const displayedErrorCount = fieldErrorCount > 0 ? fieldErrorCount : fieldHasErrors ? 1 : 0\n\n const showRequired = (readOnly || disabled) && rows.length === 0\n const showMinRows = (rows.length && rows.length < minRows) || (required && rows.length === 0)\n const shouldShowSummaryBanner = !valid && (showRequired || showMinRows)\n const shouldShowFieldError = showError && !shouldShowSummaryBanner\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const renderDragOverlay = useCallback(\n (activeId: number | string) => {\n const activeIndex = rows.findIndex((row) => row.id === activeId)\n if (activeIndex === -1) {\n return null\n }\n\n return (\n <DragOverlayPreview\n header={\n <RowLabel\n CustomComponent={rows?.[activeIndex]?.customComponents?.RowLabel}\n label={`${getTranslation(label, i18n)} ${String(activeIndex + 1).padStart(2, '0')}`}\n path={`${path}.${activeIndex}`}\n rowNumber={activeIndex}\n />\n }\n />\n )\n },\n [rows, label, i18n, path],\n )\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 style={styles}\n >\n {shouldShowFieldError && (\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 {displayedErrorCount > 0 && (\n <ErrorPill count={displayedErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n <ul className={`${baseClass}__header-actions`}>\n {rows?.length > 0 && <CollapseAllToggle onClick={toggleCollapseAll} />}\n <li>\n <ClipboardAction\n allowCopy={rows?.length > 0}\n allowPaste={!readOnly}\n className={`${baseClass}__header-action`}\n disabled={disabled}\n fields={fields}\n getDataToCopy={getDataToCopy}\n onPaste={pasteField}\n path={path}\n type={type}\n />\n </li>\n </ul>\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField\n fieldValue={value}\n localized={localized}\n path={path}\n readOnly={readOnly}\n />\n {BeforeInput}\n {(rows?.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n renderDragOverlay={isSortable && !readOnly && !disabled ? renderDragOverlay : undefined}\n sortingStrategy={verticalListSortingStrategy}\n >\n {rows.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\n disabled={readOnly || disabled || !isSortable}\n id={rowID}\n key={rowID}\n >\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n addRow={addRow}\n copyRow={copyRow}\n CustomRowLabel={rows?.[i]?.customComponents?.RowLabel}\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 pasteRow={pasteRow}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly || disabled}\n removeRow={removeRow}\n row={rowData}\n rowCount={rows?.length}\n rowIndex={i}\n schemaPath={schemaPath}\n scrollIdPrefix={scrollIdPrefix}\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=\"danger\">\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=\"ghost\"\n className={`${baseClass}__add-row`}\n disabled={disabled}\n icon={<CirclePlusIcon />}\n iconPosition=\"left\"\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":["verticalListSortingStrategy","getTranslation","React","useCallback","useId","useMemo","toast","Banner","Button","clipboardCopy","clipboardPaste","ClipboardAction","insertRowFromClipboard","mergeFormStateFromClipboard","reduceFormStateByPath","CollapseAllToggle","DraggableSortableItem","DragOverlayPreview","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","RowLabel","useField","withCondition","CirclePlusIcon","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","mergeFieldStyles","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","field","name","type","admin","className","description","isSortable","fields","label","localized","maxRows","minRows","minRowsProp","required","forceRender","path","pathFromProps","permissions","readOnly","schemaPath","schemaPathFromProps","validate","setDocFieldPreferences","addFieldRow","dispatchFields","getFields","moveFieldRow","removeFieldRow","replaceState","setModified","submitted","code","locale","i18n","t","config","localization","editingDefaultLocale","fallback","defaultLocale","getLabels","p","labels","plural","singular","undefined","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","errorPaths","rows","showError","valid","hasRows","potentiallyStalePath","componentId","scrollIdPrefix","addRow","rowIndex","setTimeout","duplicateRow","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","collapsedIDs","updatedRows","setCollapse","rowID","copyRow","formState","clipboardResult","getDataToCopy","error","success","pasteRow","pasteArgs","onPaste","dataFromClipboard","newState","schemaFields","pasteRowBelow","pasteField","hasMaxRows","length","fieldErrorCount","fieldHasErrors","displayedErrorCount","showRequired","showMinRows","shouldShowSummaryBanner","shouldShowFieldError","styles","renderDragOverlay","activeId","activeIndex","findIndex","row","id","_jsx","header","CustomComponent","String","padStart","rowNumber","_jsxs","filter","Boolean","join","replace","style","Fallback","as","count","withMessage","onClick","allowCopy","allowPaste","fieldValue","ids","map","onDragEnd","sortingStrategy","rowData","i","isLoading","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","CustomRowLabel","errorCount","parentPath","rowCount","Fragment","buttonStyle","icon","iconPosition","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 { verticalListSortingStrategy } from '@dnd-kit/sortable'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useId, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { ClipboardPasteData } from '../../elements/ClipboardAction/types.js'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { clipboardCopy, clipboardPaste } from '../../elements/ClipboardAction/clipboardUtilities.js'\nimport { ClipboardAction } from '../../elements/ClipboardAction/index.js'\nimport {\n insertRowFromClipboard,\n mergeFormStateFromClipboard,\n reduceFormStateByPath,\n} from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js'\nimport { CollapseAllToggle } from '../../elements/CollapseAllToggle/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DragOverlayPreview } from '../../elements/DraggableSortable/DragOverlayPreview/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 { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { CirclePlusIcon } from '../../icons/CirclePlus/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 { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.css'\n\nconst baseClass = 'array-field'\n\nexport const ArrayFieldComponent: ArrayFieldClientComponent = (props) => {\n const {\n field,\n field: {\n name,\n type,\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: pathFromProps,\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 {\n addFieldRow,\n dispatchFields,\n getFields,\n moveFieldRow,\n removeFieldRow,\n replaceState,\n setModified,\n } = 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\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 } = {},\n disabled,\n errorPaths,\n path,\n rows = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const componentId = useId()\n const scrollIdPrefix = useMemo(() => `scroll-${componentId}`, [componentId])\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${scrollIdPrefix}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath, scrollIdPrefix],\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(`${scrollIdPrefix}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, scrollIdPrefix, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n removeFieldRow({ path, rowIndex })\n },\n [removeFieldRow, path],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n moveFieldRow({\n moveFromIndex,\n moveToIndex,\n path,\n })\n },\n [path, moveFieldRow],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows,\n })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const copyRow = useCallback(\n (rowIndex: number) => {\n const formState = { ...getFields() }\n const clipboardResult = clipboardCopy({\n type,\n fields,\n getDataToCopy: () =>\n reduceFormStateByPath({\n formState,\n path,\n rowIndex,\n }),\n path,\n rowIndex,\n t,\n })\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n } else {\n toast.success(t('general:copied'))\n }\n },\n [fields, getFields, path, t, type],\n )\n\n const pasteRow = useCallback(\n (rowIndex: number) => {\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex,\n })\n replaceState(newState)\n setModified(true)\n },\n path,\n schemaFields: fields,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [fields, getFields, path, replaceState, setModified, t],\n )\n\n const pasteRowBelow = useCallback(\n (rowIndex: number) => {\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = insertRowFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex: rowIndex + 1,\n })\n replaceState(newState)\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${scrollIdPrefix}-row-${rowIndex + 1}`)\n }, 0)\n },\n path,\n schemaFields: fields,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [fields, getFields, path, replaceState, scrollIdPrefix, setModified, t],\n )\n\n const pasteField = useCallback(\n (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n })\n replaceState(newState)\n setModified(true)\n },\n [getFields, path, replaceState, setModified],\n )\n\n const getDataToCopy = useCallback(\n () =>\n reduceFormStateByPath({\n formState: { ...getFields() },\n path,\n }),\n [getFields, path],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && (fieldErrorCount > 0 || !valid)\n const displayedErrorCount = fieldErrorCount > 0 ? fieldErrorCount : fieldHasErrors ? 1 : 0\n\n const showRequired = (readOnly || disabled) && rows.length === 0\n const showMinRows = (rows.length && rows.length < minRows) || (required && rows.length === 0)\n const shouldShowSummaryBanner = !valid && (showRequired || showMinRows)\n const shouldShowFieldError = showError && !shouldShowSummaryBanner\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const renderDragOverlay = useCallback(\n (activeId: number | string) => {\n const activeIndex = rows.findIndex((row) => row.id === activeId)\n if (activeIndex === -1) {\n return null\n }\n\n return (\n <DragOverlayPreview\n header={\n <RowLabel\n CustomComponent={rows?.[activeIndex]?.customComponents?.RowLabel}\n label={`${getTranslation(label, i18n)} ${String(activeIndex + 1).padStart(2, '0')}`}\n path={`${path}.${activeIndex}`}\n rowNumber={activeIndex}\n />\n }\n />\n )\n },\n [rows, label, i18n, path],\n )\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 style={styles}\n >\n {shouldShowFieldError && (\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 {displayedErrorCount > 0 && (\n <ErrorPill count={displayedErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n <ul className={`${baseClass}__header-actions`}>\n {rows?.length > 0 && <CollapseAllToggle onClick={toggleCollapseAll} />}\n <li>\n <ClipboardAction\n allowCopy={rows?.length > 0}\n allowPaste={!readOnly}\n className={`${baseClass}__header-action`}\n disabled={disabled}\n fields={fields}\n getDataToCopy={getDataToCopy}\n onPaste={pasteField}\n path={path}\n type={type}\n />\n </li>\n </ul>\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField\n fieldValue={value}\n localized={localized}\n path={path}\n readOnly={readOnly}\n />\n {BeforeInput}\n {(rows?.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n renderDragOverlay={isSortable && !readOnly && !disabled ? renderDragOverlay : undefined}\n sortingStrategy={verticalListSortingStrategy}\n >\n {rows.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\n disabled={readOnly || disabled || !isSortable}\n id={rowID}\n key={rowID}\n >\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n addRow={addRow}\n copyRow={copyRow}\n CustomRowLabel={rows?.[i]?.customComponents?.RowLabel}\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 pasteRow={pasteRow}\n pasteRowBelow={pasteRowBelow}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly || disabled}\n removeRow={removeRow}\n row={rowData}\n rowCount={rows?.length}\n rowIndex={i}\n schemaPath={schemaPath}\n scrollIdPrefix={scrollIdPrefix}\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=\"danger\">\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=\"ghost\"\n className={`${baseClass}__add-row`}\n disabled={disabled}\n icon={<CirclePlusIcon />}\n iconPosition=\"left\"\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":[]}
@@ -17,6 +17,7 @@ type BlocksFieldProps = {
17
17
  moveRow: (fromIndex: number, toIndex: number) => void;
18
18
  parentPath: string;
19
19
  pasteRow: (rowIndex: number) => void;
20
+ pasteRowBelow: (rowIndex: number) => void;
20
21
  path: string;
21
22
  permissions: SanitizedFieldPermissions;
22
23
  readOnly: boolean;
@@ -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,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAiBhH,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,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,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,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,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,CAyL/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,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAiBhH,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,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,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,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,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,CA2L/C,CAAA"}
@@ -34,6 +34,7 @@ export const BlockRow = ({
34
34
  moveRow,
35
35
  parentPath,
36
36
  pasteRow,
37
+ pasteRowBelow,
37
38
  path,
38
39
  permissions,
39
40
  readOnly,
@@ -111,6 +112,7 @@ export const BlockRow = ({
111
112
  moveRow: moveRow,
112
113
  pasteData: pasteData,
113
114
  pasteRow: pasteRow,
115
+ pasteRowBelow: pasteRowBelow,
114
116
  removeRow: removeRow,
115
117
  rowCount: rowCount,
116
118
  rowIndex: rowIndex
@@ -1 +1 @@
1
- {"version":3,"file":"BlockRow.js","names":["getTranslation","React","Collapsible","ErrorPill","Pill","ShimmerEffect","useFormSubmitted","RenderFields","RowLabel","useThrottledValue","useTranslation","RowActions","SectionTitle","baseClass","BlockRow","addRow","attributes","block","blocks","copyRow","duplicateRow","errorCount","fields","hasMaxRows","isDragging","isLoading","isLoadingFromProps","isSortable","Label","labels","listeners","moveRow","parentPath","pasteRow","path","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","transition","i18n","hasSubmitted","pasteData","useMemo","schemaBlocks","fieldHasErrors","showBlockName","admin","disableBlockName","classNames","filter","Boolean","join","blockPermissions","permissionsBlockSpecific","slug","hasReadPermission","read","missingCreateOrUpdate","create","update","hasRestrictiveStructure","Object","keys","length","_jsx","id","split","ref","style","zIndex","undefined","actions","blockType","className","collapsibleStyle","dragHandleProps","header","height","width","_jsxs","CustomComponent","label","_Fragment","String","padStart","pillStyle","size","singular","rowNumber","count","withMessage","isCollapsed","collapsed","onToggle","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 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 { RowLabel } from '../../forms/RowLabel/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 copyRow: (rowIndex: number) => void\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 pasteRow: (rowIndex: number) => void\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 copyRow,\n duplicateRow,\n errorCount,\n fields,\n hasMaxRows,\n isDragging,\n isLoading: isLoadingFromProps,\n isSortable,\n Label,\n labels,\n listeners,\n moveRow,\n parentPath,\n pasteRow,\n path,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n transition,\n}) => {\n const isLoading = useThrottledValue(isLoadingFromProps, 500)\n\n const { i18n } = useTranslation()\n const hasSubmitted = useFormSubmitted()\n\n const pasteData = React.useMemo(\n () => ({ path, schemaBlocks: blocks as ClientBlock[] }),\n [path, blocks],\n )\n\n const fieldHasErrors = hasSubmitted && errorCount > 0\n\n const showBlockName = !block.admin?.disableBlockName\n\n const classNames = [\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n isDragging && `${baseClass}__row--is-dragging`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let blockPermissions: RenderFieldsProps['permissions'] = true\n\n if (permissions === true) {\n blockPermissions = true\n } else {\n const permissionsBlockSpecific = permissions?.blocks?.[block.slug] || permissions?.blocks\n if (permissionsBlockSpecific === true) {\n blockPermissions = true\n } else if (permissionsBlockSpecific?.fields) {\n blockPermissions = permissionsBlockSpecific.fields\n } else {\n // Check if we should fall back to read-only mode based on permission structure\n // This handles cases where field-level access control exists but block permissions were sanitized\n if (typeof permissions === 'object' && permissions && !permissionsBlockSpecific) {\n // If permissions object exists but has no block-specific permissions,\n // check if it has any restrictive characteristics\n const hasReadPermission = permissions.read === true\n const missingCreateOrUpdate = !permissions.create || !permissions.update\n const hasRestrictiveStructure =\n hasReadPermission &&\n (missingCreateOrUpdate ||\n (typeof permissions === 'object' &&\n Object.keys(permissions).length === 1 &&\n permissions.read))\n\n if (hasRestrictiveStructure) {\n blockPermissions = { read: true }\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n }\n }\n\n return (\n <div\n id={`${parentPath?.split('.').join('-')}-row-${rowIndex}`}\n key={`${parentPath}-row-${row.id}`}\n ref={setNodeRef}\n style={{\n transform,\n transition,\n zIndex: isDragging ? 1 : undefined,\n }}\n >\n <Collapsible\n actions={\n !readOnly ? (\n <RowActions\n addRow={addRow}\n blocks={blocks}\n blockType={row.blockType}\n copyRow={copyRow}\n duplicateRow={duplicateRow}\n fields={block.fields}\n hasMaxRows={hasMaxRows}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n pasteData={pasteData}\n pasteRow={pasteRow}\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 && !readOnly\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 <RowLabel\n CustomComponent={Label}\n label={\n <>\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 size=\"small\"\n >\n {getTranslation(block.labels.singular, i18n)}\n </Pill>\n {showBlockName && (\n <SectionTitle path={`${path}.blockName`} readOnly={readOnly} />\n )}\n </>\n }\n path={path}\n rowNumber={rowIndex}\n />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\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 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":["getTranslation","React","Collapsible","ErrorPill","Pill","ShimmerEffect","useFormSubmitted","RenderFields","RowLabel","useThrottledValue","useTranslation","RowActions","SectionTitle","baseClass","BlockRow","addRow","attributes","block","blocks","copyRow","duplicateRow","errorCount","fields","hasMaxRows","isDragging","isLoading","isLoadingFromProps","isSortable","Label","labels","listeners","moveRow","parentPath","pasteRow","pasteRowBelow","path","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","transition","i18n","hasSubmitted","pasteData","useMemo","schemaBlocks","fieldHasErrors","showBlockName","admin","disableBlockName","classNames","filter","Boolean","join","blockPermissions","permissionsBlockSpecific","slug","hasReadPermission","read","missingCreateOrUpdate","create","update","hasRestrictiveStructure","Object","keys","length","_jsx","id","split","ref","style","zIndex","undefined","actions","blockType","className","collapsibleStyle","dragHandleProps","header","height","width","_jsxs","CustomComponent","label","_Fragment","String","padStart","pillStyle","size","singular","rowNumber","count","withMessage","isCollapsed","collapsed","onToggle","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 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 { RowLabel } from '../../forms/RowLabel/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 copyRow: (rowIndex: number) => void\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 pasteRow: (rowIndex: number) => void\n pasteRowBelow: (rowIndex: number) => void\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 copyRow,\n duplicateRow,\n errorCount,\n fields,\n hasMaxRows,\n isDragging,\n isLoading: isLoadingFromProps,\n isSortable,\n Label,\n labels,\n listeners,\n moveRow,\n parentPath,\n pasteRow,\n pasteRowBelow,\n path,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n transition,\n}) => {\n const isLoading = useThrottledValue(isLoadingFromProps, 500)\n\n const { i18n } = useTranslation()\n const hasSubmitted = useFormSubmitted()\n\n const pasteData = React.useMemo(\n () => ({ path, schemaBlocks: blocks as ClientBlock[] }),\n [path, blocks],\n )\n\n const fieldHasErrors = hasSubmitted && errorCount > 0\n\n const showBlockName = !block.admin?.disableBlockName\n\n const classNames = [\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n isDragging && `${baseClass}__row--is-dragging`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let blockPermissions: RenderFieldsProps['permissions'] = true\n\n if (permissions === true) {\n blockPermissions = true\n } else {\n const permissionsBlockSpecific = permissions?.blocks?.[block.slug] || permissions?.blocks\n if (permissionsBlockSpecific === true) {\n blockPermissions = true\n } else if (permissionsBlockSpecific?.fields) {\n blockPermissions = permissionsBlockSpecific.fields\n } else {\n // Check if we should fall back to read-only mode based on permission structure\n // This handles cases where field-level access control exists but block permissions were sanitized\n if (typeof permissions === 'object' && permissions && !permissionsBlockSpecific) {\n // If permissions object exists but has no block-specific permissions,\n // check if it has any restrictive characteristics\n const hasReadPermission = permissions.read === true\n const missingCreateOrUpdate = !permissions.create || !permissions.update\n const hasRestrictiveStructure =\n hasReadPermission &&\n (missingCreateOrUpdate ||\n (typeof permissions === 'object' &&\n Object.keys(permissions).length === 1 &&\n permissions.read))\n\n if (hasRestrictiveStructure) {\n blockPermissions = { read: true }\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n }\n }\n\n return (\n <div\n id={`${parentPath?.split('.').join('-')}-row-${rowIndex}`}\n key={`${parentPath}-row-${row.id}`}\n ref={setNodeRef}\n style={{\n transform,\n transition,\n zIndex: isDragging ? 1 : undefined,\n }}\n >\n <Collapsible\n actions={\n !readOnly ? (\n <RowActions\n addRow={addRow}\n blocks={blocks}\n blockType={row.blockType}\n copyRow={copyRow}\n duplicateRow={duplicateRow}\n fields={block.fields}\n hasMaxRows={hasMaxRows}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n pasteData={pasteData}\n pasteRow={pasteRow}\n pasteRowBelow={pasteRowBelow}\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 && !readOnly\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 <RowLabel\n CustomComponent={Label}\n label={\n <>\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 size=\"small\"\n >\n {getTranslation(block.labels.singular, i18n)}\n </Pill>\n {showBlockName && (\n <SectionTitle path={`${path}.blockName`} readOnly={readOnly} />\n )}\n </>\n }\n path={path}\n rowNumber={rowIndex}\n />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\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 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":[]}
@@ -14,6 +14,7 @@ export declare const RowActions: React.FC<{
14
14
  readonly moveRow: (fromIndex: number, toIndex: number) => void;
15
15
  readonly pasteData: ClipboardPasteEligibilityArgs;
16
16
  readonly pasteRow: (rowIndex: number) => void;
17
+ readonly pasteRowBelow: (rowIndex: number) => void;
17
18
  readonly removeRow: (rowIndex: number) => void;
18
19
  readonly rowCount: number;
19
20
  readonly rowIndex: number;
@@ -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;AAEzB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAA;AAM5F,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,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,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,6BAA6B,CAAA;IACjD,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,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,CAuDA,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;AAEzB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAA;AAM5F,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,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,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,6BAA6B,CAAA;IACjD,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,QAAQ,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,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,CAyDA,CAAA"}
@@ -8,7 +8,7 @@ import { ArrayAction } from '../../elements/ArrayAction/index.js';
8
8
  import { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js';
9
9
  import { BlocksDrawer } from './BlocksDrawer/index.js';
10
10
  export const RowActions = props => {
11
- const $ = _c(29);
11
+ const $ = _c(30);
12
12
  const {
13
13
  addRow,
14
14
  blocks,
@@ -21,6 +21,7 @@ export const RowActions = props => {
21
21
  moveRow,
22
22
  pasteData,
23
23
  pasteRow,
24
+ pasteRowBelow,
24
25
  removeRow,
25
26
  rowCount,
26
27
  rowIndex
@@ -48,28 +49,28 @@ export const RowActions = props => {
48
49
  t0 = $[4];
49
50
  }
50
51
  let t1;
51
- if ($[5] !== blockType || $[6] !== blocks || $[7] !== copyRow || $[8] !== drawerSlug || $[9] !== duplicateRow || $[10] !== hasMaxRows || $[11] !== isSortable || $[12] !== labels || $[13] !== moveRow || $[14] !== openModal || $[15] !== pasteData || $[16] !== pasteRow || $[17] !== removeRow || $[18] !== rowCount || $[19] !== rowIndex || $[20] !== t0) {
52
+ if ($[5] !== blockType || $[6] !== blocks || $[7] !== copyRow || $[8] !== drawerSlug || $[9] !== duplicateRow || $[10] !== hasMaxRows || $[11] !== isSortable || $[12] !== labels || $[13] !== moveRow || $[14] !== openModal || $[15] !== pasteData || $[16] !== pasteRow || $[17] !== pasteRowBelow || $[18] !== removeRow || $[19] !== rowCount || $[20] !== rowIndex || $[21] !== t0) {
52
53
  let t2;
53
- if ($[22] !== drawerSlug || $[23] !== openModal) {
54
+ if ($[23] !== drawerSlug || $[24] !== openModal) {
54
55
  t2 = index => {
55
56
  setIndexToAdd(index);
56
57
  openModal(drawerSlug);
57
58
  };
58
- $[22] = drawerSlug;
59
- $[23] = openModal;
60
- $[24] = t2;
59
+ $[23] = drawerSlug;
60
+ $[24] = openModal;
61
+ $[25] = t2;
61
62
  } else {
62
- t2 = $[24];
63
+ t2 = $[25];
63
64
  }
64
65
  let t3;
65
- if ($[25] !== blockType || $[26] !== duplicateRow || $[27] !== rowIndex) {
66
+ if ($[26] !== blockType || $[27] !== duplicateRow || $[28] !== rowIndex) {
66
67
  t3 = () => duplicateRow(rowIndex, blockType);
67
- $[25] = blockType;
68
- $[26] = duplicateRow;
69
- $[27] = rowIndex;
70
- $[28] = t3;
68
+ $[26] = blockType;
69
+ $[27] = duplicateRow;
70
+ $[28] = rowIndex;
71
+ $[29] = t3;
71
72
  } else {
72
- t3 = $[28];
73
+ t3 = $[29];
73
74
  }
74
75
  t1 = _jsxs(React.Fragment, {
75
76
  children: [_jsx(BlocksDrawer, {
@@ -88,6 +89,7 @@ export const RowActions = props => {
88
89
  moveRow,
89
90
  pasteData,
90
91
  pasteRow,
92
+ pasteRowBelow,
91
93
  removeRow,
92
94
  rowCount
93
95
  })]
@@ -104,13 +106,14 @@ export const RowActions = props => {
104
106
  $[14] = openModal;
105
107
  $[15] = pasteData;
106
108
  $[16] = pasteRow;
107
- $[17] = removeRow;
108
- $[18] = rowCount;
109
- $[19] = rowIndex;
110
- $[20] = t0;
111
- $[21] = t1;
109
+ $[17] = pasteRowBelow;
110
+ $[18] = removeRow;
111
+ $[19] = rowCount;
112
+ $[20] = rowIndex;
113
+ $[21] = t0;
114
+ $[22] = t1;
112
115
  } else {
113
- t1 = $[21];
116
+ t1 = $[22];
114
117
  }
115
118
  return t1;
116
119
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RowActions.js","names":["c","_c","useModal","React","ArrayAction","useDrawerSlug","BlocksDrawer","RowActions","props","$","addRow","blocks","blockType","copyRow","duplicateRow","hasMaxRows","isSortable","labels","moveRow","pasteData","pasteRow","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 type { ClipboardPasteEligibilityArgs } from '../../elements/ClipboardAction/types.js'\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 copyRow: (rowIndex: number) => void\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 pasteData: ClipboardPasteEligibilityArgs\n readonly pasteRow: (rowIndex: 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 copyRow,\n duplicateRow,\n hasMaxRows,\n isSortable,\n labels,\n moveRow,\n pasteData,\n pasteRow,\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 copyRow={copyRow}\n duplicateRow={() => duplicateRow(rowIndex, blockType)}\n hasMaxRows={hasMaxRows}\n index={rowIndex}\n isSortable={isSortable}\n moveRow={moveRow}\n pasteData={pasteData}\n pasteRow={pasteRow}\n removeRow={removeRow}\n rowCount={rowCount}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAIlB,SAASC,WAAW,QAAQ;AAC5B,SAASC,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAE7B,OAAO,MAAMC,UAAA,GAgBRC,KAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EACH;IAAAS,MAAA;IAAAC,MAAA;IAAAC,SAAA;IAAAC,OAAA;IAAAC,YAAA;IAAAC,UAAA;IAAAC,UAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC;EAAA,IAeIf,KAAA;EAEJ;IAAAgB,UAAA;IAAAC;EAAA,IAAkCvB,QAAA;EAClC,MAAAwB,UAAA,GAAmBrB,aAAA,CAAc;EAEjC,OAAAsB,UAAA,EAAAC,aAAA,IAAoCzB,KAAA,CAAA0B,QAAA,KAA8B;EAAA,IAAAC,EAAA;EAAA,IAAArB,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAe,UAAA,IAAAf,CAAA,QAAAiB,UAAA,IAAAjB,CAAA,QAAAkB,UAAA;IAKpDG,EAAA,GAAAA,CAAAC,CAAA,EAAAC,YAAA;MAAA,IACF,OAAOtB,MAAA,KAAW;QACfA,MAAA,CAAOiB,UAAA,EAAYK,YAAA;MAAA;MAE1BR,UAAA,CAAWE,UAAA;IAAA;IACbjB,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAe,UAAA;IAAAf,CAAA,MAAAiB,UAAA;IAAAjB,CAAA,MAAAkB,UAAA;IAAAlB,CAAA,MAAAqB,EAAA;EAAA;IAAAA,EAAA,GAAArB,CAAA;EAAA;EAAA,IAAAwB,EAAA;EAAA,IAAAxB,CAAA,QAAAG,SAAA,IAAAH,CAAA,QAAAE,MAAA,IAAAF,CAAA,QAAAI,OAAA,IAAAJ,CAAA,QAAAiB,UAAA,IAAAjB,CAAA,QAAAK,YAAA,IAAAL,CAAA,SAAAM,UAAA,IAAAN,CAAA,SAAAO,UAAA,IAAAP,CAAA,SAAAQ,MAAA,IAAAR,CAAA,SAAAS,OAAA,IAAAT,CAAA,SAAAgB,SAAA,IAAAhB,CAAA,SAAAU,SAAA,IAAAV,CAAA,SAAAW,QAAA,IAAAX,CAAA,SAAAY,SAAA,IAAAZ,CAAA,SAAAa,QAAA,IAAAb,CAAA,SAAAc,QAAA,IAAAd,CAAA,SAAAqB,EAAA;IAAA,IAAAI,EAAA;IAAA,IAAAzB,CAAA,SAAAiB,UAAA,IAAAjB,CAAA,SAAAgB,SAAA;MAOQS,EAAA,GAAAC,KAAA;QACNP,aAAA,CAAcO,KAAA;QACdV,SAAA,CAAUC,UAAA;MAAA;MACZjB,CAAA,OAAAiB,UAAA;MAAAjB,CAAA,OAAAgB,SAAA;MAAAhB,CAAA,OAAAyB,EAAA;IAAA;MAAAA,EAAA,GAAAzB,CAAA;IAAA;IAAA,IAAA2B,EAAA;IAAA,IAAA3B,CAAA,SAAAG,SAAA,IAAAH,CAAA,SAAAK,YAAA,IAAAL,CAAA,SAAAc,QAAA;MAEca,EAAA,GAAAA,CAAA,KAAMtB,YAAA,CAAaS,QAAA,EAAUX,SAAA;MAAAH,CAAA,OAAAG,SAAA;MAAAH,CAAA,OAAAK,YAAA;MAAAL,CAAA,OAAAc,QAAA;MAAAd,CAAA,OAAA2B,EAAA;IAAA;MAAAA,EAAA,GAAA3B,CAAA;IAAA;IAnB/CwB,EAAA,GAAAI,KAAA,CAAAlC,KAAA,CAAAmC,QAAA;MAAAC,QAAA,GACEC,IAAA,CAAAlC,YAAA;QAAAI,MAAA,EACUoB,EAKR;QAAAW,WAAA,EACalB,QAAA;QAAAZ,MAAA;QAAAe,UAAA;QAAAT;MAAA,C,GAKfuB,IAAA,CAAApC,WAAA;QAAAM,MAAA,EACUwB,EAGR;QAAArB,OAAA;QAAAC,YAAA,EAEcsB,EAA6B;QAAArB,UAAA;QAAAoB,KAAA,EAEpCZ,QAAA;QAAAP,UAAA;QAAAE,OAAA;QAAAC,SAAA;QAAAC,QAAA;QAAAC,SAAA;QAAAC;MAAA,C;;;;;;;;;;;;;;;;;;;;;;SArBXW,E;CA+BJ","ignoreList":[]}
1
+ {"version":3,"file":"RowActions.js","names":["c","_c","useModal","React","ArrayAction","useDrawerSlug","BlocksDrawer","RowActions","props","$","addRow","blocks","blockType","copyRow","duplicateRow","hasMaxRows","isSortable","labels","moveRow","pasteData","pasteRow","pasteRowBelow","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 type { ClipboardPasteEligibilityArgs } from '../../elements/ClipboardAction/types.js'\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 copyRow: (rowIndex: number) => void\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 pasteData: ClipboardPasteEligibilityArgs\n readonly pasteRow: (rowIndex: number) => void\n readonly pasteRowBelow: (rowIndex: 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 copyRow,\n duplicateRow,\n hasMaxRows,\n isSortable,\n labels,\n moveRow,\n pasteData,\n pasteRow,\n pasteRowBelow,\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 copyRow={copyRow}\n duplicateRow={() => duplicateRow(rowIndex, blockType)}\n hasMaxRows={hasMaxRows}\n index={rowIndex}\n isSortable={isSortable}\n moveRow={moveRow}\n pasteData={pasteData}\n pasteRow={pasteRow}\n pasteRowBelow={pasteRowBelow}\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":"AAKA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAgC7D,OAAO,aAAa,CAAA;AA6gBpB,eAAO,MAAM,WAAW;;;;+EAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAiC7D,OAAO,aAAa,CAAA;AA8iBpB,eAAO,MAAM,WAAW;;;;+EAAsC,CAAA"}
@@ -9,7 +9,7 @@ import { Banner } from '../../elements/Banner/index.js';
9
9
  import { Button } from '../../elements/Button/index.js';
10
10
  import { clipboardCopy, clipboardPaste } from '../../elements/ClipboardAction/clipboardUtilities.js';
11
11
  import { ClipboardAction } from '../../elements/ClipboardAction/index.js';
12
- import { mergeFormStateFromClipboard, reduceFormStateByPath } from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js';
12
+ import { insertRowFromClipboard, mergeFormStateFromClipboard, reduceFormStateByPath } from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js';
13
13
  import { CollapseAllToggle } from '../../elements/CollapseAllToggle/index.js';
14
14
  import { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js';
15
15
  import { DragOverlayPreview } from '../../elements/DraggableSortable/DragOverlayPreview/index.js';
@@ -283,16 +283,43 @@ const BlocksFieldComponent = props => {
283
283
  toast.error(clipboardResult_0);
284
284
  }
285
285
  }, [clientBlocks, getFields, path, replaceState, setModified, t]);
286
- const pasteBlocks = useCallback(dataFromClipboard_0 => {
287
- const formState_0 = {
286
+ const pasteRowBelow = useCallback(rowIndex_4 => {
287
+ const pasteArgs_0 = {
288
+ onPaste: dataFromClipboard_0 => {
289
+ const formState_0 = {
290
+ ...getFields()
291
+ };
292
+ const newState_0 = insertRowFromClipboard({
293
+ dataFromClipboard: dataFromClipboard_0,
294
+ formState: formState_0,
295
+ path,
296
+ rowIndex: rowIndex_4 + 1
297
+ });
298
+ replaceState(newState_0);
299
+ setModified(true);
300
+ setTimeout(() => {
301
+ scrollToID(`${path?.split('.').join('-')}-row-${rowIndex_4 + 1}`);
302
+ }, 0);
303
+ },
304
+ path,
305
+ schemaBlocks: clientBlocks,
306
+ t
307
+ };
308
+ const clipboardResult_1 = clipboardPaste(pasteArgs_0);
309
+ if (typeof clipboardResult_1 === 'string') {
310
+ toast.error(clipboardResult_1);
311
+ }
312
+ }, [clientBlocks, getFields, path, replaceState, setModified, t]);
313
+ const pasteBlocks = useCallback(dataFromClipboard_1 => {
314
+ const formState_1 = {
288
315
  ...getFields()
289
316
  };
290
- const newState_0 = mergeFormStateFromClipboard({
291
- dataFromClipboard: dataFromClipboard_0,
292
- formState: formState_0,
317
+ const newState_1 = mergeFormStateFromClipboard({
318
+ dataFromClipboard: dataFromClipboard_1,
319
+ formState: formState_1,
293
320
  path
294
321
  });
295
- replaceState(newState_0);
322
+ replaceState(newState_1);
296
323
  setModified(true);
297
324
  }, [getFields, path, replaceState, setModified]);
298
325
  const hasMaxRows = maxRows && rows.length >= maxRows;
@@ -448,6 +475,7 @@ const BlocksFieldComponent = props => {
448
475
  moveRow: moveRow,
449
476
  parentPath: path,
450
477
  pasteRow: pasteRow,
478
+ pasteRowBelow: pasteRowBelow,
451
479
  path: rowPath,
452
480
  permissions: permissions,
453
481
  readOnly: readOnly || disabled,
@@ -474,14 +502,14 @@ const BlocksFieldComponent = props => {
474
502
  })
475
503
  })]
476
504
  })]
477
- }), !hasMaxRows && /*#__PURE__*/_jsxs(Fragment, {
505
+ }), !hasMaxRows && !readOnly && /*#__PURE__*/_jsxs(Fragment, {
478
506
  children: [/*#__PURE__*/_jsx(DrawerToggler, {
479
507
  className: `${baseClass}__drawer-toggler`,
480
- disabled: readOnly || disabled,
508
+ disabled: disabled,
481
509
  slug: drawerSlug,
482
510
  children: /*#__PURE__*/_jsx(Button, {
483
511
  buttonStyle: "ghost",
484
- disabled: readOnly || disabled,
512
+ disabled: disabled,
485
513
  el: "span",
486
514
  icon: /*#__PURE__*/_jsx(CirclePlusIcon, {}),
487
515
  iconPosition: "left",