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

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 (548) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/README.md +232 -147
  3. package/lib/cjs/TreeWidget.d.ts +0 -1
  4. package/lib/cjs/TreeWidget.js +0 -6
  5. package/lib/cjs/TreeWidget.js.map +1 -1
  6. package/lib/cjs/components/SelectableTree.d.ts +3 -9
  7. package/lib/cjs/components/SelectableTree.js +1 -1
  8. package/lib/cjs/components/SelectableTree.js.map +1 -1
  9. package/lib/cjs/components/TreeSelector.d.ts +2 -2
  10. package/lib/cjs/components/TreeSelector.js.map +1 -1
  11. package/lib/cjs/components/TreeWidgetUiItemsProvider.d.ts +14 -25
  12. package/lib/cjs/components/TreeWidgetUiItemsProvider.js +43 -45
  13. package/lib/cjs/components/TreeWidgetUiItemsProvider.js.map +1 -1
  14. package/lib/cjs/components/tree-header/TreeHeader.js +10 -10
  15. package/lib/cjs/components/tree-header/TreeHeader.js.map +1 -1
  16. package/lib/cjs/components/tree-header/TreeHeader.scss +7 -41
  17. package/lib/cjs/components/trees/Tree.scss +23 -0
  18. package/lib/cjs/components/trees/categories-tree/CategoriesTree.d.ts +22 -0
  19. package/lib/cjs/components/trees/categories-tree/CategoriesTree.js +78 -0
  20. package/lib/cjs/components/trees/categories-tree/CategoriesTree.js.map +1 -0
  21. package/lib/{esm/components/trees/category-tree → cjs/components/trees/categories-tree}/CategoriesTreeButtons.d.ts +2 -9
  22. package/lib/cjs/components/trees/{category-tree → categories-tree}/CategoriesTreeButtons.js +10 -11
  23. package/lib/cjs/components/trees/categories-tree/CategoriesTreeButtons.js.map +1 -0
  24. package/lib/{esm/components/trees/category-tree → cjs/components/trees/categories-tree}/CategoriesTreeComponent.d.ts +11 -12
  25. package/lib/cjs/components/trees/categories-tree/CategoriesTreeComponent.js +75 -0
  26. package/lib/cjs/components/trees/categories-tree/CategoriesTreeComponent.js.map +1 -0
  27. package/lib/cjs/components/trees/{stateless/categories-tree → categories-tree}/CategoriesTreeDefinition.js +7 -2
  28. package/lib/cjs/components/trees/categories-tree/CategoriesTreeDefinition.js.map +1 -0
  29. package/lib/cjs/components/trees/{stateless/categories-tree → categories-tree}/CategoriesVisibilityHandler.d.ts +6 -6
  30. package/lib/cjs/components/trees/{stateless/categories-tree → categories-tree}/CategoriesVisibilityHandler.js +10 -10
  31. package/lib/cjs/components/trees/categories-tree/CategoriesVisibilityHandler.js.map +1 -0
  32. package/lib/cjs/components/trees/categories-tree/UseCategories.d.ts +8 -0
  33. package/lib/cjs/components/trees/categories-tree/UseCategories.js +22 -0
  34. package/lib/cjs/components/trees/categories-tree/UseCategories.js.map +1 -0
  35. package/lib/cjs/components/trees/common/CategoriesVisibilityUtils.d.ts +46 -0
  36. package/lib/cjs/components/trees/{CategoriesVisibilityUtils.js → common/CategoriesVisibilityUtils.js} +56 -8
  37. package/lib/cjs/components/trees/common/CategoriesVisibilityUtils.js.map +1 -0
  38. package/lib/{esm/components/trees/stateless → cjs/components/trees}/common/FocusedInstancesContext.d.ts +2 -1
  39. package/lib/cjs/components/trees/common/FocusedInstancesContext.js.map +1 -0
  40. package/lib/{esm/components/trees/stateless → cjs/components/trees}/common/FocusedInstancesContextProvider.d.ts +1 -1
  41. package/lib/cjs/components/trees/{stateless/common → common}/FocusedInstancesContextProvider.js +30 -6
  42. package/lib/cjs/components/trees/common/FocusedInstancesContextProvider.js.map +1 -0
  43. package/lib/cjs/components/trees/common/Rxjs.d.ts +10 -0
  44. package/lib/cjs/components/trees/common/Rxjs.js +46 -0
  45. package/lib/cjs/components/trees/common/Rxjs.js.map +1 -0
  46. package/lib/cjs/components/trees/common/UseFeatureReporting.d.ts +11 -0
  47. package/lib/cjs/components/trees/common/UseFeatureReporting.js +10 -1
  48. package/lib/cjs/components/trees/common/UseFeatureReporting.js.map +1 -1
  49. package/lib/cjs/components/trees/common/UseFiltering.d.ts +12 -0
  50. package/lib/cjs/components/trees/common/UseFiltering.js +29 -0
  51. package/lib/cjs/components/trees/common/UseFiltering.js.map +1 -0
  52. package/lib/{esm/components/trees/stateless → cjs/components/trees}/common/UseHierarchiesLocalization.d.ts +2 -2
  53. package/lib/cjs/components/trees/{stateless/common → common}/UseHierarchiesLocalization.js +12 -11
  54. package/lib/cjs/components/trees/common/UseHierarchiesLocalization.js.map +1 -0
  55. package/lib/cjs/components/trees/common/UseHierarchyFiltering.d.ts +19 -0
  56. package/lib/cjs/components/trees/{stateless/common → common}/UseHierarchyFiltering.js +44 -26
  57. package/lib/cjs/components/trees/common/UseHierarchyFiltering.js.map +1 -0
  58. package/lib/cjs/components/trees/common/UseHierarchyVisibility.d.ts +30 -0
  59. package/lib/cjs/components/trees/{stateless/common → common}/UseHierarchyVisibility.js +45 -29
  60. package/lib/cjs/components/trees/common/UseHierarchyVisibility.js.map +1 -0
  61. package/lib/cjs/components/trees/common/UseIModelChangeListener.d.ts +9 -0
  62. package/lib/cjs/components/trees/common/UseIModelChangeListener.js +20 -0
  63. package/lib/cjs/components/trees/common/UseIModelChangeListener.js.map +1 -0
  64. package/lib/cjs/components/trees/common/UseMultiCheckboxHandler.js +35 -0
  65. package/lib/cjs/components/trees/common/UseMultiCheckboxHandler.js.map +1 -0
  66. package/lib/cjs/components/trees/common/UseNodeHighlighting.d.ts +16 -0
  67. package/lib/cjs/components/trees/common/UseNodeHighlighting.js +140 -0
  68. package/lib/cjs/components/trees/common/UseNodeHighlighting.js.map +1 -0
  69. package/lib/cjs/components/trees/common/Utils.d.ts +16 -6
  70. package/lib/cjs/components/trees/common/Utils.js +38 -34
  71. package/lib/cjs/components/trees/common/Utils.js.map +1 -1
  72. package/lib/cjs/components/trees/common/components/BaseTree.d.ts +34 -0
  73. package/lib/cjs/components/trees/common/components/BaseTree.js +78 -0
  74. package/lib/cjs/components/trees/common/components/BaseTree.js.map +1 -0
  75. package/lib/cjs/components/trees/common/components/Delayed.js.map +1 -0
  76. package/lib/cjs/components/trees/common/components/ProgressOverlay.js.map +1 -0
  77. package/lib/cjs/components/trees/common/components/TreeNodeCheckbox.d.ts +20 -0
  78. package/lib/cjs/components/trees/{stateless/common/components/VisibilityTreeNodeCheckbox.js → common/components/TreeNodeCheckbox.js} +11 -7
  79. package/lib/cjs/components/trees/common/components/TreeNodeCheckbox.js.map +1 -0
  80. package/lib/cjs/components/trees/common/components/TreeNodeRenderer.d.ts +13 -0
  81. package/lib/cjs/components/trees/{stateless/common/components/VisibilityTreeNodeRenderer.js → common/components/TreeNodeRenderer.js} +6 -6
  82. package/lib/cjs/components/trees/common/components/TreeNodeRenderer.js.map +1 -0
  83. package/lib/cjs/components/trees/common/components/TreeRenderer.d.ts +17 -0
  84. package/lib/cjs/components/trees/common/components/TreeRenderer.js +44 -0
  85. package/lib/cjs/components/trees/common/components/TreeRenderer.js.map +1 -0
  86. package/lib/cjs/components/trees/common/components/TreeRenderer.scss +62 -0
  87. package/lib/cjs/components/trees/common/components/VisibilityTree.d.ts +14 -0
  88. package/lib/cjs/components/trees/common/components/VisibilityTree.js +41 -0
  89. package/lib/cjs/components/trees/common/components/VisibilityTree.js.map +1 -0
  90. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.d.ts +11 -35
  91. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.js +29 -83
  92. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -1
  93. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.d.ts +14 -14
  94. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js +12 -12
  95. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -1
  96. package/lib/{esm/components/trees/stateless → cjs/components/trees}/external-sources-tree/ExternalSourcesTreeDefinition.d.ts +6 -2
  97. package/lib/cjs/components/trees/{stateless/external-sources-tree → external-sources-tree}/ExternalSourcesTreeDefinition.js +55 -37
  98. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeDefinition.js.map +1 -0
  99. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.d.ts +11 -35
  100. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.js +41 -55
  101. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -1
  102. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +14 -14
  103. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.js +12 -12
  104. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -1
  105. package/lib/cjs/components/trees/{stateless/imodel-content-tree → imodel-content-tree}/IModelContentTreeDefinition.d.ts +3 -0
  106. package/lib/cjs/components/trees/{stateless/imodel-content-tree → imodel-content-tree}/IModelContentTreeDefinition.js +248 -268
  107. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +1 -0
  108. package/lib/cjs/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.d.ts +26 -0
  109. package/lib/cjs/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js +203 -0
  110. package/lib/cjs/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js.map +1 -0
  111. package/lib/cjs/components/trees/index.d.ts +4 -19
  112. package/lib/cjs/components/trees/index.js +9 -31
  113. package/lib/cjs/components/trees/index.js.map +1 -1
  114. package/lib/cjs/components/trees/models-tree/ModelsTree.d.ts +17 -72
  115. package/lib/cjs/components/trees/models-tree/ModelsTree.js +196 -135
  116. package/lib/cjs/components/trees/models-tree/ModelsTree.js.map +1 -1
  117. package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.d.ts +1 -1
  118. package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.js +40 -25
  119. package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.js.map +1 -1
  120. package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.d.ts +13 -12
  121. package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js +35 -26
  122. package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
  123. package/lib/{esm/components/trees/stateless → cjs/components/trees}/models-tree/ModelsTreeDefinition.d.ts +36 -4
  124. package/lib/cjs/components/trees/models-tree/ModelsTreeDefinition.js +617 -0
  125. package/lib/cjs/components/trees/models-tree/ModelsTreeDefinition.js.map +1 -0
  126. package/lib/cjs/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.d.ts +24 -0
  127. package/lib/cjs/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js +121 -0
  128. package/lib/cjs/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js.map +1 -0
  129. package/lib/cjs/components/trees/models-tree/internal/ModelsTreeIdsCache.d.ts +44 -0
  130. package/lib/cjs/components/trees/models-tree/internal/ModelsTreeIdsCache.js +325 -0
  131. package/lib/cjs/components/trees/models-tree/internal/ModelsTreeIdsCache.js.map +1 -0
  132. package/lib/cjs/components/trees/models-tree/internal/ModelsTreeNode.d.ts +31 -0
  133. package/lib/cjs/components/trees/models-tree/internal/ModelsTreeNode.js +40 -0
  134. package/lib/cjs/components/trees/models-tree/internal/ModelsTreeNode.js.map +1 -0
  135. package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.d.ts +122 -0
  136. package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js +757 -0
  137. package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +1 -0
  138. package/lib/cjs/components/trees/models-tree/internal/Tooltip.d.ts +13 -0
  139. package/lib/cjs/components/trees/models-tree/internal/Tooltip.js +29 -0
  140. package/lib/cjs/components/trees/models-tree/internal/Tooltip.js.map +1 -0
  141. package/lib/cjs/components/trees/models-tree/internal/VisibilityChangeEventListener.d.ts +10 -0
  142. package/lib/cjs/components/trees/models-tree/internal/VisibilityChangeEventListener.js +43 -0
  143. package/lib/cjs/components/trees/models-tree/internal/VisibilityChangeEventListener.js.map +1 -0
  144. package/lib/cjs/tree-widget-react.d.ts +3 -4
  145. package/lib/cjs/tree-widget-react.js +8 -4
  146. package/lib/cjs/tree-widget-react.js.map +1 -1
  147. package/lib/esm/TreeWidget.d.ts +0 -1
  148. package/lib/esm/TreeWidget.js +0 -6
  149. package/lib/esm/TreeWidget.js.map +1 -1
  150. package/lib/esm/components/SelectableTree.d.ts +3 -9
  151. package/lib/esm/components/SelectableTree.js +1 -1
  152. package/lib/esm/components/SelectableTree.js.map +1 -1
  153. package/lib/esm/components/TreeSelector.d.ts +2 -2
  154. package/lib/esm/components/TreeSelector.js.map +1 -1
  155. package/lib/esm/components/TreeWidgetUiItemsProvider.d.ts +14 -25
  156. package/lib/esm/components/TreeWidgetUiItemsProvider.js +42 -44
  157. package/lib/esm/components/TreeWidgetUiItemsProvider.js.map +1 -1
  158. package/lib/esm/components/tree-header/TreeHeader.js +10 -10
  159. package/lib/esm/components/tree-header/TreeHeader.js.map +1 -1
  160. package/lib/esm/components/tree-header/TreeHeader.scss +7 -41
  161. package/lib/esm/components/trees/Tree.scss +23 -0
  162. package/lib/esm/components/trees/categories-tree/CategoriesTree.d.ts +22 -0
  163. package/lib/esm/components/trees/categories-tree/CategoriesTree.js +74 -0
  164. package/lib/esm/components/trees/categories-tree/CategoriesTree.js.map +1 -0
  165. package/lib/{cjs/components/trees/category-tree → esm/components/trees/categories-tree}/CategoriesTreeButtons.d.ts +2 -9
  166. package/lib/esm/components/trees/{category-tree → categories-tree}/CategoriesTreeButtons.js +7 -8
  167. package/lib/esm/components/trees/categories-tree/CategoriesTreeButtons.js.map +1 -0
  168. package/lib/{cjs/components/trees/category-tree → esm/components/trees/categories-tree}/CategoriesTreeComponent.d.ts +11 -12
  169. package/lib/esm/components/trees/categories-tree/CategoriesTreeComponent.js +68 -0
  170. package/lib/esm/components/trees/categories-tree/CategoriesTreeComponent.js.map +1 -0
  171. package/lib/esm/components/trees/{stateless/categories-tree → categories-tree}/CategoriesTreeDefinition.js +7 -2
  172. package/lib/esm/components/trees/categories-tree/CategoriesTreeDefinition.js.map +1 -0
  173. package/lib/esm/components/trees/{stateless/categories-tree → categories-tree}/CategoriesVisibilityHandler.d.ts +6 -6
  174. package/lib/esm/components/trees/{stateless/categories-tree → categories-tree}/CategoriesVisibilityHandler.js +8 -8
  175. package/lib/esm/components/trees/categories-tree/CategoriesVisibilityHandler.js.map +1 -0
  176. package/lib/esm/components/trees/categories-tree/UseCategories.d.ts +8 -0
  177. package/lib/esm/components/trees/categories-tree/UseCategories.js +18 -0
  178. package/lib/esm/components/trees/categories-tree/UseCategories.js.map +1 -0
  179. package/lib/esm/components/trees/common/CategoriesVisibilityUtils.d.ts +46 -0
  180. package/lib/esm/components/trees/{CategoriesVisibilityUtils.js → common/CategoriesVisibilityUtils.js} +51 -6
  181. package/lib/esm/components/trees/common/CategoriesVisibilityUtils.js.map +1 -0
  182. package/lib/{cjs/components/trees/stateless → esm/components/trees}/common/FocusedInstancesContext.d.ts +2 -1
  183. package/lib/esm/components/trees/common/FocusedInstancesContext.js.map +1 -0
  184. package/lib/{cjs/components/trees/stateless → esm/components/trees}/common/FocusedInstancesContextProvider.d.ts +1 -1
  185. package/lib/esm/components/trees/{stateless/common → common}/FocusedInstancesContextProvider.js +30 -6
  186. package/lib/esm/components/trees/common/FocusedInstancesContextProvider.js.map +1 -0
  187. package/lib/esm/components/trees/common/Rxjs.d.ts +10 -0
  188. package/lib/esm/components/trees/common/Rxjs.js +40 -0
  189. package/lib/esm/components/trees/common/Rxjs.js.map +1 -0
  190. package/lib/esm/components/trees/common/UseFeatureReporting.d.ts +11 -0
  191. package/lib/esm/components/trees/common/UseFeatureReporting.js +8 -0
  192. package/lib/esm/components/trees/common/UseFeatureReporting.js.map +1 -1
  193. package/lib/esm/components/trees/common/UseFiltering.d.ts +12 -0
  194. package/lib/esm/components/trees/common/UseFiltering.js +25 -0
  195. package/lib/esm/components/trees/common/UseFiltering.js.map +1 -0
  196. package/lib/{cjs/components/trees/stateless → esm/components/trees}/common/UseHierarchiesLocalization.d.ts +2 -2
  197. package/lib/esm/components/trees/common/UseHierarchiesLocalization.js +30 -0
  198. package/lib/esm/components/trees/common/UseHierarchiesLocalization.js.map +1 -0
  199. package/lib/esm/components/trees/common/UseHierarchyFiltering.d.ts +19 -0
  200. package/lib/esm/components/trees/{stateless/common → common}/UseHierarchyFiltering.js +45 -27
  201. package/lib/esm/components/trees/common/UseHierarchyFiltering.js.map +1 -0
  202. package/lib/esm/components/trees/common/UseHierarchyVisibility.d.ts +30 -0
  203. package/lib/esm/components/trees/{stateless/common → common}/UseHierarchyVisibility.js +45 -29
  204. package/lib/esm/components/trees/common/UseHierarchyVisibility.js.map +1 -0
  205. package/lib/esm/components/trees/common/UseIModelChangeListener.d.ts +9 -0
  206. package/lib/esm/components/trees/common/UseIModelChangeListener.js +16 -0
  207. package/lib/esm/components/trees/common/UseIModelChangeListener.js.map +1 -0
  208. package/lib/esm/components/trees/common/UseMultiCheckboxHandler.js +31 -0
  209. package/lib/esm/components/trees/common/UseMultiCheckboxHandler.js.map +1 -0
  210. package/lib/esm/components/trees/common/UseNodeHighlighting.d.ts +16 -0
  211. package/lib/esm/components/trees/common/UseNodeHighlighting.js +136 -0
  212. package/lib/esm/components/trees/common/UseNodeHighlighting.js.map +1 -0
  213. package/lib/esm/components/trees/common/Utils.d.ts +16 -6
  214. package/lib/esm/components/trees/common/Utils.js +33 -29
  215. package/lib/esm/components/trees/common/Utils.js.map +1 -1
  216. package/lib/esm/components/trees/common/components/BaseTree.d.ts +34 -0
  217. package/lib/esm/components/trees/common/components/BaseTree.js +74 -0
  218. package/lib/esm/components/trees/common/components/BaseTree.js.map +1 -0
  219. package/lib/esm/components/trees/common/components/Delayed.js.map +1 -0
  220. package/lib/esm/components/trees/common/components/ProgressOverlay.js.map +1 -0
  221. package/lib/esm/components/trees/common/components/TreeNodeCheckbox.d.ts +20 -0
  222. package/lib/esm/components/trees/{stateless/common/components/VisibilityTreeNodeCheckbox.js → common/components/TreeNodeCheckbox.js} +6 -5
  223. package/lib/esm/components/trees/common/components/TreeNodeCheckbox.js.map +1 -0
  224. package/lib/esm/components/trees/common/components/TreeNodeRenderer.d.ts +13 -0
  225. package/lib/esm/components/trees/common/components/TreeNodeRenderer.js +13 -0
  226. package/lib/esm/components/trees/common/components/TreeNodeRenderer.js.map +1 -0
  227. package/lib/esm/components/trees/common/components/TreeRenderer.d.ts +17 -0
  228. package/lib/esm/components/trees/common/components/TreeRenderer.js +40 -0
  229. package/lib/esm/components/trees/common/components/TreeRenderer.js.map +1 -0
  230. package/lib/esm/components/trees/common/components/TreeRenderer.scss +62 -0
  231. package/lib/esm/components/trees/common/components/VisibilityTree.d.ts +14 -0
  232. package/lib/esm/components/trees/common/components/VisibilityTree.js +37 -0
  233. package/lib/esm/components/trees/common/components/VisibilityTree.js.map +1 -0
  234. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.d.ts +11 -35
  235. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.js +27 -58
  236. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -1
  237. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.d.ts +14 -14
  238. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js +12 -12
  239. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -1
  240. package/lib/{cjs/components/trees/stateless → esm/components/trees}/external-sources-tree/ExternalSourcesTreeDefinition.d.ts +6 -2
  241. package/lib/esm/components/trees/{stateless/external-sources-tree → external-sources-tree}/ExternalSourcesTreeDefinition.js +55 -37
  242. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeDefinition.js.map +1 -0
  243. package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.d.ts +11 -35
  244. package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.js +39 -53
  245. package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -1
  246. package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +14 -14
  247. package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.js +12 -12
  248. package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -1
  249. package/lib/esm/components/trees/{stateless/imodel-content-tree → imodel-content-tree}/IModelContentTreeDefinition.d.ts +3 -0
  250. package/lib/esm/components/trees/{stateless/imodel-content-tree → imodel-content-tree}/IModelContentTreeDefinition.js +249 -269
  251. package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +1 -0
  252. package/lib/esm/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.d.ts +26 -0
  253. package/lib/esm/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js +199 -0
  254. package/lib/esm/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js.map +1 -0
  255. package/lib/esm/components/trees/index.d.ts +4 -19
  256. package/lib/esm/components/trees/index.js +4 -17
  257. package/lib/esm/components/trees/index.js.map +1 -1
  258. package/lib/esm/components/trees/models-tree/ModelsTree.d.ts +17 -72
  259. package/lib/esm/components/trees/models-tree/ModelsTree.js +196 -132
  260. package/lib/esm/components/trees/models-tree/ModelsTree.js.map +1 -1
  261. package/lib/esm/components/trees/models-tree/ModelsTreeButtons.d.ts +1 -1
  262. package/lib/esm/components/trees/models-tree/ModelsTreeButtons.js +30 -15
  263. package/lib/esm/components/trees/models-tree/ModelsTreeButtons.js.map +1 -1
  264. package/lib/esm/components/trees/models-tree/ModelsTreeComponent.d.ts +13 -12
  265. package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js +36 -27
  266. package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
  267. package/lib/{cjs/components/trees/stateless → esm/components/trees}/models-tree/ModelsTreeDefinition.d.ts +36 -4
  268. package/lib/esm/components/trees/models-tree/ModelsTreeDefinition.js +613 -0
  269. package/lib/esm/components/trees/models-tree/ModelsTreeDefinition.js.map +1 -0
  270. package/lib/esm/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.d.ts +24 -0
  271. package/lib/esm/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js +117 -0
  272. package/lib/esm/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js.map +1 -0
  273. package/lib/esm/components/trees/models-tree/internal/ModelsTreeIdsCache.d.ts +44 -0
  274. package/lib/esm/components/trees/models-tree/internal/ModelsTreeIdsCache.js +321 -0
  275. package/lib/esm/components/trees/models-tree/internal/ModelsTreeIdsCache.js.map +1 -0
  276. package/lib/esm/components/trees/models-tree/internal/ModelsTreeNode.d.ts +31 -0
  277. package/lib/esm/components/trees/models-tree/internal/ModelsTreeNode.js +37 -0
  278. package/lib/esm/components/trees/models-tree/internal/ModelsTreeNode.js.map +1 -0
  279. package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.d.ts +122 -0
  280. package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js +748 -0
  281. package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +1 -0
  282. package/lib/esm/components/trees/models-tree/internal/Tooltip.d.ts +13 -0
  283. package/lib/esm/components/trees/models-tree/internal/Tooltip.js +24 -0
  284. package/lib/esm/components/trees/models-tree/internal/Tooltip.js.map +1 -0
  285. package/lib/esm/components/trees/models-tree/internal/VisibilityChangeEventListener.d.ts +10 -0
  286. package/lib/esm/components/trees/models-tree/internal/VisibilityChangeEventListener.js +39 -0
  287. package/lib/esm/components/trees/models-tree/internal/VisibilityChangeEventListener.js.map +1 -0
  288. package/lib/esm/tree-widget-react.d.ts +3 -4
  289. package/lib/esm/tree-widget-react.js +3 -4
  290. package/lib/esm/tree-widget-react.js.map +1 -1
  291. package/lib/public/locales/en/TreeWidget.json +126 -62
  292. package/package.json +18 -11
  293. package/lib/cjs/components/TreeFilteringState.d.ts +0 -18
  294. package/lib/cjs/components/TreeFilteringState.js +0 -46
  295. package/lib/cjs/components/TreeFilteringState.js.map +0 -1
  296. package/lib/cjs/components/trees/CategoriesVisibilityUtils.d.ts +0 -25
  297. package/lib/cjs/components/trees/CategoriesVisibilityUtils.js.map +0 -1
  298. package/lib/cjs/components/trees/VisibilityTreeBase.scss +0 -82
  299. package/lib/cjs/components/trees/VisibilityTreeEventHandler.d.ts +0 -67
  300. package/lib/cjs/components/trees/VisibilityTreeEventHandler.js +0 -158
  301. package/lib/cjs/components/trees/VisibilityTreeEventHandler.js.map +0 -1
  302. package/lib/cjs/components/trees/VisibilityTreeRenderer.d.ts +0 -100
  303. package/lib/cjs/components/trees/VisibilityTreeRenderer.js +0 -98
  304. package/lib/cjs/components/trees/VisibilityTreeRenderer.js.map +0 -1
  305. package/lib/cjs/components/trees/category-tree/Categories.json +0 -99
  306. package/lib/cjs/components/trees/category-tree/CategoriesTree.d.ts +0 -60
  307. package/lib/cjs/components/trees/category-tree/CategoriesTree.js +0 -117
  308. package/lib/cjs/components/trees/category-tree/CategoriesTree.js.map +0 -1
  309. package/lib/cjs/components/trees/category-tree/CategoriesTreeButtons.js.map +0 -1
  310. package/lib/cjs/components/trees/category-tree/CategoriesTreeComponent.js +0 -104
  311. package/lib/cjs/components/trees/category-tree/CategoriesTreeComponent.js.map +0 -1
  312. package/lib/cjs/components/trees/category-tree/CategoryVisibilityHandler.d.ts +0 -65
  313. package/lib/cjs/components/trees/category-tree/CategoryVisibilityHandler.js +0 -172
  314. package/lib/cjs/components/trees/category-tree/CategoryVisibilityHandler.js.map +0 -1
  315. package/lib/cjs/components/trees/common/ContextMenu.d.ts +0 -39
  316. package/lib/cjs/components/trees/common/ContextMenu.js +0 -44
  317. package/lib/cjs/components/trees/common/ContextMenu.js.map +0 -1
  318. package/lib/cjs/components/trees/common/ReportingTreeEventHandler.d.ts +0 -27
  319. package/lib/cjs/components/trees/common/ReportingTreeEventHandler.js +0 -51
  320. package/lib/cjs/components/trees/common/ReportingTreeEventHandler.js.map +0 -1
  321. package/lib/cjs/components/trees/common/TreeNodeRenderer.d.ts +0 -61
  322. package/lib/cjs/components/trees/common/TreeNodeRenderer.js +0 -50
  323. package/lib/cjs/components/trees/common/TreeNodeRenderer.js.map +0 -1
  324. package/lib/cjs/components/trees/common/TreeRenderer.d.ts +0 -55
  325. package/lib/cjs/components/trees/common/TreeRenderer.js +0 -67
  326. package/lib/cjs/components/trees/common/TreeRenderer.js.map +0 -1
  327. package/lib/cjs/components/trees/common/TreeRenderer.scss +0 -149
  328. package/lib/cjs/components/trees/common/Types.d.ts +0 -57
  329. package/lib/cjs/components/trees/common/Types.js +0 -21
  330. package/lib/cjs/components/trees/common/Types.js.map +0 -1
  331. package/lib/cjs/components/trees/common/UseVisibilityTreeState.d.ts +0 -43
  332. package/lib/cjs/components/trees/common/UseVisibilityTreeState.js +0 -49
  333. package/lib/cjs/components/trees/common/UseVisibilityTreeState.js.map +0 -1
  334. package/lib/cjs/components/trees/external-sources-tree/ExternalSources.json +0 -228
  335. package/lib/cjs/components/trees/imodel-content-tree/IModelContent.json +0 -443
  336. package/lib/cjs/components/trees/models-tree/ModelsTreeEventHandler.d.ts +0 -19
  337. package/lib/cjs/components/trees/models-tree/ModelsTreeEventHandler.js +0 -36
  338. package/lib/cjs/components/trees/models-tree/ModelsTreeEventHandler.js.map +0 -1
  339. package/lib/cjs/components/trees/models-tree/ModelsVisibilityHandler.d.ts +0 -130
  340. package/lib/cjs/components/trees/models-tree/ModelsVisibilityHandler.js +0 -651
  341. package/lib/cjs/components/trees/models-tree/ModelsVisibilityHandler.js.map +0 -1
  342. package/lib/cjs/components/trees/models-tree/Utils.d.ts +0 -29
  343. package/lib/cjs/components/trees/models-tree/Utils.js +0 -556
  344. package/lib/cjs/components/trees/models-tree/Utils.js.map +0 -1
  345. package/lib/cjs/components/trees/stateless/categories-tree/CategoriesTree.d.ts +0 -20
  346. package/lib/cjs/components/trees/stateless/categories-tree/CategoriesTree.js +0 -61
  347. package/lib/cjs/components/trees/stateless/categories-tree/CategoriesTree.js.map +0 -1
  348. package/lib/cjs/components/trees/stateless/categories-tree/CategoriesTreeComponent.d.ts +0 -16
  349. package/lib/cjs/components/trees/stateless/categories-tree/CategoriesTreeComponent.js +0 -43
  350. package/lib/cjs/components/trees/stateless/categories-tree/CategoriesTreeComponent.js.map +0 -1
  351. package/lib/cjs/components/trees/stateless/categories-tree/CategoriesTreeDefinition.js.map +0 -1
  352. package/lib/cjs/components/trees/stateless/categories-tree/CategoriesVisibilityHandler.js.map +0 -1
  353. package/lib/cjs/components/trees/stateless/common/FocusedInstancesContext.js.map +0 -1
  354. package/lib/cjs/components/trees/stateless/common/FocusedInstancesContextProvider.js.map +0 -1
  355. package/lib/cjs/components/trees/stateless/common/UseHierarchiesLocalization.js.map +0 -1
  356. package/lib/cjs/components/trees/stateless/common/UseHierarchyFiltering.d.ts +0 -16
  357. package/lib/cjs/components/trees/stateless/common/UseHierarchyFiltering.js.map +0 -1
  358. package/lib/cjs/components/trees/stateless/common/UseHierarchyVisibility.d.ts +0 -21
  359. package/lib/cjs/components/trees/stateless/common/UseHierarchyVisibility.js.map +0 -1
  360. package/lib/cjs/components/trees/stateless/common/UseMultiCheckboxHandler.js +0 -34
  361. package/lib/cjs/components/trees/stateless/common/UseMultiCheckboxHandler.js.map +0 -1
  362. package/lib/cjs/components/trees/stateless/common/Utils.d.ts +0 -3
  363. package/lib/cjs/components/trees/stateless/common/Utils.js +0 -23
  364. package/lib/cjs/components/trees/stateless/common/Utils.js.map +0 -1
  365. package/lib/cjs/components/trees/stateless/common/components/Delayed.js.map +0 -1
  366. package/lib/cjs/components/trees/stateless/common/components/FilterableTree.d.ts +0 -23
  367. package/lib/cjs/components/trees/stateless/common/components/FilterableTree.js +0 -66
  368. package/lib/cjs/components/trees/stateless/common/components/FilterableTree.js.map +0 -1
  369. package/lib/cjs/components/trees/stateless/common/components/ProgressOverlay.js.map +0 -1
  370. package/lib/cjs/components/trees/stateless/common/components/VisibilityTree.d.ts +0 -26
  371. package/lib/cjs/components/trees/stateless/common/components/VisibilityTree.js +0 -68
  372. package/lib/cjs/components/trees/stateless/common/components/VisibilityTree.js.map +0 -1
  373. package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeNodeCheckbox.d.ts +0 -12
  374. package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeNodeCheckbox.js.map +0 -1
  375. package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeNodeRenderer.d.ts +0 -10
  376. package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeNodeRenderer.js.map +0 -1
  377. package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeRenderer.d.ts +0 -16
  378. package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeRenderer.js +0 -23
  379. package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeRenderer.js.map +0 -1
  380. package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeRenderer.scss +0 -41
  381. package/lib/cjs/components/trees/stateless/external-sources-tree/ExternalSourcesTree.d.ts +0 -13
  382. package/lib/cjs/components/trees/stateless/external-sources-tree/ExternalSourcesTree.js +0 -40
  383. package/lib/cjs/components/trees/stateless/external-sources-tree/ExternalSourcesTree.js.map +0 -1
  384. package/lib/cjs/components/trees/stateless/external-sources-tree/ExternalSourcesTreeComponent.d.ts +0 -14
  385. package/lib/cjs/components/trees/stateless/external-sources-tree/ExternalSourcesTreeComponent.js +0 -25
  386. package/lib/cjs/components/trees/stateless/external-sources-tree/ExternalSourcesTreeComponent.js.map +0 -1
  387. package/lib/cjs/components/trees/stateless/external-sources-tree/ExternalSourcesTreeDefinition.js.map +0 -1
  388. package/lib/cjs/components/trees/stateless/imodel-content-tree/IModelContentTree.d.ts +0 -13
  389. package/lib/cjs/components/trees/stateless/imodel-content-tree/IModelContentTree.js +0 -48
  390. package/lib/cjs/components/trees/stateless/imodel-content-tree/IModelContentTree.js.map +0 -1
  391. package/lib/cjs/components/trees/stateless/imodel-content-tree/IModelContentTreeComponent.d.ts +0 -14
  392. package/lib/cjs/components/trees/stateless/imodel-content-tree/IModelContentTreeComponent.js +0 -25
  393. package/lib/cjs/components/trees/stateless/imodel-content-tree/IModelContentTreeComponent.js.map +0 -1
  394. package/lib/cjs/components/trees/stateless/imodel-content-tree/IModelContentTreeDefinition.js.map +0 -1
  395. package/lib/cjs/components/trees/stateless/index.d.ts +0 -5
  396. package/lib/cjs/components/trees/stateless/index.js +0 -16
  397. package/lib/cjs/components/trees/stateless/index.js.map +0 -1
  398. package/lib/cjs/components/trees/stateless/models-tree/ModelsTree.d.ts +0 -16
  399. package/lib/cjs/components/trees/stateless/models-tree/ModelsTree.js +0 -77
  400. package/lib/cjs/components/trees/stateless/models-tree/ModelsTree.js.map +0 -1
  401. package/lib/cjs/components/trees/stateless/models-tree/ModelsTreeComponent.d.ts +0 -17
  402. package/lib/cjs/components/trees/stateless/models-tree/ModelsTreeComponent.js +0 -55
  403. package/lib/cjs/components/trees/stateless/models-tree/ModelsTreeComponent.js.map +0 -1
  404. package/lib/cjs/components/trees/stateless/models-tree/ModelsTreeDefinition.js +0 -856
  405. package/lib/cjs/components/trees/stateless/models-tree/ModelsTreeDefinition.js.map +0 -1
  406. package/lib/cjs/components/trees/stateless/models-tree/ModelsVisibilityHandler.d.ts +0 -48
  407. package/lib/cjs/components/trees/stateless/models-tree/ModelsVisibilityHandler.js +0 -470
  408. package/lib/cjs/components/trees/stateless/models-tree/ModelsVisibilityHandler.js.map +0 -1
  409. package/lib/cjs/components/utils/UseTreeTransientState.d.ts +0 -19
  410. package/lib/cjs/components/utils/UseTreeTransientState.js +0 -33
  411. package/lib/cjs/components/utils/UseTreeTransientState.js.map +0 -1
  412. package/lib/esm/components/TreeFilteringState.d.ts +0 -18
  413. package/lib/esm/components/TreeFilteringState.js +0 -42
  414. package/lib/esm/components/TreeFilteringState.js.map +0 -1
  415. package/lib/esm/components/trees/CategoriesVisibilityUtils.d.ts +0 -25
  416. package/lib/esm/components/trees/CategoriesVisibilityUtils.js.map +0 -1
  417. package/lib/esm/components/trees/VisibilityTreeBase.scss +0 -82
  418. package/lib/esm/components/trees/VisibilityTreeEventHandler.d.ts +0 -67
  419. package/lib/esm/components/trees/VisibilityTreeEventHandler.js +0 -154
  420. package/lib/esm/components/trees/VisibilityTreeEventHandler.js.map +0 -1
  421. package/lib/esm/components/trees/VisibilityTreeRenderer.d.ts +0 -100
  422. package/lib/esm/components/trees/VisibilityTreeRenderer.js +0 -86
  423. package/lib/esm/components/trees/VisibilityTreeRenderer.js.map +0 -1
  424. package/lib/esm/components/trees/category-tree/Categories.json +0 -99
  425. package/lib/esm/components/trees/category-tree/CategoriesTree.d.ts +0 -60
  426. package/lib/esm/components/trees/category-tree/CategoriesTree.js +0 -110
  427. package/lib/esm/components/trees/category-tree/CategoriesTree.js.map +0 -1
  428. package/lib/esm/components/trees/category-tree/CategoriesTreeButtons.js.map +0 -1
  429. package/lib/esm/components/trees/category-tree/CategoriesTreeComponent.js +0 -97
  430. package/lib/esm/components/trees/category-tree/CategoriesTreeComponent.js.map +0 -1
  431. package/lib/esm/components/trees/category-tree/CategoryVisibilityHandler.d.ts +0 -65
  432. package/lib/esm/components/trees/category-tree/CategoryVisibilityHandler.js +0 -164
  433. package/lib/esm/components/trees/category-tree/CategoryVisibilityHandler.js.map +0 -1
  434. package/lib/esm/components/trees/common/ContextMenu.d.ts +0 -39
  435. package/lib/esm/components/trees/common/ContextMenu.js +0 -39
  436. package/lib/esm/components/trees/common/ContextMenu.js.map +0 -1
  437. package/lib/esm/components/trees/common/ReportingTreeEventHandler.d.ts +0 -27
  438. package/lib/esm/components/trees/common/ReportingTreeEventHandler.js +0 -47
  439. package/lib/esm/components/trees/common/ReportingTreeEventHandler.js.map +0 -1
  440. package/lib/esm/components/trees/common/TreeNodeRenderer.d.ts +0 -61
  441. package/lib/esm/components/trees/common/TreeNodeRenderer.js +0 -44
  442. package/lib/esm/components/trees/common/TreeNodeRenderer.js.map +0 -1
  443. package/lib/esm/components/trees/common/TreeRenderer.d.ts +0 -55
  444. package/lib/esm/components/trees/common/TreeRenderer.js +0 -59
  445. package/lib/esm/components/trees/common/TreeRenderer.js.map +0 -1
  446. package/lib/esm/components/trees/common/TreeRenderer.scss +0 -149
  447. package/lib/esm/components/trees/common/Types.d.ts +0 -57
  448. package/lib/esm/components/trees/common/Types.js +0 -18
  449. package/lib/esm/components/trees/common/Types.js.map +0 -1
  450. package/lib/esm/components/trees/common/UseVisibilityTreeState.d.ts +0 -43
  451. package/lib/esm/components/trees/common/UseVisibilityTreeState.js +0 -45
  452. package/lib/esm/components/trees/common/UseVisibilityTreeState.js.map +0 -1
  453. package/lib/esm/components/trees/external-sources-tree/ExternalSources.json +0 -228
  454. package/lib/esm/components/trees/imodel-content-tree/IModelContent.json +0 -443
  455. package/lib/esm/components/trees/models-tree/ModelsTreeEventHandler.d.ts +0 -19
  456. package/lib/esm/components/trees/models-tree/ModelsTreeEventHandler.js +0 -32
  457. package/lib/esm/components/trees/models-tree/ModelsTreeEventHandler.js.map +0 -1
  458. package/lib/esm/components/trees/models-tree/ModelsVisibilityHandler.d.ts +0 -130
  459. package/lib/esm/components/trees/models-tree/ModelsVisibilityHandler.js +0 -641
  460. package/lib/esm/components/trees/models-tree/ModelsVisibilityHandler.js.map +0 -1
  461. package/lib/esm/components/trees/models-tree/Utils.d.ts +0 -29
  462. package/lib/esm/components/trees/models-tree/Utils.js +0 -548
  463. package/lib/esm/components/trees/models-tree/Utils.js.map +0 -1
  464. package/lib/esm/components/trees/stateless/categories-tree/CategoriesTree.d.ts +0 -20
  465. package/lib/esm/components/trees/stateless/categories-tree/CategoriesTree.js +0 -57
  466. package/lib/esm/components/trees/stateless/categories-tree/CategoriesTree.js.map +0 -1
  467. package/lib/esm/components/trees/stateless/categories-tree/CategoriesTreeComponent.d.ts +0 -16
  468. package/lib/esm/components/trees/stateless/categories-tree/CategoriesTreeComponent.js +0 -39
  469. package/lib/esm/components/trees/stateless/categories-tree/CategoriesTreeComponent.js.map +0 -1
  470. package/lib/esm/components/trees/stateless/categories-tree/CategoriesTreeDefinition.js.map +0 -1
  471. package/lib/esm/components/trees/stateless/categories-tree/CategoriesVisibilityHandler.js.map +0 -1
  472. package/lib/esm/components/trees/stateless/common/FocusedInstancesContext.js.map +0 -1
  473. package/lib/esm/components/trees/stateless/common/FocusedInstancesContextProvider.js.map +0 -1
  474. package/lib/esm/components/trees/stateless/common/UseHierarchiesLocalization.js +0 -29
  475. package/lib/esm/components/trees/stateless/common/UseHierarchiesLocalization.js.map +0 -1
  476. package/lib/esm/components/trees/stateless/common/UseHierarchyFiltering.d.ts +0 -16
  477. package/lib/esm/components/trees/stateless/common/UseHierarchyFiltering.js.map +0 -1
  478. package/lib/esm/components/trees/stateless/common/UseHierarchyVisibility.d.ts +0 -21
  479. package/lib/esm/components/trees/stateless/common/UseHierarchyVisibility.js.map +0 -1
  480. package/lib/esm/components/trees/stateless/common/UseMultiCheckboxHandler.js +0 -30
  481. package/lib/esm/components/trees/stateless/common/UseMultiCheckboxHandler.js.map +0 -1
  482. package/lib/esm/components/trees/stateless/common/Utils.d.ts +0 -3
  483. package/lib/esm/components/trees/stateless/common/Utils.js +0 -19
  484. package/lib/esm/components/trees/stateless/common/Utils.js.map +0 -1
  485. package/lib/esm/components/trees/stateless/common/components/Delayed.js.map +0 -1
  486. package/lib/esm/components/trees/stateless/common/components/FilterableTree.d.ts +0 -23
  487. package/lib/esm/components/trees/stateless/common/components/FilterableTree.js +0 -62
  488. package/lib/esm/components/trees/stateless/common/components/FilterableTree.js.map +0 -1
  489. package/lib/esm/components/trees/stateless/common/components/ProgressOverlay.js.map +0 -1
  490. package/lib/esm/components/trees/stateless/common/components/VisibilityTree.d.ts +0 -26
  491. package/lib/esm/components/trees/stateless/common/components/VisibilityTree.js +0 -64
  492. package/lib/esm/components/trees/stateless/common/components/VisibilityTree.js.map +0 -1
  493. package/lib/esm/components/trees/stateless/common/components/VisibilityTreeNodeCheckbox.d.ts +0 -12
  494. package/lib/esm/components/trees/stateless/common/components/VisibilityTreeNodeCheckbox.js.map +0 -1
  495. package/lib/esm/components/trees/stateless/common/components/VisibilityTreeNodeRenderer.d.ts +0 -10
  496. package/lib/esm/components/trees/stateless/common/components/VisibilityTreeNodeRenderer.js +0 -13
  497. package/lib/esm/components/trees/stateless/common/components/VisibilityTreeNodeRenderer.js.map +0 -1
  498. package/lib/esm/components/trees/stateless/common/components/VisibilityTreeRenderer.d.ts +0 -16
  499. package/lib/esm/components/trees/stateless/common/components/VisibilityTreeRenderer.js +0 -19
  500. package/lib/esm/components/trees/stateless/common/components/VisibilityTreeRenderer.js.map +0 -1
  501. package/lib/esm/components/trees/stateless/common/components/VisibilityTreeRenderer.scss +0 -41
  502. package/lib/esm/components/trees/stateless/external-sources-tree/ExternalSourcesTree.d.ts +0 -13
  503. package/lib/esm/components/trees/stateless/external-sources-tree/ExternalSourcesTree.js +0 -36
  504. package/lib/esm/components/trees/stateless/external-sources-tree/ExternalSourcesTree.js.map +0 -1
  505. package/lib/esm/components/trees/stateless/external-sources-tree/ExternalSourcesTreeComponent.d.ts +0 -14
  506. package/lib/esm/components/trees/stateless/external-sources-tree/ExternalSourcesTreeComponent.js +0 -21
  507. package/lib/esm/components/trees/stateless/external-sources-tree/ExternalSourcesTreeComponent.js.map +0 -1
  508. package/lib/esm/components/trees/stateless/external-sources-tree/ExternalSourcesTreeDefinition.js.map +0 -1
  509. package/lib/esm/components/trees/stateless/imodel-content-tree/IModelContentTree.d.ts +0 -13
  510. package/lib/esm/components/trees/stateless/imodel-content-tree/IModelContentTree.js +0 -44
  511. package/lib/esm/components/trees/stateless/imodel-content-tree/IModelContentTree.js.map +0 -1
  512. package/lib/esm/components/trees/stateless/imodel-content-tree/IModelContentTreeComponent.d.ts +0 -14
  513. package/lib/esm/components/trees/stateless/imodel-content-tree/IModelContentTreeComponent.js +0 -21
  514. package/lib/esm/components/trees/stateless/imodel-content-tree/IModelContentTreeComponent.js.map +0 -1
  515. package/lib/esm/components/trees/stateless/imodel-content-tree/IModelContentTreeDefinition.js.map +0 -1
  516. package/lib/esm/components/trees/stateless/index.d.ts +0 -5
  517. package/lib/esm/components/trees/stateless/index.js +0 -9
  518. package/lib/esm/components/trees/stateless/index.js.map +0 -1
  519. package/lib/esm/components/trees/stateless/models-tree/ModelsTree.d.ts +0 -16
  520. package/lib/esm/components/trees/stateless/models-tree/ModelsTree.js +0 -73
  521. package/lib/esm/components/trees/stateless/models-tree/ModelsTree.js.map +0 -1
  522. package/lib/esm/components/trees/stateless/models-tree/ModelsTreeComponent.d.ts +0 -17
  523. package/lib/esm/components/trees/stateless/models-tree/ModelsTreeComponent.js +0 -51
  524. package/lib/esm/components/trees/stateless/models-tree/ModelsTreeComponent.js.map +0 -1
  525. package/lib/esm/components/trees/stateless/models-tree/ModelsTreeDefinition.js +0 -852
  526. package/lib/esm/components/trees/stateless/models-tree/ModelsTreeDefinition.js.map +0 -1
  527. package/lib/esm/components/trees/stateless/models-tree/ModelsVisibilityHandler.d.ts +0 -48
  528. package/lib/esm/components/trees/stateless/models-tree/ModelsVisibilityHandler.js +0 -466
  529. package/lib/esm/components/trees/stateless/models-tree/ModelsVisibilityHandler.js.map +0 -1
  530. package/lib/esm/components/utils/UseTreeTransientState.d.ts +0 -19
  531. package/lib/esm/components/utils/UseTreeTransientState.js +0 -29
  532. package/lib/esm/components/utils/UseTreeTransientState.js.map +0 -1
  533. /package/lib/cjs/components/trees/{stateless/categories-tree → categories-tree}/CategoriesTreeDefinition.d.ts +0 -0
  534. /package/lib/cjs/components/trees/{stateless/common → common}/FocusedInstancesContext.js +0 -0
  535. /package/lib/cjs/components/trees/{stateless/common → common}/UseMultiCheckboxHandler.d.ts +0 -0
  536. /package/lib/cjs/components/trees/{stateless/common → common}/components/Delayed.d.ts +0 -0
  537. /package/lib/cjs/components/trees/{stateless/common → common}/components/Delayed.js +0 -0
  538. /package/lib/cjs/components/trees/{stateless/common → common}/components/ProgressOverlay.d.ts +0 -0
  539. /package/lib/cjs/components/trees/{stateless/common → common}/components/ProgressOverlay.js +0 -0
  540. /package/lib/cjs/components/trees/{stateless/common → common}/components/ProgressOverlay.scss +0 -0
  541. /package/lib/esm/components/trees/{stateless/categories-tree → categories-tree}/CategoriesTreeDefinition.d.ts +0 -0
  542. /package/lib/esm/components/trees/{stateless/common → common}/FocusedInstancesContext.js +0 -0
  543. /package/lib/esm/components/trees/{stateless/common → common}/UseMultiCheckboxHandler.d.ts +0 -0
  544. /package/lib/esm/components/trees/{stateless/common → common}/components/Delayed.d.ts +0 -0
  545. /package/lib/esm/components/trees/{stateless/common → common}/components/Delayed.js +0 -0
  546. /package/lib/esm/components/trees/{stateless/common → common}/components/ProgressOverlay.d.ts +0 -0
  547. /package/lib/esm/components/trees/{stateless/common → common}/components/ProgressOverlay.js +0 -0
  548. /package/lib/esm/components/trees/{stateless/common → common}/components/ProgressOverlay.scss +0 -0
@@ -1,61 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import type { PropertyRecord } from "@itwin/appui-abstract";
3
- import type { IPropertyValueRenderer, PropertyValueRendererContext, TreeModelNode } from "@itwin/components-react";
4
- /**
5
- * Context for rendering label value.
6
- * @public
7
- */
8
- export interface LabelRendererContext {
9
- /** Style that should be applied to the rendered element. */
10
- style?: React.CSSProperties;
11
- /** Callback to highlight text. */
12
- textHighlighter?: (text: string) => React.ReactNode;
13
- }
14
- /**
15
- * Props for custom node renderer.
16
- * @public
17
- */
18
- export interface TreeNodeLabelRendererProps {
19
- /** Tree node to rendered label for. */
20
- node: TreeModelNode;
21
- /** Context for rendering node's label value. */
22
- context?: LabelRendererContext;
23
- }
24
- /**
25
- * Props for customizing node rendering.
26
- * @public
27
- */
28
- export interface TreeNodeRendererProps {
29
- /** Custom renderer for node's label. */
30
- nodeLabelRenderer?: (props: TreeNodeLabelRendererProps) => ReactNode;
31
- }
32
- /**
33
- * Props for [[DefaultLabelRenderer]] component.
34
- * @public
35
- */
36
- export interface DefaultLabelRendererProps {
37
- /** Label that should be rendered. */
38
- label: PropertyRecord;
39
- /** Context for rendering label value. */
40
- context?: LabelRendererContext;
41
- }
42
- /**
43
- * Renders label for tree node.
44
- * @public
45
- */
46
- export declare function DefaultLabelRenderer({ label, context }: DefaultLabelRendererProps): React.JSX.Element;
47
- /** @internal */
48
- export interface TreeNodeRendererContextProviderProps extends TreeNodeRendererProps {
49
- node: TreeModelNode;
50
- children: ReactNode;
51
- }
52
- /** @internal */
53
- export declare function TreeNodeRendererContextProvider({ nodeLabelRenderer, node, children }: TreeNodeRendererContextProviderProps): JSX.Element;
54
- /** @internal */
55
- export declare const TREE_NODE_LABEL_RENDERER = "visibility-tree-node-label";
56
- /** @internal */
57
- export declare class TreeNodeLabelRenderer implements IPropertyValueRenderer {
58
- canRender(record: PropertyRecord, _context?: PropertyValueRendererContext | undefined): boolean;
59
- render(record: PropertyRecord, context?: PropertyValueRendererContext | undefined): ReactNode;
60
- }
61
- //# sourceMappingURL=TreeNodeRenderer.d.ts.map
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TreeNodeLabelRenderer = exports.TREE_NODE_LABEL_RENDERER = exports.TreeNodeRendererContextProvider = exports.DefaultLabelRenderer = 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 components_react_1 = require("@itwin/components-react");
11
- /**
12
- * Renders label for tree node.
13
- * @public
14
- */
15
- function DefaultLabelRenderer({ label, context }) {
16
- const renderer = new components_react_1.PrimitivePropertyValueRenderer();
17
- return renderer.render(label, context);
18
- }
19
- exports.DefaultLabelRenderer = DefaultLabelRenderer;
20
- /** @internal */
21
- function TreeNodeRendererContextProvider({ nodeLabelRenderer, node, children }) {
22
- return (0, jsx_runtime_1.jsx)(treeNodeLabelRendererContext.Provider, { value: { renderer: nodeLabelRenderer, node }, children: children });
23
- }
24
- exports.TreeNodeRendererContextProvider = TreeNodeRendererContextProvider;
25
- /** @internal */
26
- exports.TREE_NODE_LABEL_RENDERER = "visibility-tree-node-label";
27
- /** @internal */
28
- class TreeNodeLabelRenderer {
29
- canRender(record, _context) {
30
- return record.property.renderer?.name === exports.TREE_NODE_LABEL_RENDERER;
31
- }
32
- render(record, context) {
33
- const labelContext = {
34
- style: context?.style,
35
- textHighlighter: context?.textHighlighter,
36
- };
37
- return (0, jsx_runtime_1.jsx)(LabelRenderer, { record: record, context: labelContext });
38
- }
39
- }
40
- exports.TreeNodeLabelRenderer = TreeNodeLabelRenderer;
41
- const treeNodeLabelRendererContext = (0, react_1.createContext)(undefined);
42
- function LabelRenderer({ record, context }) {
43
- const renderContext = (0, react_1.useContext)(treeNodeLabelRendererContext);
44
- if (!renderContext || !renderContext.renderer) {
45
- return (0, jsx_runtime_1.jsx)(DefaultLabelRenderer, { label: record, context: context });
46
- }
47
- const { renderer, node } = renderContext;
48
- return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: renderer({ node, context }) });
49
- }
50
- //# sourceMappingURL=TreeNodeRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeNodeRenderer.js","sourceRoot":"","sources":["../../../../../src/components/trees/common/TreeNodeRenderer.tsx"],"names":[],"mappings":";;;;AAAA;;;gGAGgG;AAEhG,iCAAkD;AAClD,8DAAyE;AAgDzE;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,EAA6B;IAChF,MAAM,QAAQ,GAAG,IAAI,iDAA8B,EAAE,CAAC;IACtD,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAHD,oDAGC;AAQD,gBAAgB;AAChB,SAAgB,+BAA+B,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAwC;IACzH,OAAO,uBAAC,4BAA4B,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAG,QAAQ,GAAyC,CAAC;AACjJ,CAAC;AAFD,0EAEC;AAED,gBAAgB;AACH,QAAA,wBAAwB,GAAG,4BAA4B,CAAC;AAErE,gBAAgB;AAChB,MAAa,qBAAqB;IACzB,SAAS,CAAC,MAAsB,EAAE,QAAmD;QAC1F,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,KAAK,gCAAwB,CAAC;IACrE,CAAC;IAEM,MAAM,CAAC,MAAsB,EAAE,OAAkD;QACtF,MAAM,YAAY,GAAyB;YACzC,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,eAAe,EAAE,OAAO,EAAE,eAAe;SAC1C,CAAC;QACF,OAAO,uBAAC,aAAa,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAI,CAAC;IAClE,CAAC;CACF;AAZD,sDAYC;AAOD,MAAM,4BAA4B,GAAG,IAAA,qBAAa,EAA2C,SAAS,CAAC,CAAC;AAOxG,SAAS,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAsB;IAC5D,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,4BAA4B,CAAC,CAAC;IAE/D,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;QAC7C,OAAO,uBAAC,oBAAoB,IAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;KAClE;IAED,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;IACzC,OAAO,2DAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,GAAI,CAAC;AAC5C,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 { createContext, useContext } from \"react\";\nimport { PrimitivePropertyValueRenderer } from \"@itwin/components-react\";\n\nimport type { ReactNode } from \"react\";\nimport type { PropertyRecord } from \"@itwin/appui-abstract\";\nimport type { IPropertyValueRenderer, PropertyValueRendererContext, TreeModelNode } from \"@itwin/components-react\";\n\n/**\n * Context for rendering label value.\n * @public\n */\nexport interface LabelRendererContext {\n /** Style that should be applied to the rendered element. */\n style?: React.CSSProperties;\n /** Callback to highlight text. */\n textHighlighter?: (text: string) => React.ReactNode;\n}\n\n/**\n * Props for custom node renderer.\n * @public\n */\nexport interface TreeNodeLabelRendererProps {\n /** Tree node to rendered label for. */\n node: TreeModelNode;\n /** Context for rendering node's label value. */\n context?: LabelRendererContext;\n}\n\n/**\n * Props for customizing node rendering.\n * @public\n */\nexport interface TreeNodeRendererProps {\n /** Custom renderer for node's label. */\n nodeLabelRenderer?: (props: TreeNodeLabelRendererProps) => ReactNode;\n}\n\n/**\n * Props for [[DefaultLabelRenderer]] component.\n * @public\n */\nexport interface DefaultLabelRendererProps {\n /** Label that should be rendered. */\n label: PropertyRecord;\n /** Context for rendering label value. */\n context?: LabelRendererContext;\n}\n\n/**\n * Renders label for tree node.\n * @public\n */\nexport function DefaultLabelRenderer({ label, context }: DefaultLabelRendererProps) {\n const renderer = new PrimitivePropertyValueRenderer();\n return renderer.render(label, context);\n}\n\n/** @internal */\nexport interface TreeNodeRendererContextProviderProps extends TreeNodeRendererProps {\n node: TreeModelNode;\n children: ReactNode;\n}\n\n/** @internal */\nexport function TreeNodeRendererContextProvider({ nodeLabelRenderer, node, children }: TreeNodeRendererContextProviderProps) {\n return <treeNodeLabelRendererContext.Provider value={{ renderer: nodeLabelRenderer, node }}>{children}</treeNodeLabelRendererContext.Provider>;\n}\n\n/** @internal */\nexport const TREE_NODE_LABEL_RENDERER = \"visibility-tree-node-label\";\n\n/** @internal */\nexport class TreeNodeLabelRenderer implements IPropertyValueRenderer {\n public canRender(record: PropertyRecord, _context?: PropertyValueRendererContext | undefined): boolean {\n return record.property.renderer?.name === TREE_NODE_LABEL_RENDERER;\n }\n\n public render(record: PropertyRecord, context?: PropertyValueRendererContext | undefined): ReactNode {\n const labelContext: LabelRendererContext = {\n style: context?.style,\n textHighlighter: context?.textHighlighter,\n };\n return <LabelRenderer record={record} context={labelContext} />;\n }\n}\n\ninterface TreeNodeLabelRendererContext {\n renderer?: (props: TreeNodeLabelRendererProps) => ReactNode;\n node: TreeModelNode;\n}\n\nconst treeNodeLabelRendererContext = createContext<TreeNodeLabelRendererContext | undefined>(undefined);\n\ninterface LabelRendererProps {\n record: PropertyRecord;\n context?: LabelRendererContext;\n}\n\nfunction LabelRenderer({ record, context }: LabelRendererProps) {\n const renderContext = useContext(treeNodeLabelRendererContext);\n\n if (!renderContext || !renderContext.renderer) {\n return <DefaultLabelRenderer label={record} context={context} />;\n }\n\n const { renderer, node } = renderContext;\n return <>{renderer({ node, context })}</>;\n}\n"]}
@@ -1,55 +0,0 @@
1
- /// <reference types="react" />
2
- import "./TreeRenderer.scss";
3
- import type { IPresentationTreeDataProvider, PresentationTreeNodeRendererProps } from "@itwin/presentation-components";
4
- import type { AbstractTreeNodeLoaderWithProvider, TreeRendererProps as ComponentsTreeRendererProps } from "@itwin/components-react";
5
- import type { TreeNodeRendererProps } from "./TreeNodeRenderer";
6
- import type { TreeContextMenuProps } from "./ContextMenu";
7
- import type { UsageTrackedFeatures } from "./UseFeatureReporting";
8
- /**
9
- * Base props for [[TreeRenderer]] component.
10
- * @public
11
- */
12
- export interface TreeRendererBaseProps extends TreeContextMenuProps, TreeNodeRendererProps {
13
- /**
14
- * Modifies the density of tree nodes. `enlarged` tree nodes have bigger height and bigger button hit boxes.
15
- */
16
- density?: "default" | "enlarged";
17
- }
18
- /**
19
- * Props for [[TreeRenderer]] component.
20
- * @public
21
- */
22
- export type TreeRendererProps = ComponentsTreeRendererProps & TreeRendererBaseProps;
23
- /**
24
- * Base tree renderer for visibility trees.
25
- * @public
26
- */
27
- export declare function TreeRenderer({ contextMenuItems, nodeRenderer, nodeLabelRenderer, density, ...restProps }: TreeRendererProps): JSX.Element;
28
- /**
29
- * Props for [[FilterableTreeRenderer]] node renderer.
30
- * @beta
31
- */
32
- export interface FilterableTreeNodeRendererProps extends PresentationTreeNodeRendererProps {
33
- reportUsage?: (props: {
34
- featureId?: UsageTrackedFeatures;
35
- reportInteraction: boolean;
36
- }) => void;
37
- }
38
- /**
39
- * Props for [[FilterableTreeRenderer]] component.
40
- * @beta
41
- */
42
- export interface FilterableTreeRendererProps extends Omit<TreeRendererProps, "nodeLoader" | "nodeRenderer"> {
43
- nodeLoader: AbstractTreeNodeLoaderWithProvider<IPresentationTreeDataProvider>;
44
- nodeRenderer: (props: FilterableTreeNodeRendererProps) => React.ReactNode;
45
- reportUsage?: (props: {
46
- featureId?: UsageTrackedFeatures;
47
- reportInteraction: boolean;
48
- }) => void;
49
- }
50
- /**
51
- * Base tree renderer for trees with enabled hierarchy level filtering.
52
- * @beta
53
- */
54
- export declare function FilterableTreeRenderer({ nodeRenderer, nodeLoader, reportUsage, ...restProps }: FilterableTreeRendererProps): JSX.Element;
55
- //# sourceMappingURL=TreeRenderer.d.ts.map
@@ -1,67 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FilterableTreeRenderer = exports.TreeRenderer = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- /*---------------------------------------------------------------------------------------------
9
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
10
- * See LICENSE.md in the project root for license terms and full copyright notice.
11
- *--------------------------------------------------------------------------------------------*/
12
- require("./TreeRenderer.scss");
13
- const classnames_1 = __importDefault(require("classnames"));
14
- const components_react_1 = require("@itwin/components-react");
15
- const presentation_components_1 = require("@itwin/presentation-components");
16
- const ContextMenu_1 = require("./ContextMenu");
17
- const TreeNodeRenderer_1 = require("./TreeNodeRenderer");
18
- /**
19
- * Base tree renderer for visibility trees.
20
- * @public
21
- */
22
- function TreeRenderer({ contextMenuItems, nodeRenderer, nodeLabelRenderer, density, ...restProps }) {
23
- const { onContextMenu, renderContextMenu } = (0, ContextMenu_1.useContextMenu)({ contextMenuItems });
24
- const nodeHeight = getNodeHeight(density ?? "default", restProps.nodeHeight);
25
- const className = (0, classnames_1.default)("tree-widget-tree-nodes-list", { ["enlarge"]: density === "enlarged" });
26
- return ((0, jsx_runtime_1.jsxs)("div", { className: className, children: [(0, jsx_runtime_1.jsx)(components_react_1.TreeRenderer, { ...restProps, nodeRenderer: (nodeProps) => {
27
- const nodeClassName = nodeProps.node.numChildren === 0 ? "without-expander" : undefined;
28
- return ((0, jsx_runtime_1.jsx)(TreeNodeRenderer_1.TreeNodeRendererContextProvider, { node: nodeProps.node, nodeLabelRenderer: nodeLabelRenderer, children: nodeRenderer ? (nodeRenderer({ ...nodeProps, onContextMenu, className: nodeClassName })) : ((0, jsx_runtime_1.jsx)(components_react_1.TreeNodeRenderer, { ...nodeProps, onContextMenu: onContextMenu, className: nodeClassName })) }));
29
- }, nodeHeight: nodeHeight }), renderContextMenu()] }));
30
- }
31
- exports.TreeRenderer = TreeRenderer;
32
- /**
33
- * Base tree renderer for trees with enabled hierarchy level filtering.
34
- * @beta
35
- */
36
- function FilterableTreeRenderer({ nodeRenderer, nodeLoader, reportUsage, ...restProps }) {
37
- const { onClearFilterClick, onFilterClick, filterDialog } = (0, presentation_components_1.useFilterablePresentationTree)({
38
- nodeLoader,
39
- onFilterApplied: () => {
40
- reportUsage?.({ featureId: "hierarchy-level-filtering", reportInteraction: true });
41
- },
42
- });
43
- return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(TreeRenderer, { ...restProps, nodeLoader: nodeLoader, nodeRenderer: (props) => {
44
- return nodeRenderer({
45
- ...props,
46
- reportUsage,
47
- onFilterClick: (nodeId) => {
48
- reportUsage?.({ reportInteraction: true });
49
- onFilterClick(nodeId);
50
- },
51
- onClearFilterClick: (nodeId) => {
52
- reportUsage?.({ reportInteraction: true });
53
- onClearFilterClick(nodeId);
54
- },
55
- });
56
- } }), filterDialog] }));
57
- }
58
- exports.FilterableTreeRenderer = FilterableTreeRenderer;
59
- function getNodeHeight(density, defaultHeight) {
60
- switch (density) {
61
- case "default":
62
- return defaultHeight;
63
- case "enlarged":
64
- return () => 43;
65
- }
66
- }
67
- //# sourceMappingURL=TreeRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeRenderer.js","sourceRoot":"","sources":["../../../../../src/components/trees/common/TreeRenderer.tsx"],"names":[],"mappings":";;;;;;;AAAA;;;gGAGgG;AAEhG,+BAA6B;AAC7B,4DAAoC;AACpC,8DAAmG;AACnG,4EAA+E;AAC/E,+CAA+C;AAC/C,yDAAqE;AAwBrE;;;GAGG;AACH,SAAgB,YAAY,CAAC,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,SAAS,EAAqB;IAC1H,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,IAAA,4BAAc,EAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAElF,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,IAAI,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,6BAA6B,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,UAAU,EAAE,CAAC,CAAC;IAErG,OAAO,CACL,iCAAK,SAAS,EAAE,SAAS,aACvB,uBAAC,+BAAsB,OACjB,SAAS,EACb,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE;oBAC1B,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;oBACxF,OAAO,CACL,uBAAC,kDAA+B,IAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,YACxF,YAAY,CAAC,CAAC,CAAC,CACd,YAAY,CAAC,EAAE,GAAG,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CACxE,CAAC,CAAC,CAAC,CACF,uBAAC,mCAAgB,OAAK,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,GAAI,CAC5F,GAC+B,CACnC,CAAC;gBACJ,CAAC,EACD,UAAU,EAAE,UAAU,GACtB,EACD,iBAAiB,EAAE,IAChB,CACP,CAAC;AACJ,CAAC;AA3BD,oCA2BC;AAmBD;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,SAAS,EAA+B;IACzH,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAA,uDAA6B,EAAC;QACxF,UAAU;QACV,eAAe,EAAE,GAAG,EAAE;YACpB,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,CACL,4CACE,uBAAC,YAAY,OACP,SAAS,EACb,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;oBACtB,OAAO,YAAY,CAAC;wBAClB,GAAG,KAAK;wBACR,WAAW;wBACX,aAAa,EAAE,CAAC,MAAc,EAAE,EAAE;4BAChC,WAAW,EAAE,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC3C,aAAa,CAAC,MAAM,CAAC,CAAC;wBACxB,CAAC;wBACD,kBAAkB,EAAE,CAAC,MAAc,EAAE,EAAE;4BACrC,WAAW,EAAE,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC3C,kBAAkB,CAAC,MAAM,CAAC,CAAC;wBAC7B,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC,GACD,EACD,YAAY,IACT,CACP,CAAC;AACJ,CAAC;AA/BD,wDA+BC;AAED,SAAS,aAAa,CAAC,OAA+B,EAAE,aAAwD;IAC9G,QAAQ,OAAO,EAAE;QACf,KAAK,SAAS;YACZ,OAAO,aAAa,CAAC;QACvB,KAAK,UAAU;YACb,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC;KACnB;AACH,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 \"./TreeRenderer.scss\";\nimport classNames from \"classnames\";\nimport { TreeRenderer as ComponentsTreeRenderer, TreeNodeRenderer } from \"@itwin/components-react\";\nimport { useFilterablePresentationTree } from \"@itwin/presentation-components\";\nimport { useContextMenu } from \"./ContextMenu\";\nimport { TreeNodeRendererContextProvider } from \"./TreeNodeRenderer\";\n\nimport type { IPresentationTreeDataProvider, PresentationTreeNodeRendererProps } from \"@itwin/presentation-components\";\nimport type { AbstractTreeNodeLoaderWithProvider, TreeRendererProps as ComponentsTreeRendererProps } from \"@itwin/components-react\";\nimport type { TreeNodeRendererProps } from \"./TreeNodeRenderer\";\nimport type { TreeContextMenuProps } from \"./ContextMenu\";\nimport type { UsageTrackedFeatures } from \"./UseFeatureReporting\";\n/**\n * Base props for [[TreeRenderer]] component.\n * @public\n */\nexport interface TreeRendererBaseProps extends TreeContextMenuProps, TreeNodeRendererProps {\n /**\n * Modifies the density of tree nodes. `enlarged` tree nodes have bigger height and bigger button hit boxes.\n */\n density?: \"default\" | \"enlarged\";\n}\n\n/**\n * Props for [[TreeRenderer]] component.\n * @public\n */\nexport type TreeRendererProps = ComponentsTreeRendererProps & TreeRendererBaseProps;\n\n/**\n * Base tree renderer for visibility trees.\n * @public\n */\nexport function TreeRenderer({ contextMenuItems, nodeRenderer, nodeLabelRenderer, density, ...restProps }: TreeRendererProps) {\n const { onContextMenu, renderContextMenu } = useContextMenu({ contextMenuItems });\n\n const nodeHeight = getNodeHeight(density ?? \"default\", restProps.nodeHeight);\n const className = classNames(\"tree-widget-tree-nodes-list\", { [\"enlarge\"]: density === \"enlarged\" });\n\n return (\n <div className={className}>\n <ComponentsTreeRenderer\n {...restProps}\n nodeRenderer={(nodeProps) => {\n const nodeClassName = nodeProps.node.numChildren === 0 ? \"without-expander\" : undefined;\n return (\n <TreeNodeRendererContextProvider node={nodeProps.node} nodeLabelRenderer={nodeLabelRenderer}>\n {nodeRenderer ? (\n nodeRenderer({ ...nodeProps, onContextMenu, className: nodeClassName })\n ) : (\n <TreeNodeRenderer {...nodeProps} onContextMenu={onContextMenu} className={nodeClassName} />\n )}\n </TreeNodeRendererContextProvider>\n );\n }}\n nodeHeight={nodeHeight}\n />\n {renderContextMenu()}\n </div>\n );\n}\n\n/**\n * Props for [[FilterableTreeRenderer]] node renderer.\n * @beta\n */\nexport interface FilterableTreeNodeRendererProps extends PresentationTreeNodeRendererProps {\n reportUsage?: (props: { featureId?: UsageTrackedFeatures; reportInteraction: boolean }) => void;\n}\n\n/**\n * Props for [[FilterableTreeRenderer]] component.\n * @beta\n */\nexport interface FilterableTreeRendererProps extends Omit<TreeRendererProps, \"nodeLoader\" | \"nodeRenderer\"> {\n nodeLoader: AbstractTreeNodeLoaderWithProvider<IPresentationTreeDataProvider>;\n nodeRenderer: (props: FilterableTreeNodeRendererProps) => React.ReactNode;\n reportUsage?: (props: { featureId?: UsageTrackedFeatures; reportInteraction: boolean }) => void;\n}\n/**\n * Base tree renderer for trees with enabled hierarchy level filtering.\n * @beta\n */\nexport function FilterableTreeRenderer({ nodeRenderer, nodeLoader, reportUsage, ...restProps }: FilterableTreeRendererProps) {\n const { onClearFilterClick, onFilterClick, filterDialog } = useFilterablePresentationTree({\n nodeLoader,\n onFilterApplied: () => {\n reportUsage?.({ featureId: \"hierarchy-level-filtering\", reportInteraction: true });\n },\n });\n\n return (\n <div>\n <TreeRenderer\n {...restProps}\n nodeLoader={nodeLoader}\n nodeRenderer={(props) => {\n return nodeRenderer({\n ...props,\n reportUsage,\n onFilterClick: (nodeId: string) => {\n reportUsage?.({ reportInteraction: true });\n onFilterClick(nodeId);\n },\n onClearFilterClick: (nodeId: string) => {\n reportUsage?.({ reportInteraction: true });\n onClearFilterClick(nodeId);\n },\n });\n }}\n />\n {filterDialog}\n </div>\n );\n}\n\nfunction getNodeHeight(density: \"default\" | \"enlarged\", defaultHeight: ComponentsTreeRendererProps[\"nodeHeight\"]) {\n switch (density) {\n case \"default\":\n return defaultHeight;\n case \"enlarged\":\n return () => 43;\n }\n}\n"]}
@@ -1,149 +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
- .tree-widget-tree-with-header {
7
- width: 100%;
8
- height: 100%;
9
- display: flex;
10
- flex-direction: column;
11
-
12
- .tree-widget-tree-header {
13
- height: var(--iui-size-xl);
14
- }
15
-
16
- .tree-widget-tree-content {
17
- height: calc(100% - var(--iui-size-xl));
18
-
19
- &.enlarge {
20
- height: calc(100% - var(--iui-size-xl) - var(--iui-size-m));
21
- }
22
- }
23
- }
24
-
25
- .tree-widget-tree-nodes-list {
26
- height: 100%;
27
- width: 100%;
28
-
29
- /* stylelint-disable-next-line selector-class-pattern */
30
- .ReactWindow__VariableSizeList {
31
- > div {
32
- min-width: max-content !important; // to override inline class
33
- }
34
- }
35
-
36
- .core-tree-node {
37
- > .contents {
38
- .core-tree-node-icon {
39
- line-height: 0;
40
- }
41
- }
42
-
43
- &.without-expander {
44
- > .contents {
45
- > .core-tree-node-icon {
46
- margin-left: 5px;
47
- }
48
- }
49
- }
50
- }
51
-
52
- &.enlarge {
53
- --enlarged-node-height: calc(var(--iui-size-l) + var(--iui-size-m) + var(--iui-size-3xs));
54
- --enlarged-node-icon-size: var(--iui-size-m);
55
- --enlarged-node-without-expander-margin: var(--iui-size-m);
56
- --enlarged-node-icon-padding: calc(var(--enlarged-node-height) - var(--enlarged-node-icon-size));
57
- --enlarged-node-expander-additional-padding: calc(var(--iui-size-l) - var(--iui-size-3xs) / 2);
58
-
59
- .core-tree-node {
60
- &.without-expander {
61
- margin-left: var(--enlarged-node-without-expander-margin);
62
- }
63
-
64
- > .presentation-components-node-action-buttons {
65
- height: var(--enlarged-node-height);
66
- width: min-content;
67
-
68
- .presentation-components-node-action-button {
69
- height: var(--enlarged-node-height);
70
- width: var(--enlarged-node-height);
71
-
72
- svg {
73
- height: var(--enlarged-node-height);
74
- width: var(--enlarged-node-height);
75
- padding: var(--iui-size-s);
76
- }
77
- }
78
- }
79
-
80
- > .contents {
81
- height: var(--enlarged-node-height);
82
- font-size: var(--iui-font-size-2);
83
-
84
- .core-progress-indicator {
85
- margin: calc(var(--enlarged-node-icon-padding) / 2);
86
- }
87
-
88
- /* stylelint-disable-next-line selector-class-pattern */
89
- .core-tree-expansionToggle {
90
- > .icon {
91
- height: var(--enlarged-node-height);
92
- width: var(--enlarged-node-height);
93
- padding: calc(var(--enlarged-node-icon-padding) / 2);
94
-
95
- svg {
96
- height: var(--enlarged-node-icon-size);
97
- width: var(--enlarged-node-icon-size);
98
- }
99
- }
100
- }
101
-
102
- &.without-expander {
103
- > .contents {
104
- padding-left: var(--enlarged-node-expander-additional-padding);
105
- }
106
- }
107
-
108
- .iui-progress-indicator-radial {
109
- margin: 0 calc(var(--enlarged-node-icon-padding) / 2);
110
- }
111
- }
112
- }
113
- }
114
- }
115
-
116
- .tree-widget-tree-container {
117
- height: 100%;
118
- width: 100%;
119
- display: flex;
120
- flex-direction: column;
121
- position: relative;
122
-
123
- /* stylelint-disable-next-line selector-class-pattern */
124
- .filteredTreeOverlay {
125
- position: absolute;
126
- top: 0;
127
- left: 0;
128
- width: 100%;
129
- height: 100%;
130
- z-index: 9999;
131
- background-color: hsl(var(--iui-color-background) / var(--iui-opacity-2));
132
- }
133
-
134
- .components-tree-errormessage {
135
- position: absolute;
136
- top: 40%;
137
- left: 50%;
138
- width: 75%;
139
- text-align: center;
140
- transform: translate(-50%, -50%);
141
- font-style: italic;
142
- color: var(--iui-color-text-muted);
143
-
144
- .errormessage-header {
145
- display: block;
146
- font-weight: bold;
147
- }
148
- }
149
- }
@@ -1,57 +0,0 @@
1
- import type { IModelConnection } from "@itwin/core-frontend";
2
- import type { SelectionMode } from "@itwin/components-react";
3
- import type { IPresentationTreeDataProvider } from "@itwin/presentation-components";
4
- import type { TreeRendererBaseProps } from "./TreeRenderer";
5
- /**
6
- * An option of how class grouping should work in a component.
7
- * @public
8
- */
9
- export declare enum ClassGroupingOption {
10
- /** Class grouping is disabled */
11
- No = 0,
12
- /** Class grouping is enabled */
13
- Yes = 1,
14
- /** Class grouping is enabled and grouping node shows grouped items count */
15
- YesWithCounts = 2
16
- }
17
- /**
18
- * Data structure that describes info used to filter visibility tree.
19
- * @public
20
- */
21
- export interface VisibilityTreeFilterInfo {
22
- filter: string;
23
- activeMatchIndex?: number;
24
- }
25
- /**
26
- * Configuration for hierarchy levels. Setting it implies that hierarchy level filtering will be enabled.
27
- * @beta
28
- */
29
- export interface HierarchyLevelConfig {
30
- isFilteringEnabled: true;
31
- sizeLimit?: number;
32
- }
33
- /**
34
- * Base props for tree components.
35
- * @public
36
- */
37
- export interface BaseTreeProps extends TreeRendererBaseProps {
38
- /** An iModel to pull data from. */
39
- iModel: IModelConnection;
40
- /** Width of the component. */
41
- width: number;
42
- /** Height of the component. */
43
- height: number;
44
- /** Selection mode in the tree. */
45
- selectionMode?: SelectionMode;
46
- }
47
- /**
48
- * Base props for filterable tree components.
49
- * @public
50
- */
51
- export interface BaseFilterableTreeProps extends BaseTreeProps {
52
- /** Information for tree filtering. */
53
- filterInfo?: VisibilityTreeFilterInfo;
54
- /** Callback invoked when tree is filtered. */
55
- onFilterApplied?: (filteredDataProvider: IPresentationTreeDataProvider, matchesCount: number) => void;
56
- }
57
- //# sourceMappingURL=Types.d.ts.map
@@ -1,21 +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.ClassGroupingOption = void 0;
8
- /**
9
- * An option of how class grouping should work in a component.
10
- * @public
11
- */
12
- var ClassGroupingOption;
13
- (function (ClassGroupingOption) {
14
- /** Class grouping is disabled */
15
- ClassGroupingOption[ClassGroupingOption["No"] = 0] = "No";
16
- /** Class grouping is enabled */
17
- ClassGroupingOption[ClassGroupingOption["Yes"] = 1] = "Yes";
18
- /** Class grouping is enabled and grouping node shows grouped items count */
19
- ClassGroupingOption[ClassGroupingOption["YesWithCounts"] = 2] = "YesWithCounts";
20
- })(ClassGroupingOption = exports.ClassGroupingOption || (exports.ClassGroupingOption = {}));
21
- //# sourceMappingURL=Types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Types.js","sourceRoot":"","sources":["../../../../../src/components/trees/common/Types.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAOhG;;;GAGG;AACH,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,iCAAiC;IACjC,yDAAE,CAAA;IACF,gCAAgC;IAChC,2DAAG,CAAA;IACH,4EAA4E;IAC5E,+EAAa,CAAA;AACf,CAAC,EAPW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAO9B","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 type { IModelConnection } from \"@itwin/core-frontend\";\nimport type { SelectionMode } from \"@itwin/components-react\";\nimport type { IPresentationTreeDataProvider } from \"@itwin/presentation-components\";\nimport type { TreeRendererBaseProps } from \"./TreeRenderer\";\n\n/**\n * An option of how class grouping should work in a component.\n * @public\n */\nexport enum ClassGroupingOption {\n /** Class grouping is disabled */\n No,\n /** Class grouping is enabled */\n Yes,\n /** Class grouping is enabled and grouping node shows grouped items count */\n YesWithCounts,\n}\n\n/**\n * Data structure that describes info used to filter visibility tree.\n * @public\n */\nexport interface VisibilityTreeFilterInfo {\n filter: string;\n activeMatchIndex?: number;\n}\n\n/**\n * Configuration for hierarchy levels. Setting it implies that hierarchy level filtering will be enabled.\n * @beta\n */\nexport interface HierarchyLevelConfig {\n isFilteringEnabled: true;\n sizeLimit?: number;\n}\n\n/**\n * Base props for tree components.\n * @public\n */\nexport interface BaseTreeProps extends TreeRendererBaseProps {\n /** An iModel to pull data from. */\n iModel: IModelConnection;\n /** Width of the component. */\n width: number;\n /** Height of the component. */\n height: number;\n /** Selection mode in the tree. */\n selectionMode?: SelectionMode;\n}\n\n/**\n * Base props for filterable tree components.\n * @public\n */\nexport interface BaseFilterableTreeProps extends BaseTreeProps {\n /** Information for tree filtering. */\n filterInfo?: VisibilityTreeFilterInfo;\n /** Callback invoked when tree is filtered. */\n onFilterApplied?: (filteredDataProvider: IPresentationTreeDataProvider, matchesCount: number) => void;\n}\n"]}
@@ -1,43 +0,0 @@
1
- import { VisibilityTreeEventHandler } from "../VisibilityTreeEventHandler";
2
- import { ReportingTreeEventHandler } from "./ReportingTreeEventHandler";
3
- import type { IModelConnection } from "@itwin/core-frontend";
4
- import type { Ruleset } from "@itwin/presentation-common";
5
- import type { IFilteredPresentationTreeDataProvider, UsePresentationTreeStateProps } from "@itwin/presentation-components";
6
- import type { IVisibilityHandler, VisibilityTreeEventHandlerParams, VisibilityTreeSelectionPredicate } from "../VisibilityTreeEventHandler";
7
- import type { VisibilityTreeFilterInfo } from "./Types";
8
- import type { UsageTrackedFeatures } from "./UseFeatureReporting";
9
- /**
10
- * Props for [[useVisibilityTreeState]] hook.
11
- * @beta
12
- */
13
- export interface UseVisibilityTreeStateProps extends Omit<UsePresentationTreeStateProps<VisibilityTreeEventHandler>, "rulesetOrId"> {
14
- /** iModel to pull data from. */
15
- imodel: IModelConnection;
16
- /** Presentation rules to use when pulling data from iModel. */
17
- ruleset: Ruleset;
18
- /** Visibility handler that will be used to determine tree node visibility or change it. */
19
- visibilityHandler?: IVisibilityHandler;
20
- /** Info about filter that should be applied on tree. */
21
- filterInfo?: VisibilityTreeFilterInfo;
22
- /** Callback that is invoked when filter is applied, changed or removed. */
23
- onFilterChange?: (filteredDataProvider?: IFilteredPresentationTreeDataProvider, matchesCount?: number) => void;
24
- /** Callback that is used to determine if node can be selected. If not provided all nodes are selectable. */
25
- selectionPredicate?: VisibilityTreeSelectionPredicate;
26
- /** Factory for custom `VisibilityTreeEventHandler`. Defaults to `VisibilityTreeEventHandler`. */
27
- eventHandler?: (props: VisibilityTreeEventHandlerParams) => VisibilityTreeEventHandler;
28
- /** The limit for how many items should be loaded for a single hierarchy level. */
29
- hierarchyLevelSizeLimit?: number;
30
- /** Callback called when a feature is used. */
31
- reportUsage?: (props: {
32
- featureId?: UsageTrackedFeatures;
33
- reportInteraction: boolean;
34
- }) => void;
35
- }
36
- /**
37
- * Custom hook for creating visibility tree component state.
38
- *
39
- * @returns `undefined` on first render cycle. On all other render cycles state is initialized and valid object is returned.
40
- * @beta
41
- */
42
- export declare function useVisibilityTreeState({ imodel, ruleset, filterInfo, onFilterChange, visibilityHandler, selectionPredicate, eventHandler, reportUsage, ...props }: UseVisibilityTreeStateProps): import("@itwin/presentation-components").UsePresentationTreeStateResult<VisibilityTreeEventHandler | ReportingTreeEventHandler> | undefined;
43
- //# sourceMappingURL=UseVisibilityTreeState.d.ts.map
@@ -1,49 +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.useVisibilityTreeState = void 0;
8
- const react_1 = require("react");
9
- const presentation_components_1 = require("@itwin/presentation-components");
10
- const VisibilityTreeEventHandler_1 = require("../VisibilityTreeEventHandler");
11
- const ReportingTreeEventHandler_1 = require("./ReportingTreeEventHandler");
12
- /**
13
- * Custom hook for creating visibility tree component state.
14
- *
15
- * @returns `undefined` on first render cycle. On all other render cycles state is initialized and valid object is returned.
16
- * @beta
17
- */
18
- function useVisibilityTreeState({ imodel, ruleset, filterInfo, onFilterChange, visibilityHandler, selectionPredicate, eventHandler, reportUsage, ...props }) {
19
- const eventHandlerFactory = (0, react_1.useCallback)((params) => {
20
- if (!visibilityHandler) {
21
- return undefined;
22
- }
23
- const eventHandlerProps = {
24
- nodeLoader: params.nodeLoader,
25
- visibilityHandler,
26
- selectionPredicate,
27
- };
28
- const handler = eventHandler ? eventHandler(eventHandlerProps) : new VisibilityTreeEventHandler_1.VisibilityTreeEventHandler(eventHandlerProps);
29
- return reportUsage ? new ReportingTreeEventHandler_1.ReportingTreeEventHandler({ eventHandler: handler, reportUsage, nodeLoader: eventHandlerProps.nodeLoader }) : handler;
30
- }, [visibilityHandler, selectionPredicate, eventHandler, reportUsage]);
31
- const treeState = (0, presentation_components_1.usePresentationTreeState)({
32
- ...props,
33
- imodel,
34
- ruleset,
35
- eventHandlerFactory,
36
- filteringParams: filterInfo?.filter
37
- ? {
38
- filter: filterInfo.filter,
39
- activeMatchIndex: filterInfo?.activeMatchIndex,
40
- }
41
- : undefined,
42
- });
43
- (0, react_1.useEffect)(() => {
44
- onFilterChange && onFilterChange(treeState?.filteringResult?.filteredProvider, treeState?.filteringResult?.matchesCount);
45
- }, [treeState?.filteringResult?.matchesCount, treeState?.filteringResult?.filteredProvider, onFilterChange]);
46
- return treeState;
47
- }
48
- exports.useVisibilityTreeState = useVisibilityTreeState;
49
- //# sourceMappingURL=UseVisibilityTreeState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UseVisibilityTreeState.js","sourceRoot":"","sources":["../../../../../src/components/trees/common/UseVisibilityTreeState.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,iCAA+C;AAC/C,4EAA0E;AAC1E,8EAA2E;AAC3E,2EAAwE;AAiCxE;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,OAAO,EACP,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,GAAG,KAAK,EACoB;IAC5B,MAAM,mBAAmB,GAAG,IAAA,mBAAW,EACrC,CAAC,MAAyC,EAAE,EAAE;QAC5C,IAAI,CAAC,iBAAiB,EAAE;YACtB,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,iBAAiB,GAAqC;YAC1D,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,iBAAiB;YACjB,kBAAkB;SACnB,CAAC;QAEF,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,uDAA0B,CAAC,iBAAiB,CAAC,CAAC;QACnH,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,qDAAyB,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACjJ,CAAC,EACD,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,CAAC,CACnE,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,kDAAwB,EAAC;QACzC,GAAG,KAAK;QACR,MAAM;QACN,OAAO;QACP,mBAAmB;QACnB,eAAe,EAAE,UAAU,EAAE,MAAM;YACjC,CAAC,CAAC;gBACE,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,gBAAgB,EAAE,UAAU,EAAE,gBAAgB;aAC/C;YACH,CAAC,CAAC,SAAS;KACd,CAAC,CAAC;IAEH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,cAAc,IAAI,cAAc,CAAC,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;IAC3H,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC;IAE7G,OAAO,SAAS,CAAC;AACnB,CAAC;AA/CD,wDA+CC","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 } from \"react\";\nimport { usePresentationTreeState } from \"@itwin/presentation-components\";\nimport { VisibilityTreeEventHandler } from \"../VisibilityTreeEventHandler\";\nimport { ReportingTreeEventHandler } from \"./ReportingTreeEventHandler\";\n\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport type { Ruleset } from \"@itwin/presentation-common\";\nimport type { IFilteredPresentationTreeDataProvider, PresentationTreeEventHandlerProps, UsePresentationTreeStateProps } from \"@itwin/presentation-components\";\nimport type { IVisibilityHandler, VisibilityTreeEventHandlerParams, VisibilityTreeSelectionPredicate } from \"../VisibilityTreeEventHandler\";\nimport type { VisibilityTreeFilterInfo } from \"./Types\";\nimport type { UsageTrackedFeatures } from \"./UseFeatureReporting\";\n/**\n * Props for [[useVisibilityTreeState]] hook.\n * @beta\n */\nexport interface UseVisibilityTreeStateProps extends Omit<UsePresentationTreeStateProps<VisibilityTreeEventHandler>, \"rulesetOrId\"> {\n /** iModel to pull data from. */\n imodel: IModelConnection;\n /** Presentation rules to use when pulling data from iModel. */\n ruleset: Ruleset;\n /** Visibility handler that will be used to determine tree node visibility or change it. */\n visibilityHandler?: IVisibilityHandler;\n /** Info about filter that should be applied on tree. */\n filterInfo?: VisibilityTreeFilterInfo;\n /** Callback that is invoked when filter is applied, changed or removed. */\n onFilterChange?: (filteredDataProvider?: IFilteredPresentationTreeDataProvider, matchesCount?: number) => void;\n /** Callback that is used to determine if node can be selected. If not provided all nodes are selectable. */\n selectionPredicate?: VisibilityTreeSelectionPredicate;\n /** Factory for custom `VisibilityTreeEventHandler`. Defaults to `VisibilityTreeEventHandler`. */\n eventHandler?: (props: VisibilityTreeEventHandlerParams) => VisibilityTreeEventHandler;\n /** The limit for how many items should be loaded for a single hierarchy level. */\n hierarchyLevelSizeLimit?: number;\n /** Callback called when a feature is used. */\n reportUsage?: (props: { featureId?: UsageTrackedFeatures; reportInteraction: boolean }) => void;\n}\n\n/**\n * Custom hook for creating visibility tree component state.\n *\n * @returns `undefined` on first render cycle. On all other render cycles state is initialized and valid object is returned.\n * @beta\n */\nexport function useVisibilityTreeState({\n imodel,\n ruleset,\n filterInfo,\n onFilterChange,\n visibilityHandler,\n selectionPredicate,\n eventHandler,\n reportUsage,\n ...props\n}: UseVisibilityTreeStateProps) {\n const eventHandlerFactory = useCallback(\n (params: PresentationTreeEventHandlerProps) => {\n if (!visibilityHandler) {\n return undefined;\n }\n\n const eventHandlerProps: VisibilityTreeEventHandlerParams = {\n nodeLoader: params.nodeLoader,\n visibilityHandler,\n selectionPredicate,\n };\n\n const handler = eventHandler ? eventHandler(eventHandlerProps) : new VisibilityTreeEventHandler(eventHandlerProps);\n return reportUsage ? new ReportingTreeEventHandler({ eventHandler: handler, reportUsage, nodeLoader: eventHandlerProps.nodeLoader }) : handler;\n },\n [visibilityHandler, selectionPredicate, eventHandler, reportUsage],\n );\n\n const treeState = usePresentationTreeState({\n ...props,\n imodel,\n ruleset,\n eventHandlerFactory,\n filteringParams: filterInfo?.filter\n ? {\n filter: filterInfo.filter,\n activeMatchIndex: filterInfo?.activeMatchIndex,\n }\n : undefined,\n });\n\n useEffect(() => {\n onFilterChange && onFilterChange(treeState?.filteringResult?.filteredProvider, treeState?.filteringResult?.matchesCount);\n }, [treeState?.filteringResult?.matchesCount, treeState?.filteringResult?.filteredProvider, onFilterChange]);\n\n return treeState;\n}\n"]}