@itwin/appui-react 3.5.0-dev.5 → 3.5.0-dev.52

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 (341) hide show
  1. package/CHANGELOG.md +53 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +1 -0
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +1 -1
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/backstage/Backstage.d.ts +3 -0
  7. package/lib/cjs/appui-react/backstage/Backstage.d.ts.map +1 -1
  8. package/lib/cjs/appui-react/backstage/Backstage.js +3 -1
  9. package/lib/cjs/appui-react/backstage/Backstage.js.map +1 -1
  10. package/lib/cjs/appui-react/backstage/CommandLaunch.js +1 -1
  11. package/lib/cjs/appui-react/backstage/CommandLaunch.js.map +1 -1
  12. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +1 -0
  13. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  14. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  15. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  16. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  17. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +2 -2
  18. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  19. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts +3 -0
  20. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  21. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  22. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +2 -0
  23. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  24. package/lib/cjs/appui-react/frontstage/FrontstageManager.js +4 -0
  25. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  26. package/lib/cjs/appui-react/hooks/useFrameworkVersion.d.ts +13 -3
  27. package/lib/cjs/appui-react/hooks/useFrameworkVersion.d.ts.map +1 -1
  28. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js +15 -7
  29. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  30. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts +1 -0
  31. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts.map +1 -1
  32. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  33. package/lib/cjs/appui-react/messages/ActivityMessagePopup.d.ts +2 -0
  34. package/lib/cjs/appui-react/messages/ActivityMessagePopup.d.ts.map +1 -1
  35. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js +1 -0
  36. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  37. package/lib/cjs/appui-react/messages/StatusMessageRenderer.d.ts +1 -0
  38. package/lib/cjs/appui-react/messages/StatusMessageRenderer.d.ts.map +1 -1
  39. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  40. package/lib/cjs/appui-react/messages/StickyMessage.d.ts +1 -0
  41. package/lib/cjs/appui-react/messages/StickyMessage.d.ts.map +1 -1
  42. package/lib/cjs/appui-react/messages/StickyMessage.js.map +1 -1
  43. package/lib/cjs/appui-react/messages/ToastMessage.d.ts +1 -0
  44. package/lib/cjs/appui-react/messages/ToastMessage.d.ts.map +1 -1
  45. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  46. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +1 -0
  47. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  48. package/lib/cjs/appui-react/pickers/ListPicker.js +4 -2
  49. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  50. package/lib/cjs/appui-react/pickers/ListPicker.scss +2 -1
  51. package/lib/cjs/appui-react/safearea/SafeAreaContext.d.ts +1 -0
  52. package/lib/cjs/appui-react/safearea/SafeAreaContext.d.ts.map +1 -1
  53. package/lib/cjs/appui-react/safearea/SafeAreaContext.js +2 -1
  54. package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
  55. package/lib/cjs/appui-react/safearea/SafeAreaInsets.d.ts +13 -0
  56. package/lib/cjs/appui-react/safearea/SafeAreaInsets.d.ts.map +1 -0
  57. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js +16 -0
  58. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js.map +1 -0
  59. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js +2 -1
  60. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  61. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js +2 -1
  62. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  63. package/lib/cjs/appui-react/statusbar/Indicator.d.ts +26 -0
  64. package/lib/cjs/appui-react/statusbar/Indicator.d.ts.map +1 -0
  65. package/lib/cjs/appui-react/statusbar/Indicator.js +38 -0
  66. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -0
  67. package/lib/cjs/appui-react/statusbar/Indicator.scss +110 -0
  68. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts +24 -0
  69. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts.map +1 -0
  70. package/lib/cjs/appui-react/statusbar/LabelIndicator.js +29 -0
  71. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -0
  72. package/lib/cjs/appui-react/statusbar/LabelIndicator.scss +43 -0
  73. package/lib/cjs/appui-react/statusbar/Separator.d.ts +10 -0
  74. package/lib/cjs/appui-react/statusbar/Separator.d.ts.map +1 -0
  75. package/lib/cjs/appui-react/statusbar/Separator.js +21 -0
  76. package/lib/cjs/appui-react/statusbar/Separator.js.map +1 -0
  77. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +2 -1
  78. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  79. package/lib/cjs/appui-react/statusbar/dialog/Button.d.ts +21 -0
  80. package/lib/cjs/appui-react/statusbar/dialog/Button.d.ts.map +1 -0
  81. package/lib/cjs/appui-react/statusbar/dialog/Button.js +20 -0
  82. package/lib/cjs/appui-react/statusbar/dialog/Button.js.map +1 -0
  83. package/lib/cjs/appui-react/statusbar/dialog/Dialog.d.ts +30 -0
  84. package/lib/cjs/appui-react/statusbar/dialog/Dialog.d.ts.map +1 -0
  85. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js +31 -0
  86. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js.map +1 -0
  87. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.d.ts +19 -0
  88. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.d.ts.map +1 -0
  89. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.js +20 -0
  90. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.js.map +1 -0
  91. package/lib/cjs/appui-react/statusfields/Indicator.d.ts +1 -0
  92. package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
  93. package/lib/cjs/appui-react/statusfields/Indicator.js +1 -0
  94. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  95. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  96. package/lib/cjs/appui-react/statusfields/MessageCenter.js +2 -5
  97. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  98. package/lib/cjs/appui-react/statusfields/PromptField.js +2 -1
  99. package/lib/cjs/appui-react/statusfields/PromptField.js.map +1 -1
  100. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  101. package/lib/cjs/appui-react/statusfields/SectionsField.js +4 -2
  102. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  103. package/lib/cjs/appui-react/statusfields/SelectionInfo.js +2 -1
  104. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  105. package/lib/cjs/appui-react/statusfields/SelectionScope.js +2 -1
  106. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  107. package/lib/cjs/appui-react/statusfields/SnapMode.js +2 -1
  108. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  109. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  110. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +3 -2
  111. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  112. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +0 -1
  113. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  114. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -11
  115. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  116. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts +6 -1
  117. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  118. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +14 -0
  119. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  120. package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts +2 -0
  121. package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  122. package/lib/cjs/appui-react/toolbar/ActionItemButton.js +1 -0
  123. package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
  124. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts +2 -0
  125. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  126. package/lib/cjs/appui-react/toolbar/GroupItem.js +1 -0
  127. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  128. package/lib/cjs/appui-react/toolbar/ToolButton.d.ts +2 -0
  129. package/lib/cjs/appui-react/toolbar/ToolButton.d.ts.map +1 -1
  130. package/lib/cjs/appui-react/toolbar/ToolButton.js +1 -0
  131. package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
  132. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +1 -1
  133. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  134. package/lib/cjs/appui-react/tools/RestoreLayoutTool.d.ts +9 -0
  135. package/lib/cjs/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  136. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +17 -1
  137. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  138. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  139. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +3 -3
  140. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  141. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +3 -3
  142. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  143. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -1
  144. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  145. package/lib/cjs/appui-react/uistate/AppUiSettings.js +2 -1
  146. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  147. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  148. package/lib/cjs/appui-react/utils/UiShowHideManager.js +8 -0
  149. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  150. package/lib/cjs/appui-react/widget-panels/FloatingWidget.d.ts +7 -0
  151. package/lib/cjs/appui-react/widget-panels/FloatingWidget.d.ts.map +1 -0
  152. package/lib/cjs/appui-react/widget-panels/FloatingWidget.js +19 -0
  153. package/lib/cjs/appui-react/widget-panels/FloatingWidget.js.map +1 -0
  154. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  155. package/lib/cjs/appui-react/widget-panels/Frontstage.js +31 -20
  156. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  157. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js +1 -1
  158. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  159. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +2 -2
  160. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  161. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +1 -1
  162. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  163. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +4 -0
  164. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  165. package/lib/cjs/appui-react/widgets/WidgetDef.js +8 -1
  166. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  167. package/lib/cjs/appui-react.d.ts +5 -0
  168. package/lib/cjs/appui-react.d.ts.map +1 -1
  169. package/lib/cjs/appui-react.js +5 -0
  170. package/lib/cjs/appui-react.js.map +1 -1
  171. package/lib/esm/appui-react/UiFramework.d.ts +1 -0
  172. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  173. package/lib/esm/appui-react/UiFramework.js +1 -1
  174. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  175. package/lib/esm/appui-react/backstage/Backstage.d.ts +3 -0
  176. package/lib/esm/appui-react/backstage/Backstage.d.ts.map +1 -1
  177. package/lib/esm/appui-react/backstage/Backstage.js +3 -1
  178. package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
  179. package/lib/esm/appui-react/backstage/CommandLaunch.js +1 -1
  180. package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
  181. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +1 -0
  182. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  183. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  184. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  185. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  186. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +2 -2
  187. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  188. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts +3 -0
  189. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  190. package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  191. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +2 -0
  192. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  193. package/lib/esm/appui-react/frontstage/FrontstageManager.js +4 -0
  194. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  195. package/lib/esm/appui-react/hooks/useFrameworkVersion.d.ts +13 -3
  196. package/lib/esm/appui-react/hooks/useFrameworkVersion.d.ts.map +1 -1
  197. package/lib/esm/appui-react/hooks/useFrameworkVersion.js +15 -7
  198. package/lib/esm/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  199. package/lib/esm/appui-react/messages/ActivityMessage.d.ts +1 -0
  200. package/lib/esm/appui-react/messages/ActivityMessage.d.ts.map +1 -1
  201. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  202. package/lib/esm/appui-react/messages/ActivityMessagePopup.d.ts +2 -0
  203. package/lib/esm/appui-react/messages/ActivityMessagePopup.d.ts.map +1 -1
  204. package/lib/esm/appui-react/messages/ActivityMessagePopup.js +1 -0
  205. package/lib/esm/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  206. package/lib/esm/appui-react/messages/StatusMessageRenderer.d.ts +1 -0
  207. package/lib/esm/appui-react/messages/StatusMessageRenderer.d.ts.map +1 -1
  208. package/lib/esm/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  209. package/lib/esm/appui-react/messages/StickyMessage.d.ts +1 -0
  210. package/lib/esm/appui-react/messages/StickyMessage.d.ts.map +1 -1
  211. package/lib/esm/appui-react/messages/StickyMessage.js.map +1 -1
  212. package/lib/esm/appui-react/messages/ToastMessage.d.ts +1 -0
  213. package/lib/esm/appui-react/messages/ToastMessage.d.ts.map +1 -1
  214. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  215. package/lib/esm/appui-react/pickers/ListPicker.d.ts +1 -0
  216. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  217. package/lib/esm/appui-react/pickers/ListPicker.js +4 -2
  218. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  219. package/lib/esm/appui-react/pickers/ListPicker.scss +2 -1
  220. package/lib/esm/appui-react/safearea/SafeAreaContext.d.ts +1 -0
  221. package/lib/esm/appui-react/safearea/SafeAreaContext.d.ts.map +1 -1
  222. package/lib/esm/appui-react/safearea/SafeAreaContext.js +2 -1
  223. package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
  224. package/lib/esm/appui-react/safearea/SafeAreaInsets.d.ts +13 -0
  225. package/lib/esm/appui-react/safearea/SafeAreaInsets.d.ts.map +1 -0
  226. package/lib/esm/appui-react/safearea/SafeAreaInsets.js +13 -0
  227. package/lib/esm/appui-react/safearea/SafeAreaInsets.js.map +1 -0
  228. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js +2 -1
  229. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  230. package/lib/esm/appui-react/shared/ActionButtonItemDef.js +2 -1
  231. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  232. package/lib/esm/appui-react/statusbar/Indicator.d.ts +26 -0
  233. package/lib/esm/appui-react/statusbar/Indicator.d.ts.map +1 -0
  234. package/lib/esm/appui-react/statusbar/Indicator.js +34 -0
  235. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -0
  236. package/lib/esm/appui-react/statusbar/Indicator.scss +110 -0
  237. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts +24 -0
  238. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts.map +1 -0
  239. package/lib/esm/appui-react/statusbar/LabelIndicator.js +25 -0
  240. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -0
  241. package/lib/esm/appui-react/statusbar/LabelIndicator.scss +43 -0
  242. package/lib/esm/appui-react/statusbar/Separator.d.ts +10 -0
  243. package/lib/esm/appui-react/statusbar/Separator.d.ts.map +1 -0
  244. package/lib/esm/appui-react/statusbar/Separator.js +17 -0
  245. package/lib/esm/appui-react/statusbar/Separator.js.map +1 -0
  246. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +2 -1
  247. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  248. package/lib/esm/appui-react/statusbar/dialog/Button.d.ts +21 -0
  249. package/lib/esm/appui-react/statusbar/dialog/Button.d.ts.map +1 -0
  250. package/lib/esm/appui-react/statusbar/dialog/Button.js +16 -0
  251. package/lib/esm/appui-react/statusbar/dialog/Button.js.map +1 -0
  252. package/lib/esm/appui-react/statusbar/dialog/Dialog.d.ts +30 -0
  253. package/lib/esm/appui-react/statusbar/dialog/Dialog.d.ts.map +1 -0
  254. package/lib/esm/appui-react/statusbar/dialog/Dialog.js +27 -0
  255. package/lib/esm/appui-react/statusbar/dialog/Dialog.js.map +1 -0
  256. package/lib/esm/appui-react/statusbar/dialog/TitleBar.d.ts +19 -0
  257. package/lib/esm/appui-react/statusbar/dialog/TitleBar.d.ts.map +1 -0
  258. package/lib/esm/appui-react/statusbar/dialog/TitleBar.js +16 -0
  259. package/lib/esm/appui-react/statusbar/dialog/TitleBar.js.map +1 -0
  260. package/lib/esm/appui-react/statusfields/Indicator.d.ts +1 -0
  261. package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
  262. package/lib/esm/appui-react/statusfields/Indicator.js +1 -0
  263. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  264. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  265. package/lib/esm/appui-react/statusfields/MessageCenter.js +2 -5
  266. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  267. package/lib/esm/appui-react/statusfields/PromptField.js +2 -1
  268. package/lib/esm/appui-react/statusfields/PromptField.js.map +1 -1
  269. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  270. package/lib/esm/appui-react/statusfields/SectionsField.js +5 -3
  271. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  272. package/lib/esm/appui-react/statusfields/SelectionInfo.js +2 -1
  273. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  274. package/lib/esm/appui-react/statusfields/SelectionScope.js +2 -1
  275. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  276. package/lib/esm/appui-react/statusfields/SnapMode.js +2 -1
  277. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  278. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  279. package/lib/esm/appui-react/statusfields/ViewAttributes.js +3 -2
  280. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  281. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +0 -1
  282. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  283. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +15 -13
  284. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  285. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts +6 -1
  286. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  287. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +14 -0
  288. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  289. package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts +2 -0
  290. package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  291. package/lib/esm/appui-react/toolbar/ActionItemButton.js +1 -0
  292. package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
  293. package/lib/esm/appui-react/toolbar/GroupItem.d.ts +2 -0
  294. package/lib/esm/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  295. package/lib/esm/appui-react/toolbar/GroupItem.js +1 -0
  296. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  297. package/lib/esm/appui-react/toolbar/ToolButton.d.ts +2 -0
  298. package/lib/esm/appui-react/toolbar/ToolButton.d.ts.map +1 -1
  299. package/lib/esm/appui-react/toolbar/ToolButton.js +1 -0
  300. package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
  301. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +1 -1
  302. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  303. package/lib/esm/appui-react/tools/RestoreLayoutTool.d.ts +9 -0
  304. package/lib/esm/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  305. package/lib/esm/appui-react/tools/RestoreLayoutTool.js +15 -0
  306. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  307. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  308. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +3 -3
  309. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  310. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +3 -3
  311. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  312. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -1
  313. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  314. package/lib/esm/appui-react/uistate/AppUiSettings.js +2 -1
  315. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  316. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  317. package/lib/esm/appui-react/utils/UiShowHideManager.js +8 -0
  318. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  319. package/lib/esm/appui-react/widget-panels/FloatingWidget.d.ts +7 -0
  320. package/lib/esm/appui-react/widget-panels/FloatingWidget.d.ts.map +1 -0
  321. package/lib/esm/appui-react/widget-panels/FloatingWidget.js +15 -0
  322. package/lib/esm/appui-react/widget-panels/FloatingWidget.js.map +1 -0
  323. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  324. package/lib/esm/appui-react/widget-panels/Frontstage.js +31 -20
  325. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  326. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js +1 -1
  327. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  328. package/lib/esm/appui-react/widgets/BackstageAppButton.js +2 -2
  329. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  330. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +1 -1
  331. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  332. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +4 -0
  333. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  334. package/lib/esm/appui-react/widgets/WidgetDef.js +8 -1
  335. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  336. package/lib/esm/appui-react.d.ts +5 -0
  337. package/lib/esm/appui-react.d.ts.map +1 -1
  338. package/lib/esm/appui-react.js +5 -0
  339. package/lib/esm/appui-react.js.map +1 -1
  340. package/lib/public/locales/en/UiFramework.json +8 -3
  341. package/package.json +34 -34
package/CHANGELOG.md CHANGED
@@ -1,6 +1,58 @@
1
1
  # Change Log - @itwin/appui-react
2
2
 
3
- This log was last generated on Thu, 01 Sep 2022 14:37:22 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 10 Nov 2022 19:32:17 GMT and should not be manually modified.
4
+
5
+ ## 3.4.4
6
+ Thu, 10 Nov 2022 19:32:17 GMT
7
+
8
+ _Version update only_
9
+
10
+ ## 3.4.3
11
+ Fri, 28 Oct 2022 13:34:57 GMT
12
+
13
+ _Version update only_
14
+
15
+ ## 3.4.2
16
+ Mon, 24 Oct 2022 13:23:45 GMT
17
+
18
+ _Version update only_
19
+
20
+ ## 3.4.1
21
+ Mon, 17 Oct 2022 20:06:51 GMT
22
+
23
+ _Version update only_
24
+
25
+ ## 3.4.0
26
+ Thu, 13 Oct 2022 20:24:47 GMT
27
+
28
+ ### Updates
29
+
30
+ - Fixed private categories being displayed in ModelsTree and CategoriesTree components.
31
+ - Fix an issue where maxWidgetCount of a panel is exceeded when adding a widget.
32
+ - Persist WidgetDef configuration in a separate structure.
33
+ - Ability to float a widget that is hidden by default.
34
+ - Dock removed widget tool settings.
35
+ - Updated Node types declaration to support latest v16
36
+ - Restore floating widgets after a reload.
37
+ - Adding setup walk tool to standard navigation tools
38
+ - Move the management of zIndex for modal and modeless dialogs to DialogManagerBase to allow modal dialogs (MessageBox) to use the topZIndex so that they open on top of any modeless dialogs that are open. ContentDialog still maintains its own zIndex at a much lower elevation.
39
+ - Models Tree: Do not recreate subject model ids cache unless iModel changes
40
+ - Make sure FloatingViewportContent specifies controlId to FloatingViewport. Make sure FloatingViewportContent updates whenever the ViewState changes.
41
+
42
+ ## 3.3.5
43
+ Tue, 27 Sep 2022 11:50:59 GMT
44
+
45
+ _Version update only_
46
+
47
+ ## 3.3.4
48
+ Thu, 08 Sep 2022 19:00:04 GMT
49
+
50
+ _Version update only_
51
+
52
+ ## 3.3.3
53
+ Tue, 06 Sep 2022 20:54:19 GMT
54
+
55
+ _Version update only_
4
56
 
5
57
  ## 3.3.2
6
58
  Thu, 01 Sep 2022 14:37:22 GMT
@@ -14,6 +14,7 @@ import { CursorMenuData, PresentationSelectionScope } from "./redux/SessionState
14
14
  import { HideIsolateEmphasizeActionHandler } from "./selection/HideIsolateEmphasizeManager";
15
15
  import { WidgetManager } from "./widgets/WidgetManager";
16
16
  /** Defined that available UI Versions. It is recommended to always use the latest version available.
17
+ * @deprecated Used to toggle between UI1.0 and UI2.0.
17
18
  * @public
18
19
  */
19
20
  export declare type FrameworkVersionId = "1" | "2";
@@ -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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"}
@@ -477,7 +477,7 @@ exports.UiFramework = UiFramework;
477
477
  UiFramework._initialized = false;
478
478
  UiFramework._complaint = "UiFramework not initialized";
479
479
  UiFramework._frameworkStateKeyInStore = "frameworkState"; // default name
480
- UiFramework._uiVersion = "2";
480
+ UiFramework._uiVersion = "2"; // eslint-disable-line deprecation/deprecation
481
481
  /** this provides a default state storage handler */
482
482
  UiFramework._uiStateStorage = new core_react_1.LocalStateStorage();
483
483
  UiFramework._uiSettingsProviderRegistry = new Map();
@@ -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 * @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 /** Animate Tool Settings on appear */\r\n public static get animateToolSettings(): boolean {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.animateToolSettings : /* istanbul ignore next */ false;\r\n }\r\n public static setAnimateToolSettings(value: boolean) {\r\n if (UiFramework.animateToolSettings === value)\r\n return;\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.AnimateToolSettings, value, true);\r\n }\r\n\r\n /** Use Tool Name As Tool Settings Widget Tab Label */\r\n public static get useToolAsToolSettingsLabel(): boolean {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.useToolAsToolSettingsLabel : /* istanbul ignore next */ false;\r\n }\r\n public static setUseToolAsToolSettingsLabel(value: boolean) {\r\n if (UiFramework.useToolAsToolSettingsLabel === value)\r\n return;\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.UseToolAsToolSettingsLabel, value, true);\r\n }\r\n\r\n /** @alpha */\r\n public static get autoCollapseUnpinnedPanels(): boolean {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.autoCollapseUnpinnedPanels : /* istanbul ignore next */ false;\r\n }\r\n\r\n /** Method used to enable the automatic closing of an unpinned widget panel as soon as the\r\n * mouse leaves the widget panel. The default behavior is to require a mouse click outside\r\n * the panel before it is closed.\r\n * @alpha */\r\n\r\n public static setAutoCollapseUnpinnedPanels(value: boolean) {\r\n if (UiFramework.autoCollapseUnpinnedPanels === value)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.AutoCollapseUnpinnedPanels, 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 * @deprecated Used to toggle between UI1.0 and UI2.0.\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; // eslint-disable-line deprecation/deprecation\r\n version: FrameworkVersionId; // eslint-disable-line deprecation/deprecation\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\"; // eslint-disable-line deprecation/deprecation\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 { // eslint-disable-line deprecation/deprecation\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.frameworkVersion : this._uiVersion;\r\n }\r\n\r\n public static setUiVersion(version: FrameworkVersionId) { // eslint-disable-line deprecation/deprecation\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 /** Animate Tool Settings on appear */\r\n public static get animateToolSettings(): boolean {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.animateToolSettings : /* istanbul ignore next */ false;\r\n }\r\n public static setAnimateToolSettings(value: boolean) {\r\n if (UiFramework.animateToolSettings === value)\r\n return;\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.AnimateToolSettings, value, true);\r\n }\r\n\r\n /** Use Tool Name As Tool Settings Widget Tab Label */\r\n public static get useToolAsToolSettingsLabel(): boolean {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.useToolAsToolSettingsLabel : /* istanbul ignore next */ false;\r\n }\r\n public static setUseToolAsToolSettingsLabel(value: boolean) {\r\n if (UiFramework.useToolAsToolSettingsLabel === value)\r\n return;\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.UseToolAsToolSettingsLabel, value, true);\r\n }\r\n\r\n /** @alpha */\r\n public static get autoCollapseUnpinnedPanels(): boolean {\r\n return UiFramework.frameworkState ? UiFramework.frameworkState.configurableUiState.autoCollapseUnpinnedPanels : /* istanbul ignore next */ false;\r\n }\r\n\r\n /** Method used to enable the automatic closing of an unpinned widget panel as soon as the\r\n * mouse leaves the widget panel. The default behavior is to require a mouse click outside\r\n * the panel before it is closed.\r\n * @alpha */\r\n\r\n public static setAutoCollapseUnpinnedPanels(value: boolean) {\r\n if (UiFramework.autoCollapseUnpinnedPanels === value)\r\n return;\r\n\r\n UiFramework.dispatchActionToStore(ConfigurableUiActionId.AutoCollapseUnpinnedPanels, 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"]}
@@ -11,11 +11,13 @@ export interface BackstageEventArgs {
11
11
  isVisible: boolean;
12
12
  }
13
13
  /** Backstage Event class.
14
+ * @deprecated Use [BackstageManager.onToggled]($appui-react) instead.
14
15
  * @public
15
16
  */
16
17
  export declare class BackstageEvent extends UiEvent<BackstageEventArgs> {
17
18
  }
18
19
  /** Properties for the [[Backstage]] React component.
20
+ * @deprecated Props of a deprecated component.
19
21
  * @public
20
22
  */
21
23
  export interface BackstageProps extends CommonProps {
@@ -31,6 +33,7 @@ interface BackstageState {
31
33
  isVisible: boolean;
32
34
  }
33
35
  /** Backstage React component.
36
+ * @deprecated Use [BackstageComposer]($appui-react) instead.
34
37
  * @public
35
38
  */
36
39
  export declare class Backstage extends React.Component<BackstageProps, BackstageState> {
@@ -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;;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"}
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;;;GAGG;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"}
@@ -15,12 +15,14 @@ const SafeAreaContext_1 = require("../safearea/SafeAreaContext");
15
15
  const UiFramework_1 = require("../UiFramework");
16
16
  const BackstageManager_1 = require("./BackstageManager");
17
17
  /** Backstage Event class.
18
+ * @deprecated Use [BackstageManager.onToggled]($appui-react) instead.
18
19
  * @public
19
20
  */
20
21
  class BackstageEvent extends core_react_1.UiEvent {
21
22
  } // eslint-disable-line deprecation/deprecation
22
23
  exports.BackstageEvent = BackstageEvent;
23
24
  /** Backstage React component.
25
+ * @deprecated Use [BackstageComposer]($appui-react) instead.
24
26
  * @public
25
27
  */
26
28
  class Backstage extends React.Component {
@@ -83,5 +85,5 @@ class Backstage extends React.Component {
83
85
  }
84
86
  }
85
87
  exports.Backstage = Backstage;
86
- Backstage.onBackstageEvent = new BackstageEvent();
88
+ Backstage.onBackstageEvent = new BackstageEvent(); // eslint-disable-line deprecation/deprecation
87
89
  //# sourceMappingURL=Backstage.js.map
@@ -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 */\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"]}
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 * @deprecated Use [BackstageManager.onToggled]($appui-react) instead.\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 * @deprecated Props of a deprecated 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 * @deprecated Use [BackstageComposer]($appui-react) instead.\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(); // eslint-disable-line deprecation/deprecation\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"]}
@@ -19,7 +19,7 @@ const Backstage_1 = require("./Backstage");
19
19
  const BackstageItemUtilities_1 = require("./BackstageItemUtilities");
20
20
  // cspell:ignore safearea
21
21
  // eslint-disable-next-line @typescript-eslint/naming-convention
22
- const BackstageItem = (0, SafeAreaContext_1.withSafeArea)(appui_layout_react_1.BackstageItem);
22
+ const BackstageItem = (0, SafeAreaContext_1.withSafeArea)(appui_layout_react_1.BackstageItem); // eslint-disable-line deprecation/deprecation
23
23
  /** Backstage item that launches a Command
24
24
  * @public
25
25
  * @deprecated Use [BackstageActionItem]($appui-abstract) instead.
@@ -1 +1 @@
1
- {"version":3,"file":"CommandLaunch.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/CommandLaunch.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 { Logger } from \"@itwin/core-bentley\";\r\nimport { CommandHandler, UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { BackstageItem as NZ_BackstageItem } from \"@itwin/appui-layout-react\";\r\nimport { withSafeArea } from \"../safearea/SafeAreaContext\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { Backstage } from \"./Backstage\";\r\nimport { BackstageItemProps, BackstageItemState } from \"./BackstageItemProps\";\r\nimport { BackstageItemUtilities } from \"./BackstageItemUtilities\";\r\n\r\n// cspell:ignore safearea\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst BackstageItem = withSafeArea(NZ_BackstageItem);\r\n\r\n/** Properties for a [[CommandLaunchBackstageItem]] component\r\n * @public\r\n * @deprecated Use [BackstageActionItem]($appui-abstract) instead.\r\n */\r\nexport interface CommandLaunchBackstageItemProps extends BackstageItemProps, CommandHandler { // eslint-disable-line deprecation/deprecation\r\n /** Unique Id for this backstage item. */\r\n commandId: string;\r\n}\r\n\r\n/** Backstage item that launches a Command\r\n * @public\r\n * @deprecated Use [BackstageActionItem]($appui-abstract) instead.\r\n */\r\nexport class CommandLaunchBackstageItem extends React.PureComponent<CommandLaunchBackstageItemProps, BackstageItemState> { // eslint-disable-line deprecation/deprecation\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<BackstageItemState>; // eslint-disable-line deprecation/deprecation\r\n private _componentUnmounting = false; // used to ensure _handleSyncUiEvent callback is not processed after componentWillUnmount is called\r\n private _stateSyncIds: string[] = []; // local version of syncId that are lower cased\r\n\r\n constructor(props: CommandLaunchBackstageItemProps) { // eslint-disable-line deprecation/deprecation\r\n super(props);\r\n\r\n if (props.stateSyncIds)\r\n this._stateSyncIds = props.stateSyncIds.map((value) => value.toLowerCase());\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n this.state = BackstageItemUtilities.getBackstageItemStateFromProps(props);\r\n }\r\n\r\n public override componentDidMount() {\r\n if (this.props.stateFunc && this._stateSyncIds.length > 0)\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._componentUnmounting = true;\r\n /* istanbul ignore else */\r\n if (this.props.stateFunc && this._stateSyncIds.length > 0)\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(this._handleSyncUiEvent);\r\n }\r\n\r\n private _handleSyncUiEvent = (args: UiSyncEventArgs): void => {\r\n /* istanbul ignore next */\r\n if (this._componentUnmounting)\r\n return;\r\n\r\n /* istanbul ignore else */\r\n if (SyncUiEventDispatcher.hasEventOfInterest(args.eventIds, this._stateSyncIds)) {\r\n /* istanbul ignore else */\r\n if (this.props.stateFunc) {\r\n const newState = this.props.stateFunc(this.state);\r\n /* istanbul ignore next */\r\n if (!PropsHelper.isShallowEqual(newState, this.state))\r\n this.setState((_prevState) => newState);\r\n }\r\n }\r\n };\r\n\r\n public execute = (): void => {\r\n Backstage.hide(); // eslint-disable-line deprecation/deprecation\r\n\r\n if (this.props.execute) {\r\n if (this.props.getCommandArgs)\r\n this.props.execute(this.props.getCommandArgs());\r\n else\r\n this.props.execute(this.props.parameters);\r\n } else\r\n Logger.logError(UiFramework.loggerCategory(this), `'${this.props.commandId}' has no execute() function`);\r\n };\r\n\r\n // deprecated class\r\n // istanbul ignore next\r\n public override componentDidUpdate(_prevProps: CommandLaunchBackstageItemProps) { // eslint-disable-line deprecation/deprecation\r\n // eslint-disable-next-line deprecation/deprecation\r\n const updatedState = BackstageItemUtilities.getBackstageItemStateFromProps(this.props);\r\n if (!PropsHelper.isShallowEqual(updatedState, this.state))\r\n this.setState((_prevState) => updatedState);\r\n }\r\n\r\n // TODO: add tooltip, subtitle, aria-label? to NZ_BackstageItem\r\n public override render(): React.ReactNode {\r\n return (\r\n <BackstageItem\r\n icon={PropsHelper.getIcon(this.state.iconSpec)}\r\n isActive={this.state.isActive}\r\n isDisabled={!this.state.isEnabled}\r\n key={this.props.commandId}\r\n onClick={this.execute}\r\n >\r\n {this.state.label}\r\n </BackstageItem>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"CommandLaunch.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/CommandLaunch.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 { Logger } from \"@itwin/core-bentley\";\r\nimport { CommandHandler, UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { BackstageItem as NZ_BackstageItem } from \"@itwin/appui-layout-react\";\r\nimport { withSafeArea } from \"../safearea/SafeAreaContext\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { Backstage } from \"./Backstage\";\r\nimport { BackstageItemProps, BackstageItemState } from \"./BackstageItemProps\";\r\nimport { BackstageItemUtilities } from \"./BackstageItemUtilities\";\r\n\r\n// cspell:ignore safearea\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst BackstageItem = withSafeArea(NZ_BackstageItem); // eslint-disable-line deprecation/deprecation\r\n\r\n/** Properties for a [[CommandLaunchBackstageItem]] component\r\n * @public\r\n * @deprecated Use [BackstageActionItem]($appui-abstract) instead.\r\n */\r\nexport interface CommandLaunchBackstageItemProps extends BackstageItemProps, CommandHandler { // eslint-disable-line deprecation/deprecation\r\n /** Unique Id for this backstage item. */\r\n commandId: string;\r\n}\r\n\r\n/** Backstage item that launches a Command\r\n * @public\r\n * @deprecated Use [BackstageActionItem]($appui-abstract) instead.\r\n */\r\nexport class CommandLaunchBackstageItem extends React.PureComponent<CommandLaunchBackstageItemProps, BackstageItemState> { // eslint-disable-line deprecation/deprecation\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<BackstageItemState>; // eslint-disable-line deprecation/deprecation\r\n private _componentUnmounting = false; // used to ensure _handleSyncUiEvent callback is not processed after componentWillUnmount is called\r\n private _stateSyncIds: string[] = []; // local version of syncId that are lower cased\r\n\r\n constructor(props: CommandLaunchBackstageItemProps) { // eslint-disable-line deprecation/deprecation\r\n super(props);\r\n\r\n if (props.stateSyncIds)\r\n this._stateSyncIds = props.stateSyncIds.map((value) => value.toLowerCase());\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n this.state = BackstageItemUtilities.getBackstageItemStateFromProps(props);\r\n }\r\n\r\n public override componentDidMount() {\r\n if (this.props.stateFunc && this._stateSyncIds.length > 0)\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._componentUnmounting = true;\r\n /* istanbul ignore else */\r\n if (this.props.stateFunc && this._stateSyncIds.length > 0)\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(this._handleSyncUiEvent);\r\n }\r\n\r\n private _handleSyncUiEvent = (args: UiSyncEventArgs): void => {\r\n /* istanbul ignore next */\r\n if (this._componentUnmounting)\r\n return;\r\n\r\n /* istanbul ignore else */\r\n if (SyncUiEventDispatcher.hasEventOfInterest(args.eventIds, this._stateSyncIds)) {\r\n /* istanbul ignore else */\r\n if (this.props.stateFunc) {\r\n const newState = this.props.stateFunc(this.state);\r\n /* istanbul ignore next */\r\n if (!PropsHelper.isShallowEqual(newState, this.state))\r\n this.setState((_prevState) => newState);\r\n }\r\n }\r\n };\r\n\r\n public execute = (): void => {\r\n Backstage.hide(); // eslint-disable-line deprecation/deprecation\r\n\r\n if (this.props.execute) {\r\n if (this.props.getCommandArgs)\r\n this.props.execute(this.props.getCommandArgs());\r\n else\r\n this.props.execute(this.props.parameters);\r\n } else\r\n Logger.logError(UiFramework.loggerCategory(this), `'${this.props.commandId}' has no execute() function`);\r\n };\r\n\r\n // deprecated class\r\n // istanbul ignore next\r\n public override componentDidUpdate(_prevProps: CommandLaunchBackstageItemProps) { // eslint-disable-line deprecation/deprecation\r\n // eslint-disable-next-line deprecation/deprecation\r\n const updatedState = BackstageItemUtilities.getBackstageItemStateFromProps(this.props);\r\n if (!PropsHelper.isShallowEqual(updatedState, this.state))\r\n this.setState((_prevState) => updatedState);\r\n }\r\n\r\n // TODO: add tooltip, subtitle, aria-label? to NZ_BackstageItem\r\n public override render(): React.ReactNode {\r\n return (\r\n <BackstageItem\r\n icon={PropsHelper.getIcon(this.state.iconSpec)}\r\n isActive={this.state.isActive}\r\n isDisabled={!this.state.isEnabled}\r\n key={this.props.commandId}\r\n onClick={this.execute}\r\n >\r\n {this.state.label}\r\n </BackstageItem>\r\n );\r\n }\r\n}\r\n"]}
@@ -99,6 +99,7 @@ class ChildWindowManager {
99
99
  React.createElement(useUiStateStorage_1.UiStateStorageHandler, null,
100
100
  React.createElement(ThemeManager_1.ThemeManager, null,
101
101
  React.createElement(useFrameworkVersion_1.FrameworkVersion, null,
102
+ " ",
102
103
  React.createElement("div", { className: "uifw-child-window-container-host" },
103
104
  React.createElement(PopupManager_1.PopupRenderer, null),
104
105
  React.createElement(ModalDialogManager_1.ModalDialogRenderer, null),
@@ -1 +1 @@
1
- {"version":3,"file":"ChildWindowManager.js","sourceRoot":"","sources":["../../../../src/appui-react/childwindow/ChildWindowManager.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\r\n/** @packageDocumentation\r\n * @module ChildWindowManager\r\n */\r\n\r\nimport \"./ChildWindowManager.scss\";\r\nimport * as React from \"react\";\r\nimport * as ReactDOM from \"react-dom\";\r\nimport { copyStyles } from \"./CopyStyles\";\r\nimport { Provider } from \"react-redux\";\r\nimport { StateManager } from \"../redux/StateManager\";\r\nimport { UiStateStorageHandler } from \"../uistate/useUiStateStorage\";\r\nimport { PopupRenderer } from \"../popup/PopupManager\";\r\nimport { ModelessDialogRenderer } from \"../dialog/ModelessDialogManager\";\r\nimport { ModalDialogRenderer } from \"../dialog/ModalDialogManager\";\r\nimport { CursorPopupMenu } from \"../cursor/cursormenu/CursorMenu\";\r\nimport { FrameworkVersion } from \"../hooks/useFrameworkVersion\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { ThemeManager } from \"../theme/ThemeManager\";\r\n\r\nconst childHtml = `<!DOCTYPE html>\r\n<html>\r\n<head>\r\n <meta charset=\"utf-8\" />\r\n <style>\r\n html,\r\n body {\r\n height: 100%;\r\n width: 100%;\r\n margin: 0;\r\n overflow: hidden;\r\n }\r\n #root {\r\n height: 100%;\r\n }\r\n </style>\r\n</head>\r\n<body>\r\n <noscript>You need to enable JavaScript to run this app.</noscript>\r\n <div id=\"root\"></div>\r\n</body>\r\n</html>`;\r\n\r\n/** @public */\r\nexport interface OpenChildWindowInfo {\r\n childWindowId: string;\r\n window: Window;\r\n parentWindow: Window;\r\n}\r\n\r\n/** @public */\r\nexport interface ChildWindowLocationProps {\r\n width: number;\r\n height: number;\r\n left: number;\r\n top: number;\r\n}\r\n\r\n/** Supports opening a child browser window from the main application window. The child window is managed by the main application\r\n * and is running in the same security context. The application must deliver the html file iTwinPopup.html along side its index.html.\r\n * See also: [Child Window Manager]($docs/learning/ui/appui-react/ChildWindows.md)\r\n * @public */\r\nexport class ChildWindowManager {\r\n private _openChildWindows: OpenChildWindowInfo[] = [];\r\n\r\n public get openChildWindows() {\r\n return this._openChildWindows;\r\n }\r\n\r\n public findChildWindow(childWindowId: string | undefined): OpenChildWindowInfo | undefined {\r\n if (undefined === childWindowId)\r\n return undefined;\r\n\r\n return this.openChildWindows.find((openWindow) => openWindow.childWindowId === childWindowId);\r\n }\r\n\r\n public findChildWindowId(contentWindow: Window | undefined | null): string | undefined {\r\n if (!contentWindow)\r\n return undefined;\r\n\r\n const childWindow = this.openChildWindows.find((openWindow) => openWindow.window === contentWindow);\r\n return childWindow?.childWindowId;\r\n }\r\n\r\n // istanbul ignore next\r\n private renderChildWindowContents(childWindow: Window, childWindowId: string, content: React.ReactNode) {\r\n const reactConnectionDiv = childWindow.document.getElementById(\"root\");\r\n if (reactConnectionDiv) {\r\n // set openChildWindows now so components can use it when they mount\r\n this._openChildWindows.push({\r\n childWindowId,\r\n window: childWindow,\r\n parentWindow: window,\r\n });\r\n\r\n setTimeout(() => {\r\n copyStyles(childWindow.document);\r\n setTimeout(() => {\r\n ReactDOM.render(\r\n <Provider store={StateManager.store} >\r\n <UiStateStorageHandler>\r\n <ThemeManager>\r\n <FrameworkVersion>\r\n <div className=\"uifw-child-window-container-host\">\r\n <PopupRenderer />\r\n <ModalDialogRenderer />\r\n <ModelessDialogRenderer />\r\n <CursorPopupMenu />\r\n <div className=\"uifw-child-window-container nz-widget-widget\">\r\n {content}\r\n </div>\r\n </div>\r\n </FrameworkVersion>\r\n </ThemeManager>\r\n </UiStateStorageHandler>\r\n </Provider>,\r\n reactConnectionDiv\r\n );\r\n });\r\n });\r\n\r\n childWindow.onbeforeunload = () => {\r\n const frontStageDef = FrontstageManager.activeFrontstageDef;\r\n if (!frontStageDef)\r\n return;\r\n frontStageDef.saveChildWindowSizeAndPosition(childWindowId, childWindow);\r\n this.closeChildWindow(childWindowId, false);\r\n };\r\n }\r\n }\r\n\r\n /** Close all child/pop-out windows. This typically is called when the frontstage is changed. */\r\n public closeAllChildWindows() {\r\n // istanbul ignore next\r\n this.openChildWindows.forEach((openChildWindow) => openChildWindow.window.close());\r\n this._openChildWindows = [];\r\n }\r\n\r\n public closeChildWindow = (childWindowId: string, processWindowClose = true) => {\r\n const windowIndex = this.openChildWindows.findIndex((openWindow) => openWindow.childWindowId === childWindowId);\r\n if (-1 === windowIndex)\r\n return false;\r\n const childWindow = this.openChildWindows[windowIndex];\r\n this.openChildWindows.splice(windowIndex, 1);\r\n if (processWindowClose) {\r\n childWindow.window.close();\r\n } else {\r\n // call the following to convert popout to docked widget\r\n const frontStageDef = FrontstageManager.activeFrontstageDef;\r\n frontStageDef && frontStageDef.dockPopoutWidgetContainer(childWindowId);\r\n }\r\n return true;\r\n };\r\n\r\n // istanbul ignore next\r\n private adjustWidowLocation(location: ChildWindowLocationProps, center?: boolean): ChildWindowLocationProps {\r\n const outLocation = { ...location };\r\n if (0 === location.top && 0 === location.left) {\r\n center = center ?? true;\r\n const windowTop = window.top ?? window;\r\n\r\n // Prepare position of the new window to be centered against the 'parent' window.\r\n if (center) {\r\n outLocation.left =\r\n windowTop.outerWidth / 2 + windowTop.screenX - location.width / 2;\r\n outLocation.top =\r\n windowTop.outerHeight / 2 + windowTop.screenY - location.height / 2;\r\n } else {\r\n if (undefined !== window.screenLeft && undefined !== window.screenTop) {\r\n outLocation.top = window.screenTop + location.top;\r\n outLocation.left = window.screenLeft + location.left;\r\n }\r\n }\r\n }\r\n return outLocation;\r\n }\r\n\r\n // istanbul ignore next\r\n public openChildWindow(childWindowId: string, title: string, content: React.ReactNode, location: ChildWindowLocationProps, useDefaultPopoutUrl?: boolean) {\r\n // first check to see if content is already open in child window\r\n if (this.openChildWindows.findIndex((openWindow) => openWindow.childWindowId === childWindowId) >= 0) {\r\n return false;\r\n }\r\n\r\n location = this.adjustWidowLocation(location);\r\n const url = useDefaultPopoutUrl ? \"/iTwinPopup.html\" : \"\";\r\n const childWindow = window.open(url, \"\", `width=${location.width},height=${location.height},left=${location.left},top=${location.top},menubar=no,resizable=yes,scrollbars=no,status=no,location=no`);\r\n if (!childWindow)\r\n return false;\r\n if (0 === url.length) {\r\n childWindow.document.write(childHtml);\r\n this.renderChildWindowContents(childWindow, childWindowId, content);\r\n } else {\r\n childWindow.addEventListener(\"load\", () => {\r\n childWindow.document.title = title;\r\n this.renderChildWindowContents(childWindow, childWindowId, content);\r\n }, false);\r\n }\r\n\r\n window.addEventListener(\"unload\", () => {\r\n const frontStageDef = FrontstageManager.activeFrontstageDef;\r\n if (frontStageDef) {\r\n this.closeChildWindow(childWindowId, true);\r\n }\r\n }, false);\r\n\r\n return true;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ChildWindowManager.js","sourceRoot":"","sources":["../../../../src/appui-react/childwindow/ChildWindowManager.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\r\n/** @packageDocumentation\r\n * @module ChildWindowManager\r\n */\r\n\r\nimport \"./ChildWindowManager.scss\";\r\nimport * as React from \"react\";\r\nimport * as ReactDOM from \"react-dom\";\r\nimport { copyStyles } from \"./CopyStyles\";\r\nimport { Provider } from \"react-redux\";\r\nimport { StateManager } from \"../redux/StateManager\";\r\nimport { UiStateStorageHandler } from \"../uistate/useUiStateStorage\";\r\nimport { PopupRenderer } from \"../popup/PopupManager\";\r\nimport { ModelessDialogRenderer } from \"../dialog/ModelessDialogManager\";\r\nimport { ModalDialogRenderer } from \"../dialog/ModalDialogManager\";\r\nimport { CursorPopupMenu } from \"../cursor/cursormenu/CursorMenu\";\r\nimport { FrameworkVersion } from \"../hooks/useFrameworkVersion\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { ThemeManager } from \"../theme/ThemeManager\";\r\n\r\nconst childHtml = `<!DOCTYPE html>\r\n<html>\r\n<head>\r\n <meta charset=\"utf-8\" />\r\n <style>\r\n html,\r\n body {\r\n height: 100%;\r\n width: 100%;\r\n margin: 0;\r\n overflow: hidden;\r\n }\r\n #root {\r\n height: 100%;\r\n }\r\n </style>\r\n</head>\r\n<body>\r\n <noscript>You need to enable JavaScript to run this app.</noscript>\r\n <div id=\"root\"></div>\r\n</body>\r\n</html>`;\r\n\r\n/** @public */\r\nexport interface OpenChildWindowInfo {\r\n childWindowId: string;\r\n window: Window;\r\n parentWindow: Window;\r\n}\r\n\r\n/** @public */\r\nexport interface ChildWindowLocationProps {\r\n width: number;\r\n height: number;\r\n left: number;\r\n top: number;\r\n}\r\n\r\n/** Supports opening a child browser window from the main application window. The child window is managed by the main application\r\n * and is running in the same security context. The application must deliver the html file iTwinPopup.html along side its index.html.\r\n * See also: [Child Window Manager]($docs/learning/ui/appui-react/ChildWindows.md)\r\n * @public */\r\nexport class ChildWindowManager {\r\n private _openChildWindows: OpenChildWindowInfo[] = [];\r\n\r\n public get openChildWindows() {\r\n return this._openChildWindows;\r\n }\r\n\r\n public findChildWindow(childWindowId: string | undefined): OpenChildWindowInfo | undefined {\r\n if (undefined === childWindowId)\r\n return undefined;\r\n\r\n return this.openChildWindows.find((openWindow) => openWindow.childWindowId === childWindowId);\r\n }\r\n\r\n public findChildWindowId(contentWindow: Window | undefined | null): string | undefined {\r\n if (!contentWindow)\r\n return undefined;\r\n\r\n const childWindow = this.openChildWindows.find((openWindow) => openWindow.window === contentWindow);\r\n return childWindow?.childWindowId;\r\n }\r\n\r\n // istanbul ignore next\r\n private renderChildWindowContents(childWindow: Window, childWindowId: string, content: React.ReactNode) {\r\n const reactConnectionDiv = childWindow.document.getElementById(\"root\");\r\n if (reactConnectionDiv) {\r\n // set openChildWindows now so components can use it when they mount\r\n this._openChildWindows.push({\r\n childWindowId,\r\n window: childWindow,\r\n parentWindow: window,\r\n });\r\n\r\n setTimeout(() => {\r\n copyStyles(childWindow.document);\r\n setTimeout(() => {\r\n ReactDOM.render(\r\n <Provider store={StateManager.store} >\r\n <UiStateStorageHandler>\r\n <ThemeManager>\r\n <FrameworkVersion> {/* eslint-disable-line deprecation/deprecation */}\r\n <div className=\"uifw-child-window-container-host\">\r\n <PopupRenderer />\r\n <ModalDialogRenderer />\r\n <ModelessDialogRenderer />\r\n <CursorPopupMenu />\r\n <div className=\"uifw-child-window-container nz-widget-widget\">\r\n {content}\r\n </div>\r\n </div>\r\n </FrameworkVersion>\r\n </ThemeManager>\r\n </UiStateStorageHandler>\r\n </Provider>,\r\n reactConnectionDiv\r\n );\r\n });\r\n });\r\n\r\n childWindow.onbeforeunload = () => {\r\n const frontStageDef = FrontstageManager.activeFrontstageDef;\r\n if (!frontStageDef)\r\n return;\r\n frontStageDef.saveChildWindowSizeAndPosition(childWindowId, childWindow);\r\n this.closeChildWindow(childWindowId, false);\r\n };\r\n }\r\n }\r\n\r\n /** Close all child/pop-out windows. This typically is called when the frontstage is changed. */\r\n public closeAllChildWindows() {\r\n // istanbul ignore next\r\n this.openChildWindows.forEach((openChildWindow) => openChildWindow.window.close());\r\n this._openChildWindows = [];\r\n }\r\n\r\n public closeChildWindow = (childWindowId: string, processWindowClose = true) => {\r\n const windowIndex = this.openChildWindows.findIndex((openWindow) => openWindow.childWindowId === childWindowId);\r\n if (-1 === windowIndex)\r\n return false;\r\n const childWindow = this.openChildWindows[windowIndex];\r\n this.openChildWindows.splice(windowIndex, 1);\r\n if (processWindowClose) {\r\n childWindow.window.close();\r\n } else {\r\n // call the following to convert popout to docked widget\r\n const frontStageDef = FrontstageManager.activeFrontstageDef;\r\n frontStageDef && frontStageDef.dockPopoutWidgetContainer(childWindowId);\r\n }\r\n return true;\r\n };\r\n\r\n // istanbul ignore next\r\n private adjustWidowLocation(location: ChildWindowLocationProps, center?: boolean): ChildWindowLocationProps {\r\n const outLocation = { ...location };\r\n if (0 === location.top && 0 === location.left) {\r\n center = center ?? true;\r\n const windowTop = window.top ?? window;\r\n\r\n // Prepare position of the new window to be centered against the 'parent' window.\r\n if (center) {\r\n outLocation.left =\r\n windowTop.outerWidth / 2 + windowTop.screenX - location.width / 2;\r\n outLocation.top =\r\n windowTop.outerHeight / 2 + windowTop.screenY - location.height / 2;\r\n } else {\r\n if (undefined !== window.screenLeft && undefined !== window.screenTop) {\r\n outLocation.top = window.screenTop + location.top;\r\n outLocation.left = window.screenLeft + location.left;\r\n }\r\n }\r\n }\r\n return outLocation;\r\n }\r\n\r\n // istanbul ignore next\r\n public openChildWindow(childWindowId: string, title: string, content: React.ReactNode, location: ChildWindowLocationProps, useDefaultPopoutUrl?: boolean) {\r\n // first check to see if content is already open in child window\r\n if (this.openChildWindows.findIndex((openWindow) => openWindow.childWindowId === childWindowId) >= 0) {\r\n return false;\r\n }\r\n\r\n location = this.adjustWidowLocation(location);\r\n const url = useDefaultPopoutUrl ? \"/iTwinPopup.html\" : \"\";\r\n const childWindow = window.open(url, \"\", `width=${location.width},height=${location.height},left=${location.left},top=${location.top},menubar=no,resizable=yes,scrollbars=no,status=no,location=no`);\r\n if (!childWindow)\r\n return false;\r\n if (0 === url.length) {\r\n childWindow.document.write(childHtml);\r\n this.renderChildWindowContents(childWindow, childWindowId, content);\r\n } else {\r\n childWindow.addEventListener(\"load\", () => {\r\n childWindow.document.title = title;\r\n this.renderChildWindowContents(childWindow, childWindowId, content);\r\n }, false);\r\n }\r\n\r\n window.addEventListener(\"unload\", () => {\r\n const frontStageDef = FrontstageManager.activeFrontstageDef;\r\n if (frontStageDef) {\r\n this.closeChildWindow(childWindowId, true);\r\n }\r\n }, false);\r\n\r\n return true;\r\n }\r\n}\r\n"]}
@@ -31,7 +31,7 @@ const ContentDialogManager_1 = require("../dialog/ContentDialogManager");
31
31
  * @public
32
32
  */
33
33
  function ConfigurableUiContent(props) {
34
- const version = (0, useFrameworkVersion_1.useFrameworkVersion)();
34
+ const version = (0, useFrameworkVersion_1.useFrameworkVersion)(); // eslint-disable-line deprecation/deprecation
35
35
  React.useEffect(() => {
36
36
  KeyboardShortcut_1.KeyboardShortcutManager.setFocusToHome();
37
37
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurableUiContent.js","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/ConfigurableUiContent.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,iCAA+B;AAC/B,+BAA+B;AAC/B,kDAAuD;AACvD,mEAAgE;AAChE,gEAAkE;AAClE,iFAA+E;AAC/E,qEAAmE;AACnE,2EAAyE;AACzE,+DAA4D;AAC5D,yEAAsE;AACtE,sEAAmE;AACnE,2EAA+E;AAC/E,mFAAgF;AAChF,uDAA2D;AAC3D,iDAAqD;AACrD,wDAAsD;AACtD,4DAAqE;AACrE,mEAAgE;AAChE,yEAAuE;AAiBvE;;GAEG;AACH,SAAgB,qBAAqB,CAAC,KAAiC;IACrE,MAAM,OAAO,GAAG,IAAA,yCAAmB,GAAE,CAAC;IACtC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,0CAAuB,CAAC,cAAc,EAAE,CAAC;IAC3C,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,6CAAqB,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;QAC7H,OAAO,GAAG,EAAE;YACV,6CAAqB,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QACpD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAE/C,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAmB,EAAE,EAAE;QAChE,MAAM,KAAK,GAAG,IAAI,kBAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1C,qCAAiB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,8BAAM,IAAI,EAAC,MAAM,EACf,EAAE,EAAC,6BAA6B,EAChC,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,WAAW,EAAE,eAAe;QAE3B,KAAK,CAAC,YAAY;QAElB,OAAO,KAAK,GAAG,CAAC,CAAC,CAAE,0BAA0B,CAAC,oBAAC,uCAAkB,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,oBAAC,mCAAsB,OAAG;QAC9K,oBAAC,4CAAqB,OAAG;QACzB,oBAAC,8CAAsB,OAAG;QAC1B,oBAAC,wCAAmB,OAAG;QACvB,oBAAC,+BAAc,OAAG;QAClB,oBAAC,wBAAc,OAAG;QAClB,oBAAC,2CAAoB,OAAG;QACxB,oBAAC,8BAAiB,OAAG;QACrB,oBAAC,4BAAe,OAAG;QACnB,oBAAC,wCAAmB,OAAG;QACvB,oBAAC,4BAAa,OAAG,CACZ,CACR,CAAC;AACJ,CAAC;AAvCD,sDAuCC","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 ConfigurableUi\r\n */\r\n\r\nimport \"./configurableui.scss\";\r\nimport * as React from \"react\";\r\nimport { CommonProps, Point } from \"@itwin/core-react\";\r\nimport { CursorInformation } from \"../cursor/CursorInformation\";\r\nimport { CursorPopupMenu } from \"../cursor/cursormenu/CursorMenu\";\r\nimport { CursorPopupRenderer } from \"../cursor/cursorpopup/CursorPopupManager\";\r\nimport { ModalDialogRenderer } from \"../dialog/ModalDialogManager\";\r\nimport { ModelessDialogRenderer } from \"../dialog/ModelessDialogManager\";\r\nimport { ElementTooltip } from \"../feedback/ElementTooltip\";\r\nimport { FrontstageComposer } from \"../frontstage/FrontstageComposer\";\r\nimport { useFrameworkVersion } from \"../hooks/useFrameworkVersion\";\r\nimport { KeyboardShortcutManager } from \"../keyboardshortcut/KeyboardShortcut\";\r\nimport { KeyboardShortcutMenu } from \"../keyboardshortcut/KeyboardShortcutMenu\";\r\nimport { InputFieldMessage } from \"../messages/InputField\";\r\nimport { PointerMessage } from \"../messages/Pointer\";\r\nimport { PopupRenderer } from \"../popup/PopupManager\";\r\nimport { WidgetPanelsFrontstage } from \"../widget-panels/Frontstage\";\r\nimport { ConfigurableUiManager } from \"./ConfigurableUiManager\";\r\nimport { ContentDialogRenderer } from \"../dialog/ContentDialogManager\";\r\n\r\n// cSpell:ignore cursormenu cursorpopup\r\n\r\n/** Properties for [[ConfigurableUiContent]]\r\n * @public\r\n */\r\nexport interface ConfigurableUiContentProps extends CommonProps {\r\n /** React node of the Backstage */\r\n appBackstage?: React.ReactNode;\r\n\r\n /** @internal */\r\n idleTimeout?: number;\r\n /** @internal */\r\n intervalTimeout?: number;\r\n}\r\n\r\n/** The ConfigurableUiContent component is the component the pages specified using ConfigurableUi\r\n * @public\r\n */\r\nexport function ConfigurableUiContent(props: ConfigurableUiContentProps) {\r\n const version = useFrameworkVersion();\r\n React.useEffect(() => {\r\n KeyboardShortcutManager.setFocusToHome();\r\n }, []);\r\n React.useEffect(() => {\r\n ConfigurableUiManager.activityTracker.initialize({ idleTimeout: props.idleTimeout, intervalTimeout: props.intervalTimeout });\r\n return () => {\r\n ConfigurableUiManager.activityTracker.terminate();\r\n };\r\n }, [props.idleTimeout, props.intervalTimeout]);\r\n\r\n const handleMouseMove = React.useCallback((e: React.MouseEvent) => {\r\n const point = new Point(e.pageX, e.pageY);\r\n CursorInformation.handleMouseMove(point);\r\n }, []);\r\n\r\n return (\r\n <main role=\"main\"\r\n id=\"uifw-configurableui-wrapper\"\r\n className={props.className}\r\n style={props.style}\r\n onMouseMove={handleMouseMove}\r\n >\r\n {props.appBackstage}\r\n {/* eslint-disable-next-line deprecation/deprecation */}\r\n {version === \"1\" ? /* istanbul ignore next */ <FrontstageComposer style={{ position: \"relative\", height: \"100%\" }} /> : /* istanbul ignore next */ <WidgetPanelsFrontstage />}\r\n <ContentDialogRenderer />\r\n <ModelessDialogRenderer />\r\n <ModalDialogRenderer />\r\n <ElementTooltip />\r\n <PointerMessage />\r\n <KeyboardShortcutMenu />\r\n <InputFieldMessage />\r\n <CursorPopupMenu />\r\n <CursorPopupRenderer />\r\n <PopupRenderer />\r\n </main>\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"ConfigurableUiContent.js","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/ConfigurableUiContent.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,iCAA+B;AAC/B,+BAA+B;AAC/B,kDAAuD;AACvD,mEAAgE;AAChE,gEAAkE;AAClE,iFAA+E;AAC/E,qEAAmE;AACnE,2EAAyE;AACzE,+DAA4D;AAC5D,yEAAsE;AACtE,sEAAmE;AACnE,2EAA+E;AAC/E,mFAAgF;AAChF,uDAA2D;AAC3D,iDAAqD;AACrD,wDAAsD;AACtD,4DAAqE;AACrE,mEAAgE;AAChE,yEAAuE;AAiBvE;;GAEG;AACH,SAAgB,qBAAqB,CAAC,KAAiC;IACrE,MAAM,OAAO,GAAG,IAAA,yCAAmB,GAAE,CAAC,CAAC,8CAA8C;IACrF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,0CAAuB,CAAC,cAAc,EAAE,CAAC;IAC3C,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,6CAAqB,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;QAC7H,OAAO,GAAG,EAAE;YACV,6CAAqB,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QACpD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAE/C,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAmB,EAAE,EAAE;QAChE,MAAM,KAAK,GAAG,IAAI,kBAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1C,qCAAiB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,8BAAM,IAAI,EAAC,MAAM,EACf,EAAE,EAAC,6BAA6B,EAChC,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,WAAW,EAAE,eAAe;QAE3B,KAAK,CAAC,YAAY;QAElB,OAAO,KAAK,GAAG,CAAC,CAAC,CAAE,0BAA0B,CAAC,oBAAC,uCAAkB,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,oBAAC,mCAAsB,OAAG;QAC9K,oBAAC,4CAAqB,OAAG;QACzB,oBAAC,8CAAsB,OAAG;QAC1B,oBAAC,wCAAmB,OAAG;QACvB,oBAAC,+BAAc,OAAG;QAClB,oBAAC,wBAAc,OAAG;QAClB,oBAAC,2CAAoB,OAAG;QACxB,oBAAC,8BAAiB,OAAG;QACrB,oBAAC,4BAAe,OAAG;QACnB,oBAAC,wCAAmB,OAAG;QACvB,oBAAC,4BAAa,OAAG,CACZ,CACR,CAAC;AACJ,CAAC;AAvCD,sDAuCC","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 ConfigurableUi\r\n */\r\n\r\nimport \"./configurableui.scss\";\r\nimport * as React from \"react\";\r\nimport { CommonProps, Point } from \"@itwin/core-react\";\r\nimport { CursorInformation } from \"../cursor/CursorInformation\";\r\nimport { CursorPopupMenu } from \"../cursor/cursormenu/CursorMenu\";\r\nimport { CursorPopupRenderer } from \"../cursor/cursorpopup/CursorPopupManager\";\r\nimport { ModalDialogRenderer } from \"../dialog/ModalDialogManager\";\r\nimport { ModelessDialogRenderer } from \"../dialog/ModelessDialogManager\";\r\nimport { ElementTooltip } from \"../feedback/ElementTooltip\";\r\nimport { FrontstageComposer } from \"../frontstage/FrontstageComposer\";\r\nimport { useFrameworkVersion } from \"../hooks/useFrameworkVersion\";\r\nimport { KeyboardShortcutManager } from \"../keyboardshortcut/KeyboardShortcut\";\r\nimport { KeyboardShortcutMenu } from \"../keyboardshortcut/KeyboardShortcutMenu\";\r\nimport { InputFieldMessage } from \"../messages/InputField\";\r\nimport { PointerMessage } from \"../messages/Pointer\";\r\nimport { PopupRenderer } from \"../popup/PopupManager\";\r\nimport { WidgetPanelsFrontstage } from \"../widget-panels/Frontstage\";\r\nimport { ConfigurableUiManager } from \"./ConfigurableUiManager\";\r\nimport { ContentDialogRenderer } from \"../dialog/ContentDialogManager\";\r\n\r\n// cSpell:ignore cursormenu cursorpopup\r\n\r\n/** Properties for [[ConfigurableUiContent]]\r\n * @public\r\n */\r\nexport interface ConfigurableUiContentProps extends CommonProps {\r\n /** React node of the Backstage */\r\n appBackstage?: React.ReactNode;\r\n\r\n /** @internal */\r\n idleTimeout?: number;\r\n /** @internal */\r\n intervalTimeout?: number;\r\n}\r\n\r\n/** The ConfigurableUiContent component is the component the pages specified using ConfigurableUi\r\n * @public\r\n */\r\nexport function ConfigurableUiContent(props: ConfigurableUiContentProps) {\r\n const version = useFrameworkVersion(); // eslint-disable-line deprecation/deprecation\r\n React.useEffect(() => {\r\n KeyboardShortcutManager.setFocusToHome();\r\n }, []);\r\n React.useEffect(() => {\r\n ConfigurableUiManager.activityTracker.initialize({ idleTimeout: props.idleTimeout, intervalTimeout: props.intervalTimeout });\r\n return () => {\r\n ConfigurableUiManager.activityTracker.terminate();\r\n };\r\n }, [props.idleTimeout, props.intervalTimeout]);\r\n\r\n const handleMouseMove = React.useCallback((e: React.MouseEvent) => {\r\n const point = new Point(e.pageX, e.pageY);\r\n CursorInformation.handleMouseMove(point);\r\n }, []);\r\n\r\n return (\r\n <main role=\"main\"\r\n id=\"uifw-configurableui-wrapper\"\r\n className={props.className}\r\n style={props.style}\r\n onMouseMove={handleMouseMove}\r\n >\r\n {props.appBackstage}\r\n {/* eslint-disable-next-line deprecation/deprecation */}\r\n {version === \"1\" ? /* istanbul ignore next */ <FrontstageComposer style={{ position: \"relative\", height: \"100%\" }} /> : /* istanbul ignore next */ <WidgetPanelsFrontstage />}\r\n <ContentDialogRenderer />\r\n <ModelessDialogRenderer />\r\n <ModalDialogRenderer />\r\n <ElementTooltip />\r\n <PointerMessage />\r\n <KeyboardShortcutMenu />\r\n <InputFieldMessage />\r\n <CursorPopupMenu />\r\n <CursorPopupRenderer />\r\n <PopupRenderer />\r\n </main>\r\n );\r\n}\r\n"]}