@itwin/tree-widget-react 3.0.0-dev.2 → 3.0.0-dev.4

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 (276) hide show
  1. package/README.md +225 -1
  2. package/lib/cjs/components/SelectableTree.d.ts +12 -6
  3. package/lib/cjs/components/SelectableTree.js.map +1 -1
  4. package/lib/cjs/components/TreeSelector.d.ts +2 -2
  5. package/lib/cjs/components/TreeSelector.js.map +1 -1
  6. package/lib/cjs/components/TreeWidgetUiItemsProvider.d.ts +3 -2
  7. package/lib/cjs/components/TreeWidgetUiItemsProvider.js.map +1 -1
  8. package/lib/cjs/components/tree-header/TreeHeader.d.ts +11 -9
  9. package/lib/cjs/components/tree-header/TreeHeader.js +4 -6
  10. package/lib/cjs/components/tree-header/TreeHeader.js.map +1 -1
  11. package/lib/cjs/components/tree-header/TreeWithHeader.d.ts +13 -0
  12. package/lib/cjs/components/tree-header/TreeWithHeader.js +20 -0
  13. package/lib/cjs/components/tree-header/TreeWithHeader.js.map +1 -0
  14. package/lib/cjs/components/trees/categories-tree/CategoriesTree.d.ts +7 -10
  15. package/lib/cjs/components/trees/categories-tree/CategoriesTree.js +9 -66
  16. package/lib/cjs/components/trees/categories-tree/CategoriesTree.js.map +1 -1
  17. package/lib/cjs/components/trees/categories-tree/CategoriesTreeButtons.d.ts +12 -5
  18. package/lib/cjs/components/trees/categories-tree/CategoriesTreeButtons.js +27 -7
  19. package/lib/cjs/components/trees/categories-tree/CategoriesTreeButtons.js.map +1 -1
  20. package/lib/cjs/components/trees/categories-tree/CategoriesTreeComponent.d.ts +4 -5
  21. package/lib/cjs/components/trees/categories-tree/CategoriesTreeComponent.js +17 -20
  22. package/lib/cjs/components/trees/categories-tree/CategoriesTreeComponent.js.map +1 -1
  23. package/lib/cjs/components/trees/categories-tree/CategoriesVisibilityHandler.d.ts +1 -9
  24. package/lib/cjs/components/trees/categories-tree/CategoriesVisibilityHandler.js +2 -6
  25. package/lib/cjs/components/trees/categories-tree/CategoriesVisibilityHandler.js.map +1 -1
  26. package/lib/cjs/components/trees/categories-tree/UseCategoriesTree.d.ts +25 -0
  27. package/lib/cjs/components/trees/categories-tree/UseCategoriesTree.js +89 -0
  28. package/lib/cjs/components/trees/categories-tree/UseCategoriesTree.js.map +1 -0
  29. package/lib/cjs/components/trees/common/CategoriesVisibilityUtils.d.ts +7 -11
  30. package/lib/cjs/components/trees/common/CategoriesVisibilityUtils.js +32 -83
  31. package/lib/cjs/components/trees/common/CategoriesVisibilityUtils.js.map +1 -1
  32. package/lib/cjs/components/trees/common/FocusedInstancesContext.d.ts +0 -3
  33. package/lib/cjs/components/trees/common/FocusedInstancesContext.js +0 -2
  34. package/lib/cjs/components/trees/common/FocusedInstancesContext.js.map +1 -1
  35. package/lib/cjs/components/trees/common/FocusedInstancesContextProvider.d.ts +0 -1
  36. package/lib/cjs/components/trees/common/FocusedInstancesContextProvider.js +0 -1
  37. package/lib/cjs/components/trees/common/FocusedInstancesContextProvider.js.map +1 -1
  38. package/lib/cjs/components/trees/common/UseFiltering.d.ts +0 -1
  39. package/lib/cjs/components/trees/common/UseFiltering.js +0 -1
  40. package/lib/cjs/components/trees/common/UseFiltering.js.map +1 -1
  41. package/lib/cjs/components/trees/common/UseHierarchiesLocalization.d.ts +0 -1
  42. package/lib/cjs/components/trees/common/UseHierarchiesLocalization.js +0 -1
  43. package/lib/cjs/components/trees/common/UseHierarchiesLocalization.js.map +1 -1
  44. package/lib/cjs/components/trees/common/UseHierarchyFiltering.d.ts +1 -7
  45. package/lib/cjs/components/trees/common/UseHierarchyFiltering.js +4 -3
  46. package/lib/cjs/components/trees/common/UseHierarchyFiltering.js.map +1 -1
  47. package/lib/cjs/components/trees/common/UseHierarchyVisibility.d.ts +15 -10
  48. package/lib/cjs/components/trees/common/UseHierarchyVisibility.js +20 -17
  49. package/lib/cjs/components/trees/common/UseHierarchyVisibility.js.map +1 -1
  50. package/lib/cjs/components/trees/common/UseIModelChangeListener.d.ts +0 -1
  51. package/lib/cjs/components/trees/common/UseIModelChangeListener.js +0 -1
  52. package/lib/cjs/components/trees/common/UseIModelChangeListener.js.map +1 -1
  53. package/lib/cjs/components/trees/common/UseMultiCheckboxHandler.d.ts +0 -1
  54. package/lib/cjs/components/trees/common/UseMultiCheckboxHandler.js +0 -1
  55. package/lib/cjs/components/trees/common/UseMultiCheckboxHandler.js.map +1 -1
  56. package/lib/cjs/components/trees/common/UseNodeHighlighting.d.ts +9 -5
  57. package/lib/cjs/components/trees/common/UseNodeHighlighting.js +15 -24
  58. package/lib/cjs/components/trees/common/UseNodeHighlighting.js.map +1 -1
  59. package/lib/cjs/components/trees/common/UseTelemetryContext.d.ts +29 -0
  60. package/lib/cjs/components/trees/common/UseTelemetryContext.js +49 -0
  61. package/lib/cjs/components/trees/common/UseTelemetryContext.js.map +1 -0
  62. package/lib/cjs/components/trees/common/Utils.d.ts +3 -0
  63. package/lib/cjs/components/trees/common/Utils.js +11 -1
  64. package/lib/cjs/components/trees/common/Utils.js.map +1 -1
  65. package/lib/cjs/components/trees/common/components/Delayed.d.ts +0 -1
  66. package/lib/cjs/components/trees/common/components/Delayed.js +0 -1
  67. package/lib/cjs/components/trees/common/components/Delayed.js.map +1 -1
  68. package/lib/cjs/components/trees/common/components/ProgressOverlay.d.ts +0 -1
  69. package/lib/cjs/components/trees/common/components/ProgressOverlay.js +0 -1
  70. package/lib/cjs/components/trees/common/components/ProgressOverlay.js.map +1 -1
  71. package/lib/cjs/components/trees/common/components/Tree.d.ts +52 -0
  72. package/lib/cjs/components/trees/common/components/{BaseTree.js → Tree.js} +27 -23
  73. package/lib/cjs/components/trees/common/components/Tree.js.map +1 -0
  74. package/lib/cjs/components/trees/common/components/TreeNodeCheckbox.d.ts +14 -7
  75. package/lib/cjs/components/trees/common/components/TreeNodeCheckbox.js.map +1 -1
  76. package/lib/cjs/components/trees/common/components/TreeNodeRenderer.d.ts +7 -6
  77. package/lib/cjs/components/trees/common/components/TreeNodeRenderer.js +1 -1
  78. package/lib/cjs/components/trees/common/components/TreeNodeRenderer.js.map +1 -1
  79. package/lib/cjs/components/trees/common/components/TreeRenderer.d.ts +11 -1
  80. package/lib/cjs/components/trees/common/components/TreeRenderer.js +4 -1
  81. package/lib/cjs/components/trees/common/components/TreeRenderer.js.map +1 -1
  82. package/lib/cjs/components/trees/common/components/VisibilityTree.d.ts +27 -10
  83. package/lib/cjs/components/trees/common/components/VisibilityTree.js +8 -23
  84. package/lib/cjs/components/trees/common/components/VisibilityTree.js.map +1 -1
  85. package/lib/cjs/components/trees/common/components/VisibilityTreeRenderer.d.ts +12 -0
  86. package/lib/cjs/components/trees/common/components/VisibilityTreeRenderer.js +26 -0
  87. package/lib/cjs/components/trees/common/components/VisibilityTreeRenderer.js.map +1 -0
  88. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.d.ts +8 -7
  89. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.js +7 -10
  90. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -1
  91. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.d.ts +5 -5
  92. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js +3 -4
  93. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -1
  94. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.d.ts +8 -7
  95. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.js +9 -12
  96. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -1
  97. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +5 -5
  98. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.js +3 -4
  99. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -1
  100. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +1 -1
  101. package/lib/cjs/components/trees/index.d.ts +11 -0
  102. package/lib/cjs/components/trees/index.js +19 -1
  103. package/lib/cjs/components/trees/index.js.map +1 -1
  104. package/lib/cjs/components/trees/models-tree/ModelsTree.d.ts +10 -9
  105. package/lib/cjs/components/trees/models-tree/ModelsTree.js +6 -206
  106. package/lib/cjs/components/trees/models-tree/ModelsTree.js.map +1 -1
  107. package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.d.ts +19 -8
  108. package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.js +31 -8
  109. package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.js.map +1 -1
  110. package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.d.ts +11 -6
  111. package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js +33 -34
  112. package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
  113. package/lib/cjs/components/trees/models-tree/ModelsTreeDefinition.d.ts +9 -5
  114. package/lib/cjs/components/trees/models-tree/ModelsTreeDefinition.js.map +1 -1
  115. package/lib/cjs/components/trees/models-tree/UseModelsTree.d.ts +29 -0
  116. package/lib/cjs/components/trees/models-tree/UseModelsTree.js +233 -0
  117. package/lib/cjs/components/trees/models-tree/UseModelsTree.js.map +1 -0
  118. package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.d.ts +11 -3
  119. package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js +1 -1
  120. package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +1 -1
  121. package/lib/cjs/tree-widget-react.d.ts +2 -1
  122. package/lib/cjs/tree-widget-react.js +3 -1
  123. package/lib/cjs/tree-widget-react.js.map +1 -1
  124. package/lib/esm/components/SelectableTree.d.ts +12 -6
  125. package/lib/esm/components/SelectableTree.js.map +1 -1
  126. package/lib/esm/components/TreeSelector.d.ts +2 -2
  127. package/lib/esm/components/TreeSelector.js.map +1 -1
  128. package/lib/esm/components/TreeWidgetUiItemsProvider.d.ts +3 -2
  129. package/lib/esm/components/TreeWidgetUiItemsProvider.js.map +1 -1
  130. package/lib/esm/components/tree-header/TreeHeader.d.ts +11 -9
  131. package/lib/esm/components/tree-header/TreeHeader.js +4 -6
  132. package/lib/esm/components/tree-header/TreeHeader.js.map +1 -1
  133. package/lib/esm/components/tree-header/TreeWithHeader.d.ts +13 -0
  134. package/lib/esm/components/tree-header/TreeWithHeader.js +13 -0
  135. package/lib/esm/components/tree-header/TreeWithHeader.js.map +1 -0
  136. package/lib/esm/components/trees/categories-tree/CategoriesTree.d.ts +7 -10
  137. package/lib/esm/components/trees/categories-tree/CategoriesTree.js +9 -66
  138. package/lib/esm/components/trees/categories-tree/CategoriesTree.js.map +1 -1
  139. package/lib/esm/components/trees/categories-tree/CategoriesTreeButtons.d.ts +12 -5
  140. package/lib/esm/components/trees/categories-tree/CategoriesTreeButtons.js +25 -7
  141. package/lib/esm/components/trees/categories-tree/CategoriesTreeButtons.js.map +1 -1
  142. package/lib/esm/components/trees/categories-tree/CategoriesTreeComponent.d.ts +4 -5
  143. package/lib/esm/components/trees/categories-tree/CategoriesTreeComponent.js +18 -18
  144. package/lib/esm/components/trees/categories-tree/CategoriesTreeComponent.js.map +1 -1
  145. package/lib/esm/components/trees/categories-tree/CategoriesVisibilityHandler.d.ts +1 -9
  146. package/lib/esm/components/trees/categories-tree/CategoriesVisibilityHandler.js +2 -6
  147. package/lib/esm/components/trees/categories-tree/CategoriesVisibilityHandler.js.map +1 -1
  148. package/lib/esm/components/trees/categories-tree/UseCategoriesTree.d.ts +25 -0
  149. package/lib/esm/components/trees/categories-tree/UseCategoriesTree.js +85 -0
  150. package/lib/esm/components/trees/categories-tree/UseCategoriesTree.js.map +1 -0
  151. package/lib/esm/components/trees/common/CategoriesVisibilityUtils.d.ts +7 -11
  152. package/lib/esm/components/trees/common/CategoriesVisibilityUtils.js +33 -84
  153. package/lib/esm/components/trees/common/CategoriesVisibilityUtils.js.map +1 -1
  154. package/lib/esm/components/trees/common/FocusedInstancesContext.d.ts +0 -3
  155. package/lib/esm/components/trees/common/FocusedInstancesContext.js +0 -2
  156. package/lib/esm/components/trees/common/FocusedInstancesContext.js.map +1 -1
  157. package/lib/esm/components/trees/common/FocusedInstancesContextProvider.d.ts +0 -1
  158. package/lib/esm/components/trees/common/FocusedInstancesContextProvider.js +0 -1
  159. package/lib/esm/components/trees/common/FocusedInstancesContextProvider.js.map +1 -1
  160. package/lib/esm/components/trees/common/UseFiltering.d.ts +0 -1
  161. package/lib/esm/components/trees/common/UseFiltering.js +0 -1
  162. package/lib/esm/components/trees/common/UseFiltering.js.map +1 -1
  163. package/lib/esm/components/trees/common/UseHierarchiesLocalization.d.ts +0 -1
  164. package/lib/esm/components/trees/common/UseHierarchiesLocalization.js +0 -1
  165. package/lib/esm/components/trees/common/UseHierarchiesLocalization.js.map +1 -1
  166. package/lib/esm/components/trees/common/UseHierarchyFiltering.d.ts +1 -7
  167. package/lib/esm/components/trees/common/UseHierarchyFiltering.js +4 -3
  168. package/lib/esm/components/trees/common/UseHierarchyFiltering.js.map +1 -1
  169. package/lib/esm/components/trees/common/UseHierarchyVisibility.d.ts +15 -10
  170. package/lib/esm/components/trees/common/UseHierarchyVisibility.js +20 -17
  171. package/lib/esm/components/trees/common/UseHierarchyVisibility.js.map +1 -1
  172. package/lib/esm/components/trees/common/UseIModelChangeListener.d.ts +0 -1
  173. package/lib/esm/components/trees/common/UseIModelChangeListener.js +0 -1
  174. package/lib/esm/components/trees/common/UseIModelChangeListener.js.map +1 -1
  175. package/lib/esm/components/trees/common/UseMultiCheckboxHandler.d.ts +0 -1
  176. package/lib/esm/components/trees/common/UseMultiCheckboxHandler.js +0 -1
  177. package/lib/esm/components/trees/common/UseMultiCheckboxHandler.js.map +1 -1
  178. package/lib/esm/components/trees/common/UseNodeHighlighting.d.ts +9 -5
  179. package/lib/esm/components/trees/common/UseNodeHighlighting.js +14 -23
  180. package/lib/esm/components/trees/common/UseNodeHighlighting.js.map +1 -1
  181. package/lib/esm/components/trees/common/UseTelemetryContext.d.ts +29 -0
  182. package/lib/esm/components/trees/common/UseTelemetryContext.js +43 -0
  183. package/lib/esm/components/trees/common/UseTelemetryContext.js.map +1 -0
  184. package/lib/esm/components/trees/common/Utils.d.ts +3 -0
  185. package/lib/esm/components/trees/common/Utils.js +9 -0
  186. package/lib/esm/components/trees/common/Utils.js.map +1 -1
  187. package/lib/esm/components/trees/common/components/Delayed.d.ts +0 -1
  188. package/lib/esm/components/trees/common/components/Delayed.js +0 -1
  189. package/lib/esm/components/trees/common/components/Delayed.js.map +1 -1
  190. package/lib/esm/components/trees/common/components/ProgressOverlay.d.ts +0 -1
  191. package/lib/esm/components/trees/common/components/ProgressOverlay.js +0 -1
  192. package/lib/esm/components/trees/common/components/ProgressOverlay.js.map +1 -1
  193. package/lib/esm/components/trees/common/components/Tree.d.ts +52 -0
  194. package/lib/esm/components/trees/common/components/{BaseTree.js → Tree.js} +26 -22
  195. package/lib/esm/components/trees/common/components/Tree.js.map +1 -0
  196. package/lib/esm/components/trees/common/components/TreeNodeCheckbox.d.ts +14 -7
  197. package/lib/esm/components/trees/common/components/TreeNodeCheckbox.js.map +1 -1
  198. package/lib/esm/components/trees/common/components/TreeNodeRenderer.d.ts +7 -6
  199. package/lib/esm/components/trees/common/components/TreeNodeRenderer.js +1 -1
  200. package/lib/esm/components/trees/common/components/TreeNodeRenderer.js.map +1 -1
  201. package/lib/esm/components/trees/common/components/TreeRenderer.d.ts +11 -1
  202. package/lib/esm/components/trees/common/components/TreeRenderer.js +4 -1
  203. package/lib/esm/components/trees/common/components/TreeRenderer.js.map +1 -1
  204. package/lib/esm/components/trees/common/components/VisibilityTree.d.ts +27 -10
  205. package/lib/esm/components/trees/common/components/VisibilityTree.js +8 -23
  206. package/lib/esm/components/trees/common/components/VisibilityTree.js.map +1 -1
  207. package/lib/esm/components/trees/common/components/VisibilityTreeRenderer.d.ts +12 -0
  208. package/lib/esm/components/trees/common/components/VisibilityTreeRenderer.js +22 -0
  209. package/lib/esm/components/trees/common/components/VisibilityTreeRenderer.js.map +1 -0
  210. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.d.ts +8 -7
  211. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.js +7 -10
  212. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -1
  213. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.d.ts +5 -5
  214. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js +3 -4
  215. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -1
  216. package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.d.ts +8 -7
  217. package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.js +9 -12
  218. package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -1
  219. package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +5 -5
  220. package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.js +3 -4
  221. package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -1
  222. package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +1 -1
  223. package/lib/esm/components/trees/index.d.ts +11 -0
  224. package/lib/esm/components/trees/index.js +9 -0
  225. package/lib/esm/components/trees/index.js.map +1 -1
  226. package/lib/esm/components/trees/models-tree/ModelsTree.d.ts +10 -9
  227. package/lib/esm/components/trees/models-tree/ModelsTree.js +7 -207
  228. package/lib/esm/components/trees/models-tree/ModelsTree.js.map +1 -1
  229. package/lib/esm/components/trees/models-tree/ModelsTreeButtons.d.ts +19 -8
  230. package/lib/esm/components/trees/models-tree/ModelsTreeButtons.js +30 -8
  231. package/lib/esm/components/trees/models-tree/ModelsTreeButtons.js.map +1 -1
  232. package/lib/esm/components/trees/models-tree/ModelsTreeComponent.d.ts +11 -6
  233. package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js +35 -33
  234. package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
  235. package/lib/esm/components/trees/models-tree/ModelsTreeDefinition.d.ts +9 -5
  236. package/lib/esm/components/trees/models-tree/ModelsTreeDefinition.js.map +1 -1
  237. package/lib/esm/components/trees/models-tree/UseModelsTree.d.ts +29 -0
  238. package/lib/esm/components/trees/models-tree/UseModelsTree.js +229 -0
  239. package/lib/esm/components/trees/models-tree/UseModelsTree.js.map +1 -0
  240. package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.d.ts +11 -3
  241. package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js +2 -2
  242. package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +1 -1
  243. package/lib/esm/tree-widget-react.d.ts +2 -1
  244. package/lib/esm/tree-widget-react.js +1 -0
  245. package/lib/esm/tree-widget-react.js.map +1 -1
  246. package/package.json +12 -16
  247. package/lib/cjs/components/trees/categories-tree/UseCategories.d.ts +0 -8
  248. package/lib/cjs/components/trees/categories-tree/UseCategories.js +0 -22
  249. package/lib/cjs/components/trees/categories-tree/UseCategories.js.map +0 -1
  250. package/lib/cjs/components/trees/common/UseFeatureReporting.d.ts +0 -34
  251. package/lib/cjs/components/trees/common/UseFeatureReporting.js +0 -39
  252. package/lib/cjs/components/trees/common/UseFeatureReporting.js.map +0 -1
  253. package/lib/cjs/components/trees/common/UsePerformanceReporting.d.ts +0 -18
  254. package/lib/cjs/components/trees/common/UsePerformanceReporting.js +0 -25
  255. package/lib/cjs/components/trees/common/UsePerformanceReporting.js.map +0 -1
  256. package/lib/cjs/components/trees/common/components/BaseTree.d.ts +0 -34
  257. package/lib/cjs/components/trees/common/components/BaseTree.js.map +0 -1
  258. package/lib/cjs/components/utils/AutoSizer.d.ts +0 -13
  259. package/lib/cjs/components/utils/AutoSizer.js +0 -21
  260. package/lib/cjs/components/utils/AutoSizer.js.map +0 -1
  261. package/lib/esm/components/trees/categories-tree/UseCategories.d.ts +0 -8
  262. package/lib/esm/components/trees/categories-tree/UseCategories.js +0 -18
  263. package/lib/esm/components/trees/categories-tree/UseCategories.js.map +0 -1
  264. package/lib/esm/components/trees/common/UseFeatureReporting.d.ts +0 -34
  265. package/lib/esm/components/trees/common/UseFeatureReporting.js +0 -34
  266. package/lib/esm/components/trees/common/UseFeatureReporting.js.map +0 -1
  267. package/lib/esm/components/trees/common/UsePerformanceReporting.d.ts +0 -18
  268. package/lib/esm/components/trees/common/UsePerformanceReporting.js +0 -21
  269. package/lib/esm/components/trees/common/UsePerformanceReporting.js.map +0 -1
  270. package/lib/esm/components/trees/common/components/BaseTree.d.ts +0 -34
  271. package/lib/esm/components/trees/common/components/BaseTree.js.map +0 -1
  272. package/lib/esm/components/utils/AutoSizer.d.ts +0 -13
  273. package/lib/esm/components/utils/AutoSizer.js +0 -17
  274. package/lib/esm/components/utils/AutoSizer.js.map +0 -1
  275. /package/lib/cjs/components/{trees/Tree.scss → tree-header/TreeWithHeader.scss} +0 -0
  276. /package/lib/esm/components/{trees/Tree.scss → tree-header/TreeWithHeader.scss} +0 -0
@@ -4,34 +4,19 @@ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  import { useCallback, useMemo } from "react";
7
- import { useReportingAction } from "../UseFeatureReporting";
8
7
  import { useHierarchyVisibility } from "../UseHierarchyVisibility";
9
- import { useMultiCheckboxHandler } from "../UseMultiCheckboxHandler";
10
8
  import { createIModelAccess } from "../Utils";
11
- import { BaseTree } from "./BaseTree";
12
- import { TreeRenderer } from "./TreeRenderer";
13
- /** @internal */
14
- export function VisibilityTree({ visibilityHandlerFactory, onPerformanceMeasured, ...props }) {
9
+ import { Tree } from "./Tree";
10
+ /**
11
+ * Tree component that can control visibility of instances represented by tree nodes.
12
+ * @beta
13
+ */
14
+ export function VisibilityTree({ visibilityHandlerFactory, treeRenderer, ...props }) {
15
15
  const { imodel, getSchemaContext } = props;
16
16
  const imodelAccess = useMemo(() => createIModelAccess({ imodel, getSchemaContext }), [imodel, getSchemaContext]);
17
17
  const { getCheckboxState, onCheckboxClicked, triggerRefresh } = useHierarchyVisibility({
18
- visibilityHandlerFactory: useCallback(() => visibilityHandlerFactory(imodelAccess), [visibilityHandlerFactory, imodelAccess]),
18
+ visibilityHandlerFactory: useCallback(() => visibilityHandlerFactory({ imodelAccess }), [visibilityHandlerFactory, imodelAccess]),
19
19
  });
20
- return (_jsx(BaseTree, { ...props, onPerformanceMeasured: (action, duration) => {
21
- onPerformanceMeasured?.(action, duration);
22
- if (action === "reload") {
23
- triggerRefresh();
24
- }
25
- }, imodelAccess: imodelAccess, treeRenderer: (treeProps) => _jsx(VisibilityTreeRenderer, { ...treeProps, getCheckboxState: getCheckboxState, onCheckboxClicked: onCheckboxClicked }) }));
26
- }
27
- function VisibilityTreeRenderer({ getCheckboxState, onCheckboxClicked: onClick, reportUsage, ...props }) {
28
- const { onCheckboxClicked } = useMultiCheckboxHandler({ rootNodes: props.rootNodes, isNodeSelected: props.isNodeSelected, onClick });
29
- const reportingOnCheckboxClicked = useReportingAction({ featureId: "visibility-change", action: onCheckboxClicked, reportUsage });
30
- const checkboxProps = useMemo(() => ({
31
- variant: "eyeball",
32
- getCheckboxState,
33
- onCheckboxClicked: reportingOnCheckboxClicked,
34
- }), [getCheckboxState, reportingOnCheckboxClicked]);
35
- return _jsx(TreeRenderer, { ...props, checkboxProps: checkboxProps });
20
+ return (_jsx(Tree, { ...props, onReload: triggerRefresh, imodelAccess: imodelAccess, treeRenderer: (treeProps) => treeRenderer({ ...treeProps, getCheckboxState, onCheckboxClicked }) }));
36
21
  }
37
22
  //# sourceMappingURL=VisibilityTree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VisibilityTree.js","sourceRoot":"","sources":["../../../../../../src/components/trees/common/components/VisibilityTree.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAa9C,gBAAgB;AAChB,MAAM,UAAU,cAAc,CAAC,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,GAAG,KAAK,EAAuB;IAC/G,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACjH,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,sBAAsB,CAAC;QACrF,wBAAwB,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,YAAY,CAAC,EAAE,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC;KAC9H,CAAC,CAAC;IAEH,OAAO,CACL,KAAC,QAAQ,OACH,KAAK,EACT,qBAAqB,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YAC1C,qBAAqB,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1C,IAAI,MAAM,KAAK,QAAQ,EAAE;gBACvB,cAAc,EAAE,CAAC;aAClB;QACH,CAAC,EACD,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAC,sBAAsB,OAAK,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,GAAI,GAChJ,CACH,CAAC;AACJ,CAAC;AAID,SAAS,sBAAsB,CAAC,EAC9B,gBAAgB,EAChB,iBAAiB,EAAE,OAAO,EAC1B,WAAW,EACX,GAAG,KAAK,EAC2I;IACnJ,MAAM,EAAE,iBAAiB,EAAE,GAAG,uBAAuB,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IACrI,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC,CAAC;IAElI,MAAM,aAAa,GAAuC,OAAO,CAC/D,GAAG,EAAE,CAAC,CAAC;QACL,OAAO,EAAE,SAAS;QAClB,gBAAgB;QAChB,iBAAiB,EAAE,0BAA0B;KAC9C,CAAC,EACF,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,CAC/C,CAAC;IAEF,OAAO,KAAC,YAAY,OAAK,KAAK,EAAE,aAAa,EAAE,aAAa,GAAI,CAAC;AACnE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { useCallback, useMemo } from \"react\";\nimport { useReportingAction } from \"../UseFeatureReporting\";\nimport { useHierarchyVisibility } from \"../UseHierarchyVisibility\";\nimport { useMultiCheckboxHandler } from \"../UseMultiCheckboxHandler\";\nimport { createIModelAccess } from \"../Utils\";\nimport { BaseTree } from \"./BaseTree\";\nimport { TreeRenderer } from \"./TreeRenderer\";\n\nimport type { ECClassHierarchyInspector } from \"@itwin/presentation-shared\";\nimport type { HierarchyVisibilityHandler } from \"../UseHierarchyVisibility\";\nimport type { ComponentPropsWithoutRef } from \"react\";\n\ntype BaseTreeProps = ComponentPropsWithoutRef<typeof BaseTree>;\ntype UseHierarchyVisibilityProps = Parameters<typeof useHierarchyVisibility>[0];\ntype VisibilityTreeProps = Omit<BaseTreeProps, \"treeRenderer\" | \"imodelAccess\"> &\n Omit<UseHierarchyVisibilityProps, \"visibilityHandlerFactory\"> & {\n visibilityHandlerFactory: (imodelAccess: ECClassHierarchyInspector) => HierarchyVisibilityHandler;\n };\n\n/** @internal */\nexport function VisibilityTree({ visibilityHandlerFactory, onPerformanceMeasured, ...props }: VisibilityTreeProps) {\n const { imodel, getSchemaContext } = props;\n const imodelAccess = useMemo(() => createIModelAccess({ imodel, getSchemaContext }), [imodel, getSchemaContext]);\n const { getCheckboxState, onCheckboxClicked, triggerRefresh } = useHierarchyVisibility({\n visibilityHandlerFactory: useCallback(() => visibilityHandlerFactory(imodelAccess), [visibilityHandlerFactory, imodelAccess]),\n });\n\n return (\n <BaseTree\n {...props}\n onPerformanceMeasured={(action, duration) => {\n onPerformanceMeasured?.(action, duration);\n if (action === \"reload\") {\n triggerRefresh();\n }\n }}\n imodelAccess={imodelAccess}\n treeRenderer={(treeProps) => <VisibilityTreeRenderer {...treeProps} getCheckboxState={getCheckboxState} onCheckboxClicked={onCheckboxClicked} />}\n />\n );\n}\n\ntype TreeRendererProps = ComponentPropsWithoutRef<typeof TreeRenderer>;\n\nfunction VisibilityTreeRenderer({\n getCheckboxState,\n onCheckboxClicked: onClick,\n reportUsage,\n ...props\n}: TreeRendererProps & Pick<ReturnType<typeof useHierarchyVisibility>, \"getCheckboxState\" | \"onCheckboxClicked\"> & Pick<BaseTreeProps, \"reportUsage\">) {\n const { onCheckboxClicked } = useMultiCheckboxHandler({ rootNodes: props.rootNodes, isNodeSelected: props.isNodeSelected, onClick });\n const reportingOnCheckboxClicked = useReportingAction({ featureId: \"visibility-change\", action: onCheckboxClicked, reportUsage });\n\n const checkboxProps: TreeRendererProps[\"checkboxProps\"] = useMemo(\n () => ({\n variant: \"eyeball\",\n getCheckboxState,\n onCheckboxClicked: reportingOnCheckboxClicked,\n }),\n [getCheckboxState, reportingOnCheckboxClicked],\n );\n\n return <TreeRenderer {...props} checkboxProps={checkboxProps} />;\n}\n"]}
1
+ {"version":3,"file":"VisibilityTree.js","sourceRoot":"","sources":["../../../../../../src/components/trees/common/components/VisibilityTree.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AA6B9B;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,wBAAwB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAuB;IACtG,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACjH,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,sBAAsB,CAAC;QACrF,wBAAwB,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC;KAClI,CAAC,CAAC;IAEH,OAAO,CACL,KAAC,IAAI,OACC,KAAK,EACT,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC,GAChG,CACH,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { useCallback, useMemo } from \"react\";\nimport { useHierarchyVisibility } from \"../UseHierarchyVisibility\";\nimport { createIModelAccess } from \"../Utils\";\nimport { Tree } from \"./Tree\";\n\nimport type { ComponentPropsWithoutRef, ReactNode } from \"react\";\nimport type { VisibilityTreeRenderer } from \"./VisibilityTreeRenderer\";\nimport type { TreeRendererProps } from \"./Tree\";\nimport type { ECClassHierarchyInspector } from \"@itwin/presentation-shared\";\nimport type { HierarchyVisibilityHandler } from \"../UseHierarchyVisibility\";\n\n/** @beta */\ntype TreeProps = ComponentPropsWithoutRef<typeof Tree>;\n\n/**\n * Properties that are passed to `treeRenderer` from `VisibilityTree` component.\n * @beta\n */\nexport type VisibilityTreeRendererProps = TreeRendererProps &\n Pick<ComponentPropsWithoutRef<typeof VisibilityTreeRenderer>, \"getCheckboxState\" | \"onCheckboxClicked\">;\n\n/** @beta */\ninterface VisibilityTreeOwnProps {\n /** Callback for creating visibility handler used to control visibility of instances represented by tree nodes. */\n visibilityHandlerFactory: (props: { imodelAccess: ECClassHierarchyInspector }) => HierarchyVisibilityHandler;\n /** Tree renderer that should be used to render tree data. */\n treeRenderer: (treeProps: VisibilityTreeRendererProps) => ReactNode;\n}\n\n/** @beta */\ntype VisibilityTreeProps = VisibilityTreeOwnProps & Omit<TreeProps, \"treeRenderer\" | \"imodelAccess\">;\n\n/**\n * Tree component that can control visibility of instances represented by tree nodes.\n * @beta\n */\nexport function VisibilityTree({ visibilityHandlerFactory, treeRenderer, ...props }: VisibilityTreeProps) {\n const { imodel, getSchemaContext } = props;\n const imodelAccess = useMemo(() => createIModelAccess({ imodel, getSchemaContext }), [imodel, getSchemaContext]);\n const { getCheckboxState, onCheckboxClicked, triggerRefresh } = useHierarchyVisibility({\n visibilityHandlerFactory: useCallback(() => visibilityHandlerFactory({ imodelAccess }), [visibilityHandlerFactory, imodelAccess]),\n });\n\n return (\n <Tree\n {...props}\n onReload={triggerRefresh}\n imodelAccess={imodelAccess}\n treeRenderer={(treeProps) => treeRenderer({ ...treeProps, getCheckboxState, onCheckboxClicked })}\n />\n );\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { TreeRenderer } from "./TreeRenderer";
2
+ import type { ComponentPropsWithoutRef } from "react";
3
+ import type { TreeCheckboxProps } from "./TreeNodeCheckbox";
4
+ /** @beta */
5
+ type TreeRendererProps = ComponentPropsWithoutRef<typeof TreeRenderer>;
6
+ /**
7
+ * Tree renderer that renders tree nodes with eye checkboxes for controlling visibility of instances represented by tree nodes.
8
+ * @beta
9
+ */
10
+ export declare function VisibilityTreeRenderer({ getCheckboxState, onCheckboxClicked: onClick, ...props }: TreeRendererProps & TreeCheckboxProps): JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=VisibilityTreeRenderer.d.ts.map
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ import { useMemo } from "react";
7
+ import { useMultiCheckboxHandler } from "../UseMultiCheckboxHandler";
8
+ import { TreeRenderer } from "./TreeRenderer";
9
+ /**
10
+ * Tree renderer that renders tree nodes with eye checkboxes for controlling visibility of instances represented by tree nodes.
11
+ * @beta
12
+ */
13
+ export function VisibilityTreeRenderer({ getCheckboxState, onCheckboxClicked: onClick, ...props }) {
14
+ const { onCheckboxClicked } = useMultiCheckboxHandler({ rootNodes: props.rootNodes, isNodeSelected: props.isNodeSelected, onClick });
15
+ const checkboxProps = useMemo(() => ({
16
+ variant: "eyeball",
17
+ getCheckboxState,
18
+ onCheckboxClicked,
19
+ }), [getCheckboxState, onCheckboxClicked]);
20
+ return _jsx(TreeRenderer, { ...props, checkboxProps: checkboxProps });
21
+ }
22
+ //# sourceMappingURL=VisibilityTreeRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisibilityTreeRenderer.js","sourceRoot":"","sources":["../../../../../../src/components/trees/common/components/VisibilityTreeRenderer.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQ9C;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,KAAK,EAAyC;IACtI,MAAM,EAAE,iBAAiB,EAAE,GAAG,uBAAuB,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IAErI,MAAM,aAAa,GAAuC,OAAO,CAC/D,GAAG,EAAE,CAAC,CAAC;QACL,OAAO,EAAE,SAAS;QAClB,gBAAgB;QAChB,iBAAiB;KAClB,CAAC,EACF,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CACtC,CAAC;IAEF,OAAO,KAAC,YAAY,OAAK,KAAK,EAAE,aAAa,EAAE,aAAa,GAAI,CAAC;AACnE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { useMemo } from \"react\";\nimport { useMultiCheckboxHandler } from \"../UseMultiCheckboxHandler\";\nimport { TreeRenderer } from \"./TreeRenderer\";\n\nimport type { ComponentPropsWithoutRef } from \"react\";\nimport type { TreeCheckboxProps } from \"./TreeNodeCheckbox\";\n\n/** @beta */\ntype TreeRendererProps = ComponentPropsWithoutRef<typeof TreeRenderer>;\n\n/**\n * Tree renderer that renders tree nodes with eye checkboxes for controlling visibility of instances represented by tree nodes.\n * @beta\n */\nexport function VisibilityTreeRenderer({ getCheckboxState, onCheckboxClicked: onClick, ...props }: TreeRendererProps & TreeCheckboxProps) {\n const { onCheckboxClicked } = useMultiCheckboxHandler({ rootNodes: props.rootNodes, isNodeSelected: props.isNodeSelected, onClick });\n\n const checkboxProps: TreeRendererProps[\"checkboxProps\"] = useMemo(\n () => ({\n variant: \"eyeball\",\n getCheckboxState,\n onCheckboxClicked,\n }),\n [getCheckboxState, onCheckboxClicked],\n );\n\n return <TreeRenderer {...props} checkboxProps={checkboxProps} />;\n}\n"]}
@@ -1,15 +1,16 @@
1
1
  /// <reference types="react" />
2
- import { BaseTree } from "../common/components/BaseTree";
2
+ import { Tree } from "../common/components/Tree";
3
+ /** @beta */
3
4
  interface ExternalSourcesTreeOwnProps {
4
5
  hierarchyLevelConfig?: {
5
6
  sizeLimit?: number;
6
7
  };
7
- onPerformanceMeasured?: (featureId: string, duration: number) => void;
8
- onFeatureUsed?: (feature: string) => void;
9
8
  }
10
- type BaseTreeProps = Parameters<typeof BaseTree>[0];
11
- type ExternalSourcesTreeProps = ExternalSourcesTreeOwnProps & Pick<BaseTreeProps, "imodel" | "getSchemaContext" | "height" | "width" | "density" | "selectionMode">;
12
- /** @internal */
13
- export declare function ExternalSourcesTree({ onPerformanceMeasured, onFeatureUsed, ...props }: ExternalSourcesTreeProps): JSX.Element;
9
+ /** @beta */
10
+ type TreeProps = Parameters<typeof Tree>[0];
11
+ /** @beta */
12
+ type ExternalSourcesTreeProps = ExternalSourcesTreeOwnProps & Pick<TreeProps, "imodel" | "getSchemaContext" | "selectionStorage" | "density" | "selectionMode">;
13
+ /** @beta */
14
+ export declare function ExternalSourcesTree(props: ExternalSourcesTreeProps): JSX.Element;
14
15
  export {};
15
16
  //# sourceMappingURL=ExternalSourcesTree.d.ts.map
@@ -4,20 +4,17 @@ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  import { SvgDetails, SvgDocument, SvgItem } from "@itwin/itwinui-icons-react";
7
- import { BaseTree } from "../common/components/BaseTree";
8
- import { useFeatureReporting } from "../common/UseFeatureReporting";
7
+ import { Tree } from "../common/components/Tree";
8
+ import { TreeRenderer } from "../common/components/TreeRenderer";
9
9
  import { ExternalSourcesTreeComponent } from "./ExternalSourcesTreeComponent";
10
10
  import { ExternalSourcesTreeDefinition } from "./ExternalSourcesTreeDefinition";
11
- /** @internal */
12
- export function ExternalSourcesTree({ onPerformanceMeasured, onFeatureUsed, ...props }) {
13
- const { reportUsage } = useFeatureReporting({ onFeatureUsed, treeIdentifier: ExternalSourcesTreeComponent.id });
14
- return (_jsx(BaseTree, { ...props, treeName: ExternalSourcesTreeComponent.id, getHierarchyDefinition: getDefinitionsProvider, getIcon: getIcon, selectionMode: props.selectionMode ?? "none", onPerformanceMeasured: (action, duration) => {
15
- onPerformanceMeasured?.(`${ExternalSourcesTreeComponent.id}-${action}`, duration);
16
- }, reportUsage: reportUsage }));
11
+ /** @beta */
12
+ export function ExternalSourcesTree(props) {
13
+ return (_jsx(Tree, { ...props, treeName: ExternalSourcesTreeComponent.id, getHierarchyDefinition: getDefinitionsProvider, selectionMode: props.selectionMode ?? "none", treeRenderer: (treeProps) => _jsx(TreeRenderer, { ...treeProps, getIcon: getIcon }) }));
17
14
  }
18
- function getDefinitionsProvider(props) {
15
+ const getDefinitionsProvider = (props) => {
19
16
  return new ExternalSourcesTreeDefinition(props);
20
- }
17
+ };
21
18
  function getIcon(node) {
22
19
  if (node.extendedData?.imageId === undefined) {
23
20
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalSourcesTree.js","sourceRoot":"","sources":["../../../../../src/components/trees/external-sources-tree/ExternalSourcesTree.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAkBhF,gBAAgB;AAChB,MAAM,UAAU,mBAAmB,CAAC,EAAE,qBAAqB,EAAE,aAAa,EAAE,GAAG,KAAK,EAA4B;IAC9G,MAAM,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,4BAA4B,CAAC,EAAE,EAAE,CAAC,CAAC;IAChH,OAAO,CACL,KAAC,QAAQ,OACH,KAAK,EACT,QAAQ,EAAE,4BAA4B,CAAC,EAAE,EACzC,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,MAAM,EAC5C,qBAAqB,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YAC1C,qBAAqB,EAAE,CAAC,GAAG,4BAA4B,CAAC,EAAE,IAAI,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;QACpF,CAAC,EACD,WAAW,EAAE,WAAW,GACxB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAA6D;IAC3F,OAAO,IAAI,6BAA6B,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,OAAO,CAAC,IAA+B;IAC9C,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,KAAK,SAAS,EAAE;QAC5C,OAAO,SAAS,CAAC;KAClB;IAED,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACjC,KAAK,WAAW;YACd,OAAO,KAAC,OAAO,KAAG,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,KAAC,OAAO,KAAG,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,KAAC,WAAW,KAAG,CAAC;QACzB,KAAK,gBAAgB;YACnB,OAAO,KAAC,UAAU,KAAG,CAAC;KACzB;IAED,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { SvgDetails, SvgDocument, SvgItem } from \"@itwin/itwinui-icons-react\";\nimport { BaseTree } from \"../common/components/BaseTree\";\nimport { useFeatureReporting } from \"../common/UseFeatureReporting\";\nimport { ExternalSourcesTreeComponent } from \"./ExternalSourcesTreeComponent\";\nimport { ExternalSourcesTreeDefinition } from \"./ExternalSourcesTreeDefinition\";\n\nimport type { ReactElement } from \"react\";\nimport type { PresentationHierarchyNode } from \"@itwin/presentation-hierarchies-react\";\n\ninterface ExternalSourcesTreeOwnProps {\n hierarchyLevelConfig?: {\n sizeLimit?: number;\n };\n onPerformanceMeasured?: (featureId: string, duration: number) => void;\n onFeatureUsed?: (feature: string) => void;\n}\n\ntype BaseTreeProps = Parameters<typeof BaseTree>[0];\ntype GetHierarchyDefinitionsProviderCallback = BaseTreeProps[\"getHierarchyDefinition\"];\ntype ExternalSourcesTreeProps = ExternalSourcesTreeOwnProps &\n Pick<BaseTreeProps, \"imodel\" | \"getSchemaContext\" | \"height\" | \"width\" | \"density\" | \"selectionMode\">;\n\n/** @internal */\nexport function ExternalSourcesTree({ onPerformanceMeasured, onFeatureUsed, ...props }: ExternalSourcesTreeProps) {\n const { reportUsage } = useFeatureReporting({ onFeatureUsed, treeIdentifier: ExternalSourcesTreeComponent.id });\n return (\n <BaseTree\n {...props}\n treeName={ExternalSourcesTreeComponent.id}\n getHierarchyDefinition={getDefinitionsProvider}\n getIcon={getIcon}\n selectionMode={props.selectionMode ?? \"none\"}\n onPerformanceMeasured={(action, duration) => {\n onPerformanceMeasured?.(`${ExternalSourcesTreeComponent.id}-${action}`, duration);\n }}\n reportUsage={reportUsage}\n />\n );\n}\n\nfunction getDefinitionsProvider(props: Parameters<GetHierarchyDefinitionsProviderCallback>[0]) {\n return new ExternalSourcesTreeDefinition(props);\n}\n\nfunction getIcon(node: PresentationHierarchyNode): ReactElement | undefined {\n if (node.extendedData?.imageId === undefined) {\n return undefined;\n }\n\n switch (node.extendedData.imageId) {\n case \"icon-item\":\n return <SvgItem />;\n case \"icon-ec-class\":\n return <SvgItem />;\n case \"icon-document\":\n return <SvgDocument />;\n case \"icon-ec-schema\":\n return <SvgDetails />;\n }\n\n return undefined;\n}\n"]}
1
+ {"version":3,"file":"ExternalSourcesTree.js","sourceRoot":"","sources":["../../../../../src/components/trees/external-sources-tree/ExternalSourcesTree.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAkBhF,YAAY;AACZ,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,OAAO,CACL,KAAC,IAAI,OACC,KAAK,EACT,QAAQ,EAAE,4BAA4B,CAAC,EAAE,EACzC,sBAAsB,EAAE,sBAAsB,EAC9C,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,MAAM,EAC5C,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAC,YAAY,OAAK,SAAS,EAAE,OAAO,EAAE,OAAO,GAAI,GAC9E,CACH,CAAC;AACJ,CAAC;AAED,MAAM,sBAAsB,GAAwC,CAAC,KAAK,EAAE,EAAE;IAC5E,OAAO,IAAI,6BAA6B,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,SAAS,OAAO,CAAC,IAA+B;IAC9C,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,KAAK,SAAS,EAAE;QAC5C,OAAO,SAAS,CAAC;KAClB;IAED,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACjC,KAAK,WAAW;YACd,OAAO,KAAC,OAAO,KAAG,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,KAAC,OAAO,KAAG,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,KAAC,WAAW,KAAG,CAAC;QACzB,KAAK,gBAAgB;YACnB,OAAO,KAAC,UAAU,KAAG,CAAC;KACzB;IAED,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { SvgDetails, SvgDocument, SvgItem } from \"@itwin/itwinui-icons-react\";\nimport { Tree } from \"../common/components/Tree\";\nimport { TreeRenderer } from \"../common/components/TreeRenderer\";\nimport { ExternalSourcesTreeComponent } from \"./ExternalSourcesTreeComponent\";\nimport { ExternalSourcesTreeDefinition } from \"./ExternalSourcesTreeDefinition\";\n\nimport type { ReactElement } from \"react\";\nimport type { PresentationHierarchyNode } from \"@itwin/presentation-hierarchies-react\";\n\n/** @beta */\ninterface ExternalSourcesTreeOwnProps {\n hierarchyLevelConfig?: {\n sizeLimit?: number;\n };\n}\n\n/** @beta */\ntype TreeProps = Parameters<typeof Tree>[0];\n\n/** @beta */\ntype ExternalSourcesTreeProps = ExternalSourcesTreeOwnProps & Pick<TreeProps, \"imodel\" | \"getSchemaContext\" | \"selectionStorage\" | \"density\" | \"selectionMode\">;\n\n/** @beta */\nexport function ExternalSourcesTree(props: ExternalSourcesTreeProps) {\n return (\n <Tree\n {...props}\n treeName={ExternalSourcesTreeComponent.id}\n getHierarchyDefinition={getDefinitionsProvider}\n selectionMode={props.selectionMode ?? \"none\"}\n treeRenderer={(treeProps) => <TreeRenderer {...treeProps} getIcon={getIcon} />}\n />\n );\n}\n\nconst getDefinitionsProvider: TreeProps[\"getHierarchyDefinition\"] = (props) => {\n return new ExternalSourcesTreeDefinition(props);\n};\n\nfunction getIcon(node: PresentationHierarchyNode): ReactElement | undefined {\n if (node.extendedData?.imageId === undefined) {\n return undefined;\n }\n\n switch (node.extendedData.imageId) {\n case \"icon-item\":\n return <SvgItem />;\n case \"icon-ec-class\":\n return <SvgItem />;\n case \"icon-document\":\n return <SvgDocument />;\n case \"icon-ec-schema\":\n return <SvgDetails />;\n }\n\n return undefined;\n}\n"]}
@@ -1,16 +1,16 @@
1
1
  import { ExternalSourcesTree } from "./ExternalSourcesTree";
2
2
  import type { ComponentPropsWithoutRef } from "react";
3
- import type { SelectionStorage } from "@itwin/presentation-hierarchies-react";
4
- type ExternalSourcesTreeProps = ComponentPropsWithoutRef<typeof ExternalSourcesTree>;
5
- interface ExternalSourcesTreeComponentProps extends Pick<ExternalSourcesTreeProps, "getSchemaContext" | "density" | "hierarchyLevelConfig" | "selectionMode" | "onPerformanceMeasured" | "onFeatureUsed"> {
6
- selectionStorage: SelectionStorage;
3
+ /** @beta */
4
+ interface ExternalSourcesTreeComponentProps extends Pick<ComponentPropsWithoutRef<typeof ExternalSourcesTree>, "getSchemaContext" | "selectionStorage" | "selectionMode" | "density" | "hierarchyLevelConfig" | "selectionMode"> {
5
+ onPerformanceMeasured?: (featureId: string, duration: number) => void;
6
+ onFeatureUsed?: (feature: string) => void;
7
7
  }
8
8
  /**
9
9
  * A component that renders `ExternalSourcesTree`.
10
10
  * @beta
11
11
  */
12
12
  export declare const ExternalSourcesTreeComponent: {
13
- (props: ExternalSourcesTreeComponentProps): JSX.Element | null;
13
+ ({ onFeatureUsed, onPerformanceMeasured, ...props }: ExternalSourcesTreeComponentProps): JSX.Element | null;
14
14
  /**
15
15
  * Id of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.
16
16
  * @beta
@@ -4,20 +4,19 @@ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  import { useActiveIModelConnection } from "@itwin/appui-react";
7
- import { UnifiedSelectionProvider } from "@itwin/presentation-hierarchies-react";
8
7
  import { TreeWidget } from "../../../TreeWidget";
9
- import { AutoSizer } from "../../utils/AutoSizer";
8
+ import { TelemetryContextProvider } from "../common/UseTelemetryContext";
10
9
  import { ExternalSourcesTree } from "./ExternalSourcesTree";
11
10
  /**
12
11
  * A component that renders `ExternalSourcesTree`.
13
12
  * @beta
14
13
  */
15
- export const ExternalSourcesTreeComponent = (props) => {
14
+ export const ExternalSourcesTreeComponent = ({ onFeatureUsed, onPerformanceMeasured, ...props }) => {
16
15
  const imodel = useActiveIModelConnection();
17
16
  if (!imodel) {
18
17
  return null;
19
18
  }
20
- return (_jsx(UnifiedSelectionProvider, { storage: props.selectionStorage, children: _jsx(AutoSizer, { children: ({ width, height }) => _jsx(ExternalSourcesTree, { ...props, imodel: imodel, width: width, height: height }) }) }));
19
+ return (_jsx(TelemetryContextProvider, { componentIdentifier: ExternalSourcesTreeComponent.id, onFeatureUsed: onFeatureUsed, onPerformanceMeasured: onPerformanceMeasured, children: _jsx(ExternalSourcesTree, { ...props, imodel: imodel }) }));
21
20
  };
22
21
  /**
23
22
  * Id of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalSourcesTreeComponent.js","sourceRoot":"","sources":["../../../../../src/components/trees/external-sources-tree/ExternalSourcesTreeComponent.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAa5D;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAwC,EAAE,EAAE;IACvF,MAAM,MAAM,GAAG,yBAAyB,EAAE,CAAC;IAE3C,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,KAAC,wBAAwB,IAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,YACvD,KAAC,SAAS,cAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAC,mBAAmB,OAAK,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,GAAa,GACvG,CAC5B,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,4BAA4B,CAAC,EAAE,GAAG,0BAA0B,CAAC;AAE7D;;;GAGG;AACH,4BAA4B,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { useActiveIModelConnection } from \"@itwin/appui-react\";\nimport { UnifiedSelectionProvider } from \"@itwin/presentation-hierarchies-react\";\nimport { TreeWidget } from \"../../../TreeWidget\";\nimport { AutoSizer } from \"../../utils/AutoSizer\";\nimport { ExternalSourcesTree } from \"./ExternalSourcesTree\";\n\nimport type { ComponentPropsWithoutRef } from \"react\";\nimport type { SelectionStorage } from \"@itwin/presentation-hierarchies-react\";\ntype ExternalSourcesTreeProps = ComponentPropsWithoutRef<typeof ExternalSourcesTree>;\ninterface ExternalSourcesTreeComponentProps\n extends Pick<\n ExternalSourcesTreeProps,\n \"getSchemaContext\" | \"density\" | \"hierarchyLevelConfig\" | \"selectionMode\" | \"onPerformanceMeasured\" | \"onFeatureUsed\"\n > {\n selectionStorage: SelectionStorage;\n}\n\n/**\n * A component that renders `ExternalSourcesTree`.\n * @beta\n */\nexport const ExternalSourcesTreeComponent = (props: ExternalSourcesTreeComponentProps) => {\n const imodel = useActiveIModelConnection();\n\n if (!imodel) {\n return null;\n }\n\n return (\n <UnifiedSelectionProvider storage={props.selectionStorage}>\n <AutoSizer>{({ width, height }) => <ExternalSourcesTree {...props} imodel={imodel} width={width} height={height} />}</AutoSizer>\n </UnifiedSelectionProvider>\n );\n};\n\n/**\n * Id of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.\n * @beta\n */\nExternalSourcesTreeComponent.id = \"external-sources-tree-v2\";\n\n/**\n * Label of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.\n * @beta\n */\nExternalSourcesTreeComponent.getLabel = () => TreeWidget.translate(\"externalSourcesTree.label\");\n"]}
1
+ {"version":3,"file":"ExternalSourcesTreeComponent.js","sourceRoot":"","sources":["../../../../../src/components/trees/external-sources-tree/ExternalSourcesTreeComponent.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAc5D;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,GAAG,KAAK,EAAqC,EAAE,EAAE;IACpI,MAAM,MAAM,GAAG,yBAAyB,EAAE,CAAC;IAE3C,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,KAAC,wBAAwB,IAAC,mBAAmB,EAAE,4BAA4B,CAAC,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,qBAAqB,YACxJ,KAAC,mBAAmB,OAAK,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,GACzB,CAC5B,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,4BAA4B,CAAC,EAAE,GAAG,0BAA0B,CAAC;AAE7D;;;GAGG;AACH,4BAA4B,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { useActiveIModelConnection } from \"@itwin/appui-react\";\nimport { TreeWidget } from \"../../../TreeWidget\";\nimport { TelemetryContextProvider } from \"../common/UseTelemetryContext\";\nimport { ExternalSourcesTree } from \"./ExternalSourcesTree\";\n\nimport type { ComponentPropsWithoutRef } from \"react\";\n\n/** @beta */\ninterface ExternalSourcesTreeComponentProps\n extends Pick<\n ComponentPropsWithoutRef<typeof ExternalSourcesTree>,\n \"getSchemaContext\" | \"selectionStorage\" | \"selectionMode\" | \"density\" | \"hierarchyLevelConfig\" | \"selectionMode\"\n > {\n onPerformanceMeasured?: (featureId: string, duration: number) => void;\n onFeatureUsed?: (feature: string) => void;\n}\n\n/**\n * A component that renders `ExternalSourcesTree`.\n * @beta\n */\nexport const ExternalSourcesTreeComponent = ({ onFeatureUsed, onPerformanceMeasured, ...props }: ExternalSourcesTreeComponentProps) => {\n const imodel = useActiveIModelConnection();\n\n if (!imodel) {\n return null;\n }\n\n return (\n <TelemetryContextProvider componentIdentifier={ExternalSourcesTreeComponent.id} onFeatureUsed={onFeatureUsed} onPerformanceMeasured={onPerformanceMeasured}>\n <ExternalSourcesTree {...props} imodel={imodel} />\n </TelemetryContextProvider>\n );\n};\n\n/**\n * Id of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.\n * @beta\n */\nExternalSourcesTreeComponent.id = \"external-sources-tree-v2\";\n\n/**\n * Label of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.\n * @beta\n */\nExternalSourcesTreeComponent.getLabel = () => TreeWidget.translate(\"externalSourcesTree.label\");\n"]}
@@ -1,15 +1,16 @@
1
1
  /// <reference types="react" />
2
- import { BaseTree } from "../common/components/BaseTree";
2
+ import { Tree } from "../common/components/Tree";
3
+ /** @beta */
3
4
  interface IModelContentTreeOwnProps {
4
5
  hierarchyLevelConfig?: {
5
6
  sizeLimit?: number;
6
7
  };
7
- onPerformanceMeasured?: (featureId: string, duration: number) => void;
8
- onFeatureUsed?: (feature: string) => void;
9
8
  }
10
- type BaseTreeTreeProps = Parameters<typeof BaseTree>[0];
11
- type IModelContentTreeProps = IModelContentTreeOwnProps & Pick<BaseTreeTreeProps, "imodel" | "getSchemaContext" | "height" | "width" | "density" | "selectionMode">;
12
- /** @internal */
13
- export declare function IModelContentTree({ onPerformanceMeasured, onFeatureUsed, ...props }: IModelContentTreeProps): JSX.Element;
9
+ /** @beta */
10
+ type TreeProps = Parameters<typeof Tree>[0];
11
+ /** @beta */
12
+ type IModelContentTreeProps = IModelContentTreeOwnProps & Pick<TreeProps, "imodel" | "getSchemaContext" | "selectionStorage" | "density" | "selectionMode">;
13
+ /** @beta */
14
+ export declare function IModelContentTree(props: IModelContentTreeProps): JSX.Element;
14
15
  export {};
15
16
  //# sourceMappingURL=IModelContentTree.d.ts.map
@@ -4,24 +4,21 @@ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  import { SvgFolder, SvgGroup, SvgHierarchyTree, SvgImodelHollow, SvgItem, SvgLayers, SvgModel } from "@itwin/itwinui-icons-react";
7
- import { BaseTree } from "../common/components/BaseTree";
8
- import { useFeatureReporting } from "../common/UseFeatureReporting";
7
+ import { Tree } from "../common/components/Tree";
8
+ import { TreeRenderer } from "../common/components/TreeRenderer";
9
9
  import { IModelContentTreeComponent } from "./IModelContentTreeComponent";
10
10
  import { IModelContentTreeDefinition } from "./IModelContentTreeDefinition";
11
11
  import { IModelContentTreeIdsCache } from "./internal/IModelContentTreeIdsCache";
12
- /** @internal */
13
- export function IModelContentTree({ onPerformanceMeasured, onFeatureUsed, ...props }) {
14
- const { reportUsage } = useFeatureReporting({ onFeatureUsed, treeIdentifier: IModelContentTreeComponent.id });
15
- return (_jsx(BaseTree, { ...props, treeName: IModelContentTreeComponent.id, getHierarchyDefinition: getDefinitionsProvider, getIcon: getIcon, selectionMode: props.selectionMode ?? "extended", onPerformanceMeasured: (action, duration) => {
16
- onPerformanceMeasured?.(`${IModelContentTreeComponent.id}-${action}`, duration);
17
- }, reportUsage: reportUsage }));
12
+ /** @beta */
13
+ export function IModelContentTree(props) {
14
+ return (_jsx(Tree, { ...props, treeName: IModelContentTreeComponent.id, getHierarchyDefinition: getDefinitionsProvider, selectionMode: props.selectionMode ?? "extended", treeRenderer: (treeProps) => _jsx(TreeRenderer, { ...treeProps, getIcon: getIcon }) }));
18
15
  }
19
- function getDefinitionsProvider(props) {
16
+ const getDefinitionsProvider = ({ imodelAccess }) => {
20
17
  return new IModelContentTreeDefinition({
21
- imodelAccess: props.imodelAccess,
22
- idsCache: new IModelContentTreeIdsCache(props.imodelAccess),
18
+ imodelAccess,
19
+ idsCache: new IModelContentTreeIdsCache(imodelAccess),
23
20
  });
24
- }
21
+ };
25
22
  function getIcon(node) {
26
23
  if (node.extendedData?.imageId === undefined) {
27
24
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"IModelContentTree.js","sourceRoot":"","sources":["../../../../../src/components/trees/imodel-content-tree/IModelContentTree.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAClI,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAkBjF,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAAC,EAAE,qBAAqB,EAAE,aAAa,EAAE,GAAG,KAAK,EAA0B;IAC1G,MAAM,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,0BAA0B,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9G,OAAO,CACL,KAAC,QAAQ,OACH,KAAK,EACT,QAAQ,EAAE,0BAA0B,CAAC,EAAE,EACvC,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,UAAU,EAChD,qBAAqB,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YAC1C,qBAAqB,EAAE,CAAC,GAAG,0BAA0B,CAAC,EAAE,IAAI,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClF,CAAC,EACD,WAAW,EAAE,WAAW,GACxB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAA6D;IAC3F,OAAO,IAAI,2BAA2B,CAAC;QACrC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,QAAQ,EAAE,IAAI,yBAAyB,CAAC,KAAK,CAAC,YAAY,CAAC;KAC5D,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,IAA+B;IAC9C,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,KAAK,SAAS,EAAE;QAC5C,OAAO,SAAS,CAAC;KAClB;IAED,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACjC,KAAK,aAAa;YAChB,OAAO,KAAC,SAAS,KAAG,CAAC;QACvB,KAAK,WAAW;YACd,OAAO,KAAC,OAAO,KAAG,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,KAAC,OAAO,KAAG,CAAC;QACrB,KAAK,sBAAsB;YACzB,OAAO,KAAC,eAAe,KAAG,CAAC;QAC7B,KAAK,aAAa;YAChB,OAAO,KAAC,SAAS,KAAG,CAAC;QACvB,KAAK,YAAY;YACf,OAAO,KAAC,QAAQ,KAAG,CAAC;QACtB,KAAK,qBAAqB;YACxB,OAAO,KAAC,gBAAgB,KAAG,CAAC;QAC9B,KAAK,YAAY;YACf,OAAO,KAAC,QAAQ,KAAG,CAAC;KACvB;IAED,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { SvgFolder, SvgGroup, SvgHierarchyTree, SvgImodelHollow, SvgItem, SvgLayers, SvgModel } from \"@itwin/itwinui-icons-react\";\nimport { BaseTree } from \"../common/components/BaseTree\";\nimport { useFeatureReporting } from \"../common/UseFeatureReporting\";\nimport { IModelContentTreeComponent } from \"./IModelContentTreeComponent\";\nimport { IModelContentTreeDefinition } from \"./IModelContentTreeDefinition\";\nimport { IModelContentTreeIdsCache } from \"./internal/IModelContentTreeIdsCache\";\n\nimport type { ReactElement } from \"react\";\nimport type { PresentationHierarchyNode } from \"@itwin/presentation-hierarchies-react\";\n\ninterface IModelContentTreeOwnProps {\n hierarchyLevelConfig?: {\n sizeLimit?: number;\n };\n onPerformanceMeasured?: (featureId: string, duration: number) => void;\n onFeatureUsed?: (feature: string) => void;\n}\n\ntype BaseTreeTreeProps = Parameters<typeof BaseTree>[0];\ntype GetHierarchyDefinitionsProviderCallback = BaseTreeTreeProps[\"getHierarchyDefinition\"];\ntype IModelContentTreeProps = IModelContentTreeOwnProps &\n Pick<BaseTreeTreeProps, \"imodel\" | \"getSchemaContext\" | \"height\" | \"width\" | \"density\" | \"selectionMode\">;\n\n/** @internal */\nexport function IModelContentTree({ onPerformanceMeasured, onFeatureUsed, ...props }: IModelContentTreeProps) {\n const { reportUsage } = useFeatureReporting({ onFeatureUsed, treeIdentifier: IModelContentTreeComponent.id });\n return (\n <BaseTree\n {...props}\n treeName={IModelContentTreeComponent.id}\n getHierarchyDefinition={getDefinitionsProvider}\n getIcon={getIcon}\n selectionMode={props.selectionMode ?? \"extended\"}\n onPerformanceMeasured={(action, duration) => {\n onPerformanceMeasured?.(`${IModelContentTreeComponent.id}-${action}`, duration);\n }}\n reportUsage={reportUsage}\n />\n );\n}\n\nfunction getDefinitionsProvider(props: Parameters<GetHierarchyDefinitionsProviderCallback>[0]) {\n return new IModelContentTreeDefinition({\n imodelAccess: props.imodelAccess,\n idsCache: new IModelContentTreeIdsCache(props.imodelAccess),\n });\n}\n\nfunction getIcon(node: PresentationHierarchyNode): ReactElement | undefined {\n if (node.extendedData?.imageId === undefined) {\n return undefined;\n }\n\n switch (node.extendedData.imageId) {\n case \"icon-layers\":\n return <SvgLayers />;\n case \"icon-item\":\n return <SvgItem />;\n case \"icon-ec-class\":\n return <SvgItem />;\n case \"icon-imodel-hollow-2\":\n return <SvgImodelHollow />;\n case \"icon-folder\":\n return <SvgFolder />;\n case \"icon-model\":\n return <SvgModel />;\n case \"icon-hierarchy-tree\":\n return <SvgHierarchyTree />;\n case \"icon-group\":\n return <SvgGroup />;\n }\n\n return undefined;\n}\n"]}
1
+ {"version":3,"file":"IModelContentTree.js","sourceRoot":"","sources":["../../../../../src/components/trees/imodel-content-tree/IModelContentTree.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAClI,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAkBjF,YAAY;AACZ,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC7D,OAAO,CACL,KAAC,IAAI,OACC,KAAK,EACT,QAAQ,EAAE,0BAA0B,CAAC,EAAE,EACvC,sBAAsB,EAAE,sBAAsB,EAC9C,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,UAAU,EAChD,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAC,YAAY,OAAK,SAAS,EAAE,OAAO,EAAE,OAAO,GAAI,GAC9E,CACH,CAAC;AACJ,CAAC;AAED,MAAM,sBAAsB,GAAwC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;IACvF,OAAO,IAAI,2BAA2B,CAAC;QACrC,YAAY;QACZ,QAAQ,EAAE,IAAI,yBAAyB,CAAC,YAAY,CAAC;KACtD,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,SAAS,OAAO,CAAC,IAA+B;IAC9C,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,KAAK,SAAS,EAAE;QAC5C,OAAO,SAAS,CAAC;KAClB;IAED,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACjC,KAAK,aAAa;YAChB,OAAO,KAAC,SAAS,KAAG,CAAC;QACvB,KAAK,WAAW;YACd,OAAO,KAAC,OAAO,KAAG,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,KAAC,OAAO,KAAG,CAAC;QACrB,KAAK,sBAAsB;YACzB,OAAO,KAAC,eAAe,KAAG,CAAC;QAC7B,KAAK,aAAa;YAChB,OAAO,KAAC,SAAS,KAAG,CAAC;QACvB,KAAK,YAAY;YACf,OAAO,KAAC,QAAQ,KAAG,CAAC;QACtB,KAAK,qBAAqB;YACxB,OAAO,KAAC,gBAAgB,KAAG,CAAC;QAC9B,KAAK,YAAY;YACf,OAAO,KAAC,QAAQ,KAAG,CAAC;KACvB;IAED,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { SvgFolder, SvgGroup, SvgHierarchyTree, SvgImodelHollow, SvgItem, SvgLayers, SvgModel } from \"@itwin/itwinui-icons-react\";\nimport { Tree } from \"../common/components/Tree\";\nimport { TreeRenderer } from \"../common/components/TreeRenderer\";\nimport { IModelContentTreeComponent } from \"./IModelContentTreeComponent\";\nimport { IModelContentTreeDefinition } from \"./IModelContentTreeDefinition\";\nimport { IModelContentTreeIdsCache } from \"./internal/IModelContentTreeIdsCache\";\n\nimport type { ReactElement } from \"react\";\nimport type { PresentationHierarchyNode } from \"@itwin/presentation-hierarchies-react\";\n\n/** @beta */\ninterface IModelContentTreeOwnProps {\n hierarchyLevelConfig?: {\n sizeLimit?: number;\n };\n}\n\n/** @beta */\ntype TreeProps = Parameters<typeof Tree>[0];\n\n/** @beta */\ntype IModelContentTreeProps = IModelContentTreeOwnProps & Pick<TreeProps, \"imodel\" | \"getSchemaContext\" | \"selectionStorage\" | \"density\" | \"selectionMode\">;\n\n/** @beta */\nexport function IModelContentTree(props: IModelContentTreeProps) {\n return (\n <Tree\n {...props}\n treeName={IModelContentTreeComponent.id}\n getHierarchyDefinition={getDefinitionsProvider}\n selectionMode={props.selectionMode ?? \"extended\"}\n treeRenderer={(treeProps) => <TreeRenderer {...treeProps} getIcon={getIcon} />}\n />\n );\n}\n\nconst getDefinitionsProvider: TreeProps[\"getHierarchyDefinition\"] = ({ imodelAccess }) => {\n return new IModelContentTreeDefinition({\n imodelAccess,\n idsCache: new IModelContentTreeIdsCache(imodelAccess),\n });\n};\n\nfunction getIcon(node: PresentationHierarchyNode): ReactElement | undefined {\n if (node.extendedData?.imageId === undefined) {\n return undefined;\n }\n\n switch (node.extendedData.imageId) {\n case \"icon-layers\":\n return <SvgLayers />;\n case \"icon-item\":\n return <SvgItem />;\n case \"icon-ec-class\":\n return <SvgItem />;\n case \"icon-imodel-hollow-2\":\n return <SvgImodelHollow />;\n case \"icon-folder\":\n return <SvgFolder />;\n case \"icon-model\":\n return <SvgModel />;\n case \"icon-hierarchy-tree\":\n return <SvgHierarchyTree />;\n case \"icon-group\":\n return <SvgGroup />;\n }\n\n return undefined;\n}\n"]}
@@ -1,16 +1,16 @@
1
1
  import { IModelContentTree } from "./IModelContentTree";
2
2
  import type { ComponentPropsWithoutRef } from "react";
3
- import type { SelectionStorage } from "@itwin/presentation-hierarchies-react";
4
- type IModelContentTreeProps = ComponentPropsWithoutRef<typeof IModelContentTree>;
5
- interface IModelContentTreeComponentProps extends Pick<IModelContentTreeProps, "getSchemaContext" | "density" | "hierarchyLevelConfig" | "selectionMode" | "onPerformanceMeasured" | "onFeatureUsed"> {
6
- selectionStorage: SelectionStorage;
3
+ /** @beta */
4
+ interface IModelContentTreeComponentProps extends Pick<ComponentPropsWithoutRef<typeof IModelContentTree>, "getSchemaContext" | "selectionStorage" | "density" | "hierarchyLevelConfig" | "selectionMode"> {
5
+ onPerformanceMeasured?: (featureId: string, duration: number) => void;
6
+ onFeatureUsed?: (feature: string) => void;
7
7
  }
8
8
  /**
9
9
  * A component that renders `IModelContentTree`.
10
10
  * @beta
11
11
  */
12
12
  export declare const IModelContentTreeComponent: {
13
- (props: IModelContentTreeComponentProps): JSX.Element | null;
13
+ ({ onFeatureUsed, onPerformanceMeasured, ...props }: IModelContentTreeComponentProps): JSX.Element | null;
14
14
  /**
15
15
  * Id of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.
16
16
  * @beta
@@ -4,20 +4,19 @@ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  import { useActiveIModelConnection } from "@itwin/appui-react";
7
- import { UnifiedSelectionProvider } from "@itwin/presentation-hierarchies-react";
8
7
  import { TreeWidget } from "../../../TreeWidget";
9
- import { AutoSizer } from "../../utils/AutoSizer";
8
+ import { TelemetryContextProvider } from "../common/UseTelemetryContext";
10
9
  import { IModelContentTree } from "./IModelContentTree";
11
10
  /**
12
11
  * A component that renders `IModelContentTree`.
13
12
  * @beta
14
13
  */
15
- export const IModelContentTreeComponent = (props) => {
14
+ export const IModelContentTreeComponent = ({ onFeatureUsed, onPerformanceMeasured, ...props }) => {
16
15
  const imodel = useActiveIModelConnection();
17
16
  if (!imodel) {
18
17
  return null;
19
18
  }
20
- return (_jsx(UnifiedSelectionProvider, { storage: props.selectionStorage, children: _jsx(AutoSizer, { children: ({ width, height }) => _jsx(IModelContentTree, { ...props, imodel: imodel, width: width, height: height }) }) }));
19
+ return (_jsx(TelemetryContextProvider, { componentIdentifier: IModelContentTreeComponent.id, onFeatureUsed: onFeatureUsed, onPerformanceMeasured: onPerformanceMeasured, children: _jsx(IModelContentTree, { ...props, imodel: imodel }) }));
21
20
  };
22
21
  /**
23
22
  * Id of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.
@@ -1 +1 @@
1
- {"version":3,"file":"IModelContentTreeComponent.js","sourceRoot":"","sources":["../../../../../src/components/trees/imodel-content-tree/IModelContentTreeComponent.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAWxD;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAsC,EAAE,EAAE;IACnF,MAAM,MAAM,GAAG,yBAAyB,EAAE,CAAC;IAE3C,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,KAAC,wBAAwB,IAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,YACvD,KAAC,SAAS,cAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAC,iBAAiB,OAAK,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,GAAa,GACrG,CAC5B,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,0BAA0B,CAAC,EAAE,GAAG,wBAAwB,CAAC;AAEzD;;;GAGG;AACH,0BAA0B,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { useActiveIModelConnection } from \"@itwin/appui-react\";\nimport { UnifiedSelectionProvider } from \"@itwin/presentation-hierarchies-react\";\nimport { TreeWidget } from \"../../../TreeWidget\";\nimport { AutoSizer } from \"../../utils/AutoSizer\";\nimport { IModelContentTree } from \"./IModelContentTree\";\n\nimport type { ComponentPropsWithoutRef } from \"react\";\nimport type { SelectionStorage } from \"@itwin/presentation-hierarchies-react\";\n\ntype IModelContentTreeProps = ComponentPropsWithoutRef<typeof IModelContentTree>;\ninterface IModelContentTreeComponentProps\n extends Pick<IModelContentTreeProps, \"getSchemaContext\" | \"density\" | \"hierarchyLevelConfig\" | \"selectionMode\" | \"onPerformanceMeasured\" | \"onFeatureUsed\"> {\n selectionStorage: SelectionStorage;\n}\n\n/**\n * A component that renders `IModelContentTree`.\n * @beta\n */\nexport const IModelContentTreeComponent = (props: IModelContentTreeComponentProps) => {\n const imodel = useActiveIModelConnection();\n\n if (!imodel) {\n return null;\n }\n\n return (\n <UnifiedSelectionProvider storage={props.selectionStorage}>\n <AutoSizer>{({ width, height }) => <IModelContentTree {...props} imodel={imodel} width={width} height={height} />}</AutoSizer>\n </UnifiedSelectionProvider>\n );\n};\n\n/**\n * Id of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.\n * @beta\n */\nIModelContentTreeComponent.id = \"imodel-content-tree-v2\";\n\n/**\n * Label of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.\n * @beta\n */\nIModelContentTreeComponent.getLabel = () => TreeWidget.translate(\"imodelContentTree.label\");\n"]}
1
+ {"version":3,"file":"IModelContentTreeComponent.js","sourceRoot":"","sources":["../../../../../src/components/trees/imodel-content-tree/IModelContentTreeComponent.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAcxD;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,GAAG,KAAK,EAAmC,EAAE,EAAE;IAChI,MAAM,MAAM,GAAG,yBAAyB,EAAE,CAAC;IAE3C,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,KAAC,wBAAwB,IAAC,mBAAmB,EAAE,0BAA0B,CAAC,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,qBAAqB,YACtJ,KAAC,iBAAiB,OAAK,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,GACvB,CAC5B,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,0BAA0B,CAAC,EAAE,GAAG,wBAAwB,CAAC;AAEzD;;;GAGG;AACH,0BAA0B,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { useActiveIModelConnection } from \"@itwin/appui-react\";\nimport { TreeWidget } from \"../../../TreeWidget\";\nimport { TelemetryContextProvider } from \"../common/UseTelemetryContext\";\nimport { IModelContentTree } from \"./IModelContentTree\";\n\nimport type { ComponentPropsWithoutRef } from \"react\";\n\n/** @beta */\ninterface IModelContentTreeComponentProps\n extends Pick<\n ComponentPropsWithoutRef<typeof IModelContentTree>,\n \"getSchemaContext\" | \"selectionStorage\" | \"density\" | \"hierarchyLevelConfig\" | \"selectionMode\"\n > {\n onPerformanceMeasured?: (featureId: string, duration: number) => void;\n onFeatureUsed?: (feature: string) => void;\n}\n\n/**\n * A component that renders `IModelContentTree`.\n * @beta\n */\nexport const IModelContentTreeComponent = ({ onFeatureUsed, onPerformanceMeasured, ...props }: IModelContentTreeComponentProps) => {\n const imodel = useActiveIModelConnection();\n\n if (!imodel) {\n return null;\n }\n\n return (\n <TelemetryContextProvider componentIdentifier={IModelContentTreeComponent.id} onFeatureUsed={onFeatureUsed} onPerformanceMeasured={onPerformanceMeasured}>\n <IModelContentTree {...props} imodel={imodel} />\n </TelemetryContextProvider>\n );\n};\n\n/**\n * Id of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.\n * @beta\n */\nIModelContentTreeComponent.id = \"imodel-content-tree-v2\";\n\n/**\n * Label of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.\n * @beta\n */\nIModelContentTreeComponent.getLabel = () => TreeWidget.translate(\"imodelContentTree.label\");\n"]}