@payloadcms/ui 4.0.0-canary.0 → 4.0.0-canary.2

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 (1179) hide show
  1. package/dist/css/colors.css +107 -60
  2. package/dist/css/radius.css +1 -3
  3. package/dist/css/theme.css +4 -0
  4. package/dist/css/utilities.css +5 -0
  5. package/dist/elements/APIKeyInput/index.css +92 -0
  6. package/dist/elements/APIKeyInput/index.d.ts +14 -0
  7. package/dist/elements/APIKeyInput/index.d.ts.map +1 -0
  8. package/dist/elements/APIKeyInput/index.js +86 -0
  9. package/dist/elements/APIKeyInput/index.js.map +1 -0
  10. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  11. package/dist/elements/AddNewRelation/index.js +85 -103
  12. package/dist/elements/AddNewRelation/index.js.map +1 -1
  13. package/dist/elements/AppHeader/index.d.ts +2 -1
  14. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  15. package/dist/elements/AppHeader/index.js +7 -27
  16. package/dist/elements/AppHeader/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/ActionsBar/index.css +10 -4
  18. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/ActionsBar/index.js +43 -40
  20. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/AddFilesView/index.js +1 -1
  22. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/AddingFilesView/index.css +25 -0
  24. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +1 -1
  25. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/AddingFilesView/index.js +1 -1
  27. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/EditForm/index.css +9 -0
  29. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/EditForm/index.js +1 -1
  32. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  33. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -1
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +59 -55
  36. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  37. package/dist/elements/BulkUpload/EditMany/index.css +71 -0
  38. package/dist/elements/BulkUpload/EditMany/index.d.ts +1 -1
  39. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  40. package/dist/elements/BulkUpload/EditMany/index.js +1 -1
  41. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/FileSidebar/index.css +54 -75
  43. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  44. package/dist/elements/BulkUpload/FileSidebar/index.js +60 -50
  45. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  46. package/dist/elements/Button/index.css +8 -0
  47. package/dist/elements/Chip/index.css +1 -1
  48. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  49. package/dist/elements/CodeEditor/CodeEditor.js +19 -0
  50. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  51. package/dist/elements/ColumnSelector/index.js +1 -1
  52. package/dist/elements/ColumnSelector/index.js.map +1 -1
  53. package/dist/elements/Combobox/index.css +9 -8
  54. package/dist/elements/Combobox/index.d.ts +2 -0
  55. package/dist/elements/Combobox/index.d.ts.map +1 -1
  56. package/dist/elements/Combobox/index.js +25 -20
  57. package/dist/elements/Combobox/index.js.map +1 -1
  58. package/dist/elements/ConfirmationModal/index.css +7 -0
  59. package/dist/elements/ConfirmationModal/index.d.ts +1 -0
  60. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  61. package/dist/elements/ConfirmationModal/index.js +29 -116
  62. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  63. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  64. package/dist/elements/DatePicker/DatePicker.js +4 -2
  65. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  66. package/dist/elements/DatePicker/index.css +5 -0
  67. package/dist/elements/DatePicker/index.js +1 -1
  68. package/dist/elements/DatePicker/index.js.map +1 -1
  69. package/dist/elements/DeleteMany/index.d.ts +3 -26
  70. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  71. package/dist/elements/DeleteMany/index.js +1 -95
  72. package/dist/elements/DeleteMany/index.js.map +1 -1
  73. package/dist/elements/Dialog/DialogBody/index.d.ts +6 -0
  74. package/dist/elements/Dialog/DialogBody/index.d.ts.map +1 -0
  75. package/dist/elements/Dialog/DialogBody/index.js +14 -0
  76. package/dist/elements/Dialog/DialogBody/index.js.map +1 -0
  77. package/dist/elements/Dialog/DialogCancel/index.d.ts +7 -0
  78. package/dist/elements/Dialog/DialogCancel/index.d.ts.map +1 -0
  79. package/dist/elements/Dialog/DialogCancel/index.js +69 -0
  80. package/dist/elements/Dialog/DialogCancel/index.js.map +1 -0
  81. package/dist/elements/Dialog/DialogConfirm/index.d.ts +8 -0
  82. package/dist/elements/Dialog/DialogConfirm/index.d.ts.map +1 -0
  83. package/dist/elements/Dialog/DialogConfirm/index.js +75 -0
  84. package/dist/elements/Dialog/DialogConfirm/index.js.map +1 -0
  85. package/dist/elements/Dialog/DialogFooter/index.d.ts +6 -0
  86. package/dist/elements/Dialog/DialogFooter/index.d.ts.map +1 -0
  87. package/dist/elements/Dialog/DialogFooter/index.js +17 -0
  88. package/dist/elements/Dialog/DialogFooter/index.js.map +1 -0
  89. package/dist/elements/Dialog/DialogHeader/index.d.ts +8 -0
  90. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -0
  91. package/dist/elements/Dialog/DialogHeader/index.js +70 -0
  92. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -0
  93. package/dist/elements/Dialog/DialogModal/index.d.ts +18 -0
  94. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -0
  95. package/dist/elements/Dialog/DialogModal/index.js +99 -0
  96. package/dist/elements/Dialog/DialogModal/index.js.map +1 -0
  97. package/dist/elements/Dialog/context.d.ts +8 -0
  98. package/dist/elements/Dialog/context.d.ts.map +1 -0
  99. package/dist/elements/Dialog/context.js +10 -0
  100. package/dist/elements/Dialog/context.js.map +1 -0
  101. package/dist/elements/{Modal → Dialog}/index.css +46 -32
  102. package/dist/elements/Dialog/index.d.ts +13 -0
  103. package/dist/elements/Dialog/index.d.ts.map +1 -0
  104. package/dist/elements/Dialog/index.js +7 -0
  105. package/dist/elements/Dialog/index.js.map +1 -0
  106. package/dist/elements/DocumentControls/index.css +10 -0
  107. package/dist/elements/DocumentControls/index.d.ts +6 -0
  108. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  109. package/dist/elements/DocumentControls/index.js +7 -6
  110. package/dist/elements/DocumentControls/index.js.map +1 -1
  111. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  112. package/dist/elements/DocumentDrawer/DrawerContent.js +10 -6
  113. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  114. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +76 -4
  115. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +7 -1
  116. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  117. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +148 -87
  118. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  119. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  120. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  121. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  122. package/dist/elements/DocumentFields/index.css +61 -2
  123. package/dist/elements/DocumentLocked/index.css +5 -0
  124. package/dist/elements/DocumentLocked/index.d.ts +1 -0
  125. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  126. package/dist/elements/DocumentLocked/index.js +68 -92
  127. package/dist/elements/DocumentLocked/index.js.map +1 -1
  128. package/dist/elements/DocumentStaleData/index.d.ts.map +1 -1
  129. package/dist/elements/DocumentStaleData/index.js +36 -34
  130. package/dist/elements/DocumentStaleData/index.js.map +1 -1
  131. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -1
  132. package/dist/elements/DocumentTakeOver/index.js +46 -52
  133. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  134. package/dist/elements/Drawer/index.css +57 -26
  135. package/dist/elements/Drawer/index.d.ts +25 -0
  136. package/dist/elements/Drawer/index.d.ts.map +1 -1
  137. package/dist/elements/Drawer/index.js +133 -54
  138. package/dist/elements/Drawer/index.js.map +1 -1
  139. package/dist/elements/Drawer/types.d.ts +1 -0
  140. package/dist/elements/Drawer/types.d.ts.map +1 -1
  141. package/dist/elements/Drawer/types.js.map +1 -1
  142. package/dist/elements/EditMany/DrawerContent.d.ts +1 -1
  143. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  144. package/dist/elements/EditMany/DrawerContent.js +76 -71
  145. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  146. package/dist/elements/EditMany/index.css +71 -0
  147. package/dist/elements/EditMany/index.d.ts +9 -11
  148. package/dist/elements/EditMany/index.d.ts.map +1 -1
  149. package/dist/elements/EditMany/index.js +2 -40
  150. package/dist/elements/EditMany/index.js.map +1 -1
  151. package/dist/elements/FieldSelect/index.css +3 -0
  152. package/dist/elements/FileDetails/DraggableFileDetails/index.css +32 -0
  153. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  154. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  155. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -18
  156. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  157. package/dist/elements/GroupByControl/index.d.ts.map +1 -1
  158. package/dist/elements/GroupByControl/index.js +5 -6
  159. package/dist/elements/GroupByControl/index.js.map +1 -1
  160. package/dist/elements/Hierarchy/Drawer/index.css +3 -21
  161. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +1 -1
  162. package/dist/elements/Hierarchy/Drawer/index.js +5 -3
  163. package/dist/elements/Hierarchy/Drawer/index.js.map +1 -1
  164. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  165. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +1 -1
  166. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  167. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -1
  168. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  169. package/dist/elements/Hierarchy/Field/index.client.d.ts +1 -1
  170. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  171. package/dist/elements/Hierarchy/Field/index.client.js +5 -2
  172. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  173. package/dist/elements/Hierarchy/Field/index.css +37 -0
  174. package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -1
  175. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  176. package/dist/elements/Hierarchy/MoveMany/index.js +0 -1
  177. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  178. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +27 -0
  179. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +1 -1
  180. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -1
  181. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +1 -1
  182. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -1
  183. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  184. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +36 -16
  185. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  186. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  187. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +20 -15
  188. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  189. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  190. package/dist/elements/LeaveWithoutSaving/index.js +40 -35
  191. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  192. package/dist/elements/ListControls/index.css +4 -6
  193. package/dist/elements/ListControls/index.d.ts.map +1 -1
  194. package/dist/elements/ListControls/index.js +24 -10
  195. package/dist/elements/ListControls/index.js.map +1 -1
  196. package/dist/elements/ListControls/types.d.ts +2 -0
  197. package/dist/elements/ListControls/types.d.ts.map +1 -1
  198. package/dist/elements/ListControls/types.js.map +1 -1
  199. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  200. package/dist/elements/ListDrawer/DrawerContent.js +12 -6
  201. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  202. package/dist/elements/ListSelection/index.css +1 -1
  203. package/dist/elements/LivePreview/ToolbarArea/index.d.ts +1 -1
  204. package/dist/elements/LivePreview/ToolbarArea/index.d.ts.map +1 -1
  205. package/dist/elements/LivePreview/ToolbarArea/index.js +1 -1
  206. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  207. package/dist/elements/LoadMoreRow/index.css +34 -0
  208. package/dist/elements/LoadMoreRow/index.d.ts +1 -1
  209. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -1
  210. package/dist/elements/LoadMoreRow/index.js +4 -8
  211. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  212. package/dist/elements/Loading/index.css +28 -74
  213. package/dist/elements/Loading/index.d.ts.map +1 -1
  214. package/dist/elements/Loading/index.js +16 -60
  215. package/dist/elements/Loading/index.js.map +1 -1
  216. package/dist/elements/Localizer/index.d.ts.map +1 -1
  217. package/dist/elements/Localizer/index.js +3 -4
  218. package/dist/elements/Localizer/index.js.map +1 -1
  219. package/dist/elements/MenuSeparator/index.d.ts +4 -0
  220. package/dist/elements/MenuSeparator/index.d.ts.map +1 -0
  221. package/dist/elements/MenuSeparator/index.js +10 -0
  222. package/dist/elements/MenuSeparator/index.js.map +1 -0
  223. package/dist/elements/Modal/index.d.ts +1 -17
  224. package/dist/elements/Modal/index.d.ts.map +1 -1
  225. package/dist/elements/Modal/index.js +1 -44
  226. package/dist/elements/Modal/index.js.map +1 -1
  227. package/dist/elements/Nav/NavWrapper/{index.scss → index.css} +2 -4
  228. package/dist/elements/Nav/NavWrapper/index.d.ts +1 -1
  229. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  230. package/dist/elements/Nav/NavWrapper/index.js +1 -1
  231. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  232. package/dist/elements/Nav/SidebarTabs/index.css +6 -0
  233. package/dist/elements/Nav/index.d.ts.map +1 -1
  234. package/dist/elements/Nav/index.js +4 -23
  235. package/dist/elements/Nav/index.js.map +1 -1
  236. package/dist/elements/NavGroup/index.d.ts.map +1 -1
  237. package/dist/elements/NavGroup/index.js +21 -29
  238. package/dist/elements/NavGroup/index.js.map +1 -1
  239. package/dist/elements/Pill/index.css +1 -1
  240. package/dist/elements/PillSelector/index.css +1 -1
  241. package/dist/elements/Popup/PopupButtonList/index.css +43 -4
  242. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  243. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  244. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  245. package/dist/elements/Popup/PopupGroupLabel/index.css +12 -0
  246. package/dist/elements/Popup/index.d.ts +7 -0
  247. package/dist/elements/Popup/index.d.ts.map +1 -1
  248. package/dist/elements/Popup/index.js +125 -59
  249. package/dist/elements/Popup/index.js.map +1 -1
  250. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts +13 -0
  251. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -0
  252. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js +41 -0
  253. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js.map +1 -0
  254. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -0
  255. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  256. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  257. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  258. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  259. package/dist/elements/PublishButton/index.js +4 -5
  260. package/dist/elements/PublishButton/index.js.map +1 -1
  261. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  262. package/dist/elements/ReactSelect/index.css +53 -52
  263. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  264. package/dist/elements/ReactSelect/index.js +88 -12
  265. package/dist/elements/ReactSelect/index.js.map +1 -1
  266. package/dist/elements/ReactSelect/types.d.ts +6 -1
  267. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  268. package/dist/elements/ReactSelect/types.js.map +1 -1
  269. package/dist/elements/RenderTitle/index.css +10 -0
  270. package/dist/elements/RenderTitle/index.d.ts +5 -0
  271. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  272. package/dist/elements/RenderTitle/index.js +52 -27
  273. package/dist/elements/RenderTitle/index.js.map +1 -1
  274. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  275. package/dist/elements/SchedulePublishButton/index.js +6 -1
  276. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  277. package/dist/elements/SelectMany/index.js +1 -1
  278. package/dist/elements/SelectMany/index.js.map +1 -1
  279. package/dist/elements/ShimmerEffect/index.css +40 -0
  280. package/dist/elements/ShimmerEffect/index.d.ts +1 -1
  281. package/dist/elements/ShimmerEffect/index.d.ts.map +1 -1
  282. package/dist/elements/ShimmerEffect/index.js +1 -1
  283. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  284. package/dist/elements/Spinner/index.css +16 -0
  285. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  286. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -2
  287. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  288. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  289. package/dist/elements/Table/OrderableRow.js +1 -1
  290. package/dist/elements/Table/OrderableRow.js.map +1 -1
  291. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  292. package/dist/elements/Table/RelationshipProvider/index.js +1 -0
  293. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  294. package/dist/elements/Table/index.css +17 -10
  295. package/dist/elements/Tabs/index.css +100 -0
  296. package/dist/elements/Tabs/index.d.ts +32 -0
  297. package/dist/elements/Tabs/index.d.ts.map +1 -0
  298. package/dist/elements/Tabs/index.js +62 -0
  299. package/dist/elements/Tabs/index.js.map +1 -0
  300. package/dist/elements/TimezonePicker/index.css +58 -24
  301. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  302. package/dist/elements/TimezonePicker/index.js +31 -4
  303. package/dist/elements/TimezonePicker/index.js.map +1 -1
  304. package/dist/elements/Tooltip/index.css +20 -4
  305. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  306. package/dist/elements/Tooltip/index.js +71 -3
  307. package/dist/elements/Tooltip/index.js.map +1 -1
  308. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  309. package/dist/elements/UnpublishButton/index.js +5 -13
  310. package/dist/elements/UnpublishButton/index.js.map +1 -1
  311. package/dist/elements/UserMenu/LanguageMenu/index.d.ts +6 -0
  312. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -0
  313. package/dist/elements/UserMenu/LanguageMenu/index.js +133 -0
  314. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -0
  315. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +11 -0
  316. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -0
  317. package/dist/elements/UserMenu/SettingsMenu/index.js +114 -0
  318. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -0
  319. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts +6 -0
  320. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -0
  321. package/dist/elements/UserMenu/SubMenuHeader/index.js +34 -0
  322. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -0
  323. package/dist/elements/UserMenu/ThemeMenu/index.d.ts +6 -0
  324. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -0
  325. package/dist/elements/UserMenu/ThemeMenu/index.js +145 -0
  326. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -0
  327. package/dist/elements/UserMenu/index.css +80 -0
  328. package/dist/elements/UserMenu/index.d.ts +9 -0
  329. package/dist/elements/UserMenu/index.d.ts.map +1 -0
  330. package/dist/elements/UserMenu/index.js +201 -0
  331. package/dist/elements/UserMenu/index.js.map +1 -0
  332. package/dist/elements/WhereBuilder/Condition/Number/index.d.ts +0 -1
  333. package/dist/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
  334. package/dist/elements/WhereBuilder/Condition/Number/index.js +26 -40
  335. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  336. package/dist/elements/WhereBuilder/Condition/Relationship/index.css +2 -2
  337. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts +0 -1
  338. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  339. package/dist/elements/WhereBuilder/Condition/Text/index.js +24 -35
  340. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  341. package/dist/elements/WhereBuilder/Condition/index.css +111 -0
  342. package/dist/elements/WhereBuilder/Condition/index.d.ts +5 -2
  343. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  344. package/dist/elements/WhereBuilder/Condition/index.js +41 -21
  345. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  346. package/dist/elements/WhereBuilder/index.css +74 -0
  347. package/dist/elements/WhereBuilder/index.d.ts +1 -1
  348. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  349. package/dist/elements/WhereBuilder/index.js +138 -92
  350. package/dist/elements/WhereBuilder/index.js.map +1 -1
  351. package/dist/elements/WhereBuilder/types.d.ts +7 -0
  352. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  353. package/dist/elements/WhereBuilder/types.js.map +1 -1
  354. package/dist/exports/client/{CodeEditor-A66UUZBE.js → CodeEditor-T3624SG3.js} +2 -2
  355. package/dist/exports/client/{DatePicker-XEMRSUWJ.js → DatePicker-6KF52Z3G.js} +2 -2
  356. package/dist/exports/client/{chunk-I3GONEJJ.js → chunk-7T64ULOM.js} +2 -2
  357. package/dist/exports/client/{chunk-I3GONEJJ.js.map → chunk-7T64ULOM.js.map} +3 -3
  358. package/dist/exports/client/chunk-DMFYTMX6.js +27 -0
  359. package/dist/exports/client/chunk-DMFYTMX6.js.map +7 -0
  360. package/dist/exports/client/index.d.ts +47 -6
  361. package/dist/exports/client/index.d.ts.map +1 -1
  362. package/dist/exports/client/index.js +26 -26
  363. package/dist/exports/client/index.js.map +4 -4
  364. package/dist/exports/shared/index.js +2 -2
  365. package/dist/exports/shared/index.js.map +2 -2
  366. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -49
  367. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -1
  368. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +27 -20
  369. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  370. package/dist/fields/Blocks/BlockSelector/index.css +17 -3
  371. package/dist/fields/Blocks/BlockSelector/index.js +1 -1
  372. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  373. package/dist/fields/Blocks/index.d.ts.map +1 -1
  374. package/dist/fields/Blocks/index.js +6 -11
  375. package/dist/fields/Blocks/index.js.map +1 -1
  376. package/dist/fields/Group/index.css +1 -1
  377. package/dist/fields/Join/index.js +1 -1
  378. package/dist/fields/Join/index.js.map +1 -1
  379. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +3 -3
  380. package/dist/fields/Row/index.d.ts +1 -1
  381. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  382. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  383. package/dist/fields/Tabs/Tab/index.js +12 -23
  384. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  385. package/dist/fields/Tabs/index.d.ts.map +1 -1
  386. package/dist/fields/Tabs/index.js +37 -37
  387. package/dist/fields/Tabs/index.js.map +1 -1
  388. package/dist/fields/Upload/HasMany/index.css +4 -0
  389. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  390. package/dist/forms/RenderFields/RenderField.js +2 -1
  391. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  392. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  393. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  394. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
  395. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  396. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -1
  397. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  398. package/dist/icons/Dots/index.css +4 -4
  399. package/dist/icons/Gear/index.d.ts.map +1 -1
  400. package/dist/icons/Gear/index.js +8 -1
  401. package/dist/icons/Gear/index.js.map +1 -1
  402. package/dist/icons/InteractionEnter/index.css +5 -0
  403. package/dist/icons/InteractionEnter/index.d.ts +11 -0
  404. package/dist/icons/InteractionEnter/index.d.ts.map +1 -0
  405. package/dist/icons/InteractionEnter/index.js +25 -0
  406. package/dist/icons/InteractionEnter/index.js.map +1 -0
  407. package/dist/icons/{Write → Key}/index.css +1 -1
  408. package/dist/icons/Key/index.d.ts +7 -0
  409. package/dist/icons/Key/index.d.ts.map +1 -0
  410. package/dist/icons/Key/index.js +24 -0
  411. package/dist/icons/Key/index.js.map +1 -0
  412. package/dist/icons/LogOut/index.js +2 -2
  413. package/dist/icons/LogOut/index.js.map +1 -1
  414. package/dist/icons/Schedule/index.d.ts.map +1 -1
  415. package/dist/icons/Schedule/index.js +38 -39
  416. package/dist/icons/Schedule/index.js.map +1 -1
  417. package/dist/icons/VariableColor/index.css +5 -0
  418. package/dist/icons/VariableColor/index.d.ts +7 -0
  419. package/dist/icons/VariableColor/index.d.ts.map +1 -0
  420. package/dist/icons/VariableColor/index.js +23 -0
  421. package/dist/icons/VariableColor/index.js.map +1 -0
  422. package/dist/icons/WarningTriangle/index.css +5 -0
  423. package/dist/icons/WarningTriangle/index.d.ts +6 -0
  424. package/dist/icons/WarningTriangle/index.d.ts.map +1 -0
  425. package/dist/icons/WarningTriangle/index.js +21 -0
  426. package/dist/icons/WarningTriangle/index.js.map +1 -0
  427. package/dist/icons/Write/index.d.ts +0 -1
  428. package/dist/icons/Write/index.d.ts.map +1 -1
  429. package/dist/icons/Write/index.js +1 -2
  430. package/dist/icons/Write/index.js.map +1 -1
  431. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  432. package/dist/providers/DocumentInfo/index.js +4 -0
  433. package/dist/providers/DocumentInfo/index.js.map +1 -1
  434. package/dist/providers/DocumentInfo/types.d.ts +4 -0
  435. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  436. package/dist/providers/DocumentInfo/types.js.map +1 -1
  437. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  438. package/dist/providers/ListQuery/index.js +23 -8
  439. package/dist/providers/ListQuery/index.js.map +1 -1
  440. package/dist/providers/ListQuery/types.d.ts +2 -0
  441. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  442. package/dist/providers/ListQuery/types.js.map +1 -1
  443. package/dist/providers/Root/index.d.ts.map +1 -1
  444. package/dist/providers/Root/index.js +18 -21
  445. package/dist/providers/Root/index.js.map +1 -1
  446. package/dist/providers/RouteTransition/ProgressBar/index.css +23 -0
  447. package/dist/providers/RouteTransition/ProgressBar/index.d.ts +1 -1
  448. package/dist/providers/RouteTransition/ProgressBar/index.d.ts.map +1 -1
  449. package/dist/providers/RouteTransition/ProgressBar/index.js +1 -1
  450. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  451. package/dist/providers/TableColumns/RenderDefaultCell/index.css +9 -10
  452. package/dist/providers/Theme/index.d.ts +17 -2
  453. package/dist/providers/Theme/index.d.ts.map +1 -1
  454. package/dist/providers/Theme/index.js +126 -75
  455. package/dist/providers/Theme/index.js.map +1 -1
  456. package/dist/scss/app.scss +1 -1
  457. package/dist/scss/styles.scss +4 -4
  458. package/dist/scss/toastify.scss +2 -2
  459. package/dist/styles.css +1 -1
  460. package/dist/templates/Default/index.d.ts.map +1 -1
  461. package/dist/templates/Default/index.js +9 -1
  462. package/dist/templates/Default/index.js.map +1 -1
  463. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +1 -2
  464. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  465. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +1 -2
  466. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  467. package/dist/utilities/copyDataFromLocale.js +1 -1
  468. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  469. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  470. package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
  471. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  472. package/dist/utilities/formatMetadata.d.ts +5 -0
  473. package/dist/utilities/formatMetadata.d.ts.map +1 -0
  474. package/dist/utilities/formatMetadata.js +108 -0
  475. package/dist/utilities/formatMetadata.js.map +1 -0
  476. package/dist/utilities/formatMetadata.spec.js +83 -0
  477. package/dist/utilities/formatMetadata.spec.js.map +1 -0
  478. package/dist/utilities/getDocPreferences.d.ts +11 -0
  479. package/dist/utilities/getDocPreferences.d.ts.map +1 -0
  480. package/dist/utilities/getDocPreferences.js +45 -0
  481. package/dist/utilities/getDocPreferences.js.map +1 -0
  482. package/dist/utilities/getDocumentData.d.ts +14 -0
  483. package/dist/utilities/getDocumentData.d.ts.map +1 -0
  484. package/dist/utilities/getDocumentData.js +60 -0
  485. package/dist/utilities/getDocumentData.js.map +1 -0
  486. package/dist/utilities/getDocumentPermissions.d.ts +18 -0
  487. package/dist/utilities/getDocumentPermissions.d.ts.map +1 -0
  488. package/dist/utilities/getDocumentPermissions.js +125 -0
  489. package/dist/utilities/getDocumentPermissions.js.map +1 -0
  490. package/dist/utilities/getHasScheduledPublish.d.ts +12 -0
  491. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -0
  492. package/dist/utilities/getHasScheduledPublish.js +38 -0
  493. package/dist/utilities/getHasScheduledPublish.js.map +1 -0
  494. package/dist/utilities/getHierarchyAncestry.d.ts +24 -0
  495. package/dist/utilities/getHierarchyAncestry.d.ts.map +1 -0
  496. package/dist/utilities/getHierarchyAncestry.js +103 -0
  497. package/dist/utilities/getHierarchyAncestry.js.map +1 -0
  498. package/dist/utilities/getIsLocked.d.ts +16 -0
  499. package/dist/utilities/getIsLocked.d.ts.map +1 -0
  500. package/dist/utilities/getIsLocked.js +79 -0
  501. package/dist/utilities/getIsLocked.js.map +1 -0
  502. package/dist/utilities/getRouteWithoutAdmin.d.ts +5 -0
  503. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -0
  504. package/dist/utilities/getRouteWithoutAdmin.js +7 -0
  505. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -0
  506. package/dist/utilities/getVersions.d.ts +26 -0
  507. package/dist/utilities/getVersions.d.ts.map +1 -0
  508. package/dist/utilities/getVersions.js +215 -0
  509. package/dist/utilities/getVersions.js.map +1 -0
  510. package/dist/utilities/handleAuthRedirect.d.ts +23 -0
  511. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -0
  512. package/dist/utilities/handleAuthRedirect.js +42 -0
  513. package/dist/utilities/handleAuthRedirect.js.map +1 -0
  514. package/dist/utilities/handleServerFunctions.d.ts +11 -0
  515. package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
  516. package/dist/utilities/handleServerFunctions.js +72 -0
  517. package/dist/utilities/handleServerFunctions.js.map +1 -0
  518. package/dist/utilities/isCustomAdminView.d.ts +8 -0
  519. package/dist/utilities/isCustomAdminView.d.ts.map +1 -0
  520. package/dist/utilities/isCustomAdminView.js +22 -0
  521. package/dist/utilities/isCustomAdminView.js.map +1 -0
  522. package/dist/utilities/isCustomAdminView.spec.js +90 -0
  523. package/dist/utilities/isCustomAdminView.spec.js.map +1 -0
  524. package/dist/utilities/isPathMatchingRoute.d.ts +8 -0
  525. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -0
  526. package/dist/utilities/isPathMatchingRoute.js +30 -0
  527. package/dist/utilities/isPathMatchingRoute.js.map +1 -0
  528. package/dist/utilities/isPathMatchingRoute.spec.js +178 -0
  529. package/dist/utilities/isPathMatchingRoute.spec.js.map +1 -0
  530. package/dist/utilities/isPublicAdminRoute.d.ts +7 -0
  531. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -0
  532. package/dist/utilities/isPublicAdminRoute.js +24 -0
  533. package/dist/utilities/isPublicAdminRoute.js.map +1 -0
  534. package/dist/utilities/renderTable.js +1 -1
  535. package/dist/utilities/renderTable.js.map +1 -1
  536. package/dist/utilities/slugify.d.ts +15 -0
  537. package/dist/utilities/slugify.d.ts.map +1 -0
  538. package/dist/utilities/slugify.js +47 -0
  539. package/dist/utilities/slugify.js.map +1 -0
  540. package/dist/utilities/switchLanguageHandler.d.ts +13 -0
  541. package/dist/utilities/switchLanguageHandler.d.ts.map +1 -0
  542. package/dist/utilities/switchLanguageHandler.js +16 -0
  543. package/dist/utilities/switchLanguageHandler.js.map +1 -0
  544. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  545. package/dist/utilities/traverseForLocalizedFields.js +3 -0
  546. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  547. package/dist/views/API/LocaleSelector/index.d.ts +9 -0
  548. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -0
  549. package/dist/views/API/LocaleSelector/index.js +45 -0
  550. package/dist/views/API/LocaleSelector/index.js.map +1 -0
  551. package/dist/views/API/generateAPIViewMetadata.d.ts +19 -0
  552. package/dist/views/API/generateAPIViewMetadata.d.ts.map +1 -0
  553. package/dist/views/API/generateAPIViewMetadata.js +29 -0
  554. package/dist/views/API/generateAPIViewMetadata.js.map +1 -0
  555. package/dist/views/API/index.client.d.ts +4 -0
  556. package/dist/views/API/index.client.d.ts.map +1 -0
  557. package/dist/views/API/index.client.js +263 -0
  558. package/dist/views/API/index.client.js.map +1 -0
  559. package/dist/views/API/index.css +205 -0
  560. package/dist/views/API/index.d.ts +4 -0
  561. package/dist/views/API/index.d.ts.map +1 -0
  562. package/dist/views/API/index.js +8 -0
  563. package/dist/views/API/index.js.map +1 -0
  564. package/dist/views/Account/ResetPreferences/index.d.ts +5 -0
  565. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -0
  566. package/dist/views/Account/ResetPreferences/index.js +116 -0
  567. package/dist/views/Account/ResetPreferences/index.js.map +1 -0
  568. package/dist/views/Account/Settings/LanguageSelector.d.ts +6 -0
  569. package/dist/views/Account/Settings/LanguageSelector.d.ts.map +1 -0
  570. package/dist/views/Account/Settings/LanguageSelector.js +53 -0
  571. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -0
  572. package/dist/views/Account/Settings/index.css +43 -0
  573. package/dist/views/Account/Settings/index.d.ts +13 -0
  574. package/dist/views/Account/Settings/index.d.ts.map +1 -0
  575. package/dist/views/Account/Settings/index.js +33 -0
  576. package/dist/views/Account/Settings/index.js.map +1 -0
  577. package/dist/views/Account/ToggleHighContrast/index.d.ts +3 -0
  578. package/dist/views/Account/ToggleHighContrast/index.d.ts.map +1 -0
  579. package/dist/views/Account/ToggleHighContrast/index.js +47 -0
  580. package/dist/views/Account/ToggleHighContrast/index.js.map +1 -0
  581. package/dist/views/Account/ToggleTheme/index.d.ts +3 -0
  582. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -0
  583. package/dist/views/Account/ToggleTheme/index.js +46 -0
  584. package/dist/views/Account/ToggleTheme/index.js.map +1 -0
  585. package/dist/views/Account/index.client.d.ts +3 -0
  586. package/dist/views/Account/index.client.d.ts.map +1 -0
  587. package/dist/views/Account/index.client.js +38 -0
  588. package/dist/views/Account/index.client.js.map +1 -0
  589. package/dist/views/Account/index.d.ts +4 -0
  590. package/dist/views/Account/index.d.ts.map +1 -0
  591. package/dist/views/Account/index.js +181 -0
  592. package/dist/views/Account/index.js.map +1 -0
  593. package/dist/views/Account/metadata.d.ts +3 -0
  594. package/dist/views/Account/metadata.d.ts.map +1 -0
  595. package/dist/views/Account/metadata.js +14 -0
  596. package/dist/views/Account/metadata.js.map +1 -0
  597. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts +11 -0
  598. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts.map +1 -0
  599. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.js +25 -0
  600. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.js.map +1 -0
  601. package/dist/views/CollectionTrash/index.d.ts +18 -0
  602. package/dist/views/CollectionTrash/index.d.ts.map +1 -0
  603. package/dist/views/CollectionTrash/index.js +20 -0
  604. package/dist/views/CollectionTrash/index.js.map +1 -0
  605. package/dist/views/CreateFirstUser/index.client.d.ts +10 -0
  606. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -0
  607. package/dist/views/CreateFirstUser/index.client.js +128 -0
  608. package/dist/views/CreateFirstUser/index.client.js.map +1 -0
  609. package/dist/views/CreateFirstUser/index.css +69 -0
  610. package/dist/views/CreateFirstUser/index.d.ts +5 -0
  611. package/dist/views/CreateFirstUser/index.d.ts.map +1 -0
  612. package/dist/views/CreateFirstUser/index.js +94 -0
  613. package/dist/views/CreateFirstUser/index.js.map +1 -0
  614. package/dist/views/CreateFirstUser/metadata.d.ts +3 -0
  615. package/dist/views/CreateFirstUser/metadata.d.ts.map +1 -0
  616. package/dist/views/CreateFirstUser/metadata.js +14 -0
  617. package/dist/views/CreateFirstUser/metadata.js.map +1 -0
  618. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts +19 -0
  619. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -0
  620. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +216 -0
  621. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -0
  622. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts +11 -0
  623. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -0
  624. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +137 -0
  625. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -0
  626. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts +8 -0
  627. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -0
  628. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +81 -0
  629. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -0
  630. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts +22 -0
  631. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -0
  632. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +444 -0
  633. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -0
  634. package/dist/views/Dashboard/Default/ModularDashboard/index.css +299 -0
  635. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts +5 -0
  636. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -0
  637. package/dist/views/Dashboard/Default/ModularDashboard/index.js +74 -0
  638. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -0
  639. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.d.ts +15 -0
  640. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.d.ts.map +1 -0
  641. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +107 -0
  642. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -0
  643. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts +12 -0
  644. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -0
  645. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +65 -0
  646. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -0
  647. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts +21 -0
  648. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -0
  649. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +80 -0
  650. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -0
  651. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +21 -0
  652. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -0
  653. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +194 -0
  654. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -0
  655. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.d.ts +7 -0
  656. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.d.ts.map +1 -0
  657. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +38 -0
  658. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -0
  659. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.d.ts +4 -0
  660. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.d.ts.map +1 -0
  661. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.js +21 -0
  662. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.js.map +1 -0
  663. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +4 -0
  664. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -0
  665. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js +10 -0
  666. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -0
  667. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.d.ts +23 -0
  668. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.d.ts.map +1 -0
  669. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js +103 -0
  670. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js.map +1 -0
  671. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.d.ts +2 -0
  672. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.d.ts.map +1 -0
  673. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +269 -0
  674. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -0
  675. package/dist/views/Dashboard/Default/index.d.ts +21 -0
  676. package/dist/views/Dashboard/Default/index.d.ts.map +1 -0
  677. package/dist/views/Dashboard/Default/index.js +56 -0
  678. package/dist/views/Dashboard/Default/index.js.map +1 -0
  679. package/dist/views/Dashboard/index.d.ts +6 -0
  680. package/dist/views/Dashboard/index.d.ts.map +1 -0
  681. package/dist/views/Dashboard/index.js +55 -0
  682. package/dist/views/Dashboard/index.js.map +1 -0
  683. package/dist/views/Dashboard/metadata.d.ts +3 -0
  684. package/dist/views/Dashboard/metadata.d.ts.map +1 -0
  685. package/dist/views/Dashboard/metadata.js +16 -0
  686. package/dist/views/Dashboard/metadata.js.map +1 -0
  687. package/dist/views/Dashboard/serverFunctions.d.ts +5 -0
  688. package/dist/views/Dashboard/serverFunctions.d.ts.map +1 -0
  689. package/dist/views/Dashboard/serverFunctions.js +3 -0
  690. package/dist/views/Dashboard/serverFunctions.js.map +1 -0
  691. package/dist/views/Document/generateEditViewMetadata.d.ts +6 -0
  692. package/dist/views/Document/generateEditViewMetadata.d.ts.map +1 -0
  693. package/dist/views/Document/generateEditViewMetadata.js +52 -0
  694. package/dist/views/Document/generateEditViewMetadata.js.map +1 -0
  695. package/dist/views/Document/getCustomDocumentViewByKey.d.ts +3 -0
  696. package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -0
  697. package/dist/views/Document/getCustomDocumentViewByKey.js +4 -0
  698. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -0
  699. package/dist/views/Document/getCustomViewByRoute.d.ts +10 -0
  700. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -0
  701. package/dist/views/Document/getCustomViewByRoute.js +35 -0
  702. package/dist/views/Document/getCustomViewByRoute.js.map +1 -0
  703. package/dist/views/Document/getDocumentView.d.ts +18 -0
  704. package/dist/views/Document/getDocumentView.d.ts.map +1 -0
  705. package/dist/views/Document/getDocumentView.js +306 -0
  706. package/dist/views/Document/getDocumentView.js.map +1 -0
  707. package/dist/views/Document/getMetaBySegment.d.ts +20 -0
  708. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -0
  709. package/dist/views/Document/getMetaBySegment.js +136 -0
  710. package/dist/views/Document/getMetaBySegment.js.map +1 -0
  711. package/dist/views/Document/handleServerFunction.d.ts +3 -0
  712. package/dist/views/Document/handleServerFunction.d.ts.map +1 -0
  713. package/dist/views/Document/handleServerFunction.js +134 -0
  714. package/dist/views/Document/handleServerFunction.js.map +1 -0
  715. package/dist/views/Document/index.d.ts +24 -0
  716. package/dist/views/Document/index.d.ts.map +1 -0
  717. package/dist/views/Document/index.js +410 -0
  718. package/dist/views/Document/index.js.map +1 -0
  719. package/dist/views/Document/renderDocumentSlots.d.ts +15 -0
  720. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -0
  721. package/dist/views/Document/renderDocumentSlots.js +179 -0
  722. package/dist/views/Document/renderDocumentSlots.js.map +1 -0
  723. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  724. package/dist/views/Edit/Auth/APIKey.js +10 -32
  725. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  726. package/dist/views/Edit/Auth/index.css +0 -67
  727. package/dist/views/Edit/index.css +47 -0
  728. package/dist/views/Edit/index.d.ts +1 -1
  729. package/dist/views/Edit/index.d.ts.map +1 -1
  730. package/dist/views/Edit/index.js +64 -49
  731. package/dist/views/Edit/index.js.map +1 -1
  732. package/dist/views/ForgotPassword/ForgotPasswordForm/index.css +24 -0
  733. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts +4 -0
  734. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -0
  735. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +193 -0
  736. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -0
  737. package/dist/views/ForgotPassword/index.css +12 -0
  738. package/dist/views/ForgotPassword/index.d.ts +6 -0
  739. package/dist/views/ForgotPassword/index.d.ts.map +1 -0
  740. package/dist/views/ForgotPassword/index.js +80 -0
  741. package/dist/views/ForgotPassword/index.js.map +1 -0
  742. package/dist/views/ForgotPassword/metadata.d.ts +3 -0
  743. package/dist/views/ForgotPassword/metadata.d.ts.map +1 -0
  744. package/dist/views/ForgotPassword/metadata.js +14 -0
  745. package/dist/views/ForgotPassword/metadata.js.map +1 -0
  746. package/dist/views/Hierarchy/index.d.ts +18 -0
  747. package/dist/views/Hierarchy/index.d.ts.map +1 -0
  748. package/dist/views/Hierarchy/index.js +19 -0
  749. package/dist/views/Hierarchy/index.js.map +1 -0
  750. package/dist/views/HierarchyList/DocumentListSelection/index.js +4 -4
  751. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  752. package/dist/views/List/ListHeader/index.css +23 -1
  753. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  754. package/dist/views/List/ListHeader/index.js +0 -1
  755. package/dist/views/List/ListHeader/index.js.map +1 -1
  756. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  757. package/dist/views/List/ListSelection/index.js +80 -29
  758. package/dist/views/List/ListSelection/index.js.map +1 -1
  759. package/dist/views/List/createSerializableValue.d.ts +2 -0
  760. package/dist/views/List/createSerializableValue.d.ts.map +1 -0
  761. package/dist/views/List/createSerializableValue.js +14 -0
  762. package/dist/views/List/createSerializableValue.js.map +1 -0
  763. package/dist/views/List/enrichDocsWithVersionStatus.d.ts +14 -0
  764. package/dist/views/List/enrichDocsWithVersionStatus.d.ts.map +1 -0
  765. package/dist/views/List/enrichDocsWithVersionStatus.js +96 -0
  766. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -0
  767. package/dist/views/List/extractRelationshipDisplayValue.d.ts +3 -0
  768. package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -0
  769. package/dist/views/List/extractRelationshipDisplayValue.js +17 -0
  770. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -0
  771. package/dist/views/List/extractValueOrRelationshipID.d.ts +2 -0
  772. package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -0
  773. package/dist/views/List/extractValueOrRelationshipID.js +19 -0
  774. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -0
  775. package/dist/views/List/generateListViewMetadata.d.ts +5 -0
  776. package/dist/views/List/generateListViewMetadata.d.ts.map +1 -0
  777. package/dist/views/List/generateListViewMetadata.js +24 -0
  778. package/dist/views/List/generateListViewMetadata.js.map +1 -0
  779. package/dist/views/List/handleGroupBy.d.ts +24 -0
  780. package/dist/views/List/handleGroupBy.d.ts.map +1 -0
  781. package/dist/views/List/handleGroupBy.js +169 -0
  782. package/dist/views/List/handleGroupBy.js.map +1 -0
  783. package/dist/views/List/handleHierarchy.d.ts +18 -0
  784. package/dist/views/List/handleHierarchy.d.ts.map +1 -0
  785. package/dist/views/List/handleHierarchy.js +259 -0
  786. package/dist/views/List/handleHierarchy.js.map +1 -0
  787. package/dist/views/List/handleServerFunction.d.ts +4 -0
  788. package/dist/views/List/handleServerFunction.d.ts.map +1 -0
  789. package/dist/views/List/handleServerFunction.js +131 -0
  790. package/dist/views/List/handleServerFunction.js.map +1 -0
  791. package/dist/views/List/index.client.d.ts +5 -0
  792. package/dist/views/List/index.client.d.ts.map +1 -0
  793. package/dist/views/List/index.client.js +307 -0
  794. package/dist/views/List/index.client.js.map +1 -0
  795. package/dist/views/List/index.css +19 -0
  796. package/dist/views/List/index.d.ts +40 -2
  797. package/dist/views/List/index.d.ts.map +1 -1
  798. package/dist/views/List/index.js +422 -264
  799. package/dist/views/List/index.js.map +1 -1
  800. package/dist/views/List/renderListViewSlots.d.ts +12 -0
  801. package/dist/views/List/renderListViewSlots.d.ts.map +1 -0
  802. package/dist/views/List/renderListViewSlots.js +89 -0
  803. package/dist/views/List/renderListViewSlots.js.map +1 -0
  804. package/dist/views/List/resolveAllFilterOptions.d.ts +8 -0
  805. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -0
  806. package/dist/views/List/resolveAllFilterOptions.js +49 -0
  807. package/dist/views/List/resolveAllFilterOptions.js.map +1 -0
  808. package/dist/views/List/transformColumnsToSelect.d.ts +3 -0
  809. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -0
  810. package/dist/views/List/transformColumnsToSelect.js +11 -0
  811. package/dist/views/List/transformColumnsToSelect.js.map +1 -0
  812. package/dist/views/Login/LoginField/index.d.ts +9 -0
  813. package/dist/views/Login/LoginField/index.d.ts.map +1 -0
  814. package/dist/views/Login/LoginField/index.js +100 -0
  815. package/dist/views/Login/LoginField/index.js.map +1 -0
  816. package/dist/views/Login/LoginForm/index.css +48 -0
  817. package/dist/views/Login/LoginForm/index.d.ts +11 -0
  818. package/dist/views/Login/LoginForm/index.d.ts.map +1 -0
  819. package/dist/views/Login/LoginForm/index.js +188 -0
  820. package/dist/views/Login/LoginForm/index.js.map +1 -0
  821. package/dist/views/Login/index.css +8 -0
  822. package/dist/views/Login/index.d.ts +6 -0
  823. package/dist/views/Login/index.d.ts.map +1 -0
  824. package/dist/views/Login/index.js +99 -0
  825. package/dist/views/Login/index.js.map +1 -0
  826. package/dist/views/Login/metadata.d.ts +3 -0
  827. package/dist/views/Login/metadata.d.ts.map +1 -0
  828. package/dist/views/Login/metadata.js +14 -0
  829. package/dist/views/Login/metadata.js.map +1 -0
  830. package/dist/views/Logout/LogoutClient.d.ts +18 -0
  831. package/dist/views/Logout/LogoutClient.d.ts.map +1 -0
  832. package/dist/views/Logout/LogoutClient.js +145 -0
  833. package/dist/views/Logout/LogoutClient.js.map +1 -0
  834. package/dist/views/Logout/index.css +18 -0
  835. package/dist/views/Logout/index.d.ts +7 -0
  836. package/dist/views/Logout/index.d.ts.map +1 -0
  837. package/dist/views/Logout/index.js +32 -0
  838. package/dist/views/Logout/index.js.map +1 -0
  839. package/dist/views/Logout/metadata.d.ts +3 -0
  840. package/dist/views/Logout/metadata.d.ts.map +1 -0
  841. package/dist/views/Logout/metadata.js +13 -0
  842. package/dist/views/Logout/metadata.js.map +1 -0
  843. package/dist/views/NotFound/index.client.d.ts +4 -0
  844. package/dist/views/NotFound/index.client.d.ts.map +1 -0
  845. package/dist/views/NotFound/index.client.js +75 -0
  846. package/dist/views/NotFound/index.client.js.map +1 -0
  847. package/dist/views/NotFound/index.css +47 -0
  848. package/dist/views/NotFound/index.d.ts +6 -0
  849. package/dist/views/NotFound/index.d.ts.map +1 -0
  850. package/dist/views/NotFound/index.js +9 -0
  851. package/dist/views/NotFound/index.js.map +1 -0
  852. package/dist/views/NotFound/metadata.d.ts +3 -0
  853. package/dist/views/NotFound/metadata.d.ts.map +1 -0
  854. package/dist/views/NotFound/metadata.js +13 -0
  855. package/dist/views/NotFound/metadata.js.map +1 -0
  856. package/dist/views/NotFound/page.d.ts +23 -0
  857. package/dist/views/NotFound/page.d.ts.map +1 -0
  858. package/dist/views/NotFound/page.js +90 -0
  859. package/dist/views/NotFound/page.js.map +1 -0
  860. package/dist/views/ResetPassword/ResetPasswordForm/index.css +24 -0
  861. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts +8 -0
  862. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -0
  863. package/dist/views/ResetPassword/ResetPasswordForm/index.js +130 -0
  864. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
  865. package/dist/views/ResetPassword/index.css +18 -0
  866. package/dist/views/ResetPassword/index.d.ts +6 -0
  867. package/dist/views/ResetPassword/index.d.ts.map +1 -0
  868. package/dist/views/ResetPassword/index.js +89 -0
  869. package/dist/views/ResetPassword/index.js.map +1 -0
  870. package/dist/views/ResetPassword/metadata.d.ts +3 -0
  871. package/dist/views/ResetPassword/metadata.d.ts.map +1 -0
  872. package/dist/views/ResetPassword/metadata.js +14 -0
  873. package/dist/views/ResetPassword/metadata.js.map +1 -0
  874. package/dist/views/Root/adminViews.d.ts +9 -0
  875. package/dist/views/Root/adminViews.d.ts.map +1 -0
  876. package/dist/views/Root/adminViews.js +83 -0
  877. package/dist/views/Root/adminViews.js.map +1 -0
  878. package/dist/views/Root/attachViewActions.d.ts +10 -0
  879. package/dist/views/Root/attachViewActions.d.ts.map +1 -0
  880. package/dist/views/Root/attachViewActions.js +27 -0
  881. package/dist/views/Root/attachViewActions.js.map +1 -0
  882. package/dist/views/Root/generateCustomViewMetadata.d.ts +10 -0
  883. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -0
  884. package/dist/views/Root/generateCustomViewMetadata.js +25 -0
  885. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -0
  886. package/dist/views/Root/generatePageMetadata.d.ts +19 -0
  887. package/dist/views/Root/generatePageMetadata.d.ts.map +1 -0
  888. package/dist/views/Root/generatePageMetadata.js +143 -0
  889. package/dist/views/Root/generatePageMetadata.js.map +1 -0
  890. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts +12 -0
  891. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -0
  892. package/dist/views/Root/getCustomCollectionViewByRoute.js +48 -0
  893. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -0
  894. package/dist/views/Root/getCustomCollectionViewByRoute.spec.js +168 -0
  895. package/dist/views/Root/getCustomCollectionViewByRoute.spec.js.map +1 -0
  896. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +12 -0
  897. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -0
  898. package/dist/views/Root/getCustomGlobalViewByRoute.js +46 -0
  899. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -0
  900. package/dist/views/Root/getCustomViewByKey.d.ts +10 -0
  901. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -0
  902. package/dist/views/Root/getCustomViewByKey.js +16 -0
  903. package/dist/views/Root/getCustomViewByKey.js.map +1 -0
  904. package/dist/views/Root/getCustomViewByRoute.d.ts +16 -0
  905. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -0
  906. package/dist/views/Root/getCustomViewByRoute.js +49 -0
  907. package/dist/views/Root/getCustomViewByRoute.js.map +1 -0
  908. package/dist/views/Root/getDocumentViewInfo.d.ts +6 -0
  909. package/dist/views/Root/getDocumentViewInfo.d.ts.map +1 -0
  910. package/dist/views/Root/getDocumentViewInfo.js +28 -0
  911. package/dist/views/Root/getDocumentViewInfo.js.map +1 -0
  912. package/dist/views/Root/getRouteData.d.ts +41 -0
  913. package/dist/views/Root/getRouteData.d.ts.map +1 -0
  914. package/dist/views/Root/getRouteData.js +345 -0
  915. package/dist/views/Root/getRouteData.js.map +1 -0
  916. package/dist/views/Root/index.d.ts +28 -0
  917. package/dist/views/Root/index.d.ts.map +1 -0
  918. package/dist/views/Root/index.js +304 -0
  919. package/dist/views/Root/index.js.map +1 -0
  920. package/dist/views/Unauthorized/index.css +44 -0
  921. package/dist/views/Unauthorized/index.d.ts +6 -0
  922. package/dist/views/Unauthorized/index.d.ts.map +1 -0
  923. package/dist/views/Unauthorized/index.js +34 -0
  924. package/dist/views/Unauthorized/index.js.map +1 -0
  925. package/dist/views/Unauthorized/metadata.d.ts +3 -0
  926. package/dist/views/Unauthorized/metadata.d.ts.map +1 -0
  927. package/dist/views/Unauthorized/metadata.js +14 -0
  928. package/dist/views/Unauthorized/metadata.js.map +1 -0
  929. package/dist/views/Verify/index.client.d.ts +11 -0
  930. package/dist/views/Verify/index.client.d.ts.map +1 -0
  931. package/dist/views/Verify/index.client.js +132 -0
  932. package/dist/views/Verify/index.client.js.map +1 -0
  933. package/dist/views/Verify/index.css +38 -0
  934. package/dist/views/Verify/index.d.ts +6 -0
  935. package/dist/views/Verify/index.d.ts.map +1 -0
  936. package/dist/views/Verify/index.js +68 -0
  937. package/dist/views/Verify/index.js.map +1 -0
  938. package/dist/views/Verify/metadata.d.ts +3 -0
  939. package/dist/views/Verify/metadata.d.ts.map +1 -0
  940. package/dist/views/Verify/metadata.js +14 -0
  941. package/dist/views/Verify/metadata.js.map +1 -0
  942. package/dist/views/Version/Default/SelectedLocalesContext.d.ts +7 -0
  943. package/dist/views/Version/Default/SelectedLocalesContext.d.ts.map +1 -0
  944. package/dist/views/Version/Default/SelectedLocalesContext.js +8 -0
  945. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -0
  946. package/dist/views/Version/Default/SetStepNav.d.ts +11 -0
  947. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -0
  948. package/dist/views/Version/Default/SetStepNav.js +139 -0
  949. package/dist/views/Version/Default/SetStepNav.js.map +1 -0
  950. package/dist/views/Version/Default/index.css +225 -0
  951. package/dist/views/Version/Default/index.d.ts +5 -0
  952. package/dist/views/Version/Default/index.d.ts.map +1 -0
  953. package/dist/views/Version/Default/index.js +242 -0
  954. package/dist/views/Version/Default/index.js.map +1 -0
  955. package/dist/views/Version/Default/types.d.ts +23 -0
  956. package/dist/views/Version/Default/types.d.ts.map +1 -0
  957. package/dist/views/Version/Default/types.js +2 -0
  958. package/dist/views/Version/Default/types.js.map +1 -0
  959. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.css +64 -0
  960. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +26 -0
  961. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -0
  962. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +134 -0
  963. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -0
  964. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts +12 -0
  965. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -0
  966. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +81 -0
  967. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -0
  968. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts +31 -0
  969. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -0
  970. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +439 -0
  971. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -0
  972. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.css +97 -0
  973. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.d.ts +4 -0
  974. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.d.ts.map +1 -0
  975. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +94 -0
  976. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -0
  977. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts +3 -0
  978. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts.map +1 -0
  979. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +61 -0
  980. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -0
  981. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.css +29 -0
  982. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts +4 -0
  983. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +1 -0
  984. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +82 -0
  985. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -0
  986. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.css +5 -0
  987. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts +4 -0
  988. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts.map +1 -0
  989. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +67 -0
  990. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -0
  991. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.css +40 -0
  992. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +5 -0
  993. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -0
  994. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +131 -0
  995. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -0
  996. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts +10 -0
  997. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -0
  998. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +67 -0
  999. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -0
  1000. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +209 -0
  1001. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +21 -0
  1002. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -0
  1003. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +240 -0
  1004. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -0
  1005. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts +3 -0
  1006. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts.map +1 -0
  1007. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -0
  1008. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -0
  1009. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.css +4 -0
  1010. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +4 -0
  1011. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -0
  1012. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +91 -0
  1013. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -0
  1014. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.css +6 -0
  1015. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +4 -0
  1016. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -0
  1017. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +159 -0
  1018. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -0
  1019. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.css +4 -0
  1020. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +4 -0
  1021. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -0
  1022. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +104 -0
  1023. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -0
  1024. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +188 -0
  1025. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts +33 -0
  1026. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -0
  1027. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +225 -0
  1028. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -0
  1029. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +3 -0
  1030. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -0
  1031. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +29 -0
  1032. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -0
  1033. package/dist/views/Version/RenderFieldsToDiff/index.css +24 -0
  1034. package/dist/views/Version/RenderFieldsToDiff/index.d.ts +3 -0
  1035. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -0
  1036. package/dist/views/Version/RenderFieldsToDiff/index.js +14 -0
  1037. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -0
  1038. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts +25 -0
  1039. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -0
  1040. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +242 -0
  1041. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -0
  1042. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +861 -0
  1043. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -0
  1044. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.d.ts +2 -0
  1045. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.d.ts.map +1 -0
  1046. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +4 -0
  1047. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -0
  1048. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +47 -0
  1049. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -0
  1050. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +19 -0
  1051. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -0
  1052. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +45 -0
  1053. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -0
  1054. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +135 -0
  1055. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -0
  1056. package/dist/views/Version/Restore/index.css +26 -0
  1057. package/dist/views/Version/Restore/index.d.ts +16 -0
  1058. package/dist/views/Version/Restore/index.d.ts.map +1 -0
  1059. package/dist/views/Version/Restore/index.js +113 -0
  1060. package/dist/views/Version/Restore/index.js.map +1 -0
  1061. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.d.ts +4 -0
  1062. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.d.ts.map +1 -0
  1063. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +60 -0
  1064. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -0
  1065. package/dist/views/Version/SelectComparison/VersionDrawer/index.css +5 -0
  1066. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +33 -0
  1067. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -0
  1068. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +245 -0
  1069. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -0
  1070. package/dist/views/Version/SelectComparison/index.css +5 -0
  1071. package/dist/views/Version/SelectComparison/index.d.ts +5 -0
  1072. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -0
  1073. package/dist/views/Version/SelectComparison/index.js +60 -0
  1074. package/dist/views/Version/SelectComparison/index.js.map +1 -0
  1075. package/dist/views/Version/SelectComparison/types.d.ts +26 -0
  1076. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -0
  1077. package/dist/views/Version/SelectComparison/types.js +2 -0
  1078. package/dist/views/Version/SelectComparison/types.js.map +1 -0
  1079. package/dist/views/Version/SelectLocales/index.d.ts +11 -0
  1080. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -0
  1081. package/dist/views/Version/SelectLocales/index.js +90 -0
  1082. package/dist/views/Version/SelectLocales/index.js.map +1 -0
  1083. package/dist/views/Version/generateVersionViewMetadata.d.ts +6 -0
  1084. package/dist/views/Version/generateVersionViewMetadata.d.ts.map +1 -0
  1085. package/dist/views/Version/generateVersionViewMetadata.js +58 -0
  1086. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -0
  1087. package/dist/views/Version/index.d.ts +4 -0
  1088. package/dist/views/Version/index.d.ts.map +1 -0
  1089. package/dist/views/Version/index.js +351 -0
  1090. package/dist/views/Version/index.js.map +1 -0
  1091. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts +31 -0
  1092. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -0
  1093. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +126 -0
  1094. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -0
  1095. package/dist/views/Versions/VersionPillLabel/getVersionLabel.d.ts +37 -0
  1096. package/dist/views/Versions/VersionPillLabel/getVersionLabel.d.ts.map +1 -0
  1097. package/dist/views/Versions/VersionPillLabel/getVersionLabel.js +43 -0
  1098. package/dist/views/Versions/VersionPillLabel/getVersionLabel.js.map +1 -0
  1099. package/dist/views/Versions/VersionPillLabel/index.css +31 -0
  1100. package/dist/views/Versions/buildColumns.d.ts +16 -0
  1101. package/dist/views/Versions/buildColumns.d.ts.map +1 -0
  1102. package/dist/views/Versions/buildColumns.js +87 -0
  1103. package/dist/views/Versions/buildColumns.js.map +1 -0
  1104. package/dist/views/Versions/cells/AutosaveCell/index.css +7 -0
  1105. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +21 -0
  1106. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -0
  1107. package/dist/views/Versions/cells/AutosaveCell/index.js +47 -0
  1108. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -0
  1109. package/dist/views/Versions/cells/CreatedAt/index.d.ts +13 -0
  1110. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -0
  1111. package/dist/views/Versions/cells/CreatedAt/index.js +62 -0
  1112. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -0
  1113. package/dist/views/Versions/cells/ID/index.d.ts +5 -0
  1114. package/dist/views/Versions/cells/ID/index.d.ts.map +1 -0
  1115. package/dist/views/Versions/cells/ID/index.js +12 -0
  1116. package/dist/views/Versions/cells/ID/index.js.map +1 -0
  1117. package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.d.ts +4 -0
  1118. package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.d.ts.map +1 -0
  1119. package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.js +60 -0
  1120. package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.js.map +1 -0
  1121. package/dist/views/Versions/fetchVersions.d.ts +42 -0
  1122. package/dist/views/Versions/fetchVersions.d.ts.map +1 -0
  1123. package/dist/views/Versions/fetchVersions.js +151 -0
  1124. package/dist/views/Versions/fetchVersions.js.map +1 -0
  1125. package/dist/views/Versions/generateVersionsViewMetadata.d.ts +6 -0
  1126. package/dist/views/Versions/generateVersionsViewMetadata.d.ts.map +1 -0
  1127. package/dist/views/Versions/generateVersionsViewMetadata.js +51 -0
  1128. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -0
  1129. package/dist/views/Versions/index.client.d.ts +9 -0
  1130. package/dist/views/Versions/index.client.d.ts.map +1 -0
  1131. package/dist/views/Versions/index.client.js +77 -0
  1132. package/dist/views/Versions/index.client.js.map +1 -0
  1133. package/dist/views/Versions/index.css +92 -0
  1134. package/dist/views/Versions/index.d.ts +5 -0
  1135. package/dist/views/Versions/index.d.ts.map +1 -0
  1136. package/dist/views/Versions/index.js +155 -0
  1137. package/dist/views/Versions/index.js.map +1 -0
  1138. package/dist/views/Versions/types.d.ts +17 -0
  1139. package/dist/views/Versions/types.d.ts.map +1 -0
  1140. package/dist/views/Versions/types.js +2 -0
  1141. package/dist/views/Versions/types.js.map +1 -0
  1142. package/package.json +107 -5
  1143. package/dist/elements/BulkUpload/AddingFilesView/index.scss +0 -25
  1144. package/dist/elements/BulkUpload/EditForm/index.scss +0 -11
  1145. package/dist/elements/BulkUpload/EditMany/index.scss +0 -171
  1146. package/dist/elements/EditMany/index.scss +0 -182
  1147. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +0 -35
  1148. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  1149. package/dist/elements/Hierarchy/Field/index.scss +0 -41
  1150. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  1151. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  1152. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  1153. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  1154. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  1155. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  1156. package/dist/elements/LoadMoreRow/index.scss +0 -45
  1157. package/dist/elements/ShimmerEffect/index.scss +0 -40
  1158. package/dist/elements/WhereBuilder/Condition/Number/index.scss +0 -7
  1159. package/dist/elements/WhereBuilder/Condition/Text/index.scss +0 -7
  1160. package/dist/elements/WhereBuilder/Condition/index.scss +0 -59
  1161. package/dist/elements/WhereBuilder/index.scss +0 -42
  1162. package/dist/exports/client/chunk-ZJOSXDGN.js +0 -27
  1163. package/dist/exports/client/chunk-ZJOSXDGN.js.map +0 -7
  1164. package/dist/fields/Tabs/Tab/index.css +0 -82
  1165. package/dist/providers/LivePreview/index.scss +0 -68
  1166. package/dist/providers/Params/index.d.ts +0 -19
  1167. package/dist/providers/Params/index.d.ts.map +0 -1
  1168. package/dist/providers/Params/index.js +0 -37
  1169. package/dist/providers/Params/index.js.map +0 -1
  1170. package/dist/providers/RouteTransition/ProgressBar/index.scss +0 -23
  1171. package/dist/providers/SearchParams/index.d.ts +0 -27
  1172. package/dist/providers/SearchParams/index.d.ts.map +0 -1
  1173. package/dist/providers/SearchParams/index.js +0 -54
  1174. package/dist/providers/SearchParams/index.js.map +0 -1
  1175. package/dist/views/Edit/index.scss +0 -60
  1176. /package/dist/elements/LivePreview/ToolbarArea/{index.scss → index.css} +0 -0
  1177. /package/dist/exports/client/{CodeEditor-A66UUZBE.js.map → CodeEditor-T3624SG3.js.map} +0 -0
  1178. /package/dist/exports/client/{DatePicker-XEMRSUWJ.js.map → DatePicker-6KF52Z3G.js.map} +0 -0
  1179. /package/dist/forms/Form/{index.scss → index.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["getTranslation","React","useCallback","useMemo","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","useField","useConfig","useDocumentInfo","useTranslation","Button","RenderCustomComponent","useHierarchyDrawer","SelectedHierarchies","baseClass","HierarchyFieldClient","props","field","admin","className","description","hasMany","label","localized","relationTo","relationToProp","required","Icon","path","pathFromProps","readOnly","validate","hierarchySlug","Array","isArray","getEntityConfig","collectionSlug","documentCollectionSlug","i18n","t","collectionConfig","memoizedValidate","value","validationOptions","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","potentiallyStalePath","styles","selectedIds","initialSelections","filterByCollection","undefined","HierarchyDrawer","openDrawer","hierarchyCollectionSlug","handleDrawerSave","closeDrawer","selections","ids","from","keys","newValue","handleRemove","id","idToRemove","newIds","filter","length","handleOpenDrawer","hierarchyLabel","labels","plural","singular","_jsxs","Boolean","join","replace","style","_jsx","CustomComponent","Fallback","onRemove","buttonStyle","icon","iconPosition","margin","onClick","size","onSave"],"sources":["../../../../src/elements/Hierarchy/Field/index.client.tsx"],"sourcesContent":["'use client'\nimport type { RelationshipFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { SelectionWithPath } from '../Drawer/types.js'\n\nimport { FieldDescription } from '../../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { mergeFieldStyles } from '../../../fields/mergeFieldStyles.js'\nimport { fieldBaseClass } from '../../../fields/shared/index.js'\nimport { useField } from '../../../forms/useField/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { RenderCustomComponent } from '../../RenderCustomComponent/index.js'\nimport { useHierarchyDrawer } from '../Drawer/useHierarchyDrawer.js'\nimport { SelectedHierarchies } from './SelectedHierarchies.js'\nimport './index.scss'\n\nconst baseClass = 'hierarchy-field'\n\ntype Value = (number | string)[] | null | (number | string)\n\nexport type HierarchyFieldClientProps = {\n Icon?: React.ReactNode\n} & RelationshipFieldClientProps\n\nexport const HierarchyFieldClient: React.FC<HierarchyFieldClientProps> = (props) => {\n const {\n field,\n field: {\n admin: { className, description } = {},\n hasMany,\n label,\n localized,\n relationTo: relationToProp,\n required,\n },\n Icon,\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const hierarchySlug = Array.isArray(relationToProp) ? relationToProp[0] : relationToProp\n\n const { getEntityConfig } = useConfig()\n const { collectionSlug: documentCollectionSlug } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchySlug })\n\n const memoizedValidate = useCallback(\n (value: Value, validationOptions: Parameters<typeof validate>[1]) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, required })\n }\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n path,\n setValue,\n showError,\n value,\n } = useField<Value>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n // Normalize value to array of IDs for display\n const selectedIds = useMemo((): (number | string)[] => {\n if (!value) {\n return []\n }\n\n if (Array.isArray(value)) {\n return value\n }\n\n return [value]\n }, [value])\n\n // Initialize selections for the drawer - use current value so drawer expands to current selection\n const initialSelections = useMemo(() => {\n if (!value) {\n return []\n }\n\n if (Array.isArray(value)) {\n return value\n }\n\n return [value] as (number | string)[]\n }, [value])\n\n // Memoize to prevent new array references on every render\n const filterByCollection = useMemo(\n () => (documentCollectionSlug ? [documentCollectionSlug] : undefined),\n [documentCollectionSlug],\n )\n\n const [HierarchyDrawer, , { openDrawer }] = useHierarchyDrawer({\n filterByCollection,\n hierarchyCollectionSlug: hierarchySlug,\n Icon,\n })\n\n const handleDrawerSave = useCallback(\n ({\n closeDrawer,\n selections,\n }: {\n closeDrawer: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => {\n const ids = Array.from(selections.keys())\n const newValue = hasMany ? ids : (ids[0] ?? null)\n setValue(newValue)\n closeDrawer()\n },\n [hasMany, setValue],\n )\n\n const handleRemove = useCallback(\n ({ id: idToRemove }: { id: number | string }) => {\n if (hasMany) {\n const newIds = selectedIds.filter((id) => id !== idToRemove)\n setValue(newIds.length > 0 ? newIds : null)\n } else {\n setValue(null)\n }\n },\n [hasMany, selectedIds, setValue],\n )\n\n const handleOpenDrawer = useCallback(() => {\n openDrawer()\n }, [openDrawer])\n\n const hierarchyLabel =\n getTranslation(\n hasMany ? collectionConfig?.labels?.plural : collectionConfig?.labels?.singular,\n i18n,\n ) || hierarchySlug\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n <div className={`${baseClass}__content`}>\n {selectedIds.length > 0 && (\n <SelectedHierarchies\n hierarchySlug={hierarchySlug}\n onRemove={handleRemove}\n readOnly={readOnly || disabled}\n selectedIds={selectedIds}\n />\n )}\n {!readOnly && (hasMany || selectedIds.length === 0) && (\n <Button\n buttonStyle=\"dashed\"\n className={`${baseClass}__manage-button`}\n disabled={disabled}\n icon=\"plus\"\n iconPosition=\"left\"\n margin={false}\n onClick={handleOpenDrawer}\n size=\"medium\"\n >\n {t('general:selectLabel', { label: hierarchyLabel })}\n </Button>\n )}\n </div>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n <HierarchyDrawer\n hasMany={hasMany}\n initialSelections={initialSelections}\n onSave={handleDrawerSave}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["getTranslation","React","useCallback","useMemo","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","useField","CirclePlusIcon","useConfig","useDocumentInfo","useTranslation","Button","RenderCustomComponent","useHierarchyDrawer","SelectedHierarchies","baseClass","HierarchyFieldClient","props","field","admin","className","description","hasMany","label","localized","relationTo","relationToProp","required","Icon","path","pathFromProps","readOnly","validate","hierarchySlug","Array","isArray","getEntityConfig","collectionSlug","documentCollectionSlug","i18n","t","collectionConfig","memoizedValidate","value","validationOptions","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","potentiallyStalePath","styles","selectedIds","initialSelections","filterByCollection","undefined","HierarchyDrawer","openDrawer","hierarchyCollectionSlug","handleDrawerSave","closeDrawer","selections","ids","from","keys","newValue","handleRemove","id","idToRemove","newIds","filter","length","handleOpenDrawer","hierarchyLabel","labels","plural","singular","_jsxs","Boolean","join","replace","style","_jsx","CustomComponent","Fallback","onRemove","buttonStyle","icon","size","iconPosition","margin","onClick","onSave"],"sources":["../../../../src/elements/Hierarchy/Field/index.client.tsx"],"sourcesContent":["'use client'\nimport type { RelationshipFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { SelectionWithPath } from '../Drawer/types.js'\n\nimport { FieldDescription } from '../../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { mergeFieldStyles } from '../../../fields/mergeFieldStyles.js'\nimport { fieldBaseClass } from '../../../fields/shared/index.js'\nimport { useField } from '../../../forms/useField/index.js'\nimport { CirclePlusIcon } from '../../../icons/CirclePlus/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { RenderCustomComponent } from '../../RenderCustomComponent/index.js'\nimport { useHierarchyDrawer } from '../Drawer/useHierarchyDrawer.js'\nimport { SelectedHierarchies } from './SelectedHierarchies.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-field'\n\ntype Value = (number | string)[] | null | (number | string)\n\nexport type HierarchyFieldClientProps = {\n Icon?: React.ReactNode\n} & RelationshipFieldClientProps\n\nexport const HierarchyFieldClient: React.FC<HierarchyFieldClientProps> = (props) => {\n const {\n field,\n field: {\n admin: { className, description } = {},\n hasMany,\n label,\n localized,\n relationTo: relationToProp,\n required,\n },\n Icon,\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const hierarchySlug = Array.isArray(relationToProp) ? relationToProp[0] : relationToProp\n\n const { getEntityConfig } = useConfig()\n const { collectionSlug: documentCollectionSlug } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchySlug })\n\n const memoizedValidate = useCallback(\n (value: Value, validationOptions: Parameters<typeof validate>[1]) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, required })\n }\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n path,\n setValue,\n showError,\n value,\n } = useField<Value>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n // Normalize value to array of IDs for display\n const selectedIds = useMemo((): (number | string)[] => {\n if (!value) {\n return []\n }\n\n if (Array.isArray(value)) {\n return value\n }\n\n return [value]\n }, [value])\n\n // Initialize selections for the drawer - use current value so drawer expands to current selection\n const initialSelections = useMemo(() => {\n if (!value) {\n return []\n }\n\n if (Array.isArray(value)) {\n return value\n }\n\n return [value] as (number | string)[]\n }, [value])\n\n // Memoize to prevent new array references on every render\n const filterByCollection = useMemo(\n () => (documentCollectionSlug ? [documentCollectionSlug] : undefined),\n [documentCollectionSlug],\n )\n\n const [HierarchyDrawer, , { openDrawer }] = useHierarchyDrawer({\n filterByCollection,\n hierarchyCollectionSlug: hierarchySlug,\n Icon,\n })\n\n const handleDrawerSave = useCallback(\n ({\n closeDrawer,\n selections,\n }: {\n closeDrawer: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => {\n const ids = Array.from(selections.keys())\n const newValue = hasMany ? ids : (ids[0] ?? null)\n setValue(newValue)\n closeDrawer()\n },\n [hasMany, setValue],\n )\n\n const handleRemove = useCallback(\n ({ id: idToRemove }: { id: number | string }) => {\n if (hasMany) {\n const newIds = selectedIds.filter((id) => id !== idToRemove)\n setValue(newIds.length > 0 ? newIds : null)\n } else {\n setValue(null)\n }\n },\n [hasMany, selectedIds, setValue],\n )\n\n const handleOpenDrawer = useCallback(() => {\n openDrawer()\n }, [openDrawer])\n\n const hierarchyLabel =\n getTranslation(\n hasMany ? collectionConfig?.labels?.plural : collectionConfig?.labels?.singular,\n i18n,\n ) || hierarchySlug\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n <div className={`${baseClass}__content`}>\n {selectedIds.length > 0 && (\n <SelectedHierarchies\n hierarchySlug={hierarchySlug}\n onRemove={handleRemove}\n readOnly={readOnly || disabled}\n selectedIds={selectedIds}\n />\n )}\n {!readOnly && (hasMany || selectedIds.length === 0) && (\n <Button\n buttonStyle=\"dashed\"\n className={`${baseClass}__manage-button`}\n disabled={disabled}\n icon={<CirclePlusIcon size={24} />}\n iconPosition=\"left\"\n margin={false}\n onClick={handleOpenDrawer}\n size=\"medium\"\n >\n {t('general:selectLabel', { label: hierarchyLabel })}\n </Button>\n )}\n </div>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n <HierarchyDrawer\n hasMany={hasMany}\n initialSelections={initialSelections}\n onSave={handleDrawerSave}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ @layer payload-default {
2
+ .hierarchy-field .field-type__wrap {
3
+ gap: var(--spacer-2);
4
+ flex-direction: column;
5
+ display: flex;
6
+ }
7
+
8
+ .hierarchy-field .field-label {
9
+ display: flex;
10
+ font-family: var(--text-body-large-font-family);
11
+ font-size: var(--text-body-large-font-size);
12
+ font-weight: var(--text-body-large-font-weight);
13
+ line-height: var(--text-body-large-line-height);
14
+ letter-spacing: var(--text-body-large-letter-spacing);
15
+ margin: unset;
16
+ }
17
+
18
+ .hierarchy-field__label {
19
+ display: flex;
20
+ align-items: center;
21
+ gap: var(--spacer-1);
22
+ }
23
+
24
+ .hierarchy-field__content {
25
+ display: flex;
26
+ flex-direction: column;
27
+ gap: var(--spacer-2-5);
28
+ }
29
+
30
+ .hierarchy-field__manage-button {
31
+ align-self: flex-start;
32
+ }
33
+
34
+ .hierarchy-field--read-only .hierarchy-field__content {
35
+ opacity: 0.75;
36
+ }
37
+ }
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import './index.scss';
3
2
  export declare const baseClass = "move-many";
4
3
  type MoveManyProps = {
5
4
  /** Current parent ID - drawer will open expanded to this location */
@@ -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;AAc7D,OAAO,cAAc,CAAA;AAErB,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,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"}
@@ -16,7 +16,6 @@ import { ConfirmationModal } from '../../ConfirmationModal/index.js';
16
16
  import { ListSelectionButton } from '../../ListSelection/index.js';
17
17
  import { Translation } from '../../Translation/index.js';
18
18
  import { useHierarchyDrawer } from '../Drawer/useHierarchyDrawer.js';
19
- import './index.scss';
20
19
  export const baseClass = 'move-many';
21
20
  /**
22
21
  * Gets the parent field name from the hierarchy config.
@@ -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'\nimport './index.scss'\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":"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,kBAAkB,QAAQ;AACnC,OAAO;AAEP,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,eAAA,GAAmB;IAAEC,WAAW;IAAEC;EAAU,CAAE,CAAC,GAAGhD,kBAAA,CAAmB;IAC1E0C,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,WAAA;QACAlC,SAAA;MACF;IACF,EAAE,OAAO4F,IAAA,EAAM;MACblH,KAAA,CAAM0G,KAAK,CAACjF,CAAA,CAAE;IAChB,UAAU;MACRS,cAAA,CAAe;IACjB;EACF,GAAG,CACDsB,WAAA,EACAvB,WAAA,EACAV,UAAA,EACAP,eAAA,EACAW,MAAA,EACAI,GAAA,EACAP,IAAA,EACAC,CAAA,EACAoC,KAAA,EACAvC,SAAA,CACD;EAED,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,UAAA;gBAERhC,CAAA,CAAE;qBAEL4F,IAAA,CAAC9D,eAAA;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":[]}
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":[]}
@@ -0,0 +1,27 @@
1
+ /* Tree-specific overrides for the shared LoadMoreRow component */
2
+
3
+ .tree__load-more.load-more-row {
4
+ padding-top: 0;
5
+ padding-left: calc(
6
+ (var(--tree-depth, 0) * var(--tree-indent)) + (var(--spacer-1) * var(--tree-depth)) +
7
+ var(--spacer-2-5) - 2px
8
+ );
9
+ height: var(--tree-node-content-height);
10
+ position: relative;
11
+ margin-block: var(--spacer-1) var(--spacer-2);
12
+ }
13
+
14
+ /* Tree-specific button styling (uses native button for focus management) */
15
+ .tree__load-more-button {
16
+ color: var(--color-text);
17
+ cursor: pointer;
18
+ text-decoration: underline;
19
+ }
20
+
21
+ .tree__load-more-button:hover {
22
+ color: var(--color-text-secondary);
23
+ }
24
+
25
+ .tree__load-more-button:active {
26
+ color: var(--color-text);
27
+ }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import './index.scss';
2
+ import './index.css';
3
3
  type LoadMoreProps = {
4
4
  currentCount: number;
5
5
  depth: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/Hierarchy/Tree/LoadMore/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAErB,KAAK,aAAa,GAAG;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;IAChD,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAiB5C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/Hierarchy/Tree/LoadMore/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,aAAa,CAAA;AAEpB,KAAK,aAAa,GAAG;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;IAChD,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAiB5C,CAAA"}
@@ -4,7 +4,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  import React from 'react';
5
5
  import { LoadMoreRow } from '../../../LoadMoreRow/index.js';
6
6
  import { LoadMoreButton } from './LoadMoreButton.js';
7
- import './index.scss';
7
+ import './index.css';
8
8
  export const LoadMore = ({
9
9
  id,
10
10
  currentCount,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","LoadMoreRow","LoadMoreButton","LoadMore","id","currentCount","depth","onLoadMore","totalDocs","_jsx","className","hasMore","loadMoreButton","style"],"sources":["../../../../../src/elements/Hierarchy/Tree/LoadMore/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { LoadMoreRow } from '../../../LoadMoreRow/index.js'\nimport { LoadMoreButton } from './LoadMoreButton.js'\nimport './index.scss'\n\ntype LoadMoreProps = {\n currentCount: number\n depth: number\n id: string\n onLoadMore: (() => Promise<void>) | (() => void)\n totalDocs: number\n}\n\nexport const LoadMore: React.FC<LoadMoreProps> = ({\n id,\n currentCount,\n depth,\n onLoadMore,\n totalDocs,\n}) => {\n return (\n <LoadMoreRow\n className=\"tree__load-more\"\n currentCount={currentCount}\n hasMore={currentCount < totalDocs}\n loadMoreButton={<LoadMoreButton id={id} onLoadMore={onLoadMore} />}\n style={{ '--tree-depth': depth } as React.CSSProperties}\n totalDocs={totalDocs}\n />\n )\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAUP,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAChDC,EAAE;EACFC,YAAY;EACZC,KAAK;EACLC,UAAU;EACVC;AAAS,CACV;EACC,oBACEC,IAAA,CAACR,WAAA;IACCS,SAAA,EAAU;IACVL,YAAA,EAAcA,YAAA;IACdM,OAAA,EAASN,YAAA,GAAeG,SAAA;IACxBI,cAAA,eAAgBH,IAAA,CAACP,cAAA;MAAeE,EAAA,EAAIA,EAAA;MAAIG,UAAA,EAAYA;;IACpDM,KAAA,EAAO;MAAE,gBAAgBP;IAAM;IAC/BE,SAAA,EAAWA;;AAGjB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","LoadMoreRow","LoadMoreButton","LoadMore","id","currentCount","depth","onLoadMore","totalDocs","_jsx","className","hasMore","loadMoreButton","style"],"sources":["../../../../../src/elements/Hierarchy/Tree/LoadMore/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { LoadMoreRow } from '../../../LoadMoreRow/index.js'\nimport { LoadMoreButton } from './LoadMoreButton.js'\nimport './index.css'\n\ntype LoadMoreProps = {\n currentCount: number\n depth: number\n id: string\n onLoadMore: (() => Promise<void>) | (() => void)\n totalDocs: number\n}\n\nexport const LoadMore: React.FC<LoadMoreProps> = ({\n id,\n currentCount,\n depth,\n onLoadMore,\n totalDocs,\n}) => {\n return (\n <LoadMoreRow\n className=\"tree__load-more\"\n currentCount={currentCount}\n hasMore={currentCount < totalDocs}\n loadMoreButton={<LoadMoreButton id={id} onLoadMore={onLoadMore} />}\n style={{ '--tree-depth': depth } as React.CSSProperties}\n totalDocs={totalDocs}\n />\n )\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAUP,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAChDC,EAAE;EACFC,YAAY;EACZC,KAAK;EACLC,UAAU;EACVC;AAAS,CACV;EACC,oBACEC,IAAA,CAACR,WAAA;IACCS,SAAA,EAAU;IACVL,YAAA,EAAcA,YAAA;IACdM,OAAA,EAASN,YAAA,GAAeG,SAAA;IACxBI,cAAA,eAAgBH,IAAA,CAACP,cAAA;MAAeE,EAAA,EAAIA,EAAA;MAAIG,UAAA,EAAYA;;IACpDM,KAAA,EAAO;MAAE,gBAAgBP;IAAM;IAC/BE,SAAA,EAAWA;;AAGjB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeFocusContext.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/TreeFocusContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACjC,IAAI,EAAE,WAAW,GAAG,MAAM,CAAA;CAC3B,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;IACxB,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7C,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IAC3C,YAAY,EAAE,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,KAAK,IAAI,CAAA;IACzC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CACrC,CAAA;AAID,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAgFrE,CAAA;AAED,eAAO,MAAM,YAAY,4BAMxB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,oBAI9B;IACD,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACjC,IAAI,EAAE,WAAW,GAAG,MAAM,CAAA;CAC3B;;;;CAwBA,CAAA"}
1
+ {"version":3,"file":"TreeFocusContext.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/TreeFocusContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACjC,IAAI,EAAE,WAAW,GAAG,MAAM,CAAA;CAC3B,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;IACxB,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7C,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IAC3C,YAAY,EAAE,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,KAAK,IAAI,CAAA;IACzC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CACrC,CAAA;AAID,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAgFrE,CAAA;AAED,eAAO,MAAM,YAAY,4BAMxB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,oBAI9B;IACD,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACjC,IAAI,EAAE,WAAW,GAAG,MAAM,CAAA;CAC3B;;;;CAsCA,CAAA"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
- import { createContext, use, useCallback, useEffect, useRef, useState } from 'react';
5
+ import { createContext, use, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
6
6
  const TreeFocusContext = /*#__PURE__*/createContext(undefined);
7
7
  export const TreeFocusProvider = ({
8
8
  children
@@ -77,7 +77,7 @@ export const useTreeFocus = () => {
77
77
  return context;
78
78
  };
79
79
  export const useFocusableItem = t0 => {
80
- const $ = _c(14);
80
+ const $ = _c(18);
81
81
  const {
82
82
  id,
83
83
  type,
@@ -91,6 +91,7 @@ export const useFocusableItem = t0 => {
91
91
  } = useTreeFocus();
92
92
  const isFocused = focusedId === id;
93
93
  const isFirstItemEver = focusedId === null;
94
+ const wasFocusedRef = useRef(false);
94
95
  let t1;
95
96
  let t2;
96
97
  if ($[0] !== id || $[1] !== ref || $[2] !== registerItem || $[3] !== type || $[4] !== unregisterItem) {
@@ -118,32 +119,51 @@ export const useFocusableItem = t0 => {
118
119
  }
119
120
  useEffect(t1, t2);
120
121
  let t3;
121
- if ($[7] !== id || $[8] !== setFocusedId) {
122
+ let t4;
123
+ if ($[7] !== isFocused || $[8] !== ref) {
122
124
  t3 = () => {
123
- setFocusedId(id);
125
+ if (isFocused && !wasFocusedRef.current && ref.current && document.activeElement !== ref.current) {
126
+ ref.current.focus();
127
+ }
128
+ wasFocusedRef.current = isFocused;
124
129
  };
125
- $[7] = id;
126
- $[8] = setFocusedId;
130
+ t4 = [isFocused, ref];
131
+ $[7] = isFocused;
132
+ $[8] = ref;
127
133
  $[9] = t3;
134
+ $[10] = t4;
128
135
  } else {
129
136
  t3 = $[9];
137
+ t4 = $[10];
138
+ }
139
+ useLayoutEffect(t3, t4);
140
+ let t5;
141
+ if ($[11] !== id || $[12] !== setFocusedId) {
142
+ t5 = () => {
143
+ setFocusedId(id);
144
+ };
145
+ $[11] = id;
146
+ $[12] = setFocusedId;
147
+ $[13] = t5;
148
+ } else {
149
+ t5 = $[13];
130
150
  }
131
- const handleFocus = t3;
151
+ const handleFocus = t5;
132
152
  const tabIndex = isFocused ? 0 : isFirstItemEver ? 0 : -1;
133
- let t4;
134
- if ($[10] !== handleFocus || $[11] !== isFocused || $[12] !== tabIndex) {
135
- t4 = {
153
+ let t6;
154
+ if ($[14] !== handleFocus || $[15] !== isFocused || $[16] !== tabIndex) {
155
+ t6 = {
136
156
  handleFocus,
137
157
  isFocused,
138
158
  tabIndex
139
159
  };
140
- $[10] = handleFocus;
141
- $[11] = isFocused;
142
- $[12] = tabIndex;
143
- $[13] = t4;
160
+ $[14] = handleFocus;
161
+ $[15] = isFocused;
162
+ $[16] = tabIndex;
163
+ $[17] = t6;
144
164
  } else {
145
- t4 = $[13];
165
+ t6 = $[17];
146
166
  }
147
- return t4;
167
+ return t6;
148
168
  };
149
169
  //# sourceMappingURL=TreeFocusContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeFocusContext.js","names":["c","_c","createContext","use","useCallback","useEffect","useRef","useState","TreeFocusContext","undefined","TreeFocusProvider","children","focusedId","setFocusedIdState","itemsRef","Map","setFocusedId","id","item","current","get","ref","document","activeElement","focus","registerItem","set","unregisterItem","delete","moveFocus","direction","items","Array","from","values","length","sortedItems","filter","sort","a","b","aElement","bElement","position","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_PRECEDING","currentIndex","findIndex","nextIndex","Math","min","max","nextItem","_jsx","value","useTreeFocus","context","Error","useFocusableItem","t0","$","type","isFocused","isFirstItemEver","t1","t2","t3","handleFocus","tabIndex","t4"],"sources":["../../../../src/elements/Hierarchy/Tree/TreeFocusContext.tsx"],"sourcesContent":["'use client'\n\nimport type React from 'react'\n\nimport { createContext, use, useCallback, useEffect, useRef, useState } from 'react'\n\ntype FocusableItem = {\n id: string\n ref: React.RefObject<HTMLElement>\n type: 'load-more' | 'node'\n}\n\ntype TreeFocusContextType = {\n focusedId: null | string\n moveFocus: (direction: 'down' | 'up') => void\n registerItem: (item: FocusableItem) => void\n setFocusedId: (id: null | string) => void\n unregisterItem: (id: string) => void\n}\n\nconst TreeFocusContext = createContext<TreeFocusContextType | undefined>(undefined)\n\nexport const TreeFocusProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [focusedId, setFocusedIdState] = useState<null | string>(null)\n const itemsRef = useRef<Map<string, FocusableItem>>(new Map())\n\n const setFocusedId = useCallback((id: null | string) => {\n setFocusedIdState(id)\n if (id) {\n const item = itemsRef.current.get(id)\n if (item?.ref.current && document.activeElement !== item.ref.current) {\n item.ref.current.focus()\n }\n }\n }, [])\n\n const registerItem = useCallback((item: FocusableItem) => {\n itemsRef.current.set(item.id, item)\n }, [])\n\n const unregisterItem = useCallback((id: string) => {\n itemsRef.current.delete(id)\n }, [])\n\n const moveFocus = useCallback(\n (direction: 'down' | 'up') => {\n const items = Array.from(itemsRef.current.values())\n if (items.length === 0) {\n return\n }\n\n // Sort items by their DOM position to ensure correct navigation order\n const sortedItems = items\n .filter((item) => item.ref.current)\n .sort((a, b) => {\n const aElement = a.ref.current\n const bElement = b.ref.current\n if (!aElement || !bElement) {\n return 0\n }\n\n const position = aElement.compareDocumentPosition(bElement)\n if (position & Node.DOCUMENT_POSITION_FOLLOWING) {\n return -1\n }\n if (position & Node.DOCUMENT_POSITION_PRECEDING) {\n return 1\n }\n return 0\n })\n\n const currentIndex = focusedId ? sortedItems.findIndex((item) => item.id === focusedId) : -1\n\n let nextIndex: number\n if (direction === 'down') {\n nextIndex = currentIndex === -1 ? 0 : Math.min(currentIndex + 1, sortedItems.length - 1)\n } else {\n nextIndex = Math.max(currentIndex - 1, 0)\n }\n\n const nextItem = sortedItems[nextIndex]\n if (nextItem && nextItem.ref.current) {\n nextItem.ref.current.focus()\n setFocusedId(nextItem.id)\n }\n },\n [focusedId, setFocusedId],\n )\n\n return (\n <TreeFocusContext\n value={{\n focusedId,\n moveFocus,\n registerItem,\n setFocusedId,\n unregisterItem,\n }}\n >\n {children}\n </TreeFocusContext>\n )\n}\n\nexport const useTreeFocus = () => {\n const context = use(TreeFocusContext)\n if (!context) {\n throw new Error('useTreeFocus must be used within TreeFocusProvider')\n }\n return context\n}\n\nexport const useFocusableItem = ({\n id,\n type,\n ref,\n}: {\n id: string\n ref: React.RefObject<HTMLElement>\n type: 'load-more' | 'node'\n}) => {\n const { focusedId, registerItem, setFocusedId, unregisterItem } = useTreeFocus()\n const isFocused = focusedId === id\n const isFirstItemEver = focusedId === null\n\n useEffect(() => {\n registerItem({ id, type, ref })\n return () => {\n unregisterItem(id)\n }\n }, [id, ref, type, registerItem, unregisterItem])\n\n const handleFocus = useCallback(() => {\n setFocusedId(id)\n }, [id, setFocusedId])\n\n // Roving tabindex: focused item gets 0, first item (when nothing focused) gets 0, all others get -1\n const tabIndex = isFocused ? 0 : isFirstItemEver ? 0 : -1\n\n return {\n handleFocus,\n isFocused,\n tabIndex,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TreeFocusContext.js","names":["c","_c","createContext","use","useCallback","useEffect","useLayoutEffect","useRef","useState","TreeFocusContext","undefined","TreeFocusProvider","children","focusedId","setFocusedIdState","itemsRef","Map","setFocusedId","id","item","current","get","ref","document","activeElement","focus","registerItem","set","unregisterItem","delete","moveFocus","direction","items","Array","from","values","length","sortedItems","filter","sort","a","b","aElement","bElement","position","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_PRECEDING","currentIndex","findIndex","nextIndex","Math","min","max","nextItem","_jsx","value","useTreeFocus","context","Error","useFocusableItem","t0","$","type","isFocused","isFirstItemEver","wasFocusedRef","t1","t2","t3","t4","t5","handleFocus","tabIndex","t6"],"sources":["../../../../src/elements/Hierarchy/Tree/TreeFocusContext.tsx"],"sourcesContent":["'use client'\n\nimport type React from 'react'\n\nimport {\n createContext,\n use,\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react'\n\ntype FocusableItem = {\n id: string\n ref: React.RefObject<HTMLElement>\n type: 'load-more' | 'node'\n}\n\ntype TreeFocusContextType = {\n focusedId: null | string\n moveFocus: (direction: 'down' | 'up') => void\n registerItem: (item: FocusableItem) => void\n setFocusedId: (id: null | string) => void\n unregisterItem: (id: string) => void\n}\n\nconst TreeFocusContext = createContext<TreeFocusContextType | undefined>(undefined)\n\nexport const TreeFocusProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [focusedId, setFocusedIdState] = useState<null | string>(null)\n const itemsRef = useRef<Map<string, FocusableItem>>(new Map())\n\n const setFocusedId = useCallback((id: null | string) => {\n setFocusedIdState(id)\n if (id) {\n const item = itemsRef.current.get(id)\n if (item?.ref.current && document.activeElement !== item.ref.current) {\n item.ref.current.focus()\n }\n }\n }, [])\n\n const registerItem = useCallback((item: FocusableItem) => {\n itemsRef.current.set(item.id, item)\n }, [])\n\n const unregisterItem = useCallback((id: string) => {\n itemsRef.current.delete(id)\n }, [])\n\n const moveFocus = useCallback(\n (direction: 'down' | 'up') => {\n const items = Array.from(itemsRef.current.values())\n if (items.length === 0) {\n return\n }\n\n // Sort items by their DOM position to ensure correct navigation order\n const sortedItems = items\n .filter((item) => item.ref.current)\n .sort((a, b) => {\n const aElement = a.ref.current\n const bElement = b.ref.current\n if (!aElement || !bElement) {\n return 0\n }\n\n const position = aElement.compareDocumentPosition(bElement)\n if (position & Node.DOCUMENT_POSITION_FOLLOWING) {\n return -1\n }\n if (position & Node.DOCUMENT_POSITION_PRECEDING) {\n return 1\n }\n return 0\n })\n\n const currentIndex = focusedId ? sortedItems.findIndex((item) => item.id === focusedId) : -1\n\n let nextIndex: number\n if (direction === 'down') {\n nextIndex = currentIndex === -1 ? 0 : Math.min(currentIndex + 1, sortedItems.length - 1)\n } else {\n nextIndex = Math.max(currentIndex - 1, 0)\n }\n\n const nextItem = sortedItems[nextIndex]\n if (nextItem && nextItem.ref.current) {\n nextItem.ref.current.focus()\n setFocusedId(nextItem.id)\n }\n },\n [focusedId, setFocusedId],\n )\n\n return (\n <TreeFocusContext\n value={{\n focusedId,\n moveFocus,\n registerItem,\n setFocusedId,\n unregisterItem,\n }}\n >\n {children}\n </TreeFocusContext>\n )\n}\n\nexport const useTreeFocus = () => {\n const context = use(TreeFocusContext)\n if (!context) {\n throw new Error('useTreeFocus must be used within TreeFocusProvider')\n }\n return context\n}\n\nexport const useFocusableItem = ({\n id,\n type,\n ref,\n}: {\n id: string\n ref: React.RefObject<HTMLElement>\n type: 'load-more' | 'node'\n}) => {\n const { focusedId, registerItem, setFocusedId, unregisterItem } = useTreeFocus()\n const isFocused = focusedId === id\n const isFirstItemEver = focusedId === null\n const wasFocusedRef = useRef(false)\n\n useEffect(() => {\n registerItem({ id, type, ref })\n return () => {\n unregisterItem(id)\n }\n }, [id, ref, type, registerItem, unregisterItem])\n\n useLayoutEffect(() => {\n if (\n isFocused &&\n !wasFocusedRef.current &&\n ref.current &&\n document.activeElement !== ref.current\n ) {\n ref.current.focus()\n }\n\n wasFocusedRef.current = isFocused\n }, [isFocused, ref])\n\n const handleFocus = useCallback(() => {\n setFocusedId(id)\n }, [id, setFocusedId])\n\n // Roving tabindex: focused item gets 0, first item (when nothing focused) gets 0, all others get -1\n const tabIndex = isFocused ? 0 : isFirstItemEver ? 0 : -1\n\n return {\n handleFocus,\n isFocused,\n tabIndex,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -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,sBAmMf,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,sBA0Mf,CAAA"}
@@ -75,7 +75,9 @@ export const TreeNode = ({
75
75
  if (newDocs && newDocs.length > 0) {
76
76
  const firstNewDoc = newDocs[0];
77
77
  const docId = firstNewDoc.id;
78
- setFocusedId(`node-${docId}`);
78
+ window.requestAnimationFrame(() => {
79
+ setFocusedId(`node-${docId}`);
80
+ });
79
81
  }
80
82
  }, [loadMoreFromHook, setFocusedId]);
81
83
  const {
@@ -92,21 +94,22 @@ export const TreeNode = ({
92
94
  // - If expanded and loaded, check the actual children
93
95
  // - Otherwise, assume it might have children (show chevron until proven otherwise)
94
96
  const hasChildren = node.hasChildren === true || (expanded && children !== null ? children.length > 0 : true);
95
- const handleToggleClick = useCallback(e => {
96
- e.stopPropagation();
97
- if (!expanded) {
98
- void load();
99
- }
97
+ const handleToggle = useCallback(e => {
98
+ e?.stopPropagation();
99
+ void load();
100
100
  onToggle({
101
101
  id: node.id
102
102
  });
103
- }, [node.id, onToggle, expanded, load]);
103
+ }, [load, node.id, onToggle]);
104
104
  const handleSelectClick = useCallback(() => {
105
105
  onSelect?.({
106
106
  id: node.id
107
107
  });
108
108
  }, [node.id, onSelect]);
109
109
  const handleKeyDown = useCallback(e_0 => {
110
+ if (e_0.target !== e_0.currentTarget) {
111
+ return;
112
+ }
110
113
  switch (e_0.key) {
111
114
  case ' ':
112
115
  case 'Enter':
@@ -127,19 +130,21 @@ export const TreeNode = ({
127
130
  e_0.preventDefault();
128
131
  e_0.stopPropagation();
129
132
  if (hasChildren && !expanded) {
130
- onToggle({
131
- id: node.id
132
- });
133
+ handleToggle();
133
134
  }
134
135
  break;
135
136
  }
136
- }, [hasChildren, expanded, handleSelectClick, onToggle, node.id]);
137
+ }, [expanded, handleSelectClick, handleToggle, hasChildren, node.id, onToggle]);
137
138
  return /*#__PURE__*/_jsxs("div", {
138
139
  "aria-expanded": hasChildren ? expanded : undefined,
139
140
  "aria-level": depth + 1,
140
141
  "aria-selected": selected,
141
142
  className: baseClass,
142
- onFocus: handleFocus,
143
+ onFocus: e_1 => {
144
+ if (e_1.target === e_1.currentTarget) {
145
+ handleFocus();
146
+ }
147
+ },
143
148
  onKeyDown: handleKeyDown,
144
149
  ref: nodeRef,
145
150
  role: "treeitem",
@@ -152,8 +157,8 @@ export const TreeNode = ({
152
157
  children: [hasChildren ? /*#__PURE__*/_jsx("button", {
153
158
  "aria-label": expanded ? t('general:collapse') : t('general:open'),
154
159
  className: `${baseClass}__toggle`,
155
- onClick: handleToggleClick,
156
- onMouseDown: e_1 => e_1.preventDefault(),
160
+ onClick: handleToggle,
161
+ onMouseDown: e_2 => e_2.preventDefault(),
157
162
  tabIndex: -1,
158
163
  type: "button",
159
164
  children: /*#__PURE__*/_jsx(ChevronIcon, {
@@ -167,7 +172,7 @@ export const TreeNode = ({
167
172
  }), /*#__PURE__*/_jsx("span", {
168
173
  className: `${baseClass}__title sidebar-row__title`,
169
174
  onClick: handleSelectClick,
170
- onMouseDown: e_2 => e_2.preventDefault(),
175
+ onMouseDown: e_3 => e_3.preventDefault(),
171
176
  title: node.title,
172
177
  children: node.title
173
178
  }), isLoading && expanded && /*#__PURE__*/_jsx("span", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useRef","Spinner","ChevronIcon","useTranslation","LoadMore","useFocusableItem","useTreeFocus","useChildren","DEFAULT_TREE_LIMIT","baseClass","getDocumentTitle","doc","useAsTitle","docId","id","idStr","String","value","TreeNode","allPossibleTypeValues","baseFilter","cache","collectionSlug","depth","expandedNodes","filterByCollections","icon","limit","node","onSelect","onToggle","parentFieldName","selected","selectedNodeId","typeFieldName","t","expanded","has","nodeRef","setFocusedId","children","hasMore","isLoading","load","loadMore","loadMoreFromHook","totalDocs","enabled","parentId","handleLoadMore","newDocs","length","firstNewDoc","handleFocus","isFocused","tabIndex","type","ref","hasChildren","handleToggleClick","e","stopPropagation","handleSelectClick","handleKeyDown","key","preventDefault","_jsxs","undefined","className","onFocus","onKeyDown","role","style","filter","Boolean","join","_jsx","onClick","onMouseDown","direction","title","loadingText","size","_Fragment","map","child","childData","childId","childTitle","currentCount","onLoadMore"],"sources":["../../../../../src/elements/Hierarchy/Tree/TreeNode/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useRef } from 'react'\n\nimport type { TreeNodeProps } from '../types.js'\n\nimport { Spinner } from '../../../../elements/Spinner/index.js'\nimport { ChevronIcon } from '../../../../icons/Chevron/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { LoadMore } from '../LoadMore/index.js'\nimport { useFocusableItem, useTreeFocus } from '../TreeFocusContext.js'\nimport { useChildren } from '../useChildren.js'\nimport './index.css'\n\nconst DEFAULT_TREE_LIMIT = 10\n\nconst baseClass = 'tree-node'\n\nconst getDocumentTitle = (doc: Record<string, unknown>, useAsTitle: string | undefined): string => {\n const docId: number | string = doc.id as number | string\n const idStr = typeof docId === 'number' ? String(docId) : docId\n\n if (!useAsTitle) {\n return idStr\n }\n\n const value = doc[useAsTitle]\n if (value && (typeof value === 'string' || typeof value === 'number')) {\n return String(value)\n }\n return idStr\n}\n\nexport const TreeNode = ({\n allPossibleTypeValues,\n baseFilter,\n cache,\n collectionSlug,\n depth = 0,\n expandedNodes,\n filterByCollections,\n icon,\n limit = DEFAULT_TREE_LIMIT,\n node,\n onSelect,\n onToggle,\n parentFieldName,\n selected,\n selectedNodeId,\n typeFieldName,\n useAsTitle,\n}: TreeNodeProps) => {\n const { t } = useTranslation()\n const expanded = expandedNodes.has(node.id)\n const nodeRef = useRef<HTMLDivElement>(null)\n const { setFocusedId } = useTreeFocus()\n\n const {\n children,\n hasMore,\n isLoading,\n load,\n loadMore: loadMoreFromHook,\n totalDocs,\n } = useChildren({\n allPossibleTypeValues,\n baseFilter,\n cache,\n collectionSlug,\n enabled: expanded,\n filterByCollections,\n limit,\n parentFieldName,\n parentId: node.id,\n typeFieldName,\n useAsTitle,\n })\n\n const handleLoadMore = React.useCallback(async () => {\n const newDocs = await loadMoreFromHook()\n\n if (newDocs && newDocs.length > 0) {\n const firstNewDoc = newDocs[0]\n const docId: number | string = (firstNewDoc as { id: number | string }).id\n setFocusedId(`node-${docId}`)\n }\n }, [loadMoreFromHook, setFocusedId])\n\n const { handleFocus, isFocused, tabIndex } = useFocusableItem({\n id: `node-${node.id}`,\n type: 'node',\n ref: nodeRef,\n })\n\n // Determine if node has children:\n // - If explicitly set in data, use that\n // - If expanded and loaded, check the actual children\n // - Otherwise, assume it might have children (show chevron until proven otherwise)\n const hasChildren =\n node.hasChildren === true || (expanded && children !== null ? children.length > 0 : true)\n\n const handleToggleClick = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation()\n if (!expanded) {\n void load()\n }\n onToggle({ id: node.id })\n },\n [node.id, onToggle, expanded, load],\n )\n\n const handleSelectClick = useCallback(() => {\n onSelect?.({ id: node.id })\n }, [node.id, onSelect])\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n switch (e.key) {\n case ' ':\n case 'Enter':\n e.preventDefault()\n e.stopPropagation()\n handleSelectClick()\n break\n case 'ArrowLeft':\n e.preventDefault()\n e.stopPropagation()\n if (hasChildren && expanded) {\n onToggle({ id: node.id })\n }\n break\n case 'ArrowRight':\n e.preventDefault()\n e.stopPropagation()\n if (hasChildren && !expanded) {\n onToggle({ id: node.id })\n }\n break\n }\n },\n [hasChildren, expanded, handleSelectClick, onToggle, node.id],\n )\n\n return (\n <div\n aria-expanded={hasChildren ? expanded : undefined}\n aria-level={depth + 1}\n aria-selected={selected}\n className={baseClass}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n ref={nodeRef}\n role=\"treeitem\"\n style={{ '--tree-depth': depth } as React.CSSProperties}\n tabIndex={tabIndex}\n >\n <div\n className={[\n `${baseClass}__content`,\n 'sidebar-row',\n selected && `${baseClass}__content--selected`,\n selected && 'sidebar-row--selected',\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {hasChildren ? (\n <button\n aria-label={expanded ? t('general:collapse') : t('general:open')}\n className={`${baseClass}__toggle`}\n onClick={handleToggleClick}\n onMouseDown={(e) => e.preventDefault()}\n tabIndex={-1}\n type=\"button\"\n >\n <ChevronIcon direction={expanded ? 'down' : 'right'} />\n </button>\n ) : (\n <div className={`${baseClass}__toggle-spacer`} />\n )}\n {Boolean(icon) && <span className=\"sidebar-row__icon\">{icon}</span>}\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions -- keyboard handled by parent */}\n <span\n className={`${baseClass}__title sidebar-row__title`}\n onClick={handleSelectClick}\n onMouseDown={(e) => e.preventDefault()}\n title={node.title}\n >\n {node.title}\n </span>\n {isLoading && expanded && (\n <span className={`${baseClass}__loading`}>\n <Spinner loadingText={null} size=\"sm\" />\n </span>\n )}\n </div>\n\n {expanded && children && children.length > 0 && (\n <>\n <div className={`${baseClass}__children`} role=\"group\">\n {children.map((child) => {\n const childData = child as { id: number | string }\n const childId = childData.id\n const childTitle = getDocumentTitle(child, useAsTitle)\n return (\n <TreeNode\n allPossibleTypeValues={allPossibleTypeValues}\n baseFilter={baseFilter}\n cache={cache}\n collectionSlug={collectionSlug}\n depth={depth + 1}\n expandedNodes={expandedNodes}\n filterByCollections={filterByCollections}\n icon={icon}\n key={String(childId)}\n limit={limit}\n node={{\n id: childId,\n hasChildren: true,\n title: childTitle,\n }}\n onSelect={onSelect}\n onToggle={onToggle}\n parentFieldName={parentFieldName}\n selected={String(childId) === String(selectedNodeId)}\n selectedNodeId={selectedNodeId}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n })}\n </div>\n {hasMore && (\n <LoadMore\n currentCount={children.length}\n depth={depth + 1}\n id={`load-more-${node.id}`}\n onLoadMore={handleLoadMore}\n totalDocs={totalDocs}\n />\n )}\n </>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useRef","Spinner","ChevronIcon","useTranslation","LoadMore","useFocusableItem","useTreeFocus","useChildren","DEFAULT_TREE_LIMIT","baseClass","getDocumentTitle","doc","useAsTitle","docId","id","idStr","String","value","TreeNode","allPossibleTypeValues","baseFilter","cache","collectionSlug","depth","expandedNodes","filterByCollections","icon","limit","node","onSelect","onToggle","parentFieldName","selected","selectedNodeId","typeFieldName","t","expanded","has","nodeRef","setFocusedId","children","hasMore","isLoading","load","loadMore","loadMoreFromHook","totalDocs","enabled","parentId","handleLoadMore","newDocs","length","firstNewDoc","window","requestAnimationFrame","handleFocus","isFocused","tabIndex","type","ref","hasChildren","handleToggle","e","stopPropagation","handleSelectClick","handleKeyDown","target","currentTarget","key","preventDefault","_jsxs","undefined","className","onFocus","onKeyDown","role","style","filter","Boolean","join","_jsx","onClick","onMouseDown","direction","title","loadingText","size","_Fragment","map","child","childData","childId","childTitle","currentCount","onLoadMore"],"sources":["../../../../../src/elements/Hierarchy/Tree/TreeNode/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useRef } from 'react'\n\nimport type { TreeNodeProps } from '../types.js'\n\nimport { Spinner } from '../../../../elements/Spinner/index.js'\nimport { ChevronIcon } from '../../../../icons/Chevron/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { LoadMore } from '../LoadMore/index.js'\nimport { useFocusableItem, useTreeFocus } from '../TreeFocusContext.js'\nimport { useChildren } from '../useChildren.js'\nimport './index.css'\n\nconst DEFAULT_TREE_LIMIT = 10\n\nconst baseClass = 'tree-node'\n\nconst getDocumentTitle = (doc: Record<string, unknown>, useAsTitle: string | undefined): string => {\n const docId: number | string = doc.id as number | string\n const idStr = typeof docId === 'number' ? String(docId) : docId\n\n if (!useAsTitle) {\n return idStr\n }\n\n const value = doc[useAsTitle]\n if (value && (typeof value === 'string' || typeof value === 'number')) {\n return String(value)\n }\n return idStr\n}\n\nexport const TreeNode = ({\n allPossibleTypeValues,\n baseFilter,\n cache,\n collectionSlug,\n depth = 0,\n expandedNodes,\n filterByCollections,\n icon,\n limit = DEFAULT_TREE_LIMIT,\n node,\n onSelect,\n onToggle,\n parentFieldName,\n selected,\n selectedNodeId,\n typeFieldName,\n useAsTitle,\n}: TreeNodeProps) => {\n const { t } = useTranslation()\n const expanded = expandedNodes.has(node.id)\n const nodeRef = useRef<HTMLDivElement>(null)\n const { setFocusedId } = useTreeFocus()\n\n const {\n children,\n hasMore,\n isLoading,\n load,\n loadMore: loadMoreFromHook,\n totalDocs,\n } = useChildren({\n allPossibleTypeValues,\n baseFilter,\n cache,\n collectionSlug,\n enabled: expanded,\n filterByCollections,\n limit,\n parentFieldName,\n parentId: node.id,\n typeFieldName,\n useAsTitle,\n })\n\n const handleLoadMore = React.useCallback(async () => {\n const newDocs = await loadMoreFromHook()\n\n if (newDocs && newDocs.length > 0) {\n const firstNewDoc = newDocs[0]\n const docId: number | string = (firstNewDoc as { id: number | string }).id\n window.requestAnimationFrame(() => {\n setFocusedId(`node-${docId}`)\n })\n }\n }, [loadMoreFromHook, setFocusedId])\n\n const { handleFocus, isFocused, tabIndex } = useFocusableItem({\n id: `node-${node.id}`,\n type: 'node',\n ref: nodeRef,\n })\n\n // Determine if node has children:\n // - If explicitly set in data, use that\n // - If expanded and loaded, check the actual children\n // - Otherwise, assume it might have children (show chevron until proven otherwise)\n const hasChildren =\n node.hasChildren === true || (expanded && children !== null ? children.length > 0 : true)\n\n const handleToggle = useCallback(\n (e?: React.SyntheticEvent) => {\n e?.stopPropagation()\n void load()\n onToggle({ id: node.id })\n },\n [load, node.id, onToggle],\n )\n\n const handleSelectClick = useCallback(() => {\n onSelect?.({ id: node.id })\n }, [node.id, onSelect])\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.target !== e.currentTarget) {\n return\n }\n switch (e.key) {\n case ' ':\n case 'Enter':\n e.preventDefault()\n e.stopPropagation()\n handleSelectClick()\n break\n case 'ArrowLeft':\n e.preventDefault()\n e.stopPropagation()\n if (hasChildren && expanded) {\n onToggle({ id: node.id })\n }\n break\n case 'ArrowRight':\n e.preventDefault()\n e.stopPropagation()\n if (hasChildren && !expanded) {\n handleToggle()\n }\n break\n }\n },\n [expanded, handleSelectClick, handleToggle, hasChildren, node.id, onToggle],\n )\n\n return (\n <div\n aria-expanded={hasChildren ? expanded : undefined}\n aria-level={depth + 1}\n aria-selected={selected}\n className={baseClass}\n onFocus={(e) => {\n if (e.target === e.currentTarget) {\n handleFocus()\n }\n }}\n onKeyDown={handleKeyDown}\n ref={nodeRef}\n role=\"treeitem\"\n style={{ '--tree-depth': depth } as React.CSSProperties}\n tabIndex={tabIndex}\n >\n <div\n className={[\n `${baseClass}__content`,\n 'sidebar-row',\n selected && `${baseClass}__content--selected`,\n selected && 'sidebar-row--selected',\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {hasChildren ? (\n <button\n aria-label={expanded ? t('general:collapse') : t('general:open')}\n className={`${baseClass}__toggle`}\n onClick={handleToggle}\n onMouseDown={(e) => e.preventDefault()}\n tabIndex={-1}\n type=\"button\"\n >\n <ChevronIcon direction={expanded ? 'down' : 'right'} />\n </button>\n ) : (\n <div className={`${baseClass}__toggle-spacer`} />\n )}\n {Boolean(icon) && <span className=\"sidebar-row__icon\">{icon}</span>}\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions -- keyboard handled by parent */}\n <span\n className={`${baseClass}__title sidebar-row__title`}\n onClick={handleSelectClick}\n onMouseDown={(e) => e.preventDefault()}\n title={node.title}\n >\n {node.title}\n </span>\n {isLoading && expanded && (\n <span className={`${baseClass}__loading`}>\n <Spinner loadingText={null} size=\"sm\" />\n </span>\n )}\n </div>\n\n {expanded && children && children.length > 0 && (\n <>\n <div className={`${baseClass}__children`} role=\"group\">\n {children.map((child) => {\n const childData = child as { id: number | string }\n const childId = childData.id\n const childTitle = getDocumentTitle(child, useAsTitle)\n return (\n <TreeNode\n allPossibleTypeValues={allPossibleTypeValues}\n baseFilter={baseFilter}\n cache={cache}\n collectionSlug={collectionSlug}\n depth={depth + 1}\n expandedNodes={expandedNodes}\n filterByCollections={filterByCollections}\n icon={icon}\n key={String(childId)}\n limit={limit}\n node={{\n id: childId,\n hasChildren: true,\n title: childTitle,\n }}\n onSelect={onSelect}\n onToggle={onToggle}\n parentFieldName={parentFieldName}\n selected={String(childId) === String(selectedNodeId)}\n selectedNodeId={selectedNodeId}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n })}\n </div>\n {hasMore && (\n <LoadMore\n currentCount={children.length}\n depth={depth + 1}\n id={`load-more-${node.id}`}\n onLoadMore={handleLoadMore}\n totalDocs={totalDocs}\n />\n )}\n </>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}