@itwin/appui-react 3.0.0-extension.1 → 3.0.0

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 (919) hide show
  1. package/CHANGELOG.md +188 -16
  2. package/LICENSE.md +1 -1
  3. package/README.md +3 -3
  4. package/lib/cjs/appui-react/UiFramework.d.ts +30 -15
  5. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  6. package/lib/cjs/appui-react/UiFramework.js +49 -30
  7. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts +3 -3
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +3 -3
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/Calculator.js +1 -1
  15. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts +4 -4
  17. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +5 -4
  19. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  20. package/lib/cjs/appui-react/backstage/Backstage.d.ts +0 -2
  21. package/lib/cjs/appui-react/backstage/Backstage.d.ts.map +1 -1
  22. package/lib/cjs/appui-react/backstage/Backstage.js.map +1 -1
  23. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts +2 -0
  24. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageComposer.js +26 -8
  26. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  27. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts +2 -2
  28. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +1 -1
  29. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  30. package/lib/cjs/appui-react/backstage/BackstageItemProps.d.ts +3 -3
  31. package/lib/cjs/appui-react/backstage/BackstageItemProps.js +1 -1
  32. package/lib/cjs/appui-react/backstage/BackstageItemProps.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.d.ts +5 -5
  34. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js +3 -3
  35. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  36. package/lib/cjs/appui-react/backstage/CommandLaunch.d.ts +2 -0
  37. package/lib/cjs/appui-react/backstage/CommandLaunch.d.ts.map +1 -1
  38. package/lib/cjs/appui-react/backstage/CommandLaunch.js +1 -0
  39. package/lib/cjs/appui-react/backstage/CommandLaunch.js.map +1 -1
  40. package/lib/cjs/appui-react/backstage/FrontstageLaunch.d.ts +4 -0
  41. package/lib/cjs/appui-react/backstage/FrontstageLaunch.d.ts.map +1 -1
  42. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js +5 -6
  43. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  44. package/lib/cjs/appui-react/backstage/Separator.d.ts +1 -0
  45. package/lib/cjs/appui-react/backstage/Separator.d.ts.map +1 -1
  46. package/lib/cjs/appui-react/backstage/Separator.js +3 -2
  47. package/lib/cjs/appui-react/backstage/Separator.js.map +1 -1
  48. package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts +1 -1
  49. package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
  50. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +3 -4
  51. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  52. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  53. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  54. package/lib/cjs/appui-react/configurableui/state.d.ts +7 -1
  55. package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
  56. package/lib/cjs/appui-react/configurableui/state.js +12 -0
  57. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  58. package/lib/cjs/appui-react/content/ContentControl.d.ts +1 -1
  59. package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
  60. package/lib/cjs/appui-react/content/ContentControl.js +2 -2
  61. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  62. package/lib/cjs/appui-react/content/ContentLayout.d.ts +2 -2
  63. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/content/ContentLayout.js +4 -3
  65. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  66. package/lib/cjs/appui-react/content/ContentViewManager.d.ts +1 -1
  67. package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/content/ContentViewManager.js +3 -3
  69. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  70. package/lib/cjs/appui-react/content/IModelViewport.d.ts +13 -1
  71. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  72. package/lib/cjs/appui-react/content/IModelViewport.js +18 -5
  73. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  74. package/lib/cjs/appui-react/content/{SavedViewLayout.d.ts → StageContentLayout.d.ts} +11 -11
  75. package/lib/cjs/appui-react/content/StageContentLayout.d.ts.map +1 -0
  76. package/lib/cjs/appui-react/content/{SavedViewLayout.js → StageContentLayout.js} +19 -17
  77. package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -0
  78. package/lib/cjs/appui-react/content/{SavedView.d.ts → ViewStateHelper.d.ts} +7 -7
  79. package/lib/cjs/appui-react/content/ViewStateHelper.d.ts.map +1 -0
  80. package/lib/cjs/appui-react/content/{SavedView.js → ViewStateHelper.js} +4 -4
  81. package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -0
  82. package/lib/cjs/appui-react/content/split-pane/Pane.d.ts +21 -0
  83. package/lib/cjs/appui-react/content/split-pane/Pane.d.ts.map +1 -0
  84. package/lib/cjs/appui-react/content/split-pane/Pane.js +43 -0
  85. package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -0
  86. package/lib/cjs/appui-react/content/split-pane/Resizer.d.ts +23 -0
  87. package/lib/cjs/appui-react/content/split-pane/Resizer.d.ts.map +1 -0
  88. package/lib/cjs/appui-react/content/split-pane/Resizer.js +39 -0
  89. package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -0
  90. package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts +70 -0
  91. package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts.map +1 -0
  92. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +243 -0
  93. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -0
  94. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts +1 -2
  95. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  96. package/lib/cjs/appui-react/cursor/CursorInformation.js +1 -1
  97. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  98. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  99. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  100. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +2 -2
  101. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  102. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +3 -3
  103. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  104. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts +1 -1
  105. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  106. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +2 -2
  107. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  108. package/lib/cjs/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  109. package/lib/cjs/appui-react/dialog/StandardMessageBox.js +3 -0
  110. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  111. package/lib/cjs/appui-react/dragdrop/ZoneTargets.d.ts.map +1 -1
  112. package/lib/cjs/appui-react/dragdrop/ZoneTargets.js +8 -4
  113. package/lib/cjs/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  114. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts +2 -2
  115. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  116. package/lib/cjs/appui-react/feedback/ElementTooltip.js +4 -2
  117. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  118. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +1 -0
  119. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  120. package/lib/cjs/appui-react/frontstage/Frontstage.js +32 -13
  121. package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
  122. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts +3 -0
  123. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  124. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js +15 -1
  125. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  126. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +15 -2
  127. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  128. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +138 -3
  129. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  130. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  131. package/lib/cjs/appui-react/frontstage/FrontstageManager.js +1 -0
  132. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  133. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +6 -0
  134. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  135. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  136. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  137. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  138. package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  139. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  140. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  141. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +1 -1
  142. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  143. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js +6 -7
  144. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  145. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +3 -3
  146. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  147. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +1 -1
  148. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  149. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -5
  150. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  151. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  152. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +1 -1
  153. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  154. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +81 -68
  155. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  156. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  157. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  158. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
  159. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +1 -1
  161. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  162. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  163. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  164. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js +3 -2
  165. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  166. package/lib/cjs/appui-react/messages/AppNotificationManager.d.ts +1 -1
  167. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
  168. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  169. package/lib/cjs/appui-react/messages/MessageManager.d.ts +1 -2
  170. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  171. package/lib/cjs/appui-react/messages/MessageManager.js +15 -9
  172. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  173. package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -2
  174. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  175. package/lib/cjs/appui-react/messages/Pointer.js +4 -3
  176. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  177. package/lib/cjs/appui-react/messages/ToastMessage.js +2 -1
  178. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  179. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
  180. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  181. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +2 -2
  182. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  183. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
  184. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  185. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
  186. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  187. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +6 -4
  188. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  189. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +3 -0
  190. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  191. package/lib/cjs/appui-react/pickers/ListPicker.js +24 -9
  192. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  193. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +1 -1
  194. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  195. package/lib/cjs/appui-react/pickers/ViewSelector.js +9 -9
  196. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  197. package/lib/cjs/appui-react/popup/CardPopup.d.ts +7 -4
  198. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  199. package/lib/cjs/appui-react/popup/CardPopup.js +3 -2
  200. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  201. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +3 -2
  202. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  203. package/lib/cjs/appui-react/popup/InputEditorPopup.js +1 -1
  204. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  205. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +6 -6
  206. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  207. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +3 -2
  208. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  209. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +1 -1
  210. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  211. package/lib/cjs/appui-react/popup/PopupManager.d.ts +10 -10
  212. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  213. package/lib/cjs/appui-react/popup/PopupManager.js +4 -4
  214. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  215. package/lib/cjs/appui-react/popup/PositionPopup.d.ts +5 -3
  216. package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
  217. package/lib/cjs/appui-react/popup/PositionPopup.js +3 -2
  218. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  219. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts +3 -2
  220. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  221. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +1 -1
  222. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  223. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +4 -3
  224. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  225. package/lib/cjs/appui-react/popup/ToolbarPopup.js +2 -2
  226. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  227. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  228. package/lib/cjs/appui-react/redux/SessionState.d.ts +0 -6
  229. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  230. package/lib/cjs/appui-react/redux/SessionState.js +0 -8
  231. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  232. package/lib/cjs/appui-react/redux/StateManager.d.ts +1 -1
  233. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  234. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js +7 -7
  235. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  236. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  237. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  238. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  239. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  240. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +28 -19
  241. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  242. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  243. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  244. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  245. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
  246. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  247. package/lib/cjs/appui-react/shared/ItemDefBase.js +1 -1
  248. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  249. package/lib/cjs/appui-react/shared/ItemProps.d.ts +2 -2
  250. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  251. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts +1 -1
  252. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  253. package/lib/cjs/appui-react/shared/ToolItemDef.js +2 -2
  254. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  255. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  256. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js +1 -0
  257. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  258. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts +2 -2
  259. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  260. package/lib/cjs/appui-react/stagepanels/StagePanel.js +1 -0
  261. package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
  262. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +26 -2
  263. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  264. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +24 -3
  265. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  266. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  267. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts.map +1 -1
  268. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js +2 -1
  269. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  270. package/lib/cjs/appui-react/statusbar/StatusBar.js +2 -1
  271. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  272. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  273. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +17 -5
  274. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  275. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  276. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  277. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  278. package/lib/cjs/appui-react/statusfields/Indicator.d.ts +15 -14
  279. package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
  280. package/lib/cjs/appui-react/statusfields/Indicator.js +23 -21
  281. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  282. package/lib/cjs/appui-react/statusfields/Indicator.scss +29 -18
  283. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  284. package/lib/cjs/appui-react/statusfields/MessageCenter.js +2 -1
  285. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  286. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts +1 -0
  287. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  288. package/lib/cjs/appui-react/statusfields/SelectionScope.js +6 -4
  289. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  290. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +13 -3
  291. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +2 -10
  292. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  293. package/lib/cjs/appui-react/statusfields/SnapMode.js +4 -34
  294. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  295. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -6
  296. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  297. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +1 -25
  298. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  299. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +7 -7
  300. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  301. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -12
  302. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  303. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -3
  304. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts +2 -2
  305. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts.map +1 -1
  306. package/lib/cjs/appui-react/syncui/BooleanListener.js +2 -1
  307. package/lib/cjs/appui-react/syncui/BooleanListener.js.map +1 -1
  308. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts +8 -18
  309. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  310. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +30 -103
  311. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  312. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js +2 -1
  313. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  314. package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  315. package/lib/cjs/appui-react/toolbar/ActionItemButton.js +2 -1
  316. package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
  317. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js +24 -20
  318. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  319. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  320. package/lib/cjs/appui-react/toolbar/GroupItem.js +33 -29
  321. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  322. package/lib/cjs/appui-react/toolbar/ToolButton.js +3 -2
  323. package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
  324. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  325. package/lib/cjs/appui-react/toolbar/Toolbar.js +3 -2
  326. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  327. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +22 -20
  329. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  330. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  331. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +4 -4
  332. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  333. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.d.ts +2 -2
  334. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js +2 -2
  335. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  336. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +8 -10
  337. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  338. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +17 -36
  339. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  340. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +7 -9
  341. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  342. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +12 -20
  343. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  344. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +7 -9
  345. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  346. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +39 -50
  347. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  348. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +4 -4
  349. package/lib/{esm/appui-react/uisettings → cjs/appui-react/uistate}/AppUiSettings.d.ts +9 -7
  350. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -0
  351. package/lib/cjs/appui-react/{uisettings → uistate}/AppUiSettings.js +12 -8
  352. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -0
  353. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts +15 -0
  354. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -0
  355. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js +59 -0
  356. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js.map +1 -0
  357. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts +20 -0
  358. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -0
  359. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +38 -0
  360. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -0
  361. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts +5 -5
  362. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  363. package/lib/cjs/appui-react/utils/UiShowHideManager.js +8 -8
  364. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  365. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  366. package/lib/cjs/appui-react/widget-panels/Content.js +1 -4
  367. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  368. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +98 -8
  369. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  370. package/lib/cjs/appui-react/widget-panels/Frontstage.js +82 -92
  371. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  372. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts +22 -0
  373. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -0
  374. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +56 -0
  375. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -0
  376. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  377. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +1 -0
  378. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  379. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  380. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +3 -1
  381. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  382. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +9 -0
  383. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  384. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +10 -0
  385. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  386. package/lib/cjs/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  387. package/lib/cjs/appui-react/widgets/NavigationWidget.js +2 -1
  388. package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +1 -1
  389. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +1 -0
  390. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  391. package/lib/cjs/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  392. package/lib/cjs/appui-react/widgets/StableWidgetDef.js +1 -1
  393. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  394. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js +2 -1
  395. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  396. package/lib/cjs/appui-react/widgets/ToolWidget.js +3 -2
  397. package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
  398. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts +0 -12
  399. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  400. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js +1 -36
  401. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  402. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -0
  403. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts.map +1 -1
  404. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js +5 -2
  405. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  406. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  407. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  408. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  409. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  410. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -3
  411. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  412. package/lib/cjs/appui-react/widgets/WidgetDef.js +18 -7
  413. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  414. package/lib/cjs/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  415. package/lib/cjs/appui-react/widgets/WidgetHost.js +1 -0
  416. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  417. package/lib/cjs/appui-react/widgets/WidgetStack.d.ts.map +1 -1
  418. package/lib/cjs/appui-react/widgets/WidgetStack.js +2 -0
  419. package/lib/cjs/appui-react/widgets/WidgetStack.js.map +1 -1
  420. package/lib/cjs/appui-react/zones/FrameworkZone.js.map +1 -1
  421. package/lib/cjs/appui-react/zones/StatusBarZone.js.map +1 -1
  422. package/lib/cjs/appui-react/zones/Zone.d.ts +1 -1
  423. package/lib/cjs/appui-react/zones/Zone.d.ts.map +1 -1
  424. package/lib/cjs/appui-react/zones/Zone.js +2 -1
  425. package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
  426. package/lib/cjs/appui-react/zones/ZoneDef.d.ts +4 -4
  427. package/lib/cjs/appui-react/zones/ZoneDef.d.ts.map +1 -1
  428. package/lib/cjs/appui-react/zones/ZoneDef.js +5 -4
  429. package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
  430. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
  431. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  432. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js +3 -2
  433. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  434. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  435. package/lib/cjs/appui-react.d.ts +15 -18
  436. package/lib/cjs/appui-react.d.ts.map +1 -1
  437. package/lib/cjs/appui-react.js +15 -18
  438. package/lib/cjs/appui-react.js.map +1 -1
  439. package/lib/esm/appui-react/UiFramework.d.ts +30 -15
  440. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  441. package/lib/esm/appui-react/UiFramework.js +48 -29
  442. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  443. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts +3 -3
  444. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  445. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +3 -3
  446. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  447. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +1 -1
  448. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  449. package/lib/esm/appui-react/accudraw/Calculator.js +1 -1
  450. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  451. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +4 -4
  452. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  453. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +6 -5
  454. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  455. package/lib/esm/appui-react/backstage/Backstage.d.ts +0 -2
  456. package/lib/esm/appui-react/backstage/Backstage.d.ts.map +1 -1
  457. package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
  458. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +2 -0
  459. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  460. package/lib/esm/appui-react/backstage/BackstageComposer.js +27 -9
  461. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  462. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +2 -2
  463. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -1
  464. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  465. package/lib/esm/appui-react/backstage/BackstageItemProps.d.ts +3 -3
  466. package/lib/esm/appui-react/backstage/BackstageItemProps.js +1 -1
  467. package/lib/esm/appui-react/backstage/BackstageItemProps.js.map +1 -1
  468. package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts +5 -5
  469. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js +3 -3
  470. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  471. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts +2 -0
  472. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts.map +1 -1
  473. package/lib/esm/appui-react/backstage/CommandLaunch.js +1 -0
  474. package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
  475. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts +4 -0
  476. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts.map +1 -1
  477. package/lib/esm/appui-react/backstage/FrontstageLaunch.js +5 -6
  478. package/lib/esm/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  479. package/lib/esm/appui-react/backstage/Separator.d.ts +1 -0
  480. package/lib/esm/appui-react/backstage/Separator.d.ts.map +1 -1
  481. package/lib/esm/appui-react/backstage/Separator.js +3 -2
  482. package/lib/esm/appui-react/backstage/Separator.js.map +1 -1
  483. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts +1 -1
  484. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
  485. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +3 -4
  486. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  487. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  488. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  489. package/lib/esm/appui-react/configurableui/state.d.ts +7 -1
  490. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  491. package/lib/esm/appui-react/configurableui/state.js +12 -0
  492. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  493. package/lib/esm/appui-react/content/ContentControl.d.ts +1 -1
  494. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  495. package/lib/esm/appui-react/content/ContentControl.js +1 -1
  496. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  497. package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -2
  498. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  499. package/lib/esm/appui-react/content/ContentLayout.js +3 -2
  500. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  501. package/lib/esm/appui-react/content/ContentViewManager.d.ts +1 -1
  502. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
  503. package/lib/esm/appui-react/content/ContentViewManager.js +1 -1
  504. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  505. package/lib/esm/appui-react/content/IModelViewport.d.ts +13 -1
  506. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  507. package/lib/esm/appui-react/content/IModelViewport.js +16 -4
  508. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  509. package/lib/esm/appui-react/content/{SavedViewLayout.d.ts → StageContentLayout.d.ts} +11 -11
  510. package/lib/esm/appui-react/content/StageContentLayout.d.ts.map +1 -0
  511. package/lib/esm/appui-react/content/{SavedViewLayout.js → StageContentLayout.js} +17 -15
  512. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -0
  513. package/lib/esm/appui-react/content/{SavedView.d.ts → ViewStateHelper.d.ts} +7 -7
  514. package/lib/esm/appui-react/content/ViewStateHelper.d.ts.map +1 -0
  515. package/lib/esm/appui-react/content/{SavedView.js → ViewStateHelper.js} +2 -2
  516. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -0
  517. package/lib/esm/appui-react/content/split-pane/Pane.d.ts +21 -0
  518. package/lib/esm/appui-react/content/split-pane/Pane.d.ts.map +1 -0
  519. package/lib/esm/appui-react/content/split-pane/Pane.js +39 -0
  520. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -0
  521. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts +23 -0
  522. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts.map +1 -0
  523. package/lib/esm/appui-react/content/split-pane/Resizer.js +35 -0
  524. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -0
  525. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts +70 -0
  526. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts.map +1 -0
  527. package/lib/esm/appui-react/content/split-pane/SplitPane.js +239 -0
  528. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -0
  529. package/lib/esm/appui-react/cursor/CursorInformation.d.ts +1 -2
  530. package/lib/esm/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  531. package/lib/esm/appui-react/cursor/CursorInformation.js +2 -2
  532. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  533. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  534. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  535. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +2 -2
  536. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  537. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +2 -2
  538. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  539. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +1 -1
  540. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  541. package/lib/esm/appui-react/dialog/DialogManagerBase.js +1 -1
  542. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  543. package/lib/esm/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  544. package/lib/esm/appui-react/dialog/StandardMessageBox.js +3 -0
  545. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  546. package/lib/esm/appui-react/dragdrop/ZoneTargets.d.ts.map +1 -1
  547. package/lib/esm/appui-react/dragdrop/ZoneTargets.js +8 -4
  548. package/lib/esm/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  549. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +2 -2
  550. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  551. package/lib/esm/appui-react/feedback/ElementTooltip.js +4 -2
  552. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  553. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +1 -0
  554. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  555. package/lib/esm/appui-react/frontstage/Frontstage.js +32 -13
  556. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  557. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts +3 -0
  558. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  559. package/lib/esm/appui-react/frontstage/FrontstageComposer.js +15 -1
  560. package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  561. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +15 -2
  562. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  563. package/lib/esm/appui-react/frontstage/FrontstageDef.js +140 -5
  564. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  565. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  566. package/lib/esm/appui-react/frontstage/FrontstageManager.js +1 -0
  567. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  568. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +6 -0
  569. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  570. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  571. package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  572. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  573. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  574. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  575. package/lib/esm/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  576. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +1 -1
  577. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  578. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js +6 -7
  579. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  580. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +3 -3
  581. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  582. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +1 -1
  583. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  584. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -5
  585. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  586. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  587. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +1 -1
  588. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  589. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +83 -70
  590. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  591. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  592. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  593. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
  594. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  595. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -2
  596. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  597. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  598. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  599. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js +3 -2
  600. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  601. package/lib/esm/appui-react/messages/AppNotificationManager.d.ts +1 -1
  602. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
  603. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  604. package/lib/esm/appui-react/messages/MessageManager.d.ts +1 -2
  605. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  606. package/lib/esm/appui-react/messages/MessageManager.js +9 -3
  607. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  608. package/lib/esm/appui-react/messages/Pointer.d.ts +2 -2
  609. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  610. package/lib/esm/appui-react/messages/Pointer.js +4 -3
  611. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  612. package/lib/esm/appui-react/messages/ToastMessage.js +2 -1
  613. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  614. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
  615. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  616. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -1
  617. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  618. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
  619. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  620. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
  621. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  622. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +6 -4
  623. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  624. package/lib/esm/appui-react/pickers/ListPicker.d.ts +3 -0
  625. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  626. package/lib/esm/appui-react/pickers/ListPicker.js +23 -9
  627. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  628. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +1 -1
  629. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  630. package/lib/esm/appui-react/pickers/ViewSelector.js +7 -7
  631. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  632. package/lib/esm/appui-react/popup/CardPopup.d.ts +7 -4
  633. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  634. package/lib/esm/appui-react/popup/CardPopup.js +3 -2
  635. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  636. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +3 -2
  637. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  638. package/lib/esm/appui-react/popup/InputEditorPopup.js +1 -1
  639. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  640. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +7 -7
  641. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  642. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +3 -2
  643. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  644. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +1 -1
  645. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  646. package/lib/esm/appui-react/popup/PopupManager.d.ts +10 -10
  647. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  648. package/lib/esm/appui-react/popup/PopupManager.js +5 -5
  649. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  650. package/lib/esm/appui-react/popup/PositionPopup.d.ts +5 -3
  651. package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
  652. package/lib/esm/appui-react/popup/PositionPopup.js +3 -2
  653. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  654. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts +3 -2
  655. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  656. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +1 -1
  657. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  658. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +4 -3
  659. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  660. package/lib/esm/appui-react/popup/ToolbarPopup.js +2 -2
  661. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  662. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  663. package/lib/esm/appui-react/redux/SessionState.d.ts +0 -6
  664. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  665. package/lib/esm/appui-react/redux/SessionState.js +0 -8
  666. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  667. package/lib/esm/appui-react/redux/StateManager.d.ts +1 -1
  668. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  669. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js +7 -7
  670. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  671. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  672. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  673. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  674. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  675. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +28 -19
  676. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  677. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  678. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  679. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  680. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
  681. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  682. package/lib/esm/appui-react/shared/ItemDefBase.js +1 -1
  683. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  684. package/lib/esm/appui-react/shared/ItemProps.d.ts +2 -2
  685. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  686. package/lib/esm/appui-react/shared/ToolItemDef.d.ts +1 -1
  687. package/lib/esm/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  688. package/lib/esm/appui-react/shared/ToolItemDef.js +2 -2
  689. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  690. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  691. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js +1 -0
  692. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  693. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts +2 -2
  694. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  695. package/lib/esm/appui-react/stagepanels/StagePanel.js +1 -0
  696. package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
  697. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +26 -2
  698. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  699. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +24 -3
  700. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  701. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  702. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts.map +1 -1
  703. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js +2 -1
  704. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  705. package/lib/esm/appui-react/statusbar/StatusBar.js +2 -1
  706. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  707. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  708. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +17 -5
  709. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  710. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  711. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  712. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  713. package/lib/esm/appui-react/statusfields/Indicator.d.ts +15 -14
  714. package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
  715. package/lib/esm/appui-react/statusfields/Indicator.js +23 -21
  716. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  717. package/lib/esm/appui-react/statusfields/Indicator.scss +29 -18
  718. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  719. package/lib/esm/appui-react/statusfields/MessageCenter.js +2 -1
  720. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  721. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts +1 -0
  722. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  723. package/lib/esm/appui-react/statusfields/SelectionScope.js +6 -4
  724. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  725. package/lib/esm/appui-react/statusfields/SelectionScope.scss +13 -3
  726. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +2 -10
  727. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  728. package/lib/esm/appui-react/statusfields/SnapMode.js +5 -35
  729. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  730. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -6
  731. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  732. package/lib/esm/appui-react/statusfields/ViewAttributes.js +2 -26
  733. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  734. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +7 -7
  735. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  736. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +14 -13
  737. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  738. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -3
  739. package/lib/esm/appui-react/syncui/BooleanListener.d.ts +2 -2
  740. package/lib/esm/appui-react/syncui/BooleanListener.d.ts.map +1 -1
  741. package/lib/esm/appui-react/syncui/BooleanListener.js +2 -1
  742. package/lib/esm/appui-react/syncui/BooleanListener.js.map +1 -1
  743. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts +8 -18
  744. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  745. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +29 -101
  746. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  747. package/lib/esm/appui-react/toolbar/ActionButtonItem.js +2 -1
  748. package/lib/esm/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  749. package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  750. package/lib/esm/appui-react/toolbar/ActionItemButton.js +2 -1
  751. package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
  752. package/lib/esm/appui-react/toolbar/GroupButtonItem.js +24 -20
  753. package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  754. package/lib/esm/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  755. package/lib/esm/appui-react/toolbar/GroupItem.js +33 -29
  756. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  757. package/lib/esm/appui-react/toolbar/ToolButton.js +3 -2
  758. package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
  759. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  760. package/lib/esm/appui-react/toolbar/Toolbar.js +3 -2
  761. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  762. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  763. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +22 -20
  764. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  765. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  766. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +4 -4
  767. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  768. package/lib/esm/appui-react/tools/MarkupToolDefinitions.d.ts +2 -2
  769. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js +2 -2
  770. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  771. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +8 -10
  772. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  773. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +18 -37
  774. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  775. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +7 -9
  776. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  777. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +13 -21
  778. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  779. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +7 -9
  780. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  781. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +40 -51
  782. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  783. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +4 -4
  784. package/lib/{cjs/appui-react/uisettings → esm/appui-react/uistate}/AppUiSettings.d.ts +9 -7
  785. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -0
  786. package/lib/esm/appui-react/{uisettings → uistate}/AppUiSettings.js +13 -9
  787. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -0
  788. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts +15 -0
  789. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -0
  790. package/lib/esm/appui-react/uistate/UserSettingsStorage.js +55 -0
  791. package/lib/esm/appui-react/uistate/UserSettingsStorage.js.map +1 -0
  792. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts +20 -0
  793. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -0
  794. package/lib/esm/appui-react/uistate/useUiStateStorage.js +33 -0
  795. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -0
  796. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts +5 -5
  797. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  798. package/lib/esm/appui-react/utils/UiShowHideManager.js +9 -9
  799. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  800. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  801. package/lib/esm/appui-react/widget-panels/Content.js +1 -4
  802. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  803. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +98 -8
  804. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  805. package/lib/esm/appui-react/widget-panels/Frontstage.js +82 -91
  806. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  807. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts +22 -0
  808. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -0
  809. package/lib/esm/appui-react/widgets/BackstageAppButton.js +52 -0
  810. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -0
  811. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  812. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +1 -0
  813. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  814. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  815. package/lib/esm/appui-react/widgets/BasicToolWidget.js +3 -1
  816. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  817. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +9 -0
  818. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  819. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +10 -0
  820. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  821. package/lib/esm/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  822. package/lib/esm/appui-react/widgets/NavigationWidget.js +2 -1
  823. package/lib/esm/appui-react/widgets/NavigationWidget.js.map +1 -1
  824. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +1 -0
  825. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  826. package/lib/esm/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  827. package/lib/esm/appui-react/widgets/StableWidgetDef.js +1 -1
  828. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  829. package/lib/esm/appui-react/widgets/ToolSettingsContent.js +2 -1
  830. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  831. package/lib/esm/appui-react/widgets/ToolWidget.js +3 -2
  832. package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
  833. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts +0 -12
  834. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  835. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js +2 -36
  836. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  837. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -0
  838. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts.map +1 -1
  839. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js +5 -2
  840. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  841. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  842. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  843. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  844. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  845. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -3
  846. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  847. package/lib/esm/appui-react/widgets/WidgetDef.js +18 -7
  848. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  849. package/lib/esm/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  850. package/lib/esm/appui-react/widgets/WidgetHost.js +1 -0
  851. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  852. package/lib/esm/appui-react/widgets/WidgetStack.d.ts.map +1 -1
  853. package/lib/esm/appui-react/widgets/WidgetStack.js +2 -0
  854. package/lib/esm/appui-react/widgets/WidgetStack.js.map +1 -1
  855. package/lib/esm/appui-react/zones/FrameworkZone.js.map +1 -1
  856. package/lib/esm/appui-react/zones/StatusBarZone.js.map +1 -1
  857. package/lib/esm/appui-react/zones/Zone.d.ts +1 -1
  858. package/lib/esm/appui-react/zones/Zone.d.ts.map +1 -1
  859. package/lib/esm/appui-react/zones/Zone.js +2 -1
  860. package/lib/esm/appui-react/zones/Zone.js.map +1 -1
  861. package/lib/esm/appui-react/zones/ZoneDef.d.ts +4 -4
  862. package/lib/esm/appui-react/zones/ZoneDef.d.ts.map +1 -1
  863. package/lib/esm/appui-react/zones/ZoneDef.js +5 -4
  864. package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
  865. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
  866. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  867. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js +2 -1
  868. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  869. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  870. package/lib/esm/appui-react.d.ts +15 -18
  871. package/lib/esm/appui-react.d.ts.map +1 -1
  872. package/lib/esm/appui-react.js +15 -18
  873. package/lib/esm/appui-react.js.map +1 -1
  874. package/lib/public/locales/en/UiFramework.json +9 -2
  875. package/package.json +44 -51
  876. package/lib/cjs/appui-react/UserInfo.d.ts +0 -58
  877. package/lib/cjs/appui-react/UserInfo.d.ts.map +0 -1
  878. package/lib/cjs/appui-react/UserInfo.js +0 -34
  879. package/lib/cjs/appui-react/UserInfo.js.map +0 -1
  880. package/lib/cjs/appui-react/content/SavedView.d.ts.map +0 -1
  881. package/lib/cjs/appui-react/content/SavedView.js.map +0 -1
  882. package/lib/cjs/appui-react/content/SavedViewLayout.d.ts.map +0 -1
  883. package/lib/cjs/appui-react/content/SavedViewLayout.js.map +0 -1
  884. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.d.ts +0 -25
  885. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.d.ts.map +0 -1
  886. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js +0 -34
  887. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js.map +0 -1
  888. package/lib/cjs/appui-react/uisettings/AppUiSettings.d.ts.map +0 -1
  889. package/lib/cjs/appui-react/uisettings/AppUiSettings.js.map +0 -1
  890. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.d.ts +0 -23
  891. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.d.ts.map +0 -1
  892. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js +0 -74
  893. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js.map +0 -1
  894. package/lib/cjs/appui-react/uisettings/useUiSettings.d.ts +0 -21
  895. package/lib/cjs/appui-react/uisettings/useUiSettings.d.ts.map +0 -1
  896. package/lib/cjs/appui-react/uisettings/useUiSettings.js +0 -28
  897. package/lib/cjs/appui-react/uisettings/useUiSettings.js.map +0 -1
  898. package/lib/esm/appui-react/UserInfo.d.ts +0 -58
  899. package/lib/esm/appui-react/UserInfo.d.ts.map +0 -1
  900. package/lib/esm/appui-react/UserInfo.js +0 -30
  901. package/lib/esm/appui-react/UserInfo.js.map +0 -1
  902. package/lib/esm/appui-react/content/SavedView.d.ts.map +0 -1
  903. package/lib/esm/appui-react/content/SavedView.js.map +0 -1
  904. package/lib/esm/appui-react/content/SavedViewLayout.d.ts.map +0 -1
  905. package/lib/esm/appui-react/content/SavedViewLayout.js.map +0 -1
  906. package/lib/esm/appui-react/stagepanels/StagePanelEnums.d.ts +0 -25
  907. package/lib/esm/appui-react/stagepanels/StagePanelEnums.d.ts.map +0 -1
  908. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js +0 -31
  909. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js.map +0 -1
  910. package/lib/esm/appui-react/uisettings/AppUiSettings.d.ts.map +0 -1
  911. package/lib/esm/appui-react/uisettings/AppUiSettings.js.map +0 -1
  912. package/lib/esm/appui-react/uisettings/UserSettingsStorage.d.ts +0 -23
  913. package/lib/esm/appui-react/uisettings/UserSettingsStorage.d.ts.map +0 -1
  914. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js +0 -68
  915. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js.map +0 -1
  916. package/lib/esm/appui-react/uisettings/useUiSettings.d.ts +0 -21
  917. package/lib/esm/appui-react/uisettings/useUiSettings.d.ts.map +0 -1
  918. package/lib/esm/appui-react/uisettings/useUiSettings.js +0 -23
  919. package/lib/esm/appui-react/uisettings/useUiSettings.js.map +0 -1
@@ -16,7 +16,7 @@ export interface FrameworkState {
16
16
  export declare const FrameworkReducer: (state: import("./redux-ts").CombinedReducerState<{
17
17
  configurableUiState: typeof ConfigurableUiReducer;
18
18
  sessionState: typeof SessionStateReducer;
19
- }>, action: import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetSnapMode, number>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetTheme, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetToolPrompt, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetWidgetOpacity, number>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetDragInteraction, boolean>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetFrameworkVersion, import("../UiFramework").FrameworkVersionId>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetUserInfo, import("./redux-ts").DeepReadonlyObject<import("../UserInfo").UserInfo>>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetActiveIModelId, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetAvailableSelectionScopes, import("./redux-ts").DeepReadonlyArray<import("./SessionState").PresentationSelectionScope>>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultIModelViewportControlId, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultViewId, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultViewState, any>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetNumItemsSelected, number>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetIModelConnection, any>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetSelectionScope, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.UpdateCursorMenu, import("./redux-ts").DeepReadonlyObject<import("./SessionState").CursorMenuData>>>) => import("./redux-ts").CombinedReducerState<{
19
+ }>, action: import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetSnapMode, number>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetTheme, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetToolPrompt, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetWidgetOpacity, number>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetDragInteraction, boolean>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetFrameworkVersion, import("../UiFramework").FrameworkVersionId>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetShowWidgetIcon, boolean>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetViewOverlayDisplay, boolean>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetActiveIModelId, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetAvailableSelectionScopes, import("./redux-ts").DeepReadonlyArray<import("./SessionState").PresentationSelectionScope>>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultIModelViewportControlId, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultViewId, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultViewState, any>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetNumItemsSelected, number>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetIModelConnection, any>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetSelectionScope, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.UpdateCursorMenu, import("./redux-ts").DeepReadonlyObject<import("./SessionState").CursorMenuData>>>) => import("./redux-ts").CombinedReducerState<{
20
20
  configurableUiState: typeof ConfigurableUiReducer;
21
21
  sessionState: typeof SessionStateReducer;
22
22
  }>;
@@ -2,7 +2,6 @@
2
2
  * @module State
3
3
  */
4
4
  import { XAndY } from "@itwin/core-geometry";
5
- import { UserInfo } from "../UserInfo";
6
5
  import { MenuItemProps } from "../shared/MenuItem";
7
6
  import { ActionsUnion, DeepReadonly } from "./redux-ts";
8
7
  /** PresentationSelectionScope holds the id and the localized label for a selection scope supported for a specific iModel.
@@ -32,7 +31,6 @@ export declare enum SessionStateActionId {
32
31
  SetSelectionScope = "sessionstate:set-selection-scope",
33
32
  SetActiveIModelId = "sessionstate:set-active-imodelid",
34
33
  SetIModelConnection = "sessionstate:set-imodel-connection",
35
- SetUserInfo = "sessionstate:set-user-info",
36
34
  SetDefaultIModelViewportControlId = "sessionstate:set-default-viewportid",
37
35
  SetDefaultViewId = "sessionstate:set-default-viewid",
38
36
  SetDefaultViewState = "sessionstate:set-default-view-state",
@@ -50,7 +48,6 @@ export interface SessionState {
50
48
  defaultViewId: string | undefined;
51
49
  defaultViewState: any | undefined;
52
50
  iModelConnection: any | undefined;
53
- userInfo: UserInfo | undefined;
54
51
  cursorMenuData: CursorMenuData | undefined;
55
52
  }
56
53
  /** An interface that allows redux connected object to dispatch changes to the SessionState reducer.
@@ -65,14 +62,12 @@ export interface SessionStateActionsProps {
65
62
  setIModelConnection: (typeof SessionStateActions.setIModelConnection);
66
63
  setNumItemsSelected: (typeof SessionStateActions.setNumItemsSelected);
67
64
  setSelectionScope: (typeof SessionStateActions.setSelectionScope);
68
- setUserInfo: (typeof SessionStateActions.setUserInfo);
69
65
  updateCursorMenu: (typeof SessionStateActions.updateCursorMenu);
70
66
  }
71
67
  /** An object with a function that creates each SessionStateReducer that can be handled by our reducer.
72
68
  * @public
73
69
  */
74
70
  export declare const SessionStateActions: {
75
- setUserInfo: (userInfo: UserInfo) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetUserInfo, import("./redux-ts").DeepReadonlyObject<UserInfo>>;
76
71
  setActiveIModelId: (iModelId: string) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetActiveIModelId, string>;
77
72
  setAvailableSelectionScopes: (availableSelectionScopes: PresentationSelectionScope[]) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetAvailableSelectionScopes, import("./redux-ts").DeepReadonlyArray<PresentationSelectionScope>>;
78
73
  setDefaultIModelViewportControlId: (iModelViewportControlId: string) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetDefaultIModelViewportControlId, string>;
@@ -88,7 +83,6 @@ export declare const SessionStateActions: {
88
83
  * @beta
89
84
  */
90
85
  export declare const sessionStateMapDispatchToProps: {
91
- setUserInfo: (userInfo: UserInfo) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetUserInfo, import("./redux-ts").DeepReadonlyObject<UserInfo>>;
92
86
  setActiveIModelId: (iModelId: string) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetActiveIModelId, string>;
93
87
  setAvailableSelectionScopes: (availableSelectionScopes: PresentationSelectionScope[]) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetAvailableSelectionScopes, import("./redux-ts").DeepReadonlyArray<PresentationSelectionScope>>;
94
88
  setDefaultIModelViewportControlId: (iModelViewportControlId: string) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetDefaultIModelViewportControlId, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"SessionState.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/redux/SessionState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionState.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/redux/SessionState.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAgB,YAAY,EAAE,MAAM,YAAY,CAAC;AAItE;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,oBAAY,oBAAoB;IAC9B,mBAAmB,wCAAwC;IAC3D,2BAA2B,gDAAgD;IAC3E,iBAAiB,qCAAqC;IACtD,iBAAiB,qCAAqC;IACtD,mBAAmB,uCAAuC;IAC1D,iCAAiC,wCAAwC;IACzE,gBAAgB,oCAAoC;IACpD,mBAAmB,wCAAwC;IAC3D,gBAAgB,oCAAoC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,wBAAwB,EAAE,0BAA0B,EAAE,CAAC;IACvD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,gBAAgB,EAAE,GAAG,GAAG,SAAS,CAAC;IAClC,gBAAgB,EAAE,GAAG,GAAG,SAAS,CAAC;IAClC,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;CAC5C;AAqBD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,iBAAiB,EAAE,CAAC,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAClE,2BAA2B,EAAE,CAAC,OAAO,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;IACtF,iCAAiC,EAAE,CAAC,OAAO,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;IAClG,gBAAgB,EAAE,CAAC,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAChE,mBAAmB,EAAE,CAAC,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACtE,mBAAmB,EAAE,CAAC,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACtE,mBAAmB,EAAE,CAAC,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACtE,iBAAiB,EAAE,CAAC,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAClE,gBAAgB,EAAE,CAAC,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;kCAGjB,MAAM;4DAGU,0BAA0B,EAAE;iEACI,MAAM;+BACxC,MAAM;qCAGnB,GAAG;uCACkB,MAAM;4CAGpB,GAAG;8CAGC,MAAM;uCAGZ,cAAc;CAClC,CAAC;AAEF;;;GAGG;AAEH,eAAO,MAAM,8BAA8B;kCA1B5B,MAAM;4DAGU,0BAA0B,EAAE;iEACI,MAAM;+BACxC,MAAM;qCAGnB,GAAG;uCACkB,MAAM;4CAGpB,GAAG;8CAGC,MAAM;uCAGZ,cAAc;CAQqC,CAAC;AAEzE;;GAEG;AACH,oBAAY,wBAAwB,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,0BAA6B,EAAE,MAAM,EAAE,wBAAwB,GAAG,YAAY,CAAC,YAAY,CAAC,CAkDpI"}
@@ -20,7 +20,6 @@ var SessionStateActionId;
20
20
  SessionStateActionId["SetSelectionScope"] = "sessionstate:set-selection-scope";
21
21
  SessionStateActionId["SetActiveIModelId"] = "sessionstate:set-active-imodelid";
22
22
  SessionStateActionId["SetIModelConnection"] = "sessionstate:set-imodel-connection";
23
- SessionStateActionId["SetUserInfo"] = "sessionstate:set-user-info";
24
23
  SessionStateActionId["SetDefaultIModelViewportControlId"] = "sessionstate:set-default-viewportid";
25
24
  SessionStateActionId["SetDefaultViewId"] = "sessionstate:set-default-viewid";
26
25
  SessionStateActionId["SetDefaultViewState"] = "sessionstate:set-default-view-state";
@@ -41,16 +40,12 @@ const initialState = {
41
40
  defaultViewId: undefined,
42
41
  defaultViewState: undefined,
43
42
  iModelConnection: undefined,
44
- userInfo: undefined,
45
43
  cursorMenuData: undefined,
46
44
  };
47
45
  /** An object with a function that creates each SessionStateReducer that can be handled by our reducer.
48
46
  * @public
49
47
  */
50
48
  exports.SessionStateActions = {
51
- setUserInfo:
52
- // istanbul ignore next
53
- (userInfo) => (0, redux_ts_1.createAction)(SessionStateActionId.SetUserInfo, userInfo),
54
49
  setActiveIModelId:
55
50
  // istanbul ignore next
56
51
  (iModelId) => (0, redux_ts_1.createAction)(SessionStateActionId.SetActiveIModelId, iModelId),
@@ -126,9 +121,6 @@ function SessionStateReducer(state = initialState, action) {
126
121
  case SessionStateActionId.SetIModelConnection: {
127
122
  return { ...state, iModelConnection: action.payload };
128
123
  }
129
- case SessionStateActionId.SetUserInfo: {
130
- return { ...state, userInfo: action.payload };
131
- }
132
124
  case SessionStateActionId.UpdateCursorMenu: {
133
125
  return { ...state, cursorMenuData: action.payload };
134
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SessionState.js","sourceRoot":"","sources":["../../../../src/appui-react/redux/SessionState.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 State\r\n */\r\n\r\n// The following definitions are causing extract-api issues on linux so for now just using any until we can figure out the issue.\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\n// import { IModelConnection, ViewState } from \"@itwin/core-frontend\";\r\nimport { UserInfo } from \"../UserInfo\";\r\nimport { MenuItemProps } from \"../shared/MenuItem\";\r\nimport { ActionsUnion, createAction, DeepReadonly } from \"./redux-ts\";\r\n\r\n// cSpell:ignore configurableui snapmode toolprompt sessionstate imodelid viewid viewportid rulesetid\r\n\r\n/** PresentationSelectionScope holds the id and the localized label for a selection scope supported for a specific iModel.\r\n * Added to avoid an api-extract error caused by using SelectionScope.\r\n * @public\r\n */\r\nexport interface PresentationSelectionScope {\r\n id: string;\r\n label: string;\r\n}\r\n\r\n/** Definition of data added to Redux store to define cursor menu. If menuItems are empty the menu control is not displayed.\r\n * To close the menu clear the menuItems or pass in undefined as the CursorData.\r\n * @public\r\n */\r\nexport interface CursorMenuData {\r\n items: MenuItemProps[];\r\n position: XAndY;\r\n childWindowId?: string;\r\n}\r\n\r\n/** Action Ids used by Redux and to send sync UI components. Typically used to refresh visibility or enable state of control.\r\n * Since these are also used as sync ids they should be in lowercase.\r\n * @public\r\n */\r\nexport enum SessionStateActionId {\r\n SetNumItemsSelected = \"sessionstate:set-num-items-selected\",\r\n SetAvailableSelectionScopes = \"sessionstate:set-available-selection-scopes\",\r\n SetSelectionScope = \"sessionstate:set-selection-scope\",\r\n SetActiveIModelId = \"sessionstate:set-active-imodelid\",\r\n SetIModelConnection = \"sessionstate:set-imodel-connection\",\r\n SetUserInfo = \"sessionstate:set-user-info\",\r\n SetDefaultIModelViewportControlId = \"sessionstate:set-default-viewportid\",\r\n SetDefaultViewId = \"sessionstate:set-default-viewid\",\r\n SetDefaultViewState = \"sessionstate:set-default-view-state\",\r\n UpdateCursorMenu = \"sessionstate:update-cursor-menu\",\r\n}\r\n\r\n/** The portion of state managed by the SessionStateReducer.\r\n * @public\r\n */\r\nexport interface SessionState {\r\n numItemsSelected: number;\r\n availableSelectionScopes: PresentationSelectionScope[];\r\n activeSelectionScope: string;\r\n iModelId: string;\r\n defaultIModelViewportControlId: string | undefined;\r\n defaultViewId: string | undefined;\r\n defaultViewState: any | undefined;\r\n iModelConnection: any | undefined;\r\n userInfo: UserInfo | undefined;\r\n cursorMenuData: CursorMenuData | undefined;\r\n}\r\n\r\nconst defaultSelectionScope = { id: \"element\", label: \"Element\" } as PresentationSelectionScope;\r\n\r\n/** used on first call of SessionStateReducer */\r\nconst initialState: SessionState = {\r\n /** number of selected items in Presentation Selection */\r\n numItemsSelected: 0,\r\n /** initialize to only support \"Element\" scope, this will be overwritten when iModelConnection is established */\r\n availableSelectionScopes: [defaultSelectionScope],\r\n /** initialize to active selection scope to \"Element\", this will be overwritten when iModelConnection is established */\r\n activeSelectionScope: defaultSelectionScope.id,\r\n /** set to iModelId if an iModel is active else it is an empty string, so initialize to empty string */\r\n iModelId: \"\",\r\n defaultIModelViewportControlId: undefined,\r\n defaultViewId: undefined,\r\n defaultViewState: undefined,\r\n iModelConnection: undefined,\r\n userInfo: undefined,\r\n cursorMenuData: undefined,\r\n};\r\n\r\n/** An interface that allows redux connected object to dispatch changes to the SessionState reducer.\r\n * @beta\r\n */\r\nexport interface SessionStateActionsProps {\r\n setActiveIModelId: (typeof SessionStateActions.setActiveIModelId);\r\n setAvailableSelectionScopes: (typeof SessionStateActions.setAvailableSelectionScopes);\r\n setDefaultIModelViewportControlId: (typeof SessionStateActions.setDefaultIModelViewportControlId);\r\n setDefaultViewId: (typeof SessionStateActions.setDefaultViewId);\r\n setDefaultViewState: (typeof SessionStateActions.setDefaultViewState);\r\n setIModelConnection: (typeof SessionStateActions.setIModelConnection);\r\n setNumItemsSelected: (typeof SessionStateActions.setNumItemsSelected);\r\n setSelectionScope: (typeof SessionStateActions.setSelectionScope);\r\n setUserInfo: (typeof SessionStateActions.setUserInfo);\r\n updateCursorMenu: (typeof SessionStateActions.updateCursorMenu);\r\n}\r\n\r\n/** An object with a function that creates each SessionStateReducer that can be handled by our reducer.\r\n * @public\r\n */\r\nexport const SessionStateActions = { // eslint-disable-line @typescript-eslint/naming-convention\r\n setUserInfo:\r\n // istanbul ignore next\r\n (userInfo: UserInfo) => createAction(SessionStateActionId.SetUserInfo, userInfo),\r\n setActiveIModelId:\r\n // istanbul ignore next\r\n (iModelId: string) => createAction(SessionStateActionId.SetActiveIModelId, iModelId),\r\n setAvailableSelectionScopes:\r\n // istanbul ignore next\r\n (availableSelectionScopes: PresentationSelectionScope[]) => createAction(SessionStateActionId.SetAvailableSelectionScopes, availableSelectionScopes),\r\n setDefaultIModelViewportControlId: (iModelViewportControlId: string) => createAction(SessionStateActionId.SetDefaultIModelViewportControlId, iModelViewportControlId),\r\n setDefaultViewId: (viewId: string) => createAction(SessionStateActionId.SetDefaultViewId, viewId),\r\n setDefaultViewState:\r\n // istanbul ignore next\r\n (viewState: any) => createAction(SessionStateActionId.SetDefaultViewState, viewState),\r\n setNumItemsSelected: (numSelected: number) => createAction(SessionStateActionId.SetNumItemsSelected, numSelected),\r\n setIModelConnection:\r\n // istanbul ignore next\r\n (iModelConnection: any) => createAction(SessionStateActionId.SetIModelConnection, iModelConnection),\r\n setSelectionScope:\r\n // istanbul ignore next\r\n (activeSelectionScope: string) => createAction(SessionStateActionId.SetSelectionScope, activeSelectionScope),\r\n updateCursorMenu:\r\n // istanbul ignore next\r\n (cursorMenuData: CursorMenuData) => createAction(SessionStateActionId.UpdateCursorMenu, cursorMenuData),\r\n};\r\n\r\n/** Object that contains available actions that modify SessionState. Parent control's props should\r\n * extend from SessionStateActionsProps before using this in Redux 'connect' function.\r\n * @beta\r\n */\r\n// ...SessionStateActionsProps\r\nexport const sessionStateMapDispatchToProps = { ...SessionStateActions };\r\n\r\n/** Union of SessionState Redux actions\r\n * @public\r\n */\r\nexport type SessionStateActionsUnion = ActionsUnion<typeof SessionStateActions>;\r\n\r\n/** Handles actions to update SessionState.\r\n * @public\r\n */\r\nexport function SessionStateReducer(state: SessionState = initialState, action: SessionStateActionsUnion): DeepReadonly<SessionState> {\r\n switch (action.type) {\r\n case SessionStateActionId.SetNumItemsSelected: {\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, numItemsSelected: action.payload };\r\n else\r\n return { ...state, numItemsSelected: 0 };\r\n }\r\n case SessionStateActionId.SetAvailableSelectionScopes: {\r\n const payloadArray: PresentationSelectionScope[] = [];\r\n action.payload.forEach((scope) => payloadArray.push(scope));\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, availableSelectionScopes: payloadArray };\r\n else\r\n return { ...state, availableSelectionScopes: [defaultSelectionScope] };\r\n }\r\n case SessionStateActionId.SetSelectionScope: {\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, activeSelectionScope: action.payload };\r\n else\r\n return { ...state, activeSelectionScope: defaultSelectionScope.id };\r\n }\r\n case SessionStateActionId.SetActiveIModelId: {\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, iModelId: action.payload };\r\n else\r\n return { ...state, iModelId: \"\" };\r\n }\r\n case SessionStateActionId.SetDefaultIModelViewportControlId: {\r\n return { ...state, defaultIModelViewportControlId: action.payload };\r\n }\r\n case SessionStateActionId.SetDefaultViewId: {\r\n return { ...state, defaultViewId: action.payload };\r\n }\r\n case SessionStateActionId.SetDefaultViewState: {\r\n return { ...state, defaultViewState: action.payload };\r\n }\r\n case SessionStateActionId.SetIModelConnection: {\r\n return { ...state, iModelConnection: action.payload };\r\n }\r\n case SessionStateActionId.SetUserInfo: {\r\n return { ...state, userInfo: action.payload };\r\n }\r\n case SessionStateActionId.UpdateCursorMenu: {\r\n return { ...state, cursorMenuData: action.payload };\r\n }\r\n }\r\n\r\n return state;\r\n}\r\n"]}
1
+ {"version":3,"file":"SessionState.js","sourceRoot":"","sources":["../../../../src/appui-react/redux/SessionState.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 State\r\n */\r\n\r\n// The following definitions are causing extract-api issues on linux so for now just using any until we can figure out the issue.\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\n// import { IModelConnection, ViewState } from \"@itwin/core-frontend\";\r\nimport { MenuItemProps } from \"../shared/MenuItem\";\r\nimport { ActionsUnion, createAction, DeepReadonly } from \"./redux-ts\";\r\n\r\n// cSpell:ignore configurableui snapmode toolprompt sessionstate imodelid viewid viewportid rulesetid\r\n\r\n/** PresentationSelectionScope holds the id and the localized label for a selection scope supported for a specific iModel.\r\n * Added to avoid an api-extract error caused by using SelectionScope.\r\n * @public\r\n */\r\nexport interface PresentationSelectionScope {\r\n id: string;\r\n label: string;\r\n}\r\n\r\n/** Definition of data added to Redux store to define cursor menu. If menuItems are empty the menu control is not displayed.\r\n * To close the menu clear the menuItems or pass in undefined as the CursorData.\r\n * @public\r\n */\r\nexport interface CursorMenuData {\r\n items: MenuItemProps[];\r\n position: XAndY;\r\n childWindowId?: string;\r\n}\r\n\r\n/** Action Ids used by Redux and to send sync UI components. Typically used to refresh visibility or enable state of control.\r\n * Since these are also used as sync ids they should be in lowercase.\r\n * @public\r\n */\r\nexport enum SessionStateActionId {\r\n SetNumItemsSelected = \"sessionstate:set-num-items-selected\",\r\n SetAvailableSelectionScopes = \"sessionstate:set-available-selection-scopes\",\r\n SetSelectionScope = \"sessionstate:set-selection-scope\",\r\n SetActiveIModelId = \"sessionstate:set-active-imodelid\",\r\n SetIModelConnection = \"sessionstate:set-imodel-connection\",\r\n SetDefaultIModelViewportControlId = \"sessionstate:set-default-viewportid\",\r\n SetDefaultViewId = \"sessionstate:set-default-viewid\",\r\n SetDefaultViewState = \"sessionstate:set-default-view-state\",\r\n UpdateCursorMenu = \"sessionstate:update-cursor-menu\",\r\n}\r\n\r\n/** The portion of state managed by the SessionStateReducer.\r\n * @public\r\n */\r\nexport interface SessionState {\r\n numItemsSelected: number;\r\n availableSelectionScopes: PresentationSelectionScope[];\r\n activeSelectionScope: string;\r\n iModelId: string;\r\n defaultIModelViewportControlId: string | undefined;\r\n defaultViewId: string | undefined;\r\n defaultViewState: any | undefined;\r\n iModelConnection: any | undefined;\r\n cursorMenuData: CursorMenuData | undefined;\r\n}\r\n\r\nconst defaultSelectionScope = { id: \"element\", label: \"Element\" } as PresentationSelectionScope;\r\n\r\n/** used on first call of SessionStateReducer */\r\nconst initialState: SessionState = {\r\n /** number of selected items in Presentation Selection */\r\n numItemsSelected: 0,\r\n /** initialize to only support \"Element\" scope, this will be overwritten when iModelConnection is established */\r\n availableSelectionScopes: [defaultSelectionScope],\r\n /** initialize to active selection scope to \"Element\", this will be overwritten when iModelConnection is established */\r\n activeSelectionScope: defaultSelectionScope.id,\r\n /** set to iModelId if an iModel is active else it is an empty string, so initialize to empty string */\r\n iModelId: \"\",\r\n defaultIModelViewportControlId: undefined,\r\n defaultViewId: undefined,\r\n defaultViewState: undefined,\r\n iModelConnection: undefined,\r\n cursorMenuData: undefined,\r\n};\r\n\r\n/** An interface that allows redux connected object to dispatch changes to the SessionState reducer.\r\n * @beta\r\n */\r\nexport interface SessionStateActionsProps {\r\n setActiveIModelId: (typeof SessionStateActions.setActiveIModelId);\r\n setAvailableSelectionScopes: (typeof SessionStateActions.setAvailableSelectionScopes);\r\n setDefaultIModelViewportControlId: (typeof SessionStateActions.setDefaultIModelViewportControlId);\r\n setDefaultViewId: (typeof SessionStateActions.setDefaultViewId);\r\n setDefaultViewState: (typeof SessionStateActions.setDefaultViewState);\r\n setIModelConnection: (typeof SessionStateActions.setIModelConnection);\r\n setNumItemsSelected: (typeof SessionStateActions.setNumItemsSelected);\r\n setSelectionScope: (typeof SessionStateActions.setSelectionScope);\r\n updateCursorMenu: (typeof SessionStateActions.updateCursorMenu);\r\n}\r\n\r\n/** An object with a function that creates each SessionStateReducer that can be handled by our reducer.\r\n * @public\r\n */\r\nexport const SessionStateActions = { // eslint-disable-line @typescript-eslint/naming-convention\r\n setActiveIModelId:\r\n // istanbul ignore next\r\n (iModelId: string) => createAction(SessionStateActionId.SetActiveIModelId, iModelId),\r\n setAvailableSelectionScopes:\r\n // istanbul ignore next\r\n (availableSelectionScopes: PresentationSelectionScope[]) => createAction(SessionStateActionId.SetAvailableSelectionScopes, availableSelectionScopes),\r\n setDefaultIModelViewportControlId: (iModelViewportControlId: string) => createAction(SessionStateActionId.SetDefaultIModelViewportControlId, iModelViewportControlId),\r\n setDefaultViewId: (viewId: string) => createAction(SessionStateActionId.SetDefaultViewId, viewId),\r\n setDefaultViewState:\r\n // istanbul ignore next\r\n (viewState: any) => createAction(SessionStateActionId.SetDefaultViewState, viewState),\r\n setNumItemsSelected: (numSelected: number) => createAction(SessionStateActionId.SetNumItemsSelected, numSelected),\r\n setIModelConnection:\r\n // istanbul ignore next\r\n (iModelConnection: any) => createAction(SessionStateActionId.SetIModelConnection, iModelConnection),\r\n setSelectionScope:\r\n // istanbul ignore next\r\n (activeSelectionScope: string) => createAction(SessionStateActionId.SetSelectionScope, activeSelectionScope),\r\n updateCursorMenu:\r\n // istanbul ignore next\r\n (cursorMenuData: CursorMenuData) => createAction(SessionStateActionId.UpdateCursorMenu, cursorMenuData),\r\n};\r\n\r\n/** Object that contains available actions that modify SessionState. Parent control's props should\r\n * extend from SessionStateActionsProps before using this in Redux 'connect' function.\r\n * @beta\r\n */\r\n// ...SessionStateActionsProps\r\nexport const sessionStateMapDispatchToProps = { ...SessionStateActions };\r\n\r\n/** Union of SessionState Redux actions\r\n * @public\r\n */\r\nexport type SessionStateActionsUnion = ActionsUnion<typeof SessionStateActions>;\r\n\r\n/** Handles actions to update SessionState.\r\n * @public\r\n */\r\nexport function SessionStateReducer(state: SessionState = initialState, action: SessionStateActionsUnion): DeepReadonly<SessionState> {\r\n switch (action.type) {\r\n case SessionStateActionId.SetNumItemsSelected: {\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, numItemsSelected: action.payload };\r\n else\r\n return { ...state, numItemsSelected: 0 };\r\n }\r\n case SessionStateActionId.SetAvailableSelectionScopes: {\r\n const payloadArray: PresentationSelectionScope[] = [];\r\n action.payload.forEach((scope) => payloadArray.push(scope));\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, availableSelectionScopes: payloadArray };\r\n else\r\n return { ...state, availableSelectionScopes: [defaultSelectionScope] };\r\n }\r\n case SessionStateActionId.SetSelectionScope: {\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, activeSelectionScope: action.payload };\r\n else\r\n return { ...state, activeSelectionScope: defaultSelectionScope.id };\r\n }\r\n case SessionStateActionId.SetActiveIModelId: {\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, iModelId: action.payload };\r\n else\r\n return { ...state, iModelId: \"\" };\r\n }\r\n case SessionStateActionId.SetDefaultIModelViewportControlId: {\r\n return { ...state, defaultIModelViewportControlId: action.payload };\r\n }\r\n case SessionStateActionId.SetDefaultViewId: {\r\n return { ...state, defaultViewId: action.payload };\r\n }\r\n case SessionStateActionId.SetDefaultViewState: {\r\n return { ...state, defaultViewState: action.payload };\r\n }\r\n case SessionStateActionId.SetIModelConnection: {\r\n return { ...state, iModelConnection: action.payload };\r\n }\r\n case SessionStateActionId.UpdateCursorMenu: {\r\n return { ...state, cursorMenuData: action.payload };\r\n }\r\n }\r\n\r\n return state;\r\n}\r\n"]}
@@ -4,7 +4,7 @@
4
4
  import { Store } from "redux";
5
5
  import { FrameworkState } from "./FrameworkState";
6
6
  import { NameToReducerMap } from "./ReducerRegistry";
7
- /** Generic 'root' state for the appui-react package. Since this state contains common values needed by many iModel.js applications
7
+ /** Generic 'root' state for the appui-react package. Since this state contains common values needed by many applications
8
8
  * it is automatically added to the Redux store when using [[StateManager]].
9
9
  * @beta
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"StateManager.js","sourceRoot":"","sources":["../../../../src/appui-react/redux/StateManager.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,yBAAyB;AAEzB,iCAA+E;AAC/E,sDAA6C;AAC7C,0DAAgD;AAChD,qDAAoE;AACpE,uDAA8E;AAU9E;;;;;GAKG;AACH,MAAa,YAAY;IAOvB;;;OAGG;IACH,YAAY,eAAkC;QAC5C,IAAI,eAAe,EAAE;YACnB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;YACxC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YAC5C,kEAAkE;YAClE,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,gBAAgB,CAAC;gBAC1D,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,eAAe,EAAE,cAAc,EAAE,iCAAgB,EAAE,CAAC;SACpF;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,EAAE,cAAc,EAAE,iCAAgB,EAAE,CAAC;SAC9D;QAED,MAAM,6BAA6B,GAAG,yCAAuB,CAAC,WAAW,EAAE,CAAC;QAC5E,IAAI,WAAW,GAAQ,IAAI,CAAC,gCAAgC,CAC1D,6BAA6B,EAC7B,IAAI,CAAC,gBAAgB,CACtB,CAAC;QAEF,0BAA0B;QAC1B,uBAAuB;QACvB,IAAI,CAAC,MAAM,GAAG,IAAA,mBAAW,EAAC,WAAW,EAAG,MAAc,CAAC,4BAA4B,IAAK,MAAc,CAAC,4BAA4B,EAAE,CAAC,CAAC;QAEvI,yCAAuB,CAAC,iBAAiB,CAAC,CAAC,kBAAkB,EAAE,EAAE;YAC/D,WAAW,GAAG,IAAI,CAAC,gCAAgC,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC/F,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7C,CAAC;IAED;;OAEG;IAEI,MAAM,CAAC,aAAa,CAAC,gBAAgB,GAAG,KAAK;QAClD,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;YACjC,IAAI,CAAC,gBAAgB;gBACnB,qBAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,uCAAuC,CAAC,CAAC;YACvF,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,+GAA+G;IACxG,MAAM,KAAK,KAAK;QACrB,IAAI,YAAY,CAAC,aAAa,EAAE,EAAE;YAChC,OAAO,YAAY,CAAC,eAAgB,CAAC;SACtC;aAAM;YACL,MAAM,IAAI,wBAAO,CAAC,YAAY,CAAC,aAAa,EAAE,sCAAsC,CAAC,CAAC;SACvF;IACH,CAAC;IAED,qDAAqD;IAC9C,MAAM,KAAK,KAAK;QACrB,IAAI,YAAY,CAAC,aAAa,EAAE,EAAE;YAChC,OAAO,YAAY,CAAC,eAAgB,CAAC,QAAQ,EAAE,CAAC;SACjD;aAAM;YACL,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;IAEO,gCAAgC,CACtC,6BAAgD,EAChD,eAAkC;QAElC,MAAM,WAAW,GAAG;YAClB,GAAG,eAAe;YAClB,GAAG,6BAA6B;SACjC,CAAC;QAEF,OAAO,IAAA,uBAAe,EAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,UAAU;QACtB,YAAY,CAAC,eAAe,GAAG,SAAS,CAAC;IAC3C,CAAC;;AAxFH,oCA0FC;AAzFgB,0BAAa,GAAG,cAAc,CAAC","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 State\r\n */\r\n\r\n// cSpell:ignore DEVTOOLS\r\n\r\nimport { combineReducers, createStore, ReducersMapObject, Store } from \"redux\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { UiError } from \"@itwin/appui-abstract\";\r\nimport { FrameworkReducer, FrameworkState } from \"./FrameworkState\";\r\nimport { NameToReducerMap, ReducerRegistryInstance } from \"./ReducerRegistry\";\r\n\r\n/** Generic 'root' state for the appui-react package. Since this state contains common values needed by many iModel.js applications\r\n * it is automatically added to the Redux store when using [[StateManager]].\r\n * @beta\r\n */\r\nexport interface FrameworkRootState {\r\n frameworkState: FrameworkState;\r\n}\r\n\r\n/**\r\n * Centralized state management class using Redux actions, reducers and store. This class monitors the ReducerRegistry and will\r\n * automatically update the store when a new reducer is registered. This allows the store to be incrementally constructed as modules\r\n * and/or extensions are loaded.\r\n * @public\r\n */\r\nexport class StateManager {\r\n private static _LOG_CATEGORY = \"StateManager\";\r\n private _store: Store<any>;\r\n private _defaultReducers: NameToReducerMap;\r\n\r\n private static _singletonStore: Store<any> | undefined;\r\n\r\n /**\r\n * StateManager construct.\r\n * @param defaultReducers Default set of Reducers used by the current application. If this object does not contain the [[FrameworkReducer]] it will automatically be added.\r\n */\r\n constructor(defaultReducers?: NameToReducerMap) {\r\n if (defaultReducers) {\r\n this._defaultReducers = defaultReducers;\r\n const keys = (Object.keys(defaultReducers));\r\n // ensure frameworkState is included in the set of defaultReducers\r\n if (-1 === keys.findIndex((key) => key === \"frameworkState\"))\r\n this._defaultReducers = { ...defaultReducers, frameworkState: FrameworkReducer };\r\n } else {\r\n this._defaultReducers = { frameworkState: FrameworkReducer };\r\n }\r\n\r\n const dynamicallyRegisteredReducers = ReducerRegistryInstance.getReducers();\r\n let allReducers: any = this.combineDynamicAndDefaultReducers(\r\n dynamicallyRegisteredReducers,\r\n this._defaultReducers,\r\n );\r\n\r\n // create the Redux Store.\r\n // istanbul ignore next\r\n this._store = createStore(allReducers, (window as any).__REDUX_DEVTOOLS_EXTENSION__ && (window as any).__REDUX_DEVTOOLS_EXTENSION__());\r\n\r\n ReducerRegistryInstance.setChangeListener((newDynamicReducers) => {\r\n allReducers = this.combineDynamicAndDefaultReducers(newDynamicReducers, this._defaultReducers);\r\n this._store.replaceReducer(allReducers);\r\n });\r\n StateManager._singletonStore = this._store;\r\n }\r\n\r\n /** Method to test if the StateManager has been initialized.\r\n * @param suppressErrorLog If true and the StateManager is not initialized a log message will be output.\r\n */\r\n\r\n public static isInitialized(suppressErrorLog = false): boolean {\r\n if (!StateManager._singletonStore) {\r\n if (!suppressErrorLog)\r\n Logger.logError(StateManager._LOG_CATEGORY, \"Accessing store before it is created.\");\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n /** Return the current Redux store. Useful when using connect method to connect a Ui Component to the store. */\r\n public static get store(): Store<any> {\r\n if (StateManager.isInitialized()) {\r\n return StateManager._singletonStore!;\r\n } else {\r\n throw new UiError(StateManager._LOG_CATEGORY, `Redux Store has not been initialized`);\r\n }\r\n }\r\n\r\n /** Return the current state from the Redux store. */\r\n public static get state(): any {\r\n if (StateManager.isInitialized()) {\r\n return StateManager._singletonStore!.getState();\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n private combineDynamicAndDefaultReducers(\r\n dynamicallyRegisteredReducers: ReducersMapObject,\r\n defaultReducers: ReducersMapObject,\r\n ) {\r\n const allReducers = {\r\n ...defaultReducers,\r\n ...dynamicallyRegisteredReducers,\r\n };\r\n\r\n return combineReducers(allReducers);\r\n }\r\n\r\n /** To be used only in unit test\r\n * @internal\r\n */\r\n public static clearStore() {\r\n StateManager._singletonStore = undefined;\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"StateManager.js","sourceRoot":"","sources":["../../../../src/appui-react/redux/StateManager.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,yBAAyB;AAEzB,iCAA+E;AAC/E,sDAA6C;AAC7C,0DAAgD;AAChD,qDAAoE;AACpE,uDAA8E;AAU9E;;;;;GAKG;AACH,MAAa,YAAY;IAOvB;;;OAGG;IACH,YAAY,eAAkC;QAC5C,IAAI,eAAe,EAAE;YACnB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;YACxC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YAC5C,kEAAkE;YAClE,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,gBAAgB,CAAC;gBAC1D,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,eAAe,EAAE,cAAc,EAAE,iCAAgB,EAAE,CAAC;SACpF;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,EAAE,cAAc,EAAE,iCAAgB,EAAE,CAAC;SAC9D;QAED,MAAM,6BAA6B,GAAG,yCAAuB,CAAC,WAAW,EAAE,CAAC;QAC5E,IAAI,WAAW,GAAQ,IAAI,CAAC,gCAAgC,CAC1D,6BAA6B,EAC7B,IAAI,CAAC,gBAAgB,CACtB,CAAC;QAEF,0BAA0B;QAC1B,uBAAuB;QACvB,IAAI,CAAC,MAAM,GAAG,IAAA,mBAAW,EAAC,WAAW,EAAG,MAAc,CAAC,4BAA4B,IAAK,MAAc,CAAC,4BAA4B,EAAE,CAAC,CAAC;QAEvI,yCAAuB,CAAC,iBAAiB,CAAC,CAAC,kBAAkB,EAAE,EAAE;YAC/D,WAAW,GAAG,IAAI,CAAC,gCAAgC,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC/F,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7C,CAAC;IAED;;OAEG;IAEI,MAAM,CAAC,aAAa,CAAC,gBAAgB,GAAG,KAAK;QAClD,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;YACjC,IAAI,CAAC,gBAAgB;gBACnB,qBAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,uCAAuC,CAAC,CAAC;YACvF,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,+GAA+G;IACxG,MAAM,KAAK,KAAK;QACrB,IAAI,YAAY,CAAC,aAAa,EAAE,EAAE;YAChC,OAAO,YAAY,CAAC,eAAgB,CAAC;SACtC;aAAM;YACL,MAAM,IAAI,wBAAO,CAAC,YAAY,CAAC,aAAa,EAAE,sCAAsC,CAAC,CAAC;SACvF;IACH,CAAC;IAED,qDAAqD;IAC9C,MAAM,KAAK,KAAK;QACrB,IAAI,YAAY,CAAC,aAAa,EAAE,EAAE;YAChC,OAAO,YAAY,CAAC,eAAgB,CAAC,QAAQ,EAAE,CAAC;SACjD;aAAM;YACL,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;IAEO,gCAAgC,CACtC,6BAAgD,EAChD,eAAkC;QAElC,MAAM,WAAW,GAAG;YAClB,GAAG,eAAe;YAClB,GAAG,6BAA6B;SACjC,CAAC;QAEF,OAAO,IAAA,uBAAe,EAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,UAAU;QACtB,YAAY,CAAC,eAAe,GAAG,SAAS,CAAC;IAC3C,CAAC;;AAxFH,oCA0FC;AAzFgB,0BAAa,GAAG,cAAc,CAAC","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 State\r\n */\r\n\r\n// cSpell:ignore DEVTOOLS\r\n\r\nimport { combineReducers, createStore, ReducersMapObject, Store } from \"redux\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { UiError } from \"@itwin/appui-abstract\";\r\nimport { FrameworkReducer, FrameworkState } from \"./FrameworkState\";\r\nimport { NameToReducerMap, ReducerRegistryInstance } from \"./ReducerRegistry\";\r\n\r\n/** Generic 'root' state for the appui-react package. Since this state contains common values needed by many applications\r\n * it is automatically added to the Redux store when using [[StateManager]].\r\n * @beta\r\n */\r\nexport interface FrameworkRootState {\r\n frameworkState: FrameworkState;\r\n}\r\n\r\n/**\r\n * Centralized state management class using Redux actions, reducers and store. This class monitors the ReducerRegistry and will\r\n * automatically update the store when a new reducer is registered. This allows the store to be incrementally constructed as modules\r\n * and/or extensions are loaded.\r\n * @public\r\n */\r\nexport class StateManager {\r\n private static _LOG_CATEGORY = \"StateManager\";\r\n private _store: Store<any>;\r\n private _defaultReducers: NameToReducerMap;\r\n\r\n private static _singletonStore: Store<any> | undefined;\r\n\r\n /**\r\n * StateManager construct.\r\n * @param defaultReducers Default set of Reducers used by the current application. If this object does not contain the [[FrameworkReducer]] it will automatically be added.\r\n */\r\n constructor(defaultReducers?: NameToReducerMap) {\r\n if (defaultReducers) {\r\n this._defaultReducers = defaultReducers;\r\n const keys = (Object.keys(defaultReducers));\r\n // ensure frameworkState is included in the set of defaultReducers\r\n if (-1 === keys.findIndex((key) => key === \"frameworkState\"))\r\n this._defaultReducers = { ...defaultReducers, frameworkState: FrameworkReducer };\r\n } else {\r\n this._defaultReducers = { frameworkState: FrameworkReducer };\r\n }\r\n\r\n const dynamicallyRegisteredReducers = ReducerRegistryInstance.getReducers();\r\n let allReducers: any = this.combineDynamicAndDefaultReducers(\r\n dynamicallyRegisteredReducers,\r\n this._defaultReducers,\r\n );\r\n\r\n // create the Redux Store.\r\n // istanbul ignore next\r\n this._store = createStore(allReducers, (window as any).__REDUX_DEVTOOLS_EXTENSION__ && (window as any).__REDUX_DEVTOOLS_EXTENSION__());\r\n\r\n ReducerRegistryInstance.setChangeListener((newDynamicReducers) => {\r\n allReducers = this.combineDynamicAndDefaultReducers(newDynamicReducers, this._defaultReducers);\r\n this._store.replaceReducer(allReducers);\r\n });\r\n StateManager._singletonStore = this._store;\r\n }\r\n\r\n /** Method to test if the StateManager has been initialized.\r\n * @param suppressErrorLog If true and the StateManager is not initialized a log message will be output.\r\n */\r\n\r\n public static isInitialized(suppressErrorLog = false): boolean {\r\n if (!StateManager._singletonStore) {\r\n if (!suppressErrorLog)\r\n Logger.logError(StateManager._LOG_CATEGORY, \"Accessing store before it is created.\");\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n /** Return the current Redux store. Useful when using connect method to connect a Ui Component to the store. */\r\n public static get store(): Store<any> {\r\n if (StateManager.isInitialized()) {\r\n return StateManager._singletonStore!;\r\n } else {\r\n throw new UiError(StateManager._LOG_CATEGORY, `Redux Store has not been initialized`);\r\n }\r\n }\r\n\r\n /** Return the current state from the Redux store. */\r\n public static get state(): any {\r\n if (StateManager.isInitialized()) {\r\n return StateManager._singletonStore!.getState();\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n private combineDynamicAndDefaultReducers(\r\n dynamicallyRegisteredReducers: ReducersMapObject,\r\n defaultReducers: ReducersMapObject,\r\n ) {\r\n const allReducers = {\r\n ...defaultReducers,\r\n ...dynamicallyRegisteredReducers,\r\n };\r\n\r\n return combineReducers(allReducers);\r\n }\r\n\r\n /** To be used only in unit test\r\n * @internal\r\n */\r\n public static clearStore() {\r\n StateManager._singletonStore = undefined;\r\n }\r\n\r\n}\r\n"]}
@@ -54,9 +54,9 @@ class ModelOverrideProvider {
54
54
  addFeatureOverrides(overrides, _viewport) {
55
55
  overrides.setDefaultOverrides(this.defaultAppearance, true);
56
56
  // Override with nothing so that we keep the model looking normal and override the default appearance of everything else
57
- const emptyAppearance = core_common_1.FeatureAppearance.fromJSON({});
57
+ const appearance = core_common_1.FeatureAppearance.fromJSON({});
58
58
  this.modelIds.forEach((modelId) => {
59
- overrides.overrideModel(modelId, emptyAppearance, true);
59
+ overrides.override({ modelId, appearance, onConflict: "replace" });
60
60
  });
61
61
  }
62
62
  }
@@ -72,9 +72,9 @@ class SubCategoryOverrideProvider {
72
72
  addFeatureOverrides(overrides, _viewport) {
73
73
  overrides.setDefaultOverrides(this.defaultAppearance, true);
74
74
  // Override with nothing so that we keep the category looking normal and override the default appearance of everything else
75
- const emptyAppearance = core_common_1.FeatureAppearance.fromJSON({});
76
- this.subCategoryIds.forEach((id) => {
77
- overrides.overrideSubCategory(id, emptyAppearance, true);
75
+ const appearance = core_common_1.FeatureAppearance.fromJSON({});
76
+ this.subCategoryIds.forEach((subCategoryId) => {
77
+ overrides.override({ subCategoryId, appearance, onConflict: "replace" });
78
78
  });
79
79
  }
80
80
  }
@@ -87,7 +87,7 @@ class SubjectModelIdsCache {
87
87
  async initSubjectsHierarchy() {
88
88
  this._subjectsHierarchy = new Map();
89
89
  const ecsql = `SELECT ECInstanceId id, Parent.Id parentId FROM bis.Subject WHERE Parent IS NOT NULL`;
90
- const result = this._imodel.query(ecsql, undefined, 1000);
90
+ const result = this._imodel.query(ecsql, undefined, { limit: { count: 1000 } });
91
91
  for await (const row of result) {
92
92
  let list = this._subjectsHierarchy.get(row.parentId);
93
93
  if (!list) {
@@ -100,7 +100,7 @@ class SubjectModelIdsCache {
100
100
  async initSubjectModels() {
101
101
  this._subjectModels = new Map();
102
102
  const ecsql = `SELECT p.ECInstanceId id, p.Parent.Id subjectId FROM bis.InformationPartitionElement p JOIN bis.Model m ON m.ModeledElement.Id = p.ECInstanceId`;
103
- const result = this._imodel.query(ecsql, undefined, 1000);
103
+ const result = this._imodel.query(ecsql, undefined, { limit: { count: 1000 } });
104
104
  for await (const row of result) {
105
105
  let list = this._subjectModels.get(row.subjectId);
106
106
  if (!list) {
@@ -1 +1 @@
1
- {"version":3,"file":"HideIsolateEmphasizeManager.js","sourceRoot":"","sources":["../../../../src/appui-react/selection/HideIsolateEmphasizeManager.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 Tools\r\n */\r\n\r\nimport { BeEvent, GuidString, Id64String } from \"@itwin/core-bentley\";\r\nimport { FeatureAppearance, GeometricElementProps } from \"@itwin/core-common\";\r\nimport { EmphasizeElements, FeatureOverrideProvider, FeatureSymbology, IModelApp, IModelConnection, ScreenViewport, Viewport } from \"@itwin/core-frontend\";\r\nimport { Presentation } from \"@itwin/presentation-frontend\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/** Supported Hide, Isolate, and Emphasize Actions. These also serve as FeatureTracking Ids.\r\n * @public\r\n */\r\nexport enum HideIsolateEmphasizeAction {\r\n EmphasizeSelectedElements = \"EmphasizeSelectedElements\",\r\n IsolateSelectedElements = \"IsolateSelectedElements\",\r\n IsolateSelectedCategories = \"IsolateSelectedCategories\",\r\n IsolateSelectedModels = \"IsolateSelectedModels\",\r\n HideSelectedElements = \"HideSelectedElements\",\r\n HideSelectedModels = \"HideSelectedModels\",\r\n HideSelectedCategories = \"HideSelectedCategories\",\r\n ClearHiddenIsolatedEmphasized = \"ClearHiddenIsolatedEmphasized\",\r\n ClearOverrideModels = \"ClearOverrideModels\",\r\n ClearOverrideCategories = \"ClearOverrideCategories\",\r\n}\r\n\r\nconst featureIdMap = new Map<HideIsolateEmphasizeAction, GuidString>([\r\n [HideIsolateEmphasizeAction.EmphasizeSelectedElements, \"d74eb93f-deae-4700-8da6-1013a8a7aa26\"],\r\n [HideIsolateEmphasizeAction.IsolateSelectedElements, \"24327638-1611-45fa-a379-fa73329098ec\"],\r\n [HideIsolateEmphasizeAction.IsolateSelectedCategories, \"e58081ab-2c33-4a15-924f-71082b58ca3b\"],\r\n [HideIsolateEmphasizeAction.IsolateSelectedModels, \"3475921e-7dd1-4547-993e-a3e284ef8b62\"],\r\n [HideIsolateEmphasizeAction.HideSelectedElements, \"2ca673ec-001a-4890-bc25-18bc88358fe0\"],\r\n [HideIsolateEmphasizeAction.HideSelectedModels, \"8b41e859-ae17-4e19-b220-87a5cf9f8242\"],\r\n [HideIsolateEmphasizeAction.HideSelectedCategories, \"c5d6916b-e8d7-4796-bae9-a5303712d46b\"],\r\n [HideIsolateEmphasizeAction.ClearHiddenIsolatedEmphasized, \"7b135c8a-3f3c-4297-b36c-b0ac51f1d8de\"],\r\n [HideIsolateEmphasizeAction.ClearOverrideModels, \"6e519b94-edab-4b13-9ce7-0bcdfa27ccfe\"],\r\n [HideIsolateEmphasizeAction.ClearOverrideCategories, \"9d2be3c6-6992-4c30-84eb-10f6b9379d06\"],\r\n]);\r\n\r\n/** Selection Context Action Event Argument\r\n * @public\r\n */\r\nexport interface EmphasizeElementsChangedArgs {\r\n /** viewport where action was performed */\r\n readonly viewport: ScreenViewport;\r\n /** action being performed */\r\n readonly action: HideIsolateEmphasizeAction;\r\n}\r\n\r\n/** Overrides given models to provide emphasize functionality\r\n * @public\r\n */\r\n// istanbul ignore next\r\nclass ModelOverrideProvider implements FeatureOverrideProvider {\r\n constructor(public modelIds: string[], public defaultAppearance: FeatureAppearance) { }\r\n\r\n public addFeatureOverrides(overrides: FeatureSymbology.Overrides, _viewport: Viewport): void {\r\n overrides.setDefaultOverrides(this.defaultAppearance, true);\r\n // Override with nothing so that we keep the model looking normal and override the default appearance of everything else\r\n const emptyAppearance = FeatureAppearance.fromJSON({});\r\n this.modelIds.forEach((modelId: string) => {\r\n overrides.overrideModel(modelId, emptyAppearance, true);\r\n });\r\n }\r\n}\r\n\r\n/** Overrides given categories to provide emphasize functionality\r\n * @public\r\n */\r\n// istanbul ignore next\r\nclass SubCategoryOverrideProvider implements FeatureOverrideProvider {\r\n constructor(public subCategoryIds: string[], public defaultAppearance: FeatureAppearance) { }\r\n\r\n public addFeatureOverrides(overrides: FeatureSymbology.Overrides, _viewport: Viewport): void {\r\n overrides.setDefaultOverrides(this.defaultAppearance, true);\r\n // Override with nothing so that we keep the category looking normal and override the default appearance of everything else\r\n const emptyAppearance = FeatureAppearance.fromJSON({});\r\n this.subCategoryIds.forEach((id: string) => {\r\n overrides.overrideSubCategory(id, emptyAppearance, true);\r\n });\r\n }\r\n}\r\n\r\n/** Cache of Models that are inside of subjects */\r\n// istanbul ignore next\r\nclass SubjectModelIdsCache {\r\n private _imodel: IModelConnection;\r\n private _subjectsHierarchy: Map<Id64String, Id64String[]> | undefined;\r\n private _subjectModels: Map<Id64String, Id64String[]> | undefined;\r\n private _init: Promise<void> | undefined;\r\n\r\n constructor(imodel: IModelConnection) {\r\n this._imodel = imodel;\r\n }\r\n\r\n private async initSubjectsHierarchy() {\r\n this._subjectsHierarchy = new Map();\r\n const ecsql = `SELECT ECInstanceId id, Parent.Id parentId FROM bis.Subject WHERE Parent IS NOT NULL`;\r\n const result = this._imodel.query(ecsql, undefined, 1000);\r\n for await (const row of result) {\r\n let list = this._subjectsHierarchy.get(row.parentId);\r\n if (!list) {\r\n list = [];\r\n this._subjectsHierarchy.set(row.parentId, list);\r\n }\r\n list.push(row.id);\r\n }\r\n }\r\n\r\n private async initSubjectModels() {\r\n this._subjectModels = new Map();\r\n const ecsql = `SELECT p.ECInstanceId id, p.Parent.Id subjectId FROM bis.InformationPartitionElement p JOIN bis.Model m ON m.ModeledElement.Id = p.ECInstanceId`;\r\n const result = this._imodel.query(ecsql, undefined, 1000);\r\n for await (const row of result) {\r\n let list = this._subjectModels.get(row.subjectId);\r\n if (!list) {\r\n list = [];\r\n this._subjectModels.set(row.subjectId, list);\r\n }\r\n list.push(row.id);\r\n }\r\n }\r\n\r\n private async initCache() {\r\n if (!this._init) {\r\n this._init = Promise.all([this.initSubjectModels(), this.initSubjectsHierarchy()]).then(() => { });\r\n }\r\n return this._init;\r\n }\r\n\r\n private appendSubjectModelsRecursively(modelIds: Id64String[], subjectId: Id64String) {\r\n const subjectModelIds = this._subjectModels!.get(subjectId);\r\n if (subjectModelIds)\r\n modelIds.push(...subjectModelIds);\r\n\r\n const childSubjectIds = this._subjectsHierarchy!.get(subjectId);\r\n if (childSubjectIds)\r\n childSubjectIds.forEach((cs) => this.appendSubjectModelsRecursively(modelIds, cs));\r\n }\r\n\r\n public async getSubjectModelIds(subjectId: Id64String): Promise<Id64String[]> {\r\n await this.initCache();\r\n const modelIds = new Array<Id64String>();\r\n this.appendSubjectModelsRecursively(modelIds, subjectId);\r\n return modelIds;\r\n }\r\n}\r\n\r\n/**\r\n * Interface for class that handles Hide, Isolate, and Emphasize Actions\r\n * @public\r\n */\r\nexport abstract class HideIsolateEmphasizeActionHandler {\r\n public static emphasizeElementsChanged = new BeEvent<(args: EmphasizeElementsChangedArgs) => void>();\r\n\r\n /** String Id sent to allow UI to refresh its display state. */\r\n public static get hideIsolateEmphasizeUiSyncId() {\r\n return \"selection-context-emphasize-elements-changed\";\r\n }\r\n\r\n /**\r\n * Function run when `IsolateSelectedElementsModel` tool button is pressed\r\n */\r\n public abstract processIsolateSelectedElementsModel(): Promise<void>;\r\n /**\r\n * Function run when `IsolateSelectedElementsModel` tool button is pressed\r\n */\r\n\r\n public abstract processIsolateSelectedElementsCategory(): Promise<void>;\r\n\r\n /**\r\n * Function run when `HideSelectedElementsModel` tool button is pressed\r\n */\r\n public abstract processIsolateSelected(): Promise<void>;\r\n\r\n /**\r\n * Function run when `HideSelectedElementsModel` tool button is pressed\r\n */\r\n public abstract processHideSelectedElementsModel(): Promise<void>;\r\n\r\n /**\r\n * Function that is run when `HideSelectedElementsCategory` tool button is pressed\r\n */\r\n public abstract processHideSelectedElementsCategory(): Promise<void>;\r\n\r\n /**\r\n * Function that is run when `HideSelected` tool button is pressed\r\n */\r\n public abstract processHideSelected(): Promise<void>;\r\n\r\n /**\r\n * Function that is run when `EmphasizeSelected` tool button is pressed\r\n */\r\n public abstract processEmphasizeSelected(): Promise<void>;\r\n\r\n /**\r\n * Function that is run when `ClearEmphasize` tool button is pressed\r\n */\r\n public abstract processClearEmphasize(): Promise<void>;\r\n\r\n /**\r\n * Function that informs called if Hide, Isolate, or Emphasize of elements is active.\r\n */\r\n public abstract areFeatureOverridesActive(vp: Viewport): boolean;\r\n\r\n /**\r\n * Function run when `ClearOverrideCategories` tool button is pressed\r\n */\r\n public abstract processClearOverrideCategories(): Promise<void>;\r\n\r\n /**\r\n * Function run when `ClearOverrideModels` tool button is pressed\r\n */\r\n public abstract processClearOverrideModels(): Promise<void>;\r\n}\r\n\r\n/** Provides helper functions for doing commands on logical selection like categories and subjects.\r\n * @public\r\n */\r\n// istanbul ignore next\r\nexport class HideIsolateEmphasizeManager extends HideIsolateEmphasizeActionHandler {\r\n // TODO: We need to check the type by going to backend, not by using classnames\r\n private static _categoryClassName = \"BisCore:SpatialCategory\";\r\n private static _subjectClassName = \"BisCore:Subject\";\r\n private static _modelClassName = \"BisCore:PhysicalModel\";\r\n private static _subjectModelIdsCache: SubjectModelIdsCache | undefined = undefined;\r\n private static _overrideCategoryIds = new Map<Viewport, Set<string>>();\r\n private static _overrideModelIds = new Map<Viewport, Set<string>>();\r\n\r\n /**\r\n * Initialize the subject model cache\r\n * @param iModelConnection iModel to use for querying subject's models\r\n */\r\n public static initializeSubjectModelCache(iModelConnection: IModelConnection) {\r\n HideIsolateEmphasizeManager._subjectModelIdsCache = new SubjectModelIdsCache(iModelConnection);\r\n }\r\n\r\n /**\r\n * Returns true if the selection in presentation layer only has a single selection class and it is the given one\r\n * @param className ECClass name to check for\r\n */\r\n private static _checkClassSelected(className: string) {\r\n if (!UiFramework.getIModelConnection())\r\n throw new Error(\"Undefined iModelConnection\");\r\n\r\n const selection = Presentation.selection.getSelection(UiFramework.getIModelConnection()!);\r\n return selection.size === 1 && selection.instanceKeys.has(className);\r\n }\r\n\r\n /**\r\n * Gets the Ids of all elements selected that have the given class name\r\n * @param className ECClass name to check for\r\n */\r\n private static _getIdsOfClassName(className: string) {\r\n if (!UiFramework.getIModelConnection())\r\n throw new Error(\"Undefined iModelConnection\");\r\n\r\n const selection = Presentation.selection.getSelection(UiFramework.getIModelConnection()!);\r\n const ids: string[] = [];\r\n selection.instanceKeys.forEach((currentIds: Set<string>, key: string) => {\r\n if (key === className)\r\n ids.push(...currentIds);\r\n });\r\n return ids;\r\n }\r\n\r\n /** Returns true if there are only categories selected in presentation's logical selection */\r\n private static categorySelected() {\r\n return HideIsolateEmphasizeManager._checkClassSelected(HideIsolateEmphasizeManager._categoryClassName);\r\n }\r\n\r\n /** Returns true if there are only subjects selected in presentation's logical selection */\r\n private static subjectSelected() {\r\n return HideIsolateEmphasizeManager._checkClassSelected(HideIsolateEmphasizeManager._subjectClassName);\r\n }\r\n\r\n /** Returns true if a model is selected in presentation's logical selection */\r\n private static modelSelected() {\r\n return HideIsolateEmphasizeManager._checkClassSelected(HideIsolateEmphasizeManager._modelClassName);\r\n }\r\n\r\n /**\r\n * Hide the selected category found in presentation layer's logical selection\r\n * @param vp Viewport to affect\r\n */\r\n private static hideSelectedCategory(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._categoryClassName);\r\n vp.changeCategoryDisplay(ids, false);\r\n }\r\n\r\n /** Get sub categories that relate to the category Id */\r\n private static async _getSubCategories(iModelConnection: IModelConnection, categoryIds: string[]) {\r\n const allSubcats: string[] = [];\r\n const request = iModelConnection.subcategories.load(categoryIds);\r\n if (request)\r\n await request.promise;\r\n\r\n for (const categoryId of categoryIds) {\r\n const subcats = iModelConnection.subcategories.getSubCategories(categoryId);\r\n if (subcats)\r\n allSubcats.push(...subcats);\r\n }\r\n return allSubcats;\r\n }\r\n\r\n /**\r\n * Emphasize the selected category found in presentation layer's logical selection\r\n * @param vp Viewport to affect\r\n */\r\n public static async emphasizeSelectedCategory(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._categoryClassName);\r\n if (ids.length === 0)\r\n return;\r\n\r\n const defaultAppearance = EmphasizeElements.getOrCreate(vp).createDefaultAppearance();\r\n EmphasizeElements.clear(vp);\r\n const subcats = await HideIsolateEmphasizeManager._getSubCategories(vp.iModel, ids);\r\n vp.addFeatureOverrideProvider(new SubCategoryOverrideProvider(subcats, defaultAppearance));\r\n }\r\n\r\n /**\r\n * Query the model Id that models a subject\r\n * @param subjectId Subject Id to use in query\r\n */\r\n private static async _getModelIds(subjectId: string): Promise<string[]> {\r\n return HideIsolateEmphasizeManager._subjectModelIdsCache!.getSubjectModelIds(subjectId);\r\n }\r\n\r\n /**\r\n * Hide the selected subject's model found in the presentation layer's logical selection\r\n * @param vp Viewport to affect\r\n */\r\n private static async hideSelectedSubject(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._subjectClassName);\r\n if (ids.length === 0)\r\n return;\r\n\r\n const modelIds = await HideIsolateEmphasizeManager._getModelIds(ids[0]);\r\n vp.changeModelDisplay(modelIds, false);\r\n }\r\n\r\n /**\r\n * Isolate the selected subject's model found in the presentation layer's logical selection\r\n * @param vp Viewport to affect\r\n */\r\n private static async emphasizeSelectedSubject(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._subjectClassName);\r\n if (ids.length === 0)\r\n return;\r\n\r\n const modelIds = await HideIsolateEmphasizeManager._getModelIds(ids[0]);\r\n const defaultAppearance = EmphasizeElements.getOrCreate(vp).createDefaultAppearance();\r\n EmphasizeElements.clear(vp);\r\n vp.addFeatureOverrideProvider(new ModelOverrideProvider(modelIds, defaultAppearance));\r\n }\r\n\r\n /**\r\n * Hide the selected model\r\n * @param vp Viewport to affect\r\n */\r\n private static hideSelectedModel(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._modelClassName);\r\n if (ids.length === 0)\r\n return;\r\n\r\n vp.changeModelDisplay(ids, false);\r\n }\r\n\r\n /**\r\n * Isolate the selected model\r\n * @param vp Viewport to affect\r\n */\r\n private static emphasizeSelectedModel(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._modelClassName);\r\n if (ids.length === 0)\r\n return;\r\n\r\n const defaultAppearance = EmphasizeElements.getOrCreate(vp).createDefaultAppearance();\r\n EmphasizeElements.clear(vp);\r\n vp.addFeatureOverrideProvider(new ModelOverrideProvider(ids, defaultAppearance));\r\n }\r\n\r\n /**\r\n * Isolate the selected elements\r\n * @param vp Viewport to affect\r\n */\r\n public static isolateSelected(vp: Viewport) {\r\n EmphasizeElements.getOrCreate(vp).isolateSelectedElements(vp, true, false); // Isolate selected elements\r\n }\r\n\r\n /**\r\n * Hide the selected elements\r\n * @param vp Viewport to affect\r\n */\r\n public static hideSelected(vp: Viewport) {\r\n EmphasizeElements.getOrCreate(vp).hideSelectedElements(vp, false, false); // Hide all selected elements\r\n }\r\n\r\n /**\r\n * Clear Hidden,Isolated, or Emphasized elements in specified view\r\n * @param vp Viewport to affect\r\n *\r\n */\r\n public static clearEmphasize(vp: Viewport | undefined) {\r\n if (vp) {\r\n EmphasizeElements.clear(vp);\r\n }\r\n }\r\n\r\n /**\r\n * Emphasize the selected elements from either presentation layer's logical selection or selected graphics\r\n * @param vp Viewport to affect\r\n * @param emphasisSilhouette defaults to true\r\n */\r\n public static async emphasizeSelected(vp: Viewport, emphasisSilhouette = true) {\r\n if (HideIsolateEmphasizeManager.categorySelected()) {\r\n await HideIsolateEmphasizeManager.emphasizeSelectedCategory(vp);\r\n return;\r\n } else if (HideIsolateEmphasizeManager.modelSelected()) {\r\n HideIsolateEmphasizeManager.emphasizeSelectedModel(vp);\r\n return;\r\n } else if (HideIsolateEmphasizeManager.subjectSelected()) {\r\n await HideIsolateEmphasizeManager.emphasizeSelectedSubject(vp);\r\n return;\r\n }\r\n\r\n const ee = EmphasizeElements.getOrCreate(vp);\r\n ee.wantEmphasis = emphasisSilhouette;\r\n\r\n ee.emphasizeSelectedElements(vp, undefined, true, false); // Emphasize elements by making all others grey/transparent\r\n vp.isFadeOutActive = true; // Enable flat alpha for greyed out elements…\r\n }\r\n\r\n /**\r\n * Isolate the selected subject's model found in the presentation layer's logical selection\r\n * @param vp Viewport to affect\r\n */\r\n public static async isolateSelectedSubject(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._subjectClassName);\r\n if (ids.length === 0)\r\n return;\r\n\r\n const modelIds = await HideIsolateEmphasizeManager._getModelIds(ids[0]);\r\n await vp.replaceViewedModels(modelIds);\r\n }\r\n\r\n /**\r\n * Isolate the selected model\r\n * @param vp Viewport to affect\r\n */\r\n public static async isolateSelectedModel(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._modelClassName);\r\n if (ids.length === 0)\r\n return;\r\n\r\n await vp.replaceViewedModels(ids);\r\n }\r\n\r\n /**\r\n * Isolate the selected category found in presentation layer's logical selection\r\n * @param vp Viewport to affect\r\n */\r\n private static isolateSelectedCategory(vp: Viewport) {\r\n const ids = new Set(HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._categoryClassName));\r\n const categoriesToDrop: string[] = [];\r\n vp.view.categorySelector.categories.forEach((categoryId: string) => {\r\n if (!ids.has(categoryId))\r\n categoriesToDrop.push(categoryId);\r\n });\r\n vp.changeCategoryDisplay(categoriesToDrop, false);\r\n vp.changeCategoryDisplay(ids, true);\r\n }\r\n\r\n private static async getSelectionSetElementModels(iModel: IModelConnection) {\r\n const props = await iModel.elements.getProps(iModel.selectionSet.elements);\r\n const modelIds = new Set<string>();\r\n for (const prop of props)\r\n if (prop.model)\r\n modelIds.add(prop.model);\r\n return modelIds;\r\n }\r\n\r\n private static async getSelectionSetElementCategories(iModel: IModelConnection) {\r\n const props = (await iModel.elements.getProps(iModel.selectionSet.elements)) as GeometricElementProps[];\r\n const categoryIds = new Set<string>();\r\n for (const prop of props)\r\n if (prop.category)\r\n categoryIds.add(prop.category);\r\n return categoryIds;\r\n }\r\n\r\n /**\r\n * Isolate either based on Presentation selection, if defined, else the selected graphic elements\r\n * @param vp Viewport to affect\r\n */\r\n public static async isolateCommand(vp: Viewport) {\r\n if (HideIsolateEmphasizeManager.categorySelected()) {\r\n HideIsolateEmphasizeManager.isolateSelectedCategory(vp);\r\n return;\r\n } else if (HideIsolateEmphasizeManager.modelSelected()) {\r\n await HideIsolateEmphasizeManager.isolateSelectedModel(vp);\r\n return;\r\n } else if (HideIsolateEmphasizeManager.subjectSelected()) {\r\n await HideIsolateEmphasizeManager.isolateSelectedSubject(vp);\r\n return;\r\n }\r\n }\r\n\r\n /**\r\n * Isolate model from selected elements\r\n * @param vp Viewport to affect\r\n */\r\n public static async isolateSelectedElementsModel(vp: Viewport) {\r\n const modelsToKeep = new Set(await HideIsolateEmphasizeManager.getSelectionSetElementModels(vp.iModel));\r\n\r\n if (vp.view.isSpatialView()) {\r\n const modelsToTurnOff = [...vp.view.modelSelector.models].filter((modelId: string) => !modelsToKeep.has(modelId));\r\n this.updateModelOverride(vp, modelsToTurnOff);\r\n }\r\n\r\n await vp.replaceViewedModels(modelsToKeep);\r\n }\r\n\r\n /**\r\n * Isolate the selected category found in SelectionSet elements\r\n * @param vp Viewport to affect\r\n */\r\n public static async isolateSelectedElementsCategory(vp: Viewport) {\r\n const categoriesToKeep = new Set(await HideIsolateEmphasizeManager.getSelectionSetElementCategories(vp.iModel));\r\n const categoriesToTurnOff = [...vp.view.categorySelector.categories].filter((categoryId: string) => !categoriesToKeep.has(categoryId));\r\n vp.changeCategoryDisplay(categoriesToTurnOff, false);\r\n vp.changeCategoryDisplay(categoriesToKeep, true);\r\n this.updateCategoryOverride(vp, categoriesToTurnOff);\r\n }\r\n\r\n /**\r\n * Hide either based on Presentation selection, if defined, else the selected graphic elements\r\n * @param vp Viewport to affect\r\n */\r\n public static async hideCommand(vp: Viewport) {\r\n if (HideIsolateEmphasizeManager.categorySelected()) {\r\n HideIsolateEmphasizeManager.hideSelectedCategory(vp);\r\n return;\r\n } else if (HideIsolateEmphasizeManager.modelSelected()) {\r\n HideIsolateEmphasizeManager.hideSelectedModel(vp);\r\n return;\r\n } else if (HideIsolateEmphasizeManager.subjectSelected()) {\r\n await HideIsolateEmphasizeManager.hideSelectedSubject(vp);\r\n return;\r\n }\r\n EmphasizeElements.getOrCreate(vp).hideSelectedElements(vp, false, false); // Hide selected elements\r\n }\r\n\r\n /**\r\n * Hide the models defined by the elements in the current SelectionSet\r\n * @param vp Viewport to affect\r\n */\r\n public static async hideSelectedElementsModel(vp: Viewport) {\r\n const modelIds = await HideIsolateEmphasizeManager.getSelectionSetElementModels(vp.iModel);\r\n vp.changeModelDisplay(modelIds, false);\r\n this.updateModelOverride(vp, [...modelIds]);\r\n }\r\n\r\n /**\r\n * Clear (restore) the previously hidden/isolated models hidden by hideSelectedElementsModel\r\n * @param vp Viewport to affect\r\n */\r\n public static clearOverrideModels(vp: Viewport) {\r\n const ids = this._overrideModelIds.get(vp);\r\n if (ids) {\r\n vp.changeModelDisplay([...ids], true);\r\n this.clearModelOverride(vp);\r\n }\r\n }\r\n\r\n /**\r\n * Determine if models are hidden by hideSelectedElementsModel or isolateSelectedElementsModel\r\n * @param vp Viewport to affect\r\n */\r\n public static isOverrideModels(vp: Viewport): boolean {\r\n const ids = this._overrideModelIds.get(vp);\r\n return (ids) ? [...ids].length > 0 : false;\r\n }\r\n\r\n /**\r\n * Determine if categories are hidden by hideSelectedElementsCategory or isolateSelectedElementsCategory\r\n * @param vp Viewport to affect\r\n */\r\n public static isOverrideCategories(vp: Viewport): boolean {\r\n const ids = this._overrideCategoryIds.get(vp);\r\n return (ids) ? [...ids].length > 0 : false;\r\n }\r\n\r\n /**\r\n * Hide the categories defined by the elements in the current SelectionSet\r\n * @param vp Viewport to affect\r\n */\r\n public static async hideSelectedElementsCategory(vp: Viewport) {\r\n const categoryIds = await HideIsolateEmphasizeManager.getSelectionSetElementCategories(vp.iModel);\r\n vp.changeCategoryDisplay(categoryIds, false);\r\n this.updateCategoryOverride(vp, [...categoryIds]);\r\n }\r\n\r\n /**\r\n * Clear (restore) the previously hidden categories hidden by hideSelectedElementsCategory\r\n * @param vp Viewport to affect\r\n */\r\n public static clearOverrideCategories(vp: Viewport) {\r\n const ids = this._overrideCategoryIds.get(vp);\r\n if (ids) {\r\n vp.changeCategoryDisplay([...ids], true);\r\n this.clearCategoryOverride(vp);\r\n }\r\n }\r\n\r\n /** Checks to see if any featureOverrideProviders are active */\r\n public areFeatureOverridesActive(vp: Viewport): boolean {\r\n // Check all the emphasize possibilities\r\n const emphasizeElementsProvider = vp.findFeatureOverrideProviderOfType<EmphasizeElements>(EmphasizeElements);\r\n if (undefined !== emphasizeElementsProvider && emphasizeElementsProvider.isActive)\r\n return true;\r\n\r\n const modelOverrideProvider = vp.findFeatureOverrideProviderOfType<ModelOverrideProvider>(ModelOverrideProvider);\r\n if (undefined !== modelOverrideProvider && modelOverrideProvider.modelIds.length > 0)\r\n return true;\r\n\r\n const subCategoryOverrideProvider = vp.findFeatureOverrideProviderOfType<SubCategoryOverrideProvider>(SubCategoryOverrideProvider);\r\n if (undefined !== subCategoryOverrideProvider && subCategoryOverrideProvider.subCategoryIds.length > 0)\r\n return true;\r\n\r\n // Check hide/isolate possibilities\r\n if (HideIsolateEmphasizeManager.isOverrideCategories(vp))\r\n return true;\r\n\r\n if (HideIsolateEmphasizeManager.isOverrideModels(vp))\r\n return true;\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Function that is run when `IsolateSelectedElementsModel` tool button is pressed\r\n */\r\n public async processIsolateSelectedElementsModel(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n\r\n await HideIsolateEmphasizeManager.isolateSelectedElementsModel(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.IsolateSelectedModels });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.IsolateSelectedModels, featureIdMap.get(HideIsolateEmphasizeAction.IsolateSelectedModels)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n }\r\n\r\n /**\r\n * Function that is run when `IsolateSelectedElementsCategory` tool button is pressed\r\n */\r\n public async processIsolateSelectedElementsCategory(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n\r\n await HideIsolateEmphasizeManager.isolateSelectedElementsCategory(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.IsolateSelectedCategories });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.IsolateSelectedCategories, featureIdMap.get(HideIsolateEmphasizeAction.IsolateSelectedCategories)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n }\r\n\r\n /**\r\n * Function that is run when `IsolateSelected` tool button is pressed\r\n */\r\n public async processIsolateSelected(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n HideIsolateEmphasizeManager.isolateSelected(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.IsolateSelectedElements });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.IsolateSelectedElements, featureIdMap.get(HideIsolateEmphasizeAction.IsolateSelectedElements)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n\r\n // clear out selection now that any callbacks have processed\r\n const selection = vp.view.iModel.selectionSet;\r\n if (selection.isActive)\r\n selection.emptyAll();\r\n }\r\n\r\n /**\r\n * Function that is run when `HideSelectedElementsModel` tool button is pressed\r\n */\r\n public async processHideSelectedElementsModel(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n\r\n await HideIsolateEmphasizeManager.hideSelectedElementsModel(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.HideSelectedModels });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.HideSelectedModels, featureIdMap.get(HideIsolateEmphasizeAction.HideSelectedModels)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n }\r\n\r\n /**\r\n * Function that is run when `HideSelectedElementsCategory` tool button is pressed\r\n */\r\n public async processHideSelectedElementsCategory(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n\r\n await HideIsolateEmphasizeManager.hideSelectedElementsCategory(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.HideSelectedCategories });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.HideSelectedCategories, featureIdMap.get(HideIsolateEmphasizeAction.HideSelectedCategories)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n }\r\n\r\n /**\r\n * Function that is run when `HideSelected` tool button is pressed\r\n */\r\n public async processHideSelected(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n\r\n HideIsolateEmphasizeManager.hideSelected(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.HideSelectedElements });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.HideSelectedCategories, featureIdMap.get(HideIsolateEmphasizeAction.HideSelectedElements)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n\r\n // clear out selection now that any callbacks have processed\r\n const selection = vp.view.iModel.selectionSet;\r\n if (selection.isActive)\r\n selection.emptyAll();\r\n }\r\n\r\n /**\r\n * Function that is run when `EmphasizeSelected` tool button is pressed\r\n */\r\n public async processEmphasizeSelected(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n\r\n await HideIsolateEmphasizeManager.emphasizeSelected(vp);\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.EmphasizeSelectedElements });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.EmphasizeSelectedElements, featureIdMap.get(HideIsolateEmphasizeAction.EmphasizeSelectedElements)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n\r\n // clear out selection now that any callbacks have processed\r\n const selection = vp.view.iModel.selectionSet;\r\n if (selection.isActive)\r\n selection.emptyAll();\r\n }\r\n\r\n /**\r\n * Function that is run when `ClearEmphasize` tool button is pressed\r\n */\r\n public async processClearEmphasize(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n HideIsolateEmphasizeManager.clearEmphasize(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.ClearHiddenIsolatedEmphasized });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.ClearHiddenIsolatedEmphasized, featureIdMap.get(HideIsolateEmphasizeAction.ClearHiddenIsolatedEmphasized)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n }\r\n\r\n /**\r\n * Function that is run when `ClearOverrideModels` tool button is pressed\r\n */\r\n public async processClearOverrideModels(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n HideIsolateEmphasizeManager.clearOverrideModels(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.ClearOverrideModels });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.ClearOverrideModels, featureIdMap.get(HideIsolateEmphasizeAction.ClearOverrideModels)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n }\r\n\r\n /**\r\n * Function that is run when `ClearOverrideCategories` tool button is pressed\r\n */\r\n public async processClearOverrideCategories(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n HideIsolateEmphasizeManager.clearOverrideCategories(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.ClearOverrideCategories });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.ClearOverrideCategories, featureIdMap.get(HideIsolateEmphasizeAction.ClearOverrideCategories)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n }\r\n\r\n /**\r\n * Add category ids to the category override cache (hidden or isolated categories)\r\n */\r\n public static updateCategoryOverride(vp: Viewport, ids: string[]) {\r\n const prevIds = this._overrideCategoryIds.get(vp);\r\n const newIds = [...(prevIds || []), ...ids];\r\n this._overrideCategoryIds.set(vp, new Set(newIds));\r\n }\r\n\r\n /**\r\n * Add model ids to the model override cache (hidden or isolated models)\r\n */\r\n public static updateModelOverride(vp: Viewport, ids: string[]) {\r\n const prevIds = this._overrideModelIds.get(vp);\r\n const newIds = [...(prevIds || []), ...ids];\r\n this._overrideModelIds.set(vp, new Set(newIds));\r\n }\r\n\r\n /**\r\n * Return the list of category overrides (hidden or isolated categories)\r\n */\r\n public static getCategoryOverrides(vp: Viewport) {\r\n return this._overrideCategoryIds.get(vp);\r\n }\r\n\r\n /**\r\n * Return the list of model overrides (hidden or isolated models)\r\n */\r\n public static getModelOverrides(vp: Viewport) {\r\n return this._overrideModelIds.get(vp);\r\n }\r\n\r\n /**\r\n * Clear the category override cache (hidden or isolated categories)\r\n */\r\n private static clearCategoryOverride(vp: Viewport) {\r\n this._overrideCategoryIds.delete(vp);\r\n }\r\n\r\n /**\r\n * Clear the model override cache (hidden or isolated models)\r\n */\r\n private static clearModelOverride(vp: Viewport) {\r\n this._overrideModelIds.delete(vp);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"HideIsolateEmphasizeManager.js","sourceRoot":"","sources":["../../../../src/appui-react/selection/HideIsolateEmphasizeManager.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 Tools\r\n */\r\n\r\nimport { BeEvent, GuidString, Id64String } from \"@itwin/core-bentley\";\r\nimport { FeatureAppearance, GeometricElementProps } from \"@itwin/core-common\";\r\nimport { EmphasizeElements, FeatureOverrideProvider, FeatureSymbology, IModelApp, IModelConnection, ScreenViewport, Viewport } from \"@itwin/core-frontend\";\r\nimport { Presentation } from \"@itwin/presentation-frontend\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/** Supported Hide, Isolate, and Emphasize Actions. These also serve as FeatureTracking Ids.\r\n * @public\r\n */\r\nexport enum HideIsolateEmphasizeAction {\r\n EmphasizeSelectedElements = \"EmphasizeSelectedElements\",\r\n IsolateSelectedElements = \"IsolateSelectedElements\",\r\n IsolateSelectedCategories = \"IsolateSelectedCategories\",\r\n IsolateSelectedModels = \"IsolateSelectedModels\",\r\n HideSelectedElements = \"HideSelectedElements\",\r\n HideSelectedModels = \"HideSelectedModels\",\r\n HideSelectedCategories = \"HideSelectedCategories\",\r\n ClearHiddenIsolatedEmphasized = \"ClearHiddenIsolatedEmphasized\",\r\n ClearOverrideModels = \"ClearOverrideModels\",\r\n ClearOverrideCategories = \"ClearOverrideCategories\",\r\n}\r\n\r\nconst featureIdMap = new Map<HideIsolateEmphasizeAction, GuidString>([\r\n [HideIsolateEmphasizeAction.EmphasizeSelectedElements, \"d74eb93f-deae-4700-8da6-1013a8a7aa26\"],\r\n [HideIsolateEmphasizeAction.IsolateSelectedElements, \"24327638-1611-45fa-a379-fa73329098ec\"],\r\n [HideIsolateEmphasizeAction.IsolateSelectedCategories, \"e58081ab-2c33-4a15-924f-71082b58ca3b\"],\r\n [HideIsolateEmphasizeAction.IsolateSelectedModels, \"3475921e-7dd1-4547-993e-a3e284ef8b62\"],\r\n [HideIsolateEmphasizeAction.HideSelectedElements, \"2ca673ec-001a-4890-bc25-18bc88358fe0\"],\r\n [HideIsolateEmphasizeAction.HideSelectedModels, \"8b41e859-ae17-4e19-b220-87a5cf9f8242\"],\r\n [HideIsolateEmphasizeAction.HideSelectedCategories, \"c5d6916b-e8d7-4796-bae9-a5303712d46b\"],\r\n [HideIsolateEmphasizeAction.ClearHiddenIsolatedEmphasized, \"7b135c8a-3f3c-4297-b36c-b0ac51f1d8de\"],\r\n [HideIsolateEmphasizeAction.ClearOverrideModels, \"6e519b94-edab-4b13-9ce7-0bcdfa27ccfe\"],\r\n [HideIsolateEmphasizeAction.ClearOverrideCategories, \"9d2be3c6-6992-4c30-84eb-10f6b9379d06\"],\r\n]);\r\n\r\n/** Selection Context Action Event Argument\r\n * @public\r\n */\r\nexport interface EmphasizeElementsChangedArgs {\r\n /** viewport where action was performed */\r\n readonly viewport: ScreenViewport;\r\n /** action being performed */\r\n readonly action: HideIsolateEmphasizeAction;\r\n}\r\n\r\n/** Overrides given models to provide emphasize functionality\r\n * @public\r\n */\r\n// istanbul ignore next\r\nclass ModelOverrideProvider implements FeatureOverrideProvider {\r\n constructor(public modelIds: string[], public defaultAppearance: FeatureAppearance) { }\r\n\r\n public addFeatureOverrides(overrides: FeatureSymbology.Overrides, _viewport: Viewport): void {\r\n overrides.setDefaultOverrides(this.defaultAppearance, true);\r\n // Override with nothing so that we keep the model looking normal and override the default appearance of everything else\r\n const appearance = FeatureAppearance.fromJSON({});\r\n this.modelIds.forEach((modelId: string) => {\r\n overrides.override({ modelId, appearance, onConflict: \"replace\" });\r\n });\r\n }\r\n}\r\n\r\n/** Overrides given categories to provide emphasize functionality\r\n * @public\r\n */\r\n// istanbul ignore next\r\nclass SubCategoryOverrideProvider implements FeatureOverrideProvider {\r\n constructor(public subCategoryIds: string[], public defaultAppearance: FeatureAppearance) { }\r\n\r\n public addFeatureOverrides(overrides: FeatureSymbology.Overrides, _viewport: Viewport): void {\r\n overrides.setDefaultOverrides(this.defaultAppearance, true);\r\n // Override with nothing so that we keep the category looking normal and override the default appearance of everything else\r\n const appearance = FeatureAppearance.fromJSON({});\r\n this.subCategoryIds.forEach((subCategoryId: string) => {\r\n overrides.override({ subCategoryId, appearance, onConflict: \"replace\" });\r\n });\r\n }\r\n}\r\n\r\n/** Cache of Models that are inside of subjects */\r\n// istanbul ignore next\r\nclass SubjectModelIdsCache {\r\n private _imodel: IModelConnection;\r\n private _subjectsHierarchy: Map<Id64String, Id64String[]> | undefined;\r\n private _subjectModels: Map<Id64String, Id64String[]> | undefined;\r\n private _init: Promise<void> | undefined;\r\n\r\n constructor(imodel: IModelConnection) {\r\n this._imodel = imodel;\r\n }\r\n\r\n private async initSubjectsHierarchy() {\r\n this._subjectsHierarchy = new Map();\r\n const ecsql = `SELECT ECInstanceId id, Parent.Id parentId FROM bis.Subject WHERE Parent IS NOT NULL`;\r\n const result = this._imodel.query(ecsql, undefined, { limit: { count: 1000 } });\r\n for await (const row of result) {\r\n let list = this._subjectsHierarchy.get(row.parentId);\r\n if (!list) {\r\n list = [];\r\n this._subjectsHierarchy.set(row.parentId, list);\r\n }\r\n list.push(row.id);\r\n }\r\n }\r\n\r\n private async initSubjectModels() {\r\n this._subjectModels = new Map();\r\n const ecsql = `SELECT p.ECInstanceId id, p.Parent.Id subjectId FROM bis.InformationPartitionElement p JOIN bis.Model m ON m.ModeledElement.Id = p.ECInstanceId`;\r\n const result = this._imodel.query(ecsql, undefined, { limit: { count: 1000 } });\r\n for await (const row of result) {\r\n let list = this._subjectModels.get(row.subjectId);\r\n if (!list) {\r\n list = [];\r\n this._subjectModels.set(row.subjectId, list);\r\n }\r\n list.push(row.id);\r\n }\r\n }\r\n\r\n private async initCache() {\r\n if (!this._init) {\r\n this._init = Promise.all([this.initSubjectModels(), this.initSubjectsHierarchy()]).then(() => { });\r\n }\r\n return this._init;\r\n }\r\n\r\n private appendSubjectModelsRecursively(modelIds: Id64String[], subjectId: Id64String) {\r\n const subjectModelIds = this._subjectModels!.get(subjectId);\r\n if (subjectModelIds)\r\n modelIds.push(...subjectModelIds);\r\n\r\n const childSubjectIds = this._subjectsHierarchy!.get(subjectId);\r\n if (childSubjectIds)\r\n childSubjectIds.forEach((cs) => this.appendSubjectModelsRecursively(modelIds, cs));\r\n }\r\n\r\n public async getSubjectModelIds(subjectId: Id64String): Promise<Id64String[]> {\r\n await this.initCache();\r\n const modelIds = new Array<Id64String>();\r\n this.appendSubjectModelsRecursively(modelIds, subjectId);\r\n return modelIds;\r\n }\r\n}\r\n\r\n/**\r\n * Interface for class that handles Hide, Isolate, and Emphasize Actions\r\n * @public\r\n */\r\nexport abstract class HideIsolateEmphasizeActionHandler {\r\n public static emphasizeElementsChanged = new BeEvent<(args: EmphasizeElementsChangedArgs) => void>();\r\n\r\n /** String Id sent to allow UI to refresh its display state. */\r\n public static get hideIsolateEmphasizeUiSyncId() {\r\n return \"selection-context-emphasize-elements-changed\";\r\n }\r\n\r\n /**\r\n * Function run when `IsolateSelectedElementsModel` tool button is pressed\r\n */\r\n public abstract processIsolateSelectedElementsModel(): Promise<void>;\r\n /**\r\n * Function run when `IsolateSelectedElementsModel` tool button is pressed\r\n */\r\n\r\n public abstract processIsolateSelectedElementsCategory(): Promise<void>;\r\n\r\n /**\r\n * Function run when `HideSelectedElementsModel` tool button is pressed\r\n */\r\n public abstract processIsolateSelected(): Promise<void>;\r\n\r\n /**\r\n * Function run when `HideSelectedElementsModel` tool button is pressed\r\n */\r\n public abstract processHideSelectedElementsModel(): Promise<void>;\r\n\r\n /**\r\n * Function that is run when `HideSelectedElementsCategory` tool button is pressed\r\n */\r\n public abstract processHideSelectedElementsCategory(): Promise<void>;\r\n\r\n /**\r\n * Function that is run when `HideSelected` tool button is pressed\r\n */\r\n public abstract processHideSelected(): Promise<void>;\r\n\r\n /**\r\n * Function that is run when `EmphasizeSelected` tool button is pressed\r\n */\r\n public abstract processEmphasizeSelected(): Promise<void>;\r\n\r\n /**\r\n * Function that is run when `ClearEmphasize` tool button is pressed\r\n */\r\n public abstract processClearEmphasize(): Promise<void>;\r\n\r\n /**\r\n * Function that informs called if Hide, Isolate, or Emphasize of elements is active.\r\n */\r\n public abstract areFeatureOverridesActive(vp: Viewport): boolean;\r\n\r\n /**\r\n * Function run when `ClearOverrideCategories` tool button is pressed\r\n */\r\n public abstract processClearOverrideCategories(): Promise<void>;\r\n\r\n /**\r\n * Function run when `ClearOverrideModels` tool button is pressed\r\n */\r\n public abstract processClearOverrideModels(): Promise<void>;\r\n}\r\n\r\n/** Provides helper functions for doing commands on logical selection like categories and subjects.\r\n * @public\r\n */\r\n// istanbul ignore next\r\nexport class HideIsolateEmphasizeManager extends HideIsolateEmphasizeActionHandler {\r\n // TODO: We need to check the type by going to backend, not by using classnames\r\n private static _categoryClassName = \"BisCore:SpatialCategory\";\r\n private static _subjectClassName = \"BisCore:Subject\";\r\n private static _modelClassName = \"BisCore:PhysicalModel\";\r\n private static _subjectModelIdsCache: SubjectModelIdsCache | undefined = undefined;\r\n private static _overrideCategoryIds = new Map<Viewport, Set<string>>();\r\n private static _overrideModelIds = new Map<Viewport, Set<string>>();\r\n\r\n /**\r\n * Initialize the subject model cache\r\n * @param iModelConnection iModel to use for querying subject's models\r\n */\r\n public static initializeSubjectModelCache(iModelConnection: IModelConnection) {\r\n HideIsolateEmphasizeManager._subjectModelIdsCache = new SubjectModelIdsCache(iModelConnection);\r\n }\r\n\r\n /**\r\n * Returns true if the selection in presentation layer only has a single selection class and it is the given one\r\n * @param className ECClass name to check for\r\n */\r\n private static _checkClassSelected(className: string) {\r\n if (!UiFramework.getIModelConnection())\r\n throw new Error(\"Undefined iModelConnection\");\r\n\r\n const selection = Presentation.selection.getSelection(UiFramework.getIModelConnection()!);\r\n return selection.size === 1 && selection.instanceKeys.has(className);\r\n }\r\n\r\n /**\r\n * Gets the Ids of all elements selected that have the given class name\r\n * @param className ECClass name to check for\r\n */\r\n private static _getIdsOfClassName(className: string) {\r\n if (!UiFramework.getIModelConnection())\r\n throw new Error(\"Undefined iModelConnection\");\r\n\r\n const selection = Presentation.selection.getSelection(UiFramework.getIModelConnection()!);\r\n const ids: string[] = [];\r\n selection.instanceKeys.forEach((currentIds: Set<string>, key: string) => {\r\n if (key === className)\r\n ids.push(...currentIds);\r\n });\r\n return ids;\r\n }\r\n\r\n /** Returns true if there are only categories selected in presentation's logical selection */\r\n private static categorySelected() {\r\n return HideIsolateEmphasizeManager._checkClassSelected(HideIsolateEmphasizeManager._categoryClassName);\r\n }\r\n\r\n /** Returns true if there are only subjects selected in presentation's logical selection */\r\n private static subjectSelected() {\r\n return HideIsolateEmphasizeManager._checkClassSelected(HideIsolateEmphasizeManager._subjectClassName);\r\n }\r\n\r\n /** Returns true if a model is selected in presentation's logical selection */\r\n private static modelSelected() {\r\n return HideIsolateEmphasizeManager._checkClassSelected(HideIsolateEmphasizeManager._modelClassName);\r\n }\r\n\r\n /**\r\n * Hide the selected category found in presentation layer's logical selection\r\n * @param vp Viewport to affect\r\n */\r\n private static hideSelectedCategory(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._categoryClassName);\r\n vp.changeCategoryDisplay(ids, false);\r\n }\r\n\r\n /** Get sub categories that relate to the category Id */\r\n private static async _getSubCategories(iModelConnection: IModelConnection, categoryIds: string[]) {\r\n const allSubcats: string[] = [];\r\n const request = iModelConnection.subcategories.load(categoryIds);\r\n if (request)\r\n await request.promise;\r\n\r\n for (const categoryId of categoryIds) {\r\n const subcats = iModelConnection.subcategories.getSubCategories(categoryId);\r\n if (subcats)\r\n allSubcats.push(...subcats);\r\n }\r\n return allSubcats;\r\n }\r\n\r\n /**\r\n * Emphasize the selected category found in presentation layer's logical selection\r\n * @param vp Viewport to affect\r\n */\r\n public static async emphasizeSelectedCategory(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._categoryClassName);\r\n if (ids.length === 0)\r\n return;\r\n\r\n const defaultAppearance = EmphasizeElements.getOrCreate(vp).createDefaultAppearance();\r\n EmphasizeElements.clear(vp);\r\n const subcats = await HideIsolateEmphasizeManager._getSubCategories(vp.iModel, ids);\r\n vp.addFeatureOverrideProvider(new SubCategoryOverrideProvider(subcats, defaultAppearance));\r\n }\r\n\r\n /**\r\n * Query the model Id that models a subject\r\n * @param subjectId Subject Id to use in query\r\n */\r\n private static async _getModelIds(subjectId: string): Promise<string[]> {\r\n return HideIsolateEmphasizeManager._subjectModelIdsCache!.getSubjectModelIds(subjectId);\r\n }\r\n\r\n /**\r\n * Hide the selected subject's model found in the presentation layer's logical selection\r\n * @param vp Viewport to affect\r\n */\r\n private static async hideSelectedSubject(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._subjectClassName);\r\n if (ids.length === 0)\r\n return;\r\n\r\n const modelIds = await HideIsolateEmphasizeManager._getModelIds(ids[0]);\r\n vp.changeModelDisplay(modelIds, false);\r\n }\r\n\r\n /**\r\n * Isolate the selected subject's model found in the presentation layer's logical selection\r\n * @param vp Viewport to affect\r\n */\r\n private static async emphasizeSelectedSubject(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._subjectClassName);\r\n if (ids.length === 0)\r\n return;\r\n\r\n const modelIds = await HideIsolateEmphasizeManager._getModelIds(ids[0]);\r\n const defaultAppearance = EmphasizeElements.getOrCreate(vp).createDefaultAppearance();\r\n EmphasizeElements.clear(vp);\r\n vp.addFeatureOverrideProvider(new ModelOverrideProvider(modelIds, defaultAppearance));\r\n }\r\n\r\n /**\r\n * Hide the selected model\r\n * @param vp Viewport to affect\r\n */\r\n private static hideSelectedModel(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._modelClassName);\r\n if (ids.length === 0)\r\n return;\r\n\r\n vp.changeModelDisplay(ids, false);\r\n }\r\n\r\n /**\r\n * Isolate the selected model\r\n * @param vp Viewport to affect\r\n */\r\n private static emphasizeSelectedModel(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._modelClassName);\r\n if (ids.length === 0)\r\n return;\r\n\r\n const defaultAppearance = EmphasizeElements.getOrCreate(vp).createDefaultAppearance();\r\n EmphasizeElements.clear(vp);\r\n vp.addFeatureOverrideProvider(new ModelOverrideProvider(ids, defaultAppearance));\r\n }\r\n\r\n /**\r\n * Isolate the selected elements\r\n * @param vp Viewport to affect\r\n */\r\n public static isolateSelected(vp: Viewport) {\r\n EmphasizeElements.getOrCreate(vp).isolateSelectedElements(vp, true, false); // Isolate selected elements\r\n }\r\n\r\n /**\r\n * Hide the selected elements\r\n * @param vp Viewport to affect\r\n */\r\n public static hideSelected(vp: Viewport) {\r\n EmphasizeElements.getOrCreate(vp).hideSelectedElements(vp, false, false); // Hide all selected elements\r\n }\r\n\r\n /**\r\n * Clear Hidden,Isolated, or Emphasized elements in specified view\r\n * @param vp Viewport to affect\r\n *\r\n */\r\n public static clearEmphasize(vp: Viewport | undefined) {\r\n if (vp) {\r\n EmphasizeElements.clear(vp);\r\n }\r\n }\r\n\r\n /**\r\n * Emphasize the selected elements from either presentation layer's logical selection or selected graphics\r\n * @param vp Viewport to affect\r\n * @param emphasisSilhouette defaults to true\r\n */\r\n public static async emphasizeSelected(vp: Viewport, emphasisSilhouette = true) {\r\n if (HideIsolateEmphasizeManager.categorySelected()) {\r\n await HideIsolateEmphasizeManager.emphasizeSelectedCategory(vp);\r\n return;\r\n } else if (HideIsolateEmphasizeManager.modelSelected()) {\r\n HideIsolateEmphasizeManager.emphasizeSelectedModel(vp);\r\n return;\r\n } else if (HideIsolateEmphasizeManager.subjectSelected()) {\r\n await HideIsolateEmphasizeManager.emphasizeSelectedSubject(vp);\r\n return;\r\n }\r\n\r\n const ee = EmphasizeElements.getOrCreate(vp);\r\n ee.wantEmphasis = emphasisSilhouette;\r\n\r\n ee.emphasizeSelectedElements(vp, undefined, true, false); // Emphasize elements by making all others grey/transparent\r\n vp.isFadeOutActive = true; // Enable flat alpha for greyed out elements…\r\n }\r\n\r\n /**\r\n * Isolate the selected subject's model found in the presentation layer's logical selection\r\n * @param vp Viewport to affect\r\n */\r\n public static async isolateSelectedSubject(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._subjectClassName);\r\n if (ids.length === 0)\r\n return;\r\n\r\n const modelIds = await HideIsolateEmphasizeManager._getModelIds(ids[0]);\r\n await vp.replaceViewedModels(modelIds);\r\n }\r\n\r\n /**\r\n * Isolate the selected model\r\n * @param vp Viewport to affect\r\n */\r\n public static async isolateSelectedModel(vp: Viewport) {\r\n const ids = HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._modelClassName);\r\n if (ids.length === 0)\r\n return;\r\n\r\n await vp.replaceViewedModels(ids);\r\n }\r\n\r\n /**\r\n * Isolate the selected category found in presentation layer's logical selection\r\n * @param vp Viewport to affect\r\n */\r\n private static isolateSelectedCategory(vp: Viewport) {\r\n const ids = new Set(HideIsolateEmphasizeManager._getIdsOfClassName(HideIsolateEmphasizeManager._categoryClassName));\r\n const categoriesToDrop: string[] = [];\r\n vp.view.categorySelector.categories.forEach((categoryId: string) => {\r\n if (!ids.has(categoryId))\r\n categoriesToDrop.push(categoryId);\r\n });\r\n vp.changeCategoryDisplay(categoriesToDrop, false);\r\n vp.changeCategoryDisplay(ids, true);\r\n }\r\n\r\n private static async getSelectionSetElementModels(iModel: IModelConnection) {\r\n const props = await iModel.elements.getProps(iModel.selectionSet.elements);\r\n const modelIds = new Set<string>();\r\n for (const prop of props)\r\n if (prop.model)\r\n modelIds.add(prop.model);\r\n return modelIds;\r\n }\r\n\r\n private static async getSelectionSetElementCategories(iModel: IModelConnection) {\r\n const props = (await iModel.elements.getProps(iModel.selectionSet.elements)) as GeometricElementProps[];\r\n const categoryIds = new Set<string>();\r\n for (const prop of props)\r\n if (prop.category)\r\n categoryIds.add(prop.category);\r\n return categoryIds;\r\n }\r\n\r\n /**\r\n * Isolate either based on Presentation selection, if defined, else the selected graphic elements\r\n * @param vp Viewport to affect\r\n */\r\n public static async isolateCommand(vp: Viewport) {\r\n if (HideIsolateEmphasizeManager.categorySelected()) {\r\n HideIsolateEmphasizeManager.isolateSelectedCategory(vp);\r\n return;\r\n } else if (HideIsolateEmphasizeManager.modelSelected()) {\r\n await HideIsolateEmphasizeManager.isolateSelectedModel(vp);\r\n return;\r\n } else if (HideIsolateEmphasizeManager.subjectSelected()) {\r\n await HideIsolateEmphasizeManager.isolateSelectedSubject(vp);\r\n return;\r\n }\r\n }\r\n\r\n /**\r\n * Isolate model from selected elements\r\n * @param vp Viewport to affect\r\n */\r\n public static async isolateSelectedElementsModel(vp: Viewport) {\r\n const modelsToKeep = new Set(await HideIsolateEmphasizeManager.getSelectionSetElementModels(vp.iModel));\r\n\r\n if (vp.view.isSpatialView()) {\r\n const modelsToTurnOff = [...vp.view.modelSelector.models].filter((modelId: string) => !modelsToKeep.has(modelId));\r\n this.updateModelOverride(vp, modelsToTurnOff);\r\n }\r\n\r\n await vp.replaceViewedModels(modelsToKeep);\r\n }\r\n\r\n /**\r\n * Isolate the selected category found in SelectionSet elements\r\n * @param vp Viewport to affect\r\n */\r\n public static async isolateSelectedElementsCategory(vp: Viewport) {\r\n const categoriesToKeep = new Set(await HideIsolateEmphasizeManager.getSelectionSetElementCategories(vp.iModel));\r\n const categoriesToTurnOff = [...vp.view.categorySelector.categories].filter((categoryId: string) => !categoriesToKeep.has(categoryId));\r\n vp.changeCategoryDisplay(categoriesToTurnOff, false);\r\n vp.changeCategoryDisplay(categoriesToKeep, true);\r\n this.updateCategoryOverride(vp, categoriesToTurnOff);\r\n }\r\n\r\n /**\r\n * Hide either based on Presentation selection, if defined, else the selected graphic elements\r\n * @param vp Viewport to affect\r\n */\r\n public static async hideCommand(vp: Viewport) {\r\n if (HideIsolateEmphasizeManager.categorySelected()) {\r\n HideIsolateEmphasizeManager.hideSelectedCategory(vp);\r\n return;\r\n } else if (HideIsolateEmphasizeManager.modelSelected()) {\r\n HideIsolateEmphasizeManager.hideSelectedModel(vp);\r\n return;\r\n } else if (HideIsolateEmphasizeManager.subjectSelected()) {\r\n await HideIsolateEmphasizeManager.hideSelectedSubject(vp);\r\n return;\r\n }\r\n EmphasizeElements.getOrCreate(vp).hideSelectedElements(vp, false, false); // Hide selected elements\r\n }\r\n\r\n /**\r\n * Hide the models defined by the elements in the current SelectionSet\r\n * @param vp Viewport to affect\r\n */\r\n public static async hideSelectedElementsModel(vp: Viewport) {\r\n const modelIds = await HideIsolateEmphasizeManager.getSelectionSetElementModels(vp.iModel);\r\n vp.changeModelDisplay(modelIds, false);\r\n this.updateModelOverride(vp, [...modelIds]);\r\n }\r\n\r\n /**\r\n * Clear (restore) the previously hidden/isolated models hidden by hideSelectedElementsModel\r\n * @param vp Viewport to affect\r\n */\r\n public static clearOverrideModels(vp: Viewport) {\r\n const ids = this._overrideModelIds.get(vp);\r\n if (ids) {\r\n vp.changeModelDisplay([...ids], true);\r\n this.clearModelOverride(vp);\r\n }\r\n }\r\n\r\n /**\r\n * Determine if models are hidden by hideSelectedElementsModel or isolateSelectedElementsModel\r\n * @param vp Viewport to affect\r\n */\r\n public static isOverrideModels(vp: Viewport): boolean {\r\n const ids = this._overrideModelIds.get(vp);\r\n return (ids) ? [...ids].length > 0 : false;\r\n }\r\n\r\n /**\r\n * Determine if categories are hidden by hideSelectedElementsCategory or isolateSelectedElementsCategory\r\n * @param vp Viewport to affect\r\n */\r\n public static isOverrideCategories(vp: Viewport): boolean {\r\n const ids = this._overrideCategoryIds.get(vp);\r\n return (ids) ? [...ids].length > 0 : false;\r\n }\r\n\r\n /**\r\n * Hide the categories defined by the elements in the current SelectionSet\r\n * @param vp Viewport to affect\r\n */\r\n public static async hideSelectedElementsCategory(vp: Viewport) {\r\n const categoryIds = await HideIsolateEmphasizeManager.getSelectionSetElementCategories(vp.iModel);\r\n vp.changeCategoryDisplay(categoryIds, false);\r\n this.updateCategoryOverride(vp, [...categoryIds]);\r\n }\r\n\r\n /**\r\n * Clear (restore) the previously hidden categories hidden by hideSelectedElementsCategory\r\n * @param vp Viewport to affect\r\n */\r\n public static clearOverrideCategories(vp: Viewport) {\r\n const ids = this._overrideCategoryIds.get(vp);\r\n if (ids) {\r\n vp.changeCategoryDisplay([...ids], true);\r\n this.clearCategoryOverride(vp);\r\n }\r\n }\r\n\r\n /** Checks to see if any featureOverrideProviders are active */\r\n public areFeatureOverridesActive(vp: Viewport): boolean {\r\n // Check all the emphasize possibilities\r\n const emphasizeElementsProvider = vp.findFeatureOverrideProviderOfType<EmphasizeElements>(EmphasizeElements);\r\n if (undefined !== emphasizeElementsProvider && emphasizeElementsProvider.isActive)\r\n return true;\r\n\r\n const modelOverrideProvider = vp.findFeatureOverrideProviderOfType<ModelOverrideProvider>(ModelOverrideProvider);\r\n if (undefined !== modelOverrideProvider && modelOverrideProvider.modelIds.length > 0)\r\n return true;\r\n\r\n const subCategoryOverrideProvider = vp.findFeatureOverrideProviderOfType<SubCategoryOverrideProvider>(SubCategoryOverrideProvider);\r\n if (undefined !== subCategoryOverrideProvider && subCategoryOverrideProvider.subCategoryIds.length > 0)\r\n return true;\r\n\r\n // Check hide/isolate possibilities\r\n if (HideIsolateEmphasizeManager.isOverrideCategories(vp))\r\n return true;\r\n\r\n if (HideIsolateEmphasizeManager.isOverrideModels(vp))\r\n return true;\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Function that is run when `IsolateSelectedElementsModel` tool button is pressed\r\n */\r\n public async processIsolateSelectedElementsModel(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n\r\n await HideIsolateEmphasizeManager.isolateSelectedElementsModel(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.IsolateSelectedModels });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.IsolateSelectedModels, featureIdMap.get(HideIsolateEmphasizeAction.IsolateSelectedModels)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n }\r\n\r\n /**\r\n * Function that is run when `IsolateSelectedElementsCategory` tool button is pressed\r\n */\r\n public async processIsolateSelectedElementsCategory(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n\r\n await HideIsolateEmphasizeManager.isolateSelectedElementsCategory(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.IsolateSelectedCategories });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.IsolateSelectedCategories, featureIdMap.get(HideIsolateEmphasizeAction.IsolateSelectedCategories)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n }\r\n\r\n /**\r\n * Function that is run when `IsolateSelected` tool button is pressed\r\n */\r\n public async processIsolateSelected(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n HideIsolateEmphasizeManager.isolateSelected(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.IsolateSelectedElements });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.IsolateSelectedElements, featureIdMap.get(HideIsolateEmphasizeAction.IsolateSelectedElements)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n\r\n // clear out selection now that any callbacks have processed\r\n const selection = vp.view.iModel.selectionSet;\r\n if (selection.isActive)\r\n selection.emptyAll();\r\n }\r\n\r\n /**\r\n * Function that is run when `HideSelectedElementsModel` tool button is pressed\r\n */\r\n public async processHideSelectedElementsModel(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n\r\n await HideIsolateEmphasizeManager.hideSelectedElementsModel(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.HideSelectedModels });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.HideSelectedModels, featureIdMap.get(HideIsolateEmphasizeAction.HideSelectedModels)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n }\r\n\r\n /**\r\n * Function that is run when `HideSelectedElementsCategory` tool button is pressed\r\n */\r\n public async processHideSelectedElementsCategory(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n\r\n await HideIsolateEmphasizeManager.hideSelectedElementsCategory(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.HideSelectedCategories });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.HideSelectedCategories, featureIdMap.get(HideIsolateEmphasizeAction.HideSelectedCategories)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n }\r\n\r\n /**\r\n * Function that is run when `HideSelected` tool button is pressed\r\n */\r\n public async processHideSelected(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n\r\n HideIsolateEmphasizeManager.hideSelected(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.HideSelectedElements });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.HideSelectedCategories, featureIdMap.get(HideIsolateEmphasizeAction.HideSelectedElements)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n\r\n // clear out selection now that any callbacks have processed\r\n const selection = vp.view.iModel.selectionSet;\r\n if (selection.isActive)\r\n selection.emptyAll();\r\n }\r\n\r\n /**\r\n * Function that is run when `EmphasizeSelected` tool button is pressed\r\n */\r\n public async processEmphasizeSelected(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n\r\n await HideIsolateEmphasizeManager.emphasizeSelected(vp);\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.EmphasizeSelectedElements });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.EmphasizeSelectedElements, featureIdMap.get(HideIsolateEmphasizeAction.EmphasizeSelectedElements)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n\r\n // clear out selection now that any callbacks have processed\r\n const selection = vp.view.iModel.selectionSet;\r\n if (selection.isActive)\r\n selection.emptyAll();\r\n }\r\n\r\n /**\r\n * Function that is run when `ClearEmphasize` tool button is pressed\r\n */\r\n public async processClearEmphasize(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n HideIsolateEmphasizeManager.clearEmphasize(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.ClearHiddenIsolatedEmphasized });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.ClearHiddenIsolatedEmphasized, featureIdMap.get(HideIsolateEmphasizeAction.ClearHiddenIsolatedEmphasized)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n }\r\n\r\n /**\r\n * Function that is run when `ClearOverrideModels` tool button is pressed\r\n */\r\n public async processClearOverrideModels(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n HideIsolateEmphasizeManager.clearOverrideModels(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.ClearOverrideModels });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.ClearOverrideModels, featureIdMap.get(HideIsolateEmphasizeAction.ClearOverrideModels)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n }\r\n\r\n /**\r\n * Function that is run when `ClearOverrideCategories` tool button is pressed\r\n */\r\n public async processClearOverrideCategories(): Promise<void> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return;\r\n HideIsolateEmphasizeManager.clearOverrideCategories(vp);\r\n\r\n HideIsolateEmphasizeActionHandler.emphasizeElementsChanged.raiseEvent({ viewport: vp, action: HideIsolateEmphasizeAction.ClearOverrideCategories });\r\n UiFramework.postTelemetry(HideIsolateEmphasizeAction.ClearOverrideCategories, featureIdMap.get(HideIsolateEmphasizeAction.ClearOverrideCategories)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(HideIsolateEmphasizeActionHandler.hideIsolateEmphasizeUiSyncId);\r\n }\r\n\r\n /**\r\n * Add category ids to the category override cache (hidden or isolated categories)\r\n */\r\n public static updateCategoryOverride(vp: Viewport, ids: string[]) {\r\n const prevIds = this._overrideCategoryIds.get(vp);\r\n const newIds = [...(prevIds || []), ...ids];\r\n this._overrideCategoryIds.set(vp, new Set(newIds));\r\n }\r\n\r\n /**\r\n * Add model ids to the model override cache (hidden or isolated models)\r\n */\r\n public static updateModelOverride(vp: Viewport, ids: string[]) {\r\n const prevIds = this._overrideModelIds.get(vp);\r\n const newIds = [...(prevIds || []), ...ids];\r\n this._overrideModelIds.set(vp, new Set(newIds));\r\n }\r\n\r\n /**\r\n * Return the list of category overrides (hidden or isolated categories)\r\n */\r\n public static getCategoryOverrides(vp: Viewport) {\r\n return this._overrideCategoryIds.get(vp);\r\n }\r\n\r\n /**\r\n * Return the list of model overrides (hidden or isolated models)\r\n */\r\n public static getModelOverrides(vp: Viewport) {\r\n return this._overrideModelIds.get(vp);\r\n }\r\n\r\n /**\r\n * Clear the category override cache (hidden or isolated categories)\r\n */\r\n private static clearCategoryOverride(vp: Viewport) {\r\n this._overrideCategoryIds.delete(vp);\r\n }\r\n\r\n /**\r\n * Clear the model override cache (hidden or isolated models)\r\n */\r\n private static clearModelOverride(vp: Viewport) {\r\n this._overrideModelIds.delete(vp);\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"UnitSystemSelector.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/settings/quantityformatting/UnitSystemSelector.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qBAAqB,EAAE,aAAa,CAAC;IACrC,oBAAoB,EAAE,CAAC,UAAU,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1D,oBAAoB,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,eA4ChE"}
1
+ {"version":3,"file":"UnitSystemSelector.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/settings/quantityformatting/UnitSystemSelector.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qBAAqB,EAAE,aAAa,CAAC;IACrC,oBAAoB,EAAE,CAAC,UAAU,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1D,oBAAoB,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,eA6ChE"}
@@ -48,7 +48,7 @@ function UnitSystemSelector(props) {
48
48
  const unitSystemKey = availableUnitSystems.has(selectedUnitSystemKey) ? selectedUnitSystemKey : displayUnitSystems[0].value;
49
49
  return (React.createElement("div", { className: "quantity-unit-system-selector-container" },
50
50
  React.createElement("span", { className: "uicore-label" }, label.current),
51
- React.createElement(itwinui_react_1.Select, { "data-testid": "unitSystemSelector", value: unitSystemKey, options: displayUnitSystems, onChange: handleUnitSystemSelected })));
51
+ React.createElement(itwinui_react_1.Select, { "data-testid": "unitSystemSelector", value: unitSystemKey, options: displayUnitSystems, onChange: handleUnitSystemSelected, size: "small" })));
52
52
  }
53
53
  exports.UnitSystemSelector = UnitSystemSelector;
54
54
  //# sourceMappingURL=UnitSystemSelector.js.map