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

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 (919) hide show
  1. package/CHANGELOG.md +188 -16
  2. package/LICENSE.md +1 -1
  3. package/README.md +3 -3
  4. package/lib/cjs/appui-react/UiFramework.d.ts +30 -15
  5. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  6. package/lib/cjs/appui-react/UiFramework.js +49 -30
  7. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts +3 -3
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +3 -3
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/Calculator.js +1 -1
  15. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts +4 -4
  17. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +5 -4
  19. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  20. package/lib/cjs/appui-react/backstage/Backstage.d.ts +0 -2
  21. package/lib/cjs/appui-react/backstage/Backstage.d.ts.map +1 -1
  22. package/lib/cjs/appui-react/backstage/Backstage.js.map +1 -1
  23. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts +2 -0
  24. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageComposer.js +26 -8
  26. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  27. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts +2 -2
  28. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +1 -1
  29. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  30. package/lib/cjs/appui-react/backstage/BackstageItemProps.d.ts +3 -3
  31. package/lib/cjs/appui-react/backstage/BackstageItemProps.js +1 -1
  32. package/lib/cjs/appui-react/backstage/BackstageItemProps.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.d.ts +5 -5
  34. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js +3 -3
  35. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  36. package/lib/cjs/appui-react/backstage/CommandLaunch.d.ts +2 -0
  37. package/lib/cjs/appui-react/backstage/CommandLaunch.d.ts.map +1 -1
  38. package/lib/cjs/appui-react/backstage/CommandLaunch.js +1 -0
  39. package/lib/cjs/appui-react/backstage/CommandLaunch.js.map +1 -1
  40. package/lib/cjs/appui-react/backstage/FrontstageLaunch.d.ts +4 -0
  41. package/lib/cjs/appui-react/backstage/FrontstageLaunch.d.ts.map +1 -1
  42. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js +5 -6
  43. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  44. package/lib/cjs/appui-react/backstage/Separator.d.ts +1 -0
  45. package/lib/cjs/appui-react/backstage/Separator.d.ts.map +1 -1
  46. package/lib/cjs/appui-react/backstage/Separator.js +3 -2
  47. package/lib/cjs/appui-react/backstage/Separator.js.map +1 -1
  48. package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts +1 -1
  49. package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
  50. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +3 -4
  51. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  52. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  53. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  54. package/lib/cjs/appui-react/configurableui/state.d.ts +7 -1
  55. package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
  56. package/lib/cjs/appui-react/configurableui/state.js +12 -0
  57. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  58. package/lib/cjs/appui-react/content/ContentControl.d.ts +1 -1
  59. package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
  60. package/lib/cjs/appui-react/content/ContentControl.js +2 -2
  61. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  62. package/lib/cjs/appui-react/content/ContentLayout.d.ts +2 -2
  63. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/content/ContentLayout.js +4 -3
  65. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  66. package/lib/cjs/appui-react/content/ContentViewManager.d.ts +1 -1
  67. package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/content/ContentViewManager.js +3 -3
  69. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  70. package/lib/cjs/appui-react/content/IModelViewport.d.ts +13 -1
  71. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  72. package/lib/cjs/appui-react/content/IModelViewport.js +18 -5
  73. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  74. package/lib/cjs/appui-react/content/{SavedViewLayout.d.ts → StageContentLayout.d.ts} +11 -11
  75. package/lib/cjs/appui-react/content/StageContentLayout.d.ts.map +1 -0
  76. package/lib/cjs/appui-react/content/{SavedViewLayout.js → StageContentLayout.js} +19 -17
  77. package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -0
  78. package/lib/cjs/appui-react/content/{SavedView.d.ts → ViewStateHelper.d.ts} +7 -7
  79. package/lib/cjs/appui-react/content/ViewStateHelper.d.ts.map +1 -0
  80. package/lib/cjs/appui-react/content/{SavedView.js → ViewStateHelper.js} +4 -4
  81. package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -0
  82. package/lib/cjs/appui-react/content/split-pane/Pane.d.ts +21 -0
  83. package/lib/cjs/appui-react/content/split-pane/Pane.d.ts.map +1 -0
  84. package/lib/cjs/appui-react/content/split-pane/Pane.js +43 -0
  85. package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -0
  86. package/lib/cjs/appui-react/content/split-pane/Resizer.d.ts +23 -0
  87. package/lib/cjs/appui-react/content/split-pane/Resizer.d.ts.map +1 -0
  88. package/lib/cjs/appui-react/content/split-pane/Resizer.js +39 -0
  89. package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -0
  90. package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts +70 -0
  91. package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts.map +1 -0
  92. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +243 -0
  93. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -0
  94. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts +1 -2
  95. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  96. package/lib/cjs/appui-react/cursor/CursorInformation.js +1 -1
  97. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  98. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  99. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  100. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +2 -2
  101. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  102. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +3 -3
  103. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  104. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts +1 -1
  105. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  106. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +2 -2
  107. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  108. package/lib/cjs/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  109. package/lib/cjs/appui-react/dialog/StandardMessageBox.js +3 -0
  110. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  111. package/lib/cjs/appui-react/dragdrop/ZoneTargets.d.ts.map +1 -1
  112. package/lib/cjs/appui-react/dragdrop/ZoneTargets.js +8 -4
  113. package/lib/cjs/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  114. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts +2 -2
  115. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  116. package/lib/cjs/appui-react/feedback/ElementTooltip.js +4 -2
  117. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  118. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +1 -0
  119. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  120. package/lib/cjs/appui-react/frontstage/Frontstage.js +32 -13
  121. package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
  122. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts +3 -0
  123. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  124. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js +15 -1
  125. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  126. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +15 -2
  127. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  128. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +138 -3
  129. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  130. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  131. package/lib/cjs/appui-react/frontstage/FrontstageManager.js +1 -0
  132. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  133. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +6 -0
  134. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  135. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  136. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  137. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  138. package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  139. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  140. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  141. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +1 -1
  142. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  143. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js +6 -7
  144. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  145. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +3 -3
  146. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  147. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +1 -1
  148. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  149. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -5
  150. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  151. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  152. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +1 -1
  153. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  154. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +81 -68
  155. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  156. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  157. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  158. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
  159. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +1 -1
  161. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  162. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  163. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  164. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js +3 -2
  165. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  166. package/lib/cjs/appui-react/messages/AppNotificationManager.d.ts +1 -1
  167. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
  168. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  169. package/lib/cjs/appui-react/messages/MessageManager.d.ts +1 -2
  170. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  171. package/lib/cjs/appui-react/messages/MessageManager.js +15 -9
  172. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  173. package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -2
  174. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  175. package/lib/cjs/appui-react/messages/Pointer.js +4 -3
  176. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  177. package/lib/cjs/appui-react/messages/ToastMessage.js +2 -1
  178. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  179. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
  180. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  181. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +2 -2
  182. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  183. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
  184. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  185. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
  186. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  187. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +6 -4
  188. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  189. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +3 -0
  190. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  191. package/lib/cjs/appui-react/pickers/ListPicker.js +24 -9
  192. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  193. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +1 -1
  194. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  195. package/lib/cjs/appui-react/pickers/ViewSelector.js +9 -9
  196. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  197. package/lib/cjs/appui-react/popup/CardPopup.d.ts +7 -4
  198. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  199. package/lib/cjs/appui-react/popup/CardPopup.js +3 -2
  200. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  201. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +3 -2
  202. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  203. package/lib/cjs/appui-react/popup/InputEditorPopup.js +1 -1
  204. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  205. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +6 -6
  206. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  207. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +3 -2
  208. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  209. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +1 -1
  210. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  211. package/lib/cjs/appui-react/popup/PopupManager.d.ts +10 -10
  212. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  213. package/lib/cjs/appui-react/popup/PopupManager.js +4 -4
  214. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  215. package/lib/cjs/appui-react/popup/PositionPopup.d.ts +5 -3
  216. package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
  217. package/lib/cjs/appui-react/popup/PositionPopup.js +3 -2
  218. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  219. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts +3 -2
  220. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  221. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +1 -1
  222. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  223. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +4 -3
  224. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  225. package/lib/cjs/appui-react/popup/ToolbarPopup.js +2 -2
  226. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  227. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  228. package/lib/cjs/appui-react/redux/SessionState.d.ts +0 -6
  229. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  230. package/lib/cjs/appui-react/redux/SessionState.js +0 -8
  231. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  232. package/lib/cjs/appui-react/redux/StateManager.d.ts +1 -1
  233. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  234. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js +7 -7
  235. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  236. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  237. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  238. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  239. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  240. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +28 -19
  241. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  242. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  243. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  244. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  245. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
  246. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  247. package/lib/cjs/appui-react/shared/ItemDefBase.js +1 -1
  248. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  249. package/lib/cjs/appui-react/shared/ItemProps.d.ts +2 -2
  250. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  251. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts +1 -1
  252. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  253. package/lib/cjs/appui-react/shared/ToolItemDef.js +2 -2
  254. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  255. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  256. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js +1 -0
  257. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  258. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts +2 -2
  259. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  260. package/lib/cjs/appui-react/stagepanels/StagePanel.js +1 -0
  261. package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
  262. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +26 -2
  263. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  264. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +24 -3
  265. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  266. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  267. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts.map +1 -1
  268. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js +2 -1
  269. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  270. package/lib/cjs/appui-react/statusbar/StatusBar.js +2 -1
  271. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  272. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  273. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +17 -5
  274. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  275. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  276. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  277. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  278. package/lib/cjs/appui-react/statusfields/Indicator.d.ts +15 -14
  279. package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
  280. package/lib/cjs/appui-react/statusfields/Indicator.js +23 -21
  281. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  282. package/lib/cjs/appui-react/statusfields/Indicator.scss +29 -18
  283. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  284. package/lib/cjs/appui-react/statusfields/MessageCenter.js +2 -1
  285. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  286. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts +1 -0
  287. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  288. package/lib/cjs/appui-react/statusfields/SelectionScope.js +6 -4
  289. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  290. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +13 -3
  291. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +2 -10
  292. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  293. package/lib/cjs/appui-react/statusfields/SnapMode.js +4 -34
  294. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  295. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -6
  296. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  297. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +1 -25
  298. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  299. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +7 -7
  300. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  301. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -12
  302. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  303. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -3
  304. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts +2 -2
  305. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts.map +1 -1
  306. package/lib/cjs/appui-react/syncui/BooleanListener.js +2 -1
  307. package/lib/cjs/appui-react/syncui/BooleanListener.js.map +1 -1
  308. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts +8 -18
  309. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  310. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +30 -103
  311. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  312. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js +2 -1
  313. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  314. package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  315. package/lib/cjs/appui-react/toolbar/ActionItemButton.js +2 -1
  316. package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
  317. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js +24 -20
  318. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  319. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  320. package/lib/cjs/appui-react/toolbar/GroupItem.js +33 -29
  321. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  322. package/lib/cjs/appui-react/toolbar/ToolButton.js +3 -2
  323. package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
  324. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  325. package/lib/cjs/appui-react/toolbar/Toolbar.js +3 -2
  326. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  327. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +22 -20
  329. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  330. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  331. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +4 -4
  332. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  333. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.d.ts +2 -2
  334. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js +2 -2
  335. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  336. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +8 -10
  337. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  338. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +17 -36
  339. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  340. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +7 -9
  341. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  342. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +12 -20
  343. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  344. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +7 -9
  345. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  346. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +39 -50
  347. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  348. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +4 -4
  349. package/lib/{esm/appui-react/uisettings → cjs/appui-react/uistate}/AppUiSettings.d.ts +9 -7
  350. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -0
  351. package/lib/cjs/appui-react/{uisettings → uistate}/AppUiSettings.js +12 -8
  352. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -0
  353. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts +15 -0
  354. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -0
  355. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js +59 -0
  356. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js.map +1 -0
  357. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts +20 -0
  358. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -0
  359. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +38 -0
  360. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -0
  361. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts +5 -5
  362. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  363. package/lib/cjs/appui-react/utils/UiShowHideManager.js +8 -8
  364. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  365. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  366. package/lib/cjs/appui-react/widget-panels/Content.js +1 -4
  367. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  368. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +98 -8
  369. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  370. package/lib/cjs/appui-react/widget-panels/Frontstage.js +82 -92
  371. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  372. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts +22 -0
  373. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -0
  374. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +56 -0
  375. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -0
  376. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  377. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +1 -0
  378. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  379. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  380. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +3 -1
  381. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  382. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +9 -0
  383. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  384. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +10 -0
  385. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  386. package/lib/cjs/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  387. package/lib/cjs/appui-react/widgets/NavigationWidget.js +2 -1
  388. package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +1 -1
  389. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +1 -0
  390. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  391. package/lib/cjs/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  392. package/lib/cjs/appui-react/widgets/StableWidgetDef.js +1 -1
  393. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  394. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js +2 -1
  395. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  396. package/lib/cjs/appui-react/widgets/ToolWidget.js +3 -2
  397. package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
  398. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts +0 -12
  399. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  400. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js +1 -36
  401. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  402. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -0
  403. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts.map +1 -1
  404. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js +5 -2
  405. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  406. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  407. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  408. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  409. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  410. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -3
  411. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  412. package/lib/cjs/appui-react/widgets/WidgetDef.js +18 -7
  413. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  414. package/lib/cjs/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  415. package/lib/cjs/appui-react/widgets/WidgetHost.js +1 -0
  416. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  417. package/lib/cjs/appui-react/widgets/WidgetStack.d.ts.map +1 -1
  418. package/lib/cjs/appui-react/widgets/WidgetStack.js +2 -0
  419. package/lib/cjs/appui-react/widgets/WidgetStack.js.map +1 -1
  420. package/lib/cjs/appui-react/zones/FrameworkZone.js.map +1 -1
  421. package/lib/cjs/appui-react/zones/StatusBarZone.js.map +1 -1
  422. package/lib/cjs/appui-react/zones/Zone.d.ts +1 -1
  423. package/lib/cjs/appui-react/zones/Zone.d.ts.map +1 -1
  424. package/lib/cjs/appui-react/zones/Zone.js +2 -1
  425. package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
  426. package/lib/cjs/appui-react/zones/ZoneDef.d.ts +4 -4
  427. package/lib/cjs/appui-react/zones/ZoneDef.d.ts.map +1 -1
  428. package/lib/cjs/appui-react/zones/ZoneDef.js +5 -4
  429. package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
  430. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
  431. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  432. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js +3 -2
  433. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  434. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  435. package/lib/cjs/appui-react.d.ts +15 -18
  436. package/lib/cjs/appui-react.d.ts.map +1 -1
  437. package/lib/cjs/appui-react.js +15 -18
  438. package/lib/cjs/appui-react.js.map +1 -1
  439. package/lib/esm/appui-react/UiFramework.d.ts +30 -15
  440. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  441. package/lib/esm/appui-react/UiFramework.js +48 -29
  442. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  443. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts +3 -3
  444. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  445. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +3 -3
  446. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  447. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +1 -1
  448. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  449. package/lib/esm/appui-react/accudraw/Calculator.js +1 -1
  450. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  451. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +4 -4
  452. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  453. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +6 -5
  454. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  455. package/lib/esm/appui-react/backstage/Backstage.d.ts +0 -2
  456. package/lib/esm/appui-react/backstage/Backstage.d.ts.map +1 -1
  457. package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
  458. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +2 -0
  459. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  460. package/lib/esm/appui-react/backstage/BackstageComposer.js +27 -9
  461. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  462. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +2 -2
  463. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -1
  464. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  465. package/lib/esm/appui-react/backstage/BackstageItemProps.d.ts +3 -3
  466. package/lib/esm/appui-react/backstage/BackstageItemProps.js +1 -1
  467. package/lib/esm/appui-react/backstage/BackstageItemProps.js.map +1 -1
  468. package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts +5 -5
  469. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js +3 -3
  470. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  471. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts +2 -0
  472. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts.map +1 -1
  473. package/lib/esm/appui-react/backstage/CommandLaunch.js +1 -0
  474. package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
  475. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts +4 -0
  476. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts.map +1 -1
  477. package/lib/esm/appui-react/backstage/FrontstageLaunch.js +5 -6
  478. package/lib/esm/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  479. package/lib/esm/appui-react/backstage/Separator.d.ts +1 -0
  480. package/lib/esm/appui-react/backstage/Separator.d.ts.map +1 -1
  481. package/lib/esm/appui-react/backstage/Separator.js +3 -2
  482. package/lib/esm/appui-react/backstage/Separator.js.map +1 -1
  483. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts +1 -1
  484. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
  485. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +3 -4
  486. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  487. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  488. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  489. package/lib/esm/appui-react/configurableui/state.d.ts +7 -1
  490. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  491. package/lib/esm/appui-react/configurableui/state.js +12 -0
  492. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  493. package/lib/esm/appui-react/content/ContentControl.d.ts +1 -1
  494. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  495. package/lib/esm/appui-react/content/ContentControl.js +1 -1
  496. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  497. package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -2
  498. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  499. package/lib/esm/appui-react/content/ContentLayout.js +3 -2
  500. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  501. package/lib/esm/appui-react/content/ContentViewManager.d.ts +1 -1
  502. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
  503. package/lib/esm/appui-react/content/ContentViewManager.js +1 -1
  504. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  505. package/lib/esm/appui-react/content/IModelViewport.d.ts +13 -1
  506. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  507. package/lib/esm/appui-react/content/IModelViewport.js +16 -4
  508. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  509. package/lib/esm/appui-react/content/{SavedViewLayout.d.ts → StageContentLayout.d.ts} +11 -11
  510. package/lib/esm/appui-react/content/StageContentLayout.d.ts.map +1 -0
  511. package/lib/esm/appui-react/content/{SavedViewLayout.js → StageContentLayout.js} +17 -15
  512. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -0
  513. package/lib/esm/appui-react/content/{SavedView.d.ts → ViewStateHelper.d.ts} +7 -7
  514. package/lib/esm/appui-react/content/ViewStateHelper.d.ts.map +1 -0
  515. package/lib/esm/appui-react/content/{SavedView.js → ViewStateHelper.js} +2 -2
  516. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -0
  517. package/lib/esm/appui-react/content/split-pane/Pane.d.ts +21 -0
  518. package/lib/esm/appui-react/content/split-pane/Pane.d.ts.map +1 -0
  519. package/lib/esm/appui-react/content/split-pane/Pane.js +39 -0
  520. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -0
  521. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts +23 -0
  522. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts.map +1 -0
  523. package/lib/esm/appui-react/content/split-pane/Resizer.js +35 -0
  524. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -0
  525. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts +70 -0
  526. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts.map +1 -0
  527. package/lib/esm/appui-react/content/split-pane/SplitPane.js +239 -0
  528. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -0
  529. package/lib/esm/appui-react/cursor/CursorInformation.d.ts +1 -2
  530. package/lib/esm/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  531. package/lib/esm/appui-react/cursor/CursorInformation.js +2 -2
  532. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  533. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  534. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  535. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +2 -2
  536. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  537. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +2 -2
  538. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  539. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +1 -1
  540. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  541. package/lib/esm/appui-react/dialog/DialogManagerBase.js +1 -1
  542. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  543. package/lib/esm/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  544. package/lib/esm/appui-react/dialog/StandardMessageBox.js +3 -0
  545. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  546. package/lib/esm/appui-react/dragdrop/ZoneTargets.d.ts.map +1 -1
  547. package/lib/esm/appui-react/dragdrop/ZoneTargets.js +8 -4
  548. package/lib/esm/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  549. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +2 -2
  550. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  551. package/lib/esm/appui-react/feedback/ElementTooltip.js +4 -2
  552. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  553. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +1 -0
  554. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  555. package/lib/esm/appui-react/frontstage/Frontstage.js +32 -13
  556. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  557. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts +3 -0
  558. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  559. package/lib/esm/appui-react/frontstage/FrontstageComposer.js +15 -1
  560. package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  561. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +15 -2
  562. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  563. package/lib/esm/appui-react/frontstage/FrontstageDef.js +140 -5
  564. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  565. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  566. package/lib/esm/appui-react/frontstage/FrontstageManager.js +1 -0
  567. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  568. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +6 -0
  569. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  570. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  571. package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  572. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  573. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  574. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  575. package/lib/esm/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  576. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +1 -1
  577. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  578. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js +6 -7
  579. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  580. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +3 -3
  581. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  582. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +1 -1
  583. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  584. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -5
  585. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  586. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  587. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +1 -1
  588. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  589. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +83 -70
  590. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  591. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  592. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  593. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
  594. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  595. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -2
  596. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  597. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  598. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  599. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js +3 -2
  600. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  601. package/lib/esm/appui-react/messages/AppNotificationManager.d.ts +1 -1
  602. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
  603. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  604. package/lib/esm/appui-react/messages/MessageManager.d.ts +1 -2
  605. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  606. package/lib/esm/appui-react/messages/MessageManager.js +9 -3
  607. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  608. package/lib/esm/appui-react/messages/Pointer.d.ts +2 -2
  609. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  610. package/lib/esm/appui-react/messages/Pointer.js +4 -3
  611. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  612. package/lib/esm/appui-react/messages/ToastMessage.js +2 -1
  613. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  614. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
  615. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  616. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -1
  617. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  618. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
  619. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  620. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
  621. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  622. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +6 -4
  623. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  624. package/lib/esm/appui-react/pickers/ListPicker.d.ts +3 -0
  625. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  626. package/lib/esm/appui-react/pickers/ListPicker.js +23 -9
  627. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  628. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +1 -1
  629. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  630. package/lib/esm/appui-react/pickers/ViewSelector.js +7 -7
  631. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  632. package/lib/esm/appui-react/popup/CardPopup.d.ts +7 -4
  633. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  634. package/lib/esm/appui-react/popup/CardPopup.js +3 -2
  635. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  636. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +3 -2
  637. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  638. package/lib/esm/appui-react/popup/InputEditorPopup.js +1 -1
  639. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  640. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +7 -7
  641. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  642. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +3 -2
  643. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  644. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +1 -1
  645. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  646. package/lib/esm/appui-react/popup/PopupManager.d.ts +10 -10
  647. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  648. package/lib/esm/appui-react/popup/PopupManager.js +5 -5
  649. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  650. package/lib/esm/appui-react/popup/PositionPopup.d.ts +5 -3
  651. package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
  652. package/lib/esm/appui-react/popup/PositionPopup.js +3 -2
  653. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  654. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts +3 -2
  655. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  656. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +1 -1
  657. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  658. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +4 -3
  659. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  660. package/lib/esm/appui-react/popup/ToolbarPopup.js +2 -2
  661. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  662. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  663. package/lib/esm/appui-react/redux/SessionState.d.ts +0 -6
  664. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  665. package/lib/esm/appui-react/redux/SessionState.js +0 -8
  666. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  667. package/lib/esm/appui-react/redux/StateManager.d.ts +1 -1
  668. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  669. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js +7 -7
  670. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  671. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  672. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  673. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  674. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  675. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +28 -19
  676. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  677. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  678. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  679. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  680. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
  681. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  682. package/lib/esm/appui-react/shared/ItemDefBase.js +1 -1
  683. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  684. package/lib/esm/appui-react/shared/ItemProps.d.ts +2 -2
  685. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  686. package/lib/esm/appui-react/shared/ToolItemDef.d.ts +1 -1
  687. package/lib/esm/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  688. package/lib/esm/appui-react/shared/ToolItemDef.js +2 -2
  689. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  690. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  691. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js +1 -0
  692. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  693. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts +2 -2
  694. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  695. package/lib/esm/appui-react/stagepanels/StagePanel.js +1 -0
  696. package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
  697. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +26 -2
  698. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  699. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +24 -3
  700. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  701. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  702. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts.map +1 -1
  703. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js +2 -1
  704. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  705. package/lib/esm/appui-react/statusbar/StatusBar.js +2 -1
  706. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  707. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  708. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +17 -5
  709. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  710. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  711. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  712. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  713. package/lib/esm/appui-react/statusfields/Indicator.d.ts +15 -14
  714. package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
  715. package/lib/esm/appui-react/statusfields/Indicator.js +23 -21
  716. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  717. package/lib/esm/appui-react/statusfields/Indicator.scss +29 -18
  718. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  719. package/lib/esm/appui-react/statusfields/MessageCenter.js +2 -1
  720. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  721. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts +1 -0
  722. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  723. package/lib/esm/appui-react/statusfields/SelectionScope.js +6 -4
  724. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  725. package/lib/esm/appui-react/statusfields/SelectionScope.scss +13 -3
  726. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +2 -10
  727. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  728. package/lib/esm/appui-react/statusfields/SnapMode.js +5 -35
  729. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  730. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -6
  731. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  732. package/lib/esm/appui-react/statusfields/ViewAttributes.js +2 -26
  733. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  734. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +7 -7
  735. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  736. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +14 -13
  737. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  738. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -3
  739. package/lib/esm/appui-react/syncui/BooleanListener.d.ts +2 -2
  740. package/lib/esm/appui-react/syncui/BooleanListener.d.ts.map +1 -1
  741. package/lib/esm/appui-react/syncui/BooleanListener.js +2 -1
  742. package/lib/esm/appui-react/syncui/BooleanListener.js.map +1 -1
  743. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts +8 -18
  744. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  745. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +29 -101
  746. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  747. package/lib/esm/appui-react/toolbar/ActionButtonItem.js +2 -1
  748. package/lib/esm/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  749. package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  750. package/lib/esm/appui-react/toolbar/ActionItemButton.js +2 -1
  751. package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
  752. package/lib/esm/appui-react/toolbar/GroupButtonItem.js +24 -20
  753. package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  754. package/lib/esm/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  755. package/lib/esm/appui-react/toolbar/GroupItem.js +33 -29
  756. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  757. package/lib/esm/appui-react/toolbar/ToolButton.js +3 -2
  758. package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
  759. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  760. package/lib/esm/appui-react/toolbar/Toolbar.js +3 -2
  761. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  762. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  763. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +22 -20
  764. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  765. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  766. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +4 -4
  767. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  768. package/lib/esm/appui-react/tools/MarkupToolDefinitions.d.ts +2 -2
  769. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js +2 -2
  770. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  771. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +8 -10
  772. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  773. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +18 -37
  774. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  775. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +7 -9
  776. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  777. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +13 -21
  778. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  779. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +7 -9
  780. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  781. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +40 -51
  782. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  783. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +4 -4
  784. package/lib/{cjs/appui-react/uisettings → esm/appui-react/uistate}/AppUiSettings.d.ts +9 -7
  785. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -0
  786. package/lib/esm/appui-react/{uisettings → uistate}/AppUiSettings.js +13 -9
  787. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -0
  788. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts +15 -0
  789. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -0
  790. package/lib/esm/appui-react/uistate/UserSettingsStorage.js +55 -0
  791. package/lib/esm/appui-react/uistate/UserSettingsStorage.js.map +1 -0
  792. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts +20 -0
  793. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -0
  794. package/lib/esm/appui-react/uistate/useUiStateStorage.js +33 -0
  795. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -0
  796. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts +5 -5
  797. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  798. package/lib/esm/appui-react/utils/UiShowHideManager.js +9 -9
  799. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  800. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  801. package/lib/esm/appui-react/widget-panels/Content.js +1 -4
  802. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  803. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +98 -8
  804. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  805. package/lib/esm/appui-react/widget-panels/Frontstage.js +82 -91
  806. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  807. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts +22 -0
  808. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -0
  809. package/lib/esm/appui-react/widgets/BackstageAppButton.js +52 -0
  810. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -0
  811. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  812. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +1 -0
  813. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  814. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  815. package/lib/esm/appui-react/widgets/BasicToolWidget.js +3 -1
  816. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  817. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +9 -0
  818. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  819. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +10 -0
  820. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  821. package/lib/esm/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  822. package/lib/esm/appui-react/widgets/NavigationWidget.js +2 -1
  823. package/lib/esm/appui-react/widgets/NavigationWidget.js.map +1 -1
  824. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +1 -0
  825. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  826. package/lib/esm/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  827. package/lib/esm/appui-react/widgets/StableWidgetDef.js +1 -1
  828. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  829. package/lib/esm/appui-react/widgets/ToolSettingsContent.js +2 -1
  830. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  831. package/lib/esm/appui-react/widgets/ToolWidget.js +3 -2
  832. package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
  833. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts +0 -12
  834. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  835. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js +2 -36
  836. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  837. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -0
  838. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts.map +1 -1
  839. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js +5 -2
  840. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  841. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  842. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  843. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  844. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  845. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -3
  846. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  847. package/lib/esm/appui-react/widgets/WidgetDef.js +18 -7
  848. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  849. package/lib/esm/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  850. package/lib/esm/appui-react/widgets/WidgetHost.js +1 -0
  851. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  852. package/lib/esm/appui-react/widgets/WidgetStack.d.ts.map +1 -1
  853. package/lib/esm/appui-react/widgets/WidgetStack.js +2 -0
  854. package/lib/esm/appui-react/widgets/WidgetStack.js.map +1 -1
  855. package/lib/esm/appui-react/zones/FrameworkZone.js.map +1 -1
  856. package/lib/esm/appui-react/zones/StatusBarZone.js.map +1 -1
  857. package/lib/esm/appui-react/zones/Zone.d.ts +1 -1
  858. package/lib/esm/appui-react/zones/Zone.d.ts.map +1 -1
  859. package/lib/esm/appui-react/zones/Zone.js +2 -1
  860. package/lib/esm/appui-react/zones/Zone.js.map +1 -1
  861. package/lib/esm/appui-react/zones/ZoneDef.d.ts +4 -4
  862. package/lib/esm/appui-react/zones/ZoneDef.d.ts.map +1 -1
  863. package/lib/esm/appui-react/zones/ZoneDef.js +5 -4
  864. package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
  865. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
  866. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  867. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js +2 -1
  868. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  869. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  870. package/lib/esm/appui-react.d.ts +15 -18
  871. package/lib/esm/appui-react.d.ts.map +1 -1
  872. package/lib/esm/appui-react.js +15 -18
  873. package/lib/esm/appui-react.js.map +1 -1
  874. package/lib/public/locales/en/UiFramework.json +9 -2
  875. package/package.json +44 -51
  876. package/lib/cjs/appui-react/UserInfo.d.ts +0 -58
  877. package/lib/cjs/appui-react/UserInfo.d.ts.map +0 -1
  878. package/lib/cjs/appui-react/UserInfo.js +0 -34
  879. package/lib/cjs/appui-react/UserInfo.js.map +0 -1
  880. package/lib/cjs/appui-react/content/SavedView.d.ts.map +0 -1
  881. package/lib/cjs/appui-react/content/SavedView.js.map +0 -1
  882. package/lib/cjs/appui-react/content/SavedViewLayout.d.ts.map +0 -1
  883. package/lib/cjs/appui-react/content/SavedViewLayout.js.map +0 -1
  884. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.d.ts +0 -25
  885. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.d.ts.map +0 -1
  886. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js +0 -34
  887. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js.map +0 -1
  888. package/lib/cjs/appui-react/uisettings/AppUiSettings.d.ts.map +0 -1
  889. package/lib/cjs/appui-react/uisettings/AppUiSettings.js.map +0 -1
  890. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.d.ts +0 -23
  891. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.d.ts.map +0 -1
  892. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js +0 -74
  893. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js.map +0 -1
  894. package/lib/cjs/appui-react/uisettings/useUiSettings.d.ts +0 -21
  895. package/lib/cjs/appui-react/uisettings/useUiSettings.d.ts.map +0 -1
  896. package/lib/cjs/appui-react/uisettings/useUiSettings.js +0 -28
  897. package/lib/cjs/appui-react/uisettings/useUiSettings.js.map +0 -1
  898. package/lib/esm/appui-react/UserInfo.d.ts +0 -58
  899. package/lib/esm/appui-react/UserInfo.d.ts.map +0 -1
  900. package/lib/esm/appui-react/UserInfo.js +0 -30
  901. package/lib/esm/appui-react/UserInfo.js.map +0 -1
  902. package/lib/esm/appui-react/content/SavedView.d.ts.map +0 -1
  903. package/lib/esm/appui-react/content/SavedView.js.map +0 -1
  904. package/lib/esm/appui-react/content/SavedViewLayout.d.ts.map +0 -1
  905. package/lib/esm/appui-react/content/SavedViewLayout.js.map +0 -1
  906. package/lib/esm/appui-react/stagepanels/StagePanelEnums.d.ts +0 -25
  907. package/lib/esm/appui-react/stagepanels/StagePanelEnums.d.ts.map +0 -1
  908. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js +0 -31
  909. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js.map +0 -1
  910. package/lib/esm/appui-react/uisettings/AppUiSettings.d.ts.map +0 -1
  911. package/lib/esm/appui-react/uisettings/AppUiSettings.js.map +0 -1
  912. package/lib/esm/appui-react/uisettings/UserSettingsStorage.d.ts +0 -23
  913. package/lib/esm/appui-react/uisettings/UserSettingsStorage.d.ts.map +0 -1
  914. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js +0 -68
  915. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js.map +0 -1
  916. package/lib/esm/appui-react/uisettings/useUiSettings.d.ts +0 -21
  917. package/lib/esm/appui-react/uisettings/useUiSettings.d.ts.map +0 -1
  918. package/lib/esm/appui-react/uisettings/useUiSettings.js +0 -23
  919. package/lib/esm/appui-react/uisettings/useUiSettings.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewStateHelper.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ViewStateHelper.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EACL,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAUvD;;GAEG;AACH,MAAM,OAAO,eAAe;IAC1B,4CAA4C;IACrC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,gBAAkC,EAAE,cAAoC;QAC7G,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,aAAa,CAAC;QACnE,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAqB,SAAS,EAAE,SAAS,CAAiC,CAAC;QAE3H,uBAAuB;QACvB,IAAI,SAAS,KAAK,IAAI;YACpB,MAAM,IAAI,KAAK,CAAC,oCAAoC,SAAS,GAAG,CAAC,CAAC;QAEpE,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAE,CAAC;QAC1E,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,iCAAiC;QAEzD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iDAAiD;IAC1C,MAAM,CAAC,0BAA0B,CAAC,EAAkB,EAAE,cAAoC;QAC/F,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,cAAc,CAAC,sBAAsB,EAAE;YACzC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAClD,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;SACjF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,mCAAmC;IAC5B,MAAM,CAAC,gBAAgB,CAAC,SAAoB;QACjD,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,EAA0B,CAAC;QACnE,cAAc,CAAC,YAAY,GAAG,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACrF,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,wEAAwE;IACjE,MAAM,CAAC,wBAAwB,CAAC,EAAkB,EAAE,cAAoC;QAC7F,MAAM,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,sBAAsB,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,cAAc,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;IACjE,CAAC;CAEF","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 ContentView\r\n */\r\n\r\nimport { EmphasizeElementsProps, ViewStateProps } from \"@itwin/core-common\";\r\nimport {\r\n EmphasizeElements, EntityState, IModelConnection, ScreenViewport, ViewState,\r\n} from \"@itwin/core-frontend\";\r\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\r\n\r\n/** SavedViewProps interface for sharing ViewState and EmphasizeElements information.\r\n * @public\r\n */\r\nexport interface ViewStateHelperProps extends ViewStateProps {\r\n bisBaseClass: string;\r\n emphasizeElementsProps?: EmphasizeElementsProps;\r\n}\r\n\r\n/** SavedView class. Used to serialize/deserialize a ViewState.\r\n * @public\r\n */\r\nexport class ViewStateHelper {\r\n /** Create a ViewState from the SavedView */\r\n public static async viewStateFromProps(iModelConnection: IModelConnection, savedViewProps: ViewStateHelperProps): Promise<ViewState | undefined> {\r\n const className = savedViewProps.viewDefinitionProps.classFullName;\r\n const ctor = await iModelConnection.findClassFor<typeof EntityState>(className, undefined) as typeof ViewState | undefined;\r\n\r\n // istanbul ignore next\r\n if (undefined === ctor)\r\n throw new Error(`Invalid ViewState class name of [${className}]`);\r\n\r\n const viewState = ctor.createFromProps(savedViewProps, iModelConnection)!;\r\n await viewState.load(); // loads models for ModelSelector\r\n\r\n return viewState;\r\n }\r\n\r\n /** Apply EmphasizeElements from the SavedView */\r\n public static emphasizeElementsFromProps(vp: ScreenViewport, savedViewProps: ViewStateHelperProps): boolean {\r\n let changed = false;\r\n if (savedViewProps.emphasizeElementsProps) {\r\n const emphasizeElements = new EmphasizeElements();\r\n changed = emphasizeElements.fromJSON(savedViewProps.emphasizeElementsProps, vp);\r\n }\r\n return changed;\r\n }\r\n\r\n /** Create props for a ViewState */\r\n public static viewStateToProps(viewState: ViewState): ViewStateHelperProps {\r\n const savedViewProps = viewState.toProps() as ViewStateHelperProps;\r\n savedViewProps.bisBaseClass = ViewUtilities.getBisBaseClass(viewState.classFullName);\r\n return savedViewProps;\r\n }\r\n\r\n /** Create props for an EmphasizeElements and store in SavedViewProps */\r\n public static emphasizeElementsToProps(vp: ScreenViewport, savedViewProps: ViewStateHelperProps): void {\r\n const ee = EmphasizeElements.get(vp);\r\n const emphasizeElementsProps = ee ? ee.toJSON(vp) : undefined;\r\n savedViewProps.emphasizeElementsProps = emphasizeElementsProps;\r\n }\r\n\r\n}\r\n"]}
@@ -0,0 +1,21 @@
1
+ /** @packageDocumentation
2
+ * @module ContentView
3
+ */
4
+ import * as React from "react";
5
+ /** Based on react-split-pane package. See https://github.com/tomkp/react-split-pane/blob/master/LICENSE */
6
+ /**
7
+ * @internal
8
+ */
9
+ export interface PaneProps {
10
+ className?: string;
11
+ size?: string | number;
12
+ split?: "vertical" | "horizontal";
13
+ style?: React.CSSProperties;
14
+ eleRef: React.RefObject<HTMLDivElement>;
15
+ children?: React.ReactNode;
16
+ }
17
+ /**
18
+ * @internal
19
+ */
20
+ export declare function Pane(props: PaneProps): JSX.Element;
21
+ //# sourceMappingURL=Pane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pane.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/content/split-pane/Pane.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,2GAA2G;AAE3G;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,eAwCpC"}
@@ -0,0 +1,39 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module ContentView
7
+ */
8
+ import * as React from "react";
9
+ import classnames from "classnames";
10
+ /**
11
+ * @internal
12
+ */
13
+ export function Pane(props) {
14
+ const { children, className, split, style, size, eleRef, } = props;
15
+ const paneClasses = React.useMemo(() => classnames("Pane", split, className), [split, className]);
16
+ const paneStyle = React.useMemo(() => {
17
+ const baseStyle = {
18
+ flex: 1,
19
+ position: "relative",
20
+ outline: "none",
21
+ };
22
+ if (size !== undefined) {
23
+ if (split === "vertical") {
24
+ baseStyle.width = size;
25
+ }
26
+ else {
27
+ baseStyle.height = size;
28
+ baseStyle.display = "flex";
29
+ }
30
+ baseStyle.flex = "none";
31
+ }
32
+ return {
33
+ ...style,
34
+ ...baseStyle,
35
+ };
36
+ }, [size, split, style]);
37
+ return (React.createElement("div", { ref: eleRef, className: paneClasses, style: paneStyle }, children));
38
+ }
39
+ //# sourceMappingURL=Pane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pane.js","sourceRoot":"","sources":["../../../../../src/appui-react/content/split-pane/Pane.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AAgBpC;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,KAAK,EACL,KAAK,EACL,IAAI,EACJ,MAAM,GACP,GAAG,KAAK,CAAC;IAEV,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAElG,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACnC,MAAM,SAAS,GAAiC;YAC9C,IAAI,EAAE,CAAC;YACP,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,MAAM;SAChB,CAAC;QAEF,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,IAAI,KAAK,KAAK,UAAU,EAAE;gBACxB,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;aACxB;iBAAM;gBACL,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;gBACxB,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;aAC5B;YACD,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;SACzB;QAED,OAAO;YACL,GAAG,KAAK;YACR,GAAG,SAAS;SACU,CAAC;IAC3B,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzB,OAAO,CACL,6BAAK,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,IACvD,QAAQ,CACL,CACP,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ContentView\r\n */\r\nimport * as React from \"react\";\r\nimport classnames from \"classnames\";\r\n\r\n/** Based on react-split-pane package. See https://github.com/tomkp/react-split-pane/blob/master/LICENSE */\r\n\r\n/**\r\n * @internal\r\n */\r\nexport interface PaneProps {\r\n className?: string;\r\n size?: string | number;\r\n split?: \"vertical\" | \"horizontal\";\r\n style?: React.CSSProperties;\r\n eleRef: React.RefObject<HTMLDivElement>;\r\n children?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function Pane(props: PaneProps) {\r\n const {\r\n children,\r\n className,\r\n split,\r\n style,\r\n size,\r\n eleRef,\r\n } = props;\r\n\r\n const paneClasses = React.useMemo(() => classnames(\"Pane\", split, className), [split, className]);\r\n\r\n const paneStyle = React.useMemo(() => {\r\n const baseStyle: Partial<React.CSSProperties> = {\r\n flex: 1,\r\n position: \"relative\",\r\n outline: \"none\",\r\n };\r\n\r\n if (size !== undefined) {\r\n if (split === \"vertical\") {\r\n baseStyle.width = size;\r\n } else {\r\n baseStyle.height = size;\r\n baseStyle.display = \"flex\";\r\n }\r\n baseStyle.flex = \"none\";\r\n }\r\n\r\n return {\r\n ...style,\r\n ...baseStyle,\r\n } as React.CSSProperties;\r\n }, [size, split, style]);\r\n\r\n return (\r\n <div ref={eleRef} className={paneClasses} style={paneStyle}>\r\n {children}\r\n </div>\r\n );\r\n}\r\n\r\n"]}
@@ -0,0 +1,23 @@
1
+ /** @packageDocumentation
2
+ * @module ContentView
3
+ */
4
+ import * as React from "react";
5
+ /** Based on react-split-pane package. See https://github.com/tomkp/react-split-pane/blob/master/LICENSE */
6
+ /**
7
+ * @internal
8
+ */
9
+ export interface ResizerProps {
10
+ split?: "vertical" | "horizontal";
11
+ style?: React.CSSProperties;
12
+ className: string;
13
+ onMouseDown: (event: MouseEvent) => void;
14
+ onTouchEnd: () => void;
15
+ onTouchStart: (event: TouchEvent) => void;
16
+ onClick?: (event: MouseEvent) => void;
17
+ onDoubleClick?: (event: MouseEvent) => void;
18
+ }
19
+ /**
20
+ * @internal
21
+ */
22
+ export declare function Resizer(props: ResizerProps): JSX.Element;
23
+ //# sourceMappingURL=Resizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Resizer.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/content/split-pane/Resizer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,2GAA2G;AAE3G;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,eA2C1C"}
@@ -0,0 +1,35 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module ContentView
7
+ */
8
+ import * as React from "react";
9
+ import classnames from "classnames";
10
+ /**
11
+ * @internal
12
+ */
13
+ export function Resizer(props) {
14
+ const { className, onClick, onDoubleClick, onMouseDown, onTouchEnd, onTouchStart, split, style, } = props;
15
+ const resizerClasses = React.useMemo(() => classnames(split, className), [split, className]);
16
+ return (React.createElement("span", { role: "presentation", className: resizerClasses, style: style, onMouseDown: (event) => onMouseDown(event.nativeEvent), onTouchStart: (event) => {
17
+ onTouchStart(event.nativeEvent);
18
+ }, onTouchEnd: (event) => {
19
+ event.preventDefault();
20
+ onTouchEnd();
21
+ }, onClick: (event) => {
22
+ // istanbul ignore else
23
+ if (onClick) {
24
+ event.preventDefault();
25
+ onClick(event.nativeEvent);
26
+ }
27
+ }, onDoubleClick: (event) => {
28
+ // istanbul ignore else
29
+ if (onDoubleClick) {
30
+ event.preventDefault();
31
+ onDoubleClick(event.nativeEvent);
32
+ }
33
+ } }));
34
+ }
35
+ //# sourceMappingURL=Resizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Resizer.js","sourceRoot":"","sources":["../../../../../src/appui-react/content/split-pane/Resizer.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AAkBpC;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,KAAmB;IACzC,MAAM,EACJ,SAAS,EACT,OAAO,EACP,aAAa,EACb,WAAW,EACX,UAAU,EACV,YAAY,EACZ,KAAK,EACL,KAAK,GACN,GAAG,KAAK,CAAC;IAEV,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAE7F,OAAO,CACL,8BACE,IAAI,EAAC,cAAc,EACnB,SAAS,EAAE,cAAc,EACzB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,EACtD,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;YACtB,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC,EACD,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YACpB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,UAAU,EAAE,CAAC;QACf,CAAC,EACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,uBAAuB;YACvB,IAAI,OAAO,EAAE;gBACX,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;aAC5B;QACH,CAAC,EACD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;YACvB,uBAAuB;YACvB,IAAI,aAAa,EAAE;gBACjB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;aAClC;QACH,CAAC,GACD,CACH,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ContentView\r\n */\r\nimport * as React from \"react\";\r\nimport classnames from \"classnames\";\r\n\r\n/** Based on react-split-pane package. See https://github.com/tomkp/react-split-pane/blob/master/LICENSE */\r\n\r\n/**\r\n * @internal\r\n */\r\nexport interface ResizerProps {\r\n split?: \"vertical\" | \"horizontal\";\r\n style?: React.CSSProperties;\r\n className: string;\r\n onMouseDown: (event: MouseEvent) => void;\r\n onTouchEnd: () => void;\r\n onTouchStart: (event: TouchEvent) => void;\r\n onClick?: (event: MouseEvent) => void;\r\n onDoubleClick?: (event: MouseEvent) => void;\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function Resizer(props: ResizerProps) {\r\n const {\r\n className,\r\n onClick,\r\n onDoubleClick,\r\n onMouseDown,\r\n onTouchEnd,\r\n onTouchStart,\r\n split,\r\n style,\r\n } = props;\r\n\r\n const resizerClasses = React.useMemo(() => classnames(split, className), [split, className]);\r\n\r\n return (\r\n <span\r\n role=\"presentation\"\r\n className={resizerClasses}\r\n style={style}\r\n onMouseDown={(event) => onMouseDown(event.nativeEvent)}\r\n onTouchStart={(event) => {\r\n onTouchStart(event.nativeEvent);\r\n }}\r\n onTouchEnd={(event) => {\r\n event.preventDefault();\r\n onTouchEnd();\r\n }}\r\n onClick={(event) => {\r\n // istanbul ignore else\r\n if (onClick) {\r\n event.preventDefault();\r\n onClick(event.nativeEvent);\r\n }\r\n }}\r\n onDoubleClick={(event) => {\r\n // istanbul ignore else\r\n if (onDoubleClick) {\r\n event.preventDefault();\r\n onDoubleClick(event.nativeEvent);\r\n }\r\n }}\r\n />\r\n );\r\n}\r\n"]}
@@ -0,0 +1,70 @@
1
+ /** @packageDocumentation
2
+ * @module ContentView
3
+ */
4
+ import * as React from "react";
5
+ /**
6
+ * Props for [[SplitPane]] component
7
+ * @public
8
+ */
9
+ export interface SplitPaneProps {
10
+ /** Pass false to disable resizing */
11
+ allowResize?: boolean;
12
+ /** The array of two react nodes, one for each pane. */
13
+ children: React.ReactNode[];
14
+ /** Determines which pane maintains its size when browser window is resized.*/
15
+ primary?: "first" | "second";
16
+ minSize?: string | number;
17
+ /** You can limit the maximal size of the 'fixed' pane using the maxSize parameter with a positive value
18
+ * (measured in pixels but state just a number). If you wrap the SplitPane into a container component
19
+ * (yes you can, just remember the container has to have the relative or absolute positioning), then you'll need to limit
20
+ * the movement of the splitter (resizer) at the end of the SplitPane (otherwise it can be dragged outside the SplitPane
21
+ * and you don't catch it never more). For this purpose use the maxSize parameter with value 0. When dragged the splitter/resizer
22
+ * will stop at the border of the SplitPane component and think this you'll be able to pick it again and drag it back then.
23
+ * And more: if you set the maxSize to negative value (e.g. -200), then the splitter stops 200px before the border
24
+ * (in other words it sets the minimal size of the 'resizable' pane in this case). This can be useful also in the
25
+ * full-screen case of use. */
26
+ maxSize?: string | number;
27
+ /** Default initial size of primary pane */
28
+ defaultSize?: string | number;
29
+ /** Size of primary pane */
30
+ size?: string | number;
31
+ /** You can use the step prop to only allow resizing in fixed increments. */
32
+ step?: number;
33
+ split?: "vertical" | "horizontal";
34
+ /** This callback is invoked when a drag start. */
35
+ onDragStarted?: () => void;
36
+ /** This callback is invoked when a drag ends. */
37
+ onDragFinished?: (newSize: number) => void;
38
+ /** Callback is invoked with the current drag during a drag event.*/
39
+ onChange?: (newSize: number) => void;
40
+ /** Callback is invoked if user clicks on Resizer. */
41
+ onResizerClick?: (event: MouseEvent) => void;
42
+ /** Callback is invoked if user double clicks on Resizer. */
43
+ onResizerDoubleClick?: (event: MouseEvent) => void;
44
+ /** Styling to be applied to the main container */
45
+ style?: React.CSSProperties;
46
+ /** Styling to be applied to both panes */
47
+ paneStyle?: React.CSSProperties;
48
+ /** Styling to be applied to the first pane, with precedence over paneStyle */
49
+ pane1Style?: React.CSSProperties;
50
+ /** Styling to be applied to the second pane, with precedence over paneStyle */
51
+ pane2Style?: React.CSSProperties;
52
+ /** Styling to be applied to the resizer bar */
53
+ resizerStyle?: React.CSSProperties;
54
+ /** Class name to be added to the SplitPane div */
55
+ className?: string;
56
+ /** Class name to be added to each Pane's div */
57
+ paneClassName?: string;
58
+ /** Class name to be added to Pane1's div */
59
+ pane1ClassName?: string;
60
+ /** Class name to be added to Pane2's div */
61
+ pane2ClassName?: string;
62
+ }
63
+ /**
64
+ * Local TypeScript implementation of `SplitPane` from `react-split-pane` package since that
65
+ * package is not regularly maintained.
66
+ * See https://github.com/tomkp/react-split-pane/blob/master/LICENSE.
67
+ * @public
68
+ */
69
+ export declare function SplitPane(props: SplitPaneProps): JSX.Element;
70
+ //# sourceMappingURL=SplitPane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitPane.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/content/split-pane/SplitPane.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAC5B,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAE7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B;;;;;;;;kCAQ8B;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAClC,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,iDAAiD;IACjD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,oEAAoE;IACpE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,qDAAqD;IACrD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC7C,4DAA4D;IAC5D,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACnD,kDAAkD;IAClD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,8EAA8E;IAC9E,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,+EAA+E;IAC/E,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,+CAA+C;IAC/C,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAsCD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,eAmP9C"}
@@ -0,0 +1,239 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module ContentView
7
+ */
8
+ import * as React from "react";
9
+ import classnames from "classnames";
10
+ import { Pane } from "./Pane";
11
+ import { Resizer } from "./Resizer";
12
+ function unFocus(ownerDoc) {
13
+ var _a;
14
+ // istanbul ignore next
15
+ if (!ownerDoc)
16
+ return;
17
+ const docSelection = ownerDoc.getSelection();
18
+ // istanbul ignore else
19
+ if (docSelection) {
20
+ docSelection.empty();
21
+ }
22
+ else {
23
+ // istanbul ignore next
24
+ try {
25
+ const winSelection = (_a = ownerDoc.defaultView) === null || _a === void 0 ? void 0 : _a.getSelection();
26
+ winSelection === null || winSelection === void 0 ? void 0 : winSelection.removeAllRanges();
27
+ }
28
+ catch (_e) { }
29
+ }
30
+ }
31
+ function getDefaultSize(defaultSize, minSize, maxSize, draggedSize) {
32
+ // istanbul ignore next
33
+ if (typeof draggedSize === "number") {
34
+ const min = typeof minSize === "number" ? minSize : 0;
35
+ const max = typeof maxSize === "number" && maxSize >= 0 ? maxSize : Infinity;
36
+ return Math.max(min, Math.min(max, draggedSize));
37
+ }
38
+ if (defaultSize !== undefined) {
39
+ return defaultSize;
40
+ }
41
+ return minSize;
42
+ }
43
+ function removeNullChildren(children) {
44
+ return React.Children.toArray(children).filter((c) => c);
45
+ }
46
+ /**
47
+ * Local TypeScript implementation of `SplitPane` from `react-split-pane` package since that
48
+ * package is not regularly maintained.
49
+ * See https://github.com/tomkp/react-split-pane/blob/master/LICENSE.
50
+ * @public
51
+ */
52
+ export function SplitPane(props) {
53
+ const { style, size, defaultSize, maxSize, children, paneStyle, pane1Style, pane2Style, className, paneClassName, pane1ClassName, pane2ClassName, onDragStarted, onDragFinished, step, onChange, onResizerClick, onResizerDoubleClick, } = props;
54
+ // honor same defaults as react-split-pane
55
+ const allowResize = React.useMemo(() => undefined !== props.allowResize ? props.allowResize : true, [props.allowResize]);
56
+ const minSize = React.useMemo(() => undefined !== props.minSize ? props.minSize : 50, [props.minSize]);
57
+ const primary = React.useMemo(() => undefined !== props.primary ? props.primary : "first", [props.primary]);
58
+ const split = React.useMemo(() => undefined !== props.split ? props.split : "vertical", [props.split]);
59
+ const initialSize = size !== undefined ? size : getDefaultSize(defaultSize, minSize, maxSize);
60
+ const [position, setPosition] = React.useState(0);
61
+ const [draggedSize, setDraggedSize] = React.useState();
62
+ const [active, setActive] = React.useState(false);
63
+ const [pane1Size, setPane1Size] = React.useState(() => primary === "first" ? initialSize : undefined);
64
+ const [pane2Size, setPane2Size] = React.useState(() => primary === "second" ? initialSize : undefined);
65
+ const splitPane = React.useRef(null);
66
+ const pane1 = React.useRef(null);
67
+ const pane2 = React.useRef(null);
68
+ const notNullChildren = React.useMemo(() => removeNullChildren(children), [children]);
69
+ React.useEffect(() => {
70
+ primary === "first" ? setPane1Size(initialSize) : setPane2Size(initialSize);
71
+ primary === "first" ? setPane2Size(undefined) : setPane1Size(undefined);
72
+ }, [initialSize, primary]);
73
+ const splitPaneStyle = React.useMemo(() => {
74
+ const directionSpecificParts = (split === "vertical") ? {
75
+ flexDirection: "row",
76
+ left: 0,
77
+ right: 0,
78
+ } : {
79
+ bottom: 0,
80
+ flexDirection: "column",
81
+ minHeight: "100%",
82
+ top: 0,
83
+ width: "100%",
84
+ };
85
+ return {
86
+ display: "flex",
87
+ flex: 1,
88
+ height: "100%",
89
+ position: "absolute",
90
+ outline: "none",
91
+ overflow: "hidden",
92
+ MozUserSelect: "text",
93
+ WebkitUserSelect: "text",
94
+ msUserSelect: "text",
95
+ userSelect: "text",
96
+ ...style,
97
+ ...directionSpecificParts,
98
+ };
99
+ }, [split, style]);
100
+ const pane1DivStyle = { ...paneStyle, ...pane1Style };
101
+ const pane2DivStyle = { ...paneStyle, ...pane2Style };
102
+ const resizerStyle = React.useMemo(() => { var _a; return (_a = props.resizerStyle) !== null && _a !== void 0 ? _a : {}; }, [props.resizerStyle]);
103
+ const resizerClasses = React.useMemo(() => classnames("Resizer", !allowResize && "disabled"), [allowResize]);
104
+ const splitPaneClasses = React.useMemo(() => classnames("SplitPane", className, split, !allowResize && "disabled"), [className, split, allowResize]);
105
+ const pane1Classes = React.useMemo(() => classnames("Pane1", paneClassName, pane1ClassName), [paneClassName, pane1ClassName]);
106
+ const pane2Classes = React.useMemo(() => classnames("Pane2", paneClassName, pane2ClassName), [paneClassName, pane2ClassName]);
107
+ const initializeDrag = React.useCallback((x, y) => {
108
+ var _a;
109
+ // istanbul ignore next
110
+ unFocus((_a = splitPane.current) === null || _a === void 0 ? void 0 : _a.ownerDocument);
111
+ const newPosition = split === "vertical" ? x : y;
112
+ onDragStarted && onDragStarted();
113
+ setActive(true);
114
+ setPosition(newPosition);
115
+ }, [onDragStarted, split]);
116
+ const onTouchStart = React.useCallback((event) => {
117
+ // istanbul ignore else
118
+ if (allowResize) {
119
+ initializeDrag(event.touches[0].clientX, event.touches[0].clientY);
120
+ }
121
+ }, [allowResize, initializeDrag]);
122
+ const processMove = React.useCallback((x, y) => {
123
+ var _a, _b, _c, _d, _f, _g, _h;
124
+ // istanbul ignore next
125
+ unFocus((_a = splitPane.current) === null || _a === void 0 ? void 0 : _a.ownerDocument);
126
+ const isPrimaryFirst = primary === "first";
127
+ const ref = isPrimaryFirst ? pane1.current : pane2.current;
128
+ const ref2 = isPrimaryFirst ? pane2.current : pane1.current;
129
+ const splitPaneDiv = splitPane.current;
130
+ // istanbul ignore else
131
+ if (ref && ref2 && splitPaneDiv) {
132
+ const node = ref;
133
+ const node2 = ref2;
134
+ // istanbul ignore else
135
+ if (node.getBoundingClientRect) {
136
+ const width = node.getBoundingClientRect().width;
137
+ const height = node.getBoundingClientRect().height;
138
+ // istanbul ignore next
139
+ const current = split === "vertical" ? x : y;
140
+ // istanbul ignore next
141
+ const oldSize = split === "vertical" ? width : height;
142
+ let positionDelta = position - current;
143
+ if (step) {
144
+ // istanbul ignore next
145
+ if (Math.abs(positionDelta) < step) {
146
+ return;
147
+ }
148
+ // Integer division
149
+ // eslint-disable-next-line no-bitwise
150
+ positionDelta = ~~(positionDelta / step) * step;
151
+ }
152
+ let sizeDelta = isPrimaryFirst ? positionDelta : -positionDelta;
153
+ // istanbul ignore next
154
+ const pane1Order = parseInt((_d = (_c = (_b = node.ownerDocument) === null || _b === void 0 ? void 0 : _b.defaultView) === null || _c === void 0 ? void 0 : _c.getComputedStyle(node).order) !== null && _d !== void 0 ? _d : "0", 10);
155
+ // istanbul ignore next
156
+ const pane2Order = parseInt((_h = (_g = (_f = node2.ownerDocument) === null || _f === void 0 ? void 0 : _f.defaultView) === null || _g === void 0 ? void 0 : _g.getComputedStyle(node2).order) !== null && _h !== void 0 ? _h : "0", 10);
157
+ // istanbul ignore next
158
+ if (pane1Order > pane2Order) {
159
+ sizeDelta = -sizeDelta;
160
+ }
161
+ let newMaxSize = maxSize;
162
+ // istanbul ignore next
163
+ if (typeof maxSize === "number" && maxSize !== undefined && maxSize <= 0) {
164
+ if (split === "vertical") {
165
+ newMaxSize = splitPaneDiv.getBoundingClientRect().width + maxSize;
166
+ }
167
+ else {
168
+ newMaxSize = splitPaneDiv.getBoundingClientRect().height + maxSize;
169
+ }
170
+ }
171
+ let newSize = oldSize - sizeDelta;
172
+ const newPosition = position - positionDelta;
173
+ // istanbul ignore next
174
+ if (typeof minSize === "number" && newSize < minSize) {
175
+ newSize = minSize;
176
+ }
177
+ else if (typeof newMaxSize === "number" && newMaxSize !== undefined && newSize > newMaxSize) {
178
+ newSize = newMaxSize;
179
+ }
180
+ else {
181
+ setPosition(newPosition);
182
+ }
183
+ onChange && onChange(newSize);
184
+ setDraggedSize(newSize);
185
+ isPrimaryFirst ? setPane1Size(newSize) : setPane2Size(newSize);
186
+ }
187
+ }
188
+ }, [maxSize, minSize, onChange, position, primary, split, step]);
189
+ const onTouchMove = React.useCallback((event) => {
190
+ // istanbul ignore next
191
+ if (!allowResize || !active)
192
+ return;
193
+ processMove(event.touches[0].clientX, event.touches[0].clientY);
194
+ }, [active, allowResize, processMove]);
195
+ const onMouseMove = React.useCallback((event) => {
196
+ if (!allowResize || !active)
197
+ return;
198
+ processMove(event.clientX, event.clientY);
199
+ }, [active, allowResize, processMove]);
200
+ const onMouseDown = React.useCallback((event) => {
201
+ // istanbul ignore else
202
+ if (allowResize) {
203
+ event.preventDefault();
204
+ initializeDrag(event.clientX, event.clientY);
205
+ }
206
+ }, [allowResize, initializeDrag]);
207
+ const processResizeFinished = React.useCallback(() => {
208
+ // istanbul ignore else
209
+ if (undefined !== draggedSize && allowResize && active) {
210
+ onDragFinished && onDragFinished(draggedSize);
211
+ }
212
+ setActive(false);
213
+ }, [draggedSize, allowResize, active, onDragFinished]);
214
+ const onMouseUp = React.useCallback((event) => {
215
+ event.preventDefault();
216
+ processResizeFinished();
217
+ }, [processResizeFinished]);
218
+ React.useEffect(() => {
219
+ var _a;
220
+ // istanbul ignore next
221
+ const ownerDoc = (_a = splitPane.current) === null || _a === void 0 ? void 0 : _a.ownerDocument;
222
+ // istanbul ignore next
223
+ if (!ownerDoc)
224
+ return;
225
+ ownerDoc.addEventListener("mouseup", onMouseUp);
226
+ ownerDoc.addEventListener("mousemove", onMouseMove);
227
+ ownerDoc.addEventListener("touchmove", onTouchMove);
228
+ return () => {
229
+ ownerDoc.removeEventListener("mouseup", onMouseUp);
230
+ ownerDoc.removeEventListener("mousemove", onMouseMove);
231
+ ownerDoc.removeEventListener("touchmove", onTouchMove);
232
+ };
233
+ }, [onMouseMove, onMouseUp, onTouchMove]);
234
+ return (React.createElement("div", { className: splitPaneClasses, ref: splitPane, style: splitPaneStyle },
235
+ React.createElement(Pane, { className: pane1Classes, key: "pane1", eleRef: pane1, size: pane1Size, split: split, style: pane1DivStyle }, notNullChildren[0]),
236
+ React.createElement(Resizer, { className: resizerClasses, onClick: onResizerClick, onDoubleClick: onResizerDoubleClick, onMouseDown: onMouseDown, onTouchStart: onTouchStart, onTouchEnd: processResizeFinished, key: "resizer", split: split, style: resizerStyle }),
237
+ React.createElement(Pane, { className: pane2Classes, key: "pane2", eleRef: pane2, size: pane2Size, split: split, style: pane2DivStyle }, notNullChildren[1])));
238
+ }
239
+ //# sourceMappingURL=SplitPane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitPane.js","sourceRoot":"","sources":["../../../../../src/appui-react/content/split-pane/SplitPane.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 ContentView\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport { Pane } from \"./Pane\";\r\nimport { Resizer } from \"./Resizer\";\r\n\r\n/**\r\n * Props for [[SplitPane]] component\r\n * @public\r\n */\r\nexport interface SplitPaneProps {\r\n /** Pass false to disable resizing */\r\n allowResize?: boolean;\r\n /** The array of two react nodes, one for each pane. */\r\n children: React.ReactNode[];\r\n /** Determines which pane maintains its size when browser window is resized.*/\r\n primary?: \"first\" | \"second\";\r\n\r\n minSize?: string | number;\r\n /** You can limit the maximal size of the 'fixed' pane using the maxSize parameter with a positive value\r\n * (measured in pixels but state just a number). If you wrap the SplitPane into a container component\r\n * (yes you can, just remember the container has to have the relative or absolute positioning), then you'll need to limit\r\n * the movement of the splitter (resizer) at the end of the SplitPane (otherwise it can be dragged outside the SplitPane\r\n * and you don't catch it never more). For this purpose use the maxSize parameter with value 0. When dragged the splitter/resizer\r\n * will stop at the border of the SplitPane component and think this you'll be able to pick it again and drag it back then.\r\n * And more: if you set the maxSize to negative value (e.g. -200), then the splitter stops 200px before the border\r\n * (in other words it sets the minimal size of the 'resizable' pane in this case). This can be useful also in the\r\n * full-screen case of use. */\r\n maxSize?: string | number;\r\n /** Default initial size of primary pane */\r\n defaultSize?: string | number;\r\n /** Size of primary pane */\r\n size?: string | number;\r\n /** You can use the step prop to only allow resizing in fixed increments. */\r\n step?: number;\r\n split?: \"vertical\" | \"horizontal\";\r\n /** This callback is invoked when a drag start. */\r\n onDragStarted?: () => void;\r\n /** This callback is invoked when a drag ends. */\r\n onDragFinished?: (newSize: number) => void;\r\n /** Callback is invoked with the current drag during a drag event.*/\r\n onChange?: (newSize: number) => void;\r\n /** Callback is invoked if user clicks on Resizer. */\r\n onResizerClick?: (event: MouseEvent) => void;\r\n /** Callback is invoked if user double clicks on Resizer. */\r\n onResizerDoubleClick?: (event: MouseEvent) => void;\r\n /** Styling to be applied to the main container */\r\n style?: React.CSSProperties;\r\n /** Styling to be applied to both panes */\r\n paneStyle?: React.CSSProperties;\r\n /** Styling to be applied to the first pane, with precedence over paneStyle */\r\n pane1Style?: React.CSSProperties;\r\n /** Styling to be applied to the second pane, with precedence over paneStyle */\r\n pane2Style?: React.CSSProperties;\r\n /** Styling to be applied to the resizer bar */\r\n resizerStyle?: React.CSSProperties;\r\n /** Class name to be added to the SplitPane div */\r\n className?: string;\r\n /** Class name to be added to each Pane's div */\r\n paneClassName?: string;\r\n /** Class name to be added to Pane1's div */\r\n pane1ClassName?: string;\r\n /** Class name to be added to Pane2's div */\r\n pane2ClassName?: string;\r\n}\r\n\r\nfunction unFocus(ownerDoc: Document | undefined) {\r\n // istanbul ignore next\r\n if (!ownerDoc)\r\n return;\r\n\r\n const docSelection = ownerDoc.getSelection();\r\n // istanbul ignore else\r\n if (docSelection) {\r\n docSelection.empty();\r\n } else {\r\n // istanbul ignore next\r\n try {\r\n const winSelection = ownerDoc.defaultView?.getSelection();\r\n winSelection?.removeAllRanges();\r\n } catch (_e) { }\r\n }\r\n}\r\n\r\nfunction getDefaultSize(defaultSize?: number | string, minSize?: string | number, maxSize?: string | number, draggedSize?: number) {\r\n // istanbul ignore next\r\n if (typeof draggedSize === \"number\") {\r\n const min = typeof minSize === \"number\" ? minSize : 0;\r\n const max =\r\n typeof maxSize === \"number\" && maxSize >= 0 ? maxSize : Infinity;\r\n return Math.max(min, Math.min(max, draggedSize));\r\n }\r\n if (defaultSize !== undefined) {\r\n return defaultSize;\r\n }\r\n return minSize;\r\n}\r\n\r\nfunction removeNullChildren(children: React.ReactNode[]) {\r\n return React.Children.toArray(children).filter((c) => c);\r\n}\r\n\r\n/**\r\n * Local TypeScript implementation of `SplitPane` from `react-split-pane` package since that\r\n * package is not regularly maintained.\r\n * See https://github.com/tomkp/react-split-pane/blob/master/LICENSE.\r\n * @public\r\n */\r\nexport function SplitPane(props: SplitPaneProps) {\r\n const { style, size, defaultSize, maxSize, children,\r\n paneStyle, pane1Style, pane2Style, className,\r\n paneClassName, pane1ClassName, pane2ClassName,\r\n onDragStarted, onDragFinished, step, onChange,\r\n onResizerClick, onResizerDoubleClick,\r\n } = props;\r\n\r\n // honor same defaults as react-split-pane\r\n const allowResize = React.useMemo(() => undefined !== props.allowResize ? props.allowResize : true, [props.allowResize]);\r\n const minSize = React.useMemo(() => undefined !== props.minSize ? props.minSize : 50, [props.minSize]);\r\n const primary = React.useMemo(() => undefined !== props.primary ? props.primary : \"first\", [props.primary]);\r\n const split = React.useMemo(() => undefined !== props.split ? props.split : \"vertical\", [props.split]);\r\n const initialSize = size !== undefined ? size : getDefaultSize(defaultSize, minSize, maxSize);\r\n\r\n const [position, setPosition] = React.useState(0);\r\n const [draggedSize, setDraggedSize] = React.useState<number | undefined>();\r\n const [active, setActive] = React.useState(false);\r\n const [pane1Size, setPane1Size] = React.useState(() => primary === \"first\" ? initialSize : undefined);\r\n const [pane2Size, setPane2Size] = React.useState(() => primary === \"second\" ? initialSize : undefined);\r\n const splitPane = React.useRef<HTMLDivElement>(null);\r\n const pane1 = React.useRef<HTMLDivElement>(null);\r\n const pane2 = React.useRef<HTMLDivElement>(null);\r\n const notNullChildren = React.useMemo(() => removeNullChildren(children), [children]);\r\n\r\n React.useEffect(() => {\r\n primary === \"first\" ? setPane1Size(initialSize) : setPane2Size(initialSize);\r\n primary === \"first\" ? setPane2Size(undefined) : setPane1Size(undefined);\r\n }, [initialSize, primary]);\r\n\r\n const splitPaneStyle = React.useMemo(() => {\r\n const directionSpecificParts = (split === \"vertical\") ? {\r\n flexDirection: \"row\",\r\n left: 0,\r\n right: 0,\r\n } : {\r\n bottom: 0,\r\n flexDirection: \"column\",\r\n minHeight: \"100%\",\r\n top: 0,\r\n width: \"100%\",\r\n };\r\n\r\n return {\r\n display: \"flex\",\r\n flex: 1,\r\n height: \"100%\",\r\n position: \"absolute\",\r\n outline: \"none\",\r\n overflow: \"hidden\",\r\n MozUserSelect: \"text\",\r\n WebkitUserSelect: \"text\",\r\n msUserSelect: \"text\",\r\n userSelect: \"text\",\r\n ...style,\r\n ...directionSpecificParts,\r\n } as React.CSSProperties;\r\n }, [split, style]);\r\n\r\n const pane1DivStyle = { ...paneStyle, ...pane1Style };\r\n const pane2DivStyle = { ...paneStyle, ...pane2Style };\r\n const resizerStyle = React.useMemo(() => props.resizerStyle ?? {}, [props.resizerStyle]);\r\n const resizerClasses = React.useMemo(() => classnames(\"Resizer\", !allowResize && \"disabled\"), [allowResize]);\r\n const splitPaneClasses = React.useMemo(() => classnames(\"SplitPane\", className, split, !allowResize && \"disabled\"), [className, split, allowResize]);\r\n const pane1Classes = React.useMemo(() => classnames(\"Pane1\", paneClassName, pane1ClassName), [paneClassName, pane1ClassName]);\r\n const pane2Classes = React.useMemo(() => classnames(\"Pane2\", paneClassName, pane2ClassName), [paneClassName, pane2ClassName]);\r\n\r\n const initializeDrag = React.useCallback((x: number, y: number) => {\r\n // istanbul ignore next\r\n unFocus(splitPane.current?.ownerDocument);\r\n const newPosition = split === \"vertical\" ? x : y;\r\n onDragStarted && onDragStarted();\r\n setActive(true);\r\n setPosition(newPosition);\r\n }, [onDragStarted, split]);\r\n\r\n const onTouchStart = React.useCallback((event: TouchEvent) => {\r\n // istanbul ignore else\r\n if (allowResize) {\r\n initializeDrag(event.touches[0].clientX, event.touches[0].clientY);\r\n }\r\n }, [allowResize, initializeDrag]);\r\n\r\n const processMove = React.useCallback((x: number, y: number) => {\r\n // istanbul ignore next\r\n unFocus(splitPane.current?.ownerDocument);\r\n const isPrimaryFirst = primary === \"first\";\r\n const ref = isPrimaryFirst ? pane1.current : pane2.current;\r\n const ref2 = isPrimaryFirst ? pane2.current : pane1.current;\r\n const splitPaneDiv = splitPane.current;\r\n\r\n // istanbul ignore else\r\n if (ref && ref2 && splitPaneDiv) {\r\n const node = ref;\r\n const node2 = ref2;\r\n // istanbul ignore else\r\n if (node.getBoundingClientRect) {\r\n const width = node.getBoundingClientRect().width;\r\n const height = node.getBoundingClientRect().height;\r\n // istanbul ignore next\r\n const current = split === \"vertical\" ? x : y;\r\n // istanbul ignore next\r\n const oldSize = split === \"vertical\" ? width : height;\r\n let positionDelta = position - current;\r\n if (step) {\r\n // istanbul ignore next\r\n if (Math.abs(positionDelta) < step) {\r\n return;\r\n }\r\n // Integer division\r\n // eslint-disable-next-line no-bitwise\r\n positionDelta = ~~(positionDelta / step) * step;\r\n }\r\n let sizeDelta = isPrimaryFirst ? positionDelta : -positionDelta;\r\n\r\n // istanbul ignore next\r\n const pane1Order = parseInt(node.ownerDocument?.defaultView?.getComputedStyle(node).order ?? \"0\", 10);\r\n // istanbul ignore next\r\n const pane2Order = parseInt(node2.ownerDocument?.defaultView?.getComputedStyle(node2).order ?? \"0\", 10);\r\n // istanbul ignore next\r\n if (pane1Order > pane2Order) {\r\n sizeDelta = -sizeDelta;\r\n }\r\n\r\n let newMaxSize = maxSize;\r\n // istanbul ignore next\r\n if (typeof maxSize === \"number\" && maxSize !== undefined && maxSize <= 0) {\r\n if (split === \"vertical\") {\r\n newMaxSize = splitPaneDiv.getBoundingClientRect().width + maxSize;\r\n } else {\r\n newMaxSize = splitPaneDiv.getBoundingClientRect().height + maxSize;\r\n }\r\n }\r\n\r\n let newSize = oldSize - sizeDelta;\r\n const newPosition = position - positionDelta;\r\n\r\n // istanbul ignore next\r\n if (typeof minSize === \"number\" && newSize < minSize) {\r\n newSize = minSize;\r\n } else if (typeof newMaxSize === \"number\" && newMaxSize !== undefined && newSize > newMaxSize) {\r\n newSize = newMaxSize;\r\n } else {\r\n setPosition(newPosition);\r\n }\r\n\r\n onChange && onChange(newSize);\r\n setDraggedSize(newSize);\r\n isPrimaryFirst ? setPane1Size(newSize) : setPane2Size(newSize);\r\n }\r\n }\r\n }, [maxSize, minSize, onChange, position, primary, split, step]);\r\n\r\n const onTouchMove = React.useCallback((event: TouchEvent) => {\r\n // istanbul ignore next\r\n if (!allowResize || !active)\r\n return;\r\n processMove(event.touches[0].clientX, event.touches[0].clientY);\r\n }, [active, allowResize, processMove]);\r\n\r\n const onMouseMove = React.useCallback((event: MouseEvent) => {\r\n if (!allowResize || !active)\r\n return;\r\n processMove(event.clientX, event.clientY);\r\n }, [active, allowResize, processMove]);\r\n\r\n const onMouseDown = React.useCallback((event: MouseEvent) => {\r\n // istanbul ignore else\r\n if (allowResize) {\r\n event.preventDefault();\r\n initializeDrag(event.clientX, event.clientY);\r\n }\r\n }, [allowResize, initializeDrag]);\r\n\r\n const processResizeFinished = React.useCallback(() => {\r\n // istanbul ignore else\r\n if (undefined !== draggedSize && allowResize && active) {\r\n onDragFinished && onDragFinished(draggedSize);\r\n }\r\n setActive(false);\r\n }, [draggedSize, allowResize, active, onDragFinished]);\r\n\r\n const onMouseUp = React.useCallback((event: MouseEvent) => {\r\n event.preventDefault();\r\n processResizeFinished();\r\n }, [processResizeFinished]);\r\n\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const ownerDoc = splitPane.current?.ownerDocument;\r\n // istanbul ignore next\r\n if (!ownerDoc)\r\n return;\r\n\r\n ownerDoc.addEventListener(\"mouseup\", onMouseUp);\r\n ownerDoc.addEventListener(\"mousemove\", onMouseMove);\r\n ownerDoc.addEventListener(\"touchmove\", onTouchMove);\r\n return () => {\r\n ownerDoc.removeEventListener(\"mouseup\", onMouseUp);\r\n ownerDoc.removeEventListener(\"mousemove\", onMouseMove);\r\n ownerDoc.removeEventListener(\"touchmove\", onTouchMove);\r\n };\r\n }, [onMouseMove, onMouseUp, onTouchMove]);\r\n\r\n return (\r\n <div\r\n className={splitPaneClasses}\r\n ref={splitPane}\r\n style={splitPaneStyle}\r\n >\r\n <Pane\r\n className={pane1Classes}\r\n key=\"pane1\"\r\n eleRef={pane1}\r\n size={pane1Size}\r\n split={split}\r\n style={pane1DivStyle}\r\n >\r\n {notNullChildren[0]}\r\n </Pane>\r\n <Resizer\r\n className={resizerClasses}\r\n onClick={onResizerClick}\r\n onDoubleClick={onResizerDoubleClick}\r\n onMouseDown={onMouseDown}\r\n onTouchStart={onTouchStart}\r\n onTouchEnd={processResizeFinished}\r\n key=\"resizer\"\r\n split={split}\r\n style={resizerStyle}\r\n />\r\n <Pane\r\n className={pane2Classes}\r\n key=\"pane2\"\r\n eleRef={pane2}\r\n size={pane2Size}\r\n split={split}\r\n style={pane2DivStyle}\r\n >\r\n {notNullChildren[1]}\r\n </Pane>\r\n </div>\r\n );\r\n}\r\n"]}
@@ -1,8 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module Cursor
3
3
  */
4
- import { PointProps, RelativePosition } from "@itwin/appui-abstract";
5
- import { UiEvent } from "@itwin/core-react";
4
+ import { PointProps, RelativePosition, UiEvent } from "@itwin/appui-abstract";
6
5
  /** Enum for Cursor Direction parts
7
6
  * @public
8
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CursorInformation.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/cursor/CursorInformation.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAS,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,GAAG,OAAS;IACZ,IAAI,MAAS;IACb,KAAK,KAAS;IACd,MAAM,IAAS;CAChB;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,IAAI,IAAI;IACR,GAAG,OAA2B;IAC9B,IAAI,MAA4B;IAChC,KAAK,KAA6B;IAClC,MAAM,IAA8B;IACpC,OAAO,OAAuD;IAC9D,QAAQ,OAAwD;IAChE,UAAU,MAA0D;IACpE,WAAW,KAA2D;CACvE;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,OAAO,CAAC,sBAAsB,CAAC;CAAI;AAE3E;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,eAAe,CAAsB;IACpD,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAgD;IAE/E,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAgC;IAEhE,2BAA2B;IAC3B,WAAkB,cAAc,IAAI,UAAU,CAAiC;IAC/E,WAAkB,cAAc,CAAC,EAAE,EAAE,UAAU,EAA8C;IAE7F,kCAAkC;IAClC,WAAkB,OAAO,IAAI,MAAM,CAAmC;IACtE,kCAAkC;IAClC,WAAkB,OAAO,IAAI,MAAM,CAAmC;IAEtE,kDAAkD;IAClD,WAAkB,eAAe,IAAI,eAAe,CAAkC;IAEtF,uCAAuC;IACvC,gBAAuB,oBAAoB,qBAA4B;IAEvE,0GAA0G;WAC5F,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAUtD,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAQ9C,OAAO,CAAC,MAAM,CAAC,aAAa;IAwB5B,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAkBxC,gEAAgE;WAClD,sCAAsC,CAAC,eAAe,EAAE,eAAe,GAAG,gBAAgB;IAiCxG,8BAA8B;WAChB,qBAAqB,IAAI,IAAI;CAG5C"}
1
+ {"version":3,"file":"CursorInformation.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/cursor/CursorInformation.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAG9E;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,GAAG,OAAS;IACZ,IAAI,MAAS;IACb,KAAK,KAAS;IACd,MAAM,IAAS;CAChB;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,IAAI,IAAI;IACR,GAAG,OAA2B;IAC9B,IAAI,MAA4B;IAChC,KAAK,KAA6B;IAClC,MAAM,IAA8B;IACpC,OAAO,OAAuD;IAC9D,QAAQ,OAAwD;IAChE,UAAU,MAA0D;IACpE,WAAW,KAA2D;CACvE;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,OAAO,CAAC,sBAAsB,CAAC;CAAI;AAE3E;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,eAAe,CAAsB;IACpD,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAgD;IAE/E,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAgC;IAEhE,2BAA2B;IAC3B,WAAkB,cAAc,IAAI,UAAU,CAAiC;IAC/E,WAAkB,cAAc,CAAC,EAAE,EAAE,UAAU,EAA8C;IAE7F,kCAAkC;IAClC,WAAkB,OAAO,IAAI,MAAM,CAAmC;IACtE,kCAAkC;IAClC,WAAkB,OAAO,IAAI,MAAM,CAAmC;IAEtE,kDAAkD;IAClD,WAAkB,eAAe,IAAI,eAAe,CAAkC;IAEtF,uCAAuC;IACvC,gBAAuB,oBAAoB,qBAA4B;IAEvE,0GAA0G;WAC5F,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAUtD,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAQ9C,OAAO,CAAC,MAAM,CAAC,aAAa;IAwB5B,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAkBxC,gEAAgE;WAClD,sCAAsC,CAAC,eAAe,EAAE,eAAe,GAAG,gBAAgB;IAiCxG,8BAA8B;WAChB,qBAAqB,IAAI,IAAI;CAG5C"}
@@ -5,8 +5,8 @@
5
5
  /** @packageDocumentation
6
6
  * @module Cursor
7
7
  */
8
- import { RelativePosition } from "@itwin/appui-abstract";
9
- import { Point, UiEvent } from "@itwin/core-react";
8
+ import { RelativePosition, UiEvent } from "@itwin/appui-abstract";
9
+ import { Point } from "@itwin/core-react";
10
10
  /** Enum for Cursor Direction parts
11
11
  * @public
12
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CursorInformation.js","sourceRoot":"","sources":["../../../../src/appui-react/cursor/CursorInformation.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 Cursor\r\n */\r\n\r\nimport { PointProps, RelativePosition } from \"@itwin/appui-abstract\";\r\nimport { Point, UiEvent } from \"@itwin/core-react\";\r\n\r\n/** Enum for Cursor Direction parts\r\n * @public\r\n */\r\nexport enum CursorDirectionParts {\r\n Top = 0x1000,\r\n Left = 0x0100,\r\n Right = 0x0010,\r\n Bottom = 0x0001,\r\n}\r\n\r\n/** Enum for Cursor Direction\r\n * @public\r\n */\r\nexport enum CursorDirection {\r\n None = 0,\r\n Top = CursorDirectionParts.Top,\r\n Left = CursorDirectionParts.Left,\r\n Right = CursorDirectionParts.Right,\r\n Bottom = CursorDirectionParts.Bottom,\r\n TopLeft = CursorDirectionParts.Top | CursorDirectionParts.Left,\r\n TopRight = CursorDirectionParts.Top | CursorDirectionParts.Right,\r\n BottomLeft = CursorDirectionParts.Bottom | CursorDirectionParts.Left,\r\n BottomRight = CursorDirectionParts.Bottom | CursorDirectionParts.Right,\r\n}\r\n\r\n/** Cursor Updated Event Args interface.\r\n * @public\r\n */\r\nexport interface CursorUpdatedEventArgs {\r\n oldPt: PointProps;\r\n newPt: PointProps;\r\n direction: CursorDirection;\r\n}\r\n\r\n/** Cursor Updated Event class.\r\n * @public\r\n */\r\nexport class CursorUpdatedEvent extends UiEvent<CursorUpdatedEventArgs> { }\r\n\r\n/** Cursor Information class\r\n * @public\r\n */\r\nexport class CursorInformation {\r\n private static _cursorPosition: Point = new Point();\r\n private static _cursorDirection: CursorDirection = CursorDirection.BottomRight;\r\n\r\n private static _cursorDirections = new Array<CursorDirection>();\r\n\r\n /** The cursor position. */\r\n public static get cursorPosition(): PointProps { return this._cursorPosition; }\r\n public static set cursorPosition(pt: PointProps) { this._cursorPosition = Point.create(pt); }\r\n\r\n /** Gets the cursor X position. */\r\n public static get cursorX(): number { return this._cursorPosition.x; }\r\n /** Gets the cursor Y position. */\r\n public static get cursorY(): number { return this._cursorPosition.y; }\r\n\r\n /** Gets the general cursor movement direction. */\r\n public static get cursorDirection(): CursorDirection { return this._cursorDirection; }\r\n\r\n /** Gets the [[CursorUpdatedEvent]]. */\r\n public static readonly onCursorUpdatedEvent = new CursorUpdatedEvent();\r\n\r\n /** Handles the mouse movement. Sets the cursor position and direction and emits onCursorUpdatedEvent. */\r\n public static handleMouseMove(point: PointProps): void {\r\n const oldPt = CursorInformation.cursorPosition;\r\n const direction = this._determineMostFrequentDirection(this._cursorDirections, this._cursorPosition, Point.create(point));\r\n\r\n this.cursorPosition = point;\r\n this._cursorDirection = direction;\r\n\r\n this.onCursorUpdatedEvent.emit({ oldPt, newPt: point, direction });\r\n }\r\n\r\n private static _determineMostFrequentDirection(cursorDirections: CursorDirection[], oldPt: Point, newPt: Point): CursorDirection {\r\n const cursorDirection = this._determineCursorDirection(oldPt, newPt);\r\n cursorDirections.push(cursorDirection);\r\n if (cursorDirections.length > 10)\r\n cursorDirections.shift();\r\n return this._mostFrequent(cursorDirections);\r\n }\r\n\r\n private static _mostFrequent(array: CursorDirection[]): CursorDirection {\r\n const hashMap = new Map<CursorDirection, number>();\r\n let maxCount = 0, mostFrequent = CursorDirection.None;\r\n\r\n array.forEach((value: CursorDirection) => {\r\n const key = value;\r\n let frequency = hashMap.get(key);\r\n\r\n if (frequency !== undefined)\r\n frequency++;\r\n else\r\n frequency = 1;\r\n\r\n hashMap.set(key, frequency);\r\n\r\n if (frequency > maxCount) {\r\n mostFrequent = key;\r\n maxCount = frequency;\r\n }\r\n });\r\n\r\n return mostFrequent;\r\n }\r\n\r\n private static _determineCursorDirection(oldPt: Point, newPt: Point): CursorDirection {\r\n let directionParts: number = 0;\r\n\r\n if (newPt.x < oldPt.x)\r\n directionParts |= CursorDirectionParts.Left;\r\n else if (newPt.x > oldPt.x)\r\n directionParts |= CursorDirectionParts.Right;\r\n\r\n if (newPt.y < oldPt.y)\r\n directionParts |= CursorDirectionParts.Top;\r\n else if (newPt.y > oldPt.y)\r\n directionParts |= CursorDirectionParts.Bottom;\r\n\r\n const direction = directionParts as CursorDirection;\r\n\r\n return direction;\r\n }\r\n\r\n /** Gets the relative position based on the cursor direction. */\r\n public static getRelativePositionFromCursorDirection(cursorDirection: CursorDirection): RelativePosition {\r\n let relativePosition: RelativePosition = RelativePosition.BottomRight;\r\n\r\n switch (cursorDirection) {\r\n case CursorDirection.Top:\r\n relativePosition = RelativePosition.Top;\r\n break;\r\n case CursorDirection.Left:\r\n relativePosition = RelativePosition.Left;\r\n break;\r\n case CursorDirection.Right:\r\n relativePosition = RelativePosition.Right;\r\n break;\r\n case CursorDirection.Bottom:\r\n relativePosition = RelativePosition.Bottom;\r\n break;\r\n case CursorDirection.TopLeft:\r\n relativePosition = RelativePosition.TopLeft;\r\n break;\r\n case CursorDirection.TopRight:\r\n relativePosition = RelativePosition.TopRight;\r\n break;\r\n case CursorDirection.BottomLeft:\r\n relativePosition = RelativePosition.BottomLeft;\r\n break;\r\n case CursorDirection.BottomRight:\r\n relativePosition = RelativePosition.BottomRight;\r\n break;\r\n }\r\n\r\n return relativePosition;\r\n }\r\n\r\n /** @internal - for testing */\r\n public static clearCursorDirections(): void {\r\n this._cursorDirections.length = 0;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"CursorInformation.js","sourceRoot":"","sources":["../../../../src/appui-react/cursor/CursorInformation.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 Cursor\r\n */\r\n\r\nimport { PointProps, RelativePosition, UiEvent } from \"@itwin/appui-abstract\";\r\nimport { Point } from \"@itwin/core-react\";\r\n\r\n/** Enum for Cursor Direction parts\r\n * @public\r\n */\r\nexport enum CursorDirectionParts {\r\n Top = 0x1000,\r\n Left = 0x0100,\r\n Right = 0x0010,\r\n Bottom = 0x0001,\r\n}\r\n\r\n/** Enum for Cursor Direction\r\n * @public\r\n */\r\nexport enum CursorDirection {\r\n None = 0,\r\n Top = CursorDirectionParts.Top,\r\n Left = CursorDirectionParts.Left,\r\n Right = CursorDirectionParts.Right,\r\n Bottom = CursorDirectionParts.Bottom,\r\n TopLeft = CursorDirectionParts.Top | CursorDirectionParts.Left,\r\n TopRight = CursorDirectionParts.Top | CursorDirectionParts.Right,\r\n BottomLeft = CursorDirectionParts.Bottom | CursorDirectionParts.Left,\r\n BottomRight = CursorDirectionParts.Bottom | CursorDirectionParts.Right,\r\n}\r\n\r\n/** Cursor Updated Event Args interface.\r\n * @public\r\n */\r\nexport interface CursorUpdatedEventArgs {\r\n oldPt: PointProps;\r\n newPt: PointProps;\r\n direction: CursorDirection;\r\n}\r\n\r\n/** Cursor Updated Event class.\r\n * @public\r\n */\r\nexport class CursorUpdatedEvent extends UiEvent<CursorUpdatedEventArgs> { }\r\n\r\n/** Cursor Information class\r\n * @public\r\n */\r\nexport class CursorInformation {\r\n private static _cursorPosition: Point = new Point();\r\n private static _cursorDirection: CursorDirection = CursorDirection.BottomRight;\r\n\r\n private static _cursorDirections = new Array<CursorDirection>();\r\n\r\n /** The cursor position. */\r\n public static get cursorPosition(): PointProps { return this._cursorPosition; }\r\n public static set cursorPosition(pt: PointProps) { this._cursorPosition = Point.create(pt); }\r\n\r\n /** Gets the cursor X position. */\r\n public static get cursorX(): number { return this._cursorPosition.x; }\r\n /** Gets the cursor Y position. */\r\n public static get cursorY(): number { return this._cursorPosition.y; }\r\n\r\n /** Gets the general cursor movement direction. */\r\n public static get cursorDirection(): CursorDirection { return this._cursorDirection; }\r\n\r\n /** Gets the [[CursorUpdatedEvent]]. */\r\n public static readonly onCursorUpdatedEvent = new CursorUpdatedEvent();\r\n\r\n /** Handles the mouse movement. Sets the cursor position and direction and emits onCursorUpdatedEvent. */\r\n public static handleMouseMove(point: PointProps): void {\r\n const oldPt = CursorInformation.cursorPosition;\r\n const direction = this._determineMostFrequentDirection(this._cursorDirections, this._cursorPosition, Point.create(point));\r\n\r\n this.cursorPosition = point;\r\n this._cursorDirection = direction;\r\n\r\n this.onCursorUpdatedEvent.emit({ oldPt, newPt: point, direction });\r\n }\r\n\r\n private static _determineMostFrequentDirection(cursorDirections: CursorDirection[], oldPt: Point, newPt: Point): CursorDirection {\r\n const cursorDirection = this._determineCursorDirection(oldPt, newPt);\r\n cursorDirections.push(cursorDirection);\r\n if (cursorDirections.length > 10)\r\n cursorDirections.shift();\r\n return this._mostFrequent(cursorDirections);\r\n }\r\n\r\n private static _mostFrequent(array: CursorDirection[]): CursorDirection {\r\n const hashMap = new Map<CursorDirection, number>();\r\n let maxCount = 0, mostFrequent = CursorDirection.None;\r\n\r\n array.forEach((value: CursorDirection) => {\r\n const key = value;\r\n let frequency = hashMap.get(key);\r\n\r\n if (frequency !== undefined)\r\n frequency++;\r\n else\r\n frequency = 1;\r\n\r\n hashMap.set(key, frequency);\r\n\r\n if (frequency > maxCount) {\r\n mostFrequent = key;\r\n maxCount = frequency;\r\n }\r\n });\r\n\r\n return mostFrequent;\r\n }\r\n\r\n private static _determineCursorDirection(oldPt: Point, newPt: Point): CursorDirection {\r\n let directionParts: number = 0;\r\n\r\n if (newPt.x < oldPt.x)\r\n directionParts |= CursorDirectionParts.Left;\r\n else if (newPt.x > oldPt.x)\r\n directionParts |= CursorDirectionParts.Right;\r\n\r\n if (newPt.y < oldPt.y)\r\n directionParts |= CursorDirectionParts.Top;\r\n else if (newPt.y > oldPt.y)\r\n directionParts |= CursorDirectionParts.Bottom;\r\n\r\n const direction = directionParts as CursorDirection;\r\n\r\n return direction;\r\n }\r\n\r\n /** Gets the relative position based on the cursor direction. */\r\n public static getRelativePositionFromCursorDirection(cursorDirection: CursorDirection): RelativePosition {\r\n let relativePosition: RelativePosition = RelativePosition.BottomRight;\r\n\r\n switch (cursorDirection) {\r\n case CursorDirection.Top:\r\n relativePosition = RelativePosition.Top;\r\n break;\r\n case CursorDirection.Left:\r\n relativePosition = RelativePosition.Left;\r\n break;\r\n case CursorDirection.Right:\r\n relativePosition = RelativePosition.Right;\r\n break;\r\n case CursorDirection.Bottom:\r\n relativePosition = RelativePosition.Bottom;\r\n break;\r\n case CursorDirection.TopLeft:\r\n relativePosition = RelativePosition.TopLeft;\r\n break;\r\n case CursorDirection.TopRight:\r\n relativePosition = RelativePosition.TopRight;\r\n break;\r\n case CursorDirection.BottomLeft:\r\n relativePosition = RelativePosition.BottomLeft;\r\n break;\r\n case CursorDirection.BottomRight:\r\n relativePosition = RelativePosition.BottomRight;\r\n break;\r\n }\r\n\r\n return relativePosition;\r\n }\r\n\r\n /** @internal - for testing */\r\n public static clearCursorDirections(): void {\r\n this._cursorDirections.length = 0;\r\n }\r\n}\r\n"]}