@itwin/appui-react 5.0.4 → 5.1.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 (514) hide show
  1. package/CHANGELOG.md +55 -38
  2. package/lib/appui-react/UiFramework.d.ts +1 -1
  3. package/lib/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/appui-react/UiFramework.js +46 -46
  5. package/lib/appui-react/UiFramework.js.map +1 -1
  6. package/lib/appui-react/accudraw/AccuDrawCommandItems.js +1 -1
  7. package/lib/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  8. package/lib/appui-react/accudraw/AccuDrawDialog.js +1 -1
  9. package/lib/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  10. package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts +2 -0
  11. package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  12. package/lib/appui-react/accudraw/AccuDrawFieldContainer.js +38 -26
  13. package/lib/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  14. package/lib/appui-react/accudraw/AccuDrawInputField.d.ts +4 -2
  15. package/lib/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  16. package/lib/appui-react/accudraw/AccuDrawInputField.js +45 -38
  17. package/lib/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  18. package/lib/appui-react/accudraw/AccuDrawInputField.scss +0 -15
  19. package/lib/appui-react/accudraw/AccuDrawPopupManager.js +3 -3
  20. package/lib/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  21. package/lib/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  22. package/lib/appui-react/accudraw/AccuDrawWidget.js +2 -2
  23. package/lib/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  24. package/lib/appui-react/accudraw/Calculator.js +1 -1
  25. package/lib/appui-react/accudraw/Calculator.js.map +1 -1
  26. package/lib/appui-react/accudraw/CalculatorPopup.js +1 -1
  27. package/lib/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  28. package/lib/appui-react/accudraw/FrameworkAccuDraw.d.ts +2 -2
  29. package/lib/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  30. package/lib/appui-react/accudraw/FrameworkAccuDraw.js +18 -15
  31. package/lib/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  32. package/lib/appui-react/accudraw/MenuButton.js +1 -1
  33. package/lib/appui-react/accudraw/MenuButton.js.map +1 -1
  34. package/lib/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  35. package/lib/appui-react/backstage/BackstageComposer.js +2 -3
  36. package/lib/appui-react/backstage/BackstageComposer.js.map +1 -1
  37. package/lib/appui-react/backstage/BackstageComposerItem.js +6 -6
  38. package/lib/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  39. package/lib/appui-react/backstage/BackstageItem.js.map +1 -1
  40. package/lib/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  41. package/lib/appui-react/backstage/BackstageManager.js +3 -3
  42. package/lib/appui-react/backstage/BackstageManager.js.map +1 -1
  43. package/lib/appui-react/backstage/InternalBackstageManager.js +2 -2
  44. package/lib/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  45. package/lib/appui-react/configurableui/ActivityTracker.d.ts.map +1 -1
  46. package/lib/appui-react/configurableui/ActivityTracker.js +0 -1
  47. package/lib/appui-react/configurableui/ActivityTracker.js.map +1 -1
  48. package/lib/appui-react/configurableui/ConfigurableUiContent.js +6 -6
  49. package/lib/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  50. package/lib/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  51. package/lib/appui-react/configurableui/InternalConfigurableUiManager.d.ts +1 -1
  52. package/lib/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  53. package/lib/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  54. package/lib/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  55. package/lib/appui-react/content/ContentControl.js +1 -1
  56. package/lib/appui-react/content/ContentControl.js.map +1 -1
  57. package/lib/appui-react/content/ContentGroup.js +7 -7
  58. package/lib/appui-react/content/ContentGroup.js.map +1 -1
  59. package/lib/appui-react/content/ContentLayout.d.ts.map +1 -1
  60. package/lib/appui-react/content/ContentLayout.js +16 -17
  61. package/lib/appui-react/content/ContentLayout.js.map +1 -1
  62. package/lib/appui-react/content/DefaultViewOverlay.js +1 -1
  63. package/lib/appui-react/content/DefaultViewOverlay.js.map +1 -1
  64. package/lib/appui-react/content/FloatingViewportContent.js +4 -4
  65. package/lib/appui-react/content/FloatingViewportContent.js.map +1 -1
  66. package/lib/appui-react/content/IModelViewport.d.ts +1 -1
  67. package/lib/appui-react/content/IModelViewport.d.ts.map +1 -1
  68. package/lib/appui-react/content/IModelViewport.js +1 -1
  69. package/lib/appui-react/content/IModelViewport.js.map +1 -1
  70. package/lib/appui-react/content/InternalContentViewManager.js +26 -26
  71. package/lib/appui-react/content/InternalContentViewManager.js.map +1 -1
  72. package/lib/appui-react/content/ViewportContentControl.js +1 -1
  73. package/lib/appui-react/content/ViewportContentControl.js.map +1 -1
  74. package/lib/appui-react/content/split-pane/SplitPane.js +2 -2
  75. package/lib/appui-react/content/split-pane/SplitPane.js.map +1 -1
  76. package/lib/appui-react/cursor/CursorInformation.js +2 -2
  77. package/lib/appui-react/cursor/CursorInformation.js.map +1 -1
  78. package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts +1 -1
  79. package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  80. package/lib/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
  81. package/lib/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  82. package/lib/appui-react/cursor/cursorpopup/CursorPopup.d.ts +1 -1
  83. package/lib/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  84. package/lib/appui-react/cursor/cursorpopup/CursorPopup.js +3 -3
  85. package/lib/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  86. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +1 -1
  87. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  88. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  89. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -1
  90. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  91. package/lib/appui-react/dialog/ContentDialog.js.map +1 -1
  92. package/lib/appui-react/dialog/ContentDialogManager.js +2 -2
  93. package/lib/appui-react/dialog/ContentDialogManager.js.map +1 -1
  94. package/lib/appui-react/dialog/DialogManagerBase.js +4 -4
  95. package/lib/appui-react/dialog/DialogManagerBase.js.map +1 -1
  96. package/lib/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  97. package/lib/appui-react/dialog/InternalContentDialogManager.js +2 -3
  98. package/lib/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  99. package/lib/appui-react/dialog/InternalModalDialogManager.js +1 -1
  100. package/lib/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  101. package/lib/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  102. package/lib/appui-react/dialog/InternalModelessDialogManager.js +1 -2
  103. package/lib/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  104. package/lib/appui-react/dialog/ModalDialogManager.js +2 -2
  105. package/lib/appui-react/dialog/ModalDialogManager.js.map +1 -1
  106. package/lib/appui-react/dialog/ModelessDialog.js +1 -1
  107. package/lib/appui-react/dialog/ModelessDialog.js.map +1 -1
  108. package/lib/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
  109. package/lib/appui-react/dialog/ModelessDialogManager.js +2 -3
  110. package/lib/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  111. package/lib/appui-react/dialog/StandardMessageBox.js +1 -1
  112. package/lib/appui-react/dialog/StandardMessageBox.js.map +1 -1
  113. package/lib/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  114. package/lib/appui-react/feedback/ElementTooltip.d.ts +1 -1
  115. package/lib/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  116. package/lib/appui-react/feedback/ElementTooltip.js.map +1 -1
  117. package/lib/appui-react/feedback/ValidationTextbox.js.map +1 -1
  118. package/lib/appui-react/framework/FrameworkBackstage.js.map +1 -1
  119. package/lib/appui-react/framework/FrameworkContent.js +3 -3
  120. package/lib/appui-react/framework/FrameworkContent.js.map +1 -1
  121. package/lib/appui-react/framework/FrameworkControls.js.map +1 -1
  122. package/lib/appui-react/framework/FrameworkDialogs.js +2 -2
  123. package/lib/appui-react/framework/FrameworkDialogs.js.map +1 -1
  124. package/lib/appui-react/framework/FrameworkFrontstages.js +8 -8
  125. package/lib/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  126. package/lib/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  127. package/lib/appui-react/framework/FrameworkToolSettings.js +1 -1
  128. package/lib/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  129. package/lib/appui-react/frontstage/Frontstage.js.map +1 -1
  130. package/lib/appui-react/frontstage/FrontstageConfig.d.ts +5 -2
  131. package/lib/appui-react/frontstage/FrontstageConfig.d.ts.map +1 -1
  132. package/lib/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  133. package/lib/appui-react/frontstage/FrontstageDef.d.ts +5 -1
  134. package/lib/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  135. package/lib/appui-react/frontstage/FrontstageDef.js +22 -17
  136. package/lib/appui-react/frontstage/FrontstageDef.js.map +1 -1
  137. package/lib/appui-react/frontstage/InternalFrontstageManager.js +29 -29
  138. package/lib/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  139. package/lib/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  140. package/lib/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  141. package/lib/appui-react/frontstage/ModalSettingsStage.js +2 -2
  142. package/lib/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  143. package/lib/appui-react/frontstage/NestedFrontstage.js +1 -1
  144. package/lib/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  145. package/lib/appui-react/frontstage/StandardFrontstageProvider.js +1 -1
  146. package/lib/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  147. package/lib/appui-react/hooks/useActiveIModelConnection.js +1 -1
  148. package/lib/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  149. package/lib/appui-react/hooks/useUiVisibility.js +1 -1
  150. package/lib/appui-react/hooks/useUiVisibility.js.map +1 -1
  151. package/lib/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  152. package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js +1 -1
  153. package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  154. package/lib/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  155. package/lib/appui-react/keyboardshortcut/KeyboardShortcutProps.js.map +1 -1
  156. package/lib/appui-react/layout/StandardLayout.js.map +1 -1
  157. package/lib/appui-react/layout/backstage/Backstage.js.map +1 -1
  158. package/lib/appui-react/layout/backstage/Item.js.map +1 -1
  159. package/lib/appui-react/layout/backstage/Separator.js +1 -1
  160. package/lib/appui-react/layout/backstage/Separator.js.map +1 -1
  161. package/lib/appui-react/layout/base/usePointerCaptor.d.ts +1 -1
  162. package/lib/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  163. package/lib/appui-react/layout/footer/dialog/Dialog.js.map +1 -1
  164. package/lib/appui-react/layout/footer/dialog/TitleBar.js.map +1 -1
  165. package/lib/appui-react/layout/footer/snap-mode/Panel.js.map +1 -1
  166. package/lib/appui-react/layout/footer/snap-mode/Snap.js.map +1 -1
  167. package/lib/appui-react/layout/footer/tool-assistance/Dialog.js.map +1 -1
  168. package/lib/appui-react/layout/footer/tool-assistance/Instruction.js.map +1 -1
  169. package/lib/appui-react/layout/footer/tool-assistance/Item.js.map +1 -1
  170. package/lib/appui-react/layout/footer/tool-assistance/NewDot.js +1 -1
  171. package/lib/appui-react/layout/footer/tool-assistance/NewDot.js.map +1 -1
  172. package/lib/appui-react/layout/footer/tool-assistance/Separator.js.map +1 -1
  173. package/lib/appui-react/layout/outline/SectionOutline.js.map +1 -1
  174. package/lib/appui-react/layout/popup/Tooltip.js.map +1 -1
  175. package/lib/appui-react/layout/state/internal/PanelStateHelpers.js +1 -1
  176. package/lib/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  177. package/lib/appui-react/layout/state/internal/TabStateHelpers.js +6 -6
  178. package/lib/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  179. package/lib/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -6
  180. package/lib/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  181. package/lib/appui-react/layout/state/internal/WidgetStateHelpers.js +13 -13
  182. package/lib/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  183. package/lib/appui-react/layout/target/TargetContainer.js.map +1 -1
  184. package/lib/appui-react/layout/target/useAllowedSideTarget.js +1 -1
  185. package/lib/appui-react/layout/target/useAllowedSideTarget.js.map +1 -1
  186. package/lib/appui-react/layout/tool-settings/Docked.js +1 -1
  187. package/lib/appui-react/layout/tool-settings/Docked.js.map +1 -1
  188. package/lib/appui-react/layout/tool-settings/Handle.js.map +1 -1
  189. package/lib/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  190. package/lib/appui-react/layout/tool-settings/Panel.js +1 -1
  191. package/lib/appui-react/layout/tool-settings/Panel.js.map +1 -1
  192. package/lib/appui-react/layout/tool-settings/Setting.js.map +1 -1
  193. package/lib/appui-react/layout/widget/Menu.js +1 -1
  194. package/lib/appui-react/layout/widget/Menu.js.map +1 -1
  195. package/lib/appui-react/layout/widget/MenuTab.js.map +1 -1
  196. package/lib/appui-react/layout/widget/NavigationArea.js.map +1 -1
  197. package/lib/appui-react/layout/widget/Tab.js +1 -1
  198. package/lib/appui-react/layout/widget/Tab.js.map +1 -1
  199. package/lib/appui-react/layout/widget/TabBar.js +1 -1
  200. package/lib/appui-react/layout/widget/TabBar.js.map +1 -1
  201. package/lib/appui-react/layout/widget/ToolsArea.js.map +1 -1
  202. package/lib/appui-react/layout/widget/Widget.js.map +1 -1
  203. package/lib/appui-react/layout/widget/tools/button/Button.js.map +1 -1
  204. package/lib/appui-react/layout/widget/tools/button/Expandable.js.map +1 -1
  205. package/lib/appui-react/layout/widget-panels/Expander.js +1 -1
  206. package/lib/appui-react/layout/widget-panels/Expander.js.map +1 -1
  207. package/lib/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  208. package/lib/appui-react/layout/widget-panels/Grip.js +3 -3
  209. package/lib/appui-react/layout/widget-panels/Grip.js.map +1 -1
  210. package/lib/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  211. package/lib/appui-react/layout/widget-panels/useAnimatePanel.d.ts.map +1 -1
  212. package/lib/appui-react/messages/InputField.js +2 -2
  213. package/lib/appui-react/messages/InputField.js.map +1 -1
  214. package/lib/appui-react/messages/MessageManager.d.ts +4 -4
  215. package/lib/appui-react/messages/MessageManager.d.ts.map +1 -1
  216. package/lib/appui-react/messages/MessageManager.js +25 -25
  217. package/lib/appui-react/messages/MessageManager.js.map +1 -1
  218. package/lib/appui-react/messages/MessageRenderer.js.map +1 -1
  219. package/lib/appui-react/messages/Pointer.d.ts.map +1 -1
  220. package/lib/appui-react/messages/Pointer.js +7 -7
  221. package/lib/appui-react/messages/Pointer.js.map +1 -1
  222. package/lib/appui-react/messages/ReactNotifyMessageDetails.d.ts +2 -2
  223. package/lib/appui-react/messages/ReactNotifyMessageDetails.d.ts.map +1 -1
  224. package/lib/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  225. package/lib/appui-react/navigationaids/CubeNavigationAidControl.js +2 -2
  226. package/lib/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  227. package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js +2 -2
  228. package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  229. package/lib/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  230. package/lib/appui-react/navigationaids/SheetNavigationAid.js +2 -2
  231. package/lib/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  232. package/lib/appui-react/navigationaids/SheetsModalFrontstage.js +8 -8
  233. package/lib/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  234. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +1 -1
  235. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  236. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js +3 -3
  237. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  238. package/lib/appui-react/pickers/ListPicker.d.ts +1 -0
  239. package/lib/appui-react/pickers/ListPicker.d.ts.map +1 -1
  240. package/lib/appui-react/pickers/ListPicker.js +11 -10
  241. package/lib/appui-react/pickers/ListPicker.js.map +1 -1
  242. package/lib/appui-react/pickers/ViewSelector.d.ts +1 -0
  243. package/lib/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  244. package/lib/appui-react/pickers/ViewSelector.js +7 -6
  245. package/lib/appui-react/pickers/ViewSelector.js.map +1 -1
  246. package/lib/appui-react/popup/CardPopup.js +2 -2
  247. package/lib/appui-react/popup/CardPopup.js.map +1 -1
  248. package/lib/appui-react/popup/ComponentPopup.js.map +1 -1
  249. package/lib/appui-react/popup/HTMLElementPopup.js.map +1 -1
  250. package/lib/appui-react/popup/InputEditorPopup.js.map +1 -1
  251. package/lib/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  252. package/lib/appui-react/popup/KeyinPalettePanel.js +2 -3
  253. package/lib/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  254. package/lib/appui-react/popup/KeyinPalettePopup.js +1 -1
  255. package/lib/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  256. package/lib/appui-react/popup/PopupManager.d.ts +1 -1
  257. package/lib/appui-react/popup/PopupManager.d.ts.map +1 -1
  258. package/lib/appui-react/popup/PopupManager.js +4 -4
  259. package/lib/appui-react/popup/PopupManager.js.map +1 -1
  260. package/lib/appui-react/popup/PositionPopup.js +2 -2
  261. package/lib/appui-react/popup/PositionPopup.js.map +1 -1
  262. package/lib/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  263. package/lib/appui-react/popup/ToolbarPopup.js +1 -1
  264. package/lib/appui-react/popup/ToolbarPopup.js.map +1 -1
  265. package/lib/appui-react/preview/PreviewFeatures.d.ts +3 -5
  266. package/lib/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  267. package/lib/appui-react/preview/PreviewFeatures.js +1 -2
  268. package/lib/appui-react/preview/PreviewFeatures.js.map +1 -1
  269. package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.d.ts +5 -0
  270. package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.d.ts.map +1 -0
  271. package/lib/appui-react/preview/{allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.js → allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.js} +5 -5
  272. package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.js.map +1 -0
  273. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts +1 -1
  274. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts.map +1 -1
  275. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.js +1 -1
  276. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.js.map +1 -1
  277. package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +1 -1
  278. package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -1
  279. package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -1
  280. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts +1 -4
  281. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -1
  282. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +13 -13
  283. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  284. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +1 -1
  285. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -1
  286. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +1 -1
  287. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -1
  288. package/lib/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +1 -1
  289. package/lib/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  290. package/lib/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  291. package/lib/appui-react/redux/ConfigurableUiState.d.ts.map +1 -1
  292. package/lib/appui-react/redux/ConfigurableUiState.js +1 -1
  293. package/lib/appui-react/redux/ConfigurableUiState.js.map +1 -1
  294. package/lib/appui-react/redux/FrameworkState.js.map +1 -1
  295. package/lib/appui-react/redux/ReducerRegistry.js +1 -1
  296. package/lib/appui-react/redux/ReducerRegistry.js.map +1 -1
  297. package/lib/appui-react/redux/SessionState.d.ts.map +1 -1
  298. package/lib/appui-react/redux/SessionState.js.map +1 -1
  299. package/lib/appui-react/redux/StateManager.js +2 -2
  300. package/lib/appui-react/redux/StateManager.js.map +1 -1
  301. package/lib/appui-react/redux/connectIModel.js +1 -1
  302. package/lib/appui-react/redux/connectIModel.js.map +1 -1
  303. package/lib/appui-react/redux/redux-ts.js.map +1 -1
  304. package/lib/appui-react/selection/SelectionContextItemDef.js +2 -2
  305. package/lib/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  306. package/lib/appui-react/settings/SettingsManager.js +1 -1
  307. package/lib/appui-react/settings/SettingsManager.js.map +1 -1
  308. package/lib/appui-react/settings/quantityformatting/QuantityFormat.js +3 -3
  309. package/lib/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  310. package/lib/appui-react/settings/ui/UiSettingsPage.js +5 -5
  311. package/lib/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  312. package/lib/appui-react/shared/ActionButtonItemDef.js +1 -1
  313. package/lib/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  314. package/lib/appui-react/shared/AnyItemDef.js.map +1 -1
  315. package/lib/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  316. package/lib/appui-react/shared/CommandItemDef.js +1 -1
  317. package/lib/appui-react/shared/CommandItemDef.js.map +1 -1
  318. package/lib/appui-react/shared/CustomItemDef.js +1 -1
  319. package/lib/appui-react/shared/CustomItemDef.js.map +1 -1
  320. package/lib/appui-react/shared/CustomItemProps.js.map +1 -1
  321. package/lib/appui-react/shared/GroupItemProps.js.map +1 -1
  322. package/lib/appui-react/shared/ItemDefBase.js.map +1 -1
  323. package/lib/appui-react/shared/ItemMap.js +1 -1
  324. package/lib/appui-react/shared/ItemMap.js.map +1 -1
  325. package/lib/appui-react/shared/ItemProps.js.map +1 -1
  326. package/lib/appui-react/shared/MenuItem.js +1 -1
  327. package/lib/appui-react/shared/MenuItem.js.map +1 -1
  328. package/lib/appui-react/shared/ToolItemDef.js +1 -1
  329. package/lib/appui-react/shared/ToolItemDef.js.map +1 -1
  330. package/lib/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  331. package/lib/appui-react/stagepanels/StagePanelDef.js +2 -2
  332. package/lib/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  333. package/lib/appui-react/statusbar/Field.js.map +1 -1
  334. package/lib/appui-react/statusbar/Indicator.js +2 -2
  335. package/lib/appui-react/statusbar/Indicator.js.map +1 -1
  336. package/lib/appui-react/statusbar/LabelIndicator.js +2 -2
  337. package/lib/appui-react/statusbar/LabelIndicator.js.map +1 -1
  338. package/lib/appui-react/statusbar/Overflow.js.map +1 -1
  339. package/lib/appui-react/statusbar/Separator.js +1 -1
  340. package/lib/appui-react/statusbar/Separator.js.map +1 -1
  341. package/lib/appui-react/statusbar/StatusBar.js.map +1 -1
  342. package/lib/appui-react/statusbar/StatusBarComposer.js +6 -6
  343. package/lib/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  344. package/lib/appui-react/statusbar/StatusBarItem.js.map +1 -1
  345. package/lib/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  346. package/lib/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  347. package/lib/appui-react/statusbar/dialog/Button.js.map +1 -1
  348. package/lib/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  349. package/lib/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  350. package/lib/appui-react/statusbar/popup/Popup.js +2 -2
  351. package/lib/appui-react/statusbar/popup/Popup.js.map +1 -1
  352. package/lib/appui-react/statusfields/ActivityCenter.js +2 -2
  353. package/lib/appui-react/statusfields/ActivityCenter.js.map +1 -1
  354. package/lib/appui-react/statusfields/SectionsField.js.map +1 -1
  355. package/lib/appui-react/statusfields/SelectionCount.js.map +1 -1
  356. package/lib/appui-react/statusfields/SelectionInfo.js +2 -2
  357. package/lib/appui-react/statusfields/SelectionInfo.js.map +1 -1
  358. package/lib/appui-react/statusfields/SelectionScope.js +3 -3
  359. package/lib/appui-react/statusfields/SelectionScope.js.map +1 -1
  360. package/lib/appui-react/statusfields/SnapMode.js +2 -2
  361. package/lib/appui-react/statusfields/SnapMode.js.map +1 -1
  362. package/lib/appui-react/statusfields/ViewAttributes.d.ts +1 -1
  363. package/lib/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  364. package/lib/appui-react/statusfields/ViewAttributes.js +1 -1
  365. package/lib/appui-react/statusfields/ViewAttributes.js.map +1 -1
  366. package/lib/appui-react/statusfields/message-center/MessageCenterField.js +1 -1
  367. package/lib/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -1
  368. package/lib/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -1
  369. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts +1 -1
  370. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  371. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -1
  372. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  373. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  374. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js +5 -5
  375. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  376. package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js +2 -2
  377. package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  378. package/lib/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  379. package/lib/appui-react/syncui/SyncUiEventDispatcher.js +3 -8
  380. package/lib/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  381. package/lib/appui-react/syncui/UiSyncEvent.js +1 -1
  382. package/lib/appui-react/syncui/UiSyncEvent.js.map +1 -1
  383. package/lib/appui-react/theme/ThemeManager.js +1 -1
  384. package/lib/appui-react/theme/ThemeManager.js.map +1 -1
  385. package/lib/appui-react/toolbar/GroupItem.js +1 -1
  386. package/lib/appui-react/toolbar/GroupItem.js.map +1 -1
  387. package/lib/appui-react/toolbar/Toolbar.js.map +1 -1
  388. package/lib/appui-react/toolbar/ToolbarComposer.js +3 -3
  389. package/lib/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  390. package/lib/appui-react/toolbar/ToolbarHelper.js +4 -4
  391. package/lib/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  392. package/lib/appui-react/toolbar/ToolbarItem.js.map +1 -1
  393. package/lib/appui-react/toolbar/ToolbarItemUtilities.js +1 -1
  394. package/lib/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  395. package/lib/appui-react/toolbar/ToolbarItemsManager.js +10 -10
  396. package/lib/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  397. package/lib/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  398. package/lib/appui-react/toolbar/new-toolbars/Badge.d.ts +1 -1
  399. package/lib/appui-react/toolbar/new-toolbars/Badge.d.ts.map +1 -1
  400. package/lib/appui-react/toolbar/new-toolbars/Badge.js +1 -1
  401. package/lib/appui-react/toolbar/new-toolbars/Badge.js.map +1 -1
  402. package/lib/appui-react/toolbar/new-toolbars/GroupItem.js +2 -2
  403. package/lib/appui-react/toolbar/new-toolbars/GroupItem.js.map +1 -1
  404. package/lib/appui-react/toolbar/new-toolbars/Item.js +1 -1
  405. package/lib/appui-react/toolbar/new-toolbars/Item.js.map +1 -1
  406. package/lib/appui-react/toolbar/new-toolbars/ToolGroup.js.map +1 -1
  407. package/lib/appui-react/toolbar/new-toolbars/useOverflow.d.ts.map +1 -1
  408. package/lib/appui-react/toolbar/useDefaultToolbarItems.js +1 -1
  409. package/lib/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  410. package/lib/appui-react/toolbar/useUiItemsProviderToolbarItems.js +1 -1
  411. package/lib/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  412. package/lib/appui-react/tools/CoreToolDefinitions.js +2 -2
  413. package/lib/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  414. package/lib/appui-react/tools/KeyinPaletteTools.d.ts +1 -1
  415. package/lib/appui-react/tools/OpenSettingsTool.d.ts +1 -1
  416. package/lib/appui-react/tools/RestoreLayoutTool.d.ts +2 -2
  417. package/lib/appui-react/tools/ToolbarItems.js +1 -1
  418. package/lib/appui-react/tools/ToolbarItems.js.map +1 -1
  419. package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -1
  420. package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js +3 -3
  421. package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  422. package/lib/appui-react/toolsettings/InternalToolSettingsManager.js +2 -2
  423. package/lib/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  424. package/lib/appui-react/toolsettings/ToolInformation.js +1 -1
  425. package/lib/appui-react/toolsettings/ToolInformation.js.map +1 -1
  426. package/lib/appui-react/toolsettings/ToolUiProvider.js +1 -1
  427. package/lib/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  428. package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts +5 -5
  429. package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js +1 -1
  430. package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  431. package/lib/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
  432. package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js +4 -4
  433. package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  434. package/lib/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  435. package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +3 -3
  436. package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  437. package/lib/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  438. package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +3 -3
  439. package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  440. package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  441. package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -1
  442. package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  443. package/lib/appui-react/ui-items-provider/UiItemsManager.js +3 -3
  444. package/lib/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  445. package/lib/appui-react/uiadmin/FrameworkUiAdmin.js +3 -3
  446. package/lib/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  447. package/lib/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  448. package/lib/appui-react/uistate/AppUiSettings.js +2 -2
  449. package/lib/appui-react/uistate/AppUiSettings.js.map +1 -1
  450. package/lib/appui-react/uistate/LocalStateStorage.js +1 -1
  451. package/lib/appui-react/uistate/LocalStateStorage.js.map +1 -1
  452. package/lib/appui-react/uistate/UiStateStorage.js +1 -1
  453. package/lib/appui-react/uistate/UiStateStorage.js.map +1 -1
  454. package/lib/appui-react/uistate/useReduxFrameworkState.js +1 -1
  455. package/lib/appui-react/uistate/useReduxFrameworkState.js.map +1 -1
  456. package/lib/appui-react/uistate/useUiStateStorage.js +1 -1
  457. package/lib/appui-react/uistate/useUiStateStorage.js.map +1 -1
  458. package/lib/appui-react/utils/PropsHelper.js +5 -5
  459. package/lib/appui-react/utils/PropsHelper.js.map +1 -1
  460. package/lib/appui-react/utils/RectangleProps.js.map +1 -1
  461. package/lib/appui-react/utils/SizeProps.js.map +1 -1
  462. package/lib/appui-react/utils/ViewUtilities.d.ts.map +1 -1
  463. package/lib/appui-react/utils/ViewUtilities.js.map +1 -1
  464. package/lib/appui-react/utils/getActiveViewport.js +1 -1
  465. package/lib/appui-react/utils/getActiveViewport.js.map +1 -1
  466. package/lib/appui-react/widget-panels/DockedBar.js.map +1 -1
  467. package/lib/appui-react/widget-panels/Frontstage.js +7 -7
  468. package/lib/appui-react/widget-panels/Frontstage.js.map +1 -1
  469. package/lib/appui-react/widget-panels/StatusBar.js +5 -5
  470. package/lib/appui-react/widget-panels/StatusBar.js.map +1 -1
  471. package/lib/appui-react/widget-panels/Tab.js +4 -4
  472. package/lib/appui-react/widget-panels/Tab.js.map +1 -1
  473. package/lib/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  474. package/lib/appui-react/widget-panels/ToolSettings.js +8 -5
  475. package/lib/appui-react/widget-panels/ToolSettings.js.map +1 -1
  476. package/lib/appui-react/widgets/BackstageAppButton.js +2 -2
  477. package/lib/appui-react/widgets/BackstageAppButton.js.map +1 -1
  478. package/lib/appui-react/widgets/BasicNavigationWidget.js +1 -1
  479. package/lib/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  480. package/lib/appui-react/widgets/BasicToolWidget.js +1 -1
  481. package/lib/appui-react/widgets/BasicToolWidget.js.map +1 -1
  482. package/lib/appui-react/widgets/ContentToolWidgetComposer.js +1 -1
  483. package/lib/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  484. package/lib/appui-react/widgets/NavigationWidgetComposer.js +10 -10
  485. package/lib/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  486. package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  487. package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  488. package/lib/appui-react/widgets/ToolWidgetComposer.js +1 -1
  489. package/lib/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  490. package/lib/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  491. package/lib/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  492. package/lib/appui-react/widgets/Widget.js.map +1 -1
  493. package/lib/appui-react/widgets/WidgetControl.js +1 -1
  494. package/lib/appui-react/widgets/WidgetControl.js.map +1 -1
  495. package/lib/appui-react/widgets/WidgetDef.js +21 -21
  496. package/lib/appui-react/widgets/WidgetDef.js.map +1 -1
  497. package/lib/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  498. package/lib/appui-react/widgets/useWidget.d.ts.map +1 -1
  499. package/lib/appui-react.js +1 -1
  500. package/lib/appui-react.js.map +1 -1
  501. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +0 -15
  502. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +0 -15
  503. package/package.json +18 -18
  504. package/lib/appui-react/layout/widget/tools/button/Back.d.ts +0 -21
  505. package/lib/appui-react/layout/widget/tools/button/Back.d.ts.map +0 -1
  506. package/lib/appui-react/layout/widget/tools/button/Back.js +0 -23
  507. package/lib/appui-react/layout/widget/tools/button/Back.js.map +0 -1
  508. package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.d.ts +0 -5
  509. package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.d.ts.map +0 -1
  510. package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.js.map +0 -1
  511. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.d.ts +0 -5
  512. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.d.ts.map +0 -1
  513. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.js +0 -13
  514. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IModelViewport.js","sourceRoot":"","sources":["../../../src/appui-react/content/IModelViewport.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport * as React from \"react\";\nimport type { Id64String } from \"@itwin/core-bentley\";\nimport type {\n IModelConnection,\n ScreenViewport,\n ViewState,\n} from \"@itwin/core-frontend\";\nimport type {\n ViewportProps,\n ViewStateProp,\n} from \"@itwin/imodel-components-react\";\nimport { ViewportComponent } from \"@itwin/imodel-components-react\";\nimport { FillCentered } from \"@itwin/core-react\";\n\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { DefaultViewOverlay } from \"./DefaultViewOverlay.js\";\nimport { ViewportContentControl } from \"./ViewportContentControl.js\";\nimport { StandardRotationNavigationAidControl } from \"../navigationaids/StandardRotationNavigationAid.js\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState.js\";\nimport { ConfigurableUiContext } from \"../configurableui/ConfigurableUiContent.js\";\n\n/* eslint-disable deprecation/deprecation */\n\n/** Viewport that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.\n * @note Requires redux provider.\n * @public\n * @deprecated in 4.15.0. Use {@link @itwin/imodel-components-react#ViewportComponent} instead.\n */\nexport function IModelConnectedViewport(\n props: Omit<ViewportProps, \"imodel\" | \"viewState\">\n) {\n const iModel = useReduxFrameworkState(\n (state) => state?.sessionState.iModelConnection\n );\n const viewState = useReduxFrameworkState(\n (state) => state?.sessionState.defaultViewState\n );\n if (!iModel) return null;\n return <ViewportComponent imodel={iModel} viewState={viewState} {...props} />;\n}\n\n/** [[IModelViewportControl]] options. These options are set in the applicationData property of the [[ContentProps]].\n * @public\n * @deprecated in 4.16.0. Used in a deprecated class {@link IModelViewportControl}.\n */\nexport interface IModelViewportControlOptions {\n /** ViewState or a function to return a ViewState */\n viewState?: ViewStateProp;\n /** IModelConnection of data in Viewport */\n iModelConnection?: IModelConnection | (() => IModelConnection);\n /** Map of options that can be used to enable/disable features within the view */\n featureOptions?: { [key: string]: any };\n /** Optional background color which may be used if viewState and iModelConnection are undefined */\n bgColor?: string;\n /** Optional property to always use the supplied `viewState` property instead of using viewport.view when set */\n alwaysUseSuppliedViewState?: boolean;\n /** Optional property to supply custom view overlay. Uses when caller want to supply custom overlay component. */\n supplyViewOverlay?: (_viewport: ScreenViewport) => React.ReactNode;\n /** Optional property to defer reactNode initialization until first reactNode property is needed. Useful when subclassing the `IModelViewportControl`. */\n deferNodeInitialization?: boolean;\n}\n\ninterface ViewOverlayHostProps {\n viewport: ScreenViewport;\n featureOptions?: { [key: string]: any };\n userSuppliedOverlay?: (_viewport: ScreenViewport) => React.ReactNode;\n}\n\n/** @internal */\nexport function ViewOverlayHost({\n viewport,\n featureOptions,\n userSuppliedOverlay,\n}: ViewOverlayHostProps) {\n const reduxDisplayViewOverlay = useReduxFrameworkState(\n (state) => state?.configurableUiState.viewOverlayDisplay\n );\n const configurableUi = React.useContext(ConfigurableUiContext);\n const displayViewOverlay =\n configurableUi?.viewOverlay ?? reduxDisplayViewOverlay ?? true;\n if (!displayViewOverlay) return null;\n return userSuppliedOverlay ? (\n <React.Fragment>{userSuppliedOverlay(viewport)}</React.Fragment>\n ) : (\n <DefaultViewOverlay viewport={viewport} featureOptions={featureOptions} />\n );\n}\n\n/** iModel Viewport Control\n * @public\n * @deprecated in 4.16.0. Use {@link @itwin/imodel-components-react#ViewportComponent} component instead.\n */\nexport class IModelViewportControl extends ViewportContentControl {\n public static get id() {\n return \"UiFramework.IModelViewportControl\";\n }\n protected _featureOptions: { [key: string]: boolean | string } = {};\n protected _viewState: ViewStateProp | undefined;\n protected _iModelConnection: IModelConnection | undefined;\n protected _alwaysUseSuppliedViewState: boolean;\n private _userSuppliedViewOverlay?: (\n _viewport: ScreenViewport\n ) => React.ReactNode;\n\n constructor(\n info: ConfigurableCreateInfo,\n protected _options: IModelViewportControlOptions\n ) {\n _options = _options ?? {};\n super(info, _options);\n this._options = _options;\n\n if (_options.featureOptions) this._featureOptions = _options.featureOptions;\n this._alwaysUseSuppliedViewState =\n _options.alwaysUseSuppliedViewState ?? false;\n this._userSuppliedViewOverlay = _options.supplyViewOverlay;\n\n if (!_options.deferNodeInitialization) this.initializeReactNode();\n }\n\n protected initializeReactNode() {\n const options = this._options;\n\n if (options.viewState) this._viewState = options.viewState;\n\n const iModelConnection =\n typeof options.iModelConnection === \"function\"\n ? options.iModelConnection()\n : options.iModelConnection;\n\n if (this._viewState && iModelConnection) {\n /** Passing _determineViewState as a function reference; it is not called here. */\n this._reactNode = this.getImodelViewportReactElement(\n iModelConnection,\n this._determineViewState\n );\n } else {\n if (\n UiFramework.getIModelConnection() &&\n UiFramework.getDefaultViewState()\n ) {\n this._reactNode = this.getImodelConnectedViewportReactElement();\n } else {\n this._reactNode = this.getNoContentReactElement(options);\n this.setIsReady();\n }\n }\n }\n\n protected override getReactNode(): React.ReactNode {\n if (\n !React.isValidElement(this._reactNode) &&\n this._options.deferNodeInitialization\n )\n this.initializeReactNode();\n\n return this.getKeyedReactNode();\n }\n\n /**\n * This is passed as a function to the ViewportComponent as the `viewState` prop in getImodelViewportReactElement().\n * It is called by ViewportComponent on a mount to resolve the viewState.\n */\n private _determineViewState = (): ViewState => {\n let viewState: ViewState;\n\n if (this.viewport && !this._alwaysUseSuppliedViewState)\n viewState = this.viewport.view;\n else if (this._viewState) {\n if (typeof this._viewState === \"function\") viewState = this._viewState();\n else viewState = this._viewState;\n } else\n throw new UiError(\n UiFramework.loggerCategory(\"IModelViewport\"),\n \"No ViewState could be determined\"\n );\n\n return viewState!;\n };\n\n /** Get the React component that will contain the Viewport */\n protected getImodelConnectedViewportReactElement(): React.ReactNode {\n return (\n <IModelConnectedViewport\n viewportRef={(v) => {\n this.viewport = v;\n // for convenience, if window defined bind viewport to window\n if (undefined !== window) (window as any).viewport = v;\n if (!UiFramework.frontstages.isLoading)\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(\n v\n );\n }}\n getViewOverlay={this._getViewOverlay}\n />\n );\n }\n\n /** Get the React component that will contain the Viewport */\n protected getImodelViewportReactElement(\n iModelConnection: IModelConnection,\n viewState: ViewStateProp\n ): React.ReactNode {\n return (\n <ViewportComponent\n viewState={viewState}\n imodel={iModelConnection}\n controlId={this.controlId}\n viewportRef={(v) => {\n this.viewport = v;\n // for convenience, if window defined bind viewport to window\n if (undefined !== window) (window as any).viewport = v;\n if (!UiFramework.frontstages.isLoading)\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(\n v\n );\n }}\n getViewOverlay={this._getViewOverlay}\n />\n );\n }\n\n /** Get the React component that will be shown when no iModel data is available */\n protected getNoContentReactElement(\n _options: IModelViewportControlOptions\n ): React.ReactNode {\n return (\n <FillCentered>{UiFramework.translate(\"general.no-content\")}</FillCentered>\n );\n }\n\n /** Get the React.Element for a ViewSelector change. */\n public override getReactElementForViewSelectorChange(\n iModelConnection: IModelConnection,\n _unusedViewDefinitionId: Id64String,\n viewState: ViewState,\n _name: string\n ): React.ReactNode {\n return this.getImodelViewportReactElement(iModelConnection, viewState);\n }\n\n /** Get the default ViewOverlay unless parameter is set to not use it. May be override in an application specific sub-class */\n protected _getViewOverlay = (vp: ScreenViewport): React.ReactNode => {\n return (\n <ViewOverlayHost\n viewport={vp}\n featureOptions={this._featureOptions}\n userSuppliedOverlay={this._userSuppliedViewOverlay}\n data-testid=\"ViewOverlay\"\n />\n );\n };\n\n /** Get the NavigationAidControl associated with this ContentControl */\n public override get navigationAidControl(): string {\n if (this.viewport) return super.navigationAidControl;\n else return StandardRotationNavigationAidControl.navigationAidId;\n }\n}\n"]}
1
+ {"version":3,"file":"IModelViewport.js","sourceRoot":"","sources":["../../../src/appui-react/content/IModelViewport.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport * as React from \"react\";\nimport type { Id64String } from \"@itwin/core-bentley\";\nimport type {\n IModelConnection,\n ScreenViewport,\n ViewState,\n} from \"@itwin/core-frontend\";\nimport type {\n ViewportProps,\n ViewStateProp,\n} from \"@itwin/imodel-components-react\";\nimport { ViewportComponent } from \"@itwin/imodel-components-react\";\nimport { FillCentered } from \"@itwin/core-react\";\n\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { DefaultViewOverlay } from \"./DefaultViewOverlay.js\";\nimport { ViewportContentControl } from \"./ViewportContentControl.js\";\nimport { StandardRotationNavigationAidControl } from \"../navigationaids/StandardRotationNavigationAid.js\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState.js\";\nimport { ConfigurableUiContext } from \"../configurableui/ConfigurableUiContent.js\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/** Viewport that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.\n * @note Requires redux provider.\n * @public\n * @deprecated in 4.15.0. Use {@link @itwin/imodel-components-react#ViewportComponent} instead.\n */\nexport function IModelConnectedViewport(\n props: Omit<ViewportProps, \"imodel\" | \"viewState\">\n) {\n const iModel = useReduxFrameworkState(\n (state) => state?.sessionState.iModelConnection\n );\n const viewState = useReduxFrameworkState(\n (state) => state?.sessionState.defaultViewState\n );\n if (!iModel) return null;\n return <ViewportComponent imodel={iModel} viewState={viewState} {...props} />;\n}\n\n/** [[IModelViewportControl]] options. These options are set in the applicationData property of the [[ContentProps]].\n * @public\n * @deprecated in 4.16.0. Used in a deprecated class {@link IModelViewportControl}.\n */\nexport interface IModelViewportControlOptions {\n /** ViewState or a function to return a ViewState */\n viewState?: ViewStateProp;\n /** IModelConnection of data in Viewport */\n iModelConnection?: IModelConnection | (() => IModelConnection);\n /** Map of options that can be used to enable/disable features within the view */\n featureOptions?: { [key: string]: any };\n /** Optional background color which may be used if viewState and iModelConnection are undefined */\n bgColor?: string;\n /** Optional property to always use the supplied `viewState` property instead of using viewport.view when set */\n alwaysUseSuppliedViewState?: boolean;\n /** Optional property to supply custom view overlay. Uses when caller want to supply custom overlay component. */\n supplyViewOverlay?: (_viewport: ScreenViewport) => React.ReactNode;\n /** Optional property to defer reactNode initialization until first reactNode property is needed. Useful when subClassing the `IModelViewportControl`. */\n deferNodeInitialization?: boolean;\n}\n\ninterface ViewOverlayHostProps {\n viewport: ScreenViewport;\n featureOptions?: { [key: string]: any };\n userSuppliedOverlay?: (_viewport: ScreenViewport) => React.ReactNode;\n}\n\n/** @internal */\nexport function ViewOverlayHost({\n viewport,\n featureOptions,\n userSuppliedOverlay,\n}: ViewOverlayHostProps) {\n const reduxDisplayViewOverlay = useReduxFrameworkState(\n (state) => state?.configurableUiState.viewOverlayDisplay\n );\n const configurableUi = React.useContext(ConfigurableUiContext);\n const displayViewOverlay =\n configurableUi?.viewOverlay ?? reduxDisplayViewOverlay ?? true;\n if (!displayViewOverlay) return null;\n return userSuppliedOverlay ? (\n <React.Fragment>{userSuppliedOverlay(viewport)}</React.Fragment>\n ) : (\n <DefaultViewOverlay viewport={viewport} featureOptions={featureOptions} />\n );\n}\n\n/** iModel Viewport Control\n * @public\n * @deprecated in 4.16.0. Use {@link @itwin/imodel-components-react#ViewportComponent} component instead.\n */\nexport class IModelViewportControl extends ViewportContentControl {\n public static get id() {\n return \"UiFramework.IModelViewportControl\";\n }\n protected _featureOptions: { [key: string]: boolean | string } = {};\n protected _viewState: ViewStateProp | undefined;\n protected _iModelConnection: IModelConnection | undefined;\n protected _alwaysUseSuppliedViewState: boolean;\n private _userSuppliedViewOverlay?: (\n _viewport: ScreenViewport\n ) => React.ReactNode;\n\n constructor(\n info: ConfigurableCreateInfo,\n protected _options: IModelViewportControlOptions\n ) {\n _options = _options ?? {};\n super(info, _options);\n this._options = _options;\n\n if (_options.featureOptions) this._featureOptions = _options.featureOptions;\n this._alwaysUseSuppliedViewState =\n _options.alwaysUseSuppliedViewState ?? false;\n this._userSuppliedViewOverlay = _options.supplyViewOverlay;\n\n if (!_options.deferNodeInitialization) this.initializeReactNode();\n }\n\n protected initializeReactNode() {\n const options = this._options;\n\n if (options.viewState) this._viewState = options.viewState;\n\n const iModelConnection =\n typeof options.iModelConnection === \"function\"\n ? options.iModelConnection()\n : options.iModelConnection;\n\n if (this._viewState && iModelConnection) {\n /** Passing _determineViewState as a function reference; it is not called here. */\n this._reactNode = this.getImodelViewportReactElement(\n iModelConnection,\n this._determineViewState\n );\n } else {\n if (\n UiFramework.getIModelConnection() &&\n UiFramework.getDefaultViewState()\n ) {\n this._reactNode = this.getImodelConnectedViewportReactElement();\n } else {\n this._reactNode = this.getNoContentReactElement(options);\n this.setIsReady();\n }\n }\n }\n\n protected override getReactNode(): React.ReactNode {\n if (\n !React.isValidElement(this._reactNode) &&\n this._options.deferNodeInitialization\n )\n this.initializeReactNode();\n\n return this.getKeyedReactNode();\n }\n\n /**\n * This is passed as a function to the ViewportComponent as the `viewState` prop in getImodelViewportReactElement().\n * It is called by ViewportComponent on a mount to resolve the viewState.\n */\n private _determineViewState = (): ViewState => {\n let viewState: ViewState;\n\n if (this.viewport && !this._alwaysUseSuppliedViewState)\n viewState = this.viewport.view;\n else if (this._viewState) {\n if (typeof this._viewState === \"function\") viewState = this._viewState();\n else viewState = this._viewState;\n } else\n throw new UiError(\n UiFramework.loggerCategory(\"IModelViewport\"),\n \"No ViewState could be determined\"\n );\n\n return viewState!;\n };\n\n /** Get the React component that will contain the Viewport */\n protected getImodelConnectedViewportReactElement(): React.ReactNode {\n return (\n <IModelConnectedViewport\n viewportRef={(v) => {\n this.viewport = v;\n // for convenience, if window defined bind viewport to window\n if (undefined !== window) (window as any).viewport = v;\n if (!UiFramework.frontstages.isLoading)\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(\n v\n );\n }}\n getViewOverlay={this._getViewOverlay}\n />\n );\n }\n\n /** Get the React component that will contain the Viewport */\n protected getImodelViewportReactElement(\n iModelConnection: IModelConnection,\n viewState: ViewStateProp\n ): React.ReactNode {\n return (\n <ViewportComponent\n viewState={viewState}\n imodel={iModelConnection}\n controlId={this.controlId}\n viewportRef={(v) => {\n this.viewport = v;\n // for convenience, if window defined bind viewport to window\n if (undefined !== window) (window as any).viewport = v;\n if (!UiFramework.frontstages.isLoading)\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(\n v\n );\n }}\n getViewOverlay={this._getViewOverlay}\n />\n );\n }\n\n /** Get the React component that will be shown when no iModel data is available */\n protected getNoContentReactElement(\n _options: IModelViewportControlOptions\n ): React.ReactNode {\n return (\n <FillCentered>{UiFramework.translate(\"general.no-content\")}</FillCentered>\n );\n }\n\n /** Get the React.Element for a ViewSelector change. */\n public override getReactElementForViewSelectorChange(\n iModelConnection: IModelConnection,\n _unusedViewDefinitionId: Id64String,\n viewState: ViewState,\n _name: string\n ): React.ReactNode {\n return this.getImodelViewportReactElement(iModelConnection, viewState);\n }\n\n /** Get the default ViewOverlay unless parameter is set to not use it. May be override in an application specific sub-class */\n protected _getViewOverlay = (vp: ScreenViewport): React.ReactNode => {\n return (\n <ViewOverlayHost\n viewport={vp}\n featureOptions={this._featureOptions}\n userSuppliedOverlay={this._userSuppliedViewOverlay}\n data-testid=\"ViewOverlay\"\n />\n );\n };\n\n /** Get the NavigationAidControl associated with this ContentControl */\n public override get navigationAidControl(): string {\n if (this.viewport) return super.navigationAidControl;\n else return StandardRotationNavigationAidControl.navigationAidId;\n }\n}\n"]}
@@ -29,7 +29,7 @@ export class InternalContentViewManager {
29
29
  return this._activeContent;
30
30
  }
31
31
  static getControlFromElement(content, activeContentGroup,
32
- // eslint-disable-next-line deprecation/deprecation
32
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
33
33
  floatingControls, logIfNotFound = false) {
34
34
  if (floatingControls?.length) {
35
35
  // if we find a React node that matches exactly, return its containing control
@@ -56,7 +56,7 @@ export class InternalContentViewManager {
56
56
  // if it's not a floating control, look through the content area views
57
57
  if (activeContentGroup) {
58
58
  const activeContentControl =
59
- // eslint-disable-next-line deprecation/deprecation
59
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
60
60
  activeContentGroup.getControlFromElement(content);
61
61
  if (activeContentControl)
62
62
  return activeContentControl;
@@ -66,32 +66,32 @@ export class InternalContentViewManager {
66
66
  return undefined;
67
67
  }
68
68
  /** Return the active ContentControl. */
69
- // eslint-disable-next-line deprecation/deprecation
69
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
70
70
  static getActiveContentControl() {
71
- // eslint-disable-next-line deprecation/deprecation
71
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
72
72
  let activeContentControl;
73
73
  const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;
74
74
  if (this._activeContent && activeFrontstageDef) {
75
75
  const activeContentGroup = activeFrontstageDef.contentGroup;
76
76
  activeContentControl = this.getControlFromElement(this._activeContent, activeContentGroup,
77
- // eslint-disable-next-line deprecation/deprecation
77
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
78
78
  activeFrontstageDef.floatingContentControls);
79
79
  }
80
80
  return activeContentControl;
81
81
  }
82
- // eslint-disable-next-line deprecation/deprecation
82
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
83
83
  static addFloatingContentControl(contentControl) {
84
84
  const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;
85
85
  if (activeFrontstageDef && contentControl) {
86
- // eslint-disable-next-line deprecation/deprecation
86
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
87
87
  activeFrontstageDef.addFloatingContentControl(contentControl);
88
88
  }
89
89
  }
90
- // eslint-disable-next-line deprecation/deprecation
90
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
91
91
  static dropFloatingContentControl(contentControl) {
92
92
  const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;
93
93
  if (activeFrontstageDef && contentControl)
94
- // eslint-disable-next-line deprecation/deprecation
94
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
95
95
  activeFrontstageDef.dropFloatingContentControl(contentControl);
96
96
  }
97
97
  /** Sets the active [[ContentControl]]. */
@@ -114,10 +114,10 @@ export class InternalContentViewManager {
114
114
  }
115
115
  }
116
116
  const oldContentControl = this.getControlFromElement(oldContent, contentGroup,
117
- // eslint-disable-next-line deprecation/deprecation
117
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
118
118
  frontstageDef.floatingContentControls);
119
119
  const activeContentControl = this.getControlFromElement(activeContent, contentGroup,
120
- // eslint-disable-next-line deprecation/deprecation
120
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
121
121
  frontstageDef.floatingContentControls, true);
122
122
  // Only call setActiveView if going to or coming from a non-viewport ContentControl
123
123
  if (!activeContentControl) {
@@ -132,7 +132,7 @@ export class InternalContentViewManager {
132
132
  !activeContentControl.viewport ||
133
133
  (oldContentControl && !oldContentControl.viewport);
134
134
  if (doSetActiveView) {
135
- // eslint-disable-next-line deprecation/deprecation
135
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
136
136
  frontstageDef.setActiveView(activeContentControl, oldContentControl);
137
137
  this.onActiveContentChangedEvent.emit({
138
138
  id: activeContentControl.controlId,
@@ -150,7 +150,7 @@ export class InternalContentViewManager {
150
150
  }
151
151
  static setActiveId(contentId) {
152
152
  if (!contentId) {
153
- // eslint-disable-next-line deprecation/deprecation
153
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
154
154
  this.setActive(contentId);
155
155
  return;
156
156
  }
@@ -165,15 +165,15 @@ export class InternalContentViewManager {
165
165
  return;
166
166
  const contentProps = contentGroup.contentPropsList[contentIndex];
167
167
  if (contentProps.content) {
168
- // eslint-disable-next-line deprecation/deprecation
168
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
169
169
  this.setActive(contentProps.content);
170
170
  return;
171
171
  }
172
- // eslint-disable-next-line deprecation/deprecation
172
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
173
173
  const control = contentGroup.getContentControl(contentProps, contentIndex);
174
174
  if (!control)
175
175
  return;
176
- // eslint-disable-next-line deprecation/deprecation
176
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
177
177
  this.setActive(control.reactNode);
178
178
  }
179
179
  static getActiveId() {
@@ -191,7 +191,7 @@ export class InternalContentViewManager {
191
191
  /** Refreshes the active [[ContentControl]]. */
192
192
  static refreshActive(activeContent) {
193
193
  this.layouts.refreshActive();
194
- // eslint-disable-next-line deprecation/deprecation
194
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
195
195
  this.setActive(activeContent, true);
196
196
  }
197
197
  /**
@@ -199,7 +199,7 @@ export class InternalContentViewManager {
199
199
  * @param content ContentControl to check
200
200
  */
201
201
  static isContentSheetView(
202
- // eslint-disable-next-line deprecation/deprecation
202
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
203
203
  content) {
204
204
  if (!content || !content.viewport)
205
205
  return false;
@@ -210,7 +210,7 @@ export class InternalContentViewManager {
210
210
  * @param content ContentControl to check
211
211
  */
212
212
  static isContentDrawingView(
213
- // eslint-disable-next-line deprecation/deprecation
213
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
214
214
  content) {
215
215
  if (!content || !content.viewport)
216
216
  return false;
@@ -221,7 +221,7 @@ export class InternalContentViewManager {
221
221
  * @param content ContentControl to check
222
222
  */
223
223
  static isContentSpatialView(
224
- // eslint-disable-next-line deprecation/deprecation
224
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
225
225
  content) {
226
226
  if (!content || !content.viewport)
227
227
  return false;
@@ -232,7 +232,7 @@ export class InternalContentViewManager {
232
232
  * @param content ContentControl to check
233
233
  */
234
234
  static isContentOrthographicView(
235
- // eslint-disable-next-line deprecation/deprecation
235
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
236
236
  content) {
237
237
  if (!content || !content.viewport)
238
238
  return false;
@@ -242,7 +242,7 @@ export class InternalContentViewManager {
242
242
  * Determines if content displays a 3d view.
243
243
  * @param content ContentControl to check
244
244
  */
245
- // eslint-disable-next-line deprecation/deprecation
245
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
246
246
  static isContent3dView(content) {
247
247
  if (!content || !content.viewport)
248
248
  return false;
@@ -253,7 +253,7 @@ export class InternalContentViewManager {
253
253
  * @param content ContentControl to check
254
254
  */
255
255
  static contentSupportsCamera(
256
- // eslint-disable-next-line deprecation/deprecation
256
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
257
257
  content) {
258
258
  if (!content || !content.viewport)
259
259
  return false;
@@ -270,10 +270,10 @@ export class InternalContentViewManager {
270
270
  }
271
271
  InternalContentViewManager._mouseDown = false;
272
272
  /** Gets the [[MouseDownChangedEvent]] */
273
- InternalContentViewManager.onMouseDownChangedEvent = new BeUiEvent(); // eslint-disable-line deprecation/deprecation
273
+ InternalContentViewManager.onMouseDownChangedEvent = new BeUiEvent(); // eslint-disable-line @typescript-eslint/no-deprecated
274
274
  /** Gets the [[ActiveContentChangedEvent]] */
275
- InternalContentViewManager.onActiveContentChangedEvent = new BeUiEvent(); // eslint-disable-line deprecation/deprecation
275
+ InternalContentViewManager.onActiveContentChangedEvent = new BeUiEvent(); // eslint-disable-line @typescript-eslint/no-deprecated
276
276
  /** Fires when floating contents are added or removed */
277
- // eslint-disable-next-line deprecation/deprecation
277
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
278
278
  InternalContentViewManager.onAvailableContentChangedEvent = new BeUiEvent();
279
279
  //# sourceMappingURL=InternalContentViewManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InternalContentViewManager.js","sourceRoot":"","sources":["../../../src/appui-react/content/InternalContentViewManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport type * as React from \"react\";\nimport { ViewUtilities } from \"../utils/ViewUtilities.js\";\nimport type { ContentControl } from \"./ContentControl.js\";\nimport { InternalContentLayoutManager } from \"./InternalContentLayoutManager.js\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { ContentGroup } from \"./ContentGroup.js\";\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type {\n ActiveContentChangedEventArgs,\n MouseDownChangedEventArgs,\n} from \"../framework/FrameworkContent.js\";\nimport { InternalContentDialogManager } from \"../dialog/InternalContentDialogManager.js\";\n\n/** Content View Manager class.\n * @internal\n */\nexport class InternalContentViewManager {\n private static _mouseDown: boolean = false;\n private static _activeContent?: React.ReactNode;\n\n /** Gets the [[MouseDownChangedEvent]] */\n public static readonly onMouseDownChangedEvent =\n new BeUiEvent<MouseDownChangedEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** Determines if the mouse is down in a content view */\n public static get isMouseDown(): boolean {\n return this._mouseDown;\n }\n\n /** Sets the mouse down status for a content view */\n public static setMouseDown(mouseDown: boolean): void {\n this._mouseDown = mouseDown;\n this.onMouseDownChangedEvent.emit({ mouseDown });\n }\n\n /** Gets the [[ActiveContentChangedEvent]] */\n public static readonly onActiveContentChangedEvent =\n new BeUiEvent<ActiveContentChangedEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** Fires when floating contents are added or removed */\n\n // eslint-disable-next-line deprecation/deprecation\n public static readonly onAvailableContentChangedEvent = new BeUiEvent<{\n contentId: string;\n }>();\n\n /** Gets the active content as a React.ReactNode. */\n public static getActive(): React.ReactNode | undefined {\n return this._activeContent;\n }\n\n private static getControlFromElement(\n content: React.ReactNode,\n activeContentGroup: ContentGroup | undefined,\n // eslint-disable-next-line deprecation/deprecation\n floatingControls: ContentControl[] | undefined,\n logIfNotFound = false\n ) {\n if (floatingControls?.length) {\n // if we find a React node that matches exactly, return its containing control\n let control = floatingControls.find(\n (contentControl) => contentControl.reactNode === content\n );\n if (control) return control;\n\n // if we don't find a React node that matches exactly, rely on the id specified by the creator\n let controlId: string;\n if (content && (content as React.ReactElement<any>).key) {\n const key = (content as React.ReactElement<any>).key as string;\n // key has format `${contentProps.id}::${this.groupId}` which is stored as unique id\n controlId = key.split(\"::\", 1)[0];\n }\n floatingControls.forEach((contentControl) => {\n const node = contentControl.reactNode;\n const key = (node as React.ReactElement<any>)?.key as string;\n const nodeId = key && key.split(\"::\", 1)[0];\n if (nodeId === controlId) control = contentControl;\n });\n if (control) return control;\n }\n\n // if it's not a floating control, look through the content area views\n if (activeContentGroup) {\n const activeContentControl =\n // eslint-disable-next-line deprecation/deprecation\n activeContentGroup.getControlFromElement(content);\n if (activeContentControl) return activeContentControl;\n }\n\n if (logIfNotFound)\n Logger.logError(\n UiFramework.loggerCategory(\"InternalContentViewManager\"),\n `getControlFromElement: no control found for element`\n );\n\n return undefined;\n }\n\n /** Return the active ContentControl. */\n // eslint-disable-next-line deprecation/deprecation\n public static getActiveContentControl(): ContentControl | undefined {\n // eslint-disable-next-line deprecation/deprecation\n let activeContentControl: ContentControl | undefined;\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n if (this._activeContent && activeFrontstageDef) {\n const activeContentGroup = activeFrontstageDef.contentGroup;\n activeContentControl = this.getControlFromElement(\n this._activeContent,\n activeContentGroup,\n // eslint-disable-next-line deprecation/deprecation\n activeFrontstageDef.floatingContentControls\n );\n }\n\n return activeContentControl;\n }\n\n // eslint-disable-next-line deprecation/deprecation\n public static addFloatingContentControl(contentControl?: ContentControl) {\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (activeFrontstageDef && contentControl) {\n // eslint-disable-next-line deprecation/deprecation\n activeFrontstageDef.addFloatingContentControl(contentControl);\n }\n }\n\n // eslint-disable-next-line deprecation/deprecation\n public static dropFloatingContentControl(contentControl?: ContentControl) {\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (activeFrontstageDef && contentControl)\n // eslint-disable-next-line deprecation/deprecation\n activeFrontstageDef.dropFloatingContentControl(contentControl);\n }\n\n /** Sets the active [[ContentControl]]. */\n public static setActive(\n activeContent?: React.ReactNode,\n forceEventProcessing = false\n ): void {\n if (this._activeContent !== activeContent || forceEventProcessing) {\n const oldContent = this._activeContent;\n this._activeContent = activeContent;\n\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n const contentGroup = frontstageDef.contentGroup;\n if (contentGroup) {\n const reactContent = contentGroup.contentPropsList.find(\n (contentProps) => contentProps.content === activeContent\n );\n if (reactContent) {\n this.onActiveContentChangedEvent.emit({\n id: reactContent.id,\n activeContent: reactContent.content,\n });\n return;\n }\n }\n\n const oldContentControl = this.getControlFromElement(\n oldContent,\n contentGroup,\n // eslint-disable-next-line deprecation/deprecation\n frontstageDef.floatingContentControls\n );\n const activeContentControl = this.getControlFromElement(\n activeContent,\n contentGroup,\n // eslint-disable-next-line deprecation/deprecation\n frontstageDef.floatingContentControls,\n true\n );\n\n // Only call setActiveView if going to or coming from a non-viewport ContentControl\n if (!activeContentControl) {\n this.onActiveContentChangedEvent.emit({\n activeContent,\n oldContent,\n id: undefined,\n });\n return;\n }\n const doSetActiveView =\n forceEventProcessing ||\n !activeContentControl.viewport ||\n (oldContentControl && !oldContentControl.viewport);\n\n if (doSetActiveView) {\n // eslint-disable-next-line deprecation/deprecation\n frontstageDef.setActiveView(activeContentControl, oldContentControl);\n this.onActiveContentChangedEvent.emit({\n id: activeContentControl.controlId,\n activeContent,\n oldContent,\n });\n } else {\n if (\n activeContentControl.viewport &&\n activeContentControl.viewport !== IModelApp.viewManager.selectedView\n ) {\n void IModelApp.viewManager.setSelectedView(\n activeContentControl.viewport\n );\n }\n }\n }\n }\n\n public static setActiveId(contentId?: string) {\n if (!contentId) {\n // eslint-disable-next-line deprecation/deprecation\n this.setActive(contentId);\n return;\n }\n\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n const contentGroup = frontstageDef.contentGroup;\n if (!contentGroup) return;\n\n const contentIndex = contentGroup.contentPropsList.findIndex(\n (content) => content.id === contentId\n );\n if (contentIndex < 0) return;\n\n const contentProps = contentGroup.contentPropsList[contentIndex];\n if (contentProps.content) {\n // eslint-disable-next-line deprecation/deprecation\n this.setActive(contentProps.content);\n return;\n }\n\n // eslint-disable-next-line deprecation/deprecation\n const control = contentGroup.getContentControl(contentProps, contentIndex);\n if (!control) return;\n\n // eslint-disable-next-line deprecation/deprecation\n this.setActive(control.reactNode);\n }\n\n public static getActiveId() {\n const activeContentControl = this.getActiveContentControl();\n if (activeContentControl) {\n return activeContentControl.controlId;\n }\n\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const contentGroup = frontstageDef?.contentGroup;\n const activeContent = contentGroup?.contentPropsList.find(\n (contentProps) => {\n return contentProps.content === this.getActive();\n }\n );\n return activeContent?.id;\n }\n\n /** Refreshes the active [[ContentControl]]. */\n public static refreshActive(activeContent: React.ReactNode) {\n this.layouts.refreshActive();\n // eslint-disable-next-line deprecation/deprecation\n this.setActive(activeContent, true);\n }\n\n /**\n * Determines if content displays a Sheet view.\n * @param content ContentControl to check\n */\n public static isContentSheetView(\n // eslint-disable-next-line deprecation/deprecation\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isSheetView(content.viewport);\n }\n\n /**\n * Determines if content displays a Drawing view.\n * @param content ContentControl to check\n */\n public static isContentDrawingView(\n // eslint-disable-next-line deprecation/deprecation\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isDrawingView(content.viewport);\n }\n\n /**\n * Determines if content displays a Spatial view.\n * @param content ContentControl to check\n */\n public static isContentSpatialView(\n // eslint-disable-next-line deprecation/deprecation\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isSpatialView(content.viewport);\n }\n\n /**\n * Determines if content displays a Orthographic view.\n * @param content ContentControl to check\n */\n public static isContentOrthographicView(\n // eslint-disable-next-line deprecation/deprecation\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isOrthographicView(content.viewport);\n }\n\n /**\n * Determines if content displays a 3d view.\n * @param content ContentControl to check\n */\n // eslint-disable-next-line deprecation/deprecation\n public static isContent3dView(content: ContentControl | undefined): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.is3dView(content.viewport);\n }\n\n /**\n * Determines if viewport supports use of a camera.\n * @param content ContentControl to check\n */\n public static contentSupportsCamera(\n // eslint-disable-next-line deprecation/deprecation\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.viewSupportsCamera(content.viewport);\n }\n\n /** Manage content layouts. */\n public static get layouts() {\n return InternalContentLayoutManager;\n }\n\n /** Manage dialogs displaying managed content. */\n public static get dialogs() {\n return InternalContentDialogManager;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalContentViewManager.js","sourceRoot":"","sources":["../../../src/appui-react/content/InternalContentViewManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport type * as React from \"react\";\nimport { ViewUtilities } from \"../utils/ViewUtilities.js\";\nimport type { ContentControl } from \"./ContentControl.js\";\nimport { InternalContentLayoutManager } from \"./InternalContentLayoutManager.js\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { ContentGroup } from \"./ContentGroup.js\";\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type {\n ActiveContentChangedEventArgs,\n MouseDownChangedEventArgs,\n} from \"../framework/FrameworkContent.js\";\nimport { InternalContentDialogManager } from \"../dialog/InternalContentDialogManager.js\";\n\n/** Content View Manager class.\n * @internal\n */\nexport class InternalContentViewManager {\n private static _mouseDown: boolean = false;\n private static _activeContent?: React.ReactNode;\n\n /** Gets the [[MouseDownChangedEvent]] */\n public static readonly onMouseDownChangedEvent =\n new BeUiEvent<MouseDownChangedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Determines if the mouse is down in a content view */\n public static get isMouseDown(): boolean {\n return this._mouseDown;\n }\n\n /** Sets the mouse down status for a content view */\n public static setMouseDown(mouseDown: boolean): void {\n this._mouseDown = mouseDown;\n this.onMouseDownChangedEvent.emit({ mouseDown });\n }\n\n /** Gets the [[ActiveContentChangedEvent]] */\n public static readonly onActiveContentChangedEvent =\n new BeUiEvent<ActiveContentChangedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Fires when floating contents are added or removed */\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static readonly onAvailableContentChangedEvent = new BeUiEvent<{\n contentId: string;\n }>();\n\n /** Gets the active content as a React.ReactNode. */\n public static getActive(): React.ReactNode | undefined {\n return this._activeContent;\n }\n\n private static getControlFromElement(\n content: React.ReactNode,\n activeContentGroup: ContentGroup | undefined,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n floatingControls: ContentControl[] | undefined,\n logIfNotFound = false\n ) {\n if (floatingControls?.length) {\n // if we find a React node that matches exactly, return its containing control\n let control = floatingControls.find(\n (contentControl) => contentControl.reactNode === content\n );\n if (control) return control;\n\n // if we don't find a React node that matches exactly, rely on the id specified by the creator\n let controlId: string;\n if (content && (content as React.ReactElement<any>).key) {\n const key = (content as React.ReactElement<any>).key as string;\n // key has format `${contentProps.id}::${this.groupId}` which is stored as unique id\n controlId = key.split(\"::\", 1)[0];\n }\n floatingControls.forEach((contentControl) => {\n const node = contentControl.reactNode;\n const key = (node as React.ReactElement<any>)?.key as string;\n const nodeId = key && key.split(\"::\", 1)[0];\n if (nodeId === controlId) control = contentControl;\n });\n if (control) return control;\n }\n\n // if it's not a floating control, look through the content area views\n if (activeContentGroup) {\n const activeContentControl =\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n activeContentGroup.getControlFromElement(content);\n if (activeContentControl) return activeContentControl;\n }\n\n if (logIfNotFound)\n Logger.logError(\n UiFramework.loggerCategory(\"InternalContentViewManager\"),\n `getControlFromElement: no control found for element`\n );\n\n return undefined;\n }\n\n /** Return the active ContentControl. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static getActiveContentControl(): ContentControl | undefined {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n let activeContentControl: ContentControl | undefined;\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n if (this._activeContent && activeFrontstageDef) {\n const activeContentGroup = activeFrontstageDef.contentGroup;\n activeContentControl = this.getControlFromElement(\n this._activeContent,\n activeContentGroup,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n activeFrontstageDef.floatingContentControls\n );\n }\n\n return activeContentControl;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static addFloatingContentControl(contentControl?: ContentControl) {\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (activeFrontstageDef && contentControl) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n activeFrontstageDef.addFloatingContentControl(contentControl);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static dropFloatingContentControl(contentControl?: ContentControl) {\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (activeFrontstageDef && contentControl)\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n activeFrontstageDef.dropFloatingContentControl(contentControl);\n }\n\n /** Sets the active [[ContentControl]]. */\n public static setActive(\n activeContent?: React.ReactNode,\n forceEventProcessing = false\n ): void {\n if (this._activeContent !== activeContent || forceEventProcessing) {\n const oldContent = this._activeContent;\n this._activeContent = activeContent;\n\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n const contentGroup = frontstageDef.contentGroup;\n if (contentGroup) {\n const reactContent = contentGroup.contentPropsList.find(\n (contentProps) => contentProps.content === activeContent\n );\n if (reactContent) {\n this.onActiveContentChangedEvent.emit({\n id: reactContent.id,\n activeContent: reactContent.content,\n });\n return;\n }\n }\n\n const oldContentControl = this.getControlFromElement(\n oldContent,\n contentGroup,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n frontstageDef.floatingContentControls\n );\n const activeContentControl = this.getControlFromElement(\n activeContent,\n contentGroup,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n frontstageDef.floatingContentControls,\n true\n );\n\n // Only call setActiveView if going to or coming from a non-viewport ContentControl\n if (!activeContentControl) {\n this.onActiveContentChangedEvent.emit({\n activeContent,\n oldContent,\n id: undefined,\n });\n return;\n }\n const doSetActiveView =\n forceEventProcessing ||\n !activeContentControl.viewport ||\n (oldContentControl && !oldContentControl.viewport);\n\n if (doSetActiveView) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n frontstageDef.setActiveView(activeContentControl, oldContentControl);\n this.onActiveContentChangedEvent.emit({\n id: activeContentControl.controlId,\n activeContent,\n oldContent,\n });\n } else {\n if (\n activeContentControl.viewport &&\n activeContentControl.viewport !== IModelApp.viewManager.selectedView\n ) {\n void IModelApp.viewManager.setSelectedView(\n activeContentControl.viewport\n );\n }\n }\n }\n }\n\n public static setActiveId(contentId?: string) {\n if (!contentId) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.setActive(contentId);\n return;\n }\n\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n const contentGroup = frontstageDef.contentGroup;\n if (!contentGroup) return;\n\n const contentIndex = contentGroup.contentPropsList.findIndex(\n (content) => content.id === contentId\n );\n if (contentIndex < 0) return;\n\n const contentProps = contentGroup.contentPropsList[contentIndex];\n if (contentProps.content) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.setActive(contentProps.content);\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const control = contentGroup.getContentControl(contentProps, contentIndex);\n if (!control) return;\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.setActive(control.reactNode);\n }\n\n public static getActiveId() {\n const activeContentControl = this.getActiveContentControl();\n if (activeContentControl) {\n return activeContentControl.controlId;\n }\n\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const contentGroup = frontstageDef?.contentGroup;\n const activeContent = contentGroup?.contentPropsList.find(\n (contentProps) => {\n return contentProps.content === this.getActive();\n }\n );\n return activeContent?.id;\n }\n\n /** Refreshes the active [[ContentControl]]. */\n public static refreshActive(activeContent: React.ReactNode) {\n this.layouts.refreshActive();\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.setActive(activeContent, true);\n }\n\n /**\n * Determines if content displays a Sheet view.\n * @param content ContentControl to check\n */\n public static isContentSheetView(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isSheetView(content.viewport);\n }\n\n /**\n * Determines if content displays a Drawing view.\n * @param content ContentControl to check\n */\n public static isContentDrawingView(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isDrawingView(content.viewport);\n }\n\n /**\n * Determines if content displays a Spatial view.\n * @param content ContentControl to check\n */\n public static isContentSpatialView(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isSpatialView(content.viewport);\n }\n\n /**\n * Determines if content displays a Orthographic view.\n * @param content ContentControl to check\n */\n public static isContentOrthographicView(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isOrthographicView(content.viewport);\n }\n\n /**\n * Determines if content displays a 3d view.\n * @param content ContentControl to check\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static isContent3dView(content: ContentControl | undefined): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.is3dView(content.viewport);\n }\n\n /**\n * Determines if viewport supports use of a camera.\n * @param content ContentControl to check\n */\n public static contentSupportsCamera(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.viewSupportsCamera(content.viewport);\n }\n\n /** Manage content layouts. */\n public static get layouts() {\n return InternalContentLayoutManager;\n }\n\n /** Manage dialogs displaying managed content. */\n public static get dialogs() {\n return InternalContentDialogManager;\n }\n}\n"]}
@@ -13,7 +13,7 @@ import { SheetNavigationAidControl } from "../navigationaids/SheetNavigationAid.
13
13
  import { UiFramework } from "../UiFramework.js";
14
14
  import { ViewUtilities } from "../utils/ViewUtilities.js";
15
15
  import { ContentControl } from "./ContentControl.js";
16
- /* eslint-disable deprecation/deprecation */
16
+ /* eslint-disable @typescript-eslint/no-deprecated */
17
17
  /** The base class for frontstage Viewport content controls that connects to a `ScreenViewport`
18
18
  * that is managed by the `ViewManager`.
19
19
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"ViewportContentControl.js","sourceRoot":"","sources":["../../../src/appui-react/content/ViewportContentControl.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport type { Id64String } from \"@itwin/core-bentley\";\nimport type {\n IModelConnection,\n ScreenViewport,\n ViewState,\n} from \"@itwin/core-frontend\";\nimport {\n DrawingViewState,\n IModelApp,\n OrthographicViewState,\n SheetViewState,\n SpatialViewState,\n} from \"@itwin/core-frontend\";\nimport {\n ConfigurableCreateInfo,\n ConfigurableUiControlType,\n} from \"../configurableui/ConfigurableUiControl.js\";\nimport { CubeNavigationAidControl } from \"../navigationaids/CubeNavigationAidControl.js\";\nimport { DrawingNavigationAidControl } from \"../navigationaids/DrawingNavigationAidControl.js\";\nimport { SheetNavigationAidControl } from \"../navigationaids/SheetNavigationAid.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { ViewUtilities } from \"../utils/ViewUtilities.js\";\nimport type { SupportsViewSelectorChange } from \"./ContentControl.js\";\nimport { ContentControl } from \"./ContentControl.js\";\n\n/* eslint-disable deprecation/deprecation */\n\n/** The base class for frontstage Viewport content controls that connects to a `ScreenViewport`\n * that is managed by the `ViewManager`.\n * @public\n * @deprecated in 4.16.0. Extends a deprecated class {@link ContentControl}.\n */\nexport class ViewportContentControl\n extends ContentControl\n implements SupportsViewSelectorChange\n{\n private _viewport: ScreenViewport | undefined;\n private _isReady: Promise<void>;\n private _viewportReadyCallback?: () => void;\n\n /** Creates an instance of ViewportContentControl.\n * @param info An object that the subclass must pass to this base class.\n * @param options Options provided via the applicationData in a [[ContentProps]].\n */\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n\n this._isReady = new Promise<void>(\n (onSuccess: () => void, _onFailure: () => void): void => {\n this._viewportReadyCallback = onSuccess;\n }\n );\n }\n\n /** Gets the type of ConfigurableUiControl, which is 'Viewport' in this case */\n public override getType(): ConfigurableUiControlType {\n return ConfigurableUiControlType.Viewport;\n }\n\n /** Returns true if this control is a Viewport control. */\n public override get isViewport(): boolean {\n return true;\n }\n\n /** The underlying ScreenViewport */\n public override get viewport(): ScreenViewport | undefined {\n return this._viewport;\n }\n public override set viewport(v: ScreenViewport | undefined) {\n this._viewport = v;\n this.setIsReady();\n }\n\n /** Returns a promise that resolves when the control is ready for usage.\n */\n public setIsReady(): void {\n if (this._viewportReadyCallback) {\n this._viewportReadyCallback();\n }\n }\n\n /** Returns a promise that resolves when the control is ready for usage.\n */\n public override get isReady(): Promise<void> {\n return this._isReady;\n }\n\n /** Called when this ContentControl is activated */\n public override onActivated(): void {\n super.onActivated();\n }\n\n /** Get the NavigationAidControl associated with this ContentControl */\n public override get navigationAidControl(): string {\n let navigationAidId = \"\";\n\n if (this.viewport) {\n navigationAidId = this._getNavigationAid(\n this.viewport.view.classFullName\n );\n }\n\n return navigationAidId;\n }\n\n /**\n * Fetches appropriate NavigationAid based on the class of the current viewport.\n * @param classFullName The full name of the current viewport class.\n * @returns The ID of the navigation aid to be displayed.\n */\n private _getNavigationAid = (classFullName: string) => {\n const className = ViewUtilities.getBisBaseClass(classFullName);\n let navigationAidId = \"\";\n\n switch (className) {\n case SheetViewState.className:\n navigationAidId = SheetNavigationAidControl.navigationAidId;\n break;\n case DrawingViewState.className:\n navigationAidId = DrawingNavigationAidControl.navigationAidId;\n break;\n case SpatialViewState.className:\n case OrthographicViewState.className:\n navigationAidId = CubeNavigationAidControl.navigationAidId;\n break;\n }\n\n return navigationAidId;\n };\n\n /** Returns true if this control supports processing ViewSelector changes. */\n public get supportsViewSelectorChange(): boolean {\n return true;\n }\n\n /** Process a ViewSelector change. */\n public async processViewSelectorChange(\n iModel: IModelConnection,\n viewDefinitionId: Id64String,\n viewState: ViewState,\n name: string\n ): Promise<void> {\n if (this.viewport) {\n if (\n IModelApp.viewManager &&\n this.viewport === IModelApp.viewManager.selectedView\n )\n this.viewport.changeView(viewState);\n } else {\n this.reactNode = this.getReactElementForViewSelectorChange(\n iModel,\n viewDefinitionId,\n viewState,\n name\n );\n }\n UiFramework.content.refreshActive(this.reactNode);\n }\n\n /** Get the React.Element for a ViewSelector change. */\n public getReactElementForViewSelectorChange(\n _iModel: IModelConnection,\n _viewDefinitionId: Id64String,\n _viewState: ViewState,\n _name: string\n ): React.ReactNode {\n return null;\n }\n}\n\n/**\n * @beta\n * @deprecated in 4.16.0. Extends a deprecated class {@link ViewportContentControl}.\n */\nexport class FloatingViewportContentControl extends ViewportContentControl {\n constructor(uniqueId: string, name: string, node: React.ReactNode) {\n super(new ConfigurableCreateInfo(name, uniqueId, name), undefined);\n this._reactNode = node;\n this.setIsReady();\n }\n\n /** The React node associated with this control. */\n public override get reactNode(): React.ReactNode {\n return this._reactNode;\n }\n\n public override set reactNode(r: React.ReactNode) {\n this._reactNode = r;\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n if (this.viewport && activeFrontstageDef)\n activeFrontstageDef.setActiveViewFromViewport(this.viewport);\n }\n}\n"]}
1
+ {"version":3,"file":"ViewportContentControl.js","sourceRoot":"","sources":["../../../src/appui-react/content/ViewportContentControl.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport type { Id64String } from \"@itwin/core-bentley\";\nimport type {\n IModelConnection,\n ScreenViewport,\n ViewState,\n} from \"@itwin/core-frontend\";\nimport {\n DrawingViewState,\n IModelApp,\n OrthographicViewState,\n SheetViewState,\n SpatialViewState,\n} from \"@itwin/core-frontend\";\nimport {\n ConfigurableCreateInfo,\n ConfigurableUiControlType,\n} from \"../configurableui/ConfigurableUiControl.js\";\nimport { CubeNavigationAidControl } from \"../navigationaids/CubeNavigationAidControl.js\";\nimport { DrawingNavigationAidControl } from \"../navigationaids/DrawingNavigationAidControl.js\";\nimport { SheetNavigationAidControl } from \"../navigationaids/SheetNavigationAid.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { ViewUtilities } from \"../utils/ViewUtilities.js\";\nimport type { SupportsViewSelectorChange } from \"./ContentControl.js\";\nimport { ContentControl } from \"./ContentControl.js\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/** The base class for frontstage Viewport content controls that connects to a `ScreenViewport`\n * that is managed by the `ViewManager`.\n * @public\n * @deprecated in 4.16.0. Extends a deprecated class {@link ContentControl}.\n */\nexport class ViewportContentControl\n extends ContentControl\n implements SupportsViewSelectorChange\n{\n private _viewport: ScreenViewport | undefined;\n private _isReady: Promise<void>;\n private _viewportReadyCallback?: () => void;\n\n /** Creates an instance of ViewportContentControl.\n * @param info An object that the subclass must pass to this base class.\n * @param options Options provided via the applicationData in a [[ContentProps]].\n */\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n\n this._isReady = new Promise<void>(\n (onSuccess: () => void, _onFailure: () => void): void => {\n this._viewportReadyCallback = onSuccess;\n }\n );\n }\n\n /** Gets the type of ConfigurableUiControl, which is 'Viewport' in this case */\n public override getType(): ConfigurableUiControlType {\n return ConfigurableUiControlType.Viewport;\n }\n\n /** Returns true if this control is a Viewport control. */\n public override get isViewport(): boolean {\n return true;\n }\n\n /** The underlying ScreenViewport */\n public override get viewport(): ScreenViewport | undefined {\n return this._viewport;\n }\n public override set viewport(v: ScreenViewport | undefined) {\n this._viewport = v;\n this.setIsReady();\n }\n\n /** Returns a promise that resolves when the control is ready for usage.\n */\n public setIsReady(): void {\n if (this._viewportReadyCallback) {\n this._viewportReadyCallback();\n }\n }\n\n /** Returns a promise that resolves when the control is ready for usage.\n */\n public override get isReady(): Promise<void> {\n return this._isReady;\n }\n\n /** Called when this ContentControl is activated */\n public override onActivated(): void {\n super.onActivated();\n }\n\n /** Get the NavigationAidControl associated with this ContentControl */\n public override get navigationAidControl(): string {\n let navigationAidId = \"\";\n\n if (this.viewport) {\n navigationAidId = this._getNavigationAid(\n this.viewport.view.classFullName\n );\n }\n\n return navigationAidId;\n }\n\n /**\n * Fetches appropriate NavigationAid based on the class of the current viewport.\n * @param classFullName The full name of the current viewport class.\n * @returns The ID of the navigation aid to be displayed.\n */\n private _getNavigationAid = (classFullName: string) => {\n const className = ViewUtilities.getBisBaseClass(classFullName);\n let navigationAidId = \"\";\n\n switch (className) {\n case SheetViewState.className:\n navigationAidId = SheetNavigationAidControl.navigationAidId;\n break;\n case DrawingViewState.className:\n navigationAidId = DrawingNavigationAidControl.navigationAidId;\n break;\n case SpatialViewState.className:\n case OrthographicViewState.className:\n navigationAidId = CubeNavigationAidControl.navigationAidId;\n break;\n }\n\n return navigationAidId;\n };\n\n /** Returns true if this control supports processing ViewSelector changes. */\n public get supportsViewSelectorChange(): boolean {\n return true;\n }\n\n /** Process a ViewSelector change. */\n public async processViewSelectorChange(\n iModel: IModelConnection,\n viewDefinitionId: Id64String,\n viewState: ViewState,\n name: string\n ): Promise<void> {\n if (this.viewport) {\n if (\n IModelApp.viewManager &&\n this.viewport === IModelApp.viewManager.selectedView\n )\n this.viewport.changeView(viewState);\n } else {\n this.reactNode = this.getReactElementForViewSelectorChange(\n iModel,\n viewDefinitionId,\n viewState,\n name\n );\n }\n UiFramework.content.refreshActive(this.reactNode);\n }\n\n /** Get the React.Element for a ViewSelector change. */\n public getReactElementForViewSelectorChange(\n _iModel: IModelConnection,\n _viewDefinitionId: Id64String,\n _viewState: ViewState,\n _name: string\n ): React.ReactNode {\n return null;\n }\n}\n\n/**\n * @beta\n * @deprecated in 4.16.0. Extends a deprecated class {@link ViewportContentControl}.\n */\nexport class FloatingViewportContentControl extends ViewportContentControl {\n constructor(uniqueId: string, name: string, node: React.ReactNode) {\n super(new ConfigurableCreateInfo(name, uniqueId, name), undefined);\n this._reactNode = node;\n this.setIsReady();\n }\n\n /** The React node associated with this control. */\n public override get reactNode(): React.ReactNode {\n return this._reactNode;\n }\n\n public override set reactNode(r: React.ReactNode) {\n this._reactNode = r;\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n if (this.viewport && activeFrontstageDef)\n activeFrontstageDef.setActiveViewFromViewport(this.viewport);\n }\n}\n"]}
@@ -21,7 +21,7 @@ function unFocus(ownerDoc) {
21
21
  const winSelection = ownerDoc.defaultView?.getSelection();
22
22
  winSelection?.removeAllRanges();
23
23
  }
24
- catch (_e) { }
24
+ catch { }
25
25
  }
26
26
  }
27
27
  function getDefaultSize(defaultSize, minSize, maxSize, draggedSize) {
@@ -44,7 +44,7 @@ function removeNullChildren(children) {
44
44
  * See https://github.com/tomkp/react-split-pane/blob/master/LICENSE.
45
45
  * @public
46
46
  */
47
- // eslint-disable-next-line deprecation/deprecation
47
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
48
48
  export function SplitPane(props) {
49
49
  const { style, size, defaultSize, maxSize, children, paneStyle, pane1Style, pane2Style, className, paneClassName, pane1ClassName, pane2ClassName, onDragStarted, onDragFinished, step, onChange, onResizerClick, onResizerDoubleClick, } = props;
50
50
  // honor same defaults as react-split-pane
@@ -1 +1 @@
1
- {"version":3,"file":"SplitPane.js","sourceRoot":"","sources":["../../../../src/appui-react/content/split-pane/SplitPane.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport * as React from \"react\";\nimport classnames from \"classnames\";\nimport { Pane } from \"./Pane.js\";\nimport { Resizer } from \"./Resizer.js\";\n\n/**\n * Props for [[SplitPane]] component\n * @public\n * @deprecated in 4.17.0. Use `React.ComponentProps<typeof SplitPane>`\n */\nexport interface SplitPaneProps {\n /** Pass false to disable resizing */\n allowResize?: boolean;\n /** The array of two react nodes, one for each pane. */\n children: React.ReactNode[];\n /** Determines which pane maintains its size when browser window is resized.*/\n primary?: \"first\" | \"second\";\n\n minSize?: string | number;\n /** You can limit the maximal size of the 'fixed' pane using the maxSize parameter with a positive value\n * (measured in pixels but state just a number). If you wrap the SplitPane into a container component\n * (yes you can, just remember the container has to have the relative or absolute positioning), then you'll need to limit\n * the movement of the splitter (resizer) at the end of the SplitPane (otherwise it can be dragged outside the SplitPane\n * and you don't catch it never more). For this purpose use the maxSize parameter with value 0. When dragged the splitter/resizer\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.\n * And more: if you set the maxSize to negative value (e.g. -200), then the splitter stops 200px before the border\n * (in other words it sets the minimal size of the 'resizable' pane in this case). This can be useful also in the\n * full-screen case of use. */\n maxSize?: string | number;\n /** Default initial size of primary pane */\n defaultSize?: string | number;\n /** Size of primary pane */\n size?: string | number;\n /** You can use the step prop to only allow resizing in fixed increments. */\n step?: number;\n split?: \"vertical\" | \"horizontal\";\n /** This callback is invoked when a drag start. */\n onDragStarted?: () => void;\n /** This callback is invoked when a drag ends. */\n onDragFinished?: (newSize: number) => void;\n /** Callback is invoked with the current drag during a drag event. */\n onChange?: (newSize: number) => void;\n /** Callback is invoked if user clicks on Resizer. */\n onResizerClick?: (event: MouseEvent) => void;\n /** Callback is invoked if user double clicks on Resizer. */\n onResizerDoubleClick?: (event: MouseEvent) => void;\n /** Styling to be applied to the main container */\n style?: React.CSSProperties;\n /** Styling to be applied to both panes */\n paneStyle?: React.CSSProperties;\n /** Styling to be applied to the first pane, with precedence over paneStyle */\n pane1Style?: React.CSSProperties;\n /** Styling to be applied to the second pane, with precedence over paneStyle */\n pane2Style?: React.CSSProperties;\n /** Styling to be applied to the resizer bar */\n resizerStyle?: React.CSSProperties;\n /** Class name to be added to the SplitPane div */\n className?: string;\n /** Class name to be added to each Pane's div */\n paneClassName?: string;\n /** Class name to be added to Pane1's div */\n pane1ClassName?: string;\n /** Class name to be added to Pane2's div */\n pane2ClassName?: string;\n}\n\nfunction unFocus(ownerDoc: Document | undefined) {\n if (!ownerDoc) return;\n\n const docSelection = ownerDoc.getSelection();\n if (docSelection) {\n docSelection.empty();\n } else {\n try {\n const winSelection = ownerDoc.defaultView?.getSelection();\n winSelection?.removeAllRanges();\n } catch (_e) {}\n }\n}\n\nfunction getDefaultSize(\n defaultSize?: number | string,\n minSize?: string | number,\n maxSize?: string | number,\n draggedSize?: number\n) {\n if (typeof draggedSize === \"number\") {\n const min = typeof minSize === \"number\" ? minSize : 0;\n const max =\n typeof maxSize === \"number\" && maxSize >= 0 ? maxSize : Infinity;\n return Math.max(min, Math.min(max, draggedSize));\n }\n if (defaultSize !== undefined) {\n return defaultSize;\n }\n return minSize;\n}\n\nfunction removeNullChildren(children: React.ReactNode[]) {\n return React.Children.toArray(children).filter((c) => c);\n}\n\n/**\n * Local TypeScript implementation of `SplitPane` from `react-split-pane` package since that\n * package is not regularly maintained.\n * See https://github.com/tomkp/react-split-pane/blob/master/LICENSE.\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport function SplitPane(props: SplitPaneProps) {\n const {\n style,\n size,\n defaultSize,\n maxSize,\n children,\n paneStyle,\n pane1Style,\n pane2Style,\n className,\n paneClassName,\n pane1ClassName,\n pane2ClassName,\n onDragStarted,\n onDragFinished,\n step,\n onChange,\n onResizerClick,\n onResizerDoubleClick,\n } = props;\n\n // honor same defaults as react-split-pane\n const allowResize = React.useMemo(\n () => (undefined !== props.allowResize ? props.allowResize : true),\n [props.allowResize]\n );\n const minSize = React.useMemo(\n () => (undefined !== props.minSize ? props.minSize : 50),\n [props.minSize]\n );\n const primary = React.useMemo(\n () => (undefined !== props.primary ? props.primary : \"first\"),\n [props.primary]\n );\n const split = React.useMemo(\n () => (undefined !== props.split ? props.split : \"vertical\"),\n [props.split]\n );\n const initialSize =\n size !== undefined ? size : getDefaultSize(defaultSize, minSize, maxSize);\n\n const [position, setPosition] = React.useState(0);\n const [draggedSize, setDraggedSize] = React.useState<number | undefined>();\n const [active, setActive] = React.useState(false);\n const [pane1Size, setPane1Size] = React.useState(() =>\n primary === \"first\" ? initialSize : undefined\n );\n const [pane2Size, setPane2Size] = React.useState(() =>\n primary === \"second\" ? initialSize : undefined\n );\n const splitPane = React.useRef<HTMLDivElement>(null);\n const pane1 = React.useRef<HTMLDivElement>(null);\n const pane2 = React.useRef<HTMLDivElement>(null);\n const notNullChildren = React.useMemo(\n () => removeNullChildren(children),\n [children]\n );\n\n React.useEffect(() => {\n primary === \"first\" ? setPane1Size(initialSize) : setPane2Size(initialSize);\n primary === \"first\" ? setPane2Size(undefined) : setPane1Size(undefined);\n }, [initialSize, primary]);\n\n const splitPaneStyle = React.useMemo(() => {\n const directionSpecificParts =\n split === \"vertical\"\n ? {\n flexDirection: \"row\",\n left: 0,\n right: 0,\n }\n : {\n bottom: 0,\n flexDirection: \"column\",\n minHeight: \"100%\",\n top: 0,\n width: \"100%\",\n };\n\n return {\n display: \"flex\",\n flex: 1,\n height: \"100%\",\n position: \"absolute\",\n outline: \"none\",\n overflow: \"hidden\",\n MozUserSelect: \"text\",\n WebkitUserSelect: \"text\",\n msUserSelect: \"text\",\n userSelect: \"text\",\n ...style,\n ...directionSpecificParts,\n } as React.CSSProperties;\n }, [split, style]);\n\n const pane1DivStyle = { ...paneStyle, ...pane1Style };\n const pane2DivStyle = { ...paneStyle, ...pane2Style };\n const resizerStyle = React.useMemo(\n () => props.resizerStyle ?? {},\n [props.resizerStyle]\n );\n const resizerClasses = React.useMemo(\n () => classnames(\"Resizer\", !allowResize && \"disabled\"),\n [allowResize]\n );\n const splitPaneClasses = React.useMemo(\n () => classnames(\"SplitPane\", className, split, !allowResize && \"disabled\"),\n [className, split, allowResize]\n );\n const pane1Classes = React.useMemo(\n () => classnames(\"Pane1\", paneClassName, pane1ClassName),\n [paneClassName, pane1ClassName]\n );\n const pane2Classes = React.useMemo(\n () => classnames(\"Pane2\", paneClassName, pane2ClassName),\n [paneClassName, pane2ClassName]\n );\n\n const initializeDrag = React.useCallback(\n (x: number, y: number) => {\n unFocus(splitPane.current?.ownerDocument);\n const newPosition = split === \"vertical\" ? x : y;\n onDragStarted && onDragStarted();\n setActive(true);\n setPosition(newPosition);\n },\n [onDragStarted, split]\n );\n\n const onTouchStart = React.useCallback(\n (event: TouchEvent) => {\n if (allowResize) {\n initializeDrag(event.touches[0].clientX, event.touches[0].clientY);\n }\n },\n [allowResize, initializeDrag]\n );\n\n const processMove = React.useCallback(\n (x: number, y: number) => {\n unFocus(splitPane.current?.ownerDocument);\n const isPrimaryFirst = primary === \"first\";\n const ref = isPrimaryFirst ? pane1.current : pane2.current;\n const ref2 = isPrimaryFirst ? pane2.current : pane1.current;\n const splitPaneDiv = splitPane.current;\n\n if (ref && ref2 && splitPaneDiv) {\n const node = ref;\n const node2 = ref2;\n if (node.getBoundingClientRect) {\n const width = node.getBoundingClientRect().width;\n const height = node.getBoundingClientRect().height;\n const current = split === \"vertical\" ? x : y;\n const oldSize = split === \"vertical\" ? width : height;\n let positionDelta = position - current;\n if (step) {\n if (Math.abs(positionDelta) < step) {\n return;\n }\n // Integer division\n positionDelta = ~~(positionDelta / step) * step;\n }\n let sizeDelta = isPrimaryFirst ? positionDelta : -positionDelta;\n\n const pane1Order = parseInt(\n node.ownerDocument?.defaultView?.getComputedStyle(node).order ??\n \"0\",\n 10\n );\n const pane2Order = parseInt(\n node2.ownerDocument?.defaultView?.getComputedStyle(node2).order ??\n \"0\",\n 10\n );\n if (pane1Order > pane2Order) {\n sizeDelta = -sizeDelta;\n }\n\n let newMaxSize = maxSize;\n if (\n typeof maxSize === \"number\" &&\n maxSize !== undefined &&\n maxSize <= 0\n ) {\n if (split === \"vertical\") {\n newMaxSize = splitPaneDiv.getBoundingClientRect().width + maxSize;\n } else {\n newMaxSize =\n splitPaneDiv.getBoundingClientRect().height + maxSize;\n }\n }\n\n let newSize = oldSize - sizeDelta;\n const newPosition = position - positionDelta;\n\n if (typeof minSize === \"number\" && newSize < minSize) {\n newSize = minSize;\n } else if (\n typeof newMaxSize === \"number\" &&\n newMaxSize !== undefined &&\n newSize > newMaxSize\n ) {\n newSize = newMaxSize;\n } else {\n setPosition(newPosition);\n }\n\n onChange && onChange(newSize);\n setDraggedSize(newSize);\n isPrimaryFirst ? setPane1Size(newSize) : setPane2Size(newSize);\n }\n }\n },\n [maxSize, minSize, onChange, position, primary, split, step]\n );\n\n const onTouchMove = React.useCallback(\n (event: TouchEvent) => {\n if (!allowResize || !active) return;\n processMove(event.touches[0].clientX, event.touches[0].clientY);\n },\n [active, allowResize, processMove]\n );\n\n const onMouseMove = React.useCallback(\n (event: MouseEvent) => {\n if (!allowResize || !active) return;\n processMove(event.clientX, event.clientY);\n },\n [active, allowResize, processMove]\n );\n\n const onMouseDown = React.useCallback(\n (event: MouseEvent) => {\n if (allowResize) {\n event.preventDefault();\n initializeDrag(event.clientX, event.clientY);\n }\n },\n [allowResize, initializeDrag]\n );\n\n const processResizeFinished = React.useCallback(() => {\n if (undefined !== draggedSize && allowResize && active) {\n onDragFinished && onDragFinished(draggedSize);\n }\n setActive(false);\n }, [draggedSize, allowResize, active, onDragFinished]);\n\n const onMouseUp = React.useCallback(\n (event: MouseEvent) => {\n event.preventDefault();\n processResizeFinished();\n },\n [processResizeFinished]\n );\n\n React.useEffect(() => {\n const ownerDoc = splitPane.current?.ownerDocument;\n if (!ownerDoc) return;\n\n ownerDoc.addEventListener(\"mouseup\", onMouseUp);\n ownerDoc.addEventListener(\"mousemove\", onMouseMove);\n ownerDoc.addEventListener(\"touchmove\", onTouchMove);\n return () => {\n ownerDoc.removeEventListener(\"mouseup\", onMouseUp);\n ownerDoc.removeEventListener(\"mousemove\", onMouseMove);\n ownerDoc.removeEventListener(\"touchmove\", onTouchMove);\n };\n }, [onMouseMove, onMouseUp, onTouchMove]);\n\n return (\n <div className={splitPaneClasses} ref={splitPane} style={splitPaneStyle}>\n <Pane\n className={pane1Classes}\n key=\"pane1\"\n eleRef={pane1}\n size={pane1Size}\n split={split}\n style={pane1DivStyle}\n >\n {notNullChildren[0]}\n </Pane>\n <Resizer\n className={resizerClasses}\n onClick={onResizerClick}\n onDoubleClick={onResizerDoubleClick}\n onMouseDown={onMouseDown}\n onTouchStart={onTouchStart}\n onTouchEnd={processResizeFinished}\n key=\"resizer\"\n split={split}\n style={resizerStyle}\n />\n <Pane\n className={pane2Classes}\n key=\"pane2\"\n eleRef={pane2}\n size={pane2Size}\n split={split}\n style={pane2DivStyle}\n >\n {notNullChildren[1]}\n </Pane>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SplitPane.js","sourceRoot":"","sources":["../../../../src/appui-react/content/split-pane/SplitPane.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA+DvC,SAAS,OAAO,CAAC,QAA8B;IAC7C,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC7C,IAAI,YAAY,EAAE,CAAC;QACjB,YAAY,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC;YAC1D,YAAY,EAAE,eAAe,EAAE,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,WAA6B,EAC7B,OAAyB,EACzB,OAAyB,EACzB,WAAoB;IAEpB,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,GAAG,GACP,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QACnE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,QAA2B;IACrD,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,4DAA4D;AAC5D,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EACJ,KAAK,EACL,IAAI,EACJ,WAAW,EACX,OAAO,EACP,QAAQ,EACR,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,oBAAoB,GACrB,GAAG,KAAK,CAAC;IAEV,0CAA0C;IAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAC/B,GAAG,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAClE,CAAC,KAAK,CAAC,WAAW,CAAC,CACpB,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EACxD,CAAC,KAAK,CAAC,OAAO,CAAC,CAChB,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAC7D,CAAC,KAAK,CAAC,OAAO,CAAC,CAChB,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CACzB,GAAG,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,EAC5D,CAAC,KAAK,CAAC,KAAK,CAAC,CACd,CAAC;IACF,MAAM,WAAW,GACf,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE5E,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAsB,CAAC;IAC3E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CACpD,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAC9C,CAAC;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CACpD,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAC/C,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CACnC,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAClC,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5E,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3B,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxC,MAAM,sBAAsB,GAC1B,KAAK,KAAK,UAAU;YAClB,CAAC,CAAC;gBACE,aAAa,EAAE,KAAK;gBACpB,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,CAAC;aACT;YACH,CAAC,CAAC;gBACE,MAAM,EAAE,CAAC;gBACT,aAAa,EAAE,QAAQ;gBACvB,SAAS,EAAE,MAAM;gBACjB,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,MAAM;aACd,CAAC;QAER,OAAO;YACL,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,MAAM;YACrB,gBAAgB,EAAE,MAAM;YACxB,YAAY,EAAE,MAAM;YACpB,UAAU,EAAE,MAAM;YAClB,GAAG,KAAK;YACR,GAAG,sBAAsB;SACH,CAAC;IAC3B,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,MAAM,aAAa,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,UAAU,EAAE,CAAC;IACtD,MAAM,aAAa,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,UAAU,EAAE,CAAC;IACtD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,EAC9B,CAAC,KAAK,CAAC,YAAY,CAAC,CACrB,CAAC;IACF,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAClC,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,WAAW,IAAI,UAAU,CAAC,EACvD,CAAC,WAAW,CAAC,CACd,CAAC;IACF,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CACpC,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,WAAW,IAAI,UAAU,CAAC,EAC3E,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAChC,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,cAAc,CAAC,EACxD,CAAC,aAAa,EAAE,cAAc,CAAC,CAChC,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,cAAc,CAAC,EACxD,CAAC,aAAa,EAAE,cAAc,CAAC,CAChC,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CACtC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QACvB,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,aAAa,IAAI,aAAa,EAAE,CAAC;QACjC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,WAAW,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC,EACD,CAAC,aAAa,EAAE,KAAK,CAAC,CACvB,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CACpC,CAAC,KAAiB,EAAE,EAAE;QACpB,IAAI,WAAW,EAAE,CAAC;YAChB,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,EACD,CAAC,WAAW,EAAE,cAAc,CAAC,CAC9B,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QACvB,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,OAAO,KAAK,OAAO,CAAC;QAC3C,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAC3D,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5D,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC;QAEvC,IAAI,GAAG,IAAI,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,GAAG,CAAC;YACjB,MAAM,KAAK,GAAG,IAAI,CAAC;YACnB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;gBACjD,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;gBACnD,MAAM,OAAO,GAAG,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM,OAAO,GAAG,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBACtD,IAAI,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAC;gBACvC,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,CAAC;wBACnC,OAAO;oBACT,CAAC;oBACD,mBAAmB;oBACnB,aAAa,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;gBAClD,CAAC;gBACD,IAAI,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBAEhE,MAAM,UAAU,GAAG,QAAQ,CACzB,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK;oBAC3D,GAAG,EACL,EAAE,CACH,CAAC;gBACF,MAAM,UAAU,GAAG,QAAQ,CACzB,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK;oBAC7D,GAAG,EACL,EAAE,CACH,CAAC;gBACF,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;oBAC5B,SAAS,GAAG,CAAC,SAAS,CAAC;gBACzB,CAAC;gBAED,IAAI,UAAU,GAAG,OAAO,CAAC;gBACzB,IACE,OAAO,OAAO,KAAK,QAAQ;oBAC3B,OAAO,KAAK,SAAS;oBACrB,OAAO,IAAI,CAAC,EACZ,CAAC;oBACD,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;wBACzB,UAAU,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,OAAO,CAAC;oBACpE,CAAC;yBAAM,CAAC;wBACN,UAAU;4BACR,YAAY,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC;oBAC1D,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;gBAClC,MAAM,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;gBAE7C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;oBACrD,OAAO,GAAG,OAAO,CAAC;gBACpB,CAAC;qBAAM,IACL,OAAO,UAAU,KAAK,QAAQ;oBAC9B,UAAU,KAAK,SAAS;oBACxB,OAAO,GAAG,UAAU,EACpB,CAAC;oBACD,OAAO,GAAG,UAAU,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC3B,CAAC;gBAED,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC9B,cAAc,CAAC,OAAO,CAAC,CAAC;gBACxB,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAC7D,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,KAAiB,EAAE,EAAE;QACpB,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM;YAAE,OAAO;QACpC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC,EACD,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CACnC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,KAAiB,EAAE,EAAE;QACpB,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM;YAAE,OAAO;QACpC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,EACD,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CACnC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,KAAiB,EAAE,EAAE;QACpB,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,EACD,CAAC,WAAW,EAAE,cAAc,CAAC,CAC9B,CAAC;IAEF,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACnD,IAAI,SAAS,KAAK,WAAW,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;YACvD,cAAc,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QACD,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAEvD,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,KAAiB,EAAE,EAAE;QACpB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,qBAAqB,EAAE,CAAC;IAC1B,CAAC,EACD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC;QAClD,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACpD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACpD,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACnD,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACvD,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAE1C,OAAO,CACL,6BAAK,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc;QACrE,oBAAC,IAAI,IACH,SAAS,EAAE,YAAY,EACvB,GAAG,EAAC,OAAO,EACX,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,aAAa,IAEnB,eAAe,CAAC,CAAC,CAAC,CACd;QACP,oBAAC,OAAO,IACN,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,cAAc,EACvB,aAAa,EAAE,oBAAoB,EACnC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,qBAAqB,EACjC,GAAG,EAAC,SAAS,EACb,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,YAAY,GACnB;QACF,oBAAC,IAAI,IACH,SAAS,EAAE,YAAY,EACvB,GAAG,EAAC,OAAO,EACX,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,aAAa,IAEnB,eAAe,CAAC,CAAC,CAAC,CACd,CACH,CACP,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport * as React from \"react\";\nimport classnames from \"classnames\";\nimport { Pane } from \"./Pane.js\";\nimport { Resizer } from \"./Resizer.js\";\n\n/**\n * Props for [[SplitPane]] component\n * @public\n * @deprecated in 4.17.0. Use `React.ComponentProps<typeof SplitPane>`\n */\nexport interface SplitPaneProps {\n /** Pass false to disable resizing */\n allowResize?: boolean;\n /** The array of two react nodes, one for each pane. */\n children: React.ReactNode[];\n /** Determines which pane maintains its size when browser window is resized.*/\n primary?: \"first\" | \"second\";\n\n minSize?: string | number;\n /** You can limit the maximal size of the 'fixed' pane using the maxSize parameter with a positive value\n * (measured in pixels but state just a number). If you wrap the SplitPane into a container component\n * (yes you can, just remember the container has to have the relative or absolute positioning), then you'll need to limit\n * the movement of the splitter (resizer) at the end of the SplitPane (otherwise it can be dragged outside the SplitPane\n * and you don't catch it never more). For this purpose use the maxSize parameter with value 0. When dragged the splitter/resizer\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.\n * And more: if you set the maxSize to negative value (e.g. -200), then the splitter stops 200px before the border\n * (in other words it sets the minimal size of the 'resizable' pane in this case). This can be useful also in the\n * full-screen case of use. */\n maxSize?: string | number;\n /** Default initial size of primary pane */\n defaultSize?: string | number;\n /** Size of primary pane */\n size?: string | number;\n /** You can use the step prop to only allow resizing in fixed increments. */\n step?: number;\n split?: \"vertical\" | \"horizontal\";\n /** This callback is invoked when a drag start. */\n onDragStarted?: () => void;\n /** This callback is invoked when a drag ends. */\n onDragFinished?: (newSize: number) => void;\n /** Callback is invoked with the current drag during a drag event. */\n onChange?: (newSize: number) => void;\n /** Callback is invoked if user clicks on Resizer. */\n onResizerClick?: (event: MouseEvent) => void;\n /** Callback is invoked if user double clicks on Resizer. */\n onResizerDoubleClick?: (event: MouseEvent) => void;\n /** Styling to be applied to the main container */\n style?: React.CSSProperties;\n /** Styling to be applied to both panes */\n paneStyle?: React.CSSProperties;\n /** Styling to be applied to the first pane, with precedence over paneStyle */\n pane1Style?: React.CSSProperties;\n /** Styling to be applied to the second pane, with precedence over paneStyle */\n pane2Style?: React.CSSProperties;\n /** Styling to be applied to the resizer bar */\n resizerStyle?: React.CSSProperties;\n /** Class name to be added to the SplitPane div */\n className?: string;\n /** Class name to be added to each Pane's div */\n paneClassName?: string;\n /** Class name to be added to Pane1's div */\n pane1ClassName?: string;\n /** Class name to be added to Pane2's div */\n pane2ClassName?: string;\n}\n\nfunction unFocus(ownerDoc: Document | undefined) {\n if (!ownerDoc) return;\n\n const docSelection = ownerDoc.getSelection();\n if (docSelection) {\n docSelection.empty();\n } else {\n try {\n const winSelection = ownerDoc.defaultView?.getSelection();\n winSelection?.removeAllRanges();\n } catch {}\n }\n}\n\nfunction getDefaultSize(\n defaultSize?: number | string,\n minSize?: string | number,\n maxSize?: string | number,\n draggedSize?: number\n) {\n if (typeof draggedSize === \"number\") {\n const min = typeof minSize === \"number\" ? minSize : 0;\n const max =\n typeof maxSize === \"number\" && maxSize >= 0 ? maxSize : Infinity;\n return Math.max(min, Math.min(max, draggedSize));\n }\n if (defaultSize !== undefined) {\n return defaultSize;\n }\n return minSize;\n}\n\nfunction removeNullChildren(children: React.ReactNode[]) {\n return React.Children.toArray(children).filter((c) => c);\n}\n\n/**\n * Local TypeScript implementation of `SplitPane` from `react-split-pane` package since that\n * package is not regularly maintained.\n * See https://github.com/tomkp/react-split-pane/blob/master/LICENSE.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport function SplitPane(props: SplitPaneProps) {\n const {\n style,\n size,\n defaultSize,\n maxSize,\n children,\n paneStyle,\n pane1Style,\n pane2Style,\n className,\n paneClassName,\n pane1ClassName,\n pane2ClassName,\n onDragStarted,\n onDragFinished,\n step,\n onChange,\n onResizerClick,\n onResizerDoubleClick,\n } = props;\n\n // honor same defaults as react-split-pane\n const allowResize = React.useMemo(\n () => (undefined !== props.allowResize ? props.allowResize : true),\n [props.allowResize]\n );\n const minSize = React.useMemo(\n () => (undefined !== props.minSize ? props.minSize : 50),\n [props.minSize]\n );\n const primary = React.useMemo(\n () => (undefined !== props.primary ? props.primary : \"first\"),\n [props.primary]\n );\n const split = React.useMemo(\n () => (undefined !== props.split ? props.split : \"vertical\"),\n [props.split]\n );\n const initialSize =\n size !== undefined ? size : getDefaultSize(defaultSize, minSize, maxSize);\n\n const [position, setPosition] = React.useState(0);\n const [draggedSize, setDraggedSize] = React.useState<number | undefined>();\n const [active, setActive] = React.useState(false);\n const [pane1Size, setPane1Size] = React.useState(() =>\n primary === \"first\" ? initialSize : undefined\n );\n const [pane2Size, setPane2Size] = React.useState(() =>\n primary === \"second\" ? initialSize : undefined\n );\n const splitPane = React.useRef<HTMLDivElement>(null);\n const pane1 = React.useRef<HTMLDivElement>(null);\n const pane2 = React.useRef<HTMLDivElement>(null);\n const notNullChildren = React.useMemo(\n () => removeNullChildren(children),\n [children]\n );\n\n React.useEffect(() => {\n primary === \"first\" ? setPane1Size(initialSize) : setPane2Size(initialSize);\n primary === \"first\" ? setPane2Size(undefined) : setPane1Size(undefined);\n }, [initialSize, primary]);\n\n const splitPaneStyle = React.useMemo(() => {\n const directionSpecificParts =\n split === \"vertical\"\n ? {\n flexDirection: \"row\",\n left: 0,\n right: 0,\n }\n : {\n bottom: 0,\n flexDirection: \"column\",\n minHeight: \"100%\",\n top: 0,\n width: \"100%\",\n };\n\n return {\n display: \"flex\",\n flex: 1,\n height: \"100%\",\n position: \"absolute\",\n outline: \"none\",\n overflow: \"hidden\",\n MozUserSelect: \"text\",\n WebkitUserSelect: \"text\",\n msUserSelect: \"text\",\n userSelect: \"text\",\n ...style,\n ...directionSpecificParts,\n } as React.CSSProperties;\n }, [split, style]);\n\n const pane1DivStyle = { ...paneStyle, ...pane1Style };\n const pane2DivStyle = { ...paneStyle, ...pane2Style };\n const resizerStyle = React.useMemo(\n () => props.resizerStyle ?? {},\n [props.resizerStyle]\n );\n const resizerClasses = React.useMemo(\n () => classnames(\"Resizer\", !allowResize && \"disabled\"),\n [allowResize]\n );\n const splitPaneClasses = React.useMemo(\n () => classnames(\"SplitPane\", className, split, !allowResize && \"disabled\"),\n [className, split, allowResize]\n );\n const pane1Classes = React.useMemo(\n () => classnames(\"Pane1\", paneClassName, pane1ClassName),\n [paneClassName, pane1ClassName]\n );\n const pane2Classes = React.useMemo(\n () => classnames(\"Pane2\", paneClassName, pane2ClassName),\n [paneClassName, pane2ClassName]\n );\n\n const initializeDrag = React.useCallback(\n (x: number, y: number) => {\n unFocus(splitPane.current?.ownerDocument);\n const newPosition = split === \"vertical\" ? x : y;\n onDragStarted && onDragStarted();\n setActive(true);\n setPosition(newPosition);\n },\n [onDragStarted, split]\n );\n\n const onTouchStart = React.useCallback(\n (event: TouchEvent) => {\n if (allowResize) {\n initializeDrag(event.touches[0].clientX, event.touches[0].clientY);\n }\n },\n [allowResize, initializeDrag]\n );\n\n const processMove = React.useCallback(\n (x: number, y: number) => {\n unFocus(splitPane.current?.ownerDocument);\n const isPrimaryFirst = primary === \"first\";\n const ref = isPrimaryFirst ? pane1.current : pane2.current;\n const ref2 = isPrimaryFirst ? pane2.current : pane1.current;\n const splitPaneDiv = splitPane.current;\n\n if (ref && ref2 && splitPaneDiv) {\n const node = ref;\n const node2 = ref2;\n if (node.getBoundingClientRect) {\n const width = node.getBoundingClientRect().width;\n const height = node.getBoundingClientRect().height;\n const current = split === \"vertical\" ? x : y;\n const oldSize = split === \"vertical\" ? width : height;\n let positionDelta = position - current;\n if (step) {\n if (Math.abs(positionDelta) < step) {\n return;\n }\n // Integer division\n positionDelta = ~~(positionDelta / step) * step;\n }\n let sizeDelta = isPrimaryFirst ? positionDelta : -positionDelta;\n\n const pane1Order = parseInt(\n node.ownerDocument?.defaultView?.getComputedStyle(node).order ??\n \"0\",\n 10\n );\n const pane2Order = parseInt(\n node2.ownerDocument?.defaultView?.getComputedStyle(node2).order ??\n \"0\",\n 10\n );\n if (pane1Order > pane2Order) {\n sizeDelta = -sizeDelta;\n }\n\n let newMaxSize = maxSize;\n if (\n typeof maxSize === \"number\" &&\n maxSize !== undefined &&\n maxSize <= 0\n ) {\n if (split === \"vertical\") {\n newMaxSize = splitPaneDiv.getBoundingClientRect().width + maxSize;\n } else {\n newMaxSize =\n splitPaneDiv.getBoundingClientRect().height + maxSize;\n }\n }\n\n let newSize = oldSize - sizeDelta;\n const newPosition = position - positionDelta;\n\n if (typeof minSize === \"number\" && newSize < minSize) {\n newSize = minSize;\n } else if (\n typeof newMaxSize === \"number\" &&\n newMaxSize !== undefined &&\n newSize > newMaxSize\n ) {\n newSize = newMaxSize;\n } else {\n setPosition(newPosition);\n }\n\n onChange && onChange(newSize);\n setDraggedSize(newSize);\n isPrimaryFirst ? setPane1Size(newSize) : setPane2Size(newSize);\n }\n }\n },\n [maxSize, minSize, onChange, position, primary, split, step]\n );\n\n const onTouchMove = React.useCallback(\n (event: TouchEvent) => {\n if (!allowResize || !active) return;\n processMove(event.touches[0].clientX, event.touches[0].clientY);\n },\n [active, allowResize, processMove]\n );\n\n const onMouseMove = React.useCallback(\n (event: MouseEvent) => {\n if (!allowResize || !active) return;\n processMove(event.clientX, event.clientY);\n },\n [active, allowResize, processMove]\n );\n\n const onMouseDown = React.useCallback(\n (event: MouseEvent) => {\n if (allowResize) {\n event.preventDefault();\n initializeDrag(event.clientX, event.clientY);\n }\n },\n [allowResize, initializeDrag]\n );\n\n const processResizeFinished = React.useCallback(() => {\n if (undefined !== draggedSize && allowResize && active) {\n onDragFinished && onDragFinished(draggedSize);\n }\n setActive(false);\n }, [draggedSize, allowResize, active, onDragFinished]);\n\n const onMouseUp = React.useCallback(\n (event: MouseEvent) => {\n event.preventDefault();\n processResizeFinished();\n },\n [processResizeFinished]\n );\n\n React.useEffect(() => {\n const ownerDoc = splitPane.current?.ownerDocument;\n if (!ownerDoc) return;\n\n ownerDoc.addEventListener(\"mouseup\", onMouseUp);\n ownerDoc.addEventListener(\"mousemove\", onMouseMove);\n ownerDoc.addEventListener(\"touchmove\", onTouchMove);\n return () => {\n ownerDoc.removeEventListener(\"mouseup\", onMouseUp);\n ownerDoc.removeEventListener(\"mousemove\", onMouseMove);\n ownerDoc.removeEventListener(\"touchmove\", onTouchMove);\n };\n }, [onMouseMove, onMouseUp, onTouchMove]);\n\n return (\n <div className={splitPaneClasses} ref={splitPane} style={splitPaneStyle}>\n <Pane\n className={pane1Classes}\n key=\"pane1\"\n eleRef={pane1}\n size={pane1Size}\n split={split}\n style={pane1DivStyle}\n >\n {notNullChildren[0]}\n </Pane>\n <Resizer\n className={resizerClasses}\n onClick={onResizerClick}\n onDoubleClick={onResizerDoubleClick}\n onMouseDown={onMouseDown}\n onTouchStart={onTouchStart}\n onTouchEnd={processResizeFinished}\n key=\"resizer\"\n split={split}\n style={resizerStyle}\n />\n <Pane\n className={pane2Classes}\n key=\"pane2\"\n eleRef={pane2}\n size={pane2Size}\n split={split}\n style={pane2DivStyle}\n >\n {notNullChildren[1]}\n </Pane>\n </div>\n );\n}\n"]}
@@ -36,7 +36,7 @@ export var CursorDirection;
36
36
  * @public
37
37
  * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.
38
38
  */
39
- // eslint-disable-next-line deprecation/deprecation
39
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
40
40
  export class CursorUpdatedEvent extends UiEvent {
41
41
  }
42
42
  /** Cursor Information class
@@ -148,6 +148,6 @@ CursorInformation._cursorPosition = new Point();
148
148
  CursorInformation._cursorDirection = CursorDirection.BottomRight;
149
149
  CursorInformation._cursorDirections = new Array();
150
150
  /** Gets the [[CursorUpdatedEvent]]. */
151
- // eslint-disable-next-line deprecation/deprecation
151
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
152
152
  CursorInformation.onCursorUpdatedEvent = new CursorUpdatedEvent();
153
153
  //# sourceMappingURL=CursorInformation.js.map