@payloadcms/ui 4.0.0-internal.a7ca468 → 4.0.0-internal.af6aad0

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 (558) hide show
  1. package/dist/elements/AddNewRelation/index.css +0 -4
  2. package/dist/elements/AddNewRelation/index.js +2 -2
  3. package/dist/elements/AddNewRelation/index.js.map +1 -1
  4. package/dist/elements/AppHeader/index.css +5 -0
  5. package/dist/elements/AppHeader/index.d.ts +1 -8
  6. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  7. package/dist/elements/AppHeader/index.js +4 -13
  8. package/dist/elements/AppHeader/index.js.map +1 -1
  9. package/dist/elements/ArrayAction/index.d.ts +1 -0
  10. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  11. package/dist/elements/ArrayAction/index.js +45 -32
  12. package/dist/elements/ArrayAction/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
  14. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  15. package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
  16. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  17. package/dist/elements/Button/index.css +25 -2
  18. package/dist/elements/Button/index.d.ts.map +1 -1
  19. package/dist/elements/Button/index.js +2 -0
  20. package/dist/elements/Button/index.js.map +1 -1
  21. package/dist/elements/Button/types.d.ts +1 -1
  22. package/dist/elements/Button/types.d.ts.map +1 -1
  23. package/dist/elements/Button/types.js.map +1 -1
  24. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  25. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  26. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
  27. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  28. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
  29. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  30. package/dist/elements/DefaultListViewTabs/index.css +1 -0
  31. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  32. package/dist/elements/DefaultListViewTabs/index.js +84 -62
  33. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  34. package/dist/elements/DocumentDrawer/types.d.ts +1 -1
  35. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  36. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  37. package/dist/elements/Drawer/index.css +10 -4
  38. package/dist/elements/Drawer/types.d.ts +2 -2
  39. package/dist/elements/Drawer/types.d.ts.map +1 -1
  40. package/dist/elements/Drawer/types.js.map +1 -1
  41. package/dist/elements/Dropzone/index.css +10 -4
  42. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  43. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  44. package/dist/elements/FileManager/index.css +0 -30
  45. package/dist/elements/FileManager/index.d.ts.map +1 -1
  46. package/dist/elements/FileManager/index.js +379 -287
  47. package/dist/elements/FileManager/index.js.map +1 -1
  48. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +22 -4
  49. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
  50. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +68 -49
  51. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  52. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +100 -15
  53. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  54. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +97 -137
  55. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  56. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
  57. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  58. package/dist/elements/Hierarchy/ColumnBrowser/index.js +51 -23
  59. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  60. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +26 -3
  61. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  62. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  63. package/dist/elements/Hierarchy/CreateNewButton/index.css +9 -0
  64. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts +9 -0
  65. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts.map +1 -0
  66. package/dist/elements/Hierarchy/CreateNewButton/index.js +111 -0
  67. package/dist/elements/Hierarchy/CreateNewButton/index.js.map +1 -0
  68. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  69. package/dist/elements/Hierarchy/DocHeaderButton/index.js +6 -1
  70. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  71. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +1 -3
  72. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
  73. package/dist/elements/Hierarchy/Field/index.client.d.ts +5 -0
  74. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  75. package/dist/elements/Hierarchy/Field/index.client.js +120 -95
  76. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  77. package/dist/elements/Hierarchy/Field/index.css +3 -34
  78. package/dist/elements/Hierarchy/Modal/Footer/index.css +45 -0
  79. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +28 -0
  80. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  81. package/dist/elements/Hierarchy/Modal/Footer/index.js +166 -0
  82. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  83. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +18 -4
  84. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  85. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +88 -24
  86. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  87. package/dist/elements/Hierarchy/Modal/index.css +4 -53
  88. package/dist/elements/Hierarchy/Modal/index.d.ts +5 -2
  89. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  90. package/dist/elements/Hierarchy/Modal/index.js +136 -99
  91. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  92. package/dist/elements/Hierarchy/Modal/types.d.ts +15 -0
  93. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  94. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  95. package/dist/elements/Hierarchy/MoveMany/index.d.ts +7 -3
  96. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  97. package/dist/elements/Hierarchy/MoveMany/index.js +43 -170
  98. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  99. package/dist/elements/Hierarchy/Search/index.css +2 -9
  100. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  101. package/dist/elements/Hierarchy/Search/index.js +6 -73
  102. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  103. package/dist/elements/Hierarchy/Search/types.d.ts +2 -6
  104. package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -1
  105. package/dist/elements/Hierarchy/Search/types.js.map +1 -1
  106. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -4
  107. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  108. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +101 -186
  109. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  110. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  111. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +1 -21
  112. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  113. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +3 -3
  114. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +59 -29
  115. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +1 -1
  116. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  117. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +54 -10
  118. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  119. package/dist/elements/Hierarchy/Tree/index.css +8 -9
  120. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  121. package/dist/elements/Hierarchy/Tree/index.js +29 -47
  122. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  123. package/dist/elements/Hierarchy/Tree/types.d.ts +9 -1
  124. package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -1
  125. package/dist/elements/Hierarchy/Tree/types.js.map +1 -1
  126. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  127. package/dist/elements/Hierarchy/Tree/useChildren.js +11 -1
  128. package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
  129. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts +22 -0
  130. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts.map +1 -0
  131. package/dist/elements/Hierarchy/getFolderHierarchySlug.js +17 -0
  132. package/dist/elements/Hierarchy/getFolderHierarchySlug.js.map +1 -0
  133. package/dist/elements/Hierarchy/move/moveDocuments.d.ts +34 -0
  134. package/dist/elements/Hierarchy/move/moveDocuments.d.ts.map +1 -0
  135. package/dist/elements/Hierarchy/move/moveDocuments.js +94 -0
  136. package/dist/elements/Hierarchy/move/moveDocuments.js.map +1 -0
  137. package/dist/elements/IDLabel/index.css +6 -0
  138. package/dist/elements/IDLabel/index.d.ts +1 -1
  139. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  140. package/dist/elements/IDLabel/index.js +16 -21
  141. package/dist/elements/IDLabel/index.js.map +1 -1
  142. package/dist/elements/ListControls/index.d.ts.map +1 -1
  143. package/dist/elements/ListControls/index.js +3 -2
  144. package/dist/elements/ListControls/index.js.map +1 -1
  145. package/dist/elements/ListControls/types.d.ts +4 -0
  146. package/dist/elements/ListControls/types.d.ts.map +1 -1
  147. package/dist/elements/ListControls/types.js.map +1 -1
  148. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  149. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  150. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  151. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  152. package/dist/elements/Nav/NavSidebarToggle/index.js +1 -1
  153. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  154. package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
  155. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  156. package/dist/elements/Nav/NavWrapper/index.js +12 -18
  157. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  158. package/dist/elements/Nav/SidebarTabs/index.css +1 -2
  159. package/dist/elements/Nav/context.d.ts +0 -1
  160. package/dist/elements/Nav/context.d.ts.map +1 -1
  161. package/dist/elements/Nav/context.js +92 -67
  162. package/dist/elements/Nav/context.js.map +1 -1
  163. package/dist/elements/Nav/index.css +47 -42
  164. package/dist/elements/Nav/index.d.ts +4 -0
  165. package/dist/elements/Nav/index.d.ts.map +1 -1
  166. package/dist/elements/Nav/index.js +16 -1
  167. package/dist/elements/Nav/index.js.map +1 -1
  168. package/dist/elements/NavGroup/index.css +29 -15
  169. package/dist/elements/Popup/PopupButtonList/index.css +33 -17
  170. package/dist/elements/Popup/index.css +6 -0
  171. package/dist/elements/Popup/index.d.ts +10 -0
  172. package/dist/elements/Popup/index.d.ts.map +1 -1
  173. package/dist/elements/Popup/index.js +13 -6
  174. package/dist/elements/Popup/index.js.map +1 -1
  175. package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
  176. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  177. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  178. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  179. package/dist/elements/ReactSelect/types.d.ts +5 -0
  180. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  181. package/dist/elements/ReactSelect/types.js.map +1 -1
  182. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  183. package/dist/elements/RelationshipTable/index.js +5 -2
  184. package/dist/elements/RelationshipTable/index.js.map +1 -1
  185. package/dist/elements/SegmentedControl/index.css +58 -0
  186. package/dist/elements/SegmentedControl/index.d.ts +19 -0
  187. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  188. package/dist/elements/SegmentedControl/index.js +104 -0
  189. package/dist/elements/SegmentedControl/index.js.map +1 -0
  190. package/dist/elements/SelectAll/index.d.ts.map +1 -1
  191. package/dist/elements/SelectAll/index.js +1 -2
  192. package/dist/elements/SelectAll/index.js.map +1 -1
  193. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  194. package/dist/elements/SelectRow/index.js +1 -2
  195. package/dist/elements/SelectRow/index.js.map +1 -1
  196. package/dist/elements/SidebarRow/index.css +1 -5
  197. package/dist/elements/SidebarToggle/index.css +3 -1
  198. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  199. package/dist/elements/SortHeader/index.js +29 -26
  200. package/dist/elements/SortHeader/index.js.map +1 -1
  201. package/dist/elements/StepNav/DropTarget/index.css +20 -0
  202. package/dist/elements/StepNav/DropTarget/index.d.ts +16 -0
  203. package/dist/elements/StepNav/DropTarget/index.d.ts.map +1 -0
  204. package/dist/elements/StepNav/DropTarget/index.js +71 -0
  205. package/dist/elements/StepNav/DropTarget/index.js.map +1 -0
  206. package/dist/elements/StepNav/index.css +64 -14
  207. package/dist/elements/StepNav/index.d.ts.map +1 -1
  208. package/dist/elements/StepNav/index.js +147 -69
  209. package/dist/elements/StepNav/index.js.map +1 -1
  210. package/dist/elements/StepNav/types.d.ts +6 -0
  211. package/dist/elements/StepNav/types.d.ts.map +1 -1
  212. package/dist/elements/StepNav/types.js.map +1 -1
  213. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +5 -7
  214. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  215. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +14 -3
  216. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  217. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  218. package/dist/elements/Table/DefaultCell/index.js +3 -11
  219. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  220. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
  221. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
  222. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  223. package/dist/elements/Upload/index.css +39 -32
  224. package/dist/elements/Upload/index.d.ts.map +1 -1
  225. package/dist/elements/Upload/index.js +37 -99
  226. package/dist/elements/Upload/index.js.map +1 -1
  227. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  228. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  229. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  230. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  231. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  232. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  233. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  234. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  235. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  236. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  237. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  238. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  239. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  240. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts +18 -0
  241. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts.map +1 -0
  242. package/dist/elements/UserMenu/HoverSubmenuGroup.js +38 -0
  243. package/dist/elements/UserMenu/HoverSubmenuGroup.js.map +1 -0
  244. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  245. package/dist/elements/UserMenu/LanguageMenu/index.js +83 -39
  246. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  247. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  248. package/dist/elements/UserMenu/SettingsMenu/index.js +57 -21
  249. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  250. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  251. package/dist/elements/UserMenu/ThemeMenu/index.js +83 -39
  252. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  253. package/dist/elements/UserMenu/index.css +32 -2
  254. package/dist/elements/UserMenu/index.d.ts +1 -0
  255. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  256. package/dist/elements/UserMenu/index.js +77 -51
  257. package/dist/elements/UserMenu/index.js.map +1 -1
  258. package/dist/elements/UserMenu/useHoverSubmenu.d.ts +21 -0
  259. package/dist/elements/UserMenu/useHoverSubmenu.d.ts.map +1 -0
  260. package/dist/elements/UserMenu/useHoverSubmenu.js +260 -0
  261. package/dist/elements/UserMenu/useHoverSubmenu.js.map +1 -0
  262. package/dist/elements/ViewModeToggle/index.d.ts +8 -0
  263. package/dist/elements/ViewModeToggle/index.d.ts.map +1 -0
  264. package/dist/elements/ViewModeToggle/index.js +29 -0
  265. package/dist/elements/ViewModeToggle/index.js.map +1 -0
  266. package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
  267. package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
  268. package/dist/elements/WhereBuilder/conditionValue.js +32 -0
  269. package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
  270. package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
  271. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
  272. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  273. package/dist/elements/WhereBuilder/index.js +15 -4
  274. package/dist/elements/WhereBuilder/index.js.map +1 -1
  275. package/dist/exports/client/index.d.ts +6 -1
  276. package/dist/exports/client/index.d.ts.map +1 -1
  277. package/dist/exports/client/index.js +1 -1
  278. package/dist/exports/client/index.js.map +3 -3
  279. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  280. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  281. package/dist/fields/Array/ArrayRow.js +2 -0
  282. package/dist/fields/Array/ArrayRow.js.map +1 -1
  283. package/dist/fields/Array/index.d.ts.map +1 -1
  284. package/dist/fields/Array/index.js +38 -10
  285. package/dist/fields/Array/index.js.map +1 -1
  286. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  287. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  288. package/dist/fields/Blocks/BlockRow.js +2 -0
  289. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  290. package/dist/fields/Blocks/RowActions.d.ts +1 -0
  291. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  292. package/dist/fields/Blocks/RowActions.js +22 -19
  293. package/dist/fields/Blocks/RowActions.js.map +1 -1
  294. package/dist/fields/Blocks/index.d.ts.map +1 -1
  295. package/dist/fields/Blocks/index.js +35 -7
  296. package/dist/fields/Blocks/index.js.map +1 -1
  297. package/dist/fields/Checkbox/Input.d.ts +2 -2
  298. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  299. package/dist/fields/Checkbox/Input.js +134 -152
  300. package/dist/fields/Checkbox/Input.js.map +1 -1
  301. package/dist/fields/Checkbox/index.css +168 -155
  302. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  303. package/dist/fields/Relationship/Input.js +24 -6
  304. package/dist/fields/Relationship/Input.js.map +1 -1
  305. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  306. package/dist/fields/Relationship/optionsReducer.js +2 -0
  307. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  308. package/dist/fields/Relationship/types.d.ts +24 -0
  309. package/dist/fields/Relationship/types.d.ts.map +1 -1
  310. package/dist/fields/Relationship/types.js.map +1 -1
  311. package/dist/fields/Upload/Input.d.ts.map +1 -1
  312. package/dist/fields/Upload/Input.js +44 -16
  313. package/dist/fields/Upload/Input.js.map +1 -1
  314. package/dist/fields/Upload/Input.spec.js +241 -0
  315. package/dist/fields/Upload/Input.spec.js.map +1 -0
  316. package/dist/forms/Form/index.d.ts.map +1 -1
  317. package/dist/forms/Form/index.js +4 -1
  318. package/dist/forms/Form/index.js.map +1 -1
  319. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  320. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
  321. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  322. package/dist/icons/CollapseLayers/index.css +5 -0
  323. package/dist/icons/CollapseLayers/index.d.ts +7 -0
  324. package/dist/icons/CollapseLayers/index.d.ts.map +1 -0
  325. package/dist/icons/CollapseLayers/index.js +23 -0
  326. package/dist/icons/CollapseLayers/index.js.map +1 -0
  327. package/dist/icons/Edit/index.d.ts +0 -1
  328. package/dist/icons/Edit/index.d.ts.map +1 -1
  329. package/dist/icons/Edit/index.js +4 -4
  330. package/dist/icons/Edit/index.js.map +1 -1
  331. package/dist/icons/Table/index.css +5 -0
  332. package/dist/icons/Table/index.d.ts +7 -0
  333. package/dist/icons/Table/index.d.ts.map +1 -0
  334. package/dist/icons/Table/index.js +25 -0
  335. package/dist/icons/Table/index.js.map +1 -0
  336. package/dist/providers/Actions/index.d.ts +1 -0
  337. package/dist/providers/Actions/index.d.ts.map +1 -1
  338. package/dist/providers/Actions/index.js +43 -11
  339. package/dist/providers/Actions/index.js.map +1 -1
  340. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  341. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  342. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  343. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  344. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  345. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  346. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  347. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  348. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  349. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  350. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  351. package/dist/providers/Auth/authSessionRequests.js +119 -0
  352. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  353. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  354. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  355. package/dist/providers/Auth/index.d.ts +2 -56
  356. package/dist/providers/Auth/index.d.ts.map +1 -1
  357. package/dist/providers/Auth/index.js +283 -135
  358. package/dist/providers/Auth/index.js.map +1 -1
  359. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  360. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  361. package/dist/providers/Auth/sessionActivity.js +49 -0
  362. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  363. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  364. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  365. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  366. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  367. package/dist/providers/Auth/sessionTiming.js +18 -0
  368. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  369. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  370. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  371. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  372. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  373. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  374. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  375. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  376. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  377. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  378. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  379. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  380. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  381. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  382. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  383. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  384. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  385. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  386. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  387. package/dist/providers/Auth/types.d.ts +65 -0
  388. package/dist/providers/Auth/types.d.ts.map +1 -0
  389. package/dist/providers/Auth/types.js +2 -0
  390. package/dist/providers/Auth/types.js.map +1 -0
  391. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  392. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  393. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  394. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  395. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  396. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  397. package/dist/providers/FormErrorHandler/index.d.ts +5 -1
  398. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -1
  399. package/dist/providers/FormErrorHandler/index.js.map +1 -1
  400. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  401. package/dist/providers/Hierarchy/index.js +53 -24
  402. package/dist/providers/Hierarchy/index.js.map +1 -1
  403. package/dist/providers/Hierarchy/types.d.ts +2 -0
  404. package/dist/providers/Hierarchy/types.d.ts.map +1 -1
  405. package/dist/providers/Hierarchy/types.js.map +1 -1
  406. package/dist/providers/HierarchyDnd/index.css +51 -0
  407. package/dist/providers/HierarchyDnd/index.d.ts +21 -0
  408. package/dist/providers/HierarchyDnd/index.d.ts.map +1 -0
  409. package/dist/providers/HierarchyDnd/index.js +163 -0
  410. package/dist/providers/HierarchyDnd/index.js.map +1 -0
  411. package/dist/providers/HierarchyDnd/types.d.ts +56 -0
  412. package/dist/providers/HierarchyDnd/types.d.ts.map +1 -0
  413. package/dist/providers/HierarchyDnd/types.js +21 -0
  414. package/dist/providers/HierarchyDnd/types.js.map +1 -0
  415. package/dist/providers/Locale/index.d.ts.map +1 -1
  416. package/dist/providers/Locale/index.js +41 -36
  417. package/dist/providers/Locale/index.js.map +1 -1
  418. package/dist/providers/Root/index.js +4 -4
  419. package/dist/providers/Root/index.js.map +1 -1
  420. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  421. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  422. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  423. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  424. package/dist/providers/RouteTransition/index.d.ts +2 -0
  425. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  426. package/dist/providers/RouteTransition/index.js +42 -14
  427. package/dist/providers/RouteTransition/index.js.map +1 -1
  428. package/dist/styles.css +1 -1
  429. package/dist/templates/Default/Wrapper/index.css +2 -1
  430. package/dist/templates/Default/Wrapper/index.d.ts +2 -0
  431. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  432. package/dist/templates/Default/Wrapper/index.js +12 -6
  433. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  434. package/dist/templates/Default/index.css +3 -1
  435. package/dist/templates/Default/index.d.ts +1 -0
  436. package/dist/templates/Default/index.d.ts.map +1 -1
  437. package/dist/templates/Default/index.js +19 -15
  438. package/dist/templates/Default/index.js.map +1 -1
  439. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  440. package/dist/utilities/formatMetadata.js +0 -5
  441. package/dist/utilities/formatMetadata.js.map +1 -1
  442. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  443. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  444. package/dist/utilities/getFilesFromClipboard.js +49 -0
  445. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  446. package/dist/utilities/slugify.d.ts.map +1 -1
  447. package/dist/utilities/slugify.js +1 -0
  448. package/dist/utilities/slugify.js.map +1 -1
  449. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  450. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  451. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  452. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  453. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  454. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  455. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  456. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  457. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  458. package/dist/views/Dashboard/Default/ModularDashboard/index.css +33 -140
  459. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  460. package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
  461. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  462. package/dist/views/Edit/index.d.ts.map +1 -1
  463. package/dist/views/Edit/index.js +3 -2
  464. package/dist/views/Edit/index.js.map +1 -1
  465. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  466. package/dist/views/HierarchyList/DocumentListSelection/index.js +100 -105
  467. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  468. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.css +216 -0
  469. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts +20 -0
  470. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts.map +1 -0
  471. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js +182 -0
  472. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js.map +1 -0
  473. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.css +38 -0
  474. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts +15 -0
  475. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts.map +1 -0
  476. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js +85 -0
  477. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js.map +1 -0
  478. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.css +98 -0
  479. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts +27 -0
  480. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts.map +1 -0
  481. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js +84 -0
  482. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js.map +1 -0
  483. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts +19 -0
  484. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts.map +1 -0
  485. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js +100 -0
  486. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js.map +1 -0
  487. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts +53 -0
  488. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts.map +1 -0
  489. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js +145 -0
  490. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js.map +1 -0
  491. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts +8 -0
  492. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts.map +1 -0
  493. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js +21 -0
  494. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js.map +1 -0
  495. package/dist/views/HierarchyList/HierarchyCards/index.css +115 -0
  496. package/dist/views/HierarchyList/HierarchyCards/index.d.ts +80 -0
  497. package/dist/views/HierarchyList/HierarchyCards/index.d.ts.map +1 -0
  498. package/dist/views/HierarchyList/HierarchyCards/index.js +457 -0
  499. package/dist/views/HierarchyList/HierarchyCards/index.js.map +1 -0
  500. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +6 -1
  501. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  502. package/dist/views/HierarchyList/HierarchyListHeader/index.js +10 -8
  503. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  504. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  505. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +11 -10
  506. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  507. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  508. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +3 -6
  509. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  510. package/dist/views/HierarchyList/HierarchyTable/index.css +51 -0
  511. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +13 -1
  512. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  513. package/dist/views/HierarchyList/HierarchyTable/index.js +156 -38
  514. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  515. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +6 -0
  516. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  517. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  518. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  519. package/dist/views/HierarchyList/index.js +103 -20
  520. package/dist/views/HierarchyList/index.js.map +1 -1
  521. package/dist/views/List/ListHeader/index.d.ts +1 -10
  522. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  523. package/dist/views/List/ListHeader/index.js +1 -3
  524. package/dist/views/List/ListHeader/index.js.map +1 -1
  525. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  526. package/dist/views/List/ListSelection/index.js +138 -122
  527. package/dist/views/List/ListSelection/index.js.map +1 -1
  528. package/dist/views/List/handleHierarchy.d.ts +6 -1
  529. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  530. package/dist/views/List/handleHierarchy.js +34 -3
  531. package/dist/views/List/handleHierarchy.js.map +1 -1
  532. package/dist/views/List/index.client.d.ts.map +1 -1
  533. package/dist/views/List/index.client.js +128 -18
  534. package/dist/views/List/index.client.js.map +1 -1
  535. package/dist/views/List/index.css +5 -0
  536. package/dist/views/List/index.d.ts.map +1 -1
  537. package/dist/views/List/index.js +27 -16
  538. package/dist/views/List/index.js.map +1 -1
  539. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  540. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  541. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  542. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  543. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  544. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  545. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  546. package/dist/views/Root/getRouteData.js +8 -2
  547. package/dist/views/Root/getRouteData.js.map +1 -1
  548. package/dist/views/Root/index.d.ts.map +1 -1
  549. package/dist/views/Root/index.js +1 -0
  550. package/dist/views/Root/index.js.map +1 -1
  551. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
  552. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  553. package/package.json +4 -4
  554. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +0 -36
  555. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
  556. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
  557. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -141
  558. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
@@ -0,0 +1,115 @@
1
+ @layer payload-default {
2
+ /*
3
+ * The plane stacks one band per group (folders, then documents) but owns the selection gestures
4
+ * itself, so a marquee or a Shift-click range can run across bands. It is also the containing
5
+ * block for the marquee, which is why the bands can't be the positioned elements.
6
+ */
7
+ .hierarchy-card-grid {
8
+ position: relative;
9
+ display: flex;
10
+ flex-direction: column;
11
+ }
12
+
13
+ .hierarchy-card-grid__band {
14
+ display: grid;
15
+ /*
16
+ * Holds the layout until the plane has been measured, which can only happen on the client: the
17
+ * measured count (2/4/5/8) then lands as an inline style - see `useColumnCount` in index.tsx.
18
+ * `auto-fill` is used rather than a fixed count because it resolves to the same ~200px card
19
+ * target the tiers aim for, so the first paint already matches the measured result closely and
20
+ * the grid doesn't visibly reflow on hydration.
21
+ */
22
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
23
+ gap: var(--spacer-3);
24
+ /*
25
+ * Matches the horizontal gutter the tables get from their own cells, so cards line up with
26
+ * the header above them instead of sitting flush against the panel edge.
27
+ */
28
+ padding-inline: var(--gutter-h);
29
+ padding-block-start: var(--spacer-4);
30
+ padding-block-end: var(--spacer-2);
31
+ margin: 0;
32
+ list-style: none;
33
+ }
34
+
35
+ /*
36
+ * Folders sit on the same grid as the documents - same columns, same gap - so the two bands read as
37
+ * one surface. Only the end padding differs, since the documents band below supplies that gap.
38
+ */
39
+ .hierarchy-card-grid__band--folders {
40
+ padding-block-end: var(--spacer-0);
41
+ }
42
+
43
+ /*
44
+ * Distinguishes documents that aren't grouped under any folder, e.g. "Documents not in a Folder"
45
+ * at the root of a hierarchy. Only some bands get one, so the band below tightens its own top
46
+ * padding rather than doubling up on the label's own spacing.
47
+ */
48
+ .hierarchy-card-grid__band-label {
49
+ margin: 0;
50
+ padding-inline: var(--gutter-h);
51
+ padding-block-start: var(--spacer-4);
52
+ color: var(--color-text-secondary);
53
+ font-family: var(--text-body-large-strong-font-family);
54
+ font-size: var(--text-body-large-strong-font-size);
55
+ font-weight: var(--text-body-large-strong-font-weight);
56
+ line-height: var(--text-body-large-strong-line-height);
57
+ letter-spacing: var(--text-body-large-strong-letter-spacing);
58
+ }
59
+
60
+ .hierarchy-card-grid__band--labeled {
61
+ padding-block-start: var(--spacer-3);
62
+ }
63
+
64
+ /*
65
+ * Claims the container's leftover height so click-away and drag selection work over the empty
66
+ * space below the cards, not just the gaps between them. Only the last band grows, and its
67
+ * `align-content` has to be pinned to the start because a grid's default would otherwise stretch
68
+ * the auto-sized rows into that space.
69
+ */
70
+ .hierarchy-card-grid--fill-height {
71
+ flex-grow: 1;
72
+ }
73
+
74
+ .hierarchy-card-grid--fill-height .hierarchy-card-grid__band:last-child {
75
+ flex-grow: 1;
76
+ align-content: start;
77
+ }
78
+
79
+ /* Lets each card stretch to fill its grid cell rather than collapsing to content height. */
80
+ .hierarchy-card-grid__item {
81
+ display: flex;
82
+ min-width: 0;
83
+ /*
84
+ * A card is selected on click and opened on double click, so text selection would only ever be
85
+ * an accidental by-product of either gesture.
86
+ */
87
+ user-select: none;
88
+ }
89
+
90
+ .hierarchy-card-grid__item > * {
91
+ flex: 1 1 auto;
92
+ min-width: 0;
93
+ }
94
+
95
+ /*
96
+ * Cards stay in place while they are being dragged and fade instead, so the row keeps its shape and
97
+ * the stack under the cursor is the thing that reads as moving.
98
+ */
99
+ .hierarchy-card-grid__item--dragging {
100
+ opacity: 0.5;
101
+ }
102
+
103
+ /*
104
+ * Drag-selection marquee: an accent hairline over a translucent accent fill, mirroring the
105
+ * file-browser treatment. Absolutely positioned, so it stays out of the bands' flow, and inert
106
+ * so it never intercepts the pointer mid-drag.
107
+ */
108
+ .hierarchy-card-grid__marquee {
109
+ position: absolute;
110
+ z-index: 1;
111
+ border: var(--stroke-width-small) solid var(--color-border-selected);
112
+ background: color-mix(in srgb, var(--color-border-selected) 20%, transparent);
113
+ pointer-events: none;
114
+ }
115
+ }
@@ -0,0 +1,80 @@
1
+ import type { User } from 'payload';
2
+ import React from 'react';
3
+ import type { TableRow } from '../HierarchyTable/types.js';
4
+ import './index.css';
5
+ /**
6
+ * Rows are drawn from several collections whose ids can collide, so identity is the pair.
7
+ */
8
+ export declare const getRowKey: (row: TableRow) => string;
9
+ /**
10
+ * One horizontal group of cards. Bands stack vertically and share a single selection scope, so a
11
+ * range selection or a marquee can run from a folder straight through the documents below it.
12
+ */
13
+ export type PlaneBand = {
14
+ /**
15
+ * Hierarchy rows render as folder cards, related documents render as document cards.
16
+ */
17
+ isHierarchyGroup: boolean;
18
+ key: string;
19
+ /**
20
+ * Accessible name for this band, so each list is distinguishable when several render.
21
+ */
22
+ label?: string;
23
+ rows: TableRow[];
24
+ /**
25
+ * Heading rendered above the band, e.g. distinguishing documents with no folder from the ones
26
+ * inside a folder. Separate from `label` because that one is read on every band as an accessible
27
+ * name, while this is opt-in and only some bands need it.
28
+ */
29
+ visibleLabel?: string;
30
+ };
31
+ export type HierarchyCardGridProps = {
32
+ /**
33
+ * Ids of the folders between the root and the folder currently open, so a folder can't be dropped
34
+ * into its own subtree.
35
+ */
36
+ ancestorIds?: (number | string)[];
37
+ /**
38
+ * Fallback accessible name for bands that don't carry their own label.
39
+ */
40
+ ariaLabel?: string;
41
+ bands: PlaneBand[];
42
+ /**
43
+ * Grows the plane to fill the remaining height of its container, so click-away and drag selection
44
+ * reach the empty space below the cards rather than only the gaps between them. Requires the
45
+ * container to be a flex column.
46
+ */
47
+ fillHeight?: boolean;
48
+ /**
49
+ * Returns the user currently editing a row, mirroring the table's lock affordance. Locked rows
50
+ * cannot be selected, so their cards render a lock indicator.
51
+ */
52
+ getRowLockedUser?: (row: TableRow) => undefined | User;
53
+ /**
54
+ * Slug of the collection that owns the folder tree, used to address drop destinations.
55
+ */
56
+ hierarchySlug?: string;
57
+ /**
58
+ * Renders the cards as plain selectable tiles, with no drag activation and no dragging treatment.
59
+ * For planes with nowhere to drop, such as the flat collection grid outside the hierarchy view.
60
+ */
61
+ isDragDisabled?: boolean;
62
+ /**
63
+ * Clears the selection once a drop has moved it, since those documents are no longer on this page.
64
+ */
65
+ onMoveSuccess?: () => void;
66
+ /**
67
+ * Toggles a single row's selected state. Multi-card intents (replace, range) are resolved into
68
+ * the minimum set of per-row toggles by the plane, so consumers only implement one operation.
69
+ */
70
+ onSelectionChange: (row: TableRow) => void;
71
+ selectedKeys: Set<string>;
72
+ /**
73
+ * Renders each document card's collection label as a pill over its thumbnail. Defaults to showing
74
+ * the pill only when the documents span more than one collection - a grid of a single document
75
+ * type labels itself, so the pill would repeat the same word on every card.
76
+ */
77
+ showCollectionType?: boolean;
78
+ };
79
+ export declare function HierarchyCardGrid({ ancestorIds, ariaLabel, bands, fillHeight, getRowLockedUser, hierarchySlug, isDragDisabled, onMoveSuccess, onSelectionChange, selectedKeys, showCollectionType, }: HierarchyCardGridProps): React.JSX.Element;
80
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/HierarchyList/HierarchyCards/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAGnC,OAAO,KAA4D,MAAM,OAAO,CAAA;AAGhF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAM1D,OAAO,aAAa,CAAA;AAIpB;;GAEG;AACH,eAAO,MAAM,SAAS,QAAS,QAAQ,KAAG,MAA4C,CAAA;AAoHtF;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAA;IACzB,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,QAAQ,EAAE,CAAA;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACjC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,SAAS,GAAG,IAAI,CAAA;IACtD;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B;;;OAGG;IACH,iBAAiB,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC1C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACzB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,CAAA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,WAAgB,EAChB,SAAS,EACT,KAAK,EACL,UAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,cAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,GACnB,EAAE,sBAAsB,qBA+ZxB"}
@@ -0,0 +1,457 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { formatAdminURL } from 'payload/shared';
6
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
7
+ import { useConfig } from '../../../providers/Config/index.js';
8
+ import { useRouter } from '../../../providers/RouterAdapter/index.js';
9
+ import { DragPreviewItem } from './DragPreviewItem/index.js';
10
+ import { PlaneItem } from './PlaneItem/index.js';
11
+ import './index.css';
12
+ const baseClass = 'hierarchy-card-grid';
13
+ /**
14
+ * Rows are drawn from several collections whose ids can collide, so identity is the pair.
15
+ */
16
+ export const getRowKey = row => `${row._collectionSlug}:${row.id}`;
17
+ const getRowTitle = ({
18
+ row,
19
+ useAsTitle
20
+ }) => {
21
+ const rawTitle = row[useAsTitle];
22
+ if (typeof rawTitle === 'string' || typeof rawTitle === 'number') {
23
+ return String(rawTitle);
24
+ }
25
+ return String(row.id);
26
+ };
27
+ /**
28
+ * Discrete column tiers, richest-first. Each `minWidth` is the container width at which that
29
+ * many ~200px cards (plus the grid gap) still fit, so cards never drop meaningfully below the
30
+ * 200px target as the container grows.
31
+ */
32
+ const COLUMN_TIERS = [{
33
+ columns: 8,
34
+ minWidth: 1712
35
+ }, {
36
+ columns: 5,
37
+ minWidth: 1064
38
+ }, {
39
+ columns: 4,
40
+ minWidth: 848
41
+ }, {
42
+ columns: 2,
43
+ minWidth: 0
44
+ }];
45
+ const getColumnCount = containerWidth => COLUMN_TIERS.find(tier => containerWidth >= tier.minWidth)?.columns ?? 2;
46
+ /**
47
+ * Measures the plane's own width via `ResizeObserver` rather than CSS container queries, so the
48
+ * column count is driven by explicit, easily-debuggable state instead of container-query support
49
+ * or self-referencing-container edge cases. Every band shares the count, so folder cards and
50
+ * document cards line up in the same columns.
51
+ *
52
+ * Starts `null` - not at a guessed tier - because the width can only be known on the client. Until
53
+ * it is measured the bands leave `grid-template-columns` to CSS, which auto-fills to the same ~200px
54
+ * target; seeding a guess instead would paint that many full-width-share cards on the server and
55
+ * then visibly snap to the measured count on hydration.
56
+ */
57
+ const useColumnCount = () => {
58
+ const $ = _c(4);
59
+ const ref = useRef(null);
60
+ const [columns, setColumns] = useState(null);
61
+ let t0;
62
+ let t1;
63
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
64
+ t0 = () => {
65
+ const node = ref.current;
66
+ if (!node) {
67
+ return;
68
+ }
69
+ const observer = new ResizeObserver(t2 => {
70
+ const [entry] = t2;
71
+ if (entry) {
72
+ setColumns(getColumnCount(entry.contentRect.width));
73
+ }
74
+ });
75
+ observer.observe(node);
76
+ return () => observer.disconnect();
77
+ };
78
+ t1 = [];
79
+ $[0] = t0;
80
+ $[1] = t1;
81
+ } else {
82
+ t0 = $[0];
83
+ t1 = $[1];
84
+ }
85
+ useEffect(t0, t1);
86
+ let t2;
87
+ if ($[2] !== columns) {
88
+ t2 = [ref, columns];
89
+ $[2] = columns;
90
+ $[3] = t2;
91
+ } else {
92
+ t2 = $[3];
93
+ }
94
+ return t2;
95
+ };
96
+ /**
97
+ * A press only becomes a marquee once the pointer travels this far, so a slightly imprecise click
98
+ * on empty space still reads as a click-away rather than a zero-area drag.
99
+ */
100
+ const DRAG_THRESHOLD = 4;
101
+ /** Matches the overlay's own cap, so no preview card is built that the overlay would discard. */
102
+ const MAX_DRAG_PREVIEW_CARDS = 3;
103
+ const getSelectionIntent = event => {
104
+ if (event.shiftKey) {
105
+ return 'range';
106
+ }
107
+ if (event.metaKey || event.ctrlKey) {
108
+ return 'toggle';
109
+ }
110
+ return 'replace';
111
+ };
112
+ export function HierarchyCardGrid({
113
+ ancestorIds = [],
114
+ ariaLabel,
115
+ bands,
116
+ fillHeight = false,
117
+ getRowLockedUser,
118
+ hierarchySlug,
119
+ isDragDisabled = false,
120
+ onMoveSuccess,
121
+ onSelectionChange,
122
+ selectedKeys,
123
+ showCollectionType
124
+ }) {
125
+ const {
126
+ config: {
127
+ routes: {
128
+ admin: adminRoute
129
+ }
130
+ },
131
+ getEntityConfig
132
+ } = useConfig();
133
+ const router = useRouter();
134
+ const [planeRef, columns] = useColumnCount();
135
+ /**
136
+ * Selection, range anchoring, and the marquee all operate over one flat index space, which is
137
+ * what puts folders and documents on the same plane rather than in sibling scopes.
138
+ */
139
+ const flatRows = useMemo(() => bands.flatMap(band => band.rows), [bands]);
140
+ /**
141
+ * Everything needed to render one card, flattened into the same index space as `flatRows`. Built
142
+ * once so the render and the drag overlay agree on titles and hrefs without recomputing them.
143
+ */
144
+ const descriptors = useMemo(() => bands.flatMap(band_0 => band_0.rows.map(row => {
145
+ const collectionConfig = getEntityConfig({
146
+ collectionSlug: row._collectionSlug
147
+ });
148
+ const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id';
149
+ const hierarchyConfig = collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined;
150
+ const parentFieldName = hierarchyConfig?.parentFieldName || 'parent';
151
+ // Folders drill in via `_browseHref` so the click stays in the collection being browsed;
152
+ // the fallback covers rows built outside the hierarchy view.
153
+ const href = band_0.isHierarchyGroup ? row._browseHref ?? formatAdminURL({
154
+ adminRoute,
155
+ path: `/collections/${row._collectionSlug}?${parentFieldName}=${row.id}`
156
+ }) : formatAdminURL({
157
+ adminRoute,
158
+ path: `/collections/${row._collectionSlug}/${row.id}`
159
+ });
160
+ return {
161
+ href,
162
+ isHierarchyGroup: band_0.isHierarchyGroup,
163
+ key: getRowKey(row),
164
+ parentFieldName,
165
+ row,
166
+ title: getRowTitle({
167
+ row,
168
+ useAsTitle
169
+ })
170
+ };
171
+ })), [adminRoute, bands, getEntityConfig]);
172
+ const showTypePill = useMemo(() => {
173
+ if (showCollectionType !== undefined) {
174
+ return showCollectionType;
175
+ }
176
+ const documentSlugs = new Set(bands.filter(band_1 => !band_1.isHierarchyGroup).flatMap(band_2 => band_2.rows).map(row_0 => row_0._collectionSlug));
177
+ return documentSlugs.size > 1;
178
+ }, [bands, showCollectionType]);
179
+ /**
180
+ * Payload for dragging the current selection, shared by every selected card so it is built once
181
+ * per render rather than once per card. The preview is capped because the overlay only fans a few
182
+ * cards before collapsing the remainder into a count.
183
+ */
184
+ const selectionDragData = useMemo(() => {
185
+ const selected = descriptors.filter(descriptor => selectedKeys.has(descriptor.key));
186
+ return {
187
+ type: 'hierarchy-items',
188
+ items: selected.map(descriptor_0 => ({
189
+ id: descriptor_0.row.id,
190
+ collectionSlug: descriptor_0.row._collectionSlug,
191
+ title: descriptor_0.title
192
+ })),
193
+ onMoveSuccess,
194
+ preview: selected.slice(0, MAX_DRAG_PREVIEW_CARDS).map(descriptor_1 => /*#__PURE__*/_jsx(DragPreviewItem, {
195
+ isHierarchyGroup: descriptor_1.isHierarchyGroup,
196
+ row: descriptor_1.row
197
+ }, descriptor_1.key))
198
+ };
199
+ }, [descriptors, onMoveSuccess, selectedKeys]);
200
+ const [marquee, setMarquee] = useState(null);
201
+ // Origin of the next Shift+Click range, set by every plain or Cmd/Ctrl click.
202
+ const anchorIndexRef = useRef(null);
203
+ /**
204
+ * Flat index → card element. The cards live across several lists now, so the marquee can no
205
+ * longer hit-test by walking one element's children.
206
+ */
207
+ const itemRefs = useRef(new Map());
208
+ const setItemRef = useCallback((flatIndex, node) => {
209
+ if (node) {
210
+ itemRefs.current.set(flatIndex, node);
211
+ } else {
212
+ itemRefs.current.delete(flatIndex);
213
+ }
214
+ }, []);
215
+ /**
216
+ * A drag binds its handlers to `window` for its whole lifetime, so those handlers have to read
217
+ * the live rows and selection rather than the values captured when the press began - the
218
+ * selection changes on every pointer move.
219
+ */
220
+ const latestRef = useRef({
221
+ flatRows,
222
+ getRowLockedUser,
223
+ onSelectionChange,
224
+ selectedKeys
225
+ });
226
+ useEffect(() => {
227
+ latestRef.current = {
228
+ flatRows,
229
+ getRowLockedUser,
230
+ onSelectionChange,
231
+ selectedKeys
232
+ };
233
+ });
234
+ // Unmounting mid-drag would otherwise leave the window listeners bound.
235
+ const dragCleanupRef = useRef(null);
236
+ useEffect(() => () => dragCleanupRef.current?.(), []);
237
+ const isRowSelectable = row_1 => !latestRef.current.getRowLockedUser?.(row_1);
238
+ /**
239
+ * Reduces a desired selection to the minimum set of per-row toggles the consumer understands.
240
+ */
241
+ const commitSelection = nextSelectedKeys => {
242
+ const {
243
+ flatRows: latestRows,
244
+ onSelectionChange: onChange,
245
+ selectedKeys: currentKeys
246
+ } = latestRef.current;
247
+ latestRows.forEach(row_2 => {
248
+ const key = getRowKey(row_2);
249
+ if (isRowSelectable(row_2) && currentKeys.has(key) !== nextSelectedKeys.has(key)) {
250
+ onChange(row_2);
251
+ }
252
+ });
253
+ };
254
+ const applySelectionIntent = ({
255
+ index,
256
+ intent
257
+ }) => {
258
+ const row_3 = flatRows[index];
259
+ if (!row_3 || !isRowSelectable(row_3)) {
260
+ return;
261
+ }
262
+ const nextSelectedKeys_0 = new Set();
263
+ if (intent === 'range') {
264
+ const anchorIndex = anchorIndexRef.current ?? index;
265
+ const start = Math.min(anchorIndex, index);
266
+ const end = Math.max(anchorIndex, index);
267
+ flatRows.slice(start, end + 1).forEach(rangeRow => {
268
+ if (isRowSelectable(rangeRow)) {
269
+ nextSelectedKeys_0.add(getRowKey(rangeRow));
270
+ }
271
+ });
272
+ } else if (intent === 'toggle') {
273
+ selectedKeys.forEach(key_0 => nextSelectedKeys_0.add(key_0));
274
+ const key_1 = getRowKey(row_3);
275
+ if (nextSelectedKeys_0.has(key_1)) {
276
+ nextSelectedKeys_0.delete(key_1);
277
+ } else {
278
+ nextSelectedKeys_0.add(key_1);
279
+ }
280
+ anchorIndexRef.current = index;
281
+ } else {
282
+ nextSelectedKeys_0.add(getRowKey(row_3));
283
+ anchorIndexRef.current = index;
284
+ }
285
+ commitSelection(nextSelectedKeys_0);
286
+ };
287
+ /**
288
+ * Cards have no checkbox, so the card surface itself drives selection: click selects, Cmd/Ctrl
289
+ * click toggles, Shift click extends. Navigation moves to double click instead.
290
+ *
291
+ * This runs in the capture phase and stops propagation because the card's `Link` navigates from
292
+ * its own `onClick` - a bubbling handler here would fire after the route change had already
293
+ * started. Keyboard-triggered clicks (`detail === 0`, i.e. Enter on the focused link) are let
294
+ * through to the link, since there is no double-press equivalent.
295
+ */
296
+ const handleCardClickCapture = (event, index_0) => {
297
+ if (event.detail === 0) {
298
+ return;
299
+ }
300
+ event.preventDefault();
301
+ event.stopPropagation();
302
+ applySelectionIntent({
303
+ index: index_0,
304
+ intent: getSelectionIntent(event)
305
+ });
306
+ };
307
+ // Space is the keyboard counterpart of a selecting click, mirroring what the checkbox used to
308
+ // offer; Enter stays with the focused link so it still opens the document.
309
+ const handleCardKeyDown = (event_0, index_1) => {
310
+ if (event_0.key !== ' ') {
311
+ return;
312
+ }
313
+ // Space would otherwise scroll the page.
314
+ event_0.preventDefault();
315
+ applySelectionIntent({
316
+ index: index_1,
317
+ intent: getSelectionIntent(event_0)
318
+ });
319
+ };
320
+ // Pressing an unselected card collapses the selection onto it, so a drag that starts from it moves
321
+ // only that card. The pointer sensor's own distance threshold means this lands before any drag.
322
+ const handlePointerDownUnselected = index_2 => {
323
+ applySelectionIntent({
324
+ index: index_2,
325
+ intent: 'replace'
326
+ });
327
+ };
328
+ const handleCardDoubleClick = (event_1, href_0) => {
329
+ event_1.preventDefault();
330
+ router.push(href_0);
331
+ };
332
+ /**
333
+ * A press on the plane's empty space either clears the selection (click-away) or draws a marquee
334
+ * that selects every card it touches, matching a file browser. Holding a modifier keeps the
335
+ * existing selection and adds to it.
336
+ *
337
+ * All coordinates are kept relative to the plane so the marquee stays anchored to the cards if
338
+ * the page scrolls mid-drag.
339
+ */
340
+ const handlePlaneMouseDown = event_2 => {
341
+ const planeNode = planeRef.current;
342
+ // Presses that land on a card belong to the click handlers above.
343
+ if (event_2.button !== 0 || !planeNode || event_2.target.closest(`.${baseClass}__item`)) {
344
+ return;
345
+ }
346
+ // Suppresses the native text-selection drag that would otherwise fight the marquee.
347
+ event_2.preventDefault();
348
+ const isAdditive = event_2.shiftKey || event_2.metaKey || event_2.ctrlKey;
349
+ const baseSelectedKeys = new Set(selectedKeys);
350
+ const startBounds = planeNode.getBoundingClientRect();
351
+ const startX = event_2.clientX - startBounds.left;
352
+ const startY = event_2.clientY - startBounds.top;
353
+ let hasMoved = false;
354
+ const handleMouseMove = moveEvent => {
355
+ const planeBounds = planeNode.getBoundingClientRect();
356
+ const currentX = moveEvent.clientX - planeBounds.left;
357
+ const currentY = moveEvent.clientY - planeBounds.top;
358
+ if (!hasMoved && Math.abs(currentX - startX) < DRAG_THRESHOLD && Math.abs(currentY - startY) < DRAG_THRESHOLD) {
359
+ return;
360
+ }
361
+ hasMoved = true;
362
+ const bottom = Math.max(startY, currentY);
363
+ const left = Math.min(startX, currentX);
364
+ const right = Math.max(startX, currentX);
365
+ const top = Math.min(startY, currentY);
366
+ setMarquee({
367
+ height: bottom - top,
368
+ left,
369
+ top,
370
+ width: right - left
371
+ });
372
+ const nextSelectedKeys_1 = isAdditive ? new Set(baseSelectedKeys) : new Set();
373
+ latestRef.current.flatRows.forEach((row_4, index_3) => {
374
+ const itemNode = itemRefs.current.get(index_3);
375
+ if (!itemNode || !isRowSelectable(row_4)) {
376
+ return;
377
+ }
378
+ const itemBounds = itemNode.getBoundingClientRect();
379
+ const intersects = itemBounds.left - planeBounds.left < right && itemBounds.right - planeBounds.left > left && itemBounds.top - planeBounds.top < bottom && itemBounds.bottom - planeBounds.top > top;
380
+ if (intersects) {
381
+ nextSelectedKeys_1.add(getRowKey(row_4));
382
+ }
383
+ });
384
+ commitSelection(nextSelectedKeys_1);
385
+ };
386
+ const endDrag = () => {
387
+ window.removeEventListener('mousemove', handleMouseMove);
388
+ window.removeEventListener('mouseup', endDrag);
389
+ dragCleanupRef.current = null;
390
+ setMarquee(null);
391
+ // A press that never became a drag is a click-away: it clears the selection.
392
+ if (!hasMoved && !isAdditive) {
393
+ commitSelection(new Set());
394
+ anchorIndexRef.current = null;
395
+ }
396
+ };
397
+ dragCleanupRef.current = endDrag;
398
+ window.addEventListener('mousemove', handleMouseMove);
399
+ window.addEventListener('mouseup', endDrag);
400
+ };
401
+ return /*#__PURE__*/_jsxs("div", {
402
+ className: [baseClass, fillHeight && `${baseClass}--fill-height`].filter(Boolean).join(' '),
403
+ onMouseDown: handlePlaneMouseDown,
404
+ ref: planeRef,
405
+ children: [bands.map((band_3, bandIndex) => {
406
+ // Bands render in order, so each band's rows start after every earlier band's rows.
407
+ const bandOffset = bands.slice(0, bandIndex).reduce((total, earlier) => total + earlier.rows.length, 0);
408
+ return /*#__PURE__*/_jsxs("div", {
409
+ children: [band_3.visibleLabel && /*#__PURE__*/_jsx("h2", {
410
+ className: `${baseClass}__band-label`,
411
+ children: band_3.visibleLabel
412
+ }), /*#__PURE__*/_jsx("ul", {
413
+ "aria-label": band_3.label ?? ariaLabel,
414
+ className: [`${baseClass}__band`, band_3.isHierarchyGroup && `${baseClass}__band--folders`, band_3.visibleLabel && `${baseClass}__band--labeled`].filter(Boolean).join(' '),
415
+ style: columns ? {
416
+ gridTemplateColumns: `repeat(${columns}, 1fr)`
417
+ } : undefined,
418
+ children: band_3.rows.map((_row, rowIndex) => {
419
+ const flatIndex_0 = bandOffset + rowIndex;
420
+ const descriptor_2 = descriptors[flatIndex_0];
421
+ return /*#__PURE__*/_jsx(PlaneItem, {
422
+ ancestorIds: ancestorIds,
423
+ baseClass: baseClass,
424
+ flatIndex: flatIndex_0,
425
+ hierarchySlug: hierarchySlug ?? descriptor_2.row._collectionSlug,
426
+ href: descriptor_2.href,
427
+ isDragDisabled: isDragDisabled,
428
+ isHierarchyGroup: descriptor_2.isHierarchyGroup,
429
+ isSelected: selectedKeys.has(descriptor_2.key),
430
+ lockedUser: getRowLockedUser?.(descriptor_2.row),
431
+ onClickCapture: handleCardClickCapture,
432
+ onDoubleClick: handleCardDoubleClick,
433
+ onKeyDown: handleCardKeyDown,
434
+ onPointerDownUnselected: handlePointerDownUnselected,
435
+ parentFieldName: descriptor_2.parentFieldName,
436
+ registerNode: setItemRef,
437
+ row: descriptor_2.row,
438
+ selectionDragData: selectionDragData,
439
+ showTypePill: showTypePill,
440
+ title: descriptor_2.title
441
+ }, descriptor_2.key);
442
+ })
443
+ })]
444
+ }, band_3.key);
445
+ }), marquee && /*#__PURE__*/_jsx("div", {
446
+ "aria-hidden": "true",
447
+ className: `${baseClass}__marquee`,
448
+ style: {
449
+ height: marquee.height,
450
+ left: marquee.left,
451
+ top: marquee.top,
452
+ width: marquee.width
453
+ }
454
+ })]
455
+ });
456
+ }
457
+ //# sourceMappingURL=index.js.map