@itwin/appui-react 3.0.0-dev.84 → 3.0.0-dev.88

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 (699) hide show
  1. package/CHANGELOG.md +1494 -1494
  2. package/README.md +21 -21
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +7 -2
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/UserInfo.js.map +1 -1
  7. package/lib/cjs/appui-react/_variables.scss +11 -11
  8. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  15. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  17. package/lib/cjs/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  19. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/Calculator.scss +86 -86
  21. package/lib/cjs/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  23. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  24. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  25. package/lib/cjs/appui-react/accudraw/MenuButton.scss +18 -18
  26. package/lib/cjs/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  27. package/lib/cjs/appui-react/accudraw/SquareButton.js.map +1 -1
  28. package/lib/cjs/appui-react/accudraw/SquareButton.scss +44 -44
  29. package/lib/cjs/appui-react/accudraw/backspace.svg +9 -9
  30. package/lib/cjs/appui-react/accudraw/constraint-2d.svg +11 -11
  31. package/lib/cjs/appui-react/accudraw/height-2.svg +10 -10
  32. package/lib/cjs/appui-react/accudraw/height.svg +11 -11
  33. package/lib/cjs/appui-react/backstage/Backstage.js.map +1 -1
  34. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  35. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  36. package/lib/cjs/appui-react/backstage/BackstageItemProps.js.map +1 -1
  37. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  38. package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
  39. package/lib/cjs/appui-react/backstage/CommandLaunch.js.map +1 -1
  40. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  41. package/lib/cjs/appui-react/backstage/Separator.js.map +1 -1
  42. package/lib/cjs/appui-react/backstage/TaskLaunch.js.map +1 -1
  43. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  44. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  45. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js +1 -2
  46. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  47. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +21 -21
  48. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  49. package/lib/cjs/appui-react/childwindow/ChildWindowManager.scss +14 -14
  50. package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
  51. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +1 -1
  52. package/lib/cjs/appui-react/childwindow/PopoutWidget.scss +10 -10
  53. package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
  54. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  55. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  56. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  57. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  58. package/lib/cjs/appui-react/configurableui/configurableui.scss +79 -79
  59. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  60. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  61. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  62. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  63. package/lib/cjs/appui-react/content/ContentLayout.scss +98 -98
  64. package/lib/cjs/appui-react/content/ContentLayoutManager.js.map +1 -1
  65. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  66. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  67. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +43 -43
  68. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  69. package/lib/cjs/appui-react/content/SavedView.js.map +1 -1
  70. package/lib/cjs/appui-react/content/SavedViewLayout.js.map +1 -1
  71. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  72. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  73. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  74. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  75. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  76. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  77. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  78. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  79. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  80. package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
  81. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  82. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  83. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  84. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  85. package/lib/cjs/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  86. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  87. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  88. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +53 -53
  89. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +0 -1
  90. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  91. package/lib/cjs/appui-react/frontstage/Frontstage.js +0 -6
  92. package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
  93. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  94. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  95. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  96. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  97. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  98. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +86 -86
  99. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  100. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +13 -13
  101. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  102. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  103. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  104. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  105. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  106. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  107. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  108. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  109. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  110. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  111. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  112. package/lib/cjs/appui-react/imodel-components/Common.js.map +1 -1
  113. package/lib/cjs/appui-react/imodel-components/VisibilityTreeBase.scss +52 -52
  114. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  115. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.js.map +1 -1
  116. package/lib/cjs/appui-react/imodel-components/category-tree/Categories.json +102 -102
  117. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.js.map +1 -1
  118. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.scss +9 -9
  119. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  120. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +389 -389
  121. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.json +384 -384
  122. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  123. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.scss +9 -9
  124. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +239 -239
  125. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +5 -5
  126. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  127. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialBreakdown.GroupedByClass.json +78 -78
  128. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialBreakdown.json +78 -78
  129. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +1 -1
  130. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.scss +9 -9
  131. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  132. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  133. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  134. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.scss +11 -11
  135. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  136. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  137. package/lib/cjs/appui-react/messages/ActivityMessagePopup.scss +14 -14
  138. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  139. package/lib/cjs/appui-react/messages/HollowIcon.js.map +1 -1
  140. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  141. package/lib/cjs/appui-react/messages/InputField.scss +82 -82
  142. package/lib/cjs/appui-react/messages/MessageLabel.js.map +1 -1
  143. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  144. package/lib/cjs/appui-react/messages/MessageSpan.js.map +1 -1
  145. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  146. package/lib/cjs/appui-react/messages/Pointer.scss +42 -42
  147. package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  148. package/lib/cjs/appui-react/messages/StatusMessageManager.js.map +1 -1
  149. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  150. package/lib/cjs/appui-react/messages/StatusMessageRenderer.scss +27 -27
  151. package/lib/cjs/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  152. package/lib/cjs/appui-react/messages/StatusMessagesContainer.scss +52 -52
  153. package/lib/cjs/appui-react/messages/StickyMessage.js.map +1 -1
  154. package/lib/cjs/appui-react/messages/StickyMessage.scss +22 -22
  155. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  156. package/lib/cjs/appui-react/messages/getToastCategory.js.map +1 -1
  157. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  158. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  159. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  160. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  161. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +82 -82
  162. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  163. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  164. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  165. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  166. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  167. package/lib/cjs/appui-react/pickers/ListPicker.scss +299 -299
  168. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  169. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  170. package/lib/cjs/appui-react/popup/CardPopup.scss +22 -22
  171. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  172. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  173. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  174. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +30 -30
  175. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  176. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  177. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  178. package/lib/cjs/appui-react/popup/PositionPopup.scss +28 -28
  179. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  180. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  181. package/lib/cjs/appui-react/redux/FrameworkState.js.map +1 -1
  182. package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
  183. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  184. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  185. package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
  186. package/lib/cjs/appui-react/redux/redux-ts.js.map +1 -1
  187. package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
  188. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  189. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  190. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  191. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  192. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +125 -125
  193. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  194. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  195. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +66 -66
  196. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  197. package/lib/cjs/appui-react/shared/AnyItemDef.js.map +1 -1
  198. package/lib/cjs/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  199. package/lib/cjs/appui-react/shared/CommandItemDef.js.map +1 -1
  200. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  201. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  202. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  203. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  204. package/lib/cjs/appui-react/shared/ItemMap.js.map +1 -1
  205. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  206. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  207. package/lib/cjs/appui-react/shared/SelectionScope.js.map +1 -1
  208. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  209. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  210. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.scss +41 -41
  211. package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
  212. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  213. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js.map +1 -1
  214. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  215. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.scss +25 -25
  216. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  217. package/lib/cjs/appui-react/statusbar/Overflow.scss +27 -27
  218. package/lib/cjs/appui-react/statusbar/OverflowPanel.js.map +1 -1
  219. package/lib/cjs/appui-react/statusbar/OverflowPanel.scss +22 -22
  220. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  221. package/lib/cjs/appui-react/statusbar/StatusBar.scss +43 -43
  222. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  223. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  224. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  225. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  226. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  227. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  228. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  229. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +1 -2
  230. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  231. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  232. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  233. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  234. package/lib/cjs/appui-react/statusfields/ConditionalField.js.map +1 -1
  235. package/lib/cjs/appui-react/statusfields/FooterModeField.js.map +1 -1
  236. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  237. package/lib/cjs/appui-react/statusfields/Indicator.scss +171 -171
  238. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  239. package/lib/cjs/appui-react/statusfields/PromptField.js.map +1 -1
  240. package/lib/cjs/appui-react/statusfields/PromptField.scss +42 -42
  241. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  242. package/lib/cjs/appui-react/statusfields/SectionsField.scss +36 -36
  243. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  244. package/lib/cjs/appui-react/statusfields/SelectionInfo.scss +14 -14
  245. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  246. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +37 -37
  247. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  248. package/lib/cjs/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  249. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  250. package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +14 -14
  251. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  252. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +57 -57
  253. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  254. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +200 -200
  255. package/lib/cjs/appui-react/syncui/BooleanListener.js.map +1 -1
  256. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  257. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  258. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  259. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  260. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  261. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  262. package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
  263. package/lib/cjs/appui-react/toolbar/DragInteraction.js.map +1 -1
  264. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  265. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  266. package/lib/cjs/appui-react/toolbar/PopupButton.js.map +1 -1
  267. package/lib/cjs/appui-react/toolbar/PopupButton.scss +9 -9
  268. package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
  269. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  270. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  271. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  272. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  273. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +1 -2
  275. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  276. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  277. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  278. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  279. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  280. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  281. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  282. package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
  283. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  284. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  285. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  286. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  287. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  288. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  289. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  290. package/lib/cjs/appui-react/uisettings/AppUiSettings.js.map +1 -1
  291. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js.map +1 -1
  292. package/lib/cjs/appui-react/uisettings/useUiSettings.js.map +1 -1
  293. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  294. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  295. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  296. package/lib/cjs/appui-react/utils/ViewUtilities.js.map +1 -1
  297. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  298. package/lib/cjs/appui-react/widget-panels/Content.js +0 -8
  299. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  300. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  301. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +19 -19
  302. package/lib/cjs/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  303. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  304. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  305. package/lib/cjs/appui-react/widget-panels/StatusBar.scss +10 -10
  306. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  307. package/lib/cjs/appui-react/widget-panels/Tab.scss +14 -14
  308. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  309. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +24 -24
  310. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  311. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +20 -20
  312. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  313. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  314. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  315. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  316. package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.js.map +1 -1
  317. package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +1 -1
  318. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  319. package/lib/cjs/appui-react/widgets/ReviewToolWidget.js.map +1 -1
  320. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  321. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  322. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  323. package/lib/cjs/appui-react/widgets/ToolSettingsContent.scss +60 -60
  324. package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
  325. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  326. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  327. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  328. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  329. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  330. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  331. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  332. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts +0 -38
  333. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  334. package/lib/cjs/appui-react/widgets/WidgetManager.js +4 -59
  335. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  336. package/lib/cjs/appui-react/widgets/WidgetProps.js.map +1 -1
  337. package/lib/cjs/appui-react/widgets/WidgetStack.js.map +1 -1
  338. package/lib/cjs/appui-react/workflow/Task.js.map +1 -1
  339. package/lib/cjs/appui-react/workflow/Workflow.js.map +1 -1
  340. package/lib/cjs/appui-react/zones/FrameworkZone.js.map +1 -1
  341. package/lib/cjs/appui-react/zones/Outline.js.map +1 -1
  342. package/lib/cjs/appui-react/zones/StatusBarZone.js.map +1 -1
  343. package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
  344. package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
  345. package/lib/cjs/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  346. package/lib/cjs/appui-react/zones/toolsettings/ToolInformation.js.map +1 -1
  347. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  348. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  349. package/lib/cjs/appui-react/zones/toolsettings/ToolUiProvider.js.map +1 -1
  350. package/lib/cjs/appui-react.js.map +1 -1
  351. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  352. package/lib/esm/appui-react/UiFramework.js +7 -2
  353. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  354. package/lib/esm/appui-react/UserInfo.js.map +1 -1
  355. package/lib/esm/appui-react/_variables.scss +11 -11
  356. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  357. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  358. package/lib/esm/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  359. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  360. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  361. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  362. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  363. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  364. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  365. package/lib/esm/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  366. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  367. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  368. package/lib/esm/appui-react/accudraw/Calculator.scss +86 -86
  369. package/lib/esm/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  370. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  371. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  372. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  373. package/lib/esm/appui-react/accudraw/MenuButton.scss +18 -18
  374. package/lib/esm/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  375. package/lib/esm/appui-react/accudraw/SquareButton.js.map +1 -1
  376. package/lib/esm/appui-react/accudraw/SquareButton.scss +44 -44
  377. package/lib/esm/appui-react/accudraw/backspace.svg +9 -9
  378. package/lib/esm/appui-react/accudraw/constraint-2d.svg +11 -11
  379. package/lib/esm/appui-react/accudraw/height-2.svg +10 -10
  380. package/lib/esm/appui-react/accudraw/height.svg +11 -11
  381. package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
  382. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  383. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  384. package/lib/esm/appui-react/backstage/BackstageItemProps.js.map +1 -1
  385. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  386. package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
  387. package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
  388. package/lib/esm/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  389. package/lib/esm/appui-react/backstage/Separator.js.map +1 -1
  390. package/lib/esm/appui-react/backstage/TaskLaunch.js.map +1 -1
  391. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  392. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  393. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -3
  394. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  395. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +21 -21
  396. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  397. package/lib/esm/appui-react/childwindow/ChildWindowManager.scss +14 -14
  398. package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
  399. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +1 -1
  400. package/lib/esm/appui-react/childwindow/PopoutWidget.scss +10 -10
  401. package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
  402. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  403. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  404. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  405. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  406. package/lib/esm/appui-react/configurableui/configurableui.scss +79 -79
  407. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  408. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  409. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  410. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  411. package/lib/esm/appui-react/content/ContentLayout.scss +98 -98
  412. package/lib/esm/appui-react/content/ContentLayoutManager.js.map +1 -1
  413. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  414. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  415. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +43 -43
  416. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  417. package/lib/esm/appui-react/content/SavedView.js.map +1 -1
  418. package/lib/esm/appui-react/content/SavedViewLayout.js.map +1 -1
  419. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  420. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  421. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  422. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  423. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  424. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  425. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  426. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  427. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  428. package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
  429. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  430. package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  431. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  432. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  433. package/lib/esm/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  434. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  435. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  436. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +53 -53
  437. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +0 -1
  438. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  439. package/lib/esm/appui-react/frontstage/Frontstage.js +0 -6
  440. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  441. package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  442. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  443. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  444. package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  445. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  446. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +86 -86
  447. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  448. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +13 -13
  449. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  450. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  451. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  452. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  453. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  454. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  455. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  456. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  457. package/lib/esm/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  458. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  459. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  460. package/lib/esm/appui-react/imodel-components/Common.js.map +1 -1
  461. package/lib/esm/appui-react/imodel-components/VisibilityTreeBase.scss +52 -52
  462. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  463. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.js.map +1 -1
  464. package/lib/esm/appui-react/imodel-components/category-tree/Categories.json +102 -102
  465. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.js.map +1 -1
  466. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.scss +9 -9
  467. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  468. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +389 -389
  469. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.json +384 -384
  470. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  471. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.scss +9 -9
  472. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +239 -239
  473. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +5 -5
  474. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  475. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialBreakdown.GroupedByClass.json +78 -78
  476. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialBreakdown.json +78 -78
  477. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +1 -1
  478. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.scss +9 -9
  479. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  480. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  481. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  482. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.scss +11 -11
  483. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  484. package/lib/esm/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  485. package/lib/esm/appui-react/messages/ActivityMessagePopup.scss +14 -14
  486. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  487. package/lib/esm/appui-react/messages/HollowIcon.js.map +1 -1
  488. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  489. package/lib/esm/appui-react/messages/InputField.scss +82 -82
  490. package/lib/esm/appui-react/messages/MessageLabel.js.map +1 -1
  491. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  492. package/lib/esm/appui-react/messages/MessageSpan.js.map +1 -1
  493. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  494. package/lib/esm/appui-react/messages/Pointer.scss +42 -42
  495. package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  496. package/lib/esm/appui-react/messages/StatusMessageManager.js.map +1 -1
  497. package/lib/esm/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  498. package/lib/esm/appui-react/messages/StatusMessageRenderer.scss +27 -27
  499. package/lib/esm/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  500. package/lib/esm/appui-react/messages/StatusMessagesContainer.scss +52 -52
  501. package/lib/esm/appui-react/messages/StickyMessage.js.map +1 -1
  502. package/lib/esm/appui-react/messages/StickyMessage.scss +22 -22
  503. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  504. package/lib/esm/appui-react/messages/getToastCategory.js.map +1 -1
  505. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  506. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  507. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  508. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  509. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +82 -82
  510. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  511. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  512. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  513. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  514. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  515. package/lib/esm/appui-react/pickers/ListPicker.scss +299 -299
  516. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  517. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  518. package/lib/esm/appui-react/popup/CardPopup.scss +22 -22
  519. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  520. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  521. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  522. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +30 -30
  523. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  524. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  525. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  526. package/lib/esm/appui-react/popup/PositionPopup.scss +28 -28
  527. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  528. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  529. package/lib/esm/appui-react/redux/FrameworkState.js.map +1 -1
  530. package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
  531. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  532. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  533. package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
  534. package/lib/esm/appui-react/redux/redux-ts.js.map +1 -1
  535. package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
  536. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  537. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  538. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  539. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  540. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +125 -125
  541. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  542. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  543. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +66 -66
  544. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  545. package/lib/esm/appui-react/shared/AnyItemDef.js.map +1 -1
  546. package/lib/esm/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  547. package/lib/esm/appui-react/shared/CommandItemDef.js.map +1 -1
  548. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  549. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  550. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  551. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  552. package/lib/esm/appui-react/shared/ItemMap.js.map +1 -1
  553. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  554. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  555. package/lib/esm/appui-react/shared/SelectionScope.js.map +1 -1
  556. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  557. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  558. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.scss +41 -41
  559. package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
  560. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  561. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js.map +1 -1
  562. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  563. package/lib/esm/appui-react/stagepanels/StagePanelHeader.scss +25 -25
  564. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  565. package/lib/esm/appui-react/statusbar/Overflow.scss +27 -27
  566. package/lib/esm/appui-react/statusbar/OverflowPanel.js.map +1 -1
  567. package/lib/esm/appui-react/statusbar/OverflowPanel.scss +22 -22
  568. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  569. package/lib/esm/appui-react/statusbar/StatusBar.scss +43 -43
  570. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  571. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  572. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  573. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  574. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  575. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  576. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  577. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +2 -3
  578. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  579. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  580. package/lib/esm/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  581. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  582. package/lib/esm/appui-react/statusfields/ConditionalField.js.map +1 -1
  583. package/lib/esm/appui-react/statusfields/FooterModeField.js.map +1 -1
  584. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  585. package/lib/esm/appui-react/statusfields/Indicator.scss +171 -171
  586. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  587. package/lib/esm/appui-react/statusfields/PromptField.js.map +1 -1
  588. package/lib/esm/appui-react/statusfields/PromptField.scss +42 -42
  589. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  590. package/lib/esm/appui-react/statusfields/SectionsField.scss +36 -36
  591. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  592. package/lib/esm/appui-react/statusfields/SelectionInfo.scss +14 -14
  593. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  594. package/lib/esm/appui-react/statusfields/SelectionScope.scss +37 -37
  595. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  596. package/lib/esm/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  597. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  598. package/lib/esm/appui-react/statusfields/ViewAttributes.scss +14 -14
  599. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  600. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +57 -57
  601. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  602. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +200 -200
  603. package/lib/esm/appui-react/syncui/BooleanListener.js.map +1 -1
  604. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  605. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  606. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  607. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  608. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  609. package/lib/esm/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  610. package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
  611. package/lib/esm/appui-react/toolbar/DragInteraction.js.map +1 -1
  612. package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  613. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  614. package/lib/esm/appui-react/toolbar/PopupButton.js.map +1 -1
  615. package/lib/esm/appui-react/toolbar/PopupButton.scss +9 -9
  616. package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
  617. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  618. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  619. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  620. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  621. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  622. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +2 -3
  623. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  624. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  625. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  626. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  627. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  628. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  629. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  630. package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
  631. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  632. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  633. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  634. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  635. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  636. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  637. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  638. package/lib/esm/appui-react/uisettings/AppUiSettings.js.map +1 -1
  639. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js.map +1 -1
  640. package/lib/esm/appui-react/uisettings/useUiSettings.js.map +1 -1
  641. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  642. package/lib/esm/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  643. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  644. package/lib/esm/appui-react/utils/ViewUtilities.js.map +1 -1
  645. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  646. package/lib/esm/appui-react/widget-panels/Content.js +0 -8
  647. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  648. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  649. package/lib/esm/appui-react/widget-panels/Frontstage.scss +19 -19
  650. package/lib/esm/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  651. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  652. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  653. package/lib/esm/appui-react/widget-panels/StatusBar.scss +10 -10
  654. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  655. package/lib/esm/appui-react/widget-panels/Tab.scss +14 -14
  656. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  657. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +24 -24
  658. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  659. package/lib/esm/appui-react/widget-panels/Toolbars.scss +20 -20
  660. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  661. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  662. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  663. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  664. package/lib/esm/appui-react/widgets/DefaultNavigationWidget.js.map +1 -1
  665. package/lib/esm/appui-react/widgets/NavigationWidget.js.map +1 -1
  666. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  667. package/lib/esm/appui-react/widgets/ReviewToolWidget.js.map +1 -1
  668. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  669. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  670. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  671. package/lib/esm/appui-react/widgets/ToolSettingsContent.scss +60 -60
  672. package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
  673. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  674. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  675. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  676. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  677. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  678. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  679. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  680. package/lib/esm/appui-react/widgets/WidgetManager.d.ts +0 -38
  681. package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  682. package/lib/esm/appui-react/widgets/WidgetManager.js +4 -58
  683. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  684. package/lib/esm/appui-react/widgets/WidgetProps.js.map +1 -1
  685. package/lib/esm/appui-react/widgets/WidgetStack.js.map +1 -1
  686. package/lib/esm/appui-react/workflow/Task.js.map +1 -1
  687. package/lib/esm/appui-react/workflow/Workflow.js.map +1 -1
  688. package/lib/esm/appui-react/zones/FrameworkZone.js.map +1 -1
  689. package/lib/esm/appui-react/zones/Outline.js.map +1 -1
  690. package/lib/esm/appui-react/zones/StatusBarZone.js.map +1 -1
  691. package/lib/esm/appui-react/zones/Zone.js.map +1 -1
  692. package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
  693. package/lib/esm/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  694. package/lib/esm/appui-react/zones/toolsettings/ToolInformation.js.map +1 -1
  695. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  696. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  697. package/lib/esm/appui-react/zones/toolsettings/ToolUiProvider.js.map +1 -1
  698. package/lib/esm/appui-react.js.map +1 -1
  699. package/package.json +39 -39
@@ -1 +1 @@
1
- {"version":3,"file":"useActiveViewport.js","sourceRoot":"","sources":["../../../../src/appui-react/hooks/useActiveViewport.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,iCAA4C;AAC5C,wDAAiE;AACjE,sEAAkG;AAClG,2EAAwG;AAExG;;GAEG;AACH,uBAAuB;AACvB,SAAgB,iBAAiB;IAC/B,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACzF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,sBAAsB,GAAG,CAAC,KAAoC,EAAE,EAAE;YACtE,iBAAiB,CAAC,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC,CAAC;QAEF,oGAAoG;QACpG,4GAA4G;QAC5G,sEAAsE;QACtE,uCAAkB,CAAC,2BAA2B,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;QACnF,OAAO,GAAG,EAAE;YACV,uCAAkB,CAAC,2BAA2B,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;QACxF,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,iBAAiB,GAAG,CAAC,qCAAa,CAAC,oBAAoB,EAAE,qCAAa,CAAC,uBAAuB,EAAE,qCAAa,CAAC,eAAe,CAAC,CAAC;QACrI,MAAM,iBAAiB,GAAG,CAAC,IAAqB,EAAQ,EAAE;YACxD,uBAAuB;YACvB,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAa,EAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;gBAChF,MAAM,oBAAoB,GAAG,uCAAkB,CAAC,uBAAuB,EAAE,CAAC;gBAC1E,iBAAiB,CAAC,oBAAoB,IAAI,oBAAoB,CAAC,QAAQ,CAAC,CAAC;aAC1E;QACH,CAAC,CAAC;QAEF,OAAO,6CAAqB,CAAC,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC5E,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,cAAc,CAAC;AACxB,CAAC;AA9BD,8CA8BC","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/** @packageDocumentation\n * @module Hooks\n */\n\nimport { useEffect, useState } from \"react\";\nimport { IModelApp, ScreenViewport } from \"@itwin/core-frontend\";\nimport { ActiveContentChangedEventArgs, ContentViewManager } from \"../content/ContentViewManager\";\nimport { SyncUiEventArgs, SyncUiEventDispatcher, SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\n\n/** React hook that maintains the active viewport.\n * @public\n */\n// istanbul ignore next\nexport function useActiveViewport(): ScreenViewport | undefined {\n const [activeViewport, setActiveViewport] = useState(IModelApp.viewManager.selectedView);\n useEffect(() => {\n const onActiveContentChanged = (_args: ActiveContentChangedEventArgs) => {\n setActiveViewport(IModelApp.viewManager.selectedView);\n };\n\n // IModelApp.viewManager.onSelectedViewportChanged will often fire before UI components have mounted\n // so use ContentViewManager.onActiveContentChangedEvent which will always trigger once all stage components\n // are loaded and when the IModelApp.viewManager.selectedView changes.\n ContentViewManager.onActiveContentChangedEvent.addListener(onActiveContentChanged);\n return () => {\n ContentViewManager.onActiveContentChangedEvent.removeListener(onActiveContentChanged);\n };\n }, []);\n\n useEffect(() => {\n const syncIdsOfInterest = [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ContentControlActivated, SyncUiEventId.FrontstageReady];\n const handleSyncUiEvent = (args: SyncUiEventArgs): void => {\n // istanbul ignore else\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value))) {\n const activeContentControl = ContentViewManager.getActiveContentControl();\n setActiveViewport(activeContentControl && activeContentControl.viewport);\n }\n };\n\n return SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\n }, []);\n\n return activeViewport;\n}\n"]}
1
+ {"version":3,"file":"useActiveViewport.js","sourceRoot":"","sources":["../../../../src/appui-react/hooks/useActiveViewport.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,iCAA4C;AAC5C,wDAAiE;AACjE,sEAAkG;AAClG,2EAAwG;AAExG;;GAEG;AACH,uBAAuB;AACvB,SAAgB,iBAAiB;IAC/B,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACzF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,sBAAsB,GAAG,CAAC,KAAoC,EAAE,EAAE;YACtE,iBAAiB,CAAC,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC,CAAC;QAEF,oGAAoG;QACpG,4GAA4G;QAC5G,sEAAsE;QACtE,uCAAkB,CAAC,2BAA2B,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;QACnF,OAAO,GAAG,EAAE;YACV,uCAAkB,CAAC,2BAA2B,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;QACxF,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,iBAAiB,GAAG,CAAC,qCAAa,CAAC,oBAAoB,EAAE,qCAAa,CAAC,uBAAuB,EAAE,qCAAa,CAAC,eAAe,CAAC,CAAC;QACrI,MAAM,iBAAiB,GAAG,CAAC,IAAqB,EAAQ,EAAE;YACxD,uBAAuB;YACvB,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAa,EAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;gBAChF,MAAM,oBAAoB,GAAG,uCAAkB,CAAC,uBAAuB,EAAE,CAAC;gBAC1E,iBAAiB,CAAC,oBAAoB,IAAI,oBAAoB,CAAC,QAAQ,CAAC,CAAC;aAC1E;QACH,CAAC,CAAC;QAEF,OAAO,6CAAqB,CAAC,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC5E,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,cAAc,CAAC;AACxB,CAAC;AA9BD,8CA8BC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Hooks\r\n */\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport { IModelApp, ScreenViewport } from \"@itwin/core-frontend\";\r\nimport { ActiveContentChangedEventArgs, ContentViewManager } from \"../content/ContentViewManager\";\r\nimport { SyncUiEventArgs, SyncUiEventDispatcher, SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\r\n\r\n/** React hook that maintains the active viewport.\r\n * @public\r\n */\r\n// istanbul ignore next\r\nexport function useActiveViewport(): ScreenViewport | undefined {\r\n const [activeViewport, setActiveViewport] = useState(IModelApp.viewManager.selectedView);\r\n useEffect(() => {\r\n const onActiveContentChanged = (_args: ActiveContentChangedEventArgs) => {\r\n setActiveViewport(IModelApp.viewManager.selectedView);\r\n };\r\n\r\n // IModelApp.viewManager.onSelectedViewportChanged will often fire before UI components have mounted\r\n // so use ContentViewManager.onActiveContentChangedEvent which will always trigger once all stage components\r\n // are loaded and when the IModelApp.viewManager.selectedView changes.\r\n ContentViewManager.onActiveContentChangedEvent.addListener(onActiveContentChanged);\r\n return () => {\r\n ContentViewManager.onActiveContentChangedEvent.removeListener(onActiveContentChanged);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n const syncIdsOfInterest = [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ContentControlActivated, SyncUiEventId.FrontstageReady];\r\n const handleSyncUiEvent = (args: SyncUiEventArgs): void => {\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value))) {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n setActiveViewport(activeContentControl && activeContentControl.viewport);\r\n }\r\n };\r\n\r\n return SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\r\n }, []);\r\n\r\n return activeViewport;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useAnalysisAnimationDataProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/hooks/useAnalysisAnimationDataProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Hooks\n */\n\nimport * as React from \"react\";\nimport { AnalysisAnimationTimelineDataProvider } from \"../timeline/AnalysisAnimationProvider\";\nimport { ScreenViewport, Viewport } from \"@itwin/core-frontend\";\n\n/** @internal */\n// istanbul ignore next\nfunction useSupportsAnalysisAnimation(viewport: Viewport | undefined) {\n const [supportsAnalysisAnimation, setSupportsAnalysisAnimation] = React.useState(!!viewport?.view?.analysisStyle);\n\n React.useEffect(() => {\n setSupportsAnalysisAnimation(!!viewport?.view?.analysisStyle);\n }, [viewport]);\n\n React.useEffect(() => {\n const handleViewChanged = (vp: Viewport): void => {\n const hasAnalysisData = !!vp?.view?.analysisStyle;\n if (hasAnalysisData !== supportsAnalysisAnimation)\n setSupportsAnalysisAnimation(hasAnalysisData);\n };\n return viewport?.onChangeView.addListener(handleViewChanged);\n }, [supportsAnalysisAnimation, viewport]);\n\n React.useEffect(() => {\n const handleDisplayStyleChange = (vp: Viewport): void => {\n const hasAnalysisData = !!vp?.view?.analysisStyle;\n if (hasAnalysisData !== supportsAnalysisAnimation)\n setSupportsAnalysisAnimation(hasAnalysisData);\n };\n return viewport?.onDisplayStyleChanged.addListener(handleDisplayStyleChange);\n }, [viewport, supportsAnalysisAnimation]);\n return supportsAnalysisAnimation;\n}\n\n/** Hook that returns either a AnalysisAnimationTimelineDataProvider or undefined based on if the supplied viewport contains analysis data.\n * @public\n **/\n// istanbul ignore next\nexport function useAnalysisAnimationDataProvider(viewport: ScreenViewport | undefined) {\n const supportsAnalysisAnimation = useSupportsAnalysisAnimation(viewport);\n const [analysisAnimationTimelineDataProvider, setAnalysisAnimationTimelineDataProvider] = React.useState<AnalysisAnimationTimelineDataProvider | undefined>();\n const isMountedRef = React.useRef(false);\n\n React.useEffect(() => {\n isMountedRef.current = true;\n return () => { isMountedRef.current = false; };\n }, []);\n\n React.useEffect(() => {\n async function fetchNewDataProvider(vp: ScreenViewport) {\n let newProvider: AnalysisAnimationTimelineDataProvider | undefined = new AnalysisAnimationTimelineDataProvider(vp.view, vp);\n if (newProvider?.supportsTimelineAnimation) {\n const dataLoaded = await newProvider.loadTimelineData();\n if (!dataLoaded)\n newProvider = undefined;\n }\n isMountedRef.current && setAnalysisAnimationTimelineDataProvider(newProvider);\n }\n if (supportsAnalysisAnimation && viewport)\n void fetchNewDataProvider(viewport);\n else\n isMountedRef.current && setAnalysisAnimationTimelineDataProvider(undefined);\n }, [supportsAnalysisAnimation, viewport]);\n\n return analysisAnimationTimelineDataProvider;\n}\n"]}
1
+ {"version":3,"file":"useAnalysisAnimationDataProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/hooks/useAnalysisAnimationDataProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Hooks\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { AnalysisAnimationTimelineDataProvider } from \"../timeline/AnalysisAnimationProvider\";\r\nimport { ScreenViewport, Viewport } from \"@itwin/core-frontend\";\r\n\r\n/** @internal */\r\n// istanbul ignore next\r\nfunction useSupportsAnalysisAnimation(viewport: Viewport | undefined) {\r\n const [supportsAnalysisAnimation, setSupportsAnalysisAnimation] = React.useState(!!viewport?.view?.analysisStyle);\r\n\r\n React.useEffect(() => {\r\n setSupportsAnalysisAnimation(!!viewport?.view?.analysisStyle);\r\n }, [viewport]);\r\n\r\n React.useEffect(() => {\r\n const handleViewChanged = (vp: Viewport): void => {\r\n const hasAnalysisData = !!vp?.view?.analysisStyle;\r\n if (hasAnalysisData !== supportsAnalysisAnimation)\r\n setSupportsAnalysisAnimation(hasAnalysisData);\r\n };\r\n return viewport?.onChangeView.addListener(handleViewChanged);\r\n }, [supportsAnalysisAnimation, viewport]);\r\n\r\n React.useEffect(() => {\r\n const handleDisplayStyleChange = (vp: Viewport): void => {\r\n const hasAnalysisData = !!vp?.view?.analysisStyle;\r\n if (hasAnalysisData !== supportsAnalysisAnimation)\r\n setSupportsAnalysisAnimation(hasAnalysisData);\r\n };\r\n return viewport?.onDisplayStyleChanged.addListener(handleDisplayStyleChange);\r\n }, [viewport, supportsAnalysisAnimation]);\r\n return supportsAnalysisAnimation;\r\n}\r\n\r\n/** Hook that returns either a AnalysisAnimationTimelineDataProvider or undefined based on if the supplied viewport contains analysis data.\r\n * @public\r\n **/\r\n// istanbul ignore next\r\nexport function useAnalysisAnimationDataProvider(viewport: ScreenViewport | undefined) {\r\n const supportsAnalysisAnimation = useSupportsAnalysisAnimation(viewport);\r\n const [analysisAnimationTimelineDataProvider, setAnalysisAnimationTimelineDataProvider] = React.useState<AnalysisAnimationTimelineDataProvider | undefined>();\r\n const isMountedRef = React.useRef(false);\r\n\r\n React.useEffect(() => {\r\n isMountedRef.current = true;\r\n return () => { isMountedRef.current = false; };\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n async function fetchNewDataProvider(vp: ScreenViewport) {\r\n let newProvider: AnalysisAnimationTimelineDataProvider | undefined = new AnalysisAnimationTimelineDataProvider(vp.view, vp);\r\n if (newProvider?.supportsTimelineAnimation) {\r\n const dataLoaded = await newProvider.loadTimelineData();\r\n if (!dataLoaded)\r\n newProvider = undefined;\r\n }\r\n isMountedRef.current && setAnalysisAnimationTimelineDataProvider(newProvider);\r\n }\r\n if (supportsAnalysisAnimation && viewport)\r\n void fetchNewDataProvider(viewport);\r\n else\r\n isMountedRef.current && setAnalysisAnimationTimelineDataProvider(undefined);\r\n }, [supportsAnalysisAnimation, viewport]);\r\n\r\n return analysisAnimationTimelineDataProvider;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useAvailableUiItemsProviders.js","sourceRoot":"","sources":["../../../../src/appui-react/hooks/useAvailableUiItemsProviders.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,iCAA4C;AAC5C,0DAAuD;AAEvD;;;GAGG;AACH,SAAgB,4BAA4B;IAC1C,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,IAAA,gBAAQ,EAAC,+BAAc,CAAC,qBAAqB,CAAC,CAAC;IACnG,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,+BAA+B,GAAG,GAAS,EAAE;YACjD,qBAAqB,CAAC,+BAAc,CAAC,qBAAqB,CAAC,CAAC;QAC9D,CAAC,CAAC;QAEF,+BAAc,CAAC,2BAA2B,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;QACxF,OAAO,GAAG,EAAE;YACV,+BAAc,CAAC,2BAA2B,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC;QAC7F,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAdD,oEAcC","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/** @packageDocumentation\n * @module Hooks\n */\n\nimport { useEffect, useState } from \"react\";\nimport { UiItemsManager } from \"@itwin/appui-abstract\";\n\n/** React hook that maintains the number of available UiItemsProviders. This allows components to use it to refresh when a\n * UiItemsProviders is added or removed allowing the ui component to be re-rendered.\n * @internal\n */\nexport function useAvailableUiItemsProviders(): readonly string[] {\n const [uiItemsProviderIds, setUiItemsProviderIds] = useState(UiItemsManager.registeredProviderIds);\n useEffect(() => {\n const handleUiProviderRegisteredEvent = (): void => {\n setUiItemsProviderIds(UiItemsManager.registeredProviderIds);\n };\n\n UiItemsManager.onUiProviderRegisteredEvent.addListener(handleUiProviderRegisteredEvent);\n return () => {\n UiItemsManager.onUiProviderRegisteredEvent.removeListener(handleUiProviderRegisteredEvent);\n };\n }, []);\n\n return uiItemsProviderIds;\n}\n"]}
1
+ {"version":3,"file":"useAvailableUiItemsProviders.js","sourceRoot":"","sources":["../../../../src/appui-react/hooks/useAvailableUiItemsProviders.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,iCAA4C;AAC5C,0DAAuD;AAEvD;;;GAGG;AACH,SAAgB,4BAA4B;IAC1C,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,IAAA,gBAAQ,EAAC,+BAAc,CAAC,qBAAqB,CAAC,CAAC;IACnG,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,+BAA+B,GAAG,GAAS,EAAE;YACjD,qBAAqB,CAAC,+BAAc,CAAC,qBAAqB,CAAC,CAAC;QAC9D,CAAC,CAAC;QAEF,+BAAc,CAAC,2BAA2B,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;QACxF,OAAO,GAAG,EAAE;YACV,+BAAc,CAAC,2BAA2B,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC;QAC7F,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAdD,oEAcC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Hooks\r\n */\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport { UiItemsManager } from \"@itwin/appui-abstract\";\r\n\r\n/** React hook that maintains the number of available UiItemsProviders. This allows components to use it to refresh when a\r\n * UiItemsProviders is added or removed allowing the ui component to be re-rendered.\r\n * @internal\r\n */\r\nexport function useAvailableUiItemsProviders(): readonly string[] {\r\n const [uiItemsProviderIds, setUiItemsProviderIds] = useState(UiItemsManager.registeredProviderIds);\r\n useEffect(() => {\r\n const handleUiProviderRegisteredEvent = (): void => {\r\n setUiItemsProviderIds(UiItemsManager.registeredProviderIds);\r\n };\r\n\r\n UiItemsManager.onUiProviderRegisteredEvent.addListener(handleUiProviderRegisteredEvent);\r\n return () => {\r\n UiItemsManager.onUiProviderRegisteredEvent.removeListener(handleUiProviderRegisteredEvent);\r\n };\r\n }, []);\r\n\r\n return uiItemsProviderIds;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useEscapeSetFocusToHome.js","sourceRoot":"","sources":["../../../../src/appui-react/hooks/useEscapeSetFocusToHome.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,0DAAmD;AACnD,2EAA+E;AAE/E;;GAEG;AACH,SAAgB,sBAAsB,CAAC,CAAsB;IAC3D,uBAAuB;IACvB,IAAI,CAAC,CAAC,GAAG,KAAK,2BAAU,CAAC,MAAM,EAAE;QAC/B,0CAAuB,CAAC,cAAc,EAAE,CAAC;KAC1C;AACH,CAAC;AALD,wDAKC;AAED;;GAEG;AACH,SAAgB,uBAAuB;IACrC,OAAO,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAFD,0DAEC","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/** @packageDocumentation\n * @module Hooks\n */\n\nimport * as React from \"react\";\nimport { SpecialKey } from \"@itwin/appui-abstract\";\nimport { KeyboardShortcutManager } from \"../keyboardshortcut/KeyboardShortcut\";\n\n/** Keyboard Event handler to set focus to Home on Escape key\n * @internal\n */\nexport function onEscapeSetFocusToHome(e: React.KeyboardEvent): void {\n // istanbul ignore else\n if (e.key === SpecialKey.Escape) {\n KeyboardShortcutManager.setFocusToHome();\n }\n}\n\n/** useCallback Hook for Keyboard Event handler to set focus to Home on Escape key\n * @internal\n */\nexport function useEscapeSetFocusToHome() {\n return React.useCallback(onEscapeSetFocusToHome, []);\n}\n"]}
1
+ {"version":3,"file":"useEscapeSetFocusToHome.js","sourceRoot":"","sources":["../../../../src/appui-react/hooks/useEscapeSetFocusToHome.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,0DAAmD;AACnD,2EAA+E;AAE/E;;GAEG;AACH,SAAgB,sBAAsB,CAAC,CAAsB;IAC3D,uBAAuB;IACvB,IAAI,CAAC,CAAC,GAAG,KAAK,2BAAU,CAAC,MAAM,EAAE;QAC/B,0CAAuB,CAAC,cAAc,EAAE,CAAC;KAC1C;AACH,CAAC;AALD,wDAKC;AAED;;GAEG;AACH,SAAgB,uBAAuB;IACrC,OAAO,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAFD,0DAEC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Hooks\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { KeyboardShortcutManager } from \"../keyboardshortcut/KeyboardShortcut\";\r\n\r\n/** Keyboard Event handler to set focus to Home on Escape key\r\n * @internal\r\n */\r\nexport function onEscapeSetFocusToHome(e: React.KeyboardEvent): void {\r\n // istanbul ignore else\r\n if (e.key === SpecialKey.Escape) {\r\n KeyboardShortcutManager.setFocusToHome();\r\n }\r\n}\r\n\r\n/** useCallback Hook for Keyboard Event handler to set focus to Home on Escape key\r\n * @internal\r\n */\r\nexport function useEscapeSetFocusToHome() {\r\n return React.useCallback(onEscapeSetFocusToHome, []);\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useFrameworkVersion.js","sourceRoot":"","sources":["../../../../src/appui-react/hooks/useFrameworkVersion.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,gDAA6C;AAE7C,gBAAgB;AAChB,SAAgB,mBAAmB;IACjC,OAAO,KAAK,CAAC,UAAU,CAAC,+BAAuB,CAAC,CAAC;AACnD,CAAC;AAFD,kDAEC;AAKD,gBAAgB;AACH,QAAA,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAAmB,GAAG,CAAC,CAAC,CAAC,2DAA2D;AAQ9I,aAAa;AACb,SAAgB,gBAAgB,CAAC,KAA4B;IAC3D,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAExC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,mGAAmG;QACnG,yBAAW,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,uBAAuB;QACvB,IAAI,cAAc,CAAC,OAAO,KAAK,OAAO,EAAE;YACtC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC;YAC1C,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;YACjC,yBAAW,CAAC,8BAA8B,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;SAC1E;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpB,OAAO,CACL,oBAAC,+BAAuB,CAAC,QAAQ,IAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,KAAK,EAAE,KAAK,CAAC,OAAO,GACpB,CACH,CAAC;AACJ,CAAC;AArBD,4CAqBC;AAQD,gBAAgB;AAChB,SAAgB,sBAAsB,CAAC,KAAkC;IACvE,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,QAAQ,OAAO,EAAE;QACf,KAAK,GAAG,CAAC,CAAC;YACR,OAAO,0CAAG,KAAK,CAAC,EAAE,CAAI,CAAC;SACxB;QACD,KAAK,GAAG,CAAC;QACT,OAAO,CAAC,CAAC;YACP,OAAO,0CAAG,KAAK,CAAC,EAAE,CAAI,CAAC;SACxB;KACF;AACH,CAAC;AAXD,wDAWC","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/** @packageDocumentation\n * @module Hooks\n */\n\nimport * as React from \"react\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** @internal */\nexport function useFrameworkVersion(): FrameworkVersion {\n return React.useContext(FrameworkVersionContext);\n}\n\n/** @alpha */\nexport type FrameworkVersion = \"1\" | \"2\";\n\n/** @internal */\nexport const FrameworkVersionContext = React.createContext<FrameworkVersion>(\"1\"); // eslint-disable-line @typescript-eslint/naming-convention\n\n/** @alpha */\nexport interface FrameworkVersionProps {\n children?: React.ReactNode;\n version: FrameworkVersion;\n}\n\n/** @alpha */\nexport function FrameworkVersion(props: FrameworkVersionProps) { // eslint-disable-line @typescript-eslint/no-redeclare\n const currentVersion = React.useRef(\"\");\n\n React.useEffect(() => {\n const version = props.version;\n // ensure UiFramework.uiVersion matches as non-react extensions may need to know target UI version.\n UiFramework.setUiVersion(props.version);\n // istanbul ignore else\n if (currentVersion.current !== version) {\n const oldVersion = currentVersion.current;\n currentVersion.current = version;\n UiFramework.onFrameworkVersionChangedEvent.emit({ version, oldVersion });\n }\n }, [props.version]);\n\n return (\n <FrameworkVersionContext.Provider\n children={props.children} // eslint-disable-line react/no-children-prop\n value={props.version}\n />\n );\n}\n\n/** @internal */\nexport interface FrameworkVersionSwitchProps {\n v1?: React.ReactNode;\n v2?: React.ReactNode;\n}\n\n/** @internal */\nexport function FrameworkVersionSwitch(props: FrameworkVersionSwitchProps) {\n const version = useFrameworkVersion();\n switch (version) {\n case \"2\": {\n return <>{props.v2}</>;\n }\n case \"1\":\n default: {\n return <>{props.v1}</>;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"useFrameworkVersion.js","sourceRoot":"","sources":["../../../../src/appui-react/hooks/useFrameworkVersion.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,gDAA6C;AAE7C,gBAAgB;AAChB,SAAgB,mBAAmB;IACjC,OAAO,KAAK,CAAC,UAAU,CAAC,+BAAuB,CAAC,CAAC;AACnD,CAAC;AAFD,kDAEC;AAKD,gBAAgB;AACH,QAAA,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAAmB,GAAG,CAAC,CAAC,CAAC,2DAA2D;AAQ9I,aAAa;AACb,SAAgB,gBAAgB,CAAC,KAA4B;IAC3D,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAExC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,mGAAmG;QACnG,yBAAW,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,uBAAuB;QACvB,IAAI,cAAc,CAAC,OAAO,KAAK,OAAO,EAAE;YACtC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC;YAC1C,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;YACjC,yBAAW,CAAC,8BAA8B,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;SAC1E;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpB,OAAO,CACL,oBAAC,+BAAuB,CAAC,QAAQ,IAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,KAAK,EAAE,KAAK,CAAC,OAAO,GACpB,CACH,CAAC;AACJ,CAAC;AArBD,4CAqBC;AAQD,gBAAgB;AAChB,SAAgB,sBAAsB,CAAC,KAAkC;IACvE,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,QAAQ,OAAO,EAAE;QACf,KAAK,GAAG,CAAC,CAAC;YACR,OAAO,0CAAG,KAAK,CAAC,EAAE,CAAI,CAAC;SACxB;QACD,KAAK,GAAG,CAAC;QACT,OAAO,CAAC,CAAC;YACP,OAAO,0CAAG,KAAK,CAAC,EAAE,CAAI,CAAC;SACxB;KACF;AACH,CAAC;AAXD,wDAWC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Hooks\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/** @internal */\r\nexport function useFrameworkVersion(): FrameworkVersion {\r\n return React.useContext(FrameworkVersionContext);\r\n}\r\n\r\n/** @alpha */\r\nexport type FrameworkVersion = \"1\" | \"2\";\r\n\r\n/** @internal */\r\nexport const FrameworkVersionContext = React.createContext<FrameworkVersion>(\"1\"); // eslint-disable-line @typescript-eslint/naming-convention\r\n\r\n/** @alpha */\r\nexport interface FrameworkVersionProps {\r\n children?: React.ReactNode;\r\n version: FrameworkVersion;\r\n}\r\n\r\n/** @alpha */\r\nexport function FrameworkVersion(props: FrameworkVersionProps) { // eslint-disable-line @typescript-eslint/no-redeclare\r\n const currentVersion = React.useRef(\"\");\r\n\r\n React.useEffect(() => {\r\n const version = props.version;\r\n // ensure UiFramework.uiVersion matches as non-react extensions may need to know target UI version.\r\n UiFramework.setUiVersion(props.version);\r\n // istanbul ignore else\r\n if (currentVersion.current !== version) {\r\n const oldVersion = currentVersion.current;\r\n currentVersion.current = version;\r\n UiFramework.onFrameworkVersionChangedEvent.emit({ version, oldVersion });\r\n }\r\n }, [props.version]);\r\n\r\n return (\r\n <FrameworkVersionContext.Provider\r\n children={props.children} // eslint-disable-line react/no-children-prop\r\n value={props.version}\r\n />\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport interface FrameworkVersionSwitchProps {\r\n v1?: React.ReactNode;\r\n v2?: React.ReactNode;\r\n}\r\n\r\n/** @internal */\r\nexport function FrameworkVersionSwitch(props: FrameworkVersionSwitchProps) {\r\n const version = useFrameworkVersion();\r\n switch (version) {\r\n case \"2\": {\r\n return <>{props.v2}</>;\r\n }\r\n case \"1\":\r\n default: {\r\n return <>{props.v1}</>;\r\n }\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useScheduleAnimationDataProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/hooks/useScheduleAnimationDataProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Hooks\n */\n\nimport * as React from \"react\";\nimport { ScheduleAnimationTimelineDataProvider } from \"../timeline/ScheduleAnimationProvider\";\nimport { ScreenViewport, Viewport } from \"@itwin/core-frontend\";\n\n/** @internal */\n// istanbul ignore next\nfunction useSupportsScheduleScript(viewport: Viewport | undefined) {\n const [supportsScheduleScript, setSupportsScheduleScript] = React.useState(!!viewport?.view?.scheduleScript);\n\n React.useEffect(() => {\n setSupportsScheduleScript(!!viewport?.view?.scheduleScript);\n }, [viewport]);\n\n React.useEffect(() => {\n const handleViewChanged = (vp: Viewport): void => {\n const hasScheduleScript = !!vp?.view?.scheduleScript;\n if (hasScheduleScript !== supportsScheduleScript)\n setSupportsScheduleScript(hasScheduleScript);\n };\n return viewport?.onChangeView.addListener(handleViewChanged);\n }, [supportsScheduleScript, viewport]);\n\n React.useEffect(() => {\n const handleDisplayStyleChange = (vp: Viewport): void => {\n const hasScheduleScript = !!vp?.view?.scheduleScript;\n if (hasScheduleScript !== supportsScheduleScript)\n setSupportsScheduleScript(hasScheduleScript);\n };\n return viewport?.onDisplayStyleChanged.addListener(handleDisplayStyleChange);\n }, [viewport, supportsScheduleScript]);\n return supportsScheduleScript;\n}\n\n/** Hook that returns either a ScheduleAnimationTimelineDataProvider or undefined based on if the supplied viewport contains schedule script.\n * @public\n **/\n// istanbul ignore next\nexport function useScheduleAnimationDataProvider(viewport: ScreenViewport | undefined) {\n const supportsScheduleScript = useSupportsScheduleScript(viewport);\n const [scheduleAnimationTimelineDataProvider, setScheduleAnimationTimelineDataProvider] = React.useState<ScheduleAnimationTimelineDataProvider | undefined>();\n const isMountedRef = React.useRef(false);\n\n React.useEffect(() => {\n isMountedRef.current = true;\n return () => { isMountedRef.current = false; };\n }, []);\n\n React.useEffect(() => {\n async function fetchNewDataProvider(vp: ScreenViewport) {\n let newProvider: ScheduleAnimationTimelineDataProvider | undefined = new ScheduleAnimationTimelineDataProvider(vp.view, vp);\n if (newProvider?.supportsTimelineAnimation) {\n const dataLoaded = await newProvider.loadTimelineData();\n if (!dataLoaded)\n newProvider = undefined;\n }\n isMountedRef.current && setScheduleAnimationTimelineDataProvider(newProvider);\n }\n if (supportsScheduleScript && viewport)\n void fetchNewDataProvider(viewport);\n else\n isMountedRef.current && setScheduleAnimationTimelineDataProvider(undefined);\n }, [supportsScheduleScript, viewport]);\n\n return scheduleAnimationTimelineDataProvider;\n}\n"]}
1
+ {"version":3,"file":"useScheduleAnimationDataProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/hooks/useScheduleAnimationDataProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Hooks\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ScheduleAnimationTimelineDataProvider } from \"../timeline/ScheduleAnimationProvider\";\r\nimport { ScreenViewport, Viewport } from \"@itwin/core-frontend\";\r\n\r\n/** @internal */\r\n// istanbul ignore next\r\nfunction useSupportsScheduleScript(viewport: Viewport | undefined) {\r\n const [supportsScheduleScript, setSupportsScheduleScript] = React.useState(!!viewport?.view?.scheduleScript);\r\n\r\n React.useEffect(() => {\r\n setSupportsScheduleScript(!!viewport?.view?.scheduleScript);\r\n }, [viewport]);\r\n\r\n React.useEffect(() => {\r\n const handleViewChanged = (vp: Viewport): void => {\r\n const hasScheduleScript = !!vp?.view?.scheduleScript;\r\n if (hasScheduleScript !== supportsScheduleScript)\r\n setSupportsScheduleScript(hasScheduleScript);\r\n };\r\n return viewport?.onChangeView.addListener(handleViewChanged);\r\n }, [supportsScheduleScript, viewport]);\r\n\r\n React.useEffect(() => {\r\n const handleDisplayStyleChange = (vp: Viewport): void => {\r\n const hasScheduleScript = !!vp?.view?.scheduleScript;\r\n if (hasScheduleScript !== supportsScheduleScript)\r\n setSupportsScheduleScript(hasScheduleScript);\r\n };\r\n return viewport?.onDisplayStyleChanged.addListener(handleDisplayStyleChange);\r\n }, [viewport, supportsScheduleScript]);\r\n return supportsScheduleScript;\r\n}\r\n\r\n/** Hook that returns either a ScheduleAnimationTimelineDataProvider or undefined based on if the supplied viewport contains schedule script.\r\n * @public\r\n **/\r\n// istanbul ignore next\r\nexport function useScheduleAnimationDataProvider(viewport: ScreenViewport | undefined) {\r\n const supportsScheduleScript = useSupportsScheduleScript(viewport);\r\n const [scheduleAnimationTimelineDataProvider, setScheduleAnimationTimelineDataProvider] = React.useState<ScheduleAnimationTimelineDataProvider | undefined>();\r\n const isMountedRef = React.useRef(false);\r\n\r\n React.useEffect(() => {\r\n isMountedRef.current = true;\r\n return () => { isMountedRef.current = false; };\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n async function fetchNewDataProvider(vp: ScreenViewport) {\r\n let newProvider: ScheduleAnimationTimelineDataProvider | undefined = new ScheduleAnimationTimelineDataProvider(vp.view, vp);\r\n if (newProvider?.supportsTimelineAnimation) {\r\n const dataLoaded = await newProvider.loadTimelineData();\r\n if (!dataLoaded)\r\n newProvider = undefined;\r\n }\r\n isMountedRef.current && setScheduleAnimationTimelineDataProvider(newProvider);\r\n }\r\n if (supportsScheduleScript && viewport)\r\n void fetchNewDataProvider(viewport);\r\n else\r\n isMountedRef.current && setScheduleAnimationTimelineDataProvider(undefined);\r\n }, [supportsScheduleScript, viewport]);\r\n\r\n return scheduleAnimationTimelineDataProvider;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useSolarDataProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/hooks/useSolarDataProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Hooks\n */\n\nimport * as React from \"react\";\nimport { SolarDataProvider } from \"@itwin/imodel-components-react\";\nimport { IModelApp, ScreenViewport, Viewport } from \"@itwin/core-frontend\";\nimport { SolarTimelineDataProvider } from \"../timeline/SolarTimelineDataProvider\";\n\n/** @internal */\n// istanbul ignore next\nfunction useSupportsShadowDisplay(viewport: ScreenViewport | undefined) {\n const [supportsShadows, setSupportsShadows] = React.useState(!!viewport?.displayStyle?.wantShadows && !!IModelApp.renderSystem.options.displaySolarShadows);\n\n React.useEffect(() => {\n setSupportsShadows(!!viewport?.displayStyle?.wantShadows && !!IModelApp.renderSystem.options.displaySolarShadows);\n }, [viewport]);\n\n React.useEffect(() => {\n const handleViewChanged = (vp: Viewport): void => {\n setSupportsShadows(!!vp?.displayStyle?.wantShadows && !!IModelApp.renderSystem.options.displaySolarShadows);\n };\n return viewport?.onChangeView.addListener(handleViewChanged);\n }, [viewport]);\n\n React.useEffect(() => {\n const handleViewChanged = (vp: Viewport): void => {\n const wantShadows = !!vp.displayStyle?.wantShadows && !!IModelApp.renderSystem.options.displaySolarShadows;\n if (wantShadows !== supportsShadows)\n setSupportsShadows(wantShadows);\n };\n return viewport?.onChangeView.addListener(handleViewChanged);\n }, [viewport, supportsShadows]);\n\n React.useEffect(() => {\n const handleDisplayStyleChange = (vp: Viewport): void => {\n const wantShadows = !!vp.displayStyle?.wantShadows && !!IModelApp.renderSystem.options.displaySolarShadows;\n if (wantShadows !== supportsShadows)\n setSupportsShadows(wantShadows);\n };\n return viewport?.onDisplayStyleChanged.addListener(handleDisplayStyleChange);\n }, [viewport, supportsShadows]);\n\n return supportsShadows;\n}\n\n/** Hook that returns either a SolarTimelineDataProvider or undefined based on if the supplied viewport's display style is set to display shadows.\n * @beta\n **/\n// istanbul ignore next\nexport function useSolarDataProvider(viewport: ScreenViewport | undefined): SolarDataProvider | undefined {\n const supportsShadowDisplay = useSupportsShadowDisplay(viewport);\n const [solarDataProvider, setSolarDataProvider] = React.useState(() => {\n return (supportsShadowDisplay && viewport) ? new SolarTimelineDataProvider(viewport.view, viewport) : undefined;\n });\n\n React.useEffect(() => {\n const newSolarDataProvider = (supportsShadowDisplay && viewport) ? new SolarTimelineDataProvider(viewport.view, viewport) : undefined;\n setSolarDataProvider(newSolarDataProvider);\n }, [supportsShadowDisplay, viewport]);\n\n return solarDataProvider;\n}\n"]}
1
+ {"version":3,"file":"useSolarDataProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/hooks/useSolarDataProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Hooks\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { SolarDataProvider } from \"@itwin/imodel-components-react\";\r\nimport { IModelApp, ScreenViewport, Viewport } from \"@itwin/core-frontend\";\r\nimport { SolarTimelineDataProvider } from \"../timeline/SolarTimelineDataProvider\";\r\n\r\n/** @internal */\r\n// istanbul ignore next\r\nfunction useSupportsShadowDisplay(viewport: ScreenViewport | undefined) {\r\n const [supportsShadows, setSupportsShadows] = React.useState(!!viewport?.displayStyle?.wantShadows && !!IModelApp.renderSystem.options.displaySolarShadows);\r\n\r\n React.useEffect(() => {\r\n setSupportsShadows(!!viewport?.displayStyle?.wantShadows && !!IModelApp.renderSystem.options.displaySolarShadows);\r\n }, [viewport]);\r\n\r\n React.useEffect(() => {\r\n const handleViewChanged = (vp: Viewport): void => {\r\n setSupportsShadows(!!vp?.displayStyle?.wantShadows && !!IModelApp.renderSystem.options.displaySolarShadows);\r\n };\r\n return viewport?.onChangeView.addListener(handleViewChanged);\r\n }, [viewport]);\r\n\r\n React.useEffect(() => {\r\n const handleViewChanged = (vp: Viewport): void => {\r\n const wantShadows = !!vp.displayStyle?.wantShadows && !!IModelApp.renderSystem.options.displaySolarShadows;\r\n if (wantShadows !== supportsShadows)\r\n setSupportsShadows(wantShadows);\r\n };\r\n return viewport?.onChangeView.addListener(handleViewChanged);\r\n }, [viewport, supportsShadows]);\r\n\r\n React.useEffect(() => {\r\n const handleDisplayStyleChange = (vp: Viewport): void => {\r\n const wantShadows = !!vp.displayStyle?.wantShadows && !!IModelApp.renderSystem.options.displaySolarShadows;\r\n if (wantShadows !== supportsShadows)\r\n setSupportsShadows(wantShadows);\r\n };\r\n return viewport?.onDisplayStyleChanged.addListener(handleDisplayStyleChange);\r\n }, [viewport, supportsShadows]);\r\n\r\n return supportsShadows;\r\n}\r\n\r\n/** Hook that returns either a SolarTimelineDataProvider or undefined based on if the supplied viewport's display style is set to display shadows.\r\n * @beta\r\n **/\r\n// istanbul ignore next\r\nexport function useSolarDataProvider(viewport: ScreenViewport | undefined): SolarDataProvider | undefined {\r\n const supportsShadowDisplay = useSupportsShadowDisplay(viewport);\r\n const [solarDataProvider, setSolarDataProvider] = React.useState(() => {\r\n return (supportsShadowDisplay && viewport) ? new SolarTimelineDataProvider(viewport.view, viewport) : undefined;\r\n });\r\n\r\n React.useEffect(() => {\r\n const newSolarDataProvider = (supportsShadowDisplay && viewport) ? new SolarTimelineDataProvider(viewport.view, viewport) : undefined;\r\n setSolarDataProvider(newSolarDataProvider);\r\n }, [supportsShadowDisplay, viewport]);\r\n\r\n return solarDataProvider;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Common.js","sourceRoot":"","sources":["../../../../src/appui-react/imodel-components/Common.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;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/** @packageDocumentation\n * @module IModelComponents\n */\n\n/**\n * An option of how class grouping should work in a component.\n * @beta\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 * @alpha\n */\nexport interface VisibilityTreeFilterInfo {\n filter: string;\n activeMatchIndex?: number;\n}\n"]}
1
+ {"version":3,"file":"Common.js","sourceRoot":"","sources":["../../../../src/appui-react/imodel-components/Common.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;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":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModelComponents\r\n */\r\n\r\n/**\r\n * An option of how class grouping should work in a component.\r\n * @beta\r\n */\r\nexport enum ClassGroupingOption {\r\n /** Class grouping is disabled */\r\n No,\r\n /** Class grouping is enabled */\r\n Yes,\r\n /** Class grouping is enabled and grouping node shows grouped items count */\r\n YesWithCounts,\r\n}\r\n\r\n/**\r\n * Data structure that describes info used to filter visibility tree.\r\n * @alpha\r\n */\r\nexport interface VisibilityTreeFilterInfo {\r\n filter: string;\r\n activeMatchIndex?: number;\r\n}\r\n"]}
@@ -1,53 +1,53 @@
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 "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
6
-
7
- @mixin ui-fw-visibility-tree-base {
8
- height: 100%;
9
- width: 100%;
10
- display: flex;
11
- flex-direction: column;
12
- position: relative;
13
-
14
- .core-tree-node.with-checkbox {
15
- >.contents {
16
- padding-left: 31px;
17
- }
18
- }
19
-
20
- .core-image-checkbox {
21
- position: absolute;
22
- left: 5px;
23
- padding: 0;
24
- margin: -2px 0px 0px 5px;
25
- }
26
-
27
- .filteredTreeOverlay {
28
- position: absolute;
29
- top: 0;
30
- left: 0;
31
- width: 100%;
32
- height: 100%;
33
- z-index: 9999;
34
- background-color: rgba(255, 255, 255, .8);
35
- }
36
-
37
- .components-tree-errormessage {
38
- position: absolute;
39
- top: 40%;
40
- left: 50%;
41
- width: 75%;
42
- text-align: center;
43
- transform: translate(-50%, -50%);
44
- font-style: italic;
45
- color: $buic-foreground-muted;
46
-
47
- .errormessage-header {
48
- display: block;
49
- font-weight: bold;
50
- }
51
- }
52
-
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 "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
6
+
7
+ @mixin ui-fw-visibility-tree-base {
8
+ height: 100%;
9
+ width: 100%;
10
+ display: flex;
11
+ flex-direction: column;
12
+ position: relative;
13
+
14
+ .core-tree-node.with-checkbox {
15
+ >.contents {
16
+ padding-left: 31px;
17
+ }
18
+ }
19
+
20
+ .core-image-checkbox {
21
+ position: absolute;
22
+ left: 5px;
23
+ padding: 0;
24
+ margin: -2px 0px 0px 5px;
25
+ }
26
+
27
+ .filteredTreeOverlay {
28
+ position: absolute;
29
+ top: 0;
30
+ left: 0;
31
+ width: 100%;
32
+ height: 100%;
33
+ z-index: 9999;
34
+ background-color: rgba(255, 255, 255, .8);
35
+ }
36
+
37
+ .components-tree-errormessage {
38
+ position: absolute;
39
+ top: 40%;
40
+ left: 50%;
41
+ width: 75%;
42
+ text-align: center;
43
+ transform: translate(-50%, -50%);
44
+ font-style: italic;
45
+ color: $buic-foreground-muted;
46
+
47
+ .errormessage-header {
48
+ display: block;
49
+ font-weight: bold;
50
+ }
51
+ }
52
+
53
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VisibilityTreeEventHandler.js","sourceRoot":"","sources":["../../../../src/appui-react/imodel-components/VisibilityTreeEventHandler.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module IModelComponents\n */\n\nimport { EMPTY } from \"rxjs/internal/observable/empty\";\nimport { from } from \"rxjs/internal/observable/from\";\nimport { map } from \"rxjs/internal/operators/map\";\nimport { mergeMap } from \"rxjs/internal/operators/mergeMap\";\nimport { BeEvent, IDisposable } from \"@itwin/core-bentley\";\nimport { NodeKey } from \"@itwin/presentation-common\";\nimport { UnifiedSelectionTreeEventHandler, UnifiedSelectionTreeEventHandlerParams } from \"@itwin/presentation-components\";\nimport {\n CheckBoxInfo, CheckboxStateChange, toRxjsObservable, TreeCheckboxStateChangeEventArgs, TreeModelNode, TreeNodeItem,\n TreeSelectionModificationEventArgs, TreeSelectionReplacementEventArgs,\n} from \"@itwin/components-react\";\nimport { CheckBoxState, isPromiseLike } from \"@itwin/core-react\";\n\n/**\n * Data structure that describes instance visibility status.\n * @alpha\n */\nexport interface VisibilityStatus {\n state: \"visible\" | \"partial\" | \"hidden\";\n isDisabled?: boolean;\n tooltip?: string;\n}\n\n/**\n * Type definition of visibility change event listener.\n * @alpha\n */\nexport type VisibilityChangeListener = (nodeIds?: string[], visibilityStatus?: Map<string, VisibilityStatus>) => void;\n\n/**\n * Visibility handler used to change or get visibility of instances represented by the tree node.\n * @alpha\n */\nexport interface IVisibilityHandler extends IDisposable {\n getVisibilityStatus(node: TreeNodeItem, nodeKey: NodeKey): VisibilityStatus | Promise<VisibilityStatus>;\n changeVisibility(node: TreeNodeItem, nodeKey: NodeKey, shouldDisplay: boolean): Promise<void>;\n onVisibilityChange: BeEvent<VisibilityChangeListener>;\n}\n\n/**\n * Type definition of predicate used to decide if node can be selected.\n * @alpha\n */\nexport type VisibilityTreeSelectionPredicate = (key: NodeKey, node: TreeNodeItem) => boolean;\n\n/**\n * Parameters for [[VisibilityTreeEventHandler]]\n * @alpha\n */\nexport interface VisibilityTreeEventHandlerParams extends UnifiedSelectionTreeEventHandlerParams {\n visibilityHandler: IVisibilityHandler | undefined;\n selectionPredicate?: VisibilityTreeSelectionPredicate;\n}\n\n/**\n * Base event handler for visibility tree.\n * @alpha\n */\nexport class VisibilityTreeEventHandler extends UnifiedSelectionTreeEventHandler {\n private _visibilityHandler: IVisibilityHandler | undefined;\n private _selectionPredicate?: VisibilityTreeSelectionPredicate;\n private _listeners = new Array<() => void>();\n\n constructor(params: VisibilityTreeEventHandlerParams) {\n super(params);\n this._visibilityHandler = params.visibilityHandler;\n this._selectionPredicate = params.selectionPredicate;\n\n if (this._visibilityHandler) {\n this._listeners.push(this._visibilityHandler.onVisibilityChange.addListener(async (nodeIds, visibilityStatus) => this.updateCheckboxes(nodeIds, visibilityStatus)));\n }\n\n this._listeners.push(this.modelSource.onModelChanged.addListener(async ([_, changes]) => this.updateCheckboxes([...changes.addedNodeIds, ...changes.modifiedNodeIds])));\n this.updateCheckboxes(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n\n public override dispose() {\n super.dispose();\n this._listeners.forEach((disposeFunc) => disposeFunc());\n }\n\n private filterSelectionItems(items: TreeNodeItem[]) {\n // istanbul ignore if\n if (!this._selectionPredicate)\n return items;\n\n return items.filter((item) => this._selectionPredicate!(this.getNodeKey(item), item));\n }\n\n public override onSelectionModified({ modifications }: TreeSelectionModificationEventArgs) {\n const filteredModification = toRxjsObservable(modifications).pipe(\n map(({ selectedNodeItems, deselectedNodeItems }) => {\n return {\n selectedNodeItems: this.filterSelectionItems(selectedNodeItems),\n deselectedNodeItems: this.filterSelectionItems(deselectedNodeItems),\n };\n }),\n );\n return super.onSelectionModified({ modifications: filteredModification });\n }\n\n public override onSelectionReplaced({ replacements }: TreeSelectionReplacementEventArgs) {\n const filteredReplacements = toRxjsObservable(replacements).pipe(\n map(({ selectedNodeItems }) => {\n return {\n selectedNodeItems: this.filterSelectionItems(selectedNodeItems),\n };\n }),\n );\n return super.onSelectionReplaced({ replacements: filteredReplacements });\n }\n\n public override onCheckboxStateChanged(event: TreeCheckboxStateChangeEventArgs) {\n // istanbul ignore if\n if (!this._visibilityHandler)\n return undefined;\n\n from(event.stateChanges)\n .pipe(\n mergeMap((changes) => this.changeVisibility(changes)),\n )\n .subscribe();\n return undefined;\n }\n\n private changeVisibility(changes: CheckboxStateChange[]) {\n return from(changes)\n .pipe(\n mergeMap(({ nodeItem, newState }) => {\n // istanbul ignore if\n if (!this._visibilityHandler)\n return EMPTY;\n return from(this._visibilityHandler.changeVisibility(nodeItem, this.getNodeKey(nodeItem), newState === CheckBoxState.On));\n }),\n );\n }\n\n private async updateCheckboxes(affectedNodes?: string[], visibilityStatus?: Map<string, VisibilityStatus>) {\n const changes = await (affectedNodes ? this.collectAffectedNodesCheckboxInfos(affectedNodes, visibilityStatus) : this.collectAllNodesCheckboxInfos(visibilityStatus));\n this.updateModel(changes);\n }\n\n private updateModel(changes: Map<string, CheckBoxInfo>) {\n this.modelSource.modifyModel((model) => {\n for (const [nodeId, checkboxInfo] of changes) {\n const node = model.getNode(nodeId);\n // istanbul ignore if\n if (!node)\n continue;\n\n node.checkbox.isDisabled = checkboxInfo.isDisabled;\n node.checkbox.isVisible = checkboxInfo.isVisible;\n node.checkbox.state = checkboxInfo.state;\n node.checkbox.tooltip = checkboxInfo.tooltip;\n }\n });\n }\n\n private async collectAffectedNodesCheckboxInfos(affectedNodes: string[], visibilityStatus?: Map<string, VisibilityStatus>) {\n const nodeStates = new Map<string, CheckBoxInfo>();\n if (affectedNodes.length === 0)\n return nodeStates;\n\n for (const nodeId of affectedNodes) {\n const node = this.modelSource.getModel().getNode(nodeId);\n // istanbul ignore if\n if (!node)\n continue;\n\n nodeStates.set(nodeId, await this.getNodeCheckBoxInfo(node, visibilityStatus));\n }\n return nodeStates;\n }\n\n private async collectAllNodesCheckboxInfos(visibilityStatus?: Map<string, VisibilityStatus>) {\n const nodeStates = new Map<string, CheckBoxInfo>();\n for (const node of this.modelSource.getModel().iterateTreeModelNodes()) {\n nodeStates.set(node.id, await this.getNodeCheckBoxInfo(node, visibilityStatus));\n }\n return nodeStates;\n }\n\n private async getNodeCheckBoxInfo(node: TreeModelNode, visibilityStatus?: Map<string, VisibilityStatus>): Promise<CheckBoxInfo> {\n if (!this._visibilityHandler)\n return { ...node.checkbox, isVisible: false };\n\n const result = visibilityStatus?.get(node.id) ?? this._visibilityHandler.getVisibilityStatus(node.item, this.getNodeKey(node.item));\n\n if (isPromiseLike(result))\n return this.createCheckboxInfo(await result);\n return this.createCheckboxInfo(result);\n }\n\n private createCheckboxInfo(status: VisibilityStatus): CheckBoxInfo {\n return {\n state: visibilityStateToCheckboxState(status),\n isDisabled: status.isDisabled || false,\n isVisible: true,\n tooltip: status.tooltip,\n };\n }\n}\n\nconst visibilityStateToCheckboxState = (status: VisibilityStatus) => {\n switch (status.state) {\n case \"visible\":\n return CheckBoxState.On;\n // istanbul ignore next\n case \"partial\":\n return CheckBoxState.Partial;\n case \"hidden\":\n default:\n return CheckBoxState.Off;\n }\n};\n"]}
1
+ {"version":3,"file":"VisibilityTreeEventHandler.js","sourceRoot":"","sources":["../../../../src/appui-react/imodel-components/VisibilityTreeEventHandler.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModelComponents\r\n */\r\n\r\nimport { EMPTY } from \"rxjs/internal/observable/empty\";\r\nimport { from } from \"rxjs/internal/observable/from\";\r\nimport { map } from \"rxjs/internal/operators/map\";\r\nimport { mergeMap } from \"rxjs/internal/operators/mergeMap\";\r\nimport { BeEvent, IDisposable } from \"@itwin/core-bentley\";\r\nimport { NodeKey } from \"@itwin/presentation-common\";\r\nimport { UnifiedSelectionTreeEventHandler, UnifiedSelectionTreeEventHandlerParams } from \"@itwin/presentation-components\";\r\nimport {\r\n CheckBoxInfo, CheckboxStateChange, toRxjsObservable, TreeCheckboxStateChangeEventArgs, TreeModelNode, TreeNodeItem,\r\n TreeSelectionModificationEventArgs, TreeSelectionReplacementEventArgs,\r\n} from \"@itwin/components-react\";\r\nimport { CheckBoxState, isPromiseLike } from \"@itwin/core-react\";\r\n\r\n/**\r\n * Data structure that describes instance visibility status.\r\n * @alpha\r\n */\r\nexport interface VisibilityStatus {\r\n state: \"visible\" | \"partial\" | \"hidden\";\r\n isDisabled?: boolean;\r\n tooltip?: string;\r\n}\r\n\r\n/**\r\n * Type definition of visibility change event listener.\r\n * @alpha\r\n */\r\nexport type VisibilityChangeListener = (nodeIds?: string[], visibilityStatus?: Map<string, VisibilityStatus>) => void;\r\n\r\n/**\r\n * Visibility handler used to change or get visibility of instances represented by the tree node.\r\n * @alpha\r\n */\r\nexport interface IVisibilityHandler extends IDisposable {\r\n getVisibilityStatus(node: TreeNodeItem, nodeKey: NodeKey): VisibilityStatus | Promise<VisibilityStatus>;\r\n changeVisibility(node: TreeNodeItem, nodeKey: NodeKey, shouldDisplay: boolean): Promise<void>;\r\n onVisibilityChange: BeEvent<VisibilityChangeListener>;\r\n}\r\n\r\n/**\r\n * Type definition of predicate used to decide if node can be selected.\r\n * @alpha\r\n */\r\nexport type VisibilityTreeSelectionPredicate = (key: NodeKey, node: TreeNodeItem) => boolean;\r\n\r\n/**\r\n * Parameters for [[VisibilityTreeEventHandler]]\r\n * @alpha\r\n */\r\nexport interface VisibilityTreeEventHandlerParams extends UnifiedSelectionTreeEventHandlerParams {\r\n visibilityHandler: IVisibilityHandler | undefined;\r\n selectionPredicate?: VisibilityTreeSelectionPredicate;\r\n}\r\n\r\n/**\r\n * Base event handler for visibility tree.\r\n * @alpha\r\n */\r\nexport class VisibilityTreeEventHandler extends UnifiedSelectionTreeEventHandler {\r\n private _visibilityHandler: IVisibilityHandler | undefined;\r\n private _selectionPredicate?: VisibilityTreeSelectionPredicate;\r\n private _listeners = new Array<() => void>();\r\n\r\n constructor(params: VisibilityTreeEventHandlerParams) {\r\n super(params);\r\n this._visibilityHandler = params.visibilityHandler;\r\n this._selectionPredicate = params.selectionPredicate;\r\n\r\n if (this._visibilityHandler) {\r\n this._listeners.push(this._visibilityHandler.onVisibilityChange.addListener(async (nodeIds, visibilityStatus) => this.updateCheckboxes(nodeIds, visibilityStatus)));\r\n }\r\n\r\n this._listeners.push(this.modelSource.onModelChanged.addListener(async ([_, changes]) => this.updateCheckboxes([...changes.addedNodeIds, ...changes.modifiedNodeIds])));\r\n this.updateCheckboxes(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n public override dispose() {\r\n super.dispose();\r\n this._listeners.forEach((disposeFunc) => disposeFunc());\r\n }\r\n\r\n private filterSelectionItems(items: TreeNodeItem[]) {\r\n // istanbul ignore if\r\n if (!this._selectionPredicate)\r\n return items;\r\n\r\n return items.filter((item) => this._selectionPredicate!(this.getNodeKey(item), item));\r\n }\r\n\r\n public override onSelectionModified({ modifications }: TreeSelectionModificationEventArgs) {\r\n const filteredModification = toRxjsObservable(modifications).pipe(\r\n map(({ selectedNodeItems, deselectedNodeItems }) => {\r\n return {\r\n selectedNodeItems: this.filterSelectionItems(selectedNodeItems),\r\n deselectedNodeItems: this.filterSelectionItems(deselectedNodeItems),\r\n };\r\n }),\r\n );\r\n return super.onSelectionModified({ modifications: filteredModification });\r\n }\r\n\r\n public override onSelectionReplaced({ replacements }: TreeSelectionReplacementEventArgs) {\r\n const filteredReplacements = toRxjsObservable(replacements).pipe(\r\n map(({ selectedNodeItems }) => {\r\n return {\r\n selectedNodeItems: this.filterSelectionItems(selectedNodeItems),\r\n };\r\n }),\r\n );\r\n return super.onSelectionReplaced({ replacements: filteredReplacements });\r\n }\r\n\r\n public override onCheckboxStateChanged(event: TreeCheckboxStateChangeEventArgs) {\r\n // istanbul ignore if\r\n if (!this._visibilityHandler)\r\n return undefined;\r\n\r\n from(event.stateChanges)\r\n .pipe(\r\n mergeMap((changes) => this.changeVisibility(changes)),\r\n )\r\n .subscribe();\r\n return undefined;\r\n }\r\n\r\n private changeVisibility(changes: CheckboxStateChange[]) {\r\n return from(changes)\r\n .pipe(\r\n mergeMap(({ nodeItem, newState }) => {\r\n // istanbul ignore if\r\n if (!this._visibilityHandler)\r\n return EMPTY;\r\n return from(this._visibilityHandler.changeVisibility(nodeItem, this.getNodeKey(nodeItem), newState === CheckBoxState.On));\r\n }),\r\n );\r\n }\r\n\r\n private async updateCheckboxes(affectedNodes?: string[], visibilityStatus?: Map<string, VisibilityStatus>) {\r\n const changes = await (affectedNodes ? this.collectAffectedNodesCheckboxInfos(affectedNodes, visibilityStatus) : this.collectAllNodesCheckboxInfos(visibilityStatus));\r\n this.updateModel(changes);\r\n }\r\n\r\n private updateModel(changes: Map<string, CheckBoxInfo>) {\r\n this.modelSource.modifyModel((model) => {\r\n for (const [nodeId, checkboxInfo] of changes) {\r\n const node = model.getNode(nodeId);\r\n // istanbul ignore if\r\n if (!node)\r\n continue;\r\n\r\n node.checkbox.isDisabled = checkboxInfo.isDisabled;\r\n node.checkbox.isVisible = checkboxInfo.isVisible;\r\n node.checkbox.state = checkboxInfo.state;\r\n node.checkbox.tooltip = checkboxInfo.tooltip;\r\n }\r\n });\r\n }\r\n\r\n private async collectAffectedNodesCheckboxInfos(affectedNodes: string[], visibilityStatus?: Map<string, VisibilityStatus>) {\r\n const nodeStates = new Map<string, CheckBoxInfo>();\r\n if (affectedNodes.length === 0)\r\n return nodeStates;\r\n\r\n for (const nodeId of affectedNodes) {\r\n const node = this.modelSource.getModel().getNode(nodeId);\r\n // istanbul ignore if\r\n if (!node)\r\n continue;\r\n\r\n nodeStates.set(nodeId, await this.getNodeCheckBoxInfo(node, visibilityStatus));\r\n }\r\n return nodeStates;\r\n }\r\n\r\n private async collectAllNodesCheckboxInfos(visibilityStatus?: Map<string, VisibilityStatus>) {\r\n const nodeStates = new Map<string, CheckBoxInfo>();\r\n for (const node of this.modelSource.getModel().iterateTreeModelNodes()) {\r\n nodeStates.set(node.id, await this.getNodeCheckBoxInfo(node, visibilityStatus));\r\n }\r\n return nodeStates;\r\n }\r\n\r\n private async getNodeCheckBoxInfo(node: TreeModelNode, visibilityStatus?: Map<string, VisibilityStatus>): Promise<CheckBoxInfo> {\r\n if (!this._visibilityHandler)\r\n return { ...node.checkbox, isVisible: false };\r\n\r\n const result = visibilityStatus?.get(node.id) ?? this._visibilityHandler.getVisibilityStatus(node.item, this.getNodeKey(node.item));\r\n\r\n if (isPromiseLike(result))\r\n return this.createCheckboxInfo(await result);\r\n return this.createCheckboxInfo(result);\r\n }\r\n\r\n private createCheckboxInfo(status: VisibilityStatus): CheckBoxInfo {\r\n return {\r\n state: visibilityStateToCheckboxState(status),\r\n isDisabled: status.isDisabled || false,\r\n isVisible: true,\r\n tooltip: status.tooltip,\r\n };\r\n }\r\n}\r\n\r\nconst visibilityStateToCheckboxState = (status: VisibilityStatus) => {\r\n switch (status.state) {\r\n case \"visible\":\r\n return CheckBoxState.On;\r\n // istanbul ignore next\r\n case \"partial\":\r\n return CheckBoxState.Partial;\r\n case \"hidden\":\r\n default:\r\n return CheckBoxState.Off;\r\n }\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"VisibilityTreeRenderer.js","sourceRoot":"","sources":["../../../../src/appui-react/imodel-components/VisibilityTreeRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module IModelComponents\n */\n\nimport * as React from \"react\";\nimport { IPresentationTreeDataProvider, useControlledPresentationTreeFiltering } from \"@itwin/presentation-components\";\nimport {\n AbstractTreeNodeLoaderWithProvider, TreeImageLoader, TreeNodeRenderer, TreeNodeRendererProps, TreeRenderer, TreeRendererProps,\n} from \"@itwin/components-react\";\nimport { ImageCheckBox, NodeCheckboxRenderProps } from \"@itwin/core-react\";\nimport { VisibilityTreeFilterInfo } from \"./Common\";\n\n/**\n * Creates Visibility tree renderer which renders nodes with eye checkbox.\n * @alpha\n */\nexport const useVisibilityTreeRenderer = (iconsEnabled: boolean, descriptionsEnabled: boolean) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const nodeRenderer = React.useCallback(createVisibilityTreeNodeRenderer(iconsEnabled, descriptionsEnabled), [iconsEnabled, descriptionsEnabled]);\n return React.useCallback((props: TreeRendererProps) => (\n <TreeRenderer\n {...props}\n nodeRenderer={nodeRenderer}\n />\n ), [nodeRenderer]);\n};\n\nconst imageLoader = new TreeImageLoader();\n/**\n * Creates node renderer which renders node with eye checkbox.\n * @alpha\n */\nexport const createVisibilityTreeNodeRenderer = (iconsEnabled: boolean, descriptionEnabled: boolean) => {\n return (props: TreeNodeRendererProps) => ( // eslint-disable-line react/display-name\n <TreeNodeRenderer\n {...props}\n checkboxRenderer={visibilityTreeNodeCheckboxRenderer}\n descriptionEnabled={descriptionEnabled}\n imageLoader={iconsEnabled ? imageLoader : undefined}\n className=\"with-checkbox\"\n />\n );\n};\n\n/**\n * Checkbox renderer that renders an eye.\n * @alpha\n */\nexport const visibilityTreeNodeCheckboxRenderer = (props: NodeCheckboxRenderProps) => (\n <ImageCheckBox\n checked={props.checked}\n disabled={props.disabled}\n imageOn=\"icon-visibility\"\n imageOff=\"icon-visibility-hide-2\"\n onClick={props.onChange}\n tooltip={props.title}\n />\n);\n\n/**\n * Filters data provider used in supplied node loader and invokes onFilterApplied when filtering is completed.\n * @alpha\n */\nexport const useVisibilityTreeFiltering = (\n nodeLoader: AbstractTreeNodeLoaderWithProvider<IPresentationTreeDataProvider>,\n filterInfo?: VisibilityTreeFilterInfo,\n onFilterApplied?: (filteredDataProvider: IPresentationTreeDataProvider, matchesCount: number) => void,\n) => {\n const { filter, activeMatchIndex } = filterInfo ?? { filter: undefined, activeMatchIndex: undefined };\n const {\n filteredNodeLoader,\n isFiltering,\n matchesCount,\n nodeHighlightingProps,\n } = useControlledPresentationTreeFiltering({ nodeLoader, filter, activeMatchIndex });\n\n React.useEffect(\n () => {\n if (filter && matchesCount !== undefined && filteredNodeLoader !== nodeLoader)\n onFilterApplied && onFilterApplied(filteredNodeLoader.dataProvider, matchesCount);\n },\n [filter, matchesCount, nodeLoader, filteredNodeLoader, onFilterApplied],\n );\n\n return { filteredNodeLoader, isFiltering, nodeHighlightingProps };\n};\n\n/**\n * Properties for [[VisibilityTreeNoFilteredData]] component.\n * @alpha\n */\nexport interface VisibilityTreeNoFilteredDataProps {\n title: string;\n message: string;\n}\n\n/**\n * Renders message that no nodes was found for filter.\n * @alpha\n */\nexport function VisibilityTreeNoFilteredData(props: VisibilityTreeNoFilteredDataProps) {\n return (\n <div className=\"components-tree-errormessage\">\n <span className=\"errormessage-header\">{props.title}</span>\n <span className=\"errormessage-body\">{props.message}</span>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"VisibilityTreeRenderer.js","sourceRoot":"","sources":["../../../../src/appui-react/imodel-components/VisibilityTreeRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModelComponents\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { IPresentationTreeDataProvider, useControlledPresentationTreeFiltering } from \"@itwin/presentation-components\";\r\nimport {\r\n AbstractTreeNodeLoaderWithProvider, TreeImageLoader, TreeNodeRenderer, TreeNodeRendererProps, TreeRenderer, TreeRendererProps,\r\n} from \"@itwin/components-react\";\r\nimport { ImageCheckBox, NodeCheckboxRenderProps } from \"@itwin/core-react\";\r\nimport { VisibilityTreeFilterInfo } from \"./Common\";\r\n\r\n/**\r\n * Creates Visibility tree renderer which renders nodes with eye checkbox.\r\n * @alpha\r\n */\r\nexport const useVisibilityTreeRenderer = (iconsEnabled: boolean, descriptionsEnabled: boolean) => {\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n const nodeRenderer = React.useCallback(createVisibilityTreeNodeRenderer(iconsEnabled, descriptionsEnabled), [iconsEnabled, descriptionsEnabled]);\r\n return React.useCallback((props: TreeRendererProps) => (\r\n <TreeRenderer\r\n {...props}\r\n nodeRenderer={nodeRenderer}\r\n />\r\n ), [nodeRenderer]);\r\n};\r\n\r\nconst imageLoader = new TreeImageLoader();\r\n/**\r\n * Creates node renderer which renders node with eye checkbox.\r\n * @alpha\r\n */\r\nexport const createVisibilityTreeNodeRenderer = (iconsEnabled: boolean, descriptionEnabled: boolean) => {\r\n return (props: TreeNodeRendererProps) => ( // eslint-disable-line react/display-name\r\n <TreeNodeRenderer\r\n {...props}\r\n checkboxRenderer={visibilityTreeNodeCheckboxRenderer}\r\n descriptionEnabled={descriptionEnabled}\r\n imageLoader={iconsEnabled ? imageLoader : undefined}\r\n className=\"with-checkbox\"\r\n />\r\n );\r\n};\r\n\r\n/**\r\n * Checkbox renderer that renders an eye.\r\n * @alpha\r\n */\r\nexport const visibilityTreeNodeCheckboxRenderer = (props: NodeCheckboxRenderProps) => (\r\n <ImageCheckBox\r\n checked={props.checked}\r\n disabled={props.disabled}\r\n imageOn=\"icon-visibility\"\r\n imageOff=\"icon-visibility-hide-2\"\r\n onClick={props.onChange}\r\n tooltip={props.title}\r\n />\r\n);\r\n\r\n/**\r\n * Filters data provider used in supplied node loader and invokes onFilterApplied when filtering is completed.\r\n * @alpha\r\n */\r\nexport const useVisibilityTreeFiltering = (\r\n nodeLoader: AbstractTreeNodeLoaderWithProvider<IPresentationTreeDataProvider>,\r\n filterInfo?: VisibilityTreeFilterInfo,\r\n onFilterApplied?: (filteredDataProvider: IPresentationTreeDataProvider, matchesCount: number) => void,\r\n) => {\r\n const { filter, activeMatchIndex } = filterInfo ?? { filter: undefined, activeMatchIndex: undefined };\r\n const {\r\n filteredNodeLoader,\r\n isFiltering,\r\n matchesCount,\r\n nodeHighlightingProps,\r\n } = useControlledPresentationTreeFiltering({ nodeLoader, filter, activeMatchIndex });\r\n\r\n React.useEffect(\r\n () => {\r\n if (filter && matchesCount !== undefined && filteredNodeLoader !== nodeLoader)\r\n onFilterApplied && onFilterApplied(filteredNodeLoader.dataProvider, matchesCount);\r\n },\r\n [filter, matchesCount, nodeLoader, filteredNodeLoader, onFilterApplied],\r\n );\r\n\r\n return { filteredNodeLoader, isFiltering, nodeHighlightingProps };\r\n};\r\n\r\n/**\r\n * Properties for [[VisibilityTreeNoFilteredData]] component.\r\n * @alpha\r\n */\r\nexport interface VisibilityTreeNoFilteredDataProps {\r\n title: string;\r\n message: string;\r\n}\r\n\r\n/**\r\n * Renders message that no nodes was found for filter.\r\n * @alpha\r\n */\r\nexport function VisibilityTreeNoFilteredData(props: VisibilityTreeNoFilteredDataProps) {\r\n return (\r\n <div className=\"components-tree-errormessage\">\r\n <span className=\"errormessage-header\">{props.title}</span>\r\n <span className=\"errormessage-body\">{props.message}</span>\r\n </div>\r\n );\r\n}\r\n"]}
@@ -1,102 +1,102 @@
1
- {
2
- "$schema": "../../../../node_modules/@itwin/presentation-common/Ruleset.schema.json",
3
- "id": "ui-framework/CategoriesTree",
4
- "rules": [
5
- {
6
- "ruleType": "RootNodes",
7
- "subConditions": [
8
- {
9
- "condition": "GetVariableStringValue(\"ViewType\") = \"3d\"",
10
- "specifications": [
11
- {
12
- "specType": "InstanceNodesOfSpecificClasses",
13
- "classes": [
14
- {
15
- "schemaName": "BisCore",
16
- "classNames": [
17
- "SpatialCategory"
18
- ]
19
- }
20
- ],
21
- "arePolymorphic": true,
22
- "relatedInstances": [
23
- {
24
- "relationshipPath": {
25
- "relationship": {
26
- "schemaName": "BisCore",
27
- "className": "ModelContainsElements"
28
- },
29
- "direction": "Backward"
30
- },
31
- "isRequired": true,
32
- "alias": "model"
33
- }
34
- ],
35
- "instanceFilter": "(NOT model.IsPrivate OR model.IsOfClass(\"DictionaryModel\", \"BisCore\")) AND this.HasRelatedInstance(\"BisCore:GeometricElement3dIsInCategory\", \"Backward\", \"BisCore:Element\")",
36
- "groupByClass": false,
37
- "groupByLabel": false
38
- }
39
- ]
40
- },
41
- {
42
- "condition": "GetVariableStringValue(\"ViewType\") = \"2d\"",
43
- "specifications": [
44
- {
45
- "specType": "InstanceNodesOfSpecificClasses",
46
- "classes": [
47
- {
48
- "schemaName": "BisCore",
49
- "classNames": [
50
- "DrawingCategory"
51
- ]
52
- }
53
- ],
54
- "arePolymorphic": true,
55
- "relatedInstances": [
56
- {
57
- "relationshipPath": {
58
- "relationship": {
59
- "schemaName": "BisCore",
60
- "className": "ModelContainsElements"
61
- },
62
- "direction": "Backward"
63
- },
64
- "isRequired": true,
65
- "alias": "model"
66
- }
67
- ],
68
- "instanceFilter": "(NOT model.IsPrivate OR model.IsOfClass(\"DictionaryModel\", \"BisCore\")) AND this.HasRelatedInstance(\"BisCore:GeometricElement2dIsInCategory\", \"Backward\", \"BisCore:Element\")",
69
- "groupByClass": false,
70
- "groupByLabel": false
71
- }
72
- ]
73
- }
74
- ]
75
- },
76
- {
77
- "ruleType": "ChildNodes",
78
- "condition": "ParentNode.IsOfClass(\"Category\", \"BisCore\") ANDALSO ParentNode.ECInstance.GetRelatedInstancesCount(\"BisCore:CategoryOwnsSubCategories\", \"Forward\", \"BisCore:SubCategory\") > 1",
79
- "specifications": [
80
- {
81
- "specType": "RelatedInstanceNodes",
82
- "relationshipPaths": [
83
- {
84
- "relationship": {
85
- "schemaName": "BisCore",
86
- "className": "CategoryOwnsSubCategories"
87
- },
88
- "direction": "Forward"
89
- }
90
- ],
91
- "groupByClass": false,
92
- "groupByLabel": false
93
- }
94
- ]
95
- },
96
- {
97
- "ruleType": "LabelOverride",
98
- "condition": "this.IsOfClass(\"Category\", \"BisCore\")",
99
- "description": "this.Description"
100
- }
101
- ]
102
- }
1
+ {
2
+ "$schema": "../../../../node_modules/@itwin/presentation-common/Ruleset.schema.json",
3
+ "id": "ui-framework/CategoriesTree",
4
+ "rules": [
5
+ {
6
+ "ruleType": "RootNodes",
7
+ "subConditions": [
8
+ {
9
+ "condition": "GetVariableStringValue(\"ViewType\") = \"3d\"",
10
+ "specifications": [
11
+ {
12
+ "specType": "InstanceNodesOfSpecificClasses",
13
+ "classes": [
14
+ {
15
+ "schemaName": "BisCore",
16
+ "classNames": [
17
+ "SpatialCategory"
18
+ ]
19
+ }
20
+ ],
21
+ "arePolymorphic": true,
22
+ "relatedInstances": [
23
+ {
24
+ "relationshipPath": {
25
+ "relationship": {
26
+ "schemaName": "BisCore",
27
+ "className": "ModelContainsElements"
28
+ },
29
+ "direction": "Backward"
30
+ },
31
+ "isRequired": true,
32
+ "alias": "model"
33
+ }
34
+ ],
35
+ "instanceFilter": "(NOT model.IsPrivate OR model.IsOfClass(\"DictionaryModel\", \"BisCore\")) AND this.HasRelatedInstance(\"BisCore:GeometricElement3dIsInCategory\", \"Backward\", \"BisCore:Element\")",
36
+ "groupByClass": false,
37
+ "groupByLabel": false
38
+ }
39
+ ]
40
+ },
41
+ {
42
+ "condition": "GetVariableStringValue(\"ViewType\") = \"2d\"",
43
+ "specifications": [
44
+ {
45
+ "specType": "InstanceNodesOfSpecificClasses",
46
+ "classes": [
47
+ {
48
+ "schemaName": "BisCore",
49
+ "classNames": [
50
+ "DrawingCategory"
51
+ ]
52
+ }
53
+ ],
54
+ "arePolymorphic": true,
55
+ "relatedInstances": [
56
+ {
57
+ "relationshipPath": {
58
+ "relationship": {
59
+ "schemaName": "BisCore",
60
+ "className": "ModelContainsElements"
61
+ },
62
+ "direction": "Backward"
63
+ },
64
+ "isRequired": true,
65
+ "alias": "model"
66
+ }
67
+ ],
68
+ "instanceFilter": "(NOT model.IsPrivate OR model.IsOfClass(\"DictionaryModel\", \"BisCore\")) AND this.HasRelatedInstance(\"BisCore:GeometricElement2dIsInCategory\", \"Backward\", \"BisCore:Element\")",
69
+ "groupByClass": false,
70
+ "groupByLabel": false
71
+ }
72
+ ]
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ "ruleType": "ChildNodes",
78
+ "condition": "ParentNode.IsOfClass(\"Category\", \"BisCore\") ANDALSO ParentNode.ECInstance.GetRelatedInstancesCount(\"BisCore:CategoryOwnsSubCategories\", \"Forward\", \"BisCore:SubCategory\") > 1",
79
+ "specifications": [
80
+ {
81
+ "specType": "RelatedInstanceNodes",
82
+ "relationshipPaths": [
83
+ {
84
+ "relationship": {
85
+ "schemaName": "BisCore",
86
+ "className": "CategoryOwnsSubCategories"
87
+ },
88
+ "direction": "Forward"
89
+ }
90
+ ],
91
+ "groupByClass": false,
92
+ "groupByLabel": false
93
+ }
94
+ ]
95
+ },
96
+ {
97
+ "ruleType": "LabelOverride",
98
+ "condition": "this.IsOfClass(\"Category\", \"BisCore\")",
99
+ "description": "this.Description"
100
+ }
101
+ ]
102
+ }