@payloadcms/ui 4.0.0-internal.38b7f1d → 4.0.0-internal.c2b57ce

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 (1262) hide show
  1. package/dist/css/colors.css +8 -0
  2. package/dist/css/design-tokens.css +11 -11
  3. package/dist/css/forms.css +2 -2
  4. package/dist/css/spacing.css +21 -0
  5. package/dist/css/typography.css +2 -2
  6. package/dist/css/utilities.css +2 -1
  7. package/dist/elements/AddNewRelation/index.js +1 -1
  8. package/dist/elements/AddNewRelation/index.js.map +1 -1
  9. package/dist/elements/AnimateHeight/{index.scss → index.css} +3 -3
  10. package/dist/elements/AnimateHeight/index.d.ts +1 -1
  11. package/dist/elements/AnimateHeight/index.d.ts.map +1 -1
  12. package/dist/elements/AnimateHeight/index.js +1 -1
  13. package/dist/elements/AnimateHeight/index.js.map +1 -1
  14. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
  15. package/dist/elements/AppHeader/index.css +41 -50
  16. package/dist/elements/AppHeader/index.d.ts +1 -2
  17. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  18. package/dist/elements/AppHeader/index.js +28 -26
  19. package/dist/elements/AppHeader/index.js.map +1 -1
  20. package/dist/elements/ArrayAction/index.css +7 -0
  21. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  22. package/dist/elements/ArrayAction/index.js +39 -33
  23. package/dist/elements/ArrayAction/index.js.map +1 -1
  24. package/dist/elements/Autosave/index.css +1 -1
  25. package/dist/elements/Autosave/index.d.ts.map +1 -1
  26. package/dist/elements/Autosave/index.js.map +1 -1
  27. package/dist/elements/Banner/index.css +22 -28
  28. package/dist/elements/Banner/index.d.ts +1 -1
  29. package/dist/elements/Banner/index.d.ts.map +1 -1
  30. package/dist/elements/Banner/index.js +5 -3
  31. package/dist/elements/Banner/index.js.map +1 -1
  32. package/dist/elements/BulkUpload/ActionsBar/index.css +51 -0
  33. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -1
  34. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  35. package/dist/elements/BulkUpload/ActionsBar/index.js +33 -55
  36. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  37. package/dist/elements/BulkUpload/AddFilesView/index.css +32 -0
  38. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +1 -1
  39. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  40. package/dist/elements/BulkUpload/AddFilesView/index.js +2 -2
  41. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  43. package/dist/elements/BulkUpload/EditMany/index.js +1 -0
  44. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  45. package/dist/elements/BulkUpload/EditMany/index.scss +0 -30
  46. package/dist/elements/BulkUpload/FileSidebar/index.css +366 -0
  47. package/dist/elements/BulkUpload/FileSidebar/index.d.ts +1 -1
  48. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  49. package/dist/elements/BulkUpload/FileSidebar/index.js +5 -6
  50. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  51. package/dist/elements/BulkUpload/Header/index.css +19 -0
  52. package/dist/elements/BulkUpload/Header/index.d.ts +1 -1
  53. package/dist/elements/BulkUpload/Header/index.d.ts.map +1 -1
  54. package/dist/elements/BulkUpload/Header/index.js +39 -15
  55. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  56. package/dist/elements/BulkUpload/index.js +1 -2
  57. package/dist/elements/BulkUpload/index.js.map +1 -1
  58. package/dist/elements/Button/index.css +175 -260
  59. package/dist/elements/Button/index.d.ts +2 -1
  60. package/dist/elements/Button/index.d.ts.map +1 -1
  61. package/dist/elements/Button/index.js +25 -10
  62. package/dist/elements/Button/index.js.map +1 -1
  63. package/dist/elements/Button/types.d.ts +7 -6
  64. package/dist/elements/Button/types.d.ts.map +1 -1
  65. package/dist/elements/Button/types.js.map +1 -1
  66. package/dist/elements/Card/index.css +68 -0
  67. package/dist/elements/Card/index.d.ts +1 -7
  68. package/dist/elements/Card/index.d.ts.map +1 -1
  69. package/dist/elements/Card/index.js +6 -6
  70. package/dist/elements/Card/index.js.map +1 -1
  71. package/dist/elements/Chip/index.css +184 -0
  72. package/dist/elements/Chip/index.d.ts +22 -0
  73. package/dist/elements/Chip/index.d.ts.map +1 -0
  74. package/dist/elements/Chip/index.js +94 -0
  75. package/dist/elements/Chip/index.js.map +1 -0
  76. package/dist/elements/ClipboardAction/ClipboardActionLabel.d.ts.map +1 -1
  77. package/dist/elements/ClipboardAction/index.css +8 -0
  78. package/dist/elements/ClipboardAction/index.d.ts +1 -0
  79. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  80. package/dist/elements/ClipboardAction/index.js +10 -10
  81. package/dist/elements/ClipboardAction/index.js.map +1 -1
  82. package/dist/elements/CloseModalButton/index.css +3 -0
  83. package/dist/elements/CloseModalButton/index.d.ts +1 -1
  84. package/dist/elements/CloseModalButton/index.d.ts.map +1 -1
  85. package/dist/elements/CloseModalButton/index.js +10 -6
  86. package/dist/elements/CloseModalButton/index.js.map +1 -1
  87. package/dist/elements/CloseModalOnRouteChange/index.js +1 -1
  88. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  89. package/dist/elements/CodeEditor/index.css +3 -2
  90. package/dist/elements/CollapseAllToggle/index.js +2 -2
  91. package/dist/elements/CollapseAllToggle/index.js.map +1 -1
  92. package/dist/elements/Collapsible/index.css +3 -3
  93. package/dist/elements/ConfirmationModal/index.d.ts +0 -1
  94. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  95. package/dist/elements/ConfirmationModal/index.js +48 -59
  96. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  97. package/dist/elements/CopyLocaleData/index.css +22 -0
  98. package/dist/elements/CopyLocaleData/index.d.ts +1 -1
  99. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  100. package/dist/elements/CopyLocaleData/index.js +2 -3
  101. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  102. package/dist/elements/CopyToClipboard/index.css +25 -0
  103. package/dist/elements/CopyToClipboard/index.d.ts +1 -1
  104. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  105. package/dist/elements/CopyToClipboard/index.js +1 -1
  106. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  107. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  108. package/dist/elements/CreateDocumentButton/index.js +2 -0
  109. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  110. package/dist/elements/DatePicker/DatePicker.js +2 -6
  111. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  112. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
  113. package/dist/elements/DatePicker/index.css +4 -4
  114. package/dist/elements/DefaultListViewTabs/index.css +23 -0
  115. package/dist/elements/DefaultListViewTabs/index.d.ts +1 -1
  116. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  117. package/dist/elements/DefaultListViewTabs/index.js +5 -5
  118. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  119. package/dist/elements/{DeleteMany/index.scss → DeleteDocument/index.css} +2 -4
  120. package/dist/elements/DeleteDocument/index.d.ts +1 -1
  121. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  122. package/dist/elements/DeleteDocument/index.js +2 -2
  123. package/dist/elements/DeleteDocument/index.js.map +1 -1
  124. package/dist/elements/DeleteMany/index.css +9 -0
  125. package/dist/elements/DeleteMany/index.d.ts +1 -1
  126. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  127. package/dist/elements/DeleteMany/index.js +2 -2
  128. package/dist/elements/DeleteMany/index.js.map +1 -1
  129. package/dist/elements/DocumentControls/index.css +208 -0
  130. package/dist/elements/DocumentControls/index.d.ts +1 -1
  131. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  132. package/dist/elements/DocumentControls/index.js +144 -150
  133. package/dist/elements/DocumentControls/index.js.map +1 -1
  134. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +54 -0
  135. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +1 -1
  136. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  137. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +14 -11
  138. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  139. package/dist/elements/DocumentDrawer/index.d.ts +0 -1
  140. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  141. package/dist/elements/DocumentDrawer/index.js +2 -2
  142. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  143. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  144. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  145. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  146. package/dist/elements/DocumentFields/index.css +197 -0
  147. package/dist/elements/DocumentFields/index.d.ts +1 -1
  148. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  149. package/dist/elements/DocumentFields/index.js +1 -1
  150. package/dist/elements/DocumentFields/index.js.map +1 -1
  151. package/dist/elements/DocumentLocked/index.d.ts +0 -1
  152. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  153. package/dist/elements/DocumentLocked/index.js +76 -90
  154. package/dist/elements/DocumentLocked/index.js.map +1 -1
  155. package/dist/elements/DocumentStaleData/index.d.ts +0 -1
  156. package/dist/elements/DocumentStaleData/index.d.ts.map +1 -1
  157. package/dist/elements/DocumentStaleData/index.js +34 -50
  158. package/dist/elements/DocumentStaleData/index.js.map +1 -1
  159. package/dist/elements/DocumentTakeOver/index.d.ts +0 -1
  160. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -1
  161. package/dist/elements/DocumentTakeOver/index.js +47 -60
  162. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  163. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +1 -1
  164. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
  165. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  166. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  167. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +1 -1
  168. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts.map +1 -1
  169. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  170. package/dist/elements/Drawer/index.css +25 -53
  171. package/dist/elements/Drawer/index.d.ts.map +1 -1
  172. package/dist/elements/Drawer/index.js +86 -75
  173. package/dist/elements/Drawer/index.js.map +1 -1
  174. package/dist/elements/Drawer/types.d.ts +2 -2
  175. package/dist/elements/Drawer/types.d.ts.map +1 -1
  176. package/dist/elements/Drawer/types.js.map +1 -1
  177. package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
  178. package/dist/elements/DrawerActionHeader/index.css +23 -0
  179. package/dist/elements/DrawerActionHeader/index.d.ts +1 -1
  180. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  181. package/dist/elements/DrawerActionHeader/index.js +1 -1
  182. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  183. package/dist/elements/DrawerContentContainer/index.css +8 -0
  184. package/dist/elements/DrawerContentContainer/index.d.ts +1 -1
  185. package/dist/elements/DrawerContentContainer/index.d.ts.map +1 -1
  186. package/dist/elements/DrawerContentContainer/index.js +1 -1
  187. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  188. package/dist/elements/Dropzone/index.css +21 -8
  189. package/dist/elements/Dropzone/index.d.ts +2 -1
  190. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  191. package/dist/elements/Dropzone/index.js +12 -6
  192. package/dist/elements/Dropzone/index.js.map +1 -1
  193. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.css +22 -0
  194. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.d.ts +1 -1
  195. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.d.ts.map +1 -1
  196. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -2
  197. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  198. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  199. package/dist/elements/DuplicateDocument/index.js +1 -1
  200. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  201. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  202. package/dist/elements/EditMany/DrawerContent.js +1 -1
  203. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  204. package/dist/elements/EditUpload/index.css +226 -0
  205. package/dist/elements/EditUpload/index.d.ts +1 -1
  206. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  207. package/dist/elements/EditUpload/index.js +3 -3
  208. package/dist/elements/EditUpload/index.js.map +1 -1
  209. package/dist/elements/EditUpload/library.scss +24 -9
  210. package/dist/elements/FieldSelect/index.css +5 -0
  211. package/dist/elements/FieldSelect/index.d.ts +1 -1
  212. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  213. package/dist/elements/FieldSelect/index.js +1 -1
  214. package/dist/elements/FieldSelect/index.js.map +1 -1
  215. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  216. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  217. package/dist/elements/FileDetails/DraggableFileDetails/index.js +1 -2
  218. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  219. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  220. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -2
  221. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  222. package/dist/elements/FileDetails/StaticFileDetails/index.scss +3 -3
  223. package/dist/elements/FilterTrigger/index.css +57 -0
  224. package/dist/elements/FilterTrigger/index.d.ts +18 -0
  225. package/dist/elements/FilterTrigger/index.d.ts.map +1 -0
  226. package/dist/elements/FilterTrigger/index.js +49 -0
  227. package/dist/elements/FilterTrigger/index.js.map +1 -0
  228. package/dist/elements/GroupByBuilder/index.d.ts.map +1 -1
  229. package/dist/elements/GroupByBuilder/index.js +5 -2
  230. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  231. package/dist/elements/GroupByControl/index.css +106 -0
  232. package/dist/elements/GroupByControl/index.d.ts +9 -0
  233. package/dist/elements/GroupByControl/index.d.ts.map +1 -0
  234. package/dist/elements/GroupByControl/index.js +255 -0
  235. package/dist/elements/GroupByControl/index.js.map +1 -0
  236. package/dist/elements/Gutter/index.css +17 -0
  237. package/dist/elements/Gutter/index.d.ts +1 -1
  238. package/dist/elements/Gutter/index.d.ts.map +1 -1
  239. package/dist/elements/Gutter/index.js +1 -1
  240. package/dist/elements/Gutter/index.js.map +1 -1
  241. package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
  242. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +62 -0
  243. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts +1 -1
  244. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
  245. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +6 -4
  246. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  247. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +96 -0
  248. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts +1 -1
  249. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  250. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +3 -2
  251. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  252. package/dist/elements/Hierarchy/ColumnBrowser/index.css +15 -0
  253. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
  254. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  255. package/dist/elements/Hierarchy/ColumnBrowser/index.js +1 -1
  256. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  257. package/dist/elements/Hierarchy/DocHeaderButton/index.js +1 -1
  258. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  259. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +1 -3
  260. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
  261. package/dist/elements/Hierarchy/Drawer/index.css +108 -0
  262. package/dist/elements/Hierarchy/Drawer/index.d.ts +1 -1
  263. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +1 -1
  264. package/dist/elements/Hierarchy/Drawer/index.js +2 -5
  265. package/dist/elements/Hierarchy/Drawer/index.js.map +1 -1
  266. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +1 -1
  267. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  268. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +19 -63
  269. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  270. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +1 -1
  271. package/dist/elements/Hierarchy/Field/index.scss +6 -0
  272. package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts +0 -7
  273. package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts.map +1 -1
  274. package/dist/elements/Hierarchy/Search/HierarchySearchInput.js +45 -65
  275. package/dist/elements/Hierarchy/Search/HierarchySearchInput.js.map +1 -1
  276. package/dist/elements/Hierarchy/Search/index.css +36 -36
  277. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  278. package/dist/elements/Hierarchy/Search/index.js +81 -12
  279. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  280. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  281. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  282. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +11 -9
  283. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  284. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  285. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +6 -6
  286. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  287. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  288. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  289. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +2 -3
  290. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  291. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  292. package/dist/elements/Hierarchy/Tree/index.js +1 -1
  293. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  294. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  295. package/dist/elements/IDLabel/index.css +36 -0
  296. package/dist/elements/IDLabel/index.d.ts +1 -1
  297. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  298. package/dist/elements/IDLabel/index.js +68 -31
  299. package/dist/elements/IDLabel/index.js.map +1 -1
  300. package/dist/elements/ItemsDrawer/ItemSearch/index.css +56 -0
  301. package/dist/elements/ItemsDrawer/ItemSearch/index.d.ts +1 -1
  302. package/dist/elements/ItemsDrawer/ItemSearch/index.d.ts.map +1 -1
  303. package/dist/elements/ItemsDrawer/ItemSearch/index.js +3 -3
  304. package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
  305. package/dist/elements/ItemsDrawer/index.css +98 -0
  306. package/dist/elements/ItemsDrawer/index.d.ts +1 -1
  307. package/dist/elements/ItemsDrawer/index.d.ts.map +1 -1
  308. package/dist/elements/ItemsDrawer/index.js +1 -1
  309. package/dist/elements/ItemsDrawer/index.js.map +1 -1
  310. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  311. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  312. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +3 -3
  313. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  314. package/dist/elements/Link/index.d.ts +4 -5
  315. package/dist/elements/Link/index.d.ts.map +1 -1
  316. package/dist/elements/Link/index.js +4 -13
  317. package/dist/elements/Link/index.js.map +1 -1
  318. package/dist/elements/ListControls/index.css +79 -0
  319. package/dist/elements/ListControls/index.d.ts +1 -1
  320. package/dist/elements/ListControls/index.d.ts.map +1 -1
  321. package/dist/elements/ListControls/index.js +148 -134
  322. package/dist/elements/ListControls/index.js.map +1 -1
  323. package/dist/elements/ListControls/types.d.ts +2 -0
  324. package/dist/elements/ListControls/types.d.ts.map +1 -1
  325. package/dist/elements/ListControls/types.js.map +1 -1
  326. package/dist/elements/ListControlsBar/index.css +20 -0
  327. package/dist/elements/ListControlsBar/index.d.ts +16 -0
  328. package/dist/elements/ListControlsBar/index.d.ts.map +1 -0
  329. package/dist/elements/ListControlsBar/index.js +21 -0
  330. package/dist/elements/ListControlsBar/index.js.map +1 -0
  331. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  332. package/dist/elements/ListDrawer/index.js +0 -1
  333. package/dist/elements/ListDrawer/index.js.map +1 -1
  334. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.d.ts.map +1 -1
  335. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +2 -5
  336. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  337. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  338. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +1 -1
  339. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  340. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +1 -1
  341. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  342. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
  343. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +1 -1
  344. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  345. package/dist/elements/ListHeader/index.css +45 -0
  346. package/dist/elements/ListHeader/index.d.ts +2 -1
  347. package/dist/elements/ListHeader/index.d.ts.map +1 -1
  348. package/dist/elements/ListHeader/index.js +2 -2
  349. package/dist/elements/ListHeader/index.js.map +1 -1
  350. package/dist/elements/ListSelection/index.css +25 -0
  351. package/dist/elements/ListSelection/index.d.ts +1 -1
  352. package/dist/elements/ListSelection/index.d.ts.map +1 -1
  353. package/dist/elements/ListSelection/index.js +3 -2
  354. package/dist/elements/ListSelection/index.js.map +1 -1
  355. package/dist/elements/LivePreview/Toggler/index.css +9 -0
  356. package/dist/elements/LivePreview/Toggler/index.d.ts +1 -1
  357. package/dist/elements/LivePreview/Toggler/index.d.ts.map +1 -1
  358. package/dist/elements/LivePreview/Toggler/index.js +11 -9
  359. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  360. package/dist/elements/LivePreview/Toolbar/Controls/index.css +28 -0
  361. package/dist/elements/LivePreview/Toolbar/Controls/index.d.ts +1 -1
  362. package/dist/elements/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
  363. package/dist/elements/LivePreview/Toolbar/Controls/index.js +122 -75
  364. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  365. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +50 -0
  366. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts +1 -1
  367. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  368. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +95 -32
  369. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  370. package/dist/elements/LivePreview/Toolbar/index.css +47 -0
  371. package/dist/elements/LivePreview/Toolbar/index.d.ts +1 -1
  372. package/dist/elements/LivePreview/Toolbar/index.d.ts.map +1 -1
  373. package/dist/elements/LivePreview/Toolbar/index.js +1 -1
  374. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  375. package/dist/elements/LivePreview/Window/index.css +48 -0
  376. package/dist/elements/LivePreview/Window/index.d.ts +1 -1
  377. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  378. package/dist/elements/LivePreview/Window/index.js +32 -44
  379. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  380. package/dist/elements/LoadMoreRow/index.js +1 -1
  381. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  382. package/dist/elements/LoadMoreRow/index.scss +4 -0
  383. package/dist/elements/Loading/index.css +136 -0
  384. package/dist/elements/Loading/index.d.ts +1 -1
  385. package/dist/elements/Loading/index.d.ts.map +1 -1
  386. package/dist/elements/Loading/index.js +1 -1
  387. package/dist/elements/Loading/index.js.map +1 -1
  388. package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
  389. package/dist/elements/Localizer/index.css +21 -0
  390. package/dist/elements/Localizer/index.d.ts +1 -1
  391. package/dist/elements/Localizer/index.d.ts.map +1 -1
  392. package/dist/elements/Localizer/index.js +105 -71
  393. package/dist/elements/Localizer/index.js.map +1 -1
  394. package/dist/elements/Locked/index.css +28 -0
  395. package/dist/elements/Locked/index.d.ts +1 -1
  396. package/dist/elements/Locked/index.d.ts.map +1 -1
  397. package/dist/elements/Locked/index.js +2 -2
  398. package/dist/elements/Locked/index.js.map +1 -1
  399. package/dist/elements/Logout/index.d.ts +0 -6
  400. package/dist/elements/Logout/index.d.ts.map +1 -1
  401. package/dist/elements/Logout/index.js.map +1 -1
  402. package/dist/elements/Modal/index.css +82 -0
  403. package/dist/elements/Modal/index.d.ts +15 -0
  404. package/dist/elements/Modal/index.d.ts.map +1 -1
  405. package/dist/elements/Modal/index.js +42 -0
  406. package/dist/elements/Modal/index.js.map +1 -1
  407. package/dist/elements/Nav/NavToggler/{index.scss → index.css} +2 -2
  408. package/dist/elements/Nav/NavToggler/index.d.ts +1 -1
  409. package/dist/elements/Nav/NavToggler/index.d.ts.map +1 -1
  410. package/dist/elements/Nav/NavToggler/index.js +1 -1
  411. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  412. package/dist/elements/Nav/context.d.ts +0 -1
  413. package/dist/elements/Nav/context.d.ts.map +1 -1
  414. package/dist/elements/Nav/context.js +3 -12
  415. package/dist/elements/Nav/context.js.map +1 -1
  416. package/dist/elements/NavGroup/index.js +0 -1
  417. package/dist/elements/NavGroup/index.js.map +1 -1
  418. package/dist/elements/NoListResults/index.css +35 -0
  419. package/dist/elements/NoListResults/index.d.ts +5 -3
  420. package/dist/elements/NoListResults/index.d.ts.map +1 -1
  421. package/dist/elements/NoListResults/index.js +12 -4
  422. package/dist/elements/NoListResults/index.js.map +1 -1
  423. package/dist/elements/PageControls/GroupByPageControls.d.ts +3 -8
  424. package/dist/elements/PageControls/GroupByPageControls.d.ts.map +1 -1
  425. package/dist/elements/PageControls/GroupByPageControls.js +12 -42
  426. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  427. package/dist/elements/PageControls/index.css +61 -0
  428. package/dist/elements/PageControls/index.d.ts +2 -2
  429. package/dist/elements/PageControls/index.d.ts.map +1 -1
  430. package/dist/elements/PageControls/index.js +57 -52
  431. package/dist/elements/PageControls/index.js.map +1 -1
  432. package/dist/elements/Pagination/ClickableArrow/index.css +38 -0
  433. package/dist/elements/Pagination/ClickableArrow/index.d.ts +1 -1
  434. package/dist/elements/Pagination/ClickableArrow/index.d.ts.map +1 -1
  435. package/dist/elements/Pagination/ClickableArrow/index.js +1 -1
  436. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  437. package/dist/elements/Pagination/SimplePagination/index.css +23 -0
  438. package/dist/elements/Pagination/SimplePagination/index.d.ts +13 -0
  439. package/dist/elements/Pagination/SimplePagination/index.d.ts.map +1 -0
  440. package/dist/elements/Pagination/SimplePagination/index.js +110 -0
  441. package/dist/elements/Pagination/SimplePagination/index.js.map +1 -0
  442. package/dist/elements/Pagination/index.css +50 -0
  443. package/dist/elements/Pagination/index.d.ts +1 -12
  444. package/dist/elements/Pagination/index.d.ts.map +1 -1
  445. package/dist/elements/Pagination/index.js +181 -97
  446. package/dist/elements/Pagination/index.js.map +1 -1
  447. package/dist/elements/PerPage/index.css +24 -0
  448. package/dist/elements/PerPage/index.d.ts +1 -1
  449. package/dist/elements/PerPage/index.d.ts.map +1 -1
  450. package/dist/elements/PerPage/index.js +44 -28
  451. package/dist/elements/PerPage/index.js.map +1 -1
  452. package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -1
  453. package/dist/elements/PermanentlyDeleteButton/index.js +1 -1
  454. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  455. package/dist/elements/Pill/index.css +24 -64
  456. package/dist/elements/Pill/index.d.ts +0 -9
  457. package/dist/elements/Pill/index.d.ts.map +1 -1
  458. package/dist/elements/Pill/index.js +25 -108
  459. package/dist/elements/Pill/index.js.map +1 -1
  460. package/dist/elements/PillSelector/index.css +33 -0
  461. package/dist/elements/PillSelector/index.d.ts +1 -1
  462. package/dist/elements/PillSelector/index.d.ts.map +1 -1
  463. package/dist/elements/PillSelector/index.js +66 -29
  464. package/dist/elements/PillSelector/index.js.map +1 -1
  465. package/dist/elements/Popup/PopupButtonList/index.css +65 -16
  466. package/dist/elements/Popup/PopupButtonList/index.d.ts +25 -2
  467. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  468. package/dist/elements/Popup/PopupButtonList/index.js +64 -7
  469. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  470. package/dist/elements/Popup/PopupDivider/index.css +10 -0
  471. package/dist/elements/Popup/PopupDivider/index.d.ts +1 -1
  472. package/dist/elements/Popup/PopupDivider/index.d.ts.map +1 -1
  473. package/dist/elements/Popup/PopupDivider/index.js +1 -1
  474. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  475. package/dist/elements/Popup/PopupGroupLabel/index.css +9 -0
  476. package/dist/elements/Popup/PopupGroupLabel/index.d.ts +1 -1
  477. package/dist/elements/Popup/PopupGroupLabel/index.d.ts.map +1 -1
  478. package/dist/elements/Popup/PopupGroupLabel/index.js +1 -1
  479. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  480. package/dist/elements/Popup/PopupTrigger/index.css +2 -1
  481. package/dist/elements/Popup/PopupTrigger/index.d.ts +10 -2
  482. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  483. package/dist/elements/Popup/PopupTrigger/index.js +14 -4
  484. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  485. package/dist/elements/Popup/index.css +10 -3
  486. package/dist/elements/Popup/index.d.ts +19 -1
  487. package/dist/elements/Popup/index.d.ts.map +1 -1
  488. package/dist/elements/Popup/index.js +22 -8
  489. package/dist/elements/Popup/index.js.map +1 -1
  490. package/dist/elements/PreviewButton/index.d.ts +0 -1
  491. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  492. package/dist/elements/PreviewButton/index.js +68 -21
  493. package/dist/elements/PreviewButton/index.js.map +1 -1
  494. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  495. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +1 -1
  496. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  497. package/dist/elements/PublishButton/ScheduleDrawer/index.css +35 -0
  498. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -1
  499. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  500. package/dist/elements/PublishButton/ScheduleDrawer/index.js +60 -68
  501. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  502. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  503. package/dist/elements/PublishMany/DrawerContent.js +1 -1
  504. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  505. package/dist/elements/QueryPresets/QueryPresetBar/index.css +22 -0
  506. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts +1 -1
  507. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts.map +1 -1
  508. package/dist/elements/QueryPresets/QueryPresetBar/index.js +283 -155
  509. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  510. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +1 -1
  511. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  512. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +1 -1
  513. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  514. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -5
  515. package/dist/elements/ReactSelect/ClearIndicator/index.js +2 -1
  516. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  517. package/dist/elements/ReactSelect/DropdownIndicator/index.js +0 -1
  518. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  519. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  520. package/dist/elements/ReactSelect/MultiValueRemove/index.css +1 -1
  521. package/dist/elements/ReactSelect/index.css +4 -4
  522. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  523. package/dist/elements/ReactSelect/index.js +14 -6
  524. package/dist/elements/ReactSelect/index.js.map +1 -1
  525. package/dist/elements/ReactSelect/types.d.ts +2 -1
  526. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  527. package/dist/elements/ReactSelect/types.js.map +1 -1
  528. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  529. package/dist/elements/RelationshipTable/AddNewButton.js +1 -1
  530. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  531. package/dist/elements/RelationshipTable/Pagination.css +39 -0
  532. package/dist/elements/RelationshipTable/Pagination.d.ts +1 -0
  533. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  534. package/dist/elements/RelationshipTable/Pagination.js +75 -35
  535. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  536. package/dist/elements/RelationshipTable/cells/DrawerLink/index.css +31 -0
  537. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +1 -1
  538. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -1
  539. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +25 -10
  540. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  541. package/dist/elements/RelationshipTable/index.css +82 -0
  542. package/dist/elements/RelationshipTable/index.d.ts +1 -1
  543. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  544. package/dist/elements/RelationshipTable/index.js +18 -21
  545. package/dist/elements/RelationshipTable/index.js.map +1 -1
  546. package/dist/elements/RenderTitle/index.css +41 -0
  547. package/dist/elements/RenderTitle/index.d.ts +1 -1
  548. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  549. package/dist/elements/RenderTitle/index.js +1 -1
  550. package/dist/elements/RenderTitle/index.js.map +1 -1
  551. package/dist/elements/RestoreButton/index.d.ts.map +1 -1
  552. package/dist/elements/RestoreButton/index.js +1 -1
  553. package/dist/elements/RestoreButton/index.js.map +1 -1
  554. package/dist/elements/RestoreMany/index.d.ts.map +1 -1
  555. package/dist/elements/RestoreMany/index.js +1 -1
  556. package/dist/elements/RestoreMany/index.js.map +1 -1
  557. package/dist/elements/SearchBar/index.css +36 -0
  558. package/dist/elements/SearchBar/index.d.ts +4 -3
  559. package/dist/elements/SearchBar/index.d.ts.map +1 -1
  560. package/dist/elements/SearchBar/index.js +5 -6
  561. package/dist/elements/SearchBar/index.js.map +1 -1
  562. package/dist/elements/SearchFilter/index.css +37 -0
  563. package/dist/elements/SearchFilter/index.d.ts +1 -1
  564. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  565. package/dist/elements/SearchFilter/index.js +3 -1
  566. package/dist/elements/SearchFilter/index.js.map +1 -1
  567. package/dist/elements/SearchFilter/types.d.ts +1 -0
  568. package/dist/elements/SearchFilter/types.d.ts.map +1 -1
  569. package/dist/elements/SearchFilter/types.js.map +1 -1
  570. package/dist/elements/SelectAll/index.css +5 -0
  571. package/dist/elements/SelectAll/index.d.ts +1 -1
  572. package/dist/elements/SelectAll/index.d.ts.map +1 -1
  573. package/dist/elements/SelectAll/index.js +3 -2
  574. package/dist/elements/SelectAll/index.js.map +1 -1
  575. package/dist/elements/SelectMany/index.js +4 -4
  576. package/dist/elements/SelectMany/index.js.map +1 -1
  577. package/dist/elements/SelectRow/index.css +6 -0
  578. package/dist/elements/SelectRow/index.d.ts +1 -1
  579. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  580. package/dist/elements/SelectRow/index.js +3 -2
  581. package/dist/elements/SelectRow/index.js.map +1 -1
  582. package/dist/elements/SidebarToggle/index.css +45 -0
  583. package/dist/elements/SidebarToggle/index.d.ts +6 -0
  584. package/dist/elements/SidebarToggle/index.d.ts.map +1 -0
  585. package/dist/elements/SidebarToggle/index.js +53 -0
  586. package/dist/elements/SidebarToggle/index.js.map +1 -0
  587. package/dist/elements/SortColumn/index.css +92 -0
  588. package/dist/elements/SortColumn/index.d.ts +1 -1
  589. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  590. package/dist/elements/SortColumn/index.js +37 -31
  591. package/dist/elements/SortColumn/index.js.map +1 -1
  592. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  593. package/dist/elements/SortComplex/index.js +1 -2
  594. package/dist/elements/SortComplex/index.js.map +1 -1
  595. package/dist/elements/SortHeader/index.css +28 -0
  596. package/dist/elements/SortHeader/index.d.ts +1 -1
  597. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  598. package/dist/elements/SortHeader/index.js +32 -36
  599. package/dist/elements/SortHeader/index.js.map +1 -1
  600. package/dist/elements/SortRow/index.css +24 -0
  601. package/dist/elements/SortRow/index.d.ts +1 -1
  602. package/dist/elements/SortRow/index.d.ts.map +1 -1
  603. package/dist/elements/SortRow/index.js +2 -4
  604. package/dist/elements/SortRow/index.js.map +1 -1
  605. package/dist/elements/Spinner/index.css +2 -2
  606. package/dist/elements/Spinner/index.d.ts +6 -3
  607. package/dist/elements/Spinner/index.d.ts.map +1 -1
  608. package/dist/elements/Spinner/index.js +11 -12
  609. package/dist/elements/Spinner/index.js.map +1 -1
  610. package/dist/elements/Status/index.css +20 -0
  611. package/dist/elements/Status/index.d.ts +1 -1
  612. package/dist/elements/Status/index.d.ts.map +1 -1
  613. package/dist/elements/Status/index.js +3 -6
  614. package/dist/elements/Status/index.js.map +1 -1
  615. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  616. package/dist/elements/StayLoggedIn/index.js +1 -1
  617. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  618. package/dist/elements/StepNav/index.css +23 -28
  619. package/dist/elements/StepNav/index.d.ts +0 -7
  620. package/dist/elements/StepNav/index.d.ts.map +1 -1
  621. package/dist/elements/StepNav/index.js +55 -74
  622. package/dist/elements/StepNav/index.js.map +1 -1
  623. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.scss +11 -19
  624. package/dist/elements/Table/DefaultCell/fields/Code/index.scss +11 -20
  625. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  626. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +6 -6
  627. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  628. package/dist/elements/Table/DefaultCell/fields/Status/index.css +34 -0
  629. package/dist/elements/Table/DefaultCell/fields/Status/index.d.ts +6 -0
  630. package/dist/elements/Table/DefaultCell/fields/Status/index.d.ts.map +1 -0
  631. package/dist/elements/Table/DefaultCell/fields/Status/index.js +73 -0
  632. package/dist/elements/Table/DefaultCell/fields/Status/index.js.map +1 -0
  633. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -0
  634. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  635. package/dist/elements/Table/DefaultCell/fields/index.js +2 -0
  636. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  637. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  638. package/dist/elements/Table/DefaultCell/index.js +13 -0
  639. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  640. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  641. package/dist/elements/Table/OrderableRowDragPreview.d.ts.map +1 -1
  642. package/dist/elements/Table/OrderableTable.d.ts +1 -1
  643. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  644. package/dist/elements/Table/OrderableTable.js +1 -1
  645. package/dist/elements/Table/OrderableTable.js.map +1 -1
  646. package/dist/elements/Table/index.css +211 -0
  647. package/dist/elements/Table/index.d.ts +1 -1
  648. package/dist/elements/Table/index.d.ts.map +1 -1
  649. package/dist/elements/Table/index.js +2 -2
  650. package/dist/elements/Table/index.js.map +1 -1
  651. package/dist/elements/TableSection/index.css +60 -0
  652. package/dist/elements/TableSection/index.d.ts +24 -0
  653. package/dist/elements/TableSection/index.d.ts.map +1 -0
  654. package/dist/elements/TableSection/index.js +48 -0
  655. package/dist/elements/TableSection/index.js.map +1 -0
  656. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -1
  657. package/dist/elements/ThumbnailCard/index.css +34 -7
  658. package/dist/elements/TimezonePicker/index.css +165 -0
  659. package/dist/elements/TimezonePicker/index.d.ts +1 -1
  660. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  661. package/dist/elements/TimezonePicker/index.js +72 -7
  662. package/dist/elements/TimezonePicker/index.js.map +1 -1
  663. package/dist/elements/Tooltip/index.css +86 -44
  664. package/dist/elements/Tooltip/index.d.ts +1 -1
  665. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  666. package/dist/elements/Tooltip/index.js +42 -6
  667. package/dist/elements/Tooltip/index.js.map +1 -1
  668. package/dist/elements/TrashBanner/index.css +5 -0
  669. package/dist/elements/TrashBanner/index.d.ts +1 -1
  670. package/dist/elements/TrashBanner/index.d.ts.map +1 -1
  671. package/dist/elements/TrashBanner/index.js +9 -8
  672. package/dist/elements/TrashBanner/index.js.map +1 -1
  673. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  674. package/dist/elements/UnpublishMany/DrawerContent.js +1 -1
  675. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  676. package/dist/elements/Upload/index.css +167 -0
  677. package/dist/elements/Upload/index.d.ts +1 -1
  678. package/dist/elements/Upload/index.d.ts.map +1 -1
  679. package/dist/elements/Upload/index.js +3 -5
  680. package/dist/elements/Upload/index.js.map +1 -1
  681. package/dist/elements/WhereBuilder/Condition/Relationship/index.scss +1 -1
  682. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
  683. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js.map +1 -1
  684. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.d.ts.map +1 -1
  685. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  686. package/dist/elements/WhereBuilder/Condition/index.js +13 -11
  687. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  688. package/dist/elements/WhereBuilder/Condition/validOperators.d.ts.map +1 -1
  689. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  690. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  691. package/dist/elements/WhereBuilder/index.js +7 -9
  692. package/dist/elements/WhereBuilder/index.js.map +1 -1
  693. package/dist/elements/WhereBuilder/types.d.ts +2 -1
  694. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  695. package/dist/elements/WhereBuilder/types.js.map +1 -1
  696. package/dist/exports/client/{DatePicker-X7O6ABEK.js → DatePicker-PWCIGXJ7.js} +2 -2
  697. package/dist/exports/client/{chunk-DTWDMLJ6.js → chunk-4V3O4APT.js} +2 -2
  698. package/dist/exports/client/{chunk-DTWDMLJ6.js.map → chunk-4V3O4APT.js.map} +4 -4
  699. package/dist/exports/client/index.d.ts +25 -7
  700. package/dist/exports/client/index.d.ts.map +1 -1
  701. package/dist/exports/client/index.js +26 -26
  702. package/dist/exports/client/index.js.map +4 -4
  703. package/dist/exports/shared/index.js +3 -3
  704. package/dist/exports/shared/index.js.map +3 -3
  705. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  706. package/dist/fields/Array/ArrayRow.js +0 -1
  707. package/dist/fields/Array/ArrayRow.js.map +1 -1
  708. package/dist/fields/Array/index.d.ts +1 -1
  709. package/dist/fields/Array/index.js +2 -2
  710. package/dist/fields/Array/index.js.map +1 -1
  711. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  712. package/dist/fields/Blocks/BlockRow.js +0 -1
  713. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  714. package/dist/fields/Blocks/SectionTitle/index.css +1 -1
  715. package/dist/fields/Blocks/index.d.ts +1 -1
  716. package/dist/fields/Blocks/index.js +2 -2
  717. package/dist/fields/Blocks/index.js.map +1 -1
  718. package/dist/fields/Checkbox/Input.d.ts +7 -0
  719. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  720. package/dist/fields/Checkbox/Input.js +91 -55
  721. package/dist/fields/Checkbox/Input.js.map +1 -1
  722. package/dist/fields/Checkbox/index.css +89 -18
  723. package/dist/fields/Checkbox/index.d.ts +1 -1
  724. package/dist/fields/Code/index.css +2 -2
  725. package/dist/fields/Code/index.d.ts +1 -1
  726. package/dist/fields/Collapsible/index.d.ts +1 -1
  727. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  728. package/dist/fields/Collapsible/index.js +0 -1
  729. package/dist/fields/Collapsible/index.js.map +1 -1
  730. package/dist/fields/DateTime/index.css +1 -1
  731. package/dist/fields/DateTime/index.d.ts +1 -1
  732. package/dist/fields/Email/index.d.ts +1 -1
  733. package/dist/fields/FieldError/index.css +1 -1
  734. package/dist/fields/FieldLabel/index.css +5 -0
  735. package/dist/fields/Group/index.css +0 -2
  736. package/dist/fields/Group/index.d.ts +1 -1
  737. package/dist/fields/Group/index.d.ts.map +1 -1
  738. package/dist/fields/Group/index.js +0 -2
  739. package/dist/fields/Group/index.js.map +1 -1
  740. package/dist/fields/JSON/index.css +1 -1
  741. package/dist/fields/JSON/index.d.ts +1 -1
  742. package/dist/fields/Join/index.css +25 -0
  743. package/dist/fields/Join/index.d.ts +2 -1
  744. package/dist/fields/Join/index.d.ts.map +1 -1
  745. package/dist/fields/Join/index.js +25 -20
  746. package/dist/fields/Join/index.js.map +1 -1
  747. package/dist/fields/Number/Input.d.ts +5 -0
  748. package/dist/fields/Number/Input.d.ts.map +1 -0
  749. package/dist/fields/Number/Input.js +184 -0
  750. package/dist/fields/Number/Input.js.map +1 -0
  751. package/dist/fields/Number/index.d.ts +4 -1
  752. package/dist/fields/Number/index.d.ts.map +1 -1
  753. package/dist/fields/Number/index.js +28 -98
  754. package/dist/fields/Number/index.js.map +1 -1
  755. package/dist/fields/Number/types.d.ts +35 -0
  756. package/dist/fields/Number/types.d.ts.map +1 -0
  757. package/dist/fields/Number/types.js +2 -0
  758. package/dist/fields/Number/types.js.map +1 -0
  759. package/dist/fields/Point/index.d.ts +1 -1
  760. package/dist/fields/RadioGroup/Radio/index.css +1 -1
  761. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  762. package/dist/fields/Relationship/index.css +1 -1
  763. package/dist/fields/Relationship/index.d.ts +1 -1
  764. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  765. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  766. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  767. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +4 -19
  768. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  769. package/dist/fields/Relationship/select-components/SingleValue/index.css +1 -1
  770. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  771. package/dist/fields/Relationship/select-components/SingleValue/index.js +10 -20
  772. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  773. package/dist/fields/Row/index.css +2 -0
  774. package/dist/fields/Row/index.d.ts +1 -1
  775. package/dist/fields/Row/index.d.ts.map +1 -1
  776. package/dist/fields/Row/index.js +0 -1
  777. package/dist/fields/Row/index.js.map +1 -1
  778. package/dist/fields/Select/index.d.ts +1 -1
  779. package/dist/fields/Select/index.d.ts.map +1 -1
  780. package/dist/fields/Slug/index.d.ts.map +1 -1
  781. package/dist/fields/Slug/index.js +2 -4
  782. package/dist/fields/Slug/index.js.map +1 -1
  783. package/dist/fields/Tabs/index.d.ts +1 -1
  784. package/dist/fields/Text/index.d.ts +1 -1
  785. package/dist/fields/Text/index.d.ts.map +1 -1
  786. package/dist/fields/Textarea/index.css +1 -1
  787. package/dist/fields/Textarea/index.d.ts +1 -1
  788. package/dist/fields/Textarea/index.d.ts.map +1 -1
  789. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -1
  790. package/dist/fields/Upload/RelationshipContent/index.js +2 -4
  791. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  792. package/dist/fields/Upload/UploadCard/index.css +2 -2
  793. package/dist/fields/Upload/index.css +2 -1
  794. package/dist/fields/mergeFieldStyles.d.ts.map +1 -1
  795. package/dist/forms/Form/context.d.ts.map +1 -1
  796. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
  797. package/dist/forms/Form/index.d.ts.map +1 -1
  798. package/dist/forms/Form/index.js +1 -1
  799. package/dist/forms/Form/index.js.map +1 -1
  800. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  801. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
  802. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  803. package/dist/forms/Form/rows.d.ts.map +1 -1
  804. package/dist/forms/RenderFields/index.css +21 -33
  805. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  806. package/dist/forms/RenderFields/index.js +35 -40
  807. package/dist/forms/RenderFields/index.js.map +1 -1
  808. package/dist/forms/RenderFields/types.d.ts +0 -1
  809. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  810. package/dist/forms/RenderFields/types.js.map +1 -1
  811. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  812. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  813. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  814. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  815. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  816. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  817. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  818. package/dist/forms/useField/index.d.ts.map +1 -1
  819. package/dist/forms/withCondition/index.d.ts.map +1 -1
  820. package/dist/graphics/Account/index.d.ts.map +1 -1
  821. package/dist/graphics/Account/index.js +1 -1
  822. package/dist/graphics/Account/index.js.map +1 -1
  823. package/dist/graphics/Logo/index.d.ts.map +1 -1
  824. package/dist/graphics/Logo/index.js +33 -28
  825. package/dist/graphics/Logo/index.js.map +1 -1
  826. package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
  827. package/dist/hooks/useDelay.d.ts.map +1 -1
  828. package/dist/hooks/useHotkey.d.ts.map +1 -1
  829. package/dist/hooks/useIntersect.d.ts.map +1 -1
  830. package/dist/hooks/usePopupWindow.d.ts.map +1 -1
  831. package/dist/hooks/usePopupWindow.js +4 -0
  832. package/dist/hooks/usePopupWindow.js.map +1 -1
  833. package/dist/hooks/useRelatedCollections.d.ts.map +1 -1
  834. package/dist/hooks/useResize.d.ts.map +1 -1
  835. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  836. package/dist/icons/Chevron/index.d.ts +4 -14
  837. package/dist/icons/Chevron/index.d.ts.map +1 -1
  838. package/dist/icons/Chevron/index.js +19 -35
  839. package/dist/icons/Chevron/index.js.map +1 -1
  840. package/dist/icons/CircledX/index.js +1 -1
  841. package/dist/icons/CircledX/index.js.map +1 -1
  842. package/dist/icons/Clipboard/index.d.ts +1 -0
  843. package/dist/icons/Clipboard/index.d.ts.map +1 -1
  844. package/dist/icons/Clipboard/index.js +7 -4
  845. package/dist/icons/Clipboard/index.js.map +1 -1
  846. package/dist/icons/Collapse/index.d.ts +6 -0
  847. package/dist/icons/Collapse/index.d.ts.map +1 -0
  848. package/dist/icons/Collapse/index.js +22 -0
  849. package/dist/icons/Collapse/index.js.map +1 -0
  850. package/dist/icons/Document/index.d.ts +0 -2
  851. package/dist/icons/Document/index.d.ts.map +1 -1
  852. package/dist/icons/Document/index.js +5 -7
  853. package/dist/icons/Document/index.js.map +1 -1
  854. package/dist/icons/Edit/index.d.ts +1 -0
  855. package/dist/icons/Edit/index.d.ts.map +1 -1
  856. package/dist/icons/Edit/index.js +4 -3
  857. package/dist/icons/Edit/index.js.map +1 -1
  858. package/dist/icons/Error/index.css +11 -0
  859. package/dist/icons/Error/index.d.ts +7 -0
  860. package/dist/icons/Error/index.d.ts.map +1 -0
  861. package/dist/icons/Error/index.js +30 -0
  862. package/dist/icons/Error/index.js.map +1 -0
  863. package/dist/icons/Expand/index.d.ts +6 -0
  864. package/dist/icons/Expand/index.d.ts.map +1 -0
  865. package/dist/icons/Expand/index.js +22 -0
  866. package/dist/icons/Expand/index.js.map +1 -0
  867. package/dist/icons/Filter/index.css +9 -0
  868. package/dist/icons/Filter/index.d.ts +12 -2
  869. package/dist/icons/Filter/index.d.ts.map +1 -1
  870. package/dist/icons/Filter/index.js +62 -13
  871. package/dist/icons/Filter/index.js.map +1 -1
  872. package/dist/icons/Folder/index.d.ts +0 -2
  873. package/dist/icons/Folder/index.d.ts.map +1 -1
  874. package/dist/icons/Folder/index.js +4 -5
  875. package/dist/icons/Folder/index.js.map +1 -1
  876. package/dist/icons/Info/index.css +5 -0
  877. package/dist/icons/Info/index.d.ts +7 -0
  878. package/dist/icons/Info/index.d.ts.map +1 -0
  879. package/dist/icons/Info/index.js +22 -0
  880. package/dist/icons/Info/index.js.map +1 -0
  881. package/dist/icons/Language/index.css +5 -0
  882. package/dist/icons/Language/index.d.ts +11 -0
  883. package/dist/icons/Language/index.d.ts.map +1 -0
  884. package/dist/icons/Language/index.js +29 -0
  885. package/dist/icons/Language/index.js.map +1 -0
  886. package/dist/icons/Lock/index.js +1 -1
  887. package/dist/icons/Lock/index.js.map +1 -1
  888. package/dist/icons/Preview/index.d.ts +8 -0
  889. package/dist/icons/Preview/index.d.ts.map +1 -0
  890. package/dist/icons/Preview/index.js +40 -0
  891. package/dist/icons/Preview/index.js.map +1 -0
  892. package/dist/icons/Refresh/index.d.ts +1 -0
  893. package/dist/icons/Refresh/index.d.ts.map +1 -1
  894. package/dist/icons/Refresh/index.js +19 -9
  895. package/dist/icons/Refresh/index.js.map +1 -1
  896. package/dist/icons/Search/index.d.ts +4 -2
  897. package/dist/icons/Search/index.d.ts.map +1 -1
  898. package/dist/icons/Search/index.js +9 -5
  899. package/dist/icons/Search/index.js.map +1 -1
  900. package/dist/icons/Sidebar/index.css +5 -0
  901. package/dist/icons/Sidebar/index.d.ts +7 -0
  902. package/dist/icons/Sidebar/index.d.ts.map +1 -0
  903. package/dist/icons/Sidebar/index.js +28 -0
  904. package/dist/icons/Sidebar/index.js.map +1 -0
  905. package/dist/icons/Spinner/index.css +1 -0
  906. package/dist/icons/Spinner/index.d.ts +1 -1
  907. package/dist/icons/Spinner/index.d.ts.map +1 -1
  908. package/dist/icons/Spinner/index.js +16 -6
  909. package/dist/icons/Spinner/index.js.map +1 -1
  910. package/dist/icons/Success/index.css +11 -0
  911. package/dist/icons/Success/index.d.ts +7 -0
  912. package/dist/icons/Success/index.d.ts.map +1 -0
  913. package/dist/icons/Success/index.js +30 -0
  914. package/dist/icons/Success/index.js.map +1 -0
  915. package/dist/icons/Tag/index.css +4 -0
  916. package/dist/icons/Tag/index.d.ts +1 -3
  917. package/dist/icons/Tag/index.d.ts.map +1 -1
  918. package/dist/icons/Tag/index.js +3 -6
  919. package/dist/icons/Tag/index.js.map +1 -1
  920. package/dist/icons/Trash/index.d.ts +3 -3
  921. package/dist/icons/Trash/index.d.ts.map +1 -1
  922. package/dist/icons/Trash/index.js +11 -10
  923. package/dist/icons/Trash/index.js.map +1 -1
  924. package/dist/icons/Warning/index.css +11 -0
  925. package/dist/icons/Warning/index.d.ts +7 -0
  926. package/dist/icons/Warning/index.d.ts.map +1 -0
  927. package/dist/icons/Warning/index.js +30 -0
  928. package/dist/icons/Warning/index.js.map +1 -0
  929. package/dist/icons/X/index.js +5 -5
  930. package/dist/icons/X/index.js.map +1 -1
  931. package/dist/providers/Auth/index.d.ts.map +1 -1
  932. package/dist/providers/Auth/index.js +1 -1
  933. package/dist/providers/Auth/index.js.map +1 -1
  934. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  935. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  936. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  937. package/dist/providers/Hierarchy/index.js +4 -3
  938. package/dist/providers/Hierarchy/index.js.map +1 -1
  939. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  940. package/dist/providers/ListQuery/index.js +4 -2
  941. package/dist/providers/ListQuery/index.js.map +1 -1
  942. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  943. package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
  944. package/dist/providers/LivePreview/context.d.ts +7 -4
  945. package/dist/providers/LivePreview/context.d.ts.map +1 -1
  946. package/dist/providers/LivePreview/context.js +3 -3
  947. package/dist/providers/LivePreview/context.js.map +1 -1
  948. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  949. package/dist/providers/LivePreview/index.js +10 -24
  950. package/dist/providers/LivePreview/index.js.map +1 -1
  951. package/dist/providers/LivePreview/sizeReducer.d.ts.map +1 -1
  952. package/dist/providers/Locale/index.d.ts.map +1 -1
  953. package/dist/providers/Locale/index.js +1 -1
  954. package/dist/providers/Locale/index.js.map +1 -1
  955. package/dist/providers/Params/index.d.ts +3 -11
  956. package/dist/providers/Params/index.d.ts.map +1 -1
  957. package/dist/providers/Params/index.js +3 -11
  958. package/dist/providers/Params/index.js.map +1 -1
  959. package/dist/providers/Root/index.d.ts +2 -1
  960. package/dist/providers/Root/index.d.ts.map +1 -1
  961. package/dist/providers/Root/index.js +76 -72
  962. package/dist/providers/Root/index.js.map +1 -1
  963. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  964. package/dist/providers/RouteCache/index.js +1 -1
  965. package/dist/providers/RouteCache/index.js.map +1 -1
  966. package/dist/providers/RouteTransition/index.d.ts +1 -2
  967. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  968. package/dist/providers/RouteTransition/index.js +1 -2
  969. package/dist/providers/RouteTransition/index.js.map +1 -1
  970. package/dist/providers/RouterAdapter/index.d.ts +25 -0
  971. package/dist/providers/RouterAdapter/index.d.ts.map +1 -0
  972. package/dist/providers/RouterAdapter/index.js +43 -0
  973. package/dist/providers/RouterAdapter/index.js.map +1 -0
  974. package/dist/providers/SearchParams/index.d.ts +2 -10
  975. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  976. package/dist/providers/SearchParams/index.js +3 -11
  977. package/dist/providers/SearchParams/index.js.map +1 -1
  978. package/dist/providers/Selection/index.d.ts.map +1 -1
  979. package/dist/providers/Selection/index.js +1 -1
  980. package/dist/providers/Selection/index.js.map +1 -1
  981. package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -1
  982. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.d.ts.map +1 -1
  983. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -1
  984. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  985. package/dist/providers/TableColumns/buildColumnState/index.js +3 -1
  986. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  987. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  988. package/dist/providers/TableColumns/buildColumnState/renderCell.js +3 -6
  989. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  990. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -1
  991. package/dist/providers/TableColumns/index.d.ts.map +1 -1
  992. package/dist/providers/TableColumns/index.js +21 -1
  993. package/dist/providers/TableColumns/index.js.map +1 -1
  994. package/dist/providers/TableColumns/types.d.ts +1 -0
  995. package/dist/providers/TableColumns/types.d.ts.map +1 -1
  996. package/dist/providers/TableColumns/types.js.map +1 -1
  997. package/dist/providers/ToastContainer/index.js +8 -8
  998. package/dist/providers/ToastContainer/index.js.map +1 -1
  999. package/dist/providers/Translation/index.d.ts.map +1 -1
  1000. package/dist/providers/Translation/index.js +1 -1
  1001. package/dist/providers/Translation/index.js.map +1 -1
  1002. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  1003. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  1004. package/dist/scss/app.scss +7 -7
  1005. package/dist/scss/toasts.scss +1 -1
  1006. package/dist/scss/vars.scss +3 -3
  1007. package/dist/styles.css +1 -1
  1008. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  1009. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  1010. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  1011. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  1012. package/dist/utilities/buildFormState.d.ts.map +1 -1
  1013. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  1014. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  1015. package/dist/utilities/filterOutUploadFields.d.ts.map +1 -1
  1016. package/dist/utilities/findLocaleFromCode.d.ts.map +1 -1
  1017. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  1018. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  1019. package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts.map +1 -1
  1020. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
  1021. package/dist/utilities/formatFields.d.ts.map +1 -1
  1022. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  1023. package/dist/utilities/getColumns.d.ts.map +1 -1
  1024. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  1025. package/dist/utilities/getOffsetTop.d.ts.map +1 -1
  1026. package/dist/utilities/getRequestLanguage.d.ts +2 -2
  1027. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  1028. package/dist/utilities/getRequestLanguage.js.map +1 -1
  1029. package/dist/utilities/getSupportedMonacoLocale.d.ts.map +1 -1
  1030. package/dist/utilities/handleBackToDashboard.d.ts +2 -2
  1031. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -1
  1032. package/dist/utilities/handleBackToDashboard.js.map +1 -1
  1033. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  1034. package/dist/utilities/handleGoBack.d.ts +2 -2
  1035. package/dist/utilities/handleGoBack.d.ts.map +1 -1
  1036. package/dist/utilities/handleGoBack.js.map +1 -1
  1037. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  1038. package/dist/utilities/handlePreview.d.ts.map +1 -1
  1039. package/dist/utilities/handleStaleDataCheck.d.ts.map +1 -1
  1040. package/dist/utilities/handleTakeOver.d.ts.map +1 -1
  1041. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -1
  1042. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  1043. package/dist/utilities/isClientUserObject.d.ts.map +1 -1
  1044. package/dist/utilities/isEditing.d.ts.map +1 -1
  1045. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  1046. package/dist/utilities/parseSearchParams.d.ts +2 -3
  1047. package/dist/utilities/parseSearchParams.d.ts.map +1 -1
  1048. package/dist/utilities/parseSearchParams.js +1 -1
  1049. package/dist/utilities/parseSearchParams.js.map +1 -1
  1050. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  1051. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  1052. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  1053. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  1054. package/dist/utilities/renderTable.d.ts.map +1 -1
  1055. package/dist/utilities/renderTable.js +38 -28
  1056. package/dist/utilities/renderTable.js.map +1 -1
  1057. package/dist/utilities/resolveFilterOptions.d.ts.map +1 -1
  1058. package/dist/utilities/sanitizeFilterOptionsQuery.d.ts.map +1 -1
  1059. package/dist/utilities/scrollToID.d.ts.map +1 -1
  1060. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  1061. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  1062. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  1063. package/dist/views/Edit/Auth/APIKey.js +1 -1
  1064. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  1065. package/dist/views/Edit/Auth/index.scss +4 -4
  1066. package/dist/views/Edit/index.d.ts.map +1 -1
  1067. package/dist/views/Edit/index.js +5 -5
  1068. package/dist/views/Edit/index.js.map +1 -1
  1069. package/dist/views/HierarchyList/HierarchyListHeader/index.css +5 -0
  1070. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +2 -6
  1071. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  1072. package/dist/views/HierarchyList/HierarchyListHeader/index.js +32 -45
  1073. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  1074. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  1075. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +5 -7
  1076. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  1077. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +1 -3
  1078. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
  1079. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +229 -0
  1080. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +1 -1
  1081. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  1082. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +35 -21
  1083. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  1084. package/dist/views/HierarchyList/HierarchyTable/index.css +124 -0
  1085. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +1 -1
  1086. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  1087. package/dist/views/HierarchyList/HierarchyTable/index.js +145 -86
  1088. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  1089. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +1 -0
  1090. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  1091. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  1092. package/dist/views/HierarchyList/TypeFilter/index.d.ts +0 -1
  1093. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
  1094. package/dist/views/HierarchyList/TypeFilter/index.js +100 -32
  1095. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  1096. package/dist/views/HierarchyList/index.css +68 -0
  1097. package/dist/views/HierarchyList/index.d.ts +1 -1
  1098. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  1099. package/dist/views/HierarchyList/index.js +42 -30
  1100. package/dist/views/HierarchyList/index.js.map +1 -1
  1101. package/dist/views/List/GroupByHeader/index.css +1 -0
  1102. package/dist/views/List/GroupByHeader/index.d.ts +0 -1
  1103. package/dist/views/List/GroupByHeader/index.d.ts.map +1 -1
  1104. package/dist/views/List/GroupByHeader/index.js +9 -18
  1105. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  1106. package/dist/views/List/ListHeader/index.css +30 -0
  1107. package/dist/views/List/ListHeader/index.d.ts +1 -1
  1108. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  1109. package/dist/views/List/ListHeader/index.js +8 -11
  1110. package/dist/views/List/ListHeader/index.js.map +1 -1
  1111. package/dist/views/List/index.css +119 -0
  1112. package/dist/views/List/index.d.ts +1 -1
  1113. package/dist/views/List/index.d.ts.map +1 -1
  1114. package/dist/views/List/index.js +110 -122
  1115. package/dist/views/List/index.js.map +1 -1
  1116. package/dist/widgets/CollectionCards/index.css +84 -0
  1117. package/dist/widgets/CollectionCards/index.d.ts +1 -1
  1118. package/dist/widgets/CollectionCards/index.d.ts.map +1 -1
  1119. package/dist/widgets/CollectionCards/index.js +4 -6
  1120. package/dist/widgets/CollectionCards/index.js.map +1 -1
  1121. package/package.json +4 -5
  1122. package/dist/elements/BulkUpload/ActionsBar/index.scss +0 -62
  1123. package/dist/elements/BulkUpload/AddFilesView/index.scss +0 -30
  1124. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts +0 -8
  1125. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts.map +0 -1
  1126. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +0 -35
  1127. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +0 -1
  1128. package/dist/elements/BulkUpload/DrawerCloseButton/index.scss +0 -29
  1129. package/dist/elements/BulkUpload/FileSidebar/index.scss +0 -335
  1130. package/dist/elements/BulkUpload/Header/index.scss +0 -16
  1131. package/dist/elements/Card/index.scss +0 -72
  1132. package/dist/elements/CheckboxPopup/index.d.ts +0 -17
  1133. package/dist/elements/CheckboxPopup/index.d.ts.map +0 -1
  1134. package/dist/elements/CheckboxPopup/index.js +0 -41
  1135. package/dist/elements/CheckboxPopup/index.js.map +0 -1
  1136. package/dist/elements/CheckboxPopup/index.scss +0 -20
  1137. package/dist/elements/CloseModalButton/index.scss +0 -25
  1138. package/dist/elements/ConfirmationModal/index.scss +0 -40
  1139. package/dist/elements/CopyLocaleData/index.scss +0 -24
  1140. package/dist/elements/CopyToClipboard/index.scss +0 -19
  1141. package/dist/elements/DefaultListViewTabs/index.scss +0 -6
  1142. package/dist/elements/DeleteDocument/index.scss +0 -24
  1143. package/dist/elements/DocumentControls/index.scss +0 -261
  1144. package/dist/elements/DocumentDrawer/DrawerHeader/index.scss +0 -84
  1145. package/dist/elements/DocumentDrawer/index.scss +0 -23
  1146. package/dist/elements/DocumentFields/index.scss +0 -232
  1147. package/dist/elements/DocumentLocked/index.scss +0 -40
  1148. package/dist/elements/DocumentStaleData/index.scss +0 -34
  1149. package/dist/elements/DocumentTakeOver/index.scss +0 -39
  1150. package/dist/elements/DrawerActionHeader/index.scss +0 -24
  1151. package/dist/elements/DrawerContentContainer/index.scss +0 -6
  1152. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.scss +0 -24
  1153. package/dist/elements/EditUpload/index.scss +0 -228
  1154. package/dist/elements/FieldSelect/index.scss +0 -7
  1155. package/dist/elements/Gutter/index.scss +0 -21
  1156. package/dist/elements/Hamburger/index.d.ts +0 -7
  1157. package/dist/elements/Hamburger/index.d.ts.map +0 -1
  1158. package/dist/elements/Hamburger/index.js +0 -52
  1159. package/dist/elements/Hamburger/index.js.map +0 -1
  1160. package/dist/elements/Hamburger/index.scss +0 -46
  1161. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.scss +0 -63
  1162. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.scss +0 -103
  1163. package/dist/elements/Hierarchy/ColumnBrowser/index.scss +0 -20
  1164. package/dist/elements/Hierarchy/Drawer/index.scss +0 -80
  1165. package/dist/elements/IDLabel/index.scss +0 -15
  1166. package/dist/elements/ItemsDrawer/ItemSearch/index.scss +0 -38
  1167. package/dist/elements/ItemsDrawer/index.scss +0 -102
  1168. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +0 -4
  1169. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +0 -1
  1170. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +0 -22
  1171. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +0 -1
  1172. package/dist/elements/ListControls/index.scss +0 -31
  1173. package/dist/elements/ListHeader/index.scss +0 -48
  1174. package/dist/elements/ListSelection/index.scss +0 -33
  1175. package/dist/elements/LivePreview/Toggler/index.scss +0 -48
  1176. package/dist/elements/LivePreview/Toolbar/Controls/index.scss +0 -61
  1177. package/dist/elements/LivePreview/Toolbar/SizeInput/index.scss +0 -12
  1178. package/dist/elements/LivePreview/Toolbar/index.scss +0 -43
  1179. package/dist/elements/LivePreview/Window/index.scss +0 -48
  1180. package/dist/elements/Loading/index.scss +0 -138
  1181. package/dist/elements/Localizer/LocalizerLabel/index.d.ts +0 -7
  1182. package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +0 -1
  1183. package/dist/elements/Localizer/LocalizerLabel/index.js +0 -61
  1184. package/dist/elements/Localizer/LocalizerLabel/index.js.map +0 -1
  1185. package/dist/elements/Localizer/LocalizerLabel/index.scss +0 -56
  1186. package/dist/elements/Localizer/index.scss +0 -10
  1187. package/dist/elements/Locked/index.scss +0 -16
  1188. package/dist/elements/NoListResults/index.scss +0 -30
  1189. package/dist/elements/PageControls/index.scss +0 -40
  1190. package/dist/elements/Pagination/ClickableArrow/index.scss +0 -47
  1191. package/dist/elements/Pagination/Page/index.d.ts +0 -10
  1192. package/dist/elements/Pagination/Page/index.d.ts.map +0 -1
  1193. package/dist/elements/Pagination/Page/index.js +0 -21
  1194. package/dist/elements/Pagination/Page/index.js.map +0 -1
  1195. package/dist/elements/Pagination/Separator/index.d.ts +0 -3
  1196. package/dist/elements/Pagination/Separator/index.d.ts.map +0 -1
  1197. package/dist/elements/Pagination/Separator/index.js +0 -9
  1198. package/dist/elements/Pagination/Separator/index.js.map +0 -1
  1199. package/dist/elements/Pagination/index.scss +0 -52
  1200. package/dist/elements/PerPage/index.scss +0 -43
  1201. package/dist/elements/PillSelector/index.scss +0 -47
  1202. package/dist/elements/Popup/PopupDivider/index.scss +0 -11
  1203. package/dist/elements/Popup/PopupGroupLabel/index.scss +0 -11
  1204. package/dist/elements/PreviewButton/index.scss +0 -39
  1205. package/dist/elements/PublishButton/ScheduleDrawer/index.scss +0 -52
  1206. package/dist/elements/QueryPresets/QueryPresetBar/index.scss +0 -41
  1207. package/dist/elements/QueryPresets/QueryPresetToggler/index.d.ts +0 -8
  1208. package/dist/elements/QueryPresets/QueryPresetToggler/index.d.ts.map +0 -1
  1209. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +0 -100
  1210. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +0 -1
  1211. package/dist/elements/QueryPresets/QueryPresetToggler/index.scss +0 -61
  1212. package/dist/elements/RelationshipTable/cells/DrawerLink/index.scss +0 -16
  1213. package/dist/elements/RelationshipTable/index.scss +0 -54
  1214. package/dist/elements/RenderTitle/index.scss +0 -11
  1215. package/dist/elements/SearchBar/index.scss +0 -82
  1216. package/dist/elements/SearchFilter/index.scss +0 -40
  1217. package/dist/elements/SelectAll/index.scss +0 -7
  1218. package/dist/elements/SelectRow/index.scss +0 -8
  1219. package/dist/elements/SortColumn/index.scss +0 -73
  1220. package/dist/elements/SortHeader/index.scss +0 -52
  1221. package/dist/elements/SortRow/index.scss +0 -22
  1222. package/dist/elements/Spinner/index.scss +0 -18
  1223. package/dist/elements/Status/index.scss +0 -21
  1224. package/dist/elements/StickyToolbar/index.d.ts +0 -9
  1225. package/dist/elements/StickyToolbar/index.d.ts.map +0 -1
  1226. package/dist/elements/StickyToolbar/index.js +0 -14
  1227. package/dist/elements/StickyToolbar/index.js.map +0 -1
  1228. package/dist/elements/StickyToolbar/index.scss +0 -27
  1229. package/dist/elements/Table/index.scss +0 -145
  1230. package/dist/elements/TimezonePicker/index.scss +0 -52
  1231. package/dist/elements/TrashBanner/index.scss +0 -20
  1232. package/dist/elements/Upload/index.scss +0 -141
  1233. package/dist/icons/Document/index.css +0 -7
  1234. package/dist/icons/Filter/index.scss +0 -13
  1235. package/dist/icons/Folder/index.css +0 -8
  1236. package/dist/icons/Tag/index.scss +0 -14
  1237. package/dist/providers/ToastContainer/icons/Error.d.ts +0 -3
  1238. package/dist/providers/ToastContainer/icons/Error.d.ts.map +0 -1
  1239. package/dist/providers/ToastContainer/icons/Error.js +0 -23
  1240. package/dist/providers/ToastContainer/icons/Error.js.map +0 -1
  1241. package/dist/providers/ToastContainer/icons/Info.d.ts +0 -3
  1242. package/dist/providers/ToastContainer/icons/Info.d.ts.map +0 -1
  1243. package/dist/providers/ToastContainer/icons/Info.js +0 -23
  1244. package/dist/providers/ToastContainer/icons/Info.js.map +0 -1
  1245. package/dist/providers/ToastContainer/icons/Success.d.ts +0 -3
  1246. package/dist/providers/ToastContainer/icons/Success.d.ts.map +0 -1
  1247. package/dist/providers/ToastContainer/icons/Success.js +0 -23
  1248. package/dist/providers/ToastContainer/icons/Success.js.map +0 -1
  1249. package/dist/providers/ToastContainer/icons/Warning.d.ts +0 -3
  1250. package/dist/providers/ToastContainer/icons/Warning.d.ts.map +0 -1
  1251. package/dist/providers/ToastContainer/icons/Warning.js +0 -23
  1252. package/dist/providers/ToastContainer/icons/Warning.js.map +0 -1
  1253. package/dist/views/HierarchyList/HierarchyListHeader/index.scss +0 -9
  1254. package/dist/views/HierarchyList/HierarchyTable/SlotTable.scss +0 -214
  1255. package/dist/views/HierarchyList/HierarchyTable/index.scss +0 -136
  1256. package/dist/views/HierarchyList/TypeFilter/index.scss +0 -32
  1257. package/dist/views/HierarchyList/index.scss +0 -68
  1258. package/dist/views/List/GroupByHeader/index.scss +0 -17
  1259. package/dist/views/List/ListHeader/index.scss +0 -62
  1260. package/dist/views/List/index.scss +0 -145
  1261. package/dist/widgets/CollectionCards/index.scss +0 -70
  1262. /package/dist/exports/client/{DatePicker-X7O6ABEK.js.map → DatePicker-PWCIGXJ7.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","combineWhereConstraints","DEFAULT_HIERARCHY_TREE_LIMIT","formatAdminURL","qs","React","useCallback","useEffect","useImperativeHandle","useRef","useState","useEffectEvent","useAuth","useConfig","useTranslation","isSuperset","Spinner","Column","baseClass","HierarchyColumnBrowser","ancestorsWithSelections","baseFilter","disabledIds","filterByCollection","hierarchyCollectionSlug","initialExpandedPath","isLoadingPath","onCreateNew","onSelect","parentFieldName","ref","selectedIds","useAsTitle","i18n","permissions","config","routes","api","serverURL","getEntityConfig","collectionConfig","collectionSlug","hierarchyConfig","hierarchy","undefined","treeLimit","admin","collectionLabel","labels","singular","canCreate","Boolean","collections","create","columns","setColumns","expandedPath","setExpandedPath","containerRef","lastColumnRef","hasLoadedRef","fetchItems","page","parentId","parentWhere","exists","equals","where","collectionSpecific","typeFieldName","fieldName","length","allPossibleTypes","Object","keys","relatedCollections","and","or","in","not_in","whereWithBaseFilter","queryString","stringify","limit","sort","addQueryPrefix","url","apiRoute","path","response","fetch","credentials","ok","Error","data","json","allItems","docs","map","doc","id","allowedCollections","hasChildren","title","String","items","filter","item","hasNextPage","totalDocs","refreshColumn","columnIndex","findIndex","col","prev","updated","isLoading","loadColumns","parentIds","push","results","Promise","all","index","parentTitle","columnsWithTitles","prevColumn","parentItem","find","current","scrollIntoView","behavior","inline","handleExpand","itemId","column","i","newExpandedPath","slice","newColumns","targetIndex","handleLoadMore","nextPage","newItems","getPathToColumn","_jsxs","className","isLastColumn","expandedId","pathToColumn","_jsx","disabled","onExpand","onLoadMore"],"sources":["../../../../src/elements/Hierarchy/ColumnBrowser/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n combineWhereConstraints,\n DEFAULT_HIERARCHY_TREE_LIMIT,\n formatAdminURL,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react'\n\nimport type {\n ColumnItemData,\n ColumnState,\n HierarchyColumnBrowserProps,\n HierarchyColumnBrowserRef,\n} from './types.js'\n\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { isSuperset } from '../../../utilities/isSuperset.js'\nimport { Spinner } from '../../Spinner/index.js'\nimport { Column } from './Column/index.js'\nimport './index.scss'\n\nconst baseClass = 'hierarchy-column-browser'\n\nexport const HierarchyColumnBrowser = function HierarchyColumnBrowser({\n ancestorsWithSelections,\n baseFilter,\n disabledIds,\n filterByCollection,\n hierarchyCollectionSlug,\n initialExpandedPath,\n isLoadingPath,\n onCreateNew,\n onSelect,\n parentFieldName,\n ref,\n selectedIds,\n useAsTitle = 'id',\n}: { ref?: React.RefObject<HierarchyColumnBrowserRef | null> } & HierarchyColumnBrowserProps) {\n const { i18n } = useTranslation()\n const { permissions } = useAuth()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const hierarchyConfig =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT\n\n const collectionLabel = collectionConfig\n ? getTranslation(collectionConfig.labels?.singular || hierarchyCollectionSlug, i18n)\n : hierarchyCollectionSlug\n const canCreate = Boolean(permissions?.collections?.[hierarchyCollectionSlug]?.create)\n\n const [columns, setColumns] = useState<ColumnState[]>([])\n const [expandedPath, setExpandedPath] = useState<(number | string)[]>([])\n const containerRef = useRef<HTMLDivElement>(null)\n const lastColumnRef = useRef<HTMLDivElement>(null)\n const hasLoadedRef = useRef(false)\n\n const fetchItems = useCallback(\n async ({\n page,\n parentId,\n }: {\n page: number\n parentId: null | number | string\n }): Promise<{\n hasNextPage: boolean\n items: ColumnItemData[]\n totalDocs: number\n }> => {\n const parentWhere =\n parentId === null\n ? { [parentFieldName]: { exists: false } }\n : { [parentFieldName]: { equals: parentId } }\n\n // Build the final where clause, adding collectionSpecific filtering if configured\n let where: Record<string, unknown> = parentWhere\n\n // Filter by collection type if collectionSpecific is configured and filterByCollection is defined\n // - undefined: no filtering, show all folders\n // - [] empty: show all folders (no constraints)\n // - ['posts', ...]: show folders that allow ANY of these OR unrestricted\n // Note: Ideally we'd enforce ALL (superset) but hasMany enum fields in PG\n // do not support \"contains all\" queries easily\n if (hierarchyConfig?.collectionSpecific && filterByCollection !== undefined) {\n const typeFieldName = hierarchyConfig.collectionSpecific.fieldName\n\n if (filterByCollection.length > 0) {\n // Get all possible type field values from relatedCollections\n // This is used to detect \"unrestricted\" folders (empty allowedTypes array)\n const allPossibleTypes = Object.keys(hierarchyConfig.relatedCollections || {})\n\n where = {\n and: [\n parentWhere,\n {\n or: [\n // items that allow ANY of the selected collections\n { [typeFieldName]: { in: filterByCollection } },\n // OR items that are unrestricted (no type field exists)\n { [typeFieldName]: { exists: false } },\n // OR items with empty allowedTypes array (unrestricted)\n // Using not_in with all possible values matches empty arrays in both MongoDB and Postgres\n ...(allPossibleTypes.length > 0\n ? [{ [typeFieldName]: { not_in: allPossibleTypes } }]\n : []),\n ],\n },\n ],\n }\n } else {\n // Empty array: show all items of this parent\n where = parentWhere\n }\n }\n\n // Combine with baseFilter if provided\n const whereWithBaseFilter = combineWhereConstraints([where, baseFilter])\n\n const queryString = qs.stringify(\n { limit: treeLimit, page, sort: useAsTitle, where: whereWithBaseFilter },\n { addQueryPrefix: true },\n )\n\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${hierarchyCollectionSlug}${queryString}`,\n serverURL,\n })\n\n const response = await fetch(url, {\n credentials: 'include',\n })\n\n if (!response.ok) {\n throw new Error('Failed to fetch items')\n }\n\n const data = await response.json()\n\n const typeFieldName = hierarchyConfig?.collectionSpecific\n ? hierarchyConfig.collectionSpecific.fieldName\n : undefined\n\n const allItems: ColumnItemData[] = (data.docs || []).map(\n (doc: { id: number | string } & Record<string, unknown>) => ({\n id: doc.id,\n allowedCollections: typeFieldName\n ? (doc[typeFieldName] as string[] | undefined)\n : undefined,\n hasChildren: true, // Always allow expansion - empty children handled gracefully\n title: String(doc[useAsTitle] || doc.id),\n }),\n )\n\n // Client-side filter: only show items that are a superset of required collections\n // Server query uses ANY (due to PG limitations), but we want ALL (superset)\n const items =\n filterByCollection && filterByCollection.length > 0\n ? allItems.filter((item) => isSuperset(item.allowedCollections, filterByCollection))\n : allItems\n\n return {\n hasNextPage: data.hasNextPage || false,\n items,\n totalDocs: data.totalDocs || 0,\n }\n },\n [\n api,\n baseFilter,\n filterByCollection,\n hierarchyConfig,\n parentFieldName,\n serverURL,\n hierarchyCollectionSlug,\n treeLimit,\n useAsTitle,\n ],\n )\n\n const refreshColumn = useCallback(\n async (parentId: null | number | string) => {\n const columnIndex = columns.findIndex((col) => col.parentId === parentId)\n if (columnIndex === -1) {\n return\n }\n\n setColumns((prev) => {\n const updated = [...prev]\n updated[columnIndex] = { ...updated[columnIndex], isLoading: true }\n return updated\n })\n\n try {\n const { hasNextPage, items, totalDocs } = await fetchItems({ page: 1, parentId })\n\n setColumns((prev) => {\n const updated = [...prev]\n if (updated[columnIndex]) {\n updated[columnIndex] = {\n ...updated[columnIndex],\n hasNextPage,\n isLoading: false,\n items,\n page: 1,\n totalDocs,\n }\n }\n return updated\n })\n } catch {\n setColumns((prev) => {\n const updated = [...prev]\n if (updated[columnIndex]) {\n updated[columnIndex] = { ...updated[columnIndex], isLoading: false }\n }\n return updated\n })\n }\n },\n [columns, fetchItems],\n )\n\n useImperativeHandle(ref, () => ({ refreshColumn }), [refreshColumn])\n\n const loadColumns = useEffectEvent(async (path?: (number | string)[]) => {\n // Build list of parentIds to fetch: [null, ...path]\n const parentIds: (null | number | string)[] = [null]\n if (path?.length) {\n parentIds.push(...path)\n }\n\n // Set initial loading state for all columns\n setColumns(\n parentIds.map((parentId) => ({\n hasNextPage: false,\n isLoading: true,\n items: [],\n page: 1,\n parentId,\n totalDocs: 0,\n })),\n )\n\n // Set expanded path to match (excluding null/root)\n if (path?.length) {\n setExpandedPath(path)\n }\n\n // Fetch all columns in parallel\n const results = await Promise.all(\n parentIds.map(async (parentId, index) => {\n try {\n const { hasNextPage, items, totalDocs } = await fetchItems({ page: 1, parentId })\n let parentTitle: string | undefined\n if (index > 0 && parentId !== null) {\n // Will be filled in after all fetches complete\n }\n return {\n hasNextPage,\n isLoading: false,\n items,\n page: 1,\n parentId,\n parentTitle,\n totalDocs,\n }\n } catch {\n return {\n hasNextPage: false,\n isLoading: false,\n items: [],\n page: 1,\n parentId,\n parentTitle: undefined,\n totalDocs: 0,\n }\n }\n }),\n )\n\n // Fill in parent titles from previous columns\n const columnsWithTitles = results.map((col, index) => {\n if (index === 0 || col.parentId === null) {\n return col\n }\n const prevColumn = results[index - 1]\n const parentItem = prevColumn?.items.find((item) => item.id === col.parentId)\n return {\n ...col,\n parentTitle: parentItem?.title || String(col.parentId),\n }\n })\n\n setColumns(columnsWithTitles)\n })\n\n // Load columns on mount - wait for path loading to complete\n useEffect(() => {\n if (isLoadingPath || hasLoadedRef.current) {\n return\n }\n hasLoadedRef.current = true\n void loadColumns(initialExpandedPath)\n }, [initialExpandedPath, isLoadingPath])\n\n // Auto-scroll to the last column when columns change\n useEffect(() => {\n if (lastColumnRef.current && columns.length > 1) {\n lastColumnRef.current.scrollIntoView({ behavior: 'instant', inline: 'start' })\n }\n }, [columns.length])\n\n const handleExpand = useCallback(\n async ({ columnIndex, itemId }: { columnIndex: number; itemId: number | string }) => {\n const column = columns[columnIndex]\n if (!column) {\n return\n }\n\n const item = column.items.find((i) => i.id === itemId)\n if (!item) {\n return\n }\n\n // Update expanded path - keep path up to this column, add new item\n const newExpandedPath = [...expandedPath.slice(0, columnIndex), itemId]\n setExpandedPath(newExpandedPath)\n\n // Remove columns to the right and add new loading column\n const newColumns = columns.slice(0, columnIndex + 1)\n newColumns.push({\n hasNextPage: false,\n isLoading: true,\n items: [],\n page: 1,\n parentId: itemId,\n parentTitle: item.title,\n totalDocs: 0,\n })\n\n setColumns(newColumns)\n\n // Fetch children\n try {\n const { hasNextPage, items, totalDocs } = await fetchItems({ page: 1, parentId: itemId })\n\n setColumns((prev) => {\n const updated = [...prev]\n const targetIndex = columnIndex + 1\n\n if (updated[targetIndex]?.parentId === itemId) {\n updated[targetIndex] = {\n hasNextPage,\n isLoading: false,\n items,\n page: 1,\n parentId: itemId,\n parentTitle: item.title,\n totalDocs,\n }\n }\n\n return updated\n })\n } catch {\n setColumns((prev) => {\n const updated = [...prev]\n const targetIndex = columnIndex + 1\n\n if (updated[targetIndex]?.parentId === itemId) {\n updated[targetIndex] = {\n hasNextPage: false,\n isLoading: false,\n items: [],\n page: 1,\n parentId: itemId,\n parentTitle: item.title,\n totalDocs: 0,\n }\n }\n\n return updated\n })\n }\n },\n [columns, expandedPath, fetchItems],\n )\n\n const handleLoadMore = useCallback(\n async ({ columnIndex }: { columnIndex: number }) => {\n const column = columns[columnIndex]\n if (!column || column.isLoading || !column.hasNextPage) {\n return\n }\n\n const nextPage = column.page + 1\n\n // Set loading state\n setColumns((prev) => {\n const updated = [...prev]\n updated[columnIndex] = { ...updated[columnIndex], isLoading: true }\n return updated\n })\n\n try {\n const { hasNextPage, items: newItems } = await fetchItems({\n page: nextPage,\n parentId: column.parentId,\n })\n\n setColumns((prev) => {\n const updated = [...prev]\n\n if (updated[columnIndex]) {\n updated[columnIndex] = {\n ...updated[columnIndex],\n hasNextPage,\n isLoading: false,\n items: [...updated[columnIndex].items, ...newItems],\n page: nextPage,\n }\n }\n\n return updated\n })\n } catch {\n setColumns((prev) => {\n const updated = [...prev]\n\n if (updated[columnIndex]) {\n updated[columnIndex] = { ...updated[columnIndex], isLoading: false }\n }\n\n return updated\n })\n }\n },\n [columns, fetchItems],\n )\n\n // Build path for each column based on parent info\n const getPathToColumn = (columnIndex: number) => {\n const path: Array<{ id: number | string; title: string }> = []\n\n for (let i = 1; i <= columnIndex; i++) {\n const col = columns[i]\n if (col?.parentId !== null && col?.parentId !== undefined) {\n path.push({\n id: col.parentId,\n title: col.parentTitle || String(col.parentId),\n })\n }\n }\n\n return path\n }\n\n return (\n <div className={baseClass} ref={containerRef}>\n {columns.map((column, index) => {\n const isLastColumn = index === columns.length - 1 && !isLoadingPath\n const expandedId = expandedPath[index] ?? null\n const pathToColumn = getPathToColumn(index)\n\n return (\n <div\n className={`${baseClass}__column-wrapper`}\n key={`${column.parentId ?? 'root'}-${index}`}\n ref={isLastColumn ? lastColumnRef : undefined}\n >\n <Column\n ancestorsWithSelections={ancestorsWithSelections}\n canCreate={canCreate && Boolean(onCreateNew)}\n collectionLabel={collectionLabel}\n disabled={isLoadingPath}\n disabledIds={disabledIds}\n expandedId={expandedId}\n filterByCollection={filterByCollection}\n hasNextPage={column.hasNextPage}\n isLoading={column.isLoading}\n items={column.items}\n onCreateNew={onCreateNew || (() => {})}\n onExpand={({ id }) => handleExpand({ columnIndex: index, itemId: id })}\n onLoadMore={() => handleLoadMore({ columnIndex: index })}\n onSelect={onSelect}\n parentId={column.parentId}\n parentTitle={column.parentTitle}\n pathToColumn={pathToColumn}\n selectedIds={selectedIds}\n totalDocs={column.totalDocs}\n />\n </div>\n )\n })}\n {isLoadingPath && (\n <div className={`${baseClass}__column-wrapper ${baseClass}__column-wrapper--loading`}>\n <Spinner />\n </div>\n )}\n </div>\n )\n}\n\nexport type {\n ColumnItemData,\n HierarchyColumnBrowserProps,\n HierarchyColumnBrowserRef,\n PathSegment,\n} from './types.js'\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","combineWhereConstraints","DEFAULT_HIERARCHY_TREE_LIMIT","formatAdminURL","qs","React","useCallback","useEffect","useImperativeHandle","useRef","useState","useEffectEvent","useAuth","useConfig","useTranslation","isSuperset","Spinner","Column","baseClass","HierarchyColumnBrowser","ancestorsWithSelections","baseFilter","disabledIds","filterByCollection","hierarchyCollectionSlug","initialExpandedPath","isLoadingPath","onCreateNew","onSelect","parentFieldName","ref","selectedIds","useAsTitle","i18n","permissions","config","routes","api","serverURL","getEntityConfig","collectionConfig","collectionSlug","hierarchyConfig","hierarchy","undefined","treeLimit","admin","collectionLabel","labels","singular","canCreate","Boolean","collections","create","columns","setColumns","expandedPath","setExpandedPath","containerRef","lastColumnRef","hasLoadedRef","fetchItems","page","parentId","parentWhere","exists","equals","where","collectionSpecific","typeFieldName","fieldName","length","allPossibleTypes","Object","keys","relatedCollections","and","or","in","not_in","whereWithBaseFilter","queryString","stringify","limit","sort","addQueryPrefix","url","apiRoute","path","response","fetch","credentials","ok","Error","data","json","allItems","docs","map","doc","id","allowedCollections","hasChildren","title","String","items","filter","item","hasNextPage","totalDocs","refreshColumn","columnIndex","findIndex","col","prev","updated","isLoading","loadColumns","parentIds","push","results","Promise","all","index","parentTitle","columnsWithTitles","prevColumn","parentItem","find","current","scrollIntoView","behavior","inline","handleExpand","itemId","column","i","newExpandedPath","slice","newColumns","targetIndex","handleLoadMore","nextPage","newItems","getPathToColumn","_jsxs","className","isLastColumn","expandedId","pathToColumn","_jsx","disabled","onExpand","onLoadMore"],"sources":["../../../../src/elements/Hierarchy/ColumnBrowser/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n combineWhereConstraints,\n DEFAULT_HIERARCHY_TREE_LIMIT,\n formatAdminURL,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react'\n\nimport type {\n ColumnItemData,\n ColumnState,\n HierarchyColumnBrowserProps,\n HierarchyColumnBrowserRef,\n} from './types.js'\n\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { isSuperset } from '../../../utilities/isSuperset.js'\nimport { Spinner } from '../../Spinner/index.js'\nimport { Column } from './Column/index.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-column-browser'\n\nexport const HierarchyColumnBrowser = function HierarchyColumnBrowser({\n ancestorsWithSelections,\n baseFilter,\n disabledIds,\n filterByCollection,\n hierarchyCollectionSlug,\n initialExpandedPath,\n isLoadingPath,\n onCreateNew,\n onSelect,\n parentFieldName,\n ref,\n selectedIds,\n useAsTitle = 'id',\n}: { ref?: React.RefObject<HierarchyColumnBrowserRef | null> } & HierarchyColumnBrowserProps) {\n const { i18n } = useTranslation()\n const { permissions } = useAuth()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const hierarchyConfig =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT\n\n const collectionLabel = collectionConfig\n ? getTranslation(collectionConfig.labels?.singular || hierarchyCollectionSlug, i18n)\n : hierarchyCollectionSlug\n const canCreate = Boolean(permissions?.collections?.[hierarchyCollectionSlug]?.create)\n\n const [columns, setColumns] = useState<ColumnState[]>([])\n const [expandedPath, setExpandedPath] = useState<(number | string)[]>([])\n const containerRef = useRef<HTMLDivElement>(null)\n const lastColumnRef = useRef<HTMLDivElement>(null)\n const hasLoadedRef = useRef(false)\n\n const fetchItems = useCallback(\n async ({\n page,\n parentId,\n }: {\n page: number\n parentId: null | number | string\n }): Promise<{\n hasNextPage: boolean\n items: ColumnItemData[]\n totalDocs: number\n }> => {\n const parentWhere =\n parentId === null\n ? { [parentFieldName]: { exists: false } }\n : { [parentFieldName]: { equals: parentId } }\n\n // Build the final where clause, adding collectionSpecific filtering if configured\n let where: Record<string, unknown> = parentWhere\n\n // Filter by collection type if collectionSpecific is configured and filterByCollection is defined\n // - undefined: no filtering, show all folders\n // - [] empty: show all folders (no constraints)\n // - ['posts', ...]: show folders that allow ANY of these OR unrestricted\n // Note: Ideally we'd enforce ALL (superset) but hasMany enum fields in PG\n // do not support \"contains all\" queries easily\n if (hierarchyConfig?.collectionSpecific && filterByCollection !== undefined) {\n const typeFieldName = hierarchyConfig.collectionSpecific.fieldName\n\n if (filterByCollection.length > 0) {\n // Get all possible type field values from relatedCollections\n // This is used to detect \"unrestricted\" folders (empty allowedTypes array)\n const allPossibleTypes = Object.keys(hierarchyConfig.relatedCollections || {})\n\n where = {\n and: [\n parentWhere,\n {\n or: [\n // items that allow ANY of the selected collections\n { [typeFieldName]: { in: filterByCollection } },\n // OR items that are unrestricted (no type field exists)\n { [typeFieldName]: { exists: false } },\n // OR items with empty allowedTypes array (unrestricted)\n // Using not_in with all possible values matches empty arrays in both MongoDB and Postgres\n ...(allPossibleTypes.length > 0\n ? [{ [typeFieldName]: { not_in: allPossibleTypes } }]\n : []),\n ],\n },\n ],\n }\n } else {\n // Empty array: show all items of this parent\n where = parentWhere\n }\n }\n\n // Combine with baseFilter if provided\n const whereWithBaseFilter = combineWhereConstraints([where, baseFilter])\n\n const queryString = qs.stringify(\n { limit: treeLimit, page, sort: useAsTitle, where: whereWithBaseFilter },\n { addQueryPrefix: true },\n )\n\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${hierarchyCollectionSlug}${queryString}`,\n serverURL,\n })\n\n const response = await fetch(url, {\n credentials: 'include',\n })\n\n if (!response.ok) {\n throw new Error('Failed to fetch items')\n }\n\n const data = await response.json()\n\n const typeFieldName = hierarchyConfig?.collectionSpecific\n ? hierarchyConfig.collectionSpecific.fieldName\n : undefined\n\n const allItems: ColumnItemData[] = (data.docs || []).map(\n (doc: { id: number | string } & Record<string, unknown>) => ({\n id: doc.id,\n allowedCollections: typeFieldName\n ? (doc[typeFieldName] as string[] | undefined)\n : undefined,\n hasChildren: true, // Always allow expansion - empty children handled gracefully\n title: String(doc[useAsTitle] || doc.id),\n }),\n )\n\n // Client-side filter: only show items that are a superset of required collections\n // Server query uses ANY (due to PG limitations), but we want ALL (superset)\n const items =\n filterByCollection && filterByCollection.length > 0\n ? allItems.filter((item) => isSuperset(item.allowedCollections, filterByCollection))\n : allItems\n\n return {\n hasNextPage: data.hasNextPage || false,\n items,\n totalDocs: data.totalDocs || 0,\n }\n },\n [\n api,\n baseFilter,\n filterByCollection,\n hierarchyConfig,\n parentFieldName,\n serverURL,\n hierarchyCollectionSlug,\n treeLimit,\n useAsTitle,\n ],\n )\n\n const refreshColumn = useCallback(\n async (parentId: null | number | string) => {\n const columnIndex = columns.findIndex((col) => col.parentId === parentId)\n if (columnIndex === -1) {\n return\n }\n\n setColumns((prev) => {\n const updated = [...prev]\n updated[columnIndex] = { ...updated[columnIndex], isLoading: true }\n return updated\n })\n\n try {\n const { hasNextPage, items, totalDocs } = await fetchItems({ page: 1, parentId })\n\n setColumns((prev) => {\n const updated = [...prev]\n if (updated[columnIndex]) {\n updated[columnIndex] = {\n ...updated[columnIndex],\n hasNextPage,\n isLoading: false,\n items,\n page: 1,\n totalDocs,\n }\n }\n return updated\n })\n } catch {\n setColumns((prev) => {\n const updated = [...prev]\n if (updated[columnIndex]) {\n updated[columnIndex] = { ...updated[columnIndex], isLoading: false }\n }\n return updated\n })\n }\n },\n [columns, fetchItems],\n )\n\n useImperativeHandle(ref, () => ({ refreshColumn }), [refreshColumn])\n\n const loadColumns = useEffectEvent(async (path?: (number | string)[]) => {\n // Build list of parentIds to fetch: [null, ...path]\n const parentIds: (null | number | string)[] = [null]\n if (path?.length) {\n parentIds.push(...path)\n }\n\n // Set initial loading state for all columns\n setColumns(\n parentIds.map((parentId) => ({\n hasNextPage: false,\n isLoading: true,\n items: [],\n page: 1,\n parentId,\n totalDocs: 0,\n })),\n )\n\n // Set expanded path to match (excluding null/root)\n if (path?.length) {\n setExpandedPath(path)\n }\n\n // Fetch all columns in parallel\n const results = await Promise.all(\n parentIds.map(async (parentId, index) => {\n try {\n const { hasNextPage, items, totalDocs } = await fetchItems({ page: 1, parentId })\n let parentTitle: string | undefined\n if (index > 0 && parentId !== null) {\n // Will be filled in after all fetches complete\n }\n return {\n hasNextPage,\n isLoading: false,\n items,\n page: 1,\n parentId,\n parentTitle,\n totalDocs,\n }\n } catch {\n return {\n hasNextPage: false,\n isLoading: false,\n items: [],\n page: 1,\n parentId,\n parentTitle: undefined,\n totalDocs: 0,\n }\n }\n }),\n )\n\n // Fill in parent titles from previous columns\n const columnsWithTitles = results.map((col, index) => {\n if (index === 0 || col.parentId === null) {\n return col\n }\n const prevColumn = results[index - 1]\n const parentItem = prevColumn?.items.find((item) => item.id === col.parentId)\n return {\n ...col,\n parentTitle: parentItem?.title || String(col.parentId),\n }\n })\n\n setColumns(columnsWithTitles)\n })\n\n // Load columns on mount - wait for path loading to complete\n useEffect(() => {\n if (isLoadingPath || hasLoadedRef.current) {\n return\n }\n hasLoadedRef.current = true\n void loadColumns(initialExpandedPath)\n }, [initialExpandedPath, isLoadingPath])\n\n // Auto-scroll to the last column when columns change\n useEffect(() => {\n if (lastColumnRef.current && columns.length > 1) {\n lastColumnRef.current.scrollIntoView({ behavior: 'instant', inline: 'start' })\n }\n }, [columns.length])\n\n const handleExpand = useCallback(\n async ({ columnIndex, itemId }: { columnIndex: number; itemId: number | string }) => {\n const column = columns[columnIndex]\n if (!column) {\n return\n }\n\n const item = column.items.find((i) => i.id === itemId)\n if (!item) {\n return\n }\n\n // Update expanded path - keep path up to this column, add new item\n const newExpandedPath = [...expandedPath.slice(0, columnIndex), itemId]\n setExpandedPath(newExpandedPath)\n\n // Remove columns to the right and add new loading column\n const newColumns = columns.slice(0, columnIndex + 1)\n newColumns.push({\n hasNextPage: false,\n isLoading: true,\n items: [],\n page: 1,\n parentId: itemId,\n parentTitle: item.title,\n totalDocs: 0,\n })\n\n setColumns(newColumns)\n\n // Fetch children\n try {\n const { hasNextPage, items, totalDocs } = await fetchItems({ page: 1, parentId: itemId })\n\n setColumns((prev) => {\n const updated = [...prev]\n const targetIndex = columnIndex + 1\n\n if (updated[targetIndex]?.parentId === itemId) {\n updated[targetIndex] = {\n hasNextPage,\n isLoading: false,\n items,\n page: 1,\n parentId: itemId,\n parentTitle: item.title,\n totalDocs,\n }\n }\n\n return updated\n })\n } catch {\n setColumns((prev) => {\n const updated = [...prev]\n const targetIndex = columnIndex + 1\n\n if (updated[targetIndex]?.parentId === itemId) {\n updated[targetIndex] = {\n hasNextPage: false,\n isLoading: false,\n items: [],\n page: 1,\n parentId: itemId,\n parentTitle: item.title,\n totalDocs: 0,\n }\n }\n\n return updated\n })\n }\n },\n [columns, expandedPath, fetchItems],\n )\n\n const handleLoadMore = useCallback(\n async ({ columnIndex }: { columnIndex: number }) => {\n const column = columns[columnIndex]\n if (!column || column.isLoading || !column.hasNextPage) {\n return\n }\n\n const nextPage = column.page + 1\n\n // Set loading state\n setColumns((prev) => {\n const updated = [...prev]\n updated[columnIndex] = { ...updated[columnIndex], isLoading: true }\n return updated\n })\n\n try {\n const { hasNextPage, items: newItems } = await fetchItems({\n page: nextPage,\n parentId: column.parentId,\n })\n\n setColumns((prev) => {\n const updated = [...prev]\n\n if (updated[columnIndex]) {\n updated[columnIndex] = {\n ...updated[columnIndex],\n hasNextPage,\n isLoading: false,\n items: [...updated[columnIndex].items, ...newItems],\n page: nextPage,\n }\n }\n\n return updated\n })\n } catch {\n setColumns((prev) => {\n const updated = [...prev]\n\n if (updated[columnIndex]) {\n updated[columnIndex] = { ...updated[columnIndex], isLoading: false }\n }\n\n return updated\n })\n }\n },\n [columns, fetchItems],\n )\n\n // Build path for each column based on parent info\n const getPathToColumn = (columnIndex: number) => {\n const path: Array<{ id: number | string; title: string }> = []\n\n for (let i = 1; i <= columnIndex; i++) {\n const col = columns[i]\n if (col?.parentId !== null && col?.parentId !== undefined) {\n path.push({\n id: col.parentId,\n title: col.parentTitle || String(col.parentId),\n })\n }\n }\n\n return path\n }\n\n return (\n <div className={baseClass} ref={containerRef}>\n {columns.map((column, index) => {\n const isLastColumn = index === columns.length - 1 && !isLoadingPath\n const expandedId = expandedPath[index] ?? null\n const pathToColumn = getPathToColumn(index)\n\n return (\n <div\n className={`${baseClass}__column-wrapper`}\n key={`${column.parentId ?? 'root'}-${index}`}\n ref={isLastColumn ? lastColumnRef : undefined}\n >\n <Column\n ancestorsWithSelections={ancestorsWithSelections}\n canCreate={canCreate && Boolean(onCreateNew)}\n collectionLabel={collectionLabel}\n disabled={isLoadingPath}\n disabledIds={disabledIds}\n expandedId={expandedId}\n filterByCollection={filterByCollection}\n hasNextPage={column.hasNextPage}\n isLoading={column.isLoading}\n items={column.items}\n onCreateNew={onCreateNew || (() => {})}\n onExpand={({ id }) => handleExpand({ columnIndex: index, itemId: id })}\n onLoadMore={() => handleLoadMore({ columnIndex: index })}\n onSelect={onSelect}\n parentId={column.parentId}\n parentTitle={column.parentTitle}\n pathToColumn={pathToColumn}\n selectedIds={selectedIds}\n totalDocs={column.totalDocs}\n />\n </div>\n )\n })}\n {isLoadingPath && (\n <div className={`${baseClass}__column-wrapper ${baseClass}__column-wrapper--loading`}>\n <Spinner />\n </div>\n )}\n </div>\n )\n}\n\nexport type {\n ColumnItemData,\n HierarchyColumnBrowserProps,\n HierarchyColumnBrowserRef,\n PathSegment,\n} from './types.js'\n"],"mappings":"AAAA;;;AACA,SAASA,cAAc,QAAQ;AAC/B,SACEC,uBAAuB,EACvBC,4BAA4B,EAC5BC,cAAc,QACT;AACP,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,mBAAmB,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AASrF,SAASC,cAAc,QAAQ;AAC/B,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,OAAO,QAAQ;AACxB,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,sBAAA,GAAyB,SAASA,uBAAuB;EACpEC,uBAAuB;EACvBC,UAAU;EACVC,WAAW;EACXC,kBAAkB;EAClBC,uBAAuB;EACvBC,mBAAmB;EACnBC,aAAa;EACbC,WAAW;EACXC,QAAQ;EACRC,eAAe;EACfC,GAAG;EACHC,WAAW;EACXC,UAAA,GAAa;AAAI,CACyE;EAC1F,MAAM;IAAEC;EAAI,CAAE,GAAGnB,cAAA;EACjB,MAAM;IAAEoB;EAAW,CAAE,GAAGtB,OAAA;EACxB,MAAM;IACJuB,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC;MAAG,CAAE;MACfC;IAAS,CACV;IACDC;EAAe,CAChB,GAAG1B,SAAA;EAEJ,MAAM2B,gBAAA,GAAmBD,eAAA,CAAgB;IAAEE,cAAA,EAAgBjB;EAAwB;EACnF,MAAMkB,eAAA,GACJF,gBAAA,EAAkBG,SAAA,IAAa,OAAOH,gBAAA,CAAiBG,SAAS,KAAK,WACjEH,gBAAA,CAAiBG,SAAS,GAC1BC,SAAA;EACN,MAAMC,SAAA,GAAYH,eAAA,EAAiBI,KAAA,EAAOD,SAAA,IAAa3C,4BAAA;EAEvD,MAAM6C,eAAA,GAAkBP,gBAAA,GACpBxC,cAAA,CAAewC,gBAAA,CAAiBQ,MAAM,EAAEC,QAAA,IAAYzB,uBAAA,EAAyBS,IAAA,IAC7ET,uBAAA;EACJ,MAAM0B,SAAA,GAAYC,OAAA,CAAQjB,WAAA,EAAakB,WAAA,GAAc5B,uBAAA,CAAwB,EAAE6B,MAAA;EAE/E,MAAM,CAACC,OAAA,EAASC,UAAA,CAAW,GAAG7C,QAAA,CAAwB,EAAE;EACxD,MAAM,CAAC8C,YAAA,EAAcC,eAAA,CAAgB,GAAG/C,QAAA,CAA8B,EAAE;EACxE,MAAMgD,YAAA,GAAejD,MAAA,CAAuB;EAC5C,MAAMkD,aAAA,GAAgBlD,MAAA,CAAuB;EAC7C,MAAMmD,YAAA,GAAenD,MAAA,CAAO;EAE5B,MAAMoD,UAAA,GAAavD,WAAA,CACjB,OAAO;IACLwD,IAAI;IACJC;EAAQ,CAIT;IAKC,MAAMC,WAAA,GACJD,QAAA,KAAa,OACT;MAAE,CAAClC,eAAA,GAAkB;QAAEoC,MAAA,EAAQ;MAAM;IAAE,IACvC;MAAE,CAACpC,eAAA,GAAkB;QAAEqC,MAAA,EAAQH;MAAS;IAAE;IAEhD;IACA,IAAII,KAAA,GAAiCH,WAAA;IAErC;IACA;IACA;IACA;IACA;IACA;IACA,IAAItB,eAAA,EAAiB0B,kBAAA,IAAsB7C,kBAAA,KAAuBqB,SAAA,EAAW;MAC3E,MAAMyB,aAAA,GAAgB3B,eAAA,CAAgB0B,kBAAkB,CAACE,SAAS;MAElE,IAAI/C,kBAAA,CAAmBgD,MAAM,GAAG,GAAG;QACjC;QACA;QACA,MAAMC,gBAAA,GAAmBC,MAAA,CAAOC,IAAI,CAAChC,eAAA,CAAgBiC,kBAAkB,IAAI,CAAC;QAE5ER,KAAA,GAAQ;UACNS,GAAA,EAAK,CACHZ,WAAA,EACA;YACEa,EAAA,EAAI;YACF;YACA;cAAE,CAACR,aAAA,GAAgB;gBAAES,EAAA,EAAIvD;cAAmB;YAAE;YAC9C;YACA;cAAE,CAAC8C,aAAA,GAAgB;gBAAEJ,MAAA,EAAQ;cAAM;YAAE;YACrC;YACA;gBACIO,gBAAA,CAAiBD,MAAM,GAAG,IAC1B,CAAC;cAAE,CAACF,aAAA,GAAgB;gBAAEU,MAAA,EAAQP;cAAiB;YAAE,EAAE,GACnD,EAAE;UAEV;QAEJ;MACF,OAAO;QACL;QACAL,KAAA,GAAQH,WAAA;MACV;IACF;IAEA;IACA,MAAMgB,mBAAA,GAAsB/E,uBAAA,CAAwB,CAACkE,KAAA,EAAO9C,UAAA,CAAW;IAEvE,MAAM4D,WAAA,GAAc7E,EAAA,CAAG8E,SAAS,CAC9B;MAAEC,KAAA,EAAOtC,SAAA;MAAWiB,IAAA;MAAMsB,IAAA,EAAMpD,UAAA;MAAYmC,KAAA,EAAOa;IAAoB,GACvE;MAAEK,cAAA,EAAgB;IAAK;IAGzB,MAAMC,GAAA,GAAMnF,cAAA,CAAe;MACzBoF,QAAA,EAAUlD,GAAA;MACVmD,IAAA,EAAM,IAAIhE,uBAAA,GAA0ByD,WAAA,EAAa;MACjD3C;IACF;IAEA,MAAMmD,QAAA,GAAW,MAAMC,KAAA,CAAMJ,GAAA,EAAK;MAChCK,WAAA,EAAa;IACf;IAEA,IAAI,CAACF,QAAA,CAASG,EAAE,EAAE;MAChB,MAAM,IAAIC,KAAA,CAAM;IAClB;IAEA,MAAMC,IAAA,GAAO,MAAML,QAAA,CAASM,IAAI;IAEhC,MAAM1B,eAAA,GAAgB3B,eAAA,EAAiB0B,kBAAA,GACnC1B,eAAA,CAAgB0B,kBAAkB,CAACE,SAAS,GAC5C1B,SAAA;IAEJ,MAAMoD,QAAA,GAA6B,CAACF,IAAA,CAAKG,IAAI,IAAI,EAAE,EAAEC,GAAG,CACrDC,GAAA,KAA4D;MAC3DC,EAAA,EAAID,GAAA,CAAIC,EAAE;MACVC,kBAAA,EAAoBhC,eAAA,GACf8B,GAAG,CAAC9B,eAAA,CAAc,GACnBzB,SAAA;MACJ0D,WAAA,EAAa;MACbC,KAAA,EAAOC,MAAA,CAAOL,GAAG,CAACnE,UAAA,CAAW,IAAImE,GAAA,CAAIC,EAAE;IACzC;IAGF;IACA;IACA,MAAMK,KAAA,GACJlF,kBAAA,IAAsBA,kBAAA,CAAmBgD,MAAM,GAAG,IAC9CyB,QAAA,CAASU,MAAM,CAAEC,IAAA,IAAS5F,UAAA,CAAW4F,IAAA,CAAKN,kBAAkB,EAAE9E,kBAAA,KAC9DyE,QAAA;IAEN,OAAO;MACLY,WAAA,EAAad,IAAA,CAAKc,WAAW,IAAI;MACjCH,KAAA;MACAI,SAAA,EAAWf,IAAA,CAAKe,SAAS,IAAI;IAC/B;EACF,GACA,CACExE,GAAA,EACAhB,UAAA,EACAE,kBAAA,EACAmB,eAAA,EACAb,eAAA,EACAS,SAAA,EACAd,uBAAA,EACAqB,SAAA,EACAb,UAAA,CACD;EAGH,MAAM8E,aAAA,GAAgBxG,WAAA,CACpB,MAAOyD,UAAA;IACL,MAAMgD,WAAA,GAAczD,OAAA,CAAQ0D,SAAS,CAAEC,GAAA,IAAQA,GAAA,CAAIlD,QAAQ,KAAKA,UAAA;IAChE,IAAIgD,WAAA,KAAgB,CAAC,GAAG;MACtB;IACF;IAEAxD,UAAA,CAAY2D,IAAA;MACV,MAAMC,OAAA,GAAU,C,GAAID,IAAA,CAAK;MACzBC,OAAO,CAACJ,WAAA,CAAY,GAAG;QAAE,GAAGI,OAAO,CAACJ,WAAA,CAAY;QAAEK,SAAA,EAAW;MAAK;MAClE,OAAOD,OAAA;IACT;IAEA,IAAI;MACF,MAAM;QAAEP,WAAW;QAAEH,KAAK,EAALA,OAAK;QAAEI;MAAS,CAAE,GAAG,MAAMhD,UAAA,CAAW;QAAEC,IAAA,EAAM;QAAGC,QAAA,EAAAA;MAAS;MAE/ER,UAAA,CAAY2D,MAAA;QACV,MAAMC,SAAA,GAAU,C,GAAID,MAAA,CAAK;QACzB,IAAIC,SAAO,CAACJ,WAAA,CAAY,EAAE;UACxBI,SAAO,CAACJ,WAAA,CAAY,GAAG;YACrB,GAAGI,SAAO,CAACJ,WAAA,CAAY;YACvBH,WAAA;YACAQ,SAAA,EAAW;YACXX,KAAA,EAAAA,OAAA;YACA3C,IAAA,EAAM;YACN+C;UACF;QACF;QACA,OAAOM,SAAA;MACT;IACF,EAAE,MAAM;MACN5D,UAAA,CAAY2D,MAAA;QACV,MAAMC,SAAA,GAAU,C,GAAID,MAAA,CAAK;QACzB,IAAIC,SAAO,CAACJ,WAAA,CAAY,EAAE;UACxBI,SAAO,CAACJ,WAAA,CAAY,GAAG;YAAE,GAAGI,SAAO,CAACJ,WAAA,CAAY;YAAEK,SAAA,EAAW;UAAM;QACrE;QACA,OAAOD,SAAA;MACT;IACF;EACF,GACA,CAAC7D,OAAA,EAASO,UAAA,CAAW;EAGvBrD,mBAAA,CAAoBsB,GAAA,EAAK,OAAO;IAAEgF;EAAc,IAAI,CAACA,aAAA,CAAc;EAEnE,MAAMO,WAAA,GAAc1G,cAAA,CAAe,MAAO6E,IAAA;IACxC;IACA,MAAM8B,SAAA,GAAwC,CAAC,KAAK;IACpD,IAAI9B,IAAA,EAAMjB,MAAA,EAAQ;MAChB+C,SAAA,CAAUC,IAAI,IAAI/B,IAAA;IACpB;IAEA;IACAjC,UAAA,CACE+D,SAAA,CAAUpB,GAAG,CAAEnC,UAAA,KAAc;MAC3B6C,WAAA,EAAa;MACbQ,SAAA,EAAW;MACXX,KAAA,EAAO,EAAE;MACT3C,IAAA,EAAM;MACNC,QAAA,EAAAA,UAAA;MACA8C,SAAA,EAAW;IACb;IAGF;IACA,IAAIrB,IAAA,EAAMjB,MAAA,EAAQ;MAChBd,eAAA,CAAgB+B,IAAA;IAClB;IAEA;IACA,MAAMgC,OAAA,GAAU,MAAMC,OAAA,CAAQC,GAAG,CAC/BJ,SAAA,CAAUpB,GAAG,CAAC,OAAOnC,UAAA,EAAU4D,KAAA;MAC7B,IAAI;QACF,MAAM;UAAEf,WAAW,EAAXA,aAAW;UAAEH,KAAK,EAALA,OAAK;UAAEI,SAAS,EAATA;QAAS,CAAE,GAAG,MAAMhD,UAAA,CAAW;UAAEC,IAAA,EAAM;UAAGC,QAAA,EAAAA;QAAS;QAC/E,IAAI6D,WAAA;QACJ,IAAID,KAAA,GAAQ,KAAK5D,UAAA,KAAa,MAAM;UAClC;QAAA;QAEF,OAAO;UACL6C,WAAA,EAAAA,aAAA;UACAQ,SAAA,EAAW;UACXX,KAAA,EAAAA,OAAA;UACA3C,IAAA,EAAM;UACNC,QAAA,EAAAA,UAAA;UACA6D,WAAA;UACAf,SAAA,EAAAA;QACF;MACF,EAAE,MAAM;QACN,OAAO;UACLD,WAAA,EAAa;UACbQ,SAAA,EAAW;UACXX,KAAA,EAAO,EAAE;UACT3C,IAAA,EAAM;UACNC,QAAA,EAAAA,UAAA;UACA6D,WAAA,EAAahF,SAAA;UACbiE,SAAA,EAAW;QACb;MACF;IACF;IAGF;IACA,MAAMgB,iBAAA,GAAoBL,OAAA,CAAQtB,GAAG,CAAC,CAACe,KAAA,EAAKU,OAAA;MAC1C,IAAIA,OAAA,KAAU,KAAKV,KAAA,CAAIlD,QAAQ,KAAK,MAAM;QACxC,OAAOkD,KAAA;MACT;MACA,MAAMa,UAAA,GAAaN,OAAO,CAACG,OAAA,GAAQ,EAAE;MACrC,MAAMI,UAAA,GAAaD,UAAA,EAAYrB,KAAA,CAAMuB,IAAA,CAAMrB,MAAA,IAASA,MAAA,CAAKP,EAAE,KAAKa,KAAA,CAAIlD,QAAQ;MAC5E,OAAO;QACL,GAAGkD,KAAG;QACNW,WAAA,EAAaG,UAAA,EAAYxB,KAAA,IAASC,MAAA,CAAOS,KAAA,CAAIlD,QAAQ;MACvD;IACF;IAEAR,UAAA,CAAWsE,iBAAA;EACb;EAEA;EACAtH,SAAA,CAAU;IACR,IAAImB,aAAA,IAAiBkC,YAAA,CAAaqE,OAAO,EAAE;MACzC;IACF;IACArE,YAAA,CAAaqE,OAAO,GAAG;IACvB,KAAKZ,WAAA,CAAY5F,mBAAA;EACnB,GAAG,CAACA,mBAAA,EAAqBC,aAAA,CAAc;EAEvC;EACAnB,SAAA,CAAU;IACR,IAAIoD,aAAA,CAAcsE,OAAO,IAAI3E,OAAA,CAAQiB,MAAM,GAAG,GAAG;MAC/CZ,aAAA,CAAcsE,OAAO,CAACC,cAAc,CAAC;QAAEC,QAAA,EAAU;QAAWC,MAAA,EAAQ;MAAQ;IAC9E;EACF,GAAG,CAAC9E,OAAA,CAAQiB,MAAM,CAAC;EAEnB,MAAM8D,YAAA,GAAe/H,WAAA,CACnB,OAAO;IAAEyG,WAAW,EAAXA,aAAW;IAAEuB;EAAM,CAAoD;IAC9E,MAAMC,MAAA,GAASjF,OAAO,CAACyD,aAAA,CAAY;IACnC,IAAI,CAACwB,MAAA,EAAQ;MACX;IACF;IAEA,MAAM5B,MAAA,GAAO4B,MAAA,CAAO9B,KAAK,CAACuB,IAAI,CAAEQ,CAAA,IAAMA,CAAA,CAAEpC,EAAE,KAAKkC,MAAA;IAC/C,IAAI,CAAC3B,MAAA,EAAM;MACT;IACF;IAEA;IACA,MAAM8B,eAAA,GAAkB,C,GAAIjF,YAAA,CAAakF,KAAK,CAAC,GAAG3B,aAAA,GAAcuB,MAAA,CAAO;IACvE7E,eAAA,CAAgBgF,eAAA;IAEhB;IACA,MAAME,UAAA,GAAarF,OAAA,CAAQoF,KAAK,CAAC,GAAG3B,aAAA,GAAc;IAClD4B,UAAA,CAAWpB,IAAI,CAAC;MACdX,WAAA,EAAa;MACbQ,SAAA,EAAW;MACXX,KAAA,EAAO,EAAE;MACT3C,IAAA,EAAM;MACNC,QAAA,EAAUuE,MAAA;MACVV,WAAA,EAAajB,MAAA,CAAKJ,KAAK;MACvBM,SAAA,EAAW;IACb;IAEAtD,UAAA,CAAWoF,UAAA;IAEX;IACA,IAAI;MACF,MAAM;QAAE/B,WAAW,EAAXA,aAAW;QAAEH,KAAK,EAALA,OAAK;QAAEI,SAAS,EAATA;MAAS,CAAE,GAAG,MAAMhD,UAAA,CAAW;QAAEC,IAAA,EAAM;QAAGC,QAAA,EAAUuE;MAAO;MAEvF/E,UAAA,CAAY2D,MAAA;QACV,MAAMC,SAAA,GAAU,C,GAAID,MAAA,CAAK;QACzB,MAAM0B,aAAA,GAAc7B,aAAA,GAAc;QAElC,IAAII,SAAO,CAACyB,aAAA,CAAY,EAAE7E,QAAA,KAAauE,MAAA,EAAQ;UAC7CnB,SAAO,CAACyB,aAAA,CAAY,GAAG;YACrBhC,WAAA,EAAAA,aAAA;YACAQ,SAAA,EAAW;YACXX,KAAA,EAAAA,OAAA;YACA3C,IAAA,EAAM;YACNC,QAAA,EAAUuE,MAAA;YACVV,WAAA,EAAajB,MAAA,CAAKJ,KAAK;YACvBM,SAAA,EAAAA;UACF;QACF;QAEA,OAAOM,SAAA;MACT;IACF,EAAE,MAAM;MACN5D,UAAA,CAAY2D,MAAA;QACV,MAAMC,SAAA,GAAU,C,GAAID,MAAA,CAAK;QACzB,MAAM0B,WAAA,GAAc7B,aAAA,GAAc;QAElC,IAAII,SAAO,CAACyB,WAAA,CAAY,EAAE7E,QAAA,KAAauE,MAAA,EAAQ;UAC7CnB,SAAO,CAACyB,WAAA,CAAY,GAAG;YACrBhC,WAAA,EAAa;YACbQ,SAAA,EAAW;YACXX,KAAA,EAAO,EAAE;YACT3C,IAAA,EAAM;YACNC,QAAA,EAAUuE,MAAA;YACVV,WAAA,EAAajB,MAAA,CAAKJ,KAAK;YACvBM,SAAA,EAAW;UACb;QACF;QAEA,OAAOM,SAAA;MACT;IACF;EACF,GACA,CAAC7D,OAAA,EAASE,YAAA,EAAcK,UAAA,CAAW;EAGrC,MAAMgF,cAAA,GAAiBvI,WAAA,CACrB,OAAO;IAAEyG,WAAW,EAAXA;EAAW,CAA2B;IAC7C,MAAMwB,QAAA,GAASjF,OAAO,CAACyD,aAAA,CAAY;IACnC,IAAI,CAACwB,QAAA,IAAUA,QAAA,CAAOnB,SAAS,IAAI,CAACmB,QAAA,CAAO3B,WAAW,EAAE;MACtD;IACF;IAEA,MAAMkC,QAAA,GAAWP,QAAA,CAAOzE,IAAI,GAAG;IAE/B;IACAP,UAAA,CAAY2D,MAAA;MACV,MAAMC,SAAA,GAAU,C,GAAID,MAAA,CAAK;MACzBC,SAAO,CAACJ,aAAA,CAAY,GAAG;QAAE,GAAGI,SAAO,CAACJ,aAAA,CAAY;QAAEK,SAAA,EAAW;MAAK;MAClE,OAAOD,SAAA;IACT;IAEA,IAAI;MACF,MAAM;QAAEP,WAAW,EAAXA,aAAW;QAAEH,KAAA,EAAOsC;MAAQ,CAAE,GAAG,MAAMlF,UAAA,CAAW;QACxDC,IAAA,EAAMgF,QAAA;QACN/E,QAAA,EAAUwE,QAAA,CAAOxE;MACnB;MAEAR,UAAA,CAAY2D,MAAA;QACV,MAAMC,SAAA,GAAU,C,GAAID,MAAA,CAAK;QAEzB,IAAIC,SAAO,CAACJ,aAAA,CAAY,EAAE;UACxBI,SAAO,CAACJ,aAAA,CAAY,GAAG;YACrB,GAAGI,SAAO,CAACJ,aAAA,CAAY;YACvBH,WAAA,EAAAA,aAAA;YACAQ,SAAA,EAAW;YACXX,KAAA,EAAO,C,GAAIU,SAAO,CAACJ,aAAA,CAAY,CAACN,KAAK,E,GAAKsC,QAAA,CAAS;YACnDjF,IAAA,EAAMgF;UACR;QACF;QAEA,OAAO3B,SAAA;MACT;IACF,EAAE,MAAM;MACN5D,UAAA,CAAY2D,MAAA;QACV,MAAMC,SAAA,GAAU,C,GAAID,MAAA,CAAK;QAEzB,IAAIC,SAAO,CAACJ,aAAA,CAAY,EAAE;UACxBI,SAAO,CAACJ,aAAA,CAAY,GAAG;YAAE,GAAGI,SAAO,CAACJ,aAAA,CAAY;YAAEK,SAAA,EAAW;UAAM;QACrE;QAEA,OAAOD,SAAA;MACT;IACF;EACF,GACA,CAAC7D,OAAA,EAASO,UAAA,CAAW;EAGvB;EACA,MAAMmF,eAAA,GAAmBjC,aAAA;IACvB,MAAMvB,MAAA,GAAsD,EAAE;IAE9D,KAAK,IAAIgD,GAAA,GAAI,GAAGA,GAAA,IAAKzB,aAAA,EAAayB,GAAA,IAAK;MACrC,MAAMvB,KAAA,GAAM3D,OAAO,CAACkF,GAAA,CAAE;MACtB,IAAIvB,KAAA,EAAKlD,QAAA,KAAa,QAAQkD,KAAA,EAAKlD,QAAA,KAAanB,SAAA,EAAW;QACzD4C,MAAA,CAAK+B,IAAI,CAAC;UACRnB,EAAA,EAAIa,KAAA,CAAIlD,QAAQ;UAChBwC,KAAA,EAAOU,KAAA,CAAIW,WAAW,IAAIpB,MAAA,CAAOS,KAAA,CAAIlD,QAAQ;QAC/C;MACF;IACF;IAEA,OAAOyB,MAAA;EACT;EAEA,oBACEyD,KAAA,CAAC;IAAIC,SAAA,EAAWhI,SAAA;IAAWY,GAAA,EAAK4B,YAAA;eAC7BJ,OAAA,CAAQ4C,GAAG,CAAC,CAACqC,QAAA,EAAQZ,OAAA;MACpB,MAAMwB,YAAA,GAAexB,OAAA,KAAUrE,OAAA,CAAQiB,MAAM,GAAG,KAAK,CAAC7C,aAAA;MACtD,MAAM0H,UAAA,GAAa5F,YAAY,CAACmE,OAAA,CAAM,IAAI;MAC1C,MAAM0B,YAAA,GAAeL,eAAA,CAAgBrB,OAAA;MAErC,oBACE2B,IAAA,CAAC;QACCJ,SAAA,EAAW,GAAGhI,SAAA,kBAA2B;QAEzCY,GAAA,EAAKqH,YAAA,GAAexF,aAAA,GAAgBf,SAAA;kBAEpC,aAAA0G,IAAA,CAACrI,MAAA;UACCG,uBAAA,EAAyBA,uBAAA;UACzB8B,SAAA,EAAWA,SAAA,IAAaC,OAAA,CAAQxB,WAAA;UAChCoB,eAAA,EAAiBA,eAAA;UACjBwG,QAAA,EAAU7H,aAAA;UACVJ,WAAA,EAAaA,WAAA;UACb8H,UAAA,EAAYA,UAAA;UACZ7H,kBAAA,EAAoBA,kBAAA;UACpBqF,WAAA,EAAa2B,QAAA,CAAO3B,WAAW;UAC/BQ,SAAA,EAAWmB,QAAA,CAAOnB,SAAS;UAC3BX,KAAA,EAAO8B,QAAA,CAAO9B,KAAK;UACnB9E,WAAA,EAAaA,WAAA,KAAgB,OAAO;UACpC6H,QAAA,EAAUA,CAAC;YAAEpD;UAAE,CAAE,KAAKiC,YAAA,CAAa;YAAEtB,WAAA,EAAaY,OAAA;YAAOW,MAAA,EAAQlC;UAAG;UACpEqD,UAAA,EAAYA,CAAA,KAAMZ,cAAA,CAAe;YAAE9B,WAAA,EAAaY;UAAM;UACtD/F,QAAA,EAAUA,QAAA;UACVmC,QAAA,EAAUwE,QAAA,CAAOxE,QAAQ;UACzB6D,WAAA,EAAaW,QAAA,CAAOX,WAAW;UAC/ByB,YAAA,EAAcA,YAAA;UACdtH,WAAA,EAAaA,WAAA;UACb8E,SAAA,EAAW0B,QAAA,CAAO1B;;SAtBf,GAAG0B,QAAA,CAAOxE,QAAQ,IAAI,UAAU4D,OAAA,EAAO;IA0BlD,IACCjG,aAAA,iBACC4H,IAAA,CAAC;MAAIJ,SAAA,EAAW,GAAGhI,SAAA,oBAA6BA,SAAA,2BAAoC;gBAClF,aAAAoI,IAAA,CAACtI,OAAA;;;AAKX","ignoreList":[]}
@@ -108,7 +108,7 @@ export const HierarchyButtonClient = ({
108
108
  const label = isLoading ? `${t('general:loading')}...` : displayName;
109
109
  return /*#__PURE__*/_jsxs(_Fragment, {
110
110
  children: [/*#__PURE__*/_jsx(Button, {
111
- buttonStyle: "subtle",
111
+ buttonStyle: "pill",
112
112
  className: [baseClass, readOnly && `${baseClass}--read-only`].filter(Boolean).join(' '),
113
113
  disabled: readOnly,
114
114
  icon: Icon,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["formatAdminURL","React","useCallback","useEffect","useMemo","useState","useForm","useFormFields","useConfig","useDocumentInfo","useTranslation","Button","useHierarchyDrawer","baseClass","HierarchyButtonClient","fieldName","hasMany","hierarchyCollectionSlug","Icon","readOnly","t","config","getEntityConfig","collectionSlug","documentCollectionSlug","setModified","dispatchField","_","dispatch","currentFieldValue","fields","currentId","value","displayName","setDisplayName","isLoading","setIsLoading","collectionConfig","useAsTitle","admin","isHierarchyCollection","filterByCollection","undefined","HierarchyDrawer","openDrawer","fetchItemName","response","fetch","apiRoute","routes","api","path","serverURL","credentials","ok","itemData","json","title","name","id","String","handleDrawerSave","closeDrawer","selections","ids","Array","from","keys","newValue","type","handleClick","label","_jsxs","_Fragment","_jsx","buttonStyle","className","filter","Boolean","join","disabled","icon","iconPosition","margin","onClick","initialSelections","onSave"],"sources":["../../../../src/elements/Hierarchy/DocHeaderButton/index.tsx"],"sourcesContent":["'use client'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { SelectionWithPath } from '../Drawer/types.js'\n\nimport { useForm, useFormFields } from '../../../forms/Form/context.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { useHierarchyDrawer } from '../Drawer/useHierarchyDrawer.js'\nimport './index.scss'\n\nconst baseClass = 'hierarchy-button'\n\nexport type HierarchyButtonClientProps = {\n fieldName: string\n hasMany?: boolean\n hierarchyCollectionSlug: string\n Icon?: React.ReactNode\n readOnly?: boolean\n}\n\nexport const HierarchyButtonClient: React.FC<HierarchyButtonClientProps> = ({\n fieldName,\n hasMany = false,\n hierarchyCollectionSlug,\n Icon,\n readOnly,\n}) => {\n const { t } = useTranslation()\n const { config, getEntityConfig } = useConfig()\n const { collectionSlug: documentCollectionSlug } = useDocumentInfo()\n const { setModified } = useForm()\n const dispatchField = useFormFields(([_, dispatch]) => dispatch)\n\n const currentFieldValue = useFormFields(([fields]) => (fields && fields?.[fieldName]) || null)\n const currentId = currentFieldValue?.value as null | number | string\n\n const [displayName, setDisplayName] = useState<string>('')\n const [isLoading, setIsLoading] = useState(true)\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'name'\n\n const isHierarchyCollection = documentCollectionSlug === hierarchyCollectionSlug\n\n // When in hierarchy collection, let the drawer use allowedCollections from context\n // When in other collections, filter by that collection's slug\n // Memoize to prevent new array references on every render\n const filterByCollection = useMemo(\n () => (isHierarchyCollection || !documentCollectionSlug ? undefined : [documentCollectionSlug]),\n [isHierarchyCollection, documentCollectionSlug],\n )\n\n const [HierarchyDrawer, , { openDrawer }] = useHierarchyDrawer({\n filterByCollection,\n hierarchyCollectionSlug,\n Icon,\n })\n\n // Fetch item name when currentId changes\n useEffect(() => {\n const fetchItemName = async () => {\n if (currentId && (typeof currentId === 'string' || typeof currentId === 'number')) {\n setIsLoading(true)\n try {\n const response = await fetch(\n formatAdminURL({\n apiRoute: config.routes.api,\n path: `/${hierarchyCollectionSlug}/${currentId}`,\n serverURL: config.serverURL,\n }),\n { credentials: 'include' },\n )\n\n if (response.ok) {\n const itemData = await response.json()\n const title = itemData?.[useAsTitle] || itemData?.name || itemData?.id\n\n setDisplayName(String(title))\n } else {\n setDisplayName(t('general:none'))\n }\n } catch {\n setDisplayName(t('general:none'))\n } finally {\n setIsLoading(false)\n }\n } else {\n setDisplayName(t('general:none'))\n setIsLoading(false)\n }\n }\n\n void fetchItemName()\n }, [currentId, hierarchyCollectionSlug, config.routes.api, config.serverURL, useAsTitle, t])\n\n const handleDrawerSave = useCallback(\n ({\n closeDrawer,\n selections,\n }: {\n closeDrawer: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => {\n const ids = Array.from(selections.keys())\n const newValue = hasMany ? ids : (ids[0] ?? null)\n\n if (currentFieldValue?.value !== newValue) {\n dispatchField({\n type: 'UPDATE',\n path: fieldName,\n value: newValue,\n })\n setModified(true)\n }\n closeDrawer()\n },\n [currentFieldValue?.value, dispatchField, fieldName, hasMany, setModified],\n )\n\n const handleClick = useCallback(() => {\n if (!readOnly) {\n openDrawer()\n }\n }, [openDrawer, readOnly])\n\n const label = isLoading ? `${t('general:loading')}...` : displayName\n\n return (\n <>\n <Button\n buttonStyle=\"subtle\"\n className={[baseClass, readOnly && `${baseClass}--read-only`].filter(Boolean).join(' ')}\n disabled={readOnly}\n icon={Icon}\n iconPosition=\"left\"\n margin={false}\n onClick={handleClick}\n >\n {label}\n </Button>\n <HierarchyDrawer\n hasMany={hasMany}\n initialSelections={currentId ? [currentId] : undefined}\n onSave={handleDrawerSave}\n />\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["formatAdminURL","React","useCallback","useEffect","useMemo","useState","useForm","useFormFields","useConfig","useDocumentInfo","useTranslation","Button","useHierarchyDrawer","baseClass","HierarchyButtonClient","fieldName","hasMany","hierarchyCollectionSlug","Icon","readOnly","t","config","getEntityConfig","collectionSlug","documentCollectionSlug","setModified","dispatchField","_","dispatch","currentFieldValue","fields","currentId","value","displayName","setDisplayName","isLoading","setIsLoading","collectionConfig","useAsTitle","admin","isHierarchyCollection","filterByCollection","undefined","HierarchyDrawer","openDrawer","fetchItemName","response","fetch","apiRoute","routes","api","path","serverURL","credentials","ok","itemData","json","title","name","id","String","handleDrawerSave","closeDrawer","selections","ids","Array","from","keys","newValue","type","handleClick","label","_jsxs","_Fragment","_jsx","buttonStyle","className","filter","Boolean","join","disabled","icon","iconPosition","margin","onClick","initialSelections","onSave"],"sources":["../../../../src/elements/Hierarchy/DocHeaderButton/index.tsx"],"sourcesContent":["'use client'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { SelectionWithPath } from '../Drawer/types.js'\n\nimport { useForm, useFormFields } from '../../../forms/Form/context.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { useHierarchyDrawer } from '../Drawer/useHierarchyDrawer.js'\nimport './index.scss'\n\nconst baseClass = 'hierarchy-button'\n\nexport type HierarchyButtonClientProps = {\n fieldName: string\n hasMany?: boolean\n hierarchyCollectionSlug: string\n Icon?: React.ReactNode\n readOnly?: boolean\n}\n\nexport const HierarchyButtonClient: React.FC<HierarchyButtonClientProps> = ({\n fieldName,\n hasMany = false,\n hierarchyCollectionSlug,\n Icon,\n readOnly,\n}) => {\n const { t } = useTranslation()\n const { config, getEntityConfig } = useConfig()\n const { collectionSlug: documentCollectionSlug } = useDocumentInfo()\n const { setModified } = useForm()\n const dispatchField = useFormFields(([_, dispatch]) => dispatch)\n\n const currentFieldValue = useFormFields(([fields]) => (fields && fields?.[fieldName]) || null)\n const currentId = currentFieldValue?.value as null | number | string\n\n const [displayName, setDisplayName] = useState<string>('')\n const [isLoading, setIsLoading] = useState(true)\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'name'\n\n const isHierarchyCollection = documentCollectionSlug === hierarchyCollectionSlug\n\n // When in hierarchy collection, let the drawer use allowedCollections from context\n // When in other collections, filter by that collection's slug\n // Memoize to prevent new array references on every render\n const filterByCollection = useMemo(\n () => (isHierarchyCollection || !documentCollectionSlug ? undefined : [documentCollectionSlug]),\n [isHierarchyCollection, documentCollectionSlug],\n )\n\n const [HierarchyDrawer, , { openDrawer }] = useHierarchyDrawer({\n filterByCollection,\n hierarchyCollectionSlug,\n Icon,\n })\n\n // Fetch item name when currentId changes\n useEffect(() => {\n const fetchItemName = async () => {\n if (currentId && (typeof currentId === 'string' || typeof currentId === 'number')) {\n setIsLoading(true)\n try {\n const response = await fetch(\n formatAdminURL({\n apiRoute: config.routes.api,\n path: `/${hierarchyCollectionSlug}/${currentId}`,\n serverURL: config.serverURL,\n }),\n { credentials: 'include' },\n )\n\n if (response.ok) {\n const itemData = await response.json()\n const title = itemData?.[useAsTitle] || itemData?.name || itemData?.id\n\n setDisplayName(String(title))\n } else {\n setDisplayName(t('general:none'))\n }\n } catch {\n setDisplayName(t('general:none'))\n } finally {\n setIsLoading(false)\n }\n } else {\n setDisplayName(t('general:none'))\n setIsLoading(false)\n }\n }\n\n void fetchItemName()\n }, [currentId, hierarchyCollectionSlug, config.routes.api, config.serverURL, useAsTitle, t])\n\n const handleDrawerSave = useCallback(\n ({\n closeDrawer,\n selections,\n }: {\n closeDrawer: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => {\n const ids = Array.from(selections.keys())\n const newValue = hasMany ? ids : (ids[0] ?? null)\n\n if (currentFieldValue?.value !== newValue) {\n dispatchField({\n type: 'UPDATE',\n path: fieldName,\n value: newValue,\n })\n setModified(true)\n }\n closeDrawer()\n },\n [currentFieldValue?.value, dispatchField, fieldName, hasMany, setModified],\n )\n\n const handleClick = useCallback(() => {\n if (!readOnly) {\n openDrawer()\n }\n }, [openDrawer, readOnly])\n\n const label = isLoading ? `${t('general:loading')}...` : displayName\n\n return (\n <>\n <Button\n buttonStyle=\"pill\"\n className={[baseClass, readOnly && `${baseClass}--read-only`].filter(Boolean).join(' ')}\n disabled={readOnly}\n icon={Icon}\n iconPosition=\"left\"\n margin={false}\n onClick={handleClick}\n >\n {label}\n </Button>\n <HierarchyDrawer\n hasMany={hasMany}\n initialSelections={currentId ? [currentId] : undefined}\n onSave={handleDrawerSave}\n />\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -17,9 +17,7 @@ export const HierarchyButton = ({
17
17
  // Important: Must render the icon here on server to avoid hydration mismatch
18
18
  // For default FolderIcon path, render directly to avoid import map requirement
19
19
  const isDefaultFolderIcon = !IconComponent || IconComponent === '@payloadcms/ui#FolderIcon';
20
- const renderedIcon = isDefaultFolderIcon ? /*#__PURE__*/_jsx(FolderIcon, {
21
- color: "muted"
22
- }) : RenderServerComponent({
20
+ const renderedIcon = isDefaultFolderIcon ? /*#__PURE__*/_jsx(FolderIcon, {}) : RenderServerComponent({
23
21
  Component: IconComponent,
24
22
  importMap: payload.importMap,
25
23
  key: `hierarchy-button-icon-${hierarchyCollectionSlug}`
@@ -1 +1 @@
1
- {"version":3,"file":"index.server.js","names":["React","FolderIcon","RenderServerComponent","HierarchyButtonClient","HierarchyButton","fieldName","hasMany","hierarchyCollectionSlug","payload","hierarchyCollectionConfig","config","collections","find","c","slug","hierarchyConfig","hierarchy","undefined","IconComponent","admin","components","Icon","isDefaultFolderIcon","renderedIcon","_jsx","color","Component","importMap","key"],"sources":["../../../../src/elements/Hierarchy/DocHeaderButton/index.server.tsx"],"sourcesContent":["import type { Payload } from 'payload'\n\nimport React from 'react'\n\nimport { FolderIcon } from '../../../icons/Folder/index.js'\nimport { RenderServerComponent } from '../../RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { HierarchyButtonClient } from '../../../exports/client/index.js'\n\nexport type HierarchyButtonServerProps = {\n fieldName: string\n hasMany?: boolean\n hierarchyCollectionSlug: string\n payload: Payload\n}\n\nexport const HierarchyButton: React.FC<HierarchyButtonServerProps> = ({\n fieldName,\n hasMany,\n hierarchyCollectionSlug,\n payload,\n}) => {\n const hierarchyCollectionConfig = payload.config.collections.find(\n (c) => c.slug === hierarchyCollectionSlug,\n )\n const hierarchyConfig =\n hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object'\n ? hierarchyCollectionConfig.hierarchy\n : undefined\n const IconComponent = hierarchyConfig?.admin.components.Icon\n\n // Render the custom icon if provided, otherwise use FolderIcon directly\n // Important: Must render the icon here on server to avoid hydration mismatch\n // For default FolderIcon path, render directly to avoid import map requirement\n const isDefaultFolderIcon = !IconComponent || IconComponent === '@payloadcms/ui#FolderIcon'\n const renderedIcon = isDefaultFolderIcon ? (\n <FolderIcon color=\"muted\" />\n ) : (\n RenderServerComponent({\n Component: IconComponent,\n importMap: payload.importMap,\n key: `hierarchy-button-icon-${hierarchyCollectionSlug}`,\n })\n )\n\n return (\n <HierarchyButtonClient\n fieldName={fieldName}\n hasMany={hasMany}\n hierarchyCollectionSlug={hierarchyCollectionSlug}\n Icon={renderedIcon}\n />\n )\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,qBAAqB,QAAQ;AACtC;AACA,SAASC,qBAAqB,QAAQ;AAStC,OAAO,MAAMC,eAAA,GAAwDA,CAAC;EACpEC,SAAS;EACTC,OAAO;EACPC,uBAAuB;EACvBC;AAAO,CACR;EACC,MAAMC,yBAAA,GAA4BD,OAAA,CAAQE,MAAM,CAACC,WAAW,CAACC,IAAI,CAC9DC,CAAA,IAAMA,CAAA,CAAEC,IAAI,KAAKP,uBAAA;EAEpB,MAAMQ,eAAA,GACJN,yBAAA,EAA2BO,SAAA,IAAa,OAAOP,yBAAA,CAA0BO,SAAS,KAAK,WACnFP,yBAAA,CAA0BO,SAAS,GACnCC,SAAA;EACN,MAAMC,aAAA,GAAgBH,eAAA,EAAiBI,KAAA,CAAMC,UAAA,CAAWC,IAAA;EAExD;EACA;EACA;EACA,MAAMC,mBAAA,GAAsB,CAACJ,aAAA,IAAiBA,aAAA,KAAkB;EAChE,MAAMK,YAAA,GAAeD,mBAAA,gBACnBE,IAAA,CAACvB,UAAA;IAAWwB,KAAA,EAAM;OAElBvB,qBAAA,CAAsB;IACpBwB,SAAA,EAAWR,aAAA;IACXS,SAAA,EAAWnB,OAAA,CAAQmB,SAAS;IAC5BC,GAAA,EAAK,yBAAyBrB,uBAAA;EAChC;EAGF,oBACEiB,IAAA,CAACrB,qBAAA;IACCE,SAAA,EAAWA,SAAA;IACXC,OAAA,EAASA,OAAA;IACTC,uBAAA,EAAyBA,uBAAA;IACzBc,IAAA,EAAME;;AAGZ","ignoreList":[]}
1
+ {"version":3,"file":"index.server.js","names":["React","FolderIcon","RenderServerComponent","HierarchyButtonClient","HierarchyButton","fieldName","hasMany","hierarchyCollectionSlug","payload","hierarchyCollectionConfig","config","collections","find","c","slug","hierarchyConfig","hierarchy","undefined","IconComponent","admin","components","Icon","isDefaultFolderIcon","renderedIcon","_jsx","Component","importMap","key"],"sources":["../../../../src/elements/Hierarchy/DocHeaderButton/index.server.tsx"],"sourcesContent":["import type { Payload } from 'payload'\n\nimport React from 'react'\n\nimport { FolderIcon } from '../../../icons/Folder/index.js'\nimport { RenderServerComponent } from '../../RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { HierarchyButtonClient } from '../../../exports/client/index.js'\n\nexport type HierarchyButtonServerProps = {\n fieldName: string\n hasMany?: boolean\n hierarchyCollectionSlug: string\n payload: Payload\n}\n\nexport const HierarchyButton: React.FC<HierarchyButtonServerProps> = ({\n fieldName,\n hasMany,\n hierarchyCollectionSlug,\n payload,\n}) => {\n const hierarchyCollectionConfig = payload.config.collections.find(\n (c) => c.slug === hierarchyCollectionSlug,\n )\n const hierarchyConfig =\n hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object'\n ? hierarchyCollectionConfig.hierarchy\n : undefined\n const IconComponent = hierarchyConfig?.admin.components.Icon\n\n // Render the custom icon if provided, otherwise use FolderIcon directly\n // Important: Must render the icon here on server to avoid hydration mismatch\n // For default FolderIcon path, render directly to avoid import map requirement\n const isDefaultFolderIcon = !IconComponent || IconComponent === '@payloadcms/ui#FolderIcon'\n const renderedIcon = isDefaultFolderIcon ? (\n <FolderIcon />\n ) : (\n RenderServerComponent({\n Component: IconComponent,\n importMap: payload.importMap,\n key: `hierarchy-button-icon-${hierarchyCollectionSlug}`,\n })\n )\n\n return (\n <HierarchyButtonClient\n fieldName={fieldName}\n hasMany={hasMany}\n hierarchyCollectionSlug={hierarchyCollectionSlug}\n Icon={renderedIcon}\n />\n )\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,qBAAqB,QAAQ;AACtC;AACA,SAASC,qBAAqB,QAAQ;AAStC,OAAO,MAAMC,eAAA,GAAwDA,CAAC;EACpEC,SAAS;EACTC,OAAO;EACPC,uBAAuB;EACvBC;AAAO,CACR;EACC,MAAMC,yBAAA,GAA4BD,OAAA,CAAQE,MAAM,CAACC,WAAW,CAACC,IAAI,CAC9DC,CAAA,IAAMA,CAAA,CAAEC,IAAI,KAAKP,uBAAA;EAEpB,MAAMQ,eAAA,GACJN,yBAAA,EAA2BO,SAAA,IAAa,OAAOP,yBAAA,CAA0BO,SAAS,KAAK,WACnFP,yBAAA,CAA0BO,SAAS,GACnCC,SAAA;EACN,MAAMC,aAAA,GAAgBH,eAAA,EAAiBI,KAAA,CAAMC,UAAA,CAAWC,IAAA;EAExD;EACA;EACA;EACA,MAAMC,mBAAA,GAAsB,CAACJ,aAAA,IAAiBA,aAAA,KAAkB;EAChE,MAAMK,YAAA,GAAeD,mBAAA,gBACnBE,IAAA,CAACvB,UAAA,QAEDC,qBAAA,CAAsB;IACpBuB,SAAA,EAAWP,aAAA;IACXQ,SAAA,EAAWlB,OAAA,CAAQkB,SAAS;IAC5BC,GAAA,EAAK,yBAAyBpB,uBAAA;EAChC;EAGF,oBACEiB,IAAA,CAACrB,qBAAA;IACCE,SAAA,EAAWA,SAAA;IACXC,OAAA,EAASA,OAAA;IACTC,uBAAA,EAAyBA,uBAAA;IACzBc,IAAA,EAAME;;AAGZ","ignoreList":[]}
@@ -0,0 +1,108 @@
1
+ @layer payload-default {
2
+ /* Override drawer to be a centered modal instead of side panel */
3
+ .hierarchy-drawer.drawer {
4
+ justify-content: center;
5
+ align-items: center;
6
+ }
7
+
8
+ .hierarchy-drawer .drawer__blur-bg {
9
+ background: var(--color-modalbackdrop);
10
+ }
11
+
12
+ .hierarchy-drawer .drawer__content {
13
+ width: min(900px, calc(100vw - var(--spacer-6)));
14
+ height: min(700px, calc(100vh - var(--spacer-6)));
15
+ border-radius: var(--radius-large);
16
+ transform: none;
17
+ box-shadow: var(--elevation-500-dialog);
18
+ }
19
+
20
+ .hierarchy-drawer .drawer__close {
21
+ position: absolute;
22
+ inset: 0;
23
+ background: transparent;
24
+ }
25
+
26
+ .hierarchy-drawer__content {
27
+ display: flex;
28
+ flex-direction: column;
29
+ height: 100%;
30
+ background: var(--color-bg);
31
+ border-radius: var(--radius-large);
32
+ overflow: clip;
33
+
34
+ .drawer-action-header {
35
+ padding: var(--spacer-2) var(--spacer-3);
36
+ }
37
+ }
38
+
39
+ .hierarchy-drawer__subheader {
40
+ display: flex;
41
+ justify-content: space-between;
42
+ align-items: center;
43
+ padding: var(--spacer-2) var(--gutter-h);
44
+ border-bottom: 1px solid var(--color-border);
45
+ flex-shrink: 0;
46
+ }
47
+
48
+ .hierarchy-drawer__subheader-left {
49
+ display: flex;
50
+ align-items: center;
51
+ gap: var(--spacer-2);
52
+ font-weight: 500;
53
+ color: var(--color-text);
54
+
55
+ svg {
56
+ width: var(--spacer-3);
57
+ height: var(--spacer-3);
58
+ }
59
+ }
60
+
61
+ .hierarchy-drawer__subheader-right {
62
+ display: flex;
63
+ align-items: center;
64
+ gap: var(--spacer-2);
65
+ }
66
+
67
+ .hierarchy-drawer__selection-info {
68
+ color: var(--color-text-secondary);
69
+ }
70
+
71
+ .hierarchy-drawer__clear-all {
72
+ color: var(--color-text-secondary);
73
+ text-decoration: underline;
74
+ cursor: pointer;
75
+ background: none;
76
+ border: none;
77
+ padding: 0;
78
+ font-size: inherit;
79
+
80
+ &:hover {
81
+ color: var(--color-text);
82
+ }
83
+ }
84
+
85
+ .hierarchy-drawer__move-to-root {
86
+ background: none;
87
+ border: none;
88
+ color: var(--color-text-secondary);
89
+ cursor: pointer;
90
+ font-size: inherit;
91
+ padding: 0;
92
+ text-decoration: underline;
93
+
94
+ &:hover {
95
+ color: var(--color-text);
96
+ }
97
+ }
98
+
99
+ .hierarchy-drawer__columns {
100
+ flex: 1;
101
+ overflow: hidden;
102
+ display: flex;
103
+ }
104
+
105
+ .hierarchy-drawer__toggler {
106
+ cursor: pointer;
107
+ }
108
+ }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { HierarchyColumnBrowserRef } from '../ColumnBrowser/index.js';
3
3
  import type { HierarchyDrawerInternalProps } from './types.js';
4
- import './index.scss';
4
+ import './index.css';
5
5
  export declare const baseClass = "hierarchy-drawer";
6
6
  type HierarchyDrawerContentProps = {
7
7
  columnBrowserRef?: React.RefObject<HierarchyColumnBrowserRef | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Drawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAON,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,KAAK,EAAE,4BAA4B,EAAqB,MAAM,YAAY,CAAA;AAYjF,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,qBAAqB,CAAA;AAE3C,KAAK,2BAA2B,GAAG;IACjC,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;IACpE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACrE,GAAG,4BAA4B,CAAA;AAEhC,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,sBAAsB,oOAiBhC;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;CAAE,GAAG,2BAA2B,sBAwL3F,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CA8FlE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Drawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAON,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,KAAK,EAAE,4BAA4B,EAAqB,MAAM,YAAY,CAAA;AAYjF,OAAO,aAAa,CAAA;AAEpB,eAAO,MAAM,SAAS,qBAAqB,CAAA;AAE3C,KAAK,2BAA2B,GAAG;IACjC,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;IACpE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACrE,GAAG,4BAA4B,CAAA;AAEhC,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAmC,iOAiBnE;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;CAAE,GAAG,2BAA2B,sBAwL3F,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CA8FlE,CAAA"}
@@ -13,7 +13,7 @@ import { Drawer, DrawerDepthProvider } from '../../Drawer/index.js';
13
13
  import { DrawerActionHeader } from '../../DrawerActionHeader/index.js';
14
14
  import { HierarchyColumnBrowser } from '../ColumnBrowser/index.js';
15
15
  import { fetchAncestorPath } from './fetchAncestorPath.js';
16
- import './index.scss';
16
+ import './index.css';
17
17
  export const baseClass = 'hierarchy-drawer';
18
18
  export const HierarchyDrawerContent = function HierarchyDrawerContent({
19
19
  baseFilter,
@@ -164,9 +164,7 @@ export const HierarchyDrawerContent = function HierarchyDrawerContent({
164
164
  className: `${baseClass}__subheader`,
165
165
  children: [/*#__PURE__*/_jsxs("div", {
166
166
  className: `${baseClass}__subheader-left`,
167
- children: [Icon || /*#__PURE__*/_jsx(TagIcon, {
168
- color: "muted"
169
- }), /*#__PURE__*/_jsx("h4", {
167
+ children: [Icon || /*#__PURE__*/_jsx(TagIcon, {}), /*#__PURE__*/_jsx("h4", {
170
168
  children: collectionLabel
171
169
  })]
172
170
  }), /*#__PURE__*/_jsxs("div", {
@@ -279,7 +277,6 @@ export const HierarchyDrawer = props => {
279
277
  return /*#__PURE__*/_jsxs(_Fragment, {
280
278
  children: [/*#__PURE__*/_jsx(Drawer, {
281
279
  className: baseClass,
282
- gutter: false,
283
280
  Header: null,
284
281
  slug: drawerSlug,
285
282
  children: drawerContent
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","useEffectEvent","TagIcon","useConfig","useHierarchy","useTranslation","useDocumentDrawer","Drawer","DrawerDepthProvider","DrawerActionHeader","HierarchyColumnBrowser","fetchAncestorPath","baseClass","HierarchyDrawerContent","baseFilter","closeDrawer","columnBrowserRef","disabledIds","filterByCollection","hasMany","hierarchyCollectionSlug","Icon","initialSelections","onCreateNew","onMoveToRoot","onSave","parentFieldName","ref","showMoveToRoot","useAsTitle","i18n","t","config","routes","api","serverURL","getEntityConfig","collectionConfig","collectionSlug","collectionLabel","labels","plural","parentFieldName_internal","hierarchy","initialExpandedPath","setInitialExpandedPath","isLoadingPath","setIsLoadingPath","Boolean","length","hasLoadedPathRef","firstSelection","loadAncestorPath","itemId","path","current","selections","setSelections","map","Map","id","set","selectedIds","Set","keys","ancestorsWithSelections","handleCancel","handleSave","handleSelect","prev","next","has","delete","clear","handleClearAll","selectItem","selectionCount","size","_jsxs","className","_jsx","onCancel","saveLabel","title","label","color","onClick","type","_Fragment","onSelect","HierarchyDrawer","props","drawerSlug","refreshTree","createParentId","setCreateParentId","drawerContentRef","documentDrawerKey","setDocumentDrawerKey","documentDrawerSlug","DocumentDrawer","closeDocumentDrawer","openDrawer","openDocumentDrawer","handleCreateNew","parentId","setTimeout","handleDocumentSave","doc","undefined","refreshColumn","drawerContent","gutter","Header","slug","initialData"],"sources":["../../../../src/elements/Hierarchy/Drawer/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport type { HierarchyColumnBrowserRef } from '../ColumnBrowser/index.js'\nimport type { HierarchyDrawerInternalProps, SelectionWithPath } from './types.js'\n\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { TagIcon } from '../../../icons/Tag/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { Drawer, DrawerDepthProvider } from '../../Drawer/index.js'\nimport { DrawerActionHeader } from '../../DrawerActionHeader/index.js'\nimport { HierarchyColumnBrowser } from '../ColumnBrowser/index.js'\nimport { fetchAncestorPath } from './fetchAncestorPath.js'\nimport './index.scss'\n\nexport const baseClass = 'hierarchy-drawer'\n\ntype HierarchyDrawerContentProps = {\n columnBrowserRef?: React.RefObject<HierarchyColumnBrowserRef | null>\n onCreateNew?: (params: { parentId: null | number | string }) => void\n} & HierarchyDrawerInternalProps\n\nexport type HierarchyDrawerContentRef = {\n selectItem: (id: number | string) => void\n}\n\nexport const HierarchyDrawerContent = function HierarchyDrawerContent({\n baseFilter,\n closeDrawer,\n columnBrowserRef,\n disabledIds,\n filterByCollection,\n hasMany = false,\n hierarchyCollectionSlug,\n Icon,\n initialSelections,\n onCreateNew,\n onMoveToRoot,\n onSave,\n parentFieldName,\n ref,\n showMoveToRoot,\n useAsTitle,\n}: { ref?: React.RefObject<HierarchyDrawerContentRef | null> } & HierarchyDrawerContentProps) {\n const { i18n, t } = useTranslation()\n // NOTE: Do NOT use useModal() here - it causes re-renders when any modal state changes\n // Use closeDrawer prop instead which already handles closing the modal\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const collectionLabel = collectionConfig\n ? getTranslation(collectionConfig.labels?.plural || hierarchyCollectionSlug, i18n)\n : hierarchyCollectionSlug\n\n const parentFieldName_internal =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy.parentFieldName\n : parentFieldName\n\n const [initialExpandedPath, setInitialExpandedPath] = useState<(number | string)[] | undefined>()\n const [isLoadingPath, setIsLoadingPath] = useState(Boolean(initialSelections?.length))\n const hasLoadedPathRef = React.useRef(false)\n const firstSelection = initialSelections?.[0]\n\n const loadAncestorPath = useEffectEvent(async (itemId?: number | string) => {\n if (!itemId) {\n setIsLoadingPath(false)\n return\n }\n\n try {\n const path = await fetchAncestorPath({\n api,\n collectionSlug: hierarchyCollectionSlug,\n itemId,\n parentFieldName: parentFieldName_internal,\n serverURL,\n })\n setInitialExpandedPath(path)\n } catch {\n // Silently handle fetch errors - will just start at root\n } finally {\n setIsLoadingPath(false)\n }\n })\n\n // Load ancestor path on mount\n useEffect(() => {\n if (hasLoadedPathRef.current) {\n return\n }\n hasLoadedPathRef.current = true\n void loadAncestorPath(firstSelection)\n }, [firstSelection])\n\n const [selections, setSelections] = useState<Map<number | string, SelectionWithPath>>(() => {\n const map = new Map<number | string, SelectionWithPath>()\n\n if (initialSelections) {\n for (const id of initialSelections) {\n map.set(id, { id, path: [] })\n }\n }\n\n return map\n })\n\n const selectedIds = useMemo(() => new Set(selections.keys()), [selections])\n\n // For now, ancestorsWithSelections is empty - will be computed when we have path tracking\n const ancestorsWithSelections = useMemo(() => new Set<number | string>(), [])\n\n const handleCancel = useCallback(() => {\n closeDrawer()\n }, [closeDrawer])\n\n const handleSave = useCallback(() => {\n onSave({ closeDrawer, selections })\n }, [onSave, selections, closeDrawer])\n\n const handleSelect = useCallback(\n ({\n id,\n path,\n }: {\n id: number | string\n path: Array<{ id: number | string; title: string }>\n }) => {\n setSelections((prev) => {\n const next = new Map(prev)\n\n if (next.has(id)) {\n next.delete(id)\n } else {\n if (!hasMany) {\n // Single select: clear previous selections\n next.clear()\n }\n next.set(id, { id, path })\n }\n\n return next\n })\n },\n [hasMany],\n )\n\n const handleClearAll = useCallback(() => {\n setSelections(new Map())\n }, [])\n\n // Expose selectItem for programmatic selection (e.g., after creating a new item)\n useImperativeHandle(\n ref,\n () => ({\n selectItem: (id: number | string) => {\n setSelections((prev) => {\n const next = new Map(prev)\n if (!hasMany) {\n next.clear()\n }\n // Path will be empty for newly created items - could be enhanced later\n next.set(id, { id, path: [] })\n return next\n })\n },\n }),\n [hasMany],\n )\n\n const selectionCount = selections.size\n\n return (\n <div className={`${baseClass}__content`}>\n <DrawerActionHeader\n onCancel={handleCancel}\n onSave={handleSave}\n saveLabel={t('general:select')}\n title={t('general:selectValue', { label: collectionLabel })}\n />\n <div className={`${baseClass}__subheader`}>\n <div className={`${baseClass}__subheader-left`}>\n {Icon || <TagIcon color=\"muted\" />}\n <h4>{collectionLabel}</h4>\n </div>\n <div className={`${baseClass}__subheader-right`}>\n {showMoveToRoot && onMoveToRoot && (\n <button className={`${baseClass}__move-to-root`} onClick={onMoveToRoot} type=\"button\">\n {t('hierarchy:moveToRoot')}\n </button>\n )}\n {selectionCount > 0 && (\n <>\n <span className={`${baseClass}__selection-info`}>{selectionCount} selected</span>\n <span>—</span>\n <button className={`${baseClass}__clear-all`} onClick={handleClearAll} type=\"button\">\n {t('general:clearAll')}\n </button>\n </>\n )}\n </div>\n </div>\n <div className={`${baseClass}__columns`}>\n <HierarchyColumnBrowser\n ancestorsWithSelections={ancestorsWithSelections}\n baseFilter={baseFilter}\n disabledIds={disabledIds}\n filterByCollection={filterByCollection}\n hierarchyCollectionSlug={hierarchyCollectionSlug}\n initialExpandedPath={initialExpandedPath}\n isLoadingPath={isLoadingPath}\n onCreateNew={onCreateNew}\n onSelect={handleSelect}\n parentFieldName={parentFieldName}\n ref={columnBrowserRef}\n selectedIds={selectedIds}\n useAsTitle={useAsTitle}\n />\n </div>\n </div>\n )\n}\n\nexport const HierarchyDrawer: React.FC<HierarchyDrawerInternalProps> = (props) => {\n const { drawerSlug, hierarchyCollectionSlug, parentFieldName } = props\n\n const { refreshTree } = useHierarchy()\n\n // Get parentFieldName from hierarchy config\n const { getEntityConfig } = useConfig()\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const parentFieldName_internal =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy.parentFieldName\n : parentFieldName\n\n // Track which parentId is being used for the document drawer - use state to trigger re-render\n const [createParentId, setCreateParentId] = useState<null | number | string>(null)\n\n // Ref to access column browser's refresh function\n const columnBrowserRef = useRef<HierarchyColumnBrowserRef | null>(null)\n\n // Ref to access drawer content's selectItem function\n const drawerContentRef = useRef<HierarchyDrawerContentRef | null>(null)\n\n // Key for DocumentDrawer to force remount when parentId changes\n const [documentDrawerKey, setDocumentDrawerKey] = useState(0)\n\n // Stable drawer slug for the document drawer - must not change on remount\n const documentDrawerSlug = `${drawerSlug}-create-doc`\n\n // Document drawer for creating new items - rendered OUTSIDE the Drawer to avoid nested modal issues\n const [DocumentDrawer, , { closeDrawer: closeDocumentDrawer, openDrawer: openDocumentDrawer }] =\n useDocumentDrawer({\n collectionSlug: hierarchyCollectionSlug,\n drawerSlug: documentDrawerSlug,\n })\n\n const handleCreateNew = useCallback(\n ({ parentId }: { parentId: null | number | string }) => {\n // Increment key to force DocumentDrawer remount with new initialData\n setDocumentDrawerKey((prev) => prev + 1)\n setCreateParentId(parentId)\n // Use setTimeout to ensure state update triggers re-render before opening drawer\n setTimeout(() => {\n openDocumentDrawer()\n }, 0)\n },\n [openDocumentDrawer],\n )\n\n // Refresh the column, select the new item, and close the document drawer after creation\n const handleDocumentSave = useCallback<\n NonNullable<React.ComponentProps<typeof DocumentDrawer>['onSave']>\n >(\n ({ doc }) => {\n if (columnBrowserRef.current && createParentId !== undefined) {\n void columnBrowserRef.current.refreshColumn(createParentId)\n }\n if (drawerContentRef.current && doc?.id) {\n drawerContentRef.current.selectItem(doc.id)\n }\n refreshTree(hierarchyCollectionSlug)\n closeDocumentDrawer()\n },\n [closeDocumentDrawer, createParentId, hierarchyCollectionSlug, refreshTree],\n )\n\n // Memoize the content - only depends on stable values\n const drawerContent = useMemo(\n () => (\n <HierarchyDrawerContent\n {...props}\n columnBrowserRef={columnBrowserRef}\n onCreateNew={handleCreateNew}\n ref={drawerContentRef}\n />\n ),\n [handleCreateNew, props],\n )\n\n return (\n <>\n <Drawer className={baseClass} gutter={false} Header={null} slug={drawerSlug}>\n {drawerContent}\n </Drawer>\n <DrawerDepthProvider>\n <DocumentDrawer\n initialData={\n createParentId !== null ? { [parentFieldName_internal]: createParentId } : undefined\n }\n key={documentDrawerKey}\n onSave={handleDocumentSave}\n />\n </DrawerDepthProvider>\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","useEffectEvent","TagIcon","useConfig","useHierarchy","useTranslation","useDocumentDrawer","Drawer","DrawerDepthProvider","DrawerActionHeader","HierarchyColumnBrowser","fetchAncestorPath","baseClass","HierarchyDrawerContent","baseFilter","closeDrawer","columnBrowserRef","disabledIds","filterByCollection","hasMany","hierarchyCollectionSlug","Icon","initialSelections","onCreateNew","onMoveToRoot","onSave","parentFieldName","ref","showMoveToRoot","useAsTitle","i18n","t","config","routes","api","serverURL","getEntityConfig","collectionConfig","collectionSlug","collectionLabel","labels","plural","parentFieldName_internal","hierarchy","initialExpandedPath","setInitialExpandedPath","isLoadingPath","setIsLoadingPath","Boolean","length","hasLoadedPathRef","firstSelection","loadAncestorPath","itemId","path","current","selections","setSelections","map","Map","id","set","selectedIds","Set","keys","ancestorsWithSelections","handleCancel","handleSave","handleSelect","prev","next","has","delete","clear","handleClearAll","selectItem","selectionCount","size","_jsxs","className","_jsx","onCancel","saveLabel","title","label","onClick","type","_Fragment","onSelect","HierarchyDrawer","props","drawerSlug","refreshTree","createParentId","setCreateParentId","drawerContentRef","documentDrawerKey","setDocumentDrawerKey","documentDrawerSlug","DocumentDrawer","closeDocumentDrawer","openDrawer","openDocumentDrawer","handleCreateNew","parentId","setTimeout","handleDocumentSave","doc","undefined","refreshColumn","drawerContent","Header","slug","initialData"],"sources":["../../../../src/elements/Hierarchy/Drawer/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport type { HierarchyColumnBrowserRef } from '../ColumnBrowser/index.js'\nimport type { HierarchyDrawerInternalProps, SelectionWithPath } from './types.js'\n\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { TagIcon } from '../../../icons/Tag/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { Drawer, DrawerDepthProvider } from '../../Drawer/index.js'\nimport { DrawerActionHeader } from '../../DrawerActionHeader/index.js'\nimport { HierarchyColumnBrowser } from '../ColumnBrowser/index.js'\nimport { fetchAncestorPath } from './fetchAncestorPath.js'\nimport './index.css'\n\nexport const baseClass = 'hierarchy-drawer'\n\ntype HierarchyDrawerContentProps = {\n columnBrowserRef?: React.RefObject<HierarchyColumnBrowserRef | null>\n onCreateNew?: (params: { parentId: null | number | string }) => void\n} & HierarchyDrawerInternalProps\n\nexport type HierarchyDrawerContentRef = {\n selectItem: (id: number | string) => void\n}\n\nexport const HierarchyDrawerContent = function HierarchyDrawerContent({\n baseFilter,\n closeDrawer,\n columnBrowserRef,\n disabledIds,\n filterByCollection,\n hasMany = false,\n hierarchyCollectionSlug,\n Icon,\n initialSelections,\n onCreateNew,\n onMoveToRoot,\n onSave,\n parentFieldName,\n ref,\n showMoveToRoot,\n useAsTitle,\n}: { ref?: React.RefObject<HierarchyDrawerContentRef | null> } & HierarchyDrawerContentProps) {\n const { i18n, t } = useTranslation()\n // NOTE: Do NOT use useModal() here - it causes re-renders when any modal state changes\n // Use closeDrawer prop instead which already handles closing the modal\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const collectionLabel = collectionConfig\n ? getTranslation(collectionConfig.labels?.plural || hierarchyCollectionSlug, i18n)\n : hierarchyCollectionSlug\n\n const parentFieldName_internal =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy.parentFieldName\n : parentFieldName\n\n const [initialExpandedPath, setInitialExpandedPath] = useState<(number | string)[] | undefined>()\n const [isLoadingPath, setIsLoadingPath] = useState(Boolean(initialSelections?.length))\n const hasLoadedPathRef = React.useRef(false)\n const firstSelection = initialSelections?.[0]\n\n const loadAncestorPath = useEffectEvent(async (itemId?: number | string) => {\n if (!itemId) {\n setIsLoadingPath(false)\n return\n }\n\n try {\n const path = await fetchAncestorPath({\n api,\n collectionSlug: hierarchyCollectionSlug,\n itemId,\n parentFieldName: parentFieldName_internal,\n serverURL,\n })\n setInitialExpandedPath(path)\n } catch {\n // Silently handle fetch errors - will just start at root\n } finally {\n setIsLoadingPath(false)\n }\n })\n\n // Load ancestor path on mount\n useEffect(() => {\n if (hasLoadedPathRef.current) {\n return\n }\n hasLoadedPathRef.current = true\n void loadAncestorPath(firstSelection)\n }, [firstSelection])\n\n const [selections, setSelections] = useState<Map<number | string, SelectionWithPath>>(() => {\n const map = new Map<number | string, SelectionWithPath>()\n\n if (initialSelections) {\n for (const id of initialSelections) {\n map.set(id, { id, path: [] })\n }\n }\n\n return map\n })\n\n const selectedIds = useMemo(() => new Set(selections.keys()), [selections])\n\n // For now, ancestorsWithSelections is empty - will be computed when we have path tracking\n const ancestorsWithSelections = useMemo(() => new Set<number | string>(), [])\n\n const handleCancel = useCallback(() => {\n closeDrawer()\n }, [closeDrawer])\n\n const handleSave = useCallback(() => {\n onSave({ closeDrawer, selections })\n }, [onSave, selections, closeDrawer])\n\n const handleSelect = useCallback(\n ({\n id,\n path,\n }: {\n id: number | string\n path: Array<{ id: number | string; title: string }>\n }) => {\n setSelections((prev) => {\n const next = new Map(prev)\n\n if (next.has(id)) {\n next.delete(id)\n } else {\n if (!hasMany) {\n // Single select: clear previous selections\n next.clear()\n }\n next.set(id, { id, path })\n }\n\n return next\n })\n },\n [hasMany],\n )\n\n const handleClearAll = useCallback(() => {\n setSelections(new Map())\n }, [])\n\n // Expose selectItem for programmatic selection (e.g., after creating a new item)\n useImperativeHandle(\n ref,\n () => ({\n selectItem: (id: number | string) => {\n setSelections((prev) => {\n const next = new Map(prev)\n if (!hasMany) {\n next.clear()\n }\n // Path will be empty for newly created items - could be enhanced later\n next.set(id, { id, path: [] })\n return next\n })\n },\n }),\n [hasMany],\n )\n\n const selectionCount = selections.size\n\n return (\n <div className={`${baseClass}__content`}>\n <DrawerActionHeader\n onCancel={handleCancel}\n onSave={handleSave}\n saveLabel={t('general:select')}\n title={t('general:selectValue', { label: collectionLabel })}\n />\n <div className={`${baseClass}__subheader`}>\n <div className={`${baseClass}__subheader-left`}>\n {Icon || <TagIcon />}\n <h4>{collectionLabel}</h4>\n </div>\n <div className={`${baseClass}__subheader-right`}>\n {showMoveToRoot && onMoveToRoot && (\n <button className={`${baseClass}__move-to-root`} onClick={onMoveToRoot} type=\"button\">\n {t('hierarchy:moveToRoot')}\n </button>\n )}\n {selectionCount > 0 && (\n <>\n <span className={`${baseClass}__selection-info`}>{selectionCount} selected</span>\n <span>—</span>\n <button className={`${baseClass}__clear-all`} onClick={handleClearAll} type=\"button\">\n {t('general:clearAll')}\n </button>\n </>\n )}\n </div>\n </div>\n <div className={`${baseClass}__columns`}>\n <HierarchyColumnBrowser\n ancestorsWithSelections={ancestorsWithSelections}\n baseFilter={baseFilter}\n disabledIds={disabledIds}\n filterByCollection={filterByCollection}\n hierarchyCollectionSlug={hierarchyCollectionSlug}\n initialExpandedPath={initialExpandedPath}\n isLoadingPath={isLoadingPath}\n onCreateNew={onCreateNew}\n onSelect={handleSelect}\n parentFieldName={parentFieldName}\n ref={columnBrowserRef}\n selectedIds={selectedIds}\n useAsTitle={useAsTitle}\n />\n </div>\n </div>\n )\n}\n\nexport const HierarchyDrawer: React.FC<HierarchyDrawerInternalProps> = (props) => {\n const { drawerSlug, hierarchyCollectionSlug, parentFieldName } = props\n\n const { refreshTree } = useHierarchy()\n\n // Get parentFieldName from hierarchy config\n const { getEntityConfig } = useConfig()\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const parentFieldName_internal =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy.parentFieldName\n : parentFieldName\n\n // Track which parentId is being used for the document drawer - use state to trigger re-render\n const [createParentId, setCreateParentId] = useState<null | number | string>(null)\n\n // Ref to access column browser's refresh function\n const columnBrowserRef = useRef<HierarchyColumnBrowserRef | null>(null)\n\n // Ref to access drawer content's selectItem function\n const drawerContentRef = useRef<HierarchyDrawerContentRef | null>(null)\n\n // Key for DocumentDrawer to force remount when parentId changes\n const [documentDrawerKey, setDocumentDrawerKey] = useState(0)\n\n // Stable drawer slug for the document drawer - must not change on remount\n const documentDrawerSlug = `${drawerSlug}-create-doc`\n\n // Document drawer for creating new items - rendered OUTSIDE the Drawer to avoid nested modal issues\n const [DocumentDrawer, , { closeDrawer: closeDocumentDrawer, openDrawer: openDocumentDrawer }] =\n useDocumentDrawer({\n collectionSlug: hierarchyCollectionSlug,\n drawerSlug: documentDrawerSlug,\n })\n\n const handleCreateNew = useCallback(\n ({ parentId }: { parentId: null | number | string }) => {\n // Increment key to force DocumentDrawer remount with new initialData\n setDocumentDrawerKey((prev) => prev + 1)\n setCreateParentId(parentId)\n // Use setTimeout to ensure state update triggers re-render before opening drawer\n setTimeout(() => {\n openDocumentDrawer()\n }, 0)\n },\n [openDocumentDrawer],\n )\n\n // Refresh the column, select the new item, and close the document drawer after creation\n const handleDocumentSave = useCallback<\n NonNullable<React.ComponentProps<typeof DocumentDrawer>['onSave']>\n >(\n ({ doc }) => {\n if (columnBrowserRef.current && createParentId !== undefined) {\n void columnBrowserRef.current.refreshColumn(createParentId)\n }\n if (drawerContentRef.current && doc?.id) {\n drawerContentRef.current.selectItem(doc.id)\n }\n refreshTree(hierarchyCollectionSlug)\n closeDocumentDrawer()\n },\n [closeDocumentDrawer, createParentId, hierarchyCollectionSlug, refreshTree],\n )\n\n // Memoize the content - only depends on stable values\n const drawerContent = useMemo(\n () => (\n <HierarchyDrawerContent\n {...props}\n columnBrowserRef={columnBrowserRef}\n onCreateNew={handleCreateNew}\n ref={drawerContentRef}\n />\n ),\n [handleCreateNew, props],\n )\n\n return (\n <>\n <Drawer className={baseClass} Header={null} slug={drawerSlug}>\n {drawerContent}\n </Drawer>\n <DrawerDepthProvider>\n <DocumentDrawer\n initialData={\n createParentId !== null ? { [parentFieldName_internal]: createParentId } : undefined\n }\n key={documentDrawerKey}\n onSave={handleDocumentSave}\n />\n </DrawerDepthProvider>\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useHierarchyDrawer.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Drawer/useHierarchyDrawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8C,MAAM,OAAO,CAAA;AAElE,OAAO,KAAK,EAEV,2BAA2B,EAC3B,kBAAkB,EACnB,MAAM,YAAY,CAAA;AAEnB,cAAc,YAAY,CAAA;AAQ1B,eAAO,MAAM,yBAAyB,qBAGnC;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,KAAG,MAA6C,CAAA;AAEjD,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAmBxE,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAiHhC,CAAA"}
1
+ {"version":3,"file":"useHierarchyDrawer.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Drawer/useHierarchyDrawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8C,MAAM,OAAO,CAAA;AAElE,OAAO,KAAK,EAEV,2BAA2B,EAC3B,kBAAkB,EACnB,MAAM,YAAY,CAAA;AAEnB,cAAc,YAAY,CAAA;AAQ1B,eAAO,MAAM,yBAAyB,GAAI,kBAGvC;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,KAAG,MAA6C,CAAA;AAEjD,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAmBxE,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAiHhC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectedHierarchies.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Field/SelectedHierarchies.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA+C,MAAM,OAAO,CAAA;AAOnE,OAAO,4BAA4B,CAAA;AASnC,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA8HlE,CAAA"}
1
+ {"version":3,"file":"SelectedHierarchies.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Field/SelectedHierarchies.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA+C,MAAM,OAAO,CAAA;AAMnE,OAAO,4BAA4B,CAAA;AASnC,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA8HlE,CAAA"}
@@ -1,14 +1,12 @@
1
1
  'use client';
2
2
 
3
- import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
5
4
  import { formatAdminURL } from 'payload/shared';
6
5
  import * as qs from 'qs-esm';
7
6
  import React, { useEffect, useMemo, useRef, useState } from 'react';
8
- import { XIcon } from '../../../icons/X/index.js';
9
7
  import { useConfig } from '../../../providers/Config/index.js';
10
8
  import { useTranslation } from '../../../providers/Translation/index.js';
11
- import { Pill } from '../../Pill/index.js';
9
+ import { Chip } from '../../Chip/index.js';
12
10
  import { Spinner } from '../../Spinner/index.js';
13
11
  import './SelectedHierarchies.scss';
14
12
  const baseClass = 'selected-hierarchies';
@@ -103,7 +101,7 @@ export const SelectedHierarchies = ({
103
101
  return /*#__PURE__*/_jsx("div", {
104
102
  className: `${baseClass}__loading`,
105
103
  children: /*#__PURE__*/_jsx(Spinner, {
106
- size: "small"
104
+ size: "sm"
107
105
  })
108
106
  });
109
107
  }
@@ -123,63 +121,21 @@ export const SelectedHierarchies = ({
123
121
  })
124
122
  });
125
123
  };
126
- const SelectedPill = t0 => {
127
- const $ = _c(9);
128
- const {
129
- Icon,
130
- item,
131
- onRemove,
132
- readOnly
133
- } = t0;
134
- const {
135
- t
136
- } = useTranslation();
137
- let t1;
138
- if ($[0] !== item.id || $[1] !== onRemove) {
139
- t1 = e => {
140
- e.preventDefault();
141
- e.stopPropagation();
142
- onRemove({
143
- id: item.id
144
- });
145
- };
146
- $[0] = item.id;
147
- $[1] = onRemove;
148
- $[2] = t1;
149
- } else {
150
- t1 = $[2];
151
- }
152
- const handleRemove = t1;
153
- let t2;
154
- if ($[3] !== Icon || $[4] !== handleRemove || $[5] !== item.title || $[6] !== readOnly || $[7] !== t) {
155
- t2 = _jsxs(Pill, {
156
- className: `${baseClass}__pill`,
157
- pillStyle: "light",
158
- size: "small",
159
- children: [Boolean(Icon) && _jsx("span", {
160
- className: `${baseClass}__pill-icon`,
161
- children: Icon
162
- }), _jsx("span", {
163
- className: `${baseClass}__pill-label`,
164
- children: item.title
165
- }), _jsx("button", {
166
- "aria-label": t("general:remove"),
167
- className: `${baseClass}__pill-remove`,
168
- disabled: readOnly,
169
- onClick: readOnly ? undefined : handleRemove,
170
- type: "button",
171
- children: _jsx(XIcon, {})
172
- })]
173
- });
174
- $[3] = Icon;
175
- $[4] = handleRemove;
176
- $[5] = item.title;
177
- $[6] = readOnly;
178
- $[7] = t;
179
- $[8] = t2;
180
- } else {
181
- t2 = $[8];
182
- }
183
- return t2;
124
+ const SelectedPill = ({
125
+ Icon,
126
+ item,
127
+ onRemove,
128
+ readOnly
129
+ }) => {
130
+ return /*#__PURE__*/_jsx(Chip, {
131
+ className: `${baseClass}__pill`,
132
+ disabled: readOnly,
133
+ icon: Icon,
134
+ onRemove: () => onRemove({
135
+ id: item.id
136
+ }),
137
+ size: "medium",
138
+ children: item.title
139
+ });
184
140
  };
185
141
  //# sourceMappingURL=SelectedHierarchies.js.map