@itwin/appui-react 4.0.0 → 4.0.1

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 (731) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/lib/cjs/appui-react/UiFramework.js +5 -9
  3. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  4. package/lib/cjs/appui-react/_variables.scss +11 -11
  5. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  8. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  10. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  11. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +4 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  14. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  15. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  17. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  19. package/lib/cjs/appui-react/accudraw/Calculator.scss +84 -84
  20. package/lib/cjs/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  21. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  23. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  24. package/lib/cjs/appui-react/accudraw/MenuButton.scss +18 -18
  25. package/lib/cjs/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  26. package/lib/cjs/appui-react/accudraw/SquareButton.js.map +1 -1
  27. package/lib/cjs/appui-react/accudraw/SquareButton.scss +29 -29
  28. package/lib/cjs/appui-react/accudraw/backspace.svg +9 -9
  29. package/lib/cjs/appui-react/accudraw/constraint-2d.svg +11 -11
  30. package/lib/cjs/appui-react/accudraw/height-2.svg +10 -10
  31. package/lib/cjs/appui-react/accudraw/height.svg +11 -11
  32. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +1 -2
  34. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  35. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  36. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  37. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  38. package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
  39. package/lib/cjs/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  40. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  41. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  42. package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
  43. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +24 -25
  44. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  45. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
  46. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +1 -1
  47. package/lib/cjs/appui-react/childwindow/PopoutWidget.scss +10 -10
  48. package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
  49. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  50. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  51. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  52. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  53. package/lib/cjs/appui-react/configurableui/TimeTracker.js +1 -2
  54. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  55. package/lib/cjs/appui-react/configurableui/configurableui.scss +74 -74
  56. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  57. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  58. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  59. package/lib/cjs/appui-react/content/ContentLayout.js +6 -11
  60. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  61. package/lib/cjs/appui-react/content/ContentLayout.scss +99 -99
  62. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +3 -4
  63. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  64. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +46 -46
  65. package/lib/cjs/appui-react/content/FloatingViewportContent.js +1 -2
  66. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  67. package/lib/cjs/appui-react/content/IModelViewport.js +3 -6
  68. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  69. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +1 -2
  70. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  71. package/lib/cjs/appui-react/content/InternalContentViewManager.js +1 -1
  72. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  73. package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -1
  74. package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -1
  75. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  76. package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -1
  77. package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -1
  78. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +8 -12
  79. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  80. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  81. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +2 -3
  82. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  83. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  84. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  85. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  86. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  87. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  88. package/lib/cjs/appui-react/dialog/ContentDialog.js +3 -6
  89. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  90. package/lib/cjs/appui-react/dialog/ContentDialog.scss +25 -25
  91. package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -1
  92. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +2 -3
  93. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  94. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  95. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  96. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  97. package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
  98. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  99. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  100. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  101. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  102. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  103. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  104. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +50 -50
  105. package/lib/cjs/appui-react/framework/FrameworkBackstage.js.map +1 -1
  106. package/lib/cjs/appui-react/framework/FrameworkChildWindows.js.map +1 -1
  107. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
  108. package/lib/cjs/appui-react/framework/FrameworkControls.js.map +1 -1
  109. package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
  110. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  111. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  112. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  113. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  114. package/lib/cjs/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  115. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +3 -4
  116. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  117. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  118. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  119. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  120. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +80 -80
  121. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +2 -3
  122. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  123. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +11 -11
  124. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  125. package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
  126. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
  127. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  128. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  129. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  130. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  131. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  132. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  133. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  134. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  135. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  136. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  137. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +8 -13
  138. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  139. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
  140. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  141. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  142. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  143. package/lib/cjs/appui-react/messages/ActivityMessage.js +5 -7
  144. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  145. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  146. package/lib/cjs/appui-react/messages/HollowIcon.js.map +1 -1
  147. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  148. package/lib/cjs/appui-react/messages/InputField.scss +82 -82
  149. package/lib/cjs/appui-react/messages/MessageLabel.js.map +1 -1
  150. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  151. package/lib/cjs/appui-react/messages/MessageSpan.js.map +1 -1
  152. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  153. package/lib/cjs/appui-react/messages/Pointer.scss +42 -42
  154. package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  155. package/lib/cjs/appui-react/messages/StatusMessageManager.js.map +1 -1
  156. package/lib/cjs/appui-react/messages/getToastCategory.js.map +1 -1
  157. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  158. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  159. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  160. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  161. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
  162. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  163. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  164. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  165. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  166. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  167. package/lib/cjs/appui-react/pickers/ListPicker.scss +305 -305
  168. package/lib/cjs/appui-react/pickers/ViewSelector.js +4 -4
  169. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  170. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  171. package/lib/cjs/appui-react/popup/CardPopup.scss +25 -25
  172. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  173. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  174. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +1 -2
  175. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  176. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +30 -30
  177. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  178. package/lib/cjs/appui-react/popup/PopupManager.js +1 -2
  179. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  180. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  181. package/lib/cjs/appui-react/popup/PositionPopup.scss +28 -28
  182. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  183. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  184. package/lib/cjs/appui-react/redux/FrameworkState.js.map +1 -1
  185. package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
  186. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  187. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  188. package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
  189. package/lib/cjs/appui-react/redux/redux-ts.js.map +1 -1
  190. package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
  191. package/lib/cjs/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
  192. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  193. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  194. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  195. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +1 -1
  196. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  197. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
  198. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  199. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  200. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +65 -65
  201. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  202. package/lib/cjs/appui-react/shared/AnyItemDef.js.map +1 -1
  203. package/lib/cjs/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  204. package/lib/cjs/appui-react/shared/CommandItemDef.js.map +1 -1
  205. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  206. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  207. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  208. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  209. package/lib/cjs/appui-react/shared/ItemMap.js.map +1 -1
  210. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  211. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  212. package/lib/cjs/appui-react/shared/SelectionScope.js.map +1 -1
  213. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  214. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  215. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +5 -7
  216. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  217. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  218. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  219. package/lib/cjs/appui-react/statusbar/Field.js.map +1 -1
  220. package/lib/cjs/appui-react/statusbar/Field.scss +109 -109
  221. package/lib/cjs/appui-react/statusbar/Indicator.js +1 -2
  222. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  223. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  224. package/lib/cjs/appui-react/statusbar/LabelIndicator.scss +43 -43
  225. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  226. package/lib/cjs/appui-react/statusbar/Overflow.scss +27 -27
  227. package/lib/cjs/appui-react/statusbar/OverflowPanel.js.map +1 -1
  228. package/lib/cjs/appui-react/statusbar/OverflowPanel.scss +22 -22
  229. package/lib/cjs/appui-react/statusbar/Popup.js.map +1 -1
  230. package/lib/cjs/appui-react/statusbar/Separator.js.map +1 -1
  231. package/lib/cjs/appui-react/statusbar/Separator.scss +12 -12
  232. package/lib/cjs/appui-react/statusbar/StatusBar.js +3 -5
  233. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  234. package/lib/cjs/appui-react/statusbar/StatusBar.scss +41 -41
  235. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  236. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  237. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  238. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  239. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  240. package/lib/cjs/appui-react/statusbar/dialog/Button.js.map +1 -1
  241. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  242. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  243. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  244. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  245. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  246. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  247. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  248. package/lib/cjs/appui-react/statusfields/SectionsField.scss +35 -35
  249. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  250. package/lib/cjs/appui-react/statusfields/SelectionInfo.scss +14 -14
  251. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  252. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +46 -46
  253. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  254. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  255. package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +10 -10
  256. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  257. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
  258. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -1
  259. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  260. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
  261. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  262. package/lib/cjs/appui-react/theme/ThemeManager.js +1 -2
  263. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  264. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  265. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  266. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  267. package/lib/cjs/appui-react/toolbar/DragInteraction.js.map +1 -1
  268. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  269. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  270. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  271. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  272. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  273. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  274. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  275. package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  276. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  277. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  278. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  279. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +7 -14
  280. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  281. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  282. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  283. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  284. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  285. package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
  286. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +1 -2
  287. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  288. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  289. package/lib/cjs/appui-react/toolsettings/ToolInformation.js.map +1 -1
  290. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  291. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts.map +1 -1
  292. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +25 -18
  293. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  294. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  295. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  296. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  297. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +8 -10
  298. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  299. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  300. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  301. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  302. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -2
  303. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  304. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +8 -14
  305. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  306. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  307. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
  308. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +1 -1
  309. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  310. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
  311. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  312. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  313. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  314. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  315. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  316. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  317. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  318. package/lib/cjs/appui-react/utils/PropsHelper.d.ts.map +1 -1
  319. package/lib/cjs/appui-react/utils/PropsHelper.js +2 -1
  320. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  321. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  322. package/lib/cjs/appui-react/utils/ViewUtilities.js.map +1 -1
  323. package/lib/cjs/appui-react/widget-panels/Content.js +7 -8
  324. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  325. package/lib/cjs/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  326. package/lib/cjs/appui-react/widget-panels/Frontstage.js +30 -39
  327. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  328. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +19 -19
  329. package/lib/cjs/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  330. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  331. package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
  332. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  333. package/lib/cjs/appui-react/widget-panels/StatusBar.scss +10 -10
  334. package/lib/cjs/appui-react/widget-panels/Tab.js +1 -1
  335. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  336. package/lib/cjs/appui-react/widget-panels/Tab.scss +14 -14
  337. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +9 -17
  338. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  339. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +41 -41
  340. package/lib/cjs/appui-react/widget-panels/Toolbars.js +2 -3
  341. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  342. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +20 -20
  343. package/lib/cjs/appui-react/widget-panels/useTransientState.js.map +1 -1
  344. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  345. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  346. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  347. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  348. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  349. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +2 -2
  350. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  351. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  352. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  353. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  354. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  355. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  356. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  357. package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
  358. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  359. package/lib/cjs/appui-react/widgets/WidgetDef.js +1 -1
  360. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  361. package/lib/cjs/appui-react/widgets/WidgetHost.js +2 -3
  362. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  363. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  364. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
  365. package/lib/cjs/appui-react.js.map +1 -1
  366. package/lib/esm/appui-react/UiFramework.js +5 -9
  367. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  368. package/lib/esm/appui-react/_variables.scss +11 -11
  369. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  370. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  371. package/lib/esm/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  372. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  373. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  374. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  375. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +4 -1
  376. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  377. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  378. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  379. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  380. package/lib/esm/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  381. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  382. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  383. package/lib/esm/appui-react/accudraw/Calculator.scss +84 -84
  384. package/lib/esm/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  385. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  386. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  387. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  388. package/lib/esm/appui-react/accudraw/MenuButton.scss +18 -18
  389. package/lib/esm/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  390. package/lib/esm/appui-react/accudraw/SquareButton.js.map +1 -1
  391. package/lib/esm/appui-react/accudraw/SquareButton.scss +29 -29
  392. package/lib/esm/appui-react/accudraw/backspace.svg +9 -9
  393. package/lib/esm/appui-react/accudraw/constraint-2d.svg +11 -11
  394. package/lib/esm/appui-react/accudraw/height-2.svg +10 -10
  395. package/lib/esm/appui-react/accudraw/height.svg +11 -11
  396. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  397. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -2
  398. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  399. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  400. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  401. package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  402. package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
  403. package/lib/esm/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  404. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  405. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  406. package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
  407. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +24 -25
  408. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  409. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
  410. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +1 -1
  411. package/lib/esm/appui-react/childwindow/PopoutWidget.scss +10 -10
  412. package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
  413. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  414. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  415. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  416. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  417. package/lib/esm/appui-react/configurableui/TimeTracker.js +1 -2
  418. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  419. package/lib/esm/appui-react/configurableui/configurableui.scss +74 -74
  420. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  421. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  422. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  423. package/lib/esm/appui-react/content/ContentLayout.js +6 -11
  424. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  425. package/lib/esm/appui-react/content/ContentLayout.scss +99 -99
  426. package/lib/esm/appui-react/content/DefaultViewOverlay.js +3 -4
  427. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  428. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +46 -46
  429. package/lib/esm/appui-react/content/FloatingViewportContent.js +1 -2
  430. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  431. package/lib/esm/appui-react/content/IModelViewport.js +3 -6
  432. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  433. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +1 -2
  434. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  435. package/lib/esm/appui-react/content/InternalContentViewManager.js +1 -1
  436. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  437. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -1
  438. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -1
  439. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  440. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -1
  441. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -1
  442. package/lib/esm/appui-react/content/split-pane/SplitPane.js +8 -12
  443. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  444. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  445. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +2 -3
  446. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  447. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  448. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  449. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  450. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  451. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  452. package/lib/esm/appui-react/dialog/ContentDialog.js +3 -6
  453. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  454. package/lib/esm/appui-react/dialog/ContentDialog.scss +25 -25
  455. package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -1
  456. package/lib/esm/appui-react/dialog/DialogManagerBase.js +2 -3
  457. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  458. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  459. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  460. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  461. package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
  462. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  463. package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  464. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  465. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  466. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  467. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  468. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +50 -50
  469. package/lib/esm/appui-react/framework/FrameworkBackstage.js.map +1 -1
  470. package/lib/esm/appui-react/framework/FrameworkChildWindows.js.map +1 -1
  471. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
  472. package/lib/esm/appui-react/framework/FrameworkControls.js.map +1 -1
  473. package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
  474. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  475. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  476. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  477. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  478. package/lib/esm/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  479. package/lib/esm/appui-react/frontstage/FrontstageDef.js +3 -4
  480. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  481. package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  482. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  483. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  484. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +80 -80
  485. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +2 -3
  486. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  487. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +11 -11
  488. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  489. package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -1
  490. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
  491. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  492. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  493. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  494. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  495. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  496. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  497. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  498. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  499. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  500. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  501. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +8 -13
  502. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  503. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
  504. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  505. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  506. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  507. package/lib/esm/appui-react/messages/ActivityMessage.js +5 -7
  508. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  509. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  510. package/lib/esm/appui-react/messages/HollowIcon.js.map +1 -1
  511. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  512. package/lib/esm/appui-react/messages/InputField.scss +82 -82
  513. package/lib/esm/appui-react/messages/MessageLabel.js.map +1 -1
  514. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  515. package/lib/esm/appui-react/messages/MessageSpan.js.map +1 -1
  516. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  517. package/lib/esm/appui-react/messages/Pointer.scss +42 -42
  518. package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  519. package/lib/esm/appui-react/messages/StatusMessageManager.js.map +1 -1
  520. package/lib/esm/appui-react/messages/getToastCategory.js.map +1 -1
  521. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  522. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  523. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  524. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  525. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
  526. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  527. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  528. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  529. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  530. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  531. package/lib/esm/appui-react/pickers/ListPicker.scss +305 -305
  532. package/lib/esm/appui-react/pickers/ViewSelector.js +4 -4
  533. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  534. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  535. package/lib/esm/appui-react/popup/CardPopup.scss +25 -25
  536. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  537. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  538. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +1 -2
  539. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  540. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +30 -30
  541. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  542. package/lib/esm/appui-react/popup/PopupManager.js +1 -2
  543. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  544. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  545. package/lib/esm/appui-react/popup/PositionPopup.scss +28 -28
  546. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  547. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  548. package/lib/esm/appui-react/redux/FrameworkState.js.map +1 -1
  549. package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
  550. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  551. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  552. package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
  553. package/lib/esm/appui-react/redux/redux-ts.js.map +1 -1
  554. package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
  555. package/lib/esm/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
  556. package/lib/esm/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  557. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  558. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  559. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +1 -1
  560. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  561. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
  562. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  563. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  564. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +65 -65
  565. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  566. package/lib/esm/appui-react/shared/AnyItemDef.js.map +1 -1
  567. package/lib/esm/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  568. package/lib/esm/appui-react/shared/CommandItemDef.js.map +1 -1
  569. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  570. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  571. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  572. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  573. package/lib/esm/appui-react/shared/ItemMap.js.map +1 -1
  574. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  575. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  576. package/lib/esm/appui-react/shared/SelectionScope.js.map +1 -1
  577. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  578. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  579. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +5 -7
  580. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  581. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  582. package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  583. package/lib/esm/appui-react/statusbar/Field.js.map +1 -1
  584. package/lib/esm/appui-react/statusbar/Field.scss +109 -109
  585. package/lib/esm/appui-react/statusbar/Indicator.js +1 -2
  586. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  587. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  588. package/lib/esm/appui-react/statusbar/LabelIndicator.scss +43 -43
  589. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  590. package/lib/esm/appui-react/statusbar/Overflow.scss +27 -27
  591. package/lib/esm/appui-react/statusbar/OverflowPanel.js.map +1 -1
  592. package/lib/esm/appui-react/statusbar/OverflowPanel.scss +22 -22
  593. package/lib/esm/appui-react/statusbar/Popup.js.map +1 -1
  594. package/lib/esm/appui-react/statusbar/Separator.js.map +1 -1
  595. package/lib/esm/appui-react/statusbar/Separator.scss +12 -12
  596. package/lib/esm/appui-react/statusbar/StatusBar.js +3 -5
  597. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  598. package/lib/esm/appui-react/statusbar/StatusBar.scss +41 -41
  599. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  600. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  601. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  602. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  603. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  604. package/lib/esm/appui-react/statusbar/dialog/Button.js.map +1 -1
  605. package/lib/esm/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  606. package/lib/esm/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  607. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  608. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  609. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  610. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  611. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  612. package/lib/esm/appui-react/statusfields/SectionsField.scss +35 -35
  613. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  614. package/lib/esm/appui-react/statusfields/SelectionInfo.scss +14 -14
  615. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  616. package/lib/esm/appui-react/statusfields/SelectionScope.scss +46 -46
  617. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  618. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  619. package/lib/esm/appui-react/statusfields/ViewAttributes.scss +10 -10
  620. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  621. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
  622. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -1
  623. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  624. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
  625. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  626. package/lib/esm/appui-react/theme/ThemeManager.js +1 -2
  627. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  628. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  629. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  630. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  631. package/lib/esm/appui-react/toolbar/DragInteraction.js.map +1 -1
  632. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  633. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  634. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  635. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  636. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  637. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  638. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  639. package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  640. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  641. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  642. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  643. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +7 -14
  644. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  645. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  646. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  647. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  648. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  649. package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
  650. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +1 -2
  651. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  652. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  653. package/lib/esm/appui-react/toolsettings/ToolInformation.js.map +1 -1
  654. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  655. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts.map +1 -1
  656. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +25 -18
  657. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  658. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  659. package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  660. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  661. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +8 -10
  662. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  663. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  664. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  665. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  666. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -2
  667. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  668. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +8 -14
  669. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  670. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  671. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
  672. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +1 -1
  673. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  674. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
  675. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  676. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  677. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  678. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  679. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  680. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  681. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  682. package/lib/esm/appui-react/utils/PropsHelper.d.ts.map +1 -1
  683. package/lib/esm/appui-react/utils/PropsHelper.js +2 -1
  684. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  685. package/lib/esm/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  686. package/lib/esm/appui-react/utils/ViewUtilities.js.map +1 -1
  687. package/lib/esm/appui-react/widget-panels/Content.js +7 -8
  688. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  689. package/lib/esm/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  690. package/lib/esm/appui-react/widget-panels/Frontstage.js +30 -39
  691. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  692. package/lib/esm/appui-react/widget-panels/Frontstage.scss +19 -19
  693. package/lib/esm/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  694. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  695. package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
  696. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  697. package/lib/esm/appui-react/widget-panels/StatusBar.scss +10 -10
  698. package/lib/esm/appui-react/widget-panels/Tab.js +1 -1
  699. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  700. package/lib/esm/appui-react/widget-panels/Tab.scss +14 -14
  701. package/lib/esm/appui-react/widget-panels/ToolSettings.js +9 -17
  702. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  703. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +41 -41
  704. package/lib/esm/appui-react/widget-panels/Toolbars.js +2 -3
  705. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  706. package/lib/esm/appui-react/widget-panels/Toolbars.scss +20 -20
  707. package/lib/esm/appui-react/widget-panels/useTransientState.js.map +1 -1
  708. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  709. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  710. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  711. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  712. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  713. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +2 -2
  714. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  715. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  716. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  717. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  718. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  719. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  720. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  721. package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
  722. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  723. package/lib/esm/appui-react/widgets/WidgetDef.js +1 -1
  724. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  725. package/lib/esm/appui-react/widgets/WidgetHost.js +2 -3
  726. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  727. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  728. package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -1
  729. package/lib/esm/appui-react.js.map +1 -1
  730. package/lib/public/locales/en/UiFramework.json +331 -331
  731. package/package.json +16 -16
@@ -1 +1 @@
1
- {"version":3,"file":"BackstageItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageItemsManager.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 Backstage\r\n */\r\n\r\nimport { ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport { BackstageItem } from \"./BackstageItem\";\r\n\r\n/** Arguments of [[BackstageItemsManager.onChanged]] event.\r\n * @internal\r\n */\r\nexport interface BackstageItemsChangedArgs {\r\n readonly items: ReadonlyArray<BackstageItem>;\r\n}\r\n\r\n/**\r\n * Controls backstage items.\r\n * @internal\r\n */\r\nexport class BackstageItemsManager {\r\n private _items: ReadonlyArray<BackstageItem> = [];\r\n\r\n constructor(items?: ReadonlyArray<BackstageItem>) {\r\n // istanbul ignore else\r\n if (items)\r\n this.loadItemsInternal(items, true, false);\r\n }\r\n\r\n private loadItemsInternal(items: ReadonlyArray<BackstageItem>, processConditions: boolean, sendItemChanged: boolean) {\r\n if (processConditions && items) {\r\n const eventIds = BackstageItemsManager.getSyncIdsOfInterest(items);\r\n if (0 !== eventIds.length) {\r\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));\r\n\r\n // istanbul ignore else\r\n if (itemsUpdated)\r\n items = updatedItems;\r\n }\r\n }\r\n\r\n this._items = items;\r\n if (sendItemChanged)\r\n this.onItemsChanged.raiseEvent({ items });\r\n }\r\n\r\n /** load items but do not fire onItemsChanged\r\n * @internal\r\n */\r\n public loadItems(items: ReadonlyArray<BackstageItem>) {\r\n this.loadItemsInternal(items, true, false);\r\n }\r\n\r\n /** Event raised when backstage items are changed.\r\n * @internal\r\n */\r\n public readonly onItemsChanged = new BeEvent<(args: BackstageItemsChangedArgs) => void>();\r\n\r\n public get items(): ReadonlyArray<BackstageItem> {\r\n return this._items;\r\n }\r\n\r\n public set items(items: ReadonlyArray<BackstageItem>) {\r\n // istanbul ignore else\r\n if (items !== this._items)\r\n this.loadItemsInternal(items, true, true);\r\n }\r\n\r\n /** @internal */\r\n public add(itemOrItems: BackstageItem | ReadonlyArray<BackstageItem>) {\r\n let itemsToAdd;\r\n if (!Array.isArray(itemOrItems))\r\n itemsToAdd = [itemOrItems];\r\n else {\r\n itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);\r\n }\r\n itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);\r\n if (itemsToAdd.length === 0)\r\n return;\r\n const items = [\r\n ...this._items,\r\n ...itemsToAdd,\r\n ];\r\n this.items = items;\r\n }\r\n\r\n /** @internal */\r\n public remove(itemIdOrItemIds: BackstageItem[\"id\"] | ReadonlyArray<BackstageItem[\"id\"]>) {\r\n const items = this._items.filter((item) => {\r\n return Array.isArray(itemIdOrItemIds) ? !itemIdOrItemIds.find((itemId) => itemId === item.id) : item.id !== itemIdOrItemIds;\r\n });\r\n this.items = items;\r\n }\r\n\r\n /** @internal */\r\n public static getSyncIdsOfInterest(items: readonly BackstageItem[]): string[] {\r\n const eventIds = new Set<string>();\r\n items.forEach((item) => {\r\n for (const [, entry] of Object.entries(item)) {\r\n if (entry instanceof ConditionalBooleanValue) {\r\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\r\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\r\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\r\n }\r\n }\r\n });\r\n return [...eventIds.values()];\r\n }\r\n\r\n private internalRefreshAffectedItems(items: readonly BackstageItem[], eventIds: Set<string>): { itemsUpdated: boolean, updatedItems: BackstageItem[] } {\r\n // istanbul ignore next\r\n if (0 === eventIds.size)\r\n return { itemsUpdated: false, updatedItems: [] };\r\n\r\n let updateRequired = false;\r\n\r\n const newItems: BackstageItem[] = [];\r\n for (const item of items) {\r\n const updatedItem = { ...item };\r\n\r\n for (const [, entry] of Object.entries(updatedItem)) {\r\n if (entry instanceof ConditionalBooleanValue) {\r\n // istanbul ignore else\r\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\r\n updateRequired = true;\r\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\r\n // istanbul ignore else\r\n if (ConditionalStringValue.refreshValue(entry, eventIds))\r\n updateRequired = true;\r\n }\r\n }\r\n\r\n newItems.push(updatedItem);\r\n }\r\n\r\n return { itemsUpdated: updateRequired, updatedItems: newItems };\r\n }\r\n\r\n public refreshAffectedItems(eventIds: Set<string>) {\r\n // istanbul ignore next\r\n if (0 === eventIds.size)\r\n return;\r\n\r\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);\r\n\r\n // istanbul ignore else\r\n if (itemsUpdated)\r\n this.loadItemsInternal(updatedItems, false, true);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BackstageItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Backstage\n */\n\nimport { ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { BackstageItem } from \"./BackstageItem\";\n\n/** Arguments of [[BackstageItemsManager.onChanged]] event.\n * @internal\n */\nexport interface BackstageItemsChangedArgs {\n readonly items: ReadonlyArray<BackstageItem>;\n}\n\n/**\n * Controls backstage items.\n * @internal\n */\nexport class BackstageItemsManager {\n private _items: ReadonlyArray<BackstageItem> = [];\n\n constructor(items?: ReadonlyArray<BackstageItem>) {\n // istanbul ignore else\n if (items)\n this.loadItemsInternal(items, true, false);\n }\n\n private loadItemsInternal(items: ReadonlyArray<BackstageItem>, processConditions: boolean, sendItemChanged: boolean) {\n if (processConditions && items) {\n const eventIds = BackstageItemsManager.getSyncIdsOfInterest(items);\n if (0 !== eventIds.length) {\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));\n\n // istanbul ignore else\n if (itemsUpdated)\n items = updatedItems;\n }\n }\n\n this._items = items;\n if (sendItemChanged)\n this.onItemsChanged.raiseEvent({ items });\n }\n\n /** load items but do not fire onItemsChanged\n * @internal\n */\n public loadItems(items: ReadonlyArray<BackstageItem>) {\n this.loadItemsInternal(items, true, false);\n }\n\n /** Event raised when backstage items are changed.\n * @internal\n */\n public readonly onItemsChanged = new BeEvent<(args: BackstageItemsChangedArgs) => void>();\n\n public get items(): ReadonlyArray<BackstageItem> {\n return this._items;\n }\n\n public set items(items: ReadonlyArray<BackstageItem>) {\n // istanbul ignore else\n if (items !== this._items)\n this.loadItemsInternal(items, true, true);\n }\n\n /** @internal */\n public add(itemOrItems: BackstageItem | ReadonlyArray<BackstageItem>) {\n let itemsToAdd;\n if (!Array.isArray(itemOrItems))\n itemsToAdd = [itemOrItems];\n else {\n itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);\n }\n itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);\n if (itemsToAdd.length === 0)\n return;\n const items = [\n ...this._items,\n ...itemsToAdd,\n ];\n this.items = items;\n }\n\n /** @internal */\n public remove(itemIdOrItemIds: BackstageItem[\"id\"] | ReadonlyArray<BackstageItem[\"id\"]>) {\n const items = this._items.filter((item) => {\n return Array.isArray(itemIdOrItemIds) ? !itemIdOrItemIds.find((itemId) => itemId === item.id) : item.id !== itemIdOrItemIds;\n });\n this.items = items;\n }\n\n /** @internal */\n public static getSyncIdsOfInterest(items: readonly BackstageItem[]): string[] {\n const eventIds = new Set<string>();\n items.forEach((item) => {\n for (const [, entry] of Object.entries(item)) {\n if (entry instanceof ConditionalBooleanValue) {\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\n }\n }\n });\n return [...eventIds.values()];\n }\n\n private internalRefreshAffectedItems(items: readonly BackstageItem[], eventIds: Set<string>): { itemsUpdated: boolean, updatedItems: BackstageItem[] } {\n // istanbul ignore next\n if (0 === eventIds.size)\n return { itemsUpdated: false, updatedItems: [] };\n\n let updateRequired = false;\n\n const newItems: BackstageItem[] = [];\n for (const item of items) {\n const updatedItem = { ...item };\n\n for (const [, entry] of Object.entries(updatedItem)) {\n if (entry instanceof ConditionalBooleanValue) {\n // istanbul ignore else\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\n updateRequired = true;\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\n // istanbul ignore else\n if (ConditionalStringValue.refreshValue(entry, eventIds))\n updateRequired = true;\n }\n }\n\n newItems.push(updatedItem);\n }\n\n return { itemsUpdated: updateRequired, updatedItems: newItems };\n }\n\n public refreshAffectedItems(eventIds: Set<string>) {\n // istanbul ignore next\n if (0 === eventIds.size)\n return;\n\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);\n\n // istanbul ignore else\n if (itemsUpdated)\n this.loadItemsInternal(updatedItems, false, true);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"BackstageManager.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageManager.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAA7B;QACU,aAAQ,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAsCpD,CAAC;IApCC;;;OAGG;IACI,YAAY,CAAC,QAAkC;QACpD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,uDAAuD;IACvD,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1D,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAEM,yBAAyB,CAAC,gBAA2B;QAC1D,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IACnE,CAAC;IAED;MACE;IACK,MAAM,CAAC,yBAAyB,CAAC,gBAA2B;QACjE,OAAO,WAAW,CAAC,SAAS,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC3E,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAA2B,EAAE,EAAE;IAChE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,aAAa,GAAG,CAAC,IAA0B,EAAE,EAAE;YACnD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC,CAAC;QACF,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC7C,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { IconSpec } from \"@itwin/core-react\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { BackstageToggledArgs, FrameworkBackstage } from \"../framework/FrameworkBackstage\";\r\nimport { InternalBackstageManager } from \"./InternalBackstageManager\";\r\n\r\n/** Controls backstage.\r\n * @public\r\n */\r\nexport class BackstageManager {\r\n private internal = new InternalBackstageManager();\r\n\r\n /**\r\n * Override internal implementation for a mock\r\n * @internal For tests only.\r\n */\r\n public mockInternal(internal: InternalBackstageManager) {\r\n this.internal = internal;\r\n }\r\n\r\n /** Event raised when backstage is opened or closed. */\r\n public get onToggled() { return this.internal.onToggled; }\r\n\r\n public get isOpen() {\r\n return this.internal.isOpen;\r\n }\r\n\r\n public open() {\r\n return this.internal.open();\r\n }\r\n\r\n public close() {\r\n return this.internal.close();\r\n }\r\n\r\n public toggle() {\r\n return this.internal.toggle();\r\n }\r\n\r\n public getBackstageToggleCommand(overrideIconSpec?: IconSpec) {\r\n return this.internal.getBackstageToggleCommand(overrideIconSpec);\r\n }\r\n\r\n /** Get CommandItemDef that will toggle display of Backstage and allow iconSpec to be overridden\r\n */\r\n public static getBackstageToggleCommand(overrideIconSpec?: IconSpec) {\r\n return UiFramework.backstage.getBackstageToggleCommand(overrideIconSpec);\r\n }\r\n}\r\n\r\n/** Hook that returns isOpen flag of the backstage.\r\n * @public\r\n */\r\nexport const useIsBackstageOpen = (manager: FrameworkBackstage) => {\r\n const [isOpen, setIsOpen] = React.useState(manager.isOpen);\r\n React.useEffect(() => {\r\n const handleToggled = (args: BackstageToggledArgs) => {\r\n setIsOpen(args.isOpen);\r\n };\r\n setIsOpen(manager.isOpen);\r\n manager.onToggled.addListener(handleToggled);\r\n return () => {\r\n manager.onToggled.removeListener(handleToggled);\r\n };\r\n }, [manager]);\r\n return isOpen;\r\n};\r\n\r\n/** Hook that returns backstage manager.\r\n * @public\r\n */\r\nexport const useBackstageManager = () => {\r\n const [manager] = React.useState(UiFramework.backstage);\r\n return manager;\r\n};\r\n"]}
1
+ {"version":3,"file":"BackstageManager.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageManager.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAA7B;QACU,aAAQ,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAsCpD,CAAC;IApCC;;;OAGG;IACI,YAAY,CAAC,QAAkC;QACpD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,uDAAuD;IACvD,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1D,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAEM,yBAAyB,CAAC,gBAA2B;QAC1D,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IACnE,CAAC;IAED;MACE;IACK,MAAM,CAAC,yBAAyB,CAAC,gBAA2B;QACjE,OAAO,WAAW,CAAC,SAAS,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC3E,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAA2B,EAAE,EAAE;IAChE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,aAAa,GAAG,CAAC,IAA0B,EAAE,EAAE;YACnD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC,CAAC;QACF,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC7C,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Backstage\n */\n\nimport * as React from \"react\";\nimport { IconSpec } from \"@itwin/core-react\";\nimport { UiFramework } from \"../UiFramework\";\nimport { BackstageToggledArgs, FrameworkBackstage } from \"../framework/FrameworkBackstage\";\nimport { InternalBackstageManager } from \"./InternalBackstageManager\";\n\n/** Controls backstage.\n * @public\n */\nexport class BackstageManager {\n private internal = new InternalBackstageManager();\n\n /**\n * Override internal implementation for a mock\n * @internal For tests only.\n */\n public mockInternal(internal: InternalBackstageManager) {\n this.internal = internal;\n }\n\n /** Event raised when backstage is opened or closed. */\n public get onToggled() { return this.internal.onToggled; }\n\n public get isOpen() {\n return this.internal.isOpen;\n }\n\n public open() {\n return this.internal.open();\n }\n\n public close() {\n return this.internal.close();\n }\n\n public toggle() {\n return this.internal.toggle();\n }\n\n public getBackstageToggleCommand(overrideIconSpec?: IconSpec) {\n return this.internal.getBackstageToggleCommand(overrideIconSpec);\n }\n\n /** Get CommandItemDef that will toggle display of Backstage and allow iconSpec to be overridden\n */\n public static getBackstageToggleCommand(overrideIconSpec?: IconSpec) {\n return UiFramework.backstage.getBackstageToggleCommand(overrideIconSpec);\n }\n}\n\n/** Hook that returns isOpen flag of the backstage.\n * @public\n */\nexport const useIsBackstageOpen = (manager: FrameworkBackstage) => {\n const [isOpen, setIsOpen] = React.useState(manager.isOpen);\n React.useEffect(() => {\n const handleToggled = (args: BackstageToggledArgs) => {\n setIsOpen(args.isOpen);\n };\n setIsOpen(manager.isOpen);\n manager.onToggled.addListener(handleToggled);\n return () => {\n manager.onToggled.removeListener(handleToggled);\n };\n }, [manager]);\n return isOpen;\n};\n\n/** Hook that returns backstage manager.\n * @public\n */\nexport const useBackstageManager = () => {\n const [manager] = React.useState(UiFramework.backstage);\n return manager;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"InternalBackstageManager.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/InternalBackstageManager.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAArC;QACU,YAAO,GAAG,KAAK,CAAC;QAExB,uDAAuD;QACvC,cAAS,GAAG,IAAI,OAAO,EAAwC,CAAC;IAsClF,CAAC;IApCC,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEO,SAAS,CAAC,MAAe;QAC/B,IAAI,MAAM,KAAK,IAAI,CAAC,OAAO;YACzB,OAAO;QACT,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACxB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,mGAAmG;IAC5F,yBAAyB,CAAC,gBAA2B;QAC1D,OAAO,IAAI,cAAc,CAAC;YACxB,SAAS,EAAE,2BAA2B;YACtC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW;YAC3D,QAAQ,EAAE,oCAAoC;YAC9C,OAAO,EAAE,GAAG,EAAE;gBACZ,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACjC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF","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 { BeEvent } from \"@itwin/core-bentley\";\r\nimport { IconSpec } from \"@itwin/core-react\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { BackstageToggledArgs } from \"../framework/FrameworkBackstage\";\r\n\r\n/** Controls backstage.\r\n * @internal\r\n */\r\nexport class InternalBackstageManager {\r\n private _isOpen = false;\r\n\r\n /** Event raised when backstage is opened or closed. */\r\n public readonly onToggled = new BeEvent<(args: BackstageToggledArgs) => void>();\r\n\r\n public get isOpen() {\r\n return this._isOpen;\r\n }\r\n\r\n private setIsOpen(isOpen: boolean) {\r\n if (isOpen === this._isOpen)\r\n return;\r\n this._isOpen = isOpen;\r\n this.onToggled.raiseEvent({\r\n isOpen,\r\n });\r\n }\r\n\r\n public open() {\r\n this.setIsOpen(true);\r\n }\r\n\r\n public close() {\r\n this.setIsOpen(false);\r\n }\r\n\r\n public toggle() {\r\n this.setIsOpen(!this.isOpen);\r\n }\r\n\r\n /** Get CommandItemDef that will toggle display of Backstage and allow iconSpec to be overridden */\r\n public getBackstageToggleCommand(overrideIconSpec?: IconSpec) {\r\n return new CommandItemDef({\r\n commandId: \"UiFramework.openBackstage\",\r\n iconSpec: overrideIconSpec ? overrideIconSpec : \"icon-home\",\r\n labelKey: \"UiFramework:commands.openBackstage\",\r\n execute: () => {\r\n UiFramework.backstage.toggle();\r\n },\r\n });\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"InternalBackstageManager.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/InternalBackstageManager.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAArC;QACU,YAAO,GAAG,KAAK,CAAC;QAExB,uDAAuD;QACvC,cAAS,GAAG,IAAI,OAAO,EAAwC,CAAC;IAsClF,CAAC;IApCC,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEO,SAAS,CAAC,MAAe;QAC/B,IAAI,MAAM,KAAK,IAAI,CAAC,OAAO;YACzB,OAAO;QACT,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACxB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,mGAAmG;IAC5F,yBAAyB,CAAC,gBAA2B;QAC1D,OAAO,IAAI,cAAc,CAAC;YACxB,SAAS,EAAE,2BAA2B;YACtC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW;YAC3D,QAAQ,EAAE,oCAAoC;YAC9C,OAAO,EAAE,GAAG,EAAE;gBACZ,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACjC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Backstage\n */\n\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { IconSpec } from \"@itwin/core-react\";\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\nimport { UiFramework } from \"../UiFramework\";\nimport { BackstageToggledArgs } from \"../framework/FrameworkBackstage\";\n\n/** Controls backstage.\n * @internal\n */\nexport class InternalBackstageManager {\n private _isOpen = false;\n\n /** Event raised when backstage is opened or closed. */\n public readonly onToggled = new BeEvent<(args: BackstageToggledArgs) => void>();\n\n public get isOpen() {\n return this._isOpen;\n }\n\n private setIsOpen(isOpen: boolean) {\n if (isOpen === this._isOpen)\n return;\n this._isOpen = isOpen;\n this.onToggled.raiseEvent({\n isOpen,\n });\n }\n\n public open() {\n this.setIsOpen(true);\n }\n\n public close() {\n this.setIsOpen(false);\n }\n\n public toggle() {\n this.setIsOpen(!this.isOpen);\n }\n\n /** Get CommandItemDef that will toggle display of Backstage and allow iconSpec to be overridden */\n public getBackstageToggleCommand(overrideIconSpec?: IconSpec) {\n return new CommandItemDef({\n commandId: \"UiFramework.openBackstage\",\n iconSpec: overrideIconSpec ? overrideIconSpec : \"icon-home\",\n labelKey: \"UiFramework:commands.openBackstage\",\n execute: () => {\n UiFramework.backstage.toggle();\n },\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useDefaultBackstageItems.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/useDefaultBackstageItems.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAA8B,EAA4B,EAAE;IACnG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO;YACxB,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;aAC5B;YACH,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { BackstageItem } from \"./BackstageItem\";\r\nimport { BackstageItemsManager } from \"./BackstageItemsManager\";\r\n\r\n/** Hook that returns items from [[BackstageItemsManager]].\r\n * @internal\r\n */\r\nexport const useDefaultBackstageItems = (manager: BackstageItemsManager): readonly BackstageItem[] => {\r\n const [items, setItems] = React.useState(manager.items);\r\n const isInitialMount = React.useRef(true);\r\n React.useEffect(() => {\r\n if (isInitialMount.current)\r\n isInitialMount.current = false;\r\n else {\r\n setItems(manager.items);\r\n }\r\n }, [manager, manager.items]);\r\n React.useEffect(() => {\r\n return manager.onItemsChanged.addListener((args) => {\r\n setItems(args.items);\r\n });\r\n }, [manager]);\r\n return items;\r\n};\r\n"]}
1
+ {"version":3,"file":"useDefaultBackstageItems.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/useDefaultBackstageItems.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAA8B,EAA4B,EAAE;IACnG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO;YACxB,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;aAC5B;YACH,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Backstage\n */\n\nimport * as React from \"react\";\nimport { BackstageItem } from \"./BackstageItem\";\nimport { BackstageItemsManager } from \"./BackstageItemsManager\";\n\n/** Hook that returns items from [[BackstageItemsManager]].\n * @internal\n */\nexport const useDefaultBackstageItems = (manager: BackstageItemsManager): readonly BackstageItem[] => {\n const [items, setItems] = React.useState(manager.items);\n const isInitialMount = React.useRef(true);\n React.useEffect(() => {\n if (isInitialMount.current)\n isInitialMount.current = false;\n else {\n setItems(manager.items);\n }\n }, [manager, manager.items]);\n React.useEffect(() => {\n return manager.onItemsChanged.addListener((args) => {\n setItems(args.items);\n });\n }, [manager]);\n return items;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useUiItemsProviderBackstageItems.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/useUiItemsProviderBackstageItems.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAGrE;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,OAA8B,EAA4B,EAAE;IAC3G,MAAM,iBAAiB,GAAG,4BAA4B,EAAE,CAAC;IACzD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAA,EAAE,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,wHAAwH;IACxH,2DAA2D;IAC3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,uBAAuB;QACvB,IAAI,YAAY,CAAC,OAAO,KAAK,WAAW,EAAE;YACxC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC;YACnC,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,EAAE,CAAC;YAC1D,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAClC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACjC,sEAAsE;IACtE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useAvailableUiItemsProviders } from \"../hooks/useAvailableUiItemsProviders\";\r\nimport { BackstageItem } from \"./BackstageItem\";\r\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\r\nimport { BackstageItemsManager } from \"./BackstageItemsManager\";\r\n\r\n/** Hook that returns items from [[BackstageItemsManager]].\r\n * @public\r\n */\r\nexport const useUiItemsProviderBackstageItems = (manager: BackstageItemsManager): readonly BackstageItem[] => {\r\n const uiItemProviderIds = useAvailableUiItemsProviders();\r\n const [items, setItems] = React.useState(manager ? manager.items : /* istanbul ignore next */[]);\r\n const providersRef = React.useRef(\"\");\r\n // gathers items from registered extensions - dependent on when a UiItemsProvider is register or unregistered and if the\r\n // current stage's composer allows entries from extensions.\r\n React.useEffect(() => {\r\n const uiProviders = uiItemProviderIds.join(\"-\");\r\n // istanbul ignore else\r\n if (providersRef.current !== uiProviders) {\r\n providersRef.current = uiProviders;\r\n const backstageItems = UiItemsManager.getBackstageItems();\r\n manager.loadItems(backstageItems);\r\n setItems(manager.items);\r\n }\r\n }, [manager, uiItemProviderIds]);\r\n // handle item changes caused by calls to UiFramework.backstageManager\r\n React.useEffect(() => {\r\n return manager.onItemsChanged.addListener((args) => {\r\n setItems(args.items);\r\n });\r\n }, [manager]);\r\n return items;\r\n};\r\n"]}
1
+ {"version":3,"file":"useUiItemsProviderBackstageItems.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/useUiItemsProviderBackstageItems.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAGrE;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,OAA8B,EAA4B,EAAE;IAC3G,MAAM,iBAAiB,GAAG,4BAA4B,EAAE,CAAC;IACzD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAA,EAAE,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,wHAAwH;IACxH,2DAA2D;IAC3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,uBAAuB;QACvB,IAAI,YAAY,CAAC,OAAO,KAAK,WAAW,EAAE;YACxC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC;YACnC,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,EAAE,CAAC;YAC1D,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAClC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACjC,sEAAsE;IACtE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport * as React from \"react\";\nimport { useAvailableUiItemsProviders } from \"../hooks/useAvailableUiItemsProviders\";\nimport { BackstageItem } from \"./BackstageItem\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport { BackstageItemsManager } from \"./BackstageItemsManager\";\n\n/** Hook that returns items from [[BackstageItemsManager]].\n * @public\n */\nexport const useUiItemsProviderBackstageItems = (manager: BackstageItemsManager): readonly BackstageItem[] => {\n const uiItemProviderIds = useAvailableUiItemsProviders();\n const [items, setItems] = React.useState(manager ? manager.items : /* istanbul ignore next */[]);\n const providersRef = React.useRef(\"\");\n // gathers items from registered extensions - dependent on when a UiItemsProvider is register or unregistered and if the\n // current stage's composer allows entries from extensions.\n React.useEffect(() => {\n const uiProviders = uiItemProviderIds.join(\"-\");\n // istanbul ignore else\n if (providersRef.current !== uiProviders) {\n providersRef.current = uiProviders;\n const backstageItems = UiItemsManager.getBackstageItems();\n manager.loadItems(backstageItems);\n setItems(manager.items);\n }\n }, [manager, uiItemProviderIds]);\n // handle item changes caused by calls to UiFramework.backstageManager\n React.useEffect(() => {\n return manager.onItemsChanged.addListener((args) => {\n setItems(args.items);\n });\n }, [manager]);\n return items;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CopyStyles.js","sourceRoot":"","sources":["../../../../src/appui-react/childwindow/CopyStyles.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,SAAmB,EAAE,YAAsB,QAAQ;IAC5E,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACtD,uBAAuB;IACvB,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACjC,MAAM,GAAG,GAAG,UAAU,CAAC;QACvB,IAAI,UAAU,CAAC,IAAI,EAAE;YACnB,MAAM,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACxD,eAAe,CAAC,GAAG,GAAG,YAAY,CAAC;YACnC,eAAe,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;YACvC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;SAC7C;aAAM;YACL,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClD,MAAM,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACzD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxC,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;aAC7C;SACF;IACH,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,MAAM,eAAe,GAAG,SAAS,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;IACxE,uBAAuB;IACvB,IAAI,eAAe,EAAE;QACnB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;KAC7D;AACH,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/**\r\n * Copies the source CSS into the destination\r\n * @param targetDoc - target document\r\n * @param sourceDoc - source document\r\n * @internal\r\n */\r\nexport function copyStyles(targetDoc: Document, sourceDoc: Document = document) {\r\n const stylesheets = Array.from(sourceDoc.styleSheets);\r\n // istanbul ignore next\r\n stylesheets.forEach((stylesheet) => {\r\n const css = stylesheet;\r\n if (stylesheet.href) {\r\n const newStyleElement = targetDoc.createElement(\"link\");\r\n newStyleElement.rel = \"stylesheet\";\r\n newStyleElement.href = stylesheet.href;\r\n targetDoc.head.appendChild(newStyleElement);\r\n } else {\r\n if (css && css.cssRules && css.cssRules.length > 0) {\r\n const newStyleElement = targetDoc.createElement(\"style\");\r\n Array.from(css.cssRules).forEach((rule) => {\r\n newStyleElement.appendChild(targetDoc.createTextNode(rule.cssText));\r\n });\r\n targetDoc.head.appendChild(newStyleElement);\r\n }\r\n }\r\n });\r\n\r\n // copy sprites\r\n const svgSymbolParent = sourceDoc.getElementById(\"__SVG_SPRITE_NODE__\");\r\n // istanbul ignore else\r\n if (svgSymbolParent) {\r\n targetDoc.body.appendChild(svgSymbolParent.cloneNode(true));\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"CopyStyles.js","sourceRoot":"","sources":["../../../../src/appui-react/childwindow/CopyStyles.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,SAAmB,EAAE,YAAsB,QAAQ;IAC5E,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACtD,uBAAuB;IACvB,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACjC,MAAM,GAAG,GAAG,UAAU,CAAC;QACvB,IAAI,UAAU,CAAC,IAAI,EAAE;YACnB,MAAM,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACxD,eAAe,CAAC,GAAG,GAAG,YAAY,CAAC;YACnC,eAAe,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;YACvC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;SAC7C;aAAM;YACL,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClD,MAAM,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACzD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxC,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;aAC7C;SACF;IACH,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,MAAM,eAAe,GAAG,SAAS,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;IACxE,uBAAuB;IACvB,IAAI,eAAe,EAAE;QACnB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;KAC7D;AACH,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/**\n * Copies the source CSS into the destination\n * @param targetDoc - target document\n * @param sourceDoc - source document\n * @internal\n */\nexport function copyStyles(targetDoc: Document, sourceDoc: Document = document) {\n const stylesheets = Array.from(sourceDoc.styleSheets);\n // istanbul ignore next\n stylesheets.forEach((stylesheet) => {\n const css = stylesheet;\n if (stylesheet.href) {\n const newStyleElement = targetDoc.createElement(\"link\");\n newStyleElement.rel = \"stylesheet\";\n newStyleElement.href = stylesheet.href;\n targetDoc.head.appendChild(newStyleElement);\n } else {\n if (css && css.cssRules && css.cssRules.length > 0) {\n const newStyleElement = targetDoc.createElement(\"style\");\n Array.from(css.cssRules).forEach((rule) => {\n newStyleElement.appendChild(targetDoc.createTextNode(rule.cssText));\n });\n targetDoc.head.appendChild(newStyleElement);\n }\n }\n });\n\n // copy sprites\n const svgSymbolParent = sourceDoc.getElementById(\"__SVG_SPRITE_NODE__\");\n // istanbul ignore else\n if (svgSymbolParent) {\n targetDoc.body.appendChild(svgSymbolParent.cloneNode(true));\n }\n}\n"]}
@@ -18,27 +18,27 @@ import { ModalDialogRenderer } from "../dialog/ModalDialogManager";
18
18
  import { CursorPopupMenu } from "../cursor/cursormenu/CursorMenu";
19
19
  import { ThemeManager } from "../theme/ThemeManager";
20
20
  import { UiFramework } from "../UiFramework";
21
- const childHtml = `<!DOCTYPE html>
22
- <html>
23
- <head>
24
- <meta charset="utf-8" />
25
- <style>
26
- html,
27
- body {
28
- height: 100%;
29
- width: 100%;
30
- margin: 0;
31
- overflow: hidden;
32
- }
33
- #root {
34
- height: 100%;
35
- }
36
- </style>
37
- </head>
38
- <body>
39
- <noscript>You need to enable JavaScript to run this app.</noscript>
40
- <div id="root"></div>
41
- </body>
21
+ const childHtml = `<!DOCTYPE html>
22
+ <html>
23
+ <head>
24
+ <meta charset="utf-8" />
25
+ <style>
26
+ html,
27
+ body {
28
+ height: 100%;
29
+ width: 100%;
30
+ margin: 0;
31
+ overflow: hidden;
32
+ }
33
+ #root {
34
+ height: 100%;
35
+ }
36
+ </style>
37
+ </head>
38
+ <body>
39
+ <noscript>You need to enable JavaScript to run this app.</noscript>
40
+ <div id="root"></div>
41
+ </body>
42
42
  </html>`;
43
43
  /** Supports opening a child browser window from the main application window. The child window is managed by the main application
44
44
  * and is running in the same security context. The application must deliver the html file iTwinPopup.html along side its index.html.
@@ -120,7 +120,7 @@ export class InternalChildWindowManager {
120
120
  if (!contentWindow)
121
121
  return undefined;
122
122
  const childWindow = this.openChildWindows.find((openWindow) => openWindow.window === contentWindow);
123
- return childWindow === null || childWindow === void 0 ? void 0 : childWindow.childWindowId;
123
+ return childWindow?.childWindowId;
124
124
  }
125
125
  // istanbul ignore next: Used in `open` which is not tested.
126
126
  renderChildWindowContents(childWindow, childWindowId, content, title) {
@@ -164,11 +164,10 @@ export class InternalChildWindowManager {
164
164
  }
165
165
  // istanbul ignore next: Used in `open` which is not tested.
166
166
  adjustWidowLocation(location, center) {
167
- var _a;
168
167
  const outLocation = { ...location };
169
168
  if (0 === location.top && 0 === location.left) {
170
- center = center !== null && center !== void 0 ? center : true;
171
- const windowTop = (_a = window.top) !== null && _a !== void 0 ? _a : window;
169
+ center = center ?? true;
170
+ const windowTop = window.top ?? window;
172
171
  // Prepare position of the new window to be centered against the 'parent' window.
173
172
  if (center) {
174
173
  outLocation.left =
@@ -1 +1 @@
1
- {"version":3,"file":"InternalChildWindowManager.js","sourceRoot":"","sources":["../../../../src/appui-react/childwindow/InternalChildWindowManager.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 \"./InternalChildWindowManager.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 { ThemeManager } from \"../theme/ThemeManager\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ChildWindowLocationProps, FrameworkChildWindows, OpenChildWindowInfo } from \"../framework/FrameworkChildWindows\";\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/**\r\n * Simplification of non exported CreateRoot parameter, only to be used\r\n * in InternalChildWindowManager and ChildWindowManager\r\n * @internal\r\n */\r\nexport type CreateRoot = Parameters<FrameworkChildWindows[\"useCreateRoot\"]>[0];\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 * @internal\r\n * */\r\nexport class InternalChildWindowManager implements FrameworkChildWindows {\r\n private _openChildWindows: OpenChildWindowInfo[] = [];\r\n private _createRoot?: CreateRoot;\r\n\r\n public get openChildWindows() {\r\n return this._openChildWindows;\r\n }\r\n\r\n /**\r\n * When using React18, the `createRoot` function must be provided in order to render Popout content with React18.\r\n * Do not call if using React 17 or before.\r\n *\r\n * Note: The type of the function is intentionally simplified here.\r\n *\r\n * @param createRootFn Function imported from `import { createRoot } from \"react-dom/client\";`\r\n * @beta Will be removed once the transition to react 18 is complete.\r\n */\r\n // istanbul ignore next: Result of this assignment is only visible in `open`, which is not tested.\r\n public useCreateRoot(createRootFn: CreateRoot): void {\r\n this._createRoot = createRootFn;\r\n }\r\n\r\n /**\r\n * Abstracts ReactDOM.render to use either the _createRoot method or the default ReactDOM.render.\r\n * @param element Element to render.\r\n * @param container Container to render to.\r\n */\r\n // istanbul ignore next: Used in `open` which is not tested.\r\n private render(element: React.FunctionComponentElement<any>, container: Element | DocumentFragment) {\r\n if(this._createRoot) {\r\n this._createRoot(container).render(element);\r\n } else {\r\n ReactDOM.render(element, container);\r\n }\r\n }\r\n\r\n /**\r\n * Returns the OpenChildWindowInfo for the related id.\r\n * @param childWindowId Id of the window to retrieve.\r\n * @returns undefined if not found.\r\n */\r\n public find(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 /**\r\n * Return the childWindowId of the provided window.\r\n * @param contentWindow Window element to identify\r\n * @returns undefined if not found\r\n */\r\n public findId(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: Used in `open` which is not tested.\r\n private renderChildWindowContents(childWindow: Window, childWindowId: string, content: React.ReactNode, title: string) {\r\n childWindow.document.title = title;\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 this.render(\r\n <Provider store={StateManager.store} >\r\n <UiStateStorageHandler>\r\n <ThemeManager>\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 </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 = UiFramework.frontstages.activeFrontstageDef;\r\n if (!frontStageDef)\r\n return;\r\n frontStageDef.saveChildWindowSizeAndPosition(childWindowId, childWindow);\r\n this.close(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 closeAll() {\r\n // istanbul ignore next\r\n this.openChildWindows.forEach((openChildWindow) => openChildWindow.window.close());\r\n this._openChildWindows = [];\r\n }\r\n\r\n /**\r\n * Close a specific child window.\r\n * @param childWindowId Id of the window to close\r\n * @param processWindowClose should the `close` method be called on the closing window. (defaults to true)\r\n * @returns false if the window could not be found.\r\n */\r\n public close = (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 = UiFramework.frontstages.activeFrontstageDef;\r\n frontStageDef && frontStageDef.dockPopoutWidgetContainer(childWindowId);\r\n }\r\n return true;\r\n };\r\n\r\n // istanbul ignore next: Used in `open` which is not tested.\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 /**\r\n * Open a new child window.\r\n * @param childWindowId Id to assign to the newly created window.\r\n * @param title Title to display on the window.\r\n * @param content ReactNode to be rendered in the window.\r\n * @param location Position and size information\r\n * @param useDefaultPopoutUrl use \"/iTwinPopup.html\" as the window Url, \"\" otherwise.\r\n * @returns true if the window is opened successfully.\r\n */\r\n // istanbul ignore next: Would require mocking window.open to return a window object.\r\n public open(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, title);\r\n } else {\r\n childWindow.addEventListener(\"load\", () => {\r\n this.renderChildWindowContents(childWindow, childWindowId, content, title);\r\n }, false);\r\n }\r\n\r\n window.addEventListener(\"unload\", () => {\r\n const frontStageDef = UiFramework.frontstages.activeFrontstageDef;\r\n if (frontStageDef) {\r\n this.close(childWindowId, true);\r\n }\r\n }, false);\r\n\r\n return true;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"InternalChildWindowManager.js","sourceRoot":"","sources":["../../../../src/appui-react/childwindow/InternalChildWindowManager.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module ChildWindowManager\n */\n\nimport \"./InternalChildWindowManager.scss\";\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { copyStyles } from \"./CopyStyles\";\nimport { Provider } from \"react-redux\";\nimport { StateManager } from \"../redux/StateManager\";\nimport { UiStateStorageHandler } from \"../uistate/useUiStateStorage\";\nimport { PopupRenderer } from \"../popup/PopupManager\";\nimport { ModelessDialogRenderer } from \"../dialog/ModelessDialogManager\";\nimport { ModalDialogRenderer } from \"../dialog/ModalDialogManager\";\nimport { CursorPopupMenu } from \"../cursor/cursormenu/CursorMenu\";\nimport { ThemeManager } from \"../theme/ThemeManager\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ChildWindowLocationProps, FrameworkChildWindows, OpenChildWindowInfo } from \"../framework/FrameworkChildWindows\";\n\nconst childHtml = `<!DOCTYPE html>\n<html>\n<head>\n <meta charset=\"utf-8\" />\n <style>\n html,\n body {\n height: 100%;\n width: 100%;\n margin: 0;\n overflow: hidden;\n }\n #root {\n height: 100%;\n }\n </style>\n</head>\n<body>\n <noscript>You need to enable JavaScript to run this app.</noscript>\n <div id=\"root\"></div>\n</body>\n</html>`;\n\n/**\n * Simplification of non exported CreateRoot parameter, only to be used\n * in InternalChildWindowManager and ChildWindowManager\n * @internal\n */\nexport type CreateRoot = Parameters<FrameworkChildWindows[\"useCreateRoot\"]>[0];\n\n/** Supports opening a child browser window from the main application window. The child window is managed by the main application\n * and is running in the same security context. The application must deliver the html file iTwinPopup.html along side its index.html.\n * See also: [Child Window Manager]($docs/learning/ui/appui-react/ChildWindows.md)\n * @internal\n * */\nexport class InternalChildWindowManager implements FrameworkChildWindows {\n private _openChildWindows: OpenChildWindowInfo[] = [];\n private _createRoot?: CreateRoot;\n\n public get openChildWindows() {\n return this._openChildWindows;\n }\n\n /**\n * When using React18, the `createRoot` function must be provided in order to render Popout content with React18.\n * Do not call if using React 17 or before.\n *\n * Note: The type of the function is intentionally simplified here.\n *\n * @param createRootFn Function imported from `import { createRoot } from \"react-dom/client\";`\n * @beta Will be removed once the transition to react 18 is complete.\n */\n // istanbul ignore next: Result of this assignment is only visible in `open`, which is not tested.\n public useCreateRoot(createRootFn: CreateRoot): void {\n this._createRoot = createRootFn;\n }\n\n /**\n * Abstracts ReactDOM.render to use either the _createRoot method or the default ReactDOM.render.\n * @param element Element to render.\n * @param container Container to render to.\n */\n // istanbul ignore next: Used in `open` which is not tested.\n private render(element: React.FunctionComponentElement<any>, container: Element | DocumentFragment) {\n if(this._createRoot) {\n this._createRoot(container).render(element);\n } else {\n ReactDOM.render(element, container);\n }\n }\n\n /**\n * Returns the OpenChildWindowInfo for the related id.\n * @param childWindowId Id of the window to retrieve.\n * @returns undefined if not found.\n */\n public find(childWindowId: string | undefined): OpenChildWindowInfo | undefined {\n if (undefined === childWindowId)\n return undefined;\n\n return this.openChildWindows.find((openWindow) => openWindow.childWindowId === childWindowId);\n }\n\n /**\n * Return the childWindowId of the provided window.\n * @param contentWindow Window element to identify\n * @returns undefined if not found\n */\n public findId(contentWindow: Window | undefined | null): string | undefined {\n if (!contentWindow)\n return undefined;\n\n const childWindow = this.openChildWindows.find((openWindow) => openWindow.window === contentWindow);\n return childWindow?.childWindowId;\n }\n\n // istanbul ignore next: Used in `open` which is not tested.\n private renderChildWindowContents(childWindow: Window, childWindowId: string, content: React.ReactNode, title: string) {\n childWindow.document.title = title;\n const reactConnectionDiv = childWindow.document.getElementById(\"root\");\n if (reactConnectionDiv) {\n // set openChildWindows now so components can use it when they mount\n this._openChildWindows.push({\n childWindowId,\n window: childWindow,\n parentWindow: window,\n });\n\n setTimeout(() => {\n copyStyles(childWindow.document);\n setTimeout(() => {\n this.render(\n <Provider store={StateManager.store} >\n <UiStateStorageHandler>\n <ThemeManager>\n <div className=\"uifw-child-window-container-host\">\n <PopupRenderer />\n <ModalDialogRenderer />\n <ModelessDialogRenderer />\n <CursorPopupMenu />\n <div className=\"uifw-child-window-container nz-widget-widget\">\n {content}\n </div>\n </div>\n </ThemeManager>\n </UiStateStorageHandler>\n </Provider>,\n reactConnectionDiv\n );\n });\n });\n\n childWindow.onbeforeunload = () => {\n const frontStageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontStageDef)\n return;\n frontStageDef.saveChildWindowSizeAndPosition(childWindowId, childWindow);\n this.close(childWindowId, false);\n };\n }\n }\n\n /** Close all child/pop-out windows. This typically is called when the frontstage is changed. */\n public closeAll() {\n // istanbul ignore next\n this.openChildWindows.forEach((openChildWindow) => openChildWindow.window.close());\n this._openChildWindows = [];\n }\n\n /**\n * Close a specific child window.\n * @param childWindowId Id of the window to close\n * @param processWindowClose should the `close` method be called on the closing window. (defaults to true)\n * @returns false if the window could not be found.\n */\n public close = (childWindowId: string, processWindowClose = true) => {\n const windowIndex = this.openChildWindows.findIndex((openWindow) => openWindow.childWindowId === childWindowId);\n if (-1 === windowIndex)\n return false;\n const childWindow = this.openChildWindows[windowIndex];\n this.openChildWindows.splice(windowIndex, 1);\n if (processWindowClose) {\n childWindow.window.close();\n } else {\n // call the following to convert popout to docked widget\n const frontStageDef = UiFramework.frontstages.activeFrontstageDef;\n frontStageDef && frontStageDef.dockPopoutWidgetContainer(childWindowId);\n }\n return true;\n };\n\n // istanbul ignore next: Used in `open` which is not tested.\n private adjustWidowLocation(location: ChildWindowLocationProps, center?: boolean): ChildWindowLocationProps {\n const outLocation = { ...location };\n if (0 === location.top && 0 === location.left) {\n center = center ?? true;\n const windowTop = window.top ?? window;\n\n // Prepare position of the new window to be centered against the 'parent' window.\n if (center) {\n outLocation.left =\n windowTop.outerWidth / 2 + windowTop.screenX - location.width / 2;\n outLocation.top =\n windowTop.outerHeight / 2 + windowTop.screenY - location.height / 2;\n } else {\n if (undefined !== window.screenLeft && undefined !== window.screenTop) {\n outLocation.top = window.screenTop + location.top;\n outLocation.left = window.screenLeft + location.left;\n }\n }\n }\n return outLocation;\n }\n\n /**\n * Open a new child window.\n * @param childWindowId Id to assign to the newly created window.\n * @param title Title to display on the window.\n * @param content ReactNode to be rendered in the window.\n * @param location Position and size information\n * @param useDefaultPopoutUrl use \"/iTwinPopup.html\" as the window Url, \"\" otherwise.\n * @returns true if the window is opened successfully.\n */\n // istanbul ignore next: Would require mocking window.open to return a window object.\n public open(childWindowId: string, title: string, content: React.ReactNode, location: ChildWindowLocationProps, useDefaultPopoutUrl?: boolean) {\n // first check to see if content is already open in child window\n if (this.openChildWindows.findIndex((openWindow) => openWindow.childWindowId === childWindowId) >= 0) {\n return false;\n }\n\n location = this.adjustWidowLocation(location);\n const url = useDefaultPopoutUrl ? \"/iTwinPopup.html\" : \"\";\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`);\n if (!childWindow)\n return false;\n if (0 === url.length) {\n childWindow.document.write(childHtml);\n this.renderChildWindowContents(childWindow, childWindowId, content, title);\n } else {\n childWindow.addEventListener(\"load\", () => {\n this.renderChildWindowContents(childWindow, childWindowId, content, title);\n }, false);\n }\n\n window.addEventListener(\"unload\", () => {\n const frontStageDef = UiFramework.frontstages.activeFrontstageDef;\n if (frontStageDef) {\n this.close(childWindowId, true);\n }\n }, false);\n\n return true;\n }\n}\n"]}
@@ -1,14 +1,14 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- .uifw-child-window-container-host {
6
- height: 100%;
7
- width: 100%;
8
- position: relative;
9
- }
10
-
11
- .uifw-child-window-container {
12
- height: 100%;
13
- width: 100%;
14
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ .uifw-child-window-container-host {
6
+ height: 100%;
7
+ width: 100%;
8
+ position: relative;
9
+ }
10
+
11
+ .uifw-child-window-container {
12
+ height: 100%;
13
+ width: 100%;
14
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"PopoutWidget.js","sourceRoot":"","sources":["../../../../src/appui-react/childwindow/PopoutWidget.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAqB;IAC9E,OAAO,CACL,6BAAK,SAAS,EAAC,qCAAqC,oBAAiB,iBAAiB,IACnF,SAAS,CAAC,SAAS,CAChB,CACP,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ChildWindowManager\r\n */\r\n\r\nimport \"./PopoutWidget.scss\";\r\nimport * as React from \"react\";\r\nimport { WidgetDef } from \"../widgets/WidgetDef\";\r\n\r\ninterface PopoutWidgetProps {\r\n widgetContainerId: string;\r\n widgetDef: WidgetDef;\r\n}\r\n\r\n/** Component used to wrap a widget for use is a child window.\r\n * @internal\r\n */\r\nexport function PopoutWidget({ widgetContainerId, widgetDef }: PopoutWidgetProps) {\r\n return (\r\n <div className=\"uifw-popout-widget-filled-container\" data-widget-id={widgetContainerId}>\r\n {widgetDef.reactNode}\r\n </div>\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"PopoutWidget.js","sourceRoot":"","sources":["../../../../src/appui-react/childwindow/PopoutWidget.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAqB;IAC9E,OAAO,CACL,6BAAK,SAAS,EAAC,qCAAqC,oBAAiB,iBAAiB,IACnF,SAAS,CAAC,SAAS,CAChB,CACP,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ChildWindowManager\n */\n\nimport \"./PopoutWidget.scss\";\nimport * as React from \"react\";\nimport { WidgetDef } from \"../widgets/WidgetDef\";\n\ninterface PopoutWidgetProps {\n widgetContainerId: string;\n widgetDef: WidgetDef;\n}\n\n/** Component used to wrap a widget for use is a child window.\n * @internal\n */\nexport function PopoutWidget({ widgetContainerId, widgetDef }: PopoutWidgetProps) {\n return (\n <div className=\"uifw-popout-widget-filled-container\" data-widget-id={widgetContainerId}>\n {widgetDef.reactNode}\n </div>\n );\n}\n"]}
@@ -1,10 +1,10 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
-
6
- .uifw-popout-widget-filled-container{
7
- display: flex;
8
- height: 100%;
9
- width: 100%;
10
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ .uifw-popout-widget-filled-container{
7
+ display: flex;
8
+ height: 100%;
9
+ width: 100%;
10
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityTracker.js","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/ActivityTracker.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,iCAAiC;AAEjC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAUhF;;GAEG;AACH,MAAM,OAAO,eAAe;IAA5B;QAGU,qBAAgB,GAAG,IAAI,CAAC;QAExB,YAAO,GAAG;YAChB,SAAS;YACT,OAAO;YACP,QAAQ;YACR,WAAW;YACX,WAAW;YACX,YAAY;YACZ,WAAW;YACX,aAAa;YACb,aAAa;YACb,kBAAkB;SACnB,CAAC;QA6BM,gBAAW,GAAG,GAAS,EAAE;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzB,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,kBAAa,GAAG,GAAS,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzB,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,qBAAgB,GAAG,GAAS,EAAE;YACpC,6BAA6B,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3F,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,KAAY,EAAQ,EAAE;YAChD,6BAA6B,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC;IACJ,CAAC;IA9CC;OACG;IACI,UAAU,CAAC,KAA4B;QAC5C,uBAAuB;QACvB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;YACtC,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS;gBACrC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,eAAe,CAAC;SACjD;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/E,CAAC;IAED;OACG;IACI,SAAS;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,uBAAuB;QACvB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;SAC9B;IACH,CAAC;CAqBF","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// cspell:ignore visibilitychange\r\n\r\nimport { InternalConfigurableUiManager } from \"./InternalConfigurableUiManager\";\r\n\r\n/** Properties for [[ActivityTracker]]\r\n * @internal\r\n */\r\nexport interface ActivityTrackerProps {\r\n idleTimeout?: number;\r\n intervalTimeout?: number;\r\n}\r\n\r\n/** Activity Tracker utility class\r\n * @internal\r\n */\r\nexport class ActivityTracker {\r\n private _intervalId?: any;\r\n private _idleTimeout?: number;\r\n private _intervalTimeout = 1000;\r\n\r\n private _events = [\r\n \"keydown\",\r\n \"wheel\",\r\n \"scroll\",\r\n \"mousedown\",\r\n \"mousemove\",\r\n \"touchstart\",\r\n \"touchmove\",\r\n \"pointerdown\",\r\n \"pointermove\",\r\n \"visibilitychange\",\r\n ];\r\n\r\n /** Initializes the time tracker and adds event listeners\r\n */\r\n public initialize(props?: ActivityTrackerProps): void {\r\n // istanbul ignore else\r\n if (props) {\r\n this._idleTimeout = props.idleTimeout;\r\n if (props.intervalTimeout !== undefined)\r\n this._intervalTimeout = props.intervalTimeout;\r\n }\r\n\r\n this._bindEvents();\r\n\r\n this._intervalId = setInterval(this._trackUiInterval, this._intervalTimeout);\r\n }\r\n\r\n /** Terminates the time tracker and removes event listeners\r\n */\r\n public terminate(): void {\r\n this._unbindEvents();\r\n\r\n // istanbul ignore else\r\n if (this._intervalId) {\r\n clearInterval(this._intervalId);\r\n this._intervalId = undefined;\r\n }\r\n }\r\n\r\n private _bindEvents = (): void => {\r\n this._events.forEach((e) => {\r\n window.addEventListener(e, this._trackUiActivity, { capture: true });\r\n });\r\n };\r\n\r\n private _unbindEvents = (): void => {\r\n this._events.forEach((e) => {\r\n window.removeEventListener(e, this._trackUiActivity, { capture: true });\r\n });\r\n };\r\n\r\n private _trackUiInterval = (): void => {\r\n InternalConfigurableUiManager.onUiIntervalEvent.emit({ idleTimeout: this._idleTimeout });\r\n };\r\n\r\n private _trackUiActivity = (event: Event): void => {\r\n InternalConfigurableUiManager.onUiActivityEvent.emit({ event });\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"ActivityTracker.js","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/ActivityTracker.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,iCAAiC;AAEjC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAUhF;;GAEG;AACH,MAAM,OAAO,eAAe;IAA5B;QAGU,qBAAgB,GAAG,IAAI,CAAC;QAExB,YAAO,GAAG;YAChB,SAAS;YACT,OAAO;YACP,QAAQ;YACR,WAAW;YACX,WAAW;YACX,YAAY;YACZ,WAAW;YACX,aAAa;YACb,aAAa;YACb,kBAAkB;SACnB,CAAC;QA6BM,gBAAW,GAAG,GAAS,EAAE;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzB,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,kBAAa,GAAG,GAAS,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzB,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,qBAAgB,GAAG,GAAS,EAAE;YACpC,6BAA6B,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3F,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,KAAY,EAAQ,EAAE;YAChD,6BAA6B,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC;IACJ,CAAC;IA9CC;OACG;IACI,UAAU,CAAC,KAA4B;QAC5C,uBAAuB;QACvB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;YACtC,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS;gBACrC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,eAAe,CAAC;SACjD;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/E,CAAC;IAED;OACG;IACI,SAAS;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,uBAAuB;QACvB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;SAC9B;IACH,CAAC;CAqBF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ConfigurableUi\n */\n// cspell:ignore visibilitychange\n\nimport { InternalConfigurableUiManager } from \"./InternalConfigurableUiManager\";\n\n/** Properties for [[ActivityTracker]]\n * @internal\n */\nexport interface ActivityTrackerProps {\n idleTimeout?: number;\n intervalTimeout?: number;\n}\n\n/** Activity Tracker utility class\n * @internal\n */\nexport class ActivityTracker {\n private _intervalId?: any;\n private _idleTimeout?: number;\n private _intervalTimeout = 1000;\n\n private _events = [\n \"keydown\",\n \"wheel\",\n \"scroll\",\n \"mousedown\",\n \"mousemove\",\n \"touchstart\",\n \"touchmove\",\n \"pointerdown\",\n \"pointermove\",\n \"visibilitychange\",\n ];\n\n /** Initializes the time tracker and adds event listeners\n */\n public initialize(props?: ActivityTrackerProps): void {\n // istanbul ignore else\n if (props) {\n this._idleTimeout = props.idleTimeout;\n if (props.intervalTimeout !== undefined)\n this._intervalTimeout = props.intervalTimeout;\n }\n\n this._bindEvents();\n\n this._intervalId = setInterval(this._trackUiInterval, this._intervalTimeout);\n }\n\n /** Terminates the time tracker and removes event listeners\n */\n public terminate(): void {\n this._unbindEvents();\n\n // istanbul ignore else\n if (this._intervalId) {\n clearInterval(this._intervalId);\n this._intervalId = undefined;\n }\n }\n\n private _bindEvents = (): void => {\n this._events.forEach((e) => {\n window.addEventListener(e, this._trackUiActivity, { capture: true });\n });\n };\n\n private _unbindEvents = (): void => {\n this._events.forEach((e) => {\n window.removeEventListener(e, this._trackUiActivity, { capture: true });\n });\n };\n\n private _trackUiInterval = (): void => {\n InternalConfigurableUiManager.onUiIntervalEvent.emit({ idleTimeout: this._idleTimeout });\n };\n\n private _trackUiActivity = (event: Event): void => {\n InternalConfigurableUiManager.onUiActivityEvent.emit({ event });\n };\n}\n"]}
@@ -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,OAAO,uBAAuB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAe,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAiBhF;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAiC;IACrE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,WAAW,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,6BAA6B,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;QACrI,OAAO,GAAG,EAAE;YACV,6BAA6B,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QAC5D,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,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1C,iBAAiB,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;QACnB,oBAAC,sBAAsB,OAAG;QAC1B,oBAAC,qBAAqB,OAAG;QACzB,oBAAC,sBAAsB,OAAG;QAC1B,oBAAC,mBAAmB,OAAG;QACvB,oBAAC,cAAc,OAAG;QAClB,oBAAC,cAAc,OAAG;QAClB,oBAAC,oBAAoB,OAAG;QACxB,oBAAC,iBAAiB,OAAG;QACrB,oBAAC,eAAe,OAAG;QACnB,oBAAC,mBAAmB,OAAG;QACvB,oBAAC,aAAa,OAAG,CACZ,CACR,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module 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 { 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 { ContentDialogRenderer } from \"../dialog/ContentDialogManager\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { InternalConfigurableUiManager } from \"./InternalConfigurableUiManager\";\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 React.useEffect(() => {\r\n UiFramework.keyboardShortcuts.setFocusToHome();\r\n }, []);\r\n React.useEffect(() => {\r\n InternalConfigurableUiManager.activityTracker.initialize({ idleTimeout: props.idleTimeout, intervalTimeout: props.intervalTimeout });\r\n return () => {\r\n InternalConfigurableUiManager.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 <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,OAAO,uBAAuB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAe,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAiBhF;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAiC;IACrE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,WAAW,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,6BAA6B,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;QACrI,OAAO,GAAG,EAAE;YACV,6BAA6B,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QAC5D,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,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1C,iBAAiB,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;QACnB,oBAAC,sBAAsB,OAAG;QAC1B,oBAAC,qBAAqB,OAAG;QACzB,oBAAC,sBAAsB,OAAG;QAC1B,oBAAC,mBAAmB,OAAG;QACvB,oBAAC,cAAc,OAAG;QAClB,oBAAC,cAAc,OAAG;QAClB,oBAAC,oBAAoB,OAAG;QACxB,oBAAC,iBAAiB,OAAG;QACrB,oBAAC,eAAe,OAAG;QACnB,oBAAC,mBAAmB,OAAG;QACvB,oBAAC,aAAa,OAAG,CACZ,CACR,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ConfigurableUi\n */\n\nimport \"./configurableui.scss\";\nimport * as React from \"react\";\nimport { CommonProps, Point } from \"@itwin/core-react\";\nimport { CursorInformation } from \"../cursor/CursorInformation\";\nimport { CursorPopupMenu } from \"../cursor/cursormenu/CursorMenu\";\nimport { CursorPopupRenderer } from \"../cursor/cursorpopup/CursorPopupManager\";\nimport { ModalDialogRenderer } from \"../dialog/ModalDialogManager\";\nimport { ModelessDialogRenderer } from \"../dialog/ModelessDialogManager\";\nimport { ElementTooltip } from \"../feedback/ElementTooltip\";\nimport { KeyboardShortcutMenu } from \"../keyboardshortcut/KeyboardShortcutMenu\";\nimport { InputFieldMessage } from \"../messages/InputField\";\nimport { PointerMessage } from \"../messages/Pointer\";\nimport { PopupRenderer } from \"../popup/PopupManager\";\nimport { WidgetPanelsFrontstage } from \"../widget-panels/Frontstage\";\nimport { ContentDialogRenderer } from \"../dialog/ContentDialogManager\";\nimport { UiFramework } from \"../UiFramework\";\nimport { InternalConfigurableUiManager } from \"./InternalConfigurableUiManager\";\n\n// cSpell:ignore cursormenu cursorpopup\n\n/** Properties for [[ConfigurableUiContent]]\n * @public\n */\nexport interface ConfigurableUiContentProps extends CommonProps {\n /** React node of the Backstage */\n appBackstage?: React.ReactNode;\n\n /** @internal */\n idleTimeout?: number;\n /** @internal */\n intervalTimeout?: number;\n}\n\n/** The ConfigurableUiContent component is the component the pages specified using ConfigurableUi\n * @public\n */\nexport function ConfigurableUiContent(props: ConfigurableUiContentProps) {\n React.useEffect(() => {\n UiFramework.keyboardShortcuts.setFocusToHome();\n }, []);\n React.useEffect(() => {\n InternalConfigurableUiManager.activityTracker.initialize({ idleTimeout: props.idleTimeout, intervalTimeout: props.intervalTimeout });\n return () => {\n InternalConfigurableUiManager.activityTracker.terminate();\n };\n }, [props.idleTimeout, props.intervalTimeout]);\n\n const handleMouseMove = React.useCallback((e: React.MouseEvent) => {\n const point = new Point(e.pageX, e.pageY);\n CursorInformation.handleMouseMove(point);\n }, []);\n\n return (\n <main role=\"main\"\n id=\"uifw-configurableui-wrapper\"\n className={props.className}\n style={props.style}\n onMouseMove={handleMouseMove}\n >\n {props.appBackstage}\n <WidgetPanelsFrontstage />\n <ContentDialogRenderer />\n <ModelessDialogRenderer />\n <ModalDialogRenderer />\n <ElementTooltip />\n <PointerMessage />\n <KeyboardShortcutMenu />\n <InputFieldMessage />\n <CursorPopupMenu />\n <CursorPopupRenderer />\n <PopupRenderer />\n </main>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurableUiControl.js","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/ConfigurableUiControl.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAWH;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACjC,YAA4B,OAAe,EACzB,QAAgB,EAChB,EAAU;QAFA,YAAO,GAAP,OAAO,CAAQ;QACzB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,OAAE,GAAF,EAAE,CAAQ;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAM3B,YAAY,IAA4B,EAAE,OAAY;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QACxF,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;IACjC,CAAC;IAED,gBAAgB;IAChB,IAAW,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAExD,4DAA4D;IAC5D,IAAW,eAAe,KAAU,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAElE,gDAAgD;IAChD,IAAW,OAAO,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEtD;;OAEG;IACH,IAAW,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,yBAOX;AAPD,WAAY,yBAAyB;IACnC,uDAA0B,CAAA;IAC1B,mEAAsC,CAAA;IACtC,uEAA0C,CAAA;IAC1C,8DAAiC,CAAA;IACjC,gEAAmC,CAAA;IACnC,qDAAwB,CAAA;AAC1B,CAAC,EAPW,yBAAyB,KAAzB,yBAAyB,QAOpC;AAOD;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,qBAAsB,SAAQ,gBAAgB;IAGlE;;;;;;OAMG;IACH,YAAY,IAA4B,EAAE,OAAY;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;IACtB,CAAC;IAED;OACG;IACI,UAAU,KAAW,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAElD,sDAAsD;IAC/C,YAAY,KAAW,CAAC;IAE/B,6CAA6C;IACtC,uBAAuB,KAAW,CAAC;IAE1C,uCAAuC;IAChC,iBAAiB,KAAW,CAAC;IAEpC;OACG;IACH,IAAW,SAAS,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAMpD;OACG;IACH,IAAW,OAAO,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CAClE","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\n/** Interface for a ConfigurableUi element\r\n * @public\r\n */\r\nexport interface ConfigurableUiElement {\r\n uniqueId: string;\r\n classId: string;\r\n name: string;\r\n}\r\n\r\n/** Information for creating a ConfigurableUi element\r\n * @public\r\n */\r\nexport class ConfigurableCreateInfo {\r\n constructor(public readonly classId: string,\r\n public readonly uniqueId: string,\r\n public readonly id: string) {\r\n }\r\n}\r\n\r\n/** The base class for all ConfigurableUi elements\r\n * @public\r\n */\r\nexport class ConfigurableBase implements ConfigurableUiElement {\r\n private _uniqueId: string;\r\n private _classId: string;\r\n private _name: string;\r\n protected _appDataOptions: any;\r\n\r\n constructor(info: ConfigurableCreateInfo, options: any) {\r\n this._uniqueId = info.uniqueId;\r\n this._classId = info.classId;\r\n this._name = (options && options.hasOwnProperty(\"name\")) ? options.name : info.uniqueId;\r\n this._appDataOptions = options;\r\n }\r\n\r\n /** @internal */\r\n public get uniqueId(): string { return this._uniqueId; }\r\n\r\n /** allow options set via appData to be seen by API calls */\r\n public get applicationData(): any { return this._appDataOptions; }\r\n\r\n /** Gets the class Id of configurable element */\r\n public get classId(): string { return this._classId; }\r\n\r\n /** Get internal name of configurable element. If no name is defined in configuration\r\n * then the name will match the UniqueId.\r\n */\r\n public get name(): string { return this._name; }\r\n}\r\n\r\n/** The type of the ConfigurableUiControl.\r\n * @public\r\n */\r\nexport enum ConfigurableUiControlType {\r\n Content = \"ContentControl\",\r\n NavigationAid = \"NavigationAidControl\",\r\n StatusBarWidget = \"StatusBarWidgetControl\",\r\n ToolUiProvider = \"ToolUiProvider\",\r\n Viewport = \"ViewportContentControl\",\r\n Widget = \"WidgetControl\",\r\n}\r\n\r\n/** Prototype for ConfigurableUiControl constructor\r\n * @public\r\n */\r\nexport type ConfigurableUiControlConstructor = new (info: ConfigurableCreateInfo, options: any) => ConfigurableUiElement;\r\n\r\n/** The abstract base class for all Frontstage controls.\r\n * @public\r\n *\r\n * @note This is an abstract class which should not be derived from by the applications.\r\n * Instead, applications should derive from one of\r\n * [[ContentControl]],\r\n * [[ViewportContentControl]],\r\n * [[WidgetControl]],\r\n * [[StatusBarWidgetControl]] or\r\n * [[NavigationAidControl]].\r\n */\r\nexport abstract class ConfigurableUiControl extends ConfigurableBase {\r\n private _cid: string;\r\n\r\n /** Creates an instance of ConfigurableUiControl.\r\n * @param info An object that the subclass must pass to this base class.\r\n * @param options Options provided to the control\r\n * @note Subclasses must pass all arguments to the base class and not add themselves\r\n * to any container - the control is added automatically.\r\n * @protected\r\n */\r\n constructor(info: ConfigurableCreateInfo, options: any) {\r\n super(info, options);\r\n this._cid = info.id;\r\n }\r\n\r\n /** @internal\r\n */\r\n public initialize(): void { this.onInitialize(); }\r\n\r\n /** Called to initialize the ConfigurableUiControl. */\r\n public onInitialize(): void { }\r\n\r\n /** Called when Frontstage is deactivated. */\r\n public onFrontstageDeactivated(): void { }\r\n\r\n /** Called when Frontstage is ready. */\r\n public onFrontstageReady(): void { }\r\n\r\n /** Returns the ID of this ConfigurableUiControl.\r\n */\r\n public get controlId(): string { return this._cid; }\r\n\r\n /** Get the type of this control.\r\n */\r\n public abstract getType(): ConfigurableUiControlType;\r\n\r\n /** Returns a promise that resolves when the control is ready for usage.\r\n */\r\n public get isReady(): Promise<void> { return Promise.resolve(); }\r\n}\r\n"]}
1
+ {"version":3,"file":"ConfigurableUiControl.js","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/ConfigurableUiControl.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAWH;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACjC,YAA4B,OAAe,EACzB,QAAgB,EAChB,EAAU;QAFA,YAAO,GAAP,OAAO,CAAQ;QACzB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,OAAE,GAAF,EAAE,CAAQ;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAM3B,YAAY,IAA4B,EAAE,OAAY;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QACxF,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;IACjC,CAAC;IAED,gBAAgB;IAChB,IAAW,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAExD,4DAA4D;IAC5D,IAAW,eAAe,KAAU,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAElE,gDAAgD;IAChD,IAAW,OAAO,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEtD;;OAEG;IACH,IAAW,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,yBAOX;AAPD,WAAY,yBAAyB;IACnC,uDAA0B,CAAA;IAC1B,mEAAsC,CAAA;IACtC,uEAA0C,CAAA;IAC1C,8DAAiC,CAAA;IACjC,gEAAmC,CAAA;IACnC,qDAAwB,CAAA;AAC1B,CAAC,EAPW,yBAAyB,KAAzB,yBAAyB,QAOpC;AAOD;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,qBAAsB,SAAQ,gBAAgB;IAGlE;;;;;;OAMG;IACH,YAAY,IAA4B,EAAE,OAAY;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;IACtB,CAAC;IAED;OACG;IACI,UAAU,KAAW,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAElD,sDAAsD;IAC/C,YAAY,KAAW,CAAC;IAE/B,6CAA6C;IACtC,uBAAuB,KAAW,CAAC;IAE1C,uCAAuC;IAChC,iBAAiB,KAAW,CAAC;IAEpC;OACG;IACH,IAAW,SAAS,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAMpD;OACG;IACH,IAAW,OAAO,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CAClE","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ConfigurableUi\n */\n\n/** Interface for a ConfigurableUi element\n * @public\n */\nexport interface ConfigurableUiElement {\n uniqueId: string;\n classId: string;\n name: string;\n}\n\n/** Information for creating a ConfigurableUi element\n * @public\n */\nexport class ConfigurableCreateInfo {\n constructor(public readonly classId: string,\n public readonly uniqueId: string,\n public readonly id: string) {\n }\n}\n\n/** The base class for all ConfigurableUi elements\n * @public\n */\nexport class ConfigurableBase implements ConfigurableUiElement {\n private _uniqueId: string;\n private _classId: string;\n private _name: string;\n protected _appDataOptions: any;\n\n constructor(info: ConfigurableCreateInfo, options: any) {\n this._uniqueId = info.uniqueId;\n this._classId = info.classId;\n this._name = (options && options.hasOwnProperty(\"name\")) ? options.name : info.uniqueId;\n this._appDataOptions = options;\n }\n\n /** @internal */\n public get uniqueId(): string { return this._uniqueId; }\n\n /** allow options set via appData to be seen by API calls */\n public get applicationData(): any { return this._appDataOptions; }\n\n /** Gets the class Id of configurable element */\n public get classId(): string { return this._classId; }\n\n /** Get internal name of configurable element. If no name is defined in configuration\n * then the name will match the UniqueId.\n */\n public get name(): string { return this._name; }\n}\n\n/** The type of the ConfigurableUiControl.\n * @public\n */\nexport enum ConfigurableUiControlType {\n Content = \"ContentControl\",\n NavigationAid = \"NavigationAidControl\",\n StatusBarWidget = \"StatusBarWidgetControl\",\n ToolUiProvider = \"ToolUiProvider\",\n Viewport = \"ViewportContentControl\",\n Widget = \"WidgetControl\",\n}\n\n/** Prototype for ConfigurableUiControl constructor\n * @public\n */\nexport type ConfigurableUiControlConstructor = new (info: ConfigurableCreateInfo, options: any) => ConfigurableUiElement;\n\n/** The abstract base class for all Frontstage controls.\n * @public\n *\n * @note This is an abstract class which should not be derived from by the applications.\n * Instead, applications should derive from one of\n * [[ContentControl]],\n * [[ViewportContentControl]],\n * [[WidgetControl]],\n * [[StatusBarWidgetControl]] or\n * [[NavigationAidControl]].\n */\nexport abstract class ConfigurableUiControl extends ConfigurableBase {\n private _cid: string;\n\n /** Creates an instance of ConfigurableUiControl.\n * @param info An object that the subclass must pass to this base class.\n * @param options Options provided to the control\n * @note Subclasses must pass all arguments to the base class and not add themselves\n * to any container - the control is added automatically.\n * @protected\n */\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n this._cid = info.id;\n }\n\n /** @internal\n */\n public initialize(): void { this.onInitialize(); }\n\n /** Called to initialize the ConfigurableUiControl. */\n public onInitialize(): void { }\n\n /** Called when Frontstage is deactivated. */\n public onFrontstageDeactivated(): void { }\n\n /** Called when Frontstage is ready. */\n public onFrontstageReady(): void { }\n\n /** Returns the ID of this ConfigurableUiControl.\n */\n public get controlId(): string { return this._cid; }\n\n /** Get the type of this control.\n */\n public abstract getType(): ConfigurableUiControlType;\n\n /** Returns a promise that resolves when the control is ready for usage.\n */\n public get isReady(): Promise<void> { return Promise.resolve(); }\n}\n"]}
@@ -113,7 +113,7 @@ class InternalConfigurableUiManager {
113
113
  * @returns the created control
114
114
  */
115
115
  static create(classId, uniqueId, options, controlId) {
116
- const info = new ConfigurableCreateInfo(classId, uniqueId, controlId !== null && controlId !== void 0 ? controlId : uniqueId);
116
+ const info = new ConfigurableCreateInfo(classId, uniqueId, controlId ?? uniqueId);
117
117
  const constructor = this._registeredControls.get(info.classId);
118
118
  if (!constructor) {
119
119
  throw new UiError(UiFramework.loggerCategory(this), `createControl: classId '${classId}' not registered`);
@@ -1 +1 @@
1
- {"version":3,"file":"InternalConfigurableUiManager.js","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/InternalConfigurableUiManager.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 ConfigurableUi\r\n */\r\n\r\nimport { UiError } from \"@itwin/appui-abstract\";\r\nimport { CubeNavigationAidControl } from \"../navigationaids/CubeNavigationAidControl\";\r\nimport { DrawingNavigationAidControl } from \"../navigationaids/DrawingNavigationAidControl\";\r\nimport { SheetNavigationAidControl } from \"../navigationaids/SheetNavigationAid\";\r\nimport { StandardRotationNavigationAidControl } from \"../navigationaids/StandardRotationNavigationAid\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ConfigurableCreateInfo, ConfigurableUiControlConstructor, ConfigurableUiElement } from \"./ConfigurableUiControl\";\r\nimport { MessageManager } from \"../messages/MessageManager\";\r\nimport { PopupManager } from \"../popup/PopupManager\";\r\nimport { ActivityTracker } from \"./ActivityTracker\";\r\nimport { BeUiEvent } from \"@itwin/core-bentley\";\r\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\r\nimport { InternalToolSettingsManager } from \"../toolsettings/InternalToolSettingsManager\";\r\nimport { InternalModelessDialogManager } from \"../dialog/InternalModelessDialogManager\";\r\nimport { InternalContentDialogManager } from \"../dialog/InternalContentDialogManager\";\r\nimport { InternalKeyboardShortcutManager } from \"../keyboardshortcut/InternalKeyboardShortcut\";\r\nimport { InternalModalDialogManager } from \"../dialog/InternalModalDialogManager\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\n\r\n/** Ui Activity Event Args interface.\r\n * @internal\r\n */\r\nexport interface UiActivityEventArgs {\r\n event: Event;\r\n}\r\n\r\n/** Ui Activity Event class.\r\n * @internal\r\n */\r\nexport class UiActivityEvent extends BeUiEvent<UiActivityEventArgs> { }\r\n\r\n/** Ui Interval Event Args interface\r\n * @internal\r\n */\r\nexport interface UiIntervalEventArgs {\r\n idleTimeout?: number;\r\n}\r\n\r\n/** Ui Interval Event class.\r\n * @internal\r\n */\r\nexport class UiIntervalEvent extends BeUiEvent<UiIntervalEventArgs> { }\r\n\r\n/** Configurable Ui Manager maintains controls, Frontstages, Content Groups, Content Layouts, Tasks and Workflows.\r\n * @internal\r\n */\r\nexport class InternalConfigurableUiManager {\r\n private static _registeredControls = new Map<string, ConfigurableUiControlConstructor>();\r\n private static _initialized = false;\r\n\r\n /** @internal */\r\n public static readonly activityTracker = new ActivityTracker();\r\n /** @internal */\r\n public static readonly onUiActivityEvent = new UiActivityEvent();\r\n /** @internal */\r\n public static readonly onUiIntervalEvent = new UiIntervalEvent();\r\n\r\n /** Initializes the InternalConfigurableUiManager and registers core controls.\r\n * @internal\r\n */\r\n public static initialize() {\r\n if (this._initialized)\r\n return;\r\n\r\n // Register core controls\r\n InternalConfigurableUiManager.register(StandardRotationNavigationAidControl.navigationAidId, StandardRotationNavigationAidControl);\r\n InternalConfigurableUiManager.register(SheetNavigationAidControl.navigationAidId, SheetNavigationAidControl);\r\n InternalConfigurableUiManager.register(DrawingNavigationAidControl.navigationAidId, DrawingNavigationAidControl);\r\n InternalConfigurableUiManager.register(CubeNavigationAidControl.navigationAidId, CubeNavigationAidControl);\r\n\r\n // Initialize SyncUiEventDispatcher so it can register event callbacks.\r\n SyncUiEventDispatcher.initialize();\r\n\r\n // Initialize the FrontstageManager\r\n InternalFrontstageManager.initialize();\r\n\r\n // Initialize the ToolSettingsManager that manages Tool Settings properties.\r\n InternalToolSettingsManager.initialize();\r\n\r\n // Initialize dialog managers that allow one or more dialogs to be open at a time. These managers adjust the z-indexing\r\n // to ensure the most recently focused dialog of a specific type displays above its siblings.\r\n InternalModelessDialogManager.initialize();\r\n\r\n // ContentDialog have a z-index just above the fixed content views and below all other UI elements.\r\n InternalContentDialogManager.initialize();\r\n\r\n // Initialize the Keyboard Shortcut manager\r\n InternalKeyboardShortcutManager.initialize();\r\n\r\n this._initialized = true;\r\n }\r\n\r\n /** Registers a control implementing the [[ConfigurableUiElement]] interface.\r\n * These controls can be a\r\n * [[ContentControl]],\r\n * [[NavigationAidControl]],\r\n * [[StatusBarWidgetControl]],\r\n * [[WidgetControl]] or\r\n * [ToolUiProvider]($appui-react).\r\n * @param classId the class id of the control to register\r\n * @param constructor the constructor of the control to register\r\n */\r\n public static register(classId: string, constructor: ConfigurableUiControlConstructor): void {\r\n if (this._registeredControls.get(classId) !== undefined) {\r\n throw new UiError(UiFramework.loggerCategory(this), `registerControl: classId '${classId}' already registered`);\r\n }\r\n\r\n this._registeredControls.set(classId, constructor);\r\n }\r\n\r\n /** Determines if a control has been registered based on its classId.\r\n * @param classId the class id of the control to test\r\n * @returns true if the control is registered or false if not\r\n */\r\n public static isRegistered(classId: string): boolean {\r\n const constructor = this._registeredControls.get(classId);\r\n return constructor !== undefined;\r\n }\r\n\r\n /** Determines if a control has been registered.\r\n * @internal\r\n */\r\n public static getConstructorClassId(constructor: ConfigurableUiControlConstructor): string | undefined {\r\n for (const [key, value] of this._registeredControls.entries()) {\r\n if (value === constructor)\r\n return key;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Unregisters a control that has been registered.\r\n * @param classId the class id of the control to unregister\r\n */\r\n public static unregister(classId: string): void {\r\n const constructor = this._registeredControls.get(classId);\r\n if (constructor)\r\n this._registeredControls.delete(classId);\r\n }\r\n\r\n /** Creates a control registered by calling registerControl.\r\n * @param classId the class id of the control to create\r\n * @param uniqueId a unique id for the control\r\n * @param options options passed to the constructor of the control\r\n * @param controlId controlId which may not be unique across all control instances.\r\n * @returns the created control\r\n */\r\n public static create(classId: string, uniqueId: string, options?: any, controlId?: string): ConfigurableUiElement | undefined {\r\n const info = new ConfigurableCreateInfo(classId, uniqueId, controlId ?? uniqueId);\r\n const constructor = this._registeredControls.get(info.classId);\r\n if (!constructor) {\r\n throw new UiError(UiFramework.loggerCategory(this), `createControl: classId '${classId}' not registered`);\r\n }\r\n\r\n const control = new constructor(info, options);\r\n return control;\r\n }\r\n\r\n /** Gets the HTML wrapper element for Configurable UI */\r\n public static getWrapperElement(): HTMLElement {\r\n const wrapper = document.getElementById(\"uifw-configurableui-wrapper\");\r\n const htmlElement = wrapper!;\r\n return htmlElement;\r\n }\r\n\r\n /** Closes all UI popups currently open */\r\n public static closeUi(): void {\r\n MessageManager.closeAllMessages();\r\n InternalModelessDialogManager.closeAll();\r\n InternalModalDialogManager.closeAll();\r\n InternalContentDialogManager.closeAll();\r\n UiFramework.keyboardShortcuts.closeMenu();\r\n UiFramework.closeCursorMenu();\r\n PopupManager.clearPopups();\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"InternalConfigurableUiManager.js","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/InternalConfigurableUiManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ConfigurableUi\n */\n\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { CubeNavigationAidControl } from \"../navigationaids/CubeNavigationAidControl\";\nimport { DrawingNavigationAidControl } from \"../navigationaids/DrawingNavigationAidControl\";\nimport { SheetNavigationAidControl } from \"../navigationaids/SheetNavigationAid\";\nimport { StandardRotationNavigationAidControl } from \"../navigationaids/StandardRotationNavigationAid\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ConfigurableCreateInfo, ConfigurableUiControlConstructor, ConfigurableUiElement } from \"./ConfigurableUiControl\";\nimport { MessageManager } from \"../messages/MessageManager\";\nimport { PopupManager } from \"../popup/PopupManager\";\nimport { ActivityTracker } from \"./ActivityTracker\";\nimport { BeUiEvent } from \"@itwin/core-bentley\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport { InternalToolSettingsManager } from \"../toolsettings/InternalToolSettingsManager\";\nimport { InternalModelessDialogManager } from \"../dialog/InternalModelessDialogManager\";\nimport { InternalContentDialogManager } from \"../dialog/InternalContentDialogManager\";\nimport { InternalKeyboardShortcutManager } from \"../keyboardshortcut/InternalKeyboardShortcut\";\nimport { InternalModalDialogManager } from \"../dialog/InternalModalDialogManager\";\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\n\n/** Ui Activity Event Args interface.\n * @internal\n */\nexport interface UiActivityEventArgs {\n event: Event;\n}\n\n/** Ui Activity Event class.\n * @internal\n */\nexport class UiActivityEvent extends BeUiEvent<UiActivityEventArgs> { }\n\n/** Ui Interval Event Args interface\n * @internal\n */\nexport interface UiIntervalEventArgs {\n idleTimeout?: number;\n}\n\n/** Ui Interval Event class.\n * @internal\n */\nexport class UiIntervalEvent extends BeUiEvent<UiIntervalEventArgs> { }\n\n/** Configurable Ui Manager maintains controls, Frontstages, Content Groups, Content Layouts, Tasks and Workflows.\n * @internal\n */\nexport class InternalConfigurableUiManager {\n private static _registeredControls = new Map<string, ConfigurableUiControlConstructor>();\n private static _initialized = false;\n\n /** @internal */\n public static readonly activityTracker = new ActivityTracker();\n /** @internal */\n public static readonly onUiActivityEvent = new UiActivityEvent();\n /** @internal */\n public static readonly onUiIntervalEvent = new UiIntervalEvent();\n\n /** Initializes the InternalConfigurableUiManager and registers core controls.\n * @internal\n */\n public static initialize() {\n if (this._initialized)\n return;\n\n // Register core controls\n InternalConfigurableUiManager.register(StandardRotationNavigationAidControl.navigationAidId, StandardRotationNavigationAidControl);\n InternalConfigurableUiManager.register(SheetNavigationAidControl.navigationAidId, SheetNavigationAidControl);\n InternalConfigurableUiManager.register(DrawingNavigationAidControl.navigationAidId, DrawingNavigationAidControl);\n InternalConfigurableUiManager.register(CubeNavigationAidControl.navigationAidId, CubeNavigationAidControl);\n\n // Initialize SyncUiEventDispatcher so it can register event callbacks.\n SyncUiEventDispatcher.initialize();\n\n // Initialize the FrontstageManager\n InternalFrontstageManager.initialize();\n\n // Initialize the ToolSettingsManager that manages Tool Settings properties.\n InternalToolSettingsManager.initialize();\n\n // Initialize dialog managers that allow one or more dialogs to be open at a time. These managers adjust the z-indexing\n // to ensure the most recently focused dialog of a specific type displays above its siblings.\n InternalModelessDialogManager.initialize();\n\n // ContentDialog have a z-index just above the fixed content views and below all other UI elements.\n InternalContentDialogManager.initialize();\n\n // Initialize the Keyboard Shortcut manager\n InternalKeyboardShortcutManager.initialize();\n\n this._initialized = true;\n }\n\n /** Registers a control implementing the [[ConfigurableUiElement]] interface.\n * These controls can be a\n * [[ContentControl]],\n * [[NavigationAidControl]],\n * [[StatusBarWidgetControl]],\n * [[WidgetControl]] or\n * [ToolUiProvider]($appui-react).\n * @param classId the class id of the control to register\n * @param constructor the constructor of the control to register\n */\n public static register(classId: string, constructor: ConfigurableUiControlConstructor): void {\n if (this._registeredControls.get(classId) !== undefined) {\n throw new UiError(UiFramework.loggerCategory(this), `registerControl: classId '${classId}' already registered`);\n }\n\n this._registeredControls.set(classId, constructor);\n }\n\n /** Determines if a control has been registered based on its classId.\n * @param classId the class id of the control to test\n * @returns true if the control is registered or false if not\n */\n public static isRegistered(classId: string): boolean {\n const constructor = this._registeredControls.get(classId);\n return constructor !== undefined;\n }\n\n /** Determines if a control has been registered.\n * @internal\n */\n public static getConstructorClassId(constructor: ConfigurableUiControlConstructor): string | undefined {\n for (const [key, value] of this._registeredControls.entries()) {\n if (value === constructor)\n return key;\n }\n\n return undefined;\n }\n\n /** Unregisters a control that has been registered.\n * @param classId the class id of the control to unregister\n */\n public static unregister(classId: string): void {\n const constructor = this._registeredControls.get(classId);\n if (constructor)\n this._registeredControls.delete(classId);\n }\n\n /** Creates a control registered by calling registerControl.\n * @param classId the class id of the control to create\n * @param uniqueId a unique id for the control\n * @param options options passed to the constructor of the control\n * @param controlId controlId which may not be unique across all control instances.\n * @returns the created control\n */\n public static create(classId: string, uniqueId: string, options?: any, controlId?: string): ConfigurableUiElement | undefined {\n const info = new ConfigurableCreateInfo(classId, uniqueId, controlId ?? uniqueId);\n const constructor = this._registeredControls.get(info.classId);\n if (!constructor) {\n throw new UiError(UiFramework.loggerCategory(this), `createControl: classId '${classId}' not registered`);\n }\n\n const control = new constructor(info, options);\n return control;\n }\n\n /** Gets the HTML wrapper element for Configurable UI */\n public static getWrapperElement(): HTMLElement {\n const wrapper = document.getElementById(\"uifw-configurableui-wrapper\");\n const htmlElement = wrapper!;\n return htmlElement;\n }\n\n /** Closes all UI popups currently open */\n public static closeUi(): void {\n MessageManager.closeAllMessages();\n InternalModelessDialogManager.closeAll();\n InternalModalDialogManager.closeAll();\n InternalContentDialogManager.closeAll();\n UiFramework.keyboardShortcuts.closeMenu();\n UiFramework.closeCursorMenu();\n PopupManager.clearPopups();\n }\n}\n"]}
@@ -20,9 +20,8 @@ export class TimeTracker {
20
20
  this._totalTime = 0;
21
21
  this._idleTime = 0;
22
22
  this._idleTimeCounter = (args) => {
23
- var _a;
24
23
  // istanbul ignore next
25
- const idleTimeout = (_a = args.idleTimeout) !== null && _a !== void 0 ? _a : this._idleTimeout;
24
+ const idleTimeout = args.idleTimeout ?? this._idleTimeout;
26
25
  // istanbul ignore else
27
26
  if (this._lastActiveTimestamp > 0 && this._idleStartTimestamp === 0 && Date.now() - this._lastActiveTimestamp >= idleTimeout) {
28
27
  this._idleStartTimestamp = Date.now();
@@ -1 +1 @@
1
- {"version":3,"file":"TimeTracker.js","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/TimeTracker.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 ConfigurableUi\r\n */\r\n\r\nimport { InternalConfigurableUiManager, UiActivityEventArgs, UiIntervalEventArgs } from \"./InternalConfigurableUiManager\";\r\n\r\n/** Time Tracker utility class\r\n * @internal\r\n */\r\nexport class TimeTracker {\r\n private _firstActiveTimestamp: number = 0;\r\n private _idleStartTimestamp: number = 0;\r\n private _lastActiveTimestamp: number = 0;\r\n private _totalIdleTime: number = 0;\r\n private _idleCount: number = 0;\r\n private _idleTimeout: number = 5000;\r\n private _totalTime: number = 0;\r\n private _idleTime: number = 0;\r\n\r\n /** Starts time tracking\r\n */\r\n public startTiming(): void {\r\n this._totalIdleTime = 0;\r\n this._idleStartTimestamp = 0;\r\n this._idleCount = 0;\r\n this._totalTime = 0;\r\n this._idleTime = 0;\r\n\r\n this._firstActiveTimestamp = Date.now();\r\n this._lastActiveTimestamp = this._firstActiveTimestamp;\r\n\r\n InternalConfigurableUiManager.onUiIntervalEvent.addListener(this._idleTimeCounter);\r\n InternalConfigurableUiManager.onUiActivityEvent.addListener(this._trackActivity);\r\n }\r\n\r\n /** Stops time tracking\r\n */\r\n public stopTiming(): void {\r\n InternalConfigurableUiManager.onUiIntervalEvent.removeListener(this._idleTimeCounter);\r\n InternalConfigurableUiManager.onUiActivityEvent.removeListener(this._trackActivity);\r\n\r\n this._totalTime = Date.now() - this._firstActiveTimestamp;\r\n this._idleTime = this._totalIdleTime + this._idleCount * this._idleTimeout;\r\n }\r\n\r\n /** Gets engagement time in seconds\r\n */\r\n public getEngagementTimeSeconds(): number {\r\n return (this._totalTime - this._idleTime) / 1000;\r\n }\r\n\r\n /** Gets total time in seconds\r\n */\r\n public getTotalTimeSeconds(): number {\r\n return this._totalTime / 1000;\r\n }\r\n\r\n /** Gets idle time in seconds\r\n */\r\n public getIdleTimeSeconds(): number {\r\n return this._idleTime / 1000;\r\n }\r\n\r\n private _idleTimeCounter = (args: UiIntervalEventArgs): void => {\r\n // istanbul ignore next\r\n const idleTimeout = args.idleTimeout ?? this._idleTimeout;\r\n // istanbul ignore else\r\n if (this._lastActiveTimestamp > 0 && this._idleStartTimestamp === 0 && Date.now() - this._lastActiveTimestamp >= idleTimeout) {\r\n this._idleStartTimestamp = Date.now();\r\n this._idleCount++;\r\n }\r\n };\r\n\r\n private _trackActivity = (_args: UiActivityEventArgs): void => {\r\n this._lastActiveTimestamp = Date.now();\r\n\r\n if (this._idleStartTimestamp > 0) {\r\n const lastIdleTime = this._lastActiveTimestamp - this._idleStartTimestamp;\r\n this._totalIdleTime += lastIdleTime;\r\n this._idleStartTimestamp = 0;\r\n }\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"TimeTracker.js","sourceRoot":"","sources":["../../../../src/appui-react/configurableui/TimeTracker.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ConfigurableUi\n */\n\nimport { InternalConfigurableUiManager, UiActivityEventArgs, UiIntervalEventArgs } from \"./InternalConfigurableUiManager\";\n\n/** Time Tracker utility class\n * @internal\n */\nexport class TimeTracker {\n private _firstActiveTimestamp: number = 0;\n private _idleStartTimestamp: number = 0;\n private _lastActiveTimestamp: number = 0;\n private _totalIdleTime: number = 0;\n private _idleCount: number = 0;\n private _idleTimeout: number = 5000;\n private _totalTime: number = 0;\n private _idleTime: number = 0;\n\n /** Starts time tracking\n */\n public startTiming(): void {\n this._totalIdleTime = 0;\n this._idleStartTimestamp = 0;\n this._idleCount = 0;\n this._totalTime = 0;\n this._idleTime = 0;\n\n this._firstActiveTimestamp = Date.now();\n this._lastActiveTimestamp = this._firstActiveTimestamp;\n\n InternalConfigurableUiManager.onUiIntervalEvent.addListener(this._idleTimeCounter);\n InternalConfigurableUiManager.onUiActivityEvent.addListener(this._trackActivity);\n }\n\n /** Stops time tracking\n */\n public stopTiming(): void {\n InternalConfigurableUiManager.onUiIntervalEvent.removeListener(this._idleTimeCounter);\n InternalConfigurableUiManager.onUiActivityEvent.removeListener(this._trackActivity);\n\n this._totalTime = Date.now() - this._firstActiveTimestamp;\n this._idleTime = this._totalIdleTime + this._idleCount * this._idleTimeout;\n }\n\n /** Gets engagement time in seconds\n */\n public getEngagementTimeSeconds(): number {\n return (this._totalTime - this._idleTime) / 1000;\n }\n\n /** Gets total time in seconds\n */\n public getTotalTimeSeconds(): number {\n return this._totalTime / 1000;\n }\n\n /** Gets idle time in seconds\n */\n public getIdleTimeSeconds(): number {\n return this._idleTime / 1000;\n }\n\n private _idleTimeCounter = (args: UiIntervalEventArgs): void => {\n // istanbul ignore next\n const idleTimeout = args.idleTimeout ?? this._idleTimeout;\n // istanbul ignore else\n if (this._lastActiveTimestamp > 0 && this._idleStartTimestamp === 0 && Date.now() - this._lastActiveTimestamp >= idleTimeout) {\n this._idleStartTimestamp = Date.now();\n this._idleCount++;\n }\n };\n\n private _trackActivity = (_args: UiActivityEventArgs): void => {\n this._lastActiveTimestamp = Date.now();\n\n if (this._idleStartTimestamp > 0) {\n const lastIdleTime = this._lastActiveTimestamp - this._idleStartTimestamp;\n this._totalIdleTime += lastIdleTime;\n this._idleStartTimestamp = 0;\n }\n };\n}\n"]}