@itwin/appui-react 4.8.0 → 4.9.0-dev.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 (380) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  3. package/lib/cjs/appui-react/UiFramework.js +6 -0
  4. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  5. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts +4 -2
  6. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +17 -29
  8. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +10 -17
  10. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +2 -0
  11. package/lib/cjs/appui-react/accudraw/SquareButton.d.ts +3 -1
  12. package/lib/cjs/appui-react/accudraw/SquareButton.d.ts.map +1 -1
  13. package/lib/cjs/appui-react/accudraw/SquareButton.js +1 -4
  14. package/lib/cjs/appui-react/accudraw/SquareButton.js.map +1 -1
  15. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  16. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +25 -7
  17. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  18. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts +1 -1
  19. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  20. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +19 -15
  21. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  22. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  23. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +2 -0
  24. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  25. package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
  26. package/lib/cjs/appui-react/content/ContentControl.js +1 -0
  27. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  28. package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
  29. package/lib/cjs/appui-react/content/ContentGroup.js +2 -0
  30. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  31. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  32. package/lib/cjs/appui-react/content/ContentLayout.js +1 -0
  33. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  34. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  35. package/lib/cjs/appui-react/content/IModelViewport.js +1 -0
  36. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  37. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
  38. package/lib/cjs/appui-react/content/InternalContentViewManager.js +1 -0
  39. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  40. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  41. package/lib/cjs/appui-react/cursor/CursorInformation.js +1 -0
  42. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  43. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  44. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +3 -0
  45. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  46. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  47. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +1 -0
  48. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  49. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  50. package/lib/cjs/appui-react/feedback/ElementTooltip.js +3 -3
  51. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  52. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts.map +1 -1
  53. package/lib/cjs/appui-react/framework/FrameworkContent.js +2 -0
  54. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
  55. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  56. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js +8 -0
  57. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  58. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -1
  59. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js +1 -0
  60. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  61. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +8 -2
  62. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  63. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +25 -8
  64. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  65. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  66. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +15 -4
  67. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  68. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts +2 -4
  69. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  70. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +2 -3
  71. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  72. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +1 -1
  73. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  74. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +5 -5
  75. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  76. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  77. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js +1 -0
  78. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  79. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  80. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +1 -0
  81. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  82. package/lib/cjs/appui-react/messages/InputField.d.ts.map +1 -1
  83. package/lib/cjs/appui-react/messages/InputField.js +2 -3
  84. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  85. package/lib/cjs/appui-react/messages/MessageLabel.js +2 -2
  86. package/lib/cjs/appui-react/messages/MessageLabel.js.map +1 -1
  87. package/lib/cjs/appui-react/messages/MessageManager.d.ts +15 -5
  88. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  89. package/lib/cjs/appui-react/messages/MessageManager.js +31 -39
  90. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  91. package/lib/cjs/appui-react/messages/MessageRenderer.d.ts +8 -0
  92. package/lib/cjs/appui-react/messages/MessageRenderer.d.ts.map +1 -0
  93. package/lib/cjs/appui-react/messages/{ActivityMessage.js → MessageRenderer.js} +60 -14
  94. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -0
  95. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  96. package/lib/cjs/appui-react/messages/Pointer.js +4 -3
  97. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  98. package/lib/cjs/appui-react/messages/getToastCategory.d.ts +1 -1
  99. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  100. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +1 -0
  101. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  102. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  103. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +1 -0
  104. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  105. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  106. package/lib/cjs/appui-react/pickers/ViewSelector.js +2 -0
  107. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  108. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  109. package/lib/cjs/appui-react/popup/CardPopup.js +1 -2
  110. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  111. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  112. package/lib/cjs/appui-react/popup/HTMLElementPopup.js +1 -2
  113. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  114. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  115. package/lib/cjs/appui-react/popup/PopupManager.js +1 -0
  116. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  117. package/lib/cjs/appui-react/redux/ReducerRegistry.d.ts.map +1 -1
  118. package/lib/cjs/appui-react/redux/ReducerRegistry.js +1 -0
  119. package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
  120. package/lib/cjs/appui-react/redux/StateManager.d.ts.map +1 -1
  121. package/lib/cjs/appui-react/redux/StateManager.js +1 -0
  122. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  123. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +1 -4
  124. package/lib/cjs/appui-react/shared/MenuItem.d.ts.map +1 -1
  125. package/lib/cjs/appui-react/shared/MenuItem.js +1 -0
  126. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  127. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts +1 -1
  128. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
  129. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  130. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +5 -9
  131. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  132. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +19 -18
  133. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  134. package/lib/cjs/appui-react/stagepanels/StagePanelState.d.ts +13 -0
  135. package/lib/cjs/appui-react/stagepanels/StagePanelState.d.ts.map +1 -0
  136. package/lib/cjs/appui-react/stagepanels/StagePanelState.js +21 -0
  137. package/lib/cjs/appui-react/stagepanels/StagePanelState.js.map +1 -0
  138. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  139. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  140. package/lib/cjs/appui-react/statusfields/MessageCenter.js +6 -5
  141. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  142. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +1 -3
  143. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  144. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -1
  145. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  146. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +1 -1
  147. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  148. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -1
  149. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  150. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +3 -12
  151. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  152. package/lib/cjs/appui-react/theme/ThemeManager.js +3 -1
  153. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  154. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  155. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +8 -8
  156. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  157. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
  158. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js +1 -0
  159. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  160. package/lib/cjs/appui-react/toolsettings/ToolInformation.d.ts.map +1 -1
  161. package/lib/cjs/appui-react/toolsettings/ToolInformation.js +1 -0
  162. package/lib/cjs/appui-react/toolsettings/ToolInformation.js.map +1 -1
  163. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.d.ts +1 -0
  164. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.d.ts.map +1 -1
  165. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +16 -13
  166. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  167. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +16 -33
  168. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  169. package/lib/cjs/appui-react/widget-panels/Frontstage.js +243 -386
  170. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  171. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +1 -1
  172. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  173. package/lib/cjs/appui-react/widgets/WidgetDef.js +2 -0
  174. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  175. package/lib/cjs/appui-react/widgets/useWidget.d.ts +17 -0
  176. package/lib/cjs/appui-react/widgets/useWidget.d.ts.map +1 -0
  177. package/lib/cjs/appui-react/widgets/useWidget.js +70 -0
  178. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -0
  179. package/lib/cjs/appui-react.d.ts +2 -0
  180. package/lib/cjs/appui-react.d.ts.map +1 -1
  181. package/lib/cjs/appui-react.js +2 -0
  182. package/lib/cjs/appui-react.js.map +1 -1
  183. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  184. package/lib/esm/appui-react/UiFramework.js +6 -0
  185. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  186. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts +4 -2
  187. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  188. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +17 -29
  189. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  190. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +10 -17
  191. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +2 -0
  192. package/lib/esm/appui-react/accudraw/SquareButton.d.ts +3 -1
  193. package/lib/esm/appui-react/accudraw/SquareButton.d.ts.map +1 -1
  194. package/lib/esm/appui-react/accudraw/SquareButton.js +1 -4
  195. package/lib/esm/appui-react/accudraw/SquareButton.js.map +1 -1
  196. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  197. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +25 -7
  198. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  199. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts +1 -1
  200. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  201. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +19 -15
  202. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  203. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  204. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +2 -0
  205. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  206. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  207. package/lib/esm/appui-react/content/ContentControl.js +1 -0
  208. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  209. package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
  210. package/lib/esm/appui-react/content/ContentGroup.js +2 -0
  211. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  212. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  213. package/lib/esm/appui-react/content/ContentLayout.js +1 -0
  214. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  215. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  216. package/lib/esm/appui-react/content/IModelViewport.js +1 -0
  217. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  218. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
  219. package/lib/esm/appui-react/content/InternalContentViewManager.js +1 -0
  220. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  221. package/lib/esm/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  222. package/lib/esm/appui-react/cursor/CursorInformation.js +1 -0
  223. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  224. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  225. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +3 -0
  226. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  227. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  228. package/lib/esm/appui-react/dialog/DialogManagerBase.js +1 -0
  229. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  230. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  231. package/lib/esm/appui-react/feedback/ElementTooltip.js +4 -4
  232. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  233. package/lib/esm/appui-react/framework/FrameworkContent.d.ts.map +1 -1
  234. package/lib/esm/appui-react/framework/FrameworkContent.js +2 -0
  235. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
  236. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  237. package/lib/esm/appui-react/framework/FrameworkFrontstages.js +8 -0
  238. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  239. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -1
  240. package/lib/esm/appui-react/framework/FrameworkToolSettings.js +1 -0
  241. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  242. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +8 -2
  243. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  244. package/lib/esm/appui-react/frontstage/FrontstageDef.js +24 -7
  245. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  246. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  247. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +15 -4
  248. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  249. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts +2 -4
  250. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  251. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +2 -3
  252. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  253. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +1 -1
  254. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  255. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +1 -1
  256. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  257. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  258. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js +1 -0
  259. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  260. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  261. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +1 -0
  262. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  263. package/lib/esm/appui-react/messages/InputField.d.ts.map +1 -1
  264. package/lib/esm/appui-react/messages/InputField.js +3 -4
  265. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  266. package/lib/esm/appui-react/messages/MessageLabel.js +2 -2
  267. package/lib/esm/appui-react/messages/MessageLabel.js.map +1 -1
  268. package/lib/esm/appui-react/messages/MessageManager.d.ts +15 -5
  269. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  270. package/lib/esm/appui-react/messages/MessageManager.js +31 -39
  271. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  272. package/lib/esm/appui-react/messages/MessageRenderer.d.ts +8 -0
  273. package/lib/esm/appui-react/messages/MessageRenderer.d.ts.map +1 -0
  274. package/lib/esm/appui-react/messages/{ActivityMessage.js → MessageRenderer.js} +58 -12
  275. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -0
  276. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  277. package/lib/esm/appui-react/messages/Pointer.js +5 -4
  278. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  279. package/lib/esm/appui-react/messages/getToastCategory.d.ts +1 -1
  280. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  281. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -0
  282. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  283. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  284. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +1 -0
  285. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  286. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  287. package/lib/esm/appui-react/pickers/ViewSelector.js +2 -0
  288. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  289. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  290. package/lib/esm/appui-react/popup/CardPopup.js +2 -3
  291. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  292. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  293. package/lib/esm/appui-react/popup/HTMLElementPopup.js +2 -3
  294. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  295. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  296. package/lib/esm/appui-react/popup/PopupManager.js +1 -0
  297. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  298. package/lib/esm/appui-react/redux/ReducerRegistry.d.ts.map +1 -1
  299. package/lib/esm/appui-react/redux/ReducerRegistry.js +1 -0
  300. package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
  301. package/lib/esm/appui-react/redux/StateManager.d.ts.map +1 -1
  302. package/lib/esm/appui-react/redux/StateManager.js +1 -0
  303. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  304. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +1 -4
  305. package/lib/esm/appui-react/shared/MenuItem.d.ts.map +1 -1
  306. package/lib/esm/appui-react/shared/MenuItem.js +1 -0
  307. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  308. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts +1 -1
  309. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
  310. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  311. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +5 -9
  312. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  313. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +15 -14
  314. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  315. package/lib/esm/appui-react/stagepanels/StagePanelState.d.ts +13 -0
  316. package/lib/esm/appui-react/stagepanels/StagePanelState.d.ts.map +1 -0
  317. package/lib/esm/appui-react/stagepanels/StagePanelState.js +18 -0
  318. package/lib/esm/appui-react/stagepanels/StagePanelState.js.map +1 -0
  319. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  320. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  321. package/lib/esm/appui-react/statusfields/MessageCenter.js +6 -5
  322. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  323. package/lib/esm/appui-react/statusfields/SelectionScope.scss +1 -3
  324. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  325. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -1
  326. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  327. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +1 -1
  328. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  329. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -1
  330. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  331. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +3 -12
  332. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  333. package/lib/esm/appui-react/theme/ThemeManager.js +3 -1
  334. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  335. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  336. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +5 -5
  337. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  338. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
  339. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js +1 -0
  340. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  341. package/lib/esm/appui-react/toolsettings/ToolInformation.d.ts.map +1 -1
  342. package/lib/esm/appui-react/toolsettings/ToolInformation.js +1 -0
  343. package/lib/esm/appui-react/toolsettings/ToolInformation.js.map +1 -1
  344. package/lib/esm/appui-react/utils/InternalUiShowHideManager.d.ts +1 -0
  345. package/lib/esm/appui-react/utils/InternalUiShowHideManager.d.ts.map +1 -1
  346. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +16 -13
  347. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  348. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +16 -33
  349. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  350. package/lib/esm/appui-react/widget-panels/Frontstage.js +244 -382
  351. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  352. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +1 -1
  353. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  354. package/lib/esm/appui-react/widgets/WidgetDef.js +2 -0
  355. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  356. package/lib/esm/appui-react/widgets/useWidget.d.ts +17 -0
  357. package/lib/esm/appui-react/widgets/useWidget.d.ts.map +1 -0
  358. package/lib/esm/appui-react/widgets/useWidget.js +66 -0
  359. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -0
  360. package/lib/esm/appui-react.d.ts +2 -0
  361. package/lib/esm/appui-react.d.ts.map +1 -1
  362. package/lib/esm/appui-react.js +2 -0
  363. package/lib/esm/appui-react.js.map +1 -1
  364. package/package.json +16 -17
  365. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts +0 -10
  366. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts.map +0 -1
  367. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +0 -1
  368. package/lib/cjs/appui-react/messages/MessageSpan.d.ts +0 -15
  369. package/lib/cjs/appui-react/messages/MessageSpan.d.ts.map +0 -1
  370. package/lib/cjs/appui-react/messages/MessageSpan.js +0 -23
  371. package/lib/cjs/appui-react/messages/MessageSpan.js.map +0 -1
  372. package/lib/esm/appui-react/messages/ActivityMessage.d.ts +0 -10
  373. package/lib/esm/appui-react/messages/ActivityMessage.d.ts.map +0 -1
  374. package/lib/esm/appui-react/messages/ActivityMessage.js.map +0 -1
  375. package/lib/esm/appui-react/messages/MessageSpan.d.ts +0 -15
  376. package/lib/esm/appui-react/messages/MessageSpan.d.ts.map +0 -1
  377. package/lib/esm/appui-react/messages/MessageSpan.js +0 -18
  378. package/lib/esm/appui-react/messages/MessageSpan.js.map +0 -1
  379. /package/lib/cjs/appui-react/configurableui/{configurableui.scss → ConfigurableUiContent.scss} +0 -0
  380. /package/lib/esm/appui-react/configurableui/{configurableui.scss → ConfigurableUiContent.scss} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"InternalFrontstageManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/InternalFrontstageManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InternalFrontstageManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/InternalFrontstageManager.ts"],"names":[],"mappings":"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"}
@@ -501,10 +501,12 @@ InternalFrontstageManager.onCloseModalFrontstageRequestedEvent = new ModalFronts
501
501
  /** Get Tool Activated event. */
502
502
  InternalFrontstageManager.onToolActivatedEvent = new ToolActivatedEvent();
503
503
  /** Get ToolSetting Reload event. */
504
+ // eslint-disable-next-line deprecation/deprecation
504
505
  InternalFrontstageManager.onToolSettingsReloadEvent = new UiEvent();
505
506
  /** Get Tool Panel Opened event.
506
507
  * @internal
507
508
  */
509
+ // eslint-disable-next-line deprecation/deprecation
508
510
  InternalFrontstageManager.onToolPanelOpenedEvent = new UiEvent();
509
511
  /** Get Tool Icon Changed event. */
510
512
  InternalFrontstageManager.onToolIconChangedEvent = new ToolIconChangedEvent();
@@ -517,13 +519,20 @@ InternalFrontstageManager.onNavigationAidActivatedEvent = new NavigationAidActiv
517
519
  /** Get Widget State Changed event. */
518
520
  InternalFrontstageManager.onWidgetStateChangedEvent = new WidgetStateChangedEvent();
519
521
  /** @internal */
522
+ // eslint-disable-next-line deprecation/deprecation
520
523
  InternalFrontstageManager.onWidgetDefsUpdatedEvent = new UiEvent();
521
524
  /** @internal */
522
- InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent = new UiEvent();
525
+ InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent =
526
+ // eslint-disable-next-line deprecation/deprecation
527
+ new UiEvent();
523
528
  /** @internal */
524
- InternalFrontstageManager.onFrontstageRestoreLayoutEvent = new UiEvent();
529
+ InternalFrontstageManager.onFrontstageRestoreLayoutEvent =
530
+ // eslint-disable-next-line deprecation/deprecation
531
+ new UiEvent();
525
532
  /** @internal */
526
- InternalFrontstageManager.onFrontstageWidgetsChangedEvent = new UiEvent();
533
+ InternalFrontstageManager.onFrontstageWidgetsChangedEvent =
534
+ // eslint-disable-next-line deprecation/deprecation
535
+ new UiEvent();
527
536
  /** Get panel state changed event.
528
537
  * @alpha
529
538
  */
@@ -531,7 +540,9 @@ InternalFrontstageManager.onPanelStateChangedEvent = new PanelStateChangedEvent(
531
540
  /** Get panel pinned changed event.
532
541
  * @alpha
533
542
  */
534
- InternalFrontstageManager.onPanelPinnedChangedEvent = new UiEvent();
543
+ InternalFrontstageManager.onPanelPinnedChangedEvent =
544
+ // eslint-disable-next-line deprecation/deprecation
545
+ new UiEvent();
535
546
  /** @internal */
536
547
  InternalFrontstageManager.onPanelSizeChangedEvent = new PanelSizeChangedEvent();
537
548
  export { InternalFrontstageManager };
@@ -1 +1 @@
1
- {"version":3,"file":"InternalFrontstageManager.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/InternalFrontstageManager.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 Frontstage\n */\n\nimport { Logger } from \"@itwin/core-bentley\";\nimport type {\n IModelConnection,\n SelectedViewportChangedArgs,\n StartOrResume,\n Tool,\n} from \"@itwin/core-frontend\";\nimport { IModelApp, InteractiveTool } from \"@itwin/core-frontend\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { Size } from \"@itwin/core-react\";\nimport { ContentControlActivatedEvent } from \"../content/ContentControl\";\nimport type { ContentGroup } from \"../content/ContentGroup\";\nimport type { ContentLayoutDef } from \"../content/ContentLayout\";\nimport { ContentLayoutActivatedEvent } from \"../content/ContentLayout\";\nimport { NavigationAidActivatedEvent } from \"../navigationaids/NavigationAidControl\";\nimport type { PanelPinnedChangedEventArgs } from \"../stagepanels/StagePanelDef\";\nimport {\n PanelSizeChangedEvent,\n PanelStateChangedEvent,\n} from \"../stagepanels/StagePanelDef\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { WidgetDef } from \"../widgets/WidgetDef\";\nimport { WidgetStateChangedEvent } from \"../widgets/WidgetDef\";\nimport { ToolInformation } from \"../toolsettings/ToolInformation\";\nimport type { ToolUiProvider } from \"../toolsettings/ToolUiProvider\";\nimport type {\n FrontstageEventArgs,\n FrontstageNineZoneStateChangedEventArgs,\n} from \"./FrontstageDef\";\nimport { FrontstageDef } from \"./FrontstageDef\";\nimport type { FrontstageProvider } from \"./FrontstageProvider\";\nimport { TimeTracker } from \"../configurableui/TimeTracker\";\nimport type { WidgetState } from \"../widgets/WidgetState\";\nimport type {\n ModalFrontstageInfo,\n ModalFrontstageItem,\n} from \"../framework/FrameworkFrontstages\";\nimport {\n FrontstageActivatedEvent,\n FrontstageDeactivatedEvent,\n FrontstageReadyEvent,\n ModalFrontstageChangedEvent,\n ModalFrontstageClosedEvent,\n ModalFrontstageRequestedCloseEvent,\n ToolActivatedEvent,\n ToolIconChangedEvent,\n} from \"../framework/FrameworkFrontstages\";\nimport type { SyncToolSettingsPropertiesEventArgs } from \"../framework/FrameworkToolSettings\";\n\n/** Frontstage Manager class.\n * @internal\n */\nexport class InternalFrontstageManager {\n private static _initialized = false;\n private static _isLoading = false;\n private static _activeToolId = \"\";\n private static _activeFrontstageDef: FrontstageDef | undefined;\n private static _frontstageDefs = new Map<string, FrontstageDef>();\n private static _modalFrontstages: ModalFrontstageItem[] =\n new Array<ModalFrontstageItem>();\n private static _frontstageProviders = new Map<string, FrontstageProvider>();\n private static _nineZoneSize: Size | undefined = undefined;\n\n private static _nestedFrontstages: FrontstageDef[] =\n new Array<FrontstageDef>();\n private static _activePrimaryFrontstageDef: FrontstageDef | undefined;\n private static _toolInformationMap: Map<string, ToolInformation> = new Map<\n string,\n ToolInformation\n >();\n\n /** This should only be called within InternalFrontstageManager and its tests.\n * @internal\n */\n public static ensureToolInformationIsSet(toolId: string): void {\n // istanbul ignore else\n if (!InternalFrontstageManager._toolInformationMap.get(toolId))\n InternalFrontstageManager._toolInformationMap.set(\n toolId,\n new ToolInformation(toolId)\n );\n }\n\n // pass on SyncToolSettingsPropertiesEvent from ToolAdmin so they are treated as DialogItemSync events\n private static handleSyncToolSettingsPropertiesEvent(\n args: SyncToolSettingsPropertiesEventArgs\n ): void {\n InternalFrontstageManager.activeToolSettingsProvider &&\n InternalFrontstageManager.activeToolSettingsProvider.syncToolSettingsProperties(\n args\n );\n }\n\n // pass on ReloadToolSettingsEvent from ToolAdmin so they are treated by UiProviders\n private static handleReloadToolSettingsEvent(): void {\n // istanbul ignore else\n if (InternalFrontstageManager.activeToolSettingsProvider) {\n InternalFrontstageManager.activeToolSettingsProvider.reloadPropertiesFromTool();\n }\n }\n\n /** Initializes the InternalFrontstageManager\n * @internal\n */\n public static initialize() {\n if (this._initialized) return;\n\n // istanbul ignore else\n if (IModelApp && IModelApp.toolAdmin) {\n IModelApp.toolAdmin.activeToolChanged.addListener(\n (tool: Tool, _start: StartOrResume) => {\n // make sure tool settings properties are cached before creating ToolInformation\n UiFramework.toolSettings.clearToolSettingsData();\n // istanbul ignore else\n if (tool instanceof InteractiveTool)\n UiFramework.toolSettings.initializeDataForTool(tool);\n\n // if the tool data is not already cached then see if there is data to cache\n InternalFrontstageManager.ensureToolInformationIsSet(tool.toolId);\n InternalFrontstageManager.setActiveTool(tool);\n }\n );\n UiFramework.toolSettings.onSyncToolSettingsProperties.addListener(\n InternalFrontstageManager.handleSyncToolSettingsPropertiesEvent\n );\n UiFramework.toolSettings.onReloadToolSettingsProperties.addListener(\n InternalFrontstageManager.handleReloadToolSettingsEvent\n );\n }\n\n // istanbul ignore else\n if (IModelApp && IModelApp.viewManager) {\n IModelApp.viewManager.onSelectedViewportChanged.addListener(\n InternalFrontstageManager._handleSelectedViewportChanged\n );\n }\n\n this._initialized = true;\n }\n\n /** Handles a Viewport change & sets the active view accordingly */\n private static _handleSelectedViewportChanged = (\n args: SelectedViewportChangedArgs\n ) => {\n // istanbul ignore else\n if (\n args.current &&\n InternalFrontstageManager.activeFrontstageDef &&\n !InternalFrontstageManager.isLoading\n ) {\n InternalFrontstageManager.activeFrontstageDef.setActiveViewFromViewport(\n args.current\n );\n }\n };\n\n /** @internal */\n public static get isInitialized(): boolean {\n return InternalFrontstageManager._initialized;\n }\n public static set isInitialized(v: boolean) {\n InternalFrontstageManager._initialized = v;\n }\n\n /** Returns true if Frontstage is loading its controls. If false the Frontstage content and controls have been created. */\n public static get isLoading(): boolean {\n return InternalFrontstageManager._isLoading;\n }\n\n /** @internal */\n public static get nineZoneSize() {\n return InternalFrontstageManager._nineZoneSize;\n }\n\n public static set nineZoneSize(size) {\n InternalFrontstageManager._nineZoneSize = size;\n }\n\n /** @internal */\n public static get frontstageDefs(): ReadonlyMap<string, FrontstageDef> {\n return this._frontstageDefs;\n }\n\n /** Get Frontstage Deactivated event. */\n public static readonly onFrontstageDeactivatedEvent =\n new FrontstageDeactivatedEvent();\n\n /** Get Frontstage Activated event. */\n public static readonly onFrontstageActivatedEvent =\n new FrontstageActivatedEvent();\n\n /** Get Frontstage Activated event. */\n public static readonly onFrontstageReadyEvent = new FrontstageReadyEvent();\n\n /** Get Modal Frontstage Changed event. */\n public static readonly onModalFrontstageChangedEvent =\n new ModalFrontstageChangedEvent();\n\n /** Get Modal Frontstage Closed event. */\n public static readonly onModalFrontstageClosedEvent =\n new ModalFrontstageClosedEvent();\n\n /** Get Modal Frontstage Requested Closed event.\n * @alpha\n */\n public static readonly onCloseModalFrontstageRequestedEvent =\n new ModalFrontstageRequestedCloseEvent();\n\n /** Get Tool Activated event. */\n public static readonly onToolActivatedEvent = new ToolActivatedEvent();\n\n /** Get ToolSetting Reload event. */\n public static readonly onToolSettingsReloadEvent = new UiEvent<void>();\n\n /** Get Tool Panel Opened event.\n * @internal\n */\n public static readonly onToolPanelOpenedEvent = new UiEvent<void>();\n\n /** Get Tool Icon Changed event. */\n public static readonly onToolIconChangedEvent = new ToolIconChangedEvent();\n\n /** Get Content Layout Activated event. */\n public static readonly onContentLayoutActivatedEvent =\n new ContentLayoutActivatedEvent();\n\n /** Get Content Control Activated event. */\n public static readonly onContentControlActivatedEvent =\n new ContentControlActivatedEvent();\n\n /** Get Navigation Aid Activated event. */\n public static readonly onNavigationAidActivatedEvent =\n new NavigationAidActivatedEvent();\n\n /** Get Widget State Changed event. */\n public static readonly onWidgetStateChangedEvent =\n new WidgetStateChangedEvent();\n\n /** @internal */\n public static readonly onWidgetDefsUpdatedEvent = new UiEvent<void>();\n\n /** @internal */\n public static readonly onFrontstageNineZoneStateChangedEvent =\n new UiEvent<FrontstageNineZoneStateChangedEventArgs>();\n\n /** @internal */\n public static readonly onFrontstageRestoreLayoutEvent =\n new UiEvent<FrontstageEventArgs>();\n\n /** @internal */\n public static readonly onFrontstageWidgetsChangedEvent =\n new UiEvent<FrontstageEventArgs>();\n\n /** Get panel state changed event.\n * @alpha\n */\n public static readonly onPanelStateChangedEvent =\n new PanelStateChangedEvent();\n\n /** Get panel pinned changed event.\n * @alpha\n */\n public static readonly onPanelPinnedChangedEvent =\n new UiEvent<PanelPinnedChangedEventArgs>();\n\n /** @internal */\n public static readonly onPanelSizeChangedEvent = new PanelSizeChangedEvent();\n\n /** Clears the Frontstage map.\n */\n public static clearFrontstageDefs(): void {\n InternalFrontstageManager._frontstageDefs.clear();\n InternalFrontstageManager._activeFrontstageDef = undefined;\n }\n\n /** Clears the Frontstage Providers and the defs that may have been created from them.\n */\n public static clearFrontstageProviders(): void {\n InternalFrontstageManager._frontstageProviders.clear();\n InternalFrontstageManager.clearFrontstageDefs();\n }\n\n private static getFrontstageKey(frontstageId: string) {\n return frontstageId;\n }\n\n /** @internal */\n public static clearFrontstageDefsForIModelId(iModelId: string | undefined) {\n // istanbul ignore next\n if (!iModelId) return;\n const keysToRemove: string[] = [];\n InternalFrontstageManager._frontstageDefs.forEach(\n (_: FrontstageDef, key: string) => {\n if (key.startsWith(`[${iModelId}]`)) keysToRemove.push(key);\n }\n );\n keysToRemove.forEach((keyValue) => {\n InternalFrontstageManager._frontstageDefs.delete(keyValue);\n });\n }\n\n /** Add a Frontstage via a [[FrontstageProvider]].\n * @param frontstageProvider FrontstageProvider representing the Frontstage to add\n */\n public static addFrontstageProvider(\n frontstageProvider: FrontstageProvider\n ): void {\n const key = InternalFrontstageManager.getFrontstageKey(\n frontstageProvider.id\n );\n key && InternalFrontstageManager._frontstageDefs.delete(key);\n InternalFrontstageManager._frontstageProviders.set(\n frontstageProvider.id,\n frontstageProvider\n );\n }\n\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned.\n * If the FrontstageDef has not been cached by FrontstageDef then it will not be found. See async function\n * `getFrontstageDef` to get a FrontstageDef.\n * @param id Id of the Frontstage to find\n * @returns FrontstageDef with a given id if found, or undefined if not found.\n */\n private static findFrontstageDef(id: string): FrontstageDef | undefined {\n const key = InternalFrontstageManager.getFrontstageKey(id);\n const frontstageDef = InternalFrontstageManager._frontstageDefs.get(key);\n if (frontstageDef instanceof FrontstageDef) return frontstageDef;\n return undefined;\n }\n\n private static findFrontstageProvider(\n id?: string\n ): FrontstageProvider | undefined {\n return id\n ? InternalFrontstageManager._frontstageProviders.get(id)\n : undefined;\n }\n\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned. If\n * no cached FrontstageDef is found but a FrontstageProvider is registered a FrontstageDef will be created, cached, and\n * returned.\n * @param id Id of the Frontstage to find\n * @returns FrontstageDef with a given id if found, or undefined if not found.\n */\n public static async getFrontstageDef(\n id?: string\n ): Promise<FrontstageDef | undefined> {\n if (!id) return InternalFrontstageManager.activeFrontstageDef;\n\n let frontstageDef = InternalFrontstageManager.findFrontstageDef(id);\n if (frontstageDef) return frontstageDef;\n\n // istanbul ignore else\n if (id) {\n const frontstageProvider =\n InternalFrontstageManager.findFrontstageProvider(id);\n if (frontstageProvider) {\n frontstageDef = await FrontstageDef.create(frontstageProvider);\n // istanbul ignore else\n if (frontstageDef) {\n const key = InternalFrontstageManager.getFrontstageKey(\n frontstageDef.id\n );\n InternalFrontstageManager._frontstageDefs.set(key, frontstageDef);\n }\n return frontstageDef;\n }\n }\n\n return undefined;\n }\n\n /** Gets the active FrontstageDef. If a Frontstage is not active, undefined is returned.\n * @return Active FrontstageDef, or undefined if one is not active.\n */\n public static get activeFrontstageDef(): FrontstageDef | undefined {\n return InternalFrontstageManager._activeFrontstageDef;\n }\n\n /** Gets the Id of the active FrontstageDef. If a Frontstage is not active, blank is returned.\n * @return Id of the active FrontstageDef, or blank if one is not active.\n */\n public static get activeFrontstageId(): string {\n const activeFrontstage = InternalFrontstageManager._activeFrontstageDef;\n return activeFrontstage ? activeFrontstage.id : \"\";\n }\n\n public static hasFrontstage(frontstageId: string) {\n if (InternalFrontstageManager.findFrontstageDef(frontstageId)) return true;\n if (InternalFrontstageManager.findFrontstageProvider(frontstageId))\n return true;\n return false;\n }\n\n /** Sets the active FrontstageDef give the stageId.\n * @param frontstageId Id of the Frontstage to set active.\n * @returns A Promise that is fulfilled when the [[Frontstage]] is ready.\n */\n public static async setActiveFrontstage(frontstageId: string): Promise<void> {\n const frontstageDef = await InternalFrontstageManager.getFrontstageDef(\n frontstageId\n );\n if (!frontstageDef) {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `setActiveFrontstage: Could not load a FrontstageDef with id of '${frontstageId}'`\n );\n return;\n }\n\n return InternalFrontstageManager.setActiveFrontstageDef(frontstageDef);\n }\n\n /** Sets the active FrontstageDef.\n * @param frontstageDef FrontstageDef to set active.\n * @returns A Promise that is fulfilled when the [[FrontstageDef]] is ready.\n */\n public static async setActiveFrontstageDef(\n frontstageDef: FrontstageDef | undefined\n ): Promise<void> {\n if (InternalFrontstageManager._activeFrontstageDef === frontstageDef)\n return;\n\n InternalFrontstageManager._isLoading = true;\n\n const deactivatedFrontstageDef =\n InternalFrontstageManager._activeFrontstageDef;\n if (deactivatedFrontstageDef) {\n await deactivatedFrontstageDef.onDeactivated();\n\n const timeTracker = deactivatedFrontstageDef.timeTracker;\n InternalFrontstageManager.onFrontstageDeactivatedEvent.emit({\n deactivatedFrontstageDef,\n activatedFrontstageDef: frontstageDef,\n totalTime: timeTracker.getTotalTimeSeconds(),\n engagementTime: timeTracker.getEngagementTimeSeconds(),\n idleTime: timeTracker.getIdleTimeSeconds(),\n });\n }\n\n InternalFrontstageManager._activeFrontstageDef = frontstageDef;\n\n if (frontstageDef) {\n await frontstageDef.onActivated();\n\n InternalFrontstageManager.onFrontstageActivatedEvent.emit({\n activatedFrontstageDef: frontstageDef,\n deactivatedFrontstageDef,\n });\n\n await frontstageDef.waitUntilReady();\n InternalFrontstageManager._isLoading = false;\n frontstageDef.onFrontstageReady();\n InternalFrontstageManager.onFrontstageReadyEvent.emit({ frontstageDef });\n UiFramework.visibility.handleFrontstageReady();\n\n await frontstageDef.setActiveContent();\n }\n\n InternalFrontstageManager._isLoading = false;\n }\n\n /** Deactivates the active FrontstageDef.\n */\n public static async deactivateFrontstageDef(): Promise<void> {\n await this.setActiveFrontstageDef(undefined);\n }\n\n /** Gets the Id of the active tool. If a tool is not active, blank is returned.\n * @return Id of the active tool, or blank if one is not active.\n */\n public static get activeToolId(): string {\n return InternalFrontstageManager._activeToolId;\n }\n\n /** Sets the active tool id */\n public static setActiveToolId(toolId: string): void {\n InternalFrontstageManager._activeToolId = toolId;\n const toolSettingsProvider =\n InternalFrontstageManager.activeToolSettingsProvider;\n // ensure the toolSettingsProvider is initialized before emitting onToolActivatedEvent\n if (toolSettingsProvider) toolSettingsProvider.initialize();\n InternalFrontstageManager.onToolActivatedEvent.emit({ toolId });\n }\n\n /** Sets the active tool */\n public static setActiveTool(tool: Tool): void {\n InternalFrontstageManager.setActiveToolId(tool.toolId);\n InternalFrontstageManager.onToolIconChangedEvent.emit({\n iconSpec: tool.iconSpec,\n });\n }\n\n /** Gets the active tool's [[ToolInformation]] */\n public static get activeToolInformation(): ToolInformation | undefined {\n return InternalFrontstageManager._toolInformationMap.get(\n InternalFrontstageManager.activeToolId\n );\n }\n\n /** Gets the Tool Setting React node of the active tool.\n * @return Tool Setting React node of the active tool, or undefined if there is no active tool or Tool Settings for the active tool.\n * @internal\n */\n public static get activeToolSettingsProvider(): ToolUiProvider | undefined {\n const activeToolInformation =\n InternalFrontstageManager.activeToolInformation;\n return activeToolInformation\n ? activeToolInformation.toolUiProvider\n : /* istanbul ignore next */ undefined;\n }\n\n /** Sets the active layout, content group and active content.\n * @param contentLayoutDef Content layout to make active\n * @param contentGroup Content Group to make active\n */\n public static async setActiveLayout(\n contentLayoutDef: ContentLayoutDef,\n contentGroup: ContentGroup\n ): Promise<void> {\n const activeFrontstageDef = InternalFrontstageManager.activeFrontstageDef;\n // istanbul ignore else\n if (activeFrontstageDef) {\n InternalFrontstageManager._isLoading = false;\n\n activeFrontstageDef.setContentLayoutAndGroup(\n contentLayoutDef,\n contentGroup\n );\n InternalFrontstageManager.onContentLayoutActivatedEvent.emit({\n contentLayout: contentLayoutDef,\n contentGroup,\n });\n\n await activeFrontstageDef.waitUntilReady();\n InternalFrontstageManager._isLoading = false;\n\n await activeFrontstageDef.setActiveContent();\n }\n }\n\n /** Sets the active layout, content group and active content.\n * @param contentGroup Content Group to make active\n */\n public static async setActiveContentGroup(\n contentGroup: ContentGroup\n ): Promise<void> {\n const contentLayoutDef =\n UiFramework.content.layouts.getForGroup(contentGroup);\n await InternalFrontstageManager.setActiveLayout(\n contentLayoutDef,\n contentGroup\n );\n }\n\n /** Opens a modal Frontstage. Modal Frontstages can be stacked.\n * @param modalFrontstage Information about the modal Frontstage\n */\n public static openModalFrontstage(\n modalFrontstage: ModalFrontstageInfo\n ): void {\n InternalFrontstageManager.pushModalFrontstage(modalFrontstage);\n }\n\n private static pushModalFrontstage(\n modalFrontstage: ModalFrontstageInfo\n ): void {\n const timeTracker = new TimeTracker();\n timeTracker.startTiming();\n const frontstageItem: ModalFrontstageItem = {\n modalFrontstage,\n timeTracker,\n };\n InternalFrontstageManager._modalFrontstages.push(frontstageItem);\n InternalFrontstageManager.emitModalFrontstageChangedEvent();\n }\n\n /** Closes the top-most modal Frontstage.\n */\n public static closeModalFrontstage(): void {\n // istanbul ignore else\n if (InternalFrontstageManager._modalFrontstages.length > 0) {\n const topMostStageItem =\n InternalFrontstageManager._modalFrontstages[\n InternalFrontstageManager._modalFrontstages.length - 1\n ];\n if (topMostStageItem.modalFrontstage.notifyCloseRequest)\n InternalFrontstageManager.onCloseModalFrontstageRequestedEvent.emit({\n modalFrontstage: topMostStageItem.modalFrontstage,\n stageCloseFunc: InternalFrontstageManager.popModalFrontstage,\n });\n else InternalFrontstageManager.popModalFrontstage();\n }\n }\n\n private static popModalFrontstage(): void {\n const frontstageItem = InternalFrontstageManager._modalFrontstages.pop();\n // istanbul ignore else\n if (frontstageItem) {\n const modalFrontstage = frontstageItem.modalFrontstage;\n const timeTracker = frontstageItem.timeTracker;\n timeTracker.stopTiming();\n InternalFrontstageManager.onModalFrontstageClosedEvent.emit({\n modalFrontstage,\n totalTime: timeTracker.getTotalTimeSeconds(),\n engagementTime: timeTracker.getEngagementTimeSeconds(),\n idleTime: timeTracker.getIdleTimeSeconds(),\n });\n }\n\n InternalFrontstageManager.emitModalFrontstageChangedEvent();\n\n UiFramework.visibility.handleFrontstageReady();\n }\n\n private static emitModalFrontstageChangedEvent(): void {\n InternalFrontstageManager.onModalFrontstageChangedEvent.emit({\n modalFrontstageCount: InternalFrontstageManager.modalFrontstageCount,\n });\n }\n\n /** Updates the top-most modal Frontstage.\n */\n public static updateModalFrontstage(): void {\n InternalFrontstageManager.emitModalFrontstageChangedEvent();\n }\n\n /** Gets the top-most modal Frontstage.\n * @returns Top-most modal Frontstage, or undefined if there is none.\n */\n public static get activeModalFrontstage(): ModalFrontstageInfo | undefined {\n if (InternalFrontstageManager._modalFrontstages.length > 0) {\n const frontstageItem =\n InternalFrontstageManager._modalFrontstages[\n InternalFrontstageManager._modalFrontstages.length - 1\n ];\n const modalFrontstage = frontstageItem.modalFrontstage;\n return modalFrontstage;\n } else {\n return undefined;\n }\n }\n\n /** Gets the number of modal Frontstages.\n * @returns Modal Frontstage count\n */\n public static get modalFrontstageCount(): number {\n return InternalFrontstageManager._modalFrontstages.length;\n }\n\n /** Sets the active Navigation Aid via its Id.\n * @param navigationAidId Id of the Navigation Aid to set as active\n * @param iModelConnection IModelConnection to query for view data\n */\n public static setActiveNavigationAid(\n navigationAidId: string,\n iModelConnection: IModelConnection\n ) {\n InternalFrontstageManager.onNavigationAidActivatedEvent.emit({\n navigationAidId,\n iModelConnection,\n });\n }\n\n /** Sets the state of the widget with the given id\n * @param widgetId Id of the Widget for which to set the state\n * @param state New state of the widget\n * @returns true if the widget state was set successfully, or false if not.\n */\n public static setWidgetState(widgetId: string, state: WidgetState): boolean {\n const widgetDef = InternalFrontstageManager.findWidget(widgetId);\n if (widgetDef) {\n widgetDef.setWidgetState(state);\n return true;\n } else {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `setWidgetState: Could not find Widget with id of '${widgetId}'`\n );\n }\n\n return false;\n }\n\n /** Finds a widget with the given id in the active frontstage\n * @param widgetId Id of the Widget to find\n * @returns The WidgetDef with the given id, or undefined if not found.\n */\n public static findWidget(widgetId: string): WidgetDef | undefined {\n const activeFrontstageDef = InternalFrontstageManager.activeFrontstageDef;\n\n // istanbul ignore else\n if (activeFrontstageDef) return activeFrontstageDef.findWidgetDef(widgetId);\n\n return undefined;\n }\n\n /** Opens a nested Frontstage. Nested Frontstages can be stacked.\n * @param nestedFrontstage Information about the nested Frontstage\n */\n public static async openNestedFrontstage(\n nestedFrontstage: FrontstageDef\n ): Promise<void> {\n if (InternalFrontstageManager.nestedFrontstageCount === 0)\n InternalFrontstageManager._activePrimaryFrontstageDef =\n InternalFrontstageManager._activeFrontstageDef;\n\n InternalFrontstageManager.pushNestedFrontstage(nestedFrontstage);\n\n await InternalFrontstageManager.setActiveFrontstageDef(nestedFrontstage);\n }\n\n private static pushNestedFrontstage(nestedFrontstage: FrontstageDef): void {\n InternalFrontstageManager._nestedFrontstages.push(nestedFrontstage);\n }\n\n /** Closes the top-most nested Frontstage.\n */\n public static async closeNestedFrontstage(): Promise<void> {\n InternalFrontstageManager.popNestedFrontstage();\n\n if (InternalFrontstageManager.nestedFrontstageCount > 0) {\n await InternalFrontstageManager.setActiveFrontstageDef(\n InternalFrontstageManager.activeNestedFrontstage\n );\n } else {\n await InternalFrontstageManager.setActiveFrontstageDef(\n InternalFrontstageManager._activePrimaryFrontstageDef\n );\n InternalFrontstageManager._activePrimaryFrontstageDef = undefined;\n }\n }\n\n private static popNestedFrontstage(): void {\n InternalFrontstageManager._nestedFrontstages.pop();\n }\n\n /** Gets the top-most nested Frontstage.\n * @returns Top-most nested Frontstage, or undefined if there is none.\n */\n public static get activeNestedFrontstage(): FrontstageDef | undefined {\n // istanbul ignore else\n if (InternalFrontstageManager._nestedFrontstages.length > 0)\n return InternalFrontstageManager._nestedFrontstages[\n InternalFrontstageManager._nestedFrontstages.length - 1\n ];\n\n return undefined;\n }\n\n /** Gets the number of nested Frontstages.\n * @returns Nested Frontstage count\n */\n public static get nestedFrontstageCount(): number {\n return InternalFrontstageManager._nestedFrontstages.length;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalFrontstageManager.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/InternalFrontstageManager.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 Frontstage\n */\n\nimport { Logger } from \"@itwin/core-bentley\";\nimport type {\n IModelConnection,\n SelectedViewportChangedArgs,\n StartOrResume,\n Tool,\n} from \"@itwin/core-frontend\";\nimport { IModelApp, InteractiveTool } from \"@itwin/core-frontend\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { Size } from \"@itwin/core-react\";\nimport { ContentControlActivatedEvent } from \"../content/ContentControl\";\nimport type { ContentGroup } from \"../content/ContentGroup\";\nimport type { ContentLayoutDef } from \"../content/ContentLayout\";\nimport { ContentLayoutActivatedEvent } from \"../content/ContentLayout\";\nimport { NavigationAidActivatedEvent } from \"../navigationaids/NavigationAidControl\";\nimport type { PanelPinnedChangedEventArgs } from \"../stagepanels/StagePanelDef\";\nimport {\n PanelSizeChangedEvent,\n PanelStateChangedEvent,\n} from \"../stagepanels/StagePanelDef\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { WidgetDef } from \"../widgets/WidgetDef\";\nimport { WidgetStateChangedEvent } from \"../widgets/WidgetDef\";\nimport { ToolInformation } from \"../toolsettings/ToolInformation\";\nimport type { ToolUiProvider } from \"../toolsettings/ToolUiProvider\";\nimport type {\n FrontstageEventArgs,\n FrontstageNineZoneStateChangedEventArgs,\n} from \"./FrontstageDef\";\nimport { FrontstageDef } from \"./FrontstageDef\";\nimport type { FrontstageProvider } from \"./FrontstageProvider\";\nimport { TimeTracker } from \"../configurableui/TimeTracker\";\nimport type { WidgetState } from \"../widgets/WidgetState\";\nimport type {\n ModalFrontstageInfo,\n ModalFrontstageItem,\n} from \"../framework/FrameworkFrontstages\";\nimport {\n FrontstageActivatedEvent,\n FrontstageDeactivatedEvent,\n FrontstageReadyEvent,\n ModalFrontstageChangedEvent,\n ModalFrontstageClosedEvent,\n ModalFrontstageRequestedCloseEvent,\n ToolActivatedEvent,\n ToolIconChangedEvent,\n} from \"../framework/FrameworkFrontstages\";\nimport type { SyncToolSettingsPropertiesEventArgs } from \"../framework/FrameworkToolSettings\";\n\n/** Frontstage Manager class.\n * @internal\n */\nexport class InternalFrontstageManager {\n private static _initialized = false;\n private static _isLoading = false;\n private static _activeToolId = \"\";\n private static _activeFrontstageDef: FrontstageDef | undefined;\n private static _frontstageDefs = new Map<string, FrontstageDef>();\n private static _modalFrontstages: ModalFrontstageItem[] =\n new Array<ModalFrontstageItem>();\n private static _frontstageProviders = new Map<string, FrontstageProvider>();\n private static _nineZoneSize: Size | undefined = undefined;\n\n private static _nestedFrontstages: FrontstageDef[] =\n new Array<FrontstageDef>();\n private static _activePrimaryFrontstageDef: FrontstageDef | undefined;\n private static _toolInformationMap: Map<string, ToolInformation> = new Map<\n string,\n ToolInformation\n >();\n\n /** This should only be called within InternalFrontstageManager and its tests.\n * @internal\n */\n public static ensureToolInformationIsSet(toolId: string): void {\n // istanbul ignore else\n if (!InternalFrontstageManager._toolInformationMap.get(toolId))\n InternalFrontstageManager._toolInformationMap.set(\n toolId,\n new ToolInformation(toolId)\n );\n }\n\n // pass on SyncToolSettingsPropertiesEvent from ToolAdmin so they are treated as DialogItemSync events\n private static handleSyncToolSettingsPropertiesEvent(\n args: SyncToolSettingsPropertiesEventArgs\n ): void {\n InternalFrontstageManager.activeToolSettingsProvider &&\n InternalFrontstageManager.activeToolSettingsProvider.syncToolSettingsProperties(\n args\n );\n }\n\n // pass on ReloadToolSettingsEvent from ToolAdmin so they are treated by UiProviders\n private static handleReloadToolSettingsEvent(): void {\n // istanbul ignore else\n if (InternalFrontstageManager.activeToolSettingsProvider) {\n InternalFrontstageManager.activeToolSettingsProvider.reloadPropertiesFromTool();\n }\n }\n\n /** Initializes the InternalFrontstageManager\n * @internal\n */\n public static initialize() {\n if (this._initialized) return;\n\n // istanbul ignore else\n if (IModelApp && IModelApp.toolAdmin) {\n IModelApp.toolAdmin.activeToolChanged.addListener(\n (tool: Tool, _start: StartOrResume) => {\n // make sure tool settings properties are cached before creating ToolInformation\n UiFramework.toolSettings.clearToolSettingsData();\n // istanbul ignore else\n if (tool instanceof InteractiveTool)\n UiFramework.toolSettings.initializeDataForTool(tool);\n\n // if the tool data is not already cached then see if there is data to cache\n InternalFrontstageManager.ensureToolInformationIsSet(tool.toolId);\n InternalFrontstageManager.setActiveTool(tool);\n }\n );\n UiFramework.toolSettings.onSyncToolSettingsProperties.addListener(\n InternalFrontstageManager.handleSyncToolSettingsPropertiesEvent\n );\n UiFramework.toolSettings.onReloadToolSettingsProperties.addListener(\n InternalFrontstageManager.handleReloadToolSettingsEvent\n );\n }\n\n // istanbul ignore else\n if (IModelApp && IModelApp.viewManager) {\n IModelApp.viewManager.onSelectedViewportChanged.addListener(\n InternalFrontstageManager._handleSelectedViewportChanged\n );\n }\n\n this._initialized = true;\n }\n\n /** Handles a Viewport change & sets the active view accordingly */\n private static _handleSelectedViewportChanged = (\n args: SelectedViewportChangedArgs\n ) => {\n // istanbul ignore else\n if (\n args.current &&\n InternalFrontstageManager.activeFrontstageDef &&\n !InternalFrontstageManager.isLoading\n ) {\n InternalFrontstageManager.activeFrontstageDef.setActiveViewFromViewport(\n args.current\n );\n }\n };\n\n /** @internal */\n public static get isInitialized(): boolean {\n return InternalFrontstageManager._initialized;\n }\n public static set isInitialized(v: boolean) {\n InternalFrontstageManager._initialized = v;\n }\n\n /** Returns true if Frontstage is loading its controls. If false the Frontstage content and controls have been created. */\n public static get isLoading(): boolean {\n return InternalFrontstageManager._isLoading;\n }\n\n /** @internal */\n public static get nineZoneSize() {\n return InternalFrontstageManager._nineZoneSize;\n }\n\n public static set nineZoneSize(size) {\n InternalFrontstageManager._nineZoneSize = size;\n }\n\n /** @internal */\n public static get frontstageDefs(): ReadonlyMap<string, FrontstageDef> {\n return this._frontstageDefs;\n }\n\n /** Get Frontstage Deactivated event. */\n public static readonly onFrontstageDeactivatedEvent =\n new FrontstageDeactivatedEvent();\n\n /** Get Frontstage Activated event. */\n public static readonly onFrontstageActivatedEvent =\n new FrontstageActivatedEvent();\n\n /** Get Frontstage Activated event. */\n public static readonly onFrontstageReadyEvent = new FrontstageReadyEvent();\n\n /** Get Modal Frontstage Changed event. */\n public static readonly onModalFrontstageChangedEvent =\n new ModalFrontstageChangedEvent();\n\n /** Get Modal Frontstage Closed event. */\n public static readonly onModalFrontstageClosedEvent =\n new ModalFrontstageClosedEvent();\n\n /** Get Modal Frontstage Requested Closed event.\n * @alpha\n */\n public static readonly onCloseModalFrontstageRequestedEvent =\n new ModalFrontstageRequestedCloseEvent();\n\n /** Get Tool Activated event. */\n public static readonly onToolActivatedEvent = new ToolActivatedEvent();\n\n /** Get ToolSetting Reload event. */\n // eslint-disable-next-line deprecation/deprecation\n public static readonly onToolSettingsReloadEvent = new UiEvent<void>();\n\n /** Get Tool Panel Opened event.\n * @internal\n */\n // eslint-disable-next-line deprecation/deprecation\n public static readonly onToolPanelOpenedEvent = new UiEvent<void>();\n\n /** Get Tool Icon Changed event. */\n public static readonly onToolIconChangedEvent = new ToolIconChangedEvent();\n\n /** Get Content Layout Activated event. */\n public static readonly onContentLayoutActivatedEvent =\n new ContentLayoutActivatedEvent();\n\n /** Get Content Control Activated event. */\n public static readonly onContentControlActivatedEvent =\n new ContentControlActivatedEvent();\n\n /** Get Navigation Aid Activated event. */\n public static readonly onNavigationAidActivatedEvent =\n new NavigationAidActivatedEvent();\n\n /** Get Widget State Changed event. */\n public static readonly onWidgetStateChangedEvent =\n new WidgetStateChangedEvent();\n\n /** @internal */\n // eslint-disable-next-line deprecation/deprecation\n public static readonly onWidgetDefsUpdatedEvent = new UiEvent<void>();\n\n /** @internal */\n public static readonly onFrontstageNineZoneStateChangedEvent =\n // eslint-disable-next-line deprecation/deprecation\n new UiEvent<FrontstageNineZoneStateChangedEventArgs>();\n\n /** @internal */\n public static readonly onFrontstageRestoreLayoutEvent =\n // eslint-disable-next-line deprecation/deprecation\n new UiEvent<FrontstageEventArgs>();\n\n /** @internal */\n public static readonly onFrontstageWidgetsChangedEvent =\n // eslint-disable-next-line deprecation/deprecation\n new UiEvent<FrontstageEventArgs>();\n\n /** Get panel state changed event.\n * @alpha\n */\n public static readonly onPanelStateChangedEvent =\n new PanelStateChangedEvent();\n\n /** Get panel pinned changed event.\n * @alpha\n */\n public static readonly onPanelPinnedChangedEvent =\n // eslint-disable-next-line deprecation/deprecation\n new UiEvent<PanelPinnedChangedEventArgs>();\n\n /** @internal */\n public static readonly onPanelSizeChangedEvent = new PanelSizeChangedEvent();\n\n /** Clears the Frontstage map.\n */\n public static clearFrontstageDefs(): void {\n InternalFrontstageManager._frontstageDefs.clear();\n InternalFrontstageManager._activeFrontstageDef = undefined;\n }\n\n /** Clears the Frontstage Providers and the defs that may have been created from them.\n */\n public static clearFrontstageProviders(): void {\n InternalFrontstageManager._frontstageProviders.clear();\n InternalFrontstageManager.clearFrontstageDefs();\n }\n\n private static getFrontstageKey(frontstageId: string) {\n return frontstageId;\n }\n\n /** @internal */\n public static clearFrontstageDefsForIModelId(iModelId: string | undefined) {\n // istanbul ignore next\n if (!iModelId) return;\n const keysToRemove: string[] = [];\n InternalFrontstageManager._frontstageDefs.forEach(\n (_: FrontstageDef, key: string) => {\n if (key.startsWith(`[${iModelId}]`)) keysToRemove.push(key);\n }\n );\n keysToRemove.forEach((keyValue) => {\n InternalFrontstageManager._frontstageDefs.delete(keyValue);\n });\n }\n\n /** Add a Frontstage via a [[FrontstageProvider]].\n * @param frontstageProvider FrontstageProvider representing the Frontstage to add\n */\n public static addFrontstageProvider(\n frontstageProvider: FrontstageProvider\n ): void {\n const key = InternalFrontstageManager.getFrontstageKey(\n frontstageProvider.id\n );\n key && InternalFrontstageManager._frontstageDefs.delete(key);\n InternalFrontstageManager._frontstageProviders.set(\n frontstageProvider.id,\n frontstageProvider\n );\n }\n\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned.\n * If the FrontstageDef has not been cached by FrontstageDef then it will not be found. See async function\n * `getFrontstageDef` to get a FrontstageDef.\n * @param id Id of the Frontstage to find\n * @returns FrontstageDef with a given id if found, or undefined if not found.\n */\n private static findFrontstageDef(id: string): FrontstageDef | undefined {\n const key = InternalFrontstageManager.getFrontstageKey(id);\n const frontstageDef = InternalFrontstageManager._frontstageDefs.get(key);\n if (frontstageDef instanceof FrontstageDef) return frontstageDef;\n return undefined;\n }\n\n private static findFrontstageProvider(\n id?: string\n ): FrontstageProvider | undefined {\n return id\n ? InternalFrontstageManager._frontstageProviders.get(id)\n : undefined;\n }\n\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned. If\n * no cached FrontstageDef is found but a FrontstageProvider is registered a FrontstageDef will be created, cached, and\n * returned.\n * @param id Id of the Frontstage to find\n * @returns FrontstageDef with a given id if found, or undefined if not found.\n */\n public static async getFrontstageDef(\n id?: string\n ): Promise<FrontstageDef | undefined> {\n if (!id) return InternalFrontstageManager.activeFrontstageDef;\n\n let frontstageDef = InternalFrontstageManager.findFrontstageDef(id);\n if (frontstageDef) return frontstageDef;\n\n // istanbul ignore else\n if (id) {\n const frontstageProvider =\n InternalFrontstageManager.findFrontstageProvider(id);\n if (frontstageProvider) {\n frontstageDef = await FrontstageDef.create(frontstageProvider);\n // istanbul ignore else\n if (frontstageDef) {\n const key = InternalFrontstageManager.getFrontstageKey(\n frontstageDef.id\n );\n InternalFrontstageManager._frontstageDefs.set(key, frontstageDef);\n }\n return frontstageDef;\n }\n }\n\n return undefined;\n }\n\n /** Gets the active FrontstageDef. If a Frontstage is not active, undefined is returned.\n * @return Active FrontstageDef, or undefined if one is not active.\n */\n public static get activeFrontstageDef(): FrontstageDef | undefined {\n return InternalFrontstageManager._activeFrontstageDef;\n }\n\n /** Gets the Id of the active FrontstageDef. If a Frontstage is not active, blank is returned.\n * @return Id of the active FrontstageDef, or blank if one is not active.\n */\n public static get activeFrontstageId(): string {\n const activeFrontstage = InternalFrontstageManager._activeFrontstageDef;\n return activeFrontstage ? activeFrontstage.id : \"\";\n }\n\n public static hasFrontstage(frontstageId: string) {\n if (InternalFrontstageManager.findFrontstageDef(frontstageId)) return true;\n if (InternalFrontstageManager.findFrontstageProvider(frontstageId))\n return true;\n return false;\n }\n\n /** Sets the active FrontstageDef give the stageId.\n * @param frontstageId Id of the Frontstage to set active.\n * @returns A Promise that is fulfilled when the [[Frontstage]] is ready.\n */\n public static async setActiveFrontstage(frontstageId: string): Promise<void> {\n const frontstageDef = await InternalFrontstageManager.getFrontstageDef(\n frontstageId\n );\n if (!frontstageDef) {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `setActiveFrontstage: Could not load a FrontstageDef with id of '${frontstageId}'`\n );\n return;\n }\n\n return InternalFrontstageManager.setActiveFrontstageDef(frontstageDef);\n }\n\n /** Sets the active FrontstageDef.\n * @param frontstageDef FrontstageDef to set active.\n * @returns A Promise that is fulfilled when the [[FrontstageDef]] is ready.\n */\n public static async setActiveFrontstageDef(\n frontstageDef: FrontstageDef | undefined\n ): Promise<void> {\n if (InternalFrontstageManager._activeFrontstageDef === frontstageDef)\n return;\n\n InternalFrontstageManager._isLoading = true;\n\n const deactivatedFrontstageDef =\n InternalFrontstageManager._activeFrontstageDef;\n if (deactivatedFrontstageDef) {\n await deactivatedFrontstageDef.onDeactivated();\n\n const timeTracker = deactivatedFrontstageDef.timeTracker;\n InternalFrontstageManager.onFrontstageDeactivatedEvent.emit({\n deactivatedFrontstageDef,\n activatedFrontstageDef: frontstageDef,\n totalTime: timeTracker.getTotalTimeSeconds(),\n engagementTime: timeTracker.getEngagementTimeSeconds(),\n idleTime: timeTracker.getIdleTimeSeconds(),\n });\n }\n\n InternalFrontstageManager._activeFrontstageDef = frontstageDef;\n\n if (frontstageDef) {\n await frontstageDef.onActivated();\n\n InternalFrontstageManager.onFrontstageActivatedEvent.emit({\n activatedFrontstageDef: frontstageDef,\n deactivatedFrontstageDef,\n });\n\n await frontstageDef.waitUntilReady();\n InternalFrontstageManager._isLoading = false;\n frontstageDef.onFrontstageReady();\n InternalFrontstageManager.onFrontstageReadyEvent.emit({ frontstageDef });\n UiFramework.visibility.handleFrontstageReady();\n\n await frontstageDef.setActiveContent();\n }\n\n InternalFrontstageManager._isLoading = false;\n }\n\n /** Deactivates the active FrontstageDef.\n */\n public static async deactivateFrontstageDef(): Promise<void> {\n await this.setActiveFrontstageDef(undefined);\n }\n\n /** Gets the Id of the active tool. If a tool is not active, blank is returned.\n * @return Id of the active tool, or blank if one is not active.\n */\n public static get activeToolId(): string {\n return InternalFrontstageManager._activeToolId;\n }\n\n /** Sets the active tool id */\n public static setActiveToolId(toolId: string): void {\n InternalFrontstageManager._activeToolId = toolId;\n const toolSettingsProvider =\n InternalFrontstageManager.activeToolSettingsProvider;\n // ensure the toolSettingsProvider is initialized before emitting onToolActivatedEvent\n if (toolSettingsProvider) toolSettingsProvider.initialize();\n InternalFrontstageManager.onToolActivatedEvent.emit({ toolId });\n }\n\n /** Sets the active tool */\n public static setActiveTool(tool: Tool): void {\n InternalFrontstageManager.setActiveToolId(tool.toolId);\n InternalFrontstageManager.onToolIconChangedEvent.emit({\n iconSpec: tool.iconSpec,\n });\n }\n\n /** Gets the active tool's [[ToolInformation]] */\n public static get activeToolInformation(): ToolInformation | undefined {\n return InternalFrontstageManager._toolInformationMap.get(\n InternalFrontstageManager.activeToolId\n );\n }\n\n /** Gets the Tool Setting React node of the active tool.\n * @return Tool Setting React node of the active tool, or undefined if there is no active tool or Tool Settings for the active tool.\n * @internal\n */\n public static get activeToolSettingsProvider(): ToolUiProvider | undefined {\n const activeToolInformation =\n InternalFrontstageManager.activeToolInformation;\n return activeToolInformation\n ? activeToolInformation.toolUiProvider\n : /* istanbul ignore next */ undefined;\n }\n\n /** Sets the active layout, content group and active content.\n * @param contentLayoutDef Content layout to make active\n * @param contentGroup Content Group to make active\n */\n public static async setActiveLayout(\n contentLayoutDef: ContentLayoutDef,\n contentGroup: ContentGroup\n ): Promise<void> {\n const activeFrontstageDef = InternalFrontstageManager.activeFrontstageDef;\n // istanbul ignore else\n if (activeFrontstageDef) {\n InternalFrontstageManager._isLoading = false;\n\n activeFrontstageDef.setContentLayoutAndGroup(\n contentLayoutDef,\n contentGroup\n );\n InternalFrontstageManager.onContentLayoutActivatedEvent.emit({\n contentLayout: contentLayoutDef,\n contentGroup,\n });\n\n await activeFrontstageDef.waitUntilReady();\n InternalFrontstageManager._isLoading = false;\n\n await activeFrontstageDef.setActiveContent();\n }\n }\n\n /** Sets the active layout, content group and active content.\n * @param contentGroup Content Group to make active\n */\n public static async setActiveContentGroup(\n contentGroup: ContentGroup\n ): Promise<void> {\n const contentLayoutDef =\n UiFramework.content.layouts.getForGroup(contentGroup);\n await InternalFrontstageManager.setActiveLayout(\n contentLayoutDef,\n contentGroup\n );\n }\n\n /** Opens a modal Frontstage. Modal Frontstages can be stacked.\n * @param modalFrontstage Information about the modal Frontstage\n */\n public static openModalFrontstage(\n modalFrontstage: ModalFrontstageInfo\n ): void {\n InternalFrontstageManager.pushModalFrontstage(modalFrontstage);\n }\n\n private static pushModalFrontstage(\n modalFrontstage: ModalFrontstageInfo\n ): void {\n const timeTracker = new TimeTracker();\n timeTracker.startTiming();\n const frontstageItem: ModalFrontstageItem = {\n modalFrontstage,\n timeTracker,\n };\n InternalFrontstageManager._modalFrontstages.push(frontstageItem);\n InternalFrontstageManager.emitModalFrontstageChangedEvent();\n }\n\n /** Closes the top-most modal Frontstage.\n */\n public static closeModalFrontstage(): void {\n // istanbul ignore else\n if (InternalFrontstageManager._modalFrontstages.length > 0) {\n const topMostStageItem =\n InternalFrontstageManager._modalFrontstages[\n InternalFrontstageManager._modalFrontstages.length - 1\n ];\n if (topMostStageItem.modalFrontstage.notifyCloseRequest)\n InternalFrontstageManager.onCloseModalFrontstageRequestedEvent.emit({\n modalFrontstage: topMostStageItem.modalFrontstage,\n stageCloseFunc: InternalFrontstageManager.popModalFrontstage,\n });\n else InternalFrontstageManager.popModalFrontstage();\n }\n }\n\n private static popModalFrontstage(): void {\n const frontstageItem = InternalFrontstageManager._modalFrontstages.pop();\n // istanbul ignore else\n if (frontstageItem) {\n const modalFrontstage = frontstageItem.modalFrontstage;\n const timeTracker = frontstageItem.timeTracker;\n timeTracker.stopTiming();\n InternalFrontstageManager.onModalFrontstageClosedEvent.emit({\n modalFrontstage,\n totalTime: timeTracker.getTotalTimeSeconds(),\n engagementTime: timeTracker.getEngagementTimeSeconds(),\n idleTime: timeTracker.getIdleTimeSeconds(),\n });\n }\n\n InternalFrontstageManager.emitModalFrontstageChangedEvent();\n\n UiFramework.visibility.handleFrontstageReady();\n }\n\n private static emitModalFrontstageChangedEvent(): void {\n InternalFrontstageManager.onModalFrontstageChangedEvent.emit({\n modalFrontstageCount: InternalFrontstageManager.modalFrontstageCount,\n });\n }\n\n /** Updates the top-most modal Frontstage.\n */\n public static updateModalFrontstage(): void {\n InternalFrontstageManager.emitModalFrontstageChangedEvent();\n }\n\n /** Gets the top-most modal Frontstage.\n * @returns Top-most modal Frontstage, or undefined if there is none.\n */\n public static get activeModalFrontstage(): ModalFrontstageInfo | undefined {\n if (InternalFrontstageManager._modalFrontstages.length > 0) {\n const frontstageItem =\n InternalFrontstageManager._modalFrontstages[\n InternalFrontstageManager._modalFrontstages.length - 1\n ];\n const modalFrontstage = frontstageItem.modalFrontstage;\n return modalFrontstage;\n } else {\n return undefined;\n }\n }\n\n /** Gets the number of modal Frontstages.\n * @returns Modal Frontstage count\n */\n public static get modalFrontstageCount(): number {\n return InternalFrontstageManager._modalFrontstages.length;\n }\n\n /** Sets the active Navigation Aid via its Id.\n * @param navigationAidId Id of the Navigation Aid to set as active\n * @param iModelConnection IModelConnection to query for view data\n */\n public static setActiveNavigationAid(\n navigationAidId: string,\n iModelConnection: IModelConnection\n ) {\n InternalFrontstageManager.onNavigationAidActivatedEvent.emit({\n navigationAidId,\n iModelConnection,\n });\n }\n\n /** Sets the state of the widget with the given id\n * @param widgetId Id of the Widget for which to set the state\n * @param state New state of the widget\n * @returns true if the widget state was set successfully, or false if not.\n */\n public static setWidgetState(widgetId: string, state: WidgetState): boolean {\n const widgetDef = InternalFrontstageManager.findWidget(widgetId);\n if (widgetDef) {\n widgetDef.setWidgetState(state);\n return true;\n } else {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `setWidgetState: Could not find Widget with id of '${widgetId}'`\n );\n }\n\n return false;\n }\n\n /** Finds a widget with the given id in the active frontstage\n * @param widgetId Id of the Widget to find\n * @returns The WidgetDef with the given id, or undefined if not found.\n */\n public static findWidget(widgetId: string): WidgetDef | undefined {\n const activeFrontstageDef = InternalFrontstageManager.activeFrontstageDef;\n\n // istanbul ignore else\n if (activeFrontstageDef) return activeFrontstageDef.findWidgetDef(widgetId);\n\n return undefined;\n }\n\n /** Opens a nested Frontstage. Nested Frontstages can be stacked.\n * @param nestedFrontstage Information about the nested Frontstage\n */\n public static async openNestedFrontstage(\n nestedFrontstage: FrontstageDef\n ): Promise<void> {\n if (InternalFrontstageManager.nestedFrontstageCount === 0)\n InternalFrontstageManager._activePrimaryFrontstageDef =\n InternalFrontstageManager._activeFrontstageDef;\n\n InternalFrontstageManager.pushNestedFrontstage(nestedFrontstage);\n\n await InternalFrontstageManager.setActiveFrontstageDef(nestedFrontstage);\n }\n\n private static pushNestedFrontstage(nestedFrontstage: FrontstageDef): void {\n InternalFrontstageManager._nestedFrontstages.push(nestedFrontstage);\n }\n\n /** Closes the top-most nested Frontstage.\n */\n public static async closeNestedFrontstage(): Promise<void> {\n InternalFrontstageManager.popNestedFrontstage();\n\n if (InternalFrontstageManager.nestedFrontstageCount > 0) {\n await InternalFrontstageManager.setActiveFrontstageDef(\n InternalFrontstageManager.activeNestedFrontstage\n );\n } else {\n await InternalFrontstageManager.setActiveFrontstageDef(\n InternalFrontstageManager._activePrimaryFrontstageDef\n );\n InternalFrontstageManager._activePrimaryFrontstageDef = undefined;\n }\n }\n\n private static popNestedFrontstage(): void {\n InternalFrontstageManager._nestedFrontstages.pop();\n }\n\n /** Gets the top-most nested Frontstage.\n * @returns Top-most nested Frontstage, or undefined if there is none.\n */\n public static get activeNestedFrontstage(): FrontstageDef | undefined {\n // istanbul ignore else\n if (InternalFrontstageManager._nestedFrontstages.length > 0)\n return InternalFrontstageManager._nestedFrontstages[\n InternalFrontstageManager._nestedFrontstages.length - 1\n ];\n\n return undefined;\n }\n\n /** Gets the number of nested Frontstages.\n * @returns Nested Frontstage count\n */\n public static get nestedFrontstageCount(): number {\n return InternalFrontstageManager._nestedFrontstages.length;\n }\n}\n"]}
@@ -4,8 +4,7 @@
4
4
  import "./ModalFrontstage.scss";
5
5
  import * as React from "react";
6
6
  import type { CommonProps } from "@itwin/core-react";
7
- /**
8
- * Properties for the [[ModalFrontstage]] React component
7
+ /** Properties for the [[ModalFrontstage]] React component
9
8
  * @public
10
9
  */
11
10
  export interface ModalFrontstageProps extends CommonProps {
@@ -22,8 +21,7 @@ export interface ModalFrontstageProps extends CommonProps {
22
21
  /** Content */
23
22
  children?: React.ReactNode;
24
23
  }
25
- /**
26
- * ModalFrontstage React component
24
+ /** ModalFrontstage React component
27
25
  * @public
28
26
  */
29
27
  export declare class ModalFrontstage extends React.Component<ModalFrontstageProps> {
@@ -1 +1 @@
1
- {"version":3,"file":"ModalFrontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/ModalFrontstage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOrD;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mGAAmG;IACnG,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC;IACzB,sFAAsF;IACtF,UAAU,EAAE,MAAM,GAAG,CAAC;IACtB,mFAAmF;IACnF,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,cAAc;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,KAAK,CAAC,SAAS,CAAC,oBAAoB,CAAC;IACxE,OAAO,CAAC,gBAAgB,CAEtB;gBAEU,KAAK,EAAE,oBAAoB;IAIvC,OAAO,CAAC,SAAS,CAGf;IAEc,MAAM;CA8BvB"}
1
+ {"version":3,"file":"ModalFrontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/ModalFrontstage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOrD;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mGAAmG;IACnG,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC;IACzB,sFAAsF;IACtF,UAAU,EAAE,MAAM,GAAG,CAAC;IACtB,mFAAmF;IACnF,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,cAAc;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK,CAAC,SAAS,CAAC,oBAAoB,CAAC;IACxE,OAAO,CAAC,gBAAgB,CAEtB;gBAEU,KAAK,EAAE,oBAAoB;IAIvC,OAAO,CAAC,SAAS,CAGf;IAEc,MAAM;CAgCvB"}
@@ -13,8 +13,7 @@ import { BackButton } from "@itwin/appui-layout-react";
13
13
  import { UiFramework } from "../UiFramework";
14
14
  import { Text } from "@itwin/itwinui-react";
15
15
  import { SvgProgressBackwardCircular } from "@itwin/itwinui-icons-react";
16
- /**
17
- * ModalFrontstage React component
16
+ /** ModalFrontstage React component
18
17
  * @public
19
18
  */
20
19
  export class ModalFrontstage extends React.Component {
@@ -33,7 +32,7 @@ export class ModalFrontstage extends React.Component {
33
32
  React.createElement("div", { className: classNames, style: this.props.style },
34
33
  React.createElement("div", { className: "uifw-modal-app-bar" },
35
34
  React.createElement(BackButton, { className: "nz-toolbar-button-app", onClick: this._onGoBack, icon: React.createElement(Icon, { iconSpec: React.createElement(SvgProgressBackwardCircular, null) }), title: this._backButtonTitle }),
36
- React.createElement(Text, { variant: "headline" }, this.props.title),
35
+ React.createElement(Text, { variant: "headline", className: "uifw-headline" }, this.props.title),
37
36
  this.props.appBarRight && (React.createElement("span", { className: "uifw-modal-app-bar-right" }, this.props.appBarRight))),
38
37
  React.createElement("div", { className: "uifw-modal-stage-content" }, this.props.children)),
39
38
  React.createElement("div", { className: "uifw-modal-frontstage-overlay" })));
@@ -1 +1 @@
1
- {"version":3,"file":"ModalFrontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/ModalFrontstage.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,wBAAwB,CAAC;AAChC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAqBzE;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK,CAAC,SAA+B;IAKxE,YAAY,KAA2B;QACrC,KAAK,CAAC,KAAK,CAAC,CAAC;QALP,qBAAgB,GAAG,WAAW,CAAC,SAAS,CAC9C,iCAAiC,CAClC,CAAC;QAMM,cAAS,GAAG,GAAG,EAAE;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY;gBAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC,CAAC;IALF,CAAC;IAOe,MAAM;QACpB,MAAM,UAAU,GAAG,UAAU,CAC3B,uBAAuB,EACvB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,iBAAiB,EACtC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,CACL;YACE,6BAAK,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBACjD,6BAAK,SAAS,EAAC,oBAAoB;oBACjC,oBAAC,UAAU,IACT,SAAS,EAAC,uBAAuB,EACjC,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,IAAI,EAAE,oBAAC,IAAI,IAAC,QAAQ,EAAE,oBAAC,2BAA2B,OAAG,GAAI,EACzD,KAAK,EAAE,IAAI,CAAC,gBAAgB,GAC5B;oBACF,oBAAC,IAAI,IAAC,OAAO,EAAC,UAAU,IAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAQ;oBACjD,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CACzB,8BAAM,SAAS,EAAC,0BAA0B,IACvC,IAAI,CAAC,KAAK,CAAC,WAAW,CAClB,CACR,CACG;gBACN,6BAAK,SAAS,EAAC,0BAA0B,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO,CACjE;YACN,6BAAK,SAAS,EAAC,+BAA+B,GAAG,CAChD,CACJ,CAAC;IACJ,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 Frontstage\n */\n\nimport \"./ModalFrontstage.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Icon } from \"@itwin/core-react\";\nimport { BackButton } from \"@itwin/appui-layout-react\";\nimport { UiFramework } from \"../UiFramework\";\nimport { Text } from \"@itwin/itwinui-react\";\nimport { SvgProgressBackwardCircular } from \"@itwin/itwinui-icons-react\";\n\n/**\n * Properties for the [[ModalFrontstage]] React component\n * @public\n */\nexport interface ModalFrontstageProps extends CommonProps {\n /** Title displayed at the top of the modal Frontstage */\n title: string;\n /** Indicates whether the modal Frontstage is open */\n isOpen?: boolean;\n /** Callback for navigating back from the modal Frontstage. This is normally connected to Redux. */\n navigateBack?: () => any;\n /** Callback for closing the modal Frontstage. This is normally connected to Redux. */\n closeModal: () => any;\n /** An optional React node displayed in the upper right of the modal Frontstage. */\n appBarRight?: React.ReactNode;\n /** Content */\n children?: React.ReactNode;\n}\n\n/**\n * ModalFrontstage React component\n * @public\n */\nexport class ModalFrontstage extends React.Component<ModalFrontstageProps> {\n private _backButtonTitle = UiFramework.translate(\n \"modalFrontstage.backButtonTitle\"\n );\n\n constructor(props: ModalFrontstageProps) {\n super(props);\n }\n\n private _onGoBack = () => {\n if (this.props.navigateBack) this.props.navigateBack();\n this.props.closeModal();\n };\n\n public override render() {\n const classNames = classnames(\n \"uifw-modal-frontstage\",\n this.props.isOpen && \"uifw-modal-open\",\n this.props.className\n );\n\n return (\n <>\n <div className={classNames} style={this.props.style}>\n <div className=\"uifw-modal-app-bar\">\n <BackButton\n className=\"nz-toolbar-button-app\"\n onClick={this._onGoBack}\n icon={<Icon iconSpec={<SvgProgressBackwardCircular />} />}\n title={this._backButtonTitle}\n />\n <Text variant=\"headline\">{this.props.title}</Text>\n {this.props.appBarRight && (\n <span className=\"uifw-modal-app-bar-right\">\n {this.props.appBarRight}\n </span>\n )}\n </div>\n <div className=\"uifw-modal-stage-content\">{this.props.children}</div>\n </div>\n <div className=\"uifw-modal-frontstage-overlay\" />\n </>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ModalFrontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/ModalFrontstage.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,wBAAwB,CAAC;AAChC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAoBzE;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK,CAAC,SAA+B;IAKxE,YAAY,KAA2B;QACrC,KAAK,CAAC,KAAK,CAAC,CAAC;QALP,qBAAgB,GAAG,WAAW,CAAC,SAAS,CAC9C,iCAAiC,CAClC,CAAC;QAMM,cAAS,GAAG,GAAG,EAAE;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY;gBAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC,CAAC;IALF,CAAC;IAOe,MAAM;QACpB,MAAM,UAAU,GAAG,UAAU,CAC3B,uBAAuB,EACvB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,iBAAiB,EACtC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,CACL;YACE,6BAAK,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBACjD,6BAAK,SAAS,EAAC,oBAAoB;oBACjC,oBAAC,UAAU,IACT,SAAS,EAAC,uBAAuB,EACjC,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,IAAI,EAAE,oBAAC,IAAI,IAAC,QAAQ,EAAE,oBAAC,2BAA2B,OAAG,GAAI,EACzD,KAAK,EAAE,IAAI,CAAC,gBAAgB,GAC5B;oBACF,oBAAC,IAAI,IAAC,OAAO,EAAC,UAAU,EAAC,SAAS,EAAC,eAAe,IAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,CACZ;oBACN,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CACzB,8BAAM,SAAS,EAAC,0BAA0B,IACvC,IAAI,CAAC,KAAK,CAAC,WAAW,CAClB,CACR,CACG;gBACN,6BAAK,SAAS,EAAC,0BAA0B,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO,CACjE;YACN,6BAAK,SAAS,EAAC,+BAA+B,GAAG,CAChD,CACJ,CAAC;IACJ,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 Frontstage\n */\n\nimport \"./ModalFrontstage.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Icon } from \"@itwin/core-react\";\nimport { BackButton } from \"@itwin/appui-layout-react\";\nimport { UiFramework } from \"../UiFramework\";\nimport { Text } from \"@itwin/itwinui-react\";\nimport { SvgProgressBackwardCircular } from \"@itwin/itwinui-icons-react\";\n\n/** Properties for the [[ModalFrontstage]] React component\n * @public\n */\nexport interface ModalFrontstageProps extends CommonProps {\n /** Title displayed at the top of the modal Frontstage */\n title: string;\n /** Indicates whether the modal Frontstage is open */\n isOpen?: boolean;\n /** Callback for navigating back from the modal Frontstage. This is normally connected to Redux. */\n navigateBack?: () => any;\n /** Callback for closing the modal Frontstage. This is normally connected to Redux. */\n closeModal: () => any;\n /** An optional React node displayed in the upper right of the modal Frontstage. */\n appBarRight?: React.ReactNode;\n /** Content */\n children?: React.ReactNode;\n}\n\n/** ModalFrontstage React component\n * @public\n */\nexport class ModalFrontstage extends React.Component<ModalFrontstageProps> {\n private _backButtonTitle = UiFramework.translate(\n \"modalFrontstage.backButtonTitle\"\n );\n\n constructor(props: ModalFrontstageProps) {\n super(props);\n }\n\n private _onGoBack = () => {\n if (this.props.navigateBack) this.props.navigateBack();\n this.props.closeModal();\n };\n\n public override render() {\n const classNames = classnames(\n \"uifw-modal-frontstage\",\n this.props.isOpen && \"uifw-modal-open\",\n this.props.className\n );\n\n return (\n <>\n <div className={classNames} style={this.props.style}>\n <div className=\"uifw-modal-app-bar\">\n <BackButton\n className=\"nz-toolbar-button-app\"\n onClick={this._onGoBack}\n icon={<Icon iconSpec={<SvgProgressBackwardCircular />} />}\n title={this._backButtonTitle}\n />\n <Text variant=\"headline\" className=\"uifw-headline\">\n {this.props.title}\n </Text>\n {this.props.appBarRight && (\n <span className=\"uifw-modal-app-bar-right\">\n {this.props.appBarRight}\n </span>\n )}\n </div>\n <div className=\"uifw-modal-stage-content\">{this.props.children}</div>\n </div>\n <div className=\"uifw-modal-frontstage-overlay\" />\n </>\n );\n }\n}\n"]}
@@ -30,7 +30,7 @@
30
30
  transform: translateY(-100%);
31
31
  box-sizing: initial;
32
32
 
33
- .iui-text-headline {
33
+ > .uifw-headline {
34
34
  display: inline-block;
35
35
  line-height: 60px;
36
36
  vertical-align: top;
@@ -1 +1 @@
1
- {"version":3,"file":"StandardFrontstageProvider.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/StandardFrontstageProvider.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAgB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,gBAAgB,EAChB,SAAS,GAAG,cAAc,GAAG,QAAQ,GAAG,cAAc,GAAG,YAAY,CACtE,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IAEtC,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,iBAAiB,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IAC5D;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;4EACwE;IACxE,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC;2EACuE;IACvE,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC;sEACkE;IAClE,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC;sEACkE;IAClE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,kBAAkB;IACpD,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,uBAAuB;IAIlD,IAAoB,EAAE,IAAI,MAAM,CAE/B;IAEe,gBAAgB,IAAI,gBAAgB;CA2DrD"}
1
+ {"version":3,"file":"StandardFrontstageProvider.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/StandardFrontstageProvider.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAgB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI/C;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,gBAAgB,EAChB,SAAS,GAAG,cAAc,GAAG,QAAQ,GAAG,cAAc,GAAG,YAAY,CACtE,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IAEtC,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,iBAAiB,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IAC5D;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;4EACwE;IACxE,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC;2EACuE;IACvE,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC;sEACkE;IAClE,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC;sEACkE;IAClE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,kBAAkB;IACpD,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,uBAAuB;IAIlD,IAAoB,EAAE,IAAI,MAAM,CAE/B;IAEe,gBAAgB,IAAI,gBAAgB;CA2DrD"}
@@ -10,8 +10,8 @@ import { ContentGroup, ContentGroupProvider } from "../content/ContentGroup";
10
10
  import { FrontstageProvider } from "./FrontstageProvider";
11
11
  import { ContentToolWidgetComposer } from "../widgets/ContentToolWidgetComposer";
12
12
  import { ViewToolWidgetComposer } from "../widgets/ViewToolWidgetComposer";
13
- import { StagePanelState } from "../stagepanels/StagePanelDef";
14
13
  import { StatusBarComposer } from "../statusbar/StatusBarComposer";
14
+ import { StagePanelState } from "../stagepanels/StagePanelState";
15
15
  /**
16
16
  * FrontstageProvider that provides an "empty" stage. All tool buttons, statusbar items, and widgets must
17
17
  * be provided by one or more item providers, see [[UiItemsProvider]].
@@ -1 +1 @@
1
- {"version":3,"file":"StandardFrontstageProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/StandardFrontstageProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Frontstage\n */\n\nimport * as React from \"react\";\nimport type { ContentGroupProps } from \"../content/ContentGroup\";\nimport { ContentGroup, ContentGroupProvider } from \"../content/ContentGroup\";\nimport { FrontstageProvider } from \"./FrontstageProvider\";\nimport { ContentToolWidgetComposer } from \"../widgets/ContentToolWidgetComposer\";\nimport { ViewToolWidgetComposer } from \"../widgets/ViewToolWidgetComposer\";\nimport { StagePanelState } from \"../stagepanels/StagePanelDef\";\nimport type { FrontstageConfig } from \"./FrontstageConfig\";\nimport type { StagePanelConfig } from \"../stagepanels/StagePanelConfig\";\nimport type { StageUsage } from \"./StageUsage\";\nimport { StatusBarComposer } from \"../statusbar/StatusBarComposer\";\n\n/** Properties of a [[WidgetPanelProps]] component\n * @public\n */\nexport type WidgetPanelProps = Omit<\n StagePanelConfig,\n \"widgets\" | \"runtimeProps\" | \"header\" | \"allowedZones\" | \"panelZones\"\n>;\n\n/**\n * Props for [[StandardFrontstageProvider]]\n * @public\n */\nexport interface StandardFrontstageProps {\n /* unique stage id. To ensure uniqueness it is common practice to format id like `appName:stageId` */\n id: string;\n /* version id that is used to store state of stage */\n version?: number;\n // Usage of stage. To allow generic UiItemProvides to populate this stage set to `StageUsage.General`.\n usage: StageUsage | string;\n /** The defaultTool is is started when then frontstage loads and whenever any other tools exit.\n * Most of the time, this is the Element Selection Tool (SelectionTool.toolId).\n * Your app can specify its own tool or another core tool as default with this property.\n */\n defaultTool?: string;\n /** Definition of available content groups or a function that provides them */\n contentGroupProps: ContentGroupProps | ContentGroupProvider;\n /** Specify button to use to open backstage. Leave undefined for no backstage button.\n * ```\n * <BackstageAppButton icon={<SvgBentleySystems />} />\n * ```\n * Custom corner button definition\n * ```\n * const cornerButton = <BackstageAppButton icon={<SvgBentleySystems />}\n * label=\"Toggle Backstage display\",\n * execute={() => UiFramework.backstage.getBackstageToggleCommand().execute()} />;\n * ```\n */\n cornerButton?: React.ReactNode;\n /** Set to true if default Navigation aid is not desired */\n hideNavigationAid?: boolean;\n /** Set to true if no tool setting dock is needed. Typically only used in modal stages. */\n hideToolSettings?: boolean;\n /** Set to true if no status bar is needed in stage */\n hideStatusBar?: boolean;\n /** Props used to set initial size and state of panel. Defaults to:\n * {size: 300, pinned=false, defaultState:StagePanelState.Minimized} */\n leftPanelProps?: WidgetPanelProps;\n /** Props used to set initial size and state of panel. Defaults to:\n * {size: 90, pinned=false, defaultState:StagePanelState.Minimized} */\n topPanelProps?: WidgetPanelProps;\n /** Props used to set initial size and state of panel. Defaults to:\n * {size: 200, pinned=true, defaultState:StagePanelState.Open} */\n rightPanelProps?: WidgetPanelProps;\n /** Props used to set initial size and state of panel. Defaults to:\n * {size: 180, pinned=true, defaultState:StagePanelState.Open} */\n bottomPanelProps?: WidgetPanelProps;\n}\n\n/**\n * FrontstageProvider that provides an \"empty\" stage. All tool buttons, statusbar items, and widgets must\n * be provided by one or more item providers, see [[UiItemsProvider]].\n * @public\n */\nexport class StandardFrontstageProvider extends FrontstageProvider {\n constructor(private props: StandardFrontstageProps) {\n super();\n }\n\n public override get id(): string {\n return this.props.id;\n }\n\n public override frontstageConfig(): FrontstageConfig {\n const contentGroup =\n this.props.contentGroupProps instanceof ContentGroupProvider\n ? this.props.contentGroupProps\n : new ContentGroup(this.props.contentGroupProps);\n return {\n id: this.props.id,\n version: this.props.version ?? 1.0,\n contentGroup,\n usage: this.props.usage,\n defaultTool: this.props.defaultTool,\n contentManipulation: {\n id: `${this.props.id}-contentManipulationTools`,\n content: (\n <ContentToolWidgetComposer cornerButton={this.props.cornerButton} />\n ),\n },\n viewNavigation: {\n id: `${this.props.id}-viewNavigationTools`,\n content: (\n <ViewToolWidgetComposer\n hideNavigationAid={this.props.hideNavigationAid}\n />\n ),\n },\n toolSettings: this.props.hideToolSettings\n ? undefined\n : {\n id: `${this.props.id}-toolSettings`,\n },\n statusBar: this.props.hideStatusBar\n ? undefined\n : {\n id: `${this.props.id}-statusBar`,\n content: <StatusBarComposer items={[]} />,\n },\n leftPanel: {\n size: 300,\n pinned: false,\n defaultState: StagePanelState.Minimized,\n ...this.props.leftPanelProps,\n },\n topPanel: {\n size: 90,\n pinned: false,\n defaultState: StagePanelState.Minimized,\n ...this.props.topPanelProps,\n },\n rightPanel: {\n defaultState: StagePanelState.Open,\n ...this.props.rightPanelProps,\n },\n bottomPanel: {\n size: 180,\n defaultState: StagePanelState.Open,\n ...this.props.bottomPanelProps,\n },\n };\n }\n}\n"]}
1
+ {"version":3,"file":"StandardFrontstageProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/StandardFrontstageProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Frontstage\n */\n\nimport * as React from \"react\";\nimport type { ContentGroupProps } from \"../content/ContentGroup\";\nimport { ContentGroup, ContentGroupProvider } from \"../content/ContentGroup\";\nimport { FrontstageProvider } from \"./FrontstageProvider\";\nimport { ContentToolWidgetComposer } from \"../widgets/ContentToolWidgetComposer\";\nimport { ViewToolWidgetComposer } from \"../widgets/ViewToolWidgetComposer\";\nimport type { FrontstageConfig } from \"./FrontstageConfig\";\nimport type { StagePanelConfig } from \"../stagepanels/StagePanelConfig\";\nimport type { StageUsage } from \"./StageUsage\";\nimport { StatusBarComposer } from \"../statusbar/StatusBarComposer\";\nimport { StagePanelState } from \"../stagepanels/StagePanelState\";\n\n/** Properties of a [[WidgetPanelProps]] component\n * @public\n */\nexport type WidgetPanelProps = Omit<\n StagePanelConfig,\n \"widgets\" | \"runtimeProps\" | \"header\" | \"allowedZones\" | \"panelZones\"\n>;\n\n/**\n * Props for [[StandardFrontstageProvider]]\n * @public\n */\nexport interface StandardFrontstageProps {\n /* unique stage id. To ensure uniqueness it is common practice to format id like `appName:stageId` */\n id: string;\n /* version id that is used to store state of stage */\n version?: number;\n // Usage of stage. To allow generic UiItemProvides to populate this stage set to `StageUsage.General`.\n usage: StageUsage | string;\n /** The defaultTool is is started when then frontstage loads and whenever any other tools exit.\n * Most of the time, this is the Element Selection Tool (SelectionTool.toolId).\n * Your app can specify its own tool or another core tool as default with this property.\n */\n defaultTool?: string;\n /** Definition of available content groups or a function that provides them */\n contentGroupProps: ContentGroupProps | ContentGroupProvider;\n /** Specify button to use to open backstage. Leave undefined for no backstage button.\n * ```\n * <BackstageAppButton icon={<SvgBentleySystems />} />\n * ```\n * Custom corner button definition\n * ```\n * const cornerButton = <BackstageAppButton icon={<SvgBentleySystems />}\n * label=\"Toggle Backstage display\",\n * execute={() => UiFramework.backstage.getBackstageToggleCommand().execute()} />;\n * ```\n */\n cornerButton?: React.ReactNode;\n /** Set to true if default Navigation aid is not desired */\n hideNavigationAid?: boolean;\n /** Set to true if no tool setting dock is needed. Typically only used in modal stages. */\n hideToolSettings?: boolean;\n /** Set to true if no status bar is needed in stage */\n hideStatusBar?: boolean;\n /** Props used to set initial size and state of panel. Defaults to:\n * {size: 300, pinned=false, defaultState:StagePanelState.Minimized} */\n leftPanelProps?: WidgetPanelProps;\n /** Props used to set initial size and state of panel. Defaults to:\n * {size: 90, pinned=false, defaultState:StagePanelState.Minimized} */\n topPanelProps?: WidgetPanelProps;\n /** Props used to set initial size and state of panel. Defaults to:\n * {size: 200, pinned=true, defaultState:StagePanelState.Open} */\n rightPanelProps?: WidgetPanelProps;\n /** Props used to set initial size and state of panel. Defaults to:\n * {size: 180, pinned=true, defaultState:StagePanelState.Open} */\n bottomPanelProps?: WidgetPanelProps;\n}\n\n/**\n * FrontstageProvider that provides an \"empty\" stage. All tool buttons, statusbar items, and widgets must\n * be provided by one or more item providers, see [[UiItemsProvider]].\n * @public\n */\nexport class StandardFrontstageProvider extends FrontstageProvider {\n constructor(private props: StandardFrontstageProps) {\n super();\n }\n\n public override get id(): string {\n return this.props.id;\n }\n\n public override frontstageConfig(): FrontstageConfig {\n const contentGroup =\n this.props.contentGroupProps instanceof ContentGroupProvider\n ? this.props.contentGroupProps\n : new ContentGroup(this.props.contentGroupProps);\n return {\n id: this.props.id,\n version: this.props.version ?? 1.0,\n contentGroup,\n usage: this.props.usage,\n defaultTool: this.props.defaultTool,\n contentManipulation: {\n id: `${this.props.id}-contentManipulationTools`,\n content: (\n <ContentToolWidgetComposer cornerButton={this.props.cornerButton} />\n ),\n },\n viewNavigation: {\n id: `${this.props.id}-viewNavigationTools`,\n content: (\n <ViewToolWidgetComposer\n hideNavigationAid={this.props.hideNavigationAid}\n />\n ),\n },\n toolSettings: this.props.hideToolSettings\n ? undefined\n : {\n id: `${this.props.id}-toolSettings`,\n },\n statusBar: this.props.hideStatusBar\n ? undefined\n : {\n id: `${this.props.id}-statusBar`,\n content: <StatusBarComposer items={[]} />,\n },\n leftPanel: {\n size: 300,\n pinned: false,\n defaultState: StagePanelState.Minimized,\n ...this.props.leftPanelProps,\n },\n topPanel: {\n size: 90,\n pinned: false,\n defaultState: StagePanelState.Minimized,\n ...this.props.topPanelProps,\n },\n rightPanel: {\n defaultState: StagePanelState.Open,\n ...this.props.rightPanelProps,\n },\n bottomPanel: {\n size: 180,\n defaultState: StagePanelState.Open,\n ...this.props.bottomPanelProps,\n },\n };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardShortcut.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/keyboardshortcut/KeyboardShortcut.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AA4CrF;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,KAAK,CAAC,CAAsB;IACpC,OAAO,CAAC,UAAU,CAA4B;IAE9C,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,aAAa,CAAkB;gBAE3B,KAAK,EAAE,qBAAqB;IAwCxC,uCAAuC;IACvC,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED,qCAAqC;IACrC,IAAW,iBAAiB,IAAI,yBAAyB,CAExD;IAED,oEAAoE;IAC7D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIhE,wDAAwD;IACxD,IAAW,SAAS,IAAI,MAAM,CAQ7B;IAED,wEAAwE;IACxE,IAAW,IAAI,IAAI,mBAAmB,GAAG,SAAS,CAEjD;IAED,uFAAuF;IAChF,UAAU,IAAI,IAAI;IAWzB,4BAA4B;IAC5B,IAAW,GAAG,IAAI,MAAM,CAEvB;IACD,yCAAyC;IACzC,IAAW,gBAAgB,IAAI,OAAO,CAErC;IACD,0CAA0C;IAC1C,IAAW,iBAAiB,IAAI,OAAO,CAEtC;IACD,2CAA2C;IAC3C,IAAW,kBAAkB,IAAI,OAAO,CAEvC;IACD,2CAA2C;IAC3C,IAAW,aAAa,IAAI,OAAO,CAElC;IACD,0CAA0C;IAC1C,IAAW,YAAY,IAAI,OAAO,CAEjC;CACF;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,OAAO,CAGX;IACJ,OAAO,CAAC,SAAS,CAAqD;IAEtE,oFAAoF;IAC7E,WAAW,CAChB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,gBAAgB,GAC3B,gBAAgB,GAAG,SAAS;IAuB/B,4DAA4D;IACrD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI/D,2EAA2E;IACpE,6BAA6B,IAAI,OAAO;IAI/C,yDAAyD;IAClD,SAAS,IAAI,IAAI;IAKjB,6BAA6B,IAAI,gBAAgB,EAAE;IAI1D,4FAA4F;WAC9E,iBAAiB,CAC7B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,OAAO,EACzB,iBAAiB,EAAE,OAAO,EAC1B,kBAAkB,EAAE,OAAO,GAC1B,MAAM;IAUT,mEAAmE;IAC5D,iBAAiB;CASzB"}
1
+ {"version":3,"file":"KeyboardShortcut.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/keyboardshortcut/KeyboardShortcut.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AA4CrF;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,KAAK,CAAC,CAAsB;IACpC,OAAO,CAAC,UAAU,CAA4B;IAE9C,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,aAAa,CAAkB;gBAE3B,KAAK,EAAE,qBAAqB;IAyCxC,uCAAuC;IACvC,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED,qCAAqC;IACrC,IAAW,iBAAiB,IAAI,yBAAyB,CAExD;IAED,oEAAoE;IAC7D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIhE,wDAAwD;IACxD,IAAW,SAAS,IAAI,MAAM,CAQ7B;IAED,wEAAwE;IACxE,IAAW,IAAI,IAAI,mBAAmB,GAAG,SAAS,CAEjD;IAED,uFAAuF;IAChF,UAAU,IAAI,IAAI;IAWzB,4BAA4B;IAC5B,IAAW,GAAG,IAAI,MAAM,CAEvB;IACD,yCAAyC;IACzC,IAAW,gBAAgB,IAAI,OAAO,CAErC;IACD,0CAA0C;IAC1C,IAAW,iBAAiB,IAAI,OAAO,CAEtC;IACD,2CAA2C;IAC3C,IAAW,kBAAkB,IAAI,OAAO,CAEvC;IACD,2CAA2C;IAC3C,IAAW,aAAa,IAAI,OAAO,CAElC;IACD,0CAA0C;IAC1C,IAAW,YAAY,IAAI,OAAO,CAEjC;CACF;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,OAAO,CAGX;IACJ,OAAO,CAAC,SAAS,CAAqD;IAEtE,oFAAoF;IAC7E,WAAW,CAChB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,gBAAgB,GAC3B,gBAAgB,GAAG,SAAS;IAuB/B,4DAA4D;IACrD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI/D,2EAA2E;IACpE,6BAA6B,IAAI,OAAO;IAI/C,yDAAyD;IAClD,SAAS,IAAI,IAAI;IAKjB,6BAA6B,IAAI,gBAAgB,EAAE;IAI1D,4FAA4F;WAC9E,iBAAiB,CAC7B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,OAAO,EACzB,iBAAiB,EAAE,OAAO,EAC1B,kBAAkB,EAAE,OAAO,GAC1B,MAAM;IAUT,mEAAmE;IAC5D,iBAAiB;CASzB"}
@@ -87,6 +87,7 @@ export class KeyboardShortcut extends ItemDefBase {
87
87
  });
88
88
  }
89
89
  else {
90
+ // eslint-disable-next-line deprecation/deprecation
90
91
  throw new UiError(UiFramework.loggerCategory(this), `Either 'item' or 'shortcuts' must be specified for '${props.key}' key.`);
91
92
  }
92
93
  if (props.isAltKeyRequired !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardShortcut.js","sourceRoot":"","sources":["../../../../src/appui-react/keyboardshortcut/KeyboardShortcut.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 KeyboardShortcut\n */\n\nimport { UiError } from \"@itwin/appui-abstract\";\nimport type { ActionButtonItemDef } from \"../shared/ActionButtonItemDef\";\nimport { ItemDefBase } from \"../shared/ItemDefBase\";\nimport type { KeyboardShortcutProps } from \"../framework/FrameworkKeyboardShortcuts\";\nimport { UiFramework } from \"../UiFramework\";\nimport { KeyboardShortcutMenu } from \"./KeyboardShortcutMenu\";\n\nenum FunctionKey {\n F1 = \"F1\",\n F2 = \"F2\",\n F3 = \"F3\",\n F4 = \"F4\",\n F5 = \"F5\",\n F6 = \"F6\",\n F7 = \"F7\",\n F8 = \"F8\",\n F9 = \"F9\",\n F10 = \"F10\",\n F11 = \"F11\",\n F12 = \"F12\",\n}\n\nenum SpecialKey {\n Home = \"Home\",\n End = \"End\",\n PageUp = \"PageUp\",\n PageDown = \"PageDown\",\n Escape = \"Escape\",\n Delete = \"Delete\",\n Insert = \"Insert\",\n Tab = \"Tab\",\n ArrowLeft = \"ArrowLeft\",\n ArrowRight = \"ArrowRight\",\n ArrowUp = \"ArrowUp\",\n ArrowDown = \"ArrowDown\",\n Enter = \"Enter\",\n Return = \"Enter\",\n Space = \" \",\n Backspace = \"Backspace\",\n Clear = \"Clear\",\n Divide = \"Divide\",\n Multiply = \"Multiply\",\n Subtract = \"Subtract\",\n Add = \"Add\",\n Decimal = \"Decimal\",\n}\n\n/** Keyboard Shortcut used to execute an action\n * @public\n */\nexport class KeyboardShortcut extends ItemDefBase {\n private _key: string;\n private _item?: ActionButtonItemDef;\n private _shortcuts: KeyboardShortcutContainer;\n\n private _isAltKeyRequired: boolean = false;\n private _isCtrlKeyRequired: boolean = false;\n private _isShiftKeyRequired: boolean = false;\n private _isFunctionKey: boolean = false;\n private _isSpecialKey: boolean = false;\n\n constructor(props: KeyboardShortcutProps) {\n super(props);\n\n this._key = props.key;\n\n if (this._key in FunctionKey) this._isFunctionKey = true;\n if (this._key in SpecialKey) this._isSpecialKey = true;\n\n this._shortcuts = new KeyboardShortcutContainer();\n\n if (props.item) {\n this._item = props.item;\n\n // Copy over icon, label & tooltip from the item\n if (!this.iconSpec) this.iconSpec = this._item.iconSpec;\n if (!this.label) this.setLabel(this._item.label);\n if (!this.tooltip) this.setTooltip(this._item.tooltip);\n if (this.isDisabled === undefined)\n this.isDisabled = this._item.isDisabled;\n if (this.isHidden === undefined) this.isHidden = this._item.isHidden;\n } else if (props.shortcuts) {\n props.shortcuts.forEach((childProps: KeyboardShortcutProps) => {\n const shortcut = new KeyboardShortcut(childProps);\n this._shortcuts.registerKey(shortcut.keyMapKey, shortcut);\n });\n } else {\n throw new UiError(\n UiFramework.loggerCategory(this),\n `Either 'item' or 'shortcuts' must be specified for '${props.key}' key.`\n );\n }\n\n if (props.isAltKeyRequired !== undefined)\n this._isAltKeyRequired = props.isAltKeyRequired;\n if (props.isCtrlKeyRequired !== undefined)\n this._isCtrlKeyRequired = props.isCtrlKeyRequired;\n if (props.isShiftKeyRequired !== undefined)\n this._isShiftKeyRequired = props.isShiftKeyRequired;\n }\n\n /** Returns the id for this shortcut */\n public get id(): string {\n return this.keyMapKey;\n }\n\n /** Returns the shortcut container */\n public get shortcutContainer(): KeyboardShortcutContainer {\n return this._shortcuts;\n }\n\n /** Finds a shortcut with a given key in the shortcut's container */\n public getShortcut(mapKey: string): KeyboardShortcut | undefined {\n return this._shortcuts.findKey(mapKey);\n }\n\n /** Returns the shortcut's key map key used as the id */\n public get keyMapKey(): string {\n const keyMapKey = KeyboardShortcutContainer.generateKeyMapKey(\n this.key,\n this._isAltKeyRequired,\n this._isCtrlKeyRequired,\n this._isShiftKeyRequired\n );\n return keyMapKey;\n }\n\n /** Returns the [[ActionButtonItemDef]] associated with this shortcut */\n public get item(): ActionButtonItemDef | undefined {\n return this._item;\n }\n\n /** Called when the [[ActionButtonItemDef]] associated with this shortcut is invoked */\n public itemPicked(): void {\n if (this._shortcuts.areKeyboardShortcutsAvailable()) {\n this._shortcuts.showShortcutsMenu();\n } else {\n setTimeout(() => {\n // istanbul ignore else\n if (this._item) this._item.execute();\n });\n }\n }\n\n /** Gets the keyboard key */\n public get key(): string {\n return this._key;\n }\n /** Gets whether the Alt key required. */\n public get isAltKeyRequired(): boolean {\n return this._isAltKeyRequired;\n }\n /** Gets whether the Ctrl key required. */\n public get isCtrlKeyRequired(): boolean {\n return this._isCtrlKeyRequired;\n }\n /** Gets whether the Shift key required. */\n public get isShiftKeyRequired(): boolean {\n return this._isShiftKeyRequired;\n }\n /** Gets whether this is a Function key. */\n public get isFunctionKey(): boolean {\n return this._isFunctionKey;\n }\n /** Gets whether this is a Special key. */\n public get isSpecialKey(): boolean {\n return this._isSpecialKey;\n }\n}\n\n/** Keyboard Shortcut Container\n * @public\n */\nexport class KeyboardShortcutContainer {\n private _keyMap: Map<string, KeyboardShortcut> = new Map<\n string,\n KeyboardShortcut\n >();\n private _keyArray: KeyboardShortcut[] = new Array<KeyboardShortcut>();\n\n /** Registers a Keyboard Shortcut associated with a given key in the managed list */\n public registerKey(\n keyMapKey: string,\n inShortcut: KeyboardShortcut\n ): KeyboardShortcut | undefined {\n let shortcut: KeyboardShortcut | undefined;\n\n if ((shortcut = this.findKey(keyMapKey)) === undefined) {\n shortcut = inShortcut;\n this._keyArray.push(shortcut);\n } else {\n const index = this._keyArray.findIndex((value: KeyboardShortcut) => {\n return value.keyMapKey === keyMapKey;\n });\n // istanbul ignore else\n if (index >= 0) {\n shortcut = inShortcut;\n this._keyArray[index] = shortcut;\n }\n }\n\n // istanbul ignore else\n if (shortcut) this._keyMap.set(keyMapKey, shortcut);\n\n return shortcut;\n }\n\n /** Finds a Keyboard Shortcut associated with a given key */\n public findKey(keyMapKey: string): KeyboardShortcut | undefined {\n return this._keyMap.get(keyMapKey);\n }\n\n /** Determines if any Keyboard Shortcuts are available in this container */\n public areKeyboardShortcutsAvailable(): boolean {\n return this._keyMap.size !== 0;\n }\n\n /** Empties any Keyboard Shortcuts from this container */\n public emptyData(): void {\n this._keyMap.clear();\n this._keyArray.length = 0;\n }\n\n public getAvailableKeyboardShortcuts(): KeyboardShortcut[] {\n return this._keyArray.slice();\n }\n\n /** Generates a key used for storing and finding the Keyboard Shortcuts in this container */\n public static generateKeyMapKey(\n keyboardKey: string,\n isAltKeyRequired: boolean,\n isCtrlKeyRequired: boolean,\n isShiftKeyRequired: boolean\n ): string {\n let keyMapKey = keyboardKey;\n\n if (isAltKeyRequired) keyMapKey = `Alt+${keyMapKey}`;\n if (isShiftKeyRequired) keyMapKey = `Shift+${keyMapKey}`;\n if (isCtrlKeyRequired) keyMapKey = `Ctrl+${keyMapKey}`;\n\n return keyMapKey;\n }\n\n /** Displays a menu for the Keyboard Shortcuts in this container */\n public showShortcutsMenu() {\n const offset = 8;\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.emit({\n menuVisible: true,\n menuX: UiFramework.keyboardShortcuts.cursorX - offset,\n menuY: UiFramework.keyboardShortcuts.cursorY - offset,\n shortcuts: this.getAvailableKeyboardShortcuts(),\n });\n }\n}\n"]}
1
+ {"version":3,"file":"KeyboardShortcut.js","sourceRoot":"","sources":["../../../../src/appui-react/keyboardshortcut/KeyboardShortcut.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 KeyboardShortcut\n */\n\nimport { UiError } from \"@itwin/appui-abstract\";\nimport type { ActionButtonItemDef } from \"../shared/ActionButtonItemDef\";\nimport { ItemDefBase } from \"../shared/ItemDefBase\";\nimport type { KeyboardShortcutProps } from \"../framework/FrameworkKeyboardShortcuts\";\nimport { UiFramework } from \"../UiFramework\";\nimport { KeyboardShortcutMenu } from \"./KeyboardShortcutMenu\";\n\nenum FunctionKey {\n F1 = \"F1\",\n F2 = \"F2\",\n F3 = \"F3\",\n F4 = \"F4\",\n F5 = \"F5\",\n F6 = \"F6\",\n F7 = \"F7\",\n F8 = \"F8\",\n F9 = \"F9\",\n F10 = \"F10\",\n F11 = \"F11\",\n F12 = \"F12\",\n}\n\nenum SpecialKey {\n Home = \"Home\",\n End = \"End\",\n PageUp = \"PageUp\",\n PageDown = \"PageDown\",\n Escape = \"Escape\",\n Delete = \"Delete\",\n Insert = \"Insert\",\n Tab = \"Tab\",\n ArrowLeft = \"ArrowLeft\",\n ArrowRight = \"ArrowRight\",\n ArrowUp = \"ArrowUp\",\n ArrowDown = \"ArrowDown\",\n Enter = \"Enter\",\n Return = \"Enter\",\n Space = \" \",\n Backspace = \"Backspace\",\n Clear = \"Clear\",\n Divide = \"Divide\",\n Multiply = \"Multiply\",\n Subtract = \"Subtract\",\n Add = \"Add\",\n Decimal = \"Decimal\",\n}\n\n/** Keyboard Shortcut used to execute an action\n * @public\n */\nexport class KeyboardShortcut extends ItemDefBase {\n private _key: string;\n private _item?: ActionButtonItemDef;\n private _shortcuts: KeyboardShortcutContainer;\n\n private _isAltKeyRequired: boolean = false;\n private _isCtrlKeyRequired: boolean = false;\n private _isShiftKeyRequired: boolean = false;\n private _isFunctionKey: boolean = false;\n private _isSpecialKey: boolean = false;\n\n constructor(props: KeyboardShortcutProps) {\n super(props);\n\n this._key = props.key;\n\n if (this._key in FunctionKey) this._isFunctionKey = true;\n if (this._key in SpecialKey) this._isSpecialKey = true;\n\n this._shortcuts = new KeyboardShortcutContainer();\n\n if (props.item) {\n this._item = props.item;\n\n // Copy over icon, label & tooltip from the item\n if (!this.iconSpec) this.iconSpec = this._item.iconSpec;\n if (!this.label) this.setLabel(this._item.label);\n if (!this.tooltip) this.setTooltip(this._item.tooltip);\n if (this.isDisabled === undefined)\n this.isDisabled = this._item.isDisabled;\n if (this.isHidden === undefined) this.isHidden = this._item.isHidden;\n } else if (props.shortcuts) {\n props.shortcuts.forEach((childProps: KeyboardShortcutProps) => {\n const shortcut = new KeyboardShortcut(childProps);\n this._shortcuts.registerKey(shortcut.keyMapKey, shortcut);\n });\n } else {\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n UiFramework.loggerCategory(this),\n `Either 'item' or 'shortcuts' must be specified for '${props.key}' key.`\n );\n }\n\n if (props.isAltKeyRequired !== undefined)\n this._isAltKeyRequired = props.isAltKeyRequired;\n if (props.isCtrlKeyRequired !== undefined)\n this._isCtrlKeyRequired = props.isCtrlKeyRequired;\n if (props.isShiftKeyRequired !== undefined)\n this._isShiftKeyRequired = props.isShiftKeyRequired;\n }\n\n /** Returns the id for this shortcut */\n public get id(): string {\n return this.keyMapKey;\n }\n\n /** Returns the shortcut container */\n public get shortcutContainer(): KeyboardShortcutContainer {\n return this._shortcuts;\n }\n\n /** Finds a shortcut with a given key in the shortcut's container */\n public getShortcut(mapKey: string): KeyboardShortcut | undefined {\n return this._shortcuts.findKey(mapKey);\n }\n\n /** Returns the shortcut's key map key used as the id */\n public get keyMapKey(): string {\n const keyMapKey = KeyboardShortcutContainer.generateKeyMapKey(\n this.key,\n this._isAltKeyRequired,\n this._isCtrlKeyRequired,\n this._isShiftKeyRequired\n );\n return keyMapKey;\n }\n\n /** Returns the [[ActionButtonItemDef]] associated with this shortcut */\n public get item(): ActionButtonItemDef | undefined {\n return this._item;\n }\n\n /** Called when the [[ActionButtonItemDef]] associated with this shortcut is invoked */\n public itemPicked(): void {\n if (this._shortcuts.areKeyboardShortcutsAvailable()) {\n this._shortcuts.showShortcutsMenu();\n } else {\n setTimeout(() => {\n // istanbul ignore else\n if (this._item) this._item.execute();\n });\n }\n }\n\n /** Gets the keyboard key */\n public get key(): string {\n return this._key;\n }\n /** Gets whether the Alt key required. */\n public get isAltKeyRequired(): boolean {\n return this._isAltKeyRequired;\n }\n /** Gets whether the Ctrl key required. */\n public get isCtrlKeyRequired(): boolean {\n return this._isCtrlKeyRequired;\n }\n /** Gets whether the Shift key required. */\n public get isShiftKeyRequired(): boolean {\n return this._isShiftKeyRequired;\n }\n /** Gets whether this is a Function key. */\n public get isFunctionKey(): boolean {\n return this._isFunctionKey;\n }\n /** Gets whether this is a Special key. */\n public get isSpecialKey(): boolean {\n return this._isSpecialKey;\n }\n}\n\n/** Keyboard Shortcut Container\n * @public\n */\nexport class KeyboardShortcutContainer {\n private _keyMap: Map<string, KeyboardShortcut> = new Map<\n string,\n KeyboardShortcut\n >();\n private _keyArray: KeyboardShortcut[] = new Array<KeyboardShortcut>();\n\n /** Registers a Keyboard Shortcut associated with a given key in the managed list */\n public registerKey(\n keyMapKey: string,\n inShortcut: KeyboardShortcut\n ): KeyboardShortcut | undefined {\n let shortcut: KeyboardShortcut | undefined;\n\n if ((shortcut = this.findKey(keyMapKey)) === undefined) {\n shortcut = inShortcut;\n this._keyArray.push(shortcut);\n } else {\n const index = this._keyArray.findIndex((value: KeyboardShortcut) => {\n return value.keyMapKey === keyMapKey;\n });\n // istanbul ignore else\n if (index >= 0) {\n shortcut = inShortcut;\n this._keyArray[index] = shortcut;\n }\n }\n\n // istanbul ignore else\n if (shortcut) this._keyMap.set(keyMapKey, shortcut);\n\n return shortcut;\n }\n\n /** Finds a Keyboard Shortcut associated with a given key */\n public findKey(keyMapKey: string): KeyboardShortcut | undefined {\n return this._keyMap.get(keyMapKey);\n }\n\n /** Determines if any Keyboard Shortcuts are available in this container */\n public areKeyboardShortcutsAvailable(): boolean {\n return this._keyMap.size !== 0;\n }\n\n /** Empties any Keyboard Shortcuts from this container */\n public emptyData(): void {\n this._keyMap.clear();\n this._keyArray.length = 0;\n }\n\n public getAvailableKeyboardShortcuts(): KeyboardShortcut[] {\n return this._keyArray.slice();\n }\n\n /** Generates a key used for storing and finding the Keyboard Shortcuts in this container */\n public static generateKeyMapKey(\n keyboardKey: string,\n isAltKeyRequired: boolean,\n isCtrlKeyRequired: boolean,\n isShiftKeyRequired: boolean\n ): string {\n let keyMapKey = keyboardKey;\n\n if (isAltKeyRequired) keyMapKey = `Alt+${keyMapKey}`;\n if (isShiftKeyRequired) keyMapKey = `Shift+${keyMapKey}`;\n if (isCtrlKeyRequired) keyMapKey = `Ctrl+${keyMapKey}`;\n\n return keyMapKey;\n }\n\n /** Displays a menu for the Keyboard Shortcuts in this container */\n public showShortcutsMenu() {\n const offset = 8;\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.emit({\n menuVisible: true,\n menuX: UiFramework.keyboardShortcuts.cursorX - offset,\n menuY: UiFramework.keyboardShortcuts.cursorY - offset,\n shortcuts: this.getAvailableKeyboardShortcuts(),\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardShortcutMenu.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/keyboardshortcut/KeyboardShortcutMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAA2B,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,OAAO,CAAC,yBAAyB,CAAC;CAAG;AAEpF;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK,CAAC,aAAa,CAC3D,WAAW,EACX,yBAAyB,CAC1B;IACC,gBAAgB;IAChB,SAAyB,KAAK,EAAE,yBAAyB,CAIvD;IAEF,uCAAuC;IACvC,gBAAuB,2BAA2B,4BAChB;IAElB,iBAAiB;IAMjB,oBAAoB;IAMpC,OAAO,CAAC,gCAAgC,CAItC;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;IA6BzC,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,mBAAmB;IAsD3B,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,WAAW,CAGjB;CACH"}
1
+ {"version":3,"file":"KeyboardShortcutMenu.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/keyboardshortcut/KeyboardShortcutMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAA2B,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED;;GAEG;AAEH,qBAAa,yBAA0B,SAAQ,OAAO,CAAC,yBAAyB,CAAC;CAAG;AAEpF;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK,CAAC,aAAa,CAC3D,WAAW,EACX,yBAAyB,CAC1B;IACC,gBAAgB;IAChB,SAAyB,KAAK,EAAE,yBAAyB,CAIvD;IAEF,uCAAuC;IACvC,gBAAuB,2BAA2B,4BAChB;IAElB,iBAAiB;IAMjB,oBAAoB;IAMpC,OAAO,CAAC,gCAAgC,CAItC;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;IA6BzC,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,mBAAmB;IAsD3B,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,WAAW,CAGjB;CACH"}
@@ -11,6 +11,7 @@ import { ConditionalBooleanValue, UiEvent } from "@itwin/appui-abstract";
11
11
  /** KeyboardShortcut Menu Event class.
12
12
  * @public
13
13
  */
14
+ // eslint-disable-next-line deprecation/deprecation
14
15
  export class KeyboardShortcutMenuEvent extends UiEvent {
15
16
  }
16
17
  /** React component that displays a context menu at the cursor containing keyboard shortcuts.
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardShortcutMenu.js","sourceRoot":"","sources":["../../../../src/appui-react/keyboardshortcut/KeyboardShortcutMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module KeyboardShortcut\n */\n\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport {\n ContextMenuItem,\n ContextSubMenu,\n GlobalContextMenu,\n} from \"@itwin/core-react\";\nimport type { KeyboardShortcut } from \"./KeyboardShortcut\";\nimport { ConditionalBooleanValue, UiEvent } from \"@itwin/appui-abstract\";\n\n/** State for a [[KeyboardShortcutMenuEvent]] and [[KeyboardShortcutMenu]] component\n * @public\n */\nexport interface KeyboardShortcutMenuState {\n menuVisible: boolean;\n menuX: number;\n menuY: number;\n shortcuts?: KeyboardShortcut[];\n}\n\n/** KeyboardShortcut Menu Event class.\n * @public\n */\nexport class KeyboardShortcutMenuEvent extends UiEvent<KeyboardShortcutMenuState> {}\n\n/** React component that displays a context menu at the cursor containing keyboard shortcuts.\n * @public\n */\nexport class KeyboardShortcutMenu extends React.PureComponent<\n CommonProps,\n KeyboardShortcutMenuState\n> {\n /** @internal */\n public override readonly state: KeyboardShortcutMenuState = {\n menuVisible: false,\n menuX: 0,\n menuY: 0,\n };\n\n /** Get KeyboardShortcut Menu Event. */\n public static readonly onKeyboardShortcutMenuEvent =\n new KeyboardShortcutMenuEvent();\n\n public override componentDidMount() {\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.addListener(\n this._handleKeyboardShortcutMenuEvent\n );\n }\n\n public override componentWillUnmount() {\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.removeListener(\n this._handleKeyboardShortcutMenuEvent\n );\n }\n\n private _handleKeyboardShortcutMenuEvent = (\n state: KeyboardShortcutMenuState\n ) => {\n this.setState(state);\n };\n\n public override render(): React.ReactNode {\n const { shortcuts, menuX, menuY, menuVisible } = this.state;\n const onClose = this._hideContextMenu;\n\n if (menuVisible) {\n const items = this.getShortcutMenuItems(shortcuts);\n\n return (\n <GlobalContextMenu\n className={this.props.className}\n style={this.props.style}\n identifier=\"keyboard-shortcuts\"\n x={menuX}\n y={menuY}\n opened={menuVisible}\n onEsc={onClose}\n onOutsideClick={onClose}\n edgeLimit={false}\n autoflip={true}\n ignoreNextKeyUp={true} // Executing the shortcut on the keydown, so ignore the keyup in the menu\n >\n {items}\n </GlobalContextMenu>\n );\n }\n\n return null;\n }\n\n private getShortcutMenuItems(\n shortcuts?: KeyboardShortcut[]\n ): React.ReactNode[] {\n const items: React.ReactNode[] = [];\n\n // istanbul ignore else\n if (shortcuts) {\n shortcuts.forEach((shortcut: KeyboardShortcut, index: number) => {\n const item = this.getShortcutMenuItem(shortcut, index);\n // istanbul ignore else\n if (item) items.push(item);\n });\n }\n\n return items;\n }\n\n private getShortcutMenuItem(\n shortcut: KeyboardShortcut,\n index: number\n ): React.ReactNode {\n const shortcutKey = shortcut.key;\n const isHidden = ConditionalBooleanValue.getValue(shortcut.isHidden);\n\n // Only pure characters go into the context menu\n if (\n shortcutKey !== shortcut.keyMapKey ||\n shortcut.isFunctionKey ||\n shortcut.isSpecialKey ||\n isHidden\n )\n return null;\n\n let node: React.ReactNode = null;\n let label = shortcut.label;\n const iconSpec = shortcut.iconSpec;\n\n label = `~${shortcutKey.toLocaleUpperCase()} ${label}`;\n\n if (shortcut.shortcutContainer.areKeyboardShortcutsAvailable()) {\n const shortcuts =\n shortcut.shortcutContainer.getAvailableKeyboardShortcuts();\n const items = this.getShortcutMenuItems(shortcuts);\n\n node = (\n <ContextSubMenu\n key={index}\n icon={iconSpec}\n label={label}\n disabled={shortcut.isDisabled}\n >\n {items}\n </ContextSubMenu>\n );\n } else {\n const sel = () => this._itemPicked(shortcut);\n node = (\n <ContextMenuItem\n key={index}\n onSelect={sel}\n icon={iconSpec}\n disabled={shortcut.isDisabled}\n >\n {label}\n </ContextMenuItem>\n );\n }\n\n return node;\n }\n\n private _hideContextMenu = () => {\n this.setState({ menuVisible: false, shortcuts: undefined });\n };\n\n private _itemPicked = (shortcut: KeyboardShortcut): void => {\n this._hideContextMenu();\n shortcut.itemPicked();\n };\n}\n"]}
1
+ {"version":3,"file":"KeyboardShortcutMenu.js","sourceRoot":"","sources":["../../../../src/appui-react/keyboardshortcut/KeyboardShortcutMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module KeyboardShortcut\n */\n\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport {\n ContextMenuItem,\n ContextSubMenu,\n GlobalContextMenu,\n} from \"@itwin/core-react\";\nimport type { KeyboardShortcut } from \"./KeyboardShortcut\";\nimport { ConditionalBooleanValue, UiEvent } from \"@itwin/appui-abstract\";\n\n/** State for a [[KeyboardShortcutMenuEvent]] and [[KeyboardShortcutMenu]] component\n * @public\n */\nexport interface KeyboardShortcutMenuState {\n menuVisible: boolean;\n menuX: number;\n menuY: number;\n shortcuts?: KeyboardShortcut[];\n}\n\n/** KeyboardShortcut Menu Event class.\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class KeyboardShortcutMenuEvent extends UiEvent<KeyboardShortcutMenuState> {}\n\n/** React component that displays a context menu at the cursor containing keyboard shortcuts.\n * @public\n */\nexport class KeyboardShortcutMenu extends React.PureComponent<\n CommonProps,\n KeyboardShortcutMenuState\n> {\n /** @internal */\n public override readonly state: KeyboardShortcutMenuState = {\n menuVisible: false,\n menuX: 0,\n menuY: 0,\n };\n\n /** Get KeyboardShortcut Menu Event. */\n public static readonly onKeyboardShortcutMenuEvent =\n new KeyboardShortcutMenuEvent();\n\n public override componentDidMount() {\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.addListener(\n this._handleKeyboardShortcutMenuEvent\n );\n }\n\n public override componentWillUnmount() {\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.removeListener(\n this._handleKeyboardShortcutMenuEvent\n );\n }\n\n private _handleKeyboardShortcutMenuEvent = (\n state: KeyboardShortcutMenuState\n ) => {\n this.setState(state);\n };\n\n public override render(): React.ReactNode {\n const { shortcuts, menuX, menuY, menuVisible } = this.state;\n const onClose = this._hideContextMenu;\n\n if (menuVisible) {\n const items = this.getShortcutMenuItems(shortcuts);\n\n return (\n <GlobalContextMenu\n className={this.props.className}\n style={this.props.style}\n identifier=\"keyboard-shortcuts\"\n x={menuX}\n y={menuY}\n opened={menuVisible}\n onEsc={onClose}\n onOutsideClick={onClose}\n edgeLimit={false}\n autoflip={true}\n ignoreNextKeyUp={true} // Executing the shortcut on the keydown, so ignore the keyup in the menu\n >\n {items}\n </GlobalContextMenu>\n );\n }\n\n return null;\n }\n\n private getShortcutMenuItems(\n shortcuts?: KeyboardShortcut[]\n ): React.ReactNode[] {\n const items: React.ReactNode[] = [];\n\n // istanbul ignore else\n if (shortcuts) {\n shortcuts.forEach((shortcut: KeyboardShortcut, index: number) => {\n const item = this.getShortcutMenuItem(shortcut, index);\n // istanbul ignore else\n if (item) items.push(item);\n });\n }\n\n return items;\n }\n\n private getShortcutMenuItem(\n shortcut: KeyboardShortcut,\n index: number\n ): React.ReactNode {\n const shortcutKey = shortcut.key;\n const isHidden = ConditionalBooleanValue.getValue(shortcut.isHidden);\n\n // Only pure characters go into the context menu\n if (\n shortcutKey !== shortcut.keyMapKey ||\n shortcut.isFunctionKey ||\n shortcut.isSpecialKey ||\n isHidden\n )\n return null;\n\n let node: React.ReactNode = null;\n let label = shortcut.label;\n const iconSpec = shortcut.iconSpec;\n\n label = `~${shortcutKey.toLocaleUpperCase()} ${label}`;\n\n if (shortcut.shortcutContainer.areKeyboardShortcutsAvailable()) {\n const shortcuts =\n shortcut.shortcutContainer.getAvailableKeyboardShortcuts();\n const items = this.getShortcutMenuItems(shortcuts);\n\n node = (\n <ContextSubMenu\n key={index}\n icon={iconSpec}\n label={label}\n disabled={shortcut.isDisabled}\n >\n {items}\n </ContextSubMenu>\n );\n } else {\n const sel = () => this._itemPicked(shortcut);\n node = (\n <ContextMenuItem\n key={index}\n onSelect={sel}\n icon={iconSpec}\n disabled={shortcut.isDisabled}\n >\n {label}\n </ContextMenuItem>\n );\n }\n\n return node;\n }\n\n private _hideContextMenu = () => {\n this.setState({ menuVisible: false, shortcuts: undefined });\n };\n\n private _itemPicked = (shortcut: KeyboardShortcut): void => {\n this._hideContextMenu();\n shortcut.itemPicked();\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"InputField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/messages/InputField.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAM7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAQrE;;GAEG;AACH,UAAU,sBAAsB;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,UAAU,sBAAsB;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,aAAa,CACxD,sBAAsB,EACtB,sBAAsB,CACvB;IACC,SAAyB,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAK9D;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;IA2EzB,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAS5C,OAAO,CAAC,oBAAoB,CAE1B;IAEF,OAAO,CAAC,kCAAkC,CAUxC;IAEF,OAAO,CAAC,oCAAoC,CAE1C;CACH"}
1
+ {"version":3,"file":"InputField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/messages/InputField.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAK7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAQrE;;GAEG;AACH,UAAU,sBAAsB;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,UAAU,sBAAsB;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,aAAa,CACxD,sBAAsB,EACtB,sBAAsB,CACvB;IACC,SAAyB,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAK9D;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;IA2EzB,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAS5C,OAAO,CAAC,oBAAoB,CAE1B;IAEF,OAAO,CAAC,kCAAkC,CAUxC;IAEF,OAAO,CAAC,oCAAoC,CAE1C;CACH"}