@payloadcms/ui 3.80.0-internal.cdd7ef7 → 3.80.0

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 (502) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/EditForm/index.js +12 -0
  3. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  5. package/dist/elements/BulkUpload/FormsManager/index.js +29 -7
  6. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  7. package/dist/elements/Button/index.d.ts.map +1 -1
  8. package/dist/elements/Button/index.js +3 -5
  9. package/dist/elements/Button/index.js.map +1 -1
  10. package/dist/elements/Button/index.scss +5 -38
  11. package/dist/elements/Button/types.d.ts +1 -1
  12. package/dist/elements/Button/types.d.ts.map +1 -1
  13. package/dist/elements/Button/types.js.map +1 -1
  14. package/dist/elements/CheckboxPopup/index.d.ts.map +1 -1
  15. package/dist/elements/CheckboxPopup/index.js +1 -0
  16. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  17. package/dist/elements/CheckboxPopup/index.scss +0 -1
  18. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  19. package/dist/elements/DefaultListViewTabs/index.js +54 -28
  20. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  21. package/dist/elements/DocumentControls/index.d.ts +0 -1
  22. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  23. package/dist/elements/DocumentControls/index.js +10 -6
  24. package/dist/elements/DocumentControls/index.js.map +1 -1
  25. package/dist/elements/DocumentControls/index.scss +1 -1
  26. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  27. package/dist/elements/DocumentDrawer/index.js +141 -54
  28. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  29. package/dist/elements/DocumentDrawer/types.d.ts +1 -7
  30. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  31. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  32. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  33. package/dist/elements/DrawerActionHeader/index.js +0 -2
  34. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  35. package/dist/elements/DrawerActionHeader/index.scss +2 -2
  36. package/dist/elements/FolderView/Breadcrumbs/index.d.ts +19 -0
  37. package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +1 -0
  38. package/dist/elements/FolderView/Breadcrumbs/index.js +96 -0
  39. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -0
  40. package/dist/elements/FolderView/Breadcrumbs/index.scss +56 -0
  41. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +6 -0
  42. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +1 -0
  43. package/dist/elements/FolderView/BrowseByFolderButton/index.js +40 -0
  44. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -0
  45. package/dist/elements/FolderView/BrowseByFolderButton/index.scss +30 -0
  46. package/dist/elements/FolderView/Cell/index.client.d.ts +13 -0
  47. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -0
  48. package/dist/elements/FolderView/Cell/index.client.js +95 -0
  49. package/dist/elements/FolderView/Cell/index.client.js.map +1 -0
  50. package/dist/elements/FolderView/Cell/index.server.d.ts +4 -0
  51. package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -0
  52. package/dist/elements/FolderView/Cell/index.server.js +18 -0
  53. package/dist/elements/FolderView/Cell/index.server.js.map +1 -0
  54. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +3 -0
  55. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +1 -0
  56. package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -0
  57. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -0
  58. package/dist/elements/FolderView/ColoredFolderIcon/index.scss +5 -0
  59. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +7 -0
  60. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -0
  61. package/dist/elements/FolderView/CurrentFolderActions/index.js +162 -0
  62. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -0
  63. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +11 -0
  64. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +1 -0
  65. package/dist/elements/FolderView/DragOverlaySelection/index.js +62 -0
  66. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -0
  67. package/dist/elements/FolderView/DragOverlaySelection/index.scss +35 -0
  68. package/dist/elements/FolderView/DraggableTableRow/index.d.ts +18 -0
  69. package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +1 -0
  70. package/dist/elements/FolderView/DraggableTableRow/index.js +63 -0
  71. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -0
  72. package/dist/elements/FolderView/DraggableTableRow/index.scss +135 -0
  73. package/dist/elements/FolderView/DraggableWithClick/index.d.ts +15 -0
  74. package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +1 -0
  75. package/dist/elements/FolderView/DraggableWithClick/index.js +86 -0
  76. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -0
  77. package/dist/elements/FolderView/DraggableWithClick/index.scss +5 -0
  78. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +7 -0
  79. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +1 -0
  80. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +39 -0
  81. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -0
  82. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +37 -0
  83. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -0
  84. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +609 -0
  85. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -0
  86. package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +30 -0
  87. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts +4 -0
  88. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts.map +1 -0
  89. package/dist/elements/FolderView/FilterFolderTypePill/index.js +102 -0
  90. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -0
  91. package/dist/elements/FolderView/FilterFolderTypePill/index.scss +16 -0
  92. package/dist/elements/FolderView/FolderField/index.scss +12 -0
  93. package/dist/elements/FolderView/FolderField/index.server.d.ts +4 -0
  94. package/dist/elements/FolderView/FolderField/index.server.d.ts.map +1 -0
  95. package/dist/elements/FolderView/FolderField/index.server.js +16 -0
  96. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -0
  97. package/dist/elements/FolderView/FolderFileCard/index.d.ts +30 -0
  98. package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +1 -0
  99. package/dist/elements/FolderView/FolderFileCard/index.js +209 -0
  100. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -0
  101. package/dist/elements/FolderView/FolderFileCard/index.scss +247 -0
  102. package/dist/elements/FolderView/FolderFileTable/index.d.ts +8 -0
  103. package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +1 -0
  104. package/dist/elements/FolderView/FolderFileTable/index.js +284 -0
  105. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -0
  106. package/dist/elements/FolderView/FolderFileTable/index.scss +11 -0
  107. package/dist/elements/FolderView/FolderTypeField/index.d.ts +4 -0
  108. package/dist/elements/FolderView/FolderTypeField/index.d.ts.map +1 -0
  109. package/dist/elements/FolderView/FolderTypeField/index.js +123 -0
  110. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -0
  111. package/dist/elements/FolderView/ItemCardGrid/index.d.ts +16 -0
  112. package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +1 -0
  113. package/dist/elements/FolderView/ItemCardGrid/index.js +34 -0
  114. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -0
  115. package/dist/elements/FolderView/ItemCardGrid/index.scss +16 -0
  116. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +37 -0
  117. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +1 -0
  118. package/dist/elements/FolderView/MoveDocToFolder/index.js +292 -0
  119. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -0
  120. package/dist/elements/{Hierarchy/DocHeaderButton → FolderView/MoveDocToFolder}/index.scss +1 -7
  121. package/dist/elements/FolderView/SimpleTable/index.d.ts +19 -0
  122. package/dist/elements/FolderView/SimpleTable/index.d.ts.map +1 -0
  123. package/dist/elements/FolderView/SimpleTable/index.js +95 -0
  124. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -0
  125. package/dist/elements/FolderView/SimpleTable/index.scss +59 -0
  126. package/dist/elements/FolderView/SortByPill/index.d.ts +4 -0
  127. package/dist/elements/FolderView/SortByPill/index.d.ts.map +1 -0
  128. package/dist/elements/FolderView/SortByPill/index.js +112 -0
  129. package/dist/elements/FolderView/SortByPill/index.js.map +1 -0
  130. package/dist/elements/FolderView/SortByPill/index.scss +16 -0
  131. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +8 -0
  132. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +1 -0
  133. package/dist/elements/FolderView/ToggleViewButtons/index.js +31 -0
  134. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -0
  135. package/dist/elements/FolderView/ToggleViewButtons/index.scss +17 -0
  136. package/dist/elements/Link/index.d.ts +0 -4
  137. package/dist/elements/Link/index.d.ts.map +1 -1
  138. package/dist/elements/Link/index.js +0 -5
  139. package/dist/elements/Link/index.js.map +1 -1
  140. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +15 -0
  141. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -0
  142. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +182 -0
  143. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -0
  144. package/dist/elements/ListHeader/TitleActions/index.d.ts +1 -0
  145. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
  146. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  147. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  148. package/dist/elements/ListHeader/index.js +2 -2
  149. package/dist/elements/ListHeader/index.js.map +1 -1
  150. package/dist/elements/ListSelection/index.scss +1 -2
  151. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  152. package/dist/elements/LivePreview/Window/index.js +9 -7
  153. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  154. package/dist/elements/Locked/index.scss +1 -1
  155. package/dist/elements/RelationshipTable/index.js +3 -3
  156. package/dist/elements/RelationshipTable/index.js.map +1 -1
  157. package/dist/elements/StepNav/index.d.ts.map +1 -1
  158. package/dist/elements/StepNav/index.js +1 -10
  159. package/dist/elements/StepNav/index.js.map +1 -1
  160. package/dist/elements/StepNav/types.d.ts +0 -1
  161. package/dist/elements/StepNav/types.d.ts.map +1 -1
  162. package/dist/elements/StepNav/types.js.map +1 -1
  163. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  164. package/dist/elements/Table/DefaultCell/index.js +0 -20
  165. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  166. package/dist/elements/Tooltip/index.js +1 -1
  167. package/dist/elements/Tooltip/index.js.map +1 -1
  168. package/dist/elements/Tooltip/index.scss +15 -1
  169. package/dist/exports/client/index.d.ts +10 -27
  170. package/dist/exports/client/index.d.ts.map +1 -1
  171. package/dist/exports/client/index.js +24 -26
  172. package/dist/exports/client/index.js.map +4 -4
  173. package/dist/exports/rsc/index.d.ts +3 -3
  174. package/dist/exports/rsc/index.d.ts.map +1 -1
  175. package/dist/exports/rsc/index.js +3 -3
  176. package/dist/exports/rsc/index.js.map +1 -1
  177. package/dist/fields/Join/index.d.ts.map +1 -1
  178. package/dist/fields/Join/index.js +1 -1
  179. package/dist/fields/Join/index.js.map +1 -1
  180. package/dist/fields/shared/index.d.ts +2 -2
  181. package/dist/fields/shared/index.d.ts.map +1 -1
  182. package/dist/fields/shared/index.js.map +1 -1
  183. package/dist/icons/Chevron/index.d.ts.map +1 -1
  184. package/dist/icons/Chevron/index.js +1 -5
  185. package/dist/icons/Chevron/index.js.map +1 -1
  186. package/dist/icons/Document/index.d.ts +1 -3
  187. package/dist/icons/Document/index.d.ts.map +1 -1
  188. package/dist/icons/Document/index.js +2 -4
  189. package/dist/icons/Document/index.js.map +1 -1
  190. package/dist/icons/Document/index.scss +0 -4
  191. package/dist/icons/Folder/index.d.ts +2 -4
  192. package/dist/icons/Folder/index.d.ts.map +1 -1
  193. package/dist/icons/Folder/index.js +2 -4
  194. package/dist/icons/Folder/index.js.map +1 -1
  195. package/dist/icons/Folder/index.scss +0 -8
  196. package/dist/icons/Lock/index.scss +1 -1
  197. package/dist/icons/Plus/index.d.ts.map +1 -1
  198. package/dist/icons/Plus/index.js +1 -2
  199. package/dist/icons/Plus/index.js.map +1 -1
  200. package/dist/providers/Folders/groupItemIDsByRelation.d.ts +3 -0
  201. package/dist/providers/Folders/groupItemIDsByRelation.d.ts.map +1 -0
  202. package/dist/providers/Folders/groupItemIDsByRelation.js +10 -0
  203. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -0
  204. package/dist/providers/Folders/index.d.ts +143 -0
  205. package/dist/providers/Folders/index.d.ts.map +1 -0
  206. package/dist/providers/Folders/index.js +641 -0
  207. package/dist/providers/Folders/index.js.map +1 -0
  208. package/dist/providers/LivePreview/context.d.ts +6 -0
  209. package/dist/providers/LivePreview/context.d.ts.map +1 -1
  210. package/dist/providers/LivePreview/context.js +1 -0
  211. package/dist/providers/LivePreview/context.js.map +1 -1
  212. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  213. package/dist/providers/LivePreview/index.js +13 -1
  214. package/dist/providers/LivePreview/index.js.map +1 -1
  215. package/dist/providers/Root/index.d.ts.map +1 -1
  216. package/dist/providers/Root/index.js +15 -18
  217. package/dist/providers/Root/index.js.map +1 -1
  218. package/dist/providers/ServerFunctions/index.d.ts +6 -1
  219. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  220. package/dist/providers/ServerFunctions/index.js +18 -0
  221. package/dist/providers/ServerFunctions/index.js.map +1 -1
  222. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +1 -2
  223. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  224. package/dist/providers/TableColumns/buildColumnState/renderCell.js +1 -34
  225. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  226. package/dist/styles.css +1 -1
  227. package/dist/utilities/getFolderResultsComponentAndData.d.ts +25 -0
  228. package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -0
  229. package/dist/utilities/getFolderResultsComponentAndData.js +135 -0
  230. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -0
  231. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  232. package/dist/utilities/renderTable.d.ts +1 -3
  233. package/dist/utilities/renderTable.d.ts.map +1 -1
  234. package/dist/utilities/renderTable.js +3 -9
  235. package/dist/utilities/renderTable.js.map +1 -1
  236. package/dist/views/BrowseByFolder/index.d.ts +5 -0
  237. package/dist/views/BrowseByFolder/index.d.ts.map +1 -0
  238. package/dist/views/BrowseByFolder/index.js +342 -0
  239. package/dist/views/BrowseByFolder/index.js.map +1 -0
  240. package/dist/views/BrowseByFolder/index.scss +174 -0
  241. package/dist/views/CollectionFolder/ListSelection/index.d.ts +9 -0
  242. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -0
  243. package/dist/views/CollectionFolder/ListSelection/index.js +180 -0
  244. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -0
  245. package/dist/views/CollectionFolder/index.d.ts +5 -0
  246. package/dist/views/CollectionFolder/index.d.ts.map +1 -0
  247. package/dist/views/CollectionFolder/index.js +325 -0
  248. package/dist/views/CollectionFolder/index.js.map +1 -0
  249. package/dist/views/CollectionFolder/index.scss +162 -0
  250. package/dist/views/Edit/index.d.ts +1 -1
  251. package/dist/views/Edit/index.d.ts.map +1 -1
  252. package/dist/views/Edit/index.js +10 -8
  253. package/dist/views/Edit/index.js.map +1 -1
  254. package/dist/views/List/index.d.ts.map +1 -1
  255. package/dist/views/List/index.js +7 -51
  256. package/dist/views/List/index.js.map +1 -1
  257. package/package.json +4 -4
  258. package/dist/elements/CreateDocumentButton/index.d.ts +0 -26
  259. package/dist/elements/CreateDocumentButton/index.d.ts.map +0 -1
  260. package/dist/elements/CreateDocumentButton/index.js +0 -182
  261. package/dist/elements/CreateDocumentButton/index.js.map +0 -1
  262. package/dist/elements/DelayedSpinner/index.d.ts +0 -23
  263. package/dist/elements/DelayedSpinner/index.d.ts.map +0 -1
  264. package/dist/elements/DelayedSpinner/index.js +0 -61
  265. package/dist/elements/DelayedSpinner/index.js.map +0 -1
  266. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts +0 -5
  267. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +0 -1
  268. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +0 -166
  269. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +0 -1
  270. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.scss +0 -63
  271. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts +0 -5
  272. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +0 -1
  273. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +0 -161
  274. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +0 -1
  275. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.scss +0 -105
  276. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +0 -8
  277. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +0 -1
  278. package/dist/elements/Hierarchy/ColumnBrowser/index.js +0 -473
  279. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +0 -1
  280. package/dist/elements/Hierarchy/ColumnBrowser/index.scss +0 -20
  281. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +0 -106
  282. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +0 -1
  283. package/dist/elements/Hierarchy/ColumnBrowser/types.js +0 -2
  284. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +0 -1
  285. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts +0 -11
  286. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +0 -1
  287. package/dist/elements/Hierarchy/DocHeaderButton/index.js +0 -126
  288. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +0 -1
  289. package/dist/elements/Hierarchy/DocHeaderButton/index.server.d.ts +0 -10
  290. package/dist/elements/Hierarchy/DocHeaderButton/index.server.d.ts.map +0 -1
  291. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +0 -34
  292. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +0 -1
  293. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts +0 -15
  294. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  295. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js +0 -60
  296. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  297. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  298. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  299. package/dist/elements/Hierarchy/Drawer/index.js +0 -291
  300. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  301. package/dist/elements/Hierarchy/Drawer/index.scss +0 -81
  302. package/dist/elements/Hierarchy/Drawer/types.d.ts +0 -68
  303. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  304. package/dist/elements/Hierarchy/Drawer/types.js +0 -3
  305. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  306. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  307. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  308. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js +0 -148
  309. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  310. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
  311. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
  312. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -185
  313. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
  314. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  315. package/dist/elements/Hierarchy/Field/index.client.d.ts +0 -8
  316. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +0 -1
  317. package/dist/elements/Hierarchy/Field/index.client.js +0 -186
  318. package/dist/elements/Hierarchy/Field/index.client.js.map +0 -1
  319. package/dist/elements/Hierarchy/Field/index.scss +0 -35
  320. package/dist/elements/Hierarchy/Field/index.server.d.ts +0 -3
  321. package/dist/elements/Hierarchy/Field/index.server.d.ts.map +0 -1
  322. package/dist/elements/Hierarchy/Field/index.server.js +0 -30
  323. package/dist/elements/Hierarchy/Field/index.server.js.map +0 -1
  324. package/dist/elements/Hierarchy/HydrateProvider/index.d.ts +0 -4
  325. package/dist/elements/Hierarchy/HydrateProvider/index.d.ts.map +0 -1
  326. package/dist/elements/Hierarchy/HydrateProvider/index.js +0 -70
  327. package/dist/elements/Hierarchy/HydrateProvider/index.js.map +0 -1
  328. package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -22
  329. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +0 -1
  330. package/dist/elements/Hierarchy/MoveMany/index.js +0 -278
  331. package/dist/elements/Hierarchy/MoveMany/index.js.map +0 -1
  332. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  333. package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts +0 -18
  334. package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts.map +0 -1
  335. package/dist/elements/Hierarchy/Search/HierarchySearchInput.js +0 -115
  336. package/dist/elements/Hierarchy/Search/HierarchySearchInput.js.map +0 -1
  337. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.d.ts +0 -13
  338. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.d.ts.map +0 -1
  339. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js +0 -88
  340. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js.map +0 -1
  341. package/dist/elements/Hierarchy/Search/HierarchySearchResults.d.ts +0 -17
  342. package/dist/elements/Hierarchy/Search/HierarchySearchResults.d.ts.map +0 -1
  343. package/dist/elements/Hierarchy/Search/HierarchySearchResults.js +0 -85
  344. package/dist/elements/Hierarchy/Search/HierarchySearchResults.js.map +0 -1
  345. package/dist/elements/Hierarchy/Search/index.d.ts +0 -10
  346. package/dist/elements/Hierarchy/Search/index.d.ts.map +0 -1
  347. package/dist/elements/Hierarchy/Search/index.js +0 -144
  348. package/dist/elements/Hierarchy/Search/index.js.map +0 -1
  349. package/dist/elements/Hierarchy/Search/index.scss +0 -212
  350. package/dist/elements/Hierarchy/Search/types.d.ts +0 -21
  351. package/dist/elements/Hierarchy/Search/types.d.ts.map +0 -1
  352. package/dist/elements/Hierarchy/Search/types.js +0 -2
  353. package/dist/elements/Hierarchy/Search/types.js.map +0 -1
  354. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts +0 -20
  355. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +0 -1
  356. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +0 -122
  357. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +0 -1
  358. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -21
  359. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +0 -1
  360. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +0 -162
  361. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +0 -1
  362. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts +0 -7
  363. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +0 -1
  364. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +0 -177
  365. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +0 -1
  366. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.d.ts +0 -8
  367. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.d.ts.map +0 -1
  368. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.js +0 -36
  369. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.js.map +0 -1
  370. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +0 -12
  371. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +0 -1
  372. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +0 -29
  373. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +0 -1
  374. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  375. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  376. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  377. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  378. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  379. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +0 -28
  380. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +0 -1
  381. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +0 -140
  382. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +0 -1
  383. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +0 -5
  384. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +0 -1
  385. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +0 -225
  386. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +0 -1
  387. package/dist/elements/Hierarchy/Tree/TreeNode/index.scss +0 -110
  388. package/dist/elements/Hierarchy/Tree/index.d.ts +0 -5
  389. package/dist/elements/Hierarchy/Tree/index.d.ts.map +0 -1
  390. package/dist/elements/Hierarchy/Tree/index.js +0 -270
  391. package/dist/elements/Hierarchy/Tree/index.js.map +0 -1
  392. package/dist/elements/Hierarchy/Tree/index.scss +0 -60
  393. package/dist/elements/Hierarchy/Tree/types.d.ts +0 -76
  394. package/dist/elements/Hierarchy/Tree/types.d.ts.map +0 -1
  395. package/dist/elements/Hierarchy/Tree/types.js +0 -2
  396. package/dist/elements/Hierarchy/Tree/types.js.map +0 -1
  397. package/dist/elements/Hierarchy/Tree/useChildren.d.ts +0 -32
  398. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +0 -1
  399. package/dist/elements/Hierarchy/Tree/useChildren.js +0 -229
  400. package/dist/elements/Hierarchy/Tree/useChildren.js.map +0 -1
  401. package/dist/elements/LoadMoreRow/index.d.ts +0 -15
  402. package/dist/elements/LoadMoreRow/index.d.ts.map +0 -1
  403. package/dist/elements/LoadMoreRow/index.js +0 -75
  404. package/dist/elements/LoadMoreRow/index.js.map +0 -1
  405. package/dist/elements/LoadMoreRow/index.scss +0 -42
  406. package/dist/elements/Spinner/index.d.ts +0 -16
  407. package/dist/elements/Spinner/index.d.ts.map +0 -1
  408. package/dist/elements/Spinner/index.js +0 -49
  409. package/dist/elements/Spinner/index.js.map +0 -1
  410. package/dist/elements/Spinner/index.scss +0 -39
  411. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts +0 -6
  412. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +0 -1
  413. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +0 -187
  414. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +0 -1
  415. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.scss +0 -29
  416. package/dist/fields/Null/index.d.ts +0 -11
  417. package/dist/fields/Null/index.d.ts.map +0 -1
  418. package/dist/fields/Null/index.js +0 -13
  419. package/dist/fields/Null/index.js.map +0 -1
  420. package/dist/icons/Filter/index.d.ts +0 -4
  421. package/dist/icons/Filter/index.d.ts.map +0 -1
  422. package/dist/icons/Filter/index.js +0 -15
  423. package/dist/icons/Filter/index.js.map +0 -1
  424. package/dist/icons/Filter/index.scss +0 -13
  425. package/dist/icons/TableView/index.d.ts +0 -3
  426. package/dist/icons/TableView/index.d.ts.map +0 -1
  427. package/dist/icons/TableView/index.js +0 -16
  428. package/dist/icons/TableView/index.js.map +0 -1
  429. package/dist/icons/Tag/index.d.ts +0 -8
  430. package/dist/icons/Tag/index.d.ts.map +0 -1
  431. package/dist/icons/Tag/index.js +0 -22
  432. package/dist/icons/Tag/index.js.map +0 -1
  433. package/dist/icons/Tag/index.scss +0 -14
  434. package/dist/providers/DocumentSelection/index.d.ts +0 -8
  435. package/dist/providers/DocumentSelection/index.d.ts.map +0 -1
  436. package/dist/providers/DocumentSelection/index.js +0 -239
  437. package/dist/providers/DocumentSelection/index.js.map +0 -1
  438. package/dist/providers/DocumentSelection/types.d.ts +0 -122
  439. package/dist/providers/DocumentSelection/types.d.ts.map +0 -1
  440. package/dist/providers/DocumentSelection/types.js +0 -5
  441. package/dist/providers/DocumentSelection/types.js.map +0 -1
  442. package/dist/providers/Hierarchy/index.d.ts +0 -5
  443. package/dist/providers/Hierarchy/index.d.ts.map +0 -1
  444. package/dist/providers/Hierarchy/index.js +0 -350
  445. package/dist/providers/Hierarchy/index.js.map +0 -1
  446. package/dist/providers/Hierarchy/types.d.ts +0 -106
  447. package/dist/providers/Hierarchy/types.d.ts.map +0 -1
  448. package/dist/providers/Hierarchy/types.js +0 -2
  449. package/dist/providers/Hierarchy/types.js.map +0 -1
  450. package/dist/providers/SidebarTabs/index.d.ts +0 -19
  451. package/dist/providers/SidebarTabs/index.d.ts.map +0 -1
  452. package/dist/providers/SidebarTabs/index.js +0 -24
  453. package/dist/providers/SidebarTabs/index.js.map +0 -1
  454. package/dist/utilities/isSuperset.d.ts +0 -6
  455. package/dist/utilities/isSuperset.d.ts.map +0 -1
  456. package/dist/utilities/isSuperset.js +0 -10
  457. package/dist/utilities/isSuperset.js.map +0 -1
  458. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts +0 -10
  459. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +0 -1
  460. package/dist/views/HierarchyList/DocumentListSelection/index.js +0 -194
  461. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +0 -1
  462. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +0 -21
  463. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +0 -1
  464. package/dist/views/HierarchyList/HierarchyListHeader/index.js +0 -67
  465. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +0 -1
  466. package/dist/views/HierarchyList/HierarchyListHeader/index.scss +0 -9
  467. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts +0 -4
  468. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +0 -1
  469. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +0 -104
  470. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +0 -1
  471. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts +0 -4
  472. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts.map +0 -1
  473. package/dist/views/HierarchyList/HierarchyTable/DateCell.js +0 -53
  474. package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +0 -1
  475. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts +0 -4
  476. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +0 -1
  477. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +0 -128
  478. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +0 -1
  479. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +0 -99
  480. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +0 -1
  481. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +0 -118
  482. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +0 -1
  483. package/dist/views/HierarchyList/HierarchyTable/SlotTable.scss +0 -214
  484. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +0 -27
  485. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +0 -1
  486. package/dist/views/HierarchyList/HierarchyTable/index.js +0 -388
  487. package/dist/views/HierarchyList/HierarchyTable/index.js.map +0 -1
  488. package/dist/views/HierarchyList/HierarchyTable/index.scss +0 -148
  489. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +0 -20
  490. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +0 -1
  491. package/dist/views/HierarchyList/HierarchyTable/types.js +0 -2
  492. package/dist/views/HierarchyList/HierarchyTable/types.js.map +0 -1
  493. package/dist/views/HierarchyList/TypeFilter/index.d.ts +0 -15
  494. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +0 -1
  495. package/dist/views/HierarchyList/TypeFilter/index.js +0 -37
  496. package/dist/views/HierarchyList/TypeFilter/index.js.map +0 -1
  497. package/dist/views/HierarchyList/TypeFilter/index.scss +0 -32
  498. package/dist/views/HierarchyList/index.d.ts +0 -5
  499. package/dist/views/HierarchyList/index.d.ts.map +0 -1
  500. package/dist/views/HierarchyList/index.js +0 -305
  501. package/dist/views/HierarchyList/index.js.map +0 -1
  502. package/dist/views/HierarchyList/index.scss +0 -72
@@ -1,28 +0,0 @@
1
- import type React from 'react';
2
- type FocusableItem = {
3
- id: string;
4
- ref: React.RefObject<HTMLElement>;
5
- type: 'load-more' | 'node';
6
- };
7
- type TreeFocusContextType = {
8
- focusedId: null | string;
9
- moveFocus: (direction: 'down' | 'up') => void;
10
- registerItem: (item: FocusableItem) => void;
11
- setFocusedId: (id: null | string) => void;
12
- unregisterItem: (id: string) => void;
13
- };
14
- export declare const TreeFocusProvider: React.FC<{
15
- children: React.ReactNode;
16
- }>;
17
- export declare const useTreeFocus: () => TreeFocusContextType;
18
- export declare const useFocusableItem: ({ id, type, ref, }: {
19
- id: string;
20
- ref: React.RefObject<HTMLElement>;
21
- type: "load-more" | "node";
22
- }) => {
23
- handleFocus: () => void;
24
- isFocused: boolean;
25
- tabIndex: number;
26
- };
27
- export {};
28
- //# sourceMappingURL=TreeFocusContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeFocusContext.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/TreeFocusContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACjC,IAAI,EAAE,WAAW,GAAG,MAAM,CAAA;CAC3B,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;IACxB,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7C,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IAC3C,YAAY,EAAE,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,KAAK,IAAI,CAAA;IACzC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CACrC,CAAA;AAID,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAsErE,CAAA;AAED,eAAO,MAAM,YAAY,4BAMxB,CAAA;AAED,eAAO,MAAM,gBAAgB,uBAI1B;IACD,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACjC,IAAI,EAAE,WAAW,GAAG,MAAM,CAAA;CAC3B;;;;CAwBA,CAAA"}
@@ -1,140 +0,0 @@
1
- 'use client';
2
-
3
- import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- import { createContext, use, useCallback, useEffect, useRef, useState } from 'react';
6
- const TreeFocusContext = /*#__PURE__*/createContext(undefined);
7
- export const TreeFocusProvider = ({
8
- children
9
- }) => {
10
- const [focusedId, setFocusedId] = useState(null);
11
- const itemsRef = useRef(new Map());
12
- const registerItem = useCallback(item => {
13
- itemsRef.current.set(item.id, item);
14
- }, []);
15
- const unregisterItem = useCallback(id => {
16
- itemsRef.current.delete(id);
17
- }, []);
18
- const moveFocus = useCallback(direction => {
19
- const items = Array.from(itemsRef.current.values());
20
- if (items.length === 0) {
21
- return;
22
- }
23
- // Sort items by their DOM position to ensure correct navigation order
24
- const sortedItems = items.filter(item_0 => item_0.ref.current).sort((a, b) => {
25
- const aElement = a.ref.current;
26
- const bElement = b.ref.current;
27
- if (!aElement || !bElement) {
28
- return 0;
29
- }
30
- const position = aElement.compareDocumentPosition(bElement);
31
- if (position & Node.DOCUMENT_POSITION_FOLLOWING) {
32
- return -1;
33
- }
34
- if (position & Node.DOCUMENT_POSITION_PRECEDING) {
35
- return 1;
36
- }
37
- return 0;
38
- });
39
- const currentIndex = focusedId ? sortedItems.findIndex(item_1 => item_1.id === focusedId) : -1;
40
- let nextIndex;
41
- if (direction === 'down') {
42
- nextIndex = currentIndex === -1 ? 0 : Math.min(currentIndex + 1, sortedItems.length - 1);
43
- } else {
44
- nextIndex = Math.max(currentIndex - 1, 0);
45
- }
46
- const nextItem = sortedItems[nextIndex];
47
- if (nextItem && nextItem.ref.current) {
48
- nextItem.ref.current.focus();
49
- setFocusedId(nextItem.id);
50
- }
51
- }, [focusedId]);
52
- return /*#__PURE__*/_jsx(TreeFocusContext, {
53
- value: {
54
- focusedId,
55
- moveFocus,
56
- registerItem,
57
- setFocusedId,
58
- unregisterItem
59
- },
60
- children: children
61
- });
62
- };
63
- export const useTreeFocus = () => {
64
- const context = use(TreeFocusContext);
65
- if (!context) {
66
- throw new Error('useTreeFocus must be used within TreeFocusProvider');
67
- }
68
- return context;
69
- };
70
- export const useFocusableItem = t0 => {
71
- const $ = _c(14);
72
- const {
73
- id,
74
- type,
75
- ref
76
- } = t0;
77
- const {
78
- focusedId,
79
- registerItem,
80
- setFocusedId,
81
- unregisterItem
82
- } = useTreeFocus();
83
- const isFocused = focusedId === id;
84
- const isFirstItemEver = focusedId === null;
85
- let t1;
86
- let t2;
87
- if ($[0] !== id || $[1] !== ref || $[2] !== registerItem || $[3] !== type || $[4] !== unregisterItem) {
88
- t1 = () => {
89
- registerItem({
90
- id,
91
- type,
92
- ref
93
- });
94
- return () => {
95
- unregisterItem(id);
96
- };
97
- };
98
- t2 = [id, ref, type, registerItem, unregisterItem];
99
- $[0] = id;
100
- $[1] = ref;
101
- $[2] = registerItem;
102
- $[3] = type;
103
- $[4] = unregisterItem;
104
- $[5] = t1;
105
- $[6] = t2;
106
- } else {
107
- t1 = $[5];
108
- t2 = $[6];
109
- }
110
- useEffect(t1, t2);
111
- let t3;
112
- if ($[7] !== id || $[8] !== setFocusedId) {
113
- t3 = () => {
114
- setFocusedId(id);
115
- };
116
- $[7] = id;
117
- $[8] = setFocusedId;
118
- $[9] = t3;
119
- } else {
120
- t3 = $[9];
121
- }
122
- const handleFocus = t3;
123
- const tabIndex = isFocused ? 0 : isFirstItemEver ? 0 : -1;
124
- let t4;
125
- if ($[10] !== handleFocus || $[11] !== isFocused || $[12] !== tabIndex) {
126
- t4 = {
127
- handleFocus,
128
- isFocused,
129
- tabIndex
130
- };
131
- $[10] = handleFocus;
132
- $[11] = isFocused;
133
- $[12] = tabIndex;
134
- $[13] = t4;
135
- } else {
136
- t4 = $[13];
137
- }
138
- return t4;
139
- };
140
- //# sourceMappingURL=TreeFocusContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeFocusContext.js","names":["c","_c","createContext","use","useCallback","useEffect","useRef","useState","TreeFocusContext","undefined","TreeFocusProvider","children","focusedId","setFocusedId","itemsRef","Map","registerItem","item","current","set","id","unregisterItem","delete","moveFocus","direction","items","Array","from","values","length","sortedItems","filter","ref","sort","a","b","aElement","bElement","position","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_PRECEDING","currentIndex","findIndex","nextIndex","Math","min","max","nextItem","focus","_jsx","value","useTreeFocus","context","Error","useFocusableItem","t0","$","type","isFocused","isFirstItemEver","t1","t2","t3","handleFocus","tabIndex","t4"],"sources":["../../../../src/elements/Hierarchy/Tree/TreeFocusContext.tsx"],"sourcesContent":["'use client'\n\nimport type React from 'react'\n\nimport { createContext, use, useCallback, useEffect, useRef, useState } from 'react'\n\ntype FocusableItem = {\n id: string\n ref: React.RefObject<HTMLElement>\n type: 'load-more' | 'node'\n}\n\ntype TreeFocusContextType = {\n focusedId: null | string\n moveFocus: (direction: 'down' | 'up') => void\n registerItem: (item: FocusableItem) => void\n setFocusedId: (id: null | string) => void\n unregisterItem: (id: string) => void\n}\n\nconst TreeFocusContext = createContext<TreeFocusContextType | undefined>(undefined)\n\nexport const TreeFocusProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [focusedId, setFocusedId] = useState<null | string>(null)\n const itemsRef = useRef<Map<string, FocusableItem>>(new Map())\n\n const registerItem = useCallback((item: FocusableItem) => {\n itemsRef.current.set(item.id, item)\n }, [])\n\n const unregisterItem = useCallback((id: string) => {\n itemsRef.current.delete(id)\n }, [])\n\n const moveFocus = useCallback(\n (direction: 'down' | 'up') => {\n const items = Array.from(itemsRef.current.values())\n if (items.length === 0) {\n return\n }\n\n // Sort items by their DOM position to ensure correct navigation order\n const sortedItems = items\n .filter((item) => item.ref.current)\n .sort((a, b) => {\n const aElement = a.ref.current\n const bElement = b.ref.current\n if (!aElement || !bElement) {\n return 0\n }\n\n const position = aElement.compareDocumentPosition(bElement)\n if (position & Node.DOCUMENT_POSITION_FOLLOWING) {\n return -1\n }\n if (position & Node.DOCUMENT_POSITION_PRECEDING) {\n return 1\n }\n return 0\n })\n\n const currentIndex = focusedId ? sortedItems.findIndex((item) => item.id === focusedId) : -1\n\n let nextIndex: number\n if (direction === 'down') {\n nextIndex = currentIndex === -1 ? 0 : Math.min(currentIndex + 1, sortedItems.length - 1)\n } else {\n nextIndex = Math.max(currentIndex - 1, 0)\n }\n\n const nextItem = sortedItems[nextIndex]\n if (nextItem && nextItem.ref.current) {\n nextItem.ref.current.focus()\n setFocusedId(nextItem.id)\n }\n },\n [focusedId],\n )\n\n return (\n <TreeFocusContext\n value={{\n focusedId,\n moveFocus,\n registerItem,\n setFocusedId,\n unregisterItem,\n }}\n >\n {children}\n </TreeFocusContext>\n )\n}\n\nexport const useTreeFocus = () => {\n const context = use(TreeFocusContext)\n if (!context) {\n throw new Error('useTreeFocus must be used within TreeFocusProvider')\n }\n return context\n}\n\nexport const useFocusableItem = ({\n id,\n type,\n ref,\n}: {\n id: string\n ref: React.RefObject<HTMLElement>\n type: 'load-more' | 'node'\n}) => {\n const { focusedId, registerItem, setFocusedId, unregisterItem } = useTreeFocus()\n const isFocused = focusedId === id\n const isFirstItemEver = focusedId === null\n\n useEffect(() => {\n registerItem({ id, type, ref })\n return () => {\n unregisterItem(id)\n }\n }, [id, ref, type, registerItem, unregisterItem])\n\n const handleFocus = useCallback(() => {\n setFocusedId(id)\n }, [id, setFocusedId])\n\n // Roving tabindex: focused item gets 0, first item (when nothing focused) gets 0, all others get -1\n const tabIndex = isFocused ? 0 : isFirstItemEver ? 0 : -1\n\n return {\n handleFocus,\n isFocused,\n tabIndex,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import type { TreeNodeProps } from '../types.js';
3
- import './index.scss';
4
- export declare const TreeNode: ({ allPossibleTypeValues, baseFilter, cache, collectionSlug, depth, expandedNodes, filterByCollections, limit, node, onSelect, onToggle, parentFieldName, selected, selectedNodeId, typeFieldName, useAsTitle, }: TreeNodeProps) => React.JSX.Element;
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/Hierarchy/Tree/TreeNode/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAQhD,OAAO,cAAc,CAAA;AAqBrB,eAAO,MAAM,QAAQ,oNAiBlB,aAAa,sBAoMf,CAAA"}
@@ -1,225 +0,0 @@
1
- 'use client';
2
-
3
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
4
- import React, { useCallback, useRef } from 'react';
5
- import { Spinner } from '../../../../elements/Spinner/index.js';
6
- import { ChevronIcon } from '../../../../icons/Chevron/index.js';
7
- import { useTranslation } from '../../../../providers/Translation/index.js';
8
- import { LoadMore } from '../LoadMore/index.js';
9
- import { useFocusableItem, useTreeFocus } from '../TreeFocusContext.js';
10
- import { useChildren } from '../useChildren.js';
11
- import './index.scss';
12
- const DEFAULT_TREE_LIMIT = 10;
13
- const baseClass = 'tree-node';
14
- const getDocumentTitle = (doc, useAsTitle) => {
15
- const docId = doc.id;
16
- const idStr = typeof docId === 'number' ? String(docId) : docId;
17
- if (!useAsTitle) {
18
- return idStr;
19
- }
20
- const value = doc[useAsTitle];
21
- if (value && (typeof value === 'string' || typeof value === 'number')) {
22
- return String(value);
23
- }
24
- return idStr;
25
- };
26
- export const TreeNode = ({
27
- allPossibleTypeValues,
28
- baseFilter,
29
- cache,
30
- collectionSlug,
31
- depth = 0,
32
- expandedNodes,
33
- filterByCollections,
34
- limit = DEFAULT_TREE_LIMIT,
35
- node,
36
- onSelect,
37
- onToggle,
38
- parentFieldName,
39
- selected,
40
- selectedNodeId,
41
- typeFieldName,
42
- useAsTitle
43
- }) => {
44
- const {
45
- t
46
- } = useTranslation();
47
- const expanded = expandedNodes.has(node.id);
48
- const nodeRef = useRef(null);
49
- const {
50
- setFocusedId
51
- } = useTreeFocus();
52
- const {
53
- children,
54
- hasMore,
55
- isLoading,
56
- load,
57
- loadMore: loadMoreFromHook,
58
- totalDocs
59
- } = useChildren({
60
- allPossibleTypeValues,
61
- baseFilter,
62
- cache,
63
- collectionSlug,
64
- enabled: expanded,
65
- filterByCollections,
66
- limit,
67
- parentFieldName,
68
- parentId: node.id,
69
- typeFieldName,
70
- useAsTitle
71
- });
72
- const handleLoadMore = React.useCallback(async () => {
73
- const newDocs = await loadMoreFromHook();
74
- if (newDocs && newDocs.length > 0) {
75
- const firstNewDoc = newDocs[0];
76
- const docId = firstNewDoc.id;
77
- setFocusedId(`node-${docId}`);
78
- }
79
- }, [loadMoreFromHook, setFocusedId]);
80
- const {
81
- handleFocus,
82
- isFocused,
83
- tabIndex
84
- } = useFocusableItem({
85
- id: `node-${node.id}`,
86
- type: 'node',
87
- ref: nodeRef
88
- });
89
- // When focusedId points to this node, actually call .focus()
90
- React.useEffect(() => {
91
- if (isFocused && nodeRef.current && document.activeElement !== nodeRef.current) {
92
- nodeRef.current.focus();
93
- }
94
- }, [isFocused]);
95
- // Determine if node has children:
96
- // - If explicitly set in data, use that
97
- // - If expanded and loaded, check the actual children
98
- // - Otherwise, assume it might have children (show chevron until proven otherwise)
99
- const hasChildren = node.hasChildren === true || (expanded && children !== null ? children.length > 0 : true);
100
- const handleToggleClick = useCallback(e => {
101
- e.stopPropagation();
102
- if (!expanded) {
103
- void load();
104
- }
105
- onToggle({
106
- id: node.id
107
- });
108
- }, [node.id, onToggle, expanded, load]);
109
- const handleSelectClick = useCallback(() => {
110
- onSelect?.({
111
- id: node.id
112
- });
113
- }, [node.id, onSelect]);
114
- const handleKeyDown = useCallback(e_0 => {
115
- switch (e_0.key) {
116
- case ' ':
117
- case 'Enter':
118
- e_0.preventDefault();
119
- e_0.stopPropagation();
120
- handleSelectClick();
121
- break;
122
- case 'ArrowLeft':
123
- e_0.preventDefault();
124
- e_0.stopPropagation();
125
- if (hasChildren && expanded) {
126
- onToggle({
127
- id: node.id
128
- });
129
- }
130
- break;
131
- case 'ArrowRight':
132
- e_0.preventDefault();
133
- e_0.stopPropagation();
134
- if (hasChildren && !expanded) {
135
- onToggle({
136
- id: node.id
137
- });
138
- }
139
- break;
140
- }
141
- }, [hasChildren, expanded, handleSelectClick, onToggle, node.id]);
142
- return /*#__PURE__*/_jsxs("div", {
143
- "aria-expanded": hasChildren ? expanded : undefined,
144
- "aria-level": depth + 1,
145
- "aria-selected": selected,
146
- className: baseClass,
147
- onFocus: handleFocus,
148
- onKeyDown: handleKeyDown,
149
- ref: nodeRef,
150
- role: "treeitem",
151
- style: {
152
- '--tree-depth': depth
153
- },
154
- tabIndex: tabIndex,
155
- children: [/*#__PURE__*/_jsxs("div", {
156
- className: [`${baseClass}__content`, selected && `${baseClass}__content--selected`].filter(Boolean).join(' '),
157
- children: [/*#__PURE__*/_jsx("div", {
158
- className: `${baseClass}__indicator`
159
- }), hasChildren ? /*#__PURE__*/_jsx("button", {
160
- "aria-label": expanded ? t('general:collapse') : t('general:open'),
161
- className: `${baseClass}__toggle`,
162
- onClick: handleToggleClick,
163
- onMouseDown: e_1 => e_1.preventDefault(),
164
- tabIndex: -1,
165
- type: "button",
166
- children: /*#__PURE__*/_jsx(ChevronIcon, {
167
- direction: expanded ? 'down' : 'right'
168
- })
169
- }) : /*#__PURE__*/_jsx("div", {
170
- className: `${baseClass}__toggle-spacer`
171
- }), /*#__PURE__*/_jsx("span", {
172
- className: `${baseClass}__title`,
173
- onClick: handleSelectClick,
174
- onMouseDown: e_2 => e_2.preventDefault(),
175
- title: node.title,
176
- children: node.title
177
- }), isLoading && expanded && /*#__PURE__*/_jsx("span", {
178
- className: `${baseClass}__loading`,
179
- children: /*#__PURE__*/_jsx(Spinner, {
180
- loadingText: null,
181
- size: "small"
182
- })
183
- })]
184
- }), expanded && children && children.length > 0 && /*#__PURE__*/_jsxs(_Fragment, {
185
- children: [/*#__PURE__*/_jsx("div", {
186
- className: `${baseClass}__children`,
187
- role: "group",
188
- children: children.map(child => {
189
- const childData = child;
190
- const childId = childData.id;
191
- const childTitle = getDocumentTitle(child, useAsTitle);
192
- return /*#__PURE__*/_jsx(TreeNode, {
193
- allPossibleTypeValues: allPossibleTypeValues,
194
- baseFilter: baseFilter,
195
- cache: cache,
196
- collectionSlug: collectionSlug,
197
- depth: depth + 1,
198
- expandedNodes: expandedNodes,
199
- filterByCollections: filterByCollections,
200
- limit: limit,
201
- node: {
202
- id: childId,
203
- hasChildren: true,
204
- title: childTitle
205
- },
206
- onSelect: onSelect,
207
- onToggle: onToggle,
208
- parentFieldName: parentFieldName,
209
- selected: String(childId) === String(selectedNodeId),
210
- selectedNodeId: selectedNodeId,
211
- typeFieldName: typeFieldName,
212
- useAsTitle: useAsTitle
213
- }, String(childId));
214
- })
215
- }), hasMore && /*#__PURE__*/_jsx(LoadMore, {
216
- currentCount: children.length,
217
- depth: depth + 1,
218
- id: `load-more-${node.id}`,
219
- onLoadMore: handleLoadMore,
220
- totalDocs: totalDocs
221
- })]
222
- })]
223
- });
224
- };
225
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useRef","Spinner","ChevronIcon","useTranslation","LoadMore","useFocusableItem","useTreeFocus","useChildren","DEFAULT_TREE_LIMIT","baseClass","getDocumentTitle","doc","useAsTitle","docId","id","idStr","String","value","TreeNode","allPossibleTypeValues","baseFilter","cache","collectionSlug","depth","expandedNodes","filterByCollections","limit","node","onSelect","onToggle","parentFieldName","selected","selectedNodeId","typeFieldName","t","expanded","has","nodeRef","setFocusedId","children","hasMore","isLoading","load","loadMore","loadMoreFromHook","totalDocs","enabled","parentId","handleLoadMore","newDocs","length","firstNewDoc","handleFocus","isFocused","tabIndex","type","ref","useEffect","current","document","activeElement","focus","hasChildren","handleToggleClick","e","stopPropagation","handleSelectClick","handleKeyDown","key","preventDefault","_jsxs","undefined","className","onFocus","onKeyDown","role","style","filter","Boolean","join","_jsx","onClick","onMouseDown","direction","title","loadingText","size","_Fragment","map","child","childData","childId","childTitle","currentCount","onLoadMore"],"sources":["../../../../../src/elements/Hierarchy/Tree/TreeNode/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useRef } from 'react'\n\nimport type { TreeNodeProps } from '../types.js'\n\nimport { Spinner } from '../../../../elements/Spinner/index.js'\nimport { ChevronIcon } from '../../../../icons/Chevron/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { LoadMore } from '../LoadMore/index.js'\nimport { useFocusableItem, useTreeFocus } from '../TreeFocusContext.js'\nimport { useChildren } from '../useChildren.js'\nimport './index.scss'\n\nconst DEFAULT_TREE_LIMIT = 10\n\nconst baseClass = 'tree-node'\n\nconst getDocumentTitle = (doc: Record<string, unknown>, useAsTitle: string | undefined): string => {\n const docId: number | string = doc.id as number | string\n const idStr = typeof docId === 'number' ? String(docId) : docId\n\n if (!useAsTitle) {\n return idStr\n }\n\n const value = doc[useAsTitle]\n if (value && (typeof value === 'string' || typeof value === 'number')) {\n return String(value)\n }\n return idStr\n}\n\nexport const TreeNode = ({\n allPossibleTypeValues,\n baseFilter,\n cache,\n collectionSlug,\n depth = 0,\n expandedNodes,\n filterByCollections,\n limit = DEFAULT_TREE_LIMIT,\n node,\n onSelect,\n onToggle,\n parentFieldName,\n selected,\n selectedNodeId,\n typeFieldName,\n useAsTitle,\n}: TreeNodeProps) => {\n const { t } = useTranslation()\n const expanded = expandedNodes.has(node.id)\n const nodeRef = useRef<HTMLDivElement>(null)\n const { setFocusedId } = useTreeFocus()\n\n const {\n children,\n hasMore,\n isLoading,\n load,\n loadMore: loadMoreFromHook,\n totalDocs,\n } = useChildren({\n allPossibleTypeValues,\n baseFilter,\n cache,\n collectionSlug,\n enabled: expanded,\n filterByCollections,\n limit,\n parentFieldName,\n parentId: node.id,\n typeFieldName,\n useAsTitle,\n })\n\n const handleLoadMore = React.useCallback(async () => {\n const newDocs = await loadMoreFromHook()\n\n if (newDocs && newDocs.length > 0) {\n const firstNewDoc = newDocs[0]\n const docId: number | string = (firstNewDoc as { id: number | string }).id\n setFocusedId(`node-${docId}`)\n }\n }, [loadMoreFromHook, setFocusedId])\n\n const { handleFocus, isFocused, tabIndex } = useFocusableItem({\n id: `node-${node.id}`,\n type: 'node',\n ref: nodeRef,\n })\n\n // When focusedId points to this node, actually call .focus()\n React.useEffect(() => {\n if (isFocused && nodeRef.current && document.activeElement !== nodeRef.current) {\n nodeRef.current.focus()\n }\n }, [isFocused])\n\n // Determine if node has children:\n // - If explicitly set in data, use that\n // - If expanded and loaded, check the actual children\n // - Otherwise, assume it might have children (show chevron until proven otherwise)\n const hasChildren =\n node.hasChildren === true || (expanded && children !== null ? children.length > 0 : true)\n\n const handleToggleClick = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation()\n if (!expanded) {\n void load()\n }\n onToggle({ id: node.id })\n },\n [node.id, onToggle, expanded, load],\n )\n\n const handleSelectClick = useCallback(() => {\n onSelect?.({ id: node.id })\n }, [node.id, onSelect])\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n switch (e.key) {\n case ' ':\n case 'Enter':\n e.preventDefault()\n e.stopPropagation()\n handleSelectClick()\n break\n case 'ArrowLeft':\n e.preventDefault()\n e.stopPropagation()\n if (hasChildren && expanded) {\n onToggle({ id: node.id })\n }\n break\n case 'ArrowRight':\n e.preventDefault()\n e.stopPropagation()\n if (hasChildren && !expanded) {\n onToggle({ id: node.id })\n }\n break\n }\n },\n [hasChildren, expanded, handleSelectClick, onToggle, node.id],\n )\n\n return (\n <div\n aria-expanded={hasChildren ? expanded : undefined}\n aria-level={depth + 1}\n aria-selected={selected}\n className={baseClass}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n ref={nodeRef}\n role=\"treeitem\"\n style={{ '--tree-depth': depth } as React.CSSProperties}\n tabIndex={tabIndex}\n >\n <div\n className={[`${baseClass}__content`, selected && `${baseClass}__content--selected`]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__indicator`} />\n {hasChildren ? (\n <button\n aria-label={expanded ? t('general:collapse') : t('general:open')}\n className={`${baseClass}__toggle`}\n onClick={handleToggleClick}\n onMouseDown={(e) => e.preventDefault()}\n tabIndex={-1}\n type=\"button\"\n >\n <ChevronIcon direction={expanded ? 'down' : 'right'} />\n </button>\n ) : (\n <div className={`${baseClass}__toggle-spacer`} />\n )}\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions -- keyboard handled by parent */}\n <span\n className={`${baseClass}__title`}\n onClick={handleSelectClick}\n onMouseDown={(e) => e.preventDefault()}\n title={node.title}\n >\n {node.title}\n </span>\n {isLoading && expanded && (\n <span className={`${baseClass}__loading`}>\n <Spinner loadingText={null} size=\"small\" />\n </span>\n )}\n </div>\n\n {expanded && children && children.length > 0 && (\n <>\n <div className={`${baseClass}__children`} role=\"group\">\n {children.map((child) => {\n const childData = child as { id: number | string }\n const childId = childData.id\n const childTitle = getDocumentTitle(child, useAsTitle)\n return (\n <TreeNode\n allPossibleTypeValues={allPossibleTypeValues}\n baseFilter={baseFilter}\n cache={cache}\n collectionSlug={collectionSlug}\n depth={depth + 1}\n expandedNodes={expandedNodes}\n filterByCollections={filterByCollections}\n key={String(childId)}\n limit={limit}\n node={{\n id: childId,\n hasChildren: true,\n title: childTitle,\n }}\n onSelect={onSelect}\n onToggle={onToggle}\n parentFieldName={parentFieldName}\n selected={String(childId) === String(selectedNodeId)}\n selectedNodeId={selectedNodeId}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n })}\n </div>\n {hasMore && (\n <LoadMore\n currentCount={children.length}\n depth={depth + 1}\n id={`load-more-${node.id}`}\n onLoadMore={handleLoadMore}\n totalDocs={totalDocs}\n />\n )}\n </>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,110 +0,0 @@
1
- @import '../../../../scss/styles.scss';
2
-
3
- .tree-node {
4
- // Remove default focus outline from treeitem - we style the content instead
5
- outline: none;
6
-
7
- // When treeitem is keyboard-focused, highlight only the content row
8
- &:focus-visible > .tree-node__content {
9
- outline: var(--accessibility-outline);
10
- }
11
-
12
- .tree-node {
13
- margin-left: 0;
14
- margin-right: 0;
15
- }
16
- // Variables are inherited from parent .tree
17
-
18
- &__indicator {
19
- position: absolute;
20
- left: 0;
21
- top: 0;
22
- width: 2px;
23
- height: 16px;
24
- background-color: transparent;
25
- border-start-end-radius: 2px;
26
- border-end-end-radius: 2px;
27
- left: calc(var(--nav-padding-inline-start) * -1);
28
- top: 50%;
29
- bottom: 50%;
30
- transform: translateY(-50%);
31
- }
32
-
33
- &__content--selected {
34
- font-weight: 600;
35
-
36
- & > .tree-node__indicator {
37
- background-color: var(--theme-text);
38
- }
39
-
40
- & > .tree-node__title {
41
- color: var(--theme-text);
42
- }
43
- }
44
-
45
- &__content {
46
- display: flex;
47
- align-items: center;
48
- padding: var(--tree-node-padding-y) 0px;
49
- padding-left: calc(var(--tree-depth, 0) * var(--tree-indent));
50
- user-select: none;
51
- transition: background-color 100ms ease;
52
- font-size: var(--tree-font-size);
53
- line-height: var(--tree-node-content-height);
54
- height: var(--tree-node-content-height);
55
- position: relative;
56
- margin-bottom: var(--tree-row-gap);
57
- border-radius: var(--style-radius-s);
58
- }
59
-
60
- &__toggle {
61
- background: none;
62
- border: none;
63
- padding: 0;
64
- margin: 0;
65
- margin-right: var(--tree-chevron-spacing);
66
- display: flex;
67
- align-items: center;
68
- justify-content: center;
69
- cursor: default;
70
- color: var(--theme-elevation-400);
71
- width: var(--tree-chevron-width);
72
- height: var(--tree-chevron-width);
73
- flex-shrink: 0;
74
- border-radius: var(--style-radius-m);
75
-
76
- &:hover {
77
- border: 1px solid var(--theme-elevation-400);
78
- }
79
- }
80
-
81
- &__toggle-spacer {
82
- width: calc(var(--tree-chevron-width) + var(--tree-chevron-spacing));
83
- flex-shrink: 0;
84
- }
85
-
86
- &__title {
87
- min-width: 0;
88
- overflow: hidden;
89
- text-overflow: ellipsis;
90
- white-space: nowrap;
91
- font-size: var(--tree-font-size);
92
- color: var(--theme-elevation-650);
93
- color: var(--theme-text);
94
- cursor: pointer;
95
- &:hover {
96
- text-decoration: underline;
97
- color: var(--theme-text);
98
- }
99
- }
100
-
101
- &__loading {
102
- margin-left: 8px;
103
- display: inline-flex;
104
- align-items: center;
105
- }
106
-
107
- &__children {
108
- /* Children are rendered with depth variable set */
109
- }
110
- }
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import type { HierarchyTreeProps } from './types.js';
3
- import './index.scss';
4
- export declare const HierarchyTree: React.FC<HierarchyTreeProps>;
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA8C,MAAM,OAAO,CAAA;AAElE,OAAO,KAAK,EAAkB,kBAAkB,EAAgB,MAAM,YAAY,CAAA;AAYlF,OAAO,cAAc,CAAA;AA0RrB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAMtD,CAAA"}