@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
@@ -1,34 +0,0 @@
1
- /** @internal */
2
- export interface UseFeatureReportingProps {
3
- treeIdentifier: string;
4
- onFeatureUsed?: (featureId: string) => void;
5
- }
6
- /** @internal */
7
- export interface UseFeatureReportingResult {
8
- reportUsage: (props: {
9
- featureId?: UsageTrackedFeatures;
10
- reportInteraction: boolean;
11
- }) => void;
12
- }
13
- /**
14
- * Features that are tracked for usage.
15
- * @internal
16
- */
17
- export type UsageTrackedFeatures = "visibility-change" | "hierarchy-level-filtering" | "filtering" | "hierarchy-level-size-limit-hit" | "zoom-to-node";
18
- /**
19
- * Enables feature reporting for a tree component.
20
- * @internal
21
- */
22
- export declare function useFeatureReporting(props: UseFeatureReportingProps): UseFeatureReportingResult;
23
- interface UseReportingActionProps<T> {
24
- action: T;
25
- featureId?: UsageTrackedFeatures;
26
- reportUsage?: (props: {
27
- featureId?: UsageTrackedFeatures;
28
- reportInteraction: true;
29
- }) => void;
30
- }
31
- /** @internal */
32
- export declare function useReportingAction<T extends (...args: any[]) => void>({ action, featureId, reportUsage }: UseReportingActionProps<T>): (...args: Parameters<T>) => void;
33
- export {};
34
- //# sourceMappingURL=UseFeatureReporting.d.ts.map
@@ -1,39 +0,0 @@
1
- "use strict";
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
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.useReportingAction = exports.useFeatureReporting = void 0;
8
- const react_1 = require("react");
9
- /**
10
- * Enables feature reporting for a tree component.
11
- * @internal
12
- */
13
- function useFeatureReporting(props) {
14
- const { treeIdentifier, onFeatureUsed } = props;
15
- const onFeatureUsedRef = (0, react_1.useRef)(onFeatureUsed);
16
- (0, react_1.useEffect)(() => {
17
- onFeatureUsedRef.current = onFeatureUsed;
18
- }, [onFeatureUsed]);
19
- const reportUsage = (0, react_1.useCallback)(({ featureId, reportInteraction }) => {
20
- if (reportInteraction !== false) {
21
- onFeatureUsedRef.current?.(`use-${treeIdentifier}`);
22
- }
23
- if (featureId) {
24
- onFeatureUsedRef.current?.(`${treeIdentifier}-${featureId}`);
25
- }
26
- }, [treeIdentifier]);
27
- return { reportUsage };
28
- }
29
- exports.useFeatureReporting = useFeatureReporting;
30
- /** @internal */
31
- // istanbul ignore next
32
- function useReportingAction({ action, featureId, reportUsage }) {
33
- return (0, react_1.useCallback)((...args) => {
34
- reportUsage?.({ featureId, reportInteraction: true });
35
- action(...args);
36
- }, [action, reportUsage, featureId]);
37
- }
38
- exports.useReportingAction = useReportingAction;
39
- //# sourceMappingURL=UseFeatureReporting.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UseFeatureReporting.js","sourceRoot":"","sources":["../../../../../src/components/trees/common/UseFeatureReporting.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,iCAAuD;AAmBvD;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAChD,MAAM,gBAAgB,GAAG,IAAA,cAAM,EAAC,aAAa,CAAC,CAAC;IAE/C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAAC;IAC3C,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC7B,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAoE,EAAE,EAAE;QACrG,IAAI,iBAAiB,KAAK,KAAK,EAAE;YAC/B,gBAAgB,CAAC,OAAO,EAAE,CAAC,OAAO,cAAc,EAAE,CAAC,CAAC;SACrD;QACD,IAAI,SAAS,EAAE;YACb,gBAAgB,CAAC,OAAO,EAAE,CAAC,GAAG,cAAc,IAAI,SAAS,EAAE,CAAC,CAAC;SAC9D;IACH,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,OAAO,EAAE,WAAW,EAAE,CAAC;AACzB,CAAC;AArBD,kDAqBC;AAQD,gBAAgB;AAChB,uBAAuB;AACvB,SAAgB,kBAAkB,CAAqC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAA8B;IACnI,OAAO,IAAA,mBAAW,EAChB,CAAC,GAAG,IAAI,EAAE,EAAE;QACV,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAClB,CAAC,EACD,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CACjC,CAAC;AACJ,CAAC;AARD,gDAQC","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, useEffect, useRef } from \"react\";\n\n/** @internal */\nexport interface UseFeatureReportingProps {\n treeIdentifier: string;\n onFeatureUsed?: (featureId: string) => void;\n}\n\n/** @internal */\nexport interface UseFeatureReportingResult {\n reportUsage: (props: { featureId?: UsageTrackedFeatures; reportInteraction: boolean }) => void;\n}\n\n/**\n * Features that are tracked for usage.\n * @internal\n */\nexport type UsageTrackedFeatures = \"visibility-change\" | \"hierarchy-level-filtering\" | \"filtering\" | \"hierarchy-level-size-limit-hit\" | \"zoom-to-node\";\n\n/**\n * Enables feature reporting for a tree component.\n * @internal\n */\nexport function useFeatureReporting(props: UseFeatureReportingProps): UseFeatureReportingResult {\n const { treeIdentifier, onFeatureUsed } = props;\n const onFeatureUsedRef = useRef(onFeatureUsed);\n\n useEffect(() => {\n onFeatureUsedRef.current = onFeatureUsed;\n }, [onFeatureUsed]);\n\n const reportUsage = useCallback(\n ({ featureId, reportInteraction }: { featureId?: UsageTrackedFeatures; reportInteraction: boolean }) => {\n if (reportInteraction !== false) {\n onFeatureUsedRef.current?.(`use-${treeIdentifier}`);\n }\n if (featureId) {\n onFeatureUsedRef.current?.(`${treeIdentifier}-${featureId}`);\n }\n },\n [treeIdentifier],\n );\n\n return { reportUsage };\n}\n\ninterface UseReportingActionProps<T> {\n action: T;\n featureId?: UsageTrackedFeatures;\n reportUsage?: (props: { featureId?: UsageTrackedFeatures; reportInteraction: true }) => void;\n}\n\n/** @internal */\n// istanbul ignore next\nexport function useReportingAction<T extends (...args: any[]) => void>({ action, featureId, reportUsage }: UseReportingActionProps<T>) {\n return useCallback<(...args: Parameters<T>) => void>(\n (...args) => {\n reportUsage?.({ featureId, reportInteraction: true });\n action(...args);\n },\n [action, reportUsage, featureId],\n );\n}\n"]}
@@ -1,18 +0,0 @@
1
- /** @internal */
2
- export interface UsePerformanceReportingProps {
3
- treeIdentifier: string;
4
- onPerformanceMeasured?: (featureId: string, duration: number) => void;
5
- }
6
- /** @internal */
7
- export interface UsePerformanceReportingResult {
8
- onNodeLoaded?: (props: {
9
- node: string;
10
- duration: number;
11
- }) => void;
12
- }
13
- /**
14
- * Enables performance reporting for a tree component.
15
- * @internal
16
- */
17
- export declare function usePerformanceReporting(props: UsePerformanceReportingProps): UsePerformanceReportingResult;
18
- //# sourceMappingURL=UsePerformanceReporting.d.ts.map
@@ -1,25 +0,0 @@
1
- "use strict";
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
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.usePerformanceReporting = void 0;
8
- /**
9
- * Enables performance reporting for a tree component.
10
- * @internal
11
- */
12
- function usePerformanceReporting(props) {
13
- const { treeIdentifier, onPerformanceMeasured } = props;
14
- if (!onPerformanceMeasured) {
15
- return { onNodeLoaded: undefined };
16
- }
17
- return {
18
- onNodeLoaded: ({ node, duration }) => {
19
- const feature = `${treeIdentifier}-${node === "root" ? "initial-load" : "hierarchy-level-load"}`;
20
- onPerformanceMeasured(feature, duration);
21
- },
22
- };
23
- }
24
- exports.usePerformanceReporting = usePerformanceReporting;
25
- //# sourceMappingURL=UsePerformanceReporting.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UsePerformanceReporting.js","sourceRoot":"","sources":["../../../../../src/components/trees/common/UsePerformanceReporting.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAahG;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,KAAmC;IACzE,MAAM,EAAE,cAAc,EAAE,qBAAqB,EAAE,GAAG,KAAK,CAAC;IAExD,IAAI,CAAC,qBAAqB,EAAE;QAC1B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;KACpC;IAED,OAAO;QACL,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAsC,EAAE,EAAE;YACvE,MAAM,OAAO,GAAG,GAAG,cAAc,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YACjG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;KACF,CAAC;AACJ,CAAC;AAbD,0DAaC","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\n/** @internal */\nexport interface UsePerformanceReportingProps {\n treeIdentifier: string;\n onPerformanceMeasured?: (featureId: string, duration: number) => void;\n}\n\n/** @internal */\nexport interface UsePerformanceReportingResult {\n onNodeLoaded?: (props: { node: string; duration: number }) => void;\n}\n\n/**\n * Enables performance reporting for a tree component.\n * @internal\n */\nexport function usePerformanceReporting(props: UsePerformanceReportingProps): UsePerformanceReportingResult {\n const { treeIdentifier, onPerformanceMeasured } = props;\n\n if (!onPerformanceMeasured) {\n return { onNodeLoaded: undefined };\n }\n\n return {\n onNodeLoaded: ({ node, duration }: { node: string; duration: number }) => {\n const feature = `${treeIdentifier}-${node === \"root\" ? \"initial-load\" : \"hierarchy-level-load\"}`;\n onPerformanceMeasured(feature, duration);\n },\n };\n}\n"]}
@@ -1,34 +0,0 @@
1
- import { useSelectionHandler } from "@itwin/presentation-hierarchies-react";
2
- import { useNodeHighlighting } from "../UseNodeHighlighting";
3
- import { TreeRenderer } from "./TreeRenderer";
4
- import type { IModelConnection } from "@itwin/core-frontend";
5
- import type { SchemaContext } from "@itwin/ecschema-metadata";
6
- import type { useTree } from "@itwin/presentation-hierarchies-react";
7
- import type { ComponentPropsWithoutRef, ReactNode } from "react";
8
- import type { UsageTrackedFeatures } from "../UseFeatureReporting";
9
- type TreeRendererProps = Pick<ComponentPropsWithoutRef<typeof TreeRenderer>, "rootNodes" | "expandNode" | "onNodeClick" | "onNodeKeyDown" | "onFilterClick" | "isNodeSelected" | "getHierarchyLevelDetails" | "size" | "getIcon" | "getLabel" | "getSublabel" | "onNodeDoubleClick">;
10
- interface BaseTreeOwnProps {
11
- imodel: IModelConnection;
12
- getSchemaContext: (imodel: IModelConnection) => SchemaContext;
13
- height: number;
14
- width: number;
15
- treeName: string;
16
- imodelAccess?: IModelAccess;
17
- treeRenderer?: (treeProps: TreeRendererProps) => ReactNode;
18
- hierarchyLevelSizeLimit?: number;
19
- density?: "default" | "enlarged";
20
- noDataMessage?: ReactNode;
21
- reportUsage?: (props: {
22
- featureId?: UsageTrackedFeatures;
23
- reportInteraction: boolean;
24
- }) => void;
25
- }
26
- type UseTreeProps = Parameters<typeof useTree>[0];
27
- type UseSelectionHandlerProps = Parameters<typeof useSelectionHandler>[0];
28
- type UseNodeHighlightingProps = Parameters<typeof useNodeHighlighting>[0];
29
- type IModelAccess = UseTreeProps["imodelAccess"];
30
- type BaseTreeProps = BaseTreeOwnProps & Pick<UseTreeProps, "getFilteredPaths" | "getHierarchyDefinition" | "onPerformanceMeasured"> & Pick<Partial<UseSelectionHandlerProps>, "selectionMode"> & Pick<UseNodeHighlightingProps, "searchText"> & Pick<TreeRendererProps, "getIcon" | "getSublabel" | "onNodeDoubleClick">;
31
- /** @internal */
32
- export declare function BaseTree({ getSchemaContext, hierarchyLevelSizeLimit, imodelAccess: providedIModelAccess, ...props }: BaseTreeProps): JSX.Element;
33
- export {};
34
- //# sourceMappingURL=BaseTree.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseTree.js","sourceRoot":"","sources":["../../../../../../src/components/trees/common/components/BaseTree.tsx"],"names":[],"mappings":"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","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 { Flex, ProgressRadial, Text } from \"@itwin/itwinui-react\";\nimport { SchemaMetadataContextProvider } from \"@itwin/presentation-components\";\nimport { useSelectionHandler, useUnifiedSelectionTree } from \"@itwin/presentation-hierarchies-react\";\nimport { TreeWidget } from \"../../../../TreeWidget\";\nimport { useReportingAction } from \"../UseFeatureReporting\";\nimport { useHierarchiesLocalization } from \"../UseHierarchiesLocalization\";\nimport { useHierarchyLevelFiltering } from \"../UseHierarchyFiltering\";\nimport { useIModelChangeListener } from \"../UseIModelChangeListener\";\nimport { useNodeHighlighting } from \"../UseNodeHighlighting\";\nimport { createIModelAccess } from \"../Utils\";\nimport { Delayed } from \"./Delayed\";\nimport { ProgressOverlay } from \"./ProgressOverlay\";\nimport { TreeRenderer } from \"./TreeRenderer\";\n\nimport type { MarkRequired } from \"@itwin/core-bentley\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport type { SchemaContext } from \"@itwin/ecschema-metadata\";\nimport type { useTree } from \"@itwin/presentation-hierarchies-react\";\nimport type { ComponentPropsWithoutRef, ReactNode } from \"react\";\nimport type { UsageTrackedFeatures } from \"../UseFeatureReporting\";\n\ntype TreeRendererProps = Pick<\n ComponentPropsWithoutRef<typeof TreeRenderer>,\n | \"rootNodes\"\n | \"expandNode\"\n | \"onNodeClick\"\n | \"onNodeKeyDown\"\n | \"onFilterClick\"\n | \"isNodeSelected\"\n | \"getHierarchyLevelDetails\"\n | \"size\"\n | \"getIcon\"\n | \"getLabel\"\n | \"getSublabel\"\n | \"onNodeDoubleClick\"\n>;\n\ninterface BaseTreeOwnProps {\n imodel: IModelConnection;\n getSchemaContext: (imodel: IModelConnection) => SchemaContext;\n height: number;\n width: number;\n treeName: string;\n imodelAccess?: IModelAccess;\n treeRenderer?: (treeProps: TreeRendererProps) => ReactNode;\n hierarchyLevelSizeLimit?: number;\n density?: \"default\" | \"enlarged\";\n noDataMessage?: ReactNode;\n reportUsage?: (props: { featureId?: UsageTrackedFeatures; reportInteraction: boolean }) => void;\n}\n\ntype UseTreeProps = Parameters<typeof useTree>[0];\ntype UseSelectionHandlerProps = Parameters<typeof useSelectionHandler>[0];\ntype UseNodeHighlightingProps = Parameters<typeof useNodeHighlighting>[0];\ntype IModelAccess = UseTreeProps[\"imodelAccess\"];\n\ntype BaseTreeProps = BaseTreeOwnProps &\n Pick<UseTreeProps, \"getFilteredPaths\" | \"getHierarchyDefinition\" | \"onPerformanceMeasured\"> &\n Pick<Partial<UseSelectionHandlerProps>, \"selectionMode\"> &\n Pick<UseNodeHighlightingProps, \"searchText\"> &\n Pick<TreeRendererProps, \"getIcon\" | \"getSublabel\" | \"onNodeDoubleClick\">;\n\n/** @internal */\nexport function BaseTree({ getSchemaContext, hierarchyLevelSizeLimit, imodelAccess: providedIModelAccess, ...props }: BaseTreeProps) {\n const defaultHierarchyLevelSizeLimit = hierarchyLevelSizeLimit ?? 1000;\n\n const imodelAccess = useMemo(() => {\n return providedIModelAccess ?? createIModelAccess({ getSchemaContext, imodel: props.imodel });\n }, [providedIModelAccess, getSchemaContext, props.imodel]);\n\n return (\n <SchemaMetadataContextProvider imodel={props.imodel} schemaContextProvider={getSchemaContext}>\n <BaseTreeRenderer {...props} imodelAccess={imodelAccess} defaultHierarchyLevelSizeLimit={defaultHierarchyLevelSizeLimit} />\n </SchemaMetadataContextProvider>\n );\n}\n\n/** @internal */\nfunction BaseTreeRenderer({\n imodel,\n imodelAccess,\n height,\n width,\n treeName,\n noDataMessage,\n getFilteredPaths,\n defaultHierarchyLevelSizeLimit,\n getHierarchyDefinition,\n selectionMode,\n onPerformanceMeasured,\n reportUsage,\n treeRenderer,\n density,\n getIcon,\n getSublabel,\n onNodeDoubleClick,\n searchText,\n}: MarkRequired<Omit<BaseTreeProps, \"getSchemaContext\">, \"imodelAccess\"> & { defaultHierarchyLevelSizeLimit: number }) {\n const localizedStrings = useHierarchiesLocalization();\n const {\n rootNodes,\n isLoading,\n selectNodes,\n setFormatter: _setFormatter,\n expandNode,\n ...treeProps\n } = useUnifiedSelectionTree({\n imodelAccess,\n getHierarchyDefinition,\n getFilteredPaths,\n imodelKey: imodel.key,\n sourceName: treeName,\n localizedStrings,\n onPerformanceMeasured,\n onHierarchyLimitExceeded: () => reportUsage?.({ featureId: \"hierarchy-level-size-limit-hit\", reportInteraction: false }),\n });\n\n const reloadTree = treeProps.reloadTree;\n useIModelChangeListener({ imodel, action: useCallback(() => reloadTree({ dataSourceChanged: true }), [reloadTree]) });\n const reportingSelectNodes = useReportingAction({ action: selectNodes, reportUsage });\n const { onNodeClick, onNodeKeyDown } = useSelectionHandler({ rootNodes, selectNodes: reportingSelectNodes, selectionMode: selectionMode ?? \"single\" });\n const { filteringDialog, onFilterClick } = useHierarchyLevelFiltering({\n imodel,\n defaultHierarchyLevelSizeLimit,\n reportUsage,\n });\n const reportingExpandNode = useReportingAction({ action: expandNode, reportUsage });\n const reportingOnFilterClicked = useReportingAction({ action: onFilterClick, reportUsage });\n const { getLabel } = useNodeHighlighting({ rootNodes, searchText });\n\n if (rootNodes === undefined) {\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\" flexDirection=\"column\" style={{ width, height }}>\n <Delayed show={true}>\n <ProgressRadial size=\"large\" />\n </Delayed>\n </Flex>\n );\n }\n\n if (rootNodes.length === 0 && !isLoading) {\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\" flexDirection=\"column\" style={{ width, height }}>\n {noDataMessage ? noDataMessage : <Text>{TreeWidget.translate(\"baseTree.dataIsNotAvailable\")}</Text>}\n </Flex>\n );\n }\n\n const treeRendererProps: TreeRendererProps = {\n ...treeProps,\n rootNodes,\n onNodeClick,\n onNodeKeyDown,\n expandNode: reportingExpandNode,\n onFilterClick: reportingOnFilterClicked,\n getIcon,\n getLabel,\n getSublabel,\n onNodeDoubleClick,\n size: density === \"enlarged\" ? \"default\" : \"small\",\n };\n\n return (\n <div style={{ position: \"relative\", height, overflow: \"hidden\" }}>\n <div id=\"tw-tree-renderer-container\" style={{ overflow: \"auto\", height: \"100%\" }}>\n {treeRenderer ? treeRenderer(treeRendererProps) : <TreeRenderer {...treeRendererProps} />}\n {filteringDialog}\n </div>\n <Delayed show={isLoading}>\n <ProgressOverlay />\n </Delayed>\n </div>\n );\n}\n"]}
@@ -1,13 +0,0 @@
1
- /// <reference types="react" />
2
- /** @internal */
3
- export interface Size {
4
- width: number;
5
- height: number;
6
- }
7
- /** @internal */
8
- export interface AutoSizerProps {
9
- children: (size: Size) => React.ReactNode;
10
- }
11
- /** @internal */
12
- export declare function AutoSizer(props: AutoSizerProps): JSX.Element;
13
- //# sourceMappingURL=AutoSizer.d.ts.map
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AutoSizer = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- /*---------------------------------------------------------------------------------------------
6
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
7
- * See LICENSE.md in the project root for license terms and full copyright notice.
8
- *--------------------------------------------------------------------------------------------*/
9
- const react_1 = require("react");
10
- const core_react_1 = require("@itwin/core-react");
11
- // istanbul ignore next
12
- /** @internal */
13
- function AutoSizer(props) {
14
- const [{ height, width }, setSize] = (0, react_1.useState)({ height: 0, width: 0 });
15
- const handleResize = (0, react_1.useCallback)((w, h) => {
16
- setSize({ height: h, width: w });
17
- }, []);
18
- return (0, jsx_runtime_1.jsx)(core_react_1.ResizableContainerObserver, { onResize: handleResize, children: props.children({ height, width }) });
19
- }
20
- exports.AutoSizer = AutoSizer;
21
- //# sourceMappingURL=AutoSizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AutoSizer.js","sourceRoot":"","sources":["../../../../src/components/utils/AutoSizer.tsx"],"names":[],"mappings":";;;;AAAA;;;gGAGgG;AAEhG,iCAA8C;AAC9C,kDAA+D;AAa/D,uBAAuB;AACvB,gBAAgB;AAChB,SAAgB,SAAS,CAAC,KAAqB;IAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QACxD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,uBAAC,uCAA0B,IAAC,QAAQ,EAAE,YAAY,YAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAA8B,CAAC;AAC9H,CAAC;AAPD,8BAOC","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, useState } from \"react\";\nimport { ResizableContainerObserver } from \"@itwin/core-react\";\n\n/** @internal */\nexport interface Size {\n width: number;\n height: number;\n}\n\n/** @internal */\nexport interface AutoSizerProps {\n children: (size: Size) => React.ReactNode;\n}\n\n// istanbul ignore next\n/** @internal */\nexport function AutoSizer(props: AutoSizerProps) {\n const [{ height, width }, setSize] = useState<Size>({ height: 0, width: 0 });\n const handleResize = useCallback((w: number, h: number) => {\n setSize({ height: h, width: w });\n }, []);\n\n return <ResizableContainerObserver onResize={handleResize}>{props.children({ height, width })}</ResizableContainerObserver>;\n}\n"]}
@@ -1,8 +0,0 @@
1
- import type { IModelConnection, ViewManager, Viewport } from "@itwin/core-frontend";
2
- import type { CategoryInfo } from "../common/CategoriesVisibilityUtils";
3
- /**
4
- * Loads categories from viewport or uses provided list of categories.
5
- * @internal
6
- */
7
- export declare function useCategories(viewManager: ViewManager, imodel: IModelConnection, view?: Viewport): CategoryInfo[];
8
- //# sourceMappingURL=UseCategories.d.ts.map
@@ -1,18 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- import { useMemo } from "react";
6
- import { useAsyncValue } from "@itwin/components-react";
7
- import { loadCategoriesFromViewport } from "../common/CategoriesVisibilityUtils";
8
- const EMPTY_CATEGORIES_ARRAY = [];
9
- /**
10
- * Loads categories from viewport or uses provided list of categories.
11
- * @internal
12
- */
13
- export function useCategories(viewManager, imodel, view) {
14
- const currentView = view || viewManager.getFirstOpenView();
15
- const categoriesPromise = useMemo(async () => loadCategoriesFromViewport(imodel, currentView), [imodel, currentView]);
16
- return useAsyncValue(categoriesPromise) ?? EMPTY_CATEGORIES_ARRAY;
17
- }
18
- //# sourceMappingURL=UseCategories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UseCategories.js","sourceRoot":"","sources":["../../../../../src/components/trees/categories-tree/UseCategories.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAKjF,MAAM,sBAAsB,GAAmB,EAAE,CAAC;AAElD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,WAAwB,EAAE,MAAwB,EAAE,IAAe;IAC/F,MAAM,WAAW,GAAG,IAAI,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;IAC3D,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,0BAA0B,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACtH,OAAO,aAAa,CAAC,iBAAiB,CAAC,IAAI,sBAAsB,CAAC;AACpE,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 { useAsyncValue } from \"@itwin/components-react\";\nimport { loadCategoriesFromViewport } from \"../common/CategoriesVisibilityUtils\";\n\nimport type { IModelConnection, ViewManager, Viewport } from \"@itwin/core-frontend\";\nimport type { CategoryInfo } from \"../common/CategoriesVisibilityUtils\";\n\nconst EMPTY_CATEGORIES_ARRAY: CategoryInfo[] = [];\n\n/**\n * Loads categories from viewport or uses provided list of categories.\n * @internal\n */\nexport function useCategories(viewManager: ViewManager, imodel: IModelConnection, view?: Viewport) {\n const currentView = view || viewManager.getFirstOpenView();\n const categoriesPromise = useMemo(async () => loadCategoriesFromViewport(imodel, currentView), [imodel, currentView]);\n return useAsyncValue(categoriesPromise) ?? EMPTY_CATEGORIES_ARRAY;\n}\n"]}
@@ -1,34 +0,0 @@
1
- /** @internal */
2
- export interface UseFeatureReportingProps {
3
- treeIdentifier: string;
4
- onFeatureUsed?: (featureId: string) => void;
5
- }
6
- /** @internal */
7
- export interface UseFeatureReportingResult {
8
- reportUsage: (props: {
9
- featureId?: UsageTrackedFeatures;
10
- reportInteraction: boolean;
11
- }) => void;
12
- }
13
- /**
14
- * Features that are tracked for usage.
15
- * @internal
16
- */
17
- export type UsageTrackedFeatures = "visibility-change" | "hierarchy-level-filtering" | "filtering" | "hierarchy-level-size-limit-hit" | "zoom-to-node";
18
- /**
19
- * Enables feature reporting for a tree component.
20
- * @internal
21
- */
22
- export declare function useFeatureReporting(props: UseFeatureReportingProps): UseFeatureReportingResult;
23
- interface UseReportingActionProps<T> {
24
- action: T;
25
- featureId?: UsageTrackedFeatures;
26
- reportUsage?: (props: {
27
- featureId?: UsageTrackedFeatures;
28
- reportInteraction: true;
29
- }) => void;
30
- }
31
- /** @internal */
32
- export declare function useReportingAction<T extends (...args: any[]) => void>({ action, featureId, reportUsage }: UseReportingActionProps<T>): (...args: Parameters<T>) => void;
33
- export {};
34
- //# sourceMappingURL=UseFeatureReporting.d.ts.map
@@ -1,34 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- import { useCallback, useEffect, useRef } from "react";
6
- /**
7
- * Enables feature reporting for a tree component.
8
- * @internal
9
- */
10
- export function useFeatureReporting(props) {
11
- const { treeIdentifier, onFeatureUsed } = props;
12
- const onFeatureUsedRef = useRef(onFeatureUsed);
13
- useEffect(() => {
14
- onFeatureUsedRef.current = onFeatureUsed;
15
- }, [onFeatureUsed]);
16
- const reportUsage = useCallback(({ featureId, reportInteraction }) => {
17
- if (reportInteraction !== false) {
18
- onFeatureUsedRef.current?.(`use-${treeIdentifier}`);
19
- }
20
- if (featureId) {
21
- onFeatureUsedRef.current?.(`${treeIdentifier}-${featureId}`);
22
- }
23
- }, [treeIdentifier]);
24
- return { reportUsage };
25
- }
26
- /** @internal */
27
- // istanbul ignore next
28
- export function useReportingAction({ action, featureId, reportUsage }) {
29
- return useCallback((...args) => {
30
- reportUsage?.({ featureId, reportInteraction: true });
31
- action(...args);
32
- }, [action, reportUsage, featureId]);
33
- }
34
- //# sourceMappingURL=UseFeatureReporting.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UseFeatureReporting.js","sourceRoot":"","sources":["../../../../../src/components/trees/common/UseFeatureReporting.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAmBvD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAChD,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAE/C,SAAS,CAAC,GAAG,EAAE;QACb,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAAC;IAC3C,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAoE,EAAE,EAAE;QACrG,IAAI,iBAAiB,KAAK,KAAK,EAAE;YAC/B,gBAAgB,CAAC,OAAO,EAAE,CAAC,OAAO,cAAc,EAAE,CAAC,CAAC;SACrD;QACD,IAAI,SAAS,EAAE;YACb,gBAAgB,CAAC,OAAO,EAAE,CAAC,GAAG,cAAc,IAAI,SAAS,EAAE,CAAC,CAAC;SAC9D;IACH,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,OAAO,EAAE,WAAW,EAAE,CAAC;AACzB,CAAC;AAQD,gBAAgB;AAChB,uBAAuB;AACvB,MAAM,UAAU,kBAAkB,CAAqC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAA8B;IACnI,OAAO,WAAW,CAChB,CAAC,GAAG,IAAI,EAAE,EAAE;QACV,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAClB,CAAC,EACD,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CACjC,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, useEffect, useRef } from \"react\";\n\n/** @internal */\nexport interface UseFeatureReportingProps {\n treeIdentifier: string;\n onFeatureUsed?: (featureId: string) => void;\n}\n\n/** @internal */\nexport interface UseFeatureReportingResult {\n reportUsage: (props: { featureId?: UsageTrackedFeatures; reportInteraction: boolean }) => void;\n}\n\n/**\n * Features that are tracked for usage.\n * @internal\n */\nexport type UsageTrackedFeatures = \"visibility-change\" | \"hierarchy-level-filtering\" | \"filtering\" | \"hierarchy-level-size-limit-hit\" | \"zoom-to-node\";\n\n/**\n * Enables feature reporting for a tree component.\n * @internal\n */\nexport function useFeatureReporting(props: UseFeatureReportingProps): UseFeatureReportingResult {\n const { treeIdentifier, onFeatureUsed } = props;\n const onFeatureUsedRef = useRef(onFeatureUsed);\n\n useEffect(() => {\n onFeatureUsedRef.current = onFeatureUsed;\n }, [onFeatureUsed]);\n\n const reportUsage = useCallback(\n ({ featureId, reportInteraction }: { featureId?: UsageTrackedFeatures; reportInteraction: boolean }) => {\n if (reportInteraction !== false) {\n onFeatureUsedRef.current?.(`use-${treeIdentifier}`);\n }\n if (featureId) {\n onFeatureUsedRef.current?.(`${treeIdentifier}-${featureId}`);\n }\n },\n [treeIdentifier],\n );\n\n return { reportUsage };\n}\n\ninterface UseReportingActionProps<T> {\n action: T;\n featureId?: UsageTrackedFeatures;\n reportUsage?: (props: { featureId?: UsageTrackedFeatures; reportInteraction: true }) => void;\n}\n\n/** @internal */\n// istanbul ignore next\nexport function useReportingAction<T extends (...args: any[]) => void>({ action, featureId, reportUsage }: UseReportingActionProps<T>) {\n return useCallback<(...args: Parameters<T>) => void>(\n (...args) => {\n reportUsage?.({ featureId, reportInteraction: true });\n action(...args);\n },\n [action, reportUsage, featureId],\n );\n}\n"]}
@@ -1,18 +0,0 @@
1
- /** @internal */
2
- export interface UsePerformanceReportingProps {
3
- treeIdentifier: string;
4
- onPerformanceMeasured?: (featureId: string, duration: number) => void;
5
- }
6
- /** @internal */
7
- export interface UsePerformanceReportingResult {
8
- onNodeLoaded?: (props: {
9
- node: string;
10
- duration: number;
11
- }) => void;
12
- }
13
- /**
14
- * Enables performance reporting for a tree component.
15
- * @internal
16
- */
17
- export declare function usePerformanceReporting(props: UsePerformanceReportingProps): UsePerformanceReportingResult;
18
- //# sourceMappingURL=UsePerformanceReporting.d.ts.map
@@ -1,21 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /**
6
- * Enables performance reporting for a tree component.
7
- * @internal
8
- */
9
- export function usePerformanceReporting(props) {
10
- const { treeIdentifier, onPerformanceMeasured } = props;
11
- if (!onPerformanceMeasured) {
12
- return { onNodeLoaded: undefined };
13
- }
14
- return {
15
- onNodeLoaded: ({ node, duration }) => {
16
- const feature = `${treeIdentifier}-${node === "root" ? "initial-load" : "hierarchy-level-load"}`;
17
- onPerformanceMeasured(feature, duration);
18
- },
19
- };
20
- }
21
- //# sourceMappingURL=UsePerformanceReporting.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UsePerformanceReporting.js","sourceRoot":"","sources":["../../../../../src/components/trees/common/UsePerformanceReporting.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAahG;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAmC;IACzE,MAAM,EAAE,cAAc,EAAE,qBAAqB,EAAE,GAAG,KAAK,CAAC;IAExD,IAAI,CAAC,qBAAqB,EAAE;QAC1B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;KACpC;IAED,OAAO;QACL,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAsC,EAAE,EAAE;YACvE,MAAM,OAAO,GAAG,GAAG,cAAc,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YACjG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;KACF,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\n/** @internal */\nexport interface UsePerformanceReportingProps {\n treeIdentifier: string;\n onPerformanceMeasured?: (featureId: string, duration: number) => void;\n}\n\n/** @internal */\nexport interface UsePerformanceReportingResult {\n onNodeLoaded?: (props: { node: string; duration: number }) => void;\n}\n\n/**\n * Enables performance reporting for a tree component.\n * @internal\n */\nexport function usePerformanceReporting(props: UsePerformanceReportingProps): UsePerformanceReportingResult {\n const { treeIdentifier, onPerformanceMeasured } = props;\n\n if (!onPerformanceMeasured) {\n return { onNodeLoaded: undefined };\n }\n\n return {\n onNodeLoaded: ({ node, duration }: { node: string; duration: number }) => {\n const feature = `${treeIdentifier}-${node === \"root\" ? \"initial-load\" : \"hierarchy-level-load\"}`;\n onPerformanceMeasured(feature, duration);\n },\n };\n}\n"]}
@@ -1,34 +0,0 @@
1
- import { useSelectionHandler } from "@itwin/presentation-hierarchies-react";
2
- import { useNodeHighlighting } from "../UseNodeHighlighting";
3
- import { TreeRenderer } from "./TreeRenderer";
4
- import type { IModelConnection } from "@itwin/core-frontend";
5
- import type { SchemaContext } from "@itwin/ecschema-metadata";
6
- import type { useTree } from "@itwin/presentation-hierarchies-react";
7
- import type { ComponentPropsWithoutRef, ReactNode } from "react";
8
- import type { UsageTrackedFeatures } from "../UseFeatureReporting";
9
- type TreeRendererProps = Pick<ComponentPropsWithoutRef<typeof TreeRenderer>, "rootNodes" | "expandNode" | "onNodeClick" | "onNodeKeyDown" | "onFilterClick" | "isNodeSelected" | "getHierarchyLevelDetails" | "size" | "getIcon" | "getLabel" | "getSublabel" | "onNodeDoubleClick">;
10
- interface BaseTreeOwnProps {
11
- imodel: IModelConnection;
12
- getSchemaContext: (imodel: IModelConnection) => SchemaContext;
13
- height: number;
14
- width: number;
15
- treeName: string;
16
- imodelAccess?: IModelAccess;
17
- treeRenderer?: (treeProps: TreeRendererProps) => ReactNode;
18
- hierarchyLevelSizeLimit?: number;
19
- density?: "default" | "enlarged";
20
- noDataMessage?: ReactNode;
21
- reportUsage?: (props: {
22
- featureId?: UsageTrackedFeatures;
23
- reportInteraction: boolean;
24
- }) => void;
25
- }
26
- type UseTreeProps = Parameters<typeof useTree>[0];
27
- type UseSelectionHandlerProps = Parameters<typeof useSelectionHandler>[0];
28
- type UseNodeHighlightingProps = Parameters<typeof useNodeHighlighting>[0];
29
- type IModelAccess = UseTreeProps["imodelAccess"];
30
- type BaseTreeProps = BaseTreeOwnProps & Pick<UseTreeProps, "getFilteredPaths" | "getHierarchyDefinition" | "onPerformanceMeasured"> & Pick<Partial<UseSelectionHandlerProps>, "selectionMode"> & Pick<UseNodeHighlightingProps, "searchText"> & Pick<TreeRendererProps, "getIcon" | "getSublabel" | "onNodeDoubleClick">;
31
- /** @internal */
32
- export declare function BaseTree({ getSchemaContext, hierarchyLevelSizeLimit, imodelAccess: providedIModelAccess, ...props }: BaseTreeProps): JSX.Element;
33
- export {};
34
- //# sourceMappingURL=BaseTree.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseTree.js","sourceRoot":"","sources":["../../../../../../src/components/trees/common/components/BaseTree.tsx"],"names":[],"mappings":"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","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 { Flex, ProgressRadial, Text } from \"@itwin/itwinui-react\";\nimport { SchemaMetadataContextProvider } from \"@itwin/presentation-components\";\nimport { useSelectionHandler, useUnifiedSelectionTree } from \"@itwin/presentation-hierarchies-react\";\nimport { TreeWidget } from \"../../../../TreeWidget\";\nimport { useReportingAction } from \"../UseFeatureReporting\";\nimport { useHierarchiesLocalization } from \"../UseHierarchiesLocalization\";\nimport { useHierarchyLevelFiltering } from \"../UseHierarchyFiltering\";\nimport { useIModelChangeListener } from \"../UseIModelChangeListener\";\nimport { useNodeHighlighting } from \"../UseNodeHighlighting\";\nimport { createIModelAccess } from \"../Utils\";\nimport { Delayed } from \"./Delayed\";\nimport { ProgressOverlay } from \"./ProgressOverlay\";\nimport { TreeRenderer } from \"./TreeRenderer\";\n\nimport type { MarkRequired } from \"@itwin/core-bentley\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport type { SchemaContext } from \"@itwin/ecschema-metadata\";\nimport type { useTree } from \"@itwin/presentation-hierarchies-react\";\nimport type { ComponentPropsWithoutRef, ReactNode } from \"react\";\nimport type { UsageTrackedFeatures } from \"../UseFeatureReporting\";\n\ntype TreeRendererProps = Pick<\n ComponentPropsWithoutRef<typeof TreeRenderer>,\n | \"rootNodes\"\n | \"expandNode\"\n | \"onNodeClick\"\n | \"onNodeKeyDown\"\n | \"onFilterClick\"\n | \"isNodeSelected\"\n | \"getHierarchyLevelDetails\"\n | \"size\"\n | \"getIcon\"\n | \"getLabel\"\n | \"getSublabel\"\n | \"onNodeDoubleClick\"\n>;\n\ninterface BaseTreeOwnProps {\n imodel: IModelConnection;\n getSchemaContext: (imodel: IModelConnection) => SchemaContext;\n height: number;\n width: number;\n treeName: string;\n imodelAccess?: IModelAccess;\n treeRenderer?: (treeProps: TreeRendererProps) => ReactNode;\n hierarchyLevelSizeLimit?: number;\n density?: \"default\" | \"enlarged\";\n noDataMessage?: ReactNode;\n reportUsage?: (props: { featureId?: UsageTrackedFeatures; reportInteraction: boolean }) => void;\n}\n\ntype UseTreeProps = Parameters<typeof useTree>[0];\ntype UseSelectionHandlerProps = Parameters<typeof useSelectionHandler>[0];\ntype UseNodeHighlightingProps = Parameters<typeof useNodeHighlighting>[0];\ntype IModelAccess = UseTreeProps[\"imodelAccess\"];\n\ntype BaseTreeProps = BaseTreeOwnProps &\n Pick<UseTreeProps, \"getFilteredPaths\" | \"getHierarchyDefinition\" | \"onPerformanceMeasured\"> &\n Pick<Partial<UseSelectionHandlerProps>, \"selectionMode\"> &\n Pick<UseNodeHighlightingProps, \"searchText\"> &\n Pick<TreeRendererProps, \"getIcon\" | \"getSublabel\" | \"onNodeDoubleClick\">;\n\n/** @internal */\nexport function BaseTree({ getSchemaContext, hierarchyLevelSizeLimit, imodelAccess: providedIModelAccess, ...props }: BaseTreeProps) {\n const defaultHierarchyLevelSizeLimit = hierarchyLevelSizeLimit ?? 1000;\n\n const imodelAccess = useMemo(() => {\n return providedIModelAccess ?? createIModelAccess({ getSchemaContext, imodel: props.imodel });\n }, [providedIModelAccess, getSchemaContext, props.imodel]);\n\n return (\n <SchemaMetadataContextProvider imodel={props.imodel} schemaContextProvider={getSchemaContext}>\n <BaseTreeRenderer {...props} imodelAccess={imodelAccess} defaultHierarchyLevelSizeLimit={defaultHierarchyLevelSizeLimit} />\n </SchemaMetadataContextProvider>\n );\n}\n\n/** @internal */\nfunction BaseTreeRenderer({\n imodel,\n imodelAccess,\n height,\n width,\n treeName,\n noDataMessage,\n getFilteredPaths,\n defaultHierarchyLevelSizeLimit,\n getHierarchyDefinition,\n selectionMode,\n onPerformanceMeasured,\n reportUsage,\n treeRenderer,\n density,\n getIcon,\n getSublabel,\n onNodeDoubleClick,\n searchText,\n}: MarkRequired<Omit<BaseTreeProps, \"getSchemaContext\">, \"imodelAccess\"> & { defaultHierarchyLevelSizeLimit: number }) {\n const localizedStrings = useHierarchiesLocalization();\n const {\n rootNodes,\n isLoading,\n selectNodes,\n setFormatter: _setFormatter,\n expandNode,\n ...treeProps\n } = useUnifiedSelectionTree({\n imodelAccess,\n getHierarchyDefinition,\n getFilteredPaths,\n imodelKey: imodel.key,\n sourceName: treeName,\n localizedStrings,\n onPerformanceMeasured,\n onHierarchyLimitExceeded: () => reportUsage?.({ featureId: \"hierarchy-level-size-limit-hit\", reportInteraction: false }),\n });\n\n const reloadTree = treeProps.reloadTree;\n useIModelChangeListener({ imodel, action: useCallback(() => reloadTree({ dataSourceChanged: true }), [reloadTree]) });\n const reportingSelectNodes = useReportingAction({ action: selectNodes, reportUsage });\n const { onNodeClick, onNodeKeyDown } = useSelectionHandler({ rootNodes, selectNodes: reportingSelectNodes, selectionMode: selectionMode ?? \"single\" });\n const { filteringDialog, onFilterClick } = useHierarchyLevelFiltering({\n imodel,\n defaultHierarchyLevelSizeLimit,\n reportUsage,\n });\n const reportingExpandNode = useReportingAction({ action: expandNode, reportUsage });\n const reportingOnFilterClicked = useReportingAction({ action: onFilterClick, reportUsage });\n const { getLabel } = useNodeHighlighting({ rootNodes, searchText });\n\n if (rootNodes === undefined) {\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\" flexDirection=\"column\" style={{ width, height }}>\n <Delayed show={true}>\n <ProgressRadial size=\"large\" />\n </Delayed>\n </Flex>\n );\n }\n\n if (rootNodes.length === 0 && !isLoading) {\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\" flexDirection=\"column\" style={{ width, height }}>\n {noDataMessage ? noDataMessage : <Text>{TreeWidget.translate(\"baseTree.dataIsNotAvailable\")}</Text>}\n </Flex>\n );\n }\n\n const treeRendererProps: TreeRendererProps = {\n ...treeProps,\n rootNodes,\n onNodeClick,\n onNodeKeyDown,\n expandNode: reportingExpandNode,\n onFilterClick: reportingOnFilterClicked,\n getIcon,\n getLabel,\n getSublabel,\n onNodeDoubleClick,\n size: density === \"enlarged\" ? \"default\" : \"small\",\n };\n\n return (\n <div style={{ position: \"relative\", height, overflow: \"hidden\" }}>\n <div id=\"tw-tree-renderer-container\" style={{ overflow: \"auto\", height: \"100%\" }}>\n {treeRenderer ? treeRenderer(treeRendererProps) : <TreeRenderer {...treeRendererProps} />}\n {filteringDialog}\n </div>\n <Delayed show={isLoading}>\n <ProgressOverlay />\n </Delayed>\n </div>\n );\n}\n"]}
@@ -1,13 +0,0 @@
1
- /// <reference types="react" />
2
- /** @internal */
3
- export interface Size {
4
- width: number;
5
- height: number;
6
- }
7
- /** @internal */
8
- export interface AutoSizerProps {
9
- children: (size: Size) => React.ReactNode;
10
- }
11
- /** @internal */
12
- export declare function AutoSizer(props: AutoSizerProps): JSX.Element;
13
- //# sourceMappingURL=AutoSizer.d.ts.map
@@ -1,17 +0,0 @@
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 { useCallback, useState } from "react";
7
- import { ResizableContainerObserver } from "@itwin/core-react";
8
- // istanbul ignore next
9
- /** @internal */
10
- export function AutoSizer(props) {
11
- const [{ height, width }, setSize] = useState({ height: 0, width: 0 });
12
- const handleResize = useCallback((w, h) => {
13
- setSize({ height: h, width: w });
14
- }, []);
15
- return _jsx(ResizableContainerObserver, { onResize: handleResize, children: props.children({ height, width }) });
16
- }
17
- //# sourceMappingURL=AutoSizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AutoSizer.js","sourceRoot":"","sources":["../../../../src/components/utils/AutoSizer.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAa/D,uBAAuB;AACvB,gBAAgB;AAChB,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QACxD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,KAAC,0BAA0B,IAAC,QAAQ,EAAE,YAAY,YAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAA8B,CAAC;AAC9H,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, useState } from \"react\";\nimport { ResizableContainerObserver } from \"@itwin/core-react\";\n\n/** @internal */\nexport interface Size {\n width: number;\n height: number;\n}\n\n/** @internal */\nexport interface AutoSizerProps {\n children: (size: Size) => React.ReactNode;\n}\n\n// istanbul ignore next\n/** @internal */\nexport function AutoSizer(props: AutoSizerProps) {\n const [{ height, width }, setSize] = useState<Size>({ height: 0, width: 0 });\n const handleResize = useCallback((w: number, h: number) => {\n setSize({ height: h, width: w });\n }, []);\n\n return <ResizableContainerObserver onResize={handleResize}>{props.children({ height, width })}</ResizableContainerObserver>;\n}\n"]}