@payloadcms/ui 4.0.0-internal.688c4d0 → 4.0.0-internal.811e0a4

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 (719) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/css/colors.css +6 -0
  3. package/dist/css/design-tokens.css +5 -0
  4. package/dist/css/elevations.css +4 -0
  5. package/dist/css/forms.css +6 -3
  6. package/dist/css/theme.css +2 -1
  7. package/dist/css/utilities.css +3 -2
  8. package/dist/elements/AddNewRelation/index.css +28 -28
  9. package/dist/elements/AppHeader/index.d.ts +4 -2
  10. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  11. package/dist/elements/AppHeader/index.js +11 -2
  12. package/dist/elements/AppHeader/index.js.map +1 -1
  13. package/dist/elements/ArrayAction/index.js +2 -2
  14. package/dist/elements/ArrayAction/index.js.map +1 -1
  15. package/dist/elements/BulkUpload/ActionsBar/index.css +4 -8
  16. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  17. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  18. package/dist/elements/BulkUpload/ActionsBar/index.js +15 -22
  19. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
  21. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  22. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  23. package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
  24. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/AddingFilesView/index.css +158 -6
  26. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +5 -1
  27. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/AddingFilesView/index.js +134 -65
  29. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  31. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  32. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  33. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  34. package/dist/elements/BulkUpload/EditForm/index.js +16 -17
  35. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  36. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  37. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  38. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  39. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  40. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +78 -64
  41. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  42. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  43. package/dist/elements/BulkUpload/EditMany/index.js +28 -10
  44. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  45. package/dist/elements/BulkUpload/FileSidebar/index.css +63 -143
  46. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  47. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -175
  48. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  49. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  50. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  51. package/dist/elements/BulkUpload/index.css +48 -0
  52. package/dist/elements/BulkUpload/index.d.ts +6 -5
  53. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  54. package/dist/elements/BulkUpload/index.js +42 -41
  55. package/dist/elements/BulkUpload/index.js.map +1 -1
  56. package/dist/elements/Button/index.d.ts.map +1 -1
  57. package/dist/elements/Button/index.js +5 -0
  58. package/dist/elements/Button/index.js.map +1 -1
  59. package/dist/elements/Card/index.css +1 -1
  60. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  61. package/dist/elements/ClipboardAction/index.js +1 -0
  62. package/dist/elements/ClipboardAction/index.js.map +1 -1
  63. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  64. package/dist/elements/Collapsible/index.js +2 -0
  65. package/dist/elements/Collapsible/index.js.map +1 -1
  66. package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
  67. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
  68. package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +24 -17
  69. package/dist/elements/ColumnSelection/Popup.js.map +1 -0
  70. package/dist/elements/ColumnSelection/index.d.ts +10 -0
  71. package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
  72. package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
  73. package/dist/elements/ColumnSelection/index.js.map +1 -0
  74. package/dist/elements/CopyLocaleData/index.js +1 -1
  75. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  76. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  77. package/dist/elements/CreateDocumentButton/index.js +0 -1
  78. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  79. package/dist/elements/DatePicker/index.css +9 -9
  80. package/dist/elements/DatePicker/index.js +1 -1
  81. package/dist/elements/DatePicker/index.js.map +1 -1
  82. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  83. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  84. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  85. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  86. package/dist/elements/Dialog/DialogModal/index.d.ts +5 -0
  87. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  88. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  89. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  90. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  91. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  92. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  93. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  94. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  95. package/dist/elements/Dialog/index.css +7 -1
  96. package/dist/elements/DocumentControls/index.css +8 -2
  97. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  98. package/dist/elements/DocumentControls/index.js +13 -3
  99. package/dist/elements/DocumentControls/index.js.map +1 -1
  100. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  101. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +5 -3
  102. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  103. package/dist/elements/DocumentFields/index.css +14 -2
  104. package/dist/elements/DocumentFields/index.d.ts +5 -0
  105. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  106. package/dist/elements/DocumentFields/index.js +9 -1
  107. package/dist/elements/DocumentFields/index.js.map +1 -1
  108. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  109. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  110. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  111. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  112. package/dist/elements/DocumentHeader/index.js +2 -3
  113. package/dist/elements/DocumentHeader/index.js.map +1 -1
  114. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  115. package/dist/elements/DrawerActionHeader/index.css +1 -1
  116. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  117. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  118. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  119. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  120. package/dist/elements/DrawerHeader/index.js.map +1 -0
  121. package/dist/elements/Dropzone/index.css +5 -13
  122. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
  123. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  124. package/dist/elements/EditUpload/index.css +97 -158
  125. package/dist/elements/EditUpload/index.d.ts +2 -1
  126. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  127. package/dist/elements/EditUpload/index.js +209 -231
  128. package/dist/elements/EditUpload/index.js.map +1 -1
  129. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  130. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  131. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  132. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  133. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  134. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  135. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  136. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  137. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  138. package/dist/elements/FileDetails/StaticFileDetails/index.css +140 -0
  139. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  140. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  141. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  142. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  143. package/dist/elements/FileDetails/index.d.ts +1 -1
  144. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  145. package/dist/elements/FileDetails/index.js.map +1 -1
  146. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  147. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  148. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  149. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  150. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  151. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  152. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  153. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  154. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  155. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  156. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  157. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  158. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  159. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  160. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  161. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  162. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  163. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  164. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  165. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  166. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  167. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  168. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  169. package/dist/elements/FileManager/FileToolbar/index.js +106 -0
  170. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  171. package/dist/elements/FileManager/index.css +154 -0
  172. package/dist/elements/FileManager/index.d.ts +19 -0
  173. package/dist/elements/FileManager/index.d.ts.map +1 -0
  174. package/dist/elements/FileManager/index.js +424 -0
  175. package/dist/elements/FileManager/index.js.map +1 -0
  176. package/dist/elements/GroupBy/Popup.d.ts +21 -0
  177. package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
  178. package/dist/elements/GroupBy/Popup.js +268 -0
  179. package/dist/elements/GroupBy/Popup.js.map +1 -0
  180. package/dist/elements/GroupBy/index.d.ts +12 -0
  181. package/dist/elements/GroupBy/index.d.ts.map +1 -0
  182. package/dist/elements/GroupBy/index.js +91 -0
  183. package/dist/elements/GroupBy/index.js.map +1 -0
  184. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +5 -3
  185. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +1 -0
  186. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +1 -1
  187. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  188. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  189. package/dist/elements/Hierarchy/DocHeaderButton/index.js +12 -12
  190. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  191. package/dist/elements/Hierarchy/Field/index.client.js +14 -14
  192. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  193. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -0
  194. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -0
  195. package/dist/elements/Hierarchy/Modal/index.css +88 -0
  196. package/dist/elements/Hierarchy/Modal/index.d.ts +20 -0
  197. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -0
  198. package/dist/elements/Hierarchy/{Drawer → Modal}/index.js +105 -81
  199. package/dist/elements/Hierarchy/Modal/index.js.map +1 -0
  200. package/dist/elements/Hierarchy/{Drawer → Modal}/types.d.ts +22 -18
  201. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -0
  202. package/dist/elements/Hierarchy/Modal/types.js.map +1 -0
  203. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts +30 -0
  204. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -0
  205. package/dist/elements/Hierarchy/{Drawer/useHierarchyDrawer.js → Modal/useHierarchyModal.js} +51 -50
  206. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -0
  207. package/dist/elements/Hierarchy/MoveMany/index.d.ts +2 -2
  208. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  209. package/dist/elements/Hierarchy/MoveMany/index.js +9 -9
  210. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  211. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +38 -13
  212. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  213. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +37 -31
  214. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  215. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  216. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  217. package/dist/elements/Hierarchy/Tree/index.js +18 -5
  218. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  219. package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
  220. package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
  221. package/dist/elements/ListColumnSelectionButton/index.js +37 -0
  222. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
  223. package/dist/elements/ListControls/index.d.ts.map +1 -1
  224. package/dist/elements/ListControls/index.js +7 -8
  225. package/dist/elements/ListControls/index.js.map +1 -1
  226. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  227. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  228. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  229. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  230. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  231. package/dist/elements/ListGroupByButton/index.d.ts +12 -0
  232. package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
  233. package/dist/elements/ListGroupByButton/index.js +55 -0
  234. package/dist/elements/ListGroupByButton/index.js.map +1 -0
  235. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  236. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  237. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  238. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
  239. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  240. package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
  241. package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
  242. package/dist/elements/ListWhereBuilder/index.js +62 -0
  243. package/dist/elements/ListWhereBuilder/index.js.map +1 -0
  244. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  245. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  246. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  247. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  248. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +26 -43
  249. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  250. package/dist/elements/LivePreview/Window/index.css +6 -0
  251. package/dist/elements/MiniCarousel/index.css +94 -0
  252. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  253. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  254. package/dist/elements/MiniCarousel/index.js +84 -0
  255. package/dist/elements/MiniCarousel/index.js.map +1 -0
  256. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  257. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  258. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  259. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  260. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  261. package/dist/elements/Nav/index.css +2 -2
  262. package/dist/elements/NavGroup/index.css +1 -1
  263. package/dist/elements/Popup/PopupButtonList/index.css +5 -0
  264. package/dist/elements/Popup/PopupGroupLabel/index.css +8 -5
  265. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  266. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  267. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  268. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  269. package/dist/elements/Popup/index.d.ts +7 -1
  270. package/dist/elements/Popup/index.d.ts.map +1 -1
  271. package/dist/elements/Popup/index.js +45 -12
  272. package/dist/elements/Popup/index.js.map +1 -1
  273. package/dist/elements/PreviewSizes/index.css +149 -0
  274. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  275. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  276. package/dist/elements/PreviewSizes/index.js +1 -1
  277. package/dist/elements/PreviewSizes/index.js.map +1 -1
  278. package/dist/elements/PublishMany/DrawerContent.d.ts +2 -1
  279. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  280. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  281. package/dist/elements/PublishMany/index.d.ts +2 -6
  282. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  283. package/dist/elements/PublishMany/index.js +0 -38
  284. package/dist/elements/PublishMany/index.js.map +1 -1
  285. package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
  286. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
  287. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
  288. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
  289. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  290. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
  291. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  292. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
  293. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  294. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
  295. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  296. package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
  297. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  298. package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
  299. package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
  300. package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
  301. package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
  302. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
  303. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
  304. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  305. package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
  306. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  307. package/dist/elements/QueryPresets/fields/fields.css +23 -0
  308. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  309. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  310. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  311. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  312. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts +5 -0
  313. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -0
  314. package/dist/elements/ReactSelect/getCaptureMenuScroll.js +10 -0
  315. package/dist/elements/ReactSelect/getCaptureMenuScroll.js.map +1 -0
  316. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +6 -0
  317. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -0
  318. package/dist/elements/ReactSelect/getMenuListStyles.js +7 -0
  319. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -0
  320. package/dist/elements/ReactSelect/index.css +2 -3
  321. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  322. package/dist/elements/ReactSelect/index.js +169 -149
  323. package/dist/elements/ReactSelect/index.js.map +1 -1
  324. package/dist/elements/ReactSelect/types.d.ts +2 -0
  325. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  326. package/dist/elements/ReactSelect/types.js.map +1 -1
  327. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  328. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  329. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  330. package/dist/elements/RelationshipTable/index.css +1 -2
  331. package/dist/elements/RelationshipTable/index.js +2 -2
  332. package/dist/elements/RelationshipTable/index.js.map +1 -1
  333. package/dist/elements/Search/SearchInput/index.js +1 -1
  334. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  335. package/dist/elements/SidebarRow/index.css +0 -2
  336. package/dist/elements/SortColumn/index.css +1 -1
  337. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  338. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +32 -13
  339. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  340. package/dist/elements/Table/index.css +31 -4
  341. package/dist/elements/Thumbnail/index.css +41 -0
  342. package/dist/elements/Thumbnail/index.d.ts +3 -3
  343. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  344. package/dist/elements/Thumbnail/index.js +1 -1
  345. package/dist/elements/Thumbnail/index.js.map +1 -1
  346. package/dist/elements/TimezonePicker/index.css +1 -1
  347. package/dist/elements/Toasts/fieldErrors.d.ts +1 -0
  348. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  349. package/dist/elements/Toasts/fieldErrors.js +25 -9
  350. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  351. package/dist/elements/Toasts/index.css +5 -0
  352. package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -1
  353. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  354. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  355. package/dist/elements/UnpublishMany/index.d.ts +2 -4
  356. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  357. package/dist/elements/UnpublishMany/index.js +0 -38
  358. package/dist/elements/UnpublishMany/index.js.map +1 -1
  359. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  360. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  361. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  362. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  363. package/dist/elements/Upload/index.css +134 -45
  364. package/dist/elements/Upload/index.d.ts +3 -8
  365. package/dist/elements/Upload/index.d.ts.map +1 -1
  366. package/dist/elements/Upload/index.js +71 -92
  367. package/dist/elements/Upload/index.js.map +1 -1
  368. package/dist/elements/UserMenu/LanguageMenu/index.js +1 -1
  369. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  370. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +6 -2
  371. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  372. package/dist/elements/UserMenu/SettingsMenu/index.js +15 -10
  373. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  374. package/dist/elements/UserMenu/ThemeMenu/index.js +1 -1
  375. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  376. package/dist/elements/UserMenu/index.d.ts +3 -1
  377. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  378. package/dist/elements/UserMenu/index.js +10 -6
  379. package/dist/elements/UserMenu/index.js.map +1 -1
  380. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  381. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  382. package/dist/elements/WhereBuilder/Condition/index.js +17 -2
  383. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  384. package/dist/elements/WhereBuilder/index.d.ts +4 -3
  385. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  386. package/dist/elements/WhereBuilder/index.js +71 -62
  387. package/dist/elements/WhereBuilder/index.js.map +1 -1
  388. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  389. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  390. package/dist/elements/WhereBuilder/types.js.map +1 -1
  391. package/dist/exports/client/index.d.ts +10 -4
  392. package/dist/exports/client/index.d.ts.map +1 -1
  393. package/dist/exports/client/index.js +1 -2
  394. package/dist/exports/client/index.js.map +4 -4
  395. package/dist/exports/rsc/index.d.ts +3 -0
  396. package/dist/exports/rsc/index.d.ts.map +1 -1
  397. package/dist/exports/rsc/index.js +3 -0
  398. package/dist/exports/rsc/index.js.map +1 -1
  399. package/dist/exports/shared/index.js +2 -2
  400. package/dist/exports/shared/index.js.map +2 -2
  401. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -1
  402. package/dist/fields/Blocks/BlockSelector/index.css +2 -5
  403. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  404. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  405. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  406. package/dist/fields/Checkbox/index.css +2 -2
  407. package/dist/fields/ConfirmPassword/index.d.ts +4 -0
  408. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  409. package/dist/fields/ConfirmPassword/index.js +37 -33
  410. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  411. package/dist/fields/Group/index.css +4 -10
  412. package/dist/fields/Number/Input.d.ts.map +1 -1
  413. package/dist/fields/Number/Input.js +62 -46
  414. package/dist/fields/Number/Input.js.map +1 -1
  415. package/dist/fields/Number/index.css +19 -0
  416. package/dist/fields/Number/types.d.ts +10 -0
  417. package/dist/fields/Number/types.d.ts.map +1 -1
  418. package/dist/fields/Number/types.js.map +1 -1
  419. package/dist/fields/Password/input.d.ts.map +1 -1
  420. package/dist/fields/Password/input.js +33 -29
  421. package/dist/fields/Password/input.js.map +1 -1
  422. package/dist/fields/Password/types.d.ts +4 -0
  423. package/dist/fields/Password/types.d.ts.map +1 -1
  424. package/dist/fields/Password/types.js.map +1 -1
  425. package/dist/fields/RadioGroup/index.css +6 -0
  426. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  427. package/dist/fields/Relationship/Input.js +4 -0
  428. package/dist/fields/Relationship/Input.js.map +1 -1
  429. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  430. package/dist/fields/Relationship/types.d.ts +4 -0
  431. package/dist/fields/Relationship/types.d.ts.map +1 -1
  432. package/dist/fields/Relationship/types.js.map +1 -1
  433. package/dist/fields/Select/Input.d.ts +4 -0
  434. package/dist/fields/Select/Input.d.ts.map +1 -1
  435. package/dist/fields/Select/Input.js +45 -40
  436. package/dist/fields/Select/Input.js.map +1 -1
  437. package/dist/fields/Text/Input.d.ts.map +1 -1
  438. package/dist/fields/Text/Input.js +44 -37
  439. package/dist/fields/Text/Input.js.map +1 -1
  440. package/dist/fields/Text/types.d.ts +9 -0
  441. package/dist/fields/Text/types.d.ts.map +1 -1
  442. package/dist/fields/Text/types.js.map +1 -1
  443. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  444. package/dist/fields/Textarea/Input.js +27 -23
  445. package/dist/fields/Textarea/Input.js.map +1 -1
  446. package/dist/fields/Textarea/index.css +1 -1
  447. package/dist/fields/Textarea/types.d.ts +4 -0
  448. package/dist/fields/Textarea/types.d.ts.map +1 -1
  449. package/dist/fields/Textarea/types.js.map +1 -1
  450. package/dist/fields/Upload/Input.d.ts.map +1 -1
  451. package/dist/fields/Upload/Input.js +12 -11
  452. package/dist/fields/Upload/Input.js.map +1 -1
  453. package/dist/fields/Upload/index.js +1 -1
  454. package/dist/fields/Upload/index.js.map +1 -1
  455. package/dist/forms/Form/types.d.ts +2 -2
  456. package/dist/forms/Form/types.d.ts.map +1 -1
  457. package/dist/forms/Form/types.js.map +1 -1
  458. package/dist/forms/RenderFields/index.css +4 -4
  459. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  460. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  461. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +9 -1
  462. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  463. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
  464. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  465. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  466. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
  467. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  468. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  469. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
  470. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  471. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  472. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  473. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  474. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  475. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  476. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  477. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  478. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  479. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  480. package/dist/graphics/Icon/index.js +1 -1
  481. package/dist/graphics/Icon/index.js.map +1 -1
  482. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  483. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  484. package/dist/hooks/useElementHeightVariable.js +53 -0
  485. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  486. package/dist/icons/Check/index.css +1 -2
  487. package/dist/icons/Check/index.js +1 -1
  488. package/dist/icons/Check/index.js.map +1 -1
  489. package/dist/icons/Crop/index.css +5 -0
  490. package/dist/icons/Crop/index.d.ts +7 -0
  491. package/dist/icons/Crop/index.d.ts.map +1 -0
  492. package/dist/icons/Crop/index.js +24 -0
  493. package/dist/icons/Crop/index.js.map +1 -0
  494. package/dist/icons/Download/index.css +5 -0
  495. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  496. package/dist/icons/Download/index.d.ts.map +1 -0
  497. package/dist/icons/Download/index.js +27 -0
  498. package/dist/icons/Download/index.js.map +1 -0
  499. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  500. package/dist/icons/NewTab/index.d.ts +7 -0
  501. package/dist/icons/NewTab/index.d.ts.map +1 -0
  502. package/dist/icons/NewTab/index.js +25 -0
  503. package/dist/icons/NewTab/index.js.map +1 -0
  504. package/dist/icons/Replace/index.css +5 -0
  505. package/dist/icons/Replace/index.d.ts +6 -0
  506. package/dist/icons/Replace/index.d.ts.map +1 -0
  507. package/dist/icons/Replace/index.js +20 -0
  508. package/dist/icons/Replace/index.js.map +1 -0
  509. package/dist/icons/Reset/index.css +5 -0
  510. package/dist/icons/Reset/index.d.ts +7 -0
  511. package/dist/icons/Reset/index.d.ts.map +1 -0
  512. package/dist/icons/Reset/index.js +25 -0
  513. package/dist/icons/Reset/index.js.map +1 -0
  514. package/dist/icons/Swap/index.js +1 -1
  515. package/dist/icons/Swap/index.js.map +1 -1
  516. package/dist/icons/Warning/index.css +1 -7
  517. package/dist/icons/Warning/index.d.ts +1 -1
  518. package/dist/icons/Warning/index.d.ts.map +1 -1
  519. package/dist/icons/Warning/index.js +11 -16
  520. package/dist/icons/Warning/index.js.map +1 -1
  521. package/dist/providers/Auth/index.d.ts +3 -5
  522. package/dist/providers/Auth/index.d.ts.map +1 -1
  523. package/dist/providers/Auth/index.js +3 -8
  524. package/dist/providers/Auth/index.js.map +1 -1
  525. package/dist/providers/DocumentInfo/types.d.ts +2 -2
  526. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  527. package/dist/providers/DocumentInfo/types.js.map +1 -1
  528. package/dist/providers/Root/index.d.ts +2 -2
  529. package/dist/providers/Root/index.d.ts.map +1 -1
  530. package/dist/providers/Root/index.js.map +1 -1
  531. package/dist/providers/ToastContainer/index.css +208 -0
  532. package/dist/providers/ToastContainer/index.d.ts +1 -0
  533. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  534. package/dist/providers/ToastContainer/index.js +19 -6
  535. package/dist/providers/ToastContainer/index.js.map +1 -1
  536. package/dist/scss/app.scss +10 -4
  537. package/dist/styles.css +1369 -1
  538. package/dist/templates/Default/index.d.ts.map +1 -1
  539. package/dist/templates/Default/index.js +58 -10
  540. package/dist/templates/Default/index.js.map +1 -1
  541. package/dist/utilities/buildFormState.d.ts.map +1 -1
  542. package/dist/utilities/buildFormState.js +1 -0
  543. package/dist/utilities/buildFormState.js.map +1 -1
  544. package/dist/utilities/formatRelativeDate.d.ts +15 -0
  545. package/dist/utilities/formatRelativeDate.d.ts.map +1 -0
  546. package/dist/utilities/formatRelativeDate.js +62 -0
  547. package/dist/utilities/formatRelativeDate.js.map +1 -0
  548. package/dist/utilities/getDocPreferences.d.ts +2 -2
  549. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  550. package/dist/utilities/getDocPreferences.js.map +1 -1
  551. package/dist/utilities/getDocumentData.d.ts +2 -2
  552. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  553. package/dist/utilities/getDocumentData.js.map +1 -1
  554. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  555. package/dist/utilities/getGlobalData.js.map +1 -1
  556. package/dist/utilities/getHasScheduledPublish.d.ts +2 -2
  557. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  558. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  559. package/dist/utilities/getIsLocked.d.ts +2 -2
  560. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  561. package/dist/utilities/getIsLocked.js.map +1 -1
  562. package/dist/utilities/getVersions.d.ts +2 -2
  563. package/dist/utilities/getVersions.d.ts.map +1 -1
  564. package/dist/utilities/getVersions.js +2 -5
  565. package/dist/utilities/getVersions.js.map +1 -1
  566. package/dist/utilities/handleAuthRedirect.d.ts +2 -2
  567. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  568. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  569. package/dist/utilities/handleFormStateLocking.d.ts +2 -2
  570. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  571. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  572. package/dist/utilities/handleLivePreview.d.ts +1 -0
  573. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  574. package/dist/utilities/recentlyViewed.d.ts +16 -0
  575. package/dist/utilities/recentlyViewed.d.ts.map +1 -0
  576. package/dist/utilities/recentlyViewed.js +21 -0
  577. package/dist/utilities/recentlyViewed.js.map +1 -0
  578. package/dist/utilities/recentlyViewed.spec.js +92 -0
  579. package/dist/utilities/recentlyViewed.spec.js.map +1 -0
  580. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  581. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  582. package/dist/views/API/index.client.js +2 -2
  583. package/dist/views/API/index.client.js.map +1 -1
  584. package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
  585. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  586. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  587. package/dist/views/Account/Settings/index.d.ts +2 -2
  588. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  589. package/dist/views/Account/Settings/index.js.map +1 -1
  590. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  591. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  592. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  593. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  594. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +2 -2
  595. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  596. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -2
  597. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  598. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
  599. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
  600. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  601. package/dist/views/Document/index.d.ts.map +1 -1
  602. package/dist/views/Document/index.js +18 -1
  603. package/dist/views/Document/index.js.map +1 -1
  604. package/dist/views/Document/recordRecentlyViewed.d.ts +12 -0
  605. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -0
  606. package/dist/views/Document/recordRecentlyViewed.js +40 -0
  607. package/dist/views/Document/recordRecentlyViewed.js.map +1 -0
  608. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  609. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  610. package/dist/views/Document/renderDocumentSlots.js +47 -1
  611. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  612. package/dist/views/Edit/index.css +143 -6
  613. package/dist/views/Edit/index.d.ts +1 -1
  614. package/dist/views/Edit/index.d.ts.map +1 -1
  615. package/dist/views/Edit/index.js +34 -31
  616. package/dist/views/Edit/index.js.map +1 -1
  617. package/dist/views/HierarchyList/DocumentListSelection/index.js +4 -4
  618. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  619. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  620. package/dist/views/List/ListHeader/index.css +5 -0
  621. package/dist/views/List/ListSelection/index.js +4 -4
  622. package/dist/views/List/ListSelection/index.js.map +1 -1
  623. package/dist/views/List/index.client.d.ts.map +1 -1
  624. package/dist/views/List/index.client.js +6 -6
  625. package/dist/views/List/index.client.js.map +1 -1
  626. package/dist/views/List/index.d.ts.map +1 -1
  627. package/dist/views/List/index.js +1 -7
  628. package/dist/views/List/index.js.map +1 -1
  629. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  630. package/dist/views/List/renderListViewSlots.js +9 -6
  631. package/dist/views/List/renderListViewSlots.js.map +1 -1
  632. package/dist/views/Logout/LogoutClient.js +29 -33
  633. package/dist/views/Logout/LogoutClient.js.map +1 -1
  634. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  635. package/dist/views/Version/SelectComparison/index.js +1 -0
  636. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  637. package/dist/views/Versions/fetchVersions.d.ts +4 -4
  638. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  639. package/dist/views/Versions/fetchVersions.js.map +1 -1
  640. package/dist/views/Versions/index.css +0 -4
  641. package/dist/views/Versions/types.d.ts +2 -2
  642. package/dist/views/Versions/types.d.ts.map +1 -1
  643. package/dist/views/Versions/types.js.map +1 -1
  644. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  645. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  646. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  647. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  648. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  649. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  650. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  651. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  652. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  653. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  654. package/dist/widgets/CollectionQuery/index.css +64 -0
  655. package/dist/widgets/CollectionQuery/index.d.ts +16 -0
  656. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  657. package/dist/widgets/CollectionQuery/index.js +328 -0
  658. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  659. package/dist/widgets/RecentlyViewed/CollectionsField/index.css +14 -0
  660. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +10 -0
  661. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -0
  662. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +76 -0
  663. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -0
  664. package/dist/widgets/RecentlyViewed/index.d.ts +10 -0
  665. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -0
  666. package/dist/widgets/RecentlyViewed/index.js +148 -0
  667. package/dist/widgets/RecentlyViewed/index.js.map +1 -0
  668. package/dist/widgets/WidgetCard/index.css +155 -0
  669. package/dist/widgets/WidgetCard/index.d.ts +19 -0
  670. package/dist/widgets/WidgetCard/index.d.ts.map +1 -0
  671. package/dist/widgets/WidgetCard/index.js +49 -0
  672. package/dist/widgets/WidgetCard/index.js.map +1 -0
  673. package/package.json +5 -509
  674. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  675. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  676. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  677. package/dist/elements/ColumnSelector/index.d.ts +0 -9
  678. package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
  679. package/dist/elements/ColumnSelector/index.js.map +0 -1
  680. package/dist/elements/ColumnsButton/index.d.ts +0 -7
  681. package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
  682. package/dist/elements/ColumnsButton/index.js.map +0 -1
  683. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  684. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  685. package/dist/elements/GroupByBuilder/index.d.ts +0 -12
  686. package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
  687. package/dist/elements/GroupByBuilder/index.js +0 -164
  688. package/dist/elements/GroupByBuilder/index.js.map +0 -1
  689. package/dist/elements/GroupByBuilder/index.scss +0 -39
  690. package/dist/elements/GroupByControl/index.d.ts +0 -9
  691. package/dist/elements/GroupByControl/index.d.ts.map +0 -1
  692. package/dist/elements/GroupByControl/index.js +0 -254
  693. package/dist/elements/GroupByControl/index.js.map +0 -1
  694. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  695. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  696. package/dist/elements/Hierarchy/Drawer/index.css +0 -90
  697. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  698. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  699. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  700. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  701. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  702. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  703. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  704. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  705. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  706. package/dist/elements/PreviewSizes/index.scss +0 -147
  707. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
  708. package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
  709. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  710. package/dist/elements/Thumbnail/index.scss +0 -53
  711. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  712. package/dist/icons/ExternalLink/index.js +0 -26
  713. package/dist/icons/ExternalLink/index.js.map +0 -1
  714. package/dist/scss/toasts.scss +0 -146
  715. /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
  716. /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
  717. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.d.ts +0 -0
  718. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.js +0 -0
  719. /package/dist/elements/Hierarchy/{Drawer → Modal}/types.js +0 -0
@@ -8,7 +8,7 @@ export type SelectionWithPath = {
8
8
  title: string;
9
9
  }>;
10
10
  };
11
- export type UseHierarchyDrawerArgs = {
11
+ export type UseHierarchyModalArgs = {
12
12
  /** IDs that should be disabled (e.g., items being moved can't be selected as destination) */
13
13
  disabledIds?: Set<number | string>;
14
14
  /**
@@ -19,23 +19,22 @@ export type UseHierarchyDrawerArgs = {
19
19
  hierarchyCollectionSlug: string;
20
20
  Icon?: React.ReactNode;
21
21
  };
22
- export type HierarchyDrawerProps = {
22
+ export type HierarchyModalProps = {
23
23
  readonly hasMany?: boolean;
24
24
  readonly initialSelections?: (number | string)[];
25
25
  readonly onMoveToRoot?: () => void;
26
26
  readonly onSave: (params: {
27
- closeDrawer: () => void;
27
+ closeModal: () => void;
28
28
  selections: Map<number | string, SelectionWithPath>;
29
29
  }) => void;
30
30
  readonly showMoveToRoot?: boolean;
31
31
  };
32
- export type HierarchyDrawerInternalProps = {
32
+ export type HierarchyModalInternalProps = {
33
33
  /** Base filter constraint (e.g., tenant filter) to apply to all queries */
34
34
  readonly baseFilter?: null | Where;
35
- readonly closeDrawer: () => void;
35
+ readonly closeModal: () => void;
36
36
  /** IDs that should be disabled (e.g., items being moved can't be selected as destination) */
37
37
  readonly disabledIds?: Set<number | string>;
38
- readonly drawerSlug: string;
39
38
  /**
40
39
  * When provided, filters hierarchy items to only show those that accept these collections.
41
40
  * Used with collectionSpecific hierarchy config.
@@ -43,26 +42,31 @@ export type HierarchyDrawerInternalProps = {
43
42
  readonly filterByCollection?: string[];
44
43
  readonly hierarchyCollectionSlug: string;
45
44
  readonly Icon?: React.ReactNode;
45
+ readonly modalSlug: string;
46
46
  readonly parentFieldName: string;
47
+ readonly reopenCount?: number;
47
48
  readonly useAsTitle?: string;
48
- } & HierarchyDrawerProps;
49
- export type HierarchyDrawerTogglerProps = {
49
+ } & HierarchyModalProps;
50
+ export type HierarchyModalTogglerProps = {
50
51
  children?: React.ReactNode;
51
52
  className?: string;
52
53
  disabled?: boolean;
53
- drawerSlug?: string;
54
+ modalSlug?: string;
54
55
  } & HTMLAttributes<HTMLButtonElement>;
55
- export type UseHierarchyDrawer = (args: UseHierarchyDrawerArgs) => [
56
- React.FC<HierarchyDrawerProps>,
57
- React.FC<Omit<HierarchyDrawerTogglerProps, 'drawerSlug'>>,
56
+ export type UseHierarchyModal = (args: UseHierarchyModalArgs) => [
57
+ React.FC<HierarchyModalProps>,
58
+ React.FC<Omit<HierarchyModalTogglerProps, 'modalSlug'>>,
58
59
  {
59
- closeDrawer: () => void;
60
- drawerDepth: number;
61
- drawerSlug: string;
62
- isDrawerOpen: boolean;
63
- openDrawer: () => void;
64
- toggleDrawer: () => void;
60
+ closeModal: () => void;
61
+ isModalOpen: boolean;
62
+ modalDepth: number;
63
+ modalSlug: string;
64
+ openModal: () => void;
65
+ toggleModal: () => void;
65
66
  }
66
67
  ];
68
+ export type HierarchyDrawerProps = HierarchyModalProps;
69
+ export type HierarchyDrawerInternalProps = HierarchyModalInternalProps;
70
+ export type HierarchyDrawerTogglerProps = HierarchyModalTogglerProps;
67
71
  export type { ColumnItemData } from '../ColumnBrowser/types.js';
68
72
  //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Modal/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/elements/Hierarchy/Modal/types.ts"],"sourcesContent":["import type { Where } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nexport type SelectionWithPath = {\n id: number | string\n path: Array<{ id: number | string; title: string }>\n}\n\nexport type UseHierarchyModalArgs = {\n /** IDs that should be disabled (e.g., items being moved can't be selected as destination) */\n disabledIds?: Set<number | string>\n /**\n * When provided, filters hierarchy items to only show those that accept these collections.\n * Used with collectionSpecific hierarchy config.\n */\n filterByCollection?: string[]\n hierarchyCollectionSlug: string\n Icon?: React.ReactNode\n}\n\nexport type HierarchyModalProps = {\n readonly hasMany?: boolean\n readonly initialSelections?: (number | string)[]\n readonly onMoveToRoot?: () => void\n readonly onSave: (params: {\n closeModal: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => void\n readonly showMoveToRoot?: boolean\n}\n\nexport type HierarchyModalInternalProps = {\n /** Base filter constraint (e.g., tenant filter) to apply to all queries */\n readonly baseFilter?: null | Where\n readonly closeModal: () => void\n /** IDs that should be disabled (e.g., items being moved can't be selected as destination) */\n readonly disabledIds?: Set<number | string>\n /**\n * When provided, filters hierarchy items to only show those that accept these collections.\n * Used with collectionSpecific hierarchy config.\n */\n readonly filterByCollection?: string[]\n readonly hierarchyCollectionSlug: string\n readonly Icon?: React.ReactNode\n readonly modalSlug: string\n readonly parentFieldName: string\n readonly reopenCount?: number\n readonly useAsTitle?: string\n} & HierarchyModalProps\n\nexport type HierarchyModalTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n modalSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseHierarchyModal = (args: UseHierarchyModalArgs) => [\n React.FC<HierarchyModalProps>,\n React.FC<Omit<HierarchyModalTogglerProps, 'modalSlug'>>,\n {\n closeModal: () => void\n isModalOpen: boolean\n modalDepth: number\n modalSlug: string\n openModal: () => void\n toggleModal: () => void\n },\n]\n\n// Backward-compatible aliases\nexport type HierarchyDrawerProps = HierarchyModalProps\nexport type HierarchyDrawerInternalProps = HierarchyModalInternalProps\nexport type HierarchyDrawerTogglerProps = HierarchyModalTogglerProps\n\n// Re-export column browser types for backwards compatibility\nexport type { ColumnItemData } from '../ColumnBrowser/types.js'\n"],"mappings":"AA4EA;AACA","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import type { HierarchyModalTogglerProps, UseHierarchyModal } from './types.js';
3
+ export * from './types.js';
4
+ export declare const formatHierarchyModalSlug: ({ depth, uuid, }: {
5
+ depth: number;
6
+ uuid: string;
7
+ }) => string;
8
+ export declare const HierarchyModalToggler: React.FC<HierarchyModalTogglerProps>;
9
+ /**
10
+ * Hook for using a hierarchy modal for selecting hierarchy items.
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * const [HierarchyModal, HierarchyModalToggler, { closeModal, openModal }] = useHierarchyModal({
15
+ * collectionSlug: 'categories',
16
+ * })
17
+ *
18
+ * return (
19
+ * <>
20
+ * <HierarchyModal
21
+ * onSave={(selections) => console.log(selections)}
22
+ * hasMany={true}
23
+ * />
24
+ * <HierarchyModalToggler>Select Categories</HierarchyModalToggler>
25
+ * </>
26
+ * )
27
+ * ```
28
+ */
29
+ export declare const useHierarchyModal: UseHierarchyModal;
30
+ //# sourceMappingURL=useHierarchyModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHierarchyModal.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Modal/useHierarchyModal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAwD,MAAM,OAAO,CAAA;AAE5E,OAAO,KAAK,EAAuB,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEpG,cAAc,YAAY,CAAA;AAQ1B,eAAO,MAAM,wBAAwB,GAAI,kBAGtC;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,KAAG,MAA4C,CAAA;AAEhD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAmBtE,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAqH/B,CAAA"}
@@ -1,57 +1,56 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
- import { createElement as _createElement } from "react";
5
4
  import { useModal } from '@faceless-ui/modal';
6
- import React, { useCallback, useId, useMemo, useRef } from 'react';
5
+ import React, { useCallback, useId, useMemo, useRef, useState } from 'react';
7
6
  export * from './types.js';
8
7
  import { useConfig } from '../../../providers/Config/index.js';
9
8
  import { useEditDepth } from '../../../providers/EditDepth/index.js';
10
9
  import { useHierarchy } from '../../../providers/Hierarchy/index.js';
11
- import { DrawerToggler } from '../../Drawer/index.js';
12
- import { baseClass, HierarchyDrawer } from './index.js';
13
- export const formatHierarchyDrawerSlug = ({
10
+ import { DrawerToggler as ModalToggler } from '../../Drawer/index.js';
11
+ import { baseClass, HierarchyModal } from './index.js';
12
+ export const formatHierarchyModalSlug = ({
14
13
  depth,
15
14
  uuid
16
- }) => `hierarchy-drawer_${depth}_${uuid}`;
17
- export const HierarchyDrawerToggler = ({
15
+ }) => `hierarchy-modal_${depth}_${uuid}`;
16
+ export const HierarchyModalToggler = ({
18
17
  children,
19
18
  className,
20
19
  disabled,
21
- drawerSlug,
20
+ modalSlug,
22
21
  onClick,
23
22
  ...rest
24
23
  }) => {
25
- return /*#__PURE__*/_jsx(DrawerToggler, {
24
+ return /*#__PURE__*/_jsx(ModalToggler, {
26
25
  className: [className, `${baseClass}__toggler`].filter(Boolean).join(' '),
27
26
  disabled: disabled,
28
27
  onClick: onClick,
29
- slug: drawerSlug,
28
+ slug: modalSlug,
30
29
  ...rest,
31
30
  children: children
32
31
  });
33
32
  };
34
33
  /**
35
- * Hook for using a hierarchy drawer for selecting hierarchy items.
34
+ * Hook for using a hierarchy modal for selecting hierarchy items.
36
35
  *
37
36
  * @example
38
37
  * ```tsx
39
- * const [HierarchyDrawer, HierarchyDrawerToggler, { closeDrawer, openDrawer }] = useHierarchyDrawer({
38
+ * const [HierarchyModal, HierarchyModalToggler, { closeModal, openModal }] = useHierarchyModal({
40
39
  * collectionSlug: 'categories',
41
40
  * })
42
41
  *
43
42
  * return (
44
43
  * <>
45
- * <HierarchyDrawer
44
+ * <HierarchyModal
46
45
  * onSave={(selections) => console.log(selections)}
47
46
  * hasMany={true}
48
47
  * />
49
- * <HierarchyDrawerToggler>Select Categories</HierarchyDrawerToggler>
48
+ * <HierarchyModalToggler>Select Categories</HierarchyModalToggler>
50
49
  * </>
51
50
  * )
52
51
  * ```
53
52
  */
54
- export const useHierarchyDrawer = ({
53
+ export const useHierarchyModal = ({
55
54
  disabledIds,
56
55
  filterByCollection: filterByCollectionProp,
57
56
  hierarchyCollectionSlug,
@@ -81,15 +80,16 @@ export const useHierarchyDrawer = ({
81
80
  }
82
81
  return allowedCollections !== null ? allowedCollections.map(c => c.slug) : undefined;
83
82
  }, [filterByCollectionProp, allowedCollections]);
84
- const drawerDepth = useEditDepth();
83
+ const modalDepth = useEditDepth();
85
84
  const uuid = useId();
86
85
  const {
87
86
  closeModal,
88
87
  openModal,
89
88
  toggleModal
90
89
  } = useModal();
91
- const drawerSlug = formatHierarchyDrawerSlug({
92
- depth: drawerDepth,
90
+ const [reopenCount, setReopenCount] = useState(0);
91
+ const modalSlug = formatHierarchyModalSlug({
92
+ depth: modalDepth,
93
93
  uuid
94
94
  });
95
95
  // Store modal functions in refs to ensure stable callbacks
@@ -101,48 +101,49 @@ export const useHierarchyDrawer = ({
101
101
  openModalRef.current = openModal;
102
102
  toggleModalRef.current = toggleModal;
103
103
  // Stable callbacks using refs - these will NEVER change
104
- const toggleDrawer = useCallback(() => {
105
- toggleModalRef.current(drawerSlug);
106
- }, [drawerSlug]);
107
- const closeDrawer = useCallback(() => {
108
- closeModalRef.current(drawerSlug);
109
- }, [drawerSlug]);
110
- const openDrawer = useCallback(() => {
111
- openModalRef.current(drawerSlug);
112
- }, [drawerSlug]);
113
- const MemoizedDrawer = useMemo(() => {
114
- const DrawerComponent = props => /*#__PURE__*/_createElement(HierarchyDrawer, {
104
+ const toggleHierarchyModal = useCallback(() => {
105
+ toggleModalRef.current(modalSlug);
106
+ }, [modalSlug]);
107
+ const closeHierarchyModal = useCallback(() => {
108
+ closeModalRef.current(modalSlug);
109
+ }, [modalSlug]);
110
+ const openHierarchyModal = useCallback(() => {
111
+ setReopenCount(count => count + 1);
112
+ openModalRef.current(modalSlug);
113
+ }, [modalSlug]);
114
+ const MemoizedModal = useMemo(() => {
115
+ const ModalComponent = props => /*#__PURE__*/_jsx(HierarchyModal, {
115
116
  ...props,
116
117
  baseFilter: baseFilter,
117
- closeDrawer: closeDrawer,
118
+ closeModal: closeHierarchyModal,
118
119
  disabledIds: disabledIds,
119
- drawerSlug: drawerSlug,
120
120
  filterByCollection: filterByCollection,
121
121
  hierarchyCollectionSlug: hierarchyCollectionSlug,
122
122
  Icon: Icon,
123
- key: drawerSlug,
123
+ modalSlug: modalSlug,
124
124
  parentFieldName: parentFieldName,
125
+ reopenCount: reopenCount,
125
126
  useAsTitle: useAsTitle
126
- });
127
- return DrawerComponent;
128
- }, [baseFilter, drawerSlug, closeDrawer, disabledIds, filterByCollection, Icon, parentFieldName, hierarchyCollectionSlug, useAsTitle]);
129
- const MemoizedDrawerToggler = useMemo(() => {
130
- const TogglerComponent = props_0 => /*#__PURE__*/_jsx(HierarchyDrawerToggler, {
127
+ }, modalSlug);
128
+ return ModalComponent;
129
+ }, [baseFilter, closeHierarchyModal, disabledIds, filterByCollection, Icon, modalSlug, parentFieldName, reopenCount, hierarchyCollectionSlug, useAsTitle]);
130
+ const MemoizedModalToggler = useMemo(() => {
131
+ const TogglerComponent = props_0 => /*#__PURE__*/_jsx(HierarchyModalToggler, {
131
132
  ...props_0,
132
- drawerSlug: drawerSlug
133
+ modalSlug: modalSlug
133
134
  });
134
135
  return TogglerComponent;
135
- }, [drawerSlug]);
136
- const MemoizedDrawerState = useMemo(() => ({
137
- closeDrawer,
138
- drawerDepth,
139
- drawerSlug,
140
- // Note: Not tracking isDrawerOpen to prevent re-renders when other modals change state
136
+ }, [modalSlug]);
137
+ const MemoizedModalState = useMemo(() => ({
138
+ closeModal: closeHierarchyModal,
139
+ modalDepth,
140
+ modalSlug,
141
+ // Note: Not tracking isModalOpen to prevent re-renders when other modals change state
141
142
  // Consumers needing this can use useModal() directly
142
- isDrawerOpen: false,
143
- openDrawer,
144
- toggleDrawer
145
- }), [drawerDepth, drawerSlug, toggleDrawer, closeDrawer, openDrawer]);
146
- return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState];
143
+ isModalOpen: false,
144
+ openModal: openHierarchyModal,
145
+ toggleModal: toggleHierarchyModal
146
+ }), [closeHierarchyModal, modalDepth, modalSlug, openHierarchyModal, toggleHierarchyModal]);
147
+ return [MemoizedModal, MemoizedModalToggler, MemoizedModalState];
147
148
  };
148
- //# sourceMappingURL=useHierarchyDrawer.js.map
149
+ //# sourceMappingURL=useHierarchyModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHierarchyModal.js","names":["useModal","React","useCallback","useId","useMemo","useRef","useState","useConfig","useEditDepth","useHierarchy","DrawerToggler","ModalToggler","baseClass","HierarchyModal","formatHierarchyModalSlug","depth","uuid","HierarchyModalToggler","children","className","disabled","modalSlug","onClick","rest","_jsx","filter","Boolean","join","slug","useHierarchyModal","disabledIds","filterByCollection","filterByCollectionProp","hierarchyCollectionSlug","Icon","getEntityConfig","allowedCollections","baseFilter","collectionConfig","collectionSlug","useAsTitle","admin","hierarchyConfig","hierarchy","undefined","parentFieldName","map","c","modalDepth","closeModal","openModal","toggleModal","reopenCount","setReopenCount","closeModalRef","openModalRef","toggleModalRef","current","toggleHierarchyModal","closeHierarchyModal","openHierarchyModal","count","MemoizedModal","ModalComponent","props","MemoizedModalToggler","TogglerComponent","MemoizedModalState","isModalOpen"],"sources":["../../../../src/elements/Hierarchy/Modal/useHierarchyModal.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useId, useMemo, useRef, useState } from 'react'\n\nimport type { HierarchyModalProps, HierarchyModalTogglerProps, UseHierarchyModal } from './types.js'\n\nexport * from './types.js'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useEditDepth } from '../../../providers/EditDepth/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { DrawerToggler as ModalToggler } from '../../Drawer/index.js'\nimport { baseClass, HierarchyModal } from './index.js'\n\nexport const formatHierarchyModalSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string\n}): string => `hierarchy-modal_${depth}_${uuid}`\n\nexport const HierarchyModalToggler: React.FC<HierarchyModalTogglerProps> = ({\n children,\n className,\n disabled,\n modalSlug,\n onClick,\n ...rest\n}) => {\n return (\n <ModalToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n onClick={onClick}\n slug={modalSlug}\n {...rest}\n >\n {children}\n </ModalToggler>\n )\n}\n\n/**\n * Hook for using a hierarchy modal for selecting hierarchy items.\n *\n * @example\n * ```tsx\n * const [HierarchyModal, HierarchyModalToggler, { closeModal, openModal }] = useHierarchyModal({\n * collectionSlug: 'categories',\n * })\n *\n * return (\n * <>\n * <HierarchyModal\n * onSave={(selections) => console.log(selections)}\n * hasMany={true}\n * />\n * <HierarchyModalToggler>Select Categories</HierarchyModalToggler>\n * </>\n * )\n * ```\n */\nexport const useHierarchyModal: UseHierarchyModal = ({\n disabledIds,\n filterByCollection: filterByCollectionProp,\n hierarchyCollectionSlug,\n Icon,\n}) => {\n const { getEntityConfig } = useConfig()\n const { allowedCollections, baseFilter } = useHierarchy()\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n\n const useAsTitle = collectionConfig?.admin?.useAsTitle\n const hierarchyConfig =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const parentFieldName = hierarchyConfig?.parentFieldName\n\n // Use explicit prop if provided, otherwise fall back to allowedCollections from context\n // - allowedCollections is null/undefined: no filtering (undefined)\n // - allowedCollections is []: folder accepts everything, show only unrestricted destinations ([])\n // - allowedCollections has values: show folders accepting those types\n // Memoize to prevent new array references on every render\n const filterByCollection = useMemo(() => {\n if (filterByCollectionProp !== undefined) {\n return filterByCollectionProp\n }\n return allowedCollections !== null ? allowedCollections.map((c) => c.slug) : undefined\n }, [filterByCollectionProp, allowedCollections])\n\n const modalDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, openModal, toggleModal } = useModal()\n const [reopenCount, setReopenCount] = useState(0)\n\n const modalSlug = formatHierarchyModalSlug({\n depth: modalDepth,\n uuid,\n })\n\n // Store modal functions in refs to ensure stable callbacks\n // This prevents re-renders when other modals (like DocumentDrawer) change state\n const closeModalRef = useRef(closeModal)\n const openModalRef = useRef(openModal)\n const toggleModalRef = useRef(toggleModal)\n closeModalRef.current = closeModal\n openModalRef.current = openModal\n toggleModalRef.current = toggleModal\n\n // Stable callbacks using refs - these will NEVER change\n const toggleHierarchyModal = useCallback(() => {\n toggleModalRef.current(modalSlug)\n }, [modalSlug])\n\n const closeHierarchyModal = useCallback(() => {\n closeModalRef.current(modalSlug)\n }, [modalSlug])\n\n const openHierarchyModal = useCallback(() => {\n setReopenCount((count) => count + 1)\n openModalRef.current(modalSlug)\n }, [modalSlug])\n\n const MemoizedModal = useMemo(() => {\n const ModalComponent: React.FC<HierarchyModalProps> = (props) => (\n <HierarchyModal\n key={modalSlug}\n {...props}\n baseFilter={baseFilter}\n closeModal={closeHierarchyModal}\n disabledIds={disabledIds}\n filterByCollection={filterByCollection}\n hierarchyCollectionSlug={hierarchyCollectionSlug}\n Icon={Icon}\n modalSlug={modalSlug}\n parentFieldName={parentFieldName}\n reopenCount={reopenCount}\n useAsTitle={useAsTitle}\n />\n )\n\n return ModalComponent\n }, [\n baseFilter,\n closeHierarchyModal,\n disabledIds,\n filterByCollection,\n Icon,\n modalSlug,\n parentFieldName,\n reopenCount,\n hierarchyCollectionSlug,\n useAsTitle,\n ])\n\n const MemoizedModalToggler = useMemo(() => {\n const TogglerComponent: React.FC<Omit<HierarchyModalTogglerProps, 'modalSlug'>> = (props) => (\n <HierarchyModalToggler {...props} modalSlug={modalSlug} />\n )\n\n return TogglerComponent\n }, [modalSlug])\n\n const MemoizedModalState = useMemo(\n () => ({\n closeModal: closeHierarchyModal,\n modalDepth,\n modalSlug,\n // Note: Not tracking isModalOpen to prevent re-renders when other modals change state\n // Consumers needing this can use useModal() directly\n isModalOpen: false,\n openModal: openHierarchyModal,\n toggleModal: toggleHierarchyModal,\n }),\n [closeHierarchyModal, modalDepth, modalSlug, openHierarchyModal, toggleHierarchyModal],\n )\n\n return [MemoizedModal, MemoizedModalToggler, MemoizedModalState]\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
2
  export declare const baseClass = "move-many";
3
3
  type MoveManyProps = {
4
- /** Current parent ID - drawer will open expanded to this location */
4
+ /** Current parent ID - modal will open expanded to this location */
5
5
  currentParentID?: null | number | string;
6
6
  /** The hierarchy collection slug (e.g., 'folders') */
7
7
  hierarchySlug: string;
8
- /** Icon to display in the hierarchy drawer */
8
+ /** Icon to display in the hierarchy modal */
9
9
  Icon?: React.ReactNode;
10
10
  /** When multiple MoveMany components are rendered on the page, this will differentiate them */
11
11
  modalPrefix?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/MoveMany/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAe7D,eAAO,MAAM,SAAS,cAAc,CAAA;AAEpC,KAAK,aAAa,GAAG;IACnB,qEAAqE;IACrE,eAAe,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACxC,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAA;IACrB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,CAAC,CAAA;CACzD,CAAA;AAeD,wBAAgB,QAAQ,CAAC,EACvB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,WAAW,EACX,SAAS,EACT,UAAU,GACX,EAAE,aAAa,qBA4Qf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/MoveMany/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAe7D,eAAO,MAAM,SAAS,cAAc,CAAA;AAEpC,KAAK,aAAa,GAAG;IACnB,oEAAoE;IACpE,eAAe,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACxC,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAA;IACrB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,CAAC,CAAA;CACzD,CAAA;AAeD,wBAAgB,QAAQ,CAAC,EACvB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,WAAW,EACX,SAAS,EACT,UAAU,GACX,EAAE,aAAa,qBAiQf"}
@@ -15,7 +15,7 @@ import { requests } from '../../../utilities/api.js';
15
15
  import { ConfirmationModal } from '../../ConfirmationModal/index.js';
16
16
  import { ListSelectionButton } from '../../ListSelection/index.js';
17
17
  import { Translation } from '../../Translation/index.js';
18
- import { useHierarchyDrawer } from '../Drawer/useHierarchyDrawer.js';
18
+ import { useHierarchyModal } from '../Modal/useHierarchyModal.js';
19
19
  export const baseClass = 'move-many';
20
20
  /**
21
21
  * Gets the parent field name from the hierarchy config.
@@ -87,10 +87,10 @@ export function MoveMany({
87
87
  const parentIds = selections[hierarchySlug]?.ids;
88
88
  return parentIds?.length ? new Set(parentIds) : undefined;
89
89
  }, [selections, hierarchySlug]);
90
- const [HierarchyDrawer,, {
91
- closeDrawer,
92
- openDrawer
93
- }] = useHierarchyDrawer({
90
+ const [HierarchyModal,, {
91
+ closeModal,
92
+ openModal: openHierarchyModal
93
+ }] = useHierarchyModal({
94
94
  disabledIds,
95
95
  filterByCollection: requiredCollections,
96
96
  hierarchyCollectionSlug: hierarchySlug,
@@ -210,7 +210,7 @@ export function MoveMany({
210
210
  }));
211
211
  }
212
212
  if (!hasErrors || totalMoved > 0) {
213
- closeDrawer();
213
+ closeModal();
214
214
  onSuccess?.();
215
215
  }
216
216
  } catch (_err) {
@@ -218,7 +218,7 @@ export function MoveMany({
218
218
  } finally {
219
219
  setDestination(null);
220
220
  }
221
- }, [closeDrawer, destination, selections, parentFieldName, locale, api, i18n, t, label, onSuccess]);
221
+ }, [closeModal, destination, selections, parentFieldName, locale, api, i18n, t, label, onSuccess]);
222
222
  if (count === 0 || !canMove) {
223
223
  return null;
224
224
  }
@@ -226,9 +226,9 @@ export function MoveMany({
226
226
  children: [/*#__PURE__*/_jsx(ListSelectionButton, {
227
227
  "aria-label": t('general:move'),
228
228
  className: `${baseClass}__toggle`,
229
- onClick: openDrawer,
229
+ onClick: openHierarchyModal,
230
230
  children: t('general:move')
231
- }), /*#__PURE__*/_jsx(HierarchyDrawer, {
231
+ }), /*#__PURE__*/_jsx(HierarchyModal, {
232
232
  hasMany: false,
233
233
  initialSelections: currentParentID ? [currentParentID] : null,
234
234
  onMoveToRoot: handleMoveToRoot,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","qs","React","useCallback","useMemo","useState","toast","useConfig","useDocumentSelection","useLocale","useTranslation","requests","ConfirmationModal","ListSelectionButton","Translation","useHierarchyDrawer","baseClass","getParentFieldName","hierarchyConfig","config","hierarchy","undefined","parentFieldName","MoveMany","currentParentID","hierarchySlug","Icon","modalPrefix","onSuccess","selections","i18n","t","code","locale","openModal","collections","routes","api","getSelectionsWithMetadata","destination","setDestination","confirmMoveDrawerSlug","requiredCollections","selectionsWithMeta","required","Set","collectionSlug","items","Object","entries","metadata","allowedCollections","slug","add","size","Array","from","disabledIds","parentIds","ids","length","HierarchyDrawer","closeDrawer","openDrawer","filterByCollection","hierarchyCollectionSlug","count","label","totalCount","labels","find","c","collectionLabel","plural","singular","push","join","hierarchyCollectionConfig","canMove","handleDrawerSave","selectionsMap","firstSelection","values","next","value","destinationId","id","destinationTitle","path","title","String","handleMoveToRoot","handleConfirmMove","totalMoved","hasErrors","queryString","stringify","where","in","addQueryPrefix","url","apiRoute","response","patch","body","JSON","headers","language","credentials","json","status","errors","error","message","description","map","movedCount","docs","successKey","success","_err","_jsxs","Fragment","_jsx","className","onClick","hasMany","initialSelections","onMoveToRoot","onSave","showMoveToRoot","elements","1","children","i18nKey","variables","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../../src/elements/Hierarchy/MoveMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { SelectionWithPath } from '../Drawer/types.js'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentSelection } from '../../../providers/DocumentSelection/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport { ConfirmationModal } from '../../ConfirmationModal/index.js'\nimport { ListSelectionButton } from '../../ListSelection/index.js'\nimport { Translation } from '../../Translation/index.js'\nimport { useHierarchyDrawer } from '../Drawer/useHierarchyDrawer.js'\n\nexport const baseClass = 'move-many'\n\ntype MoveManyProps = {\n /** Current parent ID - drawer will open expanded to this location */\n currentParentID?: null | number | string\n /** The hierarchy collection slug (e.g., 'folders') */\n hierarchySlug: string\n /** Icon to display in the hierarchy drawer */\n Icon?: React.ReactNode\n /** When multiple MoveMany components are rendered on the page, this will differentiate them */\n modalPrefix?: string\n /** Callback after successful move */\n onSuccess?: () => void\n /** Selections grouped by collection slug */\n selections: Record<string, { ids: (number | string)[] }>\n}\n\n/**\n * Gets the parent field name from the hierarchy config.\n */\nfunction getParentFieldName(\n hierarchyConfig: ClientCollectionConfig | undefined,\n): string | undefined {\n const config =\n hierarchyConfig?.hierarchy && typeof hierarchyConfig.hierarchy === 'object'\n ? hierarchyConfig.hierarchy\n : undefined\n return config?.parentFieldName\n}\n\nexport function MoveMany({\n currentParentID,\n hierarchySlug,\n Icon,\n modalPrefix,\n onSuccess,\n selections,\n}: MoveManyProps) {\n const { i18n, t } = useTranslation()\n const { code: locale } = useLocale()\n const { openModal } = useModal()\n const {\n config: {\n collections,\n routes: { api },\n },\n } = useConfig()\n\n const { getSelectionsWithMetadata } = useDocumentSelection()\n\n const [destination, setDestination] = useState<{\n id: null | number | string\n title: string\n } | null>(null)\n\n const confirmMoveDrawerSlug = `${modalPrefix ? `${modalPrefix}-` : ''}confirm-move-many`\n\n // Compute required collections from selection metadata\n // For related items: add their collection slug\n // For folders: add their allowedCollections values\n const requiredCollections = useMemo(() => {\n const selectionsWithMeta = getSelectionsWithMetadata()\n const required = new Set<string>()\n\n for (const [collectionSlug, { selections: items }] of Object.entries(selectionsWithMeta)) {\n if (collectionSlug === hierarchySlug) {\n // For folders, add their allowedCollections to required set\n for (const { metadata } of items) {\n if (metadata.allowedCollections) {\n for (const slug of metadata.allowedCollections) {\n required.add(slug)\n }\n }\n }\n } else {\n // For related items, add their collection slug\n required.add(collectionSlug)\n }\n }\n\n return required.size > 0 ? Array.from(required) : undefined\n }, [getSelectionsWithMetadata, hierarchySlug])\n\n // Folders being moved cannot be selected as destination (can't move into themselves)\n const disabledIds = useMemo(() => {\n const parentIds = selections[hierarchySlug]?.ids\n return parentIds?.length ? new Set(parentIds) : undefined\n }, [selections, hierarchySlug])\n\n const [HierarchyDrawer, , { closeDrawer, openDrawer }] = useHierarchyDrawer({\n disabledIds,\n filterByCollection: requiredCollections,\n hierarchyCollectionSlug: hierarchySlug,\n Icon,\n })\n\n // Calculate total count and label\n const { count, label } = useMemo(() => {\n let totalCount = 0\n const labels: string[] = []\n\n for (const [collectionSlug, { ids }] of Object.entries(selections)) {\n const config = collections.find((c) => c.slug === collectionSlug)\n\n if (config && ids.length > 0) {\n totalCount += ids.length\n const collectionLabel = getTranslation(\n ids.length > 1 ? config.labels.plural : config.labels.singular,\n i18n,\n )\n labels.push(collectionLabel)\n }\n }\n\n return {\n count: totalCount,\n label: labels.join(', '),\n }\n }, [selections, collections, i18n])\n\n const hierarchyCollectionConfig = collections.find((c) => c.slug === hierarchySlug)\n const parentFieldName = getParentFieldName(hierarchyCollectionConfig)\n\n // Check if hierarchy has a valid parentFieldName\n const canMove = parentFieldName !== undefined\n\n const handleDrawerSave = useCallback(\n ({ selections: selectionsMap }: { selections: Map<number | string, SelectionWithPath> }) => {\n if (selectionsMap.size === 0) {\n return\n }\n\n const firstSelection = selectionsMap.values().next().value\n const destinationId = firstSelection?.id\n const destinationTitle =\n firstSelection?.path?.[firstSelection.path.length - 1]?.title || String(destinationId)\n\n setDestination({ id: destinationId, title: destinationTitle })\n openModal(confirmMoveDrawerSlug)\n },\n [openModal, confirmMoveDrawerSlug],\n )\n\n const handleMoveToRoot = useCallback(() => {\n setDestination({ id: null, title: t('hierarchy:noParent') })\n openModal(confirmMoveDrawerSlug)\n }, [openModal, confirmMoveDrawerSlug, t])\n\n const handleConfirmMove = useCallback(async () => {\n if (destination === null) {\n return\n }\n\n let totalMoved = 0\n let hasErrors = false\n\n try {\n for (const [collectionSlug, { ids }] of Object.entries(selections)) {\n if (ids.length === 0) {\n continue\n }\n\n const queryString = qs.stringify(\n {\n locale,\n where: { id: { in: ids } },\n },\n { addQueryPrefix: true },\n )\n\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${queryString}`,\n })\n\n const response = await requests.patch(url, {\n body: JSON.stringify({ [parentFieldName]: destination.id }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n credentials: 'include',\n },\n })\n\n const json = await response.json()\n\n if (response.status >= 400) {\n hasErrors = true\n\n if (json?.errors?.length > 0) {\n toast.error(json.message || t('error:unknown'), {\n description: json.errors\n .map((error: { message: string }) => error.message)\n .join('\\n'),\n })\n } else {\n toast.error(json?.message || t('error:unknown'))\n }\n\n continue\n }\n\n const movedCount = json?.docs?.length || 0\n totalMoved += movedCount\n\n if (json?.errors?.length > 0) {\n hasErrors = true\n toast.error(json.message, {\n description: json.errors.map((error: { message: string }) => error.message).join('\\n'),\n })\n }\n }\n\n if (totalMoved > 0) {\n const successKey =\n destination.id === null ? 'hierarchy:itemsMovedToRoot' : 'hierarchy:itemsMovedTo'\n\n toast.success(\n t(successKey, {\n destination: destination.title,\n title: label,\n }),\n )\n }\n\n if (!hasErrors || totalMoved > 0) {\n closeDrawer()\n onSuccess?.()\n }\n } catch (_err) {\n toast.error(t('error:unknown'))\n } finally {\n setDestination(null)\n }\n }, [\n closeDrawer,\n destination,\n selections,\n parentFieldName,\n locale,\n api,\n i18n,\n t,\n label,\n onSuccess,\n ])\n\n if (count === 0 || !canMove) {\n return null\n }\n\n return (\n <React.Fragment>\n <ListSelectionButton\n aria-label={t('general:move')}\n className={`${baseClass}__toggle`}\n onClick={openDrawer}\n >\n {t('general:move')}\n </ListSelectionButton>\n <HierarchyDrawer\n hasMany={false}\n initialSelections={currentParentID ? [currentParentID] : null}\n onMoveToRoot={handleMoveToRoot}\n onSave={handleDrawerSave}\n showMoveToRoot\n />\n <ConfirmationModal\n body={\n <p>\n {destination?.id === null ? (\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"hierarchy:moveItemsToRootConfirmation\"\n t={t}\n variables={{\n count,\n label,\n }}\n />\n ) : (\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:moveConfirm\"\n t={t}\n variables={{\n count,\n destination: destination?.title || '',\n label,\n }}\n />\n )}\n </p>\n }\n confirmingLabel={t('general:moving')}\n heading={t('general:confirmMove')}\n modalSlug={confirmMoveDrawerSlug}\n onConfirm={handleConfirmMove}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","qs","React","useCallback","useMemo","useState","toast","useConfig","useDocumentSelection","useLocale","useTranslation","requests","ConfirmationModal","ListSelectionButton","Translation","useHierarchyModal","baseClass","getParentFieldName","hierarchyConfig","config","hierarchy","undefined","parentFieldName","MoveMany","currentParentID","hierarchySlug","Icon","modalPrefix","onSuccess","selections","i18n","t","code","locale","openModal","collections","routes","api","getSelectionsWithMetadata","destination","setDestination","confirmMoveDrawerSlug","requiredCollections","selectionsWithMeta","required","Set","collectionSlug","items","Object","entries","metadata","allowedCollections","slug","add","size","Array","from","disabledIds","parentIds","ids","length","HierarchyModal","closeModal","openHierarchyModal","filterByCollection","hierarchyCollectionSlug","count","label","totalCount","labels","find","c","collectionLabel","plural","singular","push","join","hierarchyCollectionConfig","canMove","handleDrawerSave","selectionsMap","firstSelection","values","next","value","destinationId","id","destinationTitle","path","title","String","handleMoveToRoot","handleConfirmMove","totalMoved","hasErrors","queryString","stringify","where","in","addQueryPrefix","url","apiRoute","response","patch","body","JSON","headers","language","credentials","json","status","errors","error","message","description","map","movedCount","docs","successKey","success","_err","_jsxs","Fragment","_jsx","className","onClick","hasMany","initialSelections","onMoveToRoot","onSave","showMoveToRoot","elements","1","children","i18nKey","variables","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../../src/elements/Hierarchy/MoveMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { SelectionWithPath } from '../Modal/types.js'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentSelection } from '../../../providers/DocumentSelection/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport { ConfirmationModal } from '../../ConfirmationModal/index.js'\nimport { ListSelectionButton } from '../../ListSelection/index.js'\nimport { Translation } from '../../Translation/index.js'\nimport { useHierarchyModal } from '../Modal/useHierarchyModal.js'\n\nexport const baseClass = 'move-many'\n\ntype MoveManyProps = {\n /** Current parent ID - modal will open expanded to this location */\n currentParentID?: null | number | string\n /** The hierarchy collection slug (e.g., 'folders') */\n hierarchySlug: string\n /** Icon to display in the hierarchy modal */\n Icon?: React.ReactNode\n /** When multiple MoveMany components are rendered on the page, this will differentiate them */\n modalPrefix?: string\n /** Callback after successful move */\n onSuccess?: () => void\n /** Selections grouped by collection slug */\n selections: Record<string, { ids: (number | string)[] }>\n}\n\n/**\n * Gets the parent field name from the hierarchy config.\n */\nfunction getParentFieldName(\n hierarchyConfig: ClientCollectionConfig | undefined,\n): string | undefined {\n const config =\n hierarchyConfig?.hierarchy && typeof hierarchyConfig.hierarchy === 'object'\n ? hierarchyConfig.hierarchy\n : undefined\n return config?.parentFieldName\n}\n\nexport function MoveMany({\n currentParentID,\n hierarchySlug,\n Icon,\n modalPrefix,\n onSuccess,\n selections,\n}: MoveManyProps) {\n const { i18n, t } = useTranslation()\n const { code: locale } = useLocale()\n const { openModal } = useModal()\n const {\n config: {\n collections,\n routes: { api },\n },\n } = useConfig()\n\n const { getSelectionsWithMetadata } = useDocumentSelection()\n\n const [destination, setDestination] = useState<{\n id: null | number | string\n title: string\n } | null>(null)\n\n const confirmMoveDrawerSlug = `${modalPrefix ? `${modalPrefix}-` : ''}confirm-move-many`\n\n // Compute required collections from selection metadata\n // For related items: add their collection slug\n // For folders: add their allowedCollections values\n const requiredCollections = useMemo(() => {\n const selectionsWithMeta = getSelectionsWithMetadata()\n const required = new Set<string>()\n\n for (const [collectionSlug, { selections: items }] of Object.entries(selectionsWithMeta)) {\n if (collectionSlug === hierarchySlug) {\n // For folders, add their allowedCollections to required set\n for (const { metadata } of items) {\n if (metadata.allowedCollections) {\n for (const slug of metadata.allowedCollections) {\n required.add(slug)\n }\n }\n }\n } else {\n // For related items, add their collection slug\n required.add(collectionSlug)\n }\n }\n\n return required.size > 0 ? Array.from(required) : undefined\n }, [getSelectionsWithMetadata, hierarchySlug])\n\n // Folders being moved cannot be selected as destination (can't move into themselves)\n const disabledIds = useMemo(() => {\n const parentIds = selections[hierarchySlug]?.ids\n return parentIds?.length ? new Set(parentIds) : undefined\n }, [selections, hierarchySlug])\n\n const [HierarchyModal, , { closeModal, openModal: openHierarchyModal }] = useHierarchyModal({\n disabledIds,\n filterByCollection: requiredCollections,\n hierarchyCollectionSlug: hierarchySlug,\n Icon,\n })\n\n // Calculate total count and label\n const { count, label } = useMemo(() => {\n let totalCount = 0\n const labels: string[] = []\n\n for (const [collectionSlug, { ids }] of Object.entries(selections)) {\n const config = collections.find((c) => c.slug === collectionSlug)\n\n if (config && ids.length > 0) {\n totalCount += ids.length\n const collectionLabel = getTranslation(\n ids.length > 1 ? config.labels.plural : config.labels.singular,\n i18n,\n )\n labels.push(collectionLabel)\n }\n }\n\n return {\n count: totalCount,\n label: labels.join(', '),\n }\n }, [selections, collections, i18n])\n\n const hierarchyCollectionConfig = collections.find((c) => c.slug === hierarchySlug)\n const parentFieldName = getParentFieldName(hierarchyCollectionConfig)\n\n // Check if hierarchy has a valid parentFieldName\n const canMove = parentFieldName !== undefined\n\n const handleDrawerSave = useCallback(\n ({ selections: selectionsMap }: { selections: Map<number | string, SelectionWithPath> }) => {\n if (selectionsMap.size === 0) {\n return\n }\n\n const firstSelection = selectionsMap.values().next().value\n const destinationId = firstSelection?.id\n const destinationTitle =\n firstSelection?.path?.[firstSelection.path.length - 1]?.title || String(destinationId)\n\n setDestination({ id: destinationId, title: destinationTitle })\n openModal(confirmMoveDrawerSlug)\n },\n [openModal, confirmMoveDrawerSlug],\n )\n\n const handleMoveToRoot = useCallback(() => {\n setDestination({ id: null, title: t('hierarchy:noParent') })\n openModal(confirmMoveDrawerSlug)\n }, [openModal, confirmMoveDrawerSlug, t])\n\n const handleConfirmMove = useCallback(async () => {\n if (destination === null) {\n return\n }\n\n let totalMoved = 0\n let hasErrors = false\n\n try {\n for (const [collectionSlug, { ids }] of Object.entries(selections)) {\n if (ids.length === 0) {\n continue\n }\n\n const queryString = qs.stringify(\n {\n locale,\n where: { id: { in: ids } },\n },\n { addQueryPrefix: true },\n )\n\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${queryString}`,\n })\n\n const response = await requests.patch(url, {\n body: JSON.stringify({ [parentFieldName]: destination.id }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n credentials: 'include',\n },\n })\n\n const json = await response.json()\n\n if (response.status >= 400) {\n hasErrors = true\n\n if (json?.errors?.length > 0) {\n toast.error(json.message || t('error:unknown'), {\n description: json.errors\n .map((error: { message: string }) => error.message)\n .join('\\n'),\n })\n } else {\n toast.error(json?.message || t('error:unknown'))\n }\n\n continue\n }\n\n const movedCount = json?.docs?.length || 0\n totalMoved += movedCount\n\n if (json?.errors?.length > 0) {\n hasErrors = true\n toast.error(json.message, {\n description: json.errors.map((error: { message: string }) => error.message).join('\\n'),\n })\n }\n }\n\n if (totalMoved > 0) {\n const successKey =\n destination.id === null ? 'hierarchy:itemsMovedToRoot' : 'hierarchy:itemsMovedTo'\n\n toast.success(\n t(successKey, {\n destination: destination.title,\n title: label,\n }),\n )\n }\n\n if (!hasErrors || totalMoved > 0) {\n closeModal()\n onSuccess?.()\n }\n } catch (_err) {\n toast.error(t('error:unknown'))\n } finally {\n setDestination(null)\n }\n }, [closeModal, destination, selections, parentFieldName, locale, api, i18n, t, label, onSuccess])\n\n if (count === 0 || !canMove) {\n return null\n }\n\n return (\n <React.Fragment>\n <ListSelectionButton\n aria-label={t('general:move')}\n className={`${baseClass}__toggle`}\n onClick={openHierarchyModal}\n >\n {t('general:move')}\n </ListSelectionButton>\n <HierarchyModal\n hasMany={false}\n initialSelections={currentParentID ? [currentParentID] : null}\n onMoveToRoot={handleMoveToRoot}\n onSave={handleDrawerSave}\n showMoveToRoot\n />\n <ConfirmationModal\n body={\n <p>\n {destination?.id === null ? (\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"hierarchy:moveItemsToRootConfirmation\"\n t={t}\n variables={{\n count,\n label,\n }}\n />\n ) : (\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:moveConfirm\"\n t={t}\n variables={{\n count,\n destination: destination?.title || '',\n label,\n }}\n />\n )}\n </p>\n }\n confirmingLabel={t('general:moving')}\n heading={t('general:confirmMove')}\n modalSlug={confirmMoveDrawerSlug}\n onConfirm={handleConfirmMove}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AACtD,SAASC,KAAK,QAAQ;AAItB,SAASC,SAAS,QAAQ;AAC1B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,WAAW,QAAQ;AAC5B,SAASC,iBAAiB,QAAQ;AAElC,OAAO,MAAMC,SAAA,GAAY;AAiBzB;;;AAGA,SAASC,mBACPC,eAAmD;EAEnD,MAAMC,MAAA,GACJD,eAAA,EAAiBE,SAAA,IAAa,OAAOF,eAAA,CAAgBE,SAAS,KAAK,WAC/DF,eAAA,CAAgBE,SAAS,GACzBC,SAAA;EACN,OAAOF,MAAA,EAAQG,eAAA;AACjB;AAEA,OAAO,SAASC,SAAS;EACvBC,eAAe;EACfC,aAAa;EACbC,IAAI;EACJC,WAAW;EACXC,SAAS;EACTC;AAAU,CACI;EACd,MAAM;IAAEC,IAAI;IAAEC;EAAC,CAAE,GAAGrB,cAAA;EACpB,MAAM;IAAEsB,IAAA,EAAMC;EAAM,CAAE,GAAGxB,SAAA;EACzB,MAAM;IAAEyB;EAAS,CAAE,GAAGpC,QAAA;EACtB,MAAM;IACJqB,MAAA,EAAQ;MACNgB,WAAW;MACXC,MAAA,EAAQ;QAAEC;MAAG;IAAE;EAChB,CACF,GAAG9B,SAAA;EAEJ,MAAM;IAAE+B;EAAyB,CAAE,GAAG9B,oBAAA;EAEtC,MAAM,CAAC+B,WAAA,EAAaC,cAAA,CAAe,GAAGnC,QAAA,CAG5B;EAEV,MAAMoC,qBAAA,GAAwB,GAAGd,WAAA,GAAc,GAAGA,WAAA,GAAc,GAAG,qBAAqB;EAExF;EACA;EACA;EACA,MAAMe,mBAAA,GAAsBtC,OAAA,CAAQ;IAClC,MAAMuC,kBAAA,GAAqBL,yBAAA;IAC3B,MAAMM,QAAA,GAAW,IAAIC,GAAA;IAErB,KAAK,MAAM,CAACC,cAAA,EAAgB;MAAEjB,UAAA,EAAYkB;IAAK,CAAE,CAAC,IAAIC,MAAA,CAAOC,OAAO,CAACN,kBAAA,GAAqB;MACxF,IAAIG,cAAA,KAAmBrB,aAAA,EAAe;QACpC;QACA,KAAK,MAAM;UAAEyB;QAAQ,CAAE,IAAIH,KAAA,EAAO;UAChC,IAAIG,QAAA,CAASC,kBAAkB,EAAE;YAC/B,KAAK,MAAMC,IAAA,IAAQF,QAAA,CAASC,kBAAkB,EAAE;cAC9CP,QAAA,CAASS,GAAG,CAACD,IAAA;YACf;UACF;QACF;MACF,OAAO;QACL;QACAR,QAAA,CAASS,GAAG,CAACP,cAAA;MACf;IACF;IAEA,OAAOF,QAAA,CAASU,IAAI,GAAG,IAAIC,KAAA,CAAMC,IAAI,CAACZ,QAAA,IAAYvB,SAAA;EACpD,GAAG,CAACiB,yBAAA,EAA2Bb,aAAA,CAAc;EAE7C;EACA,MAAMgC,WAAA,GAAcrD,OAAA,CAAQ;IAC1B,MAAMsD,SAAA,GAAY7B,UAAU,CAACJ,aAAA,CAAc,EAAEkC,GAAA;IAC7C,OAAOD,SAAA,EAAWE,MAAA,GAAS,IAAIf,GAAA,CAAIa,SAAA,IAAarC,SAAA;EAClD,GAAG,CAACQ,UAAA,EAAYJ,aAAA,CAAc;EAE9B,MAAM,CAACoC,cAAA,GAAkB;IAAEC,UAAU;IAAE5B,SAAA,EAAW6B;EAAkB,CAAE,CAAC,GAAGhD,iBAAA,CAAkB;IAC1F0C,WAAA;IACAO,kBAAA,EAAoBtB,mBAAA;IACpBuB,uBAAA,EAAyBxC,aAAA;IACzBC;EACF;EAEA;EACA,MAAM;IAAEwC,KAAK;IAAEC;EAAK,CAAE,GAAG/D,OAAA,CAAQ;IAC/B,IAAIgE,UAAA,GAAa;IACjB,MAAMC,MAAA,GAAmB,EAAE;IAE3B,KAAK,MAAM,CAACvB,gBAAA,EAAgB;MAAEa;IAAG,CAAE,CAAC,IAAIX,MAAA,CAAOC,OAAO,CAACpB,UAAA,GAAa;MAClE,MAAMV,MAAA,GAASgB,WAAA,CAAYmC,IAAI,CAAEC,CAAA,IAAMA,CAAA,CAAEnB,IAAI,KAAKN,gBAAA;MAElD,IAAI3B,MAAA,IAAUwC,GAAA,CAAIC,MAAM,GAAG,GAAG;QAC5BQ,UAAA,IAAcT,GAAA,CAAIC,MAAM;QACxB,MAAMY,eAAA,GAAkBzE,cAAA,CACtB4D,GAAA,CAAIC,MAAM,GAAG,IAAIzC,MAAA,CAAOkD,MAAM,CAACI,MAAM,GAAGtD,MAAA,CAAOkD,MAAM,CAACK,QAAQ,EAC9D5C,IAAA;QAEFuC,MAAA,CAAOM,IAAI,CAACH,eAAA;MACd;IACF;IAEA,OAAO;MACLN,KAAA,EAAOE,UAAA;MACPD,KAAA,EAAOE,MAAA,CAAOO,IAAI,CAAC;IACrB;EACF,GAAG,CAAC/C,UAAA,EAAYM,WAAA,EAAaL,IAAA,CAAK;EAElC,MAAM+C,yBAAA,GAA4B1C,WAAA,CAAYmC,IAAI,CAAEC,GAAA,IAAMA,GAAA,CAAEnB,IAAI,KAAK3B,aAAA;EACrE,MAAMH,eAAA,GAAkBL,kBAAA,CAAmB4D,yBAAA;EAE3C;EACA,MAAMC,OAAA,GAAUxD,eAAA,KAAoBD,SAAA;EAEpC,MAAM0D,gBAAA,GAAmB5E,WAAA,CACvB,CAAC;IAAE0B,UAAA,EAAYmD;EAAa,CAA2D;IACrF,IAAIA,aAAA,CAAc1B,IAAI,KAAK,GAAG;MAC5B;IACF;IAEA,MAAM2B,cAAA,GAAiBD,aAAA,CAAcE,MAAM,GAAGC,IAAI,GAAGC,KAAK;IAC1D,MAAMC,aAAA,GAAgBJ,cAAA,EAAgBK,EAAA;IACtC,MAAMC,gBAAA,GACJN,cAAA,EAAgBO,IAAA,GAAOP,cAAA,CAAeO,IAAI,CAAC5B,MAAM,GAAG,EAAE,EAAE6B,KAAA,IAASC,MAAA,CAAOL,aAAA;IAE1E7C,cAAA,CAAe;MAAE8C,EAAA,EAAID,aAAA;MAAeI,KAAA,EAAOF;IAAiB;IAC5DrD,SAAA,CAAUO,qBAAA;EACZ,GACA,CAACP,SAAA,EAAWO,qBAAA,CAAsB;EAGpC,MAAMkD,gBAAA,GAAmBxF,WAAA,CAAY;IACnCqC,cAAA,CAAe;MAAE8C,EAAA,EAAI;MAAMG,KAAA,EAAO1D,CAAA,CAAE;IAAsB;IAC1DG,SAAA,CAAUO,qBAAA;EACZ,GAAG,CAACP,SAAA,EAAWO,qBAAA,EAAuBV,CAAA,CAAE;EAExC,MAAM6D,iBAAA,GAAoBzF,WAAA,CAAY;IACpC,IAAIoC,WAAA,KAAgB,MAAM;MACxB;IACF;IAEA,IAAIsD,UAAA,GAAa;IACjB,IAAIC,SAAA,GAAY;IAEhB,IAAI;MACF,KAAK,MAAM,CAAChD,gBAAA,EAAgB;QAAEa,GAAG,EAAHA;MAAG,CAAE,CAAC,IAAIX,MAAA,CAAOC,OAAO,CAACpB,UAAA,GAAa;QAClE,IAAI8B,KAAA,CAAIC,MAAM,KAAK,GAAG;UACpB;QACF;QAEA,MAAMmC,WAAA,GAAc9F,EAAA,CAAG+F,SAAS,CAC9B;UACE/D,MAAA;UACAgE,KAAA,EAAO;YAAEX,EAAA,EAAI;cAAEY,EAAA,EAAIvC;YAAI;UAAE;QAC3B,GACA;UAAEwC,cAAA,EAAgB;QAAK;QAGzB,MAAMC,GAAA,GAAMpG,cAAA,CAAe;UACzBqG,QAAA,EAAUhE,GAAA;UACVmD,IAAA,EAAM,IAAI1C,gBAAA,GAAiBiD,WAAA;QAC7B;QAEA,MAAMO,QAAA,GAAW,MAAM3F,QAAA,CAAS4F,KAAK,CAACH,GAAA,EAAK;UACzCI,IAAA,EAAMC,IAAA,CAAKT,SAAS,CAAC;YAAE,CAAC1E,eAAA,GAAkBiB,WAAA,CAAY+C;UAAG;UACzDoB,OAAA,EAAS;YACP,mBAAmB5E,IAAA,CAAK6E,QAAQ;YAChC,gBAAgB;YAChBC,WAAA,EAAa;UACf;QACF;QAEA,MAAMC,IAAA,GAAO,MAAMP,QAAA,CAASO,IAAI;QAEhC,IAAIP,QAAA,CAASQ,MAAM,IAAI,KAAK;UAC1BhB,SAAA,GAAY;UAEZ,IAAIe,IAAA,EAAME,MAAA,EAAQnD,MAAA,GAAS,GAAG;YAC5BtD,KAAA,CAAM0G,KAAK,CAACH,IAAA,CAAKI,OAAO,IAAIlF,CAAA,CAAE,kBAAkB;cAC9CmF,WAAA,EAAaL,IAAA,CAAKE,MAAM,CACrBI,GAAG,CAAEH,KAAA,IAA+BA,KAAA,CAAMC,OAAO,EACjDrC,IAAI,CAAC;YACV;UACF,OAAO;YACLtE,KAAA,CAAM0G,KAAK,CAACH,IAAA,EAAMI,OAAA,IAAWlF,CAAA,CAAE;UACjC;UAEA;QACF;QAEA,MAAMqF,UAAA,GAAaP,IAAA,EAAMQ,IAAA,EAAMzD,MAAA,IAAU;QACzCiC,UAAA,IAAcuB,UAAA;QAEd,IAAIP,IAAA,EAAME,MAAA,EAAQnD,MAAA,GAAS,GAAG;UAC5BkC,SAAA,GAAY;UACZxF,KAAA,CAAM0G,KAAK,CAACH,IAAA,CAAKI,OAAO,EAAE;YACxBC,WAAA,EAAaL,IAAA,CAAKE,MAAM,CAACI,GAAG,CAAEH,OAAA,IAA+BA,OAAA,CAAMC,OAAO,EAAErC,IAAI,CAAC;UACnF;QACF;MACF;MAEA,IAAIiB,UAAA,GAAa,GAAG;QAClB,MAAMyB,UAAA,GACJ/E,WAAA,CAAY+C,EAAE,KAAK,OAAO,+BAA+B;QAE3DhF,KAAA,CAAMiH,OAAO,CACXxF,CAAA,CAAEuF,UAAA,EAAY;UACZ/E,WAAA,EAAaA,WAAA,CAAYkD,KAAK;UAC9BA,KAAA,EAAOtB;QACT;MAEJ;MAEA,IAAI,CAAC2B,SAAA,IAAaD,UAAA,GAAa,GAAG;QAChC/B,UAAA;QACAlC,SAAA;MACF;IACF,EAAE,OAAO4F,IAAA,EAAM;MACblH,KAAA,CAAM0G,KAAK,CAACjF,CAAA,CAAE;IAChB,UAAU;MACRS,cAAA,CAAe;IACjB;EACF,GAAG,CAACsB,UAAA,EAAYvB,WAAA,EAAaV,UAAA,EAAYP,eAAA,EAAiBW,MAAA,EAAQI,GAAA,EAAKP,IAAA,EAAMC,CAAA,EAAGoC,KAAA,EAAOvC,SAAA,CAAU;EAEjG,IAAIsC,KAAA,KAAU,KAAK,CAACY,OAAA,EAAS;IAC3B,OAAO;EACT;EAEA,oBACE2C,KAAA,CAACvH,KAAA,CAAMwH,QAAQ;4BACbC,IAAA,CAAC9G,mBAAA;MACC,cAAYkB,CAAA,CAAE;MACd6F,SAAA,EAAW,GAAG5G,SAAA,UAAmB;MACjC6G,OAAA,EAAS9D,kBAAA;gBAERhC,CAAA,CAAE;qBAEL4F,IAAA,CAAC9D,cAAA;MACCiE,OAAA,EAAS;MACTC,iBAAA,EAAmBvG,eAAA,GAAkB,CAACA,eAAA,CAAgB,GAAG;MACzDwG,YAAA,EAAcrC,gBAAA;MACdsC,MAAA,EAAQlD,gBAAA;MACRmD,cAAc;qBAEhBP,IAAA,CAAC/G,iBAAA;MACC4F,IAAA,eACEmB,IAAA,CAAC;kBACEpF,WAAA,EAAa+C,EAAA,KAAO,oBACnBqC,IAAA,CAAC7G,WAAA;UACCqH,QAAA,EAAU;YACR,KAAKC,CAAC;cAAEC;YAAQ,CAAE,kBAAKV,IAAA,CAAC;wBAAQU;;UAClC;UACAC,OAAA,EAAQ;UACRvG,CAAA,EAAGA,CAAA;UACHwG,SAAA,EAAW;YACTrE,KAAA;YACAC;UACF;0BAGFwD,IAAA,CAAC7G,WAAA;UACCqH,QAAA,EAAU;YACR,KAAKC,CAAC;cAAEC,QAAQ,EAARA;YAAQ,CAAE,kBAAKV,IAAA,CAAC;wBAAQU;;UAClC;UACAC,OAAA,EAAQ;UACRvG,CAAA,EAAGA,CAAA;UACHwG,SAAA,EAAW;YACTrE,KAAA;YACA3B,WAAA,EAAaA,WAAA,EAAakD,KAAA,IAAS;YACnCtB;UACF;;;MAKRqE,eAAA,EAAiBzG,CAAA,CAAE;MACnB0G,OAAA,EAAS1G,CAAA,CAAE;MACX2G,SAAA,EAAWjG,qBAAA;MACXkG,SAAA,EAAW/C;;;AAInB","ignoreList":[]}
@@ -8,32 +8,43 @@
8
8
  margin-left: 0;
9
9
  margin-right: 0;
10
10
  }
11
+
12
+ &:focus-visible {
13
+ outline: none;
14
+ }
11
15
  }
12
16
 
13
- .tree-node__content {
14
- padding: var(--tree-node-padding-y) var(--spacer-2);
15
- padding-left: calc(
16
- (var(--tree-depth, 0) * var(--tree-indent)) + (var(--spacer-1) * var(--tree-depth)) +
17
- var(--spacer-1)
17
+ .tree-node:focus-visible > .tree-node__content-wrapper > .tree-node__content {
18
+ outline: var(--accessibility-outline);
19
+ outline-offset: var(--accessibility-outline-offset);
20
+ }
21
+
22
+ .tree-node__content-wrapper {
23
+ margin-left: calc(
24
+ (var(--tree-depth, 0) * var(--tree-indent)) + (var(--spacer-1) * var(--tree-depth))
18
25
  );
26
+ margin-bottom: var(--tree-row-gap);
27
+ }
28
+
29
+ .tree-node__content {
30
+ display: flex;
31
+ align-items: center;
19
32
  transition: background-color 100ms ease;
20
33
  font-size: var(--tree-font-size);
21
34
  line-height: var(--tree-node-content-height);
22
- margin-bottom: var(--tree-row-gap);
23
35
  }
24
36
 
25
37
  .tree-node__toggle {
26
38
  background: none;
27
39
  border: none;
28
- padding: 0;
40
+ padding-block: var(--spacer-1);
41
+ padding-inline-start: var(--spacer-1);
29
42
  margin: 0;
30
43
  display: flex;
31
44
  align-items: center;
32
45
  justify-content: center;
33
46
  cursor: default;
34
47
  color: var(--color-icon-tertiary);
35
- width: var(--tree-chevron-width);
36
- height: var(--tree-chevron-width);
37
48
  flex-shrink: 0;
38
49
  border-radius: var(--button-radius);
39
50
 
@@ -42,13 +53,27 @@
42
53
  }
43
54
  }
44
55
 
45
- .tree-node__toggle-spacer {
46
- width: calc(var(--tree-chevron-width) + var(--tree-chevron-spacing));
47
- flex-shrink: 0;
56
+ .tree-node__node-trigger {
57
+ border: none;
58
+ background: none;
59
+ margin: 0;
60
+ padding: 0;
61
+ color: inherit;
62
+ font: inherit;
63
+ min-width: 0;
64
+ flex: 1;
65
+ display: flex;
66
+ align-items: center;
67
+ gap: var(--spacer-1);
68
+ text-align: left;
69
+ cursor: pointer;
70
+ padding-block: var(--spacer-1);
71
+ padding-inline-end: var(--spacer-1);
48
72
  }
49
73
 
50
74
  .tree-node__title {
51
- padding-left: var(--spacer-1);
75
+ padding-left: 0;
76
+ margin-left: var(--spacer-1);
52
77
  }
53
78
 
54
79
  .tree-node__loading {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/Hierarchy/Tree/TreeNode/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAQhD,OAAO,aAAa,CAAA;AAqBpB,eAAO,MAAM,QAAQ,GAAI,uNAkBtB,aAAa,sBA0Mf,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/Hierarchy/Tree/TreeNode/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAQhD,OAAO,aAAa,CAAA;AAqBpB,eAAO,MAAM,QAAQ,GAAI,uNAkBtB,aAAa,sBAgNf,CAAA"}