@payloadcms/ui 4.0.0-internal.cd47d20 → 4.0.0-internal.ce66a41

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 (807) hide show
  1. package/dist/css/app.css +1 -1
  2. package/dist/css/forms.css +0 -1
  3. package/dist/css/spacing.css +1 -1
  4. package/dist/css/typography.css +161 -55
  5. package/dist/elements/APIKeyInput/index.css +2 -2
  6. package/dist/elements/AddNewRelation/index.css +0 -4
  7. package/dist/elements/AddNewRelation/index.js +2 -2
  8. package/dist/elements/AddNewRelation/index.js.map +1 -1
  9. package/dist/elements/AppHeader/index.css +4 -0
  10. package/dist/elements/AppHeader/index.d.ts +1 -8
  11. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  12. package/dist/elements/AppHeader/index.js +10 -19
  13. package/dist/elements/AppHeader/index.js.map +1 -1
  14. package/dist/elements/Banner/index.css +3 -4
  15. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  16. package/dist/elements/BulkUpload/ActionsBar/index.js +12 -10
  17. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  18. package/dist/elements/BulkUpload/AddFilesView/index.css +5 -0
  19. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  20. package/dist/elements/BulkUpload/AddFilesView/index.js +49 -8
  21. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  23. package/dist/elements/BulkUpload/AddingFilesView/index.js +25 -20
  24. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/EditMany/index.css +4 -5
  26. package/dist/elements/BulkUpload/FileSidebar/index.css +0 -1
  27. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/FileSidebar/index.js +28 -35
  29. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/FormsManager/index.d.ts +2 -1
  31. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  32. package/dist/elements/BulkUpload/FormsManager/index.js +175 -60
  33. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  34. package/dist/elements/BulkUpload/useUploadCollectionOptions.d.ts +6 -0
  35. package/dist/elements/BulkUpload/useUploadCollectionOptions.d.ts.map +1 -0
  36. package/dist/elements/BulkUpload/useUploadCollectionOptions.js +74 -0
  37. package/dist/elements/BulkUpload/useUploadCollectionOptions.js.map +1 -0
  38. package/dist/elements/Button/index.css +7 -1
  39. package/dist/elements/Button/types.d.ts +1 -1
  40. package/dist/elements/Button/types.d.ts.map +1 -1
  41. package/dist/elements/Button/types.js.map +1 -1
  42. package/dist/elements/Card/index.css +7 -8
  43. package/dist/elements/CardGrid/index.css +20 -0
  44. package/dist/elements/CardGrid/index.d.ts +13 -0
  45. package/dist/elements/CardGrid/index.d.ts.map +1 -0
  46. package/dist/elements/CardGrid/index.js +23 -0
  47. package/dist/elements/CardGrid/index.js.map +1 -0
  48. package/dist/elements/Chip/index.css +0 -1
  49. package/dist/elements/CollapseAllToggle/index.d.ts +3 -0
  50. package/dist/elements/CollapseAllToggle/index.d.ts.map +1 -1
  51. package/dist/elements/CollapseAllToggle/index.js +36 -22
  52. package/dist/elements/CollapseAllToggle/index.js.map +1 -1
  53. package/dist/elements/Collapsible/index.css +4 -1
  54. package/dist/elements/Collapsible/index.d.ts +2 -0
  55. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  56. package/dist/elements/Collapsible/index.js +67 -46
  57. package/dist/elements/Collapsible/index.js.map +1 -1
  58. package/dist/elements/ColumnSelection/Popup.css +14 -11
  59. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  60. package/dist/elements/ColumnSelection/Popup.js +22 -14
  61. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  62. package/dist/elements/CommandPalette/index.css +3 -8
  63. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  64. package/dist/elements/CopyLocaleData/index.js +1 -0
  65. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  66. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  67. package/dist/elements/CreateDocumentButton/index.js +56 -33
  68. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  69. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  70. package/dist/elements/DatePicker/DatePicker.js +33 -2
  71. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  72. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts +8 -0
  73. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts.map +1 -0
  74. package/dist/elements/DatePicker/hasAmbiguousYearInput.js +37 -0
  75. package/dist/elements/DatePicker/hasAmbiguousYearInput.js.map +1 -0
  76. package/dist/elements/DatePicker/index.css +27 -17
  77. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  78. package/dist/elements/DefaultListViewTabs/index.js +9 -7
  79. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  80. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  81. package/dist/elements/Dialog/DialogModal/index.js +40 -28
  82. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  83. package/dist/elements/Dialog/DialogTitle/index.css +1 -1
  84. package/dist/elements/Dialog/index.css +1 -2
  85. package/dist/elements/DocumentCard/index.css +73 -0
  86. package/dist/elements/DocumentCard/index.d.ts +18 -0
  87. package/dist/elements/DocumentCard/index.d.ts.map +1 -0
  88. package/dist/elements/DocumentCard/index.js +182 -0
  89. package/dist/elements/DocumentCard/index.js.map +1 -0
  90. package/dist/elements/DocumentControls/index.css +1 -5
  91. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +4 -7
  92. package/dist/elements/DocumentDrawer/types.d.ts +1 -1
  93. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  94. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  95. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.css +40 -0
  96. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.d.ts +4 -0
  97. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.d.ts.map +1 -0
  98. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.js +88 -0
  99. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.js.map +1 -0
  100. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  101. package/dist/elements/DocumentFields/index.js +2 -1
  102. package/dist/elements/DocumentFields/index.js.map +1 -1
  103. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  104. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +0 -1
  105. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  106. package/dist/elements/DocumentHeader/index.css +1 -1
  107. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  108. package/dist/elements/DraggableSortable/index.js +13 -10
  109. package/dist/elements/DraggableSortable/index.js.map +1 -1
  110. package/dist/elements/DraggableSortable/types.d.ts +1 -0
  111. package/dist/elements/DraggableSortable/types.d.ts.map +1 -1
  112. package/dist/elements/DraggableSortable/types.js.map +1 -1
  113. package/dist/elements/Drawer/index.css +4 -5
  114. package/dist/elements/Drawer/types.d.ts +2 -2
  115. package/dist/elements/Drawer/types.d.ts.map +1 -1
  116. package/dist/elements/Drawer/types.js.map +1 -1
  117. package/dist/elements/Dropzone/index.d.ts +2 -1
  118. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  119. package/dist/elements/Dropzone/index.js +9 -10
  120. package/dist/elements/Dropzone/index.js.map +1 -1
  121. package/dist/elements/EditMany/index.css +4 -5
  122. package/dist/elements/EditUpload/index.css +3 -4
  123. package/dist/elements/ErrorPill/index.css +0 -1
  124. package/dist/elements/FieldDiffContainer/index.css +0 -1
  125. package/dist/elements/FieldDiffLabel/index.css +4 -5
  126. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  127. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  128. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  129. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  130. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  131. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  132. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -1
  133. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  134. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  135. package/dist/elements/FileDetails/index.d.ts +1 -1
  136. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  137. package/dist/elements/FileDetails/index.js.map +1 -1
  138. package/dist/elements/FileManager/FilePreview/index.css +2 -3
  139. package/dist/elements/FileManager/FilePreview/index.js +4 -4
  140. package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
  141. package/dist/elements/FileManager/FileToolbar/index.css +2 -3
  142. package/dist/elements/FileManager/index.css +0 -1
  143. package/dist/elements/FileManager/index.d.ts.map +1 -1
  144. package/dist/elements/FileManager/index.js +197 -177
  145. package/dist/elements/FileManager/index.js.map +1 -1
  146. package/dist/elements/FormHeader/index.css +0 -2
  147. package/dist/elements/GroupBy/Popup.css +3 -6
  148. package/dist/elements/HTMLDiff/index.css +0 -1
  149. package/dist/elements/HTMLDiff/index.d.ts +3 -1
  150. package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
  151. package/dist/elements/HTMLDiff/index.js +9 -3
  152. package/dist/elements/HTMLDiff/index.js.map +1 -1
  153. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  154. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +40 -36
  155. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  156. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  157. package/dist/elements/Hierarchy/ColumnBrowser/index.js +15 -58
  158. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  159. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  160. package/dist/elements/Hierarchy/DocHeaderButton/index.js +29 -1
  161. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  162. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts +9 -0
  163. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts.map +1 -0
  164. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js +41 -0
  165. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js.map +1 -0
  166. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  167. package/dist/elements/Hierarchy/Field/index.client.js +120 -105
  168. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  169. package/dist/elements/Hierarchy/Field/index.css +0 -1
  170. package/dist/elements/Hierarchy/Modal/index.d.ts +1 -1
  171. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  172. package/dist/elements/Hierarchy/Modal/index.js +28 -39
  173. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  174. package/dist/elements/Hierarchy/Modal/selection.d.ts +12 -0
  175. package/dist/elements/Hierarchy/Modal/selection.d.ts.map +1 -0
  176. package/dist/elements/Hierarchy/Modal/selection.js +40 -0
  177. package/dist/elements/Hierarchy/Modal/selection.js.map +1 -0
  178. package/dist/elements/Hierarchy/Modal/types.d.ts +2 -0
  179. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  180. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  181. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
  182. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js +1 -1
  183. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -1
  184. package/dist/elements/Hierarchy/MoveMany/index.d.ts +3 -1
  185. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  186. package/dist/elements/Hierarchy/MoveMany/index.js +17 -8
  187. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  188. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  189. package/dist/elements/Hierarchy/Search/index.js +11 -0
  190. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  191. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  192. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +7 -1
  193. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  194. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +2 -1
  195. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  196. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +30 -28
  197. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  198. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  199. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +6 -2
  200. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  201. package/dist/elements/Hierarchy/Tree/index.css +3 -1
  202. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  203. package/dist/elements/Hierarchy/Tree/index.js +25 -26
  204. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  205. package/dist/elements/HydratePreferences/index.d.ts +8 -0
  206. package/dist/elements/HydratePreferences/index.d.ts.map +1 -0
  207. package/dist/elements/HydratePreferences/index.js +34 -0
  208. package/dist/elements/HydratePreferences/index.js.map +1 -0
  209. package/dist/elements/IDLabel/index.css +5 -7
  210. package/dist/elements/IframeLoader/index.d.ts.map +1 -1
  211. package/dist/elements/IframeLoader/index.js +34 -6
  212. package/dist/elements/IframeLoader/index.js.map +1 -1
  213. package/dist/elements/ItemsDrawer/ItemSearch/index.css +0 -1
  214. package/dist/elements/ItemsDrawer/index.d.ts.map +1 -1
  215. package/dist/elements/ItemsDrawer/index.js +23 -1
  216. package/dist/elements/ItemsDrawer/index.js.map +1 -1
  217. package/dist/elements/LLMInstructionsCell/index.css +11 -0
  218. package/dist/elements/LLMInstructionsCell/index.d.ts +5 -0
  219. package/dist/elements/LLMInstructionsCell/index.d.ts.map +1 -0
  220. package/dist/elements/LLMInstructionsCell/index.js +24 -0
  221. package/dist/elements/LLMInstructionsCell/index.js.map +1 -0
  222. package/dist/elements/LLMInstructionsDescription/index.css +79 -0
  223. package/dist/elements/LLMInstructionsDescription/index.d.ts +6 -0
  224. package/dist/elements/LLMInstructionsDescription/index.d.ts.map +1 -0
  225. package/dist/elements/LLMInstructionsDescription/index.js +40 -0
  226. package/dist/elements/LLMInstructionsDescription/index.js.map +1 -0
  227. package/dist/elements/LLMInstructionsMenuItem/index.d.ts +5 -0
  228. package/dist/elements/LLMInstructionsMenuItem/index.d.ts.map +1 -0
  229. package/dist/elements/LLMInstructionsMenuItem/index.js +46 -0
  230. package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -0
  231. package/dist/elements/LayoutToggle/index.d.ts +8 -0
  232. package/dist/elements/LayoutToggle/index.d.ts.map +1 -0
  233. package/dist/elements/LayoutToggle/index.js +56 -0
  234. package/dist/elements/LayoutToggle/index.js.map +1 -0
  235. package/dist/elements/Link/index.d.ts.map +1 -1
  236. package/dist/elements/Link/index.js +3 -0
  237. package/dist/elements/Link/index.js.map +1 -1
  238. package/dist/elements/ListControls/index.d.ts.map +1 -1
  239. package/dist/elements/ListControls/index.js +5 -2
  240. package/dist/elements/ListControls/index.js.map +1 -1
  241. package/dist/elements/ListControls/types.d.ts +1 -0
  242. package/dist/elements/ListControls/types.d.ts.map +1 -1
  243. package/dist/elements/ListControls/types.js.map +1 -1
  244. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  245. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  246. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  247. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts +6 -0
  248. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts.map +1 -0
  249. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js +61 -0
  250. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -0
  251. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +1 -1
  252. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  253. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +1 -0
  254. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -1
  255. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  256. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  257. package/dist/elements/ListHeader/index.css +4 -5
  258. package/dist/elements/Loading/index.d.ts.map +1 -1
  259. package/dist/elements/Loading/index.js +1 -0
  260. package/dist/elements/Loading/index.js.map +1 -1
  261. package/dist/elements/MiniCarousel/index.d.ts +1 -1
  262. package/dist/elements/MiniCarousel/index.d.ts.map +1 -1
  263. package/dist/elements/MiniCarousel/index.js +6 -6
  264. package/dist/elements/MiniCarousel/index.js.map +1 -1
  265. package/dist/elements/Nav/NavSidebarToggle/index.d.ts.map +1 -1
  266. package/dist/elements/Nav/NavSidebarToggle/index.js +29 -24
  267. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  268. package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
  269. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  270. package/dist/elements/Nav/NavWrapper/index.js +15 -13
  271. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  272. package/dist/elements/Nav/SidebarTabs/index.client.js +1 -1
  273. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  274. package/dist/elements/Nav/SidebarTabs/index.css +3 -3
  275. package/dist/elements/Nav/context.d.ts +1 -1
  276. package/dist/elements/Nav/context.d.ts.map +1 -1
  277. package/dist/elements/Nav/context.js +32 -11
  278. package/dist/elements/Nav/context.js.map +1 -1
  279. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  280. package/dist/elements/Nav/index.client.js +1 -10
  281. package/dist/elements/Nav/index.client.js.map +1 -1
  282. package/dist/elements/Nav/index.css +45 -34
  283. package/dist/elements/Nav/index.d.ts +4 -0
  284. package/dist/elements/Nav/index.d.ts.map +1 -1
  285. package/dist/elements/Nav/index.js +15 -1
  286. package/dist/elements/Nav/index.js.map +1 -1
  287. package/dist/elements/NavGroup/index.css +32 -19
  288. package/dist/elements/NavGroup/index.d.ts.map +1 -1
  289. package/dist/elements/NavGroup/index.js +31 -28
  290. package/dist/elements/NavGroup/index.js.map +1 -1
  291. package/dist/elements/NoListResults/index.css +2 -3
  292. package/dist/elements/PageControls/index.css +4 -1
  293. package/dist/elements/PageControls/index.d.ts +1 -0
  294. package/dist/elements/PageControls/index.d.ts.map +1 -1
  295. package/dist/elements/PageControls/index.js +41 -21
  296. package/dist/elements/PageControls/index.js.map +1 -1
  297. package/dist/elements/Pagination/ClickableArrow/index.d.ts.map +1 -1
  298. package/dist/elements/Pagination/ClickableArrow/index.js +45 -11
  299. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  300. package/dist/elements/Pagination/SimplePagination/index.css +0 -1
  301. package/dist/elements/Pagination/index.css +0 -2
  302. package/dist/elements/Pagination/index.d.ts.map +1 -1
  303. package/dist/elements/Pagination/index.js +32 -18
  304. package/dist/elements/Pagination/index.js.map +1 -1
  305. package/dist/elements/PerPage/index.css +0 -1
  306. package/dist/elements/PerPage/index.js +3 -1
  307. package/dist/elements/PerPage/index.js.map +1 -1
  308. package/dist/elements/Pill/index.css +0 -1
  309. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.css +53 -0
  310. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.d.ts +13 -0
  311. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.d.ts.map +1 -0
  312. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.js +44 -0
  313. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.js.map +1 -0
  314. package/dist/elements/Popup/PopupButtonList/index.css +30 -8
  315. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -0
  316. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  317. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  318. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  319. package/dist/elements/Popup/PopupGroupLabel/index.css +0 -1
  320. package/dist/elements/Popup/SubmenuScope.d.ts +21 -0
  321. package/dist/elements/Popup/SubmenuScope.d.ts.map +1 -0
  322. package/dist/elements/Popup/SubmenuScope.js +89 -0
  323. package/dist/elements/Popup/SubmenuScope.js.map +1 -0
  324. package/dist/elements/Popup/index.css +5 -0
  325. package/dist/elements/Popup/index.d.ts +3 -0
  326. package/dist/elements/Popup/index.d.ts.map +1 -1
  327. package/dist/elements/Popup/index.js +75 -10
  328. package/dist/elements/Popup/index.js.map +1 -1
  329. package/dist/elements/Popup/useSubmenuPointerIntent.d.ts +13 -0
  330. package/dist/elements/Popup/useSubmenuPointerIntent.d.ts.map +1 -0
  331. package/dist/elements/Popup/useSubmenuPointerIntent.js +42 -0
  332. package/dist/elements/Popup/useSubmenuPointerIntent.js.map +1 -0
  333. package/dist/elements/PreviewSizes/index.d.ts +1 -1
  334. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  335. package/dist/elements/PreviewSizes/index.js +9 -9
  336. package/dist/elements/PreviewSizes/index.js.map +1 -1
  337. package/dist/elements/QueryPresets/fields/Heading/index.css +0 -1
  338. package/dist/elements/ReactSelect/MultiValueLabel/index.css +0 -1
  339. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  340. package/dist/elements/ReactSelect/ValueContainer/index.js +23 -1
  341. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  342. package/dist/elements/ReactSelect/index.css +5 -3
  343. package/dist/elements/ReactSelect/types.d.ts +3 -0
  344. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  345. package/dist/elements/ReactSelect/types.js.map +1 -1
  346. package/dist/elements/RenderTitle/index.css +9 -7
  347. package/dist/elements/Search/ListSearchFilter/index.d.ts +2 -1
  348. package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
  349. package/dist/elements/Search/ListSearchFilter/index.js +33 -17
  350. package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
  351. package/dist/elements/Search/SearchInput/index.css +0 -1
  352. package/dist/elements/Search/SearchInput/index.d.ts +1 -0
  353. package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
  354. package/dist/elements/Search/SearchInput/index.js +23 -20
  355. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  356. package/dist/elements/SegmentedControl/index.css +9 -0
  357. package/dist/elements/SegmentedControl/index.d.ts +20 -0
  358. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  359. package/dist/elements/SegmentedControl/index.js +162 -0
  360. package/dist/elements/SegmentedControl/index.js.map +1 -0
  361. package/dist/elements/SelectRow/index.d.ts +1 -0
  362. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  363. package/dist/elements/SelectRow/index.js +35 -27
  364. package/dist/elements/SelectRow/index.js.map +1 -1
  365. package/dist/elements/SidebarRow/index.css +43 -2
  366. package/dist/elements/SidebarToggle/index.css +3 -1
  367. package/dist/elements/SkipToContent/index.css +21 -0
  368. package/dist/elements/SkipToContent/index.d.ts +4 -0
  369. package/dist/elements/SkipToContent/index.d.ts.map +1 -0
  370. package/dist/elements/SkipToContent/index.js +63 -0
  371. package/dist/elements/SkipToContent/index.js.map +1 -0
  372. package/dist/elements/SortColumn/index.css +1 -2
  373. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  374. package/dist/elements/SortColumn/index.js +7 -3
  375. package/dist/elements/SortColumn/index.js.map +1 -1
  376. package/dist/elements/Spinner/index.css +0 -2
  377. package/dist/elements/Status/index.css +3 -4
  378. package/dist/elements/StepNav/index.css +15 -9
  379. package/dist/elements/Switch/index.css +0 -1
  380. package/dist/elements/Switch/index.d.ts +1 -0
  381. package/dist/elements/Switch/index.d.ts.map +1 -1
  382. package/dist/elements/Switch/index.js +18 -16
  383. package/dist/elements/Switch/index.js.map +1 -1
  384. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.css +0 -1
  385. package/dist/elements/Table/DefaultCell/fields/Code/index.css +0 -1
  386. package/dist/elements/Table/DefaultCell/fields/File/index.css +18 -13
  387. package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -1
  388. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  389. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +26 -7
  390. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  391. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +42 -8
  392. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  393. package/dist/elements/Table/DefaultCell/fields/JSON/index.css +0 -1
  394. package/dist/elements/Table/DefaultCell/fields/Status/index.css +0 -1
  395. package/dist/elements/Table/GridNavigation/useGridNavigation.d.ts +8 -0
  396. package/dist/elements/Table/GridNavigation/useGridNavigation.d.ts.map +1 -0
  397. package/dist/elements/Table/GridNavigation/useGridNavigation.js +397 -0
  398. package/dist/elements/Table/GridNavigation/useGridNavigation.js.map +1 -0
  399. package/dist/elements/Table/TableIdentity.d.ts +3 -0
  400. package/dist/elements/Table/TableIdentity.d.ts.map +1 -1
  401. package/dist/elements/Table/TableIdentity.js +13 -8
  402. package/dist/elements/Table/TableIdentity.js.map +1 -1
  403. package/dist/elements/Table/index.css +23 -3
  404. package/dist/elements/Table/index.d.ts +2 -0
  405. package/dist/elements/Table/index.d.ts.map +1 -1
  406. package/dist/elements/Table/index.js +77 -83
  407. package/dist/elements/Table/index.js.map +1 -1
  408. package/dist/elements/TableSection/index.css +4 -5
  409. package/dist/elements/Tabs/index.css +1 -2
  410. package/dist/elements/Tabs/index.d.ts +4 -0
  411. package/dist/elements/Tabs/index.d.ts.map +1 -1
  412. package/dist/elements/Tabs/index.js +30 -1
  413. package/dist/elements/Tabs/index.js.map +1 -1
  414. package/dist/elements/ThumbnailCard/index.css +0 -1
  415. package/dist/elements/TimezonePicker/index.css +0 -3
  416. package/dist/elements/Tooltip/index.css +2 -2
  417. package/dist/elements/Tooltip/index.d.ts +5 -5
  418. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  419. package/dist/elements/Tooltip/index.js +20 -13
  420. package/dist/elements/Tooltip/index.js.map +1 -1
  421. package/dist/elements/Upload/index.css +2 -3
  422. package/dist/elements/Upload/index.d.ts +1 -1
  423. package/dist/elements/Upload/index.d.ts.map +1 -1
  424. package/dist/elements/Upload/index.js +6 -6
  425. package/dist/elements/Upload/index.js.map +1 -1
  426. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  427. package/dist/elements/UserMenu/LanguageMenu/index.js +12 -30
  428. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  429. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  430. package/dist/elements/UserMenu/SettingsMenu/index.js +12 -30
  431. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  432. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  433. package/dist/elements/UserMenu/ThemeMenu/index.js +12 -30
  434. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  435. package/dist/elements/UserMenu/index.css +29 -15
  436. package/dist/elements/UserMenu/index.d.ts +1 -0
  437. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  438. package/dist/elements/UserMenu/index.js +60 -46
  439. package/dist/elements/UserMenu/index.js.map +1 -1
  440. package/dist/exports/client/CodeEditor-UKD3EPUY.js +14 -0
  441. package/dist/exports/client/CodeEditor-UKD3EPUY.js.map +7 -0
  442. package/dist/exports/client/DatePicker-BBZ3XRWP.js +14 -0
  443. package/dist/exports/client/DatePicker-BBZ3XRWP.js.map +7 -0
  444. package/dist/exports/client/chunk-6XCSN54Q.js +27 -0
  445. package/dist/exports/client/chunk-6XCSN54Q.js.map +7 -0
  446. package/dist/exports/client/chunk-AVJIZPR3.js +14 -0
  447. package/dist/exports/client/chunk-AVJIZPR3.js.map +7 -0
  448. package/dist/exports/client/chunk-USFUVW7C.js +29 -0
  449. package/dist/exports/client/chunk-USFUVW7C.js.map +7 -0
  450. package/dist/exports/client/index.d.ts +22 -2
  451. package/dist/exports/client/index.d.ts.map +1 -1
  452. package/dist/exports/client/index.js +100 -1
  453. package/dist/exports/client/index.js.map +4 -4
  454. package/dist/exports/rsc/index.d.ts +3 -0
  455. package/dist/exports/rsc/index.d.ts.map +1 -1
  456. package/dist/exports/rsc/index.js +3 -0
  457. package/dist/exports/rsc/index.js.map +1 -1
  458. package/dist/exports/shared/index.js +1 -1
  459. package/dist/exports/shared/index.js.map +3 -3
  460. package/dist/fields/Array/index.css +4 -0
  461. package/dist/fields/Array/index.d.ts.map +1 -1
  462. package/dist/fields/Array/index.js +14 -5
  463. package/dist/fields/Array/index.js.map +1 -1
  464. package/dist/fields/Blocks/SectionTitle/index.css +3 -5
  465. package/dist/fields/Blocks/index.css +2 -2
  466. package/dist/fields/Blocks/index.d.ts.map +1 -1
  467. package/dist/fields/Blocks/index.js +20 -11
  468. package/dist/fields/Blocks/index.js.map +1 -1
  469. package/dist/fields/Checkbox/Input.d.ts +2 -2
  470. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  471. package/dist/fields/Checkbox/Input.js +134 -152
  472. package/dist/fields/Checkbox/Input.js.map +1 -1
  473. package/dist/fields/Checkbox/index.css +189 -155
  474. package/dist/fields/Code/index.d.ts.map +1 -1
  475. package/dist/fields/Code/index.js +20 -3
  476. package/dist/fields/Code/index.js.map +1 -1
  477. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  478. package/dist/fields/Collapsible/index.js +1 -0
  479. package/dist/fields/Collapsible/index.js.map +1 -1
  480. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  481. package/dist/fields/ConfirmPassword/index.js +45 -31
  482. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  483. package/dist/fields/Email/index.d.ts.map +1 -1
  484. package/dist/fields/Email/index.js +11 -0
  485. package/dist/fields/Email/index.js.map +1 -1
  486. package/dist/fields/FieldError/index.css +12 -0
  487. package/dist/fields/FieldError/index.d.ts.map +1 -1
  488. package/dist/fields/FieldError/index.js +4 -1
  489. package/dist/fields/FieldError/index.js.map +1 -1
  490. package/dist/fields/FieldLabel/index.css +5 -4
  491. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  492. package/dist/fields/FieldLabel/index.js +28 -10
  493. package/dist/fields/FieldLabel/index.js.map +1 -1
  494. package/dist/fields/Group/index.css +2 -3
  495. package/dist/fields/JSON/index.d.ts.map +1 -1
  496. package/dist/fields/JSON/index.js +15 -1
  497. package/dist/fields/JSON/index.js.map +1 -1
  498. package/dist/fields/Join/index.css +3 -4
  499. package/dist/fields/Password/input.d.ts.map +1 -1
  500. package/dist/fields/Password/input.js +73 -95
  501. package/dist/fields/Password/input.js.map +1 -1
  502. package/dist/fields/Point/index.d.ts.map +1 -1
  503. package/dist/fields/Point/index.js +15 -2
  504. package/dist/fields/Point/index.js.map +1 -1
  505. package/dist/fields/RadioGroup/Radio/index.css +0 -1
  506. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  507. package/dist/fields/Relationship/Input.js +25 -17
  508. package/dist/fields/Relationship/Input.js.map +1 -1
  509. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  510. package/dist/fields/Relationship/optionsReducer.js +2 -0
  511. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  512. package/dist/fields/Relationship/types.d.ts +8 -0
  513. package/dist/fields/Relationship/types.d.ts.map +1 -1
  514. package/dist/fields/Relationship/types.js.map +1 -1
  515. package/dist/fields/Select/Input.d.ts.map +1 -1
  516. package/dist/fields/Select/Input.js +70 -51
  517. package/dist/fields/Select/Input.js.map +1 -1
  518. package/dist/fields/Select/index.css +7 -0
  519. package/dist/fields/Tabs/Tab/index.d.ts +2 -0
  520. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  521. package/dist/fields/Tabs/Tab/index.js +15 -9
  522. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  523. package/dist/fields/Tabs/index.d.ts.map +1 -1
  524. package/dist/fields/Tabs/index.js +179 -116
  525. package/dist/fields/Tabs/index.js.map +1 -1
  526. package/dist/fields/Text/Input.d.ts.map +1 -1
  527. package/dist/fields/Text/Input.js +53 -34
  528. package/dist/fields/Text/Input.js.map +1 -1
  529. package/dist/fields/Upload/HasMany/index.js +1 -1
  530. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  531. package/dist/fields/Upload/HasOne/index.js +1 -1
  532. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  533. package/dist/fields/Upload/Input.d.ts.map +1 -1
  534. package/dist/fields/Upload/Input.js +13 -4
  535. package/dist/fields/Upload/Input.js.map +1 -1
  536. package/dist/fields/shared/useRowFocus.d.ts +5 -0
  537. package/dist/fields/shared/useRowFocus.d.ts.map +1 -0
  538. package/dist/fields/shared/useRowFocus.js +50 -0
  539. package/dist/fields/shared/useRowFocus.js.map +1 -0
  540. package/dist/forms/NullifyField/index.d.ts +10 -0
  541. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  542. package/dist/forms/NullifyField/index.js +14 -4
  543. package/dist/forms/NullifyField/index.js.map +1 -1
  544. package/dist/forms/RenderFields/index.css +3 -6
  545. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -2
  546. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  547. package/dist/graphics/Logo/index.d.ts.map +1 -1
  548. package/dist/graphics/Logo/index.js +2 -0
  549. package/dist/graphics/Logo/index.js.map +1 -1
  550. package/dist/icons/ImageStack/index.d.ts +3 -0
  551. package/dist/icons/ImageStack/index.d.ts.map +1 -0
  552. package/dist/icons/ImageStack/index.js +17 -0
  553. package/dist/icons/ImageStack/index.js.map +1 -0
  554. package/dist/icons/Table/index.css +1 -0
  555. package/dist/icons/Table/index.d.ts +7 -0
  556. package/dist/icons/Table/index.d.ts.map +1 -0
  557. package/dist/icons/Table/index.js +25 -0
  558. package/dist/icons/Table/index.js.map +1 -0
  559. package/dist/layouts/Root/DocumentRoot.d.ts +24 -0
  560. package/dist/layouts/Root/DocumentRoot.d.ts.map +1 -0
  561. package/dist/layouts/Root/DocumentRoot.js +40 -0
  562. package/dist/layouts/Root/DocumentRoot.js.map +1 -0
  563. package/dist/layouts/Root/ResolveThemeOnClient.d.ts +12 -0
  564. package/dist/layouts/Root/ResolveThemeOnClient.d.ts.map +1 -0
  565. package/dist/layouts/Root/ResolveThemeOnClient.js +35 -0
  566. package/dist/layouts/Root/ResolveThemeOnClient.js.map +1 -0
  567. package/dist/layouts/Root/RootProviders.d.ts +11 -0
  568. package/dist/layouts/Root/RootProviders.d.ts.map +1 -0
  569. package/dist/layouts/Root/RootProviders.js +164 -0
  570. package/dist/layouts/Root/RootProviders.js.map +1 -0
  571. package/dist/layouts/Root/getRootLayoutData.d.ts +29 -0
  572. package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -0
  573. package/dist/layouts/Root/getRootLayoutData.js +72 -0
  574. package/dist/layouts/Root/getRootLayoutData.js.map +1 -0
  575. package/dist/layouts/Root/index.d.ts.map +1 -1
  576. package/dist/layouts/Root/index.js +48 -103
  577. package/dist/layouts/Root/index.js.map +1 -1
  578. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts +7 -0
  579. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts.map +1 -0
  580. package/dist/providers/ListQuery/getSearchWithListQuery.js +22 -0
  581. package/dist/providers/ListQuery/getSearchWithListQuery.js.map +1 -0
  582. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  583. package/dist/providers/ListQuery/index.js +16 -12
  584. package/dist/providers/ListQuery/index.js.map +1 -1
  585. package/dist/providers/ListQuery/types.d.ts +4 -0
  586. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  587. package/dist/providers/ListQuery/types.js.map +1 -1
  588. package/dist/providers/Preferences/index.d.ts +7 -1
  589. package/dist/providers/Preferences/index.d.ts.map +1 -1
  590. package/dist/providers/Preferences/index.js +62 -20
  591. package/dist/providers/Preferences/index.js.map +1 -1
  592. package/dist/providers/TableColumns/buildColumnState/index.d.ts +1 -0
  593. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  594. package/dist/providers/TableColumns/buildColumnState/index.js +2 -0
  595. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  596. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -1
  597. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  598. package/dist/providers/TableColumns/buildColumnState/renderCell.js +12 -28
  599. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  600. package/dist/providers/ToastContainer/index.css +6 -7
  601. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  602. package/dist/providers/ToastContainer/index.js +15 -4
  603. package/dist/providers/ToastContainer/index.js.map +1 -1
  604. package/dist/providers/Translation/index.d.ts.map +1 -1
  605. package/dist/providers/Translation/index.js +11 -1
  606. package/dist/providers/Translation/index.js.map +1 -1
  607. package/dist/styles.css +163 -58
  608. package/dist/templates/Default/Wrapper/index.css +20 -5
  609. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  610. package/dist/templates/Default/Wrapper/index.js +4 -3
  611. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  612. package/dist/templates/Default/index.d.ts.map +1 -1
  613. package/dist/templates/Default/index.js +19 -14
  614. package/dist/templates/Default/index.js.map +1 -1
  615. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts +9 -0
  616. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts.map +1 -0
  617. package/dist/utilities/filterLLMInstructionsMenuItems.js +37 -0
  618. package/dist/utilities/filterLLMInstructionsMenuItems.js.map +1 -0
  619. package/dist/utilities/filterOutUploadFields.js +1 -1
  620. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  621. package/dist/utilities/generateFieldID.d.ts +1 -1
  622. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  623. package/dist/utilities/generateFieldID.js.map +1 -1
  624. package/dist/utilities/getClientConfig.d.ts +5 -1
  625. package/dist/utilities/getClientConfig.d.ts.map +1 -1
  626. package/dist/utilities/getClientConfig.js +2 -1
  627. package/dist/utilities/getClientConfig.js.map +1 -1
  628. package/dist/utilities/getRequestTheme.d.ts +8 -1
  629. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  630. package/dist/utilities/getRequestTheme.js +16 -4
  631. package/dist/utilities/getRequestTheme.js.map +1 -1
  632. package/dist/utilities/hierarchyCollectionRestrictions.d.ts +15 -0
  633. package/dist/utilities/hierarchyCollectionRestrictions.d.ts.map +1 -0
  634. package/dist/utilities/hierarchyCollectionRestrictions.js +17 -0
  635. package/dist/utilities/hierarchyCollectionRestrictions.js.map +1 -0
  636. package/dist/utilities/renderTable.d.ts +2 -1
  637. package/dist/utilities/renderTable.d.ts.map +1 -1
  638. package/dist/utilities/renderTable.js +4 -0
  639. package/dist/utilities/renderTable.js.map +1 -1
  640. package/dist/views/API/index.client.d.ts.map +1 -1
  641. package/dist/views/API/index.client.js +19 -1
  642. package/dist/views/API/index.client.js.map +1 -1
  643. package/dist/views/API/index.css +1 -2
  644. package/dist/views/CreateFirstUser/index.css +0 -2
  645. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  646. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +75 -116
  647. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  648. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.d.ts +7 -0
  649. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.d.ts.map +1 -0
  650. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.js +65 -0
  651. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.js.map +1 -0
  652. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts +2 -1
  653. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  654. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +8 -2
  655. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  656. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  657. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +127 -91
  658. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  659. package/dist/views/Dashboard/Default/ModularDashboard/index.css +9 -6
  660. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  661. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +3 -0
  662. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  663. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.d.ts.map +1 -1
  664. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +2 -38
  665. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  666. package/dist/views/Document/index.js +1 -1
  667. package/dist/views/Document/index.js.map +1 -1
  668. package/dist/views/Document/renderDocumentSlots.d.ts +1 -1
  669. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  670. package/dist/views/Document/renderDocumentSlots.js +10 -3
  671. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  672. package/dist/views/Edit/Auth/index.css +4 -5
  673. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  674. package/dist/views/ForgotPassword/index.js +1 -3
  675. package/dist/views/ForgotPassword/index.js.map +1 -1
  676. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  677. package/dist/views/HierarchyList/DocumentListSelection/index.js +104 -105
  678. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  679. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  680. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +79 -63
  681. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  682. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +1 -1
  683. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +35 -87
  684. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
  685. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +0 -101
  686. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +2 -0
  687. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  688. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +45 -32
  689. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  690. package/dist/views/HierarchyList/HierarchyTable/index.css +51 -41
  691. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +3 -1
  692. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  693. package/dist/views/HierarchyList/HierarchyTable/index.js +80 -6
  694. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  695. package/dist/views/HierarchyList/getHierarchyListURL.d.ts +7 -0
  696. package/dist/views/HierarchyList/getHierarchyListURL.d.ts.map +1 -0
  697. package/dist/views/HierarchyList/getHierarchyListURL.js +22 -0
  698. package/dist/views/HierarchyList/getHierarchyListURL.js.map +1 -0
  699. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  700. package/dist/views/HierarchyList/index.js +32 -11
  701. package/dist/views/HierarchyList/index.js.map +1 -1
  702. package/dist/views/List/DocumentGrid/index.d.ts +17 -0
  703. package/dist/views/List/DocumentGrid/index.d.ts.map +1 -0
  704. package/dist/views/List/DocumentGrid/index.js +152 -0
  705. package/dist/views/List/DocumentGrid/index.js.map +1 -0
  706. package/dist/views/List/GroupedDocumentGrid/index.css +17 -0
  707. package/dist/views/List/GroupedDocumentGrid/index.d.ts +14 -0
  708. package/dist/views/List/GroupedDocumentGrid/index.d.ts.map +1 -0
  709. package/dist/views/List/GroupedDocumentGrid/index.js +99 -0
  710. package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -0
  711. package/dist/views/List/ListHeader/index.css +4 -5
  712. package/dist/views/List/ListHeader/index.d.ts +1 -0
  713. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  714. package/dist/views/List/ListHeader/index.js +5 -2
  715. package/dist/views/List/ListHeader/index.js.map +1 -1
  716. package/dist/views/List/getDocumentListItemURL.d.ts +9 -0
  717. package/dist/views/List/getDocumentListItemURL.d.ts.map +1 -0
  718. package/dist/views/List/getDocumentListItemURL.js +23 -0
  719. package/dist/views/List/getDocumentListItemURL.js.map +1 -0
  720. package/dist/views/List/handleGroupBy.d.ts +6 -2
  721. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  722. package/dist/views/List/handleGroupBy.js +13 -3
  723. package/dist/views/List/handleGroupBy.js.map +1 -1
  724. package/dist/views/List/index.client.d.ts.map +1 -1
  725. package/dist/views/List/index.client.js +207 -129
  726. package/dist/views/List/index.client.js.map +1 -1
  727. package/dist/views/List/index.css +1 -2
  728. package/dist/views/List/index.d.ts.map +1 -1
  729. package/dist/views/List/index.js +57 -3
  730. package/dist/views/List/index.js.map +1 -1
  731. package/dist/views/List/renderListViewSlots.d.ts +3 -2
  732. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  733. package/dist/views/List/renderListViewSlots.js +12 -4
  734. package/dist/views/List/renderListViewSlots.js.map +1 -1
  735. package/dist/views/List/resolveDocumentListItemURL.d.ts +11 -0
  736. package/dist/views/List/resolveDocumentListItemURL.d.ts.map +1 -0
  737. package/dist/views/List/resolveDocumentListItemURL.js +30 -0
  738. package/dist/views/List/resolveDocumentListItemURL.js.map +1 -0
  739. package/dist/views/NotFound/index.css +0 -2
  740. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  741. package/dist/views/ResetPassword/index.js +1 -3
  742. package/dist/views/ResetPassword/index.js.map +1 -1
  743. package/dist/views/Root/getRouteData.d.ts +1 -8
  744. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  745. package/dist/views/Root/getRouteData.js +3 -12
  746. package/dist/views/Root/getRouteData.js.map +1 -1
  747. package/dist/views/Unauthorized/index.css +0 -2
  748. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  749. package/dist/views/Unauthorized/index.js +2 -1
  750. package/dist/views/Unauthorized/index.js.map +1 -1
  751. package/dist/views/Version/Default/index.css +7 -11
  752. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.css +0 -1
  753. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.css +0 -1
  754. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.css +3 -4
  755. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +0 -1
  756. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  757. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +3 -1
  758. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  759. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +0 -1
  760. package/dist/views/Versions/VersionPillLabel/index.css +1 -2
  761. package/dist/views/Versions/index.client.d.ts.map +1 -1
  762. package/dist/views/Versions/index.client.js +3 -1
  763. package/dist/views/Versions/index.client.js.map +1 -1
  764. package/dist/views/Versions/index.css +1 -1
  765. package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -1
  766. package/dist/widgets/CollectionCards/index.client.js +8 -6
  767. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  768. package/dist/widgets/CollectionCards/index.css +30 -38
  769. package/dist/widgets/CollectionCards/index.d.ts.map +1 -1
  770. package/dist/widgets/CollectionCards/index.js +7 -5
  771. package/dist/widgets/CollectionCards/index.js.map +1 -1
  772. package/dist/widgets/CollectionQuery/index.css +4 -6
  773. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +1 -1
  774. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +1 -1
  775. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
  776. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts +4 -0
  777. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts.map +1 -0
  778. package/dist/widgets/UploadDropzone/CollectionsField/index.js +29 -0
  779. package/dist/widgets/UploadDropzone/CollectionsField/index.js.map +1 -0
  780. package/dist/widgets/UploadDropzone/index.client.d.ts +10 -0
  781. package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -0
  782. package/dist/widgets/UploadDropzone/index.client.js +78 -0
  783. package/dist/widgets/UploadDropzone/index.client.js.map +1 -0
  784. package/dist/widgets/UploadDropzone/index.css +80 -0
  785. package/dist/widgets/UploadDropzone/index.d.ts +12 -0
  786. package/dist/widgets/UploadDropzone/index.d.ts.map +1 -0
  787. package/dist/widgets/UploadDropzone/index.js +58 -0
  788. package/dist/widgets/UploadDropzone/index.js.map +1 -0
  789. package/dist/widgets/Welcome/getWelcomeDisplay.d.ts +7 -0
  790. package/dist/widgets/Welcome/getWelcomeDisplay.d.ts.map +1 -0
  791. package/dist/widgets/Welcome/getWelcomeDisplay.js +21 -0
  792. package/dist/widgets/Welcome/getWelcomeDisplay.js.map +1 -0
  793. package/dist/widgets/Welcome/index.css +25 -0
  794. package/dist/widgets/Welcome/index.d.ts +5 -0
  795. package/dist/widgets/Welcome/index.d.ts.map +1 -0
  796. package/dist/widgets/Welcome/index.js +25 -0
  797. package/dist/widgets/Welcome/index.js.map +1 -0
  798. package/dist/widgets/WidgetCard/index.css +4 -8
  799. package/package.json +35 -10
  800. package/dist/providers/Root/index.d.ts +0 -25
  801. package/dist/providers/Root/index.d.ts.map +0 -1
  802. package/dist/providers/Root/index.js +0 -156
  803. package/dist/providers/Root/index.js.map +0 -1
  804. package/dist/utilities/dateLocales.d.ts +0 -30
  805. package/dist/utilities/dateLocales.d.ts.map +0 -1
  806. package/dist/utilities/dateLocales.js +0 -57
  807. package/dist/utilities/dateLocales.js.map +0 -1
@@ -33,6 +33,7 @@ import { useTranslation } from '../../providers/Translation/index.js';
33
33
  import { scrollToID } from '../../utilities/scrollToID.js';
34
34
  import { mergeFieldStyles } from '../mergeFieldStyles.js';
35
35
  import { fieldBaseClass } from '../shared/index.js';
36
+ import { useRowFocus } from '../shared/useRowFocus.js';
36
37
  import { ArrayRow } from './ArrayRow.js';
37
38
  import './index.css';
38
39
  const baseClass = 'array-field';
@@ -78,6 +79,7 @@ export const ArrayFieldComponent = props => {
78
79
  const submitted = useFormSubmitted();
79
80
  const currentLocale = useLocale();
80
81
  const locale = currentLocale?.code;
82
+ const rowsID = useId();
81
83
  const {
82
84
  i18n,
83
85
  t
@@ -153,16 +155,18 @@ export const ArrayFieldComponent = props => {
153
155
  });
154
156
  const componentId = useId();
155
157
  const scrollIdPrefix = useMemo(() => `scroll-${componentId}`, [componentId]);
158
+ const {
159
+ fieldRef,
160
+ focusRow
161
+ } = useRowFocus();
156
162
  const addRow = useCallback(rowIndex => {
157
163
  addFieldRow({
158
164
  path,
159
165
  rowIndex,
160
166
  schemaPath
161
167
  });
162
- setTimeout(() => {
163
- scrollToID(`${scrollIdPrefix}-row-${rowIndex}`);
164
- }, 0);
165
- }, [addFieldRow, path, schemaPath, scrollIdPrefix]);
168
+ focusRow(`${path.split('.').join('-')}-row-${rowIndex}`);
169
+ }, [addFieldRow, focusRow, path, schemaPath]);
166
170
  const duplicateRow = useCallback(rowIndex_0 => {
167
171
  dispatchFields({
168
172
  type: 'DUPLICATE_ROW',
@@ -339,6 +343,7 @@ export const ArrayFieldComponent = props => {
339
343
  return /*#__PURE__*/_jsxs("div", {
340
344
  className: [fieldBaseClass, baseClass, className, fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`].filter(Boolean).join(' '),
341
345
  id: `field-${path.replace(/\./g, '__')}`,
346
+ ref: fieldRef,
342
347
  style: styles,
343
348
  children: [shouldShowFieldError && /*#__PURE__*/_jsx(RenderCustomComponent, {
344
349
  CustomComponent: Error,
@@ -372,6 +377,9 @@ export const ArrayFieldComponent = props => {
372
377
  }), /*#__PURE__*/_jsxs("ul", {
373
378
  className: `${baseClass}__header-actions`,
374
379
  children: [rows?.length > 0 && /*#__PURE__*/_jsx(CollapseAllToggle, {
380
+ controls: rowsID,
381
+ isExpanded: rows.some(row_0 => !row_0.collapsed),
382
+ label: getTranslation(label || labels?.plural || name, i18n),
375
383
  onClick: toggleCollapseAll
376
384
  }), /*#__PURE__*/_jsx("li", {
377
385
  children: /*#__PURE__*/_jsx(ClipboardAction, {
@@ -401,7 +409,8 @@ export const ArrayFieldComponent = props => {
401
409
  readOnly: readOnly
402
410
  }), BeforeInput, (rows?.length > 0 || !valid && (showRequired || showMinRows)) && /*#__PURE__*/_jsxs(DraggableSortable, {
403
411
  className: `${baseClass}__draggable-rows`,
404
- ids: rows.map(row_0 => row_0.id),
412
+ id: rowsID,
413
+ ids: rows.map(row_1 => row_1.id),
405
414
  onDragEnd: ({
406
415
  moveFromIndex: moveFromIndex_0,
407
416
  moveToIndex: moveToIndex_0
@@ -1 +1 @@
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","currentLocale","locale","code","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 { ArrayFieldClientProps, ArrayField as ArrayFieldType } 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: React.FC<ArrayFieldClientProps> = (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 currentLocale = useLocale()\n const locale = currentLocale?.code\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":"AAAA;;;AAGA,SAASA,2BAA2B,QAAQ;AAC5C,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAAmBC,WAAW,EAAEC,KAAK,EAAEC,OAAO,QAAQ;AAC7D,SAASC,KAAK,QAAQ;AAItB,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,SAASC,aAAa,EAAEC,cAAc,QAAQ;AAC9C,SAASC,eAAe,QAAQ;AAChC,SACEC,sBAAsB,EACtBC,2BAA2B,EAC3BC,qBAAqB,QAChB;AACP,SAASC,iBAAiB,QAAQ;AAClC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,SAAS,QAAQ;AAC1B,SAASC,qBAAqB,QAAQ;AACtC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,UAAU,QAAQ;AAC3B,SAASC,UAAU,QAAQ;AAC3B,SAASC,OAAO,EAAEC,gBAAgB,QAAQ;AAC1C,SAASC,0BAA0B,EAAEC,aAAa,QAAQ;AAC1D,SAASC,kBAAkB,QAAQ;AACnC,SAASC,QAAQ,QAAQ;AACzB,SAASC,QAAQ,QAAQ;AACzB,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,mBAAA,GAAwDC,KAAA;EACnE,MAAM;IACJC,KAAK;IACLA,KAAA,EAAO;MACLC,IAAI;MACJC,IAAI;MACJC,KAAA,EAAO;QAAEC,SAAS;QAAEC,WAAW;QAAEC,UAAA,GAAa;MAAI,CAAE,GAAG,CAAC,CAAC;MACzDC,MAAM;MACNC,KAAK;MACLC,SAAS;MACTC,OAAO;MACPC,OAAA,EAASC,WAAW;MACpBC;IAAQ,CACT;IACDC,WAAA,GAAc,KAAK;IACnBC,IAAA,EAAMC,aAAa;IACnBC,WAAW;IACXC,QAAQ;IACRC,UAAA,EAAYC,mBAAmB;IAC/BC;EAAQ,CACT,GAAGtB,KAAA;EAEJ,MAAMoB,UAAA,GAAaC,mBAAA,IAAuBnB,IAAA;EAE1C,MAAMU,OAAA,GAAUC,WAAA,KAAgBC,QAAA,GAAW,IAAI;EAE/C,MAAM;IAAES;EAAsB,CAAE,GAAGhC,eAAA;EACnC,MAAM;IACJiC,WAAW;IACXC,cAAc;IACdC,SAAS;IACTC,YAAY;IACZC,cAAc;IACdC,YAAY;IACZC;EAAW,CACZ,GAAGjD,OAAA;EACJ,MAAMkD,SAAA,GAAYjD,gBAAA;EAClB,MAAMkD,aAAA,GAAgBxC,SAAA;EACtB,MAAMyC,MAAA,GAASD,aAAA,EAAeE,IAAA;EAC9B,MAAM;IAAEC,IAAI;IAAEC;EAAC,CAAE,GAAG3C,cAAA;EAEpB,MAAM;IACJ4C,MAAA,EAAQ;MAAEC;IAAY;EAAE,CACzB,GAAGhD,SAAA;EAEJ,MAAMiD,oBAAA,GAAuB,CAAC;IAC5B,IAAID,YAAA,IAAgBA,YAAA,CAAaE,QAAQ,EAAE;MACzC,MAAMC,aAAA,GAAgBH,YAAA,CAAaG,aAAa;MAChD,OAAOR,MAAA,KAAWQ,aAAA;IACpB;IAEA,OAAO;EACT;EAEA;EACA,MAAMC,SAAA,GAAaC,CAAA;IACjB,IAAI,YAAYA,CAAA,IAAKA,CAAA,EAAGC,MAAA,EAAQ;MAC9B,OAAOD,CAAA,CAAEC,MAAM;IACjB;IAEA,IAAI,YAAYD,CAAA,CAAE1C,KAAK,IAAI0C,CAAA,CAAE1C,KAAK,CAAC2C,MAAM,EAAE;MACzC,OAAO;QAAEC,MAAA,EAAQF,CAAA,CAAE1C,KAAK,CAAC2C,MAAM,EAAEC,MAAA;QAAQC,QAAA,EAAUH,CAAA,CAAE1C,KAAK,CAAC2C,MAAM,EAAEE;MAAS;IAC9E;IAEA,IAAI,WAAWH,CAAA,CAAE1C,KAAK,IAAI0C,CAAA,CAAE1C,KAAK,CAACQ,KAAK,EAAE;MACvC,OAAO;QAAEoC,MAAA,EAAQE,SAAA;QAAWD,QAAA,EAAUH,CAAA,CAAE1C,KAAK,CAACQ;MAAM;IACtD;IAEA,OAAO;MAAEoC,MAAA,EAAQT,CAAA,CAAE;MAAiBU,QAAA,EAAUV,CAAA,CAAE;IAAe;EACjE;EAEA,MAAMQ,MAAA,GAASF,SAAA,CAAU1C,KAAA;EAEzB,MAAMgD,gBAAA,GAAmBxF,WAAA,CACvB,CAACyF,KAAA,EAAOC,OAAA;IACN;IACA,IAAI,CAACX,oBAAA,IAAwBU,KAAA,KAAU,MAAM;MAC3C,OAAO;IACT;IAEA,IAAI,OAAO3B,QAAA,KAAa,YAAY;MAClC,OAAOA,QAAA,CAAS2B,KAAA,EAAO;QAAE,GAAGC,OAAO;QAAEvC,OAAA;QAASC,OAAA;QAASE;MAAS;IAClE;EACF,GACA,CAACH,OAAA,EAASC,OAAA,EAASE,QAAA,EAAUQ,QAAA,EAAUiB,oBAAA,CAAqB;EAG9D,MAAM;IACJY,gBAAA,EAAkB;MAAEC,UAAU;MAAEC,WAAW;MAAEC,WAAW;MAAEC,KAAK;MAAEC;IAAK,CAAE,GAAG,CAAC,CAAC;IAC7EC,QAAQ;IACRC,UAAU;IACV1C,IAAI;IACJ2C,IAAA,GAAO,EAAE;IACTC,SAAS;IACTC,KAAK;IACLZ,KAAK,EAALA;EAAK,CACN,GAAG9D,QAAA,CAAiB;IACnB2E,OAAA,EAAS;IACTC,oBAAA,EAAsB9C,aAAA;IACtBK,QAAA,EAAU0B;EACZ;EAEA,MAAMgB,WAAA,GAAcvG,KAAA;EACpB,MAAMwG,cAAA,GAAiBvG,OAAA,CAAQ,MAAM,UAAUsG,WAAA,EAAa,EAAE,CAACA,WAAA,CAAY;EAE3E,MAAME,MAAA,GAAS1G,WAAA,CACZ2G,QAAA;IACC3C,WAAA,CAAY;MACVR,IAAA;MACAmD,QAAA;MACA/C;IACF;IAEAgD,UAAA,CAAW;MACT1E,UAAA,CAAW,GAAGuE,cAAA,QAAsBE,QAAA,EAAU;IAChD,GAAG;EACL,GACA,CAAC3C,WAAA,EAAaR,IAAA,EAAMI,UAAA,EAAY6C,cAAA,CAAe;EAGjD,MAAMI,YAAA,GAAe7G,WAAA,CAClB2G,UAAA;IACC1C,cAAA,CAAe;MAAEtB,IAAA,EAAM;MAAiBa,IAAA;MAAMmD,QAAA,EAAAA;IAAS;IAEvDrC,WAAA,CAAY;IAEZsC,UAAA,CAAW;MACT1E,UAAA,CAAW,GAAGuE,cAAA,QAAsBE,UAAA,EAAU;IAChD,GAAG;EACL,GACA,CAAC1C,cAAA,EAAgBT,IAAA,EAAMiD,cAAA,EAAgBnC,WAAA,CAAY;EAGrD,MAAMwC,SAAA,GAAY9G,WAAA,CACf2G,UAAA;IACCvC,cAAA,CAAe;MAAEZ,IAAA;MAAMmD,QAAA,EAAAA;IAAS;EAClC,GACA,CAACvC,cAAA,EAAgBZ,IAAA,CAAK;EAGxB,MAAMuD,OAAA,GAAU/G,WAAA,CACd,CAACgH,aAAA,EAAuBC,WAAA;IACtB9C,YAAA,CAAa;MACX6C,aAAA;MACAC,WAAA;MACAzD;IACF;EACF,GACA,CAACA,IAAA,EAAMW,YAAA,CAAa;EAGtB,MAAM+C,iBAAA,GAAoBlH,WAAA,CACvBmH,SAAA;IACC,MAAM;MAAEC,YAAY;MAAEC;IAAW,CAAE,GAAG7F,aAAA,CAAc;MAClD2F,SAAA;MACAhB;IACF;IACApC,sBAAA,CAAuBP,IAAA,EAAM;MAAE2D,SAAA,EAAWC;IAAa;IACvDnD,cAAA,CAAe;MAAEtB,IAAA,EAAM;MAA0Ba,IAAA;MAAM6D;IAAY;EACrE,GACA,CAACpD,cAAA,EAAgBT,IAAA,EAAM2C,IAAA,EAAMpC,sBAAA,CAAuB;EAGtD,MAAMuD,WAAA,GAActH,WAAA,CAClB,CAACuH,KAAA,EAAeJ,WAAA;IACd,MAAM;MAAEC,YAAY,EAAZA,cAAY;MAAEC,WAAW,EAAXA;IAAW,CAAE,GAAG9F,0BAAA,CAA2B;MAC/D4F,SAAA,EAAAA,WAAA;MACAI,KAAA;MACApB;IACF;IAEAlC,cAAA,CAAe;MAAEtB,IAAA,EAAM;MAAqBa,IAAA;MAAM6D,WAAA,EAAAA;IAAY;IAC9DtD,sBAAA,CAAuBP,IAAA,EAAM;MAAE2D,SAAA,EAAWC;IAAa;EACzD,GACA,CAACnD,cAAA,EAAgBT,IAAA,EAAM2C,IAAA,EAAMpC,sBAAA,CAAuB;EAGtD,MAAMyD,OAAA,GAAUxH,WAAA,CACb2G,UAAA;IACC,MAAMc,SAAA,GAAY;MAAE,GAAGvD,SAAA;IAAY;IACnC,MAAMwD,eAAA,GAAkBpH,aAAA,CAAc;MACpCqC,IAAA;MACAK,MAAA;MACA2E,aAAA,EAAeA,CAAA,KACbhH,qBAAA,CAAsB;QACpB8G,SAAA;QACAjE,IAAA;QACAmD,QAAA,EAAAA;MACF;MACFnD,IAAA;MACAmD,QAAA,EAAAA,UAAA;MACA/B;IACF;IAEA,IAAI,OAAO8C,eAAA,KAAoB,UAAU;MACvCvH,KAAA,CAAMyH,KAAK,CAACF,eAAA;IACd,OAAO;MACLvH,KAAA,CAAM0H,OAAO,CAACjD,CAAA,CAAE;IAClB;EACF,GACA,CAAC5B,MAAA,EAAQkB,SAAA,EAAWV,IAAA,EAAMoB,CAAA,EAAGjC,IAAA,CAAK;EAGpC,MAAMmF,QAAA,GAAW9H,WAAA,CACd2G,UAAA;IACC,MAAMoB,SAAA,GAAY;MAChBC,OAAA,EAAUC,iBAAA;QACR,MAAMR,WAAA,GAAY;UAAE,GAAGvD,SAAA;QAAY;QACnC,MAAMgE,QAAA,GAAWxH,2BAAA,CAA4B;UAC3CuH,iBAAA;UACAR,SAAA,EAAAA,WAAA;UACAjE,IAAA;UACAmD,QAAA,EAAAA;QACF;QACAtC,YAAA,CAAa6D,QAAA;QACb5D,WAAA,CAAY;MACd;MACAd,IAAA;MACA2E,YAAA,EAAcnF,MAAA;MACd4B;IACF;IAEA,MAAM8C,iBAAA,GAAkBnH,cAAA,CAAewH,SAAA;IAEvC,IAAI,OAAOL,iBAAA,KAAoB,UAAU;MACvCvH,KAAA,CAAMyH,KAAK,CAACF,iBAAA;IACd;EACF,GACA,CAAC1E,MAAA,EAAQkB,SAAA,EAAWV,IAAA,EAAMa,YAAA,EAAcC,WAAA,EAAaM,CAAA,CAAE;EAGzD,MAAMwD,aAAA,GAAgBpI,WAAA,CACnB2G,UAAA;IACC,MAAMoB,WAAA,GAAY;MAChBC,OAAA,EAAUC,mBAAA;QACR,MAAMR,WAAA,GAAY;UAAE,GAAGvD,SAAA;QAAY;QACnC,MAAMgE,UAAA,GAAWzH,sBAAA,CAAuB;UACtCwH,iBAAA,EAAAA,mBAAA;UACAR,SAAA,EAAAA,WAAA;UACAjE,IAAA;UACAmD,QAAA,EAAUA,UAAA,GAAW;QACvB;QACAtC,YAAA,CAAa6D,UAAA;QACb5D,WAAA,CAAY;QAEZsC,UAAA,CAAW;UACT1E,UAAA,CAAW,GAAGuE,cAAA,QAAsBE,UAAA,GAAW,GAAG;QACpD,GAAG;MACL;MACAnD,IAAA;MACA2E,YAAA,EAAcnF,MAAA;MACd4B;IACF;IAEA,MAAM8C,iBAAA,GAAkBnH,cAAA,CAAewH,WAAA;IAEvC,IAAI,OAAOL,iBAAA,KAAoB,UAAU;MACvCvH,KAAA,CAAMyH,KAAK,CAACF,iBAAA;IACd;EACF,GACA,CAAC1E,MAAA,EAAQkB,SAAA,EAAWV,IAAA,EAAMa,YAAA,EAAcoC,cAAA,EAAgBnC,WAAA,EAAaM,CAAA,CAAE;EAGzE,MAAMyD,UAAA,GAAarI,WAAA,CAChBiI,mBAAA;IACC,MAAMR,WAAA,GAAY;MAAE,GAAGvD,SAAA;IAAY;IACnC,MAAMgE,UAAA,GAAWxH,2BAAA,CAA4B;MAC3CuH,iBAAA,EAAAA,mBAAA;MACAR,SAAA,EAAAA,WAAA;MACAjE;IACF;IACAa,YAAA,CAAa6D,UAAA;IACb5D,WAAA,CAAY;EACd,GACA,CAACJ,SAAA,EAAWV,IAAA,EAAMa,YAAA,EAAcC,WAAA,CAAY;EAG9C,MAAMqD,aAAA,GAAgB3H,WAAA,CACpB,MACEW,qBAAA,CAAsB;IACpB8G,SAAA,EAAW;MAAE,GAAGvD,SAAA;IAAY;IAC5BV;EACF,IACF,CAACU,SAAA,EAAWV,IAAA,CAAK;EAGnB,MAAM8E,UAAA,GAAanF,OAAA,IAAWgD,IAAA,CAAKoC,MAAM,IAAIpF,OAAA;EAE7C,MAAMqF,eAAA,GAAkBtC,UAAA,CAAWqC,MAAM;EACzC,MAAME,cAAA,GAAiBlE,SAAA,KAAciE,eAAA,GAAkB,KAAK,CAACnC,KAAI;EACjE,MAAMqC,mBAAA,GAAsBF,eAAA,GAAkB,IAAIA,eAAA,GAAkBC,cAAA,GAAiB,IAAI;EAEzF,MAAME,YAAA,GAAe,CAAChF,QAAA,IAAYsC,QAAO,KAAME,IAAA,CAAKoC,MAAM,KAAK;EAC/D,MAAMK,WAAA,GAAczC,IAAC,CAAKoC,MAAM,IAAIpC,IAAA,CAAKoC,MAAM,GAAGnF,OAAA,IAAaE,QAAA,IAAY6C,IAAA,CAAKoC,MAAM,KAAK;EAC3F,MAAMM,uBAAA,GAA0B,CAACxC,KAAA,KAAUsC,YAAA,IAAgBC,WAAU;EACrE,MAAME,oBAAA,GAAuB1C,SAAA,IAAa,CAACyC,uBAAA;EAE3C,MAAME,MAAA,GAAS7I,OAAA,CAAQ,MAAMiC,gBAAA,CAAiBM,KAAA,GAAQ,CAACA,KAAA,CAAM;EAE7D,MAAMuG,iBAAA,GAAoBhJ,WAAA,CACvBiJ,QAAA;IACC,MAAMC,WAAA,GAAc/C,IAAA,CAAKgD,SAAS,CAAEC,GAAA,IAAQA,GAAA,CAAIC,EAAE,KAAKJ,QAAA;IACvD,IAAIC,WAAA,KAAgB,CAAC,GAAG;MACtB,OAAO;IACT;IAEA,oBACEI,IAAA,CAACxI,kBAAA;MACCyI,MAAA,eACED,IAAA,CAAC5H,QAAA;QACC8H,eAAA,EAAiBrD,IAAA,GAAO+C,WAAA,CAAY,EAAEvD,gBAAA,EAAkBjE,QAAA;QACxDuB,KAAA,EAAO,GAAGnD,cAAA,CAAemD,KAAA,EAAO0B,IAAA,KAAS8E,MAAA,CAAOP,WAAA,GAAc,GAAGQ,QAAQ,CAAC,GAAG,MAAM;QACnFlG,IAAA,EAAM,GAAGA,IAAA,IAAQ0F,WAAA,EAAa;QAC9BS,SAAA,EAAWT;;;EAKrB,GACA,CAAC/C,IAAA,EAAMlD,KAAA,EAAO0B,IAAA,EAAMnB,IAAA,CAAK;EAG3B,oBACEoG,KAAA,CAAC;IACC/G,SAAA,EAAW,CACTT,cAAA,EACAE,SAAA,EACAO,SAAA,EACA4F,cAAA,GAAiB,GAAGnG,SAAA,aAAsB,GAAG,GAAGA,SAAA,gBAAyB,CAC1E,CACEuH,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;IACRV,EAAA,EAAI,SAAS7F,IAAA,CAAKwG,OAAO,CAAC,OAAO,OAAO;IACxCC,KAAA,EAAOlB,MAAA;eAEND,oBAAA,iBACCQ,IAAA,CAACrI,qBAAA;MACCuI,eAAA,EAAiBzD,KAAA;MACjBmE,QAAA,eAAUZ,IAAA,CAACnI,UAAA;QAAWqC,IAAA,EAAMA,IAAA;QAAM4C,SAAA,EAAWA;;qBAGjDwD,KAAA,CAAC;MAAO/G,SAAA,EAAW,GAAGP,SAAA,UAAmB;8BACvCsH,KAAA,CAAC;QAAI/G,SAAA,EAAW,GAAGP,SAAA,eAAwB;gCACzCsH,KAAA,CAAC;UAAI/G,SAAA,EAAW,GAAGP,SAAA,kBAA2B;kCAC5CgH,IAAA,CAAC;YAAGzG,SAAA,EAAW,GAAGP,SAAA,SAAkB;sBAClC,aAAAgH,IAAA,CAACrI,qBAAA;cACCuI,eAAA,EAAiBxD,KAAA;cACjBkE,QAAA,eACEZ,IAAA,CAAClI,UAAA;gBACC+I,EAAA,EAAG;gBACHlH,KAAA,EAAOA,KAAA;gBACPC,SAAA,EAAWA,SAAA;gBACXM,IAAA,EAAMA,IAAA;gBACNF,QAAA,EAAUA;;;cAKjBoF,mBAAA,GAAsB,kBACrBY,IAAA,CAACtI,SAAA;YAAUoJ,KAAA,EAAO1B,mBAAA;YAAqB/D,IAAA,EAAMA,IAAA;YAAM0F,WAAW;;yBAGlET,KAAA,CAAC;UAAG/G,SAAA,EAAW,GAAGP,SAAA,kBAA2B;qBAC1C6D,IAAA,EAAMoC,MAAA,GAAS,kBAAKe,IAAA,CAAC1I,iBAAA;YAAkB0J,OAAA,EAASpD;2BACjDoC,IAAA,CAAC;sBACC,aAAAA,IAAA,CAAC9I,eAAA;cACC+J,SAAA,EAAWpE,IAAA,EAAMoC,MAAA,GAAS;cAC1BiC,UAAA,EAAY,CAAC7G,QAAA;cACbd,SAAA,EAAW,GAAGP,SAAA,iBAA0B;cACxC2D,QAAA,EAAUA,QAAA;cACVjD,MAAA,EAAQA,MAAA;cACR2E,aAAA,EAAeA,aAAA;cACfK,OAAA,EAASK,UAAA;cACT7E,IAAA,EAAMA,IAAA;cACNb,IAAA,EAAMA;;;;uBAKd2G,IAAA,CAACrI,qBAAA;QACCuI,eAAA,EAAiB1D,WAAA;QACjBoE,QAAA,eAAUZ,IAAA,CAACpI,gBAAA;UAAiB4B,WAAA,EAAaA,WAAA;UAAaU,IAAA,EAAMA;;;qBAGhE8F,IAAA,CAAC7H,kBAAA;MACCgJ,UAAA,EAAYhF,OAAA;MACZvC,SAAA,EAAWA,SAAA;MACXM,IAAA,EAAMA,IAAA;MACNG,QAAA,EAAUA;QAEXkC,WAAA,EACC,CAAAM,IAAA,EAAMoC,MAAA,GAAS,KAAM,CAAClC,KAAA,KAAUsC,YAAA,IAAgBC,WAAU,CAAE,kBAC5DgB,KAAA,CAAC7I,iBAAA;MACC8B,SAAA,EAAW,GAAGP,SAAA,kBAA2B;MACzCoI,GAAA,EAAKvE,IAAA,CAAKwE,GAAG,CAAEvB,KAAA,IAAQA,KAAA,CAAIC,EAAE;MAC7BuB,SAAA,EAAWA,CAAC;QAAE5D,aAAa,EAAbA,eAAa;QAAEC,WAAW,EAAXA;MAAW,CAAE,KAAKF,OAAA,CAAQC,eAAA,EAAeC,aAAA;MACtE+B,iBAAA,EAAmBjG,UAAA,IAAc,CAACY,QAAA,IAAY,CAACsC,QAAA,GAAW+C,iBAAA,GAAoBzD,SAAA;MAC9EsF,eAAA,EAAiBhL,2BAAA;iBAEhBsG,IAAA,CAAKwE,GAAG,CAAC,CAACG,OAAA,EAASC,CAAA;QAClB,MAAM;UAAE1B,EAAA,EAAI9B,OAAK;UAAEyD;QAAS,CAAE,GAAGF,OAAA;QAEjC,MAAMG,OAAA,GAAU,GAAGzH,IAAA,IAAQuH,CAAA,EAAG;QAE9B,MAAMG,aAAA,GAAgBhF,UAAA,EAAY2D,MAAA,CAAQsB,SAAA,IACxCA,SAAA,CAAUC,UAAU,CAACH,OAAA,GAAU,MAC/B1C,MAAA;QAEF,oBACEe,IAAA,CAACzI,qBAAA;UACCoF,QAAA,EAAUtC,QAAA,IAAYsC,QAAA,IAAY,CAAClD,UAAA;UACnCsG,EAAA,EAAI9B,OAAA;oBAGF8D,0BAAA,iBACA/B,IAAA,CAACjH,QAAA;YACE,GAAGgJ,0BAA0B;YAC9B3E,MAAA,EAAQA,MAAA;YACRc,OAAA,EAASA,OAAA;YACT8D,cAAA,EAAgBnF,IAAA,GAAO4E,CAAA,CAAE,EAAEpF,gBAAA,EAAkBjE,QAAA;YAC7CmF,YAAA,EAAcA,YAAA;YACd0E,UAAA,EAAYL,aAAA;YACZlI,MAAA,EAAQA,MAAA;YACRO,WAAA,EAAaA,WAAA;YACb+E,UAAA,EAAYA,UAAA;YACZ0C,SAAA,EAAWA,SAAA;YACXjI,UAAA,EAAYA,UAAA;YACZqC,MAAA,EAAQA,MAAA;YACR2B,OAAA,EAASA,OAAA;YACTyE,UAAA,EAAYhI,IAAA;YACZsE,QAAA,EAAUA,QAAA;YACVM,aAAA,EAAeA,aAAA;YACf5E,IAAA,EAAMyH,OAAA;YACNvH,WAAA,EAAaA,WAAA;YACbC,QAAA,EAAUA,QAAA,IAAYsC,QAAA;YACtBa,SAAA,EAAWA,SAAA;YACXsC,GAAA,EAAK0B,OAAA;YACLW,QAAA,EAAUtF,IAAA,EAAMoC,MAAA;YAChB5B,QAAA,EAAUoE,CAAA;YACVnH,UAAA,EAAYA,UAAA;YACZ6C,cAAA,EAAgBA,cAAA;YAChBa,WAAA,EAAaA;;WA7BZC,OAAA;MAkCX,IACC,CAAClB,KAAA,iBACAuD,KAAA,CAAC7J,KAAA,CAAM2L,QAAQ;mBACZ/C,YAAA,iBACCW,IAAA,CAAClJ,MAAA;oBACEwE,CAAA,CAAE,yBAAyB;YAAE3B,KAAA,EAAOnD,cAAA,CAAesF,MAAA,CAAOC,MAAM,EAAEV,IAAA;UAAM;YAG5EiE,WAAA,iBACCU,IAAA,CAAClJ,MAAA;UAAOuC,IAAA,EAAK;oBACViC,CAAA,CAAE,8BAA8B;YAC/BwF,KAAA,EAAOhH,OAAA;YACPH,KAAA,EACEnD,cAAA,CAAesD,OAAA,GAAU,IAAIgC,MAAA,CAAOC,MAAM,GAAGD,MAAA,CAAOE,QAAQ,EAAEX,IAAA,KAC9DC,CAAA,CAAExB,OAAA,GAAU,IAAI,iBAAiB;UACrC;;;QAOX,CAACkF,UAAA,IAAc,CAAC3E,QAAA,iBACf2F,IAAA,CAACjJ,MAAA;MACCsL,WAAA,EAAY;MACZ9I,SAAA,EAAW,GAAGP,SAAA,WAAoB;MAClC2D,QAAA,EAAUA,QAAA;MACV2F,IAAA,eAAMtC,IAAA,CAACzH,cAAA;MACPgK,YAAA,EAAa;MACbvB,OAAA,EAASA,CAAA;QACP,KAAK5D,MAAA,CAAOjB,OAAA,IAAS;MACvB;gBAECb,CAAA,CAAE,mBAAmB;QAAE3B,KAAA,EAAOnD,cAAA,CAAesF,MAAA,CAAOE,QAAQ,EAAEX,IAAA;MAAM;QAGxEiB,UAAA;;AAGP;AAEA,OAAO,MAAMkG,UAAA,GAAalK,aAAA,CAAcW,mBAAA","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","useRowFocus","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","currentLocale","locale","code","rowsID","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","fieldRef","focusRow","addRow","rowIndex","split","join","duplicateRow","setTimeout","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","replace","ref","style","Fallback","as","count","withMessage","controls","isExpanded","some","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 { ArrayFieldClientProps, ArrayField as ArrayFieldType } 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 { useRowFocus } from '../shared/useRowFocus.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.css'\n\nconst baseClass = 'array-field'\n\nexport const ArrayFieldComponent: React.FC<ArrayFieldClientProps> = (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 currentLocale = useLocale()\n const locale = currentLocale?.code\n const rowsID = useId()\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 const { fieldRef, focusRow } = useRowFocus()\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n focusRow(`${path.split('.').join('-')}-row-${rowIndex}`)\n },\n [addFieldRow, focusRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${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 ref={fieldRef}\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 && (\n <CollapseAllToggle\n controls={rowsID}\n isExpanded={rows.some((row) => !row.collapsed)}\n label={getTranslation(label || labels?.plural || name, i18n)}\n onClick={toggleCollapseAll}\n />\n )}\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 id={rowsID}\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":[]}
@@ -20,10 +20,9 @@
20
20
 
21
21
  .section-title:after,
22
22
  .section-title__input {
23
- font-family: var(--text-body-medium-strong-font-family);
24
- font-weight: var(--text-body-medium-strong-font-weight);
25
- font-size: var(--text-body-medium-strong-font-size);
26
- line-height: var(--text-body-medium-strong-line-height);
23
+ font-weight: var(--text-body-medium-bold-font-weight);
24
+ font-size: var(--text-body-medium-bold-font-size);
25
+ line-height: var(--text-body-medium-bold-line-height);
27
26
  letter-spacing: var(--text-body-medium-letter-spacing);
28
27
  padding: 0 var(--spacer-1);
29
28
  width: 100%;
@@ -36,7 +35,6 @@
36
35
 
37
36
  &::placeholder {
38
37
  color: var(--color-text-tertiary);
39
- font-family: var(--text-body-medium-font-family);
40
38
  font-weight: var(--text-body-medium-font-weight);
41
39
  }
42
40
  min-width: min-content;
@@ -87,7 +87,7 @@
87
87
  .blocks-field__title {
88
88
  margin-bottom: 0;
89
89
  color: var(--color-text);
90
- font-weight: var(--text-body-medium-strong-font-weight);
90
+ font-weight: var(--text-body-medium-bold-font-weight);
91
91
  }
92
92
 
93
93
  .blocks-field__block-header {
@@ -108,7 +108,7 @@
108
108
 
109
109
  .blocks-field__block-number {
110
110
  flex-shrink: 0;
111
- color: var(--color-text);
111
+ color: var(--color-text-secondary);
112
112
  }
113
113
 
114
114
  .blocks-field__block-pill {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAe,MAAM,SAAS,CAAA;AAIlE,OAAO,KAAyC,MAAM,OAAO,CAAA;AAiC7D,OAAO,aAAa,CAAA;AA+iBpB,eAAO,MAAM,WAAW,kCAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAe,MAAM,SAAS,CAAA;AAIlE,OAAO,KAAgD,MAAM,OAAO,CAAA;AAiCpE,OAAO,aAAa,CAAA;AA0jBpB,eAAO,MAAM,WAAW,kCAAsC,CAAA"}
@@ -3,7 +3,7 @@
3
3
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
4
4
  import { verticalListSortingStrategy } from '@dnd-kit/sortable';
5
5
  import { getTranslation } from '@payloadcms/translations';
6
- import React, { Fragment, useCallback, useMemo } from 'react';
6
+ import React, { Fragment, useCallback, useId, useMemo } from 'react';
7
7
  import { toast } from 'sonner';
8
8
  import { Banner } from '../../elements/Banner/index.js';
9
9
  import { Button } from '../../elements/Button/index.js';
@@ -37,10 +37,12 @@ import { FieldError } from '../FieldError/index.js';
37
37
  import { FieldLabel } from '../FieldLabel/index.js';
38
38
  import { mergeFieldStyles } from '../mergeFieldStyles.js';
39
39
  import { fieldBaseClass } from '../shared/index.js';
40
+ import { useRowFocus } from '../shared/useRowFocus.js';
40
41
  import { BlockRow } from './BlockRow.js';
41
42
  import { BlocksDrawer } from './BlocksDrawer/index.js';
42
43
  const baseClass = 'blocks-field';
43
44
  const BlocksFieldComponent = props => {
45
+ const rowsID = useId();
44
46
  const {
45
47
  i18n,
46
48
  t
@@ -167,6 +169,10 @@ const BlocksFieldComponent = props => {
167
169
  };
168
170
  }, [blocks, blocksFilterOptions, config.blocksMap]);
169
171
  const getBlockConfig = blockType => config.blocksMap[blockType] ?? clientBlocks.find(block_1 => block_1.slug === blockType);
172
+ const {
173
+ fieldRef,
174
+ focusRow
175
+ } = useRowFocus();
170
176
  const addRow = useCallback((rowIndex, blockType_0) => {
171
177
  addFieldRow({
172
178
  blockType: blockType_0,
@@ -174,10 +180,8 @@ const BlocksFieldComponent = props => {
174
180
  rowIndex,
175
181
  schemaPath
176
182
  });
177
- setTimeout(() => {
178
- scrollToID(`${path}-row-${rowIndex + 1}`);
179
- }, 0);
180
- }, [addFieldRow, path, schemaPath]);
183
+ focusRow(`${path.split('.').join('-')}-row-${rowIndex}`);
184
+ }, [addFieldRow, focusRow, path, schemaPath]);
181
185
  const duplicateRow = useCallback(rowIndex_0 => {
182
186
  dispatchFields({
183
187
  type: 'DUPLICATE_ROW',
@@ -370,6 +374,7 @@ const BlocksFieldComponent = props => {
370
374
  return /*#__PURE__*/_jsxs("div", {
371
375
  className: [fieldBaseClass, baseClass, className, fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`].filter(Boolean).join(' '),
372
376
  id: `field-${path?.replace(/\./g, '__')}`,
377
+ ref: fieldRef,
373
378
  style: styles,
374
379
  children: [shouldShowFieldError && /*#__PURE__*/_jsx(RenderCustomComponent, {
375
380
  CustomComponent: Error,
@@ -403,6 +408,9 @@ const BlocksFieldComponent = props => {
403
408
  }), /*#__PURE__*/_jsxs("ul", {
404
409
  className: `${baseClass}__header-actions`,
405
410
  children: [rows.length > 0 && /*#__PURE__*/_jsx(CollapseAllToggle, {
411
+ controls: rowsID,
412
+ isExpanded: rows.some(row_0 => !row_0.collapsed),
413
+ label: getTranslation(label || labels?.plural || name, i18n),
406
414
  onClick: toggleCollapseAll
407
415
  }), /*#__PURE__*/_jsx("li", {
408
416
  children: /*#__PURE__*/_jsx(ClipboardAction, {
@@ -437,25 +445,26 @@ const BlocksFieldComponent = props => {
437
445
  readOnly: readOnly
438
446
  }), (rows.length > 0 || !valid && (showRequired || showMinRows)) && /*#__PURE__*/_jsxs(DraggableSortable, {
439
447
  className: `${baseClass}__rows`,
440
- ids: rows.map(row_0 => row_0.id),
448
+ id: rowsID,
449
+ ids: rows.map(row_1 => row_1.id),
441
450
  onDragEnd: ({
442
451
  moveFromIndex: moveFromIndex_0,
443
452
  moveToIndex: moveToIndex_0
444
453
  }) => moveRow(moveFromIndex_0, moveToIndex_0),
445
454
  renderDragOverlay: isSortable && !readOnly && !disabled ? renderDragOverlay : undefined,
446
455
  sortingStrategy: verticalListSortingStrategy,
447
- children: [rows.map((row_1, i) => {
456
+ children: [rows.map((row_2, i) => {
448
457
  const {
449
458
  blockType: blockType_1,
450
459
  isLoading
451
- } = row_1;
460
+ } = row_2;
452
461
  const blockConfig_0 = getBlockConfig(blockType_1);
453
462
  if (blockConfig_0) {
454
463
  const rowPath = `${path}.${i}`;
455
464
  const rowErrorCount = errorPaths.filter(errorPath => errorPath.startsWith(rowPath + '.')).length;
456
465
  return /*#__PURE__*/_jsx(DraggableSortableItem, {
457
466
  disabled: readOnly || disabled || !isSortable,
458
- id: row_1.id,
467
+ id: row_2.id,
459
468
  children: draggableSortableItemProps => /*#__PURE__*/_jsx(BlockRow, {
460
469
  ...draggableSortableItemProps,
461
470
  addRow: addRow,
@@ -479,13 +488,13 @@ const BlocksFieldComponent = props => {
479
488
  permissions: permissions,
480
489
  readOnly: readOnly || disabled,
481
490
  removeRow: removeRow,
482
- row: row_1,
491
+ row: row_2,
483
492
  rowCount: rows.length,
484
493
  rowIndex: i,
485
494
  schemaPath: schemaPath + blockConfig_0.slug,
486
495
  setCollapse: setCollapse
487
496
  })
488
- }, row_1.id);
497
+ }, row_2.id);
489
498
  }
490
499
  return null;
491
500
  }), !valid && /*#__PURE__*/_jsxs(React.Fragment, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["verticalListSortingStrategy","getTranslation","React","Fragment","useCallback","useMemo","toast","Banner","Button","clipboardCopy","clipboardPaste","ClipboardAction","insertRowFromClipboard","mergeFormStateFromClipboard","reduceFormStateByPath","CollapseAllToggle","DraggableSortableItem","DragOverlayPreview","DraggableSortable","DrawerToggler","useDrawerSlug","ErrorPill","Pill","RenderCustomComponent","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","RowLabel","useField","withCondition","CirclePlusIcon","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","BlockRow","BlocksDrawer","baseClass","BlocksFieldComponent","props","i18n","t","field","name","type","admin","className","description","isSortable","blocks","label","labels","labelsFromProps","localized","maxRows","minRows","minRowsProp","required","path","pathFromProps","permissions","readOnly","schemaPath","schemaPathFromProps","validate","setDocFieldPreferences","addFieldRow","dispatchFields","getFields","moveFieldRow","removeFieldRow","replaceState","setModified","currentLocale","locale","code","config","localization","drawerSlug","submitted","plural","singular","editingDefaultLocale","fallback","defaultLocale","memoizedValidate","value","options","blocksFilterOptions","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","errorPaths","rows","showError","valid","hasRows","potentiallyStalePath","clientBlocks","clientBlocksAfterFilter","resolvedBlocks","blockOrSlug","block","blocksMap","push","Array","isArray","filter","blockSlug","slug","includes","getBlockConfig","blockType","find","addRow","rowIndex","setTimeout","duplicateRow","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","collapsedIDs","updatedRows","setCollapse","rowID","copyRow","clipboardResult","getDataToCopy","formState","error","success","pasteRow","pasteArgs","onPaste","dataFromClipboard","newState","schemaBlocks","pasteRowBelow","split","join","pasteBlocks","hasMaxRows","length","fieldErrorCount","fieldHasErrors","displayedErrorCount","showMinRows","showRequired","shouldShowSummaryBanner","shouldShowFieldError","styles","renderDragOverlay","activeId","activeIndex","findIndex","row","id","activeRow","blockConfig","showBlockName","disableBlockName","blockName","undefined","_jsx","header","CustomComponent","_jsxs","_Fragment","String","padStart","pillStyle","size","rowNumber","Boolean","replace","style","Fallback","as","count","withMessage","onClick","allowCopy","allowPaste","fieldValue","ids","map","onDragEnd","sortingStrategy","i","isLoading","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","errorCount","fields","parentPath","rowCount","buttonStyle","el","icon","iconPosition","addRowIndex","BlocksField"],"sources":["../../../src/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlocksFieldClientProps, ClientBlock } from 'payload'\n\nimport { verticalListSortingStrategy } from '@dnd-kit/sortable'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, 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 { DrawerToggler } from '../../elements/Drawer/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/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 './index.css'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\n\nconst baseClass = 'blocks-field'\n\nconst BlocksFieldComponent: React.FC<BlocksFieldClientProps> = (props) => {\n const { i18n, t } = useTranslation()\n\n const {\n field,\n field: {\n name,\n type,\n admin: { className, description, isSortable = true } = {},\n blocks,\n label,\n labels: labelsFromProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\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 currentLocale = useLocale()\n const locale = currentLocale?.code\n const {\n config: { localization },\n config,\n } = useConfig()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n const submitted = useFormSubmitted()\n\n const labels = {\n plural: t('fields:blocks'),\n singular: t('fields:block'),\n ...labelsFromProps,\n }\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 const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\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 blocksFilterOptions,\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 { clientBlocks, clientBlocksAfterFilter } = useMemo(() => {\n const resolvedBlocks: ClientBlock[] = []\n\n for (const blockOrSlug of blocks) {\n const block = typeof blockOrSlug === 'string' ? config.blocksMap[blockOrSlug] : blockOrSlug\n if (block) {\n resolvedBlocks.push(block)\n }\n }\n\n if (Array.isArray(blocksFilterOptions)) {\n const clientBlocksAfterFilter = resolvedBlocks.filter((block) => {\n const blockSlug = typeof block === 'string' ? block : block.slug\n return blocksFilterOptions.includes(blockSlug)\n })\n\n return {\n clientBlocks: resolvedBlocks,\n clientBlocksAfterFilter,\n }\n }\n return {\n clientBlocks: resolvedBlocks,\n clientBlocksAfterFilter: resolvedBlocks,\n }\n }, [blocks, blocksFilterOptions, config.blocksMap])\n\n const getBlockConfig = (blockType: string): ClientBlock | undefined =>\n config.blocksMap[blockType] ?? clientBlocks.find((block) => block.slug === blockType)\n\n const addRow = useCallback(\n (rowIndex: number, blockType: string) => {\n addFieldRow({\n blockType,\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n removeFieldRow({\n path,\n rowIndex,\n })\n },\n [path, removeFieldRow],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n moveFieldRow({ moveFromIndex, moveToIndex, path })\n },\n [moveFieldRow, path],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows,\n })\n\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\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 clipboardResult = clipboardCopy({\n type,\n blocks: clientBlocks,\n getDataToCopy: () =>\n reduceFormStateByPath({\n formState: { ...getFields() },\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 [clientBlocks, path, t, type, getFields],\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 schemaBlocks: clientBlocks,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [clientBlocks, 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(`${path?.split('.').join('-')}-row-${rowIndex + 1}`)\n }, 0)\n },\n path,\n schemaBlocks: clientBlocks,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [clientBlocks, getFields, path, replaceState, setModified, t],\n )\n\n const pasteBlocks = 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 hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && fieldErrorCount + (valid ? 0 : 1) > 0\n const displayedErrorCount = fieldErrorCount > 0 ? fieldErrorCount : fieldHasErrors ? 1 : 0\n\n const showMinRows = rows.length < minRows || (required && rows.length === 0)\n const showRequired = readOnly && 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 const activeRow = rows[activeIndex]\n const blockConfig = getBlockConfig(activeRow.blockType)\n\n if (!blockConfig) {\n return null\n }\n\n const showBlockName = !blockConfig.admin?.disableBlockName\n const blockName = showBlockName\n ? (getFields()?.[`${path}.${activeIndex}.blockName`]?.value as string)\n : undefined\n\n return (\n <DragOverlayPreview\n header={\n <div className={`${baseClass}__block-header`}>\n <RowLabel\n CustomComponent={rows?.[activeIndex]?.customComponents?.RowLabel}\n label={\n <>\n <span className={`${baseClass}__block-number`}>\n {String(activeIndex + 1).padStart(2, '0')}\n </span>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${activeRow.blockType}`}\n pillStyle=\"white\"\n size=\"small\"\n >\n {getTranslation(blockConfig.labels.singular, i18n)}\n </Pill>\n {blockName && <span className=\"section-title__text\">{blockName}</span>}\n </>\n }\n path={`${path}.${activeIndex}`}\n rowNumber={activeIndex}\n />\n </div>\n }\n />\n )\n },\n [rows, config.blocksMap, clientBlocks, i18n, path, getFields],\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 blocks={clientBlocks}\n className={`${baseClass}__header-action`}\n disabled={disabled}\n getDataToCopy={() =>\n reduceFormStateByPath({\n formState: { ...getFields() },\n path,\n })\n }\n onPaste={pasteBlocks}\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 {BeforeInput}\n <NullifyLocaleField\n fieldValue={value}\n localized={localized}\n path={path}\n readOnly={readOnly}\n />\n {(rows.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__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((row, i) => {\n const { blockType, isLoading } = row\n\n const blockConfig = getBlockConfig(blockType)\n\n if (blockConfig) {\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={row.id}\n key={row.id}\n >\n {(draggableSortableItemProps) => (\n <BlockRow\n {...draggableSortableItemProps}\n addRow={addRow}\n block={blockConfig}\n // Pass all blocks, not just clientBlocksAfterFilter, as existing blocks should still be displayed even if they don't match the new filter\n blocks={clientBlocks}\n copyRow={copyRow}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={blockConfig.fields}\n hasMaxRows={hasMaxRows}\n isLoading={isLoading}\n isSortable={isSortable}\n Label={rows?.[i]?.customComponents?.RowLabel}\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={row}\n rowCount={rows.length}\n rowIndex={i}\n schemaPath={schemaPath + blockConfig.slug}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n }\n\n return null\n })}\n {!valid && (\n <React.Fragment>\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:row' : 'general:rows'),\n })}\n </Banner>\n )}\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && !readOnly && (\n <Fragment>\n <DrawerToggler\n className={`${baseClass}__drawer-toggler`}\n disabled={disabled}\n slug={drawerSlug}\n >\n <Button\n buttonStyle=\"ghost\"\n disabled={disabled}\n el=\"span\"\n icon={<CirclePlusIcon />}\n iconPosition=\"left\"\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n </DrawerToggler>\n <BlocksDrawer\n addRow={addRow}\n addRowIndex={rows?.length || 0}\n // Only allow choosing filtered blocks\n blocks={clientBlocksAfterFilter}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n </Fragment>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const BlocksField = withCondition(BlocksFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["verticalListSortingStrategy","getTranslation","React","Fragment","useCallback","useId","useMemo","toast","Banner","Button","clipboardCopy","clipboardPaste","ClipboardAction","insertRowFromClipboard","mergeFormStateFromClipboard","reduceFormStateByPath","CollapseAllToggle","DraggableSortableItem","DragOverlayPreview","DraggableSortable","DrawerToggler","useDrawerSlug","ErrorPill","Pill","RenderCustomComponent","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","RowLabel","useField","withCondition","CirclePlusIcon","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","useRowFocus","BlockRow","BlocksDrawer","baseClass","BlocksFieldComponent","props","rowsID","i18n","t","field","name","type","admin","className","description","isSortable","blocks","label","labels","labelsFromProps","localized","maxRows","minRows","minRowsProp","required","path","pathFromProps","permissions","readOnly","schemaPath","schemaPathFromProps","validate","setDocFieldPreferences","addFieldRow","dispatchFields","getFields","moveFieldRow","removeFieldRow","replaceState","setModified","currentLocale","locale","code","config","localization","drawerSlug","submitted","plural","singular","editingDefaultLocale","fallback","defaultLocale","memoizedValidate","value","options","blocksFilterOptions","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","errorPaths","rows","showError","valid","hasRows","potentiallyStalePath","clientBlocks","clientBlocksAfterFilter","resolvedBlocks","blockOrSlug","block","blocksMap","push","Array","isArray","filter","blockSlug","slug","includes","getBlockConfig","blockType","find","fieldRef","focusRow","addRow","rowIndex","split","join","duplicateRow","setTimeout","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","collapsedIDs","updatedRows","setCollapse","rowID","copyRow","clipboardResult","getDataToCopy","formState","error","success","pasteRow","pasteArgs","onPaste","dataFromClipboard","newState","schemaBlocks","pasteRowBelow","pasteBlocks","hasMaxRows","length","fieldErrorCount","fieldHasErrors","displayedErrorCount","showMinRows","showRequired","shouldShowSummaryBanner","shouldShowFieldError","styles","renderDragOverlay","activeId","activeIndex","findIndex","row","id","activeRow","blockConfig","showBlockName","disableBlockName","blockName","undefined","_jsx","header","CustomComponent","_jsxs","_Fragment","String","padStart","pillStyle","size","rowNumber","Boolean","replace","ref","style","Fallback","as","count","withMessage","controls","isExpanded","some","onClick","allowCopy","allowPaste","fieldValue","ids","map","onDragEnd","sortingStrategy","i","isLoading","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","errorCount","fields","parentPath","rowCount","buttonStyle","el","icon","iconPosition","addRowIndex","BlocksField"],"sources":["../../../src/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlocksFieldClientProps, ClientBlock } 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 { DrawerToggler } from '../../elements/Drawer/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/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 './index.css'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { useRowFocus } from '../shared/useRowFocus.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\n\nconst baseClass = 'blocks-field'\n\nconst BlocksFieldComponent: React.FC<BlocksFieldClientProps> = (props) => {\n const rowsID = useId()\n const { i18n, t } = useTranslation()\n\n const {\n field,\n field: {\n name,\n type,\n admin: { className, description, isSortable = true } = {},\n blocks,\n label,\n labels: labelsFromProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\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 currentLocale = useLocale()\n const locale = currentLocale?.code\n const {\n config: { localization },\n config,\n } = useConfig()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n const submitted = useFormSubmitted()\n\n const labels = {\n plural: t('fields:blocks'),\n singular: t('fields:block'),\n ...labelsFromProps,\n }\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 const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\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 blocksFilterOptions,\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 { clientBlocks, clientBlocksAfterFilter } = useMemo(() => {\n const resolvedBlocks: ClientBlock[] = []\n\n for (const blockOrSlug of blocks) {\n const block = typeof blockOrSlug === 'string' ? config.blocksMap[blockOrSlug] : blockOrSlug\n if (block) {\n resolvedBlocks.push(block)\n }\n }\n\n if (Array.isArray(blocksFilterOptions)) {\n const clientBlocksAfterFilter = resolvedBlocks.filter((block) => {\n const blockSlug = typeof block === 'string' ? block : block.slug\n return blocksFilterOptions.includes(blockSlug)\n })\n\n return {\n clientBlocks: resolvedBlocks,\n clientBlocksAfterFilter,\n }\n }\n return {\n clientBlocks: resolvedBlocks,\n clientBlocksAfterFilter: resolvedBlocks,\n }\n }, [blocks, blocksFilterOptions, config.blocksMap])\n\n const getBlockConfig = (blockType: string): ClientBlock | undefined =>\n config.blocksMap[blockType] ?? clientBlocks.find((block) => block.slug === blockType)\n\n const { fieldRef, focusRow } = useRowFocus()\n\n const addRow = useCallback(\n (rowIndex: number, blockType: string) => {\n addFieldRow({\n blockType,\n path,\n rowIndex,\n schemaPath,\n })\n\n focusRow(`${path.split('.').join('-')}-row-${rowIndex}`)\n },\n [addFieldRow, focusRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n removeFieldRow({\n path,\n rowIndex,\n })\n },\n [path, removeFieldRow],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n moveFieldRow({ moveFromIndex, moveToIndex, path })\n },\n [moveFieldRow, path],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows,\n })\n\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\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 clipboardResult = clipboardCopy({\n type,\n blocks: clientBlocks,\n getDataToCopy: () =>\n reduceFormStateByPath({\n formState: { ...getFields() },\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 [clientBlocks, path, t, type, getFields],\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 schemaBlocks: clientBlocks,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [clientBlocks, 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(`${path?.split('.').join('-')}-row-${rowIndex + 1}`)\n }, 0)\n },\n path,\n schemaBlocks: clientBlocks,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [clientBlocks, getFields, path, replaceState, setModified, t],\n )\n\n const pasteBlocks = 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 hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && fieldErrorCount + (valid ? 0 : 1) > 0\n const displayedErrorCount = fieldErrorCount > 0 ? fieldErrorCount : fieldHasErrors ? 1 : 0\n\n const showMinRows = rows.length < minRows || (required && rows.length === 0)\n const showRequired = readOnly && 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 const activeRow = rows[activeIndex]\n const blockConfig = getBlockConfig(activeRow.blockType)\n\n if (!blockConfig) {\n return null\n }\n\n const showBlockName = !blockConfig.admin?.disableBlockName\n const blockName = showBlockName\n ? (getFields()?.[`${path}.${activeIndex}.blockName`]?.value as string)\n : undefined\n\n return (\n <DragOverlayPreview\n header={\n <div className={`${baseClass}__block-header`}>\n <RowLabel\n CustomComponent={rows?.[activeIndex]?.customComponents?.RowLabel}\n label={\n <>\n <span className={`${baseClass}__block-number`}>\n {String(activeIndex + 1).padStart(2, '0')}\n </span>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${activeRow.blockType}`}\n pillStyle=\"white\"\n size=\"small\"\n >\n {getTranslation(blockConfig.labels.singular, i18n)}\n </Pill>\n {blockName && <span className=\"section-title__text\">{blockName}</span>}\n </>\n }\n path={`${path}.${activeIndex}`}\n rowNumber={activeIndex}\n />\n </div>\n }\n />\n )\n },\n [rows, config.blocksMap, clientBlocks, i18n, path, getFields],\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 ref={fieldRef}\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 && (\n <CollapseAllToggle\n controls={rowsID}\n isExpanded={rows.some((row) => !row.collapsed)}\n label={getTranslation(label || labels?.plural || name, i18n)}\n onClick={toggleCollapseAll}\n />\n )}\n <li>\n <ClipboardAction\n allowCopy={rows?.length > 0}\n allowPaste={!readOnly}\n blocks={clientBlocks}\n className={`${baseClass}__header-action`}\n disabled={disabled}\n getDataToCopy={() =>\n reduceFormStateByPath({\n formState: { ...getFields() },\n path,\n })\n }\n onPaste={pasteBlocks}\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 {BeforeInput}\n <NullifyLocaleField\n fieldValue={value}\n localized={localized}\n path={path}\n readOnly={readOnly}\n />\n {(rows.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__rows`}\n id={rowsID}\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((row, i) => {\n const { blockType, isLoading } = row\n\n const blockConfig = getBlockConfig(blockType)\n\n if (blockConfig) {\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={row.id}\n key={row.id}\n >\n {(draggableSortableItemProps) => (\n <BlockRow\n {...draggableSortableItemProps}\n addRow={addRow}\n block={blockConfig}\n // Pass all blocks, not just clientBlocksAfterFilter, as existing blocks should still be displayed even if they don't match the new filter\n blocks={clientBlocks}\n copyRow={copyRow}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={blockConfig.fields}\n hasMaxRows={hasMaxRows}\n isLoading={isLoading}\n isSortable={isSortable}\n Label={rows?.[i]?.customComponents?.RowLabel}\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={row}\n rowCount={rows.length}\n rowIndex={i}\n schemaPath={schemaPath + blockConfig.slug}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n }\n\n return null\n })}\n {!valid && (\n <React.Fragment>\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:row' : 'general:rows'),\n })}\n </Banner>\n )}\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && !readOnly && (\n <Fragment>\n <DrawerToggler\n className={`${baseClass}__drawer-toggler`}\n disabled={disabled}\n slug={drawerSlug}\n >\n <Button\n buttonStyle=\"ghost\"\n disabled={disabled}\n el=\"span\"\n icon={<CirclePlusIcon />}\n iconPosition=\"left\"\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n </DrawerToggler>\n <BlocksDrawer\n addRow={addRow}\n addRowIndex={rows?.length || 0}\n // Only allow choosing filtered blocks\n blocks={clientBlocksAfterFilter}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n </Fragment>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const BlocksField = withCondition(BlocksFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -21,8 +21,8 @@ export type CheckboxInputProps = {
21
21
  readonly tooltip?: string;
22
22
  /**
23
23
  * Visual variant for the checkbox
24
- * - 'default': Dark border, transparent background (for form fields)
25
- * - 'muted': Light gray background and border (for tables)
24
+ * - 'default': Brand fill and an on-brand mark when checked (for form fields)
25
+ * - 'muted': Keeps the neutral surface when checked (for tables)
26
26
  */
27
27
  readonly variant?: 'default' | 'muted';
28
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Checkbox/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAqC,MAAM,OAAO,CAAA;AAQzD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IACvE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,cAAc,mBAAmB,CAAA;AAE9C,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0FtD,CAAA"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Checkbox/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAA0D,MAAM,OAAO,CAAA;AAM9E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IACvE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,cAAc,mBAAmB,CAAA;AAE9C,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA8HtD,CAAA"}