@payloadcms/ui 4.0.0-internal.011fd46 → 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 (1513) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/css/app.css +121 -0
  3. package/dist/css/colors.css +3 -0
  4. package/dist/css/forms.css +6 -9
  5. package/dist/css/spacing.css +11 -3
  6. package/dist/css/theme.css +2 -1
  7. package/dist/css/utilities.css +3 -2
  8. package/dist/css/z-index.css +10 -0
  9. package/dist/elements/APIKeyInput/index.css +4 -4
  10. package/dist/elements/AddNewRelation/index.css +23 -28
  11. package/dist/elements/AddNewRelation/index.js +2 -2
  12. package/dist/elements/AddNewRelation/index.js.map +1 -1
  13. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
  14. package/dist/elements/AppHeader/index.css +7 -18
  15. package/dist/elements/AppHeader/index.d.ts +1 -7
  16. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  17. package/dist/elements/AppHeader/index.js +15 -15
  18. package/dist/elements/AppHeader/index.js.map +1 -1
  19. package/dist/elements/ArrayAction/index.d.ts +3 -0
  20. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  21. package/dist/elements/ArrayAction/index.js +83 -29
  22. package/dist/elements/ArrayAction/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/ActionsBar/index.css +4 -8
  24. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  25. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/ActionsBar/index.js +15 -22
  27. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/AddFilesView/index.css +24 -12
  29. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  30. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/AddFilesView/index.js +73 -48
  32. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  33. package/dist/elements/BulkUpload/AddingFilesView/index.css +158 -6
  34. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +5 -1
  35. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  36. package/dist/elements/BulkUpload/AddingFilesView/index.js +134 -65
  37. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  39. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  41. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  42. package/dist/elements/BulkUpload/EditForm/index.js +16 -17
  43. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  45. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  46. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  47. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  48. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +80 -66
  49. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  50. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  51. package/dist/elements/BulkUpload/EditMany/index.js +28 -10
  52. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  53. package/dist/elements/BulkUpload/FileSidebar/index.css +66 -142
  54. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  55. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -175
  56. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  57. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
  58. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  59. package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
  60. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  61. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  62. package/dist/elements/BulkUpload/FormsManager/index.js +15 -2
  63. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  64. package/dist/elements/BulkUpload/index.css +48 -0
  65. package/dist/elements/BulkUpload/index.d.ts +6 -5
  66. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  67. package/dist/elements/BulkUpload/index.js +42 -41
  68. package/dist/elements/BulkUpload/index.js.map +1 -1
  69. package/dist/elements/Button/index.css +25 -2
  70. package/dist/elements/Button/index.d.ts.map +1 -1
  71. package/dist/elements/Button/index.js +7 -0
  72. package/dist/elements/Button/index.js.map +1 -1
  73. package/dist/elements/Button/types.d.ts +1 -1
  74. package/dist/elements/Button/types.d.ts.map +1 -1
  75. package/dist/elements/Button/types.js.map +1 -1
  76. package/dist/elements/Card/index.css +1 -1
  77. package/dist/elements/ClipboardAction/ClipboardActionLabel.d.ts.map +1 -1
  78. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
  79. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
  80. package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
  81. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  82. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
  83. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
  84. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  85. package/dist/elements/ClipboardAction/index.js +18 -1
  86. package/dist/elements/ClipboardAction/index.js.map +1 -1
  87. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
  88. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
  89. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  90. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  91. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
  92. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  93. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
  94. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  95. package/dist/elements/ClipboardAction/types.d.ts +3 -0
  96. package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
  97. package/dist/elements/ClipboardAction/types.js.map +1 -1
  98. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
  99. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
  100. package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
  101. package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
  102. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  103. package/dist/elements/CodeEditor/index.css +5 -5
  104. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  105. package/dist/elements/Collapsible/index.js +2 -0
  106. package/dist/elements/Collapsible/index.js.map +1 -1
  107. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  108. package/dist/elements/ColumnSelection/Popup.js +5 -1
  109. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  110. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +10 -0
  111. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +1 -0
  112. package/dist/elements/ColumnSelection/matchesColumnSearch.js +21 -0
  113. package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +1 -0
  114. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +87 -0
  115. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +1 -0
  116. package/dist/elements/CommandPalette/index.css +0 -7
  117. package/dist/elements/CopyLocaleData/index.js +1 -1
  118. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  119. package/dist/elements/CopyToClipboard/index.d.ts +1 -0
  120. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  121. package/dist/elements/CopyToClipboard/index.js +10 -8
  122. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  123. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  124. package/dist/elements/CreateDocumentButton/index.js +4 -2
  125. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  126. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  127. package/dist/elements/DatePicker/DatePicker.js +1 -0
  128. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  129. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
  130. package/dist/elements/DatePicker/index.css +10 -10
  131. package/dist/elements/DatePicker/index.js +1 -1
  132. package/dist/elements/DatePicker/index.js.map +1 -1
  133. package/dist/elements/DefaultListViewTabs/index.css +1 -0
  134. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  135. package/dist/elements/DefaultListViewTabs/index.js +84 -62
  136. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  137. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  138. package/dist/elements/DeleteDocument/index.js +16 -1
  139. package/dist/elements/DeleteDocument/index.js.map +1 -1
  140. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  141. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  142. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  143. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  144. package/dist/elements/Dialog/DialogModal/index.d.ts +5 -0
  145. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  146. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  147. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  148. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  149. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  150. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  151. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  152. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  153. package/dist/elements/Dialog/index.css +7 -1
  154. package/dist/elements/DocumentControls/index.css +1 -3
  155. package/dist/elements/DocumentControls/index.d.ts +2 -2
  156. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  157. package/dist/elements/DocumentControls/index.js +11 -1
  158. package/dist/elements/DocumentControls/index.js.map +1 -1
  159. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +2 -2
  160. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  161. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  162. package/dist/elements/DocumentDrawer/types.d.ts +1 -1
  163. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  164. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  165. package/dist/elements/DocumentFields/index.css +14 -2
  166. package/dist/elements/DocumentFields/index.d.ts +5 -0
  167. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  168. package/dist/elements/DocumentFields/index.js +9 -1
  169. package/dist/elements/DocumentFields/index.js.map +1 -1
  170. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  171. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  172. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  173. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  174. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  175. package/dist/elements/DocumentHeader/index.js +2 -3
  176. package/dist/elements/DocumentHeader/index.js.map +1 -1
  177. package/dist/elements/DocumentLocked/index.d.ts +2 -2
  178. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  179. package/dist/elements/DocumentLocked/index.js.map +1 -1
  180. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  181. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  182. package/dist/elements/Drawer/index.css +10 -4
  183. package/dist/elements/Drawer/index.d.ts.map +1 -1
  184. package/dist/elements/Drawer/index.js +1 -0
  185. package/dist/elements/Drawer/index.js.map +1 -1
  186. package/dist/elements/Drawer/types.d.ts +2 -2
  187. package/dist/elements/Drawer/types.d.ts.map +1 -1
  188. package/dist/elements/Drawer/types.js.map +1 -1
  189. package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
  190. package/dist/elements/DrawerActionHeader/index.css +1 -1
  191. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  192. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  193. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  194. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  195. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  196. package/dist/elements/DrawerHeader/index.js.map +1 -0
  197. package/dist/elements/Dropzone/index.css +13 -15
  198. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +4 -3
  199. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  200. package/dist/elements/EditMany/DrawerContent.js +2 -2
  201. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  202. package/dist/elements/EditUpload/index.css +97 -158
  203. package/dist/elements/EditUpload/index.d.ts +2 -1
  204. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  205. package/dist/elements/EditUpload/index.js +209 -231
  206. package/dist/elements/EditUpload/index.js.map +1 -1
  207. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  208. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  209. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  210. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  211. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  212. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  213. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  214. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  215. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  216. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  217. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  218. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  219. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  220. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  221. package/dist/elements/FileDetails/StaticFileDetails/index.css +139 -0
  222. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  223. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  224. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  225. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  226. package/dist/elements/FileDetails/index.d.ts +1 -1
  227. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  228. package/dist/elements/FileDetails/index.js.map +1 -1
  229. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  230. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  231. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  232. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  233. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  234. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  235. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  236. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  237. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  238. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  239. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  240. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  241. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  242. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  243. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  244. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  245. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  246. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  247. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  248. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  249. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  250. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  251. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  252. package/dist/elements/FileManager/FileToolbar/index.js +109 -0
  253. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  254. package/dist/elements/FileManager/index.css +137 -0
  255. package/dist/elements/FileManager/index.d.ts +19 -0
  256. package/dist/elements/FileManager/index.d.ts.map +1 -0
  257. package/dist/elements/FileManager/index.js +527 -0
  258. package/dist/elements/FileManager/index.js.map +1 -0
  259. package/dist/elements/GroupBy/Popup.d.ts.map +1 -1
  260. package/dist/elements/GroupBy/Popup.js +0 -1
  261. package/dist/elements/GroupBy/Popup.js.map +1 -1
  262. package/dist/elements/HTMLDiff/diff/index.d.ts.map +1 -1
  263. package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
  264. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +30 -6
  265. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
  266. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +117 -67
  267. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  268. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +101 -16
  269. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  270. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +97 -137
  271. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  272. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
  273. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  274. package/dist/elements/Hierarchy/ColumnBrowser/index.js +76 -27
  275. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  276. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +34 -4
  277. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  278. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  279. package/dist/elements/Hierarchy/CreateNewButton/index.css +9 -0
  280. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts +9 -0
  281. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts.map +1 -0
  282. package/dist/elements/Hierarchy/CreateNewButton/index.js +111 -0
  283. package/dist/elements/Hierarchy/CreateNewButton/index.js.map +1 -0
  284. package/dist/elements/Hierarchy/DocHeaderButton/index.css +21 -0
  285. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  286. package/dist/elements/Hierarchy/DocHeaderButton/index.js +127 -22
  287. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  288. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +1 -3
  289. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
  290. package/dist/elements/Hierarchy/Field/index.client.d.ts +5 -0
  291. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  292. package/dist/elements/Hierarchy/Field/index.client.js +127 -102
  293. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  294. package/dist/elements/Hierarchy/Field/index.css +3 -34
  295. package/dist/elements/Hierarchy/Modal/Footer/index.css +45 -0
  296. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +28 -0
  297. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  298. package/dist/elements/Hierarchy/Modal/Footer/index.js +166 -0
  299. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  300. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +29 -0
  301. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -0
  302. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +124 -0
  303. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -0
  304. package/dist/elements/Hierarchy/Modal/index.css +39 -0
  305. package/dist/elements/Hierarchy/Modal/index.d.ts +23 -0
  306. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -0
  307. package/dist/elements/Hierarchy/Modal/index.js +365 -0
  308. package/dist/elements/Hierarchy/Modal/index.js.map +1 -0
  309. package/dist/elements/Hierarchy/{Drawer → Modal}/types.d.ts +37 -18
  310. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -0
  311. package/dist/elements/Hierarchy/Modal/types.js.map +1 -0
  312. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts +30 -0
  313. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -0
  314. package/dist/elements/Hierarchy/{Drawer/useHierarchyDrawer.js → Modal/useHierarchyModal.js} +51 -50
  315. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -0
  316. package/dist/elements/Hierarchy/MoveMany/index.css +6 -0
  317. package/dist/elements/Hierarchy/MoveMany/index.d.ts +10 -5
  318. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  319. package/dist/elements/Hierarchy/MoveMany/index.js +110 -178
  320. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  321. package/dist/elements/Hierarchy/Search/index.css +2 -9
  322. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  323. package/dist/elements/Hierarchy/Search/index.js +6 -73
  324. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  325. package/dist/elements/Hierarchy/Search/types.d.ts +2 -6
  326. package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -1
  327. package/dist/elements/Hierarchy/Search/types.js.map +1 -1
  328. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  329. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -4
  330. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  331. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +93 -101
  332. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  333. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  334. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +3 -21
  335. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  336. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +3 -3
  337. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +1 -1
  338. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  339. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +76 -22
  340. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +1 -1
  341. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  342. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +84 -34
  343. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  344. package/dist/elements/Hierarchy/Tree/index.css +8 -9
  345. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  346. package/dist/elements/Hierarchy/Tree/index.js +47 -52
  347. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  348. package/dist/elements/Hierarchy/Tree/types.d.ts +9 -1
  349. package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -1
  350. package/dist/elements/Hierarchy/Tree/types.js.map +1 -1
  351. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  352. package/dist/elements/Hierarchy/Tree/useChildren.js +11 -1
  353. package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
  354. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts +22 -0
  355. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts.map +1 -0
  356. package/dist/elements/Hierarchy/getFolderHierarchySlug.js +17 -0
  357. package/dist/elements/Hierarchy/getFolderHierarchySlug.js.map +1 -0
  358. package/dist/elements/Hierarchy/move/moveDocuments.d.ts +34 -0
  359. package/dist/elements/Hierarchy/move/moveDocuments.d.ts.map +1 -0
  360. package/dist/elements/Hierarchy/move/moveDocuments.js +94 -0
  361. package/dist/elements/Hierarchy/move/moveDocuments.js.map +1 -0
  362. package/dist/elements/IDLabel/index.css +6 -0
  363. package/dist/elements/IDLabel/index.d.ts +1 -1
  364. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  365. package/dist/elements/IDLabel/index.js +16 -21
  366. package/dist/elements/IDLabel/index.js.map +1 -1
  367. package/dist/elements/InputStepper/index.css +0 -1
  368. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  369. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  370. package/dist/elements/ListControls/index.d.ts.map +1 -1
  371. package/dist/elements/ListControls/index.js +4 -4
  372. package/dist/elements/ListControls/index.js.map +1 -1
  373. package/dist/elements/ListControls/types.d.ts +4 -0
  374. package/dist/elements/ListControls/types.d.ts.map +1 -1
  375. package/dist/elements/ListControls/types.js.map +1 -1
  376. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  377. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  378. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  379. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  380. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  381. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  382. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  383. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  384. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  385. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts +8 -0
  386. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts.map +1 -0
  387. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js +65 -0
  388. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -0
  389. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.d.ts.map +1 -1
  390. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +1 -1
  391. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  392. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +1 -0
  393. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -1
  394. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  395. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  396. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  397. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  398. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +28 -34
  399. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  400. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  401. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  402. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  403. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  404. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +26 -43
  405. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  406. package/dist/elements/LivePreview/Window/index.css +6 -0
  407. package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
  408. package/dist/elements/Locked/index.css +0 -5
  409. package/dist/elements/Locked/index.d.ts +2 -2
  410. package/dist/elements/Locked/index.d.ts.map +1 -1
  411. package/dist/elements/Locked/index.js +38 -19
  412. package/dist/elements/Locked/index.js.map +1 -1
  413. package/dist/elements/MiniCarousel/index.css +96 -0
  414. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  415. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  416. package/dist/elements/MiniCarousel/index.js +84 -0
  417. package/dist/elements/MiniCarousel/index.js.map +1 -0
  418. package/dist/elements/Nav/NavSidebarToggle/index.js +1 -1
  419. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  420. package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
  421. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  422. package/dist/elements/Nav/NavWrapper/index.js +12 -18
  423. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  424. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  425. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  426. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  427. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  428. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  429. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  430. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  431. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  432. package/dist/elements/Nav/SidebarTabs/index.css +1 -7
  433. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  434. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  435. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
  436. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  437. package/dist/elements/Nav/context.d.ts +0 -1
  438. package/dist/elements/Nav/context.d.ts.map +1 -1
  439. package/dist/elements/Nav/context.js +92 -67
  440. package/dist/elements/Nav/context.js.map +1 -1
  441. package/dist/elements/Nav/index.css +49 -49
  442. package/dist/elements/Nav/index.d.ts +4 -0
  443. package/dist/elements/Nav/index.d.ts.map +1 -1
  444. package/dist/elements/Nav/index.js +16 -1
  445. package/dist/elements/Nav/index.js.map +1 -1
  446. package/dist/elements/NavGroup/index.css +29 -16
  447. package/dist/elements/Pagination/index.css +5 -0
  448. package/dist/elements/Pagination/index.d.ts.map +1 -1
  449. package/dist/elements/Pagination/index.js +21 -21
  450. package/dist/elements/Pagination/index.js.map +1 -1
  451. package/dist/elements/Popup/PopupButtonList/index.css +33 -17
  452. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  453. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  454. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  455. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  456. package/dist/elements/Popup/index.css +6 -0
  457. package/dist/elements/Popup/index.d.ts +17 -1
  458. package/dist/elements/Popup/index.d.ts.map +1 -1
  459. package/dist/elements/Popup/index.js +16 -7
  460. package/dist/elements/Popup/index.js.map +1 -1
  461. package/dist/elements/PreviewButton/index.d.ts +1 -2
  462. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  463. package/dist/elements/PreviewButton/index.js +11 -5
  464. package/dist/elements/PreviewButton/index.js.map +1 -1
  465. package/dist/elements/PreviewSizes/index.css +148 -0
  466. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  467. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  468. package/dist/elements/PreviewSizes/index.js +1 -1
  469. package/dist/elements/PreviewSizes/index.js.map +1 -1
  470. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  471. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -1
  472. package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
  473. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  474. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  475. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  476. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  477. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
  478. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
  479. package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
  480. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
  481. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  482. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  483. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  484. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  485. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  486. package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
  487. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -1
  488. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
  489. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
  490. package/dist/elements/ReactSelect/getMenuListStyles.js +13 -5
  491. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
  492. package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
  493. package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
  494. package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
  495. package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
  496. package/dist/elements/ReactSelect/index.css +10 -6
  497. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  498. package/dist/elements/ReactSelect/index.js +25 -102
  499. package/dist/elements/ReactSelect/index.js.map +1 -1
  500. package/dist/elements/ReactSelect/types.d.ts +7 -2
  501. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  502. package/dist/elements/ReactSelect/types.js.map +1 -1
  503. package/dist/elements/RelationshipTable/AddNewButton.d.ts +2 -2
  504. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  505. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  506. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  507. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  508. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  509. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  510. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  511. package/dist/elements/RelationshipTable/index.css +1 -4
  512. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  513. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  514. package/dist/elements/RelationshipTable/index.js +41 -5
  515. package/dist/elements/RelationshipTable/index.js.map +1 -1
  516. package/dist/elements/RenderServerComponent/clientOnly.d.ts +8 -0
  517. package/dist/elements/RenderServerComponent/clientOnly.d.ts.map +1 -0
  518. package/dist/elements/RenderServerComponent/clientOnly.js +56 -0
  519. package/dist/elements/RenderServerComponent/clientOnly.js.map +1 -0
  520. package/dist/elements/RenderTitle/index.css +4 -0
  521. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  522. package/dist/elements/RenderTitle/index.js +18 -13
  523. package/dist/elements/RenderTitle/index.js.map +1 -1
  524. package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
  525. package/dist/elements/Search/ListSearchFilter/index.js +1 -0
  526. package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
  527. package/dist/elements/Search/SearchInput/index.d.ts +2 -0
  528. package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
  529. package/dist/elements/Search/SearchInput/index.js +22 -19
  530. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  531. package/dist/elements/SegmentedControl/index.css +58 -0
  532. package/dist/elements/SegmentedControl/index.d.ts +19 -0
  533. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  534. package/dist/elements/SegmentedControl/index.js +104 -0
  535. package/dist/elements/SegmentedControl/index.js.map +1 -0
  536. package/dist/elements/SelectAll/index.css +3 -1
  537. package/dist/elements/SelectAll/index.d.ts.map +1 -1
  538. package/dist/elements/SelectAll/index.js +1 -2
  539. package/dist/elements/SelectAll/index.js.map +1 -1
  540. package/dist/elements/SelectRow/index.d.ts +5 -4
  541. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  542. package/dist/elements/SelectRow/index.js +11 -9
  543. package/dist/elements/SelectRow/index.js.map +1 -1
  544. package/dist/elements/SidebarRow/index.css +1 -7
  545. package/dist/elements/SidebarToggle/index.css +3 -18
  546. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  547. package/dist/elements/SortColumn/index.js +42 -38
  548. package/dist/elements/SortColumn/index.js.map +1 -1
  549. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  550. package/dist/elements/SortHeader/index.js +29 -26
  551. package/dist/elements/SortHeader/index.js.map +1 -1
  552. package/dist/elements/StepNav/DropTarget/index.css +20 -0
  553. package/dist/elements/StepNav/DropTarget/index.d.ts +16 -0
  554. package/dist/elements/StepNav/DropTarget/index.d.ts.map +1 -0
  555. package/dist/elements/StepNav/DropTarget/index.js +71 -0
  556. package/dist/elements/StepNav/DropTarget/index.js.map +1 -0
  557. package/dist/elements/StepNav/index.css +64 -14
  558. package/dist/elements/StepNav/index.d.ts.map +1 -1
  559. package/dist/elements/StepNav/index.js +147 -69
  560. package/dist/elements/StepNav/index.js.map +1 -1
  561. package/dist/elements/StepNav/types.d.ts +6 -0
  562. package/dist/elements/StepNav/types.d.ts.map +1 -1
  563. package/dist/elements/StepNav/types.js.map +1 -1
  564. package/dist/elements/Table/DefaultCell/fields/File/index.css +24 -13
  565. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +26 -7
  566. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  567. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +176 -32
  568. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  569. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
  570. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  571. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  572. package/dist/elements/Table/DefaultCell/index.js +3 -11
  573. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  574. package/dist/elements/Table/OrderableRow.d.ts +3 -1
  575. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  576. package/dist/elements/Table/OrderableRow.js +17 -1
  577. package/dist/elements/Table/OrderableRow.js.map +1 -1
  578. package/dist/elements/Table/OrderableRowDragPreview.d.ts.map +1 -1
  579. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  580. package/dist/elements/Table/OrderableTable.js +19 -2
  581. package/dist/elements/Table/OrderableTable.js.map +1 -1
  582. package/dist/elements/Table/index.css +49 -2
  583. package/dist/elements/TableSection/index.css +0 -1
  584. package/dist/elements/Tabs/index.d.ts.map +1 -1
  585. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -1
  586. package/dist/elements/Thumbnail/index.css +41 -0
  587. package/dist/elements/Thumbnail/index.d.ts +4 -4
  588. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  589. package/dist/elements/Thumbnail/index.js +1 -1
  590. package/dist/elements/Thumbnail/index.js.map +1 -1
  591. package/dist/elements/TimezonePicker/index.css +1 -1
  592. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  593. package/dist/elements/TimezonePicker/index.js +5 -1
  594. package/dist/elements/TimezonePicker/index.js.map +1 -1
  595. package/dist/elements/Tooltip/index.css +15 -34
  596. package/dist/elements/Tooltip/index.d.ts +11 -3
  597. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  598. package/dist/elements/Tooltip/index.js +151 -85
  599. package/dist/elements/Tooltip/index.js.map +1 -1
  600. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  601. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  602. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  603. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  604. package/dist/elements/Upload/index.css +160 -69
  605. package/dist/elements/Upload/index.d.ts +3 -8
  606. package/dist/elements/Upload/index.d.ts.map +1 -1
  607. package/dist/elements/Upload/index.js +92 -175
  608. package/dist/elements/Upload/index.js.map +1 -1
  609. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  610. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  611. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  612. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  613. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  614. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  615. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  616. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  617. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  618. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  619. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  620. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  621. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  622. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts +18 -0
  623. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts.map +1 -0
  624. package/dist/elements/UserMenu/HoverSubmenuGroup.js +38 -0
  625. package/dist/elements/UserMenu/HoverSubmenuGroup.js.map +1 -0
  626. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  627. package/dist/elements/UserMenu/LanguageMenu/index.js +83 -39
  628. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  629. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  630. package/dist/elements/UserMenu/SettingsMenu/index.js +57 -21
  631. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  632. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
  633. package/dist/elements/UserMenu/SubMenuHeader/index.js +8 -9
  634. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
  635. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  636. package/dist/elements/UserMenu/ThemeMenu/index.js +83 -39
  637. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  638. package/dist/elements/UserMenu/index.css +58 -3
  639. package/dist/elements/UserMenu/index.d.ts +2 -0
  640. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  641. package/dist/elements/UserMenu/index.js +79 -52
  642. package/dist/elements/UserMenu/index.js.map +1 -1
  643. package/dist/elements/UserMenu/useHoverSubmenu.d.ts +21 -0
  644. package/dist/elements/UserMenu/useHoverSubmenu.d.ts.map +1 -0
  645. package/dist/elements/UserMenu/useHoverSubmenu.js +260 -0
  646. package/dist/elements/UserMenu/useHoverSubmenu.js.map +1 -0
  647. package/dist/elements/ViewModeToggle/index.d.ts +8 -0
  648. package/dist/elements/ViewModeToggle/index.d.ts.map +1 -0
  649. package/dist/elements/ViewModeToggle/index.js +29 -0
  650. package/dist/elements/ViewModeToggle/index.js.map +1 -0
  651. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
  652. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.d.ts.map +1 -1
  653. package/dist/elements/WhereBuilder/Condition/validOperators.d.ts.map +1 -1
  654. package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
  655. package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
  656. package/dist/elements/WhereBuilder/conditionValue.js +32 -0
  657. package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
  658. package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
  659. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
  660. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  661. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  662. package/dist/elements/WhereBuilder/index.js +15 -4
  663. package/dist/elements/WhereBuilder/index.js.map +1 -1
  664. package/dist/exports/client/index.d.ts +17 -6
  665. package/dist/exports/client/index.d.ts.map +1 -1
  666. package/dist/exports/client/index.js +1 -86
  667. package/dist/exports/client/index.js.map +4 -4
  668. package/dist/exports/layouts.d.ts +1 -0
  669. package/dist/exports/layouts.d.ts.map +1 -1
  670. package/dist/exports/layouts.js +1 -0
  671. package/dist/exports/layouts.js.map +1 -1
  672. package/dist/exports/rsc/index.d.ts +3 -0
  673. package/dist/exports/rsc/index.d.ts.map +1 -1
  674. package/dist/exports/rsc/index.js +3 -0
  675. package/dist/exports/rsc/index.js.map +1 -1
  676. package/dist/exports/server.d.ts +3 -0
  677. package/dist/exports/server.d.ts.map +1 -0
  678. package/dist/exports/server.js +2 -0
  679. package/dist/exports/server.js.map +1 -0
  680. package/dist/exports/shared/index.d.ts +1 -0
  681. package/dist/exports/shared/index.d.ts.map +1 -1
  682. package/dist/exports/shared/index.js +2 -2
  683. package/dist/exports/shared/index.js.map +4 -4
  684. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  685. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  686. package/dist/fields/Array/ArrayRow.js +99 -160
  687. package/dist/fields/Array/ArrayRow.js.map +1 -1
  688. package/dist/fields/Array/index.d.ts +1 -1
  689. package/dist/fields/Array/index.d.ts.map +1 -1
  690. package/dist/fields/Array/index.js +45 -14
  691. package/dist/fields/Array/index.js.map +1 -1
  692. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  693. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  694. package/dist/fields/Blocks/BlockRow.js +136 -195
  695. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  696. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -1
  697. package/dist/fields/Blocks/BlockSelector/index.css +2 -5
  698. package/dist/fields/Blocks/RowActions.d.ts +3 -0
  699. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  700. package/dist/fields/Blocks/RowActions.js +26 -20
  701. package/dist/fields/Blocks/RowActions.js.map +1 -1
  702. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  703. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  704. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  705. package/dist/fields/Blocks/index.d.ts +1 -1
  706. package/dist/fields/Blocks/index.d.ts.map +1 -1
  707. package/dist/fields/Blocks/index.js +44 -13
  708. package/dist/fields/Blocks/index.js.map +1 -1
  709. package/dist/fields/Checkbox/Input.d.ts +4 -2
  710. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  711. package/dist/fields/Checkbox/Input.js +136 -148
  712. package/dist/fields/Checkbox/Input.js.map +1 -1
  713. package/dist/fields/Checkbox/index.css +163 -186
  714. package/dist/fields/Checkbox/index.d.ts +1 -1
  715. package/dist/fields/Code/index.css +1 -1
  716. package/dist/fields/Code/index.d.ts +2 -2
  717. package/dist/fields/Collapsible/index.d.ts +1 -1
  718. package/dist/fields/ConfirmPassword/index.d.ts +4 -0
  719. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  720. package/dist/fields/ConfirmPassword/index.js +37 -33
  721. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  722. package/dist/fields/DateTime/index.d.ts +1 -1
  723. package/dist/fields/Email/index.d.ts +1 -1
  724. package/dist/fields/FieldError/index.css +0 -9
  725. package/dist/fields/FieldError/index.d.ts.map +1 -1
  726. package/dist/fields/FieldError/index.js +19 -9
  727. package/dist/fields/FieldError/index.js.map +1 -1
  728. package/dist/fields/Group/index.css +4 -10
  729. package/dist/fields/Group/index.d.ts +2 -2
  730. package/dist/fields/JSON/index.d.ts +1 -1
  731. package/dist/fields/Join/index.css +9 -0
  732. package/dist/fields/Join/index.d.ts +1 -1
  733. package/dist/fields/Join/index.d.ts.map +1 -1
  734. package/dist/fields/Join/index.js +13 -9
  735. package/dist/fields/Join/index.js.map +1 -1
  736. package/dist/fields/Number/Input.d.ts.map +1 -1
  737. package/dist/fields/Number/Input.js +62 -46
  738. package/dist/fields/Number/Input.js.map +1 -1
  739. package/dist/fields/Number/index.css +19 -0
  740. package/dist/fields/Number/index.d.ts +1 -1
  741. package/dist/fields/Number/types.d.ts +10 -0
  742. package/dist/fields/Number/types.d.ts.map +1 -1
  743. package/dist/fields/Number/types.js.map +1 -1
  744. package/dist/fields/Password/input.d.ts.map +1 -1
  745. package/dist/fields/Password/input.js +33 -29
  746. package/dist/fields/Password/input.js.map +1 -1
  747. package/dist/fields/Password/types.d.ts +7 -3
  748. package/dist/fields/Password/types.d.ts.map +1 -1
  749. package/dist/fields/Password/types.js.map +1 -1
  750. package/dist/fields/Point/index.d.ts +1 -1
  751. package/dist/fields/RadioGroup/index.css +0 -7
  752. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  753. package/dist/fields/Relationship/Input.js +57 -17
  754. package/dist/fields/Relationship/Input.js.map +1 -1
  755. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  756. package/dist/fields/Relationship/index.d.ts +1 -1
  757. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  758. package/dist/fields/Relationship/optionsReducer.js +2 -0
  759. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  760. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +2 -2
  761. package/dist/fields/Relationship/types.d.ts +28 -0
  762. package/dist/fields/Relationship/types.d.ts.map +1 -1
  763. package/dist/fields/Relationship/types.js.map +1 -1
  764. package/dist/fields/Row/index.d.ts +1 -1
  765. package/dist/fields/Select/Input.d.ts +4 -0
  766. package/dist/fields/Select/Input.d.ts.map +1 -1
  767. package/dist/fields/Select/Input.js +45 -40
  768. package/dist/fields/Select/Input.js.map +1 -1
  769. package/dist/fields/Select/index.d.ts +1 -1
  770. package/dist/fields/Select/index.d.ts.map +1 -1
  771. package/dist/fields/Slug/index.css +0 -1
  772. package/dist/fields/Slug/index.d.ts +7 -5
  773. package/dist/fields/Slug/index.d.ts.map +1 -1
  774. package/dist/fields/Slug/index.js +79 -113
  775. package/dist/fields/Slug/index.js.map +1 -1
  776. package/dist/fields/Tabs/index.d.ts +1 -1
  777. package/dist/fields/Text/Input.d.ts.map +1 -1
  778. package/dist/fields/Text/Input.js +44 -37
  779. package/dist/fields/Text/Input.js.map +1 -1
  780. package/dist/fields/Text/index.d.ts +1 -1
  781. package/dist/fields/Text/types.d.ts +11 -2
  782. package/dist/fields/Text/types.d.ts.map +1 -1
  783. package/dist/fields/Text/types.js.map +1 -1
  784. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  785. package/dist/fields/Textarea/Input.js +27 -23
  786. package/dist/fields/Textarea/Input.js.map +1 -1
  787. package/dist/fields/Textarea/index.css +1 -1
  788. package/dist/fields/Textarea/index.d.ts +1 -1
  789. package/dist/fields/Textarea/types.d.ts +4 -0
  790. package/dist/fields/Textarea/types.d.ts.map +1 -1
  791. package/dist/fields/Textarea/types.js.map +1 -1
  792. package/dist/fields/Upload/Input.d.ts.map +1 -1
  793. package/dist/fields/Upload/Input.js +73 -33
  794. package/dist/fields/Upload/Input.js.map +1 -1
  795. package/dist/fields/Upload/Input.spec.js +241 -0
  796. package/dist/fields/Upload/Input.spec.js.map +1 -0
  797. package/dist/fields/Upload/index.css +19 -4
  798. package/dist/fields/Upload/index.js +1 -1
  799. package/dist/fields/Upload/index.js.map +1 -1
  800. package/dist/fields/index.d.ts.map +1 -1
  801. package/dist/fields/index.js +2 -0
  802. package/dist/fields/index.js.map +1 -1
  803. package/dist/fields/mergeFieldStyles.d.ts +1 -1
  804. package/dist/fields/mergeFieldStyles.d.ts.map +1 -1
  805. package/dist/forms/Form/context.d.ts.map +1 -1
  806. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
  807. package/dist/forms/Form/errorMessages.d.ts.map +1 -1
  808. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  809. package/dist/forms/Form/fieldReducer.js +3 -1
  810. package/dist/forms/Form/fieldReducer.js.map +1 -1
  811. package/dist/forms/Form/index.d.ts.map +1 -1
  812. package/dist/forms/Form/index.js +12 -15
  813. package/dist/forms/Form/index.js.map +1 -1
  814. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  815. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
  816. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  817. package/dist/forms/Form/rows.d.ts.map +1 -1
  818. package/dist/forms/Form/types.d.ts +3 -3
  819. package/dist/forms/Form/types.d.ts.map +1 -1
  820. package/dist/forms/Form/types.js.map +1 -1
  821. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  822. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  823. package/dist/forms/RenderFields/RenderField.js +10 -0
  824. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  825. package/dist/forms/RenderFields/index.css +17 -3
  826. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  827. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  828. package/dist/forms/WatchChildErrors/index.js +2 -2
  829. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  830. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  831. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  832. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +23 -6
  833. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  834. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
  835. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  836. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  837. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
  838. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  839. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  840. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
  841. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  842. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  843. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  844. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  845. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  846. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  847. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  848. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  849. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  850. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  851. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  852. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
  853. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  854. package/dist/forms/useField/index.d.ts.map +1 -1
  855. package/dist/forms/withCondition/index.d.ts +1 -1
  856. package/dist/forms/withCondition/index.d.ts.map +1 -1
  857. package/dist/graphics/Icon/index.js +1 -1
  858. package/dist/graphics/Icon/index.js.map +1 -1
  859. package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
  860. package/dist/hooks/useDelay.d.ts.map +1 -1
  861. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  862. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  863. package/dist/hooks/useElementHeightVariable.js +53 -0
  864. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  865. package/dist/hooks/useHotkey.d.ts.map +1 -1
  866. package/dist/hooks/useIntersect.d.ts.map +1 -1
  867. package/dist/hooks/usePopupWindow.d.ts +1 -1
  868. package/dist/hooks/usePopupWindow.d.ts.map +1 -1
  869. package/dist/hooks/useRelatedCollections.d.ts.map +1 -1
  870. package/dist/hooks/useResize.d.ts.map +1 -1
  871. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  872. package/dist/icons/Arrow/index.d.ts +1 -1
  873. package/dist/icons/Arrow/index.d.ts.map +1 -1
  874. package/dist/icons/Arrow/index.js +7 -1
  875. package/dist/icons/Arrow/index.js.map +1 -1
  876. package/dist/icons/CollapseLayers/index.css +5 -0
  877. package/dist/icons/CollapseLayers/index.d.ts +7 -0
  878. package/dist/icons/CollapseLayers/index.d.ts.map +1 -0
  879. package/dist/icons/CollapseLayers/index.js +23 -0
  880. package/dist/icons/CollapseLayers/index.js.map +1 -0
  881. package/dist/icons/Crop/index.css +5 -0
  882. package/dist/icons/Crop/index.d.ts +7 -0
  883. package/dist/icons/Crop/index.d.ts.map +1 -0
  884. package/dist/icons/Crop/index.js +24 -0
  885. package/dist/icons/Crop/index.js.map +1 -0
  886. package/dist/icons/Download/index.css +5 -0
  887. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  888. package/dist/icons/Download/index.d.ts.map +1 -0
  889. package/dist/icons/Download/index.js +27 -0
  890. package/dist/icons/Download/index.js.map +1 -0
  891. package/dist/icons/Edit/index.d.ts +0 -1
  892. package/dist/icons/Edit/index.d.ts.map +1 -1
  893. package/dist/icons/Edit/index.js +4 -4
  894. package/dist/icons/Edit/index.js.map +1 -1
  895. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  896. package/dist/icons/NewTab/index.d.ts +7 -0
  897. package/dist/icons/NewTab/index.d.ts.map +1 -0
  898. package/dist/icons/NewTab/index.js +25 -0
  899. package/dist/icons/NewTab/index.js.map +1 -0
  900. package/dist/icons/Replace/index.css +5 -0
  901. package/dist/icons/Replace/index.d.ts +6 -0
  902. package/dist/icons/Replace/index.d.ts.map +1 -0
  903. package/dist/icons/Replace/index.js +20 -0
  904. package/dist/icons/Replace/index.js.map +1 -0
  905. package/dist/icons/Reset/index.css +5 -0
  906. package/dist/icons/Reset/index.d.ts +7 -0
  907. package/dist/icons/Reset/index.d.ts.map +1 -0
  908. package/dist/icons/Reset/index.js +25 -0
  909. package/dist/icons/Reset/index.js.map +1 -0
  910. package/dist/icons/Swap/index.js +1 -1
  911. package/dist/icons/Swap/index.js.map +1 -1
  912. package/dist/icons/Table/index.css +5 -0
  913. package/dist/icons/Table/index.d.ts +7 -0
  914. package/dist/icons/Table/index.d.ts.map +1 -0
  915. package/dist/icons/Table/index.js +25 -0
  916. package/dist/icons/Table/index.js.map +1 -0
  917. package/dist/layouts/Root/index.d.ts +1 -1
  918. package/dist/layouts/Root/index.d.ts.map +1 -1
  919. package/dist/layouts/Root/index.js +15 -5
  920. package/dist/layouts/Root/index.js.map +1 -1
  921. package/dist/layouts/Root/index.spec.js +20 -0
  922. package/dist/layouts/Root/index.spec.js.map +1 -0
  923. package/dist/layouts/Root/viewport.d.ts +5 -0
  924. package/dist/layouts/Root/viewport.d.ts.map +1 -0
  925. package/dist/layouts/Root/viewport.js +17 -0
  926. package/dist/layouts/Root/viewport.js.map +1 -0
  927. package/dist/providers/Actions/index.d.ts +1 -0
  928. package/dist/providers/Actions/index.d.ts.map +1 -1
  929. package/dist/providers/Actions/index.js +43 -11
  930. package/dist/providers/Actions/index.js.map +1 -1
  931. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  932. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  933. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  934. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  935. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  936. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  937. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  938. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  939. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  940. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  941. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  942. package/dist/providers/Auth/authSessionRequests.js +119 -0
  943. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  944. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  945. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  946. package/dist/providers/Auth/index.d.ts +5 -59
  947. package/dist/providers/Auth/index.d.ts.map +1 -1
  948. package/dist/providers/Auth/index.js +283 -135
  949. package/dist/providers/Auth/index.js.map +1 -1
  950. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  951. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  952. package/dist/providers/Auth/sessionActivity.js +49 -0
  953. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  954. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  955. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  956. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  957. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  958. package/dist/providers/Auth/sessionTiming.js +18 -0
  959. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  960. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  961. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  962. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  963. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  964. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  965. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  966. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  967. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  968. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  969. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  970. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  971. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  972. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  973. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  974. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  975. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  976. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  977. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  978. package/dist/providers/Auth/types.d.ts +65 -0
  979. package/dist/providers/Auth/types.d.ts.map +1 -0
  980. package/dist/providers/Auth/types.js +2 -0
  981. package/dist/providers/Auth/types.js.map +1 -0
  982. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  983. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  984. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  985. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  986. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  987. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  988. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  989. package/dist/providers/DocumentInfo/index.js.map +1 -1
  990. package/dist/providers/DocumentInfo/types.d.ts +6 -6
  991. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  992. package/dist/providers/DocumentInfo/types.js.map +1 -1
  993. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  994. package/dist/providers/DocumentTitle/index.d.ts +1 -0
  995. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  996. package/dist/providers/DocumentTitle/index.js +2 -0
  997. package/dist/providers/DocumentTitle/index.js.map +1 -1
  998. package/dist/providers/Embed/index.d.ts +24 -0
  999. package/dist/providers/Embed/index.d.ts.map +1 -0
  1000. package/dist/providers/Embed/index.js +105 -0
  1001. package/dist/providers/Embed/index.js.map +1 -0
  1002. package/dist/providers/FormErrorHandler/index.d.ts +24 -0
  1003. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  1004. package/dist/providers/FormErrorHandler/index.js +6 -0
  1005. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  1006. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  1007. package/dist/providers/Hierarchy/index.js +53 -24
  1008. package/dist/providers/Hierarchy/index.js.map +1 -1
  1009. package/dist/providers/Hierarchy/types.d.ts +2 -0
  1010. package/dist/providers/Hierarchy/types.d.ts.map +1 -1
  1011. package/dist/providers/Hierarchy/types.js.map +1 -1
  1012. package/dist/providers/HierarchyDnd/index.css +51 -0
  1013. package/dist/providers/HierarchyDnd/index.d.ts +21 -0
  1014. package/dist/providers/HierarchyDnd/index.d.ts.map +1 -0
  1015. package/dist/providers/HierarchyDnd/index.js +163 -0
  1016. package/dist/providers/HierarchyDnd/index.js.map +1 -0
  1017. package/dist/providers/HierarchyDnd/types.d.ts +56 -0
  1018. package/dist/providers/HierarchyDnd/types.d.ts.map +1 -0
  1019. package/dist/providers/HierarchyDnd/types.js +21 -0
  1020. package/dist/providers/HierarchyDnd/types.js.map +1 -0
  1021. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  1022. package/dist/providers/ListQuery/index.js +8 -1
  1023. package/dist/providers/ListQuery/index.js.map +1 -1
  1024. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  1025. package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
  1026. package/dist/providers/LivePreview/sizeReducer.d.ts +1 -1
  1027. package/dist/providers/LivePreview/sizeReducer.d.ts.map +1 -1
  1028. package/dist/providers/Locale/index.d.ts.map +1 -1
  1029. package/dist/providers/Locale/index.js +41 -36
  1030. package/dist/providers/Locale/index.js.map +1 -1
  1031. package/dist/providers/Root/index.d.ts +3 -2
  1032. package/dist/providers/Root/index.d.ts.map +1 -1
  1033. package/dist/providers/Root/index.js +37 -31
  1034. package/dist/providers/Root/index.js.map +1 -1
  1035. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  1036. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  1037. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  1038. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  1039. package/dist/providers/RouteTransition/index.d.ts +2 -0
  1040. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  1041. package/dist/providers/RouteTransition/index.js +42 -14
  1042. package/dist/providers/RouteTransition/index.js.map +1 -1
  1043. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  1044. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  1045. package/dist/providers/SidebarTabs/index.js.map +1 -1
  1046. package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -1
  1047. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.d.ts.map +1 -1
  1048. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -1
  1049. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  1050. package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
  1051. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  1052. package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
  1053. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
  1054. package/dist/providers/TableColumns/getInitialColumns.d.ts +1 -1
  1055. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -1
  1056. package/dist/providers/Theme/index.d.ts +5 -2
  1057. package/dist/providers/Theme/index.d.ts.map +1 -1
  1058. package/dist/providers/Theme/index.js +109 -96
  1059. package/dist/providers/Theme/index.js.map +1 -1
  1060. package/dist/providers/Theme/shared.d.ts +3 -0
  1061. package/dist/providers/Theme/shared.d.ts.map +1 -0
  1062. package/dist/providers/Theme/shared.js +2 -0
  1063. package/dist/providers/Theme/shared.js.map +1 -0
  1064. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  1065. package/dist/providers/UploadHandlers/index.d.ts +2 -7
  1066. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  1067. package/dist/providers/UploadHandlers/index.js +102 -42
  1068. package/dist/providers/UploadHandlers/index.js.map +1 -1
  1069. package/dist/styles.css +1382 -1
  1070. package/dist/templates/Default/Wrapper/index.css +2 -1
  1071. package/dist/templates/Default/Wrapper/index.d.ts +2 -0
  1072. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  1073. package/dist/templates/Default/Wrapper/index.js +12 -6
  1074. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  1075. package/dist/templates/Default/index.css +3 -1
  1076. package/dist/templates/Default/index.d.ts +1 -0
  1077. package/dist/templates/Default/index.d.ts.map +1 -1
  1078. package/dist/templates/Default/index.js +20 -10
  1079. package/dist/templates/Default/index.js.map +1 -1
  1080. package/dist/utilities/api.d.ts.map +1 -1
  1081. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  1082. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  1083. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  1084. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  1085. package/dist/utilities/buildFormState.d.ts +2 -2
  1086. package/dist/utilities/buildFormState.d.ts.map +1 -1
  1087. package/dist/utilities/buildFormState.js +1 -0
  1088. package/dist/utilities/buildFormState.js.map +1 -1
  1089. package/dist/utilities/checkDependencies.d.ts.map +1 -1
  1090. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  1091. package/dist/utilities/combineFieldLabel.js +5 -1
  1092. package/dist/utilities/combineFieldLabel.js.map +1 -1
  1093. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  1094. package/dist/utilities/copyDataFromLocale.js +1 -0
  1095. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  1096. package/dist/utilities/filterOutUploadFields.d.ts.map +1 -1
  1097. package/dist/utilities/findLocaleFromCode.d.ts.map +1 -1
  1098. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  1099. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  1100. package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts.map +1 -1
  1101. package/dist/utilities/formatDocTitle/index.d.ts +1 -1
  1102. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
  1103. package/dist/utilities/formatDocTitle/index.js +1 -1
  1104. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  1105. package/dist/utilities/formatFields.d.ts.map +1 -1
  1106. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  1107. package/dist/utilities/formatMetadata.js +0 -5
  1108. package/dist/utilities/formatMetadata.js.map +1 -1
  1109. package/dist/utilities/formatRelativeDate.d.ts +15 -0
  1110. package/dist/utilities/formatRelativeDate.d.ts.map +1 -0
  1111. package/dist/utilities/formatRelativeDate.js +62 -0
  1112. package/dist/utilities/formatRelativeDate.js.map +1 -0
  1113. package/dist/utilities/generateFieldID.d.ts +1 -1
  1114. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  1115. package/dist/utilities/generateFieldID.js +2 -2
  1116. package/dist/utilities/generateFieldID.js.map +1 -1
  1117. package/dist/utilities/getColumns.d.ts.map +1 -1
  1118. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  1119. package/dist/utilities/getDocPreferences.d.ts +2 -2
  1120. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  1121. package/dist/utilities/getDocPreferences.js.map +1 -1
  1122. package/dist/utilities/getDocumentData.d.ts +2 -2
  1123. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  1124. package/dist/utilities/getDocumentData.js.map +1 -1
  1125. package/dist/utilities/getDocumentPermissions.d.ts.map +1 -1
  1126. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  1127. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  1128. package/dist/utilities/getFilesFromClipboard.js +49 -0
  1129. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  1130. package/dist/utilities/getGlobalData.d.ts +2 -2
  1131. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  1132. package/dist/utilities/getGlobalData.js.map +1 -1
  1133. package/dist/utilities/getHasScheduledPublish.d.ts +2 -2
  1134. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  1135. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  1136. package/dist/utilities/getIsLocked.d.ts +2 -2
  1137. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  1138. package/dist/utilities/getIsLocked.js.map +1 -1
  1139. package/dist/utilities/getLanguageDir.d.ts +12 -0
  1140. package/dist/utilities/getLanguageDir.d.ts.map +1 -0
  1141. package/dist/utilities/getLanguageDir.js +12 -0
  1142. package/dist/utilities/getLanguageDir.js.map +1 -0
  1143. package/dist/utilities/getOffsetTop.d.ts.map +1 -1
  1144. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  1145. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  1146. package/dist/utilities/getRequestEmbed.js +10 -0
  1147. package/dist/utilities/getRequestEmbed.js.map +1 -0
  1148. package/dist/utilities/getRequestHighContrast.d.ts.map +1 -1
  1149. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  1150. package/dist/utilities/getRequestTheme.d.ts +1 -1
  1151. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  1152. package/dist/utilities/getRequestTheme.js +1 -1
  1153. package/dist/utilities/getRequestTheme.js.map +1 -1
  1154. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
  1155. package/dist/utilities/getSupportedMonacoLocale.d.ts.map +1 -1
  1156. package/dist/utilities/getVersions.d.ts +2 -2
  1157. package/dist/utilities/getVersions.d.ts.map +1 -1
  1158. package/dist/utilities/getVersions.js.map +1 -1
  1159. package/dist/utilities/handleAuthRedirect.d.ts +2 -2
  1160. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  1161. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  1162. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -1
  1163. package/dist/utilities/handleFormStateLocking.d.ts +2 -2
  1164. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  1165. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  1166. package/dist/utilities/handleGoBack.d.ts.map +1 -1
  1167. package/dist/utilities/handleLivePreview.d.ts +1 -0
  1168. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  1169. package/dist/utilities/handlePreview.d.ts.map +1 -1
  1170. package/dist/utilities/handleServerFunctions.d.ts +32 -8
  1171. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  1172. package/dist/utilities/handleServerFunctions.js +17 -37
  1173. package/dist/utilities/handleServerFunctions.js.map +1 -1
  1174. package/dist/utilities/handleStaleDataCheck.d.ts.map +1 -1
  1175. package/dist/utilities/handleTakeOver.d.ts +5 -5
  1176. package/dist/utilities/handleTakeOver.d.ts.map +1 -1
  1177. package/dist/utilities/handleTakeOver.js.map +1 -1
  1178. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -1
  1179. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  1180. package/dist/utilities/initReq.d.ts.map +1 -1
  1181. package/dist/utilities/isClientUserObject.d.ts +2 -2
  1182. package/dist/utilities/isClientUserObject.d.ts.map +1 -1
  1183. package/dist/utilities/isClientUserObject.js.map +1 -1
  1184. package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
  1185. package/dist/utilities/isEditing.d.ts.map +1 -1
  1186. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
  1187. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  1188. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  1189. package/dist/utilities/isURLAllowed.js +9 -3
  1190. package/dist/utilities/isURLAllowed.js.map +1 -1
  1191. package/dist/utilities/recentlyViewed.d.ts +16 -0
  1192. package/dist/utilities/recentlyViewed.d.ts.map +1 -0
  1193. package/dist/utilities/recentlyViewed.js +21 -0
  1194. package/dist/utilities/recentlyViewed.js.map +1 -0
  1195. package/dist/utilities/recentlyViewed.spec.js +92 -0
  1196. package/dist/utilities/recentlyViewed.spec.js.map +1 -0
  1197. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  1198. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  1199. package/dist/utilities/renderTable.d.ts +2 -2
  1200. package/dist/utilities/renderTable.d.ts.map +1 -1
  1201. package/dist/utilities/renderTable.js +18 -2
  1202. package/dist/utilities/renderTable.js.map +1 -1
  1203. package/dist/utilities/resolveFilterOptions.d.ts +1 -1
  1204. package/dist/utilities/resolveFilterOptions.d.ts.map +1 -1
  1205. package/dist/utilities/sanitizeFilterOptionsQuery.d.ts.map +1 -1
  1206. package/dist/utilities/scrollToID.d.ts.map +1 -1
  1207. package/dist/utilities/selectiveCache.d.ts.map +1 -1
  1208. package/dist/utilities/serverFunctionRegistry.d.ts +18 -0
  1209. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -0
  1210. package/dist/utilities/serverFunctionRegistry.js +43 -0
  1211. package/dist/utilities/serverFunctionRegistry.js.map +1 -0
  1212. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  1213. package/dist/utilities/slugify.d.ts +1 -1
  1214. package/dist/utilities/slugify.d.ts.map +1 -1
  1215. package/dist/utilities/slugify.js +51 -7
  1216. package/dist/utilities/slugify.js.map +1 -1
  1217. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  1218. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  1219. package/dist/views/API/index.client.js +2 -2
  1220. package/dist/views/API/index.client.js.map +1 -1
  1221. package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
  1222. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  1223. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  1224. package/dist/views/Account/Settings/index.d.ts +2 -2
  1225. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  1226. package/dist/views/Account/Settings/index.js.map +1 -1
  1227. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts.map +1 -1
  1228. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  1229. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  1230. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  1231. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  1232. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  1233. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  1234. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  1235. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  1236. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  1237. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  1238. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  1239. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  1240. package/dist/views/Dashboard/Default/ModularDashboard/index.css +31 -144
  1241. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +5 -5
  1242. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  1243. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
  1244. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  1245. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
  1246. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
  1247. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  1248. package/dist/views/Dashboard/Default/index.d.ts +2 -2
  1249. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  1250. package/dist/views/Dashboard/Default/index.js.map +1 -1
  1251. package/dist/views/Document/getCustomDocumentViewByKey.d.ts +1 -1
  1252. package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
  1253. package/dist/views/Document/getCustomViewByRoute.d.ts +1 -1
  1254. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  1255. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  1256. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  1257. package/dist/views/Document/index.d.ts +1 -1
  1258. package/dist/views/Document/index.d.ts.map +1 -1
  1259. package/dist/views/Document/index.js +18 -1
  1260. package/dist/views/Document/index.js.map +1 -1
  1261. package/dist/views/Document/recordRecentlyViewed.d.ts +12 -0
  1262. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -0
  1263. package/dist/views/Document/recordRecentlyViewed.js +40 -0
  1264. package/dist/views/Document/recordRecentlyViewed.js.map +1 -0
  1265. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  1266. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  1267. package/dist/views/Document/renderDocumentSlots.js +47 -1
  1268. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  1269. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  1270. package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
  1271. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  1272. package/dist/views/Edit/index.css +151 -6
  1273. package/dist/views/Edit/index.d.ts +1 -1
  1274. package/dist/views/Edit/index.d.ts.map +1 -1
  1275. package/dist/views/Edit/index.js +37 -33
  1276. package/dist/views/Edit/index.js.map +1 -1
  1277. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  1278. package/dist/views/HierarchyList/DocumentListSelection/index.js +100 -105
  1279. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  1280. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.css +216 -0
  1281. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts +20 -0
  1282. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts.map +1 -0
  1283. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js +186 -0
  1284. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js.map +1 -0
  1285. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.css +38 -0
  1286. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts +15 -0
  1287. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts.map +1 -0
  1288. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js +85 -0
  1289. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js.map +1 -0
  1290. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.css +98 -0
  1291. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts +27 -0
  1292. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts.map +1 -0
  1293. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js +84 -0
  1294. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js.map +1 -0
  1295. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts +19 -0
  1296. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts.map +1 -0
  1297. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js +100 -0
  1298. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js.map +1 -0
  1299. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts +53 -0
  1300. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts.map +1 -0
  1301. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js +145 -0
  1302. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js.map +1 -0
  1303. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts +8 -0
  1304. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts.map +1 -0
  1305. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js +21 -0
  1306. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js.map +1 -0
  1307. package/dist/views/HierarchyList/HierarchyCards/index.css +115 -0
  1308. package/dist/views/HierarchyList/HierarchyCards/index.d.ts +80 -0
  1309. package/dist/views/HierarchyList/HierarchyCards/index.d.ts.map +1 -0
  1310. package/dist/views/HierarchyList/HierarchyCards/index.js +457 -0
  1311. package/dist/views/HierarchyList/HierarchyCards/index.js.map +1 -0
  1312. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +6 -1
  1313. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  1314. package/dist/views/HierarchyList/HierarchyListHeader/index.js +10 -8
  1315. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  1316. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  1317. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +76 -62
  1318. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  1319. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +1 -1
  1320. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +82 -108
  1321. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
  1322. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +5 -164
  1323. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +8 -2
  1324. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  1325. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +20 -17
  1326. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  1327. package/dist/views/HierarchyList/HierarchyTable/index.css +64 -36
  1328. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +13 -1
  1329. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  1330. package/dist/views/HierarchyList/HierarchyTable/index.js +156 -38
  1331. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  1332. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +8 -2
  1333. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  1334. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  1335. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
  1336. package/dist/views/HierarchyList/TypeFilter/index.js +3 -0
  1337. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  1338. package/dist/views/HierarchyList/index.css +1 -1
  1339. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  1340. package/dist/views/HierarchyList/index.js +103 -24
  1341. package/dist/views/HierarchyList/index.js.map +1 -1
  1342. package/dist/views/List/ListHeader/index.css +5 -0
  1343. package/dist/views/List/ListHeader/index.d.ts +1 -10
  1344. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  1345. package/dist/views/List/ListHeader/index.js +3 -5
  1346. package/dist/views/List/ListHeader/index.js.map +1 -1
  1347. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  1348. package/dist/views/List/ListSelection/index.js +138 -122
  1349. package/dist/views/List/ListSelection/index.js.map +1 -1
  1350. package/dist/views/List/createSerializableValue.d.ts.map +1 -1
  1351. package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
  1352. package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
  1353. package/dist/views/List/generateListViewMetadata.d.ts.map +1 -1
  1354. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  1355. package/dist/views/List/handleHierarchy.d.ts +7 -2
  1356. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  1357. package/dist/views/List/handleHierarchy.js +50 -10
  1358. package/dist/views/List/handleHierarchy.js.map +1 -1
  1359. package/dist/views/List/index.client.d.ts.map +1 -1
  1360. package/dist/views/List/index.client.js +132 -32
  1361. package/dist/views/List/index.client.js.map +1 -1
  1362. package/dist/views/List/index.css +1 -16
  1363. package/dist/views/List/index.d.ts.map +1 -1
  1364. package/dist/views/List/index.js +61 -15
  1365. package/dist/views/List/index.js.map +1 -1
  1366. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  1367. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
  1368. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
  1369. package/dist/views/Logout/LogoutClient.d.ts +14 -0
  1370. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  1371. package/dist/views/Logout/LogoutClient.js +6 -4
  1372. package/dist/views/Logout/LogoutClient.js.map +1 -1
  1373. package/dist/views/Logout/index.d.ts.map +1 -1
  1374. package/dist/views/Logout/index.js +18 -2
  1375. package/dist/views/Logout/index.js.map +1 -1
  1376. package/dist/views/NotFound/page.d.ts.map +1 -1
  1377. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
  1378. package/dist/views/Root/generatePageMetadata.d.ts.map +1 -1
  1379. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts +1 -1
  1380. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  1381. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  1382. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +1 -1
  1383. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  1384. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  1385. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  1386. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  1387. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  1388. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  1389. package/dist/views/Root/getRouteData.js +8 -2
  1390. package/dist/views/Root/getRouteData.js.map +1 -1
  1391. package/dist/views/Root/index.d.ts +12 -1
  1392. package/dist/views/Root/index.d.ts.map +1 -1
  1393. package/dist/views/Root/index.js +11 -3
  1394. package/dist/views/Root/index.js.map +1 -1
  1395. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  1396. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
  1397. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  1398. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  1399. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  1400. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -0
  1401. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  1402. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  1403. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  1404. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +1 -0
  1405. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  1406. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  1407. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  1408. package/dist/views/Version/SelectComparison/index.js +1 -0
  1409. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  1410. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
  1411. package/dist/views/Versions/buildColumns.d.ts +1 -1
  1412. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  1413. package/dist/views/Versions/fetchVersions.d.ts +8 -8
  1414. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  1415. package/dist/views/Versions/fetchVersions.js.map +1 -1
  1416. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  1417. package/dist/views/Versions/types.d.ts +2 -2
  1418. package/dist/views/Versions/types.d.ts.map +1 -1
  1419. package/dist/views/Versions/types.js.map +1 -1
  1420. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +20 -0
  1421. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -0
  1422. package/dist/widgets/CollectionCards/getCollectionCardsData.js +29 -0
  1423. package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -0
  1424. package/dist/widgets/CollectionCards/index.client.d.ts +5 -0
  1425. package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -0
  1426. package/dist/widgets/CollectionCards/index.client.js +139 -0
  1427. package/dist/widgets/CollectionCards/index.client.js.map +1 -0
  1428. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  1429. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  1430. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  1431. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  1432. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  1433. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  1434. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  1435. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  1436. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  1437. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  1438. package/dist/widgets/CollectionQuery/index.css +64 -0
  1439. package/dist/widgets/CollectionQuery/index.d.ts +16 -0
  1440. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  1441. package/dist/widgets/CollectionQuery/index.js +328 -0
  1442. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  1443. package/dist/widgets/RecentlyViewed/CollectionsField/index.css +14 -0
  1444. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +10 -0
  1445. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -0
  1446. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +76 -0
  1447. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -0
  1448. package/dist/widgets/RecentlyViewed/index.d.ts +10 -0
  1449. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -0
  1450. package/dist/widgets/RecentlyViewed/index.js +148 -0
  1451. package/dist/widgets/RecentlyViewed/index.js.map +1 -0
  1452. package/dist/widgets/WidgetCard/index.css +155 -0
  1453. package/dist/widgets/WidgetCard/index.d.ts +19 -0
  1454. package/dist/widgets/WidgetCard/index.d.ts.map +1 -0
  1455. package/dist/widgets/WidgetCard/index.js +49 -0
  1456. package/dist/widgets/WidgetCard/index.js.map +1 -0
  1457. package/package.json +60 -14
  1458. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  1459. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  1460. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  1461. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  1462. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  1463. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts +0 -15
  1464. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  1465. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js +0 -60
  1466. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  1467. package/dist/elements/Hierarchy/Drawer/index.css +0 -90
  1468. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  1469. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  1470. package/dist/elements/Hierarchy/Drawer/index.js +0 -295
  1471. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  1472. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  1473. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  1474. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  1475. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  1476. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  1477. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +0 -36
  1478. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
  1479. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
  1480. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -141
  1481. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
  1482. package/dist/elements/Nav/NavToggler/index.css +0 -12
  1483. package/dist/elements/Nav/NavToggler/index.d.ts +0 -9
  1484. package/dist/elements/Nav/NavToggler/index.d.ts.map +0 -1
  1485. package/dist/elements/Nav/NavToggler/index.js +0 -91
  1486. package/dist/elements/Nav/NavToggler/index.js.map +0 -1
  1487. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  1488. package/dist/elements/PreviewSizes/index.scss +0 -147
  1489. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  1490. package/dist/elements/Thumbnail/index.scss +0 -53
  1491. package/dist/exports/client/CodeEditor-T3624SG3.js +0 -14
  1492. package/dist/exports/client/CodeEditor-T3624SG3.js.map +0 -7
  1493. package/dist/exports/client/DatePicker-6KF52Z3G.js +0 -14
  1494. package/dist/exports/client/DatePicker-6KF52Z3G.js.map +0 -7
  1495. package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
  1496. package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
  1497. package/dist/exports/client/chunk-7T64ULOM.js +0 -29
  1498. package/dist/exports/client/chunk-7T64ULOM.js.map +0 -7
  1499. package/dist/exports/client/chunk-DMFYTMX6.js +0 -27
  1500. package/dist/exports/client/chunk-DMFYTMX6.js.map +0 -7
  1501. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  1502. package/dist/icons/ExternalLink/index.js +0 -26
  1503. package/dist/icons/ExternalLink/index.js.map +0 -1
  1504. package/dist/scss/app.scss +0 -182
  1505. package/dist/scss/colors.scss +0 -191
  1506. package/dist/scss/custom.css +0 -1
  1507. package/dist/scss/queries.scss +0 -27
  1508. package/dist/scss/styles.scss +0 -9
  1509. package/dist/scss/svg.scss +0 -10
  1510. package/dist/scss/toastify.scss +0 -61
  1511. package/dist/scss/vars.scss +0 -192
  1512. package/dist/scss/z-index.scss +0 -9
  1513. /package/dist/elements/Hierarchy/{Drawer → Modal}/types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useRef","Spinner","ChevronIcon","useTranslation","LoadMore","useFocusableItem","useTreeFocus","useChildren","DEFAULT_TREE_LIMIT","baseClass","getDocumentTitle","doc","useAsTitle","docId","id","idStr","String","value","TreeNode","allPossibleTypeValues","baseFilter","cache","collectionSlug","depth","expandedNodes","filterByCollections","icon","limit","node","onSelect","onToggle","parentFieldName","selected","selectedNodeId","typeFieldName","t","expanded","has","nodeRef","setFocusedId","children","hasMore","isLoading","load","loadMore","loadMoreFromHook","totalDocs","enabled","parentId","handleLoadMore","newDocs","length","firstNewDoc","window","requestAnimationFrame","handleFocus","isFocused","tabIndex","type","ref","hasChildren","handleToggle","e","stopPropagation","handleSelectClick","handleKeyDown","target","currentTarget","key","preventDefault","_jsxs","undefined","className","onFocus","onKeyDown","role","style","filter","Boolean","join","_jsx","onClick","onMouseDown","direction","title","loadingText","size","_Fragment","map","child","childData","childId","childTitle","currentCount","onLoadMore"],"sources":["../../../../../src/elements/Hierarchy/Tree/TreeNode/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useRef } from 'react'\n\nimport type { TreeNodeProps } from '../types.js'\n\nimport { Spinner } from '../../../../elements/Spinner/index.js'\nimport { ChevronIcon } from '../../../../icons/Chevron/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { LoadMore } from '../LoadMore/index.js'\nimport { useFocusableItem, useTreeFocus } from '../TreeFocusContext.js'\nimport { useChildren } from '../useChildren.js'\nimport './index.css'\n\nconst DEFAULT_TREE_LIMIT = 10\n\nconst baseClass = 'tree-node'\n\nconst getDocumentTitle = (doc: Record<string, unknown>, useAsTitle: string | undefined): string => {\n const docId: number | string = doc.id as number | string\n const idStr = typeof docId === 'number' ? String(docId) : docId\n\n if (!useAsTitle) {\n return idStr\n }\n\n const value = doc[useAsTitle]\n if (value && (typeof value === 'string' || typeof value === 'number')) {\n return String(value)\n }\n return idStr\n}\n\nexport const TreeNode = ({\n allPossibleTypeValues,\n baseFilter,\n cache,\n collectionSlug,\n depth = 0,\n expandedNodes,\n filterByCollections,\n icon,\n limit = DEFAULT_TREE_LIMIT,\n node,\n onSelect,\n onToggle,\n parentFieldName,\n selected,\n selectedNodeId,\n typeFieldName,\n useAsTitle,\n}: TreeNodeProps) => {\n const { t } = useTranslation()\n const expanded = expandedNodes.has(node.id)\n const nodeRef = useRef<HTMLDivElement>(null)\n const { setFocusedId } = useTreeFocus()\n\n const {\n children,\n hasMore,\n isLoading,\n load,\n loadMore: loadMoreFromHook,\n totalDocs,\n } = useChildren({\n allPossibleTypeValues,\n baseFilter,\n cache,\n collectionSlug,\n enabled: expanded,\n filterByCollections,\n limit,\n parentFieldName,\n parentId: node.id,\n typeFieldName,\n useAsTitle,\n })\n\n const handleLoadMore = React.useCallback(async () => {\n const newDocs = await loadMoreFromHook()\n\n if (newDocs && newDocs.length > 0) {\n const firstNewDoc = newDocs[0]\n const docId: number | string = (firstNewDoc as { id: number | string }).id\n window.requestAnimationFrame(() => {\n setFocusedId(`node-${docId}`)\n })\n }\n }, [loadMoreFromHook, setFocusedId])\n\n const { handleFocus, isFocused, tabIndex } = useFocusableItem({\n id: `node-${node.id}`,\n type: 'node',\n ref: nodeRef,\n })\n\n // Determine if node has children:\n // - If explicitly set in data, use that\n // - If expanded and loaded, check the actual children\n // - Otherwise, assume it might have children (show chevron until proven otherwise)\n const hasChildren =\n node.hasChildren === true || (expanded && children !== null ? children.length > 0 : true)\n\n const handleToggle = useCallback(\n (e?: React.SyntheticEvent) => {\n e?.stopPropagation()\n void load()\n onToggle({ id: node.id })\n },\n [load, node.id, onToggle],\n )\n\n const handleSelectClick = useCallback(() => {\n onSelect?.({ id: node.id })\n }, [node.id, onSelect])\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.target !== e.currentTarget) {\n return\n }\n switch (e.key) {\n case ' ':\n case 'Enter':\n e.preventDefault()\n e.stopPropagation()\n handleSelectClick()\n break\n case 'ArrowLeft':\n e.preventDefault()\n e.stopPropagation()\n if (hasChildren && expanded) {\n onToggle({ id: node.id })\n }\n break\n case 'ArrowRight':\n e.preventDefault()\n e.stopPropagation()\n if (hasChildren && !expanded) {\n handleToggle()\n }\n break\n }\n },\n [expanded, handleSelectClick, handleToggle, hasChildren, node.id, onToggle],\n )\n\n return (\n <div\n aria-expanded={hasChildren ? expanded : undefined}\n aria-level={depth + 1}\n aria-selected={selected}\n className={baseClass}\n onFocus={(e) => {\n if (e.target === e.currentTarget) {\n handleFocus()\n }\n }}\n onKeyDown={handleKeyDown}\n ref={nodeRef}\n role=\"treeitem\"\n style={{ '--tree-depth': depth } as React.CSSProperties}\n tabIndex={tabIndex}\n >\n <div\n className={[\n `${baseClass}__content`,\n 'sidebar-row',\n selected && `${baseClass}__content--selected`,\n selected && 'sidebar-row--selected',\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {hasChildren ? (\n <button\n aria-label={expanded ? t('general:collapse') : t('general:open')}\n className={`${baseClass}__toggle`}\n onClick={handleToggle}\n onMouseDown={(e) => e.preventDefault()}\n tabIndex={-1}\n type=\"button\"\n >\n <ChevronIcon direction={expanded ? 'down' : 'right'} />\n </button>\n ) : (\n <div className={`${baseClass}__toggle-spacer`} />\n )}\n {Boolean(icon) && <span className=\"sidebar-row__icon\">{icon}</span>}\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions -- keyboard handled by parent */}\n <span\n className={`${baseClass}__title sidebar-row__title`}\n onClick={handleSelectClick}\n onMouseDown={(e) => e.preventDefault()}\n title={node.title}\n >\n {node.title}\n </span>\n {isLoading && expanded && (\n <span className={`${baseClass}__loading`}>\n <Spinner loadingText={null} size=\"sm\" />\n </span>\n )}\n </div>\n\n {expanded && children && children.length > 0 && (\n <>\n <div className={`${baseClass}__children`} role=\"group\">\n {children.map((child) => {\n const childData = child as { id: number | string }\n const childId = childData.id\n const childTitle = getDocumentTitle(child, useAsTitle)\n return (\n <TreeNode\n allPossibleTypeValues={allPossibleTypeValues}\n baseFilter={baseFilter}\n cache={cache}\n collectionSlug={collectionSlug}\n depth={depth + 1}\n expandedNodes={expandedNodes}\n filterByCollections={filterByCollections}\n icon={icon}\n key={String(childId)}\n limit={limit}\n node={{\n id: childId,\n hasChildren: true,\n title: childTitle,\n }}\n onSelect={onSelect}\n onToggle={onToggle}\n parentFieldName={parentFieldName}\n selected={String(childId) === String(selectedNodeId)}\n selectedNodeId={selectedNodeId}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n })}\n </div>\n {hasMore && (\n <LoadMore\n currentCount={children.length}\n depth={depth + 1}\n id={`load-more-${node.id}`}\n onLoadMore={handleLoadMore}\n totalDocs={totalDocs}\n />\n )}\n </>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useDroppable","React","useCallback","useEffect","useMemo","useRef","Spinner","ChevronIcon","useHierarchyDnd","useTranslation","LoadMore","useFocusableItem","useTreeFocus","useChildren","DEFAULT_TREE_LIMIT","SPRING_LOAD_DELAY","baseClass","getDocumentTitle","doc","useAsTitle","docId","id","idStr","String","value","TreeNode","allPossibleTypeValues","ancestorIds","baseFilter","cache","collectionSlug","depth","dropParentFieldName","expandedNodes","filterByCollections","limit","node","onSelect","onToggle","parentFieldName","selected","selectedNodeId","typeFieldName","t","expanded","has","nodeRef","setFocusedId","children","hasMore","isLoading","load","loadMore","loadMoreFromHook","totalDocs","enabled","parentId","handleLoadMore","newDocs","length","firstNewDoc","window","requestAnimationFrame","handleFocus","tabIndex","type","ref","hasChildren","handleToggle","e","stopPropagation","canDrop","childAncestorIds","dropData","folderId","hierarchySlug","title","undefined","isOver","setNodeRef","setDropRef","data","disabled","dropState","handleSelectClick","timeout","setTimeout","clearTimeout","handleKeyDown","target","currentTarget","key","preventDefault","_jsxs","className","onFocus","onKeyDown","role","style","_jsx","filter","Boolean","join","onClick","onMouseDown","direction","size","loadingText","_Fragment","map","child","childData","childId","childTitle","currentCount","onLoadMore"],"sources":["../../../../../src/elements/Hierarchy/Tree/TreeNode/index.tsx"],"sourcesContent":["'use client'\n\nimport { useDroppable } from '@dnd-kit/core'\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react'\n\nimport type { HierarchyDropData } from '../../../../providers/HierarchyDnd/types.js'\nimport type { TreeNodeProps } from '../types.js'\n\nimport { Spinner } from '../../../../elements/Spinner/index.js'\nimport { ChevronIcon } from '../../../../icons/Chevron/index.js'\nimport { useHierarchyDnd } from '../../../../providers/HierarchyDnd/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { LoadMore } from '../LoadMore/index.js'\nimport { useFocusableItem, useTreeFocus } from '../TreeFocusContext.js'\nimport { useChildren } from '../useChildren.js'\nimport './index.css'\n\nconst DEFAULT_TREE_LIMIT = 10\n\n/**\n * How long a drag has to hover a collapsed node before it springs open, so a drag can drill into the\n * tree without being dropped and restarted.\n */\nconst SPRING_LOAD_DELAY = 600\n\nconst baseClass = 'tree-node'\n\nconst getDocumentTitle = (doc: Record<string, unknown>, useAsTitle: string | undefined): string => {\n const docId: number | string = doc.id as number | string\n const idStr = typeof docId === 'number' ? String(docId) : docId\n\n if (!useAsTitle) {\n return idStr\n }\n\n const value = doc[useAsTitle]\n if (value && (typeof value === 'string' || typeof value === 'number')) {\n return String(value)\n }\n return idStr\n}\n\nexport const TreeNode = ({\n allPossibleTypeValues,\n ancestorIds,\n baseFilter,\n cache,\n collectionSlug,\n depth = 0,\n dropParentFieldName,\n expandedNodes,\n filterByCollections,\n limit = DEFAULT_TREE_LIMIT,\n node,\n onSelect,\n onToggle,\n parentFieldName,\n selected,\n selectedNodeId,\n typeFieldName,\n useAsTitle,\n}: TreeNodeProps) => {\n const { t } = useTranslation()\n const expanded = expandedNodes.has(node.id)\n const nodeRef = useRef<HTMLDivElement>(null)\n const { setFocusedId } = useTreeFocus()\n\n const {\n children,\n hasMore,\n isLoading,\n load,\n loadMore: loadMoreFromHook,\n totalDocs,\n } = useChildren({\n allPossibleTypeValues,\n baseFilter,\n cache,\n collectionSlug,\n enabled: expanded,\n filterByCollections,\n limit,\n parentFieldName,\n parentId: node.id,\n typeFieldName,\n useAsTitle,\n })\n\n const handleLoadMore = React.useCallback(async () => {\n const newDocs = await loadMoreFromHook()\n\n if (newDocs && newDocs.length > 0) {\n const firstNewDoc = newDocs[0]\n const docId: number | string = (firstNewDoc as { id: number | string }).id\n window.requestAnimationFrame(() => {\n setFocusedId(`node-${docId}`)\n })\n }\n }, [loadMoreFromHook, setFocusedId])\n\n const { handleFocus, tabIndex } = useFocusableItem({\n id: `node-${node.id}`,\n type: 'node',\n ref: nodeRef,\n })\n\n // Determine if node has children:\n // - If explicitly set in data, use that\n // - If expanded and loaded, check the actual children\n // - Otherwise, assume it might have children (show chevron until proven otherwise)\n const hasChildren =\n node.hasChildren === true || (expanded && children !== null ? children.length > 0 : true)\n\n const handleToggle = useCallback(\n (e?: React.SyntheticEvent) => {\n e?.stopPropagation()\n void load()\n onToggle({ id: node.id })\n },\n [load, node.id, onToggle],\n )\n\n const { canDrop } = useHierarchyDnd()\n\n const childAncestorIds = useMemo(() => [...(ancestorIds ?? []), node.id], [ancestorIds, node.id])\n\n const dropData = useMemo<HierarchyDropData | undefined>(\n () =>\n dropParentFieldName\n ? {\n type: 'hierarchy-folder',\n // Tree nodes carry only id/title/hasChildren, not the folder's collectionSpecific value,\n // so type acceptance is left to the server validator here. The self/descendant check\n // below still runs, since that only needs ids.\n ancestorIds: ancestorIds ?? [],\n folderId: node.id,\n hierarchySlug: collectionSlug,\n parentFieldName: dropParentFieldName,\n title: node.title,\n }\n : undefined,\n [ancestorIds, collectionSlug, dropParentFieldName, node.id, node.title],\n )\n\n const { isOver, setNodeRef: setDropRef } = useDroppable({\n id: `tree-node-drop-${collectionSlug}-${node.id}`,\n data: dropData,\n disabled: !dropData,\n })\n\n const dropState = isOver && dropData ? (canDrop(dropData) ? 'over' : 'invalid') : undefined\n\n const handleSelectClick = useCallback(() => {\n onSelect?.({ id: node.id })\n }, [node.id, onSelect])\n\n /**\n * Hovering a collapsed node mid-drag opens it after a beat. The timer is cleared when the drag\n * leaves, so a pass-over on the way somewhere else doesn't expand the whole tree.\n */\n useEffect(() => {\n if (!isOver || expanded || !hasChildren) {\n return\n }\n\n const timeout = setTimeout(() => {\n handleToggle()\n }, SPRING_LOAD_DELAY)\n\n return () => clearTimeout(timeout)\n }, [expanded, handleToggle, hasChildren, isOver])\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.target !== e.currentTarget) {\n return\n }\n switch (e.key) {\n case ' ':\n case 'Enter':\n e.preventDefault()\n e.stopPropagation()\n handleSelectClick()\n break\n case 'ArrowLeft':\n e.preventDefault()\n e.stopPropagation()\n if (hasChildren && expanded) {\n onToggle({ id: node.id })\n }\n break\n case 'ArrowRight':\n e.preventDefault()\n e.stopPropagation()\n if (hasChildren && !expanded) {\n handleToggle()\n }\n break\n }\n },\n [expanded, handleSelectClick, handleToggle, hasChildren, node.id, onToggle],\n )\n\n return (\n <div\n aria-expanded={hasChildren ? expanded : undefined}\n aria-level={depth + 1}\n aria-selected={selected}\n className={baseClass}\n onFocus={(e) => {\n if (e.target === e.currentTarget) {\n handleFocus()\n }\n }}\n onKeyDown={handleKeyDown}\n ref={nodeRef}\n role=\"treeitem\"\n style={{ '--tree-depth': depth } as React.CSSProperties}\n tabIndex={tabIndex}\n >\n <div className={`${baseClass}__content-wrapper`}>\n <div\n className={[\n `${baseClass}__content`,\n selected && `${baseClass}__content--selected`,\n dropState && `${baseClass}__content--drop-${dropState}`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={setDropRef}\n >\n {hasChildren && (\n <button\n aria-label={expanded ? t('general:collapse') : t('general:open')}\n className={`${baseClass}__toggle`}\n onClick={handleToggle}\n onMouseDown={(e) => e.preventDefault()}\n tabIndex={-1}\n type=\"button\"\n >\n <ChevronIcon direction={expanded ? 'down' : 'right'} size={16} />\n </button>\n )}\n <button\n className={[\n `${baseClass}__node-trigger`,\n selected && `${baseClass}__node-trigger--selected`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={handleSelectClick}\n onMouseDown={(e) => e.preventDefault()}\n tabIndex={-1}\n title={node.title}\n type=\"button\"\n >\n <span className={`${baseClass}__title sidebar-row__title`}>{node.title}</span>\n </button>\n {isLoading && expanded && (\n <span className={`${baseClass}__loading`}>\n <Spinner loadingText={null} size=\"sm\" />\n </span>\n )}\n </div>\n </div>\n\n {expanded && children && children.length > 0 && (\n <>\n <div className={`${baseClass}__children`} role=\"group\">\n {children.map((child) => {\n const childData = child as { id: number | string }\n const childId = childData.id\n const childTitle = getDocumentTitle(child, useAsTitle)\n return (\n <TreeNode\n allPossibleTypeValues={allPossibleTypeValues}\n ancestorIds={childAncestorIds}\n baseFilter={baseFilter}\n cache={cache}\n collectionSlug={collectionSlug}\n depth={depth + 1}\n dropParentFieldName={dropParentFieldName}\n expandedNodes={expandedNodes}\n filterByCollections={filterByCollections}\n key={String(childId)}\n limit={limit}\n node={{\n id: childId,\n hasChildren: true,\n title: childTitle,\n }}\n onSelect={onSelect}\n onToggle={onToggle}\n parentFieldName={parentFieldName}\n selected={String(childId) === String(selectedNodeId)}\n selectedNodeId={selectedNodeId}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n })}\n </div>\n {hasMore && (\n <LoadMore\n currentCount={children.length}\n depth={depth + 1}\n id={`load-more-${node.id}`}\n onLoadMore={handleLoadMore}\n totalDocs={totalDocs}\n />\n )}\n </>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,30 +3,29 @@
3
3
  .hierarchy-sidebar-tab {
4
4
  display: flex;
5
5
  flex-direction: column;
6
- gap: var(--spacer-2);
7
6
  }
8
7
 
9
8
  .tree {
10
9
  --tree-indent: var(--spacer-3);
11
10
  --tree-chevron-width: var(--spacer-3);
12
- --tree-chevron-spacing: var(--spacer-2);
13
- --tree-node-padding-y: var(--spacer-1);
11
+ --tree-chevron-spacing: var(--spacer-1);
14
12
  --tree-node-content-height: var(--text-body-medium-line-height);
15
13
  --tree-row-gap: var(--spacer-1);
16
14
  --tree-font-size: var(--text-body-medium-font-size);
17
15
 
18
- padding: 0;
16
+ padding: var(--spacer-1) 0;
19
17
  margin: 0;
20
18
  }
21
19
 
22
20
  .tree__all-option-wrapper {
23
21
  display: grid;
22
+ padding: var(--spacer-1) var(--spacer-2) var(--spacer-1) var(--spacer-2-5);
24
23
  gap: var(--spacer-1);
25
- grid-template-columns: 1fr auto;
24
+ grid-template-columns: auto auto;
26
25
  align-items: center;
27
- margin-bottom: var(--spacer-2);
26
+ justify-content: space-between;
28
27
 
29
- .tree__create-button {
28
+ .tree__collapse-all-button {
30
29
  padding: 0;
31
30
 
32
31
  &:hover {
@@ -36,8 +35,8 @@
36
35
  }
37
36
 
38
37
  .tree__all-option {
39
- gap: var(--spacer-1);
40
- padding-left: var(--spacer-2);
38
+ gap: 0;
39
+ padding-inline-end: var(--spacer-2);
41
40
 
42
41
  .sidebar-row__title {
43
42
  font-weight: var(--text-body-medium-strong-font-weight);
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAwD,MAAM,OAAO,CAAA;AAE5E,OAAO,KAAK,EAAkB,kBAAkB,EAAgB,MAAM,YAAY,CAAA;AAgBlF,OAAO,aAAa,CAAA;AAwWpB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAMtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA8C,MAAM,OAAO,CAAA;AAElE,OAAO,KAAK,EAAkB,kBAAkB,EAAgB,MAAM,YAAY,CAAA;AAclF,OAAO,aAAa,CAAA;AA4XpB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAMtD,CAAA"}
@@ -1,12 +1,10 @@
1
1
  'use client';
2
2
 
3
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
4
- import { useModal } from '@faceless-ui/modal';
3
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
4
  import { getTranslation } from '@payloadcms/translations';
6
5
  import { DEFAULT_HIERARCHY_TREE_LIMIT } from 'payload/shared';
7
- import React, { useCallback, useId, useMemo, useRef, useState } from 'react';
8
- import { PlusIcon } from '../../../icons/Plus/index.js';
9
- import { useAuth } from '../../../providers/Auth/index.js';
6
+ import React, { useCallback, useId, useMemo, useRef } from 'react';
7
+ import { CollapseLayersIcon } from '../../../icons/CollapseLayers/index.js';
10
8
  import { useConfig } from '../../../providers/Config/index.js';
11
9
  import { useHierarchy } from '../../../providers/Hierarchy/index.js';
12
10
  import { useRouter } from '../../../providers/RouterAdapter/index.js';
@@ -14,13 +12,14 @@ import { useTranslation } from '../../../providers/Translation/index.js';
14
12
  import { Button } from '../../Button/index.js';
15
13
  import { CreateDocumentButton } from '../../CreateDocumentButton/index.js';
16
14
  import { DelayedSpinner } from '../../DelayedSpinner/index.js';
17
- import { DocumentDrawer } from '../../DocumentDrawer/index.js';
18
15
  import { LoadMore } from './LoadMore/index.js';
19
16
  import { TreeFocusProvider, useTreeFocus } from './TreeFocusContext.js';
20
17
  import { TreeNode } from './TreeNode/index.js';
21
18
  import { useChildren } from './useChildren.js';
22
19
  import './index.css';
23
20
  const baseClass = 'tree';
21
+ /** Root nodes have no ancestors; hoisted so the reference stays stable across renders. */
22
+ const ROOT_ANCESTOR_IDS = [];
24
23
  const getDocumentTitle = (doc, useAsTitle) => {
25
24
  const docId = doc.id;
26
25
  const idStr = typeof docId === 'number' ? String(docId) : docId;
@@ -45,26 +44,21 @@ const HierarchyTreeInner = ({
45
44
  useAsTitle: useAsTitleProp
46
45
  }) => {
47
46
  const {
48
- moveFocus
47
+ focusedId,
48
+ moveFocus,
49
+ setFocusedId
49
50
  } = useTreeFocus();
50
51
  const router = useRouter();
51
52
  const {
52
53
  i18n,
53
54
  t
54
55
  } = useTranslation();
55
- const {
56
- permissions
57
- } = useAuth();
58
56
  const {
59
57
  getEntityConfig
60
58
  } = useConfig();
61
- const {
62
- closeModal,
63
- openModal
64
- } = useModal();
65
59
  const createDrawerSlug = `tree-create-${useId()}`;
66
- const [isCreateDrawerOpen, setIsCreateDrawerOpen] = useState(false);
67
60
  const {
61
+ collapseAllForCollection,
68
62
  getExpandedNodesForCollection,
69
63
  getTreeDataForCollection,
70
64
  toggleNodeForCollection,
@@ -77,7 +71,6 @@ const HierarchyTreeInner = ({
77
71
  const parentFieldName = hierarchyConfig?.parentFieldName;
78
72
  const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT;
79
73
  const useAsTitle = useAsTitleProp ?? collectionConfig.admin?.useAsTitle;
80
- const canCreate = Boolean(permissions?.collections?.[collectionSlug]?.create);
81
74
  const allPossibleTypeValues = useMemo(() => hierarchyConfig?.relatedCollections ? Object.keys(hierarchyConfig.relatedCollections) : undefined, [hierarchyConfig?.relatedCollections]);
82
75
  const contextData = getTreeDataForCollection(collectionSlug);
83
76
  const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : '';
@@ -130,6 +123,12 @@ const HierarchyTreeInner = ({
130
123
  }
131
124
  toggleNodeForCollection(collectionSlug, id);
132
125
  }, [collectionSlug, getExpandedNodesForCollection, initialExpandedNodesProp, toggleNodeForCollection]);
126
+ const handleCollapseAll = useCallback(() => {
127
+ // Mark context as seeded so the expandedNodes memo trusts the now-empty context
128
+ // rather than falling back to the server-provided initial nodes.
129
+ contextSeededRef.current = true;
130
+ collapseAllForCollection(collectionSlug);
131
+ }, [collapseAllForCollection, collectionSlug]);
133
132
  // Pre-populate cache with initialData synchronously before first render
134
133
  const childrenCache = useRef(new Map());
135
134
  const prevBaseFilterKeyRef = useRef(baseFilterKey);
@@ -204,15 +203,26 @@ const HierarchyTreeInner = ({
204
203
  id: id_0
205
204
  });
206
205
  }, [onNodeClick]);
206
+ const rootFocusableIds = useMemo(() => rootNodes ? rootNodes.map(node => `node-${String(node.id)}`) : [], [rootNodes]);
207
+ const firstRootFocusableId = rootFocusableIds[0];
208
+ const lastRootFocusableId = rootFocusableIds[rootFocusableIds.length - 1];
207
209
  const handleTreeKeyDown = useCallback(e => {
208
210
  if (e.key === 'ArrowDown') {
209
211
  e.preventDefault();
212
+ if (focusedId && firstRootFocusableId && lastRootFocusableId && focusedId === lastRootFocusableId) {
213
+ setFocusedId(firstRootFocusableId);
214
+ return;
215
+ }
210
216
  moveFocus('down');
211
217
  } else if (e.key === 'ArrowUp') {
212
218
  e.preventDefault();
219
+ if (focusedId && firstRootFocusableId && lastRootFocusableId && focusedId === firstRootFocusableId) {
220
+ setFocusedId(lastRootFocusableId);
221
+ return;
222
+ }
213
223
  moveFocus('up');
214
224
  }
215
- }, [moveFocus]);
225
+ }, [firstRootFocusableId, focusedId, lastRootFocusableId, moveFocus, setFocusedId]);
216
226
  if (isLoading && !rootNodes) {
217
227
  return /*#__PURE__*/_jsx("div", {
218
228
  className: baseClass,
@@ -256,7 +266,7 @@ const HierarchyTreeInner = ({
256
266
  tabIndex: -1,
257
267
  children: [/*#__PURE__*/_jsxs("div", {
258
268
  className: `${baseClass}__all-option-wrapper`,
259
- children: [/*#__PURE__*/_jsx("div", {
269
+ children: [/*#__PURE__*/_jsxs("div", {
260
270
  "aria-selected": isAllSelected,
261
271
  className: [`${baseClass}__all-option`, 'sidebar-row', isAllSelected && `${baseClass}__all-option--selected`, isAllSelected && 'sidebar-row--selected'].filter(Boolean).join(' '),
262
272
  onClick: handleAllClick,
@@ -268,53 +278,38 @@ const HierarchyTreeInner = ({
268
278
  },
269
279
  role: "treeitem",
270
280
  tabIndex: 0,
271
- children: /*#__PURE__*/_jsxs("span", {
281
+ children: [Boolean(icon) && /*#__PURE__*/_jsx("span", {
282
+ className: "sidebar-row__icon",
283
+ children: icon
284
+ }), /*#__PURE__*/_jsx("span", {
272
285
  className: "sidebar-row__title",
273
- children: [t('general:all'), ' ', getTranslation(getEntityConfig({
286
+ children: getTranslation(getEntityConfig({
274
287
  collectionSlug
275
- })?.labels?.plural, i18n)]
276
- })
277
- }), canCreate && /*#__PURE__*/_jsxs(_Fragment, {
278
- children: [/*#__PURE__*/_jsx(Button, {
279
- "aria-label": t('general:createNew'),
280
- buttonStyle: "ghost",
281
- className: `${baseClass}__create-button`,
282
- margin: false,
283
- onClick: () => {
284
- setIsCreateDrawerOpen(true);
285
- openModal(createDrawerSlug);
286
- },
287
- children: /*#__PURE__*/_jsx(PlusIcon, {
288
- size: 24
289
- })
290
- }), isCreateDrawerOpen && /*#__PURE__*/_jsx(DocumentDrawer, {
291
- collectionSlug: collectionSlug,
292
- drawerSlug: createDrawerSlug,
293
- initialData: parentFieldName ? {
294
- [parentFieldName]: null
295
- } : undefined,
296
- onSave: async () => {
297
- closeModal(createDrawerSlug);
298
- setIsCreateDrawerOpen(false);
299
- await refresh();
300
- router.refresh();
301
- },
302
- redirectAfterCreate: false
288
+ })?.labels?.plural, i18n)
303
289
  })]
290
+ }), expandedNodes.size > 0 && /*#__PURE__*/_jsx(Button, {
291
+ "aria-label": t('fields:collapseAll'),
292
+ buttonStyle: "ghost",
293
+ className: `${baseClass}__collapse-all-button`,
294
+ margin: false,
295
+ onClick: handleCollapseAll,
296
+ tooltip: t('fields:collapseAll'),
297
+ children: /*#__PURE__*/_jsx(CollapseLayersIcon, {})
304
298
  })]
305
- }), rootNodes.map(node => {
306
- const nodeId_0 = node.id;
299
+ }), rootNodes.map(node_0 => {
300
+ const nodeId_0 = node_0.id;
307
301
  const nodeIdStr = typeof nodeId_0 === 'number' ? String(nodeId_0) : nodeId_0;
308
- const nodeTitle = getDocumentTitle(node, useAsTitle);
302
+ const nodeTitle = getDocumentTitle(node_0, useAsTitle);
309
303
  return /*#__PURE__*/_jsx(TreeNode, {
310
304
  allPossibleTypeValues: allPossibleTypeValues,
305
+ ancestorIds: ROOT_ANCESTOR_IDS,
311
306
  baseFilter: baseFilter,
312
307
  cache: childrenCache,
313
308
  collectionSlug: collectionSlug,
314
309
  depth: 0,
310
+ dropParentFieldName: parentFieldName,
315
311
  expandedNodes: expandedNodes,
316
312
  filterByCollections: filterByCollections,
317
- icon: icon,
318
313
  limit: treeLimit,
319
314
  node: {
320
315
  id: nodeId_0,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","DEFAULT_HIERARCHY_TREE_LIMIT","React","useCallback","useId","useMemo","useRef","useState","PlusIcon","useAuth","useConfig","useHierarchy","useRouter","useTranslation","Button","CreateDocumentButton","DelayedSpinner","DocumentDrawer","LoadMore","TreeFocusProvider","useTreeFocus","TreeNode","useChildren","baseClass","getDocumentTitle","doc","useAsTitle","docId","id","idStr","String","value","HierarchyTreeInner","baseFilter","collectionSlug","filterByCollections","icon","initialData","initialDataProp","initialExpandedNodes","initialExpandedNodesProp","onNodeClick","selectedNodeId","useAsTitleProp","moveFocus","router","i18n","t","permissions","getEntityConfig","closeModal","openModal","createDrawerSlug","isCreateDrawerOpen","setIsCreateDrawerOpen","getExpandedNodesForCollection","getTreeDataForCollection","toggleNodeForCollection","typeFieldName","collectionConfig","hierarchyConfig","hierarchy","undefined","parentFieldName","treeLimit","admin","canCreate","Boolean","collections","create","allPossibleTypeValues","relatedCollections","Object","keys","contextData","baseFilterKey","JSON","stringify","contextBaseFilterKey","contextSeededRef","lastInitialExpandedRef","current","expandedNodes","contextExpanded","size","Set","handleToggleNode","wasSeeded","length","initialSet","map","isCurrentlyExpanded","has","nodeId","childrenCache","Map","prevBaseFilterKeyRef","clear","docs","docsByParent","parentId","parentKey","set","get","push","filterKey","slice","sort","join","cacheKey","parentMeta","loadedParents","loadedCount","children","hasMore","page","Math","ceil","totalDocs","treeRef","rootNodes","isLoading","loadMore","loadMoreFromHook","refresh","cache","enabled","limit","handleLoadMore","handleNodeClick","handleTreeKeyDown","e","key","preventDefault","_jsx","className","collectionLabel","buttonStyle","drawerSlug","label","labels","singular","onSave","isAllSelected","handleAllClick","_jsxs","onKeyDown","ref","role","tabIndex","filter","onClick","plural","_Fragment","margin","redirectAfterCreate","node","nodeIdStr","nodeTitle","depth","hasChildren","title","onSelect","onToggle","selected","currentCount","onLoadMore","HierarchyTree","props"],"sources":["../../../../src/elements/Hierarchy/Tree/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { DEFAULT_HIERARCHY_TREE_LIMIT } from 'payload/shared'\nimport React, { useCallback, useId, useMemo, useRef, useState } from 'react'\n\nimport type { CachedChildren, HierarchyTreeProps, TreeDocument } from './types.js'\n\nimport { PlusIcon } from '../../../icons/Plus/index.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useRouter } from '../../../providers/RouterAdapter/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { CreateDocumentButton } from '../../CreateDocumentButton/index.js'\nimport { DelayedSpinner } from '../../DelayedSpinner/index.js'\nimport { DocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { LoadMore } from './LoadMore/index.js'\nimport { TreeFocusProvider, useTreeFocus } from './TreeFocusContext.js'\nimport { TreeNode } from './TreeNode/index.js'\nimport { useChildren } from './useChildren.js'\nimport './index.css'\n\nconst baseClass = 'tree'\n\nconst getDocumentTitle = (doc: TreeDocument, useAsTitle: string | undefined): string => {\n const docId: number | string = doc.id\n const idStr = typeof docId === 'number' ? String(docId) : docId\n\n if (!useAsTitle) {\n return idStr\n }\n\n const value = doc[useAsTitle]\n if (value && (typeof value === 'string' || typeof value === 'number')) {\n return String(value)\n }\n return idStr\n}\n\nconst HierarchyTreeInner: React.FC<HierarchyTreeProps> = ({\n baseFilter,\n collectionSlug,\n filterByCollections,\n icon,\n initialData: initialDataProp,\n initialExpandedNodes: initialExpandedNodesProp,\n onNodeClick,\n selectedNodeId,\n useAsTitle: useAsTitleProp,\n}) => {\n const { moveFocus } = useTreeFocus()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { getEntityConfig } = useConfig()\n const { closeModal, openModal } = useModal()\n const createDrawerSlug = `tree-create-${useId()}`\n const [isCreateDrawerOpen, setIsCreateDrawerOpen] = useState(false)\n\n const {\n getExpandedNodesForCollection,\n getTreeDataForCollection,\n toggleNodeForCollection,\n typeFieldName,\n } = useHierarchy()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const hierarchyConfig =\n collectionConfig.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const parentFieldName = hierarchyConfig?.parentFieldName\n const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT\n const useAsTitle = useAsTitleProp ?? collectionConfig.admin?.useAsTitle\n const canCreate = Boolean(permissions?.collections?.[collectionSlug]?.create)\n\n const allPossibleTypeValues = useMemo(\n () =>\n hierarchyConfig?.relatedCollections\n ? Object.keys(hierarchyConfig.relatedCollections)\n : undefined,\n [hierarchyConfig?.relatedCollections],\n )\n\n const contextData = getTreeDataForCollection(collectionSlug)\n const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : ''\n const contextBaseFilterKey = contextData?.baseFilter ? JSON.stringify(contextData.baseFilter) : ''\n const initialData =\n baseFilterKey === contextBaseFilterKey ? (contextData ?? initialDataProp) : initialDataProp\n // Tracks whether context has been seeded at least once since the last navigation.\n // Resets when initialExpandedNodesProp changes (new array reference = navigation).\n // Allows the memo to distinguish \"not yet seeded\" (fall back to prop) from\n // \"user collapsed all nodes\" (trust empty context).\n const contextSeededRef = useRef(false)\n const lastInitialExpandedRef = useRef(initialExpandedNodesProp)\n if (lastInitialExpandedRef.current !== initialExpandedNodesProp) {\n lastInitialExpandedRef.current = initialExpandedNodesProp\n contextSeededRef.current = false\n }\n\n const expandedNodes = useMemo(() => {\n const contextExpanded = getExpandedNodesForCollection(collectionSlug)\n if (contextExpanded.size > 0) {\n contextSeededRef.current = true\n return contextExpanded\n }\n if (contextSeededRef.current) {\n // Context was seeded (had nodes since last navigation) — trust empty set as \"all collapsed\"\n return contextExpanded\n }\n return initialExpandedNodesProp ? new Set(initialExpandedNodesProp) : contextExpanded\n }, [collectionSlug, getExpandedNodesForCollection, initialExpandedNodesProp])\n\n const handleToggleNode = useCallback(\n ({ id }: { id: number | string }) => {\n // Mark context as seeded so the memo never falls back to the prop after this interaction.\n // Capture the previous value first — seeding is only needed on the very first interaction.\n const wasSeeded = contextSeededRef.current\n contextSeededRef.current = true\n const contextExpanded = getExpandedNodesForCollection(collectionSlug)\n if (!wasSeeded && contextExpanded.size === 0 && initialExpandedNodesProp?.length) {\n // Context not yet seeded. Seed it with all initial nodes, applying the toggle correctly:\n // exclude the target if collapsing, include it if expanding.\n const initialSet = new Set(initialExpandedNodesProp.map(String))\n const isCurrentlyExpanded = initialSet.has(String(id))\n for (const nodeId of initialExpandedNodesProp) {\n if (!isCurrentlyExpanded || String(nodeId) !== String(id)) {\n toggleNodeForCollection(collectionSlug, nodeId)\n }\n }\n if (!isCurrentlyExpanded) {\n toggleNodeForCollection(collectionSlug, id)\n }\n return\n }\n toggleNodeForCollection(collectionSlug, id)\n },\n [\n collectionSlug,\n getExpandedNodesForCollection,\n initialExpandedNodesProp,\n toggleNodeForCollection,\n ],\n )\n\n // Pre-populate cache with initialData synchronously before first render\n const childrenCache = useRef<Map<string, CachedChildren>>(new Map())\n\n const prevBaseFilterKeyRef = useRef(baseFilterKey)\n if (prevBaseFilterKeyRef.current !== baseFilterKey) {\n prevBaseFilterKeyRef.current = baseFilterKey\n childrenCache.current.clear()\n }\n\n useMemo(() => {\n if (!initialData || initialData.docs.length === 0) {\n return\n }\n\n const docsByParent = new Map<string, TreeDocument[]>()\n for (const doc of initialData.docs) {\n const parentId = doc[parentFieldName] || 'null'\n const parentKey = String(parentId)\n if (!docsByParent.has(parentKey)) {\n docsByParent.set(parentKey, [])\n }\n docsByParent.get(parentKey).push(doc)\n }\n\n const filterKey = filterByCollections?.length\n ? filterByCollections.slice().sort().join(',')\n : ''\n for (const [parentKey, docs] of docsByParent) {\n const cacheKey = `${collectionSlug}-${parentKey}-${filterKey}-${baseFilterKey}`\n const parentMeta = initialData.loadedParents[parentKey]\n\n if (parentMeta) {\n const loadedCount = parentMeta.loadedCount ?? docs.length\n childrenCache.current.set(cacheKey, {\n children: docs,\n hasMore: parentMeta.hasMore,\n page: Math.ceil(loadedCount / treeLimit) || 1,\n totalDocs: parentMeta.totalDocs,\n })\n } else {\n childrenCache.current.set(cacheKey, {\n children: docs,\n hasMore: false,\n page: 1,\n totalDocs: docs.length,\n })\n }\n }\n }, [initialData, filterByCollections, parentFieldName, collectionSlug, treeLimit, baseFilterKey])\n\n const treeRef = useRef<HTMLDivElement>(null)\n\n const {\n children: rootNodes,\n hasMore,\n isLoading,\n loadMore: loadMoreFromHook,\n refresh,\n totalDocs,\n } = useChildren({\n allPossibleTypeValues,\n baseFilter,\n cache: childrenCache,\n collectionSlug,\n enabled: true,\n filterByCollections,\n initialData,\n limit: treeLimit,\n parentFieldName,\n parentId: 'null',\n typeFieldName,\n useAsTitle,\n })\n\n const handleLoadMore = useCallback(async () => {\n await loadMoreFromHook()\n }, [loadMoreFromHook])\n\n const handleNodeClick = useCallback(\n ({ id }: { id: number | string }) => {\n onNodeClick?.({ id })\n },\n [onNodeClick],\n )\n\n const handleTreeKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n moveFocus('down')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n moveFocus('up')\n }\n },\n [moveFocus],\n )\n\n if (isLoading && !rootNodes) {\n return (\n <div className={baseClass}>\n <DelayedSpinner baseClass={baseClass} isLoading={true} />\n </div>\n )\n }\n\n if (!rootNodes || rootNodes.length === 0) {\n const collectionLabel = getEntityConfig({ collectionSlug })\n return (\n <div className={baseClass}>\n <CreateDocumentButton\n buttonStyle=\"primary\"\n collections={[{ collectionSlug }]}\n drawerSlug={createDrawerSlug}\n label={t('general:createNewLabel', {\n label: getTranslation(collectionLabel.labels.singular, i18n),\n })}\n onSave={async () => {\n await refresh()\n router.refresh()\n }}\n />\n </div>\n )\n }\n\n const isAllSelected = selectedNodeId === null\n const handleAllClick = () => onNodeClick?.({ id: null })\n\n return (\n <div\n className={baseClass}\n onKeyDown={handleTreeKeyDown}\n ref={treeRef}\n role=\"tree\"\n tabIndex={-1}\n >\n <div className={`${baseClass}__all-option-wrapper`}>\n <div\n aria-selected={isAllSelected}\n className={[\n `${baseClass}__all-option`,\n 'sidebar-row',\n isAllSelected && `${baseClass}__all-option--selected`,\n isAllSelected && 'sidebar-row--selected',\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={handleAllClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n handleAllClick()\n }\n }}\n role=\"treeitem\"\n tabIndex={0}\n >\n <span className=\"sidebar-row__title\">\n {t('general:all')}{' '}\n {getTranslation(getEntityConfig({ collectionSlug })?.labels?.plural, i18n)}\n </span>\n </div>\n {canCreate && (\n <>\n <Button\n aria-label={t('general:createNew')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__create-button`}\n margin={false}\n onClick={() => {\n setIsCreateDrawerOpen(true)\n openModal(createDrawerSlug)\n }}\n >\n <PlusIcon size={24} />\n </Button>\n {isCreateDrawerOpen && (\n <DocumentDrawer\n collectionSlug={collectionSlug}\n drawerSlug={createDrawerSlug}\n initialData={parentFieldName ? { [parentFieldName]: null } : undefined}\n onSave={async () => {\n closeModal(createDrawerSlug)\n setIsCreateDrawerOpen(false)\n await refresh()\n router.refresh()\n }}\n redirectAfterCreate={false}\n />\n )}\n </>\n )}\n </div>\n {rootNodes.map((node) => {\n const nodeId: number | string = node.id\n const nodeIdStr = typeof nodeId === 'number' ? String(nodeId) : nodeId\n const nodeTitle = getDocumentTitle(node, useAsTitle)\n\n return (\n <TreeNode\n allPossibleTypeValues={allPossibleTypeValues}\n baseFilter={baseFilter}\n cache={childrenCache}\n collectionSlug={collectionSlug}\n depth={0}\n expandedNodes={expandedNodes}\n filterByCollections={filterByCollections}\n icon={icon}\n key={nodeIdStr}\n limit={treeLimit}\n node={{ id: nodeId, hasChildren: true, title: nodeTitle }}\n onSelect={handleNodeClick}\n onToggle={handleToggleNode}\n parentFieldName={parentFieldName}\n selected={nodeIdStr === String(selectedNodeId)}\n selectedNodeId={selectedNodeId}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n })}\n {hasMore && (\n <LoadMore\n currentCount={rootNodes.length}\n depth={0}\n id=\"load-more-root\"\n onLoadMore={handleLoadMore}\n totalDocs={totalDocs}\n />\n )}\n </div>\n )\n}\n\nexport const HierarchyTree: React.FC<HierarchyTreeProps> = (props) => {\n return (\n <TreeFocusProvider>\n <HierarchyTreeInner {...props} />\n </TreeFocusProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","DEFAULT_HIERARCHY_TREE_LIMIT","React","useCallback","useId","useMemo","useRef","CollapseLayersIcon","useConfig","useHierarchy","useRouter","useTranslation","Button","CreateDocumentButton","DelayedSpinner","LoadMore","TreeFocusProvider","useTreeFocus","TreeNode","useChildren","baseClass","ROOT_ANCESTOR_IDS","getDocumentTitle","doc","useAsTitle","docId","id","idStr","String","value","HierarchyTreeInner","baseFilter","collectionSlug","filterByCollections","icon","initialData","initialDataProp","initialExpandedNodes","initialExpandedNodesProp","onNodeClick","selectedNodeId","useAsTitleProp","focusedId","moveFocus","setFocusedId","router","i18n","t","getEntityConfig","createDrawerSlug","collapseAllForCollection","getExpandedNodesForCollection","getTreeDataForCollection","toggleNodeForCollection","typeFieldName","collectionConfig","hierarchyConfig","hierarchy","undefined","parentFieldName","treeLimit","admin","allPossibleTypeValues","relatedCollections","Object","keys","contextData","baseFilterKey","JSON","stringify","contextBaseFilterKey","contextSeededRef","lastInitialExpandedRef","current","expandedNodes","contextExpanded","size","Set","handleToggleNode","wasSeeded","length","initialSet","map","isCurrentlyExpanded","has","nodeId","handleCollapseAll","childrenCache","Map","prevBaseFilterKeyRef","clear","docs","docsByParent","parentId","parentKey","set","get","push","filterKey","slice","sort","join","cacheKey","parentMeta","loadedParents","loadedCount","children","hasMore","page","Math","ceil","totalDocs","treeRef","rootNodes","isLoading","loadMore","loadMoreFromHook","refresh","cache","enabled","limit","handleLoadMore","handleNodeClick","rootFocusableIds","node","firstRootFocusableId","lastRootFocusableId","handleTreeKeyDown","e","key","preventDefault","_jsx","className","collectionLabel","buttonStyle","collections","drawerSlug","label","labels","singular","onSave","isAllSelected","handleAllClick","_jsxs","onKeyDown","ref","role","tabIndex","filter","Boolean","onClick","plural","margin","tooltip","nodeIdStr","nodeTitle","ancestorIds","depth","dropParentFieldName","hasChildren","title","onSelect","onToggle","selected","currentCount","onLoadMore","HierarchyTree","props"],"sources":["../../../../src/elements/Hierarchy/Tree/index.tsx"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { DEFAULT_HIERARCHY_TREE_LIMIT } from 'payload/shared'\nimport React, { useCallback, useId, useMemo, useRef } from 'react'\n\nimport type { CachedChildren, HierarchyTreeProps, TreeDocument } from './types.js'\n\nimport { CollapseLayersIcon } from '../../../icons/CollapseLayers/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useRouter } from '../../../providers/RouterAdapter/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { CreateDocumentButton } from '../../CreateDocumentButton/index.js'\nimport { DelayedSpinner } from '../../DelayedSpinner/index.js'\nimport { LoadMore } from './LoadMore/index.js'\nimport { TreeFocusProvider, useTreeFocus } from './TreeFocusContext.js'\nimport { TreeNode } from './TreeNode/index.js'\nimport { useChildren } from './useChildren.js'\nimport './index.css'\n\nconst baseClass = 'tree'\n\n/** Root nodes have no ancestors; hoisted so the reference stays stable across renders. */\nconst ROOT_ANCESTOR_IDS: (number | string)[] = []\n\nconst getDocumentTitle = (doc: TreeDocument, useAsTitle: string | undefined): string => {\n const docId: number | string = doc.id\n const idStr = typeof docId === 'number' ? String(docId) : docId\n\n if (!useAsTitle) {\n return idStr\n }\n\n const value = doc[useAsTitle]\n if (value && (typeof value === 'string' || typeof value === 'number')) {\n return String(value)\n }\n return idStr\n}\n\nconst HierarchyTreeInner: React.FC<HierarchyTreeProps> = ({\n baseFilter,\n collectionSlug,\n filterByCollections,\n icon,\n initialData: initialDataProp,\n initialExpandedNodes: initialExpandedNodesProp,\n onNodeClick,\n selectedNodeId,\n useAsTitle: useAsTitleProp,\n}) => {\n const { focusedId, moveFocus, setFocusedId } = useTreeFocus()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { getEntityConfig } = useConfig()\n const createDrawerSlug = `tree-create-${useId()}`\n\n const {\n collapseAllForCollection,\n getExpandedNodesForCollection,\n getTreeDataForCollection,\n toggleNodeForCollection,\n typeFieldName,\n } = useHierarchy()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const hierarchyConfig =\n collectionConfig.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const parentFieldName = hierarchyConfig?.parentFieldName\n const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT\n const useAsTitle = useAsTitleProp ?? collectionConfig.admin?.useAsTitle\n\n const allPossibleTypeValues = useMemo(\n () =>\n hierarchyConfig?.relatedCollections\n ? Object.keys(hierarchyConfig.relatedCollections)\n : undefined,\n [hierarchyConfig?.relatedCollections],\n )\n\n const contextData = getTreeDataForCollection(collectionSlug)\n const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : ''\n const contextBaseFilterKey = contextData?.baseFilter ? JSON.stringify(contextData.baseFilter) : ''\n const initialData =\n baseFilterKey === contextBaseFilterKey ? (contextData ?? initialDataProp) : initialDataProp\n // Tracks whether context has been seeded at least once since the last navigation.\n // Resets when initialExpandedNodesProp changes (new array reference = navigation).\n // Allows the memo to distinguish \"not yet seeded\" (fall back to prop) from\n // \"user collapsed all nodes\" (trust empty context).\n const contextSeededRef = useRef(false)\n const lastInitialExpandedRef = useRef(initialExpandedNodesProp)\n if (lastInitialExpandedRef.current !== initialExpandedNodesProp) {\n lastInitialExpandedRef.current = initialExpandedNodesProp\n contextSeededRef.current = false\n }\n\n const expandedNodes = useMemo(() => {\n const contextExpanded = getExpandedNodesForCollection(collectionSlug)\n if (contextExpanded.size > 0) {\n contextSeededRef.current = true\n return contextExpanded\n }\n if (contextSeededRef.current) {\n // Context was seeded (had nodes since last navigation) — trust empty set as \"all collapsed\"\n return contextExpanded\n }\n return initialExpandedNodesProp ? new Set(initialExpandedNodesProp) : contextExpanded\n }, [collectionSlug, getExpandedNodesForCollection, initialExpandedNodesProp])\n\n const handleToggleNode = useCallback(\n ({ id }: { id: number | string }) => {\n // Mark context as seeded so the memo never falls back to the prop after this interaction.\n // Capture the previous value first — seeding is only needed on the very first interaction.\n const wasSeeded = contextSeededRef.current\n contextSeededRef.current = true\n const contextExpanded = getExpandedNodesForCollection(collectionSlug)\n if (!wasSeeded && contextExpanded.size === 0 && initialExpandedNodesProp?.length) {\n // Context not yet seeded. Seed it with all initial nodes, applying the toggle correctly:\n // exclude the target if collapsing, include it if expanding.\n const initialSet = new Set(initialExpandedNodesProp.map(String))\n const isCurrentlyExpanded = initialSet.has(String(id))\n for (const nodeId of initialExpandedNodesProp) {\n if (!isCurrentlyExpanded || String(nodeId) !== String(id)) {\n toggleNodeForCollection(collectionSlug, nodeId)\n }\n }\n if (!isCurrentlyExpanded) {\n toggleNodeForCollection(collectionSlug, id)\n }\n return\n }\n toggleNodeForCollection(collectionSlug, id)\n },\n [\n collectionSlug,\n getExpandedNodesForCollection,\n initialExpandedNodesProp,\n toggleNodeForCollection,\n ],\n )\n\n const handleCollapseAll = useCallback(() => {\n // Mark context as seeded so the expandedNodes memo trusts the now-empty context\n // rather than falling back to the server-provided initial nodes.\n contextSeededRef.current = true\n collapseAllForCollection(collectionSlug)\n }, [collapseAllForCollection, collectionSlug])\n\n // Pre-populate cache with initialData synchronously before first render\n const childrenCache = useRef<Map<string, CachedChildren>>(new Map())\n\n const prevBaseFilterKeyRef = useRef(baseFilterKey)\n if (prevBaseFilterKeyRef.current !== baseFilterKey) {\n prevBaseFilterKeyRef.current = baseFilterKey\n childrenCache.current.clear()\n }\n\n useMemo(() => {\n if (!initialData || initialData.docs.length === 0) {\n return\n }\n\n const docsByParent = new Map<string, TreeDocument[]>()\n for (const doc of initialData.docs) {\n const parentId = doc[parentFieldName] || 'null'\n const parentKey = String(parentId)\n if (!docsByParent.has(parentKey)) {\n docsByParent.set(parentKey, [])\n }\n docsByParent.get(parentKey).push(doc)\n }\n\n const filterKey = filterByCollections?.length\n ? filterByCollections.slice().sort().join(',')\n : ''\n for (const [parentKey, docs] of docsByParent) {\n const cacheKey = `${collectionSlug}-${parentKey}-${filterKey}-${baseFilterKey}`\n const parentMeta = initialData.loadedParents[parentKey]\n\n if (parentMeta) {\n const loadedCount = parentMeta.loadedCount ?? docs.length\n childrenCache.current.set(cacheKey, {\n children: docs,\n hasMore: parentMeta.hasMore,\n page: Math.ceil(loadedCount / treeLimit) || 1,\n totalDocs: parentMeta.totalDocs,\n })\n } else {\n childrenCache.current.set(cacheKey, {\n children: docs,\n hasMore: false,\n page: 1,\n totalDocs: docs.length,\n })\n }\n }\n }, [initialData, filterByCollections, parentFieldName, collectionSlug, treeLimit, baseFilterKey])\n\n const treeRef = useRef<HTMLDivElement>(null)\n\n const {\n children: rootNodes,\n hasMore,\n isLoading,\n loadMore: loadMoreFromHook,\n refresh,\n totalDocs,\n } = useChildren({\n allPossibleTypeValues,\n baseFilter,\n cache: childrenCache,\n collectionSlug,\n enabled: true,\n filterByCollections,\n initialData,\n limit: treeLimit,\n parentFieldName,\n parentId: 'null',\n typeFieldName,\n useAsTitle,\n })\n\n const handleLoadMore = useCallback(async () => {\n await loadMoreFromHook()\n }, [loadMoreFromHook])\n\n const handleNodeClick = useCallback(\n ({ id }: { id: number | string }) => {\n onNodeClick?.({ id })\n },\n [onNodeClick],\n )\n\n const rootFocusableIds = useMemo(\n () => (rootNodes ? rootNodes.map((node) => `node-${String(node.id)}`) : []),\n [rootNodes],\n )\n\n const firstRootFocusableId = rootFocusableIds[0]\n const lastRootFocusableId = rootFocusableIds[rootFocusableIds.length - 1]\n\n const handleTreeKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n\n if (\n focusedId &&\n firstRootFocusableId &&\n lastRootFocusableId &&\n focusedId === lastRootFocusableId\n ) {\n setFocusedId(firstRootFocusableId)\n return\n }\n\n moveFocus('down')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n\n if (\n focusedId &&\n firstRootFocusableId &&\n lastRootFocusableId &&\n focusedId === firstRootFocusableId\n ) {\n setFocusedId(lastRootFocusableId)\n return\n }\n\n moveFocus('up')\n }\n },\n [firstRootFocusableId, focusedId, lastRootFocusableId, moveFocus, setFocusedId],\n )\n\n if (isLoading && !rootNodes) {\n return (\n <div className={baseClass}>\n <DelayedSpinner baseClass={baseClass} isLoading={true} />\n </div>\n )\n }\n\n if (!rootNodes || rootNodes.length === 0) {\n const collectionLabel = getEntityConfig({ collectionSlug })\n return (\n <div className={baseClass}>\n <CreateDocumentButton\n buttonStyle=\"primary\"\n collections={[{ collectionSlug }]}\n drawerSlug={createDrawerSlug}\n label={t('general:createNewLabel', {\n label: getTranslation(collectionLabel.labels.singular, i18n),\n })}\n onSave={async () => {\n await refresh()\n router.refresh()\n }}\n />\n </div>\n )\n }\n\n const isAllSelected = selectedNodeId === null\n const handleAllClick = () => onNodeClick?.({ id: null })\n\n return (\n <div\n className={baseClass}\n onKeyDown={handleTreeKeyDown}\n ref={treeRef}\n role=\"tree\"\n tabIndex={-1}\n >\n <div className={`${baseClass}__all-option-wrapper`}>\n <div\n aria-selected={isAllSelected}\n className={[\n `${baseClass}__all-option`,\n 'sidebar-row',\n isAllSelected && `${baseClass}__all-option--selected`,\n isAllSelected && 'sidebar-row--selected',\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={handleAllClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n handleAllClick()\n }\n }}\n role=\"treeitem\"\n tabIndex={0}\n >\n {Boolean(icon) && <span className=\"sidebar-row__icon\">{icon}</span>}\n <span className=\"sidebar-row__title\">\n {getTranslation(getEntityConfig({ collectionSlug })?.labels?.plural, i18n)}\n </span>\n </div>\n {expandedNodes.size > 0 && (\n <Button\n aria-label={t('fields:collapseAll')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__collapse-all-button`}\n margin={false}\n onClick={handleCollapseAll}\n tooltip={t('fields:collapseAll')}\n >\n <CollapseLayersIcon />\n </Button>\n )}\n </div>\n {rootNodes.map((node) => {\n const nodeId: number | string = node.id\n const nodeIdStr = typeof nodeId === 'number' ? String(nodeId) : nodeId\n const nodeTitle = getDocumentTitle(node, useAsTitle)\n\n return (\n <TreeNode\n allPossibleTypeValues={allPossibleTypeValues}\n ancestorIds={ROOT_ANCESTOR_IDS}\n baseFilter={baseFilter}\n cache={childrenCache}\n collectionSlug={collectionSlug}\n depth={0}\n dropParentFieldName={parentFieldName}\n expandedNodes={expandedNodes}\n filterByCollections={filterByCollections}\n key={nodeIdStr}\n limit={treeLimit}\n node={{ id: nodeId, hasChildren: true, title: nodeTitle }}\n onSelect={handleNodeClick}\n onToggle={handleToggleNode}\n parentFieldName={parentFieldName}\n selected={nodeIdStr === String(selectedNodeId)}\n selectedNodeId={selectedNodeId}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n })}\n {hasMore && (\n <LoadMore\n currentCount={rootNodes.length}\n depth={0}\n id=\"load-more-root\"\n onLoadMore={handleLoadMore}\n totalDocs={totalDocs}\n />\n )}\n </div>\n )\n}\n\nexport const HierarchyTree: React.FC<HierarchyTreeProps> = (props) => {\n return (\n <TreeFocusProvider>\n <HierarchyTreeInner {...props} />\n </TreeFocusProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -53,13 +53,21 @@ export type TreeInitialData = {
53
53
  };
54
54
  export type TreeNodeProps = {
55
55
  allPossibleTypeValues?: string[];
56
+ /**
57
+ * Ids of this node's ancestors, so a folder can't be dropped into its own subtree.
58
+ */
59
+ ancestorIds?: (number | string)[];
56
60
  baseFilter?: null | Where;
57
61
  cache: TreeCache;
58
62
  collectionSlug: string;
59
63
  depth: number;
64
+ /**
65
+ * Parent field name to set on documents dropped onto this node. Omit to make the tree inert as a
66
+ * drop target.
67
+ */
68
+ dropParentFieldName?: string;
60
69
  expandedNodes: Set<number | string>;
61
70
  filterByCollections?: string[];
62
- icon?: ReactNode;
63
71
  limit: number;
64
72
  node: TreeNodeData;
65
73
  onSelect?: ({ id }: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/elements/Hierarchy/Tree/types.ts"],"sourcesContent":["import type { TypeWithID, Where } from 'payload'\nimport type { ReactNode, RefObject } from 'react'\n\nexport type HierarchyDocument = {\n [key: string]: unknown\n} & TypeWithID\n\nexport type HierarchyInitialData = {\n baseFilter?: null | Where\n docs: HierarchyDocument[]\n // Metadata about what was loaded - keyed by parent ID ('null' for root)\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type HierarchyTreeProps = {\n baseFilter?: null | Where\n collectionSlug: string\n filterByCollections?: string[]\n icon?: ReactNode\n /** Initial data for first render (before context hydration). After hydration, context data takes precedence. */\n initialData?: HierarchyInitialData | null\n /** Initial expanded nodes for first render (before context hydration). After hydration, context takes precedence. */\n initialExpandedNodes?: (number | string)[]\n onNodeClick?: ({ id }: { id: null | number | string }) => void\n selectedNodeId?: null | number | string\n useAsTitle?: string\n}\n\n// Tree primitive types (used by TreeNode, useChildren, HierarchyTree)\n\nexport type TreeDocument = {\n [key: string]: unknown\n id: number | string\n}\n\nexport type TreeNodeData = {\n hasChildren: boolean\n id: number | string\n title: string\n}\n\nexport type CachedChildren = {\n children: TreeDocument[]\n hasMore: boolean\n page: number\n totalDocs: number\n}\n\nexport type TreeCache = RefObject<Map<string, CachedChildren>>\n\nexport type TreeInitialData = {\n docs: TreeDocument[]\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type TreeNodeProps = {\n allPossibleTypeValues?: string[]\n baseFilter?: null | Where\n cache: TreeCache\n collectionSlug: string\n depth: number\n expandedNodes: Set<number | string>\n filterByCollections?: string[]\n icon?: ReactNode\n limit: number\n node: TreeNodeData\n onSelect?: ({ id }: { id: number | string }) => void\n onToggle: ({ id }: { id: number | string }) => void\n parentFieldName: string\n selected?: boolean\n selectedNodeId?: number | string\n typeFieldName?: null | string\n useAsTitle?: string\n}\n"],"mappings":"AAuDA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/elements/Hierarchy/Tree/types.ts"],"sourcesContent":["import type { TypeWithID, Where } from 'payload'\nimport type { ReactNode, RefObject } from 'react'\n\nexport type HierarchyDocument = {\n [key: string]: unknown\n} & TypeWithID\n\nexport type HierarchyInitialData = {\n baseFilter?: null | Where\n docs: HierarchyDocument[]\n // Metadata about what was loaded - keyed by parent ID ('null' for root)\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type HierarchyTreeProps = {\n baseFilter?: null | Where\n collectionSlug: string\n filterByCollections?: string[]\n icon?: ReactNode\n /** Initial data for first render (before context hydration). After hydration, context data takes precedence. */\n initialData?: HierarchyInitialData | null\n /** Initial expanded nodes for first render (before context hydration). After hydration, context takes precedence. */\n initialExpandedNodes?: (number | string)[]\n onNodeClick?: ({ id }: { id: null | number | string }) => void\n selectedNodeId?: null | number | string\n useAsTitle?: string\n}\n\n// Tree primitive types (used by TreeNode, useChildren, HierarchyTree)\n\nexport type TreeDocument = {\n [key: string]: unknown\n id: number | string\n}\n\nexport type TreeNodeData = {\n hasChildren: boolean\n id: number | string\n title: string\n}\n\nexport type CachedChildren = {\n children: TreeDocument[]\n hasMore: boolean\n page: number\n totalDocs: number\n}\n\nexport type TreeCache = RefObject<Map<string, CachedChildren>>\n\nexport type TreeInitialData = {\n docs: TreeDocument[]\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type TreeNodeProps = {\n allPossibleTypeValues?: string[]\n /**\n * Ids of this node's ancestors, so a folder can't be dropped into its own subtree.\n */\n ancestorIds?: (number | string)[]\n baseFilter?: null | Where\n cache: TreeCache\n collectionSlug: string\n depth: number\n /**\n * Parent field name to set on documents dropped onto this node. Omit to make the tree inert as a\n * drop target.\n */\n dropParentFieldName?: string\n expandedNodes: Set<number | string>\n filterByCollections?: string[]\n limit: number\n node: TreeNodeData\n onSelect?: ({ id }: { id: number | string }) => void\n onToggle: ({ id }: { id: number | string }) => void\n parentFieldName: string\n selected?: boolean\n selectedNodeId?: number | string\n typeFieldName?: null | string\n useAsTitle?: string\n}\n"],"mappings":"AAuDA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useChildren.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/useChildren.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAMpC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAK1E,KAAK,eAAe,GAAG;IACrB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;IAChC,gEAAgE;IAChE,UAAU,CAAC,EAAE,IAAI,GAAG,KAAK,CAAA;IACzB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,WAAW,CAAC,EAAE,IAAI,GAAG,eAAe,CAAA;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,IAAI,GAAG,YAAY,EAAE,CAAA;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,wFAAwF;IACxF,IAAI,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACnC,QAAQ,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACvC,OAAO,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACtC,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,+LAczB,eAAe,KAAG,iBAyPpB,CAAA"}
1
+ {"version":3,"file":"useChildren.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/useChildren.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAMpC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAK1E,KAAK,eAAe,GAAG;IACrB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;IAChC,gEAAgE;IAChE,UAAU,CAAC,EAAE,IAAI,GAAG,KAAK,CAAA;IACzB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,WAAW,CAAC,EAAE,IAAI,GAAG,eAAe,CAAA;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,IAAI,GAAG,YAAY,EAAE,CAAA;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,wFAAwF;IACxF,IAAI,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACnC,QAAQ,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACvC,OAAO,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACtC,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,WAAW,kMAcrB,eAAe,KAAG,iBAmQpB,CAAA"}
@@ -125,7 +125,17 @@ export const useChildren = ({
125
125
  // Client-side filter: only show items that are a superset of required collections
126
126
  // Server query uses ANY (due to PG limitations), but we want ALL (superset)
127
127
  const newDocs = filterByCollections?.length && typeFieldName ? allDocs.filter(doc => isSuperset(doc[typeFieldName], filterByCollections)) : allDocs;
128
- const newChildren = pageToFetch === 1 ? newDocs : [...(currentChildren || []), ...newDocs];
128
+ let newChildren;
129
+ if (pageToFetch === 1) {
130
+ newChildren = newDocs;
131
+ } else {
132
+ // Dedupe against already-loaded children: page-number math can drift from the
133
+ // actual loaded count (e.g. after a cache merge), causing an overlapping page
134
+ // to be re-fetched here.
135
+ const existingIds = new Set((currentChildren || []).map(doc => doc.id));
136
+ const dedupedNewDocs = newDocs.filter(doc => !existingIds.has(doc.id));
137
+ newChildren = [...(currentChildren || []), ...dedupedNewDocs];
138
+ }
129
139
  setChildren(newChildren);
130
140
  setTotalDocs(data.totalDocs || 0);
131
141
  setHasMore(data.hasNextPage || false);