@payloadcms/ui 4.0.0-internal.a7ca468 → 4.0.0-internal.af6aad0

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 (558) hide show
  1. package/dist/elements/AddNewRelation/index.css +0 -4
  2. package/dist/elements/AddNewRelation/index.js +2 -2
  3. package/dist/elements/AddNewRelation/index.js.map +1 -1
  4. package/dist/elements/AppHeader/index.css +5 -0
  5. package/dist/elements/AppHeader/index.d.ts +1 -8
  6. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  7. package/dist/elements/AppHeader/index.js +4 -13
  8. package/dist/elements/AppHeader/index.js.map +1 -1
  9. package/dist/elements/ArrayAction/index.d.ts +1 -0
  10. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  11. package/dist/elements/ArrayAction/index.js +45 -32
  12. package/dist/elements/ArrayAction/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
  14. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  15. package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
  16. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  17. package/dist/elements/Button/index.css +25 -2
  18. package/dist/elements/Button/index.d.ts.map +1 -1
  19. package/dist/elements/Button/index.js +2 -0
  20. package/dist/elements/Button/index.js.map +1 -1
  21. package/dist/elements/Button/types.d.ts +1 -1
  22. package/dist/elements/Button/types.d.ts.map +1 -1
  23. package/dist/elements/Button/types.js.map +1 -1
  24. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  25. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  26. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
  27. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  28. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
  29. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  30. package/dist/elements/DefaultListViewTabs/index.css +1 -0
  31. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  32. package/dist/elements/DefaultListViewTabs/index.js +84 -62
  33. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  34. package/dist/elements/DocumentDrawer/types.d.ts +1 -1
  35. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  36. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  37. package/dist/elements/Drawer/index.css +10 -4
  38. package/dist/elements/Drawer/types.d.ts +2 -2
  39. package/dist/elements/Drawer/types.d.ts.map +1 -1
  40. package/dist/elements/Drawer/types.js.map +1 -1
  41. package/dist/elements/Dropzone/index.css +10 -4
  42. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  43. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  44. package/dist/elements/FileManager/index.css +0 -30
  45. package/dist/elements/FileManager/index.d.ts.map +1 -1
  46. package/dist/elements/FileManager/index.js +379 -287
  47. package/dist/elements/FileManager/index.js.map +1 -1
  48. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +22 -4
  49. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
  50. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +68 -49
  51. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  52. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +100 -15
  53. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  54. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +97 -137
  55. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  56. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
  57. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  58. package/dist/elements/Hierarchy/ColumnBrowser/index.js +51 -23
  59. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  60. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +26 -3
  61. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  62. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  63. package/dist/elements/Hierarchy/CreateNewButton/index.css +9 -0
  64. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts +9 -0
  65. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts.map +1 -0
  66. package/dist/elements/Hierarchy/CreateNewButton/index.js +111 -0
  67. package/dist/elements/Hierarchy/CreateNewButton/index.js.map +1 -0
  68. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  69. package/dist/elements/Hierarchy/DocHeaderButton/index.js +6 -1
  70. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  71. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +1 -3
  72. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
  73. package/dist/elements/Hierarchy/Field/index.client.d.ts +5 -0
  74. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  75. package/dist/elements/Hierarchy/Field/index.client.js +120 -95
  76. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  77. package/dist/elements/Hierarchy/Field/index.css +3 -34
  78. package/dist/elements/Hierarchy/Modal/Footer/index.css +45 -0
  79. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +28 -0
  80. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  81. package/dist/elements/Hierarchy/Modal/Footer/index.js +166 -0
  82. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  83. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +18 -4
  84. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  85. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +88 -24
  86. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  87. package/dist/elements/Hierarchy/Modal/index.css +4 -53
  88. package/dist/elements/Hierarchy/Modal/index.d.ts +5 -2
  89. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  90. package/dist/elements/Hierarchy/Modal/index.js +136 -99
  91. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  92. package/dist/elements/Hierarchy/Modal/types.d.ts +15 -0
  93. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  94. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  95. package/dist/elements/Hierarchy/MoveMany/index.d.ts +7 -3
  96. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  97. package/dist/elements/Hierarchy/MoveMany/index.js +43 -170
  98. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  99. package/dist/elements/Hierarchy/Search/index.css +2 -9
  100. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  101. package/dist/elements/Hierarchy/Search/index.js +6 -73
  102. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  103. package/dist/elements/Hierarchy/Search/types.d.ts +2 -6
  104. package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -1
  105. package/dist/elements/Hierarchy/Search/types.js.map +1 -1
  106. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -4
  107. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  108. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +101 -186
  109. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  110. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  111. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +1 -21
  112. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  113. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +3 -3
  114. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +59 -29
  115. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +1 -1
  116. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  117. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +54 -10
  118. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  119. package/dist/elements/Hierarchy/Tree/index.css +8 -9
  120. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  121. package/dist/elements/Hierarchy/Tree/index.js +29 -47
  122. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  123. package/dist/elements/Hierarchy/Tree/types.d.ts +9 -1
  124. package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -1
  125. package/dist/elements/Hierarchy/Tree/types.js.map +1 -1
  126. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  127. package/dist/elements/Hierarchy/Tree/useChildren.js +11 -1
  128. package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
  129. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts +22 -0
  130. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts.map +1 -0
  131. package/dist/elements/Hierarchy/getFolderHierarchySlug.js +17 -0
  132. package/dist/elements/Hierarchy/getFolderHierarchySlug.js.map +1 -0
  133. package/dist/elements/Hierarchy/move/moveDocuments.d.ts +34 -0
  134. package/dist/elements/Hierarchy/move/moveDocuments.d.ts.map +1 -0
  135. package/dist/elements/Hierarchy/move/moveDocuments.js +94 -0
  136. package/dist/elements/Hierarchy/move/moveDocuments.js.map +1 -0
  137. package/dist/elements/IDLabel/index.css +6 -0
  138. package/dist/elements/IDLabel/index.d.ts +1 -1
  139. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  140. package/dist/elements/IDLabel/index.js +16 -21
  141. package/dist/elements/IDLabel/index.js.map +1 -1
  142. package/dist/elements/ListControls/index.d.ts.map +1 -1
  143. package/dist/elements/ListControls/index.js +3 -2
  144. package/dist/elements/ListControls/index.js.map +1 -1
  145. package/dist/elements/ListControls/types.d.ts +4 -0
  146. package/dist/elements/ListControls/types.d.ts.map +1 -1
  147. package/dist/elements/ListControls/types.js.map +1 -1
  148. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  149. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  150. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  151. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  152. package/dist/elements/Nav/NavSidebarToggle/index.js +1 -1
  153. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  154. package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
  155. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  156. package/dist/elements/Nav/NavWrapper/index.js +12 -18
  157. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  158. package/dist/elements/Nav/SidebarTabs/index.css +1 -2
  159. package/dist/elements/Nav/context.d.ts +0 -1
  160. package/dist/elements/Nav/context.d.ts.map +1 -1
  161. package/dist/elements/Nav/context.js +92 -67
  162. package/dist/elements/Nav/context.js.map +1 -1
  163. package/dist/elements/Nav/index.css +47 -42
  164. package/dist/elements/Nav/index.d.ts +4 -0
  165. package/dist/elements/Nav/index.d.ts.map +1 -1
  166. package/dist/elements/Nav/index.js +16 -1
  167. package/dist/elements/Nav/index.js.map +1 -1
  168. package/dist/elements/NavGroup/index.css +29 -15
  169. package/dist/elements/Popup/PopupButtonList/index.css +33 -17
  170. package/dist/elements/Popup/index.css +6 -0
  171. package/dist/elements/Popup/index.d.ts +10 -0
  172. package/dist/elements/Popup/index.d.ts.map +1 -1
  173. package/dist/elements/Popup/index.js +13 -6
  174. package/dist/elements/Popup/index.js.map +1 -1
  175. package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
  176. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  177. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  178. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  179. package/dist/elements/ReactSelect/types.d.ts +5 -0
  180. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  181. package/dist/elements/ReactSelect/types.js.map +1 -1
  182. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  183. package/dist/elements/RelationshipTable/index.js +5 -2
  184. package/dist/elements/RelationshipTable/index.js.map +1 -1
  185. package/dist/elements/SegmentedControl/index.css +58 -0
  186. package/dist/elements/SegmentedControl/index.d.ts +19 -0
  187. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  188. package/dist/elements/SegmentedControl/index.js +104 -0
  189. package/dist/elements/SegmentedControl/index.js.map +1 -0
  190. package/dist/elements/SelectAll/index.d.ts.map +1 -1
  191. package/dist/elements/SelectAll/index.js +1 -2
  192. package/dist/elements/SelectAll/index.js.map +1 -1
  193. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  194. package/dist/elements/SelectRow/index.js +1 -2
  195. package/dist/elements/SelectRow/index.js.map +1 -1
  196. package/dist/elements/SidebarRow/index.css +1 -5
  197. package/dist/elements/SidebarToggle/index.css +3 -1
  198. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  199. package/dist/elements/SortHeader/index.js +29 -26
  200. package/dist/elements/SortHeader/index.js.map +1 -1
  201. package/dist/elements/StepNav/DropTarget/index.css +20 -0
  202. package/dist/elements/StepNav/DropTarget/index.d.ts +16 -0
  203. package/dist/elements/StepNav/DropTarget/index.d.ts.map +1 -0
  204. package/dist/elements/StepNav/DropTarget/index.js +71 -0
  205. package/dist/elements/StepNav/DropTarget/index.js.map +1 -0
  206. package/dist/elements/StepNav/index.css +64 -14
  207. package/dist/elements/StepNav/index.d.ts.map +1 -1
  208. package/dist/elements/StepNav/index.js +147 -69
  209. package/dist/elements/StepNav/index.js.map +1 -1
  210. package/dist/elements/StepNav/types.d.ts +6 -0
  211. package/dist/elements/StepNav/types.d.ts.map +1 -1
  212. package/dist/elements/StepNav/types.js.map +1 -1
  213. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +5 -7
  214. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  215. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +14 -3
  216. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  217. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  218. package/dist/elements/Table/DefaultCell/index.js +3 -11
  219. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  220. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
  221. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
  222. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  223. package/dist/elements/Upload/index.css +39 -32
  224. package/dist/elements/Upload/index.d.ts.map +1 -1
  225. package/dist/elements/Upload/index.js +37 -99
  226. package/dist/elements/Upload/index.js.map +1 -1
  227. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  228. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  229. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  230. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  231. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  232. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  233. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  234. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  235. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  236. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  237. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  238. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  239. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  240. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts +18 -0
  241. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts.map +1 -0
  242. package/dist/elements/UserMenu/HoverSubmenuGroup.js +38 -0
  243. package/dist/elements/UserMenu/HoverSubmenuGroup.js.map +1 -0
  244. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  245. package/dist/elements/UserMenu/LanguageMenu/index.js +83 -39
  246. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  247. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  248. package/dist/elements/UserMenu/SettingsMenu/index.js +57 -21
  249. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  250. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  251. package/dist/elements/UserMenu/ThemeMenu/index.js +83 -39
  252. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  253. package/dist/elements/UserMenu/index.css +32 -2
  254. package/dist/elements/UserMenu/index.d.ts +1 -0
  255. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  256. package/dist/elements/UserMenu/index.js +77 -51
  257. package/dist/elements/UserMenu/index.js.map +1 -1
  258. package/dist/elements/UserMenu/useHoverSubmenu.d.ts +21 -0
  259. package/dist/elements/UserMenu/useHoverSubmenu.d.ts.map +1 -0
  260. package/dist/elements/UserMenu/useHoverSubmenu.js +260 -0
  261. package/dist/elements/UserMenu/useHoverSubmenu.js.map +1 -0
  262. package/dist/elements/ViewModeToggle/index.d.ts +8 -0
  263. package/dist/elements/ViewModeToggle/index.d.ts.map +1 -0
  264. package/dist/elements/ViewModeToggle/index.js +29 -0
  265. package/dist/elements/ViewModeToggle/index.js.map +1 -0
  266. package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
  267. package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
  268. package/dist/elements/WhereBuilder/conditionValue.js +32 -0
  269. package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
  270. package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
  271. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
  272. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  273. package/dist/elements/WhereBuilder/index.js +15 -4
  274. package/dist/elements/WhereBuilder/index.js.map +1 -1
  275. package/dist/exports/client/index.d.ts +6 -1
  276. package/dist/exports/client/index.d.ts.map +1 -1
  277. package/dist/exports/client/index.js +1 -1
  278. package/dist/exports/client/index.js.map +3 -3
  279. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  280. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  281. package/dist/fields/Array/ArrayRow.js +2 -0
  282. package/dist/fields/Array/ArrayRow.js.map +1 -1
  283. package/dist/fields/Array/index.d.ts.map +1 -1
  284. package/dist/fields/Array/index.js +38 -10
  285. package/dist/fields/Array/index.js.map +1 -1
  286. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  287. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  288. package/dist/fields/Blocks/BlockRow.js +2 -0
  289. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  290. package/dist/fields/Blocks/RowActions.d.ts +1 -0
  291. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  292. package/dist/fields/Blocks/RowActions.js +22 -19
  293. package/dist/fields/Blocks/RowActions.js.map +1 -1
  294. package/dist/fields/Blocks/index.d.ts.map +1 -1
  295. package/dist/fields/Blocks/index.js +35 -7
  296. package/dist/fields/Blocks/index.js.map +1 -1
  297. package/dist/fields/Checkbox/Input.d.ts +2 -2
  298. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  299. package/dist/fields/Checkbox/Input.js +134 -152
  300. package/dist/fields/Checkbox/Input.js.map +1 -1
  301. package/dist/fields/Checkbox/index.css +168 -155
  302. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  303. package/dist/fields/Relationship/Input.js +24 -6
  304. package/dist/fields/Relationship/Input.js.map +1 -1
  305. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  306. package/dist/fields/Relationship/optionsReducer.js +2 -0
  307. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  308. package/dist/fields/Relationship/types.d.ts +24 -0
  309. package/dist/fields/Relationship/types.d.ts.map +1 -1
  310. package/dist/fields/Relationship/types.js.map +1 -1
  311. package/dist/fields/Upload/Input.d.ts.map +1 -1
  312. package/dist/fields/Upload/Input.js +44 -16
  313. package/dist/fields/Upload/Input.js.map +1 -1
  314. package/dist/fields/Upload/Input.spec.js +241 -0
  315. package/dist/fields/Upload/Input.spec.js.map +1 -0
  316. package/dist/forms/Form/index.d.ts.map +1 -1
  317. package/dist/forms/Form/index.js +4 -1
  318. package/dist/forms/Form/index.js.map +1 -1
  319. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  320. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
  321. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  322. package/dist/icons/CollapseLayers/index.css +5 -0
  323. package/dist/icons/CollapseLayers/index.d.ts +7 -0
  324. package/dist/icons/CollapseLayers/index.d.ts.map +1 -0
  325. package/dist/icons/CollapseLayers/index.js +23 -0
  326. package/dist/icons/CollapseLayers/index.js.map +1 -0
  327. package/dist/icons/Edit/index.d.ts +0 -1
  328. package/dist/icons/Edit/index.d.ts.map +1 -1
  329. package/dist/icons/Edit/index.js +4 -4
  330. package/dist/icons/Edit/index.js.map +1 -1
  331. package/dist/icons/Table/index.css +5 -0
  332. package/dist/icons/Table/index.d.ts +7 -0
  333. package/dist/icons/Table/index.d.ts.map +1 -0
  334. package/dist/icons/Table/index.js +25 -0
  335. package/dist/icons/Table/index.js.map +1 -0
  336. package/dist/providers/Actions/index.d.ts +1 -0
  337. package/dist/providers/Actions/index.d.ts.map +1 -1
  338. package/dist/providers/Actions/index.js +43 -11
  339. package/dist/providers/Actions/index.js.map +1 -1
  340. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  341. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  342. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  343. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  344. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  345. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  346. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  347. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  348. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  349. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  350. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  351. package/dist/providers/Auth/authSessionRequests.js +119 -0
  352. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  353. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  354. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  355. package/dist/providers/Auth/index.d.ts +2 -56
  356. package/dist/providers/Auth/index.d.ts.map +1 -1
  357. package/dist/providers/Auth/index.js +283 -135
  358. package/dist/providers/Auth/index.js.map +1 -1
  359. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  360. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  361. package/dist/providers/Auth/sessionActivity.js +49 -0
  362. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  363. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  364. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  365. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  366. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  367. package/dist/providers/Auth/sessionTiming.js +18 -0
  368. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  369. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  370. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  371. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  372. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  373. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  374. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  375. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  376. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  377. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  378. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  379. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  380. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  381. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  382. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  383. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  384. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  385. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  386. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  387. package/dist/providers/Auth/types.d.ts +65 -0
  388. package/dist/providers/Auth/types.d.ts.map +1 -0
  389. package/dist/providers/Auth/types.js +2 -0
  390. package/dist/providers/Auth/types.js.map +1 -0
  391. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  392. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  393. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  394. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  395. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  396. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  397. package/dist/providers/FormErrorHandler/index.d.ts +5 -1
  398. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -1
  399. package/dist/providers/FormErrorHandler/index.js.map +1 -1
  400. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  401. package/dist/providers/Hierarchy/index.js +53 -24
  402. package/dist/providers/Hierarchy/index.js.map +1 -1
  403. package/dist/providers/Hierarchy/types.d.ts +2 -0
  404. package/dist/providers/Hierarchy/types.d.ts.map +1 -1
  405. package/dist/providers/Hierarchy/types.js.map +1 -1
  406. package/dist/providers/HierarchyDnd/index.css +51 -0
  407. package/dist/providers/HierarchyDnd/index.d.ts +21 -0
  408. package/dist/providers/HierarchyDnd/index.d.ts.map +1 -0
  409. package/dist/providers/HierarchyDnd/index.js +163 -0
  410. package/dist/providers/HierarchyDnd/index.js.map +1 -0
  411. package/dist/providers/HierarchyDnd/types.d.ts +56 -0
  412. package/dist/providers/HierarchyDnd/types.d.ts.map +1 -0
  413. package/dist/providers/HierarchyDnd/types.js +21 -0
  414. package/dist/providers/HierarchyDnd/types.js.map +1 -0
  415. package/dist/providers/Locale/index.d.ts.map +1 -1
  416. package/dist/providers/Locale/index.js +41 -36
  417. package/dist/providers/Locale/index.js.map +1 -1
  418. package/dist/providers/Root/index.js +4 -4
  419. package/dist/providers/Root/index.js.map +1 -1
  420. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  421. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  422. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  423. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  424. package/dist/providers/RouteTransition/index.d.ts +2 -0
  425. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  426. package/dist/providers/RouteTransition/index.js +42 -14
  427. package/dist/providers/RouteTransition/index.js.map +1 -1
  428. package/dist/styles.css +1 -1
  429. package/dist/templates/Default/Wrapper/index.css +2 -1
  430. package/dist/templates/Default/Wrapper/index.d.ts +2 -0
  431. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  432. package/dist/templates/Default/Wrapper/index.js +12 -6
  433. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  434. package/dist/templates/Default/index.css +3 -1
  435. package/dist/templates/Default/index.d.ts +1 -0
  436. package/dist/templates/Default/index.d.ts.map +1 -1
  437. package/dist/templates/Default/index.js +19 -15
  438. package/dist/templates/Default/index.js.map +1 -1
  439. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  440. package/dist/utilities/formatMetadata.js +0 -5
  441. package/dist/utilities/formatMetadata.js.map +1 -1
  442. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  443. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  444. package/dist/utilities/getFilesFromClipboard.js +49 -0
  445. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  446. package/dist/utilities/slugify.d.ts.map +1 -1
  447. package/dist/utilities/slugify.js +1 -0
  448. package/dist/utilities/slugify.js.map +1 -1
  449. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  450. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  451. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  452. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  453. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  454. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  455. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  456. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  457. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  458. package/dist/views/Dashboard/Default/ModularDashboard/index.css +33 -140
  459. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  460. package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
  461. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  462. package/dist/views/Edit/index.d.ts.map +1 -1
  463. package/dist/views/Edit/index.js +3 -2
  464. package/dist/views/Edit/index.js.map +1 -1
  465. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  466. package/dist/views/HierarchyList/DocumentListSelection/index.js +100 -105
  467. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  468. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.css +216 -0
  469. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts +20 -0
  470. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts.map +1 -0
  471. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js +182 -0
  472. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js.map +1 -0
  473. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.css +38 -0
  474. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts +15 -0
  475. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts.map +1 -0
  476. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js +85 -0
  477. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js.map +1 -0
  478. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.css +98 -0
  479. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts +27 -0
  480. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts.map +1 -0
  481. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js +84 -0
  482. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js.map +1 -0
  483. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts +19 -0
  484. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts.map +1 -0
  485. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js +100 -0
  486. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js.map +1 -0
  487. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts +53 -0
  488. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts.map +1 -0
  489. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js +145 -0
  490. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js.map +1 -0
  491. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts +8 -0
  492. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts.map +1 -0
  493. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js +21 -0
  494. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js.map +1 -0
  495. package/dist/views/HierarchyList/HierarchyCards/index.css +115 -0
  496. package/dist/views/HierarchyList/HierarchyCards/index.d.ts +80 -0
  497. package/dist/views/HierarchyList/HierarchyCards/index.d.ts.map +1 -0
  498. package/dist/views/HierarchyList/HierarchyCards/index.js +457 -0
  499. package/dist/views/HierarchyList/HierarchyCards/index.js.map +1 -0
  500. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +6 -1
  501. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  502. package/dist/views/HierarchyList/HierarchyListHeader/index.js +10 -8
  503. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  504. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  505. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +11 -10
  506. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  507. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  508. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +3 -6
  509. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  510. package/dist/views/HierarchyList/HierarchyTable/index.css +51 -0
  511. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +13 -1
  512. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  513. package/dist/views/HierarchyList/HierarchyTable/index.js +156 -38
  514. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  515. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +6 -0
  516. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  517. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  518. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  519. package/dist/views/HierarchyList/index.js +103 -20
  520. package/dist/views/HierarchyList/index.js.map +1 -1
  521. package/dist/views/List/ListHeader/index.d.ts +1 -10
  522. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  523. package/dist/views/List/ListHeader/index.js +1 -3
  524. package/dist/views/List/ListHeader/index.js.map +1 -1
  525. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  526. package/dist/views/List/ListSelection/index.js +138 -122
  527. package/dist/views/List/ListSelection/index.js.map +1 -1
  528. package/dist/views/List/handleHierarchy.d.ts +6 -1
  529. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  530. package/dist/views/List/handleHierarchy.js +34 -3
  531. package/dist/views/List/handleHierarchy.js.map +1 -1
  532. package/dist/views/List/index.client.d.ts.map +1 -1
  533. package/dist/views/List/index.client.js +128 -18
  534. package/dist/views/List/index.client.js.map +1 -1
  535. package/dist/views/List/index.css +5 -0
  536. package/dist/views/List/index.d.ts.map +1 -1
  537. package/dist/views/List/index.js +27 -16
  538. package/dist/views/List/index.js.map +1 -1
  539. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  540. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  541. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  542. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  543. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  544. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  545. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  546. package/dist/views/Root/getRouteData.js +8 -2
  547. package/dist/views/Root/getRouteData.js.map +1 -1
  548. package/dist/views/Root/index.d.ts.map +1 -1
  549. package/dist/views/Root/index.js +1 -0
  550. package/dist/views/Root/index.js.map +1 -1
  551. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
  552. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  553. package/package.json +4 -4
  554. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +0 -36
  555. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
  556. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
  557. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -141
  558. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
@@ -9,7 +9,7 @@ import { Banner } from '../../elements/Banner/index.js';
9
9
  import { Button } from '../../elements/Button/index.js';
10
10
  import { clipboardCopy, clipboardPaste } from '../../elements/ClipboardAction/clipboardUtilities.js';
11
11
  import { ClipboardAction } from '../../elements/ClipboardAction/index.js';
12
- import { mergeFormStateFromClipboard, reduceFormStateByPath } from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js';
12
+ import { insertRowFromClipboard, mergeFormStateFromClipboard, reduceFormStateByPath } from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js';
13
13
  import { CollapseAllToggle } from '../../elements/CollapseAllToggle/index.js';
14
14
  import { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js';
15
15
  import { DragOverlayPreview } from '../../elements/DraggableSortable/DragOverlayPreview/index.js';
@@ -283,16 +283,43 @@ const BlocksFieldComponent = props => {
283
283
  toast.error(clipboardResult_0);
284
284
  }
285
285
  }, [clientBlocks, getFields, path, replaceState, setModified, t]);
286
- const pasteBlocks = useCallback(dataFromClipboard_0 => {
287
- const formState_0 = {
286
+ const pasteRowBelow = useCallback(rowIndex_4 => {
287
+ const pasteArgs_0 = {
288
+ onPaste: dataFromClipboard_0 => {
289
+ const formState_0 = {
290
+ ...getFields()
291
+ };
292
+ const newState_0 = insertRowFromClipboard({
293
+ dataFromClipboard: dataFromClipboard_0,
294
+ formState: formState_0,
295
+ path,
296
+ rowIndex: rowIndex_4 + 1
297
+ });
298
+ replaceState(newState_0);
299
+ setModified(true);
300
+ setTimeout(() => {
301
+ scrollToID(`${path?.split('.').join('-')}-row-${rowIndex_4 + 1}`);
302
+ }, 0);
303
+ },
304
+ path,
305
+ schemaBlocks: clientBlocks,
306
+ t
307
+ };
308
+ const clipboardResult_1 = clipboardPaste(pasteArgs_0);
309
+ if (typeof clipboardResult_1 === 'string') {
310
+ toast.error(clipboardResult_1);
311
+ }
312
+ }, [clientBlocks, getFields, path, replaceState, setModified, t]);
313
+ const pasteBlocks = useCallback(dataFromClipboard_1 => {
314
+ const formState_1 = {
288
315
  ...getFields()
289
316
  };
290
- const newState_0 = mergeFormStateFromClipboard({
291
- dataFromClipboard: dataFromClipboard_0,
292
- formState: formState_0,
317
+ const newState_1 = mergeFormStateFromClipboard({
318
+ dataFromClipboard: dataFromClipboard_1,
319
+ formState: formState_1,
293
320
  path
294
321
  });
295
- replaceState(newState_0);
322
+ replaceState(newState_1);
296
323
  setModified(true);
297
324
  }, [getFields, path, replaceState, setModified]);
298
325
  const hasMaxRows = maxRows && rows.length >= maxRows;
@@ -448,6 +475,7 @@ const BlocksFieldComponent = props => {
448
475
  moveRow: moveRow,
449
476
  parentPath: path,
450
477
  pasteRow: pasteRow,
478
+ pasteRowBelow: pasteRowBelow,
451
479
  path: rowPath,
452
480
  permissions: permissions,
453
481
  readOnly: readOnly || disabled,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["verticalListSortingStrategy","getTranslation","React","Fragment","useCallback","useMemo","toast","Banner","Button","clipboardCopy","clipboardPaste","ClipboardAction","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","code","locale","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","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","join","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 { BlocksFieldClientComponent, 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 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: BlocksFieldClientComponent = (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 { code: locale } = useLocale()\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 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 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","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","code","locale","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 { BlocksFieldClientComponent, 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: BlocksFieldClientComponent = (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 { code: locale } = useLocale()\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":[]}
@@ -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"}
@@ -1,171 +1,153 @@
1
1
  'use client';
2
2
 
3
- import { c as _c } from "react/compiler-runtime";
4
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import React, { useEffect, useId, useState } from 'react';
4
+ import React, { useCallback, useEffect, useId, useRef, useState } from 'react';
6
5
  import { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js';
7
6
  import { Tooltip } from '../../elements/Tooltip/index.js';
8
7
  import { FieldLabel } from '../../fields/FieldLabel/index.js';
9
- import { CheckIcon } from '../../icons/Check/index.js';
10
- import { LineIcon } from '../../icons/Line/index.js';
11
8
  export const inputBaseClass = 'checkbox-input';
12
- export const CheckboxInput = t0 => {
13
- const $ = _c(37);
14
- const {
15
- id: idFromProps,
16
- name,
17
- AfterInput,
18
- "aria-label": ariaLabelFromProps,
19
- "aria-labelledby": ariaLabelledByFromProps,
20
- BeforeInput,
21
- checked,
22
- className,
23
- Error,
24
- inputRef,
25
- Label,
26
- label,
27
- localized,
28
- onToggle,
29
- partialChecked,
30
- readOnly: readOnlyFromProps,
31
- required,
32
- tooltip,
33
- variant: t1
34
- } = t0;
35
- const variant = t1 === undefined ? "default" : t1;
9
+ export const CheckboxInput = ({
10
+ id: idFromProps,
11
+ name,
12
+ AfterInput,
13
+ 'aria-label': ariaLabelFromProps,
14
+ 'aria-labelledby': ariaLabelledByFromProps,
15
+ BeforeInput,
16
+ checked,
17
+ className,
18
+ Error,
19
+ inputRef,
20
+ Label,
21
+ label,
22
+ localized,
23
+ onToggle,
24
+ partialChecked,
25
+ readOnly: readOnlyFromProps,
26
+ required,
27
+ tooltip,
28
+ variant = 'default'
29
+ }) => {
36
30
  const [isHydrated, setIsHydrated] = useState(false);
37
31
  const [showTooltip, setShowTooltip] = useState(false);
32
+ const [hasChanged, setHasChanged] = useState(false);
38
33
  const fallbackID = useId();
39
34
  const id = idFromProps || fallbackID;
40
35
  const ariaLabel = ariaLabelFromProps || undefined;
41
36
  const ariaLabelledBy = ariaLabel ? undefined : ariaLabelledByFromProps || name;
42
- let t2;
43
- let t3;
44
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
45
- t2 = () => {
46
- setIsHydrated(true);
47
- };
48
- t3 = [];
49
- $[0] = t2;
50
- $[1] = t3;
51
- } else {
52
- t2 = $[0];
53
- t3 = $[1];
54
- }
55
- useEffect(t2, t3);
37
+ const controlWrapRef = useRef(null);
38
+ useEffect(() => {
39
+ setIsHydrated(true);
40
+ }, []);
56
41
  const readOnly = readOnlyFromProps || !isHydrated;
57
- const t4 = checked && `${inputBaseClass}--checked`;
58
- const t5 = readOnly && `${inputBaseClass}--read-only`;
59
- const t6 = tooltip && `${inputBaseClass}--has-tooltip`;
60
- const t7 = variant !== "default" && `${inputBaseClass}--${variant}`;
61
- let t8;
62
- if ($[2] !== className || $[3] !== t4 || $[4] !== t5 || $[5] !== t6 || $[6] !== t7) {
63
- t8 = [className, inputBaseClass, t4, t5, t6, t7].filter(Boolean);
64
- $[2] = className;
65
- $[3] = t4;
66
- $[4] = t5;
67
- $[5] = t6;
68
- $[6] = t7;
69
- $[7] = t8;
70
- } else {
71
- t8 = $[7];
72
- }
73
- const t9 = t8.join(" ");
74
- let t10;
75
- if ($[8] !== tooltip) {
76
- t10 = tooltip ? () => setShowTooltip(true) : undefined;
77
- $[8] = tooltip;
78
- $[9] = t10;
79
- } else {
80
- t10 = $[9];
81
- }
82
- let t11;
83
- if ($[10] !== tooltip) {
84
- t11 = tooltip ? () => setShowTooltip(false) : undefined;
85
- $[10] = tooltip;
86
- $[11] = t11;
87
- } else {
88
- t11 = $[11];
89
- }
90
- const t12 = Boolean(checked);
91
- let t13;
92
- if ($[12] !== AfterInput || $[13] !== BeforeInput || $[14] !== Error || $[15] !== Label || $[16] !== ariaLabel || $[17] !== ariaLabelledBy || $[18] !== checked || $[19] !== id || $[20] !== inputRef || $[21] !== label || $[22] !== localized || $[23] !== name || $[24] !== onToggle || $[25] !== partialChecked || $[26] !== readOnly || $[27] !== required || $[28] !== showTooltip || $[29] !== t10 || $[30] !== t11 || $[31] !== t12 || $[32] !== t9 || $[33] !== tooltip) {
93
- const t14 = _jsx("input", {
94
- "aria-label": ariaLabel,
95
- "aria-labelledby": ariaLabelledBy,
96
- checked: t12,
97
- disabled: readOnly,
98
- id,
99
- name,
100
- onChange: onToggle,
101
- ref: inputRef,
102
- required,
103
- title: name,
104
- type: "checkbox"
105
- });
106
- const t15 = !checked && partialChecked ? "partial" : "check";
107
- let t16;
108
- if ($[35] !== t15) {
109
- t16 = [`${inputBaseClass}__icon`, t15].filter(Boolean);
110
- $[35] = t15;
111
- $[36] = t16;
112
- } else {
113
- t16 = $[36];
42
+ const isIndeterminate = !checked && Boolean(partialChecked);
43
+ /**
44
+ * `indeterminate` has no HTML attribute, so the mixed state has to be written to the
45
+ * node itself. The node is reached through the wrapper rather than a ref on the input
46
+ * so that a caller-supplied `inputRef` stays the only ref attached to it. Setting the
47
+ * property keeps mark selection in CSS and reports the real `mixed` state to
48
+ * assistive technology.
49
+ */
50
+ useEffect(() => {
51
+ const control = controlWrapRef.current?.querySelector(`.${inputBaseClass}__control`);
52
+ if (control instanceof HTMLInputElement) {
53
+ control.indeterminate = isIndeterminate;
114
54
  }
115
- t13 = _jsxs("div", {
116
- className: t9,
117
- onPointerEnter: t10,
118
- onPointerLeave: t11,
119
- children: [BeforeInput, _jsxs("div", {
120
- className: `${inputBaseClass}__wrap`,
121
- children: [_jsxs("div", {
122
- className: `${inputBaseClass}__input`,
123
- children: [t14, _jsxs("span", {
124
- className: t16.join(" "),
125
- children: [checked && _jsx(CheckIcon, {}), !checked && partialChecked && _jsx(LineIcon, {})]
55
+ }, [isIndeterminate]);
56
+ /**
57
+ * The mark only draws itself in once the value has actually changed, so a document
58
+ * that loads with the box already checked doesn't replay the animation.
59
+ */
60
+ const handleToggle = useCallback(event => {
61
+ setHasChanged(true);
62
+ onToggle(event);
63
+ }, [onToggle]);
64
+ return /*#__PURE__*/_jsxs("div", {
65
+ className: [className, inputBaseClass, checked && `${inputBaseClass}--checked`, isIndeterminate && `${inputBaseClass}--indeterminate`, readOnly && `${inputBaseClass}--read-only`, hasChanged && `${inputBaseClass}--changed`, tooltip && `${inputBaseClass}--has-tooltip`, variant !== 'default' && `${inputBaseClass}--${variant}`].filter(Boolean).join(' '),
66
+ onPointerEnter: tooltip ? () => setShowTooltip(true) : undefined,
67
+ onPointerLeave: tooltip ? () => setShowTooltip(false) : undefined,
68
+ children: [BeforeInput, /*#__PURE__*/_jsxs("div", {
69
+ className: `${inputBaseClass}__wrap`,
70
+ children: [/*#__PURE__*/_jsxs("div", {
71
+ className: `${inputBaseClass}__input`,
72
+ ref: controlWrapRef,
73
+ children: [/*#__PURE__*/_jsx("input", {
74
+ "aria-label": ariaLabel,
75
+ "aria-labelledby": ariaLabelledBy,
76
+ checked: Boolean(checked),
77
+ className: [`${inputBaseClass}__control`, variant !== 'default' && `${inputBaseClass}__control--${variant}`].filter(Boolean).join(' '),
78
+ disabled: readOnly,
79
+ id: id,
80
+ name: name,
81
+ onChange: handleToggle,
82
+ ref: inputRef,
83
+ required: required,
84
+ title: name,
85
+ type: "checkbox"
86
+ }), /*#__PURE__*/_jsxs("span", {
87
+ className: `${inputBaseClass}__visuals`,
88
+ children: [/*#__PURE__*/_jsx(Mark, {
89
+ className: `${inputBaseClass}__mixed`,
90
+ shape: "mixed"
91
+ }), /*#__PURE__*/_jsx(Mark, {
92
+ className: `${inputBaseClass}__check`,
93
+ shape: "check"
126
94
  })]
127
- }), _jsx(RenderCustomComponent, {
128
- CustomComponent: Label,
129
- Fallback: _jsx(FieldLabel, {
130
- htmlFor: id,
131
- label,
132
- localized,
133
- required
134
- })
135
- }), Error]
136
- }), tooltip && _jsx(Tooltip, {
137
- alignCaret: "left",
138
- className: `${inputBaseClass}__tooltip`,
139
- show: showTooltip,
140
- children: tooltip
141
- }), AfterInput]
142
- });
143
- $[12] = AfterInput;
144
- $[13] = BeforeInput;
145
- $[14] = Error;
146
- $[15] = Label;
147
- $[16] = ariaLabel;
148
- $[17] = ariaLabelledBy;
149
- $[18] = checked;
150
- $[19] = id;
151
- $[20] = inputRef;
152
- $[21] = label;
153
- $[22] = localized;
154
- $[23] = name;
155
- $[24] = onToggle;
156
- $[25] = partialChecked;
157
- $[26] = readOnly;
158
- $[27] = required;
159
- $[28] = showTooltip;
160
- $[29] = t10;
161
- $[30] = t11;
162
- $[31] = t12;
163
- $[32] = t9;
164
- $[33] = tooltip;
165
- $[34] = t13;
166
- } else {
167
- t13 = $[34];
95
+ })]
96
+ }), /*#__PURE__*/_jsx(RenderCustomComponent, {
97
+ CustomComponent: Label,
98
+ Fallback: /*#__PURE__*/_jsx(FieldLabel, {
99
+ htmlFor: id,
100
+ label: label,
101
+ localized: localized,
102
+ required: required
103
+ })
104
+ }), Error]
105
+ }), tooltip && /*#__PURE__*/_jsx(Tooltip, {
106
+ alignCaret: "left",
107
+ className: `${inputBaseClass}__tooltip`,
108
+ show: showTooltip,
109
+ children: tooltip
110
+ }), AfterInput]
111
+ });
112
+ };
113
+ const markShapes = {
114
+ check: {
115
+ d: 'M5.00012 8.5L7.5 11L11.5 5',
116
+ shapeRendering: 'geometricPrecision'
117
+ },
118
+ mixed: {
119
+ d: 'M5 8H11',
120
+ shapeRendering: 'crispEdges'
168
121
  }
169
- return t13;
122
+ };
123
+ /**
124
+ * Each mark is drawn twice: a wider halo stroke underneath, then the mark itself on
125
+ * top. The halo is what keeps the mark legible against the brand fill.
126
+ */
127
+ const Mark = ({
128
+ className,
129
+ shape
130
+ }) => {
131
+ const {
132
+ d,
133
+ shapeRendering
134
+ } = markShapes[shape];
135
+ return /*#__PURE__*/_jsxs("svg", {
136
+ className: className,
137
+ fill: "none",
138
+ height: 16,
139
+ viewBox: "0 0 16 16",
140
+ width: 16,
141
+ xmlns: "http://www.w3.org/2000/svg",
142
+ children: [/*#__PURE__*/_jsx("path", {
143
+ className: `${inputBaseClass}__mark-halo`,
144
+ d: d,
145
+ shapeRendering: shapeRendering
146
+ }), /*#__PURE__*/_jsx("path", {
147
+ className: `${inputBaseClass}__mark`,
148
+ d: d,
149
+ shapeRendering: shapeRendering
150
+ })]
151
+ });
170
152
  };
171
153
  //# sourceMappingURL=Input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["c","_c","React","useEffect","useId","useState","RenderCustomComponent","Tooltip","FieldLabel","CheckIcon","LineIcon","inputBaseClass","CheckboxInput","t0","$","id","idFromProps","name","AfterInput","ariaLabelFromProps","ariaLabelledByFromProps","BeforeInput","checked","className","Error","inputRef","Label","label","localized","onToggle","partialChecked","readOnly","readOnlyFromProps","required","tooltip","variant","t1","undefined","isHydrated","setIsHydrated","showTooltip","setShowTooltip","fallbackID","ariaLabel","ariaLabelledBy","t2","t3","Symbol","for","t4","t5","t6","t7","t8","filter","Boolean","t9","join","t10","t11","t12","t13","t14","_jsx","disabled","onChange","ref","title","type","t15","t16","_jsxs","onPointerEnter","onPointerLeave","children","CustomComponent","Fallback","htmlFor","alignCaret","show"],"sources":["../../../src/fields/Checkbox/Input.tsx"],"sourcesContent":["'use client'\nimport type { StaticLabel } from 'payload'\n\nimport React, { useEffect, useId, useState } from 'react'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { Tooltip } from '../../elements/Tooltip/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { CheckIcon } from '../../icons/Check/index.js'\nimport { LineIcon } from '../../icons/Line/index.js'\n\nexport type CheckboxInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly 'aria-label'?: string\n readonly 'aria-labelledby'?: string\n readonly BeforeInput?: React.ReactNode\n readonly checked?: boolean\n readonly className?: string\n readonly Error?: React.ReactNode\n readonly id?: string\n readonly inputRef?: React.RefObject<HTMLInputElement | null>\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly localized?: boolean\n readonly name?: string\n readonly onToggle: (event: React.ChangeEvent<HTMLInputElement>) => void\n readonly partialChecked?: boolean\n readonly readOnly?: boolean\n readonly required?: boolean\n readonly tooltip?: string\n /**\n * Visual variant for the checkbox\n * - 'default': Dark border, transparent background (for form fields)\n * - 'muted': Light gray background and border (for tables)\n */\n readonly variant?: 'default' | 'muted'\n}\n\nexport const inputBaseClass = 'checkbox-input'\n\nexport const CheckboxInput: React.FC<CheckboxInputProps> = ({\n id: idFromProps,\n name,\n AfterInput,\n 'aria-label': ariaLabelFromProps,\n 'aria-labelledby': ariaLabelledByFromProps,\n BeforeInput,\n checked,\n className,\n Error,\n inputRef,\n Label,\n label,\n localized,\n onToggle,\n partialChecked,\n readOnly: readOnlyFromProps,\n required,\n tooltip,\n variant = 'default',\n}) => {\n const [isHydrated, setIsHydrated] = useState(false)\n const [showTooltip, setShowTooltip] = useState(false)\n const fallbackID = useId()\n const id = idFromProps || fallbackID\n const ariaLabel = ariaLabelFromProps || undefined\n const ariaLabelledBy = ariaLabel ? undefined : ariaLabelledByFromProps || name\n\n useEffect(() => {\n setIsHydrated(true)\n }, [])\n\n const readOnly = readOnlyFromProps || !isHydrated\n\n return (\n <div\n className={[\n className,\n inputBaseClass,\n checked && `${inputBaseClass}--checked`,\n readOnly && `${inputBaseClass}--read-only`,\n tooltip && `${inputBaseClass}--has-tooltip`,\n variant !== 'default' && `${inputBaseClass}--${variant}`,\n ]\n .filter(Boolean)\n .join(' ')}\n onPointerEnter={tooltip ? () => setShowTooltip(true) : undefined}\n onPointerLeave={tooltip ? () => setShowTooltip(false) : undefined}\n >\n {BeforeInput}\n <div className={`${inputBaseClass}__wrap`}>\n <div className={`${inputBaseClass}__input`}>\n <input\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n checked={Boolean(checked)}\n disabled={readOnly}\n id={id}\n name={name}\n onChange={onToggle}\n ref={inputRef}\n required={required}\n title={name}\n type=\"checkbox\"\n />\n <span\n className={[`${inputBaseClass}__icon`, !checked && partialChecked ? 'partial' : 'check']\n .filter(Boolean)\n .join(' ')}\n >\n {checked && <CheckIcon />}\n {!checked && partialChecked && <LineIcon />}\n </span>\n </div>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel htmlFor={id} label={label} localized={localized} required={required} />\n }\n />\n {Error}\n </div>\n {tooltip && (\n <Tooltip alignCaret=\"left\" className={`${inputBaseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n {AfterInput}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Input.js","names":["React","useCallback","useEffect","useId","useRef","useState","RenderCustomComponent","Tooltip","FieldLabel","inputBaseClass","CheckboxInput","id","idFromProps","name","AfterInput","ariaLabelFromProps","ariaLabelledByFromProps","BeforeInput","checked","className","Error","inputRef","Label","label","localized","onToggle","partialChecked","readOnly","readOnlyFromProps","required","tooltip","variant","isHydrated","setIsHydrated","showTooltip","setShowTooltip","hasChanged","setHasChanged","fallbackID","ariaLabel","undefined","ariaLabelledBy","controlWrapRef","isIndeterminate","Boolean","control","current","querySelector","HTMLInputElement","indeterminate","handleToggle","event","_jsxs","filter","join","onPointerEnter","onPointerLeave","ref","_jsx","disabled","onChange","title","type","Mark","shape","CustomComponent","Fallback","htmlFor","alignCaret","show","markShapes","check","d","shapeRendering","mixed","fill","height","viewBox","width","xmlns"],"sources":["../../../src/fields/Checkbox/Input.tsx"],"sourcesContent":["'use client'\nimport type { StaticLabel } from 'payload'\n\nimport React, { useCallback, useEffect, useId, useRef, useState } from 'react'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { Tooltip } from '../../elements/Tooltip/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\n\nexport type CheckboxInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly 'aria-label'?: string\n readonly 'aria-labelledby'?: string\n readonly BeforeInput?: React.ReactNode\n readonly checked?: boolean\n readonly className?: string\n readonly Error?: React.ReactNode\n readonly id?: string\n readonly inputRef?: React.RefObject<HTMLInputElement | null>\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly localized?: boolean\n readonly name?: string\n readonly onToggle: (event: React.ChangeEvent<HTMLInputElement>) => void\n readonly partialChecked?: boolean\n readonly readOnly?: boolean\n readonly required?: boolean\n readonly tooltip?: string\n /**\n * Visual variant for the checkbox\n * - 'default': Brand fill and an on-brand mark when checked (for form fields)\n * - 'muted': Keeps the neutral surface when checked (for tables)\n */\n readonly variant?: 'default' | 'muted'\n}\n\nexport const inputBaseClass = 'checkbox-input'\n\nexport const CheckboxInput: React.FC<CheckboxInputProps> = ({\n id: idFromProps,\n name,\n AfterInput,\n 'aria-label': ariaLabelFromProps,\n 'aria-labelledby': ariaLabelledByFromProps,\n BeforeInput,\n checked,\n className,\n Error,\n inputRef,\n Label,\n label,\n localized,\n onToggle,\n partialChecked,\n readOnly: readOnlyFromProps,\n required,\n tooltip,\n variant = 'default',\n}) => {\n const [isHydrated, setIsHydrated] = useState(false)\n const [showTooltip, setShowTooltip] = useState(false)\n const [hasChanged, setHasChanged] = useState(false)\n const fallbackID = useId()\n const id = idFromProps || fallbackID\n const ariaLabel = ariaLabelFromProps || undefined\n const ariaLabelledBy = ariaLabel ? undefined : ariaLabelledByFromProps || name\n const controlWrapRef = useRef<HTMLDivElement | null>(null)\n\n useEffect(() => {\n setIsHydrated(true)\n }, [])\n\n const readOnly = readOnlyFromProps || !isHydrated\n const isIndeterminate = !checked && Boolean(partialChecked)\n\n /**\n * `indeterminate` has no HTML attribute, so the mixed state has to be written to the\n * node itself. The node is reached through the wrapper rather than a ref on the input\n * so that a caller-supplied `inputRef` stays the only ref attached to it. Setting the\n * property keeps mark selection in CSS and reports the real `mixed` state to\n * assistive technology.\n */\n useEffect(() => {\n const control = controlWrapRef.current?.querySelector(`.${inputBaseClass}__control`)\n\n if (control instanceof HTMLInputElement) {\n control.indeterminate = isIndeterminate\n }\n }, [isIndeterminate])\n\n /**\n * The mark only draws itself in once the value has actually changed, so a document\n * that loads with the box already checked doesn't replay the animation.\n */\n const handleToggle = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setHasChanged(true)\n onToggle(event)\n },\n [onToggle],\n )\n\n return (\n <div\n className={[\n className,\n inputBaseClass,\n checked && `${inputBaseClass}--checked`,\n isIndeterminate && `${inputBaseClass}--indeterminate`,\n readOnly && `${inputBaseClass}--read-only`,\n hasChanged && `${inputBaseClass}--changed`,\n tooltip && `${inputBaseClass}--has-tooltip`,\n variant !== 'default' && `${inputBaseClass}--${variant}`,\n ]\n .filter(Boolean)\n .join(' ')}\n onPointerEnter={tooltip ? () => setShowTooltip(true) : undefined}\n onPointerLeave={tooltip ? () => setShowTooltip(false) : undefined}\n >\n {BeforeInput}\n <div className={`${inputBaseClass}__wrap`}>\n <div className={`${inputBaseClass}__input`} ref={controlWrapRef}>\n <input\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n checked={Boolean(checked)}\n className={[\n `${inputBaseClass}__control`,\n variant !== 'default' && `${inputBaseClass}__control--${variant}`,\n ]\n .filter(Boolean)\n .join(' ')}\n disabled={readOnly}\n id={id}\n name={name}\n onChange={handleToggle}\n ref={inputRef}\n required={required}\n title={name}\n type=\"checkbox\"\n />\n {/* Both marks are always rendered and revealed by CSS, so an uncontrolled\n input that changes without React knowing still shows the right mark. */}\n <span className={`${inputBaseClass}__visuals`}>\n <Mark className={`${inputBaseClass}__mixed`} shape=\"mixed\" />\n <Mark className={`${inputBaseClass}__check`} shape=\"check\" />\n </span>\n </div>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel htmlFor={id} label={label} localized={localized} required={required} />\n }\n />\n {Error}\n </div>\n {tooltip && (\n <Tooltip alignCaret=\"left\" className={`${inputBaseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n {AfterInput}\n </div>\n )\n}\n\nconst markShapes = {\n check: { d: 'M5.00012 8.5L7.5 11L11.5 5', shapeRendering: 'geometricPrecision' },\n mixed: { d: 'M5 8H11', shapeRendering: 'crispEdges' },\n} as const\n\n/**\n * Each mark is drawn twice: a wider halo stroke underneath, then the mark itself on\n * top. The halo is what keeps the mark legible against the brand fill.\n */\nconst Mark: React.FC<{\n readonly className: string\n readonly shape: keyof typeof markShapes\n}> = ({ className, shape }) => {\n const { d, shapeRendering } = markShapes[shape]\n\n return (\n <svg\n className={className}\n fill=\"none\"\n height={16}\n viewBox=\"0 0 16 16\"\n width={16}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path className={`${inputBaseClass}__mark-halo`} d={d} shapeRendering={shapeRendering} />\n <path className={`${inputBaseClass}__mark`} d={d} shapeRendering={shapeRendering} />\n </svg>\n )\n}\n"],"mappings":"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","ignoreList":[]}