@payloadcms/ui 4.0.0-canary.9 → 4.0.0-internal.016994f

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 (1108) hide show
  1. package/dist/css/app.css +121 -0
  2. package/dist/css/forms.css +0 -6
  3. package/dist/css/spacing.css +11 -3
  4. package/dist/css/z-index.css +10 -0
  5. package/dist/elements/APIKeyInput/index.css +4 -4
  6. package/dist/elements/AddNewRelation/index.css +0 -5
  7. package/dist/elements/AddNewRelation/index.js +2 -2
  8. package/dist/elements/AddNewRelation/index.js.map +1 -1
  9. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
  10. package/dist/elements/AppHeader/index.css +7 -18
  11. package/dist/elements/AppHeader/index.d.ts +1 -8
  12. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  13. package/dist/elements/AppHeader/index.js +8 -17
  14. package/dist/elements/AppHeader/index.js.map +1 -1
  15. package/dist/elements/ArrayAction/index.d.ts +3 -0
  16. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  17. package/dist/elements/ArrayAction/index.js +83 -29
  18. package/dist/elements/ArrayAction/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
  20. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  21. package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
  22. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
  24. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  25. package/dist/elements/BulkUpload/FileSidebar/index.css +4 -0
  26. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
  27. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
  29. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  30. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  32. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  33. package/dist/elements/Button/index.css +25 -2
  34. package/dist/elements/Button/index.d.ts.map +1 -1
  35. package/dist/elements/Button/index.js +2 -0
  36. package/dist/elements/Button/index.js.map +1 -1
  37. package/dist/elements/Button/types.d.ts +1 -1
  38. package/dist/elements/Button/types.d.ts.map +1 -1
  39. package/dist/elements/Button/types.js.map +1 -1
  40. package/dist/elements/ClipboardAction/ClipboardActionLabel.d.ts.map +1 -1
  41. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
  42. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
  43. package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
  44. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  45. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
  46. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
  47. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  48. package/dist/elements/ClipboardAction/index.js +17 -1
  49. package/dist/elements/ClipboardAction/index.js.map +1 -1
  50. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
  51. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
  52. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  53. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  54. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
  55. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  56. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
  57. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  58. package/dist/elements/ClipboardAction/types.d.ts +3 -0
  59. package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
  60. package/dist/elements/ClipboardAction/types.js.map +1 -1
  61. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
  62. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
  63. package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
  64. package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
  65. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  66. package/dist/elements/CodeEditor/index.css +5 -5
  67. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  68. package/dist/elements/ColumnSelection/Popup.js +5 -1
  69. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  70. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +10 -0
  71. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +1 -0
  72. package/dist/elements/ColumnSelection/matchesColumnSearch.js +21 -0
  73. package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +1 -0
  74. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +87 -0
  75. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +1 -0
  76. package/dist/elements/CommandPalette/index.css +0 -7
  77. package/dist/elements/CopyToClipboard/index.d.ts +1 -0
  78. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  79. package/dist/elements/CopyToClipboard/index.js +10 -8
  80. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  81. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  82. package/dist/elements/CreateDocumentButton/index.js +4 -1
  83. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  84. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  85. package/dist/elements/DatePicker/DatePicker.js +1 -0
  86. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  87. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
  88. package/dist/elements/DatePicker/index.css +1 -1
  89. package/dist/elements/DefaultListViewTabs/index.css +1 -0
  90. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  91. package/dist/elements/DefaultListViewTabs/index.js +84 -62
  92. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  93. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  94. package/dist/elements/DeleteDocument/index.js +16 -1
  95. package/dist/elements/DeleteDocument/index.js.map +1 -1
  96. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -1
  97. package/dist/elements/DocumentControls/index.css +0 -2
  98. package/dist/elements/DocumentControls/index.d.ts +2 -2
  99. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  100. package/dist/elements/DocumentControls/index.js.map +1 -1
  101. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +2 -2
  102. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  103. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  104. package/dist/elements/DocumentDrawer/types.d.ts +1 -1
  105. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  106. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  107. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  108. package/dist/elements/DocumentLocked/index.d.ts +2 -2
  109. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  110. package/dist/elements/DocumentLocked/index.js.map +1 -1
  111. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  112. package/dist/elements/Drawer/index.css +10 -4
  113. package/dist/elements/Drawer/index.d.ts.map +1 -1
  114. package/dist/elements/Drawer/index.js +1 -0
  115. package/dist/elements/Drawer/index.js.map +1 -1
  116. package/dist/elements/Drawer/types.d.ts +2 -2
  117. package/dist/elements/Drawer/types.d.ts.map +1 -1
  118. package/dist/elements/Drawer/types.js.map +1 -1
  119. package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
  120. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  121. package/dist/elements/Dropzone/index.css +10 -4
  122. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  123. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  124. package/dist/elements/EditMany/DrawerContent.js +2 -2
  125. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  126. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  127. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  128. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  129. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  130. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  131. package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
  132. package/dist/elements/FileManager/FilePreview/index.css +3 -3
  133. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
  134. package/dist/elements/FileManager/FileToolbar/index.js +3 -0
  135. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
  136. package/dist/elements/FileManager/index.css +35 -52
  137. package/dist/elements/FileManager/index.d.ts +1 -1
  138. package/dist/elements/FileManager/index.d.ts.map +1 -1
  139. package/dist/elements/FileManager/index.js +385 -282
  140. package/dist/elements/FileManager/index.js.map +1 -1
  141. package/dist/elements/HTMLDiff/diff/index.d.ts.map +1 -1
  142. package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
  143. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +26 -4
  144. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
  145. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +117 -67
  146. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  147. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +100 -16
  148. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  149. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +97 -137
  150. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  151. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
  152. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  153. package/dist/elements/Hierarchy/ColumnBrowser/index.js +76 -27
  154. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  155. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +33 -3
  156. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  157. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  158. package/dist/elements/Hierarchy/CreateNewButton/index.css +9 -0
  159. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts +9 -0
  160. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts.map +1 -0
  161. package/dist/elements/Hierarchy/CreateNewButton/index.js +111 -0
  162. package/dist/elements/Hierarchy/CreateNewButton/index.js.map +1 -0
  163. package/dist/elements/Hierarchy/DocHeaderButton/index.css +21 -0
  164. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  165. package/dist/elements/Hierarchy/DocHeaderButton/index.js +116 -11
  166. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  167. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +1 -3
  168. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
  169. package/dist/elements/Hierarchy/Field/index.client.d.ts +5 -0
  170. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  171. package/dist/elements/Hierarchy/Field/index.client.js +120 -95
  172. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  173. package/dist/elements/Hierarchy/Field/index.css +3 -34
  174. package/dist/elements/Hierarchy/Modal/Footer/index.css +45 -0
  175. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +28 -0
  176. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  177. package/dist/elements/Hierarchy/Modal/Footer/index.js +166 -0
  178. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  179. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +18 -4
  180. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  181. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +88 -24
  182. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  183. package/dist/elements/Hierarchy/Modal/index.css +4 -53
  184. package/dist/elements/Hierarchy/Modal/index.d.ts +5 -2
  185. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  186. package/dist/elements/Hierarchy/Modal/index.js +145 -99
  187. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  188. package/dist/elements/Hierarchy/Modal/types.d.ts +15 -0
  189. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  190. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  191. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
  192. package/dist/elements/Hierarchy/MoveMany/index.css +6 -0
  193. package/dist/elements/Hierarchy/MoveMany/index.d.ts +8 -3
  194. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  195. package/dist/elements/Hierarchy/MoveMany/index.js +103 -171
  196. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  197. package/dist/elements/Hierarchy/Search/index.css +2 -9
  198. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  199. package/dist/elements/Hierarchy/Search/index.js +6 -73
  200. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  201. package/dist/elements/Hierarchy/Search/types.d.ts +2 -6
  202. package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -1
  203. package/dist/elements/Hierarchy/Search/types.js.map +1 -1
  204. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  205. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -4
  206. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  207. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +93 -101
  208. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  209. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  210. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +3 -21
  211. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  212. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +3 -3
  213. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +1 -1
  214. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  215. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +59 -30
  216. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +1 -1
  217. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  218. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +54 -10
  219. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  220. package/dist/elements/Hierarchy/Tree/index.css +8 -9
  221. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  222. package/dist/elements/Hierarchy/Tree/index.js +29 -47
  223. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  224. package/dist/elements/Hierarchy/Tree/types.d.ts +9 -1
  225. package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -1
  226. package/dist/elements/Hierarchy/Tree/types.js.map +1 -1
  227. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  228. package/dist/elements/Hierarchy/Tree/useChildren.js +11 -1
  229. package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
  230. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts +22 -0
  231. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts.map +1 -0
  232. package/dist/elements/Hierarchy/getFolderHierarchySlug.js +17 -0
  233. package/dist/elements/Hierarchy/getFolderHierarchySlug.js.map +1 -0
  234. package/dist/elements/Hierarchy/move/moveDocuments.d.ts +34 -0
  235. package/dist/elements/Hierarchy/move/moveDocuments.d.ts.map +1 -0
  236. package/dist/elements/Hierarchy/move/moveDocuments.js +94 -0
  237. package/dist/elements/Hierarchy/move/moveDocuments.js.map +1 -0
  238. package/dist/elements/IDLabel/index.css +6 -0
  239. package/dist/elements/IDLabel/index.d.ts +1 -1
  240. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  241. package/dist/elements/IDLabel/index.js +16 -21
  242. package/dist/elements/IDLabel/index.js.map +1 -1
  243. package/dist/elements/InputStepper/index.css +0 -1
  244. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  245. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  246. package/dist/elements/ListControls/index.d.ts.map +1 -1
  247. package/dist/elements/ListControls/index.js +4 -3
  248. package/dist/elements/ListControls/index.js.map +1 -1
  249. package/dist/elements/ListControls/types.d.ts +4 -0
  250. package/dist/elements/ListControls/types.d.ts.map +1 -1
  251. package/dist/elements/ListControls/types.js.map +1 -1
  252. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  253. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts +8 -0
  254. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts.map +1 -0
  255. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js +65 -0
  256. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -0
  257. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.d.ts.map +1 -1
  258. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +1 -1
  259. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  260. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +1 -0
  261. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -1
  262. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  263. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  264. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  265. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  266. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  267. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  268. package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
  269. package/dist/elements/Locked/index.css +0 -5
  270. package/dist/elements/Locked/index.d.ts +2 -2
  271. package/dist/elements/Locked/index.d.ts.map +1 -1
  272. package/dist/elements/Locked/index.js +38 -19
  273. package/dist/elements/Locked/index.js.map +1 -1
  274. package/dist/elements/MiniCarousel/index.css +39 -37
  275. package/dist/elements/Nav/NavSidebarToggle/index.js +1 -1
  276. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  277. package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
  278. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  279. package/dist/elements/Nav/NavWrapper/index.js +12 -18
  280. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  281. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  282. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  283. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  284. package/dist/elements/Nav/SidebarTabs/index.css +1 -7
  285. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  286. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  287. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
  288. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  289. package/dist/elements/Nav/context.d.ts +0 -1
  290. package/dist/elements/Nav/context.d.ts.map +1 -1
  291. package/dist/elements/Nav/context.js +92 -67
  292. package/dist/elements/Nav/context.js.map +1 -1
  293. package/dist/elements/Nav/index.css +47 -47
  294. package/dist/elements/Nav/index.d.ts +4 -0
  295. package/dist/elements/Nav/index.d.ts.map +1 -1
  296. package/dist/elements/Nav/index.js +16 -1
  297. package/dist/elements/Nav/index.js.map +1 -1
  298. package/dist/elements/NavGroup/index.css +29 -16
  299. package/dist/elements/Pagination/index.css +5 -0
  300. package/dist/elements/Pagination/index.d.ts.map +1 -1
  301. package/dist/elements/Pagination/index.js +21 -21
  302. package/dist/elements/Pagination/index.js.map +1 -1
  303. package/dist/elements/Popup/PopupButtonList/index.css +33 -17
  304. package/dist/elements/Popup/index.css +6 -0
  305. package/dist/elements/Popup/index.d.ts +10 -0
  306. package/dist/elements/Popup/index.d.ts.map +1 -1
  307. package/dist/elements/Popup/index.js +13 -6
  308. package/dist/elements/Popup/index.js.map +1 -1
  309. package/dist/elements/PreviewButton/index.d.ts +1 -2
  310. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  311. package/dist/elements/PreviewButton/index.js +11 -5
  312. package/dist/elements/PreviewButton/index.js.map +1 -1
  313. package/dist/elements/PreviewSizes/index.css +8 -9
  314. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  315. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -1
  316. package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
  317. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  318. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  319. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  320. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  321. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
  322. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
  323. package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
  324. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
  325. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  326. package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
  327. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -1
  328. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
  329. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
  330. package/dist/elements/ReactSelect/getMenuListStyles.js +13 -5
  331. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
  332. package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
  333. package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
  334. package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
  335. package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
  336. package/dist/elements/ReactSelect/index.css +8 -4
  337. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  338. package/dist/elements/ReactSelect/index.js +24 -101
  339. package/dist/elements/ReactSelect/index.js.map +1 -1
  340. package/dist/elements/ReactSelect/types.d.ts +6 -2
  341. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  342. package/dist/elements/ReactSelect/types.js.map +1 -1
  343. package/dist/elements/RelationshipTable/AddNewButton.d.ts +2 -2
  344. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  345. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  346. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  347. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  348. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  349. package/dist/elements/RelationshipTable/index.css +0 -2
  350. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  351. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  352. package/dist/elements/RelationshipTable/index.js +41 -5
  353. package/dist/elements/RelationshipTable/index.js.map +1 -1
  354. package/dist/elements/RenderTitle/index.css +4 -0
  355. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  356. package/dist/elements/RenderTitle/index.js +18 -13
  357. package/dist/elements/RenderTitle/index.js.map +1 -1
  358. package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
  359. package/dist/elements/Search/ListSearchFilter/index.js +1 -0
  360. package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
  361. package/dist/elements/Search/SearchInput/index.d.ts +2 -0
  362. package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
  363. package/dist/elements/Search/SearchInput/index.js +21 -18
  364. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  365. package/dist/elements/SegmentedControl/index.css +58 -0
  366. package/dist/elements/SegmentedControl/index.d.ts +19 -0
  367. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  368. package/dist/elements/SegmentedControl/index.js +104 -0
  369. package/dist/elements/SegmentedControl/index.js.map +1 -0
  370. package/dist/elements/SelectAll/index.css +3 -1
  371. package/dist/elements/SelectAll/index.d.ts.map +1 -1
  372. package/dist/elements/SelectAll/index.js +1 -2
  373. package/dist/elements/SelectAll/index.js.map +1 -1
  374. package/dist/elements/SelectRow/index.d.ts +5 -4
  375. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  376. package/dist/elements/SelectRow/index.js +11 -9
  377. package/dist/elements/SelectRow/index.js.map +1 -1
  378. package/dist/elements/SidebarRow/index.css +1 -5
  379. package/dist/elements/SidebarToggle/index.css +3 -18
  380. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  381. package/dist/elements/SortColumn/index.js +42 -38
  382. package/dist/elements/SortColumn/index.js.map +1 -1
  383. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  384. package/dist/elements/SortHeader/index.js +29 -26
  385. package/dist/elements/SortHeader/index.js.map +1 -1
  386. package/dist/elements/StepNav/DropTarget/index.css +20 -0
  387. package/dist/elements/StepNav/DropTarget/index.d.ts +16 -0
  388. package/dist/elements/StepNav/DropTarget/index.d.ts.map +1 -0
  389. package/dist/elements/StepNav/DropTarget/index.js +71 -0
  390. package/dist/elements/StepNav/DropTarget/index.js.map +1 -0
  391. package/dist/elements/StepNav/index.css +64 -14
  392. package/dist/elements/StepNav/index.d.ts.map +1 -1
  393. package/dist/elements/StepNav/index.js +147 -69
  394. package/dist/elements/StepNav/index.js.map +1 -1
  395. package/dist/elements/StepNav/types.d.ts +6 -0
  396. package/dist/elements/StepNav/types.d.ts.map +1 -1
  397. package/dist/elements/StepNav/types.js.map +1 -1
  398. package/dist/elements/Table/DefaultCell/fields/File/index.css +24 -13
  399. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +26 -7
  400. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  401. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +149 -24
  402. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  403. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
  404. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  405. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  406. package/dist/elements/Table/DefaultCell/index.js +3 -11
  407. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  408. package/dist/elements/Table/OrderableRow.d.ts +3 -1
  409. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  410. package/dist/elements/Table/OrderableRow.js +17 -1
  411. package/dist/elements/Table/OrderableRow.js.map +1 -1
  412. package/dist/elements/Table/OrderableRowDragPreview.d.ts.map +1 -1
  413. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  414. package/dist/elements/Table/OrderableTable.js +19 -2
  415. package/dist/elements/Table/OrderableTable.js.map +1 -1
  416. package/dist/elements/Table/index.css +42 -0
  417. package/dist/elements/TableSection/index.css +0 -1
  418. package/dist/elements/Tabs/index.d.ts.map +1 -1
  419. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -1
  420. package/dist/elements/Thumbnail/index.d.ts +1 -1
  421. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  422. package/dist/elements/Thumbnail/index.js.map +1 -1
  423. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  424. package/dist/elements/TimezonePicker/index.js +5 -1
  425. package/dist/elements/TimezonePicker/index.js.map +1 -1
  426. package/dist/elements/Tooltip/index.css +15 -34
  427. package/dist/elements/Tooltip/index.d.ts +11 -3
  428. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  429. package/dist/elements/Tooltip/index.js +151 -85
  430. package/dist/elements/Tooltip/index.js.map +1 -1
  431. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
  432. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
  433. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  434. package/dist/elements/Upload/index.css +39 -37
  435. package/dist/elements/Upload/index.d.ts.map +1 -1
  436. package/dist/elements/Upload/index.js +37 -99
  437. package/dist/elements/Upload/index.js.map +1 -1
  438. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  439. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  440. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  441. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  442. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  443. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  444. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  445. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  446. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  447. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  448. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  449. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  450. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  451. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts +18 -0
  452. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts.map +1 -0
  453. package/dist/elements/UserMenu/HoverSubmenuGroup.js +38 -0
  454. package/dist/elements/UserMenu/HoverSubmenuGroup.js.map +1 -0
  455. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  456. package/dist/elements/UserMenu/LanguageMenu/index.js +83 -39
  457. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  458. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  459. package/dist/elements/UserMenu/SettingsMenu/index.js +57 -21
  460. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  461. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
  462. package/dist/elements/UserMenu/SubMenuHeader/index.js +8 -9
  463. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
  464. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  465. package/dist/elements/UserMenu/ThemeMenu/index.js +83 -39
  466. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  467. package/dist/elements/UserMenu/index.css +58 -3
  468. package/dist/elements/UserMenu/index.d.ts +1 -0
  469. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  470. package/dist/elements/UserMenu/index.js +77 -51
  471. package/dist/elements/UserMenu/index.js.map +1 -1
  472. package/dist/elements/UserMenu/useHoverSubmenu.d.ts +21 -0
  473. package/dist/elements/UserMenu/useHoverSubmenu.d.ts.map +1 -0
  474. package/dist/elements/UserMenu/useHoverSubmenu.js +260 -0
  475. package/dist/elements/UserMenu/useHoverSubmenu.js.map +1 -0
  476. package/dist/elements/ViewModeToggle/index.d.ts +8 -0
  477. package/dist/elements/ViewModeToggle/index.d.ts.map +1 -0
  478. package/dist/elements/ViewModeToggle/index.js +29 -0
  479. package/dist/elements/ViewModeToggle/index.js.map +1 -0
  480. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
  481. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.d.ts.map +1 -1
  482. package/dist/elements/WhereBuilder/Condition/validOperators.d.ts.map +1 -1
  483. package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
  484. package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
  485. package/dist/elements/WhereBuilder/conditionValue.js +32 -0
  486. package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
  487. package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
  488. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
  489. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  490. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  491. package/dist/elements/WhereBuilder/index.js +15 -4
  492. package/dist/elements/WhereBuilder/index.js.map +1 -1
  493. package/dist/exports/client/index.d.ts +9 -2
  494. package/dist/exports/client/index.d.ts.map +1 -1
  495. package/dist/exports/client/index.js +1 -1
  496. package/dist/exports/client/index.js.map +3 -3
  497. package/dist/exports/layouts.d.ts +1 -0
  498. package/dist/exports/layouts.d.ts.map +1 -1
  499. package/dist/exports/layouts.js +1 -0
  500. package/dist/exports/layouts.js.map +1 -1
  501. package/dist/exports/shared/index.d.ts +1 -0
  502. package/dist/exports/shared/index.d.ts.map +1 -1
  503. package/dist/exports/shared/index.js +2 -2
  504. package/dist/exports/shared/index.js.map +4 -4
  505. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  506. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  507. package/dist/fields/Array/ArrayRow.js +99 -160
  508. package/dist/fields/Array/ArrayRow.js.map +1 -1
  509. package/dist/fields/Array/index.d.ts +1 -1
  510. package/dist/fields/Array/index.d.ts.map +1 -1
  511. package/dist/fields/Array/index.js +45 -14
  512. package/dist/fields/Array/index.js.map +1 -1
  513. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  514. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  515. package/dist/fields/Blocks/BlockRow.js +136 -195
  516. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  517. package/dist/fields/Blocks/RowActions.d.ts +3 -0
  518. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  519. package/dist/fields/Blocks/RowActions.js +26 -20
  520. package/dist/fields/Blocks/RowActions.js.map +1 -1
  521. package/dist/fields/Blocks/index.d.ts +1 -1
  522. package/dist/fields/Blocks/index.d.ts.map +1 -1
  523. package/dist/fields/Blocks/index.js +44 -13
  524. package/dist/fields/Blocks/index.js.map +1 -1
  525. package/dist/fields/Checkbox/Input.d.ts +4 -2
  526. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  527. package/dist/fields/Checkbox/Input.js +136 -148
  528. package/dist/fields/Checkbox/Input.js.map +1 -1
  529. package/dist/fields/Checkbox/index.css +163 -186
  530. package/dist/fields/Checkbox/index.d.ts +1 -1
  531. package/dist/fields/Code/index.css +1 -1
  532. package/dist/fields/Code/index.d.ts +2 -2
  533. package/dist/fields/Collapsible/index.d.ts +1 -1
  534. package/dist/fields/DateTime/index.d.ts +1 -1
  535. package/dist/fields/Email/index.d.ts +1 -1
  536. package/dist/fields/FieldError/index.css +0 -9
  537. package/dist/fields/FieldError/index.d.ts.map +1 -1
  538. package/dist/fields/FieldError/index.js +19 -9
  539. package/dist/fields/FieldError/index.js.map +1 -1
  540. package/dist/fields/Group/index.d.ts +2 -2
  541. package/dist/fields/JSON/index.d.ts +1 -1
  542. package/dist/fields/Join/index.css +9 -0
  543. package/dist/fields/Join/index.d.ts +1 -1
  544. package/dist/fields/Join/index.d.ts.map +1 -1
  545. package/dist/fields/Join/index.js +13 -9
  546. package/dist/fields/Join/index.js.map +1 -1
  547. package/dist/fields/Number/index.d.ts +1 -1
  548. package/dist/fields/Password/types.d.ts +3 -3
  549. package/dist/fields/Password/types.d.ts.map +1 -1
  550. package/dist/fields/Password/types.js.map +1 -1
  551. package/dist/fields/Point/index.d.ts +1 -1
  552. package/dist/fields/RadioGroup/index.css +0 -7
  553. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  554. package/dist/fields/Relationship/Input.js +53 -17
  555. package/dist/fields/Relationship/Input.js.map +1 -1
  556. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  557. package/dist/fields/Relationship/index.d.ts +1 -1
  558. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  559. package/dist/fields/Relationship/optionsReducer.js +2 -0
  560. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  561. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  562. package/dist/fields/Relationship/types.d.ts +24 -0
  563. package/dist/fields/Relationship/types.d.ts.map +1 -1
  564. package/dist/fields/Relationship/types.js.map +1 -1
  565. package/dist/fields/Row/index.d.ts +1 -1
  566. package/dist/fields/Select/index.d.ts +1 -1
  567. package/dist/fields/Select/index.d.ts.map +1 -1
  568. package/dist/fields/Slug/index.css +0 -1
  569. package/dist/fields/Slug/index.d.ts.map +1 -1
  570. package/dist/fields/Slug/index.js +75 -111
  571. package/dist/fields/Slug/index.js.map +1 -1
  572. package/dist/fields/Tabs/index.d.ts +1 -1
  573. package/dist/fields/Text/index.d.ts +1 -1
  574. package/dist/fields/Text/types.d.ts +2 -2
  575. package/dist/fields/Text/types.d.ts.map +1 -1
  576. package/dist/fields/Text/types.js.map +1 -1
  577. package/dist/fields/Textarea/index.d.ts +1 -1
  578. package/dist/fields/Upload/Input.d.ts.map +1 -1
  579. package/dist/fields/Upload/Input.js +61 -22
  580. package/dist/fields/Upload/Input.js.map +1 -1
  581. package/dist/fields/Upload/Input.spec.js +241 -0
  582. package/dist/fields/Upload/Input.spec.js.map +1 -0
  583. package/dist/fields/Upload/index.css +19 -4
  584. package/dist/fields/mergeFieldStyles.d.ts +1 -1
  585. package/dist/fields/mergeFieldStyles.d.ts.map +1 -1
  586. package/dist/forms/Form/context.d.ts.map +1 -1
  587. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
  588. package/dist/forms/Form/errorMessages.d.ts.map +1 -1
  589. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  590. package/dist/forms/Form/fieldReducer.js +3 -1
  591. package/dist/forms/Form/fieldReducer.js.map +1 -1
  592. package/dist/forms/Form/index.d.ts.map +1 -1
  593. package/dist/forms/Form/index.js +12 -15
  594. package/dist/forms/Form/index.js.map +1 -1
  595. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  596. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
  597. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  598. package/dist/forms/Form/rows.d.ts.map +1 -1
  599. package/dist/forms/Form/types.d.ts +1 -1
  600. package/dist/forms/Form/types.d.ts.map +1 -1
  601. package/dist/forms/Form/types.js.map +1 -1
  602. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  603. package/dist/forms/RenderFields/index.css +16 -2
  604. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  605. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  606. package/dist/forms/WatchChildErrors/index.js +2 -2
  607. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  608. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  609. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +14 -5
  610. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  611. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  612. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  613. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  614. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  615. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  616. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  617. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
  618. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  619. package/dist/forms/useField/index.d.ts.map +1 -1
  620. package/dist/forms/withCondition/index.d.ts +1 -1
  621. package/dist/forms/withCondition/index.d.ts.map +1 -1
  622. package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
  623. package/dist/hooks/useDelay.d.ts.map +1 -1
  624. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -1
  625. package/dist/hooks/useHotkey.d.ts.map +1 -1
  626. package/dist/hooks/useIntersect.d.ts.map +1 -1
  627. package/dist/hooks/usePopupWindow.d.ts +1 -1
  628. package/dist/hooks/usePopupWindow.d.ts.map +1 -1
  629. package/dist/hooks/useRelatedCollections.d.ts.map +1 -1
  630. package/dist/hooks/useResize.d.ts.map +1 -1
  631. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  632. package/dist/icons/Arrow/index.d.ts +1 -1
  633. package/dist/icons/Arrow/index.d.ts.map +1 -1
  634. package/dist/icons/Arrow/index.js +7 -1
  635. package/dist/icons/Arrow/index.js.map +1 -1
  636. package/dist/icons/CollapseLayers/index.css +5 -0
  637. package/dist/icons/CollapseLayers/index.d.ts +7 -0
  638. package/dist/icons/CollapseLayers/index.d.ts.map +1 -0
  639. package/dist/icons/CollapseLayers/index.js +23 -0
  640. package/dist/icons/CollapseLayers/index.js.map +1 -0
  641. package/dist/icons/Edit/index.d.ts +0 -1
  642. package/dist/icons/Edit/index.d.ts.map +1 -1
  643. package/dist/icons/Edit/index.js +4 -4
  644. package/dist/icons/Edit/index.js.map +1 -1
  645. package/dist/icons/Table/index.css +5 -0
  646. package/dist/icons/Table/index.d.ts +7 -0
  647. package/dist/icons/Table/index.d.ts.map +1 -0
  648. package/dist/icons/Table/index.js +25 -0
  649. package/dist/icons/Table/index.js.map +1 -0
  650. package/dist/layouts/Root/index.d.ts +1 -1
  651. package/dist/layouts/Root/index.d.ts.map +1 -1
  652. package/dist/layouts/Root/index.js +15 -5
  653. package/dist/layouts/Root/index.js.map +1 -1
  654. package/dist/layouts/Root/index.spec.js +20 -0
  655. package/dist/layouts/Root/index.spec.js.map +1 -0
  656. package/dist/layouts/Root/viewport.d.ts +5 -0
  657. package/dist/layouts/Root/viewport.d.ts.map +1 -0
  658. package/dist/layouts/Root/viewport.js +17 -0
  659. package/dist/layouts/Root/viewport.js.map +1 -0
  660. package/dist/providers/Actions/index.d.ts +1 -0
  661. package/dist/providers/Actions/index.d.ts.map +1 -1
  662. package/dist/providers/Actions/index.js +43 -11
  663. package/dist/providers/Actions/index.js.map +1 -1
  664. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  665. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  666. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  667. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  668. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  669. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  670. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  671. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  672. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  673. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  674. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  675. package/dist/providers/Auth/authSessionRequests.js +119 -0
  676. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  677. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  678. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  679. package/dist/providers/Auth/index.d.ts +5 -59
  680. package/dist/providers/Auth/index.d.ts.map +1 -1
  681. package/dist/providers/Auth/index.js +283 -135
  682. package/dist/providers/Auth/index.js.map +1 -1
  683. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  684. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  685. package/dist/providers/Auth/sessionActivity.js +49 -0
  686. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  687. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  688. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  689. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  690. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  691. package/dist/providers/Auth/sessionTiming.js +18 -0
  692. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  693. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  694. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  695. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  696. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  697. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  698. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  699. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  700. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  701. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  702. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  703. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  704. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  705. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  706. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  707. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  708. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  709. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  710. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  711. package/dist/providers/Auth/types.d.ts +65 -0
  712. package/dist/providers/Auth/types.d.ts.map +1 -0
  713. package/dist/providers/Auth/types.js +2 -0
  714. package/dist/providers/Auth/types.js.map +1 -0
  715. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  716. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  717. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  718. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  719. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  720. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  721. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  722. package/dist/providers/DocumentInfo/index.js.map +1 -1
  723. package/dist/providers/DocumentInfo/types.d.ts +5 -5
  724. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  725. package/dist/providers/DocumentInfo/types.js.map +1 -1
  726. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  727. package/dist/providers/DocumentTitle/index.d.ts +1 -0
  728. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  729. package/dist/providers/DocumentTitle/index.js +2 -0
  730. package/dist/providers/DocumentTitle/index.js.map +1 -1
  731. package/dist/providers/Embed/index.d.ts +24 -0
  732. package/dist/providers/Embed/index.d.ts.map +1 -0
  733. package/dist/providers/Embed/index.js +105 -0
  734. package/dist/providers/Embed/index.js.map +1 -0
  735. package/dist/providers/FormErrorHandler/index.d.ts +24 -0
  736. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  737. package/dist/providers/FormErrorHandler/index.js +6 -0
  738. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  739. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  740. package/dist/providers/Hierarchy/index.js +53 -24
  741. package/dist/providers/Hierarchy/index.js.map +1 -1
  742. package/dist/providers/Hierarchy/types.d.ts +2 -0
  743. package/dist/providers/Hierarchy/types.d.ts.map +1 -1
  744. package/dist/providers/Hierarchy/types.js.map +1 -1
  745. package/dist/providers/HierarchyDnd/index.css +51 -0
  746. package/dist/providers/HierarchyDnd/index.d.ts +21 -0
  747. package/dist/providers/HierarchyDnd/index.d.ts.map +1 -0
  748. package/dist/providers/HierarchyDnd/index.js +163 -0
  749. package/dist/providers/HierarchyDnd/index.js.map +1 -0
  750. package/dist/providers/HierarchyDnd/types.d.ts +56 -0
  751. package/dist/providers/HierarchyDnd/types.d.ts.map +1 -0
  752. package/dist/providers/HierarchyDnd/types.js +21 -0
  753. package/dist/providers/HierarchyDnd/types.js.map +1 -0
  754. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  755. package/dist/providers/ListQuery/index.js +8 -1
  756. package/dist/providers/ListQuery/index.js.map +1 -1
  757. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  758. package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
  759. package/dist/providers/LivePreview/sizeReducer.d.ts +1 -1
  760. package/dist/providers/LivePreview/sizeReducer.d.ts.map +1 -1
  761. package/dist/providers/Locale/index.d.ts.map +1 -1
  762. package/dist/providers/Locale/index.js +41 -36
  763. package/dist/providers/Locale/index.js.map +1 -1
  764. package/dist/providers/Root/index.d.ts +1 -0
  765. package/dist/providers/Root/index.d.ts.map +1 -1
  766. package/dist/providers/Root/index.js +37 -31
  767. package/dist/providers/Root/index.js.map +1 -1
  768. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  769. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  770. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  771. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  772. package/dist/providers/RouteTransition/index.d.ts +2 -0
  773. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  774. package/dist/providers/RouteTransition/index.js +42 -14
  775. package/dist/providers/RouteTransition/index.js.map +1 -1
  776. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  777. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  778. package/dist/providers/SidebarTabs/index.js.map +1 -1
  779. package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -1
  780. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.d.ts.map +1 -1
  781. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -1
  782. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  783. package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
  784. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  785. package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
  786. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
  787. package/dist/providers/TableColumns/getInitialColumns.d.ts +1 -1
  788. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -1
  789. package/dist/providers/Theme/index.d.ts +5 -2
  790. package/dist/providers/Theme/index.d.ts.map +1 -1
  791. package/dist/providers/Theme/index.js +109 -96
  792. package/dist/providers/Theme/index.js.map +1 -1
  793. package/dist/providers/Theme/shared.d.ts +3 -0
  794. package/dist/providers/Theme/shared.d.ts.map +1 -0
  795. package/dist/providers/Theme/shared.js +2 -0
  796. package/dist/providers/Theme/shared.js.map +1 -0
  797. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  798. package/dist/providers/UploadHandlers/index.d.ts +2 -7
  799. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  800. package/dist/providers/UploadHandlers/index.js +102 -42
  801. package/dist/providers/UploadHandlers/index.js.map +1 -1
  802. package/dist/styles.css +23 -10
  803. package/dist/templates/Default/Wrapper/index.css +2 -1
  804. package/dist/templates/Default/Wrapper/index.d.ts +2 -0
  805. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  806. package/dist/templates/Default/Wrapper/index.js +12 -6
  807. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  808. package/dist/templates/Default/index.css +3 -1
  809. package/dist/templates/Default/index.d.ts +1 -0
  810. package/dist/templates/Default/index.d.ts.map +1 -1
  811. package/dist/templates/Default/index.js +19 -15
  812. package/dist/templates/Default/index.js.map +1 -1
  813. package/dist/utilities/api.d.ts.map +1 -1
  814. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  815. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  816. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  817. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  818. package/dist/utilities/buildFormState.d.ts +2 -2
  819. package/dist/utilities/buildFormState.d.ts.map +1 -1
  820. package/dist/utilities/buildFormState.js.map +1 -1
  821. package/dist/utilities/checkDependencies.d.ts.map +1 -1
  822. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  823. package/dist/utilities/combineFieldLabel.js +5 -1
  824. package/dist/utilities/combineFieldLabel.js.map +1 -1
  825. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  826. package/dist/utilities/filterOutUploadFields.d.ts.map +1 -1
  827. package/dist/utilities/findLocaleFromCode.d.ts.map +1 -1
  828. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  829. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  830. package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts.map +1 -1
  831. package/dist/utilities/formatDocTitle/index.d.ts +1 -1
  832. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
  833. package/dist/utilities/formatDocTitle/index.js +1 -1
  834. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  835. package/dist/utilities/formatFields.d.ts.map +1 -1
  836. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  837. package/dist/utilities/formatMetadata.js +0 -5
  838. package/dist/utilities/formatMetadata.js.map +1 -1
  839. package/dist/utilities/generateFieldID.d.ts +1 -1
  840. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  841. package/dist/utilities/generateFieldID.js +2 -2
  842. package/dist/utilities/generateFieldID.js.map +1 -1
  843. package/dist/utilities/getColumns.d.ts.map +1 -1
  844. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  845. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  846. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  847. package/dist/utilities/getDocumentPermissions.d.ts.map +1 -1
  848. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  849. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  850. package/dist/utilities/getFilesFromClipboard.js +49 -0
  851. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  852. package/dist/utilities/getGlobalData.d.ts +2 -2
  853. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  854. package/dist/utilities/getGlobalData.js.map +1 -1
  855. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  856. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  857. package/dist/utilities/getLanguageDir.d.ts +12 -0
  858. package/dist/utilities/getLanguageDir.d.ts.map +1 -0
  859. package/dist/utilities/getLanguageDir.js +12 -0
  860. package/dist/utilities/getLanguageDir.js.map +1 -0
  861. package/dist/utilities/getOffsetTop.d.ts.map +1 -1
  862. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  863. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  864. package/dist/utilities/getRequestEmbed.js +10 -0
  865. package/dist/utilities/getRequestEmbed.js.map +1 -0
  866. package/dist/utilities/getRequestHighContrast.d.ts.map +1 -1
  867. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  868. package/dist/utilities/getRequestTheme.d.ts +1 -1
  869. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  870. package/dist/utilities/getRequestTheme.js +1 -1
  871. package/dist/utilities/getRequestTheme.js.map +1 -1
  872. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
  873. package/dist/utilities/getSupportedMonacoLocale.d.ts.map +1 -1
  874. package/dist/utilities/getVersions.d.ts.map +1 -1
  875. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  876. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -1
  877. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  878. package/dist/utilities/handleGoBack.d.ts.map +1 -1
  879. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  880. package/dist/utilities/handlePreview.d.ts.map +1 -1
  881. package/dist/utilities/handleServerFunctions.d.ts +32 -8
  882. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  883. package/dist/utilities/handleServerFunctions.js +17 -37
  884. package/dist/utilities/handleServerFunctions.js.map +1 -1
  885. package/dist/utilities/handleStaleDataCheck.d.ts.map +1 -1
  886. package/dist/utilities/handleTakeOver.d.ts +5 -5
  887. package/dist/utilities/handleTakeOver.d.ts.map +1 -1
  888. package/dist/utilities/handleTakeOver.js.map +1 -1
  889. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -1
  890. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  891. package/dist/utilities/initReq.d.ts.map +1 -1
  892. package/dist/utilities/isClientUserObject.d.ts +2 -2
  893. package/dist/utilities/isClientUserObject.d.ts.map +1 -1
  894. package/dist/utilities/isClientUserObject.js.map +1 -1
  895. package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
  896. package/dist/utilities/isEditing.d.ts.map +1 -1
  897. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
  898. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  899. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  900. package/dist/utilities/isURLAllowed.js +9 -3
  901. package/dist/utilities/isURLAllowed.js.map +1 -1
  902. package/dist/utilities/recentlyViewed.d.ts.map +1 -1
  903. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  904. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  905. package/dist/utilities/renderTable.d.ts +2 -2
  906. package/dist/utilities/renderTable.d.ts.map +1 -1
  907. package/dist/utilities/renderTable.js +18 -2
  908. package/dist/utilities/renderTable.js.map +1 -1
  909. package/dist/utilities/resolveFilterOptions.d.ts +1 -1
  910. package/dist/utilities/resolveFilterOptions.d.ts.map +1 -1
  911. package/dist/utilities/sanitizeFilterOptionsQuery.d.ts.map +1 -1
  912. package/dist/utilities/scrollToID.d.ts.map +1 -1
  913. package/dist/utilities/selectiveCache.d.ts.map +1 -1
  914. package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
  915. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  916. package/dist/utilities/serverFunctionRegistry.js +25 -7
  917. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  918. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  919. package/dist/utilities/slugify.d.ts.map +1 -1
  920. package/dist/utilities/slugify.js +50 -6
  921. package/dist/utilities/slugify.js.map +1 -1
  922. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  923. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  924. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts.map +1 -1
  925. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  926. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  927. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  928. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  929. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  930. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  931. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  932. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  933. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  934. package/dist/views/Dashboard/Default/ModularDashboard/index.css +29 -144
  935. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
  936. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  937. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
  938. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  939. package/dist/views/Dashboard/Default/index.d.ts +2 -2
  940. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  941. package/dist/views/Dashboard/Default/index.js.map +1 -1
  942. package/dist/views/Document/getCustomDocumentViewByKey.d.ts +1 -1
  943. package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
  944. package/dist/views/Document/getCustomViewByRoute.d.ts +1 -1
  945. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  946. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  947. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  948. package/dist/views/Document/index.d.ts +1 -1
  949. package/dist/views/Document/index.d.ts.map +1 -1
  950. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -1
  951. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  952. package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
  953. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  954. package/dist/views/Edit/index.css +61 -53
  955. package/dist/views/Edit/index.d.ts.map +1 -1
  956. package/dist/views/Edit/index.js +3 -2
  957. package/dist/views/Edit/index.js.map +1 -1
  958. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  959. package/dist/views/HierarchyList/DocumentListSelection/index.js +100 -105
  960. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  961. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.css +216 -0
  962. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts +20 -0
  963. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts.map +1 -0
  964. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js +186 -0
  965. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js.map +1 -0
  966. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.css +38 -0
  967. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts +15 -0
  968. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts.map +1 -0
  969. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js +85 -0
  970. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js.map +1 -0
  971. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.css +98 -0
  972. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts +27 -0
  973. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts.map +1 -0
  974. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js +84 -0
  975. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js.map +1 -0
  976. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts +19 -0
  977. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts.map +1 -0
  978. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js +100 -0
  979. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js.map +1 -0
  980. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts +53 -0
  981. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts.map +1 -0
  982. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js +145 -0
  983. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js.map +1 -0
  984. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts +8 -0
  985. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts.map +1 -0
  986. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js +21 -0
  987. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js.map +1 -0
  988. package/dist/views/HierarchyList/HierarchyCards/index.css +115 -0
  989. package/dist/views/HierarchyList/HierarchyCards/index.d.ts +80 -0
  990. package/dist/views/HierarchyList/HierarchyCards/index.d.ts.map +1 -0
  991. package/dist/views/HierarchyList/HierarchyCards/index.js +457 -0
  992. package/dist/views/HierarchyList/HierarchyCards/index.js.map +1 -0
  993. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +6 -1
  994. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  995. package/dist/views/HierarchyList/HierarchyListHeader/index.js +10 -8
  996. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  997. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  998. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +76 -62
  999. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  1000. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +1 -1
  1001. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +82 -108
  1002. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
  1003. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +5 -164
  1004. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +8 -2
  1005. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  1006. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +20 -17
  1007. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  1008. package/dist/views/HierarchyList/HierarchyTable/index.css +64 -36
  1009. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +13 -1
  1010. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  1011. package/dist/views/HierarchyList/HierarchyTable/index.js +156 -38
  1012. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  1013. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +8 -2
  1014. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  1015. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  1016. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
  1017. package/dist/views/HierarchyList/TypeFilter/index.js +3 -0
  1018. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  1019. package/dist/views/HierarchyList/index.css +1 -1
  1020. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  1021. package/dist/views/HierarchyList/index.js +103 -24
  1022. package/dist/views/HierarchyList/index.js.map +1 -1
  1023. package/dist/views/List/ListHeader/index.d.ts +1 -10
  1024. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  1025. package/dist/views/List/ListHeader/index.js +3 -5
  1026. package/dist/views/List/ListHeader/index.js.map +1 -1
  1027. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  1028. package/dist/views/List/ListSelection/index.js +138 -122
  1029. package/dist/views/List/ListSelection/index.js.map +1 -1
  1030. package/dist/views/List/createSerializableValue.d.ts.map +1 -1
  1031. package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
  1032. package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
  1033. package/dist/views/List/generateListViewMetadata.d.ts.map +1 -1
  1034. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  1035. package/dist/views/List/handleHierarchy.d.ts +7 -2
  1036. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  1037. package/dist/views/List/handleHierarchy.js +50 -10
  1038. package/dist/views/List/handleHierarchy.js.map +1 -1
  1039. package/dist/views/List/index.client.d.ts.map +1 -1
  1040. package/dist/views/List/index.client.js +132 -32
  1041. package/dist/views/List/index.client.js.map +1 -1
  1042. package/dist/views/List/index.css +1 -16
  1043. package/dist/views/List/index.d.ts.map +1 -1
  1044. package/dist/views/List/index.js +61 -15
  1045. package/dist/views/List/index.js.map +1 -1
  1046. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  1047. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
  1048. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
  1049. package/dist/views/Logout/index.d.ts.map +1 -1
  1050. package/dist/views/Logout/index.js +11 -0
  1051. package/dist/views/Logout/index.js.map +1 -1
  1052. package/dist/views/NotFound/page.d.ts.map +1 -1
  1053. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
  1054. package/dist/views/Root/generatePageMetadata.d.ts.map +1 -1
  1055. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts +1 -1
  1056. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  1057. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  1058. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +1 -1
  1059. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  1060. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  1061. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  1062. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  1063. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  1064. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  1065. package/dist/views/Root/getRouteData.js +8 -2
  1066. package/dist/views/Root/getRouteData.js.map +1 -1
  1067. package/dist/views/Root/index.d.ts +12 -1
  1068. package/dist/views/Root/index.d.ts.map +1 -1
  1069. package/dist/views/Root/index.js +11 -3
  1070. package/dist/views/Root/index.js.map +1 -1
  1071. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  1072. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
  1073. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  1074. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  1075. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  1076. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  1077. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
  1078. package/dist/views/Versions/buildColumns.d.ts +1 -1
  1079. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  1080. package/dist/views/Versions/fetchVersions.d.ts +4 -4
  1081. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  1082. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  1083. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +2 -2
  1084. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -1
  1085. package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -1
  1086. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  1087. package/dist/widgets/WidgetCard/index.css +1 -1
  1088. package/package.json +7 -11
  1089. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +0 -36
  1090. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
  1091. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
  1092. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -141
  1093. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
  1094. package/dist/elements/Nav/NavToggler/index.css +0 -12
  1095. package/dist/elements/Nav/NavToggler/index.d.ts +0 -9
  1096. package/dist/elements/Nav/NavToggler/index.d.ts.map +0 -1
  1097. package/dist/elements/Nav/NavToggler/index.js +0 -91
  1098. package/dist/elements/Nav/NavToggler/index.js.map +0 -1
  1099. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  1100. package/dist/scss/app.scss +0 -183
  1101. package/dist/scss/colors.scss +0 -191
  1102. package/dist/scss/custom.css +0 -1
  1103. package/dist/scss/queries.scss +0 -27
  1104. package/dist/scss/styles.scss +0 -9
  1105. package/dist/scss/svg.scss +0 -10
  1106. package/dist/scss/toastify.scss +0 -61
  1107. package/dist/scss/vars.scss +0 -192
  1108. package/dist/scss/z-index.scss +0 -9
@@ -4,22 +4,22 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
4
4
  import { getTranslation } from '@payloadcms/translations';
5
5
  import React, { useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
6
6
  import { useEffectEvent } from '../../../hooks/useEffectEvent.js';
7
- import { TagIcon } from '../../../icons/Tag/index.js';
8
7
  import { useConfig } from '../../../providers/Config/index.js';
9
8
  import { useHierarchy } from '../../../providers/Hierarchy/index.js';
10
9
  import { useTranslation } from '../../../providers/Translation/index.js';
11
- import { Button } from '../../Button/index.js';
12
10
  import { DialogBody, DialogHeader, DialogModal } from '../../Dialog/index.js';
13
11
  import { useDocumentDrawer } from '../../DocumentDrawer/index.js';
14
12
  import { DrawerDepthProvider } from '../../Drawer/index.js';
15
13
  import { HierarchyColumnBrowser } from '../ColumnBrowser/index.js';
16
- import { fetchAncestorPath } from './fetchAncestorPath.js';
14
+ import { fetchAncestorPaths } from './fetchAncestorPath.js';
15
+ import { HierarchyModalFooter } from './Footer/index.js';
17
16
  import './index.css';
18
17
  export const baseClass = 'hierarchy-modal';
19
18
  export const HierarchyModalContent = function HierarchyModalContent({
20
19
  baseFilter,
21
20
  closeModal,
22
21
  columnBrowserRef,
22
+ confirmLabel,
23
23
  disabledIds,
24
24
  filterByCollection,
25
25
  hasMany = false,
@@ -32,6 +32,7 @@ export const HierarchyModalContent = function HierarchyModalContent({
32
32
  parentFieldName,
33
33
  ref,
34
34
  showMoveToRoot,
35
+ title,
35
36
  useAsTitle
36
37
  }) {
37
38
  const {
@@ -53,14 +54,17 @@ export const HierarchyModalContent = function HierarchyModalContent({
53
54
  collectionSlug: hierarchyCollectionSlug
54
55
  });
55
56
  const collectionLabel = collectionConfig ? getTranslation(collectionConfig.labels?.plural || hierarchyCollectionSlug, i18n) : hierarchyCollectionSlug;
57
+ const collectionLabelSingular = collectionConfig ? getTranslation(collectionConfig.labels?.singular || hierarchyCollectionSlug, i18n) : hierarchyCollectionSlug;
56
58
  const parentFieldName_internal = collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy.parentFieldName : parentFieldName;
57
59
  const [initialExpandedPath, setInitialExpandedPath] = useState();
60
+ const [previousPath, setPreviousPath] = useState();
58
61
  const [isLoadingPath, setIsLoadingPath] = useState(Boolean(initialSelections?.length));
59
62
  const hasLoadedPathRef = React.useRef(false);
60
- const firstSelection = initialSelections?.[0];
61
63
  const mapSelections = useCallback(ids => {
62
64
  const map = new Map();
63
- if (ids) {
65
+ // Single-select is a move: the existing value is the origin shown in the footer, not a
66
+ // pre-made choice. Multi-select edits a set, so existing values start checked.
67
+ if (ids && hasMany) {
64
68
  for (const id of ids) {
65
69
  map.set(id, {
66
70
  id,
@@ -69,39 +73,78 @@ export const HierarchyModalContent = function HierarchyModalContent({
69
73
  }
70
74
  }
71
75
  return map;
72
- }, []);
73
- const loadAncestorPath = useEffectEvent(async itemId => {
74
- if (!itemId) {
76
+ }, [hasMany]);
77
+ const [selections, setSelections] = useState(() => mapSelections(initialSelections));
78
+ const loadAncestorPaths = useEffectEvent(async ids_0 => {
79
+ const firstId = ids_0?.[0];
80
+ if (!firstId) {
75
81
  setIsLoadingPath(false);
76
82
  return;
77
83
  }
84
+ // Multi-select marks the ancestors of every checked item as partially selected, so all of
85
+ // their paths are needed. Single-select only needs the origin of the move.
86
+ const itemIds = hasMany ? ids_0 : [firstId];
78
87
  try {
79
- const path = await fetchAncestorPath({
88
+ const paths = await fetchAncestorPaths({
80
89
  api,
81
90
  collectionSlug: hierarchyCollectionSlug,
82
- itemId,
91
+ itemIds,
83
92
  parentFieldName: parentFieldName_internal,
84
- serverURL
93
+ serverURL,
94
+ useAsTitle: useAsTitle || 'id'
85
95
  });
86
- setInitialExpandedPath(path);
96
+ const firstPath = paths.get(firstId);
97
+ setInitialExpandedPath(firstPath?.ancestorIds);
98
+ setPreviousPath(firstPath?.path);
99
+ // Selections seeded from the field's value start without a path - backfill them so their
100
+ // ancestors can be marked, and so the footer breadcrumbs read correctly
101
+ if (hasMany) {
102
+ setSelections(prev => {
103
+ const next = new Map(prev);
104
+ for (const [id_0, {
105
+ path
106
+ }] of paths) {
107
+ if (next.has(id_0)) {
108
+ next.set(id_0, {
109
+ id: id_0,
110
+ path
111
+ });
112
+ }
113
+ }
114
+ return next;
115
+ });
116
+ }
87
117
  } catch {
88
118
  // Silently handle fetch errors - will just start at root
89
119
  } finally {
90
120
  setIsLoadingPath(false);
91
121
  }
92
122
  });
93
- // Load ancestor path on mount
123
+ // Load ancestor paths on mount
94
124
  useEffect(() => {
95
125
  if (hasLoadedPathRef.current) {
96
126
  return;
97
127
  }
98
128
  hasLoadedPathRef.current = true;
99
- void loadAncestorPath(firstSelection);
100
- }, [firstSelection]);
101
- const [selections, setSelections] = useState(() => mapSelections(initialSelections));
129
+ void loadAncestorPaths(initialSelections);
130
+ }, [initialSelections]);
102
131
  const selectedIds = useMemo(() => new Set(selections.keys()), [selections]);
103
- // For now, ancestorsWithSelections is empty - will be computed when we have path tracking
104
- const ancestorsWithSelections = useMemo(() => new Set(), []);
132
+ // Every ancestor of a checked item gets a badge counting the picks below it, so a collapsed
133
+ // branch still shows how much is selected inside
134
+ const selectedDescendantCounts = useMemo(() => {
135
+ const counts = new Map();
136
+ for (const {
137
+ id: id_1,
138
+ path: path_0
139
+ } of selections.values()) {
140
+ for (const segment of path_0) {
141
+ if (segment.id !== id_1) {
142
+ counts.set(segment.id, (counts.get(segment.id) ?? 0) + 1);
143
+ }
144
+ }
145
+ }
146
+ return counts;
147
+ }, [selections]);
105
148
  const handleSave = useCallback(() => {
106
149
  onSave({
107
150
  closeModal,
@@ -109,115 +152,92 @@ export const HierarchyModalContent = function HierarchyModalContent({
109
152
  });
110
153
  }, [onSave, selections, closeModal]);
111
154
  const handleSelect = useCallback(({
112
- id: id_0,
113
- path: path_0
155
+ id: id_2,
156
+ path: path_1
114
157
  }) => {
115
- setSelections(prev => {
116
- const next = new Map(prev);
117
- if (next.has(id_0)) {
118
- next.delete(id_0);
158
+ setSelections(prev_0 => {
159
+ const next_0 = new Map(prev_0);
160
+ // Single select replaces rather than toggles - clicking an item always makes it the
161
+ // destination, so re-clicking the open folder cannot leave the move with no target
162
+ if (!hasMany) {
163
+ next_0.clear();
164
+ next_0.set(id_2, {
165
+ id: id_2,
166
+ path: path_1
167
+ });
168
+ return next_0;
169
+ }
170
+ if (next_0.has(id_2)) {
171
+ next_0.delete(id_2);
119
172
  } else {
120
- if (!hasMany) {
121
- // Single select: clear previous selections
122
- next.clear();
123
- }
124
- next.set(id_0, {
125
- id: id_0,
126
- path: path_0
173
+ next_0.set(id_2, {
174
+ id: id_2,
175
+ path: path_1
127
176
  });
128
177
  }
129
- return next;
178
+ return next_0;
130
179
  });
131
180
  }, [hasMany]);
132
181
  const handleClearAll = useCallback(() => {
133
182
  setSelections(new Map());
134
183
  }, []);
184
+ const handleRevealPath = useCallback(path_2 => {
185
+ // Clicking a footer breadcrumb chip (previous or destination folder) makes that folder the
186
+ // current selection, same as clicking its row in the browser would.
187
+ const target = path_2[path_2.length - 1];
188
+ if (target) {
189
+ handleSelect({
190
+ id: target.id,
191
+ path: path_2
192
+ });
193
+ }
194
+ void columnBrowserRef?.current?.revealPath(path_2);
195
+ }, [columnBrowserRef, handleSelect]);
135
196
  const handleCancel = useCallback(() => {
136
197
  setSelections(mapSelections(initialSelections));
137
198
  closeModal();
138
199
  }, [closeModal, initialSelections, mapSelections]);
139
200
  // Expose selectItem for programmatic selection (e.g., after creating a new item)
140
201
  useImperativeHandle(ref, () => ({
141
- selectItem: id_1 => {
142
- setSelections(prev_0 => {
143
- const next_0 = new Map(prev_0);
202
+ selectItem: ({
203
+ id: id_3,
204
+ title: itemTitle
205
+ }) => {
206
+ setSelections(prev_1 => {
207
+ const next_1 = new Map(prev_1);
144
208
  if (!hasMany) {
145
- next_0.clear();
209
+ next_1.clear();
146
210
  }
147
- // Path will be empty for newly created items - could be enhanced later
148
- next_0.set(id_1, {
149
- id: id_1,
150
- path: []
211
+ // A newly created item has no browsed path, so its own title is the whole breadcrumb
212
+ next_1.set(id_3, {
213
+ id: id_3,
214
+ path: itemTitle ? [{
215
+ id: id_3,
216
+ title: itemTitle
217
+ }] : []
151
218
  });
152
- return next_0;
219
+ return next_1;
153
220
  });
154
221
  }
155
222
  }), [hasMany]);
156
223
  const selectionCount = selections.size;
224
+ const destinationPath = hasMany ? undefined : selections.values().next().value?.path;
157
225
  return /*#__PURE__*/_jsxs("div", {
158
226
  className: `${baseClass}__content`,
159
227
  children: [/*#__PURE__*/_jsx(DialogHeader, {
160
- title: t('general:selectValue', {
228
+ onClose: handleCancel,
229
+ showClose: true,
230
+ title: title || t('general:selectLabel', {
161
231
  label: collectionLabel
162
- }),
163
- children: /*#__PURE__*/_jsxs("div", {
164
- className: `${baseClass}__header-actions`,
165
- children: [/*#__PURE__*/_jsx(Button, {
166
- buttonStyle: "secondary",
167
- margin: false,
168
- onClick: handleCancel,
169
- size: "medium",
170
- children: t('general:cancel')
171
- }), /*#__PURE__*/_jsx(Button, {
172
- margin: false,
173
- onClick: handleSave,
174
- size: "medium",
175
- children: t('general:select')
176
- })]
177
232
  })
178
- }), /*#__PURE__*/_jsxs(DialogBody, {
179
- children: [/*#__PURE__*/_jsxs("div", {
180
- className: `${baseClass}__subheader`,
181
- children: [/*#__PURE__*/_jsxs("div", {
182
- className: `${baseClass}__subheader-left`,
183
- children: [Icon || /*#__PURE__*/_jsx(TagIcon, {}), /*#__PURE__*/_jsx("h4", {
184
- children: collectionLabel
185
- })]
186
- }), /*#__PURE__*/_jsxs("div", {
187
- className: `${baseClass}__subheader-right`,
188
- children: [showMoveToRoot && onMoveToRoot && /*#__PURE__*/_jsx(Button, {
189
- buttonStyle: "ghost",
190
- className: `${baseClass}__move-to-root`,
191
- margin: false,
192
- onClick: onMoveToRoot,
193
- size: "medium",
194
- children: t('hierarchy:moveToRoot')
195
- }), Boolean(selectionCount) && /*#__PURE__*/_jsxs(_Fragment, {
196
- children: [/*#__PURE__*/_jsx("span", {
197
- className: `${baseClass}__selection-info`,
198
- children: t('general:selectedCount', {
199
- count: selectionCount,
200
- label: ''
201
- })
202
- }), /*#__PURE__*/_jsx("span", {
203
- children: "—"
204
- }), /*#__PURE__*/_jsx(Button, {
205
- buttonStyle: "ghost",
206
- className: `${baseClass}__clear-all`,
207
- margin: false,
208
- onClick: handleClearAll,
209
- size: "medium",
210
- children: t('general:clear')
211
- })]
212
- })]
213
- })]
214
- }), /*#__PURE__*/_jsx("div", {
233
+ }), /*#__PURE__*/_jsx(DialogBody, {
234
+ children: /*#__PURE__*/_jsx("div", {
215
235
  className: `${baseClass}__columns`,
216
236
  children: /*#__PURE__*/_jsx(HierarchyColumnBrowser, {
217
- ancestorsWithSelections: ancestorsWithSelections,
218
237
  baseFilter: baseFilter,
219
238
  disabledIds: disabledIds,
220
239
  filterByCollection: filterByCollection,
240
+ hasMany: hasMany,
221
241
  hierarchyCollectionSlug: hierarchyCollectionSlug,
222
242
  initialExpandedPath: initialExpandedPath,
223
243
  isLoadingPath: isLoadingPath,
@@ -225,10 +245,31 @@ export const HierarchyModalContent = function HierarchyModalContent({
225
245
  onSelect: handleSelect,
226
246
  parentFieldName: parentFieldName,
227
247
  ref: columnBrowserRef,
248
+ selectedDescendantCounts: selectedDescendantCounts,
228
249
  selectedIds: selectedIds,
229
250
  useAsTitle: useAsTitle
230
251
  })
231
- })]
252
+ })
253
+ }), /*#__PURE__*/_jsx(HierarchyModalFooter, {
254
+ confirmLabel: confirmLabel || (hasMany ? t('general:confirm') : t('general:move')),
255
+ destinationPath: destinationPath,
256
+ Icon: Icon,
257
+ isConfirmDisabled: selectionCount === 0,
258
+ isMultiSelect: hasMany,
259
+ onClear: handleClearAll,
260
+ onConfirm: handleSave,
261
+ onMoveToRoot: onMoveToRoot,
262
+ onRevealPath: handleRevealPath,
263
+ placeholderLabel: t('general:selectLabel', {
264
+ label: hasMany ? collectionLabel : collectionLabelSingular
265
+ }),
266
+ previousPath: hasMany ? undefined : previousPath,
267
+ selectionCount: selectionCount,
268
+ selectionCountLabel: t('general:selectedCount', {
269
+ count: selectionCount,
270
+ label: collectionLabel
271
+ }),
272
+ showMoveToRoot: showMoveToRoot
232
273
  })]
233
274
  });
234
275
  };
@@ -237,7 +278,8 @@ export const HierarchyModal = props => {
237
278
  hierarchyCollectionSlug,
238
279
  modalSlug,
239
280
  parentFieldName,
240
- reopenCount
281
+ reopenCount,
282
+ useAsTitle
241
283
  } = props;
242
284
  const {
243
285
  refreshTree
@@ -287,11 +329,15 @@ export const HierarchyModal = props => {
287
329
  void columnBrowserRef.current.refreshColumn(createParentId);
288
330
  }
289
331
  if (modalContentRef.current && doc?.id) {
290
- modalContentRef.current.selectItem(doc.id);
332
+ const newItemTitle = useAsTitle ? doc[useAsTitle] : undefined;
333
+ modalContentRef.current.selectItem({
334
+ id: doc.id,
335
+ title: typeof newItemTitle === 'string' ? newItemTitle : undefined
336
+ });
291
337
  }
292
338
  refreshTree(hierarchyCollectionSlug);
293
339
  closeDocumentDrawer();
294
- }, [closeDocumentDrawer, createParentId, hierarchyCollectionSlug, refreshTree]);
340
+ }, [closeDocumentDrawer, createParentId, hierarchyCollectionSlug, refreshTree, useAsTitle]);
295
341
  // Memoize the content - only depends on stable values
296
342
  const modalContent = useMemo(() => /*#__PURE__*/_jsx(HierarchyModalContent, {
297
343
  ...props,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","useEffectEvent","TagIcon","useConfig","useHierarchy","useTranslation","Button","DialogBody","DialogHeader","DialogModal","useDocumentDrawer","DrawerDepthProvider","HierarchyColumnBrowser","fetchAncestorPath","baseClass","HierarchyModalContent","baseFilter","closeModal","columnBrowserRef","disabledIds","filterByCollection","hasMany","hierarchyCollectionSlug","Icon","initialSelections","onCreateNew","onMoveToRoot","onSave","parentFieldName","ref","showMoveToRoot","useAsTitle","i18n","t","config","routes","api","serverURL","getEntityConfig","collectionConfig","collectionSlug","collectionLabel","labels","plural","parentFieldName_internal","hierarchy","initialExpandedPath","setInitialExpandedPath","isLoadingPath","setIsLoadingPath","Boolean","length","hasLoadedPathRef","firstSelection","mapSelections","ids","map","Map","id","set","path","loadAncestorPath","itemId","current","selections","setSelections","selectedIds","Set","keys","ancestorsWithSelections","handleSave","handleSelect","prev","next","has","delete","clear","handleClearAll","handleCancel","selectItem","selectionCount","size","_jsxs","className","_jsx","title","label","buttonStyle","margin","onClick","_Fragment","count","onSelect","HierarchyModal","props","modalSlug","reopenCount","refreshTree","createParentId","setCreateParentId","modalContentRef","documentDrawerKey","setDocumentDrawerKey","documentDrawerSlug","DocumentDrawer","closeDrawer","closeDocumentDrawer","openDrawer","openDocumentDrawer","drawerSlug","handleCreateNew","parentId","setTimeout","handleDocumentSave","doc","undefined","refreshColumn","modalContent","closeOnBlur","slug","initialData"],"sources":["../../../../src/elements/Hierarchy/Modal/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport type { HierarchyColumnBrowserRef } from '../ColumnBrowser/index.js'\nimport type { HierarchyModalInternalProps, SelectionWithPath } from './types.js'\n\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { TagIcon } from '../../../icons/Tag/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DialogBody, DialogHeader, DialogModal } from '../../Dialog/index.js'\nimport { useDocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { DrawerDepthProvider } from '../../Drawer/index.js'\nimport { HierarchyColumnBrowser } from '../ColumnBrowser/index.js'\nimport { fetchAncestorPath } from './fetchAncestorPath.js'\nimport './index.css'\n\nexport const baseClass = 'hierarchy-modal'\n\ntype HierarchyModalContentProps = {\n columnBrowserRef?: React.RefObject<HierarchyColumnBrowserRef | null>\n onCreateNew?: (params: { parentId: null | number | string }) => void\n} & HierarchyModalInternalProps\n\nexport type HierarchyModalContentRef = {\n selectItem: (id: number | string) => void\n}\n\nexport const HierarchyModalContent = function HierarchyModalContent({\n baseFilter,\n closeModal,\n columnBrowserRef,\n disabledIds,\n filterByCollection,\n hasMany = false,\n hierarchyCollectionSlug,\n Icon,\n initialSelections,\n onCreateNew,\n onMoveToRoot,\n onSave,\n parentFieldName,\n ref,\n showMoveToRoot,\n useAsTitle,\n}: { ref?: React.RefObject<HierarchyModalContentRef | null> } & HierarchyModalContentProps) {\n const { i18n, t } = useTranslation()\n // NOTE: Do NOT use useModal() here - it causes re-renders when any modal state changes\n // Use closeModal prop instead which already handles closing the modal\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const collectionLabel = collectionConfig\n ? getTranslation(collectionConfig.labels?.plural || hierarchyCollectionSlug, i18n)\n : hierarchyCollectionSlug\n\n const parentFieldName_internal =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy.parentFieldName\n : parentFieldName\n\n const [initialExpandedPath, setInitialExpandedPath] = useState<(number | string)[] | undefined>()\n const [isLoadingPath, setIsLoadingPath] = useState(Boolean(initialSelections?.length))\n const hasLoadedPathRef = React.useRef(false)\n const firstSelection = initialSelections?.[0]\n\n const mapSelections = useCallback((ids?: (number | string)[]) => {\n const map = new Map<number | string, SelectionWithPath>()\n\n if (ids) {\n for (const id of ids) {\n map.set(id, { id, path: [] })\n }\n }\n\n return map\n }, [])\n\n const loadAncestorPath = useEffectEvent(async (itemId?: number | string) => {\n if (!itemId) {\n setIsLoadingPath(false)\n return\n }\n\n try {\n const path = await fetchAncestorPath({\n api,\n collectionSlug: hierarchyCollectionSlug,\n itemId,\n parentFieldName: parentFieldName_internal,\n serverURL,\n })\n setInitialExpandedPath(path)\n } catch {\n // Silently handle fetch errors - will just start at root\n } finally {\n setIsLoadingPath(false)\n }\n })\n\n // Load ancestor path on mount\n useEffect(() => {\n if (hasLoadedPathRef.current) {\n return\n }\n hasLoadedPathRef.current = true\n void loadAncestorPath(firstSelection)\n }, [firstSelection])\n\n const [selections, setSelections] = useState<Map<number | string, SelectionWithPath>>(() =>\n mapSelections(initialSelections),\n )\n\n const selectedIds = useMemo(() => new Set(selections.keys()), [selections])\n\n // For now, ancestorsWithSelections is empty - will be computed when we have path tracking\n const ancestorsWithSelections = useMemo(() => new Set<number | string>(), [])\n\n const handleSave = useCallback(() => {\n onSave({ closeModal, selections })\n }, [onSave, selections, closeModal])\n\n const handleSelect = useCallback(\n ({\n id,\n path,\n }: {\n id: number | string\n path: Array<{ id: number | string; title: string }>\n }) => {\n setSelections((prev) => {\n const next = new Map(prev)\n\n if (next.has(id)) {\n next.delete(id)\n } else {\n if (!hasMany) {\n // Single select: clear previous selections\n next.clear()\n }\n next.set(id, { id, path })\n }\n\n return next\n })\n },\n [hasMany],\n )\n\n const handleClearAll = useCallback(() => {\n setSelections(new Map())\n }, [])\n\n const handleCancel = useCallback(() => {\n setSelections(mapSelections(initialSelections))\n closeModal()\n }, [closeModal, initialSelections, mapSelections])\n\n // Expose selectItem for programmatic selection (e.g., after creating a new item)\n useImperativeHandle(\n ref,\n () => ({\n selectItem: (id: number | string) => {\n setSelections((prev) => {\n const next = new Map(prev)\n if (!hasMany) {\n next.clear()\n }\n // Path will be empty for newly created items - could be enhanced later\n next.set(id, { id, path: [] })\n return next\n })\n },\n }),\n [hasMany],\n )\n\n const selectionCount = selections.size\n\n return (\n <div className={`${baseClass}__content`}>\n <DialogHeader title={t('general:selectValue', { label: collectionLabel })}>\n <div className={`${baseClass}__header-actions`}>\n <Button buttonStyle=\"secondary\" margin={false} onClick={handleCancel} size=\"medium\">\n {t('general:cancel')}\n </Button>\n <Button margin={false} onClick={handleSave} size=\"medium\">\n {t('general:select')}\n </Button>\n </div>\n </DialogHeader>\n <DialogBody>\n <div className={`${baseClass}__subheader`}>\n <div className={`${baseClass}__subheader-left`}>\n {Icon || <TagIcon />}\n <h4>{collectionLabel}</h4>\n </div>\n <div className={`${baseClass}__subheader-right`}>\n {showMoveToRoot && onMoveToRoot && (\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__move-to-root`}\n margin={false}\n onClick={onMoveToRoot}\n size=\"medium\"\n >\n {t('hierarchy:moveToRoot')}\n </Button>\n )}\n {Boolean(selectionCount) && (\n <>\n {\n <span className={`${baseClass}__selection-info`}>\n {t('general:selectedCount', { count: selectionCount, label: '' })}\n </span>\n }\n <span>—</span>\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__clear-all`}\n margin={false}\n onClick={handleClearAll}\n size=\"medium\"\n >\n {t('general:clear')}\n </Button>\n </>\n )}\n </div>\n </div>\n <div className={`${baseClass}__columns`}>\n <HierarchyColumnBrowser\n ancestorsWithSelections={ancestorsWithSelections}\n baseFilter={baseFilter}\n disabledIds={disabledIds}\n filterByCollection={filterByCollection}\n hierarchyCollectionSlug={hierarchyCollectionSlug}\n initialExpandedPath={initialExpandedPath}\n isLoadingPath={isLoadingPath}\n onCreateNew={onCreateNew}\n onSelect={handleSelect}\n parentFieldName={parentFieldName}\n ref={columnBrowserRef}\n selectedIds={selectedIds}\n useAsTitle={useAsTitle}\n />\n </div>\n </DialogBody>\n </div>\n )\n}\n\nexport const HierarchyModal: React.FC<HierarchyModalInternalProps> = (props) => {\n const { hierarchyCollectionSlug, modalSlug, parentFieldName, reopenCount } = props\n\n const { refreshTree } = useHierarchy()\n\n // Get parentFieldName from hierarchy config\n const { getEntityConfig } = useConfig()\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const parentFieldName_internal =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy.parentFieldName\n : parentFieldName\n\n // Track which parentId is being used for the document drawer - use state to trigger re-render\n const [createParentId, setCreateParentId] = useState<null | number | string>(null)\n\n // Ref to access column browser's refresh function\n const columnBrowserRef = useRef<HierarchyColumnBrowserRef | null>(null)\n\n // Ref to access drawer content's selectItem function\n const modalContentRef = useRef<HierarchyModalContentRef | null>(null)\n\n // Key for DocumentDrawer to force remount when parentId changes\n const [documentDrawerKey, setDocumentDrawerKey] = useState(0)\n\n // Stable drawer slug for the document drawer - must not change on remount\n const documentDrawerSlug = `${modalSlug}-create-doc`\n\n // Document drawer for creating new items - rendered OUTSIDE the modal to avoid nested modal issues\n const [DocumentDrawer, , { closeDrawer: closeDocumentDrawer, openDrawer: openDocumentDrawer }] =\n useDocumentDrawer({\n collectionSlug: hierarchyCollectionSlug,\n drawerSlug: documentDrawerSlug,\n })\n\n const handleCreateNew = useCallback(\n ({ parentId }: { parentId: null | number | string }) => {\n // Increment key to force DocumentDrawer remount with new initialData\n setDocumentDrawerKey((prev) => prev + 1)\n setCreateParentId(parentId)\n // Use setTimeout to ensure state update triggers re-render before opening drawer\n setTimeout(() => {\n openDocumentDrawer()\n }, 0)\n },\n [openDocumentDrawer],\n )\n\n // Refresh the column, select the new item, and close the document drawer after creation\n const handleDocumentSave = useCallback<\n NonNullable<React.ComponentProps<typeof DocumentDrawer>['onSave']>\n >(\n ({ doc }) => {\n if (columnBrowserRef.current && createParentId !== undefined) {\n void columnBrowserRef.current.refreshColumn(createParentId)\n }\n if (modalContentRef.current && doc?.id) {\n modalContentRef.current.selectItem(doc.id)\n }\n refreshTree(hierarchyCollectionSlug)\n closeDocumentDrawer()\n },\n [closeDocumentDrawer, createParentId, hierarchyCollectionSlug, refreshTree],\n )\n\n // Memoize the content - only depends on stable values\n const modalContent = useMemo(\n () => (\n <HierarchyModalContent\n key={reopenCount}\n {...props}\n columnBrowserRef={columnBrowserRef}\n onCreateNew={handleCreateNew}\n ref={modalContentRef}\n />\n ),\n [handleCreateNew, props, reopenCount],\n )\n\n return (\n <>\n <DialogModal className={baseClass} closeOnBlur size=\"large\" slug={modalSlug}>\n {modalContent}\n </DialogModal>\n <DrawerDepthProvider>\n <DocumentDrawer\n initialData={\n createParentId !== null ? { [parentFieldName_internal]: createParentId } : undefined\n }\n key={documentDrawerKey}\n onSave={handleDocumentSave}\n />\n </DrawerDepthProvider>\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","useEffectEvent","useConfig","useHierarchy","useTranslation","DialogBody","DialogHeader","DialogModal","useDocumentDrawer","DrawerDepthProvider","HierarchyColumnBrowser","fetchAncestorPaths","HierarchyModalFooter","baseClass","HierarchyModalContent","baseFilter","closeModal","columnBrowserRef","confirmLabel","disabledIds","filterByCollection","hasMany","hierarchyCollectionSlug","Icon","initialSelections","onCreateNew","onMoveToRoot","onSave","parentFieldName","ref","showMoveToRoot","title","useAsTitle","i18n","t","config","routes","api","serverURL","getEntityConfig","collectionConfig","collectionSlug","collectionLabel","labels","plural","collectionLabelSingular","singular","parentFieldName_internal","hierarchy","initialExpandedPath","setInitialExpandedPath","previousPath","setPreviousPath","isLoadingPath","setIsLoadingPath","Boolean","length","hasLoadedPathRef","mapSelections","ids","map","Map","id","set","path","selections","setSelections","loadAncestorPaths","firstId","itemIds","paths","firstPath","get","ancestorIds","prev","next","has","current","selectedIds","Set","keys","selectedDescendantCounts","counts","values","segment","handleSave","handleSelect","clear","delete","handleClearAll","handleRevealPath","target","revealPath","handleCancel","selectItem","itemTitle","selectionCount","size","destinationPath","undefined","value","_jsxs","className","_jsx","onClose","showClose","label","onSelect","isConfirmDisabled","isMultiSelect","onClear","onConfirm","onRevealPath","placeholderLabel","selectionCountLabel","count","HierarchyModal","props","modalSlug","reopenCount","refreshTree","createParentId","setCreateParentId","modalContentRef","documentDrawerKey","setDocumentDrawerKey","documentDrawerSlug","DocumentDrawer","closeDrawer","closeDocumentDrawer","openDrawer","openDocumentDrawer","drawerSlug","handleCreateNew","parentId","setTimeout","handleDocumentSave","doc","refreshColumn","newItemTitle","modalContent","_Fragment","closeOnBlur","slug","initialData"],"sources":["../../../../src/elements/Hierarchy/Modal/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport type { HierarchyColumnBrowserRef } from '../ColumnBrowser/index.js'\nimport type { PathSegment } from '../ColumnBrowser/types.js'\nimport type { HierarchyModalInternalProps, SelectionWithPath } from './types.js'\n\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { DialogBody, DialogHeader, DialogModal } from '../../Dialog/index.js'\nimport { useDocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { DrawerDepthProvider } from '../../Drawer/index.js'\nimport { HierarchyColumnBrowser } from '../ColumnBrowser/index.js'\nimport { fetchAncestorPaths } from './fetchAncestorPath.js'\nimport { HierarchyModalFooter } from './Footer/index.js'\nimport './index.css'\n\nexport const baseClass = 'hierarchy-modal'\n\ntype HierarchyModalContentProps = {\n columnBrowserRef?: React.RefObject<HierarchyColumnBrowserRef | null>\n onCreateNew?: (params: { parentId: null | number | string }) => void\n} & HierarchyModalInternalProps\n\nexport type HierarchyModalContentRef = {\n selectItem: (params: { id: number | string; title?: string }) => void\n}\n\nexport const HierarchyModalContent = function HierarchyModalContent({\n baseFilter,\n closeModal,\n columnBrowserRef,\n confirmLabel,\n disabledIds,\n filterByCollection,\n hasMany = false,\n hierarchyCollectionSlug,\n Icon,\n initialSelections,\n onCreateNew,\n onMoveToRoot,\n onSave,\n parentFieldName,\n ref,\n showMoveToRoot,\n title,\n useAsTitle,\n}: { ref?: React.RefObject<HierarchyModalContentRef | null> } & HierarchyModalContentProps) {\n const { i18n, t } = useTranslation()\n // NOTE: Do NOT use useModal() here - it causes re-renders when any modal state changes\n // Use closeModal prop instead which already handles closing the modal\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const collectionLabel = collectionConfig\n ? getTranslation(collectionConfig.labels?.plural || hierarchyCollectionSlug, i18n)\n : hierarchyCollectionSlug\n const collectionLabelSingular = collectionConfig\n ? getTranslation(collectionConfig.labels?.singular || hierarchyCollectionSlug, i18n)\n : hierarchyCollectionSlug\n\n const parentFieldName_internal =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy.parentFieldName\n : parentFieldName\n\n const [initialExpandedPath, setInitialExpandedPath] = useState<(number | string)[] | undefined>()\n const [previousPath, setPreviousPath] = useState<PathSegment[] | undefined>()\n const [isLoadingPath, setIsLoadingPath] = useState(Boolean(initialSelections?.length))\n const hasLoadedPathRef = React.useRef(false)\n\n const mapSelections = useCallback(\n (ids?: (number | string)[]) => {\n const map = new Map<number | string, SelectionWithPath>()\n\n // Single-select is a move: the existing value is the origin shown in the footer, not a\n // pre-made choice. Multi-select edits a set, so existing values start checked.\n if (ids && hasMany) {\n for (const id of ids) {\n map.set(id, { id, path: [] })\n }\n }\n\n return map\n },\n [hasMany],\n )\n\n const [selections, setSelections] = useState<Map<number | string, SelectionWithPath>>(() =>\n mapSelections(initialSelections),\n )\n\n const loadAncestorPaths = useEffectEvent(async (ids?: (number | string)[]) => {\n const firstId = ids?.[0]\n\n if (!firstId) {\n setIsLoadingPath(false)\n return\n }\n\n // Multi-select marks the ancestors of every checked item as partially selected, so all of\n // their paths are needed. Single-select only needs the origin of the move.\n const itemIds = hasMany ? ids : [firstId]\n\n try {\n const paths = await fetchAncestorPaths({\n api,\n collectionSlug: hierarchyCollectionSlug,\n itemIds,\n parentFieldName: parentFieldName_internal,\n serverURL,\n useAsTitle: useAsTitle || 'id',\n })\n\n const firstPath = paths.get(firstId)\n setInitialExpandedPath(firstPath?.ancestorIds)\n setPreviousPath(firstPath?.path)\n\n // Selections seeded from the field's value start without a path - backfill them so their\n // ancestors can be marked, and so the footer breadcrumbs read correctly\n if (hasMany) {\n setSelections((prev) => {\n const next = new Map(prev)\n\n for (const [id, { path }] of paths) {\n if (next.has(id)) {\n next.set(id, { id, path })\n }\n }\n\n return next\n })\n }\n } catch {\n // Silently handle fetch errors - will just start at root\n } finally {\n setIsLoadingPath(false)\n }\n })\n\n // Load ancestor paths on mount\n useEffect(() => {\n if (hasLoadedPathRef.current) {\n return\n }\n hasLoadedPathRef.current = true\n void loadAncestorPaths(initialSelections)\n }, [initialSelections])\n\n const selectedIds = useMemo(() => new Set(selections.keys()), [selections])\n\n // Every ancestor of a checked item gets a badge counting the picks below it, so a collapsed\n // branch still shows how much is selected inside\n const selectedDescendantCounts = useMemo(() => {\n const counts = new Map<number | string, number>()\n\n for (const { id, path } of selections.values()) {\n for (const segment of path) {\n if (segment.id !== id) {\n counts.set(segment.id, (counts.get(segment.id) ?? 0) + 1)\n }\n }\n }\n\n return counts\n }, [selections])\n\n const handleSave = useCallback(() => {\n onSave({ closeModal, selections })\n }, [onSave, selections, closeModal])\n\n const handleSelect = useCallback(\n ({\n id,\n path,\n }: {\n id: number | string\n path: Array<{ id: number | string; title: string }>\n }) => {\n setSelections((prev) => {\n const next = new Map(prev)\n\n // Single select replaces rather than toggles - clicking an item always makes it the\n // destination, so re-clicking the open folder cannot leave the move with no target\n if (!hasMany) {\n next.clear()\n next.set(id, { id, path })\n return next\n }\n\n if (next.has(id)) {\n next.delete(id)\n } else {\n next.set(id, { id, path })\n }\n\n return next\n })\n },\n [hasMany],\n )\n\n const handleClearAll = useCallback(() => {\n setSelections(new Map())\n }, [])\n\n const handleRevealPath = useCallback(\n (path: PathSegment[]) => {\n // Clicking a footer breadcrumb chip (previous or destination folder) makes that folder the\n // current selection, same as clicking its row in the browser would.\n const target = path[path.length - 1]\n if (target) {\n handleSelect({ id: target.id, path })\n }\n void columnBrowserRef?.current?.revealPath(path)\n },\n [columnBrowserRef, handleSelect],\n )\n\n const handleCancel = useCallback(() => {\n setSelections(mapSelections(initialSelections))\n closeModal()\n }, [closeModal, initialSelections, mapSelections])\n\n // Expose selectItem for programmatic selection (e.g., after creating a new item)\n useImperativeHandle(\n ref,\n () => ({\n selectItem: ({ id, title: itemTitle }: { id: number | string; title?: string }) => {\n setSelections((prev) => {\n const next = new Map(prev)\n if (!hasMany) {\n next.clear()\n }\n // A newly created item has no browsed path, so its own title is the whole breadcrumb\n next.set(id, { id, path: itemTitle ? [{ id, title: itemTitle }] : [] })\n return next\n })\n },\n }),\n [hasMany],\n )\n\n const selectionCount = selections.size\n const destinationPath = hasMany ? undefined : selections.values().next().value?.path\n\n return (\n <div className={`${baseClass}__content`}>\n <DialogHeader\n onClose={handleCancel}\n showClose\n title={title || t('general:selectLabel', { label: collectionLabel })}\n />\n <DialogBody>\n <div className={`${baseClass}__columns`}>\n <HierarchyColumnBrowser\n baseFilter={baseFilter}\n disabledIds={disabledIds}\n filterByCollection={filterByCollection}\n hasMany={hasMany}\n hierarchyCollectionSlug={hierarchyCollectionSlug}\n initialExpandedPath={initialExpandedPath}\n isLoadingPath={isLoadingPath}\n onCreateNew={onCreateNew}\n onSelect={handleSelect}\n parentFieldName={parentFieldName}\n ref={columnBrowserRef}\n selectedDescendantCounts={selectedDescendantCounts}\n selectedIds={selectedIds}\n useAsTitle={useAsTitle}\n />\n </div>\n </DialogBody>\n <HierarchyModalFooter\n confirmLabel={confirmLabel || (hasMany ? t('general:confirm') : t('general:move'))}\n destinationPath={destinationPath}\n Icon={Icon}\n isConfirmDisabled={selectionCount === 0}\n isMultiSelect={hasMany}\n onClear={handleClearAll}\n onConfirm={handleSave}\n onMoveToRoot={onMoveToRoot}\n onRevealPath={handleRevealPath}\n placeholderLabel={t('general:selectLabel', {\n label: hasMany ? collectionLabel : collectionLabelSingular,\n })}\n previousPath={hasMany ? undefined : previousPath}\n selectionCount={selectionCount}\n selectionCountLabel={t('general:selectedCount', {\n count: selectionCount,\n label: collectionLabel,\n })}\n showMoveToRoot={showMoveToRoot}\n />\n </div>\n )\n}\n\nexport const HierarchyModal: React.FC<HierarchyModalInternalProps> = (props) => {\n const { hierarchyCollectionSlug, modalSlug, parentFieldName, reopenCount, useAsTitle } = props\n\n const { refreshTree } = useHierarchy()\n\n // Get parentFieldName from hierarchy config\n const { getEntityConfig } = useConfig()\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const parentFieldName_internal =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy.parentFieldName\n : parentFieldName\n\n // Track which parentId is being used for the document drawer - use state to trigger re-render\n const [createParentId, setCreateParentId] = useState<null | number | string>(null)\n\n // Ref to access column browser's refresh function\n const columnBrowserRef = useRef<HierarchyColumnBrowserRef | null>(null)\n\n // Ref to access drawer content's selectItem function\n const modalContentRef = useRef<HierarchyModalContentRef | null>(null)\n\n // Key for DocumentDrawer to force remount when parentId changes\n const [documentDrawerKey, setDocumentDrawerKey] = useState(0)\n\n // Stable drawer slug for the document drawer - must not change on remount\n const documentDrawerSlug = `${modalSlug}-create-doc`\n\n // Document drawer for creating new items - rendered OUTSIDE the modal to avoid nested modal issues\n const [DocumentDrawer, , { closeDrawer: closeDocumentDrawer, openDrawer: openDocumentDrawer }] =\n useDocumentDrawer({\n collectionSlug: hierarchyCollectionSlug,\n drawerSlug: documentDrawerSlug,\n })\n\n const handleCreateNew = useCallback(\n ({ parentId }: { parentId: null | number | string }) => {\n // Increment key to force DocumentDrawer remount with new initialData\n setDocumentDrawerKey((prev) => prev + 1)\n setCreateParentId(parentId)\n // Use setTimeout to ensure state update triggers re-render before opening drawer\n setTimeout(() => {\n openDocumentDrawer()\n }, 0)\n },\n [openDocumentDrawer],\n )\n\n // Refresh the column, select the new item, and close the document drawer after creation\n const handleDocumentSave = useCallback<\n NonNullable<React.ComponentProps<typeof DocumentDrawer>['onSave']>\n >(\n ({ doc }) => {\n if (columnBrowserRef.current && createParentId !== undefined) {\n void columnBrowserRef.current.refreshColumn(createParentId)\n }\n if (modalContentRef.current && doc?.id) {\n const newItemTitle = useAsTitle ? doc[useAsTitle] : undefined\n\n modalContentRef.current.selectItem({\n id: doc.id,\n title: typeof newItemTitle === 'string' ? newItemTitle : undefined,\n })\n }\n refreshTree(hierarchyCollectionSlug)\n closeDocumentDrawer()\n },\n [closeDocumentDrawer, createParentId, hierarchyCollectionSlug, refreshTree, useAsTitle],\n )\n\n // Memoize the content - only depends on stable values\n const modalContent = useMemo(\n () => (\n <HierarchyModalContent\n key={reopenCount}\n {...props}\n columnBrowserRef={columnBrowserRef}\n onCreateNew={handleCreateNew}\n ref={modalContentRef}\n />\n ),\n [handleCreateNew, props, reopenCount],\n )\n\n return (\n <>\n <DialogModal className={baseClass} closeOnBlur size=\"large\" slug={modalSlug}>\n {modalContent}\n </DialogModal>\n <DrawerDepthProvider>\n <DocumentDrawer\n initialData={\n createParentId !== null ? { [parentFieldName_internal]: createParentId } : undefined\n }\n key={documentDrawerKey}\n onSave={handleDocumentSave}\n />\n </DrawerDepthProvider>\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -20,7 +20,17 @@ export type UseHierarchyModalArgs = {
20
20
  Icon?: React.ReactNode;
21
21
  };
22
22
  export type HierarchyModalProps = {
23
+ /**
24
+ * Label for the footer's primary action.
25
+ * Defaults to "Confirm" when `hasMany`, otherwise "Move".
26
+ */
27
+ readonly confirmLabel?: string;
23
28
  readonly hasMany?: boolean;
29
+ /**
30
+ * The item(s) already assigned when the modal opens.
31
+ * In multi-select mode these start checked; in single-select mode the first entry is shown
32
+ * in the footer as the origin of the move and the browser expands to reveal it.
33
+ */
24
34
  readonly initialSelections?: (number | string)[];
25
35
  readonly onMoveToRoot?: () => void;
26
36
  readonly onSave: (params: {
@@ -28,6 +38,11 @@ export type HierarchyModalProps = {
28
38
  selections: Map<number | string, SelectionWithPath>;
29
39
  }) => void;
30
40
  readonly showMoveToRoot?: boolean;
41
+ /**
42
+ * Header title, e.g. `Move "My Post"` or "Move 3 Documents".
43
+ * Defaults to "Select {collection label}".
44
+ */
45
+ readonly title?: string;
31
46
  };
32
47
  export type HierarchyModalInternalProps = {
33
48
  /** Base filter constraint (e.g., tenant filter) to apply to all queries */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Modal/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Modal/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/elements/Hierarchy/Modal/types.ts"],"sourcesContent":["import type { Where } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nexport type SelectionWithPath = {\n id: number | string\n path: Array<{ id: number | string; title: string }>\n}\n\nexport type UseHierarchyModalArgs = {\n /** IDs that should be disabled (e.g., items being moved can't be selected as destination) */\n disabledIds?: Set<number | string>\n /**\n * When provided, filters hierarchy items to only show those that accept these collections.\n * Used with collectionSpecific hierarchy config.\n */\n filterByCollection?: string[]\n hierarchyCollectionSlug: string\n Icon?: React.ReactNode\n}\n\nexport type HierarchyModalProps = {\n readonly hasMany?: boolean\n readonly initialSelections?: (number | string)[]\n readonly onMoveToRoot?: () => void\n readonly onSave: (params: {\n closeModal: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => void\n readonly showMoveToRoot?: boolean\n}\n\nexport type HierarchyModalInternalProps = {\n /** Base filter constraint (e.g., tenant filter) to apply to all queries */\n readonly baseFilter?: null | Where\n readonly closeModal: () => void\n /** IDs that should be disabled (e.g., items being moved can't be selected as destination) */\n readonly disabledIds?: Set<number | string>\n /**\n * When provided, filters hierarchy items to only show those that accept these collections.\n * Used with collectionSpecific hierarchy config.\n */\n readonly filterByCollection?: string[]\n readonly hierarchyCollectionSlug: string\n readonly Icon?: React.ReactNode\n readonly modalSlug: string\n readonly parentFieldName: string\n readonly reopenCount?: number\n readonly useAsTitle?: string\n} & HierarchyModalProps\n\nexport type HierarchyModalTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n modalSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseHierarchyModal = (args: UseHierarchyModalArgs) => [\n React.FC<HierarchyModalProps>,\n React.FC<Omit<HierarchyModalTogglerProps, 'modalSlug'>>,\n {\n closeModal: () => void\n isModalOpen: boolean\n modalDepth: number\n modalSlug: string\n openModal: () => void\n toggleModal: () => void\n },\n]\n\n// Backward-compatible aliases\nexport type HierarchyDrawerProps = HierarchyModalProps\nexport type HierarchyDrawerInternalProps = HierarchyModalInternalProps\nexport type HierarchyDrawerTogglerProps = HierarchyModalTogglerProps\n\n// Re-export column browser types for backwards compatibility\nexport type { ColumnItemData } from '../ColumnBrowser/types.js'\n"],"mappings":"AA4EA;AACA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/elements/Hierarchy/Modal/types.ts"],"sourcesContent":["import type { Where } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nexport type SelectionWithPath = {\n id: number | string\n path: Array<{ id: number | string; title: string }>\n}\n\nexport type UseHierarchyModalArgs = {\n /** IDs that should be disabled (e.g., items being moved can't be selected as destination) */\n disabledIds?: Set<number | string>\n /**\n * When provided, filters hierarchy items to only show those that accept these collections.\n * Used with collectionSpecific hierarchy config.\n */\n filterByCollection?: string[]\n hierarchyCollectionSlug: string\n Icon?: React.ReactNode\n}\n\nexport type HierarchyModalProps = {\n /**\n * Label for the footer's primary action.\n * Defaults to \"Confirm\" when `hasMany`, otherwise \"Move\".\n */\n readonly confirmLabel?: string\n readonly hasMany?: boolean\n /**\n * The item(s) already assigned when the modal opens.\n * In multi-select mode these start checked; in single-select mode the first entry is shown\n * in the footer as the origin of the move and the browser expands to reveal it.\n */\n readonly initialSelections?: (number | string)[]\n readonly onMoveToRoot?: () => void\n readonly onSave: (params: {\n closeModal: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => void\n readonly showMoveToRoot?: boolean\n /**\n * Header title, e.g. `Move \"My Post\"` or \"Move 3 Documents\".\n * Defaults to \"Select {collection label}\".\n */\n readonly title?: string\n}\n\nexport type HierarchyModalInternalProps = {\n /** Base filter constraint (e.g., tenant filter) to apply to all queries */\n readonly baseFilter?: null | Where\n readonly closeModal: () => void\n /** IDs that should be disabled (e.g., items being moved can't be selected as destination) */\n readonly disabledIds?: Set<number | string>\n /**\n * When provided, filters hierarchy items to only show those that accept these collections.\n * Used with collectionSpecific hierarchy config.\n */\n readonly filterByCollection?: string[]\n readonly hierarchyCollectionSlug: string\n readonly Icon?: React.ReactNode\n readonly modalSlug: string\n readonly parentFieldName: string\n readonly reopenCount?: number\n readonly useAsTitle?: string\n} & HierarchyModalProps\n\nexport type HierarchyModalTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n modalSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseHierarchyModal = (args: UseHierarchyModalArgs) => [\n React.FC<HierarchyModalProps>,\n React.FC<Omit<HierarchyModalTogglerProps, 'modalSlug'>>,\n {\n closeModal: () => void\n isModalOpen: boolean\n modalDepth: number\n modalSlug: string\n openModal: () => void\n toggleModal: () => void\n },\n]\n\n// Backward-compatible aliases\nexport type HierarchyDrawerProps = HierarchyModalProps\nexport type HierarchyDrawerInternalProps = HierarchyModalInternalProps\nexport type HierarchyDrawerTogglerProps = HierarchyModalTogglerProps\n\n// Re-export column browser types for backwards compatibility\nexport type { ColumnItemData } from '../ColumnBrowser/types.js'\n"],"mappings":"AA2FA;AACA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useHierarchyModal.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Modal/useHierarchyModal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAwD,MAAM,OAAO,CAAA;AAE5E,OAAO,KAAK,EAAuB,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEpG,cAAc,YAAY,CAAA;AAQ1B,eAAO,MAAM,wBAAwB,GAAI,kBAGtC;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,KAAG,MAA4C,CAAA;AAEhD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAmBtE,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAqH/B,CAAA"}
1
+ {"version":3,"file":"useHierarchyModal.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Modal/useHierarchyModal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAwD,MAAM,OAAO,CAAA;AAE5E,OAAO,KAAK,EAAuB,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEpG,cAAc,YAAY,CAAA;AAQ1B,eAAO,MAAM,wBAAwB,qBAGlC;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,KAAG,MAA4C,CAAA;AAEhD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAmBtE,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAqH/B,CAAA"}
@@ -0,0 +1,6 @@
1
+ @layer payload-default {
2
+ /* Dividers span the full menu width rather than sitting inside the list's inline padding. */
3
+ .move-many__popup-content .popup-divider {
4
+ margin-inline: calc(var(--spacer-2) * -1);
5
+ }
6
+ }
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import './index.css';
2
3
  export declare const baseClass = "move-many";
3
4
  type MoveManyProps = {
4
5
  /** Current parent ID - modal will open expanded to this location */
@@ -7,15 +8,19 @@ type MoveManyProps = {
7
8
  hierarchySlug: string;
8
9
  /** Icon to display in the hierarchy modal */
9
10
  Icon?: React.ReactNode;
10
- /** When multiple MoveMany components are rendered on the page, this will differentiate them */
11
- modalPrefix?: string;
12
11
  /** Callback after successful move */
13
12
  onSuccess?: () => void;
13
+ /**
14
+ * Collection slugs the destination folder must accept (via its `allowedCollections` config).
15
+ * Pass the selected items' own collection slugs, plus any `allowedCollections` of selected
16
+ * folders, so the picker only shows folders that can hold every selected item.
17
+ */
18
+ requiredCollections?: string[];
14
19
  /** Selections grouped by collection slug */
15
20
  selections: Record<string, {
16
21
  ids: (number | string)[];
17
22
  }>;
18
23
  };
19
- export declare function MoveMany({ currentParentID, hierarchySlug, Icon, modalPrefix, onSuccess, selections, }: MoveManyProps): React.JSX.Element;
24
+ export declare function MoveMany({ currentParentID, hierarchySlug, Icon, onSuccess, requiredCollections, selections, }: MoveManyProps): React.JSX.Element;
20
25
  export {};
21
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/MoveMany/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAe7D,eAAO,MAAM,SAAS,cAAc,CAAA;AAEpC,KAAK,aAAa,GAAG;IACnB,oEAAoE;IACpE,eAAe,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACxC,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAA;IACrB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,CAAC,CAAA;CACzD,CAAA;AAeD,wBAAgB,QAAQ,CAAC,EACvB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,WAAW,EACX,SAAS,EACT,UAAU,GACX,EAAE,aAAa,qBAiQf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/MoveMany/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAA;AAanD,OAAO,aAAa,CAAA;AAEpB,eAAO,MAAM,SAAS,cAAc,CAAA;AAEpC,KAAK,aAAa,GAAG;IACnB,oEAAoE;IACpE,eAAe,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACxC,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAA;IACrB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,CAAC,CAAA;CACzD,CAAA;AAeD,wBAAgB,QAAQ,CAAC,EACvB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,SAAS,EACT,mBAAmB,EACnB,UAAU,GACX,EAAE,aAAa,qBAuLf"}