@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
@@ -15,10 +15,10 @@ import { Column } from './Column/index.js';
15
15
  import './index.css';
16
16
  const baseClass = 'hierarchy-column-browser';
17
17
  export const HierarchyColumnBrowser = function HierarchyColumnBrowser({
18
- ancestorsWithSelections,
19
18
  baseFilter,
20
19
  disabledIds,
21
20
  filterByCollection,
21
+ hasMany,
22
22
  hierarchyCollectionSlug,
23
23
  initialExpandedPath,
24
24
  isLoadingPath,
@@ -26,6 +26,7 @@ export const HierarchyColumnBrowser = function HierarchyColumnBrowser({
26
26
  onSelect,
27
27
  parentFieldName,
28
28
  ref,
29
+ selectedDescendantCounts,
29
30
  selectedIds,
30
31
  useAsTitle = 'id'
31
32
  }) {
@@ -50,9 +51,11 @@ export const HierarchyColumnBrowser = function HierarchyColumnBrowser({
50
51
  const hierarchyConfig = collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined;
51
52
  const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT;
52
53
  const collectionLabel = collectionConfig ? getTranslation(collectionConfig.labels?.singular || hierarchyCollectionSlug, i18n) : hierarchyCollectionSlug;
54
+ const collectionLabelPlural = collectionConfig ? getTranslation(collectionConfig.labels?.plural || hierarchyCollectionSlug, i18n) : hierarchyCollectionSlug;
53
55
  const canCreate = Boolean(permissions?.collections?.[hierarchyCollectionSlug]?.create);
54
56
  const [columns, setColumns] = useState([]);
55
57
  const [expandedPath, setExpandedPath] = useState([]);
58
+ const [revealed, setRevealed] = useState(null);
56
59
  const containerRef = useRef(null);
57
60
  const lastColumnRef = useRef(null);
58
61
  const hasLoadedRef = useRef(false);
@@ -199,10 +202,7 @@ export const HierarchyColumnBrowser = function HierarchyColumnBrowser({
199
202
  });
200
203
  }
201
204
  }, [columns, fetchItems]);
202
- useImperativeHandle(ref, () => ({
203
- refreshColumn
204
- }), [refreshColumn]);
205
- const loadColumns = useEffectEvent(async path => {
205
+ const loadColumnsForPath = useCallback(async path => {
206
206
  // Build list of parentIds to fetch: [null, ...path]
207
207
  const parentIds = [null];
208
208
  if (path?.length) {
@@ -217,10 +217,9 @@ export const HierarchyColumnBrowser = function HierarchyColumnBrowser({
217
217
  parentId: parentId_1,
218
218
  totalDocs: 0
219
219
  })));
220
- // Set expanded path to match (excluding null/root)
221
- if (path?.length) {
222
- setExpandedPath(path);
223
- }
220
+ // Set expanded path to match (excluding null/root). Always reset - a `revealPath` back to the
221
+ // root would otherwise leave the previous path's items marked as expanded.
222
+ setExpandedPath(path ?? []);
224
223
  // Fetch all columns in parallel
225
224
  const results = await Promise.all(parentIds.map(async (parentId_2, index) => {
226
225
  try {
@@ -270,7 +269,25 @@ export const HierarchyColumnBrowser = function HierarchyColumnBrowser({
270
269
  };
271
270
  });
272
271
  setColumns(columnsWithTitles);
272
+ }, [fetchItems]);
273
+ const loadColumns = useEffectEvent(async path_0 => {
274
+ await loadColumnsForPath(path_0);
273
275
  });
276
+ const revealPath = useCallback(async path_1 => {
277
+ const target = path_1[path_1.length - 1];
278
+ if (!target) {
279
+ return;
280
+ }
281
+ await loadColumnsForPath(path_1.slice(0, -1).map(segment => segment.id));
282
+ setRevealed(prev_2 => ({
283
+ id: target.id,
284
+ token: (prev_2?.token ?? 0) + 1
285
+ }));
286
+ }, [loadColumnsForPath]);
287
+ useImperativeHandle(ref, () => ({
288
+ refreshColumn,
289
+ revealPath
290
+ }), [refreshColumn, revealPath]);
274
291
  // Load columns on mount - wait for path loading to complete
275
292
  useEffect(() => {
276
293
  if (isLoadingPath || hasLoadedRef.current) {
@@ -303,6 +320,13 @@ export const HierarchyColumnBrowser = function HierarchyColumnBrowser({
303
320
  // Update expanded path - keep path up to this column, add new item
304
321
  const newExpandedPath = [...expandedPath.slice(0, columnIndex_0), itemId];
305
322
  setExpandedPath(newExpandedPath);
323
+ // Re-opening a folder that is already expanded here (e.g. clicking the grandparent while
324
+ // sitting in grandparent/parent/child) makes it the deepest open one again. Its child column
325
+ // is already loaded, so drop everything past it rather than refetching.
326
+ if (columns[columnIndex_0 + 1]?.parentId === itemId) {
327
+ setColumns(columns.slice(0, columnIndex_0 + 2));
328
+ return;
329
+ }
306
330
  // Remove columns to the right and add new loading column
307
331
  const newColumns = columns.slice(0, columnIndex_0 + 1);
308
332
  newColumns.push({
@@ -325,8 +349,8 @@ export const HierarchyColumnBrowser = function HierarchyColumnBrowser({
325
349
  page: 1,
326
350
  parentId: itemId
327
351
  });
328
- setColumns(prev_3 => {
329
- const updated_3 = [...prev_3];
352
+ setColumns(prev_4 => {
353
+ const updated_3 = [...prev_4];
330
354
  const targetIndex_0 = columnIndex_0 + 1;
331
355
  if (updated_3[targetIndex_0]?.parentId === itemId) {
332
356
  updated_3[targetIndex_0] = {
@@ -342,8 +366,8 @@ export const HierarchyColumnBrowser = function HierarchyColumnBrowser({
342
366
  return updated_3;
343
367
  });
344
368
  } catch {
345
- setColumns(prev_2 => {
346
- const updated_2 = [...prev_2];
369
+ setColumns(prev_3 => {
370
+ const updated_2 = [...prev_3];
347
371
  const targetIndex = columnIndex_0 + 1;
348
372
  if (updated_2[targetIndex]?.parentId === itemId) {
349
373
  updated_2[targetIndex] = {
@@ -369,8 +393,8 @@ export const HierarchyColumnBrowser = function HierarchyColumnBrowser({
369
393
  }
370
394
  const nextPage = column_0.page + 1;
371
395
  // Set loading state
372
- setColumns(prev_4 => {
373
- const updated_4 = [...prev_4];
396
+ setColumns(prev_5 => {
397
+ const updated_4 = [...prev_5];
374
398
  updated_4[columnIndex_1] = {
375
399
  ...updated_4[columnIndex_1],
376
400
  isLoading: true
@@ -385,8 +409,8 @@ export const HierarchyColumnBrowser = function HierarchyColumnBrowser({
385
409
  page: nextPage,
386
410
  parentId: column_0.parentId
387
411
  });
388
- setColumns(prev_6 => {
389
- const updated_6 = [...prev_6];
412
+ setColumns(prev_7 => {
413
+ const updated_6 = [...prev_7];
390
414
  if (updated_6[columnIndex_1]) {
391
415
  updated_6[columnIndex_1] = {
392
416
  ...updated_6[columnIndex_1],
@@ -399,8 +423,8 @@ export const HierarchyColumnBrowser = function HierarchyColumnBrowser({
399
423
  return updated_6;
400
424
  });
401
425
  } catch {
402
- setColumns(prev_5 => {
403
- const updated_5 = [...prev_5];
426
+ setColumns(prev_6 => {
427
+ const updated_5 = [...prev_6];
404
428
  if (updated_5[columnIndex_1]) {
405
429
  updated_5[columnIndex_1] = {
406
430
  ...updated_5[columnIndex_1],
@@ -412,19 +436,34 @@ export const HierarchyColumnBrowser = function HierarchyColumnBrowser({
412
436
  }
413
437
  }, [columns, fetchItems]);
414
438
  // Build path for each column based on parent info
415
- const getPathToColumn = columnIndex_2 => {
416
- const path_0 = [];
439
+ const getPathToColumn = useCallback(columnIndex_2 => {
440
+ const path_2 = [];
417
441
  for (let i_0 = 1; i_0 <= columnIndex_2; i_0++) {
418
442
  const col_1 = columns[i_0];
419
443
  if (col_1?.parentId !== null && col_1?.parentId !== undefined) {
420
- path_0.push({
444
+ path_2.push({
421
445
  id: col_1.parentId,
422
446
  title: col_1.parentTitle || String(col_1.parentId)
423
447
  });
424
448
  }
425
449
  }
426
- return path_0;
427
- };
450
+ return path_2;
451
+ }, [columns]);
452
+ // Single-select only: clicking the empty space in a column makes that column's own folder the
453
+ // current destination - e.g. in grandparent/parent/child, clicking empty space in the column
454
+ // showing grandparent's children (headed "grandparent") makes grandparent current again,
455
+ // dropping the parent/child columns opened past it.
456
+ const handleSelectParent = useCallback(({
457
+ id,
458
+ columnIndex: columnIndex_3
459
+ }) => {
460
+ onSelect({
461
+ id,
462
+ path: getPathToColumn(columnIndex_3)
463
+ });
464
+ setExpandedPath(prev_8 => prev_8.slice(0, columnIndex_3));
465
+ setColumns(prev_9 => prev_9.slice(0, columnIndex_3 + 1));
466
+ }, [getPathToColumn, onSelect]);
428
467
  return /*#__PURE__*/_jsxs("div", {
429
468
  className: baseClass,
430
469
  ref: containerRef,
@@ -436,30 +475,40 @@ export const HierarchyColumnBrowser = function HierarchyColumnBrowser({
436
475
  className: `${baseClass}__column-wrapper`,
437
476
  ref: isLastColumn ? lastColumnRef : undefined,
438
477
  children: /*#__PURE__*/_jsx(Column, {
439
- ancestorsWithSelections: ancestorsWithSelections,
440
478
  canCreate: canCreate && Boolean(onCreateNew),
441
479
  collectionLabel: collectionLabel,
480
+ collectionLabelPlural: collectionLabelPlural,
442
481
  disabled: isLoadingPath,
443
482
  disabledIds: disabledIds,
444
483
  expandedId: expandedId,
445
484
  filterByCollection: filterByCollection,
485
+ hasMany: hasMany,
446
486
  hasNextPage: column_1.hasNextPage,
447
487
  isLoading: column_1.isLoading,
448
488
  items: column_1.items,
449
489
  onCreateNew: onCreateNew || (() => {}),
450
490
  onExpand: ({
451
- id
491
+ id: id_0
452
492
  }) => handleExpand({
453
493
  columnIndex: index_1,
454
- itemId: id
494
+ itemId: id_0
455
495
  }),
456
496
  onLoadMore: () => handleLoadMore({
457
497
  columnIndex: index_1
458
498
  }),
459
499
  onSelect: onSelect,
500
+ onSelectParent: hasMany ? undefined : ({
501
+ id: id_1
502
+ }) => handleSelectParent({
503
+ id: id_1,
504
+ columnIndex: index_1
505
+ }),
460
506
  parentId: column_1.parentId,
461
507
  parentTitle: column_1.parentTitle,
462
508
  pathToColumn: pathToColumn,
509
+ revealedId: revealed?.id,
510
+ revealToken: revealed?.token,
511
+ selectedDescendantCounts: selectedDescendantCounts,
463
512
  selectedIds: selectedIds,
464
513
  totalDocs: column_1.totalDocs
465
514
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","combineWhereConstraints","DEFAULT_HIERARCHY_TREE_LIMIT","formatAdminURL","qs","React","useCallback","useEffect","useImperativeHandle","useRef","useState","useEffectEvent","useAuth","useConfig","useTranslation","isSuperset","Spinner","Column","baseClass","HierarchyColumnBrowser","ancestorsWithSelections","baseFilter","disabledIds","filterByCollection","hierarchyCollectionSlug","initialExpandedPath","isLoadingPath","onCreateNew","onSelect","parentFieldName","ref","selectedIds","useAsTitle","i18n","permissions","config","routes","api","serverURL","getEntityConfig","collectionConfig","collectionSlug","hierarchyConfig","hierarchy","undefined","treeLimit","admin","collectionLabel","labels","singular","canCreate","Boolean","collections","create","columns","setColumns","expandedPath","setExpandedPath","containerRef","lastColumnRef","hasLoadedRef","fetchItems","page","parentId","parentWhere","exists","equals","where","collectionSpecific","typeFieldName","fieldName","length","allPossibleTypes","Object","keys","relatedCollections","and","or","in","not_in","whereWithBaseFilter","queryString","stringify","limit","sort","addQueryPrefix","url","apiRoute","path","response","fetch","credentials","ok","Error","data","json","allItems","docs","map","doc","id","allowedCollections","hasChildren","title","String","items","filter","item","hasNextPage","totalDocs","refreshColumn","columnIndex","findIndex","col","prev","updated","isLoading","loadColumns","parentIds","push","results","Promise","all","index","parentTitle","columnsWithTitles","prevColumn","parentItem","find","current","scrollIntoView","behavior","inline","handleExpand","itemId","column","i","newExpandedPath","slice","newColumns","targetIndex","handleLoadMore","nextPage","newItems","getPathToColumn","_jsxs","className","isLastColumn","expandedId","pathToColumn","_jsx","disabled","onExpand","onLoadMore"],"sources":["../../../../src/elements/Hierarchy/ColumnBrowser/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n combineWhereConstraints,\n DEFAULT_HIERARCHY_TREE_LIMIT,\n formatAdminURL,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react'\n\nimport type {\n ColumnItemData,\n ColumnState,\n HierarchyColumnBrowserProps,\n HierarchyColumnBrowserRef,\n} from './types.js'\n\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { isSuperset } from '../../../utilities/isSuperset.js'\nimport { Spinner } from '../../Spinner/index.js'\nimport { Column } from './Column/index.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-column-browser'\n\nexport const HierarchyColumnBrowser = function HierarchyColumnBrowser({\n ancestorsWithSelections,\n baseFilter,\n disabledIds,\n filterByCollection,\n hierarchyCollectionSlug,\n initialExpandedPath,\n isLoadingPath,\n onCreateNew,\n onSelect,\n parentFieldName,\n ref,\n selectedIds,\n useAsTitle = 'id',\n}: { ref?: React.RefObject<HierarchyColumnBrowserRef | null> } & HierarchyColumnBrowserProps) {\n const { i18n } = useTranslation()\n const { permissions } = useAuth()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const hierarchyConfig =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT\n\n const collectionLabel = collectionConfig\n ? getTranslation(collectionConfig.labels?.singular || hierarchyCollectionSlug, i18n)\n : hierarchyCollectionSlug\n const canCreate = Boolean(permissions?.collections?.[hierarchyCollectionSlug]?.create)\n\n const [columns, setColumns] = useState<ColumnState[]>([])\n const [expandedPath, setExpandedPath] = useState<(number | string)[]>([])\n const containerRef = useRef<HTMLDivElement>(null)\n const lastColumnRef = useRef<HTMLDivElement>(null)\n const hasLoadedRef = useRef(false)\n\n const fetchItems = useCallback(\n async ({\n page,\n parentId,\n }: {\n page: number\n parentId: null | number | string\n }): Promise<{\n hasNextPage: boolean\n items: ColumnItemData[]\n totalDocs: number\n }> => {\n const parentWhere =\n parentId === null\n ? { [parentFieldName]: { exists: false } }\n : { [parentFieldName]: { equals: parentId } }\n\n // Build the final where clause, adding collectionSpecific filtering if configured\n let where: Record<string, unknown> = parentWhere\n\n // Filter by collection type if collectionSpecific is configured and filterByCollection is defined\n // - undefined: no filtering, show all folders\n // - [] empty: show all folders (no constraints)\n // - ['posts', ...]: show folders that allow ANY of these OR unrestricted\n // Note: Ideally we'd enforce ALL (superset) but hasMany enum fields in PG\n // do not support \"contains all\" queries easily\n if (hierarchyConfig?.collectionSpecific && filterByCollection !== undefined) {\n const typeFieldName = hierarchyConfig.collectionSpecific.fieldName\n\n if (filterByCollection.length > 0) {\n // Get all possible type field values from relatedCollections\n // This is used to detect \"unrestricted\" folders (empty allowedTypes array)\n const allPossibleTypes = Object.keys(hierarchyConfig.relatedCollections || {})\n\n where = {\n and: [\n parentWhere,\n {\n or: [\n // items that allow ANY of the selected collections\n { [typeFieldName]: { in: filterByCollection } },\n // OR items that are unrestricted (no type field exists)\n { [typeFieldName]: { exists: false } },\n // OR items with empty allowedTypes array (unrestricted)\n // Using not_in with all possible values matches empty arrays in both MongoDB and Postgres\n ...(allPossibleTypes.length > 0\n ? [{ [typeFieldName]: { not_in: allPossibleTypes } }]\n : []),\n ],\n },\n ],\n }\n } else {\n // Empty array: show all items of this parent\n where = parentWhere\n }\n }\n\n // Combine with baseFilter if provided\n const whereWithBaseFilter = combineWhereConstraints([where, baseFilter])\n\n const queryString = qs.stringify(\n { limit: treeLimit, page, sort: useAsTitle, where: whereWithBaseFilter },\n { addQueryPrefix: true },\n )\n\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${hierarchyCollectionSlug}${queryString}`,\n serverURL,\n })\n\n const response = await fetch(url, {\n credentials: 'include',\n })\n\n if (!response.ok) {\n throw new Error('Failed to fetch items')\n }\n\n const data = await response.json()\n\n const typeFieldName = hierarchyConfig?.collectionSpecific\n ? hierarchyConfig.collectionSpecific.fieldName\n : undefined\n\n const allItems: ColumnItemData[] = (data.docs || []).map(\n (doc: { id: number | string } & Record<string, unknown>) => ({\n id: doc.id,\n allowedCollections: typeFieldName\n ? (doc[typeFieldName] as string[] | undefined)\n : undefined,\n hasChildren: true, // Always allow expansion - empty children handled gracefully\n title: String(doc[useAsTitle] || doc.id),\n }),\n )\n\n // Client-side filter: only show items that are a superset of required collections\n // Server query uses ANY (due to PG limitations), but we want ALL (superset)\n const items =\n filterByCollection && filterByCollection.length > 0\n ? allItems.filter((item) => isSuperset(item.allowedCollections, filterByCollection))\n : allItems\n\n return {\n hasNextPage: data.hasNextPage || false,\n items,\n totalDocs: data.totalDocs || 0,\n }\n },\n [\n api,\n baseFilter,\n filterByCollection,\n hierarchyConfig,\n parentFieldName,\n serverURL,\n hierarchyCollectionSlug,\n treeLimit,\n useAsTitle,\n ],\n )\n\n const refreshColumn = useCallback(\n async (parentId: null | number | string) => {\n const columnIndex = columns.findIndex((col) => col.parentId === parentId)\n if (columnIndex === -1) {\n return\n }\n\n setColumns((prev) => {\n const updated = [...prev]\n updated[columnIndex] = { ...updated[columnIndex], isLoading: true }\n return updated\n })\n\n try {\n const { hasNextPage, items, totalDocs } = await fetchItems({ page: 1, parentId })\n\n setColumns((prev) => {\n const updated = [...prev]\n if (updated[columnIndex]) {\n updated[columnIndex] = {\n ...updated[columnIndex],\n hasNextPage,\n isLoading: false,\n items,\n page: 1,\n totalDocs,\n }\n }\n return updated\n })\n } catch {\n setColumns((prev) => {\n const updated = [...prev]\n if (updated[columnIndex]) {\n updated[columnIndex] = { ...updated[columnIndex], isLoading: false }\n }\n return updated\n })\n }\n },\n [columns, fetchItems],\n )\n\n useImperativeHandle(ref, () => ({ refreshColumn }), [refreshColumn])\n\n const loadColumns = useEffectEvent(async (path?: (number | string)[]) => {\n // Build list of parentIds to fetch: [null, ...path]\n const parentIds: (null | number | string)[] = [null]\n if (path?.length) {\n parentIds.push(...path)\n }\n\n // Set initial loading state for all columns\n setColumns(\n parentIds.map((parentId) => ({\n hasNextPage: false,\n isLoading: true,\n items: [],\n page: 1,\n parentId,\n totalDocs: 0,\n })),\n )\n\n // Set expanded path to match (excluding null/root)\n if (path?.length) {\n setExpandedPath(path)\n }\n\n // Fetch all columns in parallel\n const results = await Promise.all(\n parentIds.map(async (parentId, index) => {\n try {\n const { hasNextPage, items, totalDocs } = await fetchItems({ page: 1, parentId })\n let parentTitle: string | undefined\n if (index > 0 && parentId !== null) {\n // Will be filled in after all fetches complete\n }\n return {\n hasNextPage,\n isLoading: false,\n items,\n page: 1,\n parentId,\n parentTitle,\n totalDocs,\n }\n } catch {\n return {\n hasNextPage: false,\n isLoading: false,\n items: [],\n page: 1,\n parentId,\n parentTitle: undefined,\n totalDocs: 0,\n }\n }\n }),\n )\n\n // Fill in parent titles from previous columns\n const columnsWithTitles = results.map((col, index) => {\n if (index === 0 || col.parentId === null) {\n return col\n }\n const prevColumn = results[index - 1]\n const parentItem = prevColumn?.items.find((item) => item.id === col.parentId)\n return {\n ...col,\n parentTitle: parentItem?.title || String(col.parentId),\n }\n })\n\n setColumns(columnsWithTitles)\n })\n\n // Load columns on mount - wait for path loading to complete\n useEffect(() => {\n if (isLoadingPath || hasLoadedRef.current) {\n return\n }\n hasLoadedRef.current = true\n void loadColumns(initialExpandedPath)\n }, [initialExpandedPath, isLoadingPath])\n\n // Auto-scroll to the last column when columns change\n useEffect(() => {\n if (lastColumnRef.current && columns.length > 1) {\n lastColumnRef.current.scrollIntoView({ behavior: 'instant', inline: 'start' })\n }\n }, [columns.length])\n\n const handleExpand = useCallback(\n async ({ columnIndex, itemId }: { columnIndex: number; itemId: number | string }) => {\n const column = columns[columnIndex]\n if (!column) {\n return\n }\n\n const item = column.items.find((i) => i.id === itemId)\n if (!item) {\n return\n }\n\n // Update expanded path - keep path up to this column, add new item\n const newExpandedPath = [...expandedPath.slice(0, columnIndex), itemId]\n setExpandedPath(newExpandedPath)\n\n // Remove columns to the right and add new loading column\n const newColumns = columns.slice(0, columnIndex + 1)\n newColumns.push({\n hasNextPage: false,\n isLoading: true,\n items: [],\n page: 1,\n parentId: itemId,\n parentTitle: item.title,\n totalDocs: 0,\n })\n\n setColumns(newColumns)\n\n // Fetch children\n try {\n const { hasNextPage, items, totalDocs } = await fetchItems({ page: 1, parentId: itemId })\n\n setColumns((prev) => {\n const updated = [...prev]\n const targetIndex = columnIndex + 1\n\n if (updated[targetIndex]?.parentId === itemId) {\n updated[targetIndex] = {\n hasNextPage,\n isLoading: false,\n items,\n page: 1,\n parentId: itemId,\n parentTitle: item.title,\n totalDocs,\n }\n }\n\n return updated\n })\n } catch {\n setColumns((prev) => {\n const updated = [...prev]\n const targetIndex = columnIndex + 1\n\n if (updated[targetIndex]?.parentId === itemId) {\n updated[targetIndex] = {\n hasNextPage: false,\n isLoading: false,\n items: [],\n page: 1,\n parentId: itemId,\n parentTitle: item.title,\n totalDocs: 0,\n }\n }\n\n return updated\n })\n }\n },\n [columns, expandedPath, fetchItems],\n )\n\n const handleLoadMore = useCallback(\n async ({ columnIndex }: { columnIndex: number }) => {\n const column = columns[columnIndex]\n if (!column || column.isLoading || !column.hasNextPage) {\n return\n }\n\n const nextPage = column.page + 1\n\n // Set loading state\n setColumns((prev) => {\n const updated = [...prev]\n updated[columnIndex] = { ...updated[columnIndex], isLoading: true }\n return updated\n })\n\n try {\n const { hasNextPage, items: newItems } = await fetchItems({\n page: nextPage,\n parentId: column.parentId,\n })\n\n setColumns((prev) => {\n const updated = [...prev]\n\n if (updated[columnIndex]) {\n updated[columnIndex] = {\n ...updated[columnIndex],\n hasNextPage,\n isLoading: false,\n items: [...updated[columnIndex].items, ...newItems],\n page: nextPage,\n }\n }\n\n return updated\n })\n } catch {\n setColumns((prev) => {\n const updated = [...prev]\n\n if (updated[columnIndex]) {\n updated[columnIndex] = { ...updated[columnIndex], isLoading: false }\n }\n\n return updated\n })\n }\n },\n [columns, fetchItems],\n )\n\n // Build path for each column based on parent info\n const getPathToColumn = (columnIndex: number) => {\n const path: Array<{ id: number | string; title: string }> = []\n\n for (let i = 1; i <= columnIndex; i++) {\n const col = columns[i]\n if (col?.parentId !== null && col?.parentId !== undefined) {\n path.push({\n id: col.parentId,\n title: col.parentTitle || String(col.parentId),\n })\n }\n }\n\n return path\n }\n\n return (\n <div className={baseClass} ref={containerRef}>\n {columns.map((column, index) => {\n const isLastColumn = index === columns.length - 1 && !isLoadingPath\n const expandedId = expandedPath[index] ?? null\n const pathToColumn = getPathToColumn(index)\n\n return (\n <div\n className={`${baseClass}__column-wrapper`}\n key={`${column.parentId ?? 'root'}-${index}`}\n ref={isLastColumn ? lastColumnRef : undefined}\n >\n <Column\n ancestorsWithSelections={ancestorsWithSelections}\n canCreate={canCreate && Boolean(onCreateNew)}\n collectionLabel={collectionLabel}\n disabled={isLoadingPath}\n disabledIds={disabledIds}\n expandedId={expandedId}\n filterByCollection={filterByCollection}\n hasNextPage={column.hasNextPage}\n isLoading={column.isLoading}\n items={column.items}\n onCreateNew={onCreateNew || (() => {})}\n onExpand={({ id }) => handleExpand({ columnIndex: index, itemId: id })}\n onLoadMore={() => handleLoadMore({ columnIndex: index })}\n onSelect={onSelect}\n parentId={column.parentId}\n parentTitle={column.parentTitle}\n pathToColumn={pathToColumn}\n selectedIds={selectedIds}\n totalDocs={column.totalDocs}\n />\n </div>\n )\n })}\n {isLoadingPath && (\n <div className={`${baseClass}__column-wrapper ${baseClass}__column-wrapper--loading`}>\n <Spinner />\n </div>\n )}\n </div>\n )\n}\n\nexport type {\n ColumnItemData,\n HierarchyColumnBrowserProps,\n HierarchyColumnBrowserRef,\n PathSegment,\n} from './types.js'\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","combineWhereConstraints","DEFAULT_HIERARCHY_TREE_LIMIT","formatAdminURL","qs","React","useCallback","useEffect","useImperativeHandle","useRef","useState","useEffectEvent","useAuth","useConfig","useTranslation","isSuperset","Spinner","Column","baseClass","HierarchyColumnBrowser","baseFilter","disabledIds","filterByCollection","hasMany","hierarchyCollectionSlug","initialExpandedPath","isLoadingPath","onCreateNew","onSelect","parentFieldName","ref","selectedDescendantCounts","selectedIds","useAsTitle","i18n","permissions","config","routes","api","serverURL","getEntityConfig","collectionConfig","collectionSlug","hierarchyConfig","hierarchy","undefined","treeLimit","admin","collectionLabel","labels","singular","collectionLabelPlural","plural","canCreate","Boolean","collections","create","columns","setColumns","expandedPath","setExpandedPath","revealed","setRevealed","containerRef","lastColumnRef","hasLoadedRef","fetchItems","page","parentId","parentWhere","exists","equals","where","collectionSpecific","typeFieldName","fieldName","length","allPossibleTypes","Object","keys","relatedCollections","and","or","in","not_in","whereWithBaseFilter","queryString","stringify","limit","sort","addQueryPrefix","url","apiRoute","path","response","fetch","credentials","ok","Error","data","json","allItems","docs","map","doc","id","allowedCollections","hasChildren","title","String","items","filter","item","hasNextPage","totalDocs","refreshColumn","columnIndex","findIndex","col","prev","updated","isLoading","loadColumnsForPath","parentIds","push","results","Promise","all","index","parentTitle","columnsWithTitles","prevColumn","parentItem","find","loadColumns","revealPath","target","slice","segment","token","current","scrollIntoView","behavior","inline","handleExpand","itemId","column","i","newExpandedPath","newColumns","targetIndex","handleLoadMore","nextPage","newItems","getPathToColumn","handleSelectParent","_jsxs","className","isLastColumn","expandedId","pathToColumn","_jsx","disabled","onExpand","onLoadMore","onSelectParent","revealedId","revealToken"],"sources":["../../../../src/elements/Hierarchy/ColumnBrowser/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n combineWhereConstraints,\n DEFAULT_HIERARCHY_TREE_LIMIT,\n formatAdminURL,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react'\n\nimport type {\n ColumnItemData,\n ColumnState,\n HierarchyColumnBrowserProps,\n HierarchyColumnBrowserRef,\n PathSegment,\n} from './types.js'\n\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { isSuperset } from '../../../utilities/isSuperset.js'\nimport { Spinner } from '../../Spinner/index.js'\nimport { Column } from './Column/index.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-column-browser'\n\nexport const HierarchyColumnBrowser = function HierarchyColumnBrowser({\n baseFilter,\n disabledIds,\n filterByCollection,\n hasMany,\n hierarchyCollectionSlug,\n initialExpandedPath,\n isLoadingPath,\n onCreateNew,\n onSelect,\n parentFieldName,\n ref,\n selectedDescendantCounts,\n selectedIds,\n useAsTitle = 'id',\n}: { ref?: React.RefObject<HierarchyColumnBrowserRef | null> } & HierarchyColumnBrowserProps) {\n const { i18n } = useTranslation()\n const { permissions } = useAuth()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const hierarchyConfig =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT\n\n const collectionLabel = collectionConfig\n ? getTranslation(collectionConfig.labels?.singular || hierarchyCollectionSlug, i18n)\n : hierarchyCollectionSlug\n const collectionLabelPlural = collectionConfig\n ? getTranslation(collectionConfig.labels?.plural || hierarchyCollectionSlug, i18n)\n : hierarchyCollectionSlug\n const canCreate = Boolean(permissions?.collections?.[hierarchyCollectionSlug]?.create)\n\n const [columns, setColumns] = useState<ColumnState[]>([])\n const [expandedPath, setExpandedPath] = useState<(number | string)[]>([])\n const [revealed, setRevealed] = useState<{ id: number | string; token: number } | null>(null)\n const containerRef = useRef<HTMLDivElement>(null)\n const lastColumnRef = useRef<HTMLDivElement>(null)\n const hasLoadedRef = useRef(false)\n\n const fetchItems = useCallback(\n async ({\n page,\n parentId,\n }: {\n page: number\n parentId: null | number | string\n }): Promise<{\n hasNextPage: boolean\n items: ColumnItemData[]\n totalDocs: number\n }> => {\n const parentWhere =\n parentId === null\n ? { [parentFieldName]: { exists: false } }\n : { [parentFieldName]: { equals: parentId } }\n\n // Build the final where clause, adding collectionSpecific filtering if configured\n let where: Record<string, unknown> = parentWhere\n\n // Filter by collection type if collectionSpecific is configured and filterByCollection is defined\n // - undefined: no filtering, show all folders\n // - [] empty: show all folders (no constraints)\n // - ['posts', ...]: show folders that allow ANY of these OR unrestricted\n // Note: Ideally we'd enforce ALL (superset) but hasMany enum fields in PG\n // do not support \"contains all\" queries easily\n if (hierarchyConfig?.collectionSpecific && filterByCollection !== undefined) {\n const typeFieldName = hierarchyConfig.collectionSpecific.fieldName\n\n if (filterByCollection.length > 0) {\n // Get all possible type field values from relatedCollections\n // This is used to detect \"unrestricted\" folders (empty allowedTypes array)\n const allPossibleTypes = Object.keys(hierarchyConfig.relatedCollections || {})\n\n where = {\n and: [\n parentWhere,\n {\n or: [\n // items that allow ANY of the selected collections\n { [typeFieldName]: { in: filterByCollection } },\n // OR items that are unrestricted (no type field exists)\n { [typeFieldName]: { exists: false } },\n // OR items with empty allowedTypes array (unrestricted)\n // Using not_in with all possible values matches empty arrays in both MongoDB and Postgres\n ...(allPossibleTypes.length > 0\n ? [{ [typeFieldName]: { not_in: allPossibleTypes } }]\n : []),\n ],\n },\n ],\n }\n } else {\n // Empty array: show all items of this parent\n where = parentWhere\n }\n }\n\n // Combine with baseFilter if provided\n const whereWithBaseFilter = combineWhereConstraints([where, baseFilter])\n\n const queryString = qs.stringify(\n { limit: treeLimit, page, sort: useAsTitle, where: whereWithBaseFilter },\n { addQueryPrefix: true },\n )\n\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${hierarchyCollectionSlug}${queryString}`,\n serverURL,\n })\n\n const response = await fetch(url, {\n credentials: 'include',\n })\n\n if (!response.ok) {\n throw new Error('Failed to fetch items')\n }\n\n const data = await response.json()\n\n const typeFieldName = hierarchyConfig?.collectionSpecific\n ? hierarchyConfig.collectionSpecific.fieldName\n : undefined\n\n const allItems: ColumnItemData[] = (data.docs || []).map(\n (doc: { id: number | string } & Record<string, unknown>) => ({\n id: doc.id,\n allowedCollections: typeFieldName\n ? (doc[typeFieldName] as string[] | undefined)\n : undefined,\n hasChildren: true, // Always allow expansion - empty children handled gracefully\n title: String(doc[useAsTitle] || doc.id),\n }),\n )\n\n // Client-side filter: only show items that are a superset of required collections\n // Server query uses ANY (due to PG limitations), but we want ALL (superset)\n const items =\n filterByCollection && filterByCollection.length > 0\n ? allItems.filter((item) => isSuperset(item.allowedCollections, filterByCollection))\n : allItems\n\n return {\n hasNextPage: data.hasNextPage || false,\n items,\n totalDocs: data.totalDocs || 0,\n }\n },\n [\n api,\n baseFilter,\n filterByCollection,\n hierarchyConfig,\n parentFieldName,\n serverURL,\n hierarchyCollectionSlug,\n treeLimit,\n useAsTitle,\n ],\n )\n\n const refreshColumn = useCallback(\n async (parentId: null | number | string) => {\n const columnIndex = columns.findIndex((col) => col.parentId === parentId)\n if (columnIndex === -1) {\n return\n }\n\n setColumns((prev) => {\n const updated = [...prev]\n updated[columnIndex] = { ...updated[columnIndex], isLoading: true }\n return updated\n })\n\n try {\n const { hasNextPage, items, totalDocs } = await fetchItems({ page: 1, parentId })\n\n setColumns((prev) => {\n const updated = [...prev]\n if (updated[columnIndex]) {\n updated[columnIndex] = {\n ...updated[columnIndex],\n hasNextPage,\n isLoading: false,\n items,\n page: 1,\n totalDocs,\n }\n }\n return updated\n })\n } catch {\n setColumns((prev) => {\n const updated = [...prev]\n if (updated[columnIndex]) {\n updated[columnIndex] = { ...updated[columnIndex], isLoading: false }\n }\n return updated\n })\n }\n },\n [columns, fetchItems],\n )\n\n const loadColumnsForPath = useCallback(\n async (path?: (number | string)[]) => {\n // Build list of parentIds to fetch: [null, ...path]\n const parentIds: (null | number | string)[] = [null]\n if (path?.length) {\n parentIds.push(...path)\n }\n\n // Set initial loading state for all columns\n setColumns(\n parentIds.map((parentId) => ({\n hasNextPage: false,\n isLoading: true,\n items: [],\n page: 1,\n parentId,\n totalDocs: 0,\n })),\n )\n\n // Set expanded path to match (excluding null/root). Always reset - a `revealPath` back to the\n // root would otherwise leave the previous path's items marked as expanded.\n setExpandedPath(path ?? [])\n\n // Fetch all columns in parallel\n const results = await Promise.all(\n parentIds.map(async (parentId, index) => {\n try {\n const { hasNextPage, items, totalDocs } = await fetchItems({ page: 1, parentId })\n let parentTitle: string | undefined\n if (index > 0 && parentId !== null) {\n // Will be filled in after all fetches complete\n }\n return {\n hasNextPage,\n isLoading: false,\n items,\n page: 1,\n parentId,\n parentTitle,\n totalDocs,\n }\n } catch {\n return {\n hasNextPage: false,\n isLoading: false,\n items: [],\n page: 1,\n parentId,\n parentTitle: undefined,\n totalDocs: 0,\n }\n }\n }),\n )\n\n // Fill in parent titles from previous columns\n const columnsWithTitles = results.map((col, index) => {\n if (index === 0 || col.parentId === null) {\n return col\n }\n const prevColumn = results[index - 1]\n const parentItem = prevColumn?.items.find((item) => item.id === col.parentId)\n return {\n ...col,\n parentTitle: parentItem?.title || String(col.parentId),\n }\n })\n\n setColumns(columnsWithTitles)\n },\n [fetchItems],\n )\n\n const loadColumns = useEffectEvent(async (path?: (number | string)[]) => {\n await loadColumnsForPath(path)\n })\n\n const revealPath = useCallback(\n async (path: PathSegment[]) => {\n const target = path[path.length - 1]\n\n if (!target) {\n return\n }\n\n await loadColumnsForPath(path.slice(0, -1).map((segment) => segment.id))\n setRevealed((prev) => ({ id: target.id, token: (prev?.token ?? 0) + 1 }))\n },\n [loadColumnsForPath],\n )\n\n useImperativeHandle(ref, () => ({ refreshColumn, revealPath }), [refreshColumn, revealPath])\n\n // Load columns on mount - wait for path loading to complete\n useEffect(() => {\n if (isLoadingPath || hasLoadedRef.current) {\n return\n }\n hasLoadedRef.current = true\n void loadColumns(initialExpandedPath)\n }, [initialExpandedPath, isLoadingPath])\n\n // Auto-scroll to the last column when columns change\n useEffect(() => {\n if (lastColumnRef.current && columns.length > 1) {\n lastColumnRef.current.scrollIntoView({ behavior: 'instant', inline: 'start' })\n }\n }, [columns.length])\n\n const handleExpand = useCallback(\n async ({ columnIndex, itemId }: { columnIndex: number; itemId: number | string }) => {\n const column = columns[columnIndex]\n if (!column) {\n return\n }\n\n const item = column.items.find((i) => i.id === itemId)\n if (!item) {\n return\n }\n\n // Update expanded path - keep path up to this column, add new item\n const newExpandedPath = [...expandedPath.slice(0, columnIndex), itemId]\n setExpandedPath(newExpandedPath)\n\n // Re-opening a folder that is already expanded here (e.g. clicking the grandparent while\n // sitting in grandparent/parent/child) makes it the deepest open one again. Its child column\n // is already loaded, so drop everything past it rather than refetching.\n if (columns[columnIndex + 1]?.parentId === itemId) {\n setColumns(columns.slice(0, columnIndex + 2))\n return\n }\n\n // Remove columns to the right and add new loading column\n const newColumns = columns.slice(0, columnIndex + 1)\n newColumns.push({\n hasNextPage: false,\n isLoading: true,\n items: [],\n page: 1,\n parentId: itemId,\n parentTitle: item.title,\n totalDocs: 0,\n })\n\n setColumns(newColumns)\n\n // Fetch children\n try {\n const { hasNextPage, items, totalDocs } = await fetchItems({ page: 1, parentId: itemId })\n\n setColumns((prev) => {\n const updated = [...prev]\n const targetIndex = columnIndex + 1\n\n if (updated[targetIndex]?.parentId === itemId) {\n updated[targetIndex] = {\n hasNextPage,\n isLoading: false,\n items,\n page: 1,\n parentId: itemId,\n parentTitle: item.title,\n totalDocs,\n }\n }\n\n return updated\n })\n } catch {\n setColumns((prev) => {\n const updated = [...prev]\n const targetIndex = columnIndex + 1\n\n if (updated[targetIndex]?.parentId === itemId) {\n updated[targetIndex] = {\n hasNextPage: false,\n isLoading: false,\n items: [],\n page: 1,\n parentId: itemId,\n parentTitle: item.title,\n totalDocs: 0,\n }\n }\n\n return updated\n })\n }\n },\n [columns, expandedPath, fetchItems],\n )\n\n const handleLoadMore = useCallback(\n async ({ columnIndex }: { columnIndex: number }) => {\n const column = columns[columnIndex]\n if (!column || column.isLoading || !column.hasNextPage) {\n return\n }\n\n const nextPage = column.page + 1\n\n // Set loading state\n setColumns((prev) => {\n const updated = [...prev]\n updated[columnIndex] = { ...updated[columnIndex], isLoading: true }\n return updated\n })\n\n try {\n const { hasNextPage, items: newItems } = await fetchItems({\n page: nextPage,\n parentId: column.parentId,\n })\n\n setColumns((prev) => {\n const updated = [...prev]\n\n if (updated[columnIndex]) {\n updated[columnIndex] = {\n ...updated[columnIndex],\n hasNextPage,\n isLoading: false,\n items: [...updated[columnIndex].items, ...newItems],\n page: nextPage,\n }\n }\n\n return updated\n })\n } catch {\n setColumns((prev) => {\n const updated = [...prev]\n\n if (updated[columnIndex]) {\n updated[columnIndex] = { ...updated[columnIndex], isLoading: false }\n }\n\n return updated\n })\n }\n },\n [columns, fetchItems],\n )\n\n // Build path for each column based on parent info\n const getPathToColumn = useCallback(\n (columnIndex: number) => {\n const path: Array<{ id: number | string; title: string }> = []\n\n for (let i = 1; i <= columnIndex; i++) {\n const col = columns[i]\n if (col?.parentId !== null && col?.parentId !== undefined) {\n path.push({\n id: col.parentId,\n title: col.parentTitle || String(col.parentId),\n })\n }\n }\n\n return path\n },\n [columns],\n )\n\n // Single-select only: clicking the empty space in a column makes that column's own folder the\n // current destination - e.g. in grandparent/parent/child, clicking empty space in the column\n // showing grandparent's children (headed \"grandparent\") makes grandparent current again,\n // dropping the parent/child columns opened past it.\n const handleSelectParent = useCallback(\n ({ id, columnIndex }: { columnIndex: number; id: number | string }) => {\n onSelect({ id, path: getPathToColumn(columnIndex) })\n setExpandedPath((prev) => prev.slice(0, columnIndex))\n setColumns((prev) => prev.slice(0, columnIndex + 1))\n },\n [getPathToColumn, onSelect],\n )\n\n return (\n <div className={baseClass} ref={containerRef}>\n {columns.map((column, index) => {\n const isLastColumn = index === columns.length - 1 && !isLoadingPath\n const expandedId = expandedPath[index] ?? null\n const pathToColumn = getPathToColumn(index)\n\n return (\n <div\n className={`${baseClass}__column-wrapper`}\n key={`${column.parentId ?? 'root'}-${index}`}\n ref={isLastColumn ? lastColumnRef : undefined}\n >\n <Column\n canCreate={canCreate && Boolean(onCreateNew)}\n collectionLabel={collectionLabel}\n collectionLabelPlural={collectionLabelPlural}\n disabled={isLoadingPath}\n disabledIds={disabledIds}\n expandedId={expandedId}\n filterByCollection={filterByCollection}\n hasMany={hasMany}\n hasNextPage={column.hasNextPage}\n isLoading={column.isLoading}\n items={column.items}\n onCreateNew={onCreateNew || (() => {})}\n onExpand={({ id }) => handleExpand({ columnIndex: index, itemId: id })}\n onLoadMore={() => handleLoadMore({ columnIndex: index })}\n onSelect={onSelect}\n onSelectParent={\n hasMany ? undefined : ({ id }) => handleSelectParent({ id, columnIndex: index })\n }\n parentId={column.parentId}\n parentTitle={column.parentTitle}\n pathToColumn={pathToColumn}\n revealedId={revealed?.id}\n revealToken={revealed?.token}\n selectedDescendantCounts={selectedDescendantCounts}\n selectedIds={selectedIds}\n totalDocs={column.totalDocs}\n />\n </div>\n )\n })}\n {isLoadingPath && (\n <div className={`${baseClass}__column-wrapper ${baseClass}__column-wrapper--loading`}>\n <Spinner />\n </div>\n )}\n </div>\n )\n}\n\nexport type {\n ColumnItemData,\n HierarchyColumnBrowserProps,\n HierarchyColumnBrowserRef,\n PathSegment,\n} from './types.js'\n"],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,8 @@ export type ColumnItemProps = {
14
14
  disabled?: boolean;
15
15
  /** Required collections that the folder must allow (for superset check) */
16
16
  filterByCollection?: string[];
17
- hasSelectedDescendants: boolean;
17
+ /** Multi-select shows a checkbox; single-select marks the selected row with a ring instead */
18
+ hasMany?: boolean;
18
19
  isExpanded: boolean;
19
20
  isSelected: boolean;
20
21
  item: ColumnItemData;
@@ -24,19 +25,28 @@ export type ColumnItemProps = {
24
25
  onSelect: (params: {
25
26
  id: number | string;
26
27
  }) => void;
28
+ /**
29
+ * Set when this item is the target of a `revealPath` call - it scrolls itself into view and
30
+ * takes focus. The value changes on every reveal so repeat reveals of the same item re-fire.
31
+ */
32
+ revealToken?: number;
33
+ /** How many selected items live below this one, shown as a badge beside the chevron */
34
+ selectedDescendantCount: number;
27
35
  };
28
36
  export type ColumnProps = {
29
- ancestorsWithSelections: Set<number | string>;
30
37
  /** Whether user can create new documents */
31
38
  canCreate: boolean;
32
39
  /** Label for the collection (e.g., "Folder") */
33
40
  collectionLabel: string;
41
+ /** Plural label for the collection (e.g., "Folders") */
42
+ collectionLabelPlural: string;
34
43
  disabled?: boolean;
35
44
  /** IDs that should be disabled (e.g., items being moved can't be selected as destination) */
36
45
  disabledIds?: Set<number | string>;
37
46
  expandedId: null | number | string;
38
47
  /** Required collections for superset check (passed to ColumnItem) */
39
48
  filterByCollection?: string[];
49
+ hasMany?: boolean;
40
50
  hasNextPage: boolean;
41
51
  isLoading: boolean;
42
52
  items: ColumnItemData[];
@@ -52,9 +62,21 @@ export type ColumnProps = {
52
62
  id: number | string;
53
63
  path: PathSegment[];
54
64
  }) => void;
65
+ /**
66
+ * Called when the user clicks the empty space below the rows (not a row itself). Single-select
67
+ * only - makes this column's own folder the current destination.
68
+ */
69
+ onSelectParent?: (params: {
70
+ id: number | string;
71
+ }) => void;
55
72
  parentId: null | number | string;
56
73
  parentTitle?: string;
57
74
  pathToColumn: PathSegment[];
75
+ /** Item to scroll into view and focus, if it lives in this column */
76
+ revealedId?: null | number | string;
77
+ revealToken?: number;
78
+ /** Number of selected items nested under each ancestor, keyed by ancestor ID */
79
+ selectedDescendantCounts: Map<number | string, number>;
58
80
  selectedIds: Set<number | string>;
59
81
  totalDocs: number;
60
82
  };
@@ -70,9 +92,13 @@ export type ColumnState = {
70
92
  export type HierarchyColumnBrowserRef = {
71
93
  /** Refetch a specific column by parentId */
72
94
  refreshColumn: (parentId: null | number | string) => Promise<void>;
95
+ /**
96
+ * Expand the columns down to the last segment of `path`, then scroll it into view and focus it.
97
+ * Does not change the current selection.
98
+ */
99
+ revealPath: (path: PathSegment[]) => Promise<void>;
73
100
  };
74
101
  export type HierarchyColumnBrowserProps = {
75
- ancestorsWithSelections: Set<number | string>;
76
102
  /** Base filter constraint (e.g., tenant filter) to apply to all queries */
77
103
  baseFilter?: null | Where;
78
104
  /** IDs that should be disabled (e.g., items being moved can't be selected as destination) */
@@ -87,6 +113,8 @@ export type HierarchyColumnBrowserProps = {
87
113
  * Client-side enforcement can disable selection of folders that don't allow ALL required collections.
88
114
  */
89
115
  filterByCollection?: string[];
116
+ /** Multi-select shows a checkbox per row; single-select rings the selected row instead */
117
+ hasMany?: boolean;
90
118
  hierarchyCollectionSlug: string;
91
119
  initialExpandedPath?: (number | string)[];
92
120
  /** Whether the initial expanded path is still being loaded */
@@ -100,6 +128,8 @@ export type HierarchyColumnBrowserProps = {
100
128
  path: PathSegment[];
101
129
  }) => void;
102
130
  parentFieldName: string;
131
+ /** Number of selected items nested under each ancestor, keyed by ancestor ID */
132
+ selectedDescendantCounts: Map<number | string, number>;
103
133
  selectedIds: Set<number | string>;
104
134
  useAsTitle?: string;
105
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/ColumnBrowser/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/ColumnBrowser/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGpC,MAAM,MAAM,cAAc,GAAG;IAC3B,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,WAAW,EAAE,OAAO,CAAA;IACpB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,8FAA8F;IAC9F,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACnD,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACnD;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uFAAuF;IACvF,uBAAuB,EAAE,MAAM,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,4CAA4C;IAC5C,SAAS,EAAE,OAAO,CAAA;IAClB,gDAAgD;IAChD,eAAe,EAAE,MAAM,CAAA;IACvB,wDAAwD;IACxD,qBAAqB,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;IAClC,UAAU,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IAClC,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,oFAAoF;IACpF,WAAW,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACnE,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACnD,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,EAAE,WAAW,EAAE,CAAA;KAAE,KAAK,IAAI,CAAA;IACxE;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC1D,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,qEAAqE;IACrE,UAAU,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gFAAgF;IAChF,wBAAwB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAA;IACtD,WAAW,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;IACjC,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,4CAA4C;IAC5C,aAAa,EAAE,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE;;;OAGG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACnD,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,2EAA2E;IAC3E,UAAU,CAAC,EAAE,IAAI,GAAG,KAAK,CAAA;IACzB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;IAClC;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,0FAA0F;IAC1F,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,mBAAmB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzC,8DAA8D;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gEAAgE;IAChE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACpE,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,EAAE,WAAW,EAAE,CAAA;KAAE,KAAK,IAAI,CAAA;IACxE,eAAe,EAAE,MAAM,CAAA;IACvB,gFAAgF;IAChF,wBAAwB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAA;IACtD,WAAW,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/elements/Hierarchy/ColumnBrowser/types.ts"],"sourcesContent":["import type { Where } from 'payload'\nimport type React from 'react'\n\nexport type ColumnItemData = {\n /** For folders with collectionSpecific config, the allowed collection slugs */\n allowedCollections?: string[]\n hasChildren: boolean\n id: number | string\n title: string\n}\n\nexport type PathSegment = {\n id: number | string\n title: string\n}\n\nexport type ColumnItemProps = {\n disabled?: boolean\n /** Required collections that the folder must allow (for superset check) */\n filterByCollection?: string[]\n hasSelectedDescendants: boolean\n isExpanded: boolean\n isSelected: boolean\n item: ColumnItemData\n onExpand: (params: { id: number | string }) => void\n onSelect: (params: { id: number | string }) => void\n}\n\nexport type ColumnProps = {\n ancestorsWithSelections: Set<number | string>\n /** Whether user can create new documents */\n canCreate: boolean\n /** Label for the collection (e.g., \"Folder\") */\n collectionLabel: string\n disabled?: boolean\n /** IDs that should be disabled (e.g., items being moved can't be selected as destination) */\n disabledIds?: Set<number | string>\n expandedId: null | number | string\n /** Required collections for superset check (passed to ColumnItem) */\n filterByCollection?: string[]\n hasNextPage: boolean\n isLoading: boolean\n items: ColumnItemData[]\n /** Called when user clicks \"New\" button - parent should open modal with parentId */\n onCreateNew: (params: { parentId: null | number | string }) => void\n onExpand: (params: { id: number | string }) => void\n onLoadMore: () => void\n onSelect: (params: { id: number | string; path: PathSegment[] }) => void\n parentId: null | number | string\n parentTitle?: string\n pathToColumn: PathSegment[]\n selectedIds: Set<number | string>\n totalDocs: number\n}\n\nexport type ColumnState = {\n hasNextPage: boolean\n isLoading: boolean\n items: ColumnItemData[]\n page: number\n parentId: null | number | string\n parentTitle?: string\n totalDocs: number\n}\n\nexport type HierarchyColumnBrowserRef = {\n /** Refetch a specific column by parentId */\n refreshColumn: (parentId: null | number | string) => Promise<void>\n}\n\nexport type HierarchyColumnBrowserProps = {\n ancestorsWithSelections: Set<number | string>\n /** Base filter constraint (e.g., tenant filter) to apply to all queries */\n baseFilter?: null | Where\n /** IDs that should be disabled (e.g., items being moved can't be selected as destination) */\n disabledIds?: Set<number | string>\n /**\n * Filters hierarchy items based on collection type restrictions:\n * - `undefined`: No filtering, show all folders\n * - `[]` (empty array): No filtering, show all folders (no constraints)\n * - `['posts', ...]`: Show folders accepting ANY of these collections OR unrestricted folders\n *\n * Note: Query uses ANY semantics due to PG hasMany enum limitations.\n * Client-side enforcement can disable selection of folders that don't allow ALL required collections.\n */\n filterByCollection?: string[]\n hierarchyCollectionSlug: string\n initialExpandedPath?: (number | string)[]\n /** Whether the initial expanded path is still being loaded */\n isLoadingPath?: boolean\n /** Called when user clicks \"New\" button to create a new item */\n onCreateNew?: (params: { parentId: null | number | string }) => void\n onSelect: (params: { id: number | string; path: PathSegment[] }) => void\n parentFieldName: string\n selectedIds: Set<number | string>\n useAsTitle?: string\n}\n"],"mappings":"AAsEA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/elements/Hierarchy/ColumnBrowser/types.ts"],"sourcesContent":["import type { Where } from 'payload'\nimport type React from 'react'\n\nexport type ColumnItemData = {\n /** For folders with collectionSpecific config, the allowed collection slugs */\n allowedCollections?: string[]\n hasChildren: boolean\n id: number | string\n title: string\n}\n\nexport type PathSegment = {\n id: number | string\n title: string\n}\n\nexport type ColumnItemProps = {\n disabled?: boolean\n /** Required collections that the folder must allow (for superset check) */\n filterByCollection?: string[]\n /** Multi-select shows a checkbox; single-select marks the selected row with a ring instead */\n hasMany?: boolean\n isExpanded: boolean\n isSelected: boolean\n item: ColumnItemData\n onExpand: (params: { id: number | string }) => void\n onSelect: (params: { id: number | string }) => void\n /**\n * Set when this item is the target of a `revealPath` call - it scrolls itself into view and\n * takes focus. The value changes on every reveal so repeat reveals of the same item re-fire.\n */\n revealToken?: number\n /** How many selected items live below this one, shown as a badge beside the chevron */\n selectedDescendantCount: number\n}\n\nexport type ColumnProps = {\n /** Whether user can create new documents */\n canCreate: boolean\n /** Label for the collection (e.g., \"Folder\") */\n collectionLabel: string\n /** Plural label for the collection (e.g., \"Folders\") */\n collectionLabelPlural: string\n disabled?: boolean\n /** IDs that should be disabled (e.g., items being moved can't be selected as destination) */\n disabledIds?: Set<number | string>\n expandedId: null | number | string\n /** Required collections for superset check (passed to ColumnItem) */\n filterByCollection?: string[]\n hasMany?: boolean\n hasNextPage: boolean\n isLoading: boolean\n items: ColumnItemData[]\n /** Called when user clicks \"New\" button - parent should open modal with parentId */\n onCreateNew: (params: { parentId: null | number | string }) => void\n onExpand: (params: { id: number | string }) => void\n onLoadMore: () => void\n onSelect: (params: { id: number | string; path: PathSegment[] }) => void\n /**\n * Called when the user clicks the empty space below the rows (not a row itself). Single-select\n * only - makes this column's own folder the current destination.\n */\n onSelectParent?: (params: { id: number | string }) => void\n parentId: null | number | string\n parentTitle?: string\n pathToColumn: PathSegment[]\n /** Item to scroll into view and focus, if it lives in this column */\n revealedId?: null | number | string\n revealToken?: number\n /** Number of selected items nested under each ancestor, keyed by ancestor ID */\n selectedDescendantCounts: Map<number | string, number>\n selectedIds: Set<number | string>\n totalDocs: number\n}\n\nexport type ColumnState = {\n hasNextPage: boolean\n isLoading: boolean\n items: ColumnItemData[]\n page: number\n parentId: null | number | string\n parentTitle?: string\n totalDocs: number\n}\n\nexport type HierarchyColumnBrowserRef = {\n /** Refetch a specific column by parentId */\n refreshColumn: (parentId: null | number | string) => Promise<void>\n /**\n * Expand the columns down to the last segment of `path`, then scroll it into view and focus it.\n * Does not change the current selection.\n */\n revealPath: (path: PathSegment[]) => Promise<void>\n}\n\nexport type HierarchyColumnBrowserProps = {\n /** Base filter constraint (e.g., tenant filter) to apply to all queries */\n baseFilter?: null | Where\n /** IDs that should be disabled (e.g., items being moved can't be selected as destination) */\n disabledIds?: Set<number | string>\n /**\n * Filters hierarchy items based on collection type restrictions:\n * - `undefined`: No filtering, show all folders\n * - `[]` (empty array): No filtering, show all folders (no constraints)\n * - `['posts', ...]`: Show folders accepting ANY of these collections OR unrestricted folders\n *\n * Note: Query uses ANY semantics due to PG hasMany enum limitations.\n * Client-side enforcement can disable selection of folders that don't allow ALL required collections.\n */\n filterByCollection?: string[]\n /** Multi-select shows a checkbox per row; single-select rings the selected row instead */\n hasMany?: boolean\n hierarchyCollectionSlug: string\n initialExpandedPath?: (number | string)[]\n /** Whether the initial expanded path is still being loaded */\n isLoadingPath?: boolean\n /** Called when user clicks \"New\" button to create a new item */\n onCreateNew?: (params: { parentId: null | number | string }) => void\n onSelect: (params: { id: number | string; path: PathSegment[] }) => void\n parentFieldName: string\n /** Number of selected items nested under each ancestor, keyed by ancestor ID */\n selectedDescendantCounts: Map<number | string, number>\n selectedIds: Set<number | string>\n useAsTitle?: string\n}\n"],"mappings":"AA+FA","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ @layer payload-default {
2
+ .hierarchy-create-new {
3
+ flex-shrink: 0;
4
+
5
+ &:hover:not(.btn--selected) {
6
+ background: var(--color-bg-tertiary);
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import './index.css';
3
+ export type HierarchyCreateNewButtonProps = {
4
+ collectionSlug: string;
5
+ /** Document the new item is created under. `null` creates at the root level. */
6
+ parentId: null | number | string;
7
+ };
8
+ export declare const HierarchyCreateNewButton: React.FC<HierarchyCreateNewButtonProps>;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/CreateNewButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAgC,MAAM,OAAO,CAAA;AASpD,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,6BAA6B,GAAG;IAC1C,cAAc,EAAE,MAAM,CAAA;IACtB,gFAAgF;IAChF,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAiD5E,CAAA"}