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

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 (933) hide show
  1. package/CHANGELOG.md +209 -16
  2. package/LICENSE.md +1 -1
  3. package/README.md +3 -3
  4. package/lib/cjs/appui-react/UiFramework.d.ts +30 -15
  5. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  6. package/lib/cjs/appui-react/UiFramework.js +49 -30
  7. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts +3 -3
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +3 -3
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/Calculator.js +1 -1
  15. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts +4 -4
  17. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +5 -4
  19. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  20. package/lib/cjs/appui-react/backstage/Backstage.d.ts +0 -2
  21. package/lib/cjs/appui-react/backstage/Backstage.d.ts.map +1 -1
  22. package/lib/cjs/appui-react/backstage/Backstage.js.map +1 -1
  23. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts +2 -0
  24. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageComposer.js +26 -8
  26. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  27. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts +2 -2
  28. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +1 -1
  29. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  30. package/lib/cjs/appui-react/backstage/BackstageItemProps.d.ts +3 -3
  31. package/lib/cjs/appui-react/backstage/BackstageItemProps.js +1 -1
  32. package/lib/cjs/appui-react/backstage/BackstageItemProps.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.d.ts +5 -5
  34. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js +3 -3
  35. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  36. package/lib/cjs/appui-react/backstage/CommandLaunch.d.ts +2 -0
  37. package/lib/cjs/appui-react/backstage/CommandLaunch.d.ts.map +1 -1
  38. package/lib/cjs/appui-react/backstage/CommandLaunch.js +1 -0
  39. package/lib/cjs/appui-react/backstage/CommandLaunch.js.map +1 -1
  40. package/lib/cjs/appui-react/backstage/FrontstageLaunch.d.ts +4 -0
  41. package/lib/cjs/appui-react/backstage/FrontstageLaunch.d.ts.map +1 -1
  42. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js +5 -6
  43. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  44. package/lib/cjs/appui-react/backstage/Separator.d.ts +1 -0
  45. package/lib/cjs/appui-react/backstage/Separator.d.ts.map +1 -1
  46. package/lib/cjs/appui-react/backstage/Separator.js +3 -2
  47. package/lib/cjs/appui-react/backstage/Separator.js.map +1 -1
  48. package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts +1 -1
  49. package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
  50. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +3 -4
  51. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  52. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  53. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  54. package/lib/cjs/appui-react/configurableui/state.d.ts +7 -1
  55. package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
  56. package/lib/cjs/appui-react/configurableui/state.js +12 -0
  57. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  58. package/lib/cjs/appui-react/content/ContentControl.d.ts +1 -1
  59. package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
  60. package/lib/cjs/appui-react/content/ContentControl.js +2 -2
  61. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  62. package/lib/cjs/appui-react/content/ContentLayout.d.ts +2 -2
  63. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/content/ContentLayout.js +4 -3
  65. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  66. package/lib/cjs/appui-react/content/ContentViewManager.d.ts +1 -1
  67. package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/content/ContentViewManager.js +3 -3
  69. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  70. package/lib/cjs/appui-react/content/IModelViewport.d.ts +13 -1
  71. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  72. package/lib/cjs/appui-react/content/IModelViewport.js +18 -5
  73. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  74. package/lib/cjs/appui-react/content/{SavedViewLayout.d.ts → StageContentLayout.d.ts} +11 -11
  75. package/lib/cjs/appui-react/content/StageContentLayout.d.ts.map +1 -0
  76. package/lib/cjs/appui-react/content/{SavedViewLayout.js → StageContentLayout.js} +19 -17
  77. package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -0
  78. package/lib/cjs/appui-react/content/{SavedView.d.ts → ViewStateHelper.d.ts} +7 -7
  79. package/lib/cjs/appui-react/content/ViewStateHelper.d.ts.map +1 -0
  80. package/lib/cjs/appui-react/content/{SavedView.js → ViewStateHelper.js} +4 -4
  81. package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -0
  82. package/lib/cjs/appui-react/content/split-pane/Pane.d.ts +21 -0
  83. package/lib/cjs/appui-react/content/split-pane/Pane.d.ts.map +1 -0
  84. package/lib/cjs/appui-react/content/split-pane/Pane.js +43 -0
  85. package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -0
  86. package/lib/cjs/appui-react/content/split-pane/Resizer.d.ts +23 -0
  87. package/lib/cjs/appui-react/content/split-pane/Resizer.d.ts.map +1 -0
  88. package/lib/cjs/appui-react/content/split-pane/Resizer.js +39 -0
  89. package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -0
  90. package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts +70 -0
  91. package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts.map +1 -0
  92. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +243 -0
  93. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -0
  94. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts +1 -2
  95. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  96. package/lib/cjs/appui-react/cursor/CursorInformation.js +1 -1
  97. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  98. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  99. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  100. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +2 -2
  101. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  102. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +3 -3
  103. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  104. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts +1 -1
  105. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  106. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +2 -2
  107. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  108. package/lib/cjs/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  109. package/lib/cjs/appui-react/dialog/StandardMessageBox.js +3 -0
  110. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  111. package/lib/cjs/appui-react/dragdrop/ZoneTargets.d.ts.map +1 -1
  112. package/lib/cjs/appui-react/dragdrop/ZoneTargets.js +8 -4
  113. package/lib/cjs/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  114. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts +2 -2
  115. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  116. package/lib/cjs/appui-react/feedback/ElementTooltip.js +4 -2
  117. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  118. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +1 -0
  119. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  120. package/lib/cjs/appui-react/frontstage/Frontstage.js +32 -13
  121. package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
  122. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts +3 -0
  123. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  124. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js +16 -1
  125. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  126. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +20 -2
  127. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  128. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +164 -3
  129. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  130. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +3 -0
  131. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  132. package/lib/cjs/appui-react/frontstage/FrontstageManager.js +10 -0
  133. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  134. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +6 -0
  135. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  136. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  137. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  138. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  139. package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  140. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  141. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  142. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts +6 -0
  143. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts.map +1 -0
  144. package/lib/cjs/appui-react/hooks/useUiVisibility.js +27 -0
  145. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -0
  146. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +1 -1
  147. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  148. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js +6 -7
  149. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  150. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +3 -3
  151. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  152. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +3 -2
  153. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  154. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -5
  155. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  156. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  157. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +3 -3
  158. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +1 -1
  159. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +81 -68
  161. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  162. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  163. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  164. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
  165. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  166. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +1 -1
  167. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  168. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  169. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  170. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js +3 -2
  171. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  172. package/lib/cjs/appui-react/messages/AppNotificationManager.d.ts +1 -1
  173. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
  174. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  175. package/lib/cjs/appui-react/messages/MessageManager.d.ts +1 -2
  176. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  177. package/lib/cjs/appui-react/messages/MessageManager.js +15 -9
  178. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  179. package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -2
  180. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  181. package/lib/cjs/appui-react/messages/Pointer.js +4 -3
  182. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  183. package/lib/cjs/appui-react/messages/ToastMessage.js +2 -1
  184. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  185. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
  186. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  187. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +2 -2
  188. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  189. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
  190. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  191. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
  192. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  193. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +6 -4
  194. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  195. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +3 -0
  196. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  197. package/lib/cjs/appui-react/pickers/ListPicker.js +24 -9
  198. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  199. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +1 -1
  200. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  201. package/lib/cjs/appui-react/pickers/ViewSelector.js +9 -9
  202. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  203. package/lib/cjs/appui-react/popup/CardPopup.d.ts +7 -4
  204. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  205. package/lib/cjs/appui-react/popup/CardPopup.js +3 -2
  206. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  207. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +3 -2
  208. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  209. package/lib/cjs/appui-react/popup/InputEditorPopup.js +1 -1
  210. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  211. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +6 -6
  212. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  213. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +3 -2
  214. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  215. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +1 -1
  216. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  217. package/lib/cjs/appui-react/popup/PopupManager.d.ts +10 -10
  218. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  219. package/lib/cjs/appui-react/popup/PopupManager.js +4 -4
  220. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  221. package/lib/cjs/appui-react/popup/PositionPopup.d.ts +5 -3
  222. package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
  223. package/lib/cjs/appui-react/popup/PositionPopup.js +3 -2
  224. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  225. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts +3 -2
  226. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  227. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +1 -1
  228. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  229. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +4 -3
  230. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  231. package/lib/cjs/appui-react/popup/ToolbarPopup.js +2 -2
  232. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  233. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  234. package/lib/cjs/appui-react/redux/SessionState.d.ts +0 -6
  235. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  236. package/lib/cjs/appui-react/redux/SessionState.js +0 -8
  237. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  238. package/lib/cjs/appui-react/redux/StateManager.d.ts +1 -1
  239. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  240. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js +7 -7
  241. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  242. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  243. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  244. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  245. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  246. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +28 -19
  247. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  248. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  249. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  250. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  251. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
  252. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  253. package/lib/cjs/appui-react/shared/ItemDefBase.js +1 -1
  254. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  255. package/lib/cjs/appui-react/shared/ItemProps.d.ts +2 -2
  256. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  257. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts +1 -1
  258. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  259. package/lib/cjs/appui-react/shared/ToolItemDef.js +2 -2
  260. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  261. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  262. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js +1 -0
  263. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  264. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts +2 -2
  265. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  266. package/lib/cjs/appui-react/stagepanels/StagePanel.js +1 -0
  267. package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
  268. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +26 -3
  269. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  270. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +26 -6
  271. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  272. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  273. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js +2 -1
  275. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  276. package/lib/cjs/appui-react/statusbar/StatusBar.js +2 -1
  277. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  278. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  279. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +17 -5
  280. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  281. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  282. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  283. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  284. package/lib/cjs/appui-react/statusfields/Indicator.d.ts +15 -14
  285. package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
  286. package/lib/cjs/appui-react/statusfields/Indicator.js +23 -21
  287. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  288. package/lib/cjs/appui-react/statusfields/Indicator.scss +29 -18
  289. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  290. package/lib/cjs/appui-react/statusfields/MessageCenter.js +2 -1
  291. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  292. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts +1 -0
  293. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  294. package/lib/cjs/appui-react/statusfields/SelectionScope.js +6 -4
  295. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  296. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +13 -3
  297. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +2 -10
  298. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  299. package/lib/cjs/appui-react/statusfields/SnapMode.js +4 -34
  300. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  301. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -6
  302. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  303. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +1 -25
  304. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  305. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +7 -7
  306. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  307. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -12
  308. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  309. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -3
  310. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts +2 -2
  311. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts.map +1 -1
  312. package/lib/cjs/appui-react/syncui/BooleanListener.js +2 -1
  313. package/lib/cjs/appui-react/syncui/BooleanListener.js.map +1 -1
  314. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts +8 -18
  315. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  316. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +30 -103
  317. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  318. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js +2 -1
  319. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  320. package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  321. package/lib/cjs/appui-react/toolbar/ActionItemButton.js +2 -1
  322. package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
  323. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js +24 -20
  324. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  325. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  326. package/lib/cjs/appui-react/toolbar/GroupItem.js +33 -29
  327. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  328. package/lib/cjs/appui-react/toolbar/ToolButton.js +3 -2
  329. package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
  330. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  331. package/lib/cjs/appui-react/toolbar/Toolbar.js +3 -2
  332. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  333. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  334. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +22 -20
  335. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  336. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  337. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +4 -4
  338. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  339. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.d.ts +2 -2
  340. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js +2 -2
  341. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  342. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +8 -10
  343. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  344. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +17 -36
  345. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  346. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +7 -9
  347. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  348. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +12 -20
  349. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  350. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +7 -9
  351. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  352. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +39 -50
  353. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  354. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +7 -4
  355. package/lib/{esm/appui-react/uisettings → cjs/appui-react/uistate}/AppUiSettings.d.ts +9 -7
  356. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -0
  357. package/lib/cjs/appui-react/{uisettings → uistate}/AppUiSettings.js +12 -8
  358. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -0
  359. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts +15 -0
  360. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -0
  361. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js +62 -0
  362. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js.map +1 -0
  363. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts +20 -0
  364. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -0
  365. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +38 -0
  366. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -0
  367. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts +5 -5
  368. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  369. package/lib/cjs/appui-react/utils/UiShowHideManager.js +8 -8
  370. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  371. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  372. package/lib/cjs/appui-react/widget-panels/Content.js +1 -4
  373. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  374. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +98 -8
  375. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  376. package/lib/cjs/appui-react/widget-panels/Frontstage.js +103 -103
  377. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  378. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts +22 -0
  379. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -0
  380. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +56 -0
  381. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -0
  382. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  383. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +3 -2
  384. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  385. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +0 -2
  386. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  387. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +6 -18
  388. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  389. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +9 -0
  390. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  391. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +12 -2
  392. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  393. package/lib/cjs/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  394. package/lib/cjs/appui-react/widgets/NavigationWidget.js +2 -1
  395. package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +1 -1
  396. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +1 -0
  397. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  398. package/lib/cjs/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  399. package/lib/cjs/appui-react/widgets/StableWidgetDef.js +1 -1
  400. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  401. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js +2 -1
  402. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  403. package/lib/cjs/appui-react/widgets/ToolWidget.js +3 -2
  404. package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
  405. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts +0 -12
  406. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  407. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js +1 -36
  408. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  409. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -0
  410. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts.map +1 -1
  411. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js +5 -2
  412. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  413. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  414. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  415. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +3 -3
  416. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  417. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -3
  418. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  419. package/lib/cjs/appui-react/widgets/WidgetDef.js +18 -7
  420. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  421. package/lib/cjs/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  422. package/lib/cjs/appui-react/widgets/WidgetHost.js +1 -0
  423. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  424. package/lib/cjs/appui-react/widgets/WidgetStack.d.ts.map +1 -1
  425. package/lib/cjs/appui-react/widgets/WidgetStack.js +2 -0
  426. package/lib/cjs/appui-react/widgets/WidgetStack.js.map +1 -1
  427. package/lib/cjs/appui-react/zones/FrameworkZone.js.map +1 -1
  428. package/lib/cjs/appui-react/zones/StatusBarZone.js.map +1 -1
  429. package/lib/cjs/appui-react/zones/Zone.d.ts +1 -1
  430. package/lib/cjs/appui-react/zones/Zone.d.ts.map +1 -1
  431. package/lib/cjs/appui-react/zones/Zone.js +2 -1
  432. package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
  433. package/lib/cjs/appui-react/zones/ZoneDef.d.ts +4 -4
  434. package/lib/cjs/appui-react/zones/ZoneDef.d.ts.map +1 -1
  435. package/lib/cjs/appui-react/zones/ZoneDef.js +5 -4
  436. package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
  437. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
  438. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  439. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js +3 -2
  440. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  441. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  442. package/lib/cjs/appui-react.d.ts +16 -18
  443. package/lib/cjs/appui-react.d.ts.map +1 -1
  444. package/lib/cjs/appui-react.js +16 -18
  445. package/lib/cjs/appui-react.js.map +1 -1
  446. package/lib/esm/appui-react/UiFramework.d.ts +30 -15
  447. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  448. package/lib/esm/appui-react/UiFramework.js +48 -29
  449. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  450. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts +3 -3
  451. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  452. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +3 -3
  453. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  454. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +1 -1
  455. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  456. package/lib/esm/appui-react/accudraw/Calculator.js +1 -1
  457. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  458. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +4 -4
  459. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  460. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +6 -5
  461. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  462. package/lib/esm/appui-react/backstage/Backstage.d.ts +0 -2
  463. package/lib/esm/appui-react/backstage/Backstage.d.ts.map +1 -1
  464. package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
  465. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +2 -0
  466. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  467. package/lib/esm/appui-react/backstage/BackstageComposer.js +27 -9
  468. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  469. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +2 -2
  470. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -1
  471. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  472. package/lib/esm/appui-react/backstage/BackstageItemProps.d.ts +3 -3
  473. package/lib/esm/appui-react/backstage/BackstageItemProps.js +1 -1
  474. package/lib/esm/appui-react/backstage/BackstageItemProps.js.map +1 -1
  475. package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts +5 -5
  476. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js +3 -3
  477. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  478. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts +2 -0
  479. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts.map +1 -1
  480. package/lib/esm/appui-react/backstage/CommandLaunch.js +1 -0
  481. package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
  482. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts +4 -0
  483. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts.map +1 -1
  484. package/lib/esm/appui-react/backstage/FrontstageLaunch.js +5 -6
  485. package/lib/esm/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  486. package/lib/esm/appui-react/backstage/Separator.d.ts +1 -0
  487. package/lib/esm/appui-react/backstage/Separator.d.ts.map +1 -1
  488. package/lib/esm/appui-react/backstage/Separator.js +3 -2
  489. package/lib/esm/appui-react/backstage/Separator.js.map +1 -1
  490. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts +1 -1
  491. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
  492. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +3 -4
  493. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  494. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  495. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  496. package/lib/esm/appui-react/configurableui/state.d.ts +7 -1
  497. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  498. package/lib/esm/appui-react/configurableui/state.js +12 -0
  499. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  500. package/lib/esm/appui-react/content/ContentControl.d.ts +1 -1
  501. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  502. package/lib/esm/appui-react/content/ContentControl.js +1 -1
  503. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  504. package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -2
  505. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  506. package/lib/esm/appui-react/content/ContentLayout.js +3 -2
  507. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  508. package/lib/esm/appui-react/content/ContentViewManager.d.ts +1 -1
  509. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
  510. package/lib/esm/appui-react/content/ContentViewManager.js +1 -1
  511. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  512. package/lib/esm/appui-react/content/IModelViewport.d.ts +13 -1
  513. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  514. package/lib/esm/appui-react/content/IModelViewport.js +16 -4
  515. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  516. package/lib/esm/appui-react/content/{SavedViewLayout.d.ts → StageContentLayout.d.ts} +11 -11
  517. package/lib/esm/appui-react/content/StageContentLayout.d.ts.map +1 -0
  518. package/lib/esm/appui-react/content/{SavedViewLayout.js → StageContentLayout.js} +17 -15
  519. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -0
  520. package/lib/esm/appui-react/content/{SavedView.d.ts → ViewStateHelper.d.ts} +7 -7
  521. package/lib/esm/appui-react/content/ViewStateHelper.d.ts.map +1 -0
  522. package/lib/esm/appui-react/content/{SavedView.js → ViewStateHelper.js} +2 -2
  523. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -0
  524. package/lib/esm/appui-react/content/split-pane/Pane.d.ts +21 -0
  525. package/lib/esm/appui-react/content/split-pane/Pane.d.ts.map +1 -0
  526. package/lib/esm/appui-react/content/split-pane/Pane.js +39 -0
  527. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -0
  528. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts +23 -0
  529. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts.map +1 -0
  530. package/lib/esm/appui-react/content/split-pane/Resizer.js +35 -0
  531. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -0
  532. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts +70 -0
  533. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts.map +1 -0
  534. package/lib/esm/appui-react/content/split-pane/SplitPane.js +239 -0
  535. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -0
  536. package/lib/esm/appui-react/cursor/CursorInformation.d.ts +1 -2
  537. package/lib/esm/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  538. package/lib/esm/appui-react/cursor/CursorInformation.js +2 -2
  539. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  540. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  541. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  542. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +2 -2
  543. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  544. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +2 -2
  545. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  546. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +1 -1
  547. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  548. package/lib/esm/appui-react/dialog/DialogManagerBase.js +1 -1
  549. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  550. package/lib/esm/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  551. package/lib/esm/appui-react/dialog/StandardMessageBox.js +3 -0
  552. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  553. package/lib/esm/appui-react/dragdrop/ZoneTargets.d.ts.map +1 -1
  554. package/lib/esm/appui-react/dragdrop/ZoneTargets.js +8 -4
  555. package/lib/esm/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  556. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +2 -2
  557. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  558. package/lib/esm/appui-react/feedback/ElementTooltip.js +4 -2
  559. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  560. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +1 -0
  561. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  562. package/lib/esm/appui-react/frontstage/Frontstage.js +32 -13
  563. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  564. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts +3 -0
  565. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  566. package/lib/esm/appui-react/frontstage/FrontstageComposer.js +16 -1
  567. package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  568. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +20 -2
  569. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  570. package/lib/esm/appui-react/frontstage/FrontstageDef.js +166 -5
  571. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  572. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +3 -0
  573. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  574. package/lib/esm/appui-react/frontstage/FrontstageManager.js +10 -0
  575. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  576. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +6 -0
  577. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  578. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  579. package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  580. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  581. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  582. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  583. package/lib/esm/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  584. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts +6 -0
  585. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts.map +1 -0
  586. package/lib/esm/appui-react/hooks/useUiVisibility.js +23 -0
  587. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -0
  588. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +1 -1
  589. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  590. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js +6 -7
  591. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  592. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +3 -3
  593. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  594. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +3 -2
  595. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  596. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -5
  597. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  598. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  599. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +3 -3
  600. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +1 -1
  601. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  602. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +83 -70
  603. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  604. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  605. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  606. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
  607. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  608. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -2
  609. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  610. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  611. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  612. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js +3 -2
  613. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  614. package/lib/esm/appui-react/messages/AppNotificationManager.d.ts +1 -1
  615. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
  616. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  617. package/lib/esm/appui-react/messages/MessageManager.d.ts +1 -2
  618. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  619. package/lib/esm/appui-react/messages/MessageManager.js +9 -3
  620. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  621. package/lib/esm/appui-react/messages/Pointer.d.ts +2 -2
  622. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  623. package/lib/esm/appui-react/messages/Pointer.js +4 -3
  624. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  625. package/lib/esm/appui-react/messages/ToastMessage.js +2 -1
  626. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  627. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
  628. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  629. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -1
  630. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  631. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
  632. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  633. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
  634. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  635. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +6 -4
  636. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  637. package/lib/esm/appui-react/pickers/ListPicker.d.ts +3 -0
  638. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  639. package/lib/esm/appui-react/pickers/ListPicker.js +23 -9
  640. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  641. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +1 -1
  642. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  643. package/lib/esm/appui-react/pickers/ViewSelector.js +7 -7
  644. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  645. package/lib/esm/appui-react/popup/CardPopup.d.ts +7 -4
  646. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  647. package/lib/esm/appui-react/popup/CardPopup.js +3 -2
  648. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  649. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +3 -2
  650. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  651. package/lib/esm/appui-react/popup/InputEditorPopup.js +1 -1
  652. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  653. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +7 -7
  654. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  655. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +3 -2
  656. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  657. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +1 -1
  658. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  659. package/lib/esm/appui-react/popup/PopupManager.d.ts +10 -10
  660. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  661. package/lib/esm/appui-react/popup/PopupManager.js +5 -5
  662. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  663. package/lib/esm/appui-react/popup/PositionPopup.d.ts +5 -3
  664. package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
  665. package/lib/esm/appui-react/popup/PositionPopup.js +3 -2
  666. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  667. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts +3 -2
  668. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  669. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +1 -1
  670. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  671. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +4 -3
  672. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  673. package/lib/esm/appui-react/popup/ToolbarPopup.js +2 -2
  674. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  675. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  676. package/lib/esm/appui-react/redux/SessionState.d.ts +0 -6
  677. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  678. package/lib/esm/appui-react/redux/SessionState.js +0 -8
  679. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  680. package/lib/esm/appui-react/redux/StateManager.d.ts +1 -1
  681. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  682. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js +7 -7
  683. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  684. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  685. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  686. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  687. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  688. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +28 -19
  689. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  690. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  691. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  692. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  693. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
  694. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  695. package/lib/esm/appui-react/shared/ItemDefBase.js +1 -1
  696. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  697. package/lib/esm/appui-react/shared/ItemProps.d.ts +2 -2
  698. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  699. package/lib/esm/appui-react/shared/ToolItemDef.d.ts +1 -1
  700. package/lib/esm/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  701. package/lib/esm/appui-react/shared/ToolItemDef.js +2 -2
  702. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  703. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  704. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js +1 -0
  705. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  706. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts +2 -2
  707. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  708. package/lib/esm/appui-react/stagepanels/StagePanel.js +1 -0
  709. package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
  710. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +26 -3
  711. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  712. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +25 -5
  713. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  714. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  715. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts.map +1 -1
  716. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js +2 -1
  717. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  718. package/lib/esm/appui-react/statusbar/StatusBar.js +2 -1
  719. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  720. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  721. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +17 -5
  722. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  723. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  724. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  725. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  726. package/lib/esm/appui-react/statusfields/Indicator.d.ts +15 -14
  727. package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
  728. package/lib/esm/appui-react/statusfields/Indicator.js +23 -21
  729. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  730. package/lib/esm/appui-react/statusfields/Indicator.scss +29 -18
  731. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  732. package/lib/esm/appui-react/statusfields/MessageCenter.js +2 -1
  733. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  734. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts +1 -0
  735. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  736. package/lib/esm/appui-react/statusfields/SelectionScope.js +6 -4
  737. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  738. package/lib/esm/appui-react/statusfields/SelectionScope.scss +13 -3
  739. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +2 -10
  740. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  741. package/lib/esm/appui-react/statusfields/SnapMode.js +5 -35
  742. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  743. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -6
  744. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  745. package/lib/esm/appui-react/statusfields/ViewAttributes.js +2 -26
  746. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  747. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +7 -7
  748. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  749. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +14 -13
  750. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  751. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -3
  752. package/lib/esm/appui-react/syncui/BooleanListener.d.ts +2 -2
  753. package/lib/esm/appui-react/syncui/BooleanListener.d.ts.map +1 -1
  754. package/lib/esm/appui-react/syncui/BooleanListener.js +2 -1
  755. package/lib/esm/appui-react/syncui/BooleanListener.js.map +1 -1
  756. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts +8 -18
  757. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  758. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +29 -101
  759. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  760. package/lib/esm/appui-react/toolbar/ActionButtonItem.js +2 -1
  761. package/lib/esm/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  762. package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  763. package/lib/esm/appui-react/toolbar/ActionItemButton.js +2 -1
  764. package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
  765. package/lib/esm/appui-react/toolbar/GroupButtonItem.js +24 -20
  766. package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  767. package/lib/esm/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  768. package/lib/esm/appui-react/toolbar/GroupItem.js +33 -29
  769. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  770. package/lib/esm/appui-react/toolbar/ToolButton.js +3 -2
  771. package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
  772. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  773. package/lib/esm/appui-react/toolbar/Toolbar.js +3 -2
  774. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  775. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  776. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +22 -20
  777. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  778. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  779. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +4 -4
  780. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  781. package/lib/esm/appui-react/tools/MarkupToolDefinitions.d.ts +2 -2
  782. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js +2 -2
  783. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  784. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +8 -10
  785. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  786. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +18 -37
  787. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  788. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +7 -9
  789. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  790. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +13 -21
  791. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  792. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +7 -9
  793. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  794. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +40 -51
  795. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  796. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +7 -4
  797. package/lib/{cjs/appui-react/uisettings → esm/appui-react/uistate}/AppUiSettings.d.ts +9 -7
  798. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -0
  799. package/lib/esm/appui-react/{uisettings → uistate}/AppUiSettings.js +13 -9
  800. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -0
  801. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts +15 -0
  802. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -0
  803. package/lib/esm/appui-react/uistate/UserSettingsStorage.js +58 -0
  804. package/lib/esm/appui-react/uistate/UserSettingsStorage.js.map +1 -0
  805. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts +20 -0
  806. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -0
  807. package/lib/esm/appui-react/uistate/useUiStateStorage.js +33 -0
  808. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -0
  809. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts +5 -5
  810. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  811. package/lib/esm/appui-react/utils/UiShowHideManager.js +9 -9
  812. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  813. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  814. package/lib/esm/appui-react/widget-panels/Content.js +1 -4
  815. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  816. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +98 -8
  817. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  818. package/lib/esm/appui-react/widget-panels/Frontstage.js +103 -102
  819. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  820. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts +22 -0
  821. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -0
  822. package/lib/esm/appui-react/widgets/BackstageAppButton.js +52 -0
  823. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -0
  824. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  825. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +2 -1
  826. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  827. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +0 -2
  828. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  829. package/lib/esm/appui-react/widgets/BasicToolWidget.js +4 -15
  830. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  831. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +9 -0
  832. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  833. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +11 -1
  834. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  835. package/lib/esm/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  836. package/lib/esm/appui-react/widgets/NavigationWidget.js +2 -1
  837. package/lib/esm/appui-react/widgets/NavigationWidget.js.map +1 -1
  838. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +1 -0
  839. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  840. package/lib/esm/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  841. package/lib/esm/appui-react/widgets/StableWidgetDef.js +1 -1
  842. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  843. package/lib/esm/appui-react/widgets/ToolSettingsContent.js +2 -1
  844. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  845. package/lib/esm/appui-react/widgets/ToolWidget.js +3 -2
  846. package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
  847. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts +0 -12
  848. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  849. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js +2 -36
  850. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  851. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -0
  852. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts.map +1 -1
  853. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js +5 -2
  854. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  855. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  856. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  857. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +2 -2
  858. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  859. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -3
  860. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  861. package/lib/esm/appui-react/widgets/WidgetDef.js +18 -7
  862. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  863. package/lib/esm/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  864. package/lib/esm/appui-react/widgets/WidgetHost.js +1 -0
  865. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  866. package/lib/esm/appui-react/widgets/WidgetStack.d.ts.map +1 -1
  867. package/lib/esm/appui-react/widgets/WidgetStack.js +2 -0
  868. package/lib/esm/appui-react/widgets/WidgetStack.js.map +1 -1
  869. package/lib/esm/appui-react/zones/FrameworkZone.js.map +1 -1
  870. package/lib/esm/appui-react/zones/StatusBarZone.js.map +1 -1
  871. package/lib/esm/appui-react/zones/Zone.d.ts +1 -1
  872. package/lib/esm/appui-react/zones/Zone.d.ts.map +1 -1
  873. package/lib/esm/appui-react/zones/Zone.js +2 -1
  874. package/lib/esm/appui-react/zones/Zone.js.map +1 -1
  875. package/lib/esm/appui-react/zones/ZoneDef.d.ts +4 -4
  876. package/lib/esm/appui-react/zones/ZoneDef.d.ts.map +1 -1
  877. package/lib/esm/appui-react/zones/ZoneDef.js +5 -4
  878. package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
  879. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
  880. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  881. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js +2 -1
  882. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  883. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  884. package/lib/esm/appui-react.d.ts +16 -18
  885. package/lib/esm/appui-react.d.ts.map +1 -1
  886. package/lib/esm/appui-react.js +16 -18
  887. package/lib/esm/appui-react.js.map +1 -1
  888. package/lib/public/locales/en/UiFramework.json +9 -2
  889. package/package.json +43 -51
  890. package/lib/cjs/appui-react/UserInfo.d.ts +0 -58
  891. package/lib/cjs/appui-react/UserInfo.d.ts.map +0 -1
  892. package/lib/cjs/appui-react/UserInfo.js +0 -34
  893. package/lib/cjs/appui-react/UserInfo.js.map +0 -1
  894. package/lib/cjs/appui-react/content/SavedView.d.ts.map +0 -1
  895. package/lib/cjs/appui-react/content/SavedView.js.map +0 -1
  896. package/lib/cjs/appui-react/content/SavedViewLayout.d.ts.map +0 -1
  897. package/lib/cjs/appui-react/content/SavedViewLayout.js.map +0 -1
  898. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.d.ts +0 -25
  899. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.d.ts.map +0 -1
  900. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js +0 -34
  901. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js.map +0 -1
  902. package/lib/cjs/appui-react/uisettings/AppUiSettings.d.ts.map +0 -1
  903. package/lib/cjs/appui-react/uisettings/AppUiSettings.js.map +0 -1
  904. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.d.ts +0 -23
  905. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.d.ts.map +0 -1
  906. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js +0 -74
  907. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js.map +0 -1
  908. package/lib/cjs/appui-react/uisettings/useUiSettings.d.ts +0 -21
  909. package/lib/cjs/appui-react/uisettings/useUiSettings.d.ts.map +0 -1
  910. package/lib/cjs/appui-react/uisettings/useUiSettings.js +0 -28
  911. package/lib/cjs/appui-react/uisettings/useUiSettings.js.map +0 -1
  912. package/lib/esm/appui-react/UserInfo.d.ts +0 -58
  913. package/lib/esm/appui-react/UserInfo.d.ts.map +0 -1
  914. package/lib/esm/appui-react/UserInfo.js +0 -30
  915. package/lib/esm/appui-react/UserInfo.js.map +0 -1
  916. package/lib/esm/appui-react/content/SavedView.d.ts.map +0 -1
  917. package/lib/esm/appui-react/content/SavedView.js.map +0 -1
  918. package/lib/esm/appui-react/content/SavedViewLayout.d.ts.map +0 -1
  919. package/lib/esm/appui-react/content/SavedViewLayout.js.map +0 -1
  920. package/lib/esm/appui-react/stagepanels/StagePanelEnums.d.ts +0 -25
  921. package/lib/esm/appui-react/stagepanels/StagePanelEnums.d.ts.map +0 -1
  922. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js +0 -31
  923. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js.map +0 -1
  924. package/lib/esm/appui-react/uisettings/AppUiSettings.d.ts.map +0 -1
  925. package/lib/esm/appui-react/uisettings/AppUiSettings.js.map +0 -1
  926. package/lib/esm/appui-react/uisettings/UserSettingsStorage.d.ts +0 -23
  927. package/lib/esm/appui-react/uisettings/UserSettingsStorage.d.ts.map +0 -1
  928. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js +0 -68
  929. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js.map +0 -1
  930. package/lib/esm/appui-react/uisettings/useUiSettings.d.ts +0 -21
  931. package/lib/esm/appui-react/uisettings/useUiSettings.d.ts.map +0 -1
  932. package/lib/esm/appui-react/uisettings/useUiSettings.js +0 -23
  933. package/lib/esm/appui-react/uisettings/useUiSettings.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardShortcut.js","sourceRoot":"","sources":["../../../../src/appui-react/keyboardshortcut/KeyboardShortcut.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module KeyboardShortcut\r\n */\r\n\r\nimport { ConditionalBooleanValue, FunctionKey, SpecialKey, UiError } from \"@itwin/appui-abstract\";\r\nimport { CursorInformation } from \"../cursor/CursorInformation\";\r\nimport { ActionButtonItemDef } from \"../shared/ActionButtonItemDef\";\r\nimport { ItemDefBase } from \"../shared/ItemDefBase\";\r\nimport { ItemProps } from \"../shared/ItemProps\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { KeyboardShortcutMenu } from \"./KeyboardShortcutMenu\";\r\nimport { SyncUiEventArgs, SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\n\r\n/** Properties for a Keyboard Shortcut\r\n * @public\r\n */\r\nexport interface KeyboardShortcutProps extends ItemProps {\r\n /** The key that invokes the shortcut.\r\n * This is either an alphanumeric key, a function key or a special key.\r\n */\r\n key: string | FunctionKey | SpecialKey;\r\n\r\n /** The item to execute when this shortcut is invoked. Either 'item' or 'shortcuts' must be specified. */\r\n item?: ActionButtonItemDef;\r\n /** Nested array of shortcut props. Either 'item' or 'shortcuts' must be specified. */\r\n shortcuts?: KeyboardShortcutProps[];\r\n\r\n /** Indicates whether the Alt key required. Default - false */\r\n isAltKeyRequired?: boolean;\r\n /** Indicates whether the Ctrl key required. Default - false */\r\n isCtrlKeyRequired?: boolean;\r\n /** Indicates whether the Shift key required. Default - false */\r\n isShiftKeyRequired?: boolean;\r\n}\r\n\r\n/** Keyboard Shortcut used to execute an action\r\n * @public\r\n */\r\nexport class KeyboardShortcut extends ItemDefBase {\r\n\r\n private _key: string;\r\n private _item?: ActionButtonItemDef;\r\n private _shortcuts: KeyboardShortcutContainer;\r\n\r\n private _isAltKeyRequired: boolean = false;\r\n private _isCtrlKeyRequired: boolean = false;\r\n private _isShiftKeyRequired: boolean = false;\r\n private _isFunctionKey: boolean = false;\r\n private _isSpecialKey: boolean = false;\r\n\r\n constructor(props: KeyboardShortcutProps) {\r\n super(props);\r\n\r\n this._key = props.key;\r\n\r\n if (this._key in FunctionKey)\r\n this._isFunctionKey = true;\r\n if (this._key in SpecialKey)\r\n this._isSpecialKey = true;\r\n\r\n this._shortcuts = new KeyboardShortcutContainer();\r\n\r\n if (props.item) {\r\n this._item = props.item;\r\n\r\n // Copy over icon, label & tooltip from the item\r\n if (!this.iconSpec)\r\n this.iconSpec = this._item.iconSpec;\r\n if (!this.label)\r\n this.setLabel(this._item.label);\r\n if (!this.tooltip)\r\n this.setTooltip(this._item.tooltip);\r\n if (this.isDisabled === undefined)\r\n this.isDisabled = this._item.isDisabled;\r\n if (this.isHidden === undefined)\r\n this.isHidden = this._item.isHidden;\r\n } else if (props.shortcuts) {\r\n props.shortcuts.forEach((childProps: KeyboardShortcutProps) => {\r\n const shortcut = new KeyboardShortcut(childProps);\r\n this._shortcuts.registerKey(shortcut.keyMapKey, shortcut);\r\n });\r\n } else {\r\n throw new UiError(UiFramework.loggerCategory(this), `Either 'item' or 'shortcuts' must be specified for '${props.key}' key.`);\r\n }\r\n\r\n if (props.isAltKeyRequired !== undefined)\r\n this._isAltKeyRequired = props.isAltKeyRequired;\r\n if (props.isCtrlKeyRequired !== undefined)\r\n this._isCtrlKeyRequired = props.isCtrlKeyRequired;\r\n if (props.isShiftKeyRequired !== undefined)\r\n this._isShiftKeyRequired = props.isShiftKeyRequired;\r\n }\r\n\r\n /** Returns the id for this shortcut */\r\n public get id(): string { return this.keyMapKey; }\r\n\r\n /** Returns the shortcut container */\r\n public get shortcutContainer(): KeyboardShortcutContainer {\r\n return this._shortcuts;\r\n }\r\n\r\n /** Finds a shortcut with a given key in the shortcut's container */\r\n public getShortcut(mapKey: string): KeyboardShortcut | undefined {\r\n return this._shortcuts.findKey(mapKey);\r\n }\r\n\r\n /** Returns the shortcut's key map key used as the id */\r\n public get keyMapKey(): string {\r\n const keyMapKey = KeyboardShortcutContainer.generateKeyMapKey(this.key, this._isAltKeyRequired, this._isCtrlKeyRequired, this._isShiftKeyRequired);\r\n return keyMapKey;\r\n }\r\n\r\n /** Returns the [[ActionButtonItemDef]] associated with this shortcut */\r\n public get item(): ActionButtonItemDef | undefined {\r\n return this._item;\r\n }\r\n\r\n /** Called when the [[ActionButtonItemDef]] associated with this shortcut is invoked */\r\n public itemPicked(): void {\r\n if (this._shortcuts.areKeyboardShortcutsAvailable()) {\r\n this._shortcuts.showShortcutsMenu();\r\n } else {\r\n setTimeout(() => {\r\n // istanbul ignore else\r\n if (this._item)\r\n this._item.execute();\r\n });\r\n }\r\n }\r\n\r\n /** Gets the keyboard key */\r\n public get key(): string { return this._key; }\r\n /** Gets whether the Alt key required. */\r\n public get isAltKeyRequired(): boolean { return this._isAltKeyRequired; }\r\n /** Gets whether the Ctrl key required. */\r\n public get isCtrlKeyRequired(): boolean { return this._isCtrlKeyRequired; }\r\n /** Gets whether the Shift key required. */\r\n public get isShiftKeyRequired(): boolean { return this._isShiftKeyRequired; }\r\n /** Gets whether this is a Function key. */\r\n public get isFunctionKey(): boolean { return this._isFunctionKey; }\r\n /** Gets whether this is a Special key. */\r\n public get isSpecialKey(): boolean { return this._isSpecialKey; }\r\n\r\n}\r\n\r\n/** Keyboard Shortcut Container\r\n * @public\r\n */\r\nexport class KeyboardShortcutContainer {\r\n private _keyMap: Map<string, KeyboardShortcut> = new Map<string, KeyboardShortcut>();\r\n private _keyArray: KeyboardShortcut[] = new Array<KeyboardShortcut>();\r\n\r\n /** Registers a Keyboard Shortcut associated with a given key in the managed list */\r\n public registerKey(keyMapKey: string, inShortcut: KeyboardShortcut): KeyboardShortcut | undefined {\r\n let shortcut: KeyboardShortcut | undefined;\r\n\r\n if ((shortcut = this.findKey(keyMapKey)) === undefined) {\r\n shortcut = inShortcut;\r\n this._keyArray.push(shortcut);\r\n } else {\r\n const index = this._keyArray.findIndex((value: KeyboardShortcut) => {\r\n return value.keyMapKey === keyMapKey;\r\n });\r\n // istanbul ignore else\r\n if (index >= 0) {\r\n shortcut = inShortcut;\r\n this._keyArray[index] = shortcut;\r\n }\r\n }\r\n\r\n // istanbul ignore else\r\n if (shortcut)\r\n this._keyMap.set(keyMapKey, shortcut);\r\n\r\n return shortcut;\r\n }\r\n\r\n /** Finds a Keyboard Shortcut associated with a given key */\r\n public findKey(keyMapKey: string): KeyboardShortcut | undefined {\r\n return this._keyMap.get(keyMapKey);\r\n }\r\n\r\n /** Determines if any Keyboard Shortcuts are available in this container */\r\n public areKeyboardShortcutsAvailable(): boolean {\r\n return this._keyMap.size !== 0;\r\n }\r\n\r\n /** Empties any Keyboard Shortcuts from this container */\r\n public emptyData(): void {\r\n this._keyMap.clear();\r\n this._keyArray.length = 0;\r\n }\r\n\r\n public getAvailableKeyboardShortcuts(): KeyboardShortcut[] {\r\n return this._keyArray.slice();\r\n }\r\n\r\n /** Generates a key used for storing and finding the Keyboard Shortcuts in this container */\r\n public static generateKeyMapKey(keyboardKey: string, isAltKeyRequired: boolean, isCtrlKeyRequired: boolean, isShiftKeyRequired: boolean): string {\r\n let keyMapKey = keyboardKey;\r\n\r\n if (isAltKeyRequired)\r\n keyMapKey = `Alt+${keyMapKey}`;\r\n if (isShiftKeyRequired)\r\n keyMapKey = `Shift+${keyMapKey}`;\r\n if (isCtrlKeyRequired)\r\n keyMapKey = `Ctrl+${keyMapKey}`;\r\n\r\n return keyMapKey;\r\n }\r\n\r\n /** Displays a menu for the Keyboard Shortcuts in this container */\r\n public showShortcutsMenu() {\r\n const offset = 8;\r\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.emit({\r\n menuVisible: true,\r\n menuX: KeyboardShortcutManager.cursorX - offset,\r\n menuY: KeyboardShortcutManager.cursorY - offset,\r\n shortcuts: this.getAvailableKeyboardShortcuts(),\r\n });\r\n }\r\n}\r\n\r\ntype OnShortcutFunc = (shortcut: KeyboardShortcut) => void;\r\n\r\n/** Keyboard Shortcut Manager\r\n * @public\r\n */\r\nexport class KeyboardShortcutManager {\r\n\r\n private static _shortcuts: KeyboardShortcutContainer = new KeyboardShortcutContainer();\r\n\r\n /** Initialize the Keyboard Shortcut manager */\r\n public static initialize(): void {\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(KeyboardShortcutManager._handleSyncUiEvent);\r\n }\r\n\r\n /** Loads Keyboard Shortcuts into the managed list */\r\n public static loadKeyboardShortcuts(shortcutList: KeyboardShortcutProps[]) {\r\n shortcutList.forEach((shortcutProps: KeyboardShortcutProps) => {\r\n this.loadKeyboardShortcut(shortcutProps);\r\n });\r\n }\r\n\r\n /** Loads a Keyboard Shortcut into the managed list */\r\n public static loadKeyboardShortcut(shortcutProps: KeyboardShortcutProps) {\r\n const shortcut = new KeyboardShortcut(shortcutProps);\r\n this._shortcuts.registerKey(shortcut.keyMapKey, shortcut);\r\n }\r\n\r\n /** Processes a keystroke and invokes a matching Keyboard Shortcut */\r\n public static processKey(keyboardKey: string, isAltKeyPressed: boolean = false, isCtrlKeyPressed: boolean = false, isShiftKeyPressed: boolean = false): boolean {\r\n const keyMapKey = KeyboardShortcutContainer.generateKeyMapKey(keyboardKey, isAltKeyPressed, isCtrlKeyPressed, isShiftKeyPressed);\r\n\r\n const shortcut = this.getShortcut(keyMapKey);\r\n if (shortcut) {\r\n shortcut.itemPicked();\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** Returns the managed list of Keyboard Shortcuts */\r\n public static get shortcutContainer(): KeyboardShortcutContainer {\r\n return this._shortcuts;\r\n }\r\n\r\n /** Returns a Keyboard Shortcut from the managed lists */\r\n public static getShortcut(keyMapKey: string): KeyboardShortcut | undefined {\r\n return this._shortcuts.findKey(keyMapKey);\r\n }\r\n\r\n /** Determines if focus is set to Home */\r\n public static get isFocusOnHome(): boolean {\r\n const element = document.activeElement as HTMLElement;\r\n return element && element === document.body;\r\n }\r\n\r\n /** Sets focus to Home */\r\n public static setFocusToHome(): void {\r\n const element = document.activeElement as HTMLElement;\r\n if (element && element !== document.body) {\r\n element.blur();\r\n document.body.focus();\r\n }\r\n }\r\n\r\n /** Displays the Keyboard Shortcuts menu at the cursor */\r\n public static displayShortcutsMenu(): void {\r\n if (this._shortcuts.areKeyboardShortcutsAvailable()) {\r\n this._shortcuts.showShortcutsMenu();\r\n }\r\n }\r\n\r\n /** Closes the Keyboard Shortcuts menu */\r\n public static closeShortcutsMenu(): void {\r\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.emit({\r\n menuVisible: false,\r\n menuX: 0,\r\n menuY: 0,\r\n shortcuts: undefined,\r\n });\r\n }\r\n\r\n /** Returns the cursor X position, which is mouseEvent.pageX. */\r\n public static get cursorX(): number { return CursorInformation.cursorX; }\r\n /** Returns the cursor Y position, which is mouseEvent.pageY. */\r\n public static get cursorY(): number { return CursorInformation.cursorY; }\r\n\r\n private static _handleSyncUiEvent = (args: SyncUiEventArgs) => {\r\n const updateBooleanValue = (booleanValue: ConditionalBooleanValue) => {\r\n if (SyncUiEventDispatcher.hasEventOfInterest(args.eventIds, booleanValue.syncEventIds))\r\n booleanValue.refresh();\r\n };\r\n const handleForSyncIds = (shortcut: KeyboardShortcut) => {\r\n if (shortcut.isDisabled instanceof ConditionalBooleanValue)\r\n updateBooleanValue(shortcut.isDisabled);\r\n if (shortcut.isHidden instanceof ConditionalBooleanValue)\r\n updateBooleanValue(shortcut.isHidden);\r\n };\r\n\r\n KeyboardShortcutManager._traverseShortcuts(KeyboardShortcutManager._shortcuts.getAvailableKeyboardShortcuts(), handleForSyncIds);\r\n };\r\n\r\n private static _traverseShortcuts = (shortcuts: KeyboardShortcut[], callback: OnShortcutFunc) => {\r\n shortcuts.forEach((shortcut: KeyboardShortcut) => {\r\n callback(shortcut);\r\n\r\n if (shortcut.shortcutContainer.areKeyboardShortcutsAvailable()) {\r\n const childShortcuts = shortcut.shortcutContainer.getAvailableKeyboardShortcuts();\r\n KeyboardShortcutManager._traverseShortcuts(childShortcuts, callback);\r\n }\r\n });\r\n };\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"KeyboardShortcut.js","sourceRoot":"","sources":["../../../../src/appui-react/keyboardshortcut/KeyboardShortcut.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module KeyboardShortcut\r\n */\r\n\r\nimport { ConditionalBooleanValue, FunctionKey, SpecialKey, UiError, UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { CursorInformation } from \"../cursor/CursorInformation\";\r\nimport { ActionButtonItemDef } from \"../shared/ActionButtonItemDef\";\r\nimport { ItemDefBase } from \"../shared/ItemDefBase\";\r\nimport { ItemProps } from \"../shared/ItemProps\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { KeyboardShortcutMenu } from \"./KeyboardShortcutMenu\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\n\r\n/** Properties for a Keyboard Shortcut\r\n * @public\r\n */\r\nexport interface KeyboardShortcutProps extends ItemProps {\r\n /** The key that invokes the shortcut.\r\n * This is either an alphanumeric key, a function key or a special key.\r\n */\r\n key: string | FunctionKey | SpecialKey;\r\n\r\n /** The item to execute when this shortcut is invoked. Either 'item' or 'shortcuts' must be specified. */\r\n item?: ActionButtonItemDef;\r\n /** Nested array of shortcut props. Either 'item' or 'shortcuts' must be specified. */\r\n shortcuts?: KeyboardShortcutProps[];\r\n\r\n /** Indicates whether the Alt key required. Default - false */\r\n isAltKeyRequired?: boolean;\r\n /** Indicates whether the Ctrl key required. Default - false */\r\n isCtrlKeyRequired?: boolean;\r\n /** Indicates whether the Shift key required. Default - false */\r\n isShiftKeyRequired?: boolean;\r\n}\r\n\r\n/** Keyboard Shortcut used to execute an action\r\n * @public\r\n */\r\nexport class KeyboardShortcut extends ItemDefBase {\r\n\r\n private _key: string;\r\n private _item?: ActionButtonItemDef;\r\n private _shortcuts: KeyboardShortcutContainer;\r\n\r\n private _isAltKeyRequired: boolean = false;\r\n private _isCtrlKeyRequired: boolean = false;\r\n private _isShiftKeyRequired: boolean = false;\r\n private _isFunctionKey: boolean = false;\r\n private _isSpecialKey: boolean = false;\r\n\r\n constructor(props: KeyboardShortcutProps) {\r\n super(props);\r\n\r\n this._key = props.key;\r\n\r\n if (this._key in FunctionKey)\r\n this._isFunctionKey = true;\r\n if (this._key in SpecialKey)\r\n this._isSpecialKey = true;\r\n\r\n this._shortcuts = new KeyboardShortcutContainer();\r\n\r\n if (props.item) {\r\n this._item = props.item;\r\n\r\n // Copy over icon, label & tooltip from the item\r\n if (!this.iconSpec)\r\n this.iconSpec = this._item.iconSpec;\r\n if (!this.label)\r\n this.setLabel(this._item.label);\r\n if (!this.tooltip)\r\n this.setTooltip(this._item.tooltip);\r\n if (this.isDisabled === undefined)\r\n this.isDisabled = this._item.isDisabled;\r\n if (this.isHidden === undefined)\r\n this.isHidden = this._item.isHidden;\r\n } else if (props.shortcuts) {\r\n props.shortcuts.forEach((childProps: KeyboardShortcutProps) => {\r\n const shortcut = new KeyboardShortcut(childProps);\r\n this._shortcuts.registerKey(shortcut.keyMapKey, shortcut);\r\n });\r\n } else {\r\n throw new UiError(UiFramework.loggerCategory(this), `Either 'item' or 'shortcuts' must be specified for '${props.key}' key.`);\r\n }\r\n\r\n if (props.isAltKeyRequired !== undefined)\r\n this._isAltKeyRequired = props.isAltKeyRequired;\r\n if (props.isCtrlKeyRequired !== undefined)\r\n this._isCtrlKeyRequired = props.isCtrlKeyRequired;\r\n if (props.isShiftKeyRequired !== undefined)\r\n this._isShiftKeyRequired = props.isShiftKeyRequired;\r\n }\r\n\r\n /** Returns the id for this shortcut */\r\n public get id(): string { return this.keyMapKey; }\r\n\r\n /** Returns the shortcut container */\r\n public get shortcutContainer(): KeyboardShortcutContainer {\r\n return this._shortcuts;\r\n }\r\n\r\n /** Finds a shortcut with a given key in the shortcut's container */\r\n public getShortcut(mapKey: string): KeyboardShortcut | undefined {\r\n return this._shortcuts.findKey(mapKey);\r\n }\r\n\r\n /** Returns the shortcut's key map key used as the id */\r\n public get keyMapKey(): string {\r\n const keyMapKey = KeyboardShortcutContainer.generateKeyMapKey(this.key, this._isAltKeyRequired, this._isCtrlKeyRequired, this._isShiftKeyRequired);\r\n return keyMapKey;\r\n }\r\n\r\n /** Returns the [[ActionButtonItemDef]] associated with this shortcut */\r\n public get item(): ActionButtonItemDef | undefined {\r\n return this._item;\r\n }\r\n\r\n /** Called when the [[ActionButtonItemDef]] associated with this shortcut is invoked */\r\n public itemPicked(): void {\r\n if (this._shortcuts.areKeyboardShortcutsAvailable()) {\r\n this._shortcuts.showShortcutsMenu();\r\n } else {\r\n setTimeout(() => {\r\n // istanbul ignore else\r\n if (this._item)\r\n this._item.execute();\r\n });\r\n }\r\n }\r\n\r\n /** Gets the keyboard key */\r\n public get key(): string { return this._key; }\r\n /** Gets whether the Alt key required. */\r\n public get isAltKeyRequired(): boolean { return this._isAltKeyRequired; }\r\n /** Gets whether the Ctrl key required. */\r\n public get isCtrlKeyRequired(): boolean { return this._isCtrlKeyRequired; }\r\n /** Gets whether the Shift key required. */\r\n public get isShiftKeyRequired(): boolean { return this._isShiftKeyRequired; }\r\n /** Gets whether this is a Function key. */\r\n public get isFunctionKey(): boolean { return this._isFunctionKey; }\r\n /** Gets whether this is a Special key. */\r\n public get isSpecialKey(): boolean { return this._isSpecialKey; }\r\n\r\n}\r\n\r\n/** Keyboard Shortcut Container\r\n * @public\r\n */\r\nexport class KeyboardShortcutContainer {\r\n private _keyMap: Map<string, KeyboardShortcut> = new Map<string, KeyboardShortcut>();\r\n private _keyArray: KeyboardShortcut[] = new Array<KeyboardShortcut>();\r\n\r\n /** Registers a Keyboard Shortcut associated with a given key in the managed list */\r\n public registerKey(keyMapKey: string, inShortcut: KeyboardShortcut): KeyboardShortcut | undefined {\r\n let shortcut: KeyboardShortcut | undefined;\r\n\r\n if ((shortcut = this.findKey(keyMapKey)) === undefined) {\r\n shortcut = inShortcut;\r\n this._keyArray.push(shortcut);\r\n } else {\r\n const index = this._keyArray.findIndex((value: KeyboardShortcut) => {\r\n return value.keyMapKey === keyMapKey;\r\n });\r\n // istanbul ignore else\r\n if (index >= 0) {\r\n shortcut = inShortcut;\r\n this._keyArray[index] = shortcut;\r\n }\r\n }\r\n\r\n // istanbul ignore else\r\n if (shortcut)\r\n this._keyMap.set(keyMapKey, shortcut);\r\n\r\n return shortcut;\r\n }\r\n\r\n /** Finds a Keyboard Shortcut associated with a given key */\r\n public findKey(keyMapKey: string): KeyboardShortcut | undefined {\r\n return this._keyMap.get(keyMapKey);\r\n }\r\n\r\n /** Determines if any Keyboard Shortcuts are available in this container */\r\n public areKeyboardShortcutsAvailable(): boolean {\r\n return this._keyMap.size !== 0;\r\n }\r\n\r\n /** Empties any Keyboard Shortcuts from this container */\r\n public emptyData(): void {\r\n this._keyMap.clear();\r\n this._keyArray.length = 0;\r\n }\r\n\r\n public getAvailableKeyboardShortcuts(): KeyboardShortcut[] {\r\n return this._keyArray.slice();\r\n }\r\n\r\n /** Generates a key used for storing and finding the Keyboard Shortcuts in this container */\r\n public static generateKeyMapKey(keyboardKey: string, isAltKeyRequired: boolean, isCtrlKeyRequired: boolean, isShiftKeyRequired: boolean): string {\r\n let keyMapKey = keyboardKey;\r\n\r\n if (isAltKeyRequired)\r\n keyMapKey = `Alt+${keyMapKey}`;\r\n if (isShiftKeyRequired)\r\n keyMapKey = `Shift+${keyMapKey}`;\r\n if (isCtrlKeyRequired)\r\n keyMapKey = `Ctrl+${keyMapKey}`;\r\n\r\n return keyMapKey;\r\n }\r\n\r\n /** Displays a menu for the Keyboard Shortcuts in this container */\r\n public showShortcutsMenu() {\r\n const offset = 8;\r\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.emit({\r\n menuVisible: true,\r\n menuX: KeyboardShortcutManager.cursorX - offset,\r\n menuY: KeyboardShortcutManager.cursorY - offset,\r\n shortcuts: this.getAvailableKeyboardShortcuts(),\r\n });\r\n }\r\n}\r\n\r\ntype OnShortcutFunc = (shortcut: KeyboardShortcut) => void;\r\n\r\n/** Keyboard Shortcut Manager\r\n * @public\r\n */\r\nexport class KeyboardShortcutManager {\r\n\r\n private static _shortcuts: KeyboardShortcutContainer = new KeyboardShortcutContainer();\r\n\r\n /** Initialize the Keyboard Shortcut manager */\r\n public static initialize(): void {\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(KeyboardShortcutManager._handleSyncUiEvent);\r\n }\r\n\r\n /** Loads Keyboard Shortcuts into the managed list */\r\n public static loadKeyboardShortcuts(shortcutList: KeyboardShortcutProps[]) {\r\n shortcutList.forEach((shortcutProps: KeyboardShortcutProps) => {\r\n this.loadKeyboardShortcut(shortcutProps);\r\n });\r\n }\r\n\r\n /** Loads a Keyboard Shortcut into the managed list */\r\n public static loadKeyboardShortcut(shortcutProps: KeyboardShortcutProps) {\r\n const shortcut = new KeyboardShortcut(shortcutProps);\r\n this._shortcuts.registerKey(shortcut.keyMapKey, shortcut);\r\n }\r\n\r\n /** Processes a keystroke and invokes a matching Keyboard Shortcut */\r\n public static processKey(keyboardKey: string, isAltKeyPressed: boolean = false, isCtrlKeyPressed: boolean = false, isShiftKeyPressed: boolean = false): boolean {\r\n const keyMapKey = KeyboardShortcutContainer.generateKeyMapKey(keyboardKey, isAltKeyPressed, isCtrlKeyPressed, isShiftKeyPressed);\r\n\r\n const shortcut = this.getShortcut(keyMapKey);\r\n if (shortcut) {\r\n shortcut.itemPicked();\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** Returns the managed list of Keyboard Shortcuts */\r\n public static get shortcutContainer(): KeyboardShortcutContainer {\r\n return this._shortcuts;\r\n }\r\n\r\n /** Returns a Keyboard Shortcut from the managed lists */\r\n public static getShortcut(keyMapKey: string): KeyboardShortcut | undefined {\r\n return this._shortcuts.findKey(keyMapKey);\r\n }\r\n\r\n /** Determines if focus is set to Home */\r\n public static get isFocusOnHome(): boolean {\r\n const element = document.activeElement as HTMLElement;\r\n return element && element === document.body;\r\n }\r\n\r\n /** Sets focus to Home */\r\n public static setFocusToHome(): void {\r\n const element = document.activeElement as HTMLElement;\r\n if (element && element !== document.body) {\r\n element.blur();\r\n document.body.focus();\r\n }\r\n }\r\n\r\n /** Displays the Keyboard Shortcuts menu at the cursor */\r\n public static displayShortcutsMenu(): void {\r\n if (this._shortcuts.areKeyboardShortcutsAvailable()) {\r\n this._shortcuts.showShortcutsMenu();\r\n }\r\n }\r\n\r\n /** Closes the Keyboard Shortcuts menu */\r\n public static closeShortcutsMenu(): void {\r\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.emit({\r\n menuVisible: false,\r\n menuX: 0,\r\n menuY: 0,\r\n shortcuts: undefined,\r\n });\r\n }\r\n\r\n /** Returns the cursor X position, which is mouseEvent.pageX. */\r\n public static get cursorX(): number { return CursorInformation.cursorX; }\r\n /** Returns the cursor Y position, which is mouseEvent.pageY. */\r\n public static get cursorY(): number { return CursorInformation.cursorY; }\r\n\r\n private static _handleSyncUiEvent = (args: UiSyncEventArgs) => {\r\n const updateBooleanValue = (booleanValue: ConditionalBooleanValue) => {\r\n if (SyncUiEventDispatcher.hasEventOfInterest(args.eventIds, booleanValue.syncEventIds))\r\n booleanValue.refresh();\r\n };\r\n const handleForSyncIds = (shortcut: KeyboardShortcut) => {\r\n if (shortcut.isDisabled instanceof ConditionalBooleanValue)\r\n updateBooleanValue(shortcut.isDisabled);\r\n if (shortcut.isHidden instanceof ConditionalBooleanValue)\r\n updateBooleanValue(shortcut.isHidden);\r\n };\r\n\r\n KeyboardShortcutManager._traverseShortcuts(KeyboardShortcutManager._shortcuts.getAvailableKeyboardShortcuts(), handleForSyncIds);\r\n };\r\n\r\n private static _traverseShortcuts = (shortcuts: KeyboardShortcut[], callback: OnShortcutFunc) => {\r\n shortcuts.forEach((shortcut: KeyboardShortcut) => {\r\n callback(shortcut);\r\n\r\n if (shortcut.shortcutContainer.areKeyboardShortcutsAvailable()) {\r\n const childShortcuts = shortcut.shortcutContainer.getAvailableKeyboardShortcuts();\r\n KeyboardShortcutManager._traverseShortcuts(childShortcuts, callback);\r\n }\r\n });\r\n };\r\n\r\n}\r\n"]}
@@ -2,8 +2,9 @@
2
2
  * @module KeyboardShortcut
3
3
  */
4
4
  import * as React from "react";
5
- import { CommonProps, UiEvent } from "@itwin/core-react";
5
+ import { CommonProps } from "@itwin/core-react";
6
6
  import { KeyboardShortcut } from "./KeyboardShortcut";
7
+ import { UiEvent } from "@itwin/appui-abstract";
7
8
  /** State for a [[KeyboardShortcutMenuEvent]] and [[KeyboardShortcutMenu]] component
8
9
  * @public
9
10
  */
@@ -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,EAAE,WAAW,EAAsD,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC7G,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD;;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;CAAI;AAErF;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,yBAAyB,CAAC;IAEnG,gBAAgB;IAChB,SAAyB,KAAK,EAAE,yBAAyB,CAIvD;IAEF,uCAAuC;IACvC,gBAAuB,2BAA2B,4BAAmC;IAErE,iBAAiB;IAIjB,oBAAoB;IAIpC,OAAO,CAAC,gCAAgC,CAEtC;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;IA6BzC,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,mBAAmB;IAmC3B,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,EAAE,WAAW,EAAsD,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,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;CAAI;AAErF;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,yBAAyB,CAAC;IAEnG,gBAAgB;IAChB,SAAyB,KAAK,EAAE,yBAAyB,CAIvD;IAEF,uCAAuC;IACvC,gBAAuB,2BAA2B,4BAAmC;IAErE,iBAAiB;IAIjB,oBAAoB;IAIpC,OAAO,CAAC,gCAAgC,CAEtC;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;IA6BzC,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,mBAAmB;IAmC3B,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,WAAW,CAGjB;CACH"}
@@ -6,8 +6,8 @@
6
6
  * @module KeyboardShortcut
7
7
  */
8
8
  import * as React from "react";
9
- import { ContextMenuItem, ContextSubMenu, GlobalContextMenu, UiEvent } from "@itwin/core-react";
10
- import { ConditionalBooleanValue } from "@itwin/appui-abstract";
9
+ import { ContextMenuItem, ContextSubMenu, GlobalContextMenu } from "@itwin/core-react";
10
+ import { ConditionalBooleanValue, UiEvent } from "@itwin/appui-abstract";
11
11
  /** KeyboardShortcut Menu Event class.
12
12
  * @public
13
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardShortcutMenu.js","sourceRoot":"","sources":["../../../../src/appui-react/keyboardshortcut/KeyboardShortcutMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module KeyboardShortcut\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonProps, ContextMenuItem, ContextSubMenu, GlobalContextMenu, UiEvent } from \"@itwin/core-react\";\r\nimport { KeyboardShortcut } from \"./KeyboardShortcut\";\r\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\r\n\r\n/** State for a [[KeyboardShortcutMenuEvent]] and [[KeyboardShortcutMenu]] component\r\n * @public\r\n */\r\nexport interface KeyboardShortcutMenuState {\r\n menuVisible: boolean;\r\n menuX: number;\r\n menuY: number;\r\n shortcuts?: KeyboardShortcut[];\r\n}\r\n\r\n/** KeyboardShortcut Menu Event class.\r\n * @public\r\n */\r\nexport class KeyboardShortcutMenuEvent extends UiEvent<KeyboardShortcutMenuState> { }\r\n\r\n/** React component that displays a context menu at the cursor containing keyboard shortcuts.\r\n * @public\r\n */\r\nexport class KeyboardShortcutMenu extends React.PureComponent<CommonProps, KeyboardShortcutMenuState> {\r\n\r\n /** @internal */\r\n public override readonly state: KeyboardShortcutMenuState = {\r\n menuVisible: false,\r\n menuX: 0,\r\n menuY: 0,\r\n };\r\n\r\n /** Get KeyboardShortcut Menu Event. */\r\n public static readonly onKeyboardShortcutMenuEvent = new KeyboardShortcutMenuEvent();\r\n\r\n public override componentDidMount() {\r\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.addListener(this._handleKeyboardShortcutMenuEvent);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.removeListener(this._handleKeyboardShortcutMenuEvent);\r\n }\r\n\r\n private _handleKeyboardShortcutMenuEvent = (state: KeyboardShortcutMenuState) => {\r\n this.setState(state);\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n const { shortcuts, menuX, menuY, menuVisible } = this.state;\r\n const onClose = this._hideContextMenu;\r\n\r\n if (menuVisible) {\r\n const items = this.getShortcutMenuItems(shortcuts);\r\n\r\n return (\r\n <GlobalContextMenu\r\n className={this.props.className}\r\n style={this.props.style}\r\n identifier=\"keyboard-shortcuts\"\r\n x={menuX}\r\n y={menuY}\r\n opened={menuVisible}\r\n onEsc={onClose}\r\n onOutsideClick={onClose}\r\n edgeLimit={false}\r\n autoflip={true}\r\n ignoreNextKeyUp={true} // Executing the shortcut on the keydown, so ignore the keyup in the menu\r\n >\r\n {items}\r\n </GlobalContextMenu>\r\n );\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private getShortcutMenuItems(shortcuts?: KeyboardShortcut[]): React.ReactNode[] {\r\n const items: React.ReactNode[] = [];\r\n\r\n // istanbul ignore else\r\n if (shortcuts) {\r\n shortcuts.forEach((shortcut: KeyboardShortcut, index: number) => {\r\n const item = this.getShortcutMenuItem(shortcut, index);\r\n // istanbul ignore else\r\n if (item)\r\n items.push(item);\r\n });\r\n }\r\n\r\n return items;\r\n }\r\n\r\n private getShortcutMenuItem(shortcut: KeyboardShortcut, index: number): React.ReactNode {\r\n const shortcutKey = shortcut.key;\r\n const isHidden = ConditionalBooleanValue.getValue(shortcut.isHidden);\r\n\r\n // Only pure characters go into the context menu\r\n if (shortcutKey !== shortcut.keyMapKey || shortcut.isFunctionKey || shortcut.isSpecialKey || isHidden)\r\n return null;\r\n\r\n let node: React.ReactNode = null;\r\n let label = shortcut.label;\r\n const iconSpec = shortcut.iconSpec;\r\n\r\n label = `~${shortcutKey.toLocaleUpperCase()} ${label}`;\r\n\r\n if (shortcut.shortcutContainer.areKeyboardShortcutsAvailable()) {\r\n const shortcuts = shortcut.shortcutContainer.getAvailableKeyboardShortcuts();\r\n const items = this.getShortcutMenuItems(shortcuts);\r\n\r\n node = (\r\n <ContextSubMenu key={index} icon={iconSpec} label={label} disabled={shortcut.isDisabled}>\r\n {items}\r\n </ContextSubMenu>\r\n );\r\n } else {\r\n const sel = () => this._itemPicked(shortcut);\r\n node = (\r\n <ContextMenuItem key={index} onSelect={sel} icon={iconSpec} disabled={shortcut.isDisabled}>\r\n {label}\r\n </ContextMenuItem>\r\n );\r\n }\r\n\r\n return node;\r\n }\r\n\r\n private _hideContextMenu = () => {\r\n this.setState({ menuVisible: false, shortcuts: undefined });\r\n };\r\n\r\n private _itemPicked = (shortcut: KeyboardShortcut): void => {\r\n this._hideContextMenu();\r\n shortcut.itemPicked();\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"KeyboardShortcutMenu.js","sourceRoot":"","sources":["../../../../src/appui-react/keyboardshortcut/KeyboardShortcutMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module KeyboardShortcut\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonProps, ContextMenuItem, ContextSubMenu, GlobalContextMenu } from \"@itwin/core-react\";\r\nimport { KeyboardShortcut } from \"./KeyboardShortcut\";\r\nimport { ConditionalBooleanValue, UiEvent } from \"@itwin/appui-abstract\";\r\n\r\n/** State for a [[KeyboardShortcutMenuEvent]] and [[KeyboardShortcutMenu]] component\r\n * @public\r\n */\r\nexport interface KeyboardShortcutMenuState {\r\n menuVisible: boolean;\r\n menuX: number;\r\n menuY: number;\r\n shortcuts?: KeyboardShortcut[];\r\n}\r\n\r\n/** KeyboardShortcut Menu Event class.\r\n * @public\r\n */\r\nexport class KeyboardShortcutMenuEvent extends UiEvent<KeyboardShortcutMenuState> { }\r\n\r\n/** React component that displays a context menu at the cursor containing keyboard shortcuts.\r\n * @public\r\n */\r\nexport class KeyboardShortcutMenu extends React.PureComponent<CommonProps, KeyboardShortcutMenuState> {\r\n\r\n /** @internal */\r\n public override readonly state: KeyboardShortcutMenuState = {\r\n menuVisible: false,\r\n menuX: 0,\r\n menuY: 0,\r\n };\r\n\r\n /** Get KeyboardShortcut Menu Event. */\r\n public static readonly onKeyboardShortcutMenuEvent = new KeyboardShortcutMenuEvent();\r\n\r\n public override componentDidMount() {\r\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.addListener(this._handleKeyboardShortcutMenuEvent);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.removeListener(this._handleKeyboardShortcutMenuEvent);\r\n }\r\n\r\n private _handleKeyboardShortcutMenuEvent = (state: KeyboardShortcutMenuState) => {\r\n this.setState(state);\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n const { shortcuts, menuX, menuY, menuVisible } = this.state;\r\n const onClose = this._hideContextMenu;\r\n\r\n if (menuVisible) {\r\n const items = this.getShortcutMenuItems(shortcuts);\r\n\r\n return (\r\n <GlobalContextMenu\r\n className={this.props.className}\r\n style={this.props.style}\r\n identifier=\"keyboard-shortcuts\"\r\n x={menuX}\r\n y={menuY}\r\n opened={menuVisible}\r\n onEsc={onClose}\r\n onOutsideClick={onClose}\r\n edgeLimit={false}\r\n autoflip={true}\r\n ignoreNextKeyUp={true} // Executing the shortcut on the keydown, so ignore the keyup in the menu\r\n >\r\n {items}\r\n </GlobalContextMenu>\r\n );\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private getShortcutMenuItems(shortcuts?: KeyboardShortcut[]): React.ReactNode[] {\r\n const items: React.ReactNode[] = [];\r\n\r\n // istanbul ignore else\r\n if (shortcuts) {\r\n shortcuts.forEach((shortcut: KeyboardShortcut, index: number) => {\r\n const item = this.getShortcutMenuItem(shortcut, index);\r\n // istanbul ignore else\r\n if (item)\r\n items.push(item);\r\n });\r\n }\r\n\r\n return items;\r\n }\r\n\r\n private getShortcutMenuItem(shortcut: KeyboardShortcut, index: number): React.ReactNode {\r\n const shortcutKey = shortcut.key;\r\n const isHidden = ConditionalBooleanValue.getValue(shortcut.isHidden);\r\n\r\n // Only pure characters go into the context menu\r\n if (shortcutKey !== shortcut.keyMapKey || shortcut.isFunctionKey || shortcut.isSpecialKey || isHidden)\r\n return null;\r\n\r\n let node: React.ReactNode = null;\r\n let label = shortcut.label;\r\n const iconSpec = shortcut.iconSpec;\r\n\r\n label = `~${shortcutKey.toLocaleUpperCase()} ${label}`;\r\n\r\n if (shortcut.shortcutContainer.areKeyboardShortcutsAvailable()) {\r\n const shortcuts = shortcut.shortcutContainer.getAvailableKeyboardShortcuts();\r\n const items = this.getShortcutMenuItems(shortcuts);\r\n\r\n node = (\r\n <ContextSubMenu key={index} icon={iconSpec} label={label} disabled={shortcut.isDisabled}>\r\n {items}\r\n </ContextSubMenu>\r\n );\r\n } else {\r\n const sel = () => this._itemPicked(shortcut);\r\n node = (\r\n <ContextMenuItem key={index} onSelect={sel} icon={iconSpec} disabled={shortcut.isDisabled}>\r\n {label}\r\n </ContextMenuItem>\r\n );\r\n }\r\n\r\n return node;\r\n }\r\n\r\n private _hideContextMenu = () => {\r\n this.setState({ menuVisible: false, shortcuts: undefined });\r\n };\r\n\r\n private _itemPicked = (shortcut: KeyboardShortcut): void => {\r\n this._hideContextMenu();\r\n shortcut.itemPicked();\r\n };\r\n}\r\n"]}
@@ -5,20 +5,20 @@ import "./KeyinBrowser.scss";
5
5
  import * as React from "react";
6
6
  import { AutoSuggestData, CommonProps } from "@itwin/core-react";
7
7
  /** Data for each key-in.
8
- */
8
+ @deprecated */
9
9
  interface KeyinBrowserData extends AutoSuggestData {
10
10
  /** English key-in - Browser supports both English and localized key-ins */
11
11
  englishKeyin: string;
12
12
  }
13
13
  /** State of key-in browser.
14
- */
14
+ @deprecated */
15
15
  interface KeyinBrowserState {
16
16
  keyins: KeyinBrowserData[];
17
17
  currentToolId: string | undefined;
18
18
  currentArgs: string;
19
19
  }
20
20
  /** Arguments for [[KeyinBrowserProps]] onExecute callback.
21
- * @beta
21
+ * @beta @deprecated
22
22
  */
23
23
  export interface KeyinBrowserExecuteArgs {
24
24
  /** Id of the tool that was run */
@@ -29,7 +29,7 @@ export interface KeyinBrowserExecuteArgs {
29
29
  runStatus: boolean;
30
30
  }
31
31
  /** Properties of the [[KeyinBrowser]] component.
32
- * @beta
32
+ * @beta @deprecated
33
33
  */
34
34
  export interface KeyinBrowserProps extends CommonProps {
35
35
  /** Function called after the key-in is executed */
@@ -39,7 +39,7 @@ export interface KeyinBrowserProps extends CommonProps {
39
39
  }
40
40
  /**
41
41
  * Component used to allow users to select, provide arguments, and execute a key-in.
42
- * @beta
42
+ * @beta @deprecated
43
43
  */
44
44
  export declare class KeyinBrowser extends React.PureComponent<KeyinBrowserProps, KeyinBrowserState> {
45
45
  private _toolIdLabel;
@@ -1 +1 @@
1
- {"version":3,"file":"KeyinBrowser.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/keyinbrowser/KeyinBrowser.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,qBAAqB,CAAC;AAE7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAe,eAAe,EAAE,WAAW,EAAc,MAAM,mBAAmB,CAAC;AAK1F;GACG;AACH,UAAU,gBAAiB,SAAQ,eAAe;IAIhD,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;GACG;AACH,UAAU,iBAAiB;IACzB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,kCAAkC;IAClC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,mCAAmC;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,+BAA+B;IAC/B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,mDAAmD;IACnD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACpD,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACzF,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,QAAQ,CAAiD;IACjE,OAAO,CAAC,aAAa,CAAiD;IACtE,OAAO,CAAC,mBAAmB,CAAqD;IAChF,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,UAAU,CAAS;IAE3B,gBAAgB;gBACJ,KAAK,EAAE,GAAG;IAYtB,gBAAgB;IACA,iBAAiB;IAcjC,gBAAgB;IACA,oBAAoB;IAIpC,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,QAAQ,CAEd;YAEY,QAAQ;IA+CtB,OAAO,CAAC,cAAc,CAGpB;IAGF,OAAO,CAAC,gBAAgB,CAMtB;IAEF,OAAO,CAAC,kBAAkB,CAIxB;IAEF,OAAO,CAAC,UAAU,CAahB;IAEF,OAAO,CAAC,aAAa,CAKnB;IAEF,OAAO,CAAC,mBAAmB,CAUzB;IAEF,OAAO,CAAC,iBAAiB,CAKvB;IAEF,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,oBAAoB,CAK1B;IAEF,uDAAuD;IACvD,OAAO,CAAC,eAAe,CAWrB;IAEF,gBAAgB;IACA,MAAM,IAAI,KAAK,CAAC,SAAS;CAiB1C"}
1
+ {"version":3,"file":"KeyinBrowser.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/keyinbrowser/KeyinBrowser.tsx"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,qBAAqB,CAAC;AAE7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAe,eAAe,EAAE,WAAW,EAAc,MAAM,mBAAmB,CAAC;AAK1F;eACe;AACf,UAAU,gBAAiB,SAAQ,eAAe;IAIhD,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;eACe;AACf,UAAU,iBAAiB;IACzB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,kCAAkC;IAClC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,mCAAmC;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,+BAA+B;IAC/B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,mDAAmD;IACnD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACpD,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACzF,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,QAAQ,CAAiD;IACjE,OAAO,CAAC,aAAa,CAAiD;IACtE,OAAO,CAAC,mBAAmB,CAAqD;IAChF,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,UAAU,CAAS;IAE3B,gBAAgB;gBACJ,KAAK,EAAE,GAAG;IAYtB,gBAAgB;IACA,iBAAiB;IAcjC,gBAAgB;IACA,oBAAoB;IAIpC,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,QAAQ,CAEd;YAEY,QAAQ;IA+CtB,OAAO,CAAC,cAAc,CAGpB;IAGF,OAAO,CAAC,gBAAgB,CAMtB;IAEF,OAAO,CAAC,kBAAkB,CAIxB;IAEF,OAAO,CAAC,UAAU,CAahB;IAEF,OAAO,CAAC,aAAa,CAKnB;IAEF,OAAO,CAAC,mBAAmB,CAUzB;IAEF,OAAO,CAAC,iBAAiB,CAKvB;IAEF,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,oBAAoB,CAK1B;IAEF,uDAAuD;IACvD,OAAO,CAAC,eAAe,CAWrB;IAEF,gBAAgB;IACA,MAAM,IAAI,KAAK,CAAC,SAAS;CAiB1C"}
@@ -2,6 +2,7 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
+ /* eslint-disable deprecation/deprecation */
5
6
  /** @packageDocumentation
6
7
  * @module Item
7
8
  */
@@ -15,7 +16,7 @@ import { UiFramework } from "../UiFramework";
15
16
  import { SpecialKey } from "@itwin/appui-abstract";
16
17
  /**
17
18
  * Component used to allow users to select, provide arguments, and execute a key-in.
18
- * @beta
19
+ * @beta @deprecated
19
20
  */
20
21
  export class KeyinBrowser extends React.PureComponent {
21
22
  /** @internal */
@@ -227,7 +228,7 @@ export class KeyinBrowser extends React.PureComponent {
227
228
  return (React.createElement("div", { className: "uif-keyinbrowser-div" },
228
229
  React.createElement(InputLabel, { label: this._toolIdLabel },
229
230
  React.createElement(AutoSuggest, { value: this.state.currentToolId, style: { width: "250px" }, placeholder: this._suggestPlaceholder, options: this.state.keyins, onSuggestionSelected: this._onKeyinSelected, onPressEnter: this._onAutoSuggestEnter, onPressTab: this._onAutoSuggestTab, onPressEscape: this._onAutoSuggestEscape, onInputFocus: this._onInputFocus, getSuggestions: this._getSuggestions, "data-testid": "uif-keyin-autosuggest" })),
230
- React.createElement(LabeledInput, { label: this._argsLabel, title: this._argsTip, value: this.state.currentArgs, "data-testid": "uif-keyin-arguments", id: "uif-keyin-arguments", onKeyDown: this._onKeyDown, onChange: this._onArgumentsChange, onFocus: this._onInputFocus }),
231
+ React.createElement(LabeledInput, { label: this._argsLabel, title: this._argsTip, value: this.state.currentArgs, "data-testid": "uif-keyin-arguments", id: "uif-keyin-arguments", onKeyDown: this._onKeyDown, onChange: this._onArgumentsChange, onFocus: this._onInputFocus, size: "small" }),
231
232
  React.createElement(Button, { styleType: "cta", "data-testid": "uif-keyin-browser-execute", onClick: this._onClick }, this._executeLabel)));
232
233
  }
233
234
  }
@@ -1 +1 @@
1
- {"version":3,"file":"KeyinBrowser.js","sourceRoot":"","sources":["../../../../src/appui-react/keyinbrowser/KeyinBrowser.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Item\r\n */\r\n\r\nimport \"./KeyinBrowser.scss\";\r\n// cSpell:ignore Modeless keyins keyinbrowser testid\r\nimport * as React from \"react\";\r\nimport { IModelApp, NotifyMessageDetails, OutputMessagePriority, OutputMessageType, Tool } from \"@itwin/core-frontend\";\r\nimport { AutoSuggest, AutoSuggestData, CommonProps, InputLabel } from \"@itwin/core-react\";\r\nimport { Button, LabeledInput } from \"@itwin/itwinui-react\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { SpecialKey } from \"@itwin/appui-abstract\";\r\n\r\n/** Data for each key-in.\r\n */\r\ninterface KeyinBrowserData extends AutoSuggestData {\r\n // AutoSuggestData.value is the toolId\r\n // AutoSuggestData.label is the keyin\r\n\r\n /** English key-in - Browser supports both English and localized key-ins */\r\n englishKeyin: string;\r\n}\r\n\r\n/** State of key-in browser.\r\n */\r\ninterface KeyinBrowserState {\r\n keyins: KeyinBrowserData[];\r\n currentToolId: string | undefined;\r\n currentArgs: string;\r\n}\r\n\r\n/** Arguments for [[KeyinBrowserProps]] onExecute callback.\r\n * @beta\r\n */\r\nexport interface KeyinBrowserExecuteArgs {\r\n /** Id of the tool that was run */\r\n toolId: string | undefined;\r\n /** Arguments passed to the tool */\r\n args: string[];\r\n /** Status of the key-in run */\r\n runStatus: boolean;\r\n}\r\n\r\n/** Properties of the [[KeyinBrowser]] component.\r\n * @beta\r\n */\r\nexport interface KeyinBrowserProps extends CommonProps {\r\n /** Function called after the key-in is executed */\r\n onExecute?: (args: KeyinBrowserExecuteArgs) => void;\r\n /** Function called on Escape or popup close */\r\n onCancel?: () => void;\r\n}\r\n\r\n/**\r\n * Component used to allow users to select, provide arguments, and execute a key-in.\r\n * @beta\r\n */\r\nexport class KeyinBrowser extends React.PureComponent<KeyinBrowserProps, KeyinBrowserState> {\r\n private _toolIdLabel = UiFramework.translate(\"keyinbrowser.keyin\");\r\n private _argsLabel = UiFramework.translate(\"keyinbrowser.args\");\r\n private _argsTip = UiFramework.translate(\"keyinbrowser.argsTip\");\r\n private _executeLabel = UiFramework.translate(\"keyinbrowser.execute\");\r\n private _suggestPlaceholder = UiFramework.translate(\"keyinbrowser.placeholder\");\r\n private _toolIdKey = \"keyinbrowser:keyin\";\r\n private _isMounted = false;\r\n\r\n /** @internal */\r\n constructor(props: any) {\r\n super(props);\r\n const currentToolId = this.getSavedToolId();\r\n const currentArgs = this.getToolArgs(currentToolId);\r\n\r\n this.state = {\r\n keyins: [],\r\n currentToolId,\r\n currentArgs,\r\n };\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n\r\n let keyins = this.getToolKeyinMap();\r\n this.setState({ keyins });\r\n\r\n setTimeout(() => {\r\n keyins = keyins.sort((a: AutoSuggestData, b: AutoSuggestData) => a.label.localeCompare(b.label));\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ keyins });\r\n });\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n private getArgsKey(toolId: string | undefined): string | undefined {\r\n if (toolId && toolId.length > 0)\r\n return `keyinbrowser:${toolId}`;\r\n return undefined;\r\n }\r\n\r\n private getSavedToolId(): string | undefined {\r\n const toolId = window.localStorage.getItem(this._toolIdKey);\r\n return toolId ? toolId : undefined;\r\n }\r\n\r\n private getToolArgs(toolId: string | undefined): string {\r\n const argsKey = this.getArgsKey(toolId);\r\n if (argsKey && argsKey.length > 0) {\r\n const args = window.localStorage.getItem(argsKey);\r\n // istanbul ignore if\r\n if (args && /* istanbul ignore next */ args.length > 0 && /* istanbul ignore next */ args[0] === \"[\") {\r\n return (JSON.parse(args) as string[]).join(\"|\");\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n private getToolKeyinMap(): KeyinBrowserData[] {\r\n const keyins: KeyinBrowserData[] = [];\r\n IModelApp.tools.getToolList()\r\n .forEach((tool: typeof Tool) => keyins.push({ value: tool.toolId, label: tool.keyin, englishKeyin: tool.englishKeyin }));\r\n return keyins;\r\n }\r\n\r\n private getArgsArray(): string[] {\r\n // istanbul ignore else\r\n if (this.state.currentArgs.length > 0) {\r\n return this.state.currentArgs.split(\"|\");\r\n }\r\n return [];\r\n }\r\n\r\n private _onClick = async () => {\r\n return this._execute();\r\n };\r\n\r\n private async _execute(): Promise<void> {\r\n let toolId: string | undefined;\r\n let args: string[] = [];\r\n let runStatus = false;\r\n\r\n // istanbul ignore else\r\n if (this.state.currentToolId && this.state.currentToolId.length > 0) {\r\n const foundTool = IModelApp.tools.find(this.state.currentToolId);\r\n // istanbul ignore else\r\n if (foundTool) {\r\n toolId = foundTool.toolId;\r\n args = this.getArgsArray();\r\n const maxArgs = foundTool.maxArgs;\r\n\r\n if (args.length < foundTool.minArgs || (undefined !== maxArgs && args.length > maxArgs)) {\r\n this._outputMessage(UiFramework.translate(\"keyinbrowser.incorrectArgs\"));\r\n return;\r\n }\r\n\r\n let key = \"keyinbrowser:keyin\";\r\n window.localStorage.setItem(key, toolId);\r\n\r\n // istanbul ignore if\r\n if (args && args.length > 0) {\r\n key = `keyinbrowser:${toolId}`;\r\n const objectAsString = JSON.stringify(args);\r\n window.localStorage.setItem(key, objectAsString);\r\n }\r\n\r\n const tool = new foundTool();\r\n runStatus = false;\r\n\r\n try {\r\n runStatus = args.length > 0 ? /* istanbul ignore next */ await tool.parseAndRun(...args) : await tool.run();\r\n !runStatus && this._outputMessage(UiFramework.translate(\"keyinbrowser.failedToRun\"));\r\n } catch (e) {\r\n // istanbul ignore next\r\n this._outputMessage(`${UiFramework.translate(\"keyinbrowser.exceptionOccurred\")}: ${e}`);\r\n }\r\n }\r\n }\r\n\r\n // istanbul ignore else\r\n if (this.props.onExecute)\r\n this.props.onExecute({ toolId, args, runStatus });\r\n }\r\n\r\n private _outputMessage = (msg: string) => {\r\n const details = new NotifyMessageDetails(OutputMessagePriority.Error, msg, undefined, OutputMessageType.Alert);\r\n IModelApp.notifications.outputMessage(details);\r\n };\r\n\r\n // istanbul ignore next\r\n private _onKeyinSelected = (selected: AutoSuggestData): void => {\r\n const currentToolId = selected.value;\r\n const currentArgs = this.getToolArgs(currentToolId);\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ currentToolId, currentArgs });\r\n };\r\n\r\n private _onArgumentsChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ currentArgs: event.target.value });\r\n };\r\n\r\n private _onKeyDown = async (event: React.KeyboardEvent<HTMLInputElement>): Promise<void> => {\r\n if (SpecialKey.Enter === event.key) {\r\n event.stopPropagation();\r\n return this._execute();\r\n }\r\n\r\n // istanbul ignore else\r\n if (SpecialKey.Escape === event.key) {\r\n // istanbul ignore else\r\n if (this.props.onCancel)\r\n this.props.onCancel();\r\n return;\r\n }\r\n };\r\n\r\n private _onInputFocus = (event: React.FocusEvent<HTMLInputElement>): void => {\r\n // istanbul ignore else\r\n if (event.target) {\r\n event.target.select();\r\n }\r\n };\r\n\r\n private _onAutoSuggestEnter = (event: React.KeyboardEvent): void => {\r\n event.stopPropagation();\r\n\r\n const inputValue = (event.target as HTMLInputElement).value;\r\n // istanbul ignore else\r\n if (this._processInputValue(inputValue)) {\r\n setTimeout(async () => {\r\n await this._execute();\r\n });\r\n }\r\n };\r\n\r\n private _onAutoSuggestTab = (event: React.KeyboardEvent): void => {\r\n event.stopPropagation();\r\n\r\n const inputValue = (event.target as HTMLInputElement).value;\r\n this._processInputValue(inputValue);\r\n };\r\n\r\n private _processInputValue(inputValue: string): boolean {\r\n let currentKeyin = \"\";\r\n let foundTool: typeof Tool | undefined;\r\n\r\n if (this.state.currentToolId && this.state.currentToolId.length > 0) {\r\n foundTool = IModelApp.tools.find(this.state.currentToolId);\r\n // istanbul ignore else\r\n if (foundTool)\r\n currentKeyin = foundTool.keyin;\r\n }\r\n\r\n // istanbul ignore next\r\n if (inputValue !== currentKeyin) {\r\n const inputValueLower = inputValue.trim().toLowerCase();\r\n foundTool = IModelApp.tools.getToolList()\r\n .find((tool: typeof Tool) => tool.keyin.toLowerCase() === inputValueLower || tool.englishKeyin.toLowerCase() === inputValueLower);\r\n\r\n if (!foundTool) {\r\n this._outputMessage(UiFramework.translate(\"keyinbrowser.couldNotFindTool\"));\r\n return false;\r\n } else {\r\n const currentToolId = foundTool.toolId;\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ currentToolId });\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private _onAutoSuggestEscape = (event: React.KeyboardEvent): void => {\r\n event.stopPropagation();\r\n // istanbul ignore else\r\n if (this.props.onCancel)\r\n this.props.onCancel();\r\n };\r\n\r\n /** Calculate suggestions for any given input value. */\r\n private _getSuggestions = async (value: string): Promise<AutoSuggestData[]> => {\r\n const inputValue = value.trim().toLowerCase();\r\n const inputLength = inputValue.length;\r\n\r\n return Promise.resolve(\r\n inputLength === 0 ?\r\n /* istanbul ignore next */[] :\r\n this.state.keyins.filter((data: KeyinBrowserData) => {\r\n return data.label.toLowerCase().includes(inputValue) || data.englishKeyin.toLowerCase().includes(inputValue);\r\n })\r\n );\r\n };\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n return (\r\n <div className=\"uif-keyinbrowser-div\">\r\n <InputLabel label={this._toolIdLabel}>\r\n <AutoSuggest value={this.state.currentToolId} style={{ width: \"250px\" }}\r\n placeholder={this._suggestPlaceholder} options={this.state.keyins}\r\n onSuggestionSelected={this._onKeyinSelected} onPressEnter={this._onAutoSuggestEnter}\r\n onPressTab={this._onAutoSuggestTab} onPressEscape={this._onAutoSuggestEscape} onInputFocus={this._onInputFocus}\r\n getSuggestions={this._getSuggestions} data-testid=\"uif-keyin-autosuggest\" />\r\n </InputLabel>\r\n <LabeledInput label={this._argsLabel} title={this._argsTip} value={this.state.currentArgs}\r\n data-testid=\"uif-keyin-arguments\" id=\"uif-keyin-arguments\"\r\n onKeyDown={this._onKeyDown} onChange={this._onArgumentsChange} onFocus={this._onInputFocus} />\r\n <Button styleType=\"cta\" data-testid=\"uif-keyin-browser-execute\" onClick={this._onClick}>{this._executeLabel}</Button>\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"KeyinBrowser.js","sourceRoot":"","sources":["../../../../src/appui-react/keyinbrowser/KeyinBrowser.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Item\r\n */\r\n\r\nimport \"./KeyinBrowser.scss\";\r\n// cSpell:ignore Modeless keyins keyinbrowser testid\r\nimport * as React from \"react\";\r\nimport { IModelApp, NotifyMessageDetails, OutputMessagePriority, OutputMessageType, Tool } from \"@itwin/core-frontend\";\r\nimport { AutoSuggest, AutoSuggestData, CommonProps, InputLabel } from \"@itwin/core-react\";\r\nimport { Button, LabeledInput } from \"@itwin/itwinui-react\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { SpecialKey } from \"@itwin/appui-abstract\";\r\n\r\n/** Data for each key-in.\r\n @deprecated */\r\ninterface KeyinBrowserData extends AutoSuggestData {\r\n // AutoSuggestData.value is the toolId\r\n // AutoSuggestData.label is the keyin\r\n\r\n /** English key-in - Browser supports both English and localized key-ins */\r\n englishKeyin: string;\r\n}\r\n\r\n/** State of key-in browser.\r\n @deprecated */\r\ninterface KeyinBrowserState {\r\n keyins: KeyinBrowserData[];\r\n currentToolId: string | undefined;\r\n currentArgs: string;\r\n}\r\n\r\n/** Arguments for [[KeyinBrowserProps]] onExecute callback.\r\n * @beta @deprecated\r\n */\r\nexport interface KeyinBrowserExecuteArgs {\r\n /** Id of the tool that was run */\r\n toolId: string | undefined;\r\n /** Arguments passed to the tool */\r\n args: string[];\r\n /** Status of the key-in run */\r\n runStatus: boolean;\r\n}\r\n\r\n/** Properties of the [[KeyinBrowser]] component.\r\n * @beta @deprecated\r\n */\r\nexport interface KeyinBrowserProps extends CommonProps {\r\n /** Function called after the key-in is executed */\r\n onExecute?: (args: KeyinBrowserExecuteArgs) => void;\r\n /** Function called on Escape or popup close */\r\n onCancel?: () => void;\r\n}\r\n\r\n/**\r\n * Component used to allow users to select, provide arguments, and execute a key-in.\r\n * @beta @deprecated\r\n */\r\nexport class KeyinBrowser extends React.PureComponent<KeyinBrowserProps, KeyinBrowserState> {\r\n private _toolIdLabel = UiFramework.translate(\"keyinbrowser.keyin\");\r\n private _argsLabel = UiFramework.translate(\"keyinbrowser.args\");\r\n private _argsTip = UiFramework.translate(\"keyinbrowser.argsTip\");\r\n private _executeLabel = UiFramework.translate(\"keyinbrowser.execute\");\r\n private _suggestPlaceholder = UiFramework.translate(\"keyinbrowser.placeholder\");\r\n private _toolIdKey = \"keyinbrowser:keyin\";\r\n private _isMounted = false;\r\n\r\n /** @internal */\r\n constructor(props: any) {\r\n super(props);\r\n const currentToolId = this.getSavedToolId();\r\n const currentArgs = this.getToolArgs(currentToolId);\r\n\r\n this.state = {\r\n keyins: [],\r\n currentToolId,\r\n currentArgs,\r\n };\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n\r\n let keyins = this.getToolKeyinMap();\r\n this.setState({ keyins });\r\n\r\n setTimeout(() => {\r\n keyins = keyins.sort((a: AutoSuggestData, b: AutoSuggestData) => a.label.localeCompare(b.label));\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ keyins });\r\n });\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n private getArgsKey(toolId: string | undefined): string | undefined {\r\n if (toolId && toolId.length > 0)\r\n return `keyinbrowser:${toolId}`;\r\n return undefined;\r\n }\r\n\r\n private getSavedToolId(): string | undefined {\r\n const toolId = window.localStorage.getItem(this._toolIdKey);\r\n return toolId ? toolId : undefined;\r\n }\r\n\r\n private getToolArgs(toolId: string | undefined): string {\r\n const argsKey = this.getArgsKey(toolId);\r\n if (argsKey && argsKey.length > 0) {\r\n const args = window.localStorage.getItem(argsKey);\r\n // istanbul ignore if\r\n if (args && /* istanbul ignore next */ args.length > 0 && /* istanbul ignore next */ args[0] === \"[\") {\r\n return (JSON.parse(args) as string[]).join(\"|\");\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n private getToolKeyinMap(): KeyinBrowserData[] {\r\n const keyins: KeyinBrowserData[] = [];\r\n IModelApp.tools.getToolList()\r\n .forEach((tool: typeof Tool) => keyins.push({ value: tool.toolId, label: tool.keyin, englishKeyin: tool.englishKeyin }));\r\n return keyins;\r\n }\r\n\r\n private getArgsArray(): string[] {\r\n // istanbul ignore else\r\n if (this.state.currentArgs.length > 0) {\r\n return this.state.currentArgs.split(\"|\");\r\n }\r\n return [];\r\n }\r\n\r\n private _onClick = async () => {\r\n return this._execute();\r\n };\r\n\r\n private async _execute(): Promise<void> {\r\n let toolId: string | undefined;\r\n let args: string[] = [];\r\n let runStatus = false;\r\n\r\n // istanbul ignore else\r\n if (this.state.currentToolId && this.state.currentToolId.length > 0) {\r\n const foundTool = IModelApp.tools.find(this.state.currentToolId);\r\n // istanbul ignore else\r\n if (foundTool) {\r\n toolId = foundTool.toolId;\r\n args = this.getArgsArray();\r\n const maxArgs = foundTool.maxArgs;\r\n\r\n if (args.length < foundTool.minArgs || (undefined !== maxArgs && args.length > maxArgs)) {\r\n this._outputMessage(UiFramework.translate(\"keyinbrowser.incorrectArgs\"));\r\n return;\r\n }\r\n\r\n let key = \"keyinbrowser:keyin\";\r\n window.localStorage.setItem(key, toolId);\r\n\r\n // istanbul ignore if\r\n if (args && args.length > 0) {\r\n key = `keyinbrowser:${toolId}`;\r\n const objectAsString = JSON.stringify(args);\r\n window.localStorage.setItem(key, objectAsString);\r\n }\r\n\r\n const tool = new foundTool();\r\n runStatus = false;\r\n\r\n try {\r\n runStatus = args.length > 0 ? /* istanbul ignore next */ await tool.parseAndRun(...args) : await tool.run();\r\n !runStatus && this._outputMessage(UiFramework.translate(\"keyinbrowser.failedToRun\"));\r\n } catch (e) {\r\n // istanbul ignore next\r\n this._outputMessage(`${UiFramework.translate(\"keyinbrowser.exceptionOccurred\")}: ${e}`);\r\n }\r\n }\r\n }\r\n\r\n // istanbul ignore else\r\n if (this.props.onExecute)\r\n this.props.onExecute({ toolId, args, runStatus });\r\n }\r\n\r\n private _outputMessage = (msg: string) => {\r\n const details = new NotifyMessageDetails(OutputMessagePriority.Error, msg, undefined, OutputMessageType.Alert);\r\n IModelApp.notifications.outputMessage(details);\r\n };\r\n\r\n // istanbul ignore next\r\n private _onKeyinSelected = (selected: AutoSuggestData): void => {\r\n const currentToolId = selected.value;\r\n const currentArgs = this.getToolArgs(currentToolId);\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ currentToolId, currentArgs });\r\n };\r\n\r\n private _onArgumentsChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ currentArgs: event.target.value });\r\n };\r\n\r\n private _onKeyDown = async (event: React.KeyboardEvent<HTMLInputElement>): Promise<void> => {\r\n if (SpecialKey.Enter === event.key) {\r\n event.stopPropagation();\r\n return this._execute();\r\n }\r\n\r\n // istanbul ignore else\r\n if (SpecialKey.Escape === event.key) {\r\n // istanbul ignore else\r\n if (this.props.onCancel)\r\n this.props.onCancel();\r\n return;\r\n }\r\n };\r\n\r\n private _onInputFocus = (event: React.FocusEvent<HTMLInputElement>): void => {\r\n // istanbul ignore else\r\n if (event.target) {\r\n event.target.select();\r\n }\r\n };\r\n\r\n private _onAutoSuggestEnter = (event: React.KeyboardEvent): void => {\r\n event.stopPropagation();\r\n\r\n const inputValue = (event.target as HTMLInputElement).value;\r\n // istanbul ignore else\r\n if (this._processInputValue(inputValue)) {\r\n setTimeout(async () => {\r\n await this._execute();\r\n });\r\n }\r\n };\r\n\r\n private _onAutoSuggestTab = (event: React.KeyboardEvent): void => {\r\n event.stopPropagation();\r\n\r\n const inputValue = (event.target as HTMLInputElement).value;\r\n this._processInputValue(inputValue);\r\n };\r\n\r\n private _processInputValue(inputValue: string): boolean {\r\n let currentKeyin = \"\";\r\n let foundTool: typeof Tool | undefined;\r\n\r\n if (this.state.currentToolId && this.state.currentToolId.length > 0) {\r\n foundTool = IModelApp.tools.find(this.state.currentToolId);\r\n // istanbul ignore else\r\n if (foundTool)\r\n currentKeyin = foundTool.keyin;\r\n }\r\n\r\n // istanbul ignore next\r\n if (inputValue !== currentKeyin) {\r\n const inputValueLower = inputValue.trim().toLowerCase();\r\n foundTool = IModelApp.tools.getToolList()\r\n .find((tool: typeof Tool) => tool.keyin.toLowerCase() === inputValueLower || tool.englishKeyin.toLowerCase() === inputValueLower);\r\n\r\n if (!foundTool) {\r\n this._outputMessage(UiFramework.translate(\"keyinbrowser.couldNotFindTool\"));\r\n return false;\r\n } else {\r\n const currentToolId = foundTool.toolId;\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ currentToolId });\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private _onAutoSuggestEscape = (event: React.KeyboardEvent): void => {\r\n event.stopPropagation();\r\n // istanbul ignore else\r\n if (this.props.onCancel)\r\n this.props.onCancel();\r\n };\r\n\r\n /** Calculate suggestions for any given input value. */\r\n private _getSuggestions = async (value: string): Promise<AutoSuggestData[]> => {\r\n const inputValue = value.trim().toLowerCase();\r\n const inputLength = inputValue.length;\r\n\r\n return Promise.resolve(\r\n inputLength === 0 ?\r\n /* istanbul ignore next */[] :\r\n this.state.keyins.filter((data: KeyinBrowserData) => {\r\n return data.label.toLowerCase().includes(inputValue) || data.englishKeyin.toLowerCase().includes(inputValue);\r\n })\r\n );\r\n };\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n return (\r\n <div className=\"uif-keyinbrowser-div\">\r\n <InputLabel label={this._toolIdLabel}>\r\n <AutoSuggest value={this.state.currentToolId} style={{ width: \"250px\" }}\r\n placeholder={this._suggestPlaceholder} options={this.state.keyins}\r\n onSuggestionSelected={this._onKeyinSelected} onPressEnter={this._onAutoSuggestEnter}\r\n onPressTab={this._onAutoSuggestTab} onPressEscape={this._onAutoSuggestEscape} onInputFocus={this._onInputFocus}\r\n getSuggestions={this._getSuggestions} data-testid=\"uif-keyin-autosuggest\" />\r\n </InputLabel>\r\n <LabeledInput label={this._argsLabel} title={this._argsTip} value={this.state.currentArgs}\r\n data-testid=\"uif-keyin-arguments\" id=\"uif-keyin-arguments\"\r\n onKeyDown={this._onKeyDown} onChange={this._onArgumentsChange} onFocus={this._onInputFocus} size=\"small\" />\r\n <Button styleType=\"cta\" data-testid=\"uif-keyin-browser-execute\" onClick={this._onClick}>{this._executeLabel}</Button>\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
@@ -6,7 +6,7 @@ import { ActivityMessageDetails, ActivityMessageEndReason, MessageBoxIconType, M
6
6
  import { RelativePosition } from "@itwin/appui-abstract";
7
7
  /**
8
8
  * The AppNotificationManager class is a subclass of NotificationManager in @itwin/core-frontend.
9
- * This implementation uses the iModel.js UI library to display alerts, messages, prompts and tooltips.
9
+ * This implementation uses the iTwin.js UI library to display alerts, messages, prompts and tooltips.
10
10
  * @public
11
11
  */
12
12
  export declare class AppNotificationManager extends NotificationManager {
@@ -12,7 +12,7 @@ import { MessageManager } from "./MessageManager";
12
12
  import { PointerMessage } from "./Pointer";
13
13
  /**
14
14
  * The AppNotificationManager class is a subclass of NotificationManager in @itwin/core-frontend.
15
- * This implementation uses the iModel.js UI library to display alerts, messages, prompts and tooltips.
15
+ * This implementation uses the iTwin.js UI library to display alerts, messages, prompts and tooltips.
16
16
  * @public
17
17
  */
18
18
  export class AppNotificationManager extends NotificationManager {
@@ -1 +1 @@
1
- {"version":3,"file":"AppNotificationManager.js","sourceRoot":"","sources":["../../../../src/appui-react/messages/AppNotificationManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Notification\r\n */\r\n\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\nimport {\r\n ActivityMessageDetails, ActivityMessageEndReason, MessageBoxIconType, MessageBoxType, MessageBoxValue, NotificationManager, NotifyMessageDetails,\r\n ToolAssistance, ToolAssistanceInstructions, ToolTipOptions,\r\n} from \"@itwin/core-frontend\";\r\nimport { RelativePosition } from \"@itwin/appui-abstract\";\r\nimport { ElementTooltip } from \"../feedback/ElementTooltip\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { MessageManager } from \"./MessageManager\";\r\nimport { PointerMessage } from \"./Pointer\";\r\n\r\n/**\r\n * The AppNotificationManager class is a subclass of NotificationManager in @itwin/core-frontend.\r\n * This implementation uses the iModel.js UI library to display alerts, messages, prompts and tooltips.\r\n * @public\r\n */\r\nexport class AppNotificationManager extends NotificationManager {\r\n\r\n /** Output a prompt, given an i18n key.\r\n */\r\n public override outputPromptByKey(key: string): void {\r\n this.outputPrompt(UiFramework.localization.getLocalizedString(key));\r\n }\r\n\r\n /** Output a prompt to the user. A 'prompt' indicates an action the user should take to proceed.\r\n */\r\n public override outputPrompt(prompt: string): void {\r\n MessageManager.outputPrompt(prompt);\r\n\r\n const mainInstruction = ToolAssistance.createInstruction(\"\", prompt);\r\n const instructions = ToolAssistance.createInstructions(mainInstruction);\r\n MessageManager.setToolAssistance(instructions);\r\n }\r\n\r\n /** Output a message and/or alert to the user. */\r\n public override outputMessage(message: NotifyMessageDetails): void {\r\n MessageManager.outputMessage(message);\r\n }\r\n\r\n /** Output a MessageBox and wait for response from the user.\r\n * @param mbType The MessageBox type.\r\n * @param message The message to display.\r\n * @param icon The MessageBox icon type.\r\n * @return the response from the user.\r\n */\r\n public override async openMessageBox(mbType: MessageBoxType, message: HTMLElement | string, icon: MessageBoxIconType): Promise<MessageBoxValue> {\r\n return MessageManager.openMessageBox(mbType, message, icon);\r\n }\r\n\r\n /**\r\n * Set up for activity messages.\r\n * @param details The activity message details.\r\n * @return true if the message was displayed, false if an invalid priority is specified.\r\n */\r\n public override setupActivityMessage(details: ActivityMessageDetails): boolean {\r\n return MessageManager.setupActivityMessageDetails(details);\r\n }\r\n\r\n /**\r\n * Output an activity message to the user.\r\n * @param messageText The message text.\r\n * @param percentComplete The percentage of completion.\r\n * @return true if the message was displayed, false if the message could not be displayed.\r\n */\r\n public override outputActivityMessage(messageText: HTMLElement | string, percentComplete: number): boolean {\r\n return MessageManager.setupActivityMessageValues(messageText, percentComplete);\r\n }\r\n\r\n /**\r\n * End an activity message.\r\n * @param reason Reason for the end of the Activity Message.\r\n * @return true if the message was ended successfully, false if the activityMessage could not be ended.\r\n */\r\n public override endActivityMessage(reason: ActivityMessageEndReason): boolean {\r\n let result = false;\r\n\r\n switch (reason) {\r\n case ActivityMessageEndReason.Completed:\r\n result = MessageManager.endActivityMessage(true);\r\n break;\r\n case ActivityMessageEndReason.Cancelled:\r\n result = MessageManager.endActivityMessage(false);\r\n break;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /** Update message position created with [[OutputMessageType.Pointer]].\r\n * @param displayPoint Point at which to display the Pointer type message.\r\n * @param relativePosition Position relative to displayPoint at which to display the Pointer type message.\r\n */\r\n public override updatePointerMessage(displayPoint: XAndY, relativePosition: RelativePosition): void {\r\n PointerMessage.updateMessage(displayPoint, relativePosition);\r\n }\r\n\r\n /** Hides the Pointer message. */\r\n public override closePointerMessage(): void {\r\n PointerMessage.hideMessage();\r\n }\r\n\r\n /** Return true if _showTooltip has an implementation and will display a tooltip. */\r\n public override get isToolTipSupported(): boolean { return true; }\r\n\r\n /** Return true if the tooltip is currently open. */\r\n public override get isToolTipOpen(): boolean { return ElementTooltip.isTooltipVisible; }\r\n\r\n /** Clear the ToolTip if it is currently open. If not open, does nothing. */\r\n public override clearToolTip(): void {\r\n // istanbul ignore else\r\n if (this.isToolTipOpen)\r\n ElementTooltip.hideTooltip();\r\n }\r\n\r\n /** Show a ToolTip window.\r\n * @param el The HTMLElement that anchors the toolTip.\r\n * @param message The message to display inside the ToolTip\r\n * @param pt An optional location, relative to the origin of el, for the ToolTip. If undefined, center of el.\r\n * @param options Options that supply additional information about how the ToolTip should function.\r\n */\r\n protected override _showToolTip(el: HTMLElement, message: HTMLElement | string, pt?: XAndY, options?: ToolTipOptions): void {\r\n ElementTooltip.showTooltip(el, message, pt, options);\r\n }\r\n\r\n /** Hide a InputField message. */\r\n public override closeInputFieldMessage(): void {\r\n MessageManager.hideInputFieldMessage();\r\n }\r\n\r\n /** Setup tool assistance instructions for a tool. The instructions include the main instruction, which includes the current prompt.\r\n * @param instructions The tool assistance instructions.\r\n * @public\r\n */\r\n public override setToolAssistance(instructions: ToolAssistanceInstructions | undefined) {\r\n MessageManager.outputPrompt(instructions ? instructions.mainInstruction.text : /* istanbul ignore next */ \"\");\r\n MessageManager.setToolAssistance(instructions);\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"AppNotificationManager.js","sourceRoot":"","sources":["../../../../src/appui-react/messages/AppNotificationManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Notification\r\n */\r\n\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\nimport {\r\n ActivityMessageDetails, ActivityMessageEndReason, MessageBoxIconType, MessageBoxType, MessageBoxValue, NotificationManager, NotifyMessageDetails,\r\n ToolAssistance, ToolAssistanceInstructions, ToolTipOptions,\r\n} from \"@itwin/core-frontend\";\r\nimport { RelativePosition } from \"@itwin/appui-abstract\";\r\nimport { ElementTooltip } from \"../feedback/ElementTooltip\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { MessageManager } from \"./MessageManager\";\r\nimport { PointerMessage } from \"./Pointer\";\r\n\r\n/**\r\n * The AppNotificationManager class is a subclass of NotificationManager in @itwin/core-frontend.\r\n * This implementation uses the iTwin.js UI library to display alerts, messages, prompts and tooltips.\r\n * @public\r\n */\r\nexport class AppNotificationManager extends NotificationManager {\r\n\r\n /** Output a prompt, given an i18n key.\r\n */\r\n public override outputPromptByKey(key: string): void {\r\n this.outputPrompt(UiFramework.localization.getLocalizedString(key));\r\n }\r\n\r\n /** Output a prompt to the user. A 'prompt' indicates an action the user should take to proceed.\r\n */\r\n public override outputPrompt(prompt: string): void {\r\n MessageManager.outputPrompt(prompt);\r\n\r\n const mainInstruction = ToolAssistance.createInstruction(\"\", prompt);\r\n const instructions = ToolAssistance.createInstructions(mainInstruction);\r\n MessageManager.setToolAssistance(instructions);\r\n }\r\n\r\n /** Output a message and/or alert to the user. */\r\n public override outputMessage(message: NotifyMessageDetails): void {\r\n MessageManager.outputMessage(message);\r\n }\r\n\r\n /** Output a MessageBox and wait for response from the user.\r\n * @param mbType The MessageBox type.\r\n * @param message The message to display.\r\n * @param icon The MessageBox icon type.\r\n * @return the response from the user.\r\n */\r\n public override async openMessageBox(mbType: MessageBoxType, message: HTMLElement | string, icon: MessageBoxIconType): Promise<MessageBoxValue> {\r\n return MessageManager.openMessageBox(mbType, message, icon);\r\n }\r\n\r\n /**\r\n * Set up for activity messages.\r\n * @param details The activity message details.\r\n * @return true if the message was displayed, false if an invalid priority is specified.\r\n */\r\n public override setupActivityMessage(details: ActivityMessageDetails): boolean {\r\n return MessageManager.setupActivityMessageDetails(details);\r\n }\r\n\r\n /**\r\n * Output an activity message to the user.\r\n * @param messageText The message text.\r\n * @param percentComplete The percentage of completion.\r\n * @return true if the message was displayed, false if the message could not be displayed.\r\n */\r\n public override outputActivityMessage(messageText: HTMLElement | string, percentComplete: number): boolean {\r\n return MessageManager.setupActivityMessageValues(messageText, percentComplete);\r\n }\r\n\r\n /**\r\n * End an activity message.\r\n * @param reason Reason for the end of the Activity Message.\r\n * @return true if the message was ended successfully, false if the activityMessage could not be ended.\r\n */\r\n public override endActivityMessage(reason: ActivityMessageEndReason): boolean {\r\n let result = false;\r\n\r\n switch (reason) {\r\n case ActivityMessageEndReason.Completed:\r\n result = MessageManager.endActivityMessage(true);\r\n break;\r\n case ActivityMessageEndReason.Cancelled:\r\n result = MessageManager.endActivityMessage(false);\r\n break;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /** Update message position created with [[OutputMessageType.Pointer]].\r\n * @param displayPoint Point at which to display the Pointer type message.\r\n * @param relativePosition Position relative to displayPoint at which to display the Pointer type message.\r\n */\r\n public override updatePointerMessage(displayPoint: XAndY, relativePosition: RelativePosition): void {\r\n PointerMessage.updateMessage(displayPoint, relativePosition);\r\n }\r\n\r\n /** Hides the Pointer message. */\r\n public override closePointerMessage(): void {\r\n PointerMessage.hideMessage();\r\n }\r\n\r\n /** Return true if _showTooltip has an implementation and will display a tooltip. */\r\n public override get isToolTipSupported(): boolean { return true; }\r\n\r\n /** Return true if the tooltip is currently open. */\r\n public override get isToolTipOpen(): boolean { return ElementTooltip.isTooltipVisible; }\r\n\r\n /** Clear the ToolTip if it is currently open. If not open, does nothing. */\r\n public override clearToolTip(): void {\r\n // istanbul ignore else\r\n if (this.isToolTipOpen)\r\n ElementTooltip.hideTooltip();\r\n }\r\n\r\n /** Show a ToolTip window.\r\n * @param el The HTMLElement that anchors the toolTip.\r\n * @param message The message to display inside the ToolTip\r\n * @param pt An optional location, relative to the origin of el, for the ToolTip. If undefined, center of el.\r\n * @param options Options that supply additional information about how the ToolTip should function.\r\n */\r\n protected override _showToolTip(el: HTMLElement, message: HTMLElement | string, pt?: XAndY, options?: ToolTipOptions): void {\r\n ElementTooltip.showTooltip(el, message, pt, options);\r\n }\r\n\r\n /** Hide a InputField message. */\r\n public override closeInputFieldMessage(): void {\r\n MessageManager.hideInputFieldMessage();\r\n }\r\n\r\n /** Setup tool assistance instructions for a tool. The instructions include the main instruction, which includes the current prompt.\r\n * @param instructions The tool assistance instructions.\r\n * @public\r\n */\r\n public override setToolAssistance(instructions: ToolAssistanceInstructions | undefined) {\r\n MessageManager.outputPrompt(instructions ? instructions.mainInstruction.text : /* istanbul ignore next */ \"\");\r\n MessageManager.setToolAssistance(instructions);\r\n }\r\n\r\n}\r\n"]}
@@ -3,8 +3,7 @@
3
3
  */
4
4
  import { XAndY } from "@itwin/core-geometry";
5
5
  import { ActivityMessageDetails, MessageBoxIconType, MessageBoxType, MessageBoxValue, OutputMessagePriority, ToolAssistanceInstructions, ToolTipOptions } from "@itwin/core-frontend";
6
- import { MessageSeverity } from "@itwin/appui-abstract";
7
- import { UiEvent } from "@itwin/core-react";
6
+ import { MessageSeverity, UiEvent } from "@itwin/appui-abstract";
8
7
  import { NotifyMessageDetailsType, NotifyMessageType } from "./ReactNotifyMessageDetails";
9
8
  import { StatusMessageManager } from "./StatusMessageManager";
10
9
  /** [[MessageAddedEvent]] arguments.
@@ -1 +1 @@
1
- {"version":3,"file":"MessageManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/messages/MessageManager.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/messages/MessageManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EACL,sBAAsB,EAAa,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAsB,qBAAqB,EAC9G,0BAA0B,EAAE,cAAc,EAC9D,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AASjE,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAa9D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,OAAO,EAAE,wBAAwB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,uCAAuC;IACvC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,sDAAsD;IACtD,MAAM,EAAE,OAAO,CAAC;IAChB,mDAAmD;IACnD,WAAW,EAAE,iBAAiB,CAAC;IAC/B,4DAA4D;IAC5D,eAAe,EAAE,iBAAiB,CAAC;IACnC,0CAA0C;IAC1C,QAAQ,EAAE,qBAAqB,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,uDAAuD;IACvD,YAAY,EAAE,0BAA0B,GAAG,SAAS,CAAC;CACtD;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,qBAAqB,CAAC;CAAI;AAEzE;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,OAAO,CAAC,EAAE,CAAC;CAAI;AAEzD;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,OAAO,CAAC,wBAAwB,CAAC;CAAI;AAEtF;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,OAAO,CAAC,EAAE,CAAC;CAAI;AAElE;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,OAAO,CAAC,0BAA0B,CAAC;CAAI;AAExF;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,OAAO,CAAC,EAAE,CAAC;CAAI;AAElE;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,OAAO,CAAC,EAAE,CAAC;CAAI;AAE3D;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,OAAO,CAAC,8BAA8B,CAAC;CAAI;AAe3F;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAO;IACxC,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAK;IAC/C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAkC;IAC1D,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAwD;IAC9F,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAA2B;IACvD,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAA8B;IAElE,kFAAkF;IAClF,gBAAuB,mBAAmB,oBAA2B;IAErE,6FAA6F;IAC7F,gBAAuB,sBAAsB,uBAA8B;IAE3E,6GAA6G;IAC7G,gBAAuB,6BAA6B,8BAAqC;IAEzF;;;OAGG;IACH,gBAAuB,+BAA+B,gCAAuC;IAE7F,gBAAuB,6BAA6B,8BAAqC;IACzF,gBAAuB,+BAA+B,gCAAuC;IAE7F,gBAAuB,wBAAwB,yBAAgC;IAE/E;;OAEG;IACH,gBAAuB,4BAA4B,6BAAoC;IAEvF,oDAAoD;IACpD,WAAkB,QAAQ,IAAI,QAAQ,CAAC,wBAAwB,EAAE,CAAC,CAA2B;IAE7F,kCAAkC;IAClC,WAAkB,oBAAoB,IAAI,oBAAoB,CAAuC;IAErG,8BAA8B;WAChB,aAAa,IAAI,IAAI;IAQnC,+BAA+B;WACjB,cAAc,IAAI,IAAI;IAIpC,gDAAgD;WAClC,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKrD,uDAAuD;IACvD,WAAkB,0BAA0B,IAAI,MAAM,CAA6C;IACnG,WAAkB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAA6C;IAErG;;OAEG;WACW,aAAa,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAkBpE;;OAEG;WACW,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAWjE;;OAEG;WACW,kBAAkB,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAMzE,qDAAqD;IACrD,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAQrC;;;;OAIG;WACW,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO;IAMnF;;;;;OAKG;WACW,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO;IAIjG;;;;;;;;OAQG;WACW,0BAA0B,CAAC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO;IAgBrH;;;;OAIG;WACW,kBAAkB,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO;IAM/D;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAOpC;;;;;;;OAOG;WACW,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,eAAe,GAAE,iBAAsB,EAAE,QAAQ,wBAA8B;IAS3K;;OAEG;WACW,qBAAqB;IAInC;;OAEG;WACW,iBAAiB;IAI/B,mGAAmG;WACrF,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIhD,6EAA6E;WAC/D,gBAAgB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM;IAQzE,wEAAwE;WAC1D,WAAW,CAAC,OAAO,EAAE,wBAAwB,GAAG,eAAe;IA2B7E,2EAA2E;WAC7D,WAAW,CAAC,OAAO,EAAE,wBAAwB,GAAG,kBAAkB;IA2BhF;;;;;OAKG;WACiB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;IAU1I,gBAAgB;WACF,mBAAmB,CAAC,cAAc,EAAE,wBAAwB,GAAG,IAAI;IAkBjF,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAejC;;;OAGG;WACW,iBAAiB,CAAC,YAAY,EAAE,0BAA0B,GAAG,SAAS;IAIpF;;;;;OAKG;WACW,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI;IAKjI,gBAAgB;WACF,gBAAgB,IAAI,IAAI;CAQvC"}
@@ -9,8 +9,8 @@ import classnames from "classnames";
9
9
  import * as _ from "lodash";
10
10
  import * as React from "react";
11
11
  import { ActivityMessageDetails, IModelApp, MessageBoxIconType, MessageBoxType, OutputMessageAlert, OutputMessagePriority, OutputMessageType, } from "@itwin/core-frontend";
12
- import { MessageSeverity } from "@itwin/appui-abstract";
13
- import { MessageContainer, UiEvent } from "@itwin/core-react";
12
+ import { MessageSeverity, UiEvent } from "@itwin/appui-abstract";
13
+ import { MessageContainer } from "@itwin/core-react";
14
14
  import { ConfigurableUiActionId } from "../configurableui/state";
15
15
  import { ModalDialogManager } from "../dialog/ModalDialogManager";
16
16
  import { StandardMessageBox } from "../dialog/StandardMessageBox";
@@ -261,7 +261,10 @@ export class MessageManager {
261
261
  let severity = MessageSeverity.None;
262
262
  switch (details.priority) {
263
263
  case OutputMessagePriority.None:
264
- severity = MessageSeverity.None;
264
+ severity = MessageSeverity.Success;
265
+ break;
266
+ case OutputMessagePriority.Success:
267
+ severity = MessageSeverity.Success;
265
268
  break;
266
269
  case OutputMessagePriority.Info:
267
270
  severity = MessageSeverity.Information;
@@ -285,6 +288,9 @@ export class MessageManager {
285
288
  case OutputMessagePriority.None:
286
289
  iconType = MessageBoxIconType.NoSymbol;
287
290
  break;
291
+ case OutputMessagePriority.Success:
292
+ iconType = MessageBoxIconType.Success;
293
+ break;
288
294
  case OutputMessagePriority.Info:
289
295
  iconType = MessageBoxIconType.Information;
290
296
  break;