@itwin/tree-widget-react 4.0.0-alpha.2 → 4.0.0-alpha.20

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 (309) hide show
  1. package/CHANGELOG.md +281 -1
  2. package/README.md +190 -63
  3. package/lib/esm/tree-widget-react/TreeWidget.d.ts +7 -4
  4. package/lib/esm/tree-widget-react/TreeWidget.js +32 -12
  5. package/lib/esm/tree-widget-react/TreeWidget.js.map +1 -1
  6. package/lib/esm/tree-widget-react/components/TreeWidgetComponentImpl.d.ts +7 -1
  7. package/lib/esm/tree-widget-react/components/TreeWidgetComponentImpl.js +22 -23
  8. package/lib/esm/tree-widget-react/components/TreeWidgetComponentImpl.js.map +1 -1
  9. package/lib/esm/tree-widget-react/components/TreeWidgetUiItemsProvider.js +4 -3
  10. package/lib/esm/tree-widget-react/components/TreeWidgetUiItemsProvider.js.map +1 -1
  11. package/lib/esm/tree-widget-react/components/tree-header/ErrorState.js +4 -3
  12. package/lib/esm/tree-widget-react/components/tree-header/ErrorState.js.map +1 -1
  13. package/lib/esm/tree-widget-react/components/tree-header/SearchBox.d.ts +1 -1
  14. package/lib/esm/tree-widget-react/components/tree-header/SearchBox.js +6 -6
  15. package/lib/esm/tree-widget-react/components/tree-header/SearchBox.js.map +1 -1
  16. package/lib/esm/tree-widget-react/components/tree-header/SelectableTree.css +3 -2
  17. package/lib/esm/tree-widget-react/components/tree-header/SelectableTree.d.ts +4 -4
  18. package/lib/esm/tree-widget-react/components/tree-header/SelectableTree.js +1 -1
  19. package/lib/esm/tree-widget-react/components/tree-header/SelectableTree.js.map +1 -1
  20. package/lib/esm/tree-widget-react/components/tree-header/WidgetHeader.css +1 -0
  21. package/lib/esm/tree-widget-react/components/tree-header/WidgetHeader.d.ts +12 -5
  22. package/lib/esm/tree-widget-react/components/tree-header/WidgetHeader.js +13 -9
  23. package/lib/esm/tree-widget-react/components/tree-header/WidgetHeader.js.map +1 -1
  24. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTree.d.ts +3 -3
  25. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTree.js +3 -2
  26. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTree.js.map +1 -1
  27. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeButtons.d.ts +11 -7
  28. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeButtons.js +64 -14
  29. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeButtons.js.map +1 -1
  30. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeComponent.d.ts +8 -6
  31. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeComponent.js +4 -4
  32. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeComponent.js.map +1 -1
  33. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeDefinition.d.ts +41 -8
  34. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeDefinition.js +700 -125
  35. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeDefinition.js.map +1 -1
  36. package/lib/esm/tree-widget-react/components/trees/categories-tree/UseCategoriesTree.d.ts +18 -7
  37. package/lib/esm/tree-widget-react/components/trees/categories-tree/UseCategoriesTree.js +124 -83
  38. package/lib/esm/tree-widget-react/components/trees/categories-tree/UseCategoriesTree.js.map +1 -1
  39. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeIdsCache.d.ts +70 -0
  40. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeIdsCache.js +504 -0
  41. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeIdsCache.js.map +1 -0
  42. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeNode.d.ts +41 -0
  43. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeNode.js +50 -0
  44. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeNode.js.map +1 -0
  45. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/UseFilteredPaths.d.ts +27 -0
  46. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/UseFilteredPaths.js +136 -0
  47. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/UseFilteredPaths.js.map +1 -0
  48. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/visibility/CategoriesTreeVisibilityHandler.d.ts +54 -0
  49. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/visibility/CategoriesTreeVisibilityHandler.js +291 -0
  50. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/visibility/CategoriesTreeVisibilityHandler.js.map +1 -0
  51. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/visibility/CategoriesTreeVisibilityHelper.d.ts +64 -0
  52. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/visibility/CategoriesTreeVisibilityHelper.js +94 -0
  53. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/visibility/CategoriesTreeVisibilityHelper.js.map +1 -0
  54. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/visibility/FilteredTree.d.ts +36 -0
  55. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/visibility/FilteredTree.js +219 -0
  56. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/visibility/FilteredTree.js.map +1 -0
  57. package/lib/esm/tree-widget-react/components/trees/classifications-tree/ClassificationsTree.d.ts +12 -0
  58. package/lib/esm/tree-widget-react/components/trees/classifications-tree/ClassificationsTree.js +19 -0
  59. package/lib/esm/tree-widget-react/components/trees/classifications-tree/ClassificationsTree.js.map +1 -0
  60. package/lib/esm/tree-widget-react/components/trees/classifications-tree/ClassificationsTreeComponent.d.ts +30 -0
  61. package/lib/esm/tree-widget-react/components/trees/classifications-tree/ClassificationsTreeComponent.js +47 -0
  62. package/lib/esm/tree-widget-react/components/trees/classifications-tree/ClassificationsTreeComponent.js.map +1 -0
  63. package/lib/esm/tree-widget-react/components/trees/classifications-tree/ClassificationsTreeDefinition.d.ts +45 -0
  64. package/lib/esm/tree-widget-react/components/trees/classifications-tree/ClassificationsTreeDefinition.js +569 -0
  65. package/lib/esm/tree-widget-react/components/trees/classifications-tree/ClassificationsTreeDefinition.js.map +1 -0
  66. package/lib/esm/tree-widget-react/components/trees/classifications-tree/ClassificationsTreeIcon.d.ts +6 -0
  67. package/lib/esm/tree-widget-react/components/trees/classifications-tree/ClassificationsTreeIcon.js +33 -0
  68. package/lib/esm/tree-widget-react/components/trees/classifications-tree/ClassificationsTreeIcon.js.map +1 -0
  69. package/lib/esm/tree-widget-react/components/trees/classifications-tree/UseClassificationsTree.d.ts +24 -0
  70. package/lib/esm/tree-widget-react/components/trees/classifications-tree/UseClassificationsTree.js +115 -0
  71. package/lib/esm/tree-widget-react/components/trees/classifications-tree/UseClassificationsTree.js.map +1 -0
  72. package/lib/esm/tree-widget-react/components/trees/classifications-tree/UseClassificationsTreeDefinition.d.ts +44 -0
  73. package/lib/esm/tree-widget-react/components/trees/classifications-tree/UseClassificationsTreeDefinition.js +61 -0
  74. package/lib/esm/tree-widget-react/components/trees/classifications-tree/UseClassificationsTreeDefinition.js.map +1 -0
  75. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/ClassificationsTreeIdsCache.d.ts +50 -0
  76. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/ClassificationsTreeIdsCache.js +364 -0
  77. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/ClassificationsTreeIdsCache.js.map +1 -0
  78. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/ClassificationsTreeNode.d.ts +19 -0
  79. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/ClassificationsTreeNode.js +32 -0
  80. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/ClassificationsTreeNode.js.map +1 -0
  81. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/UseFilteredPaths.d.ts +20 -0
  82. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/UseFilteredPaths.js +53 -0
  83. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/UseFilteredPaths.js.map +1 -0
  84. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/visibility/ClassificationsTreeVisibilityHandler.d.ts +37 -0
  85. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/visibility/ClassificationsTreeVisibilityHandler.js +177 -0
  86. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/visibility/ClassificationsTreeVisibilityHandler.js.map +1 -0
  87. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/visibility/ClassificationsTreeVisibilityHelper.d.ts +55 -0
  88. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/visibility/ClassificationsTreeVisibilityHelper.js +53 -0
  89. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/visibility/ClassificationsTreeVisibilityHelper.js.map +1 -0
  90. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/visibility/FilteredTree.d.ts +32 -0
  91. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/visibility/FilteredTree.js +168 -0
  92. package/lib/esm/tree-widget-react/components/trees/classifications-tree/internal/visibility/FilteredTree.js.map +1 -0
  93. package/lib/esm/tree-widget-react/components/trees/common/CategoriesVisibilityUtils.d.ts +11 -23
  94. package/lib/esm/tree-widget-react/components/trees/common/CategoriesVisibilityUtils.js +22 -76
  95. package/lib/esm/tree-widget-react/components/trees/common/CategoriesVisibilityUtils.js.map +1 -1
  96. package/lib/esm/tree-widget-react/components/trees/common/FocusedInstancesContext.d.ts +28 -4
  97. package/lib/esm/tree-widget-react/components/trees/common/FocusedInstancesContext.js +73 -2
  98. package/lib/esm/tree-widget-react/components/trees/common/FocusedInstancesContext.js.map +1 -1
  99. package/lib/esm/tree-widget-react/components/trees/common/TreeErrors.js +1 -0
  100. package/lib/esm/tree-widget-react/components/trees/common/TreeErrors.js.map +1 -1
  101. package/lib/esm/tree-widget-react/components/trees/common/TreeWidgetViewport.d.ts +186 -0
  102. package/lib/esm/tree-widget-react/components/trees/common/TreeWidgetViewport.js +79 -0
  103. package/lib/esm/tree-widget-react/components/trees/common/TreeWidgetViewport.js.map +1 -0
  104. package/lib/esm/tree-widget-react/components/trees/common/UseHierarchyVisibility.d.ts +15 -7
  105. package/lib/esm/tree-widget-react/components/trees/common/UseHierarchyVisibility.js +33 -22
  106. package/lib/esm/tree-widget-react/components/trees/common/UseHierarchyVisibility.js.map +1 -1
  107. package/lib/esm/tree-widget-react/components/trees/common/UseTelemetryContext.d.ts +1 -0
  108. package/lib/esm/tree-widget-react/components/trees/common/UseTelemetryContext.js +2 -1
  109. package/lib/esm/tree-widget-react/components/trees/common/UseTelemetryContext.js.map +1 -1
  110. package/lib/esm/tree-widget-react/components/trees/common/Utils.d.ts +45 -23
  111. package/lib/esm/tree-widget-react/components/trees/common/Utils.js +110 -44
  112. package/lib/esm/tree-widget-react/components/trees/common/Utils.js.map +1 -1
  113. package/lib/esm/tree-widget-react/components/trees/common/components/BaseTreeRenderer.d.ts +2 -3
  114. package/lib/esm/tree-widget-react/components/trees/common/components/BaseTreeRenderer.js +4 -5
  115. package/lib/esm/tree-widget-react/components/trees/common/components/BaseTreeRenderer.js.map +1 -1
  116. package/lib/esm/tree-widget-react/components/trees/common/components/Delayed.d.ts +1 -0
  117. package/lib/esm/tree-widget-react/components/trees/common/components/Delayed.js +1 -0
  118. package/lib/esm/tree-widget-react/components/trees/common/components/Delayed.js.map +1 -1
  119. package/lib/esm/tree-widget-react/components/trees/common/components/EmptyTree.css +25 -0
  120. package/lib/esm/tree-widget-react/components/trees/common/components/EmptyTree.d.ts +27 -0
  121. package/lib/esm/tree-widget-react/components/trees/common/components/EmptyTree.js +47 -0
  122. package/lib/esm/tree-widget-react/components/trees/common/components/EmptyTree.js.map +1 -0
  123. package/lib/esm/tree-widget-react/components/trees/common/components/ProgressOverlay.d.ts +1 -0
  124. package/lib/esm/tree-widget-react/components/trees/common/components/ProgressOverlay.js +4 -3
  125. package/lib/esm/tree-widget-react/components/trees/common/components/ProgressOverlay.js.map +1 -1
  126. package/lib/esm/tree-widget-react/components/trees/common/components/SkeletonTree.css +16 -0
  127. package/lib/esm/tree-widget-react/components/trees/common/components/SkeletonTree.d.ts +7 -0
  128. package/lib/esm/tree-widget-react/components/trees/common/components/SkeletonTree.js +19 -0
  129. package/lib/esm/tree-widget-react/components/trees/common/components/SkeletonTree.js.map +1 -0
  130. package/lib/esm/tree-widget-react/components/trees/common/components/Tree.css +11 -0
  131. package/lib/esm/tree-widget-react/components/trees/common/components/Tree.d.ts +9 -12
  132. package/lib/esm/tree-widget-react/components/trees/common/components/Tree.js +55 -38
  133. package/lib/esm/tree-widget-react/components/trees/common/components/Tree.js.map +1 -1
  134. package/lib/esm/tree-widget-react/components/trees/common/components/TreeNodeVisibilityButton.css +2 -1
  135. package/lib/esm/tree-widget-react/components/trees/common/components/TreeNodeVisibilityButton.d.ts +24 -8
  136. package/lib/esm/tree-widget-react/components/trees/common/components/TreeNodeVisibilityButton.js +41 -25
  137. package/lib/esm/tree-widget-react/components/trees/common/components/TreeNodeVisibilityButton.js.map +1 -1
  138. package/lib/esm/tree-widget-react/components/trees/common/components/TreeRenderer.d.ts +6 -1
  139. package/lib/esm/tree-widget-react/components/trees/common/components/TreeRenderer.js +13 -4
  140. package/lib/esm/tree-widget-react/components/trees/common/components/TreeRenderer.js.map +1 -1
  141. package/lib/esm/tree-widget-react/components/trees/common/components/UseVisibilityButtonHandler.d.ts +6 -5
  142. package/lib/esm/tree-widget-react/components/trees/common/components/UseVisibilityButtonHandler.js +7 -7
  143. package/lib/esm/tree-widget-react/components/trees/common/components/UseVisibilityButtonHandler.js.map +1 -1
  144. package/lib/esm/tree-widget-react/components/trees/common/components/VisibilityTree.d.ts +5 -5
  145. package/lib/esm/tree-widget-react/components/trees/common/components/VisibilityTree.js +10 -6
  146. package/lib/esm/tree-widget-react/components/trees/common/components/VisibilityTree.js.map +1 -1
  147. package/lib/esm/tree-widget-react/components/trees/common/components/VisibilityTreeRenderer.d.ts +5 -3
  148. package/lib/esm/tree-widget-react/components/trees/common/components/VisibilityTreeRenderer.js +17 -15
  149. package/lib/esm/tree-widget-react/components/trees/common/components/VisibilityTreeRenderer.js.map +1 -1
  150. package/lib/esm/tree-widget-react/components/trees/common/internal/AlwaysAndNeverDrawnElementInfo.d.ts +74 -0
  151. package/lib/esm/tree-widget-react/components/trees/common/internal/AlwaysAndNeverDrawnElementInfo.js +207 -0
  152. package/lib/esm/tree-widget-react/components/trees/common/internal/AlwaysAndNeverDrawnElementInfo.js.map +1 -0
  153. package/lib/esm/tree-widget-react/components/trees/common/internal/ClassNameDefinitions.d.ts +43 -0
  154. package/lib/esm/tree-widget-react/components/trees/common/internal/ClassNameDefinitions.js +47 -0
  155. package/lib/esm/tree-widget-react/components/trees/common/internal/ClassNameDefinitions.js.map +1 -0
  156. package/lib/esm/tree-widget-react/components/trees/common/internal/ModelCategoryElementsCountCache.d.ts +12 -0
  157. package/lib/esm/tree-widget-react/components/trees/common/internal/ModelCategoryElementsCountCache.js +112 -0
  158. package/lib/esm/tree-widget-react/components/trees/common/internal/ModelCategoryElementsCountCache.js.map +1 -0
  159. package/lib/esm/tree-widget-react/components/trees/common/{Rxjs.d.ts → internal/Rxjs.d.ts} +9 -2
  160. package/lib/esm/tree-widget-react/components/trees/common/{Rxjs.js → internal/Rxjs.js} +10 -2
  161. package/lib/esm/tree-widget-react/components/trees/common/internal/Rxjs.js.map +1 -0
  162. package/lib/esm/tree-widget-react/components/trees/common/{Tooltip.d.ts → internal/Tooltip.d.ts} +4 -8
  163. package/lib/esm/tree-widget-react/components/trees/common/internal/Tooltip.js +18 -0
  164. package/lib/esm/tree-widget-react/components/trees/common/internal/Tooltip.js.map +1 -0
  165. package/lib/esm/tree-widget-react/components/trees/common/internal/Types.d.ts +14 -0
  166. package/lib/esm/tree-widget-react/components/{tree-header/SearchBox.css → trees/common/internal/Types.js} +2 -4
  167. package/lib/esm/tree-widget-react/components/trees/common/internal/Types.js.map +1 -0
  168. package/lib/esm/tree-widget-react/components/trees/common/internal/UseActiveTreeWidgetViewport.d.ts +6 -0
  169. package/lib/esm/tree-widget-react/components/trees/common/internal/UseActiveTreeWidgetViewport.js +24 -0
  170. package/lib/esm/tree-widget-react/components/trees/common/internal/UseActiveTreeWidgetViewport.js.map +1 -0
  171. package/lib/esm/tree-widget-react/components/trees/common/{UseHierarchiesLocalization.d.ts → internal/UseHierarchiesLocalization.d.ts} +3 -2
  172. package/lib/esm/tree-widget-react/components/trees/common/{UseHierarchiesLocalization.js → internal/UseHierarchiesLocalization.js} +6 -2
  173. package/lib/esm/tree-widget-react/components/trees/common/internal/UseHierarchiesLocalization.js.map +1 -0
  174. package/lib/esm/tree-widget-react/components/trees/common/{UseHierarchyFiltering.d.ts → internal/UseHierarchyFiltering.d.ts} +1 -1
  175. package/lib/esm/tree-widget-react/components/trees/common/{UseHierarchyFiltering.js → internal/UseHierarchyFiltering.js} +5 -4
  176. package/lib/esm/tree-widget-react/components/trees/common/internal/UseHierarchyFiltering.js.map +1 -0
  177. package/lib/esm/tree-widget-react/components/trees/common/internal/UseIModelAccess.d.ts +17 -0
  178. package/lib/esm/tree-widget-react/components/trees/common/internal/UseIModelAccess.js +32 -0
  179. package/lib/esm/tree-widget-react/components/trees/common/internal/UseIModelAccess.js.map +1 -0
  180. package/lib/esm/tree-widget-react/components/trees/common/{UseIModelChangeListener.d.ts → internal/UseIModelChangeListener.d.ts} +1 -0
  181. package/lib/esm/tree-widget-react/components/trees/common/{UseIModelChangeListener.js → internal/UseIModelChangeListener.js} +1 -0
  182. package/lib/esm/tree-widget-react/components/trees/common/internal/UseIModelChangeListener.js.map +1 -0
  183. package/lib/esm/tree-widget-react/components/trees/common/internal/Utils.d.ts +70 -0
  184. package/lib/esm/tree-widget-react/components/trees/common/internal/Utils.js +172 -0
  185. package/lib/esm/tree-widget-react/components/trees/common/internal/Utils.js.map +1 -0
  186. package/lib/esm/tree-widget-react/components/trees/common/internal/VisibilityChangeEventListener.d.ts +20 -0
  187. package/lib/esm/tree-widget-react/components/trees/common/internal/VisibilityChangeEventListener.js +60 -0
  188. package/lib/esm/tree-widget-react/components/trees/common/internal/VisibilityChangeEventListener.js.map +1 -0
  189. package/lib/esm/tree-widget-react/components/trees/common/internal/VisibilityUtils.d.ts +39 -0
  190. package/lib/esm/tree-widget-react/components/trees/common/internal/VisibilityUtils.js +160 -0
  191. package/lib/esm/tree-widget-react/components/trees/common/internal/VisibilityUtils.js.map +1 -0
  192. package/lib/esm/tree-widget-react/components/trees/common/internal/useGuid.d.ts +3 -0
  193. package/lib/esm/tree-widget-react/components/trees/common/internal/useGuid.js +12 -0
  194. package/lib/esm/tree-widget-react/components/trees/common/internal/useGuid.js.map +1 -0
  195. package/lib/esm/tree-widget-react/components/trees/common/internal/useTreeHooks/UseCachedVisibility.d.ts +68 -0
  196. package/lib/esm/tree-widget-react/components/trees/common/internal/useTreeHooks/UseCachedVisibility.js +170 -0
  197. package/lib/esm/tree-widget-react/components/trees/common/internal/useTreeHooks/UseCachedVisibility.js.map +1 -0
  198. package/lib/esm/tree-widget-react/components/trees/common/internal/useTreeHooks/UseIdsCache.d.ts +20 -0
  199. package/lib/esm/tree-widget-react/components/trees/common/internal/useTreeHooks/UseIdsCache.js +46 -0
  200. package/lib/esm/tree-widget-react/components/trees/common/internal/useTreeHooks/UseIdsCache.js.map +1 -0
  201. package/lib/esm/tree-widget-react/components/trees/common/internal/visibility/BaseFilteredTree.d.ts +91 -0
  202. package/lib/esm/tree-widget-react/components/trees/common/internal/visibility/BaseFilteredTree.js +112 -0
  203. package/lib/esm/tree-widget-react/components/trees/common/internal/visibility/BaseFilteredTree.js.map +1 -0
  204. package/lib/esm/tree-widget-react/components/trees/common/internal/visibility/BaseVisibilityHelper.d.ts +236 -0
  205. package/lib/esm/tree-widget-react/components/trees/common/internal/visibility/BaseVisibilityHelper.js +600 -0
  206. package/lib/esm/tree-widget-react/components/trees/common/internal/visibility/BaseVisibilityHelper.js.map +1 -0
  207. package/lib/esm/tree-widget-react/components/trees/common/useGuid.d.ts +2 -0
  208. package/lib/esm/tree-widget-react/components/trees/common/useGuid.js +11 -0
  209. package/lib/esm/tree-widget-react/components/trees/common/useGuid.js.map +1 -0
  210. package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTree.d.ts +7 -2
  211. package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTree.js +29 -20
  212. package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -1
  213. package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeComponent.d.ts +2 -6
  214. package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js +2 -2
  215. package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -1
  216. package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeDefinition.d.ts +5 -6
  217. package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeDefinition.js +36 -21
  218. package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeDefinition.js.map +1 -1
  219. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTree.d.ts +9 -2
  220. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTree.js +48 -36
  221. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -1
  222. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +2 -6
  223. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeComponent.js +2 -2
  224. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -1
  225. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeDefinition.d.ts +13 -4
  226. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeDefinition.js +80 -74
  227. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +1 -1
  228. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.d.ts +7 -10
  229. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js +45 -36
  230. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js.map +1 -1
  231. package/lib/esm/tree-widget-react/components/trees/index.d.ts +16 -5
  232. package/lib/esm/tree-widget-react/components/trees/index.js +16 -4
  233. package/lib/esm/tree-widget-react/components/trees/index.js.map +1 -1
  234. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTree.d.ts +3 -3
  235. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTree.js +3 -2
  236. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTree.js.map +1 -1
  237. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeButtons.d.ts +3 -3
  238. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeButtons.js +34 -24
  239. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeButtons.js.map +1 -1
  240. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeComponent.d.ts +14 -7
  241. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeComponent.js +11 -7
  242. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
  243. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeDefinition.d.ts +24 -20
  244. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeDefinition.js +193 -154
  245. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeDefinition.js.map +1 -1
  246. package/lib/esm/tree-widget-react/components/trees/models-tree/UseModelsTree.d.ts +60 -10
  247. package/lib/esm/tree-widget-react/components/trees/models-tree/UseModelsTree.js +97 -238
  248. package/lib/esm/tree-widget-react/components/trees/models-tree/UseModelsTree.js.map +1 -1
  249. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeIdsCache.d.ts +22 -25
  250. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeIdsCache.js +280 -298
  251. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeIdsCache.js.map +1 -1
  252. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeNode.d.ts +1 -1
  253. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeNode.js.map +1 -1
  254. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/UseFilteredPaths.d.ts +41 -0
  255. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/UseFilteredPaths.js +253 -0
  256. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/UseFilteredPaths.js.map +1 -0
  257. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/visibility/FilteredTree.d.ts +27 -0
  258. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/visibility/FilteredTree.js +148 -0
  259. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/visibility/FilteredTree.js.map +1 -0
  260. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/visibility/ModelsTreeVisibilityHandler.d.ts +76 -0
  261. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/visibility/ModelsTreeVisibilityHandler.js +269 -0
  262. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/visibility/ModelsTreeVisibilityHandler.js.map +1 -0
  263. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/visibility/ModelsTreeVisibilityHelper.d.ts +53 -0
  264. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/visibility/ModelsTreeVisibilityHelper.js +71 -0
  265. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/visibility/ModelsTreeVisibilityHelper.js.map +1 -0
  266. package/lib/esm/tree-widget-react-internal.d.ts +12 -0
  267. package/lib/esm/tree-widget-react-internal.js +18 -0
  268. package/lib/esm/tree-widget-react-internal.js.map +1 -0
  269. package/lib/public/locales/en/TreeWidget.json +41 -54
  270. package/package.json +76 -79
  271. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesVisibilityHandler.d.ts +0 -28
  272. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesVisibilityHandler.js +0 -87
  273. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesVisibilityHandler.js.map +0 -1
  274. package/lib/esm/tree-widget-react/components/trees/common/FocusedInstancesContextProvider.d.ts +0 -7
  275. package/lib/esm/tree-widget-react/components/trees/common/FocusedInstancesContextProvider.js +0 -66
  276. package/lib/esm/tree-widget-react/components/trees/common/FocusedInstancesContextProvider.js.map +0 -1
  277. package/lib/esm/tree-widget-react/components/trees/common/Rxjs.js.map +0 -1
  278. package/lib/esm/tree-widget-react/components/trees/common/Tooltip.js +0 -24
  279. package/lib/esm/tree-widget-react/components/trees/common/Tooltip.js.map +0 -1
  280. package/lib/esm/tree-widget-react/components/trees/common/UseActiveViewport.d.ts +0 -7
  281. package/lib/esm/tree-widget-react/components/trees/common/UseActiveViewport.js +0 -21
  282. package/lib/esm/tree-widget-react/components/trees/common/UseActiveViewport.js.map +0 -1
  283. package/lib/esm/tree-widget-react/components/trees/common/UseFiltering.d.ts +0 -11
  284. package/lib/esm/tree-widget-react/components/trees/common/UseFiltering.js +0 -24
  285. package/lib/esm/tree-widget-react/components/trees/common/UseFiltering.js.map +0 -1
  286. package/lib/esm/tree-widget-react/components/trees/common/UseHierarchiesLocalization.js.map +0 -1
  287. package/lib/esm/tree-widget-react/components/trees/common/UseHierarchyFiltering.js.map +0 -1
  288. package/lib/esm/tree-widget-react/components/trees/common/UseIModelChangeListener.js.map +0 -1
  289. package/lib/esm/tree-widget-react/components/trees/common/UseNodeHighlighting.d.ts +0 -20
  290. package/lib/esm/tree-widget-react/components/trees/common/UseNodeHighlighting.js +0 -127
  291. package/lib/esm/tree-widget-react/components/trees/common/UseNodeHighlighting.js.map +0 -1
  292. package/lib/esm/tree-widget-react/components/trees/common/components/EmptyTreeContent.d.ts +0 -7
  293. package/lib/esm/tree-widget-react/components/trees/common/components/EmptyTreeContent.js +0 -12
  294. package/lib/esm/tree-widget-react/components/trees/common/components/EmptyTreeContent.js.map +0 -1
  295. package/lib/esm/tree-widget-react/components/trees/models-tree/Utils.d.ts +0 -7
  296. package/lib/esm/tree-widget-react/components/trees/models-tree/Utils.js +0 -21
  297. package/lib/esm/tree-widget-react/components/trees/models-tree/Utils.js.map +0 -1
  298. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.d.ts +0 -29
  299. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js +0 -138
  300. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js.map +0 -1
  301. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/FilteredTree.d.ts +0 -25
  302. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/FilteredTree.js +0 -173
  303. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/FilteredTree.js.map +0 -1
  304. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.d.ts +0 -106
  305. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js +0 -663
  306. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +0 -1
  307. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/VisibilityChangeEventListener.d.ts +0 -12
  308. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/VisibilityChangeEventListener.js +0 -48
  309. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/VisibilityChangeEventListener.js.map +0 -1
@@ -0,0 +1,71 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { defer, mergeMap, of } from "rxjs";
6
+ import { createVisibilityStatus } from "../../../common/internal/Tooltip.js";
7
+ import { BaseVisibilityHelper } from "../../../common/internal/visibility/BaseVisibilityHelper.js";
8
+ import { mergeVisibilityStatuses } from "../../../common/internal/VisibilityUtils.js";
9
+ /**
10
+ * Visibility status helper for models tree.
11
+ *
12
+ * It extends base visibility status helper and provides methods to get and change visibility status of subjects and grouped elements.
13
+ * @internal
14
+ */
15
+ export class ModelsTreeVisibilityHelper extends BaseVisibilityHelper {
16
+ #props;
17
+ constructor(props) {
18
+ super(props);
19
+ this.#props = props;
20
+ }
21
+ /**
22
+ * Gets visibility status of subjects.
23
+ *
24
+ * Determines visibility status by checking visibility status of related models.
25
+ */
26
+ getSubjectsVisibilityStatus(props) {
27
+ const result = defer(() => {
28
+ const { subjectIds } = props;
29
+ if (this.#props.viewport.viewType !== "3d") {
30
+ return of(createVisibilityStatus("disabled"));
31
+ }
32
+ return this.#props.idsCache.getSubjectModelIds(subjectIds).pipe(mergeMap((modelIds) => this.getModelsVisibilityStatus({ modelIds, type: "GeometricModel3d" })), mergeVisibilityStatuses);
33
+ });
34
+ return this.#props.overrideHandler
35
+ ? this.#props.overrideHandler.createVisibilityHandlerResult({
36
+ overrideProps: props,
37
+ nonOverriddenResult: result,
38
+ override: this.#props.overrides?.getSubjectsVisibilityStatus,
39
+ })
40
+ : result;
41
+ }
42
+ /** Gets visibility status of grouped elements */
43
+ getGroupedElementsVisibilityStatus(props) {
44
+ const { modelId, categoryId, elementIds } = props;
45
+ return this.getElementsVisibilityStatus({ elementIds, modelId, categoryId, type: "GeometricElement3d" });
46
+ }
47
+ /**
48
+ * Changes visibility status of subjects.
49
+ *
50
+ * Does this by changing visibility status of related models.
51
+ */
52
+ changeSubjectsVisibilityStatus(props) {
53
+ const result = defer(() => {
54
+ const { on, subjectIds } = props;
55
+ return this.#props.idsCache.getSubjectModelIds(subjectIds).pipe(mergeMap((modelIds) => this.changeModelsVisibilityStatus({ modelIds, on })));
56
+ });
57
+ return this.#props.overrideHandler
58
+ ? this.#props.overrideHandler.createVisibilityHandlerResult({
59
+ overrideProps: props,
60
+ nonOverriddenResult: result,
61
+ override: this.#props.overrides?.changeSubjectsVisibilityStatus,
62
+ })
63
+ : result;
64
+ }
65
+ /** Changes visibility of grouped elements. */
66
+ changeGroupedElementsVisibilityStatus(props) {
67
+ const { modelId, categoryId, elementIds, on } = props;
68
+ return this.changeElementsVisibilityStatus({ modelId, elementIds, categoryId, on });
69
+ }
70
+ }
71
+ //# sourceMappingURL=ModelsTreeVisibilityHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelsTreeVisibilityHelper.js","sourceRoot":"","sources":["../../../../../../../../src/tree-widget-react/components/trees/models-tree/internal/visibility/ModelsTreeVisibilityHelper.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AAetF;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,oBAAoB;IAClE,MAAM,CAAkC;IACxC,YAAY,KAAsC;QAChD,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACI,2BAA2B,CAAC,KAA8B;QAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE;YACxB,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;YAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC3C,OAAO,EAAE,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC;YAChD,CAAC;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,IAAI,CAC7D,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC,EAC9F,uBAAuB,CACxB,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe;YAChC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,6BAA6B,CAAC;gBACxD,aAAa,EAAE,KAAK;gBACpB,mBAAmB,EAAE,MAAM;gBAC3B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,2BAA2B;aAC7D,CAAC;YACJ,CAAC,CAAC,MAAM,CAAC;IACb,CAAC;IAED,iDAAiD;IAC1C,kCAAkC,CAAC,KAA2E;QACnH,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAClD,OAAO,IAAI,CAAC,2BAA2B,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED;;;;OAIG;IACI,8BAA8B,CAAC,KAA2C;QAC/E,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE;YACxB,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;YACjC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/I,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe;YAChC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,6BAA6B,CAAC;gBACxD,aAAa,EAAE,KAAK;gBACpB,mBAAmB,EAAE,MAAM;gBAC3B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,8BAA8B;aAChE,CAAC;YACJ,CAAC,CAAC,MAAM,CAAC;IACb,CAAC;IAED,8CAA8C;IACvC,qCAAqC,CAAC,KAAwF;QACnI,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;QACtD,OAAO,IAAI,CAAC,8BAA8B,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC;CACF","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 { defer, mergeMap, of } from \"rxjs\";\nimport { createVisibilityStatus } from \"../../../common/internal/Tooltip.js\";\nimport { BaseVisibilityHelper } from \"../../../common/internal/visibility/BaseVisibilityHelper.js\";\nimport { mergeVisibilityStatuses } from \"../../../common/internal/VisibilityUtils.js\";\n\nimport type { Observable } from \"rxjs\";\nimport type { Id64Arg, Id64String } from \"@itwin/core-bentley\";\nimport type { BaseVisibilityHelperProps } from \"../../../common/internal/visibility/BaseVisibilityHelper.js\";\nimport type { VisibilityStatus } from \"../../../common/UseHierarchyVisibility.js\";\nimport type { ModelsTreeIdsCache } from \"../ModelsTreeIdsCache.js\";\nimport type { ModelsTreeVisibilityHandlerOverrides } from \"./ModelsTreeVisibilityHandler.js\";\n\n/** @internal */\nexport type ModelsTreeVisibilityHelperProps = BaseVisibilityHelperProps & {\n idsCache: ModelsTreeIdsCache;\n overrides?: ModelsTreeVisibilityHandlerOverrides;\n};\n\n/**\n * Visibility status helper for models tree.\n *\n * It extends base visibility status helper and provides methods to get and change visibility status of subjects and grouped elements.\n * @internal\n */\nexport class ModelsTreeVisibilityHelper extends BaseVisibilityHelper {\n #props: ModelsTreeVisibilityHelperProps;\n constructor(props: ModelsTreeVisibilityHelperProps) {\n super(props);\n this.#props = props;\n }\n\n /**\n * Gets visibility status of subjects.\n *\n * Determines visibility status by checking visibility status of related models.\n */\n public getSubjectsVisibilityStatus(props: { subjectIds: Id64Arg }): Observable<VisibilityStatus> {\n const result = defer(() => {\n const { subjectIds } = props;\n if (this.#props.viewport.viewType !== \"3d\") {\n return of(createVisibilityStatus(\"disabled\"));\n }\n\n return this.#props.idsCache.getSubjectModelIds(subjectIds).pipe(\n mergeMap((modelIds) => this.getModelsVisibilityStatus({ modelIds, type: \"GeometricModel3d\" })),\n mergeVisibilityStatuses,\n );\n });\n return this.#props.overrideHandler\n ? this.#props.overrideHandler.createVisibilityHandlerResult({\n overrideProps: props,\n nonOverriddenResult: result,\n override: this.#props.overrides?.getSubjectsVisibilityStatus,\n })\n : result;\n }\n\n /** Gets visibility status of grouped elements */\n public getGroupedElementsVisibilityStatus(props: { modelId: Id64String; categoryId: Id64String; elementIds: Id64Arg }): Observable<VisibilityStatus> {\n const { modelId, categoryId, elementIds } = props;\n return this.getElementsVisibilityStatus({ elementIds, modelId, categoryId, type: \"GeometricElement3d\" });\n }\n\n /**\n * Changes visibility status of subjects.\n *\n * Does this by changing visibility status of related models.\n */\n public changeSubjectsVisibilityStatus(props: { subjectIds: Id64Arg; on: boolean }): Observable<void> {\n const result = defer(() => {\n const { on, subjectIds } = props;\n return this.#props.idsCache.getSubjectModelIds(subjectIds).pipe(mergeMap((modelIds) => this.changeModelsVisibilityStatus({ modelIds, on })));\n });\n return this.#props.overrideHandler\n ? this.#props.overrideHandler.createVisibilityHandlerResult({\n overrideProps: props,\n nonOverriddenResult: result,\n override: this.#props.overrides?.changeSubjectsVisibilityStatus,\n })\n : result;\n }\n\n /** Changes visibility of grouped elements. */\n public changeGroupedElementsVisibilityStatus(props: { modelId: Id64String; categoryId: Id64String; elementIds: Id64Arg; on: boolean }): Observable<void> {\n const { modelId, categoryId, elementIds, on } = props;\n return this.changeElementsVisibilityStatus({ modelId, elementIds, categoryId, on });\n }\n}\n"]}
@@ -0,0 +1,12 @@
1
+ export { toVoidPromise, collect } from "./tree-widget-react/components/trees/common/internal/Rxjs.js";
2
+ export { ModelsTreeDefinition, defaultHierarchyConfiguration as defaultModelsTreeHierarchyConfiguration, } from "./tree-widget-react/components/trees/models-tree/ModelsTreeDefinition.js";
3
+ export { ModelsTreeIdsCache } from "./tree-widget-react/components/trees/models-tree/internal/ModelsTreeIdsCache.js";
4
+ export { createModelsTreeVisibilityHandler } from "./tree-widget-react/components/trees/models-tree/internal/visibility/ModelsTreeVisibilityHandler.js";
5
+ export { CategoriesTreeDefinition, defaultHierarchyConfiguration as defaultCategoriesTreeHierarchyConfiguration, } from "./tree-widget-react/components/trees/categories-tree/CategoriesTreeDefinition.js";
6
+ export { CategoriesTreeIdsCache } from "./tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeIdsCache.js";
7
+ export { createCategoriesTreeVisibilityHandler } from "./tree-widget-react/components/trees/categories-tree/internal/visibility/CategoriesTreeVisibilityHandler.js";
8
+ export { CategoriesTreeNode } from "./tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeNode.js";
9
+ export { ClassificationsTreeDefinition } from "./tree-widget-react/components/trees/classifications-tree/ClassificationsTreeDefinition.js";
10
+ export { ClassificationsTreeIdsCache } from "./tree-widget-react/components/trees/classifications-tree/internal/ClassificationsTreeIdsCache.js";
11
+ export { releaseMainThreadOnItemsCount } from "./tree-widget-react/components/trees/common/internal/Utils.js";
12
+ //# sourceMappingURL=tree-widget-react-internal.d.ts.map
@@ -0,0 +1,18 @@
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
+ // WARNING: This barrel file exports internal APIs only for use by `@itwin/presentation-backend` and `@itwin/presentation-frontend` packages.
6
+ // They should not be used outside of these packages. These APIs may be broken or removed at any time without notice.
7
+ export { toVoidPromise, collect } from "./tree-widget-react/components/trees/common/internal/Rxjs.js";
8
+ export { ModelsTreeDefinition, defaultHierarchyConfiguration as defaultModelsTreeHierarchyConfiguration, } from "./tree-widget-react/components/trees/models-tree/ModelsTreeDefinition.js";
9
+ export { ModelsTreeIdsCache } from "./tree-widget-react/components/trees/models-tree/internal/ModelsTreeIdsCache.js";
10
+ export { createModelsTreeVisibilityHandler } from "./tree-widget-react/components/trees/models-tree/internal/visibility/ModelsTreeVisibilityHandler.js";
11
+ export { CategoriesTreeDefinition, defaultHierarchyConfiguration as defaultCategoriesTreeHierarchyConfiguration, } from "./tree-widget-react/components/trees/categories-tree/CategoriesTreeDefinition.js";
12
+ export { CategoriesTreeIdsCache } from "./tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeIdsCache.js";
13
+ export { createCategoriesTreeVisibilityHandler } from "./tree-widget-react/components/trees/categories-tree/internal/visibility/CategoriesTreeVisibilityHandler.js";
14
+ export { CategoriesTreeNode } from "./tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeNode.js";
15
+ export { ClassificationsTreeDefinition } from "./tree-widget-react/components/trees/classifications-tree/ClassificationsTreeDefinition.js";
16
+ export { ClassificationsTreeIdsCache } from "./tree-widget-react/components/trees/classifications-tree/internal/ClassificationsTreeIdsCache.js";
17
+ export { releaseMainThreadOnItemsCount } from "./tree-widget-react/components/trees/common/internal/Utils.js";
18
+ //# sourceMappingURL=tree-widget-react-internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-widget-react-internal.js","sourceRoot":"","sources":["../../src/tree-widget-react-internal.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,6IAA6I;AAC7I,qHAAqH;AAErH,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,8DAA8D,CAAC;AAEtG,OAAO,EACL,oBAAoB,EACpB,6BAA6B,IAAI,uCAAuC,GACzE,MAAM,0EAA0E,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iFAAiF,CAAC;AACrH,OAAO,EAAE,iCAAiC,EAAE,MAAM,qGAAqG,CAAC;AAExJ,OAAO,EACL,wBAAwB,EACxB,6BAA6B,IAAI,2CAA2C,GAC7E,MAAM,kFAAkF,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,yFAAyF,CAAC;AACjI,OAAO,EAAE,qCAAqC,EAAE,MAAM,6GAA6G,CAAC;AACpK,OAAO,EAAE,kBAAkB,EAAE,MAAM,qFAAqF,CAAC;AAEzH,OAAO,EAAE,6BAA6B,EAAE,MAAM,4FAA4F,CAAC;AAC3I,OAAO,EAAE,2BAA2B,EAAE,MAAM,mGAAmG,CAAC;AAChJ,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\n// WARNING: This barrel file exports internal APIs only for use by `@itwin/presentation-backend` and `@itwin/presentation-frontend` packages.\n// They should not be used outside of these packages. These APIs may be broken or removed at any time without notice.\n\nexport { toVoidPromise, collect } from \"./tree-widget-react/components/trees/common/internal/Rxjs.js\";\n\nexport {\n ModelsTreeDefinition,\n defaultHierarchyConfiguration as defaultModelsTreeHierarchyConfiguration,\n} from \"./tree-widget-react/components/trees/models-tree/ModelsTreeDefinition.js\";\nexport { ModelsTreeIdsCache } from \"./tree-widget-react/components/trees/models-tree/internal/ModelsTreeIdsCache.js\";\nexport { createModelsTreeVisibilityHandler } from \"./tree-widget-react/components/trees/models-tree/internal/visibility/ModelsTreeVisibilityHandler.js\";\n\nexport {\n CategoriesTreeDefinition,\n defaultHierarchyConfiguration as defaultCategoriesTreeHierarchyConfiguration,\n} from \"./tree-widget-react/components/trees/categories-tree/CategoriesTreeDefinition.js\";\nexport { CategoriesTreeIdsCache } from \"./tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeIdsCache.js\";\nexport { createCategoriesTreeVisibilityHandler } from \"./tree-widget-react/components/trees/categories-tree/internal/visibility/CategoriesTreeVisibilityHandler.js\";\nexport { CategoriesTreeNode } from \"./tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeNode.js\";\n\nexport { ClassificationsTreeDefinition } from \"./tree-widget-react/components/trees/classifications-tree/ClassificationsTreeDefinition.js\";\nexport { ClassificationsTreeIdsCache } from \"./tree-widget-react/components/trees/classifications-tree/internal/ClassificationsTreeIdsCache.js\";\nexport { releaseMainThreadOnItemsCount } from \"./tree-widget-react/components/trees/common/internal/Utils.js\";\n"]}
@@ -13,6 +13,10 @@
13
13
  "previous": "Previous"
14
14
  }
15
15
  },
16
+ "loading": {
17
+ "filter": "Filtering in progress",
18
+ "skeleton": "Loading tree"
19
+ },
16
20
  "selectableTree": {
17
21
  "noTrees": "There are no trees available for this iModel."
18
22
  },
@@ -23,49 +27,11 @@
23
27
  },
24
28
  "visibilityTooltips": {
25
29
  "status": {
26
- "visible": "Visible",
27
- "hidden": "Hidden",
30
+ "visible": "Hide",
31
+ "hidden": "Show",
28
32
  "disabled": "Disabled",
29
- "partial": "Partially visible"
30
- },
31
- "modelsTree": {
32
- "subject": {
33
- "nonSpatialView": "Active view is not spatial",
34
- "allModelsHidden": "All models are hidden",
35
- "someModelsHidden": "Some models are hidden",
36
- "allModelsVisible": "All models are visible"
37
- },
38
- "model": {
39
- "nonSpatialView": "Active view is not spatial",
40
- "hiddenThroughModelSelector": "Model display is hidden through model selector",
41
- "someCategoriesHidden": "Some categories are visible and some are hidden",
42
- "allCategoriesVisible": "All categories visible",
43
- "allCategoriesHidden": "All categories hidden"
44
- },
45
- "category": {
46
- "displayedThroughPerModelOverride": "Per-model category override set to 'Show'",
47
- "hiddenThroughPerModelOverride": "Per-model category override set to 'Hide'",
48
- "displayedThroughCategorySelector": "Category display enabled through category selector",
49
- "hiddenThroughCategorySelector": "Category display disabled through category selector",
50
- "allElementsHidden": "All category elements are in the never drawn list or none of the category elements are in the exclusive always drawn list",
51
- "someElementsAreHidden": "There are both visible and hidden elements in this category",
52
- "allElementsVisible": "All category elements are in the always drawn list",
53
- "hiddenThroughModel": "Model is hidden"
54
- },
55
- "element": {
56
- "hiddenThroughNeverDrawnList": "Element(s) in \"never drawn\" list",
57
- "displayedThroughAlwaysDrawnList": "Element(s) in \"always drawn\" list",
58
- "hiddenDueToOtherElementsExclusivelyAlwaysDrawn": "Other elements in \"exclusively always drawn\" list",
59
- "hiddenThroughModel": "Model is not displayed",
60
- "hiddenThroughCategory": "Category is not displayed"
61
- },
62
- "groupingNode": {
63
- "allElementsHidden": "All elements are in the never drawn list or none of the elements are in the exclusive always drawn list",
64
- "someElementsAreHidden": "There are both visible and hidden elements",
65
- "allElementsVisible": "All elements are in the always drawn list",
66
- "visibleThroughCategory": "All elements are visible through category",
67
- "hiddenThroughCategory": "All elements are hidden through category"
68
- }
33
+ "partial": "Show",
34
+ "determining": "Determining visibility..."
69
35
  }
70
36
  },
71
37
  "categoriesTree": {
@@ -82,9 +48,21 @@
82
48
  }
83
49
  },
84
50
  "filtering": {
85
- "noMatches": "There are no categories matching filter \"{{filter}}\"",
51
+ "noMatches": "No results were found for your search query.",
52
+ "noMatchesRetry": "Please modify your search and try again.",
53
+ "unknownFilterError": "An unknown error occurred while filtering the tree.",
54
+ "tooManyFilterMatches": "There are too many matches for your search query.",
55
+ "tooManyFilterMatchesRetry": "Please refine your search and try again."
56
+ }
57
+ },
58
+ "classificationsTree": {
59
+ "label": "Classifications",
60
+ "filtering": {
61
+ "noMatches": "No results were found for your search query.",
62
+ "noMatchesRetry": "Please modify your search and try again.",
86
63
  "unknownFilterError": "An unknown error occurred while filtering the tree.",
87
- "tooManyFilterMatches": "There are too many matches for the given filter. Please be more specific."
64
+ "tooManyFilterMatches": "There are too many matches for your search query.",
65
+ "tooManyFilterMatchesRetry": "Please refine your search and try again."
88
66
  }
89
67
  },
90
68
  "modelsTree": {
@@ -119,12 +97,18 @@
119
97
  }
120
98
  }
121
99
  },
100
+ "subTree": {
101
+ "unknownSubTreeError": "An unknown error occurred while creating a sub-tree."
102
+ },
122
103
  "filtering": {
123
- "noMatches": "There are no nodes matching filter \"{{filter}}\"",
104
+ "noMatches": "No results were found for your search query.",
105
+ "noMatchesRetry": "Please modify your search and try again.",
124
106
  "unknownFilterError": "An unknown error occurred while filtering the tree.",
125
- "unknownInstanceFocusError": "An unknown error occurred while focusing instances. <link>Disable the focus mode</link>.",
126
- "tooManyFilterMatches": "There are too many matches for the given filter. Please be more specific.",
127
- "tooManyInstancesFocused": "There are too many elements selected for focus mode. Please select fewer elements or <link>disable the focus mode</link>."
107
+ "unknownInstanceFocusError": "An unknown error occurred while focusing instances.",
108
+ "tooManyFilterMatches": "There are too many matches for your search query.",
109
+ "tooManyFilterMatchesRetry": "Please refine your search and try again.",
110
+ "tooManyInstancesFocused": "There are too many elements selected for focus mode.",
111
+ "disableInstanceFocusMode": "Disable the focus mode"
128
112
  }
129
113
  },
130
114
  "imodelContentTree": {
@@ -146,12 +130,15 @@
146
130
  "other": "Other",
147
131
  "loading": "Loading...",
148
132
  "filterHierarchyLevel": "Apply filter",
149
- "clearHierarchyLevelFilter": "Clear active filter",
150
- "noFilteredChildren": "No child nodes match current filter",
151
- "resultLimitExceeded": "There are more items than allowed limit of {{limit}}.",
152
- "resultLimitExceededWithFiltering": "Please provide <link>additional filtering</link> - there are more items than allowed limit of {{limit}}.",
153
- "increaseHierarchyLimit": "<link>Increase the hierarchy level size limit to {{limit}}.</link>",
154
- "increaseHierarchyLimitWithFiltering": "Or, <link>increase the hierarchy level size limit to {{limit}}.</link>",
133
+ "filterHierarchyLevelActiveDescription": "Filter is applied",
134
+ "noFilteredChildrenChangeFilter": "Change filter",
135
+ "failedToCreateHierarchy": "Failed to create hierarchy for {{node}}.",
136
+ "clearHierarchyLevelFilter": "Clear active filter.",
137
+ "noFilteredChildren": "No matches for current filter for {{node}}.",
138
+ "resultLimitExceeded": "The hierarchy for {{node}} contains {{limit}}+ items. Try using filters or increase the limit.",
139
+ "issuesFound": "{{number_of_issues}} issue(s) found",
140
+ "increaseHierarchyLimit": "Increase limit to {{limit}}",
141
+ "increaseHierarchyLimitWithFiltering": "Add Filter",
155
142
  "retry": "Retry"
156
143
  }
157
144
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/tree-widget-react",
3
- "version": "4.0.0-alpha.2",
3
+ "version": "4.0.0-alpha.20",
4
4
  "description": "Tree Widget React",
5
5
  "keywords": [
6
6
  "Bentley",
@@ -23,15 +23,19 @@
23
23
  ".": {
24
24
  "import": "./lib/esm/tree-widget-react.js"
25
25
  },
26
+ "./internal": {
27
+ "import": "./lib/esm/tree-widget-react-internal.js",
28
+ "require": "./lib/cjs/tree-widget-react-internal.js"
29
+ },
26
30
  "./package.json": "./package.json"
27
31
  },
28
32
  "scripts": {
29
- "build": "npm run -s dual-build && npm run -s copy:assets",
30
- "dual-build": "npm run -s build:esm",
33
+ "build": "npm run -s build:esm && npm run -s copy:assets",
31
34
  "build:esm": "tsc 1>&2 -p tsconfig.esm.json",
32
35
  "copy:assets": "npm run -s copy:public && npm run -s copy:esm",
33
36
  "copy:public": "cpx \"./public/**/*\" ./lib/public",
34
37
  "copy:esm": "cpx \"./src/**/*.{css,scss,json}\" ./lib/esm",
38
+ "cover": "c8 npm run test",
35
39
  "extract-api": "betools extract-api --entry=lib/esm/tree-widget-react --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api --includeUnexportedApis",
36
40
  "check-internal": "node ../../../scripts/checkInternal.js --apiSummary ./api/tree-widget-react.api.md",
37
41
  "lint": "npm run lint:eslint && npm run lint:stylelint",
@@ -39,6 +43,8 @@
39
43
  "lint:stylelint": "stylelint \"./src/**/*.css\"",
40
44
  "lint:fix": "npm run lint:eslint -- --fix && npm run lint:stylelint -- --fix",
41
45
  "pseudolocalize": "betools pseudolocalize --englishDir ./public/locales/en --out ./lib/public/locales/en-PSEUDO",
46
+ "test:dev": "node --experimental-test-module-mocks --enable-source-maps --import ../../../node-hooks/ignore-styles/register.cjs ./node_modules/mocha/bin/mocha.js --config ./.mocharc.json",
47
+ "test": "npm run test:dev -- --parallel --jobs=4",
42
48
  "test:e2e": "node ../../../scripts/run-e2e-with-docker.js tree-widget",
43
49
  "test:e2e:local": "node ../../../scripts/run-e2e-tests.js",
44
50
  "test:e2e:debug": "cross-env PWDEBUG=1 playwright test --ui",
@@ -48,98 +54,97 @@
48
54
  "check-extractions": "node ../../../scripts/updateExtractions.js --targets=./README.md --check"
49
55
  },
50
56
  "peerDependencies": {
51
- "@itwin/appui-abstract": "^4.0.0",
52
- "@itwin/appui-react": "^4.10.0 || ^5.0.0",
53
- "@itwin/components-react": "^4.10.0 || ^5.0.0",
54
- "@itwin/core-frontend": "^4.0.0",
55
- "@itwin/ecschema-metadata": "^4.0.0",
56
- "@itwin/itwinui-react": "^5.0.0-alpha.7",
57
- "@itwin/itwinui-icons": "^5.0.0-alpha.3",
58
- "@itwin/presentation-components": "^5.0.0",
59
- "react": "^17.0.0 || ^18.0.0",
60
- "react-dom": "^17.0.0 || ^18.0.0"
57
+ "@itwin/appui-abstract": "^5.0.0",
58
+ "@itwin/appui-react": "^5.5.0",
59
+ "@itwin/core-bentley": "^5.0.0",
60
+ "@itwin/components-react": "^5.5.0",
61
+ "@itwin/core-common": "^5.0.0",
62
+ "@itwin/core-frontend": "^5.0.0",
63
+ "@itwin/ecschema-metadata": "^5.0.0",
64
+ "@stratakit/foundations": "^0.4",
65
+ "@stratakit/bricks": "^0.5",
66
+ "@stratakit/structures": "^0.5",
67
+ "@stratakit/icons": "^0.2",
68
+ "@itwin/presentation-common": "^5.0.0",
69
+ "@itwin/presentation-components": "^5.12.0",
70
+ "react": "^18.0.0",
71
+ "react-dom": "^18.0.0"
61
72
  },
62
73
  "dependencies": {
63
- "@itwin/itwinui-icons-react": "^2.9.0",
64
- "@itwin/itwinui-illustrations-react": "^2.1.0",
65
- "@itwin/presentation-core-interop": "^1.2.0",
66
- "@itwin/presentation-hierarchies": "^1.4.1",
67
- "@itwin/presentation-hierarchies-react": "^2.0.0-alpha.5",
68
- "@itwin/presentation-shared": "^1.2.0",
69
- "@itwin/unified-selection": "^1.3.0",
70
- "@itwin/unified-selection-react": "^1.0.0",
74
+ "@itwin/presentation-core-interop": "^1.4.0-alpha.3",
75
+ "@itwin/presentation-hierarchies": "^2.0.0-alpha.6",
76
+ "@itwin/presentation-hierarchies-react": "2.0.0-alpha.44",
77
+ "@itwin/presentation-shared": "^2.0.0-alpha.4",
78
+ "@itwin/unified-selection": "^1.6.2-alpha.0",
71
79
  "classnames": "^2.5.1",
72
- "react-error-boundary": "^4.1.2",
80
+ "react-error-boundary": "^5.0.0",
73
81
  "rxjs": "^7.8.1"
74
82
  },
75
83
  "devDependencies": {
76
- "@itwin/appui-abstract": "^4.10.2",
77
- "@itwin/appui-react": "^5.0.5",
78
- "@itwin/build-tools": "^4.10.2",
79
- "@itwin/components-react": "^5.0.5",
80
- "@itwin/core-backend": "^4.10.2",
81
- "@itwin/core-bentley": "^4.10.2",
82
- "@itwin/core-common": "^4.10.2",
83
- "@itwin/core-frontend": "^4.10.2",
84
- "@itwin/core-geometry": "^4.10.2",
85
- "@itwin/core-i18n": "^4.10.2",
86
- "@itwin/core-markup": "^4.10.2",
87
- "@itwin/core-orbitgt": "^4.10.2",
88
- "@itwin/core-quantity": "^4.10.2",
89
- "@itwin/core-react": "^5.0.5",
90
- "@itwin/core-telemetry": "^4.10.2",
91
- "@itwin/ecschema-metadata": "^4.10.2",
92
- "@itwin/ecschema-rpcinterface-common": "^4.10.2",
93
- "@itwin/ecschema-rpcinterface-impl": "^4.10.2",
94
- "@itwin/eslint-plugin": "^4.1.1",
95
- "@itwin/imodel-components-react": "^5.0.5",
96
- "@itwin/itwinui-react": "^5.0.0-alpha.7",
97
- "@itwin/itwinui-icons": "^5.0.0-alpha.3",
98
- "@itwin/oidc-signin-tool": "^4.4.0",
99
- "@itwin/presentation-backend": "^4.10.2",
100
- "@itwin/presentation-common": "^4.10.2",
101
- "@itwin/presentation-components": "^5.9.0",
102
- "@itwin/presentation-frontend": "^4.10.2",
103
- "@itwin/presentation-testing": "^5.3.0",
104
- "@itwin/webgl-compatibility": "^4.10.2",
84
+ "@bentley/classification-systems-schema": "1.0.4-dev.4",
85
+ "@itwin/appui-abstract": "^5.0.0",
86
+ "@itwin/appui-react": "^5.10.0",
87
+ "@itwin/build-tools": "^5.0.0",
88
+ "@itwin/components-react": "^5.10.0",
89
+ "@itwin/core-backend": "^5.0.0",
90
+ "@itwin/core-bentley": "^5.0.0",
91
+ "@itwin/core-common": "^5.0.0",
92
+ "@itwin/core-frontend": "^5.0.0",
93
+ "@itwin/core-geometry": "^5.0.0",
94
+ "@itwin/core-i18n": "^5.0.0",
95
+ "@itwin/core-markup": "^5.0.0",
96
+ "@itwin/core-orbitgt": "^5.0.0",
97
+ "@itwin/core-quantity": "^5.0.0",
98
+ "@itwin/core-react": "^5.10.0",
99
+ "@itwin/ecschema-metadata": "^5.0.0",
100
+ "@itwin/ecschema-rpcinterface-common": "^5.0.0",
101
+ "@itwin/ecschema-rpcinterface-impl": "^5.0.0",
102
+ "@itwin/eslint-plugin": "^5.2.1",
103
+ "@itwin/imodel-components-react": "^5.10.0",
104
+ "@itwin/oidc-signin-tool": "^5.0.0",
105
+ "@itwin/presentation-backend": "^5.0.0",
106
+ "@itwin/presentation-common": "^5.0.0",
107
+ "@itwin/presentation-components": "5.12.15-alpha.0",
108
+ "@itwin/presentation-frontend": "^5.0.0",
109
+ "@itwin/presentation-testing": "5.4.11-alpha.0",
110
+ "@itwin/webgl-compatibility": "^5.0.0",
111
+ "@stratakit/foundations": "^0.4.0",
112
+ "@stratakit/bricks": "^0.5.0",
113
+ "@stratakit/structures": "^0.5.0",
114
+ "@stratakit/icons": "^0.2.0",
105
115
  "@playwright/test": "^1.48.2",
106
116
  "@testing-library/dom": "^10.4.0",
107
117
  "@testing-library/react": "^16.2.0",
108
- "@testing-library/user-event": "^14.6.0",
109
- "@types/chai": "^4.3.16",
118
+ "@testing-library/user-event": "^14.6.1",
119
+ "@types/chai": "^5.2.1",
110
120
  "@types/chai-as-promised": "^8.0.1",
111
121
  "@types/chai-jest-snapshot": "^1.3.8",
112
- "@types/chai-subset": "^1.3.5",
113
122
  "@types/deep-equal": "^1.0.1",
114
- "@types/jsdom": "^21.1.6",
123
+ "@types/jsdom": "^21.1.7",
115
124
  "@types/mocha": "^10.0.10",
116
- "@types/node": "^18.18.10",
125
+ "@types/node": "^22.13.9",
117
126
  "@types/react": "^18.3.3",
118
127
  "@types/react-dom": "^18.3.0",
119
128
  "@types/sinon": "^17.0.3",
120
129
  "@types/sinon-chai": "^4.0.0",
121
- "@typescript-eslint/eslint-plugin": "^7.16.1",
122
- "@typescript-eslint/parser": "^7.16.1",
123
130
  "c8": "^10.1.3",
124
- "chai": "^4.5.0",
131
+ "chai": "^5.2.0",
125
132
  "chai-as-promised": "^8.0.1",
126
133
  "chai-jest-snapshot": "^2.0.0",
127
- "chai-subset": "^1.6.0",
128
134
  "cpx2": "^3.0.0",
129
135
  "cross-env": "^7.0.3",
130
- "deep-equal": "^1.0.0",
131
136
  "dotenv": "^16.3.1",
132
- "eslint": "^8.57.0",
133
- "eslint-config-prettier": "^9.1.0",
134
- "eslint-plugin-import": "^2.29.1",
135
- "eslint-plugin-react": "^7.34.4",
136
- "eslint-plugin-unused-imports": "^3.2.0",
137
+ "eslint": "^9.26.0",
138
+ "eslint-config-prettier": "^10.1.5",
139
+ "eslint-plugin-import": "^2.31.0",
140
+ "eslint-plugin-react": "^7.37.5",
141
+ "eslint-plugin-unused-imports": "^4.1.4",
137
142
  "fast-xml-parser": "^4.3.6",
138
- "global-jsdom": "^9.2.0",
143
+ "global-jsdom": "^26.0.0",
139
144
  "http-server": "^14.1.1",
140
145
  "ignore-styles": "^5.0.1",
141
- "jsdom": "^23.1.0",
142
- "mocha": "^11.0.1",
146
+ "jsdom": "^26.0.0",
147
+ "mocha": "^11.1.0",
143
148
  "postcss": "^8.4.32",
144
149
  "raf": "^3.4.0",
145
150
  "react": "^18.3.1",
@@ -148,22 +153,14 @@
148
153
  "redux": "^4.1.0",
149
154
  "rimraf": "^6.0.1",
150
155
  "sinon": "^19.0.2",
151
- "sinon-chai": "^3.7.0",
156
+ "sinon-chai": "^4.0.0",
152
157
  "stylelint": "^15.11.0",
153
158
  "stylelint-config-standard-scss": "^11.1.0",
154
- "testdouble": "^3.20.2",
155
- "typemoq": "^2.1.0",
156
- "typescript": "~5.2.0"
159
+ "typescript": "~5.8.3"
157
160
  },
158
161
  "eslintConfig": {
159
162
  "extends": [
160
163
  ".eslintrc.js"
161
164
  ]
162
- },
163
- "pnpm": {
164
- "overrides": {
165
- "@itwin/oidc-signin-tool>@itwin/core-common": "4.10.2",
166
- "@itwin/service-authorization>@itwin/core-common": "4.10.2"
167
- }
168
165
  }
169
166
  }
@@ -1,28 +0,0 @@
1
- import { BeEvent } from "@itwin/core-bentley";
2
- import { HierarchyNode } from "@itwin/presentation-hierarchies";
3
- import type { Viewport } from "@itwin/core-frontend";
4
- import type { HierarchyVisibilityHandler, VisibilityStatus } from "../common/UseHierarchyVisibility.js";
5
- interface CategoriesVisibilityHandlerProps {
6
- viewport: Viewport;
7
- }
8
- /** @internal */
9
- export declare class CategoriesVisibilityHandler implements HierarchyVisibilityHandler {
10
- private _pendingVisibilityChange;
11
- private _viewport;
12
- constructor(props: CategoriesVisibilityHandlerProps);
13
- dispose(): void;
14
- onVisibilityChange: BeEvent<import("@itwin/core-bentley").Listener>;
15
- /** Returns visibility status of the tree node. */
16
- getVisibilityStatus(node: HierarchyNode): Promise<VisibilityStatus> | VisibilityStatus;
17
- changeVisibility(node: HierarchyNode, on: boolean): Promise<void>;
18
- getSubCategoryVisibility(node: HierarchyNode): "hidden" | "visible";
19
- getCategoryVisibility(node: HierarchyNode): "hidden" | "visible";
20
- private onDisplayStyleChanged;
21
- private onViewedCategoriesChanged;
22
- private onVisibilityChangeInternal;
23
- static getInstanceIdFromHierarchyNode(node: HierarchyNode): string;
24
- enableCategory(ids: string[], enabled: boolean, enableAllSubCategories?: boolean): Promise<void>;
25
- enableSubCategory(key: string, enabled: boolean): void;
26
- }
27
- export {};
28
- //# sourceMappingURL=CategoriesVisibilityHandler.d.ts.map
@@ -1,87 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- import { BeEvent } from "@itwin/core-bentley";
6
- import { HierarchyNode } from "@itwin/presentation-hierarchies";
7
- import { enableCategoryDisplay, enableSubCategoryDisplay } from "../common/CategoriesVisibilityUtils.js";
8
- import { createVisibilityStatus } from "../common/Tooltip.js";
9
- /** @internal */
10
- export class CategoriesVisibilityHandler {
11
- constructor(props) {
12
- this.onVisibilityChange = new BeEvent();
13
- // eslint-disable-next-line @typescript-eslint/naming-convention
14
- this.onDisplayStyleChanged = () => {
15
- this.onVisibilityChangeInternal();
16
- };
17
- // eslint-disable-next-line @typescript-eslint/naming-convention
18
- this.onViewedCategoriesChanged = () => {
19
- this.onVisibilityChangeInternal();
20
- };
21
- this._viewport = props.viewport;
22
- this._viewport.onDisplayStyleChanged.addListener(this.onDisplayStyleChanged);
23
- this._viewport.onViewedCategoriesChanged.addListener(this.onViewedCategoriesChanged);
24
- }
25
- dispose() {
26
- this._viewport.onDisplayStyleChanged.removeListener(this.onDisplayStyleChanged);
27
- this._viewport.onViewedCategoriesChanged.removeListener(this.onViewedCategoriesChanged);
28
- clearTimeout(this._pendingVisibilityChange);
29
- }
30
- /** Returns visibility status of the tree node. */
31
- getVisibilityStatus(node) {
32
- if (!HierarchyNode.isInstancesNode(node)) {
33
- return { state: "hidden", isDisabled: true };
34
- }
35
- return createVisibilityStatus(node.parentKeys.length ? this.getSubCategoryVisibility(node) : this.getCategoryVisibility(node));
36
- }
37
- async changeVisibility(node, on) {
38
- if (!HierarchyNode.isInstancesNode(node)) {
39
- return;
40
- }
41
- // handle subcategory visibility change
42
- if (node.parentKeys.length) {
43
- const childId = CategoriesVisibilityHandler.getInstanceIdFromHierarchyNode(node);
44
- const parentCategoryId = node.extendedData?.categoryId;
45
- // make sure parent category is enabled
46
- if (on && parentCategoryId) {
47
- await this.enableCategory([parentCategoryId], true, false);
48
- }
49
- this.enableSubCategory(childId, on);
50
- return;
51
- }
52
- const instanceId = CategoriesVisibilityHandler.getInstanceIdFromHierarchyNode(node);
53
- await this.enableCategory([instanceId], on, true);
54
- }
55
- getSubCategoryVisibility(node) {
56
- const parentCategoryId = node.extendedData?.categoryId;
57
- if (!parentCategoryId) {
58
- return "hidden";
59
- }
60
- const subcategoryId = CategoriesVisibilityHandler.getInstanceIdFromHierarchyNode(node);
61
- const isVisible = this._viewport.view.viewsCategory(parentCategoryId) && this._viewport.isSubCategoryVisible(subcategoryId);
62
- return isVisible ? "visible" : "hidden";
63
- }
64
- getCategoryVisibility(node) {
65
- const instanceId = CategoriesVisibilityHandler.getInstanceIdFromHierarchyNode(node);
66
- return this._viewport.view.viewsCategory(instanceId) ? "visible" : "hidden";
67
- }
68
- onVisibilityChangeInternal() {
69
- if (this._pendingVisibilityChange) {
70
- return;
71
- }
72
- this._pendingVisibilityChange = setTimeout(() => {
73
- this.onVisibilityChange.raiseEvent();
74
- this._pendingVisibilityChange = undefined;
75
- }, 0);
76
- }
77
- static getInstanceIdFromHierarchyNode(node) {
78
- return HierarchyNode.isInstancesNode(node) && node.key.instanceKeys.length > 0 ? node.key.instanceKeys[0].id : "";
79
- }
80
- async enableCategory(ids, enabled, enableAllSubCategories = true) {
81
- await enableCategoryDisplay(this._viewport, ids, enabled, enableAllSubCategories);
82
- }
83
- enableSubCategory(key, enabled) {
84
- enableSubCategoryDisplay(this._viewport, key, enabled);
85
- }
86
- }
87
- //# sourceMappingURL=CategoriesVisibilityHandler.js.map