@itwin/appui-react 3.0.0-extension.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (937) hide show
  1. package/CHANGELOG.md +201 -16
  2. package/LICENSE.md +1 -1
  3. package/README.md +3 -3
  4. package/lib/cjs/appui-react/UiFramework.d.ts +37 -22
  5. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  6. package/lib/cjs/appui-react/UiFramework.js +53 -38
  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 +4 -5
  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 +10 -3
  55. package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
  56. package/lib/cjs/appui-react/configurableui/state.js +15 -2
  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 +11 -1
  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.d.ts +12 -9
  142. package/lib/cjs/appui-react/hooks/useFrameworkVersion.d.ts.map +1 -1
  143. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js +19 -21
  144. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  145. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts +6 -0
  146. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts.map +1 -0
  147. package/lib/cjs/appui-react/hooks/useUiVisibility.js +27 -0
  148. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -0
  149. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +1 -1
  150. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  151. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js +6 -7
  152. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  153. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +3 -3
  154. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  155. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +3 -2
  156. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  157. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -5
  158. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  159. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  160. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +1 -1
  161. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  162. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +81 -68
  163. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  164. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  165. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  166. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
  167. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  168. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +1 -1
  169. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  170. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  171. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  172. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js +3 -2
  173. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  174. package/lib/cjs/appui-react/messages/AppNotificationManager.d.ts +1 -1
  175. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
  176. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  177. package/lib/cjs/appui-react/messages/MessageManager.d.ts +1 -2
  178. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  179. package/lib/cjs/appui-react/messages/MessageManager.js +15 -9
  180. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  181. package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -2
  182. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  183. package/lib/cjs/appui-react/messages/Pointer.js +4 -3
  184. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  185. package/lib/cjs/appui-react/messages/ToastMessage.js +2 -1
  186. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  187. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
  188. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  189. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +2 -2
  190. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  191. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
  192. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  193. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
  194. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  195. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +6 -4
  196. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  197. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +3 -0
  198. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  199. package/lib/cjs/appui-react/pickers/ListPicker.js +24 -9
  200. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  201. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +1 -1
  202. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  203. package/lib/cjs/appui-react/pickers/ViewSelector.js +9 -9
  204. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  205. package/lib/cjs/appui-react/popup/CardPopup.d.ts +7 -4
  206. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  207. package/lib/cjs/appui-react/popup/CardPopup.js +3 -2
  208. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  209. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +3 -2
  210. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  211. package/lib/cjs/appui-react/popup/InputEditorPopup.js +1 -1
  212. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  213. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +6 -6
  214. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  215. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +3 -2
  216. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  217. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +1 -1
  218. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  219. package/lib/cjs/appui-react/popup/PopupManager.d.ts +10 -10
  220. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  221. package/lib/cjs/appui-react/popup/PopupManager.js +4 -4
  222. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  223. package/lib/cjs/appui-react/popup/PositionPopup.d.ts +5 -3
  224. package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
  225. package/lib/cjs/appui-react/popup/PositionPopup.js +3 -2
  226. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  227. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts +3 -2
  228. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  229. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +1 -1
  230. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  231. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +4 -3
  232. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  233. package/lib/cjs/appui-react/popup/ToolbarPopup.js +2 -2
  234. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  235. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  236. package/lib/cjs/appui-react/redux/SessionState.d.ts +0 -6
  237. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  238. package/lib/cjs/appui-react/redux/SessionState.js +0 -8
  239. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  240. package/lib/cjs/appui-react/redux/StateManager.d.ts +1 -1
  241. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  242. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js +7 -7
  243. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  244. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  245. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  246. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  247. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  248. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +28 -19
  249. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  250. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  251. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  252. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  253. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
  254. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  255. package/lib/cjs/appui-react/shared/ItemDefBase.js +1 -1
  256. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  257. package/lib/cjs/appui-react/shared/ItemProps.d.ts +2 -2
  258. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  259. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts +1 -1
  260. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  261. package/lib/cjs/appui-react/shared/ToolItemDef.js +2 -2
  262. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  263. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  264. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js +1 -0
  265. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  266. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts +2 -2
  267. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  268. package/lib/cjs/appui-react/stagepanels/StagePanel.js +1 -0
  269. package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
  270. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +26 -3
  271. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  272. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +26 -6
  273. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  274. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  275. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts.map +1 -1
  276. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js +2 -1
  277. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  278. package/lib/cjs/appui-react/statusbar/StatusBar.js +2 -1
  279. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  280. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  281. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +17 -5
  282. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  283. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  284. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  285. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  286. package/lib/cjs/appui-react/statusfields/Indicator.d.ts +15 -14
  287. package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
  288. package/lib/cjs/appui-react/statusfields/Indicator.js +23 -21
  289. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  290. package/lib/cjs/appui-react/statusfields/Indicator.scss +29 -18
  291. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  292. package/lib/cjs/appui-react/statusfields/MessageCenter.js +2 -1
  293. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  294. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts +1 -0
  295. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  296. package/lib/cjs/appui-react/statusfields/SelectionScope.js +6 -4
  297. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  298. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +13 -3
  299. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +2 -10
  300. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  301. package/lib/cjs/appui-react/statusfields/SnapMode.js +4 -34
  302. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  303. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -6
  304. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  305. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +1 -25
  306. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  307. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +7 -7
  308. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  309. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -12
  310. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  311. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -3
  312. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts +2 -2
  313. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts.map +1 -1
  314. package/lib/cjs/appui-react/syncui/BooleanListener.js +2 -1
  315. package/lib/cjs/appui-react/syncui/BooleanListener.js.map +1 -1
  316. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts +8 -18
  317. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  318. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +30 -103
  319. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  320. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js +2 -1
  321. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  322. package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  323. package/lib/cjs/appui-react/toolbar/ActionItemButton.js +2 -1
  324. package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
  325. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js +24 -20
  326. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  327. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/toolbar/GroupItem.js +33 -29
  329. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  330. package/lib/cjs/appui-react/toolbar/ToolButton.js +3 -2
  331. package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
  332. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  333. package/lib/cjs/appui-react/toolbar/Toolbar.js +3 -2
  334. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  335. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  336. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +22 -20
  337. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  338. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  339. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +4 -4
  340. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  341. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.d.ts +2 -2
  342. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js +2 -2
  343. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  344. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +8 -10
  345. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  346. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +17 -36
  347. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  348. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +7 -9
  349. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  350. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +12 -20
  351. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  352. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +7 -9
  353. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  354. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +39 -50
  355. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  356. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +7 -4
  357. package/lib/{esm/appui-react/uisettings → cjs/appui-react/uistate}/AppUiSettings.d.ts +11 -9
  358. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -0
  359. package/lib/cjs/appui-react/{uisettings → uistate}/AppUiSettings.js +12 -8
  360. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -0
  361. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts +15 -0
  362. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -0
  363. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js +62 -0
  364. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js.map +1 -0
  365. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts +20 -0
  366. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -0
  367. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +38 -0
  368. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -0
  369. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts +5 -5
  370. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  371. package/lib/cjs/appui-react/utils/UiShowHideManager.js +8 -8
  372. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  373. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  374. package/lib/cjs/appui-react/widget-panels/Content.js +1 -4
  375. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  376. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +98 -8
  377. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  378. package/lib/cjs/appui-react/widget-panels/Frontstage.js +104 -104
  379. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  380. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts +22 -0
  381. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -0
  382. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +56 -0
  383. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -0
  384. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  385. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +3 -2
  386. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  387. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +0 -2
  388. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  389. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +6 -18
  390. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  391. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +9 -0
  392. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  393. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +12 -2
  394. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  395. package/lib/cjs/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  396. package/lib/cjs/appui-react/widgets/NavigationWidget.js +2 -1
  397. package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +1 -1
  398. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +1 -0
  399. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  400. package/lib/cjs/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  401. package/lib/cjs/appui-react/widgets/StableWidgetDef.js +1 -1
  402. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  403. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js +2 -1
  404. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  405. package/lib/cjs/appui-react/widgets/ToolWidget.js +3 -2
  406. package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
  407. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts +0 -12
  408. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  409. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js +1 -36
  410. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  411. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -0
  412. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts.map +1 -1
  413. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js +5 -2
  414. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  415. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  416. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  417. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +3 -3
  418. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  419. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -3
  420. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  421. package/lib/cjs/appui-react/widgets/WidgetDef.js +18 -7
  422. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  423. package/lib/cjs/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  424. package/lib/cjs/appui-react/widgets/WidgetHost.js +1 -0
  425. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  426. package/lib/cjs/appui-react/widgets/WidgetStack.d.ts.map +1 -1
  427. package/lib/cjs/appui-react/widgets/WidgetStack.js +2 -0
  428. package/lib/cjs/appui-react/widgets/WidgetStack.js.map +1 -1
  429. package/lib/cjs/appui-react/zones/FrameworkZone.js.map +1 -1
  430. package/lib/cjs/appui-react/zones/StatusBarZone.js.map +1 -1
  431. package/lib/cjs/appui-react/zones/Zone.d.ts +1 -1
  432. package/lib/cjs/appui-react/zones/Zone.d.ts.map +1 -1
  433. package/lib/cjs/appui-react/zones/Zone.js +2 -1
  434. package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
  435. package/lib/cjs/appui-react/zones/ZoneDef.d.ts +4 -4
  436. package/lib/cjs/appui-react/zones/ZoneDef.d.ts.map +1 -1
  437. package/lib/cjs/appui-react/zones/ZoneDef.js +5 -4
  438. package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
  439. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
  440. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  441. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js +3 -2
  442. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  443. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  444. package/lib/cjs/appui-react.d.ts +16 -18
  445. package/lib/cjs/appui-react.d.ts.map +1 -1
  446. package/lib/cjs/appui-react.js +16 -18
  447. package/lib/cjs/appui-react.js.map +1 -1
  448. package/lib/esm/appui-react/UiFramework.d.ts +37 -22
  449. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  450. package/lib/esm/appui-react/UiFramework.js +52 -37
  451. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  452. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts +3 -3
  453. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  454. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +3 -3
  455. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  456. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +1 -1
  457. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  458. package/lib/esm/appui-react/accudraw/Calculator.js +1 -1
  459. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  460. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +4 -4
  461. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  462. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +6 -5
  463. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  464. package/lib/esm/appui-react/backstage/Backstage.d.ts +0 -2
  465. package/lib/esm/appui-react/backstage/Backstage.d.ts.map +1 -1
  466. package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
  467. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +2 -0
  468. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  469. package/lib/esm/appui-react/backstage/BackstageComposer.js +27 -9
  470. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  471. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +2 -2
  472. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -1
  473. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  474. package/lib/esm/appui-react/backstage/BackstageItemProps.d.ts +3 -3
  475. package/lib/esm/appui-react/backstage/BackstageItemProps.js +1 -1
  476. package/lib/esm/appui-react/backstage/BackstageItemProps.js.map +1 -1
  477. package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts +5 -5
  478. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js +3 -3
  479. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  480. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts +2 -0
  481. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts.map +1 -1
  482. package/lib/esm/appui-react/backstage/CommandLaunch.js +1 -0
  483. package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
  484. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts +4 -0
  485. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts.map +1 -1
  486. package/lib/esm/appui-react/backstage/FrontstageLaunch.js +5 -6
  487. package/lib/esm/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  488. package/lib/esm/appui-react/backstage/Separator.d.ts +1 -0
  489. package/lib/esm/appui-react/backstage/Separator.d.ts.map +1 -1
  490. package/lib/esm/appui-react/backstage/Separator.js +3 -2
  491. package/lib/esm/appui-react/backstage/Separator.js.map +1 -1
  492. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts +1 -1
  493. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
  494. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +4 -5
  495. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  496. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  497. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  498. package/lib/esm/appui-react/configurableui/state.d.ts +10 -3
  499. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  500. package/lib/esm/appui-react/configurableui/state.js +15 -2
  501. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  502. package/lib/esm/appui-react/content/ContentControl.d.ts +1 -1
  503. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  504. package/lib/esm/appui-react/content/ContentControl.js +1 -1
  505. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  506. package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -2
  507. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  508. package/lib/esm/appui-react/content/ContentLayout.js +3 -2
  509. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  510. package/lib/esm/appui-react/content/ContentViewManager.d.ts +1 -1
  511. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
  512. package/lib/esm/appui-react/content/ContentViewManager.js +1 -1
  513. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  514. package/lib/esm/appui-react/content/IModelViewport.d.ts +13 -1
  515. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  516. package/lib/esm/appui-react/content/IModelViewport.js +16 -4
  517. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  518. package/lib/esm/appui-react/content/{SavedViewLayout.d.ts → StageContentLayout.d.ts} +11 -11
  519. package/lib/esm/appui-react/content/StageContentLayout.d.ts.map +1 -0
  520. package/lib/esm/appui-react/content/{SavedViewLayout.js → StageContentLayout.js} +17 -15
  521. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -0
  522. package/lib/esm/appui-react/content/{SavedView.d.ts → ViewStateHelper.d.ts} +7 -7
  523. package/lib/esm/appui-react/content/ViewStateHelper.d.ts.map +1 -0
  524. package/lib/esm/appui-react/content/{SavedView.js → ViewStateHelper.js} +2 -2
  525. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -0
  526. package/lib/esm/appui-react/content/split-pane/Pane.d.ts +21 -0
  527. package/lib/esm/appui-react/content/split-pane/Pane.d.ts.map +1 -0
  528. package/lib/esm/appui-react/content/split-pane/Pane.js +39 -0
  529. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -0
  530. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts +23 -0
  531. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts.map +1 -0
  532. package/lib/esm/appui-react/content/split-pane/Resizer.js +35 -0
  533. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -0
  534. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts +70 -0
  535. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts.map +1 -0
  536. package/lib/esm/appui-react/content/split-pane/SplitPane.js +239 -0
  537. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -0
  538. package/lib/esm/appui-react/cursor/CursorInformation.d.ts +1 -2
  539. package/lib/esm/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  540. package/lib/esm/appui-react/cursor/CursorInformation.js +2 -2
  541. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  542. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  543. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  544. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +2 -2
  545. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  546. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +2 -2
  547. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  548. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +1 -1
  549. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  550. package/lib/esm/appui-react/dialog/DialogManagerBase.js +1 -1
  551. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  552. package/lib/esm/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  553. package/lib/esm/appui-react/dialog/StandardMessageBox.js +3 -0
  554. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  555. package/lib/esm/appui-react/dragdrop/ZoneTargets.d.ts.map +1 -1
  556. package/lib/esm/appui-react/dragdrop/ZoneTargets.js +8 -4
  557. package/lib/esm/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  558. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +2 -2
  559. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  560. package/lib/esm/appui-react/feedback/ElementTooltip.js +4 -2
  561. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  562. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +1 -0
  563. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  564. package/lib/esm/appui-react/frontstage/Frontstage.js +32 -13
  565. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  566. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts +3 -0
  567. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  568. package/lib/esm/appui-react/frontstage/FrontstageComposer.js +16 -1
  569. package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  570. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +20 -2
  571. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  572. package/lib/esm/appui-react/frontstage/FrontstageDef.js +166 -5
  573. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  574. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +3 -0
  575. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  576. package/lib/esm/appui-react/frontstage/FrontstageManager.js +11 -1
  577. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  578. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +6 -0
  579. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  580. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  581. package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  582. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  583. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  584. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  585. package/lib/esm/appui-react/hooks/useFrameworkVersion.d.ts +12 -9
  586. package/lib/esm/appui-react/hooks/useFrameworkVersion.d.ts.map +1 -1
  587. package/lib/esm/appui-react/hooks/useFrameworkVersion.js +19 -21
  588. package/lib/esm/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  589. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts +6 -0
  590. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts.map +1 -0
  591. package/lib/esm/appui-react/hooks/useUiVisibility.js +23 -0
  592. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -0
  593. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +1 -1
  594. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  595. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js +6 -7
  596. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  597. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +3 -3
  598. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  599. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +3 -2
  600. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  601. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -5
  602. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  603. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  604. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +1 -1
  605. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  606. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +83 -70
  607. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  608. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  609. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  610. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
  611. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  612. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -2
  613. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  614. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  615. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  616. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js +3 -2
  617. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  618. package/lib/esm/appui-react/messages/AppNotificationManager.d.ts +1 -1
  619. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
  620. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  621. package/lib/esm/appui-react/messages/MessageManager.d.ts +1 -2
  622. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  623. package/lib/esm/appui-react/messages/MessageManager.js +9 -3
  624. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  625. package/lib/esm/appui-react/messages/Pointer.d.ts +2 -2
  626. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  627. package/lib/esm/appui-react/messages/Pointer.js +4 -3
  628. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  629. package/lib/esm/appui-react/messages/ToastMessage.js +2 -1
  630. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  631. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
  632. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  633. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -1
  634. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  635. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
  636. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  637. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
  638. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  639. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +6 -4
  640. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  641. package/lib/esm/appui-react/pickers/ListPicker.d.ts +3 -0
  642. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  643. package/lib/esm/appui-react/pickers/ListPicker.js +23 -9
  644. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  645. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +1 -1
  646. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  647. package/lib/esm/appui-react/pickers/ViewSelector.js +7 -7
  648. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  649. package/lib/esm/appui-react/popup/CardPopup.d.ts +7 -4
  650. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  651. package/lib/esm/appui-react/popup/CardPopup.js +3 -2
  652. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  653. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +3 -2
  654. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  655. package/lib/esm/appui-react/popup/InputEditorPopup.js +1 -1
  656. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  657. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +7 -7
  658. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  659. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +3 -2
  660. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  661. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +1 -1
  662. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  663. package/lib/esm/appui-react/popup/PopupManager.d.ts +10 -10
  664. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  665. package/lib/esm/appui-react/popup/PopupManager.js +5 -5
  666. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  667. package/lib/esm/appui-react/popup/PositionPopup.d.ts +5 -3
  668. package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
  669. package/lib/esm/appui-react/popup/PositionPopup.js +3 -2
  670. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  671. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts +3 -2
  672. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  673. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +1 -1
  674. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  675. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +4 -3
  676. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  677. package/lib/esm/appui-react/popup/ToolbarPopup.js +2 -2
  678. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  679. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  680. package/lib/esm/appui-react/redux/SessionState.d.ts +0 -6
  681. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  682. package/lib/esm/appui-react/redux/SessionState.js +0 -8
  683. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  684. package/lib/esm/appui-react/redux/StateManager.d.ts +1 -1
  685. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  686. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js +7 -7
  687. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  688. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  689. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  690. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  691. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  692. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +28 -19
  693. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  694. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  695. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  696. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  697. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
  698. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  699. package/lib/esm/appui-react/shared/ItemDefBase.js +1 -1
  700. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  701. package/lib/esm/appui-react/shared/ItemProps.d.ts +2 -2
  702. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  703. package/lib/esm/appui-react/shared/ToolItemDef.d.ts +1 -1
  704. package/lib/esm/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  705. package/lib/esm/appui-react/shared/ToolItemDef.js +2 -2
  706. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  707. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  708. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js +1 -0
  709. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  710. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts +2 -2
  711. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  712. package/lib/esm/appui-react/stagepanels/StagePanel.js +1 -0
  713. package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
  714. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +26 -3
  715. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  716. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +25 -5
  717. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  718. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  719. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts.map +1 -1
  720. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js +2 -1
  721. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  722. package/lib/esm/appui-react/statusbar/StatusBar.js +2 -1
  723. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  724. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  725. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +17 -5
  726. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  727. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  728. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  729. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  730. package/lib/esm/appui-react/statusfields/Indicator.d.ts +15 -14
  731. package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
  732. package/lib/esm/appui-react/statusfields/Indicator.js +23 -21
  733. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  734. package/lib/esm/appui-react/statusfields/Indicator.scss +29 -18
  735. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  736. package/lib/esm/appui-react/statusfields/MessageCenter.js +2 -1
  737. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  738. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts +1 -0
  739. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  740. package/lib/esm/appui-react/statusfields/SelectionScope.js +6 -4
  741. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  742. package/lib/esm/appui-react/statusfields/SelectionScope.scss +13 -3
  743. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +2 -10
  744. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  745. package/lib/esm/appui-react/statusfields/SnapMode.js +5 -35
  746. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  747. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -6
  748. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  749. package/lib/esm/appui-react/statusfields/ViewAttributes.js +2 -26
  750. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  751. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +7 -7
  752. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  753. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +14 -13
  754. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  755. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -3
  756. package/lib/esm/appui-react/syncui/BooleanListener.d.ts +2 -2
  757. package/lib/esm/appui-react/syncui/BooleanListener.d.ts.map +1 -1
  758. package/lib/esm/appui-react/syncui/BooleanListener.js +2 -1
  759. package/lib/esm/appui-react/syncui/BooleanListener.js.map +1 -1
  760. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts +8 -18
  761. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  762. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +29 -101
  763. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  764. package/lib/esm/appui-react/toolbar/ActionButtonItem.js +2 -1
  765. package/lib/esm/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  766. package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  767. package/lib/esm/appui-react/toolbar/ActionItemButton.js +2 -1
  768. package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
  769. package/lib/esm/appui-react/toolbar/GroupButtonItem.js +24 -20
  770. package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  771. package/lib/esm/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  772. package/lib/esm/appui-react/toolbar/GroupItem.js +33 -29
  773. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  774. package/lib/esm/appui-react/toolbar/ToolButton.js +3 -2
  775. package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
  776. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  777. package/lib/esm/appui-react/toolbar/Toolbar.js +3 -2
  778. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  779. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  780. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +22 -20
  781. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  782. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  783. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +4 -4
  784. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  785. package/lib/esm/appui-react/tools/MarkupToolDefinitions.d.ts +2 -2
  786. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js +2 -2
  787. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  788. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +8 -10
  789. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  790. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +18 -37
  791. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  792. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +7 -9
  793. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  794. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +13 -21
  795. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  796. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +7 -9
  797. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  798. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +40 -51
  799. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  800. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +7 -4
  801. package/lib/{cjs/appui-react/uisettings → esm/appui-react/uistate}/AppUiSettings.d.ts +11 -9
  802. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -0
  803. package/lib/esm/appui-react/{uisettings → uistate}/AppUiSettings.js +13 -9
  804. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -0
  805. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts +15 -0
  806. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -0
  807. package/lib/esm/appui-react/uistate/UserSettingsStorage.js +58 -0
  808. package/lib/esm/appui-react/uistate/UserSettingsStorage.js.map +1 -0
  809. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts +20 -0
  810. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -0
  811. package/lib/esm/appui-react/uistate/useUiStateStorage.js +33 -0
  812. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -0
  813. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts +5 -5
  814. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  815. package/lib/esm/appui-react/utils/UiShowHideManager.js +9 -9
  816. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  817. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  818. package/lib/esm/appui-react/widget-panels/Content.js +1 -4
  819. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  820. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +98 -8
  821. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  822. package/lib/esm/appui-react/widget-panels/Frontstage.js +104 -103
  823. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  824. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts +22 -0
  825. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -0
  826. package/lib/esm/appui-react/widgets/BackstageAppButton.js +52 -0
  827. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -0
  828. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  829. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +2 -1
  830. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  831. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +0 -2
  832. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  833. package/lib/esm/appui-react/widgets/BasicToolWidget.js +4 -15
  834. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  835. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +9 -0
  836. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  837. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +11 -1
  838. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  839. package/lib/esm/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  840. package/lib/esm/appui-react/widgets/NavigationWidget.js +2 -1
  841. package/lib/esm/appui-react/widgets/NavigationWidget.js.map +1 -1
  842. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +1 -0
  843. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  844. package/lib/esm/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  845. package/lib/esm/appui-react/widgets/StableWidgetDef.js +1 -1
  846. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  847. package/lib/esm/appui-react/widgets/ToolSettingsContent.js +2 -1
  848. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  849. package/lib/esm/appui-react/widgets/ToolWidget.js +3 -2
  850. package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
  851. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts +0 -12
  852. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  853. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js +2 -36
  854. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  855. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -0
  856. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts.map +1 -1
  857. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js +5 -2
  858. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  859. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  860. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  861. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +2 -2
  862. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  863. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -3
  864. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  865. package/lib/esm/appui-react/widgets/WidgetDef.js +18 -7
  866. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  867. package/lib/esm/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  868. package/lib/esm/appui-react/widgets/WidgetHost.js +1 -0
  869. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  870. package/lib/esm/appui-react/widgets/WidgetStack.d.ts.map +1 -1
  871. package/lib/esm/appui-react/widgets/WidgetStack.js +2 -0
  872. package/lib/esm/appui-react/widgets/WidgetStack.js.map +1 -1
  873. package/lib/esm/appui-react/zones/FrameworkZone.js.map +1 -1
  874. package/lib/esm/appui-react/zones/StatusBarZone.js.map +1 -1
  875. package/lib/esm/appui-react/zones/Zone.d.ts +1 -1
  876. package/lib/esm/appui-react/zones/Zone.d.ts.map +1 -1
  877. package/lib/esm/appui-react/zones/Zone.js +2 -1
  878. package/lib/esm/appui-react/zones/Zone.js.map +1 -1
  879. package/lib/esm/appui-react/zones/ZoneDef.d.ts +4 -4
  880. package/lib/esm/appui-react/zones/ZoneDef.d.ts.map +1 -1
  881. package/lib/esm/appui-react/zones/ZoneDef.js +5 -4
  882. package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
  883. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
  884. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  885. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js +2 -1
  886. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  887. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  888. package/lib/esm/appui-react.d.ts +16 -18
  889. package/lib/esm/appui-react.d.ts.map +1 -1
  890. package/lib/esm/appui-react.js +16 -18
  891. package/lib/esm/appui-react.js.map +1 -1
  892. package/lib/public/locales/en/UiFramework.json +9 -2
  893. package/package.json +45 -53
  894. package/lib/cjs/appui-react/UserInfo.d.ts +0 -58
  895. package/lib/cjs/appui-react/UserInfo.d.ts.map +0 -1
  896. package/lib/cjs/appui-react/UserInfo.js +0 -34
  897. package/lib/cjs/appui-react/UserInfo.js.map +0 -1
  898. package/lib/cjs/appui-react/content/SavedView.d.ts.map +0 -1
  899. package/lib/cjs/appui-react/content/SavedView.js.map +0 -1
  900. package/lib/cjs/appui-react/content/SavedViewLayout.d.ts.map +0 -1
  901. package/lib/cjs/appui-react/content/SavedViewLayout.js.map +0 -1
  902. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.d.ts +0 -25
  903. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.d.ts.map +0 -1
  904. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js +0 -34
  905. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js.map +0 -1
  906. package/lib/cjs/appui-react/uisettings/AppUiSettings.d.ts.map +0 -1
  907. package/lib/cjs/appui-react/uisettings/AppUiSettings.js.map +0 -1
  908. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.d.ts +0 -23
  909. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.d.ts.map +0 -1
  910. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js +0 -74
  911. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js.map +0 -1
  912. package/lib/cjs/appui-react/uisettings/useUiSettings.d.ts +0 -21
  913. package/lib/cjs/appui-react/uisettings/useUiSettings.d.ts.map +0 -1
  914. package/lib/cjs/appui-react/uisettings/useUiSettings.js +0 -28
  915. package/lib/cjs/appui-react/uisettings/useUiSettings.js.map +0 -1
  916. package/lib/esm/appui-react/UserInfo.d.ts +0 -58
  917. package/lib/esm/appui-react/UserInfo.d.ts.map +0 -1
  918. package/lib/esm/appui-react/UserInfo.js +0 -30
  919. package/lib/esm/appui-react/UserInfo.js.map +0 -1
  920. package/lib/esm/appui-react/content/SavedView.d.ts.map +0 -1
  921. package/lib/esm/appui-react/content/SavedView.js.map +0 -1
  922. package/lib/esm/appui-react/content/SavedViewLayout.d.ts.map +0 -1
  923. package/lib/esm/appui-react/content/SavedViewLayout.js.map +0 -1
  924. package/lib/esm/appui-react/stagepanels/StagePanelEnums.d.ts +0 -25
  925. package/lib/esm/appui-react/stagepanels/StagePanelEnums.d.ts.map +0 -1
  926. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js +0 -31
  927. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js.map +0 -1
  928. package/lib/esm/appui-react/uisettings/AppUiSettings.d.ts.map +0 -1
  929. package/lib/esm/appui-react/uisettings/AppUiSettings.js.map +0 -1
  930. package/lib/esm/appui-react/uisettings/UserSettingsStorage.d.ts +0 -23
  931. package/lib/esm/appui-react/uisettings/UserSettingsStorage.d.ts.map +0 -1
  932. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js +0 -68
  933. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js.map +0 -1
  934. package/lib/esm/appui-react/uisettings/useUiSettings.d.ts +0 -21
  935. package/lib/esm/appui-react/uisettings/useUiSettings.d.ts.map +0 -1
  936. package/lib/esm/appui-react/uisettings/useUiSettings.js +0 -23
  937. package/lib/esm/appui-react/uisettings/useUiSettings.js.map +0 -1
@@ -7,8 +7,8 @@
7
7
  */
8
8
  import * as React from "react";
9
9
  import { Logger } from "@itwin/core-bentley";
10
- import { PropertyRecord, PropertyValueFormat, } from "@itwin/appui-abstract";
11
- import { Orientation, Rectangle, UiEvent } from "@itwin/core-react";
10
+ import { PropertyRecord, PropertyValueFormat, UiEvent, } from "@itwin/appui-abstract";
11
+ import { Orientation, Rectangle } from "@itwin/core-react";
12
12
  import { offsetAndContainInContainer } from "@itwin/appui-layout-react";
13
13
  import { UiFramework } from "../UiFramework";
14
14
  import { CardPopup } from "./CardPopup";
@@ -18,7 +18,7 @@ import { KeyinPalettePopup } from "./KeyinPalettePopup";
18
18
  import { ToolbarPopup } from "./ToolbarPopup";
19
19
  import { ToolSettingsPopup } from "./ToolSettingsPopup";
20
20
  /** Popups Changed Event class.
21
- * @alpha
21
+ * @public
22
22
  */
23
23
  export class PopupsChangedEvent extends UiEvent {
24
24
  }
@@ -29,7 +29,7 @@ export const isReactContent = (content) => {
29
29
  return content.reactNode !== undefined;
30
30
  };
31
31
  /** Popup Manager class
32
- * @alpha
32
+ * @public
33
33
  */
34
34
  export class PopupManager {
35
35
  static get popupCount() { return this._popups.length; }
@@ -189,7 +189,7 @@ PopupManager._keyPalettePopupId = "KeyinPalette";
189
189
  PopupManager._defaultOffset = { x: 8, y: 8 };
190
190
  PopupManager.onPopupsChangedEvent = new PopupsChangedEvent();
191
191
  /** Popup Renderer
192
- * @alpha
192
+ * @public
193
193
  */
194
194
  export class PopupRenderer extends React.Component {
195
195
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"PopupManager.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/PopupManager.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 Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\nimport {\r\n AbstractToolbarProps, DialogLayoutDataProvider, OnCancelFunc, OnItemExecutedFunc, OnValueCommitFunc, Primitives, PrimitiveValue,\r\n PropertyDescription, PropertyRecord, PropertyValueFormat, RelativePosition,\r\n} from \"@itwin/appui-abstract\";\r\nimport { Orientation, Point, Rectangle, SizeProps, UiEvent } from \"@itwin/core-react\";\r\nimport { offsetAndContainInContainer } from \"@itwin/appui-layout-react\";\r\nimport { KeyinEntry } from \"../uiadmin/FrameworkUiAdmin\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { CardPopup } from \"./CardPopup\";\r\nimport { HTMLElementPopup } from \"./HTMLElementPopup\";\r\nimport { InputEditorCommitHandler, InputEditorPopup } from \"./InputEditorPopup\";\r\nimport { KeyinPalettePopup } from \"./KeyinPalettePopup\";\r\nimport { ToolbarPopup } from \"./ToolbarPopup\";\r\nimport { ToolSettingsPopup } from \"./ToolSettingsPopup\";\r\n\r\n// cSpell:ignore uiadmin\r\n\r\n/** Information maintained by PopupManager about a Popup\r\n * @alpha\r\n */\r\nexport interface PopupInfo {\r\n id: string;\r\n pt: XAndY;\r\n component: React.ReactNode;\r\n parentDocument: Document;\r\n}\r\n\r\n/** @alpha */\r\nexport interface PopupsChangedEventArgs {\r\n popups: ReadonlyArray<PopupInfo>;\r\n}\r\n\r\n/** Popups Changed Event class.\r\n * @alpha\r\n */\r\nexport class PopupsChangedEvent extends UiEvent<PopupsChangedEventArgs> { }\r\n\r\n/** Props for each popup managed by the PopupManager\r\n * @alpha\r\n */\r\nexport interface PopupPropsBase {\r\n id: string;\r\n el: HTMLElement;\r\n pt: XAndY;\r\n offset: XAndY;\r\n}\r\n\r\n/** Describes React based content\r\n * @alpha\r\n */\r\nexport interface ReactContent {\r\n reactNode: React.ReactNode;\r\n}\r\n\r\n/** Type for Popup Content\r\n * @alpha\r\n */\r\nexport type PopupContentType = HTMLElement | ReactContent;\r\n\r\n/** ReactContent type guard.\r\n * @internal\r\n */\r\nexport const isReactContent = (content: PopupContentType): content is ReactContent => {\r\n return (content as ReactContent).reactNode !== undefined;\r\n};\r\n\r\n/** Popup Manager class\r\n * @alpha\r\n */\r\nexport class PopupManager {\r\n private static _popups: ReadonlyArray<PopupInfo> = [];\r\n private static _editorId = \"InputEditor\";\r\n private static _toolbarId = \"Toolbar\";\r\n private static _htmlElementId = \"HTMLElement\";\r\n private static _cardId = \"Card\";\r\n private static _toolSettingsId = \"ToolSettings\";\r\n private static _keyPalettePopupId = \"KeyinPalette\";\r\n\r\n private static _defaultOffset = { x: 8, y: 8 };\r\n\r\n public static readonly onPopupsChangedEvent = new PopupsChangedEvent();\r\n\r\n public static get popupCount() { return this._popups.length; }\r\n public static get popups() { return this._popups; }\r\n\r\n public static set popups(popups: ReadonlyArray<PopupInfo>) {\r\n // istanbul ignore if\r\n if (this._popups === popups)\r\n return;\r\n this._popups = popups;\r\n this.onPopupsChangedEvent.emit({ popups });\r\n }\r\n\r\n /** @internal */\r\n public static clearPopups() {\r\n this.popups = [];\r\n }\r\n\r\n private static addPopup(popupInfo: PopupInfo): void {\r\n const popups = [\r\n ...PopupManager._popups,\r\n popupInfo,\r\n ];\r\n this.popups = popups;\r\n }\r\n\r\n private static updatePopup(popupInfo: PopupInfo, itemIndex: number): void {\r\n // istanbul ignore if\r\n if (itemIndex < 0)\r\n return;\r\n\r\n const popups = [\r\n ...PopupManager._popups.slice(0, itemIndex),\r\n popupInfo,\r\n ...PopupManager._popups.slice(itemIndex + 1),\r\n ];\r\n this.popups = popups;\r\n }\r\n\r\n public static addOrUpdatePopup(popupInfo: PopupInfo): void {\r\n const itemIndex = PopupManager._popups.findIndex((info: PopupInfo) => info.id === popupInfo.id);\r\n if (itemIndex >= 0)\r\n PopupManager.updatePopup(popupInfo, itemIndex);\r\n else\r\n PopupManager.addPopup(popupInfo);\r\n }\r\n\r\n public static removePopup(id: string): boolean {\r\n const index = PopupManager._popups.findIndex((info: PopupInfo) => id === info.id);\r\n let result = true;\r\n\r\n if (index >= 0) {\r\n const popups = PopupManager._popups.filter((info: PopupInfo) => {\r\n return info.id !== id;\r\n });\r\n this.popups = popups;\r\n } else {\r\n Logger.logError(UiFramework.loggerCategory(this), `removePopup: Could not find popup with id of '${id}'`);\r\n result = false;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public static get defaultOffset(): XAndY { return PopupManager._defaultOffset; }\r\n public static set defaultOffset(offset: XAndY) { PopupManager._defaultOffset = offset; }\r\n\r\n public static showInputEditor(el: HTMLElement, pt: XAndY, value: Primitives.Value, propertyDescription: PropertyDescription, onCommit: OnValueCommitFunc, onCancel: OnCancelFunc): boolean {\r\n const primitiveValue: PrimitiveValue = {\r\n value,\r\n valueFormat: PropertyValueFormat.Primitive,\r\n };\r\n const record = new PropertyRecord(primitiveValue, propertyDescription);\r\n const commitHandler = new InputEditorCommitHandler(onCommit);\r\n const id = PopupManager._editorId;\r\n const component = (\r\n <InputEditorPopup id={id} el={el} pt={pt} offset={PopupManager.defaultOffset}\r\n record={record} onCancel={onCancel} commitHandler={commitHandler} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideInputEditor(): boolean {\r\n return PopupManager.removePopup(PopupManager._editorId);\r\n }\r\n\r\n public static showKeyinPalette(\r\n keyins: KeyinEntry[], el: HTMLElement, onItemExecuted?: OnItemExecutedFunc, onCancel?: OnCancelFunc,\r\n ): boolean {\r\n\r\n const id = PopupManager._keyPalettePopupId;\r\n const component = (\r\n <KeyinPalettePopup keyins={keyins}\r\n id={id} el={el} onCancel={onCancel} onItemExecuted={onItemExecuted} />\r\n );\r\n\r\n // since the command palette popup is always at top center of specified HTML element and it does not need to move like\r\n // cursor popups just set pt to 0,0.\r\n const pt = { x: 0, y: 0 };\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideKeyinPalette(): boolean {\r\n return PopupManager.removePopup(PopupManager._keyPalettePopupId);\r\n }\r\n\r\n public static showToolbar(\r\n toolbarProps: AbstractToolbarProps, el: HTMLElement, pt: XAndY, offset: XAndY,\r\n onItemExecuted: OnItemExecutedFunc, onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._toolbarId;\r\n const component = (\r\n <ToolbarPopup id={id} el={el} pt={pt} offset={offset}\r\n items={toolbarProps.items} relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} onItemExecuted={onItemExecuted} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideToolbar(): boolean {\r\n return PopupManager.removePopup(PopupManager._toolbarId);\r\n }\r\n\r\n public static showHTMLElement(\r\n displayElement: HTMLElement, el: HTMLElement, pt: XAndY, offset: XAndY,\r\n onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._htmlElementId;\r\n const component = (\r\n <HTMLElementPopup id={id} el={el} pt={pt} offset={offset}\r\n element={displayElement} relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideHTMLElement(): boolean {\r\n return PopupManager.removePopup(PopupManager._htmlElementId);\r\n }\r\n\r\n public static showCard(\r\n content: PopupContentType, title: string | PropertyRecord | undefined, toolbarProps: AbstractToolbarProps | undefined,\r\n el: HTMLElement, pt: XAndY, offset: XAndY,\r\n onItemExecuted: OnItemExecutedFunc, onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._cardId;\r\n const component = (\r\n <CardPopup id={id} el={el} pt={pt} offset={offset}\r\n content={content} title={title} items={toolbarProps ? toolbarProps.items : /* istanbul ignore next */ undefined}\r\n relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} onItemExecuted={onItemExecuted} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideCard(): boolean {\r\n const index = PopupManager._popups.findIndex((info: PopupInfo) => PopupManager._cardId === info.id);\r\n if (index >= 0)\r\n return PopupManager.removePopup(PopupManager._cardId);\r\n return false;\r\n }\r\n\r\n public static openToolSettings(\r\n dataProvider: DialogLayoutDataProvider, el: HTMLElement, pt: XAndY, offset: XAndY, onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._toolSettingsId;\r\n const component = (\r\n <ToolSettingsPopup id={id} el={el} pt={pt} offset={offset}\r\n dataProvider={dataProvider} relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static closeToolSettings(): boolean {\r\n return PopupManager.removePopup(PopupManager._toolSettingsId);\r\n }\r\n\r\n public static getPopupPosition(el: HTMLElement, pt: XAndY, offset: XAndY, size: SizeProps): Point {\r\n const containerBounds = Rectangle.create(el.getBoundingClientRect());\r\n const relativeBounds = Rectangle.createFromSize(size).offset(pt);\r\n const adjustedPosition: Point = offsetAndContainInContainer(relativeBounds, containerBounds.getSize(), offset);\r\n const position = adjustedPosition.offset(containerBounds.topLeft());\r\n\r\n return position;\r\n }\r\n\r\n}\r\n\r\n/** @internal */\r\ninterface PopupRendererState {\r\n parentDocument: Document | null;\r\n popups: ReadonlyArray<PopupInfo>;\r\n}\r\n\r\n/** Popup Renderer\r\n * @alpha\r\n */\r\nexport class PopupRenderer extends React.Component<{}, PopupRendererState> {\r\n /** @internal */\r\n public override readonly state: PopupRendererState = {\r\n parentDocument: null,\r\n popups: PopupManager.popups,\r\n };\r\n\r\n public override componentDidMount(): void {\r\n PopupManager.onPopupsChangedEvent.addListener(this._handlePopupsChangedEvent);\r\n }\r\n\r\n public override componentWillUnmount(): void {\r\n PopupManager.onPopupsChangedEvent.removeListener(this._handlePopupsChangedEvent);\r\n }\r\n\r\n private _handleRefSet = (popupDiv: HTMLElement | null) => {\r\n this.setState({ parentDocument: popupDiv?.ownerDocument ?? null });\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n if (PopupManager.popupCount <= 0)\r\n return null;\r\n\r\n return (\r\n <div className=\"appui-react-popup-render-container\" ref={this._handleRefSet}>\r\n {this.state.parentDocument &&\r\n this.state.popups.filter((info) => info.parentDocument === this.state.parentDocument)\r\n .map((popupInfo: PopupInfo) => {\r\n return (\r\n <React.Fragment key={popupInfo.id}>\r\n {popupInfo.component}\r\n </React.Fragment>\r\n );\r\n })\r\n }\r\n </div>\r\n );\r\n }\r\n\r\n private _handlePopupsChangedEvent = (args: PopupsChangedEventArgs) => {\r\n this.setState({ popups: args.popups });\r\n };\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"PopupManager.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/PopupManager.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 Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\nimport {\r\n AbstractToolbarProps, DialogLayoutDataProvider, OnCancelFunc, OnItemExecutedFunc, OnValueCommitFunc, Primitives, PrimitiveValue,\r\n PropertyDescription, PropertyRecord, PropertyValueFormat, RelativePosition, UiEvent,\r\n} from \"@itwin/appui-abstract\";\r\nimport { Orientation, Point, Rectangle, SizeProps } from \"@itwin/core-react\";\r\nimport { offsetAndContainInContainer } from \"@itwin/appui-layout-react\";\r\nimport { KeyinEntry } from \"../uiadmin/FrameworkUiAdmin\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { CardPopup } from \"./CardPopup\";\r\nimport { HTMLElementPopup } from \"./HTMLElementPopup\";\r\nimport { InputEditorCommitHandler, InputEditorPopup } from \"./InputEditorPopup\";\r\nimport { KeyinPalettePopup } from \"./KeyinPalettePopup\";\r\nimport { ToolbarPopup } from \"./ToolbarPopup\";\r\nimport { ToolSettingsPopup } from \"./ToolSettingsPopup\";\r\n\r\n// cSpell:ignore uiadmin\r\n\r\n/** Information maintained by PopupManager about a Popup\r\n * @public\r\n */\r\nexport interface PopupInfo {\r\n id: string;\r\n pt: XAndY;\r\n component: React.ReactNode;\r\n parentDocument: Document;\r\n}\r\n\r\n/** @public */\r\nexport interface PopupsChangedEventArgs {\r\n popups: ReadonlyArray<PopupInfo>;\r\n}\r\n\r\n/** Popups Changed Event class.\r\n * @public\r\n */\r\nexport class PopupsChangedEvent extends UiEvent<PopupsChangedEventArgs> { }\r\n\r\n/** Props for each popup managed by the PopupManager\r\n * @public\r\n */\r\nexport interface PopupPropsBase {\r\n id: string;\r\n el: HTMLElement;\r\n pt: XAndY;\r\n offset: XAndY;\r\n}\r\n\r\n/** Describes React based content\r\n * @public\r\n */\r\nexport interface ReactContent {\r\n reactNode: React.ReactNode;\r\n}\r\n\r\n/** Type for Popup Content\r\n * @public\r\n */\r\nexport type PopupContentType = HTMLElement | ReactContent;\r\n\r\n/** ReactContent type guard.\r\n * @internal\r\n */\r\nexport const isReactContent = (content: PopupContentType): content is ReactContent => {\r\n return (content as ReactContent).reactNode !== undefined;\r\n};\r\n\r\n/** Popup Manager class\r\n * @public\r\n */\r\nexport class PopupManager {\r\n private static _popups: ReadonlyArray<PopupInfo> = [];\r\n private static _editorId = \"InputEditor\";\r\n private static _toolbarId = \"Toolbar\";\r\n private static _htmlElementId = \"HTMLElement\";\r\n private static _cardId = \"Card\";\r\n private static _toolSettingsId = \"ToolSettings\";\r\n private static _keyPalettePopupId = \"KeyinPalette\";\r\n\r\n private static _defaultOffset = { x: 8, y: 8 };\r\n\r\n public static readonly onPopupsChangedEvent = new PopupsChangedEvent();\r\n\r\n public static get popupCount() { return this._popups.length; }\r\n public static get popups() { return this._popups; }\r\n\r\n public static set popups(popups: ReadonlyArray<PopupInfo>) {\r\n // istanbul ignore if\r\n if (this._popups === popups)\r\n return;\r\n this._popups = popups;\r\n this.onPopupsChangedEvent.emit({ popups });\r\n }\r\n\r\n /** @internal */\r\n public static clearPopups() {\r\n this.popups = [];\r\n }\r\n\r\n private static addPopup(popupInfo: PopupInfo): void {\r\n const popups = [\r\n ...PopupManager._popups,\r\n popupInfo,\r\n ];\r\n this.popups = popups;\r\n }\r\n\r\n private static updatePopup(popupInfo: PopupInfo, itemIndex: number): void {\r\n // istanbul ignore if\r\n if (itemIndex < 0)\r\n return;\r\n\r\n const popups = [\r\n ...PopupManager._popups.slice(0, itemIndex),\r\n popupInfo,\r\n ...PopupManager._popups.slice(itemIndex + 1),\r\n ];\r\n this.popups = popups;\r\n }\r\n\r\n public static addOrUpdatePopup(popupInfo: PopupInfo): void {\r\n const itemIndex = PopupManager._popups.findIndex((info: PopupInfo) => info.id === popupInfo.id);\r\n if (itemIndex >= 0)\r\n PopupManager.updatePopup(popupInfo, itemIndex);\r\n else\r\n PopupManager.addPopup(popupInfo);\r\n }\r\n\r\n public static removePopup(id: string): boolean {\r\n const index = PopupManager._popups.findIndex((info: PopupInfo) => id === info.id);\r\n let result = true;\r\n\r\n if (index >= 0) {\r\n const popups = PopupManager._popups.filter((info: PopupInfo) => {\r\n return info.id !== id;\r\n });\r\n this.popups = popups;\r\n } else {\r\n Logger.logError(UiFramework.loggerCategory(this), `removePopup: Could not find popup with id of '${id}'`);\r\n result = false;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public static get defaultOffset(): XAndY { return PopupManager._defaultOffset; }\r\n public static set defaultOffset(offset: XAndY) { PopupManager._defaultOffset = offset; }\r\n\r\n public static showInputEditor(el: HTMLElement, pt: XAndY, value: Primitives.Value, propertyDescription: PropertyDescription, onCommit: OnValueCommitFunc, onCancel: OnCancelFunc): boolean {\r\n const primitiveValue: PrimitiveValue = {\r\n value,\r\n valueFormat: PropertyValueFormat.Primitive,\r\n };\r\n const record = new PropertyRecord(primitiveValue, propertyDescription);\r\n const commitHandler = new InputEditorCommitHandler(onCommit);\r\n const id = PopupManager._editorId;\r\n const component = (\r\n <InputEditorPopup id={id} el={el} pt={pt} offset={PopupManager.defaultOffset}\r\n record={record} onCancel={onCancel} commitHandler={commitHandler} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideInputEditor(): boolean {\r\n return PopupManager.removePopup(PopupManager._editorId);\r\n }\r\n\r\n public static showKeyinPalette(\r\n keyins: KeyinEntry[], el: HTMLElement, onItemExecuted?: OnItemExecutedFunc, onCancel?: OnCancelFunc,\r\n ): boolean {\r\n\r\n const id = PopupManager._keyPalettePopupId;\r\n const component = (\r\n <KeyinPalettePopup keyins={keyins}\r\n id={id} el={el} onCancel={onCancel} onItemExecuted={onItemExecuted} />\r\n );\r\n\r\n // since the command palette popup is always at top center of specified HTML element and it does not need to move like\r\n // cursor popups just set pt to 0,0.\r\n const pt = { x: 0, y: 0 };\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideKeyinPalette(): boolean {\r\n return PopupManager.removePopup(PopupManager._keyPalettePopupId);\r\n }\r\n\r\n public static showToolbar(\r\n toolbarProps: AbstractToolbarProps, el: HTMLElement, pt: XAndY, offset: XAndY,\r\n onItemExecuted: OnItemExecutedFunc, onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._toolbarId;\r\n const component = (\r\n <ToolbarPopup id={id} el={el} pt={pt} offset={offset}\r\n items={toolbarProps.items} relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} onItemExecuted={onItemExecuted} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideToolbar(): boolean {\r\n return PopupManager.removePopup(PopupManager._toolbarId);\r\n }\r\n\r\n public static showHTMLElement(\r\n displayElement: HTMLElement, el: HTMLElement, pt: XAndY, offset: XAndY,\r\n onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._htmlElementId;\r\n const component = (\r\n <HTMLElementPopup id={id} el={el} pt={pt} offset={offset}\r\n element={displayElement} relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideHTMLElement(): boolean {\r\n return PopupManager.removePopup(PopupManager._htmlElementId);\r\n }\r\n\r\n public static showCard(\r\n content: PopupContentType, title: string | PropertyRecord | undefined, toolbarProps: AbstractToolbarProps | undefined,\r\n el: HTMLElement, pt: XAndY, offset: XAndY,\r\n onItemExecuted: OnItemExecutedFunc, onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._cardId;\r\n const component = (\r\n <CardPopup id={id} el={el} pt={pt} offset={offset}\r\n content={content} title={title} items={toolbarProps ? toolbarProps.items : /* istanbul ignore next */ undefined}\r\n relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} onItemExecuted={onItemExecuted} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideCard(): boolean {\r\n const index = PopupManager._popups.findIndex((info: PopupInfo) => PopupManager._cardId === info.id);\r\n if (index >= 0)\r\n return PopupManager.removePopup(PopupManager._cardId);\r\n return false;\r\n }\r\n\r\n public static openToolSettings(\r\n dataProvider: DialogLayoutDataProvider, el: HTMLElement, pt: XAndY, offset: XAndY, onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._toolSettingsId;\r\n const component = (\r\n <ToolSettingsPopup id={id} el={el} pt={pt} offset={offset}\r\n dataProvider={dataProvider} relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static closeToolSettings(): boolean {\r\n return PopupManager.removePopup(PopupManager._toolSettingsId);\r\n }\r\n\r\n public static getPopupPosition(el: HTMLElement, pt: XAndY, offset: XAndY, size: SizeProps): Point {\r\n const containerBounds = Rectangle.create(el.getBoundingClientRect());\r\n const relativeBounds = Rectangle.createFromSize(size).offset(pt);\r\n const adjustedPosition: Point = offsetAndContainInContainer(relativeBounds, containerBounds.getSize(), offset);\r\n const position = adjustedPosition.offset(containerBounds.topLeft());\r\n\r\n return position;\r\n }\r\n\r\n}\r\n\r\n/** @internal */\r\ninterface PopupRendererState {\r\n parentDocument: Document | null;\r\n popups: ReadonlyArray<PopupInfo>;\r\n}\r\n\r\n/** Popup Renderer\r\n * @public\r\n */\r\nexport class PopupRenderer extends React.Component<{}, PopupRendererState> {\r\n /** @internal */\r\n public override readonly state: PopupRendererState = {\r\n parentDocument: null,\r\n popups: PopupManager.popups,\r\n };\r\n\r\n public override componentDidMount(): void {\r\n PopupManager.onPopupsChangedEvent.addListener(this._handlePopupsChangedEvent);\r\n }\r\n\r\n public override componentWillUnmount(): void {\r\n PopupManager.onPopupsChangedEvent.removeListener(this._handlePopupsChangedEvent);\r\n }\r\n\r\n private _handleRefSet = (popupDiv: HTMLElement | null) => {\r\n this.setState({ parentDocument: popupDiv?.ownerDocument ?? null });\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n if (PopupManager.popupCount <= 0)\r\n return null;\r\n\r\n return (\r\n <div className=\"appui-react-popup-render-container\" ref={this._handleRefSet}>\r\n {this.state.parentDocument &&\r\n this.state.popups.filter((info) => info.parentDocument === this.state.parentDocument)\r\n .map((popupInfo: PopupInfo) => {\r\n return (\r\n <React.Fragment key={popupInfo.id}>\r\n {popupInfo.component}\r\n </React.Fragment>\r\n );\r\n })\r\n }\r\n </div>\r\n );\r\n }\r\n\r\n private _handlePopupsChangedEvent = (args: PopupsChangedEventArgs) => {\r\n this.setState({ popups: args.popups });\r\n };\r\n\r\n}\r\n"]}
@@ -5,21 +5,23 @@ import "./PositionPopup.scss";
5
5
  import * as React from "react";
6
6
  import { PointProps } from "@itwin/appui-abstract";
7
7
  import { CommonDivProps, CommonProps, SizeProps } from "@itwin/core-react";
8
- /** @alpha */
8
+ /** Props for popup at screen position
9
+ * @beta */
9
10
  export interface PositionPopupProps extends CommonProps {
10
11
  /** Center point */
11
12
  point: PointProps;
12
13
  /** Function called when size is known. */
13
14
  onSizeKnown?: (size: SizeProps) => void;
14
15
  }
15
- /** @alpha */
16
+ /** Popup component at screen position
17
+ * @beta */
16
18
  export declare class PositionPopup extends React.PureComponent<PositionPopupProps> {
17
19
  constructor(props: PositionPopupProps);
18
20
  render(): JSX.Element;
19
21
  private setDivRef;
20
22
  }
21
23
  /** PositionPopup content with padding
22
- * @alpha
24
+ * @beta
23
25
  */
24
26
  export declare function PositionPopupContent(props: CommonDivProps): JSX.Element;
25
27
  //# sourceMappingURL=PositionPopup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PositionPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/PositionPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAE9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAa,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEtF,aAAa;AACb,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,mBAAmB;IACnB,KAAK,EAAE,UAAU,CAAC;IAClB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACzC;AAED,aAAa;AACb,qBAAa,aAAc,SAAQ,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC;gBAE5D,KAAK,EAAE,kBAAkB;IAIrB,MAAM;IAgBtB,OAAO,CAAC,SAAS;CAYlB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,eAEzD"}
1
+ {"version":3,"file":"PositionPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/PositionPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAE9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAa,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEtF;WACW;AACX,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,mBAAmB;IACnB,KAAK,EAAE,UAAU,CAAC;IAClB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACzC;AAED;WACW;AACX,qBAAa,aAAc,SAAQ,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC;gBAE5D,KAAK,EAAE,kBAAkB;IAIrB,MAAM;IAgBtB,OAAO,CAAC,SAAS;CAYlB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,eAEzD"}
@@ -9,7 +9,8 @@ import "./PositionPopup.scss";
9
9
  import classnames from "classnames";
10
10
  import * as React from "react";
11
11
  import { Div, Size } from "@itwin/core-react";
12
- /** @alpha */
12
+ /** Popup component at screen position
13
+ * @beta */
13
14
  export class PositionPopup extends React.PureComponent {
14
15
  constructor(props) {
15
16
  super(props);
@@ -35,7 +36,7 @@ export class PositionPopup extends React.PureComponent {
35
36
  }
36
37
  }
37
38
  /** PositionPopup content with padding
38
- * @alpha
39
+ * @beta
39
40
  */
40
41
  export function PositionPopupContent(props) {
41
42
  return React.createElement(Div, { ...props, mainClassName: "uifw-position-popup-content" });
@@ -1 +1 @@
1
- {"version":3,"file":"PositionPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/PositionPopup.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAC9B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAA+B,GAAG,EAAE,IAAI,EAAa,MAAM,mBAAmB,CAAC;AAUtF,aAAa;AACb,MAAM,OAAO,aAAc,SAAQ,KAAK,CAAC,aAAiC;IAExE,YAAY,KAAyB;QACnC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,wDAAwD;QAE/H,MAAM,QAAQ,GAAwB;YACpC,GAAG,KAAK;YACR,GAAG,EAAE,KAAK,CAAC,CAAC;YACZ,IAAI,EAAE,KAAK,CAAC,CAAC;SACd,CAAC;QAEF,OAAO,CACL,gCAAS,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IACpH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAChB,CACP,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,GAA0B;QAC1C,uBAAuB;QACvB,IAAI,GAAG,EAAE;YACP,MAAM,IAAI,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/C,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW;gBACxB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAChC;IACH,CAAC;CAEF;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAqB;IACxD,OAAO,oBAAC,GAAG,OAAK,KAAK,EAAE,aAAa,EAAC,6BAA6B,GAAG,CAAC;AACxE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport \"./PositionPopup.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { PointProps } from \"@itwin/appui-abstract\";\r\nimport { CommonDivProps, CommonProps, Div, Size, SizeProps } from \"@itwin/core-react\";\r\n\r\n/** @alpha */\r\nexport interface PositionPopupProps extends CommonProps {\r\n /** Center point */\r\n point: PointProps;\r\n /** Function called when size is known. */\r\n onSizeKnown?: (size: SizeProps) => void;\r\n}\r\n\r\n/** @alpha */\r\nexport class PositionPopup extends React.PureComponent<PositionPopupProps> {\r\n\r\n constructor(props: PositionPopupProps) {\r\n super(props);\r\n }\r\n\r\n public override render() {\r\n const { point, className, style, onSizeKnown, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n const divStyle: React.CSSProperties = {\r\n ...style,\r\n top: point.y,\r\n left: point.x,\r\n };\r\n\r\n return (\r\n <div {...props} className={classnames(\"uifw-position-popup\", className)} style={divStyle} ref={(e) => this.setDivRef(e)}>\r\n {this.props.children}\r\n </div>\r\n );\r\n }\r\n\r\n private setDivRef(div: HTMLDivElement | null) {\r\n // istanbul ignore else\r\n if (div) {\r\n const rect = div.getBoundingClientRect();\r\n const size = new Size(rect.width, rect.height);\r\n\r\n // istanbul ignore else\r\n if (this.props.onSizeKnown)\r\n this.props.onSizeKnown(size);\r\n }\r\n }\r\n\r\n}\r\n\r\n/** PositionPopup content with padding\r\n * @alpha\r\n */\r\nexport function PositionPopupContent(props: CommonDivProps) {\r\n return <Div {...props} mainClassName=\"uifw-position-popup-content\" />;\r\n}\r\n"]}
1
+ {"version":3,"file":"PositionPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/PositionPopup.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAC9B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAA+B,GAAG,EAAE,IAAI,EAAa,MAAM,mBAAmB,CAAC;AAWtF;WACW;AACX,MAAM,OAAO,aAAc,SAAQ,KAAK,CAAC,aAAiC;IAExE,YAAY,KAAyB;QACnC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,wDAAwD;QAE/H,MAAM,QAAQ,GAAwB;YACpC,GAAG,KAAK;YACR,GAAG,EAAE,KAAK,CAAC,CAAC;YACZ,IAAI,EAAE,KAAK,CAAC,CAAC;SACd,CAAC;QAEF,OAAO,CACL,gCAAS,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IACpH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAChB,CACP,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,GAA0B;QAC1C,uBAAuB;QACvB,IAAI,GAAG,EAAE;YACP,MAAM,IAAI,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/C,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW;gBACxB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAChC;IACH,CAAC;CAEF;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAqB;IACxD,OAAO,oBAAC,GAAG,OAAK,KAAK,EAAE,aAAa,EAAC,6BAA6B,GAAG,CAAC;AACxE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport \"./PositionPopup.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { PointProps } from \"@itwin/appui-abstract\";\r\nimport { CommonDivProps, CommonProps, Div, Size, SizeProps } from \"@itwin/core-react\";\r\n\r\n/** Props for popup at screen position\r\n * @beta */\r\nexport interface PositionPopupProps extends CommonProps {\r\n /** Center point */\r\n point: PointProps;\r\n /** Function called when size is known. */\r\n onSizeKnown?: (size: SizeProps) => void;\r\n}\r\n\r\n/** Popup component at screen position\r\n * @beta */\r\nexport class PositionPopup extends React.PureComponent<PositionPopupProps> {\r\n\r\n constructor(props: PositionPopupProps) {\r\n super(props);\r\n }\r\n\r\n public override render() {\r\n const { point, className, style, onSizeKnown, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n const divStyle: React.CSSProperties = {\r\n ...style,\r\n top: point.y,\r\n left: point.x,\r\n };\r\n\r\n return (\r\n <div {...props} className={classnames(\"uifw-position-popup\", className)} style={divStyle} ref={(e) => this.setDivRef(e)}>\r\n {this.props.children}\r\n </div>\r\n );\r\n }\r\n\r\n private setDivRef(div: HTMLDivElement | null) {\r\n // istanbul ignore else\r\n if (div) {\r\n const rect = div.getBoundingClientRect();\r\n const size = new Size(rect.width, rect.height);\r\n\r\n // istanbul ignore else\r\n if (this.props.onSizeKnown)\r\n this.props.onSizeKnown(size);\r\n }\r\n }\r\n\r\n}\r\n\r\n/** PositionPopup content with padding\r\n * @beta\r\n */\r\nexport function PositionPopupContent(props: CommonDivProps) {\r\n return <Div {...props} mainClassName=\"uifw-position-popup-content\" />;\r\n}\r\n"]}
@@ -5,7 +5,8 @@ import * as React from "react";
5
5
  import { DialogLayoutDataProvider, OnCancelFunc, RelativePosition } from "@itwin/appui-abstract";
6
6
  import { Orientation, Size } from "@itwin/core-react";
7
7
  import { PopupPropsBase } from "./PopupManager";
8
- /** @alpha */
8
+ /** Props for defining a popup tool settings component
9
+ * @beta */
9
10
  export interface ToolSettingsPopupProps extends PopupPropsBase {
10
11
  dataProvider: DialogLayoutDataProvider;
11
12
  relativePosition: RelativePosition;
@@ -17,7 +18,7 @@ interface ToolSettingsPopupState {
17
18
  size: Size;
18
19
  }
19
20
  /** Popup component for Tool Settings
20
- * @alpha
21
+ * @beta
21
22
  */
22
23
  export declare class ToolSettingsPopup extends React.PureComponent<ToolSettingsPopupProps, ToolSettingsPopupState> {
23
24
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"ToolSettingsPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolSettingsPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAkC,WAAW,EAAS,IAAI,EAAa,MAAM,mBAAmB,CAAC;AAExG,OAAO,EAAgB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAK9D,aAAa;AACb,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,gBAAgB;AAChB,UAAU,sBAAsB;IAC9B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAExG,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;gBAEU,KAAK,EAAE,sBAAsB;IAIzC,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,cAAc,CAQpB;IAEc,MAAM;CAuBvB"}
1
+ {"version":3,"file":"ToolSettingsPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolSettingsPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAkC,WAAW,EAAS,IAAI,EAAa,MAAM,mBAAmB,CAAC;AAExG,OAAO,EAAgB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAK9D;WACW;AACX,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,gBAAgB;AAChB,UAAU,sBAAsB;IAC9B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAExG,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;gBAEU,KAAK,EAAE,sBAAsB;IAIzC,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,cAAc,CAQpB;IAEc,MAAM;CAuBvB"}
@@ -14,7 +14,7 @@ import { PositionPopup, PositionPopupContent } from "./PositionPopup";
14
14
  import { ComponentGenerator } from "../uiprovider/ComponentGenerator";
15
15
  import { DialogGridContainer } from "../uiprovider/DefaultDialogGridContainer";
16
16
  /** Popup component for Tool Settings
17
- * @alpha
17
+ * @beta
18
18
  */
19
19
  export class ToolSettingsPopup extends React.PureComponent {
20
20
  constructor(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"ToolSettingsPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolSettingsPopup.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA4D,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAe,KAAK,EAAE,IAAI,EAAa,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAe/E;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK,CAAC,aAA6D;IAOxG,YAAY,KAA6B;QACvC,KAAK,CAAC,KAAK,CAAC,CAAC;QANf,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB,CAAC;QAMM,iBAAY,GAAG,CAAC,OAAkB,EAAE,EAAE;YAC5C,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;QAEM,mBAAc,GAAG,CAAC,CAAsB,EAAE,EAAE;YAClD,QAAQ,CAAC,CAAC,GAAG,EAAE;gBACb,KAAK,UAAU,CAAC,MAAM;oBACpB,uBAAuB;oBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;wBACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACxB,MAAM;aACT;QACH,CAAC,CAAC;IAhBF,CAAC;IAkBe,MAAM;QACpB,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,KAAK,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtG,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACnH,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAEjD,OAAO,CACL,oBAAC,aAAa,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAC/B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,YAAY;YAE9B,oBAAC,mBAAmB,IAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc;gBACtF,oBAAC,oBAAoB;oBACnB,oBAAC,SAAS,IAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,IACnD,kBAAkB;wBACjB,oBAAC,mBAAmB,IAAC,kBAAkB,EAAE,kBAAkB,GAAI,CAEvD,CACS,CACH,CACR,CACjB,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { DialogLayoutDataProvider, OnCancelFunc, RelativePosition, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, FocusTrap, Orientation, Point, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\r\nimport { PopupManager, PopupPropsBase } from \"./PopupManager\";\r\nimport { PositionPopup, PositionPopupContent } from \"./PositionPopup\";\r\nimport { ComponentGenerator } from \"../uiprovider/ComponentGenerator\";\r\nimport { DialogGridContainer } from \"../uiprovider/DefaultDialogGridContainer\";\r\n\r\n/** @alpha */\r\nexport interface ToolSettingsPopupProps extends PopupPropsBase {\r\n dataProvider: DialogLayoutDataProvider;\r\n relativePosition: RelativePosition;\r\n orientation: Orientation;\r\n onCancel: OnCancelFunc;\r\n}\r\n\r\n/** @internal */\r\ninterface ToolSettingsPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Tool Settings\r\n * @alpha\r\n */\r\nexport class ToolSettingsPopup extends React.PureComponent<ToolSettingsPopupProps, ToolSettingsPopupState> {\r\n\r\n /** @internal */\r\n public override readonly state = {\r\n size: new Size(-1, -1),\r\n };\r\n\r\n constructor(props: ToolSettingsPopupProps) {\r\n super(props);\r\n }\r\n\r\n private _onSizeKnown = (newSize: SizeProps) => {\r\n // istanbul ignore else\r\n if (!this.state.size.equals(newSize))\r\n this.setState({ size: Size.create(newSize) });\r\n };\r\n\r\n private _handleKeyDown = (e: React.KeyboardEvent) => {\r\n switch (e.key) {\r\n case SpecialKey.Escape:\r\n // istanbul ignore else\r\n if (this.props.onCancel)\r\n this.props.onCancel();\r\n break;\r\n }\r\n };\r\n\r\n public override render() {\r\n const componentGenerator = new ComponentGenerator(this.props.dataProvider);\r\n let point = PopupManager.getPopupPosition(this.props.el, this.props.pt, new Point(), this.state.size);\r\n const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, this.props.relativePosition);\r\n point = new Point(popupRect.left, popupRect.top);\r\n\r\n return (\r\n <PositionPopup key={this.props.id}\r\n point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel} onKeyDown={this._handleKeyDown}>\r\n <PositionPopupContent>\r\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\r\n {componentGenerator &&\r\n <DialogGridContainer componentGenerator={componentGenerator} />\r\n }\r\n </FocusTrap>\r\n </PositionPopupContent>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ToolSettingsPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolSettingsPopup.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA4D,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAe,KAAK,EAAE,IAAI,EAAa,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAgB/E;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK,CAAC,aAA6D;IAOxG,YAAY,KAA6B;QACvC,KAAK,CAAC,KAAK,CAAC,CAAC;QANf,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB,CAAC;QAMM,iBAAY,GAAG,CAAC,OAAkB,EAAE,EAAE;YAC5C,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;QAEM,mBAAc,GAAG,CAAC,CAAsB,EAAE,EAAE;YAClD,QAAQ,CAAC,CAAC,GAAG,EAAE;gBACb,KAAK,UAAU,CAAC,MAAM;oBACpB,uBAAuB;oBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;wBACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACxB,MAAM;aACT;QACH,CAAC,CAAC;IAhBF,CAAC;IAkBe,MAAM;QACpB,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,KAAK,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtG,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACnH,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAEjD,OAAO,CACL,oBAAC,aAAa,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAC/B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,YAAY;YAE9B,oBAAC,mBAAmB,IAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc;gBACtF,oBAAC,oBAAoB;oBACnB,oBAAC,SAAS,IAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,IACnD,kBAAkB;wBACjB,oBAAC,mBAAmB,IAAC,kBAAkB,EAAE,kBAAkB,GAAI,CAEvD,CACS,CACH,CACR,CACjB,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { DialogLayoutDataProvider, OnCancelFunc, RelativePosition, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, FocusTrap, Orientation, Point, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\r\nimport { PopupManager, PopupPropsBase } from \"./PopupManager\";\r\nimport { PositionPopup, PositionPopupContent } from \"./PositionPopup\";\r\nimport { ComponentGenerator } from \"../uiprovider/ComponentGenerator\";\r\nimport { DialogGridContainer } from \"../uiprovider/DefaultDialogGridContainer\";\r\n\r\n/** Props for defining a popup tool settings component\r\n * @beta */\r\nexport interface ToolSettingsPopupProps extends PopupPropsBase {\r\n dataProvider: DialogLayoutDataProvider;\r\n relativePosition: RelativePosition;\r\n orientation: Orientation;\r\n onCancel: OnCancelFunc;\r\n}\r\n\r\n/** @internal */\r\ninterface ToolSettingsPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Tool Settings\r\n * @beta\r\n */\r\nexport class ToolSettingsPopup extends React.PureComponent<ToolSettingsPopupProps, ToolSettingsPopupState> {\r\n\r\n /** @internal */\r\n public override readonly state = {\r\n size: new Size(-1, -1),\r\n };\r\n\r\n constructor(props: ToolSettingsPopupProps) {\r\n super(props);\r\n }\r\n\r\n private _onSizeKnown = (newSize: SizeProps) => {\r\n // istanbul ignore else\r\n if (!this.state.size.equals(newSize))\r\n this.setState({ size: Size.create(newSize) });\r\n };\r\n\r\n private _handleKeyDown = (e: React.KeyboardEvent) => {\r\n switch (e.key) {\r\n case SpecialKey.Escape:\r\n // istanbul ignore else\r\n if (this.props.onCancel)\r\n this.props.onCancel();\r\n break;\r\n }\r\n };\r\n\r\n public override render() {\r\n const componentGenerator = new ComponentGenerator(this.props.dataProvider);\r\n let point = PopupManager.getPopupPosition(this.props.el, this.props.pt, new Point(), this.state.size);\r\n const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, this.props.relativePosition);\r\n point = new Point(popupRect.left, popupRect.top);\r\n\r\n return (\r\n <PositionPopup key={this.props.id}\r\n point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel} onKeyDown={this._handleKeyDown}>\r\n <PositionPopupContent>\r\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\r\n {componentGenerator &&\r\n <DialogGridContainer componentGenerator={componentGenerator} />\r\n }\r\n </FocusTrap>\r\n </PositionPopupContent>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n}\r\n"]}
@@ -5,7 +5,8 @@ import * as React from "react";
5
5
  import { CommonToolbarItem, OnCancelFunc, OnItemExecutedFunc, RelativePosition } from "@itwin/appui-abstract";
6
6
  import { Orientation, Size } from "@itwin/core-react";
7
7
  import { PopupPropsBase } from "./PopupManager";
8
- /** @alpha */
8
+ /** Props for a popup toolbar
9
+ * @beta */
9
10
  export interface ToolbarPopupProps extends PopupPropsBase {
10
11
  items: CommonToolbarItem[];
11
12
  relativePosition: RelativePosition;
@@ -17,8 +18,8 @@ export interface ToolbarPopupProps extends PopupPropsBase {
17
18
  interface ToolbarPopupState {
18
19
  size: Size;
19
20
  }
20
- /** Popup component for Input Editor
21
- * @alpha
21
+ /** Popup component for Toolbar
22
+ * @beta
22
23
  */
23
24
  export declare class ToolbarPopup extends React.PureComponent<ToolbarPopupProps, ToolbarPopupState> {
24
25
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AAC1H,OAAO,EAAkC,WAAW,EAAS,IAAI,EAAa,MAAM,mBAAmB,CAAC;AAGxG,OAAO,EAAgB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG9D,aAAa;AACb,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,gBAAgB;AAChB,UAAU,iBAAiB;IACzB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACzF,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,cAAc,CAMpB;IAEF,OAAO,CAAC,OAAO;IAOC,MAAM;CA0BvB"}
1
+ {"version":3,"file":"ToolbarPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AAC1H,OAAO,EAAkC,WAAW,EAAS,IAAI,EAAa,MAAM,mBAAmB,CAAC;AAGxG,OAAO,EAAgB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG9D;WACW;AACX,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,gBAAgB;AAChB,UAAU,iBAAiB;IACzB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACzF,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,cAAc,CAMpB;IAEF,OAAO,CAAC,OAAO;IAOC,MAAM;CA0BvB"}
@@ -12,8 +12,8 @@ import { Direction, Toolbar, ToolbarOpacitySetting, ToolbarPanelAlignment } from
12
12
  import { CursorPopup } from "../cursor/cursorpopup/CursorPopup";
13
13
  import { PopupManager } from "./PopupManager";
14
14
  import { PositionPopup } from "./PositionPopup";
15
- /** Popup component for Input Editor
16
- * @alpha
15
+ /** Popup component for Toolbar
16
+ * @beta
17
17
  */
18
18
  export class ToolbarPopup extends React.PureComponent {
19
19
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.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 Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonToolbarItem, OnCancelFunc, OnItemExecutedFunc, RelativePosition, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, FocusTrap, Orientation, Point, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { Direction, Toolbar, ToolbarOpacitySetting, ToolbarPanelAlignment } from \"@itwin/components-react\";\r\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\r\nimport { PopupManager, PopupPropsBase } from \"./PopupManager\";\r\nimport { PositionPopup } from \"./PositionPopup\";\r\n\r\n/** @alpha */\r\nexport interface ToolbarPopupProps extends PopupPropsBase {\r\n items: CommonToolbarItem[];\r\n relativePosition: RelativePosition;\r\n orientation: Orientation;\r\n onCancel: OnCancelFunc;\r\n onItemExecuted: OnItemExecutedFunc;\r\n}\r\n\r\n/** @internal */\r\ninterface ToolbarPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Input Editor\r\n * @alpha\r\n */\r\nexport class ToolbarPopup extends React.PureComponent<ToolbarPopupProps, ToolbarPopupState> {\r\n /** @internal */\r\n public override readonly state = {\r\n size: new Size(-1, -1),\r\n };\r\n\r\n private _onSizeKnown = (newSize: SizeProps) => {\r\n // istanbul ignore else\r\n if (!this.state.size.equals(newSize))\r\n this.setState({ size: Size.create(newSize) });\r\n };\r\n\r\n private _handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\r\n switch (event.key) {\r\n case SpecialKey.Escape:\r\n this._cancel();\r\n break;\r\n }\r\n };\r\n\r\n private _cancel() {\r\n // istanbul ignore else\r\n if (this.props.onCancel) {\r\n this.props.onCancel();\r\n }\r\n }\r\n\r\n public override render() {\r\n let point = PopupManager.getPopupPosition(this.props.el, this.props.pt, new Point(), this.state.size);\r\n const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, this.props.relativePosition);\r\n point = new Point(popupRect.left, popupRect.top);\r\n\r\n return (\r\n <PositionPopup key={this.props.id}\r\n className=\"uifw-no-border\"\r\n point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel} onKeyDown={this._handleKeyDown}>\r\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\r\n <Toolbar\r\n expandsTo={Direction.Bottom}\r\n panelAlignment={ToolbarPanelAlignment.Start}\r\n items={this.props.items}\r\n useDragInteraction={true}\r\n toolbarOpacitySetting={ToolbarOpacitySetting.Defaults}\r\n onItemExecuted={this.props.onItemExecuted}\r\n />\r\n </FocusTrap>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ToolbarPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.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 Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonToolbarItem, OnCancelFunc, OnItemExecutedFunc, RelativePosition, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, FocusTrap, Orientation, Point, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { Direction, Toolbar, ToolbarOpacitySetting, ToolbarPanelAlignment } from \"@itwin/components-react\";\r\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\r\nimport { PopupManager, PopupPropsBase } from \"./PopupManager\";\r\nimport { PositionPopup } from \"./PositionPopup\";\r\n\r\n/** Props for a popup toolbar\r\n * @beta */\r\nexport interface ToolbarPopupProps extends PopupPropsBase {\r\n items: CommonToolbarItem[];\r\n relativePosition: RelativePosition;\r\n orientation: Orientation;\r\n onCancel: OnCancelFunc;\r\n onItemExecuted: OnItemExecutedFunc;\r\n}\r\n\r\n/** @internal */\r\ninterface ToolbarPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Toolbar\r\n * @beta\r\n */\r\nexport class ToolbarPopup extends React.PureComponent<ToolbarPopupProps, ToolbarPopupState> {\r\n /** @internal */\r\n public override readonly state = {\r\n size: new Size(-1, -1),\r\n };\r\n\r\n private _onSizeKnown = (newSize: SizeProps) => {\r\n // istanbul ignore else\r\n if (!this.state.size.equals(newSize))\r\n this.setState({ size: Size.create(newSize) });\r\n };\r\n\r\n private _handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\r\n switch (event.key) {\r\n case SpecialKey.Escape:\r\n this._cancel();\r\n break;\r\n }\r\n };\r\n\r\n private _cancel() {\r\n // istanbul ignore else\r\n if (this.props.onCancel) {\r\n this.props.onCancel();\r\n }\r\n }\r\n\r\n public override render() {\r\n let point = PopupManager.getPopupPosition(this.props.el, this.props.pt, new Point(), this.state.size);\r\n const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, this.props.relativePosition);\r\n point = new Point(popupRect.left, popupRect.top);\r\n\r\n return (\r\n <PositionPopup key={this.props.id}\r\n className=\"uifw-no-border\"\r\n point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel} onKeyDown={this._handleKeyDown}>\r\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\r\n <Toolbar\r\n expandsTo={Direction.Bottom}\r\n panelAlignment={ToolbarPanelAlignment.Start}\r\n items={this.props.items}\r\n useDragInteraction={true}\r\n toolbarOpacitySetting={ToolbarOpacitySetting.Defaults}\r\n onItemExecuted={this.props.onItemExecuted}\r\n />\r\n </FocusTrap>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n}\r\n"]}
@@ -16,7 +16,7 @@ export interface FrameworkState {
16
16
  export declare const FrameworkReducer: (state: import("./redux-ts").CombinedReducerState<{
17
17
  configurableUiState: typeof ConfigurableUiReducer;
18
18
  sessionState: typeof SessionStateReducer;
19
- }>, action: import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetSnapMode, number>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetTheme, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetToolPrompt, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetWidgetOpacity, number>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetDragInteraction, boolean>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetFrameworkVersion, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetUserInfo, import("./redux-ts").DeepReadonlyObject<import("../UserInfo").UserInfo>>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetActiveIModelId, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetAvailableSelectionScopes, import("./redux-ts").DeepReadonlyArray<import("./SessionState").PresentationSelectionScope>>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultIModelViewportControlId, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultViewId, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultViewState, any>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetNumItemsSelected, number>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetIModelConnection, any>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetSelectionScope, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.UpdateCursorMenu, import("./redux-ts").DeepReadonlyObject<import("./SessionState").CursorMenuData>>>) => import("./redux-ts").CombinedReducerState<{
19
+ }>, action: import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetSnapMode, number>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetTheme, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetToolPrompt, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetWidgetOpacity, number>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetDragInteraction, boolean>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetFrameworkVersion, import("../UiFramework").FrameworkVersionId>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetShowWidgetIcon, boolean>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetViewOverlayDisplay, boolean>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetActiveIModelId, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetAvailableSelectionScopes, import("./redux-ts").DeepReadonlyArray<import("./SessionState").PresentationSelectionScope>>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultIModelViewportControlId, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultViewId, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultViewState, any>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetNumItemsSelected, number>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetIModelConnection, any>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.SetSelectionScope, string>> | import("./redux-ts").DeepReadonlyObject<import("./redux-ts").ActionWithPayload<import("./SessionState").SessionStateActionId.UpdateCursorMenu, import("./redux-ts").DeepReadonlyObject<import("./SessionState").CursorMenuData>>>) => import("./redux-ts").CombinedReducerState<{
20
20
  configurableUiState: typeof ConfigurableUiReducer;
21
21
  sessionState: typeof SessionStateReducer;
22
22
  }>;
@@ -2,7 +2,6 @@
2
2
  * @module State
3
3
  */
4
4
  import { XAndY } from "@itwin/core-geometry";
5
- import { UserInfo } from "../UserInfo";
6
5
  import { MenuItemProps } from "../shared/MenuItem";
7
6
  import { ActionsUnion, DeepReadonly } from "./redux-ts";
8
7
  /** PresentationSelectionScope holds the id and the localized label for a selection scope supported for a specific iModel.
@@ -32,7 +31,6 @@ export declare enum SessionStateActionId {
32
31
  SetSelectionScope = "sessionstate:set-selection-scope",
33
32
  SetActiveIModelId = "sessionstate:set-active-imodelid",
34
33
  SetIModelConnection = "sessionstate:set-imodel-connection",
35
- SetUserInfo = "sessionstate:set-user-info",
36
34
  SetDefaultIModelViewportControlId = "sessionstate:set-default-viewportid",
37
35
  SetDefaultViewId = "sessionstate:set-default-viewid",
38
36
  SetDefaultViewState = "sessionstate:set-default-view-state",
@@ -50,7 +48,6 @@ export interface SessionState {
50
48
  defaultViewId: string | undefined;
51
49
  defaultViewState: any | undefined;
52
50
  iModelConnection: any | undefined;
53
- userInfo: UserInfo | undefined;
54
51
  cursorMenuData: CursorMenuData | undefined;
55
52
  }
56
53
  /** An interface that allows redux connected object to dispatch changes to the SessionState reducer.
@@ -65,14 +62,12 @@ export interface SessionStateActionsProps {
65
62
  setIModelConnection: (typeof SessionStateActions.setIModelConnection);
66
63
  setNumItemsSelected: (typeof SessionStateActions.setNumItemsSelected);
67
64
  setSelectionScope: (typeof SessionStateActions.setSelectionScope);
68
- setUserInfo: (typeof SessionStateActions.setUserInfo);
69
65
  updateCursorMenu: (typeof SessionStateActions.updateCursorMenu);
70
66
  }
71
67
  /** An object with a function that creates each SessionStateReducer that can be handled by our reducer.
72
68
  * @public
73
69
  */
74
70
  export declare const SessionStateActions: {
75
- setUserInfo: (userInfo: UserInfo) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetUserInfo, import("./redux-ts").DeepReadonlyObject<UserInfo>>;
76
71
  setActiveIModelId: (iModelId: string) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetActiveIModelId, string>;
77
72
  setAvailableSelectionScopes: (availableSelectionScopes: PresentationSelectionScope[]) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetAvailableSelectionScopes, import("./redux-ts").DeepReadonlyArray<PresentationSelectionScope>>;
78
73
  setDefaultIModelViewportControlId: (iModelViewportControlId: string) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetDefaultIModelViewportControlId, string>;
@@ -88,7 +83,6 @@ export declare const SessionStateActions: {
88
83
  * @beta
89
84
  */
90
85
  export declare const sessionStateMapDispatchToProps: {
91
- setUserInfo: (userInfo: UserInfo) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetUserInfo, import("./redux-ts").DeepReadonlyObject<UserInfo>>;
92
86
  setActiveIModelId: (iModelId: string) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetActiveIModelId, string>;
93
87
  setAvailableSelectionScopes: (availableSelectionScopes: PresentationSelectionScope[]) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetAvailableSelectionScopes, import("./redux-ts").DeepReadonlyArray<PresentationSelectionScope>>;
94
88
  setDefaultIModelViewportControlId: (iModelViewportControlId: string) => import("./redux-ts").ActionWithPayload<SessionStateActionId.SetDefaultIModelViewportControlId, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"SessionState.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/redux/SessionState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionState.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/redux/SessionState.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAgB,YAAY,EAAE,MAAM,YAAY,CAAC;AAItE;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,oBAAY,oBAAoB;IAC9B,mBAAmB,wCAAwC;IAC3D,2BAA2B,gDAAgD;IAC3E,iBAAiB,qCAAqC;IACtD,iBAAiB,qCAAqC;IACtD,mBAAmB,uCAAuC;IAC1D,iCAAiC,wCAAwC;IACzE,gBAAgB,oCAAoC;IACpD,mBAAmB,wCAAwC;IAC3D,gBAAgB,oCAAoC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,wBAAwB,EAAE,0BAA0B,EAAE,CAAC;IACvD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,gBAAgB,EAAE,GAAG,GAAG,SAAS,CAAC;IAClC,gBAAgB,EAAE,GAAG,GAAG,SAAS,CAAC;IAClC,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;CAC5C;AAqBD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,iBAAiB,EAAE,CAAC,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAClE,2BAA2B,EAAE,CAAC,OAAO,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;IACtF,iCAAiC,EAAE,CAAC,OAAO,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;IAClG,gBAAgB,EAAE,CAAC,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAChE,mBAAmB,EAAE,CAAC,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACtE,mBAAmB,EAAE,CAAC,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACtE,mBAAmB,EAAE,CAAC,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACtE,iBAAiB,EAAE,CAAC,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAClE,gBAAgB,EAAE,CAAC,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;kCAGjB,MAAM;4DAGU,0BAA0B,EAAE;iEACI,MAAM;+BACxC,MAAM;qCAGnB,GAAG;uCACkB,MAAM;4CAGpB,GAAG;8CAGC,MAAM;uCAGZ,cAAc;CAClC,CAAC;AAEF;;;GAGG;AAEH,eAAO,MAAM,8BAA8B;kCA1B5B,MAAM;4DAGU,0BAA0B,EAAE;iEACI,MAAM;+BACxC,MAAM;qCAGnB,GAAG;uCACkB,MAAM;4CAGpB,GAAG;8CAGC,MAAM;uCAGZ,cAAc;CAQqC,CAAC;AAEzE;;GAEG;AACH,oBAAY,wBAAwB,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,0BAA6B,EAAE,MAAM,EAAE,wBAAwB,GAAG,YAAY,CAAC,YAAY,CAAC,CAkDpI"}
@@ -17,7 +17,6 @@ export var SessionStateActionId;
17
17
  SessionStateActionId["SetSelectionScope"] = "sessionstate:set-selection-scope";
18
18
  SessionStateActionId["SetActiveIModelId"] = "sessionstate:set-active-imodelid";
19
19
  SessionStateActionId["SetIModelConnection"] = "sessionstate:set-imodel-connection";
20
- SessionStateActionId["SetUserInfo"] = "sessionstate:set-user-info";
21
20
  SessionStateActionId["SetDefaultIModelViewportControlId"] = "sessionstate:set-default-viewportid";
22
21
  SessionStateActionId["SetDefaultViewId"] = "sessionstate:set-default-viewid";
23
22
  SessionStateActionId["SetDefaultViewState"] = "sessionstate:set-default-view-state";
@@ -38,16 +37,12 @@ const initialState = {
38
37
  defaultViewId: undefined,
39
38
  defaultViewState: undefined,
40
39
  iModelConnection: undefined,
41
- userInfo: undefined,
42
40
  cursorMenuData: undefined,
43
41
  };
44
42
  /** An object with a function that creates each SessionStateReducer that can be handled by our reducer.
45
43
  * @public
46
44
  */
47
45
  export const SessionStateActions = {
48
- setUserInfo:
49
- // istanbul ignore next
50
- (userInfo) => createAction(SessionStateActionId.SetUserInfo, userInfo),
51
46
  setActiveIModelId:
52
47
  // istanbul ignore next
53
48
  (iModelId) => createAction(SessionStateActionId.SetActiveIModelId, iModelId),
@@ -123,9 +118,6 @@ export function SessionStateReducer(state = initialState, action) {
123
118
  case SessionStateActionId.SetIModelConnection: {
124
119
  return { ...state, iModelConnection: action.payload };
125
120
  }
126
- case SessionStateActionId.SetUserInfo: {
127
- return { ...state, userInfo: action.payload };
128
- }
129
121
  case SessionStateActionId.UpdateCursorMenu: {
130
122
  return { ...state, cursorMenuData: action.payload };
131
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SessionState.js","sourceRoot":"","sources":["../../../../src/appui-react/redux/SessionState.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 State\r\n */\r\n\r\n// The following definitions are causing extract-api issues on linux so for now just using any until we can figure out the issue.\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\n// import { IModelConnection, ViewState } from \"@itwin/core-frontend\";\r\nimport { UserInfo } from \"../UserInfo\";\r\nimport { MenuItemProps } from \"../shared/MenuItem\";\r\nimport { ActionsUnion, createAction, DeepReadonly } from \"./redux-ts\";\r\n\r\n// cSpell:ignore configurableui snapmode toolprompt sessionstate imodelid viewid viewportid rulesetid\r\n\r\n/** PresentationSelectionScope holds the id and the localized label for a selection scope supported for a specific iModel.\r\n * Added to avoid an api-extract error caused by using SelectionScope.\r\n * @public\r\n */\r\nexport interface PresentationSelectionScope {\r\n id: string;\r\n label: string;\r\n}\r\n\r\n/** Definition of data added to Redux store to define cursor menu. If menuItems are empty the menu control is not displayed.\r\n * To close the menu clear the menuItems or pass in undefined as the CursorData.\r\n * @public\r\n */\r\nexport interface CursorMenuData {\r\n items: MenuItemProps[];\r\n position: XAndY;\r\n childWindowId?: string;\r\n}\r\n\r\n/** Action Ids used by Redux and to send sync UI components. Typically used to refresh visibility or enable state of control.\r\n * Since these are also used as sync ids they should be in lowercase.\r\n * @public\r\n */\r\nexport enum SessionStateActionId {\r\n SetNumItemsSelected = \"sessionstate:set-num-items-selected\",\r\n SetAvailableSelectionScopes = \"sessionstate:set-available-selection-scopes\",\r\n SetSelectionScope = \"sessionstate:set-selection-scope\",\r\n SetActiveIModelId = \"sessionstate:set-active-imodelid\",\r\n SetIModelConnection = \"sessionstate:set-imodel-connection\",\r\n SetUserInfo = \"sessionstate:set-user-info\",\r\n SetDefaultIModelViewportControlId = \"sessionstate:set-default-viewportid\",\r\n SetDefaultViewId = \"sessionstate:set-default-viewid\",\r\n SetDefaultViewState = \"sessionstate:set-default-view-state\",\r\n UpdateCursorMenu = \"sessionstate:update-cursor-menu\",\r\n}\r\n\r\n/** The portion of state managed by the SessionStateReducer.\r\n * @public\r\n */\r\nexport interface SessionState {\r\n numItemsSelected: number;\r\n availableSelectionScopes: PresentationSelectionScope[];\r\n activeSelectionScope: string;\r\n iModelId: string;\r\n defaultIModelViewportControlId: string | undefined;\r\n defaultViewId: string | undefined;\r\n defaultViewState: any | undefined;\r\n iModelConnection: any | undefined;\r\n userInfo: UserInfo | undefined;\r\n cursorMenuData: CursorMenuData | undefined;\r\n}\r\n\r\nconst defaultSelectionScope = { id: \"element\", label: \"Element\" } as PresentationSelectionScope;\r\n\r\n/** used on first call of SessionStateReducer */\r\nconst initialState: SessionState = {\r\n /** number of selected items in Presentation Selection */\r\n numItemsSelected: 0,\r\n /** initialize to only support \"Element\" scope, this will be overwritten when iModelConnection is established */\r\n availableSelectionScopes: [defaultSelectionScope],\r\n /** initialize to active selection scope to \"Element\", this will be overwritten when iModelConnection is established */\r\n activeSelectionScope: defaultSelectionScope.id,\r\n /** set to iModelId if an iModel is active else it is an empty string, so initialize to empty string */\r\n iModelId: \"\",\r\n defaultIModelViewportControlId: undefined,\r\n defaultViewId: undefined,\r\n defaultViewState: undefined,\r\n iModelConnection: undefined,\r\n userInfo: undefined,\r\n cursorMenuData: undefined,\r\n};\r\n\r\n/** An interface that allows redux connected object to dispatch changes to the SessionState reducer.\r\n * @beta\r\n */\r\nexport interface SessionStateActionsProps {\r\n setActiveIModelId: (typeof SessionStateActions.setActiveIModelId);\r\n setAvailableSelectionScopes: (typeof SessionStateActions.setAvailableSelectionScopes);\r\n setDefaultIModelViewportControlId: (typeof SessionStateActions.setDefaultIModelViewportControlId);\r\n setDefaultViewId: (typeof SessionStateActions.setDefaultViewId);\r\n setDefaultViewState: (typeof SessionStateActions.setDefaultViewState);\r\n setIModelConnection: (typeof SessionStateActions.setIModelConnection);\r\n setNumItemsSelected: (typeof SessionStateActions.setNumItemsSelected);\r\n setSelectionScope: (typeof SessionStateActions.setSelectionScope);\r\n setUserInfo: (typeof SessionStateActions.setUserInfo);\r\n updateCursorMenu: (typeof SessionStateActions.updateCursorMenu);\r\n}\r\n\r\n/** An object with a function that creates each SessionStateReducer that can be handled by our reducer.\r\n * @public\r\n */\r\nexport const SessionStateActions = { // eslint-disable-line @typescript-eslint/naming-convention\r\n setUserInfo:\r\n // istanbul ignore next\r\n (userInfo: UserInfo) => createAction(SessionStateActionId.SetUserInfo, userInfo),\r\n setActiveIModelId:\r\n // istanbul ignore next\r\n (iModelId: string) => createAction(SessionStateActionId.SetActiveIModelId, iModelId),\r\n setAvailableSelectionScopes:\r\n // istanbul ignore next\r\n (availableSelectionScopes: PresentationSelectionScope[]) => createAction(SessionStateActionId.SetAvailableSelectionScopes, availableSelectionScopes),\r\n setDefaultIModelViewportControlId: (iModelViewportControlId: string) => createAction(SessionStateActionId.SetDefaultIModelViewportControlId, iModelViewportControlId),\r\n setDefaultViewId: (viewId: string) => createAction(SessionStateActionId.SetDefaultViewId, viewId),\r\n setDefaultViewState:\r\n // istanbul ignore next\r\n (viewState: any) => createAction(SessionStateActionId.SetDefaultViewState, viewState),\r\n setNumItemsSelected: (numSelected: number) => createAction(SessionStateActionId.SetNumItemsSelected, numSelected),\r\n setIModelConnection:\r\n // istanbul ignore next\r\n (iModelConnection: any) => createAction(SessionStateActionId.SetIModelConnection, iModelConnection),\r\n setSelectionScope:\r\n // istanbul ignore next\r\n (activeSelectionScope: string) => createAction(SessionStateActionId.SetSelectionScope, activeSelectionScope),\r\n updateCursorMenu:\r\n // istanbul ignore next\r\n (cursorMenuData: CursorMenuData) => createAction(SessionStateActionId.UpdateCursorMenu, cursorMenuData),\r\n};\r\n\r\n/** Object that contains available actions that modify SessionState. Parent control's props should\r\n * extend from SessionStateActionsProps before using this in Redux 'connect' function.\r\n * @beta\r\n */\r\n// ...SessionStateActionsProps\r\nexport const sessionStateMapDispatchToProps = { ...SessionStateActions };\r\n\r\n/** Union of SessionState Redux actions\r\n * @public\r\n */\r\nexport type SessionStateActionsUnion = ActionsUnion<typeof SessionStateActions>;\r\n\r\n/** Handles actions to update SessionState.\r\n * @public\r\n */\r\nexport function SessionStateReducer(state: SessionState = initialState, action: SessionStateActionsUnion): DeepReadonly<SessionState> {\r\n switch (action.type) {\r\n case SessionStateActionId.SetNumItemsSelected: {\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, numItemsSelected: action.payload };\r\n else\r\n return { ...state, numItemsSelected: 0 };\r\n }\r\n case SessionStateActionId.SetAvailableSelectionScopes: {\r\n const payloadArray: PresentationSelectionScope[] = [];\r\n action.payload.forEach((scope) => payloadArray.push(scope));\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, availableSelectionScopes: payloadArray };\r\n else\r\n return { ...state, availableSelectionScopes: [defaultSelectionScope] };\r\n }\r\n case SessionStateActionId.SetSelectionScope: {\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, activeSelectionScope: action.payload };\r\n else\r\n return { ...state, activeSelectionScope: defaultSelectionScope.id };\r\n }\r\n case SessionStateActionId.SetActiveIModelId: {\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, iModelId: action.payload };\r\n else\r\n return { ...state, iModelId: \"\" };\r\n }\r\n case SessionStateActionId.SetDefaultIModelViewportControlId: {\r\n return { ...state, defaultIModelViewportControlId: action.payload };\r\n }\r\n case SessionStateActionId.SetDefaultViewId: {\r\n return { ...state, defaultViewId: action.payload };\r\n }\r\n case SessionStateActionId.SetDefaultViewState: {\r\n return { ...state, defaultViewState: action.payload };\r\n }\r\n case SessionStateActionId.SetIModelConnection: {\r\n return { ...state, iModelConnection: action.payload };\r\n }\r\n case SessionStateActionId.SetUserInfo: {\r\n return { ...state, userInfo: action.payload };\r\n }\r\n case SessionStateActionId.UpdateCursorMenu: {\r\n return { ...state, cursorMenuData: action.payload };\r\n }\r\n }\r\n\r\n return state;\r\n}\r\n"]}
1
+ {"version":3,"file":"SessionState.js","sourceRoot":"","sources":["../../../../src/appui-react/redux/SessionState.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 State\r\n */\r\n\r\n// The following definitions are causing extract-api issues on linux so for now just using any until we can figure out the issue.\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\n// import { IModelConnection, ViewState } from \"@itwin/core-frontend\";\r\nimport { MenuItemProps } from \"../shared/MenuItem\";\r\nimport { ActionsUnion, createAction, DeepReadonly } from \"./redux-ts\";\r\n\r\n// cSpell:ignore configurableui snapmode toolprompt sessionstate imodelid viewid viewportid rulesetid\r\n\r\n/** PresentationSelectionScope holds the id and the localized label for a selection scope supported for a specific iModel.\r\n * Added to avoid an api-extract error caused by using SelectionScope.\r\n * @public\r\n */\r\nexport interface PresentationSelectionScope {\r\n id: string;\r\n label: string;\r\n}\r\n\r\n/** Definition of data added to Redux store to define cursor menu. If menuItems are empty the menu control is not displayed.\r\n * To close the menu clear the menuItems or pass in undefined as the CursorData.\r\n * @public\r\n */\r\nexport interface CursorMenuData {\r\n items: MenuItemProps[];\r\n position: XAndY;\r\n childWindowId?: string;\r\n}\r\n\r\n/** Action Ids used by Redux and to send sync UI components. Typically used to refresh visibility or enable state of control.\r\n * Since these are also used as sync ids they should be in lowercase.\r\n * @public\r\n */\r\nexport enum SessionStateActionId {\r\n SetNumItemsSelected = \"sessionstate:set-num-items-selected\",\r\n SetAvailableSelectionScopes = \"sessionstate:set-available-selection-scopes\",\r\n SetSelectionScope = \"sessionstate:set-selection-scope\",\r\n SetActiveIModelId = \"sessionstate:set-active-imodelid\",\r\n SetIModelConnection = \"sessionstate:set-imodel-connection\",\r\n SetDefaultIModelViewportControlId = \"sessionstate:set-default-viewportid\",\r\n SetDefaultViewId = \"sessionstate:set-default-viewid\",\r\n SetDefaultViewState = \"sessionstate:set-default-view-state\",\r\n UpdateCursorMenu = \"sessionstate:update-cursor-menu\",\r\n}\r\n\r\n/** The portion of state managed by the SessionStateReducer.\r\n * @public\r\n */\r\nexport interface SessionState {\r\n numItemsSelected: number;\r\n availableSelectionScopes: PresentationSelectionScope[];\r\n activeSelectionScope: string;\r\n iModelId: string;\r\n defaultIModelViewportControlId: string | undefined;\r\n defaultViewId: string | undefined;\r\n defaultViewState: any | undefined;\r\n iModelConnection: any | undefined;\r\n cursorMenuData: CursorMenuData | undefined;\r\n}\r\n\r\nconst defaultSelectionScope = { id: \"element\", label: \"Element\" } as PresentationSelectionScope;\r\n\r\n/** used on first call of SessionStateReducer */\r\nconst initialState: SessionState = {\r\n /** number of selected items in Presentation Selection */\r\n numItemsSelected: 0,\r\n /** initialize to only support \"Element\" scope, this will be overwritten when iModelConnection is established */\r\n availableSelectionScopes: [defaultSelectionScope],\r\n /** initialize to active selection scope to \"Element\", this will be overwritten when iModelConnection is established */\r\n activeSelectionScope: defaultSelectionScope.id,\r\n /** set to iModelId if an iModel is active else it is an empty string, so initialize to empty string */\r\n iModelId: \"\",\r\n defaultIModelViewportControlId: undefined,\r\n defaultViewId: undefined,\r\n defaultViewState: undefined,\r\n iModelConnection: undefined,\r\n cursorMenuData: undefined,\r\n};\r\n\r\n/** An interface that allows redux connected object to dispatch changes to the SessionState reducer.\r\n * @beta\r\n */\r\nexport interface SessionStateActionsProps {\r\n setActiveIModelId: (typeof SessionStateActions.setActiveIModelId);\r\n setAvailableSelectionScopes: (typeof SessionStateActions.setAvailableSelectionScopes);\r\n setDefaultIModelViewportControlId: (typeof SessionStateActions.setDefaultIModelViewportControlId);\r\n setDefaultViewId: (typeof SessionStateActions.setDefaultViewId);\r\n setDefaultViewState: (typeof SessionStateActions.setDefaultViewState);\r\n setIModelConnection: (typeof SessionStateActions.setIModelConnection);\r\n setNumItemsSelected: (typeof SessionStateActions.setNumItemsSelected);\r\n setSelectionScope: (typeof SessionStateActions.setSelectionScope);\r\n updateCursorMenu: (typeof SessionStateActions.updateCursorMenu);\r\n}\r\n\r\n/** An object with a function that creates each SessionStateReducer that can be handled by our reducer.\r\n * @public\r\n */\r\nexport const SessionStateActions = { // eslint-disable-line @typescript-eslint/naming-convention\r\n setActiveIModelId:\r\n // istanbul ignore next\r\n (iModelId: string) => createAction(SessionStateActionId.SetActiveIModelId, iModelId),\r\n setAvailableSelectionScopes:\r\n // istanbul ignore next\r\n (availableSelectionScopes: PresentationSelectionScope[]) => createAction(SessionStateActionId.SetAvailableSelectionScopes, availableSelectionScopes),\r\n setDefaultIModelViewportControlId: (iModelViewportControlId: string) => createAction(SessionStateActionId.SetDefaultIModelViewportControlId, iModelViewportControlId),\r\n setDefaultViewId: (viewId: string) => createAction(SessionStateActionId.SetDefaultViewId, viewId),\r\n setDefaultViewState:\r\n // istanbul ignore next\r\n (viewState: any) => createAction(SessionStateActionId.SetDefaultViewState, viewState),\r\n setNumItemsSelected: (numSelected: number) => createAction(SessionStateActionId.SetNumItemsSelected, numSelected),\r\n setIModelConnection:\r\n // istanbul ignore next\r\n (iModelConnection: any) => createAction(SessionStateActionId.SetIModelConnection, iModelConnection),\r\n setSelectionScope:\r\n // istanbul ignore next\r\n (activeSelectionScope: string) => createAction(SessionStateActionId.SetSelectionScope, activeSelectionScope),\r\n updateCursorMenu:\r\n // istanbul ignore next\r\n (cursorMenuData: CursorMenuData) => createAction(SessionStateActionId.UpdateCursorMenu, cursorMenuData),\r\n};\r\n\r\n/** Object that contains available actions that modify SessionState. Parent control's props should\r\n * extend from SessionStateActionsProps before using this in Redux 'connect' function.\r\n * @beta\r\n */\r\n// ...SessionStateActionsProps\r\nexport const sessionStateMapDispatchToProps = { ...SessionStateActions };\r\n\r\n/** Union of SessionState Redux actions\r\n * @public\r\n */\r\nexport type SessionStateActionsUnion = ActionsUnion<typeof SessionStateActions>;\r\n\r\n/** Handles actions to update SessionState.\r\n * @public\r\n */\r\nexport function SessionStateReducer(state: SessionState = initialState, action: SessionStateActionsUnion): DeepReadonly<SessionState> {\r\n switch (action.type) {\r\n case SessionStateActionId.SetNumItemsSelected: {\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, numItemsSelected: action.payload };\r\n else\r\n return { ...state, numItemsSelected: 0 };\r\n }\r\n case SessionStateActionId.SetAvailableSelectionScopes: {\r\n const payloadArray: PresentationSelectionScope[] = [];\r\n action.payload.forEach((scope) => payloadArray.push(scope));\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, availableSelectionScopes: payloadArray };\r\n else\r\n return { ...state, availableSelectionScopes: [defaultSelectionScope] };\r\n }\r\n case SessionStateActionId.SetSelectionScope: {\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, activeSelectionScope: action.payload };\r\n else\r\n return { ...state, activeSelectionScope: defaultSelectionScope.id };\r\n }\r\n case SessionStateActionId.SetActiveIModelId: {\r\n // istanbul ignore else\r\n if (undefined !== action.payload)\r\n return { ...state, iModelId: action.payload };\r\n else\r\n return { ...state, iModelId: \"\" };\r\n }\r\n case SessionStateActionId.SetDefaultIModelViewportControlId: {\r\n return { ...state, defaultIModelViewportControlId: action.payload };\r\n }\r\n case SessionStateActionId.SetDefaultViewId: {\r\n return { ...state, defaultViewId: action.payload };\r\n }\r\n case SessionStateActionId.SetDefaultViewState: {\r\n return { ...state, defaultViewState: action.payload };\r\n }\r\n case SessionStateActionId.SetIModelConnection: {\r\n return { ...state, iModelConnection: action.payload };\r\n }\r\n case SessionStateActionId.UpdateCursorMenu: {\r\n return { ...state, cursorMenuData: action.payload };\r\n }\r\n }\r\n\r\n return state;\r\n}\r\n"]}
@@ -4,7 +4,7 @@
4
4
  import { Store } from "redux";
5
5
  import { FrameworkState } from "./FrameworkState";
6
6
  import { NameToReducerMap } from "./ReducerRegistry";
7
- /** Generic 'root' state for the appui-react package. Since this state contains common values needed by many iModel.js applications
7
+ /** Generic 'root' state for the appui-react package. Since this state contains common values needed by many applications
8
8
  * it is automatically added to the Redux store when using [[StateManager]].
9
9
  * @beta
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"StateManager.js","sourceRoot":"","sources":["../../../../src/appui-react/redux/StateManager.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 State\r\n */\r\n\r\n// cSpell:ignore DEVTOOLS\r\n\r\nimport { combineReducers, createStore, ReducersMapObject, Store } from \"redux\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { UiError } from \"@itwin/appui-abstract\";\r\nimport { FrameworkReducer, FrameworkState } from \"./FrameworkState\";\r\nimport { NameToReducerMap, ReducerRegistryInstance } from \"./ReducerRegistry\";\r\n\r\n/** Generic 'root' state for the appui-react package. Since this state contains common values needed by many iModel.js applications\r\n * it is automatically added to the Redux store when using [[StateManager]].\r\n * @beta\r\n */\r\nexport interface FrameworkRootState {\r\n frameworkState: FrameworkState;\r\n}\r\n\r\n/**\r\n * Centralized state management class using Redux actions, reducers and store. This class monitors the ReducerRegistry and will\r\n * automatically update the store when a new reducer is registered. This allows the store to be incrementally constructed as modules\r\n * and/or extensions are loaded.\r\n * @public\r\n */\r\nexport class StateManager {\r\n private static _LOG_CATEGORY = \"StateManager\";\r\n private _store: Store<any>;\r\n private _defaultReducers: NameToReducerMap;\r\n\r\n private static _singletonStore: Store<any> | undefined;\r\n\r\n /**\r\n * StateManager construct.\r\n * @param defaultReducers Default set of Reducers used by the current application. If this object does not contain the [[FrameworkReducer]] it will automatically be added.\r\n */\r\n constructor(defaultReducers?: NameToReducerMap) {\r\n if (defaultReducers) {\r\n this._defaultReducers = defaultReducers;\r\n const keys = (Object.keys(defaultReducers));\r\n // ensure frameworkState is included in the set of defaultReducers\r\n if (-1 === keys.findIndex((key) => key === \"frameworkState\"))\r\n this._defaultReducers = { ...defaultReducers, frameworkState: FrameworkReducer };\r\n } else {\r\n this._defaultReducers = { frameworkState: FrameworkReducer };\r\n }\r\n\r\n const dynamicallyRegisteredReducers = ReducerRegistryInstance.getReducers();\r\n let allReducers: any = this.combineDynamicAndDefaultReducers(\r\n dynamicallyRegisteredReducers,\r\n this._defaultReducers,\r\n );\r\n\r\n // create the Redux Store.\r\n // istanbul ignore next\r\n this._store = createStore(allReducers, (window as any).__REDUX_DEVTOOLS_EXTENSION__ && (window as any).__REDUX_DEVTOOLS_EXTENSION__());\r\n\r\n ReducerRegistryInstance.setChangeListener((newDynamicReducers) => {\r\n allReducers = this.combineDynamicAndDefaultReducers(newDynamicReducers, this._defaultReducers);\r\n this._store.replaceReducer(allReducers);\r\n });\r\n StateManager._singletonStore = this._store;\r\n }\r\n\r\n /** Method to test if the StateManager has been initialized.\r\n * @param suppressErrorLog If true and the StateManager is not initialized a log message will be output.\r\n */\r\n\r\n public static isInitialized(suppressErrorLog = false): boolean {\r\n if (!StateManager._singletonStore) {\r\n if (!suppressErrorLog)\r\n Logger.logError(StateManager._LOG_CATEGORY, \"Accessing store before it is created.\");\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n /** Return the current Redux store. Useful when using connect method to connect a Ui Component to the store. */\r\n public static get store(): Store<any> {\r\n if (StateManager.isInitialized()) {\r\n return StateManager._singletonStore!;\r\n } else {\r\n throw new UiError(StateManager._LOG_CATEGORY, `Redux Store has not been initialized`);\r\n }\r\n }\r\n\r\n /** Return the current state from the Redux store. */\r\n public static get state(): any {\r\n if (StateManager.isInitialized()) {\r\n return StateManager._singletonStore!.getState();\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n private combineDynamicAndDefaultReducers(\r\n dynamicallyRegisteredReducers: ReducersMapObject,\r\n defaultReducers: ReducersMapObject,\r\n ) {\r\n const allReducers = {\r\n ...defaultReducers,\r\n ...dynamicallyRegisteredReducers,\r\n };\r\n\r\n return combineReducers(allReducers);\r\n }\r\n\r\n /** To be used only in unit test\r\n * @internal\r\n */\r\n public static clearStore() {\r\n StateManager._singletonStore = undefined;\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"StateManager.js","sourceRoot":"","sources":["../../../../src/appui-react/redux/StateManager.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 State\r\n */\r\n\r\n// cSpell:ignore DEVTOOLS\r\n\r\nimport { combineReducers, createStore, ReducersMapObject, Store } from \"redux\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { UiError } from \"@itwin/appui-abstract\";\r\nimport { FrameworkReducer, FrameworkState } from \"./FrameworkState\";\r\nimport { NameToReducerMap, ReducerRegistryInstance } from \"./ReducerRegistry\";\r\n\r\n/** Generic 'root' state for the appui-react package. Since this state contains common values needed by many applications\r\n * it is automatically added to the Redux store when using [[StateManager]].\r\n * @beta\r\n */\r\nexport interface FrameworkRootState {\r\n frameworkState: FrameworkState;\r\n}\r\n\r\n/**\r\n * Centralized state management class using Redux actions, reducers and store. This class monitors the ReducerRegistry and will\r\n * automatically update the store when a new reducer is registered. This allows the store to be incrementally constructed as modules\r\n * and/or extensions are loaded.\r\n * @public\r\n */\r\nexport class StateManager {\r\n private static _LOG_CATEGORY = \"StateManager\";\r\n private _store: Store<any>;\r\n private _defaultReducers: NameToReducerMap;\r\n\r\n private static _singletonStore: Store<any> | undefined;\r\n\r\n /**\r\n * StateManager construct.\r\n * @param defaultReducers Default set of Reducers used by the current application. If this object does not contain the [[FrameworkReducer]] it will automatically be added.\r\n */\r\n constructor(defaultReducers?: NameToReducerMap) {\r\n if (defaultReducers) {\r\n this._defaultReducers = defaultReducers;\r\n const keys = (Object.keys(defaultReducers));\r\n // ensure frameworkState is included in the set of defaultReducers\r\n if (-1 === keys.findIndex((key) => key === \"frameworkState\"))\r\n this._defaultReducers = { ...defaultReducers, frameworkState: FrameworkReducer };\r\n } else {\r\n this._defaultReducers = { frameworkState: FrameworkReducer };\r\n }\r\n\r\n const dynamicallyRegisteredReducers = ReducerRegistryInstance.getReducers();\r\n let allReducers: any = this.combineDynamicAndDefaultReducers(\r\n dynamicallyRegisteredReducers,\r\n this._defaultReducers,\r\n );\r\n\r\n // create the Redux Store.\r\n // istanbul ignore next\r\n this._store = createStore(allReducers, (window as any).__REDUX_DEVTOOLS_EXTENSION__ && (window as any).__REDUX_DEVTOOLS_EXTENSION__());\r\n\r\n ReducerRegistryInstance.setChangeListener((newDynamicReducers) => {\r\n allReducers = this.combineDynamicAndDefaultReducers(newDynamicReducers, this._defaultReducers);\r\n this._store.replaceReducer(allReducers);\r\n });\r\n StateManager._singletonStore = this._store;\r\n }\r\n\r\n /** Method to test if the StateManager has been initialized.\r\n * @param suppressErrorLog If true and the StateManager is not initialized a log message will be output.\r\n */\r\n\r\n public static isInitialized(suppressErrorLog = false): boolean {\r\n if (!StateManager._singletonStore) {\r\n if (!suppressErrorLog)\r\n Logger.logError(StateManager._LOG_CATEGORY, \"Accessing store before it is created.\");\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n /** Return the current Redux store. Useful when using connect method to connect a Ui Component to the store. */\r\n public static get store(): Store<any> {\r\n if (StateManager.isInitialized()) {\r\n return StateManager._singletonStore!;\r\n } else {\r\n throw new UiError(StateManager._LOG_CATEGORY, `Redux Store has not been initialized`);\r\n }\r\n }\r\n\r\n /** Return the current state from the Redux store. */\r\n public static get state(): any {\r\n if (StateManager.isInitialized()) {\r\n return StateManager._singletonStore!.getState();\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n private combineDynamicAndDefaultReducers(\r\n dynamicallyRegisteredReducers: ReducersMapObject,\r\n defaultReducers: ReducersMapObject,\r\n ) {\r\n const allReducers = {\r\n ...defaultReducers,\r\n ...dynamicallyRegisteredReducers,\r\n };\r\n\r\n return combineReducers(allReducers);\r\n }\r\n\r\n /** To be used only in unit test\r\n * @internal\r\n */\r\n public static clearStore() {\r\n StateManager._singletonStore = undefined;\r\n }\r\n\r\n}\r\n"]}