@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
@@ -1,13 +1,16 @@
1
1
  @layer payload-default {
2
2
  .hierarchy-column-item {
3
+ position: relative;
3
4
  display: flex;
4
5
  align-items: center;
5
6
  padding: var(--spacer-1) var(--spacer-2);
6
- cursor: pointer;
7
+ padding-inline-end: var(--spacer-1);
7
8
  user-select: none;
8
9
  gap: var(--spacer-2-5);
9
10
  border-radius: var(--button-radius);
10
11
  margin-inline: var(--spacer-1);
12
+ outline: var(--stroke-width-small) solid transparent;
13
+ outline-offset: calc(var(--stroke-width-small) * -1);
11
14
 
12
15
  &:first-child {
13
16
  margin-top: var(--spacer-1);
@@ -20,23 +23,54 @@
20
23
  &:hover {
21
24
  background-color: var(--color-bg-hover);
22
25
  }
26
+
27
+ &:has(.hierarchy-column-item__select:focus-visible) {
28
+ outline: var(--accessibility-outline);
29
+ outline-offset: var(--accessibility-outline-offset);
30
+ }
23
31
  }
24
32
 
25
- .hierarchy-column-item--expanded {
26
- background-color: var(--color-bg-tertiary);
33
+ /*
34
+ * Row-wide click target for the row's primary action, sitting under the checkbox and chevron.
35
+ * It is the topmost element across the row, so its cursor is the one the pointer shows.
36
+ */
37
+ .hierarchy-column-item__select {
38
+ position: absolute;
39
+ inset: 0;
40
+ padding: 0;
41
+ border: none;
42
+ background: transparent;
43
+ border-radius: inherit;
44
+ cursor: pointer;
27
45
 
28
- &:hover {
29
- background-color: var(--color-bg-tertiary);
46
+ &:focus-visible {
47
+ outline: none;
48
+ }
49
+
50
+ &:disabled {
51
+ cursor: not-allowed;
30
52
  }
31
53
  }
32
54
 
33
- .hierarchy-column-item--selected {
34
- background-color: var(--color-bg-selected);
55
+ /* Shares the hover fill, so pointing at a row previews how an open folder reads */
56
+ .hierarchy-column-item--expanded {
57
+ background-color: var(--color-bg-hover);
58
+ }
35
59
 
36
- &:hover {
37
- background-color: var(--color-bg-selected);
38
- }
60
+ /*
61
+ * Only single-select rows carry a selected style. There is no checkbox in that mode, so the fill
62
+ * and ring are the only signal. In multi-select the checkbox already says what is picked, and
63
+ * filling those rows as well drowns out the `--expanded` fill that marks the current path.
64
+ *
65
+ * The ring is an inset outline rather than a border so the row's height does not shift when it
66
+ * becomes selected.
67
+ */
68
+ .hierarchy-column-item--selected:not(.hierarchy-column-item--multi-select) {
69
+ background-color: var(--color-bg-selected);
70
+ outline-color: var(--color-border-selected);
39
71
 
72
+ /* Selection outranks hover - the fill holds while the pointer is over the row */
73
+ &:hover,
40
74
  &.hierarchy-column-item--expanded {
41
75
  background-color: var(--color-bg-selected);
42
76
  }
@@ -55,20 +89,33 @@
55
89
  }
56
90
  }
57
91
 
92
+ /*
93
+ * Raised above the select overlay so it takes its own clicks - in multi-select the checkbox is
94
+ * the only thing that toggles selection, while the overlay behind it opens children.
95
+ */
58
96
  .hierarchy-column-item__checkbox {
97
+ position: relative;
98
+ z-index: 1;
59
99
  flex-shrink: 0;
60
100
  display: flex;
61
101
  align-items: center;
62
102
  justify-content: center;
103
+ cursor: pointer;
63
104
 
64
105
  input[type='checkbox'] {
65
106
  width: 100%;
66
107
  height: 100%;
67
108
  margin: 0;
109
+ cursor: inherit;
110
+
111
+ &:disabled {
112
+ cursor: not-allowed;
113
+ }
68
114
  }
69
115
  }
70
116
 
71
117
  .hierarchy-column-item__title {
118
+ position: relative;
72
119
  flex: 1;
73
120
  min-width: 0;
74
121
  overflow: hidden;
@@ -76,21 +123,59 @@
76
123
  white-space: nowrap;
77
124
  color: var(--color-text);
78
125
  font-weight: 500;
126
+ pointer-events: none;
79
127
  }
80
128
 
81
- .hierarchy-column-item__descendant-indicator {
82
- width: var(--spacer-1);
83
- height: var(--spacer-1);
84
- border-radius: 50%;
85
- background-color: var(--color-bg-success);
129
+ /* Keeps the count badge tucked against the chevron rather than at the row's wider gap */
130
+ .hierarchy-column-item__trail {
86
131
  flex-shrink: 0;
132
+ display: flex;
133
+ align-items: center;
134
+ gap: var(--spacer-1);
135
+ }
136
+
137
+ /* Count of selected items nested under a row, so a collapsed branch still reads as having picks */
138
+ .hierarchy-column-item__descendant-count {
139
+ display: inline-flex;
140
+ align-items: center;
141
+ justify-content: center;
142
+ height: var(--spacer-3);
143
+ min-width: var(--spacer-3);
144
+ padding-inline: var(--spacer-1);
145
+ border-radius: var(--radius-medium);
146
+ background-color: var(--color-bg-tertiary);
147
+ color: var(--color-text);
148
+ font-family: var(--text-body-medium-font-family);
149
+ font-size: var(--text-body-medium-font-size);
150
+ font-weight: var(--text-body-medium-font-weight);
151
+ line-height: var(--text-body-medium-line-height);
152
+ letter-spacing: var(--text-body-medium-letter-spacing);
153
+ pointer-events: none;
87
154
  }
88
155
 
89
156
  .hierarchy-column-item__chevron {
157
+ position: relative;
158
+ z-index: 1;
90
159
  flex-shrink: 0;
91
160
  display: flex;
92
161
  align-items: center;
93
162
  justify-content: center;
163
+ width: var(--spacer-4);
164
+ height: var(--spacer-4);
165
+ padding: 0;
166
+ border: none;
167
+ background: transparent;
168
+ border-radius: var(--radius-small);
94
169
  color: var(--color-icon-tertiary);
170
+ cursor: pointer;
171
+
172
+ &:focus-visible {
173
+ outline: var(--accessibility-outline);
174
+ outline-offset: var(--accessibility-outline-offset);
175
+ }
176
+
177
+ &:disabled {
178
+ cursor: not-allowed;
179
+ }
95
180
  }
96
181
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/Hierarchy/ColumnBrowser/ColumnItem/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAA;AAEnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAKlD,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAoGhD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/Hierarchy/ColumnBrowser/ColumnItem/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkD,MAAM,OAAO,CAAA;AAEtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAKlD,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAiIhD,CAAA"}
@@ -1,162 +1,122 @@
1
1
  'use client';
2
2
 
3
- import { c as _c } from "react/compiler-runtime";
4
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import React, { useCallback, useMemo } from 'react';
4
+ import React, { useCallback, useEffect, useMemo, useRef } from 'react';
6
5
  import { CheckboxInput } from '../../../../fields/Checkbox/Input.js';
7
6
  import { ChevronIcon } from '../../../../icons/Chevron/index.js';
8
7
  import { isSuperset } from '../../../../utilities/isSuperset.js';
9
8
  import './index.css';
10
9
  const baseClass = 'hierarchy-column-item';
11
- export const ColumnItem = t0 => {
12
- const $ = _c(27);
13
- const {
14
- disabled,
15
- filterByCollection,
16
- hasSelectedDescendants,
17
- isExpanded,
18
- isSelected,
19
- item,
20
- onExpand,
21
- onSelect
22
- } = t0;
10
+ export const ColumnItem = ({
11
+ disabled,
12
+ filterByCollection,
13
+ hasMany,
14
+ isExpanded,
15
+ isSelected,
16
+ item,
17
+ onExpand,
18
+ onSelect,
19
+ revealToken,
20
+ selectedDescendantCount
21
+ }) => {
23
22
  const {
24
23
  id,
25
24
  allowedCollections,
26
25
  hasChildren,
27
26
  title
28
27
  } = item;
29
- let t1;
30
- bb0: {
28
+ const rowRef = useRef(null);
29
+ const rowActionRef = useRef(null);
30
+ const checkboxRef = useRef(null);
31
+ // Disable selection if:
32
+ // 1. This item is in the disabledIds set (e.g., being moved)
33
+ // 2. Folder doesn't allow ALL required collections
34
+ const isDisabled = useMemo(() => {
31
35
  if (disabled) {
32
- t1 = true;
33
- break bb0;
36
+ return true;
34
37
  }
35
38
  if (!filterByCollection || filterByCollection.length === 0) {
36
- t1 = false;
37
- break bb0;
39
+ return false;
40
+ }
41
+ return !isSuperset(allowedCollections, filterByCollection);
42
+ }, [allowedCollections, disabled, filterByCollection]);
43
+ useEffect(() => {
44
+ if (revealToken === undefined) {
45
+ return;
38
46
  }
39
- t1 = !isSuperset(allowedCollections, filterByCollection);
40
- }
41
- const isDisabled = t1;
42
- let t2;
43
- if ($[0] !== id || $[1] !== isDisabled || $[2] !== onSelect) {
44
- t2 = e => {
45
- e.stopPropagation();
46
- if (isDisabled) {
47
- return;
48
- }
49
- onSelect({
47
+ rowRef.current?.scrollIntoView({
48
+ behavior: 'instant',
49
+ block: 'nearest',
50
+ inline: 'nearest'
51
+ });
52
+ // Focus whichever control owns selection for this mode
53
+ const target = hasMany ? checkboxRef.current : rowActionRef.current;
54
+ target?.focus({
55
+ preventScroll: true
56
+ });
57
+ }, [hasMany, revealToken]);
58
+ const handleSelect = useCallback(() => {
59
+ onSelect({
60
+ id
61
+ });
62
+ // Single-select mirrors the macOS column view: picking a folder also makes it the open one,
63
+ // which collapses any columns deeper than it.
64
+ if (!hasMany && hasChildren) {
65
+ onExpand({
50
66
  id
51
67
  });
52
- };
53
- $[0] = id;
54
- $[1] = isDisabled;
55
- $[2] = onSelect;
56
- $[3] = t2;
57
- } else {
58
- t2 = $[3];
59
- }
60
- const handleCheckboxToggle = t2;
61
- let t3;
62
- if ($[4] !== hasChildren || $[5] !== id || $[6] !== onExpand) {
63
- t3 = e_0 => {
64
- if (e_0.target.closest(`.${baseClass}__checkbox`)) {
65
- return;
66
- }
67
- if (hasChildren) {
68
- onExpand({
69
- id
70
- });
71
- }
72
- };
73
- $[4] = hasChildren;
74
- $[5] = id;
75
- $[6] = onExpand;
76
- $[7] = t3;
77
- } else {
78
- t3 = $[7];
79
- }
80
- const handleRowClick = t3;
81
- let t4;
82
- if ($[8] !== hasChildren || $[9] !== id || $[10] !== onExpand) {
83
- t4 = e_1 => {
84
- if (e_1.key === "Enter" || e_1.key === " ") {
85
- e_1.preventDefault();
86
- if (hasChildren) {
87
- onExpand({
88
- id
89
- });
90
- }
91
- }
92
- };
93
- $[8] = hasChildren;
94
- $[9] = id;
95
- $[10] = onExpand;
96
- $[11] = t4;
97
- } else {
98
- t4 = $[11];
99
- }
100
- const handleKeyDown = t4;
101
- const t5 = isExpanded && `${baseClass}--expanded`;
102
- const t6 = isSelected && `${baseClass}--selected`;
103
- const t7 = isDisabled && `${baseClass}--disabled`;
104
- let t8;
105
- if ($[12] !== t5 || $[13] !== t6 || $[14] !== t7) {
106
- t8 = [baseClass, t5, t6, t7].filter(Boolean);
107
- $[12] = t5;
108
- $[13] = t6;
109
- $[14] = t7;
110
- $[15] = t8;
111
- } else {
112
- t8 = $[15];
113
- }
114
- const t9 = t8.join(" ");
115
- const t10 = isDisabled ? undefined : handleRowClick;
116
- const t11 = isDisabled ? -1 : 0;
117
- let t12;
118
- if ($[16] !== handleCheckboxToggle || $[17] !== handleKeyDown || $[18] !== hasChildren || $[19] !== hasSelectedDescendants || $[20] !== isDisabled || $[21] !== isSelected || $[22] !== t10 || $[23] !== t11 || $[24] !== t9 || $[25] !== title) {
119
- t12 = _jsxs("div", {
120
- className: t9,
121
- onClick: t10,
122
- onKeyDown: handleKeyDown,
123
- role: "button",
124
- tabIndex: t11,
125
- children: [_jsx("div", {
126
- className: `${baseClass}__checkbox`,
127
- children: _jsx(CheckboxInput, {
128
- checked: isSelected,
129
- onToggle: handleCheckboxToggle,
130
- readOnly: isDisabled,
131
- variant: "muted"
132
- })
133
- }), _jsx("span", {
134
- className: `${baseClass}__title`,
135
- title,
136
- children: title
137
- }), hasSelectedDescendants && !isSelected && _jsx("span", {
138
- className: `${baseClass}__descendant-indicator`
139
- }), hasChildren && _jsx("span", {
68
+ }
69
+ }, [hasChildren, hasMany, id, onExpand, onSelect]);
70
+ const handleExpand = useCallback(() => {
71
+ onExpand({
72
+ id
73
+ });
74
+ }, [id, onExpand]);
75
+ return /*#__PURE__*/_jsxs("div", {
76
+ className: [baseClass, hasMany && `${baseClass}--multi-select`, isExpanded && `${baseClass}--expanded`, isSelected && `${baseClass}--selected`, isDisabled && `${baseClass}--disabled`].filter(Boolean).join(' '),
77
+ ref: rowRef,
78
+ children: [(!hasMany || hasChildren) && /*#__PURE__*/_jsx("button", {
79
+ "aria-hidden": hasMany ? 'true' : undefined,
80
+ "aria-label": title,
81
+ "aria-pressed": hasMany ? undefined : isSelected,
82
+ className: `${baseClass}__select`,
83
+ disabled: isDisabled,
84
+ onClick: hasMany ? handleExpand : handleSelect,
85
+ ref: rowActionRef,
86
+ tabIndex: hasMany ? -1 : undefined,
87
+ type: "button"
88
+ }), hasMany && /*#__PURE__*/_jsx("div", {
89
+ className: `${baseClass}__checkbox`,
90
+ children: /*#__PURE__*/_jsx(CheckboxInput, {
91
+ "aria-label": title,
92
+ checked: isSelected,
93
+ inputRef: checkboxRef,
94
+ onToggle: handleSelect,
95
+ readOnly: isDisabled
96
+ })
97
+ }), /*#__PURE__*/_jsx("span", {
98
+ className: `${baseClass}__title`,
99
+ title: title,
100
+ children: title
101
+ }), (selectedDescendantCount > 0 || hasChildren) && /*#__PURE__*/_jsxs("div", {
102
+ className: `${baseClass}__trail`,
103
+ children: [selectedDescendantCount > 0 && /*#__PURE__*/_jsx("span", {
104
+ className: `${baseClass}__descendant-count`,
105
+ children: selectedDescendantCount
106
+ }), hasChildren && /*#__PURE__*/_jsx("button", {
107
+ "aria-expanded": isExpanded,
108
+ // TODO: replace with a translation key once the hierarchy strings are finalized
109
+ "aria-label": `Open ${title}`,
140
110
  className: `${baseClass}__chevron`,
141
- children: _jsx(ChevronIcon, {
142
- direction: "right"
111
+ disabled: isDisabled,
112
+ onClick: handleExpand,
113
+ type: "button",
114
+ children: /*#__PURE__*/_jsx(ChevronIcon, {
115
+ direction: "right",
116
+ size: 16
143
117
  })
144
118
  })]
145
- });
146
- $[16] = handleCheckboxToggle;
147
- $[17] = handleKeyDown;
148
- $[18] = hasChildren;
149
- $[19] = hasSelectedDescendants;
150
- $[20] = isDisabled;
151
- $[21] = isSelected;
152
- $[22] = t10;
153
- $[23] = t11;
154
- $[24] = t9;
155
- $[25] = title;
156
- $[26] = t12;
157
- } else {
158
- t12 = $[26];
159
- }
160
- return t12;
119
+ })]
120
+ });
161
121
  };
162
122
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useMemo","CheckboxInput","ChevronIcon","isSuperset","baseClass","ColumnItem","t0","$","disabled","filterByCollection","hasSelectedDescendants","isExpanded","isSelected","item","onExpand","onSelect","id","allowedCollections","hasChildren","title","t1","bb0","length","isDisabled","t2","e","stopPropagation","handleCheckboxToggle","t3","e_0","target","closest","handleRowClick","t4","e_1","key","preventDefault","handleKeyDown","t5","t6","t7","t8","filter","Boolean","t9","join","t10","undefined","t11","t12","_jsxs","className","onClick","onKeyDown","role","tabIndex","children","_jsx","checked","onToggle","readOnly","variant","direction"],"sources":["../../../../../src/elements/Hierarchy/ColumnBrowser/ColumnItem/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { ColumnItemProps } from '../types.js'\n\nimport { CheckboxInput } from '../../../../fields/Checkbox/Input.js'\nimport { ChevronIcon } from '../../../../icons/Chevron/index.js'\nimport { isSuperset } from '../../../../utilities/isSuperset.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-column-item'\n\nexport const ColumnItem: React.FC<ColumnItemProps> = ({\n disabled,\n filterByCollection,\n hasSelectedDescendants,\n isExpanded,\n isSelected,\n item,\n onExpand,\n onSelect,\n}) => {\n const { id, allowedCollections, hasChildren, title } = item\n\n // Disable selection if:\n // 1. This item is in the disabledIds set (e.g., being moved)\n // 2. Folder doesn't allow ALL required collections\n const isDisabled = useMemo(() => {\n if (disabled) {\n return true\n }\n if (!filterByCollection || filterByCollection.length === 0) {\n return false\n }\n return !isSuperset(allowedCollections, filterByCollection)\n }, [allowedCollections, disabled, filterByCollection])\n\n const handleCheckboxToggle = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n e.stopPropagation()\n if (isDisabled) {\n return\n }\n onSelect({ id })\n },\n [id, isDisabled, onSelect],\n )\n\n const handleRowClick = useCallback(\n (e: React.MouseEvent) => {\n // Don't expand when clicking the checkbox\n if ((e.target as HTMLElement).closest(`.${baseClass}__checkbox`)) {\n return\n }\n if (hasChildren) {\n onExpand({ id })\n }\n },\n [hasChildren, id, onExpand],\n )\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n if (hasChildren) {\n onExpand({ id })\n }\n }\n },\n [hasChildren, id, onExpand],\n )\n\n return (\n <div\n className={[\n baseClass,\n isExpanded && `${baseClass}--expanded`,\n isSelected && `${baseClass}--selected`,\n isDisabled && `${baseClass}--disabled`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={isDisabled ? undefined : handleRowClick}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={isDisabled ? -1 : 0}\n >\n <div className={`${baseClass}__checkbox`}>\n <CheckboxInput\n checked={isSelected}\n onToggle={handleCheckboxToggle}\n readOnly={isDisabled}\n variant=\"muted\"\n />\n </div>\n\n <span className={`${baseClass}__title`} title={title}>\n {title}\n </span>\n\n {hasSelectedDescendants && !isSelected && (\n <span className={`${baseClass}__descendant-indicator`} />\n )}\n\n {hasChildren && (\n <span className={`${baseClass}__chevron`}>\n <ChevronIcon direction=\"right\" />\n </span>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useRef","CheckboxInput","ChevronIcon","isSuperset","baseClass","ColumnItem","disabled","filterByCollection","hasMany","isExpanded","isSelected","item","onExpand","onSelect","revealToken","selectedDescendantCount","id","allowedCollections","hasChildren","title","rowRef","rowActionRef","checkboxRef","isDisabled","length","undefined","current","scrollIntoView","behavior","block","inline","target","focus","preventScroll","handleSelect","handleExpand","_jsxs","className","filter","Boolean","join","ref","_jsx","onClick","tabIndex","type","checked","inputRef","onToggle","readOnly","direction","size"],"sources":["../../../../../src/elements/Hierarchy/ColumnBrowser/ColumnItem/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react'\n\nimport type { ColumnItemProps } from '../types.js'\n\nimport { CheckboxInput } from '../../../../fields/Checkbox/Input.js'\nimport { ChevronIcon } from '../../../../icons/Chevron/index.js'\nimport { isSuperset } from '../../../../utilities/isSuperset.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-column-item'\n\nexport const ColumnItem: React.FC<ColumnItemProps> = ({\n disabled,\n filterByCollection,\n hasMany,\n isExpanded,\n isSelected,\n item,\n onExpand,\n onSelect,\n revealToken,\n selectedDescendantCount,\n}) => {\n const { id, allowedCollections, hasChildren, title } = item\n const rowRef = useRef<HTMLDivElement>(null)\n const rowActionRef = useRef<HTMLButtonElement>(null)\n const checkboxRef = useRef<HTMLInputElement>(null)\n\n // Disable selection if:\n // 1. This item is in the disabledIds set (e.g., being moved)\n // 2. Folder doesn't allow ALL required collections\n const isDisabled = useMemo(() => {\n if (disabled) {\n return true\n }\n if (!filterByCollection || filterByCollection.length === 0) {\n return false\n }\n return !isSuperset(allowedCollections, filterByCollection)\n }, [allowedCollections, disabled, filterByCollection])\n\n useEffect(() => {\n if (revealToken === undefined) {\n return\n }\n\n rowRef.current?.scrollIntoView({ behavior: 'instant', block: 'nearest', inline: 'nearest' })\n\n // Focus whichever control owns selection for this mode\n const target = hasMany ? checkboxRef.current : rowActionRef.current\n target?.focus({ preventScroll: true })\n }, [hasMany, revealToken])\n\n const handleSelect = useCallback(() => {\n onSelect({ id })\n\n // Single-select mirrors the macOS column view: picking a folder also makes it the open one,\n // which collapses any columns deeper than it.\n if (!hasMany && hasChildren) {\n onExpand({ id })\n }\n }, [hasChildren, hasMany, id, onExpand, onSelect])\n\n const handleExpand = useCallback(() => {\n onExpand({ id })\n }, [id, onExpand])\n\n return (\n <div\n className={[\n baseClass,\n hasMany && `${baseClass}--multi-select`,\n isExpanded && `${baseClass}--expanded`,\n isSelected && `${baseClass}--selected`,\n isDisabled && `${baseClass}--disabled`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={rowRef}\n >\n {/*\n Full-bleed overlay carrying the row's primary action. Single-select picks the row; in\n multi-select the checkbox owns selection, so the row body opens children instead - and a\n row with none gets no overlay at all. The chevron and checkbox are the controls exposed to\n assistive tech in multi-select, so the overlay is hidden from it to avoid announcing the\n same action twice.\n */}\n {(!hasMany || hasChildren) && (\n <button\n aria-hidden={hasMany ? 'true' : undefined}\n aria-label={title}\n aria-pressed={hasMany ? undefined : isSelected}\n className={`${baseClass}__select`}\n disabled={isDisabled}\n onClick={hasMany ? handleExpand : handleSelect}\n ref={rowActionRef}\n tabIndex={hasMany ? -1 : undefined}\n type=\"button\"\n />\n )}\n\n {hasMany && (\n <div className={`${baseClass}__checkbox`}>\n <CheckboxInput\n aria-label={title}\n checked={isSelected}\n inputRef={checkboxRef}\n onToggle={handleSelect}\n readOnly={isDisabled}\n />\n </div>\n )}\n\n <span className={`${baseClass}__title`} title={title}>\n {title}\n </span>\n\n {(selectedDescendantCount > 0 || hasChildren) && (\n <div className={`${baseClass}__trail`}>\n {selectedDescendantCount > 0 && (\n <span className={`${baseClass}__descendant-count`}>{selectedDescendantCount}</span>\n )}\n\n {hasChildren && (\n <button\n aria-expanded={isExpanded}\n // TODO: replace with a translation key once the hierarchy strings are finalized\n aria-label={`Open ${title}`}\n className={`${baseClass}__chevron`}\n disabled={isDisabled}\n onClick={handleExpand}\n type=\"button\"\n >\n <ChevronIcon direction=\"right\" size={16} />\n </button>\n )}\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { HierarchyColumnBrowserProps, HierarchyColumnBrowserRef } from './types.js';
3
3
  import './index.css';
4
- export declare const HierarchyColumnBrowser: ({ ancestorsWithSelections, baseFilter, disabledIds, filterByCollection, hierarchyCollectionSlug, initialExpandedPath, isLoadingPath, onCreateNew, onSelect, parentFieldName, ref, selectedIds, useAsTitle, }: {
4
+ export declare const HierarchyColumnBrowser: ({ baseFilter, disabledIds, filterByCollection, hasMany, hierarchyCollectionSlug, initialExpandedPath, isLoadingPath, onCreateNew, onSelect, parentFieldName, ref, selectedDescendantCounts, selectedIds, useAsTitle, }: {
5
5
  ref?: React.RefObject<HierarchyColumnBrowserRef | null>;
6
6
  } & HierarchyColumnBrowserProps) => React.JSX.Element;
7
7
  export type { ColumnItemData, HierarchyColumnBrowserProps, HierarchyColumnBrowserRef, PathSegment, } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/ColumnBrowser/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAwE,MAAM,OAAO,CAAA;AAE5F,OAAO,KAAK,EAGV,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,YAAY,CAAA;AASnB,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,sBAAsB,iNAchC;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;CAAE,GAAG,2BAA2B,sBA0d3F,CAAA;AAED,YAAY,EACV,cAAc,EACd,2BAA2B,EAC3B,yBAAyB,EACzB,WAAW,GACZ,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/ColumnBrowser/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAwE,MAAM,OAAO,CAAA;AAE5F,OAAO,KAAK,EAGV,2BAA2B,EAC3B,yBAAyB,EAE1B,MAAM,YAAY,CAAA;AASnB,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,sBAAsB,2NAehC;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;CAAE,GAAG,2BAA2B,sBA8f3F,CAAA;AAED,YAAY,EACV,cAAc,EACd,2BAA2B,EAC3B,yBAAyB,EACzB,WAAW,GACZ,MAAM,YAAY,CAAA"}