@itwin/appui-react 3.1.0-dev.8 → 3.2.0-dev.12

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 (212) hide show
  1. package/CHANGELOG.md +130 -16
  2. package/lib/cjs/appui-react/UiFramework.d.ts +4 -2
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +7 -3
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/backstage/Backstage.d.ts +0 -2
  7. package/lib/cjs/appui-react/backstage/Backstage.d.ts.map +1 -1
  8. package/lib/cjs/appui-react/backstage/Backstage.js +0 -1
  9. package/lib/cjs/appui-react/backstage/Backstage.js.map +1 -1
  10. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts +1 -0
  11. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
  12. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +2 -2
  13. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  14. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  15. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +2 -0
  16. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  17. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts.map +1 -1
  18. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js +6 -1
  19. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  20. package/lib/cjs/appui-react/content/ContentControl.d.ts +6 -0
  21. package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
  22. package/lib/cjs/appui-react/content/ContentControl.js +11 -1
  23. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  24. package/lib/cjs/appui-react/content/ContentLayout.d.ts +8 -0
  25. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  26. package/lib/cjs/appui-react/content/ContentLayout.js +43 -36
  27. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  28. package/lib/cjs/appui-react/content/ContentLayout.scss +27 -27
  29. package/lib/cjs/appui-react/content/ContentViewManager.d.ts +7 -0
  30. package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +1 -1
  31. package/lib/cjs/appui-react/content/ContentViewManager.js +46 -22
  32. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  33. package/lib/cjs/appui-react/content/FloatingViewportContent.css +9 -0
  34. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +25 -0
  35. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -0
  36. package/lib/cjs/appui-react/content/FloatingViewportContent.js +73 -0
  37. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -0
  38. package/lib/cjs/appui-react/content/IModelViewport.d.ts +1 -1
  39. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  40. package/lib/cjs/appui-react/content/IModelViewport.js +1 -1
  41. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  42. package/lib/cjs/appui-react/content/ViewportContentControl.d.ts +9 -0
  43. package/lib/cjs/appui-react/content/ViewportContentControl.d.ts.map +1 -1
  44. package/lib/cjs/appui-react/content/ViewportContentControl.js +24 -1
  45. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  46. package/lib/cjs/appui-react/dialog/ContentDialog.d.ts +24 -0
  47. package/lib/cjs/appui-react/dialog/ContentDialog.d.ts.map +1 -0
  48. package/lib/cjs/appui-react/dialog/ContentDialog.js +72 -0
  49. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -0
  50. package/lib/cjs/appui-react/dialog/ContentDialog.scss +25 -0
  51. package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts +65 -0
  52. package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts.map +1 -0
  53. package/lib/cjs/appui-react/dialog/ContentDialogManager.js +148 -0
  54. package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -0
  55. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +9 -0
  56. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  57. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +65 -7
  58. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  59. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +3 -0
  60. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  61. package/lib/cjs/appui-react/frontstage/FrontstageManager.js +8 -0
  62. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  63. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts +6 -0
  64. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts.map +1 -0
  65. package/lib/cjs/appui-react/hooks/useUiVisibility.js +27 -0
  66. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -0
  67. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +2 -1
  69. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  70. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +3 -3
  71. package/lib/cjs/appui-react/popup/CardPopup.scss +3 -1
  72. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +2 -3
  73. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  74. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +2 -3
  75. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  76. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts +3 -0
  77. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  78. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +20 -5
  79. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  80. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js +1 -1
  81. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  82. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +3 -0
  83. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/widget-panels/Content.js +2 -2
  85. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  86. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  87. package/lib/cjs/appui-react/widget-panels/Frontstage.js +25 -7
  88. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  89. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +2 -2
  90. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  91. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +0 -2
  92. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  93. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +3 -17
  94. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  95. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +2 -2
  96. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  97. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +2 -2
  98. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  99. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -0
  100. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  101. package/lib/cjs/appui-react/widgets/WidgetDef.js +2 -0
  102. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  103. package/lib/cjs/appui-react.d.ts +4 -0
  104. package/lib/cjs/appui-react.d.ts.map +1 -1
  105. package/lib/cjs/appui-react.js +4 -0
  106. package/lib/cjs/appui-react.js.map +1 -1
  107. package/lib/esm/appui-react/UiFramework.d.ts +4 -2
  108. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  109. package/lib/esm/appui-react/UiFramework.js +7 -3
  110. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  111. package/lib/esm/appui-react/backstage/Backstage.d.ts +0 -2
  112. package/lib/esm/appui-react/backstage/Backstage.d.ts.map +1 -1
  113. package/lib/esm/appui-react/backstage/Backstage.js +0 -1
  114. package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
  115. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +1 -0
  116. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
  117. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +2 -2
  118. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  119. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  120. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +2 -0
  121. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  122. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts.map +1 -1
  123. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js +6 -1
  124. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  125. package/lib/esm/appui-react/content/ContentControl.d.ts +6 -0
  126. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  127. package/lib/esm/appui-react/content/ContentControl.js +10 -1
  128. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  129. package/lib/esm/appui-react/content/ContentLayout.d.ts +8 -0
  130. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  131. package/lib/esm/appui-react/content/ContentLayout.js +41 -35
  132. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  133. package/lib/esm/appui-react/content/ContentLayout.scss +27 -27
  134. package/lib/esm/appui-react/content/ContentViewManager.d.ts +7 -0
  135. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
  136. package/lib/esm/appui-react/content/ContentViewManager.js +46 -22
  137. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  138. package/lib/esm/appui-react/content/FloatingViewportContent.css +9 -0
  139. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +25 -0
  140. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -0
  141. package/lib/esm/appui-react/content/FloatingViewportContent.js +69 -0
  142. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -0
  143. package/lib/esm/appui-react/content/IModelViewport.d.ts +1 -1
  144. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  145. package/lib/esm/appui-react/content/IModelViewport.js +1 -1
  146. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  147. package/lib/esm/appui-react/content/ViewportContentControl.d.ts +9 -0
  148. package/lib/esm/appui-react/content/ViewportContentControl.d.ts.map +1 -1
  149. package/lib/esm/appui-react/content/ViewportContentControl.js +23 -1
  150. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  151. package/lib/esm/appui-react/dialog/ContentDialog.d.ts +24 -0
  152. package/lib/esm/appui-react/dialog/ContentDialog.d.ts.map +1 -0
  153. package/lib/esm/appui-react/dialog/ContentDialog.js +67 -0
  154. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -0
  155. package/lib/esm/appui-react/dialog/ContentDialog.scss +25 -0
  156. package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts +65 -0
  157. package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts.map +1 -0
  158. package/lib/esm/appui-react/dialog/ContentDialogManager.js +142 -0
  159. package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -0
  160. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +9 -0
  161. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  162. package/lib/esm/appui-react/frontstage/FrontstageDef.js +66 -8
  163. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  164. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +3 -0
  165. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  166. package/lib/esm/appui-react/frontstage/FrontstageManager.js +8 -0
  167. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  168. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts +6 -0
  169. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts.map +1 -0
  170. package/lib/esm/appui-react/hooks/useUiVisibility.js +23 -0
  171. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -0
  172. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  173. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +2 -1
  174. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  175. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +3 -3
  176. package/lib/esm/appui-react/popup/CardPopup.scss +3 -1
  177. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +2 -3
  178. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  179. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +1 -2
  180. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  181. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts +3 -0
  182. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  183. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +20 -5
  184. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  185. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js +1 -1
  186. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  187. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +3 -0
  188. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  189. package/lib/esm/appui-react/widget-panels/Content.js +2 -2
  190. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  191. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  192. package/lib/esm/appui-react/widget-panels/Frontstage.js +25 -7
  193. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  194. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +1 -1
  195. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  196. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +0 -2
  197. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  198. package/lib/esm/appui-react/widgets/BasicToolWidget.js +1 -14
  199. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  200. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +1 -1
  201. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  202. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  203. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  204. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -0
  205. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  206. package/lib/esm/appui-react/widgets/WidgetDef.js +2 -0
  207. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  208. package/lib/esm/appui-react.d.ts +4 -0
  209. package/lib/esm/appui-react.d.ts.map +1 -1
  210. package/lib/esm/appui-react.js +4 -0
  211. package/lib/esm/appui-react.js.map +1 -1
  212. package/package.json +34 -35
package/CHANGELOG.md CHANGED
@@ -1,6 +1,120 @@
1
1
  # Change Log - @itwin/appui-react
2
2
 
3
- This log was last generated on Wed, 12 Jan 2022 14:52:38 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 10 Mar 2022 21:18:13 GMT and should not be manually modified.
4
+
5
+ ## 3.0.2
6
+ Thu, 10 Mar 2022 21:18:13 GMT
7
+
8
+ ### Updates
9
+
10
+ - Optimize ModelsTree search ruleset
11
+ - Make fix to displaying a custom view overlay.
12
+
13
+ ## 3.0.1
14
+ Thu, 24 Feb 2022 15:26:55 GMT
15
+
16
+ ### Updates
17
+
18
+ - React to 3.0 breaking change w.r.t ECSQL Query Row Format
19
+ - Respect min/max size when initializing a panel.
20
+ - Provide FrontstageManager.clearFrontstageProviders method to clear out static maps.
21
+ - Add FrontstageDef.isWidgetDisplayed() to allow apps to query whether their widget is visible.
22
+ - Update ToolbarAutoHidePopup context when widgets autohide.
23
+ - Change initializeNineZoneState to properly handle floating widgets.
24
+ - Remove unecessary dependency on itwin/browser-authorization
25
+
26
+ ## 3.0.0
27
+ Mon, 24 Jan 2022 14:00:52 GMT
28
+
29
+ ### Updates
30
+
31
+ - Update ClearHideIsolateEmphasize Tool button definition to work on Models and Categories as well as Elements.
32
+ - The Cartographic creation API now takes an interface as an argument with named properties. This will avoid callers mixing up the order of longitude, latitude, and height.
33
+ - Update colorpicker to support RGB input
34
+ - fix code for breaking change to .query() method
35
+ - Existing ruleset configurations were updated to no longer use deprecated rule versions for iModel.js 3.0.
36
+ - Upgrade target to ES2019 and deliver both a CommonJs and ESModule version of package
37
+ - export CategoryVisibilityHandler
38
+ - Fix ecsql row format
39
+ - getAccessToken always returns a token
40
+ - rename contextId -> iTwinId
41
+ - updated @itwin/browser-authorization to 0.3.1
42
+ - rename to @itwin/appui-react
43
+ - Added UserInfo from itwin-client
44
+ - remove ClientRequestContext and its subclasses
45
+ - Made ConfigurableUiManager.closeUi() public
46
+ - Removed OIDC signin/signout and UserProfileBackstageItem
47
+ - Improve performance of determining visibility state of element and element grouping nodes.
48
+ - Removed 'ModelsTreeProps.enablePreloading' flag
49
+ - Promote standard UI providers from beta to public
50
+ - Initialize StateManager store if necessary during UiFramework initialization.
51
+ - Replace usage of I18N with generic Localization interface.
52
+ - Remove use of UiItemsArbiter
53
+ - Remove UserInfo completely
54
+ - Update snapshots
55
+ - Replaced ContextRegistry with generalized ITwinAccess interface
56
+ - Renamed an iModel's parent container to iTwin
57
+ - Removed references to the deleted config-loader package
58
+ - tool.run and tool.parseAndRun are now async methods
59
+ - Support for TypeDoc v0.22.7. Fix various broken docs links.
60
+ - Refactor SynchUiEventDispatcher to use new UiEventDispatcher from appui-abstract. Deprecate obsolete code.
61
+ - Refactored part of AccuDraw UI & Providing AccuDraw UI documentation
62
+ - Create empty frontstage and UiItemsProviders to populate it and update how ContentGroups are defined.
63
+ - Add missing public/beta types to the barrel file.
64
+ - Add required `width` and `height` props for `CategoryTree`, `ModelsTree` and `SpatialContainmentTree`.
65
+ - Remove `IModelConnectedCategoryTree`, `IModelConnectedModelsTree` and `IModelConnectedSpatialContainmentTree`.
66
+ - Remove deprecated `CategoryTreeWithSearchBox`.
67
+ - Remove deprecated `VisibilityComponent`, `VisibilityWidget` and related types.
68
+ - Clean up deprecated Drag & Drop related APIs
69
+ - Add state variable to control display of view overlay in the viewports.
70
+ - Update to default to using UI2.0/AppUI.
71
+ - Deprecate and promote apis
72
+ - Deprecate obsolete APIs. Publish beta APIs from last release.
73
+ - Update links in API doc comments.
74
+ - Make it possible to set label and execute function for BackstageAppButton
75
+ - Upgraded itwinui-react to 1.16.2. Fixed editor sizes.
76
+ - Ensure duplicate items provided via UiItemProviders are filtered out and only one item per Id is used.
77
+ - Add ability to remove stage launcher entry from backstage if only one stage is available.
78
+ - Remove files generated by bad merge
79
+ - Fix bug where ConditionalStringValue used in some status bar components would cause a crash.
80
+ - Ensure nineZoneState is not set in FrontstageDef until 'isReady' is set.
81
+ - Add support for all existing Indicator Props.
82
+ - Updates to enable frontstageDef to be cached per iModelConnection.
83
+ - Add initializeStateFromUserSettingsProviders to initialize UI state.
84
+ - Update ShowHideManager defaults
85
+ - Update comment.
86
+ - Fix warning shown in unit test by ensuring setState is only processed if state component is mounted.
87
+ - Allow widgets supplied by a UiItemsProvider to specify a default state of floating.
88
+ - Deprecated HorizontalTabs in ui-core. Removed older deprecated items. Updated NextVersion.md.
89
+ - Update to latest itwinui-react
90
+ - Clean up css for status bar entries to avoid unwanted text wrapping.
91
+ - Incorporating iTwinUI-CSS and iTwinUI-React into iModel.js
92
+ - Moved iTwinUI style overrides to ui-core from ui-framework
93
+ - Rename ui directories to match new package names.
94
+ - Deprecated Task/Workflow. Promoted AccuDraw UI to @beta. Added AccuDraw and NavigationAids learning docs.
95
+ - Fix bug that sets the icon on MessageBox.NoSymbol the Success icon.
96
+ - Add prop that prevents popup button panel from unmounting when closed.
97
+ - Update to React 17.
98
+ - Created imodel-components folder & package and moved color, lineweight, navigationaids, quantity, timeline & viewport. Deprecated MessageSeverity in ui-core & added it ui-abstract. Added MessagePresenter interface to ui-abstract.
99
+ - Remove react 16 peer dependency.
100
+ - Filter out duplicate tools that may be registered in different UiItemProviders. First one in wins.
101
+ - Remove itwinUi css overrides.
102
+ - UiFramework and UiIModelComponent initialize method no longer take localization argument, uses IModelApp.localization internally.
103
+ - Remove package react-split-pane.
104
+ - Remove WidgetProvider and associated events.
105
+ - Fixed z-index of status messages to be on top of a dialog
106
+ - Update Tool Setting for UI 1.0 to fix refresh bug.
107
+ - BaseUiItemsProvider class and refactor "standard" providers to subclass it.
108
+ - Undeprecate necessary UI 1.0 classes/interfaces
109
+ - Update standard UI item providers to require a providerId so more than one instance may be used within an app. Usually by different packages providing stages.
110
+ - Replaced ui-core Slider with one from iTwinUi-react. Update DefaultViewOverlay to opt-in to dislay of view overlays.
111
+ - Update to latest types/react package
112
+ - reset to use overflow hidden in floating widgets as it messes up auto-sizing and re-sizing.
113
+ - Add support for widget tab icons in UI-2
114
+ - Update CSS used for ToolSettingEntries in grid layout.
115
+ - Get WidgetState and PanelState from NinzoneState when running in UI 2 mode - single source of truth.
116
+ - Lock down and update version numbers so docs will build.
117
+ - Hide widgets with Hidden defaultState when frontstage is activated.
4
118
 
5
119
  ## 2.19.28
6
120
  Wed, 12 Jan 2022 14:52:38 GMT
@@ -281,9 +395,9 @@ Mon, 24 May 2021 15:58:39 GMT
281
395
  - Clean up styling in StatusBar.css
282
396
  - Set overflow hidden on content Panes used when stage has multiple content views.
283
397
  - Adding ability to override isActive property for BackstageItem
284
- - Add support for child popup windows.
398
+ - Add support for child popup windows.
285
399
  - Replace deprecated ViewManager.forEachViewport() with iterator.
286
- - Update to latest classnames package
400
+ - Update to latest classnames package
287
401
 
288
402
  ## 2.15.6
289
403
  Wed, 26 May 2021 15:55:19 GMT
@@ -440,7 +554,7 @@ Thu, 28 Jan 2021 13:39:27 GMT
440
554
 
441
555
  ### Updates
442
556
 
443
- - Update components that support providing refs via React.forwardRef to work better with document generation.
557
+ - Update components that support providing refs via React.forwardRef to work better with document generation.
444
558
  - Fix backstage not updating when props.items are updated.
445
559
  - Propagate isDisabled MenuItem property to ContextMenuItem disabled property
446
560
  - Added partially visible instances support to VisibilityHandler
@@ -523,7 +637,7 @@ Thu, 19 Nov 2020 17:03:42 GMT
523
637
 
524
638
  ### Updates
525
639
 
526
- - Revert width change to EnumEditor component instead set width to auto only for docked tool settings.
640
+ - Revert width change to EnumEditor component instead set width to auto only for docked tool settings.
527
641
 
528
642
  ## 2.9.0
529
643
  Wed, 18 Nov 2020 16:01:50 GMT
@@ -631,7 +745,7 @@ Thu, 17 Sep 2020 13:16:12 GMT
631
745
 
632
746
  ### Updates
633
747
 
634
- - Add support for a feature flag to control the display of the keyin palette.
748
+ - Add support for a feature flag to control the display of the keyin palette.
635
749
  - BadgeType support for Backstage items
636
750
  - add itemschanged handler so that items provided can be conditionally hidden
637
751
  - Lower case syncEventIds prior to comparison
@@ -787,7 +901,7 @@ Thu, 28 May 2020 22:48:59 GMT
787
901
  ### Updates
788
902
 
789
903
  - Add missing @itwin/core-markup peerDependency
790
- - Add commandItemDef to clearHiddenIsolatedEmphasized elements.
904
+ - Add commandItemDef to clearHiddenIsolatedEmphasized elements.
791
905
  - Fix z-index of Modeless dialogs.
792
906
  - Address React warnings about deprecated methods.
793
907
  - Make methods in HideIsolateEmphasizeManager static so they can be called by other packages.
@@ -828,7 +942,7 @@ Wed, 06 May 2020 13:17:49 GMT
828
942
  - react to renaming of imodeljs-clients
829
943
  - Moved KeyinBrowser component to @beta for 2.0
830
944
  - Using center of Messages indicator as target. Added CSS classname overrides to StatusBarComposer for sections. UI 2.0 color tweaks.
831
- - Fixed FrontendAuthorizationClient type guard.
945
+ - Fixed FrontendAuthorizationClient type guard.
832
946
  - Update GroupButton definition to use ReadonlyArray for child items.
833
947
  - Modal Frontstage styling
834
948
  - Ui 2.0 - Blur the toolbar item background
@@ -836,7 +950,7 @@ Wed, 06 May 2020 13:17:49 GMT
836
950
  - Renamed OIDC constructs for consistency; Removed SAML support.
837
951
  - Fixed popup location when passing htmlElement to UiAdmin functions
838
952
  - Clean up deprecated APIs
839
- - Hide stage panel when panel state is off.
953
+ - Hide stage panel when panel state is off.
840
954
  - Added ability to customize selection handling in VisibilityWidget's Models tree
841
955
  - Made React functional component specifications consistent across UI packages
842
956
  - Slider component tooltipBelow prop & tooltip styling
@@ -883,7 +997,7 @@ Wed, 06 May 2020 13:17:49 GMT
883
997
  - Ability to switch to 9-Zone 2.0
884
998
  - Refactor to remove duplicate ComponentGenerator instatiation. Rename filea nd components to remove React reference.
885
999
  - Update auto-generated dialog items to work with the Tool Settings Bar.
886
- - Moved Property classes and interfaces to ui-abstract package. Created a "DefaultDialogGridContainer" to turn specifications from abstract DialogItems UI into React components.
1000
+ - Moved Property classes and interfaces to ui-abstract package. Created a "DefaultDialogGridContainer" to turn specifications from abstract DialogItems UI into React components.
887
1001
  - Refactor DefaultToolSettingsProvider to use DialogItemsManager and remove duplicate code.
888
1002
  - Fix Indicator to properly load SVG icons.
889
1003
  - Refactor DefaultToolSettingsProvider to use the DialogItem interfaces in place of ToolSettings classes.
@@ -953,7 +1067,7 @@ Tue, 10 Dec 2019 18:08:56 GMT
953
1067
 
954
1068
  - Add useActiveIModelConnection hook.
955
1069
  - Allow setting App Iconspec.
956
- - Setup OidcDesktopClient for Electron use cases.
1070
+ - Setup OidcDesktopClient for Electron use cases.
957
1071
  - Fix styling of footer Indicator to work with Themes.
958
1072
  - Disallow plugins from adding tools anywhere but the end of a toolbar.
959
1073
  - [ModelsTree] Merge same-label Subject nodes to avoid duplication
@@ -972,7 +1086,7 @@ Tue, 10 Dec 2019 18:08:56 GMT
972
1086
  - Use exhaustive-deps linter rule.
973
1087
  - Ability to opt-in to toolbar drag interaction.
974
1088
  - Prevent unnecessary resubscribe in useActiveViewport hook.
975
- - Visibility Widget: Treat dictionary model as never private in Categories tree.
1089
+ - Visibility Widget: Treat dictionary model as never private in Categories tree.
976
1090
  - Ability to specify initialWidth for Zone component.
977
1091
  - Removed unused React state variables. Removed unsupported setState calls from render() methods.
978
1092
  - Code cleanup based on code analysis report from lgtm. Updated status field fade-in/out animation.
@@ -1196,7 +1310,7 @@ Mon, 03 Jun 2019 18:09:39 GMT
1196
1310
  - Release tag cleanup and ui-framework unit tests
1197
1311
  - Updated UI package release tags for 1.0 release.
1198
1312
  - Fixed release tag warnings in UI packages
1199
- - Removed use of OidcClientWrapper.
1313
+ - Removed use of OidcClientWrapper.
1200
1314
  - Remove console log message output by SyncUiEventDispatcher. Add Logging.
1201
1315
  - Changed some release tags from @hidden to @internal
1202
1316
  - Add alpha level support for solar timeline
@@ -1243,9 +1357,9 @@ Mon, 13 May 2019 15:52:05 GMT
1243
1357
  - Added SignIn presentational component to ui-components. Removed --ignoreMissingTags extract-api option.
1244
1358
  - Require React & React-dom 16.8
1245
1359
  - Remove IModelApp subclasses
1246
- - Setup a generic context for tracking client requests, and made various related enhancements to logging, usage tracking and authorization.
1360
+ - Setup a generic context for tracking client requests, and made various related enhancements to logging, usage tracking and authorization.
1247
1361
  - Added ViewportDialog in ui-test-app, ui-core/ContributeGuidelines.md. TSLint rules in ui-core for no-default-export & completed-docs. @beta release tags.
1248
- - Minimized serialization/deserialization costs when round tripping SAML based AccessToken-s.
1362
+ - Minimized serialization/deserialization costs when round tripping SAML based AccessToken-s.
1249
1363
  - Rename AppState to SessionState to avoid collision with acutal App's state. Add AvailableSectionScopes to SessionState.
1250
1364
  - Move SelectionScope status field from test app to ui-framework. Update icons-generic-webfont version to latest available.
1251
1365
  - Remove need to sync SelectionMethod since it is not changed within tool code.
@@ -1512,7 +1626,7 @@ Thu, 08 Nov 2018 17:59:21 GMT
1512
1626
 
1513
1627
  ### Updates
1514
1628
 
1515
- - OIDC related enhancments (WIP).
1629
+ - OIDC related enhancments (WIP).
1516
1630
  - Updated to TypeScript 3.1
1517
1631
  - ui-core unit tests. Fixed backstage open issue.
1518
1632
  - Zone & Widget initial state, more ui-core unit tests, cleaned up ui-framework index.ts files.
@@ -91,16 +91,18 @@ export declare class UiFramework {
91
91
  * Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.
92
92
  * @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.
93
93
  * @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined "frameworkState" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use "frameworkState".
94
+ * @param startInUi1Mode Used for legacy applications to start up in the deprecated UI 1 mode. This should not set by newer applications.
94
95
  */
95
- static initialize(store: Store<any> | undefined, frameworkStateKey?: string): Promise<void>;
96
+ static initialize(store: Store<any> | undefined, frameworkStateKey?: string, startInUi1Mode?: boolean): Promise<void>;
96
97
  /**
97
98
  * Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.
98
99
  * @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.
99
100
  * @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined "frameworkState" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use "frameworkState".
101
+ * @param startInUi1Mode Used for legacy applications to start up in the deprecated UI 1 mode. This should not set by newer applications.
100
102
  *
101
103
  * @internal
102
104
  */
103
- static initializeEx(store: Store<any> | undefined, frameworkStateKey?: string): Promise<void>;
105
+ static initializeEx(store: Store<any> | undefined, frameworkStateKey?: string, startInUi1Mode?: boolean): Promise<void>;
104
106
  /** Un-registers the UiFramework internationalization service namespace */
105
107
  static terminate(): void;
106
108
  /** Determines if UiFramework has been initialized */
@@ -1 +1 @@
1
- {"version":3,"file":"UiFramework.d.ts","sourceRoot":"","sources":["../../../src/appui-react/UiFramework.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UiFramework.d.ts","sourceRoot":"","sources":["../../../src/appui-react/UiFramework.ts"],"names":[],"mappings":"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"}
@@ -67,18 +67,20 @@ class UiFramework {
67
67
  * Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.
68
68
  * @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.
69
69
  * @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined "frameworkState" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use "frameworkState".
70
+ * @param startInUi1Mode Used for legacy applications to start up in the deprecated UI 1 mode. This should not set by newer applications.
70
71
  */
71
- static async initialize(store, frameworkStateKey) {
72
- return this.initializeEx(store, frameworkStateKey);
72
+ static async initialize(store, frameworkStateKey, startInUi1Mode) {
73
+ return this.initializeEx(store, frameworkStateKey, startInUi1Mode);
73
74
  }
74
75
  /**
75
76
  * Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.
76
77
  * @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.
77
78
  * @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined "frameworkState" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use "frameworkState".
79
+ * @param startInUi1Mode Used for legacy applications to start up in the deprecated UI 1 mode. This should not set by newer applications.
78
80
  *
79
81
  * @internal
80
82
  */
81
- static async initializeEx(store, frameworkStateKey) {
83
+ static async initializeEx(store, frameworkStateKey, startInUi1Mode) {
82
84
  var _a;
83
85
  if (UiFramework._initialized) {
84
86
  core_bentley_1.Logger.logInfo(UiFramework.loggerCategory(UiFramework), `UiFramework.initialize already called`);
@@ -92,6 +94,8 @@ class UiFramework {
92
94
  // ignore setting _frameworkStateKeyInStore if not using store
93
95
  if (frameworkStateKey && store)
94
96
  UiFramework._frameworkStateKeyInStore = frameworkStateKey;
97
+ if (startInUi1Mode)
98
+ UiFramework.store.dispatch({ type: state_1.ConfigurableUiActionId.SetFrameworkVersion, payload: "1" });
95
99
  // set up namespace and register all tools from package
96
100
  const frameworkNamespace = (_a = core_frontend_1.IModelApp.localization) === null || _a === void 0 ? void 0 : _a.registerNamespace(UiFramework.localizationNamespace);
97
101
  [
@@ -1 +1 @@
1
- {"version":3,"file":"UiFramework.js","sourceRoot":"","sources":["../../../src/appui-react/UiFramework.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 Utilities\r\n */\r\n\r\n// cSpell:ignore configurableui clientservices\r\n\r\nimport { Store } from \"redux\";\r\nimport { GuidString, Logger, ProcessDetector } from \"@itwin/core-bentley\";\r\nimport { Localization, RpcActivity } from \"@itwin/core-common\";\r\nimport { IModelApp, IModelConnection, SnapMode, ViewState } from \"@itwin/core-frontend\";\r\nimport { Presentation } from \"@itwin/presentation-frontend\";\r\nimport { TelemetryEvent } from \"@itwin/core-telemetry\";\r\nimport { getClassName, UiAdmin, UiError, UiEvent } from \"@itwin/appui-abstract\";\r\nimport { LocalStateStorage, SettingsManager, UiStateStorage } from \"@itwin/core-react\";\r\nimport { UiIModelComponents } from \"@itwin/imodel-components-react\";\r\nimport { BackstageManager } from \"./backstage/BackstageManager\";\r\nimport { ChildWindowManager } from \"./childwindow/ChildWindowManager\";\r\nimport { ConfigurableUiManager } from \"./configurableui/ConfigurableUiManager\";\r\nimport { ConfigurableUiActionId } from \"./configurableui/state\";\r\nimport { FrameworkState } from \"./redux/FrameworkState\";\r\nimport { CursorMenuData, PresentationSelectionScope, SessionStateActionId } from \"./redux/SessionState\";\r\nimport { StateManager } from \"./redux/StateManager\";\r\nimport { HideIsolateEmphasizeActionHandler, HideIsolateEmphasizeManager } from \"./selection/HideIsolateEmphasizeManager\";\r\nimport { SyncUiEventDispatcher, SyncUiEventId } from \"./syncui/SyncUiEventDispatcher\";\r\nimport { SYSTEM_PREFERRED_COLOR_THEME, WIDGET_OPACITY_DEFAULT } from \"./theme/ThemeManager\";\r\nimport * as keyinPaletteTools from \"./tools/KeyinPaletteTools\";\r\nimport * as openSettingTools from \"./tools/OpenSettingsTool\";\r\nimport * as restoreLayoutTools from \"./tools/RestoreLayoutTool\";\r\nimport * as toolSettingTools from \"./tools/ToolSettingsTools\";\r\nimport { UiShowHideManager, UiShowHideSettingsProvider } from \"./utils/UiShowHideManager\";\r\nimport { WidgetManager } from \"./widgets/WidgetManager\";\r\nimport { FrontstageManager } from \"./frontstage/FrontstageManager\";\r\n\r\n// cSpell:ignore Mobi\r\n\r\n/** Defined that available UI Versions. It is recommended to always use the latest version available.\r\n * @public\r\n */\r\nexport type FrameworkVersionId = \"1\" | \"2\";\r\n\r\n/** Interface to be implemented but any classes that wants to load their user settings when the UiStateEntry storage class is set.\r\n * @public\r\n */\r\nexport interface UserSettingsProvider {\r\n /** Unique provider Id */\r\n providerId: string;\r\n /** Function to load settings from settings storage */\r\n loadUserSettings(storage: UiStateStorage): Promise<void>;\r\n}\r\n\r\n/** UiVisibility Event Args interface.\r\n * @public\r\n */\r\nexport interface UiVisibilityEventArgs {\r\n visible: boolean;\r\n}\r\n\r\n/** UiVisibility Event class.\r\n * @public\r\n */\r\nexport class UiVisibilityChangedEvent extends UiEvent<UiVisibilityEventArgs> { }\r\n\r\n/** FrameworkVersion Changed Event Args interface.\r\n * @internal\r\n */\r\nexport interface FrameworkVersionChangedEventArgs {\r\n oldVersion: FrameworkVersionId;\r\n version: FrameworkVersionId;\r\n}\r\n\r\n/** FrameworkVersion Changed Event class.\r\n * @internal\r\n */\r\nexport class FrameworkVersionChangedEvent extends UiEvent<FrameworkVersionChangedEventArgs> { }\r\n\r\n/** TrackingTime time argument used by our feature tracking manager as an option argument to the TelemetryClient\r\n * @internal\r\n */\r\nexport interface TrackingTime {\r\n startTime: Date;\r\n endTime: Date;\r\n}\r\n\r\n/**\r\n * Manages the Redux store, localization service and iModel, Project and Login services for the ui-framework package.\r\n * @public\r\n */\r\nexport class UiFramework {\r\n private static _initialized = false;\r\n private static _store?: Store<any>;\r\n private static _complaint = \"UiFramework not initialized\";\r\n private static _frameworkStateKeyInStore: string = \"frameworkState\"; // default name\r\n private static _backstageManager?: BackstageManager;\r\n private static _widgetManager?: WidgetManager;\r\n private static _uiVersion: FrameworkVersionId = \"2\";\r\n private static _hideIsolateEmphasizeActionHandler?: HideIsolateEmphasizeActionHandler;\r\n /** this provides a default state storage handler */\r\n private static _uiStateStorage: UiStateStorage = new LocalStateStorage();\r\n private static _settingsManager?: SettingsManager;\r\n private static _uiSettingsProviderRegistry: Map<string, UserSettingsProvider> = new Map<string, UserSettingsProvider>();\r\n private static _PopupWindowManager = new ChildWindowManager();\r\n public static useDefaultPopoutUrl = false;\r\n\r\n /** @public */\r\n public static get childWindowManager(): ChildWindowManager {\r\n return UiFramework._PopupWindowManager;\r\n }\r\n\r\n /** Registers class that will be informed when the UserSettingsStorage location has been set or changed. This allows\r\n * classes to load any previously saved settings from the new storage location. Common storage locations are the browser's\r\n * local storage, or the iTwin Product Settings cloud storage available via the SettingsAdmin see `IModelApp.settingsAdmin`.\r\n * @beta\r\n */\r\n public static registerUserSettingsProvider(entry: UserSettingsProvider) {\r\n if (this._uiSettingsProviderRegistry.has(entry.providerId))\r\n return false;\r\n\r\n this._uiSettingsProviderRegistry.set(entry.providerId, entry);\r\n return true;\r\n }\r\n\r\n /** Get Show Ui event.\r\n * @public\r\n */\r\n public static readonly onUiVisibilityChanged = new UiVisibilityChangedEvent();\r\n\r\n /**\r\n * Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.\r\n * @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.\r\n * @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined \"frameworkState\" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use \"frameworkState\".\r\n */\r\n public static async initialize(store: Store<any> | undefined, frameworkStateKey?: string): Promise<void> {\r\n return this.initializeEx(store, frameworkStateKey);\r\n }\r\n\r\n /**\r\n * Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.\r\n * @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.\r\n * @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined \"frameworkState\" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use \"frameworkState\".\r\n *\r\n * @internal\r\n */\r\n public static async initializeEx(store: Store<any> | undefined, frameworkStateKey?: string): Promise<void> {\r\n if (UiFramework._initialized) {\r\n Logger.logInfo(UiFramework.loggerCategory(UiFramework), `UiFramework.initialize already called`);\r\n return;\r\n }\r\n\r\n /* if store is undefined then the StateManager class should have been initialized by parent app and the apps default set of reducers registered with it.\r\n If the app has no reducers to add and does not initialize a StateManager then just initialize the StateManager with the default framework reducer now */\r\n if (undefined === store && !StateManager.isInitialized(true))\r\n new StateManager();\r\n\r\n UiFramework._store = store;\r\n // ignore setting _frameworkStateKeyInStore if not using store\r\n if (frameworkStateKey && store)\r\n UiFramework._frameworkStateKeyInStore = frameworkStateKey;\r\n\r\n // set up namespace and register all tools from package\r\n const frameworkNamespace = IModelApp.localization?.registerNamespace(UiFramework.localizationNamespace);\r\n [\r\n restoreLayoutTools,\r\n keyinPaletteTools,\r\n openSettingTools,\r\n toolSettingTools,\r\n ].forEach((tool) => IModelApp.tools.registerModule(tool, this.localizationNamespace));\r\n\r\n UiFramework._backstageManager = new BackstageManager();\r\n UiFramework._hideIsolateEmphasizeActionHandler = new HideIsolateEmphasizeManager(); // this allows user to override the default HideIsolateEmphasizeManager implementation.\r\n UiFramework._widgetManager = new WidgetManager();\r\n\r\n // Initialize ui-imodel-components, ui-components, ui-core & ui-abstract\r\n await UiIModelComponents.initialize();\r\n\r\n UiFramework.settingsManager.onSettingsProvidersChanged.addListener(() => {\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.SettingsProvidersChanged);\r\n });\r\n\r\n // Initialize the MessagePresenter interface in UiAdmin for Editor notifications\r\n UiAdmin.messagePresenter = IModelApp.notifications;\r\n\r\n UiFramework._initialized = true;\r\n\r\n // initialize any standalone settings providers that don't need to have defaults set by iModelApp\r\n UiShowHideSettingsProvider.initialize();\r\n\r\n ConfigurableUiManager.initialize();\r\n\r\n return frameworkNamespace;\r\n }\r\n\r\n /** Un-registers the UiFramework internationalization service namespace */\r\n public static terminate() {\r\n UiFramework._store = undefined;\r\n UiFramework._frameworkStateKeyInStore = \"frameworkState\";\r\n if (StateManager.isInitialized(true))\r\n StateManager.clearStore();\r\n // istanbul ignore next\r\n IModelApp.localization?.unregisterNamespace(UiFramework.localizationNamespace);\r\n UiFramework._backstageManager = undefined;\r\n UiFramework._widgetManager = undefined;\r\n UiFramework._hideIsolateEmphasizeActionHandler = undefined;\r\n UiFramework._settingsManager = undefined;\r\n\r\n UiIModelComponents.terminate();\r\n UiShowHideManager.terminate();\r\n UiFramework._initialized = false;\r\n }\r\n\r\n /** Determines if UiFramework has been initialized */\r\n public static get initialized(): boolean { return UiFramework._initialized; }\r\n\r\n /** Property that returns the SettingManager used by AppUI-based applications.\r\n * @public\r\n */\r\n public static get settingsManager() {\r\n if (undefined === UiFramework._settingsManager)\r\n UiFramework._settingsManager = new SettingsManager();\r\n return UiFramework._settingsManager;\r\n }\r\n\r\n /** @public */\r\n public static get frameworkStateKey(): string {\r\n return UiFramework._frameworkStateKeyInStore;\r\n }\r\n\r\n /** The UiFramework state maintained by Redux\r\n * @public\r\n */\r\n public static get frameworkState(): FrameworkState | undefined {\r\n try {\r\n // eslint-disable-next-line dot-notation\r\n return UiFramework.store.getState()[UiFramework.frameworkStateKey];\r\n } catch (_e) {\r\n return undefined;\r\n }\r\n }\r\n\r\n /** The Redux store */\r\n public static get store(): Store<any> {\r\n if (UiFramework._store)\r\n return UiFramework._store;\r\n\r\n // istanbul ignore else\r\n if (!StateManager.isInitialized(true))\r\n throw new UiError(UiFramework.loggerCategory(this), `Error trying to access redux store before either store or StateManager has been initialized.`);\r\n\r\n // istanbul ignore next\r\n return StateManager.store;\r\n }\r\n\r\n /** The internationalization service created by the app.\r\n * @internal\r\n */\r\n public static get localization(): Localization {\r\n // istanbul ignore next\r\n if (!IModelApp.localization)\r\n throw new UiError(UiFramework.loggerCategory(this), `IModelApp.localization has not been defined.`);\r\n return IModelApp.localization;\r\n }\r\n\r\n /** The internationalization service namespace. */\r\n public static get localizationNamespace(): string {\r\n return \"UiFramework\";\r\n }\r\n\r\n /** @public */\r\n public static get backstageManager(): BackstageManager {\r\n // istanbul ignore next\r\n if (!UiFramework._backstageManager)\r\n throw new UiError(UiFramework.loggerCategory(this), UiFramework._complaint);\r\n return UiFramework._backstageManager;\r\n }\r\n\r\n /** @alpha */\r\n public static get hideIsolateEmphasizeActionHandler(): HideIsolateEmphasizeActionHandler {\r\n // istanbul ignore next\r\n if (!UiFramework._hideIsolateEmphasizeActionHandler)\r\n throw new UiError(UiFramework.loggerCategory(this), UiFramework._complaint);\r\n return UiFramework._hideIsolateEmphasizeActionHandler;\r\n }\r\n\r\n /** @alpha */\r\n public static setHideIsolateEmphasizeActionHandler(handler: HideIsolateEmphasizeActionHandler | undefined) {\r\n // istanbul ignore else\r\n if (handler)\r\n UiFramework._hideIsolateEmphasizeActionHandler = handler;\r\n else\r\n UiFramework._hideIsolateEmphasizeActionHandler = new HideIsolateEmphasizeManager();\r\n }\r\n\r\n /** @alpha */\r\n public static get widgetManager(): WidgetManager {\r\n // istanbul ignore next\r\n if (!UiFramework._widgetManager)\r\n throw new UiError(UiFramework.loggerCategory(this), UiFramework._complaint);\r\n return UiFramework._widgetManager;\r\n }\r\n\r\n /** Calls localization.getLocalizedStringWithNamespace with the \"UiFramework\" namespace. Do NOT include the namespace in the key.\r\n * @internal\r\n */\r\n public static translate(key: string | string[]): string {\r\n return IModelApp.localization.getLocalizedStringWithNamespace(UiFramework.localizationNamespace, key);\r\n }\r\n\r\n /** @internal */\r\n public static get packageName(): string {\r\n return \"appui-react\";\r\n }\r\n\r\n /** @internal */\r\n public static loggerCategory(obj: any): string {\r\n const className = getClassName(obj);\r\n const category = UiFramework.packageName + (className ? `.${className}` : \"\");\r\n return category;\r\n }\r\n\r\n public static dispatchActionToStore(type: string, payload: any, immediateSync = false) {\r\n UiFramework.store.dispatch({ type, payload });\r\n if (immediateSync)\r\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(type);\r\n else\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(type);\r\n }\r\n\r\n public static setAccudrawSnapMode(snapMode: SnapMode) {\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetSnapMode, snapMode, true);\r\n }\r\n\r\n public static getAccudrawSnapMode(): SnapMode {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.snapMode : /* istanbul ignore next */ SnapMode.NearestKeypoint;\r\n }\r\n\r\n public static getActiveSelectionScope(): string {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.activeSelectionScope : /* istanbul ignore next */ \"element\";\r\n }\r\n\r\n public static setActiveSelectionScope(selectionScopeId: string): void {\r\n // istanbul ignore else\r\n if (UiFramework.frameworkState) {\r\n const foundIndex = UiFramework.frameworkState.sessionState.availableSelectionScopes.findIndex((selectionScope: PresentationSelectionScope) => selectionScope.id === selectionScopeId);\r\n if (-1 !== foundIndex) {\r\n const scope = UiFramework.frameworkState.sessionState.availableSelectionScopes[foundIndex];\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetSelectionScope, scope.id);\r\n Presentation.selection.scopes.activeScope = scope.id;\r\n }\r\n }\r\n }\r\n\r\n /** @public */\r\n public static openCursorMenu(menuData: CursorMenuData | undefined): void {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.UpdateCursorMenu, menuData);\r\n }\r\n\r\n /** @public */\r\n public static closeCursorMenu(): void {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.UpdateCursorMenu, undefined);\r\n }\r\n\r\n /** @public */\r\n public static getCursorMenuData(): CursorMenuData | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.cursorMenuData : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n public static getActiveIModelId(): string {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.iModelId : /* istanbul ignore next */ \"\";\r\n }\r\n\r\n public static setActiveIModelId(iModelId: string): void {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetActiveIModelId, iModelId);\r\n }\r\n\r\n public static setIModelConnection(iModelConnection: IModelConnection | undefined, immediateSync = false) {\r\n const oldConnection = UiFramework.getIModelConnection();\r\n if (oldConnection !== iModelConnection) {\r\n if (oldConnection?.iModelId)\r\n FrontstageManager.clearFrontstageDefsForIModelId(oldConnection.iModelId);\r\n oldConnection && undefined === iModelConnection && SyncUiEventDispatcher.clearConnectionEvents(oldConnection);\r\n iModelConnection && SyncUiEventDispatcher.initializeConnectionEvents(iModelConnection);\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetIModelConnection, iModelConnection, immediateSync);\r\n }\r\n UiFramework.setActiveIModelId(iModelConnection?.iModelId ?? \"\");\r\n }\r\n\r\n public static getIModelConnection(): IModelConnection | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.iModelConnection : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n /** Called by iModelApp to initialize saved UI state from registered UseSettingsProviders\r\n * @public\r\n */\r\n public static async initializeStateFromUserSettingsProviders(immediateSync = false) {\r\n // let any registered providers to load values from the new storage location\r\n const providerKeys = [...this._uiSettingsProviderRegistry.keys()];\r\n for await (const key of providerKeys) {\r\n await this._uiSettingsProviderRegistry.get(key)!.loadUserSettings(UiFramework._uiStateStorage);\r\n }\r\n\r\n // istanbul ignore next\r\n if (immediateSync)\r\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(SyncUiEventId.UiStateStorageChanged);\r\n else\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.UiStateStorageChanged);\r\n }\r\n\r\n /** @public */\r\n public static async setUiStateStorage(storage: UiStateStorage, immediateSync = false) {\r\n if (UiFramework._uiStateStorage === storage)\r\n return;\r\n\r\n UiFramework._uiStateStorage = storage;\r\n await this.initializeStateFromUserSettingsProviders(immediateSync);\r\n }\r\n\r\n /** The UI Settings Storage is a convenient wrapper around Local Storage to assist in caching state information across user sessions.\r\n * It was previously used to conflate both the state information across session and the information driven directly from user explicit action,\r\n * which are now handled with user preferences.\r\n * @public\r\n */\r\n public static getUiStateStorage(): UiStateStorage {\r\n return UiFramework._uiStateStorage;\r\n }\r\n\r\n public static setDefaultIModelViewportControlId(iModelViewportControlId: string, immediateSync = false) {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetDefaultIModelViewportControlId, iModelViewportControlId, immediateSync);\r\n }\r\n\r\n public static getDefaultIModelViewportControlId(): string | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.defaultIModelViewportControlId : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n public static setDefaultViewId(viewId: string, immediateSync = false) {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetDefaultViewId, viewId, immediateSync);\r\n }\r\n\r\n public static getDefaultViewId(): string | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.defaultViewId : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n public static setDefaultViewState(viewState: ViewState, immediateSync = false) {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetDefaultViewState, viewState, immediateSync);\r\n }\r\n public static getDefaultViewState(): ViewState | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.defaultViewState : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n /** @public */\r\n public static getAvailableSelectionScopes(): PresentationSelectionScope[] {\r\n return UiFramework.frameworkState ?\r\n UiFramework.frameworkState.sessionState.availableSelectionScopes :\r\n /* istanbul ignore next */\r\n [{ id: \"element\", label: \"Element\" } as PresentationSelectionScope];\r\n }\r\n\r\n public static getIsUiVisible() {\r\n return UiShowHideManager.isUiVisible;\r\n }\r\n\r\n public static setIsUiVisible(visible: boolean) {\r\n if (UiShowHideManager.isUiVisible !== visible) {\r\n UiShowHideManager.isUiVisible = visible;\r\n UiFramework.onUiVisibilityChanged.emit({ visible });\r\n }\r\n }\r\n\r\n public static setColorTheme(theme: string) {\r\n if (UiFramework.getColorTheme() === theme)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetTheme, theme, true);\r\n }\r\n\r\n public static getColorTheme(): string {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.theme : /* istanbul ignore next */ SYSTEM_PREFERRED_COLOR_THEME;\r\n }\r\n\r\n public static setWidgetOpacity(opacity: number) {\r\n if (UiFramework.getWidgetOpacity() === opacity)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetWidgetOpacity, opacity, true);\r\n }\r\n\r\n public static getWidgetOpacity(): number {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.widgetOpacity : /* istanbul ignore next */ WIDGET_OPACITY_DEFAULT;\r\n }\r\n\r\n public static isMobile() { // eslint-disable-line @itwin/prefer-get\r\n return ProcessDetector.isMobileBrowser;\r\n }\r\n\r\n /** Returns the Ui Version.\r\n * @public\r\n */\r\n public static get uiVersion(): FrameworkVersionId {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.frameworkVersion : this._uiVersion;\r\n }\r\n\r\n public static setUiVersion(version: FrameworkVersionId) {\r\n if (UiFramework.uiVersion === version)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetFrameworkVersion, version === \"1\" ? \"1\" : \"2\", true);\r\n }\r\n\r\n public static get showWidgetIcon(): boolean {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.showWidgetIcon : /* istanbul ignore next */ false;\r\n }\r\n\r\n public static setShowWidgetIcon(value: boolean) {\r\n if (UiFramework.showWidgetIcon === value)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetShowWidgetIcon, value, true);\r\n }\r\n\r\n public static get useDragInteraction(): boolean {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.useDragInteraction : false;\r\n }\r\n\r\n public static setUseDragInteraction(useDragInteraction: boolean) {\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetDragInteraction, useDragInteraction, true);\r\n }\r\n\r\n /** Returns the variable controlling whether the overlay is displayed in a Viewport\r\n * @public\r\n */\r\n public static get viewOverlayDisplay() {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.viewOverlayDisplay : /* istanbul ignore next */ true;\r\n }\r\n /** Set the variable that controls display of the view overlay. Applies to all viewports in the app\r\n * @public\r\n */\r\n public static setViewOverlayDisplay(display: boolean) {\r\n if (UiFramework.viewOverlayDisplay === display)\r\n return;\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetViewOverlayDisplay, display);\r\n }\r\n /** Send logging message to the telemetry system\r\n * @internal\r\n */\r\n // istanbul ignore next\r\n public static async postTelemetry(eventName: string, eventId?: GuidString, iTwinId?: GuidString, iModeId?: GuidString, changeSetId?: string, time?: TrackingTime, additionalProperties?: { [key: string]: any }): Promise<void> {\r\n if (!IModelApp.authorizationClient)\r\n return;\r\n\r\n try {\r\n const activity: RpcActivity = {\r\n sessionId: IModelApp.sessionId,\r\n activityId: \"\",\r\n applicationId: IModelApp.applicationId,\r\n applicationVersion: IModelApp.applicationVersion,\r\n accessToken: (await IModelApp.authorizationClient.getAccessToken()) ?? \"\",\r\n };\r\n const telemetryEvent = new TelemetryEvent(eventName, eventId, iTwinId, iModeId, changeSetId, time, additionalProperties);\r\n await IModelApp.telemetry.postTelemetry(activity, telemetryEvent);\r\n } catch { }\r\n }\r\n /** Determines whether a ContextMenu is open\r\n * @alpha\r\n * */\r\n public static get isContextMenuOpen(): boolean {\r\n const contextMenu = document.querySelector(\"div.core-context-menu-opened\");\r\n return contextMenu !== null && contextMenu !== undefined;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"UiFramework.js","sourceRoot":"","sources":["../../../src/appui-react/UiFramework.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 Utilities\r\n */\r\n\r\n// cSpell:ignore configurableui clientservices\r\n\r\nimport { Store } from \"redux\";\r\nimport { GuidString, Logger, ProcessDetector } from \"@itwin/core-bentley\";\r\nimport { Localization, RpcActivity } from \"@itwin/core-common\";\r\nimport { IModelApp, IModelConnection, SnapMode, ViewState } from \"@itwin/core-frontend\";\r\nimport { Presentation } from \"@itwin/presentation-frontend\";\r\nimport { TelemetryEvent } from \"@itwin/core-telemetry\";\r\nimport { getClassName, UiAdmin, UiError, UiEvent } from \"@itwin/appui-abstract\";\r\nimport { LocalStateStorage, SettingsManager, UiStateStorage } from \"@itwin/core-react\";\r\nimport { UiIModelComponents } from \"@itwin/imodel-components-react\";\r\nimport { BackstageManager } from \"./backstage/BackstageManager\";\r\nimport { ChildWindowManager } from \"./childwindow/ChildWindowManager\";\r\nimport { ConfigurableUiManager } from \"./configurableui/ConfigurableUiManager\";\r\nimport { ConfigurableUiActionId } from \"./configurableui/state\";\r\nimport { FrameworkState } from \"./redux/FrameworkState\";\r\nimport { CursorMenuData, PresentationSelectionScope, SessionStateActionId } from \"./redux/SessionState\";\r\nimport { StateManager } from \"./redux/StateManager\";\r\nimport { HideIsolateEmphasizeActionHandler, HideIsolateEmphasizeManager } from \"./selection/HideIsolateEmphasizeManager\";\r\nimport { SyncUiEventDispatcher, SyncUiEventId } from \"./syncui/SyncUiEventDispatcher\";\r\nimport { SYSTEM_PREFERRED_COLOR_THEME, WIDGET_OPACITY_DEFAULT } from \"./theme/ThemeManager\";\r\nimport * as keyinPaletteTools from \"./tools/KeyinPaletteTools\";\r\nimport * as openSettingTools from \"./tools/OpenSettingsTool\";\r\nimport * as restoreLayoutTools from \"./tools/RestoreLayoutTool\";\r\nimport * as toolSettingTools from \"./tools/ToolSettingsTools\";\r\nimport { UiShowHideManager, UiShowHideSettingsProvider } from \"./utils/UiShowHideManager\";\r\nimport { WidgetManager } from \"./widgets/WidgetManager\";\r\nimport { FrontstageManager } from \"./frontstage/FrontstageManager\";\r\n\r\n// cSpell:ignore Mobi\r\n\r\n/** Defined that available UI Versions. It is recommended to always use the latest version available.\r\n * @public\r\n */\r\nexport type FrameworkVersionId = \"1\" | \"2\";\r\n\r\n/** Interface to be implemented but any classes that wants to load their user settings when the UiStateEntry storage class is set.\r\n * @public\r\n */\r\nexport interface UserSettingsProvider {\r\n /** Unique provider Id */\r\n providerId: string;\r\n /** Function to load settings from settings storage */\r\n loadUserSettings(storage: UiStateStorage): Promise<void>;\r\n}\r\n\r\n/** UiVisibility Event Args interface.\r\n * @public\r\n */\r\nexport interface UiVisibilityEventArgs {\r\n visible: boolean;\r\n}\r\n\r\n/** UiVisibility Event class.\r\n * @public\r\n */\r\nexport class UiVisibilityChangedEvent extends UiEvent<UiVisibilityEventArgs> { }\r\n\r\n/** FrameworkVersion Changed Event Args interface.\r\n * @internal\r\n */\r\nexport interface FrameworkVersionChangedEventArgs {\r\n oldVersion: FrameworkVersionId;\r\n version: FrameworkVersionId;\r\n}\r\n\r\n/** FrameworkVersion Changed Event class.\r\n * @internal\r\n */\r\nexport class FrameworkVersionChangedEvent extends UiEvent<FrameworkVersionChangedEventArgs> { }\r\n\r\n/** TrackingTime time argument used by our feature tracking manager as an option argument to the TelemetryClient\r\n * @internal\r\n */\r\nexport interface TrackingTime {\r\n startTime: Date;\r\n endTime: Date;\r\n}\r\n\r\n/**\r\n * Manages the Redux store, localization service and iModel, Project and Login services for the ui-framework package.\r\n * @public\r\n */\r\nexport class UiFramework {\r\n private static _initialized = false;\r\n private static _store?: Store<any>;\r\n private static _complaint = \"UiFramework not initialized\";\r\n private static _frameworkStateKeyInStore: string = \"frameworkState\"; // default name\r\n private static _backstageManager?: BackstageManager;\r\n private static _widgetManager?: WidgetManager;\r\n private static _uiVersion: FrameworkVersionId = \"2\";\r\n private static _hideIsolateEmphasizeActionHandler?: HideIsolateEmphasizeActionHandler;\r\n /** this provides a default state storage handler */\r\n private static _uiStateStorage: UiStateStorage = new LocalStateStorage();\r\n private static _settingsManager?: SettingsManager;\r\n private static _uiSettingsProviderRegistry: Map<string, UserSettingsProvider> = new Map<string, UserSettingsProvider>();\r\n private static _PopupWindowManager = new ChildWindowManager();\r\n public static useDefaultPopoutUrl = false;\r\n\r\n /** @public */\r\n public static get childWindowManager(): ChildWindowManager {\r\n return UiFramework._PopupWindowManager;\r\n }\r\n\r\n /** Registers class that will be informed when the UserSettingsStorage location has been set or changed. This allows\r\n * classes to load any previously saved settings from the new storage location. Common storage locations are the browser's\r\n * local storage, or the iTwin Product Settings cloud storage available via the SettingsAdmin see `IModelApp.settingsAdmin`.\r\n * @beta\r\n */\r\n public static registerUserSettingsProvider(entry: UserSettingsProvider) {\r\n if (this._uiSettingsProviderRegistry.has(entry.providerId))\r\n return false;\r\n\r\n this._uiSettingsProviderRegistry.set(entry.providerId, entry);\r\n return true;\r\n }\r\n\r\n /** Get Show Ui event.\r\n * @public\r\n */\r\n public static readonly onUiVisibilityChanged = new UiVisibilityChangedEvent();\r\n\r\n /**\r\n * Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.\r\n * @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.\r\n * @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined \"frameworkState\" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use \"frameworkState\".\r\n * @param startInUi1Mode Used for legacy applications to start up in the deprecated UI 1 mode. This should not set by newer applications.\r\n */\r\n public static async initialize(store: Store<any> | undefined, frameworkStateKey?: string, startInUi1Mode?: boolean): Promise<void> {\r\n return this.initializeEx(store, frameworkStateKey, startInUi1Mode);\r\n }\r\n\r\n /**\r\n * Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.\r\n * @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.\r\n * @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined \"frameworkState\" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use \"frameworkState\".\r\n * @param startInUi1Mode Used for legacy applications to start up in the deprecated UI 1 mode. This should not set by newer applications.\r\n *\r\n * @internal\r\n */\r\n public static async initializeEx(store: Store<any> | undefined, frameworkStateKey?: string, startInUi1Mode?: boolean): Promise<void> {\r\n if (UiFramework._initialized) {\r\n Logger.logInfo(UiFramework.loggerCategory(UiFramework), `UiFramework.initialize already called`);\r\n return;\r\n }\r\n\r\n /* if store is undefined then the StateManager class should have been initialized by parent app and the apps default set of reducers registered with it.\r\n If the app has no reducers to add and does not initialize a StateManager then just initialize the StateManager with the default framework reducer now */\r\n if (undefined === store && !StateManager.isInitialized(true))\r\n new StateManager();\r\n\r\n UiFramework._store = store;\r\n // ignore setting _frameworkStateKeyInStore if not using store\r\n if (frameworkStateKey && store)\r\n UiFramework._frameworkStateKeyInStore = frameworkStateKey;\r\n\r\n if (startInUi1Mode)\r\n UiFramework.store.dispatch({ type: ConfigurableUiActionId.SetFrameworkVersion, payload: \"1\" });\r\n\r\n // set up namespace and register all tools from package\r\n const frameworkNamespace = IModelApp.localization?.registerNamespace(UiFramework.localizationNamespace);\r\n [\r\n restoreLayoutTools,\r\n keyinPaletteTools,\r\n openSettingTools,\r\n toolSettingTools,\r\n ].forEach((tool) => IModelApp.tools.registerModule(tool, this.localizationNamespace));\r\n\r\n UiFramework._backstageManager = new BackstageManager();\r\n UiFramework._hideIsolateEmphasizeActionHandler = new HideIsolateEmphasizeManager(); // this allows user to override the default HideIsolateEmphasizeManager implementation.\r\n UiFramework._widgetManager = new WidgetManager();\r\n\r\n // Initialize ui-imodel-components, ui-components, ui-core & ui-abstract\r\n await UiIModelComponents.initialize();\r\n\r\n UiFramework.settingsManager.onSettingsProvidersChanged.addListener(() => {\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.SettingsProvidersChanged);\r\n });\r\n\r\n // Initialize the MessagePresenter interface in UiAdmin for Editor notifications\r\n UiAdmin.messagePresenter = IModelApp.notifications;\r\n\r\n UiFramework._initialized = true;\r\n\r\n // initialize any standalone settings providers that don't need to have defaults set by iModelApp\r\n UiShowHideSettingsProvider.initialize();\r\n\r\n ConfigurableUiManager.initialize();\r\n\r\n return frameworkNamespace;\r\n }\r\n\r\n /** Un-registers the UiFramework internationalization service namespace */\r\n public static terminate() {\r\n UiFramework._store = undefined;\r\n UiFramework._frameworkStateKeyInStore = \"frameworkState\";\r\n if (StateManager.isInitialized(true))\r\n StateManager.clearStore();\r\n // istanbul ignore next\r\n IModelApp.localization?.unregisterNamespace(UiFramework.localizationNamespace);\r\n UiFramework._backstageManager = undefined;\r\n UiFramework._widgetManager = undefined;\r\n UiFramework._hideIsolateEmphasizeActionHandler = undefined;\r\n UiFramework._settingsManager = undefined;\r\n\r\n UiIModelComponents.terminate();\r\n UiShowHideManager.terminate();\r\n UiFramework._initialized = false;\r\n }\r\n\r\n /** Determines if UiFramework has been initialized */\r\n public static get initialized(): boolean { return UiFramework._initialized; }\r\n\r\n /** Property that returns the SettingManager used by AppUI-based applications.\r\n * @public\r\n */\r\n public static get settingsManager() {\r\n if (undefined === UiFramework._settingsManager)\r\n UiFramework._settingsManager = new SettingsManager();\r\n return UiFramework._settingsManager;\r\n }\r\n\r\n /** @public */\r\n public static get frameworkStateKey(): string {\r\n return UiFramework._frameworkStateKeyInStore;\r\n }\r\n\r\n /** The UiFramework state maintained by Redux\r\n * @public\r\n */\r\n public static get frameworkState(): FrameworkState | undefined {\r\n try {\r\n // eslint-disable-next-line dot-notation\r\n return UiFramework.store.getState()[UiFramework.frameworkStateKey];\r\n } catch (_e) {\r\n return undefined;\r\n }\r\n }\r\n\r\n /** The Redux store */\r\n public static get store(): Store<any> {\r\n if (UiFramework._store)\r\n return UiFramework._store;\r\n\r\n // istanbul ignore else\r\n if (!StateManager.isInitialized(true))\r\n throw new UiError(UiFramework.loggerCategory(this), `Error trying to access redux store before either store or StateManager has been initialized.`);\r\n\r\n // istanbul ignore next\r\n return StateManager.store;\r\n }\r\n\r\n /** The internationalization service created by the app.\r\n * @internal\r\n */\r\n public static get localization(): Localization {\r\n // istanbul ignore next\r\n if (!IModelApp.localization)\r\n throw new UiError(UiFramework.loggerCategory(this), `IModelApp.localization has not been defined.`);\r\n return IModelApp.localization;\r\n }\r\n\r\n /** The internationalization service namespace. */\r\n public static get localizationNamespace(): string {\r\n return \"UiFramework\";\r\n }\r\n\r\n /** @public */\r\n public static get backstageManager(): BackstageManager {\r\n // istanbul ignore next\r\n if (!UiFramework._backstageManager)\r\n throw new UiError(UiFramework.loggerCategory(this), UiFramework._complaint);\r\n return UiFramework._backstageManager;\r\n }\r\n\r\n /** @alpha */\r\n public static get hideIsolateEmphasizeActionHandler(): HideIsolateEmphasizeActionHandler {\r\n // istanbul ignore next\r\n if (!UiFramework._hideIsolateEmphasizeActionHandler)\r\n throw new UiError(UiFramework.loggerCategory(this), UiFramework._complaint);\r\n return UiFramework._hideIsolateEmphasizeActionHandler;\r\n }\r\n\r\n /** @alpha */\r\n public static setHideIsolateEmphasizeActionHandler(handler: HideIsolateEmphasizeActionHandler | undefined) {\r\n // istanbul ignore else\r\n if (handler)\r\n UiFramework._hideIsolateEmphasizeActionHandler = handler;\r\n else\r\n UiFramework._hideIsolateEmphasizeActionHandler = new HideIsolateEmphasizeManager();\r\n }\r\n\r\n /** @alpha */\r\n public static get widgetManager(): WidgetManager {\r\n // istanbul ignore next\r\n if (!UiFramework._widgetManager)\r\n throw new UiError(UiFramework.loggerCategory(this), UiFramework._complaint);\r\n return UiFramework._widgetManager;\r\n }\r\n\r\n /** Calls localization.getLocalizedStringWithNamespace with the \"UiFramework\" namespace. Do NOT include the namespace in the key.\r\n * @internal\r\n */\r\n public static translate(key: string | string[]): string {\r\n return IModelApp.localization.getLocalizedStringWithNamespace(UiFramework.localizationNamespace, key);\r\n }\r\n\r\n /** @internal */\r\n public static get packageName(): string {\r\n return \"appui-react\";\r\n }\r\n\r\n /** @internal */\r\n public static loggerCategory(obj: any): string {\r\n const className = getClassName(obj);\r\n const category = UiFramework.packageName + (className ? `.${className}` : \"\");\r\n return category;\r\n }\r\n\r\n public static dispatchActionToStore(type: string, payload: any, immediateSync = false) {\r\n UiFramework.store.dispatch({ type, payload });\r\n if (immediateSync)\r\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(type);\r\n else\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(type);\r\n }\r\n\r\n public static setAccudrawSnapMode(snapMode: SnapMode) {\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetSnapMode, snapMode, true);\r\n }\r\n\r\n public static getAccudrawSnapMode(): SnapMode {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.snapMode : /* istanbul ignore next */ SnapMode.NearestKeypoint;\r\n }\r\n\r\n public static getActiveSelectionScope(): string {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.activeSelectionScope : /* istanbul ignore next */ \"element\";\r\n }\r\n\r\n public static setActiveSelectionScope(selectionScopeId: string): void {\r\n // istanbul ignore else\r\n if (UiFramework.frameworkState) {\r\n const foundIndex = UiFramework.frameworkState.sessionState.availableSelectionScopes.findIndex((selectionScope: PresentationSelectionScope) => selectionScope.id === selectionScopeId);\r\n if (-1 !== foundIndex) {\r\n const scope = UiFramework.frameworkState.sessionState.availableSelectionScopes[foundIndex];\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetSelectionScope, scope.id);\r\n Presentation.selection.scopes.activeScope = scope.id;\r\n }\r\n }\r\n }\r\n\r\n /** @public */\r\n public static openCursorMenu(menuData: CursorMenuData | undefined): void {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.UpdateCursorMenu, menuData);\r\n }\r\n\r\n /** @public */\r\n public static closeCursorMenu(): void {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.UpdateCursorMenu, undefined);\r\n }\r\n\r\n /** @public */\r\n public static getCursorMenuData(): CursorMenuData | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.cursorMenuData : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n public static getActiveIModelId(): string {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.iModelId : /* istanbul ignore next */ \"\";\r\n }\r\n\r\n public static setActiveIModelId(iModelId: string): void {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetActiveIModelId, iModelId);\r\n }\r\n\r\n public static setIModelConnection(iModelConnection: IModelConnection | undefined, immediateSync = false) {\r\n const oldConnection = UiFramework.getIModelConnection();\r\n if (oldConnection !== iModelConnection) {\r\n if (oldConnection?.iModelId)\r\n FrontstageManager.clearFrontstageDefsForIModelId(oldConnection.iModelId);\r\n oldConnection && undefined === iModelConnection && SyncUiEventDispatcher.clearConnectionEvents(oldConnection);\r\n iModelConnection && SyncUiEventDispatcher.initializeConnectionEvents(iModelConnection);\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetIModelConnection, iModelConnection, immediateSync);\r\n }\r\n UiFramework.setActiveIModelId(iModelConnection?.iModelId ?? \"\");\r\n }\r\n\r\n public static getIModelConnection(): IModelConnection | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.iModelConnection : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n /** Called by iModelApp to initialize saved UI state from registered UseSettingsProviders\r\n * @public\r\n */\r\n public static async initializeStateFromUserSettingsProviders(immediateSync = false) {\r\n // let any registered providers to load values from the new storage location\r\n const providerKeys = [...this._uiSettingsProviderRegistry.keys()];\r\n for await (const key of providerKeys) {\r\n await this._uiSettingsProviderRegistry.get(key)!.loadUserSettings(UiFramework._uiStateStorage);\r\n }\r\n\r\n // istanbul ignore next\r\n if (immediateSync)\r\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(SyncUiEventId.UiStateStorageChanged);\r\n else\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.UiStateStorageChanged);\r\n }\r\n\r\n /** @public */\r\n public static async setUiStateStorage(storage: UiStateStorage, immediateSync = false) {\r\n if (UiFramework._uiStateStorage === storage)\r\n return;\r\n\r\n UiFramework._uiStateStorage = storage;\r\n await this.initializeStateFromUserSettingsProviders(immediateSync);\r\n }\r\n\r\n /** The UI Settings Storage is a convenient wrapper around Local Storage to assist in caching state information across user sessions.\r\n * It was previously used to conflate both the state information across session and the information driven directly from user explicit action,\r\n * which are now handled with user preferences.\r\n * @public\r\n */\r\n public static getUiStateStorage(): UiStateStorage {\r\n return UiFramework._uiStateStorage;\r\n }\r\n\r\n public static setDefaultIModelViewportControlId(iModelViewportControlId: string, immediateSync = false) {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetDefaultIModelViewportControlId, iModelViewportControlId, immediateSync);\r\n }\r\n\r\n public static getDefaultIModelViewportControlId(): string | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.defaultIModelViewportControlId : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n public static setDefaultViewId(viewId: string, immediateSync = false) {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetDefaultViewId, viewId, immediateSync);\r\n }\r\n\r\n public static getDefaultViewId(): string | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.defaultViewId : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n public static setDefaultViewState(viewState: ViewState, immediateSync = false) {\r\n UiFramework.dispatchActionToStore(SessionStateActionId.SetDefaultViewState, viewState, immediateSync);\r\n }\r\n public static getDefaultViewState(): ViewState | undefined {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.sessionState.defaultViewState : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n /** @public */\r\n public static getAvailableSelectionScopes(): PresentationSelectionScope[] {\r\n return UiFramework.frameworkState ?\r\n UiFramework.frameworkState.sessionState.availableSelectionScopes :\r\n /* istanbul ignore next */\r\n [{ id: \"element\", label: \"Element\" } as PresentationSelectionScope];\r\n }\r\n\r\n public static getIsUiVisible() {\r\n return UiShowHideManager.isUiVisible;\r\n }\r\n\r\n public static setIsUiVisible(visible: boolean) {\r\n if (UiShowHideManager.isUiVisible !== visible) {\r\n UiShowHideManager.isUiVisible = visible;\r\n UiFramework.onUiVisibilityChanged.emit({ visible });\r\n }\r\n }\r\n\r\n public static setColorTheme(theme: string) {\r\n if (UiFramework.getColorTheme() === theme)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetTheme, theme, true);\r\n }\r\n\r\n public static getColorTheme(): string {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.theme : /* istanbul ignore next */ SYSTEM_PREFERRED_COLOR_THEME;\r\n }\r\n\r\n public static setWidgetOpacity(opacity: number) {\r\n if (UiFramework.getWidgetOpacity() === opacity)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetWidgetOpacity, opacity, true);\r\n }\r\n\r\n public static getWidgetOpacity(): number {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.widgetOpacity : /* istanbul ignore next */ WIDGET_OPACITY_DEFAULT;\r\n }\r\n\r\n public static isMobile() { // eslint-disable-line @itwin/prefer-get\r\n return ProcessDetector.isMobileBrowser;\r\n }\r\n\r\n /** Returns the Ui Version.\r\n * @public\r\n */\r\n public static get uiVersion(): FrameworkVersionId {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.frameworkVersion : this._uiVersion;\r\n }\r\n\r\n public static setUiVersion(version: FrameworkVersionId) {\r\n if (UiFramework.uiVersion === version)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetFrameworkVersion, version === \"1\" ? \"1\" : \"2\", true);\r\n }\r\n\r\n public static get showWidgetIcon(): boolean {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.showWidgetIcon : /* istanbul ignore next */ false;\r\n }\r\n\r\n public static setShowWidgetIcon(value: boolean) {\r\n if (UiFramework.showWidgetIcon === value)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetShowWidgetIcon, value, true);\r\n }\r\n\r\n public static get useDragInteraction(): boolean {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.useDragInteraction : false;\r\n }\r\n\r\n public static setUseDragInteraction(useDragInteraction: boolean) {\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetDragInteraction, useDragInteraction, true);\r\n }\r\n\r\n /** Returns the variable controlling whether the overlay is displayed in a Viewport\r\n * @public\r\n */\r\n public static get viewOverlayDisplay() {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.viewOverlayDisplay : /* istanbul ignore next */ true;\r\n }\r\n /** Set the variable that controls display of the view overlay. Applies to all viewports in the app\r\n * @public\r\n */\r\n public static setViewOverlayDisplay(display: boolean) {\r\n if (UiFramework.viewOverlayDisplay === display)\r\n return;\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.SetViewOverlayDisplay, display);\r\n }\r\n /** Send logging message to the telemetry system\r\n * @internal\r\n */\r\n // istanbul ignore next\r\n public static async postTelemetry(eventName: string, eventId?: GuidString, iTwinId?: GuidString, iModeId?: GuidString, changeSetId?: string, time?: TrackingTime, additionalProperties?: { [key: string]: any }): Promise<void> {\r\n if (!IModelApp.authorizationClient)\r\n return;\r\n\r\n try {\r\n const activity: RpcActivity = {\r\n sessionId: IModelApp.sessionId,\r\n activityId: \"\",\r\n applicationId: IModelApp.applicationId,\r\n applicationVersion: IModelApp.applicationVersion,\r\n accessToken: (await IModelApp.authorizationClient.getAccessToken()) ?? \"\",\r\n };\r\n const telemetryEvent = new TelemetryEvent(eventName, eventId, iTwinId, iModeId, changeSetId, time, additionalProperties);\r\n await IModelApp.telemetry.postTelemetry(activity, telemetryEvent);\r\n } catch { }\r\n }\r\n /** Determines whether a ContextMenu is open\r\n * @alpha\r\n * */\r\n public static get isContextMenuOpen(): boolean {\r\n const contextMenu = document.querySelector(\"div.core-context-menu-opened\");\r\n return contextMenu !== null && contextMenu !== undefined;\r\n }\r\n}\r\n"]}
@@ -17,7 +17,6 @@ export declare class BackstageEvent extends UiEvent<BackstageEventArgs> {
17
17
  }
18
18
  /** Properties for the [[Backstage]] React component.
19
19
  * @public
20
- * @deprecated use [BackstageComposer]($appui-react) instead.
21
20
  */
22
21
  export interface BackstageProps extends CommonProps {
23
22
  isVisible?: boolean;
@@ -33,7 +32,6 @@ interface BackstageState {
33
32
  }
34
33
  /** Backstage React component.
35
34
  * @public
36
- * @deprecated use [BackstageComposer]($appui-react) instead.
37
35
  */
38
36
  export declare class Backstage extends React.Component<BackstageProps, BackstageState> {
39
37
  static readonly onBackstageEvent: BackstageEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"Backstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/Backstage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQnE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,OAAO,CAAC,kBAAkB,CAAC;CAAI;AAEnE;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAE5E,gBAAuB,gBAAgB,iBAAwB;IAC/D,OAAc,kBAAkB,EAAE,OAAO,CAAC;IAE1C,0BAA0B;WACZ,IAAI,IAAI,IAAI;IAI1B,0BAA0B;WACZ,IAAI,IAAI,IAAI;IAI1B,mGAAmG;WACrF,yBAAyB,CAAC,gBAAgB,CAAC,EAAE,QAAQ;IAInE,yCAAyC;IACzC,WAAkB,sBAAsB,sDAEvC;IAED,gBAAgB;IAChB,SAAyB,KAAK,EAAE,cAAc,CAAC;gBAEnC,KAAK,EAAE,cAAc;IASjB,iBAAiB;IAIjB,oBAAoB;IAIpC,OAAO,CAAC,qBAAqB,CAE3B;IAEc,kBAAkB,CAAC,SAAS,EAAE,cAAc;IAK5D,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,QAAQ,CAMd;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;CA0B1C"}
1
+ {"version":3,"file":"Backstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/Backstage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQnE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,OAAO,CAAC,kBAAkB,CAAC;CAAI;AAEnE;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAE5E,gBAAuB,gBAAgB,iBAAwB;IAC/D,OAAc,kBAAkB,EAAE,OAAO,CAAC;IAE1C,0BAA0B;WACZ,IAAI,IAAI,IAAI;IAI1B,0BAA0B;WACZ,IAAI,IAAI,IAAI;IAI1B,mGAAmG;WACrF,yBAAyB,CAAC,gBAAgB,CAAC,EAAE,QAAQ;IAInE,yCAAyC;IACzC,WAAkB,sBAAsB,sDAEvC;IAED,gBAAgB;IAChB,SAAyB,KAAK,EAAE,cAAc,CAAC;gBAEnC,KAAK,EAAE,cAAc;IASjB,iBAAiB;IAIjB,oBAAoB;IAIpC,OAAO,CAAC,qBAAqB,CAE3B;IAEc,kBAAkB,CAAC,SAAS,EAAE,cAAc;IAK5D,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,QAAQ,CAMd;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;CA0B1C"}
@@ -22,7 +22,6 @@ class BackstageEvent extends core_react_1.UiEvent {
22
22
  exports.BackstageEvent = BackstageEvent;
23
23
  /** Backstage React component.
24
24
  * @public
25
- * @deprecated use [BackstageComposer]($appui-react) instead.
26
25
  */
27
26
  class Backstage extends React.Component {
28
27
  constructor(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"Backstage.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/Backstage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonProps, IconSpec, UiEvent } from \"@itwin/core-react\";\r\nimport { Backstage as NZ_Backstage } from \"@itwin/appui-layout-react\";\r\nimport { SafeAreaContext } from \"../safearea/SafeAreaContext\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { BackstageManager } from \"./BackstageManager\";\r\n\r\n// cSpell:ignore safearea\r\n\r\n/** [[BackstageEvent]] arguments.\r\n * @public\r\n * @deprecated use [BackstageComposer]($appui-react) instead.\r\n */\r\nexport interface BackstageEventArgs {\r\n isVisible: boolean;\r\n}\r\n\r\n/** Backstage Event class.\r\n * @public\r\n */\r\nexport class BackstageEvent extends UiEvent<BackstageEventArgs> { } // eslint-disable-line deprecation/deprecation\r\n\r\n/** Properties for the [[Backstage]] React component.\r\n * @public\r\n * @deprecated use [BackstageComposer]($appui-react) instead.\r\n */\r\nexport interface BackstageProps extends CommonProps {\r\n isVisible?: boolean;\r\n showOverlay?: boolean;\r\n onClose?: () => void;\r\n header?: React.ReactNode;\r\n}\r\n\r\n/** State for the [[Backstage]] React component.\r\n * @internal\r\n */\r\ninterface BackstageState {\r\n isVisible: boolean;\r\n}\r\n\r\n/** Backstage React component.\r\n * @public\r\n * @deprecated use [BackstageComposer]($appui-react) instead.\r\n */\r\nexport class Backstage extends React.Component<BackstageProps, BackstageState> { // eslint-disable-line deprecation/deprecation\r\n\r\n public static readonly onBackstageEvent = new BackstageEvent();\r\n public static isBackstageVisible: boolean;\r\n\r\n /** Shows the Backstage */\r\n public static show(): void {\r\n UiFramework.backstageManager.open();\r\n }\r\n\r\n /** Hides the Backstage */\r\n public static hide(): void {\r\n UiFramework.backstageManager.close();\r\n }\r\n\r\n /** Get CommandItemDef that will toggle display of Backstage and allow iconSpec to be overridden */\r\n public static getBackstageToggleCommand(overrideIconSpec?: IconSpec) {\r\n return BackstageManager.getBackstageToggleCommand(overrideIconSpec);\r\n }\r\n\r\n /** Command that toggles the Backstage */\r\n public static get backstageToggleCommand() {\r\n return this.getBackstageToggleCommand();\r\n }\r\n\r\n /** @internal */\r\n public override readonly state: BackstageState;\r\n\r\n constructor(props: BackstageProps) { // eslint-disable-line deprecation/deprecation\r\n super(props);\r\n\r\n this.setIsOpen(!!this.props.isVisible);\r\n this.state = {\r\n isVisible: UiFramework.backstageManager.isOpen,\r\n };\r\n }\r\n\r\n public override componentDidMount() {\r\n Backstage.onBackstageEvent.addListener(this._handleBackstageEvent); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n public override componentWillUnmount() {\r\n Backstage.onBackstageEvent.removeListener(this._handleBackstageEvent); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n private _handleBackstageEvent = (args: BackstageEventArgs) => { // eslint-disable-line deprecation/deprecation\r\n this.setState({ isVisible: args.isVisible });\r\n };\r\n\r\n public override componentDidUpdate(prevProps: BackstageProps) { // eslint-disable-line deprecation/deprecation\r\n if (this.props.isVisible !== prevProps.isVisible)\r\n this.setIsOpen(!!this.props.isVisible);\r\n }\r\n\r\n private setIsOpen(isOpen: boolean) {\r\n if (isOpen) {\r\n UiFramework.backstageManager.open();\r\n } else {\r\n UiFramework.backstageManager.close();\r\n }\r\n }\r\n\r\n private _onClose = () => {\r\n Backstage.hide(); // eslint-disable-line deprecation/deprecation\r\n\r\n /* istanbul ignore else */\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n Backstage.isBackstageVisible = this.state.isVisible; // eslint-disable-line deprecation/deprecation\r\n\r\n let header: React.ReactNode = null;\r\n\r\n if (this.props.header)\r\n header = this.props.header;\r\n\r\n return (\r\n <SafeAreaContext.Consumer>\r\n {(safeAreaInsets) => (\r\n <NZ_Backstage\r\n className={this.props.className}\r\n header={header}\r\n isOpen={this.state.isVisible}\r\n onClose={this._onClose}\r\n safeAreaInsets={safeAreaInsets}\r\n showOverlay={this.props.showOverlay}\r\n style={this.props.style}\r\n >\r\n {this.props.children}\r\n </NZ_Backstage>\r\n )}\r\n </SafeAreaContext.Consumer>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Backstage.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/Backstage.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,kDAAmE;AACnE,kEAAsE;AACtE,iEAA8D;AAC9D,gDAA6C;AAC7C,yDAAsD;AAYtD;;GAEG;AACH,MAAa,cAAe,SAAQ,oBAA2B;CAAI,CAAC,8CAA8C;AAAlH,wCAAmE;AAmBnE;;GAEG;AACH,MAAa,SAAU,SAAQ,KAAK,CAAC,SAAyC;IA4B5E,YAAY,KAAqB;QAC/B,KAAK,CAAC,KAAK,CAAC,CAAC;QAgBP,0BAAqB,GAAG,CAAC,IAAwB,EAAE,EAAE;YAC3D,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC;QAeM,aAAQ,GAAG,GAAG,EAAE;YACtB,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,8CAA8C;YAEhE,0BAA0B;YAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;gBACpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC,CAAC;QArCA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG;YACX,SAAS,EAAE,yBAAW,CAAC,gBAAgB,CAAC,MAAM;SAC/C,CAAC;IACJ,CAAC;IA9BD,0BAA0B;IACnB,MAAM,CAAC,IAAI;QAChB,yBAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,0BAA0B;IACnB,MAAM,CAAC,IAAI;QAChB,yBAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,mGAAmG;IAC5F,MAAM,CAAC,yBAAyB,CAAC,gBAA2B;QACjE,OAAO,mCAAgB,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IACtE,CAAC;IAED,yCAAyC;IAClC,MAAM,KAAK,sBAAsB;QACtC,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAC1C,CAAC;IAce,iBAAiB;QAC/B,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,8CAA8C;IACpH,CAAC;IAEe,oBAAoB;QAClC,SAAS,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,8CAA8C;IACvH,CAAC;IAMe,kBAAkB,CAAC,SAAyB;QAC1D,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS;YAC9C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAEO,SAAS,CAAC,MAAe;QAC/B,IAAI,MAAM,EAAE;YACV,yBAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;SACrC;aAAM;YACL,yBAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;SACtC;IACH,CAAC;IAUe,MAAM;QACpB,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,8CAA8C;QAEnG,IAAI,MAAM,GAAoB,IAAI,CAAC;QAEnC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;YACnB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAE7B,OAAO,CACL,oBAAC,iCAAe,CAAC,QAAQ,QACtB,CAAC,cAAc,EAAE,EAAE,CAAC,CACnB,oBAAC,8BAAY,IACX,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EACnC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAEtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CACP,CAChB,CACwB,CAC5B,CAAC;IACJ,CAAC;;AA/FH,8BAgGC;AA9FwB,0BAAgB,GAAG,IAAI,cAAc,EAAE,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 Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonProps, IconSpec, UiEvent } from \"@itwin/core-react\";\r\nimport { Backstage as NZ_Backstage } from \"@itwin/appui-layout-react\";\r\nimport { SafeAreaContext } from \"../safearea/SafeAreaContext\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { BackstageManager } from \"./BackstageManager\";\r\n\r\n// cSpell:ignore safearea\r\n\r\n/** [[BackstageEvent]] arguments.\r\n * @public\r\n * @deprecated use [BackstageComposer]($appui-react) instead.\r\n */\r\nexport interface BackstageEventArgs {\r\n isVisible: boolean;\r\n}\r\n\r\n/** Backstage Event class.\r\n * @public\r\n */\r\nexport class BackstageEvent extends UiEvent<BackstageEventArgs> { } // eslint-disable-line deprecation/deprecation\r\n\r\n/** Properties for the [[Backstage]] React component.\r\n * @public\r\n */\r\nexport interface BackstageProps extends CommonProps {\r\n isVisible?: boolean;\r\n showOverlay?: boolean;\r\n onClose?: () => void;\r\n header?: React.ReactNode;\r\n}\r\n\r\n/** State for the [[Backstage]] React component.\r\n * @internal\r\n */\r\ninterface BackstageState {\r\n isVisible: boolean;\r\n}\r\n\r\n/** Backstage React component.\r\n * @public\r\n */\r\nexport class Backstage extends React.Component<BackstageProps, BackstageState> { // eslint-disable-line deprecation/deprecation\r\n\r\n public static readonly onBackstageEvent = new BackstageEvent();\r\n public static isBackstageVisible: boolean;\r\n\r\n /** Shows the Backstage */\r\n public static show(): void {\r\n UiFramework.backstageManager.open();\r\n }\r\n\r\n /** Hides the Backstage */\r\n public static hide(): void {\r\n UiFramework.backstageManager.close();\r\n }\r\n\r\n /** Get CommandItemDef that will toggle display of Backstage and allow iconSpec to be overridden */\r\n public static getBackstageToggleCommand(overrideIconSpec?: IconSpec) {\r\n return BackstageManager.getBackstageToggleCommand(overrideIconSpec);\r\n }\r\n\r\n /** Command that toggles the Backstage */\r\n public static get backstageToggleCommand() {\r\n return this.getBackstageToggleCommand();\r\n }\r\n\r\n /** @internal */\r\n public override readonly state: BackstageState;\r\n\r\n constructor(props: BackstageProps) { // eslint-disable-line deprecation/deprecation\r\n super(props);\r\n\r\n this.setIsOpen(!!this.props.isVisible);\r\n this.state = {\r\n isVisible: UiFramework.backstageManager.isOpen,\r\n };\r\n }\r\n\r\n public override componentDidMount() {\r\n Backstage.onBackstageEvent.addListener(this._handleBackstageEvent); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n public override componentWillUnmount() {\r\n Backstage.onBackstageEvent.removeListener(this._handleBackstageEvent); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n private _handleBackstageEvent = (args: BackstageEventArgs) => { // eslint-disable-line deprecation/deprecation\r\n this.setState({ isVisible: args.isVisible });\r\n };\r\n\r\n public override componentDidUpdate(prevProps: BackstageProps) { // eslint-disable-line deprecation/deprecation\r\n if (this.props.isVisible !== prevProps.isVisible)\r\n this.setIsOpen(!!this.props.isVisible);\r\n }\r\n\r\n private setIsOpen(isOpen: boolean) {\r\n if (isOpen) {\r\n UiFramework.backstageManager.open();\r\n } else {\r\n UiFramework.backstageManager.close();\r\n }\r\n }\r\n\r\n private _onClose = () => {\r\n Backstage.hide(); // eslint-disable-line deprecation/deprecation\r\n\r\n /* istanbul ignore else */\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n Backstage.isBackstageVisible = this.state.isVisible; // eslint-disable-line deprecation/deprecation\r\n\r\n let header: React.ReactNode = null;\r\n\r\n if (this.props.header)\r\n header = this.props.header;\r\n\r\n return (\r\n <SafeAreaContext.Consumer>\r\n {(safeAreaInsets) => (\r\n <NZ_Backstage\r\n className={this.props.className}\r\n header={header}\r\n isOpen={this.state.isVisible}\r\n onClose={this._onClose}\r\n safeAreaInsets={safeAreaInsets}\r\n showOverlay={this.props.showOverlay}\r\n style={this.props.style}\r\n >\r\n {this.props.children}\r\n </NZ_Backstage>\r\n )}\r\n </SafeAreaContext.Consumer>\r\n );\r\n }\r\n}\r\n"]}
@@ -21,6 +21,7 @@ export declare function BackstageComposerStageLauncher({ item }: BackstageCompos
21
21
  export interface BackstageComposerItemProps {
22
22
  /** Backstage item to render */
23
23
  readonly item: BackstageItem;
24
+ readonly providerId?: string;
24
25
  }
25
26
  /** Item of [[BackstageComposer]].
26
27
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"BackstageComposerItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposerItem.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAIH,OAAO,EACL,mBAAmB,EAAE,aAAa,EAAE,sBAAsB,EAC3D,MAAM,uBAAuB,CAAC;AAO/B,gBAAgB;AAChB,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAED,gBAAgB;AAChB,wBAAgB,2BAA2B,CAAC,EAAE,IAAI,EAAE,EAAE,gCAAgC,eAmBrF;AAED,gBAAgB;AAChB,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;CACvC;AAED,gBAAgB;AAChB,wBAAgB,8BAA8B,CAAC,EAAE,IAAI,EAAE,EAAE,mCAAmC,eAuB3F;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,0BAA0B,eAazE"}
1
+ {"version":3,"file":"BackstageComposerItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposerItem.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAIH,OAAO,EACL,mBAAmB,EAAE,aAAa,EAAE,sBAAsB,EAC3D,MAAM,uBAAuB,CAAC;AAO/B,gBAAgB;AAChB,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAED,gBAAgB;AAChB,wBAAgB,2BAA2B,CAAC,EAAE,IAAI,EAAE,EAAE,gCAAgC,eAsBrF;AAED,gBAAgB;AAChB,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;CACvC;AAED,gBAAgB;AAChB,wBAAgB,8BAA8B,CAAC,EAAE,IAAI,EAAE,EAAE,mCAAmC,eA0B3F;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,0BAA0B,eAazE"}