@itwin/appui-react 4.0.0-dev.13 → 4.0.0-dev.14

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 (646) hide show
  1. package/CHANGELOG.md +154 -1
  2. package/README.md +2 -2
  3. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  4. package/lib/cjs/appui-react/_variables.scss +11 -11
  5. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  8. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  10. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  11. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  12. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  15. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  17. package/lib/cjs/appui-react/accudraw/Calculator.scss +84 -84
  18. package/lib/cjs/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  19. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  21. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/MenuButton.scss +18 -18
  23. package/lib/cjs/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  24. package/lib/cjs/appui-react/accudraw/SquareButton.js.map +1 -1
  25. package/lib/cjs/appui-react/accudraw/SquareButton.scss +29 -29
  26. package/lib/cjs/appui-react/accudraw/backspace.svg +9 -9
  27. package/lib/cjs/appui-react/accudraw/constraint-2d.svg +11 -11
  28. package/lib/cjs/appui-react/accudraw/height-2.svg +10 -10
  29. package/lib/cjs/appui-react/accudraw/height.svg +11 -11
  30. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  31. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  32. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  34. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  35. package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
  36. package/lib/cjs/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  37. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  38. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  39. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  40. package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
  41. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +21 -21
  42. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  43. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
  44. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +1 -1
  45. package/lib/cjs/appui-react/childwindow/PopoutWidget.scss +10 -10
  46. package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
  47. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  48. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  49. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  50. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  51. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  52. package/lib/cjs/appui-react/configurableui/configurableui.scss +74 -74
  53. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  54. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  55. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  56. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  57. package/lib/cjs/appui-react/content/ContentLayout.scss +99 -99
  58. package/lib/cjs/appui-react/content/ContentLayoutManager.js.map +1 -1
  59. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  60. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  61. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +46 -46
  62. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  63. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  64. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  65. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  66. package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -1
  67. package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -1
  68. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  69. package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -1
  70. package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -1
  71. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  72. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  73. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  74. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  75. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  76. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  77. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  78. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  79. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  80. package/lib/cjs/appui-react/dialog/ContentDialog.scss +25 -25
  81. package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -1
  82. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  83. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  84. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  85. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  86. package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
  87. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  88. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  89. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  90. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  91. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  92. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  93. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +50 -50
  94. package/lib/cjs/appui-react/framework/FrameworkBackstage.js.map +1 -1
  95. package/lib/cjs/appui-react/framework/FrameworkChildWindows.js.map +1 -1
  96. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
  97. package/lib/cjs/appui-react/framework/FrameworkControls.js.map +1 -1
  98. package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
  99. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  100. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  101. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  102. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  103. package/lib/cjs/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  104. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  105. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  106. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  107. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  108. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  109. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +80 -80
  110. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  111. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +11 -11
  112. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  113. package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
  114. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  115. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  116. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  117. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  118. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  119. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  120. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  121. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  122. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  123. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
  124. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  125. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  126. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  127. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  128. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  129. package/lib/cjs/appui-react/messages/HollowIcon.js.map +1 -1
  130. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  131. package/lib/cjs/appui-react/messages/InputField.scss +82 -82
  132. package/lib/cjs/appui-react/messages/MessageLabel.js.map +1 -1
  133. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  134. package/lib/cjs/appui-react/messages/MessageSpan.js.map +1 -1
  135. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  136. package/lib/cjs/appui-react/messages/Pointer.scss +42 -42
  137. package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  138. package/lib/cjs/appui-react/messages/StatusMessageManager.js.map +1 -1
  139. package/lib/cjs/appui-react/messages/getToastCategory.js.map +1 -1
  140. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  141. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  142. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  143. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  144. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
  145. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  146. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  147. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  148. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  149. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +3 -0
  150. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  151. package/lib/cjs/appui-react/pickers/ListPicker.js +3 -1
  152. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  153. package/lib/cjs/appui-react/pickers/ListPicker.scss +306 -299
  154. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +6 -1
  155. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  156. package/lib/cjs/appui-react/pickers/ViewSelector.js +24 -9
  157. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  158. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  159. package/lib/cjs/appui-react/popup/CardPopup.scss +25 -25
  160. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  161. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  162. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  163. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +30 -30
  164. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  165. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  166. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  167. package/lib/cjs/appui-react/popup/PositionPopup.scss +28 -28
  168. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  169. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  170. package/lib/cjs/appui-react/redux/FrameworkState.js.map +1 -1
  171. package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
  172. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  173. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  174. package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
  175. package/lib/cjs/appui-react/redux/redux-ts.js.map +1 -1
  176. package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
  177. package/lib/cjs/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
  178. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  179. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  180. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  181. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  182. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
  183. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  184. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  185. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +65 -65
  186. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  187. package/lib/cjs/appui-react/shared/AnyItemDef.js.map +1 -1
  188. package/lib/cjs/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  189. package/lib/cjs/appui-react/shared/CommandItemDef.js.map +1 -1
  190. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  191. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  192. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  193. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  194. package/lib/cjs/appui-react/shared/ItemMap.js.map +1 -1
  195. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  196. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  197. package/lib/cjs/appui-react/shared/SelectionScope.js.map +1 -1
  198. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  199. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  200. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  201. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  202. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  203. package/lib/cjs/appui-react/statusbar/Field.js.map +1 -1
  204. package/lib/cjs/appui-react/statusbar/Field.scss +109 -109
  205. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  206. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  207. package/lib/cjs/appui-react/statusbar/LabelIndicator.scss +43 -43
  208. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  209. package/lib/cjs/appui-react/statusbar/Overflow.scss +27 -27
  210. package/lib/cjs/appui-react/statusbar/OverflowPanel.js.map +1 -1
  211. package/lib/cjs/appui-react/statusbar/OverflowPanel.scss +22 -22
  212. package/lib/cjs/appui-react/statusbar/Popup.js.map +1 -1
  213. package/lib/cjs/appui-react/statusbar/Separator.js.map +1 -1
  214. package/lib/cjs/appui-react/statusbar/Separator.scss +12 -12
  215. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  216. package/lib/cjs/appui-react/statusbar/StatusBar.scss +41 -41
  217. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  218. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  219. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  220. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  221. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  222. package/lib/cjs/appui-react/statusbar/dialog/Button.js.map +1 -1
  223. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  224. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  225. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  226. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  227. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  228. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  229. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  230. package/lib/cjs/appui-react/statusfields/SectionsField.scss +35 -35
  231. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  232. package/lib/cjs/appui-react/statusfields/SelectionInfo.scss +14 -14
  233. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  234. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +46 -46
  235. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  236. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  237. package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +10 -10
  238. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  239. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
  240. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  241. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
  242. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  243. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  244. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  245. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  246. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  247. package/lib/cjs/appui-react/toolbar/DragInteraction.js.map +1 -1
  248. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  249. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  250. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  251. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  252. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  253. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  254. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  255. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  256. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  257. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  258. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  259. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  260. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  261. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  262. package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
  263. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  264. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  265. package/lib/cjs/appui-react/toolsettings/ToolInformation.js.map +1 -1
  266. package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.js.map +1 -1
  267. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  268. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  269. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  270. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  271. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  272. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  273. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  274. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  275. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  276. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  277. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  278. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
  279. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  280. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  281. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  282. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  283. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  284. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  285. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  286. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  287. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  288. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  289. package/lib/cjs/appui-react/utils/ViewUtilities.js.map +1 -1
  290. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  291. package/lib/cjs/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  292. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  293. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +19 -19
  294. package/lib/cjs/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  295. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  296. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  297. package/lib/cjs/appui-react/widget-panels/StatusBar.scss +10 -10
  298. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  299. package/lib/cjs/appui-react/widget-panels/Tab.scss +14 -14
  300. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  301. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +41 -41
  302. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  303. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +20 -20
  304. package/lib/cjs/appui-react/widget-panels/useTransientState.js.map +1 -1
  305. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  306. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  307. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  308. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  309. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  310. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  311. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  312. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  313. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  314. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  315. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  316. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  317. package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
  318. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  319. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  320. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  321. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  322. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
  323. package/lib/cjs/appui-react.js.map +1 -1
  324. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  325. package/lib/esm/appui-react/_variables.scss +11 -11
  326. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  327. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  328. package/lib/esm/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  329. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  330. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  331. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  332. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  333. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  334. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  335. package/lib/esm/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  336. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  337. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  338. package/lib/esm/appui-react/accudraw/Calculator.scss +84 -84
  339. package/lib/esm/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  340. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  341. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  342. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  343. package/lib/esm/appui-react/accudraw/MenuButton.scss +18 -18
  344. package/lib/esm/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  345. package/lib/esm/appui-react/accudraw/SquareButton.js.map +1 -1
  346. package/lib/esm/appui-react/accudraw/SquareButton.scss +29 -29
  347. package/lib/esm/appui-react/accudraw/backspace.svg +9 -9
  348. package/lib/esm/appui-react/accudraw/constraint-2d.svg +11 -11
  349. package/lib/esm/appui-react/accudraw/height-2.svg +10 -10
  350. package/lib/esm/appui-react/accudraw/height.svg +11 -11
  351. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  352. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  353. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  354. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  355. package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  356. package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
  357. package/lib/esm/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  358. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  359. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  360. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  361. package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
  362. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +21 -21
  363. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  364. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
  365. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +1 -1
  366. package/lib/esm/appui-react/childwindow/PopoutWidget.scss +10 -10
  367. package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
  368. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  369. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  370. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  371. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  372. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  373. package/lib/esm/appui-react/configurableui/configurableui.scss +74 -74
  374. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  375. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  376. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  377. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  378. package/lib/esm/appui-react/content/ContentLayout.scss +99 -99
  379. package/lib/esm/appui-react/content/ContentLayoutManager.js.map +1 -1
  380. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  381. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  382. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +46 -46
  383. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  384. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  385. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  386. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  387. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -1
  388. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -1
  389. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  390. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -1
  391. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -1
  392. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  393. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  394. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  395. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  396. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  397. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  398. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  399. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  400. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  401. package/lib/esm/appui-react/dialog/ContentDialog.scss +25 -25
  402. package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -1
  403. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  404. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  405. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  406. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  407. package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
  408. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  409. package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  410. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  411. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  412. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  413. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  414. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +50 -50
  415. package/lib/esm/appui-react/framework/FrameworkBackstage.js.map +1 -1
  416. package/lib/esm/appui-react/framework/FrameworkChildWindows.js.map +1 -1
  417. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
  418. package/lib/esm/appui-react/framework/FrameworkControls.js.map +1 -1
  419. package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
  420. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  421. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  422. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  423. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  424. package/lib/esm/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  425. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  426. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  427. package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  428. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  429. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  430. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +80 -80
  431. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  432. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +11 -11
  433. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  434. package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -1
  435. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  436. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  437. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  438. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  439. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  440. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  441. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  442. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  443. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  444. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
  445. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  446. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  447. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  448. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  449. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  450. package/lib/esm/appui-react/messages/HollowIcon.js.map +1 -1
  451. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  452. package/lib/esm/appui-react/messages/InputField.scss +82 -82
  453. package/lib/esm/appui-react/messages/MessageLabel.js.map +1 -1
  454. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  455. package/lib/esm/appui-react/messages/MessageSpan.js.map +1 -1
  456. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  457. package/lib/esm/appui-react/messages/Pointer.scss +42 -42
  458. package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  459. package/lib/esm/appui-react/messages/StatusMessageManager.js.map +1 -1
  460. package/lib/esm/appui-react/messages/getToastCategory.js.map +1 -1
  461. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  462. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  463. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  464. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  465. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
  466. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  467. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  468. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  469. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  470. package/lib/esm/appui-react/pickers/ListPicker.d.ts +3 -0
  471. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  472. package/lib/esm/appui-react/pickers/ListPicker.js +4 -2
  473. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  474. package/lib/esm/appui-react/pickers/ListPicker.scss +306 -299
  475. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +6 -1
  476. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  477. package/lib/esm/appui-react/pickers/ViewSelector.js +24 -9
  478. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  479. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  480. package/lib/esm/appui-react/popup/CardPopup.scss +25 -25
  481. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  482. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  483. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  484. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +30 -30
  485. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  486. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  487. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  488. package/lib/esm/appui-react/popup/PositionPopup.scss +28 -28
  489. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  490. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  491. package/lib/esm/appui-react/redux/FrameworkState.js.map +1 -1
  492. package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
  493. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  494. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  495. package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
  496. package/lib/esm/appui-react/redux/redux-ts.js.map +1 -1
  497. package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
  498. package/lib/esm/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
  499. package/lib/esm/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  500. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  501. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  502. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  503. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
  504. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  505. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  506. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +65 -65
  507. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  508. package/lib/esm/appui-react/shared/AnyItemDef.js.map +1 -1
  509. package/lib/esm/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  510. package/lib/esm/appui-react/shared/CommandItemDef.js.map +1 -1
  511. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  512. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  513. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  514. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  515. package/lib/esm/appui-react/shared/ItemMap.js.map +1 -1
  516. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  517. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  518. package/lib/esm/appui-react/shared/SelectionScope.js.map +1 -1
  519. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  520. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  521. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  522. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  523. package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  524. package/lib/esm/appui-react/statusbar/Field.js.map +1 -1
  525. package/lib/esm/appui-react/statusbar/Field.scss +109 -109
  526. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  527. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  528. package/lib/esm/appui-react/statusbar/LabelIndicator.scss +43 -43
  529. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  530. package/lib/esm/appui-react/statusbar/Overflow.scss +27 -27
  531. package/lib/esm/appui-react/statusbar/OverflowPanel.js.map +1 -1
  532. package/lib/esm/appui-react/statusbar/OverflowPanel.scss +22 -22
  533. package/lib/esm/appui-react/statusbar/Popup.js.map +1 -1
  534. package/lib/esm/appui-react/statusbar/Separator.js.map +1 -1
  535. package/lib/esm/appui-react/statusbar/Separator.scss +12 -12
  536. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  537. package/lib/esm/appui-react/statusbar/StatusBar.scss +41 -41
  538. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  539. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  540. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  541. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  542. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  543. package/lib/esm/appui-react/statusbar/dialog/Button.js.map +1 -1
  544. package/lib/esm/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  545. package/lib/esm/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  546. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  547. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  548. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  549. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  550. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  551. package/lib/esm/appui-react/statusfields/SectionsField.scss +35 -35
  552. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  553. package/lib/esm/appui-react/statusfields/SelectionInfo.scss +14 -14
  554. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  555. package/lib/esm/appui-react/statusfields/SelectionScope.scss +46 -46
  556. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  557. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  558. package/lib/esm/appui-react/statusfields/ViewAttributes.scss +10 -10
  559. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  560. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
  561. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  562. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
  563. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  564. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  565. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  566. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  567. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  568. package/lib/esm/appui-react/toolbar/DragInteraction.js.map +1 -1
  569. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  570. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  571. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  572. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  573. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  574. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  575. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  576. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  577. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  578. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  579. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  580. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  581. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  582. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  583. package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
  584. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  585. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  586. package/lib/esm/appui-react/toolsettings/ToolInformation.js.map +1 -1
  587. package/lib/esm/appui-react/toolsettings/ToolSettingsManager.js.map +1 -1
  588. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  589. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  590. package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  591. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  592. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  593. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  594. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  595. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  596. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  597. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  598. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  599. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
  600. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  601. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  602. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  603. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  604. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  605. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  606. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  607. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  608. package/lib/esm/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  609. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  610. package/lib/esm/appui-react/utils/ViewUtilities.js.map +1 -1
  611. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  612. package/lib/esm/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  613. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  614. package/lib/esm/appui-react/widget-panels/Frontstage.scss +19 -19
  615. package/lib/esm/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  616. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  617. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  618. package/lib/esm/appui-react/widget-panels/StatusBar.scss +10 -10
  619. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  620. package/lib/esm/appui-react/widget-panels/Tab.scss +14 -14
  621. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  622. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +41 -41
  623. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  624. package/lib/esm/appui-react/widget-panels/Toolbars.scss +20 -20
  625. package/lib/esm/appui-react/widget-panels/useTransientState.js.map +1 -1
  626. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  627. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  628. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  629. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  630. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  631. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  632. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  633. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  634. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  635. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  636. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  637. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  638. package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
  639. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  640. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  641. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  642. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  643. package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -1
  644. package/lib/esm/appui-react.js.map +1 -1
  645. package/lib/public/locales/en/UiFramework.json +381 -381
  646. package/package.json +31 -29
@@ -1,99 +1,99 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/core-react/lib/cjs/core-react/base/base";
6
- @import "~@itwin/core-react/lib/cjs/core-react/style/breakpoints";
7
-
8
- $resizer-size: 6px;
9
- $resizer-size-large: 14px;
10
-
11
- #uifw-contentlayout-div {
12
- position: absolute;
13
- top: 0;
14
- left: 0;
15
- right: 0;
16
- height: 100%;
17
- pointer-events: auto;
18
-
19
- .Pane2 {
20
- height: 100%;
21
- }
22
-
23
- .Resizer {
24
- background-color: var(--iui-color-border);
25
- box-sizing: border-box;
26
- background-clip: padding-box;
27
- margin: 0;
28
- transition: all var(--iui-duration-1) ease;
29
-
30
- &:hover {
31
- background-color: var(--iui-color-border-accent);
32
- }
33
-
34
- &.horizontal {
35
- height: $resizer-size;
36
- min-height: $resizer-size;
37
- cursor: ns-resize;
38
- width: 100%;
39
-
40
- @include for-tablet-landscape-down {
41
- height: $resizer-size-large;
42
- min-height: $resizer-size-large;
43
- }
44
- }
45
-
46
- &.vertical {
47
- width: $resizer-size;
48
- min-width: $resizer-size;
49
- cursor: ew-resize;
50
-
51
- @include for-tablet-landscape-down {
52
- width: $resizer-size-large;
53
- min-width: $resizer-size-large;
54
- }
55
- }
56
-
57
- &.disabled {
58
- cursor: not-allowed;
59
-
60
- &:hover {
61
- border-color: transparent;
62
- }
63
- }
64
- }
65
-
66
- .uifw-contentlayout-full-size {
67
- @include uicore-full-size;
68
- }
69
- }
70
-
71
- div.uifw-contentlayout-full-size div.SplitPane div.Pane {
72
- overflow: hidden;
73
- }
74
-
75
- .uifw-contentlayout-wrapper {
76
- position: relative;
77
- width: 100%;
78
- height: 100%;
79
-
80
- .uifw-contentlayout-overlay-div {
81
- position: absolute;
82
- top: 0;
83
- left: 0;
84
- width: 100%;
85
- height: 100%;
86
- border-style: solid;
87
- border-width: 4px 0 0 0;
88
- box-sizing: border-box;
89
- pointer-events: none;
90
-
91
- &.uifw-contentlayout-overlay-active {
92
- border-color: var(--iui-color-border-warning);
93
- }
94
-
95
- &.uifw-contentlayout-overlay-inactive {
96
- border-color: transparent;
97
- }
98
- }
99
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "~@itwin/core-react/lib/cjs/core-react/base/base";
6
+ @import "~@itwin/core-react/lib/cjs/core-react/style/breakpoints";
7
+
8
+ $resizer-size: 6px;
9
+ $resizer-size-large: 14px;
10
+
11
+ #uifw-contentlayout-div {
12
+ position: absolute;
13
+ top: 0;
14
+ left: 0;
15
+ right: 0;
16
+ height: 100%;
17
+ pointer-events: auto;
18
+
19
+ .Pane2 {
20
+ height: 100%;
21
+ }
22
+
23
+ .Resizer {
24
+ background-color: var(--iui-color-border);
25
+ box-sizing: border-box;
26
+ background-clip: padding-box;
27
+ margin: 0;
28
+ transition: all var(--iui-duration-1) ease;
29
+
30
+ &:hover {
31
+ background-color: var(--iui-color-border-accent);
32
+ }
33
+
34
+ &.horizontal {
35
+ height: $resizer-size;
36
+ min-height: $resizer-size;
37
+ cursor: ns-resize;
38
+ width: 100%;
39
+
40
+ @include for-tablet-landscape-down {
41
+ height: $resizer-size-large;
42
+ min-height: $resizer-size-large;
43
+ }
44
+ }
45
+
46
+ &.vertical {
47
+ width: $resizer-size;
48
+ min-width: $resizer-size;
49
+ cursor: ew-resize;
50
+
51
+ @include for-tablet-landscape-down {
52
+ width: $resizer-size-large;
53
+ min-width: $resizer-size-large;
54
+ }
55
+ }
56
+
57
+ &.disabled {
58
+ cursor: not-allowed;
59
+
60
+ &:hover {
61
+ border-color: transparent;
62
+ }
63
+ }
64
+ }
65
+
66
+ .uifw-contentlayout-full-size {
67
+ @include uicore-full-size;
68
+ }
69
+ }
70
+
71
+ div.uifw-contentlayout-full-size div.SplitPane div.Pane {
72
+ overflow: hidden;
73
+ }
74
+
75
+ .uifw-contentlayout-wrapper {
76
+ position: relative;
77
+ width: 100%;
78
+ height: 100%;
79
+
80
+ .uifw-contentlayout-overlay-div {
81
+ position: absolute;
82
+ top: 0;
83
+ left: 0;
84
+ width: 100%;
85
+ height: 100%;
86
+ border-style: solid;
87
+ border-width: 4px 0 0 0;
88
+ box-sizing: border-box;
89
+ pointer-events: none;
90
+
91
+ &.uifw-contentlayout-overlay-active {
92
+ border-color: var(--iui-color-border-warning);
93
+ }
94
+
95
+ &.uifw-contentlayout-overlay-inactive {
96
+ border-color: transparent;
97
+ }
98
+ }
99
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"ContentLayoutManager.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentLayoutManager.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAKH,OAAO,EAAE,4BAA4B,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1F;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IAC/B,qEAAqE;IAC9D,MAAM,CAAC,YAAY,CAAC,KAAmD;QAC5E,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,iBAAiB,CAAC,iBAAmD,EAAE,qBAA0C;QAC7H,OAAO,QAAQ,CAAC,WAAW,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;IACxE,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,SAAiB;QACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,SAAS,CAAC,QAAgB,EAAE,SAA2B;QACnE,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,qCAAqC;IAC9B,MAAM,KAAK,YAAY;QAC5B,OAAO,QAAQ,CAAC,YAAY,CAAC;IAC/B,CAAC;IAED,oCAAoC;IAC7B,MAAM,KAAK,kBAAkB;QAClC,OAAO,QAAQ,CAAC,kBAAkB,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,gBAAkC,EAAE,YAA0B;QAChG,OAAO,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,YAA0B;QAClE,OAAO,QAAQ,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC;IAED;OACG;IACI,MAAM,CAAC,mBAAmB;QAC/B,OAAO,QAAQ,CAAC,aAAa,EAAE,CAAC;IAClC,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport { ContentLayoutProps } from \"@itwin/appui-abstract\";\nimport { ContentGroup, ContentGroupProps } from \"./ContentGroup\";\nimport { ContentLayoutDef } from \"./ContentLayout\";\nimport { InternalContentLayoutManager as internal } from \"./InternalContentLayoutManager\";\n\n/** ContentLayout Manager class.\n * @public\n * @deprecated in 3.7. Use `UiFramework.content.layouts` property.\n */\nexport class ContentLayoutManager {\n /** build a layout key that is unique for group layout combination */\n public static getLayoutKey(props: { contentGroupId: string, layoutId: string }): string {\n return internal.getKey(props);\n }\n\n /** Return a LayoutDef that is specific to a content group.\n * @returns the [[ContentLayoutDef]] if found, or undefined otherwise\n */\n public static getLayoutForGroup(contentGroupProps: ContentGroupProps | ContentGroup, overrideContentLayout?: ContentLayoutProps): ContentLayoutDef {\n return internal.getForGroup(contentGroupProps, overrideContentLayout);\n }\n\n /** Finds a Content Layout with a given id.\n * @param layoutKey group specific layout id, see `getLayoutKey`\n * @returns the [[ContentLayoutDef]] if found, or undefined otherwise\n */\n public static findLayout(layoutKey: string): ContentLayoutDef | undefined {\n return internal.find(layoutKey);\n }\n\n /** Adds a Content Layout.\n * @param layoutId the id of the Content Layout to add\n * @param layoutDef the Content Layout definition to add\n */\n public static addLayout(layoutId: string, layoutDef: ContentLayoutDef): void {\n return internal.add(layoutId, layoutDef);\n }\n\n /** Gets the active Content Layout */\n public static get activeLayout(): ContentLayoutDef | undefined {\n return internal.activeLayout;\n }\n\n /** Gets the active Content Group */\n public static get activeContentGroup(): ContentGroup | undefined {\n return internal.activeContentGroup;\n }\n\n /** Sets the active Content Layout, Content Group and Content Control.\n * @param contentLayoutDef Content layout to make active\n * @param contentGroup Content Group to make active\n */\n public static async setActiveLayout(contentLayoutDef: ContentLayoutDef, contentGroup: ContentGroup): Promise<void> {\n return internal.setActive(contentLayoutDef, contentGroup);\n }\n\n /** Sets the active Content Group.\n * @param contentGroup Content Group to make active\n */\n public static async setActiveContentGroup(contentGroup: ContentGroup): Promise<void> {\n return internal.setActiveContentGroup(contentGroup);\n }\n\n /** Refreshes the active layout and content group.\n */\n public static refreshActiveLayout(): void {\n return internal.refreshActive();\n }\n}\n\n"]}
1
+ {"version":3,"file":"ContentLayoutManager.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentLayoutManager.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAKH,OAAO,EAAE,4BAA4B,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1F;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IAC/B,qEAAqE;IAC9D,MAAM,CAAC,YAAY,CAAC,KAAmD;QAC5E,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,iBAAiB,CAAC,iBAAmD,EAAE,qBAA0C;QAC7H,OAAO,QAAQ,CAAC,WAAW,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;IACxE,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,SAAiB;QACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,SAAS,CAAC,QAAgB,EAAE,SAA2B;QACnE,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,qCAAqC;IAC9B,MAAM,KAAK,YAAY;QAC5B,OAAO,QAAQ,CAAC,YAAY,CAAC;IAC/B,CAAC;IAED,oCAAoC;IAC7B,MAAM,KAAK,kBAAkB;QAClC,OAAO,QAAQ,CAAC,kBAAkB,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,gBAAkC,EAAE,YAA0B;QAChG,OAAO,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,YAA0B;QAClE,OAAO,QAAQ,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC;IAED;OACG;IACI,MAAM,CAAC,mBAAmB;QAC/B,OAAO,QAAQ,CAAC,aAAa,EAAE,CAAC;IAClC,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ContentView\r\n */\r\n\r\nimport { ContentLayoutProps } from \"@itwin/appui-abstract\";\r\nimport { ContentGroup, ContentGroupProps } from \"./ContentGroup\";\r\nimport { ContentLayoutDef } from \"./ContentLayout\";\r\nimport { InternalContentLayoutManager as internal } from \"./InternalContentLayoutManager\";\r\n\r\n/** ContentLayout Manager class.\r\n * @public\r\n * @deprecated in 3.7. Use `UiFramework.content.layouts` property.\r\n */\r\nexport class ContentLayoutManager {\r\n /** build a layout key that is unique for group layout combination */\r\n public static getLayoutKey(props: { contentGroupId: string, layoutId: string }): string {\r\n return internal.getKey(props);\r\n }\r\n\r\n /** Return a LayoutDef that is specific to a content group.\r\n * @returns the [[ContentLayoutDef]] if found, or undefined otherwise\r\n */\r\n public static getLayoutForGroup(contentGroupProps: ContentGroupProps | ContentGroup, overrideContentLayout?: ContentLayoutProps): ContentLayoutDef {\r\n return internal.getForGroup(contentGroupProps, overrideContentLayout);\r\n }\r\n\r\n /** Finds a Content Layout with a given id.\r\n * @param layoutKey group specific layout id, see `getLayoutKey`\r\n * @returns the [[ContentLayoutDef]] if found, or undefined otherwise\r\n */\r\n public static findLayout(layoutKey: string): ContentLayoutDef | undefined {\r\n return internal.find(layoutKey);\r\n }\r\n\r\n /** Adds a Content Layout.\r\n * @param layoutId the id of the Content Layout to add\r\n * @param layoutDef the Content Layout definition to add\r\n */\r\n public static addLayout(layoutId: string, layoutDef: ContentLayoutDef): void {\r\n return internal.add(layoutId, layoutDef);\r\n }\r\n\r\n /** Gets the active Content Layout */\r\n public static get activeLayout(): ContentLayoutDef | undefined {\r\n return internal.activeLayout;\r\n }\r\n\r\n /** Gets the active Content Group */\r\n public static get activeContentGroup(): ContentGroup | undefined {\r\n return internal.activeContentGroup;\r\n }\r\n\r\n /** Sets the active Content Layout, Content Group and Content Control.\r\n * @param contentLayoutDef Content layout to make active\r\n * @param contentGroup Content Group to make active\r\n */\r\n public static async setActiveLayout(contentLayoutDef: ContentLayoutDef, contentGroup: ContentGroup): Promise<void> {\r\n return internal.setActive(contentLayoutDef, contentGroup);\r\n }\r\n\r\n /** Sets the active Content Group.\r\n * @param contentGroup Content Group to make active\r\n */\r\n public static async setActiveContentGroup(contentGroup: ContentGroup): Promise<void> {\r\n return internal.setActiveContentGroup(contentGroup);\r\n }\r\n\r\n /** Refreshes the active layout and content group.\r\n */\r\n public static refreshActiveLayout(): void {\r\n return internal.refreshActive();\r\n }\r\n}\r\n\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentViewManager.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentViewManager.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH,OAAO,EAAE,0BAA0B,IAAI,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAEtF;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IACtB,MAAM,KAAK,uBAAuB,KAAK,OAAO,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAExF,wDAAwD;IACjD,MAAM,KAAK,WAAW;QAC3B,OAAO,QAAQ,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,oDAAoD;IAC7C,MAAM,CAAC,YAAY,CAAC,SAAkB;QAC3C,OAAO,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,6CAA6C;IACtC,MAAM,KAAK,2BAA2B,KAAK,OAAO,QAAQ,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAEhG,wDAAwD;IAEjD,MAAM,KAAK,8BAA8B,KAAK,OAAO,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAEtG,oDAAoD;IAC7C,MAAM,CAAC,gBAAgB;QAC5B,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC;IAED,wCAAwC;IACjC,MAAM,CAAC,uBAAuB;QACnC,OAAO,QAAQ,CAAC,uBAAuB,EAAE,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,yBAAyB,CAAC,cAA+B;QACrE,OAAO,QAAQ,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;IAC5D,CAAC;IAEM,MAAM,CAAC,0BAA0B,CAAC,cAA+B;QACtE,OAAO,QAAQ,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC;IAED,yCAAyC;IAClC,MAAM,CAAC,gBAAgB,CAAC,aAA+B,EAAE,oBAAoB,GAAG,KAAK;QAC1F,OAAO,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;IACjE,CAAC;IAED,8CAA8C;IACvC,MAAM,CAAC,oBAAoB,CAAC,aAA8B;QAC/D,OAAO,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,kBAAkB,CAAC,OAAmC;QAClE,OAAO,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,oBAAoB,CAAC,OAAmC;QACpE,OAAO,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,oBAAoB,CAAC,OAAmC;QACpE,OAAO,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,yBAAyB,CAAC,OAAmC;QACzE,OAAO,QAAQ,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,eAAe,CAAC,OAAmC;QAC/D,OAAO,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,qBAAqB,CAAC,OAAmC;QACrE,OAAO,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport * as React from \"react\";\nimport { ContentControl } from \"./ContentControl\";\nimport { InternalContentViewManager as internal } from \"./InternalContentViewManager\";\n\n/** Content View Manager class.\n * @public\n * @deprecated in 3.7. Use `UiFramework.content` property\n */\nexport class ContentViewManager {\n public static get onMouseDownChangedEvent() { return internal.onMouseDownChangedEvent; }\n\n /** Determines if the mouse is down in a content view */\n public static get isMouseDown(): boolean {\n return internal.isMouseDown;\n }\n\n /** Sets the mouse down status for a content view */\n public static setMouseDown(mouseDown: boolean): void {\n return internal.setMouseDown(mouseDown);\n }\n\n /** Gets the [[ActiveContentChangedEvent]] */\n public static get onActiveContentChangedEvent() { return internal.onActiveContentChangedEvent; }\n\n /** Fires when floating contents are added or removed */\n\n public static get onAvailableContentChangedEvent() { return internal.onAvailableContentChangedEvent; }\n\n /** Gets the active content as a React.ReactNode. */\n public static getActiveContent(): React.ReactNode | undefined {\n return internal.getActive();\n }\n\n /** Return the active ContentControl. */\n public static getActiveContentControl(): ContentControl | undefined {\n return internal.getActiveContentControl();\n }\n\n public static addFloatingContentControl(contentControl?: ContentControl) {\n return internal.addFloatingContentControl(contentControl);\n }\n\n public static dropFloatingContentControl(contentControl?: ContentControl) {\n return internal.dropFloatingContentControl(contentControl);\n }\n\n /** Sets the active [[ContentControl]] */\n public static setActiveContent(activeContent?: React.ReactNode, forceEventProcessing = false): void {\n return internal.setActive(activeContent, forceEventProcessing);\n }\n\n /** Refreshes the active [[ContentControl]] */\n public static refreshActiveContent(activeContent: React.ReactNode) {\n return internal.refreshActive(activeContent);\n }\n\n /**\n * Determines if content displays a Sheet view.\n * @param content ContentControl to check\n */\n public static isContentSheetView(content: ContentControl | undefined): boolean {\n return internal.isContentSheetView(content);\n }\n\n /**\n * Determines if content displays a Drawing view.\n * @param content ContentControl to check\n */\n public static isContentDrawingView(content: ContentControl | undefined): boolean {\n return internal.isContentDrawingView(content);\n }\n\n /**\n * Determines if content displays a Spatial view.\n * @param content ContentControl to check\n */\n public static isContentSpatialView(content: ContentControl | undefined): boolean {\n return internal.isContentSpatialView(content);\n }\n\n /**\n * Determines if content displays a Orthographic view.\n * @param content ContentControl to check\n */\n public static isContentOrthographicView(content: ContentControl | undefined): boolean {\n return internal.isContentOrthographicView(content);\n }\n\n /**\n * Determines if content displays a 3d view.\n * @param content ContentControl to check\n */\n public static isContent3dView(content: ContentControl | undefined): boolean {\n return internal.isContent3dView(content);\n }\n\n /**\n * Determines if viewport supports use of a camera.\n * @param content ContentControl to check\n */\n public static contentSupportsCamera(content: ContentControl | undefined): boolean {\n return internal.contentSupportsCamera(content);\n }\n}\n"]}
1
+ {"version":3,"file":"ContentViewManager.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentViewManager.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH,OAAO,EAAE,0BAA0B,IAAI,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAEtF;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IACtB,MAAM,KAAK,uBAAuB,KAAK,OAAO,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAExF,wDAAwD;IACjD,MAAM,KAAK,WAAW;QAC3B,OAAO,QAAQ,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,oDAAoD;IAC7C,MAAM,CAAC,YAAY,CAAC,SAAkB;QAC3C,OAAO,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,6CAA6C;IACtC,MAAM,KAAK,2BAA2B,KAAK,OAAO,QAAQ,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAEhG,wDAAwD;IAEjD,MAAM,KAAK,8BAA8B,KAAK,OAAO,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAEtG,oDAAoD;IAC7C,MAAM,CAAC,gBAAgB;QAC5B,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC;IAED,wCAAwC;IACjC,MAAM,CAAC,uBAAuB;QACnC,OAAO,QAAQ,CAAC,uBAAuB,EAAE,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,yBAAyB,CAAC,cAA+B;QACrE,OAAO,QAAQ,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;IAC5D,CAAC;IAEM,MAAM,CAAC,0BAA0B,CAAC,cAA+B;QACtE,OAAO,QAAQ,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC;IAED,yCAAyC;IAClC,MAAM,CAAC,gBAAgB,CAAC,aAA+B,EAAE,oBAAoB,GAAG,KAAK;QAC1F,OAAO,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;IACjE,CAAC;IAED,8CAA8C;IACvC,MAAM,CAAC,oBAAoB,CAAC,aAA8B;QAC/D,OAAO,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,kBAAkB,CAAC,OAAmC;QAClE,OAAO,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,oBAAoB,CAAC,OAAmC;QACpE,OAAO,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,oBAAoB,CAAC,OAAmC;QACpE,OAAO,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,yBAAyB,CAAC,OAAmC;QACzE,OAAO,QAAQ,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,eAAe,CAAC,OAAmC;QAC/D,OAAO,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,qBAAqB,CAAC,OAAmC;QACrE,OAAO,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ContentView\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ContentControl } from \"./ContentControl\";\r\nimport { InternalContentViewManager as internal } from \"./InternalContentViewManager\";\r\n\r\n/** Content View Manager class.\r\n * @public\r\n * @deprecated in 3.7. Use `UiFramework.content` property\r\n */\r\nexport class ContentViewManager {\r\n public static get onMouseDownChangedEvent() { return internal.onMouseDownChangedEvent; }\r\n\r\n /** Determines if the mouse is down in a content view */\r\n public static get isMouseDown(): boolean {\r\n return internal.isMouseDown;\r\n }\r\n\r\n /** Sets the mouse down status for a content view */\r\n public static setMouseDown(mouseDown: boolean): void {\r\n return internal.setMouseDown(mouseDown);\r\n }\r\n\r\n /** Gets the [[ActiveContentChangedEvent]] */\r\n public static get onActiveContentChangedEvent() { return internal.onActiveContentChangedEvent; }\r\n\r\n /** Fires when floating contents are added or removed */\r\n\r\n public static get onAvailableContentChangedEvent() { return internal.onAvailableContentChangedEvent; }\r\n\r\n /** Gets the active content as a React.ReactNode. */\r\n public static getActiveContent(): React.ReactNode | undefined {\r\n return internal.getActive();\r\n }\r\n\r\n /** Return the active ContentControl. */\r\n public static getActiveContentControl(): ContentControl | undefined {\r\n return internal.getActiveContentControl();\r\n }\r\n\r\n public static addFloatingContentControl(contentControl?: ContentControl) {\r\n return internal.addFloatingContentControl(contentControl);\r\n }\r\n\r\n public static dropFloatingContentControl(contentControl?: ContentControl) {\r\n return internal.dropFloatingContentControl(contentControl);\r\n }\r\n\r\n /** Sets the active [[ContentControl]] */\r\n public static setActiveContent(activeContent?: React.ReactNode, forceEventProcessing = false): void {\r\n return internal.setActive(activeContent, forceEventProcessing);\r\n }\r\n\r\n /** Refreshes the active [[ContentControl]] */\r\n public static refreshActiveContent(activeContent: React.ReactNode) {\r\n return internal.refreshActive(activeContent);\r\n }\r\n\r\n /**\r\n * Determines if content displays a Sheet view.\r\n * @param content ContentControl to check\r\n */\r\n public static isContentSheetView(content: ContentControl | undefined): boolean {\r\n return internal.isContentSheetView(content);\r\n }\r\n\r\n /**\r\n * Determines if content displays a Drawing view.\r\n * @param content ContentControl to check\r\n */\r\n public static isContentDrawingView(content: ContentControl | undefined): boolean {\r\n return internal.isContentDrawingView(content);\r\n }\r\n\r\n /**\r\n * Determines if content displays a Spatial view.\r\n * @param content ContentControl to check\r\n */\r\n public static isContentSpatialView(content: ContentControl | undefined): boolean {\r\n return internal.isContentSpatialView(content);\r\n }\r\n\r\n /**\r\n * Determines if content displays a Orthographic view.\r\n * @param content ContentControl to check\r\n */\r\n public static isContentOrthographicView(content: ContentControl | undefined): boolean {\r\n return internal.isContentOrthographicView(content);\r\n }\r\n\r\n /**\r\n * Determines if content displays a 3d view.\r\n * @param content ContentControl to check\r\n */\r\n public static isContent3dView(content: ContentControl | undefined): boolean {\r\n return internal.isContent3dView(content);\r\n }\r\n\r\n /**\r\n * Determines if viewport supports use of a camera.\r\n * @param content ContentControl to check\r\n */\r\n public static contentSupportsCamera(content: ContentControl | undefined): boolean {\r\n return internal.contentSupportsCamera(content);\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultViewOverlay.js","sourceRoot":"","sources":["../../../../src/appui-react/content/DefaultViewOverlay.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAW7F;;;;GAIG;AACH,uBAAuB;AACvB,MAAM,UAAU,kBAAkB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAoB;IAC5F,MAAM,yBAAyB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,qCAAqC,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IACzF,MAAM,4BAA4B,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IAChF,MAAM,eAAe,GAAG,iBAAiB,EAAE,CAAC;IAE5C,IAAI,CAAC,eAAe;QAClB,OAAO,IAAI,CAAC;IAEd,wBAAwB;IACxB,IAAI,yBAAyB,IAAI,CAAC,CAAC,cAAc,EAAE,kBAAkB,EAAE,8BAA8B,EAAE;QACrG,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,aAAa,IAAC,YAAY,EAAE,yBAAyB,GAAI,CACtD,CACF,CACP,CAAC;KACH;IAED,IAAI,qCAAqC,IAAI,CAAC,CAAC,cAAc,EAAE,kBAAkB,EAAE,iCAAiC,EAAE;QACpH,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,iBAAiB,IAChB,SAAS,EAAE,qCAAqC,CAAC,KAAK,EACtD,OAAO,EAAE,qCAAqC,CAAC,GAAG,EAClD,eAAe,EAAE,qCAAqC,CAAC,eAAe,EACtE,aAAa,EAAE,qCAAqC,CAAC,QAAQ,EAC7D,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,qCAAqC,CAAC,0BAA0B,EAC1E,WAAW,EAAE,WAAW,GACxB,CACE,CACF,CACP,CAAC;KACH;IAED,IAAI,4BAA4B,IAAI,CAAC,CAAC,cAAc,EAAE,kBAAkB,EAAE,kCAAkC,EAAE;QAC5G,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,iBAAiB,IAChB,SAAS,EAAE,4BAA4B,CAAC,KAAK,EAC7C,OAAO,EAAE,4BAA4B,CAAC,GAAG,EACzC,eAAe,EAAE,4BAA4B,CAAC,eAAe,EAC7D,aAAa,EAAE,4BAA4B,CAAC,QAAQ,EACpD,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,4BAA4B,CAAC,0BAA0B,EACjE,WAAW,EAAE,WAAW,GACxB,CACE,CACF,CACP,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,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 \"./DefaultViewOverlay.scss\";\nimport * as React from \"react\";\nimport { ScreenViewport } from \"@itwin/core-frontend\";\nimport { SolarTimeline, TimelineComponent } from \"@itwin/imodel-components-react\";\nimport { useScheduleAnimationDataProvider } from \"../hooks/useScheduleAnimationDataProvider\";\nimport { useActiveViewport } from \"../hooks/useActiveViewport\";\nimport { useSolarDataProvider } from \"../hooks/useSolarDataProvider\";\nimport { useAnalysisAnimationDataProvider } from \"../hooks/useAnalysisAnimationDataProvider\";\n\n/** Props of Viewport Overlay Control that show timelines\n * @public\n */\nexport interface ViewOverlayProps {\n viewport: ScreenViewport;\n onPlayPause?: (playing: boolean) => void; // callback with play/pause button is pressed\n featureOptions?: { [key: string]: any };\n}\n\n/**\n * Default viewport overlay that examines ViewState of the active view for a schedule script, analysis data, or solar data. If one of these is detected, the corresponding\n * data provider is attached to the TimelineComponent and the overlay is made visible.\n * @public\n */\n// istanbul ignore next\nexport function DefaultViewOverlay({ viewport, onPlayPause, featureOptions }: ViewOverlayProps) {\n const solarDataTimelineProvider = useSolarDataProvider(viewport);\n const analysisAnimationTimelineDataProvider = useAnalysisAnimationDataProvider(viewport);\n const scheduleTimelineDataProvider = useScheduleAnimationDataProvider(viewport);\n const currentViewport = useActiveViewport();\n\n if (!currentViewport)\n return null;\n\n // Solar gets first shot\n if (solarDataTimelineProvider && !!featureOptions?.defaultViewOverlay?.enableSolarTimelineViewOverlay) {\n return (\n <div className=\"uifw-view-overlay\">\n <div className=\"uifw-animation-overlay\">\n <SolarTimeline dataProvider={solarDataTimelineProvider} />\n </div>\n </div>\n );\n }\n\n if (analysisAnimationTimelineDataProvider && !!featureOptions?.defaultViewOverlay?.enableAnalysisTimelineViewOverlay) {\n return (\n <div className=\"uifw-view-overlay\">\n <div className=\"uifw-animation-overlay\">\n <TimelineComponent\n startDate={analysisAnimationTimelineDataProvider.start}\n endDate={analysisAnimationTimelineDataProvider.end}\n initialDuration={analysisAnimationTimelineDataProvider.initialDuration}\n totalDuration={analysisAnimationTimelineDataProvider.duration}\n minimized={true}\n onChange={analysisAnimationTimelineDataProvider.onAnimationFractionChanged}\n onPlayPause={onPlayPause}\n />\n </div>\n </div>\n );\n }\n\n if (scheduleTimelineDataProvider && !!featureOptions?.defaultViewOverlay?.enableScheduleAnimationViewOverlay) {\n return (\n <div className=\"uifw-view-overlay\">\n <div className=\"uifw-animation-overlay\">\n <TimelineComponent\n startDate={scheduleTimelineDataProvider.start}\n endDate={scheduleTimelineDataProvider.end}\n initialDuration={scheduleTimelineDataProvider.initialDuration}\n totalDuration={scheduleTimelineDataProvider.duration}\n minimized={true}\n onChange={scheduleTimelineDataProvider.onAnimationFractionChanged}\n onPlayPause={onPlayPause}\n />\n </div>\n </div>\n );\n }\n\n return null;\n}\n"]}
1
+ {"version":3,"file":"DefaultViewOverlay.js","sourceRoot":"","sources":["../../../../src/appui-react/content/DefaultViewOverlay.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAW7F;;;;GAIG;AACH,uBAAuB;AACvB,MAAM,UAAU,kBAAkB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAoB;IAC5F,MAAM,yBAAyB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,qCAAqC,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IACzF,MAAM,4BAA4B,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IAChF,MAAM,eAAe,GAAG,iBAAiB,EAAE,CAAC;IAE5C,IAAI,CAAC,eAAe;QAClB,OAAO,IAAI,CAAC;IAEd,wBAAwB;IACxB,IAAI,yBAAyB,IAAI,CAAC,CAAC,cAAc,EAAE,kBAAkB,EAAE,8BAA8B,EAAE;QACrG,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,aAAa,IAAC,YAAY,EAAE,yBAAyB,GAAI,CACtD,CACF,CACP,CAAC;KACH;IAED,IAAI,qCAAqC,IAAI,CAAC,CAAC,cAAc,EAAE,kBAAkB,EAAE,iCAAiC,EAAE;QACpH,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,iBAAiB,IAChB,SAAS,EAAE,qCAAqC,CAAC,KAAK,EACtD,OAAO,EAAE,qCAAqC,CAAC,GAAG,EAClD,eAAe,EAAE,qCAAqC,CAAC,eAAe,EACtE,aAAa,EAAE,qCAAqC,CAAC,QAAQ,EAC7D,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,qCAAqC,CAAC,0BAA0B,EAC1E,WAAW,EAAE,WAAW,GACxB,CACE,CACF,CACP,CAAC;KACH;IAED,IAAI,4BAA4B,IAAI,CAAC,CAAC,cAAc,EAAE,kBAAkB,EAAE,kCAAkC,EAAE;QAC5G,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,iBAAiB,IAChB,SAAS,EAAE,4BAA4B,CAAC,KAAK,EAC7C,OAAO,EAAE,4BAA4B,CAAC,GAAG,EACzC,eAAe,EAAE,4BAA4B,CAAC,eAAe,EAC7D,aAAa,EAAE,4BAA4B,CAAC,QAAQ,EACpD,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,4BAA4B,CAAC,0BAA0B,EACjE,WAAW,EAAE,WAAW,GACxB,CACE,CACF,CACP,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ContentView\r\n */\r\n\r\nimport \"./DefaultViewOverlay.scss\";\r\nimport * as React from \"react\";\r\nimport { ScreenViewport } from \"@itwin/core-frontend\";\r\nimport { SolarTimeline, TimelineComponent } from \"@itwin/imodel-components-react\";\r\nimport { useScheduleAnimationDataProvider } from \"../hooks/useScheduleAnimationDataProvider\";\r\nimport { useActiveViewport } from \"../hooks/useActiveViewport\";\r\nimport { useSolarDataProvider } from \"../hooks/useSolarDataProvider\";\r\nimport { useAnalysisAnimationDataProvider } from \"../hooks/useAnalysisAnimationDataProvider\";\r\n\r\n/** Props of Viewport Overlay Control that show timelines\r\n * @public\r\n */\r\nexport interface ViewOverlayProps {\r\n viewport: ScreenViewport;\r\n onPlayPause?: (playing: boolean) => void; // callback with play/pause button is pressed\r\n featureOptions?: { [key: string]: any };\r\n}\r\n\r\n/**\r\n * Default viewport overlay that examines ViewState of the active view for a schedule script, analysis data, or solar data. If one of these is detected, the corresponding\r\n * data provider is attached to the TimelineComponent and the overlay is made visible.\r\n * @public\r\n */\r\n// istanbul ignore next\r\nexport function DefaultViewOverlay({ viewport, onPlayPause, featureOptions }: ViewOverlayProps) {\r\n const solarDataTimelineProvider = useSolarDataProvider(viewport);\r\n const analysisAnimationTimelineDataProvider = useAnalysisAnimationDataProvider(viewport);\r\n const scheduleTimelineDataProvider = useScheduleAnimationDataProvider(viewport);\r\n const currentViewport = useActiveViewport();\r\n\r\n if (!currentViewport)\r\n return null;\r\n\r\n // Solar gets first shot\r\n if (solarDataTimelineProvider && !!featureOptions?.defaultViewOverlay?.enableSolarTimelineViewOverlay) {\r\n return (\r\n <div className=\"uifw-view-overlay\">\r\n <div className=\"uifw-animation-overlay\">\r\n <SolarTimeline dataProvider={solarDataTimelineProvider} />\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n if (analysisAnimationTimelineDataProvider && !!featureOptions?.defaultViewOverlay?.enableAnalysisTimelineViewOverlay) {\r\n return (\r\n <div className=\"uifw-view-overlay\">\r\n <div className=\"uifw-animation-overlay\">\r\n <TimelineComponent\r\n startDate={analysisAnimationTimelineDataProvider.start}\r\n endDate={analysisAnimationTimelineDataProvider.end}\r\n initialDuration={analysisAnimationTimelineDataProvider.initialDuration}\r\n totalDuration={analysisAnimationTimelineDataProvider.duration}\r\n minimized={true}\r\n onChange={analysisAnimationTimelineDataProvider.onAnimationFractionChanged}\r\n onPlayPause={onPlayPause}\r\n />\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n if (scheduleTimelineDataProvider && !!featureOptions?.defaultViewOverlay?.enableScheduleAnimationViewOverlay) {\r\n return (\r\n <div className=\"uifw-view-overlay\">\r\n <div className=\"uifw-animation-overlay\">\r\n <TimelineComponent\r\n startDate={scheduleTimelineDataProvider.start}\r\n endDate={scheduleTimelineDataProvider.end}\r\n initialDuration={scheduleTimelineDataProvider.initialDuration}\r\n totalDuration={scheduleTimelineDataProvider.duration}\r\n minimized={true}\r\n onChange={scheduleTimelineDataProvider.onAnimationFractionChanged}\r\n onPlayPause={onPlayPause}\r\n />\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n return null;\r\n}\r\n"]}
@@ -1,46 +1,46 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/core-react/lib/cjs/core-react/z-index";
6
-
7
- // 40px is used to ensure scrubber is not drawn behind a widget tab
8
-
9
- $uifw-view-overlay-indent: calc(var(--iui-size-l) * 2);
10
-
11
- .uifw-view-overlay {
12
- display: flex;
13
- flex-direction: row;
14
- justify-content: center;
15
- align-items: center;
16
- width: calc(100% - #{$uifw-view-overlay-indent} * 2);
17
- height: auto;
18
- position: absolute;
19
- bottom: var(--iui-size-s);
20
- left: $uifw-view-overlay-indent;
21
- right: $uifw-view-overlay-indent;
22
- pointer-events: none;
23
- @include uicore-z-index(view-overlay);
24
- }
25
-
26
- $widget-transparency: 0.9;
27
-
28
- .uifw-animation-overlay {
29
- display: flex;
30
- justify-content: center;
31
- align-items: center;
32
- width: 80%;
33
- max-width: 1000px;
34
- height: auto;
35
- background: var(--iui-color-background);
36
- border: 1px solid var(--iui-color-border);
37
- border-radius: var(--iui-border-radius-1);
38
- // overflow: hidden;
39
- opacity: $widget-transparency;
40
- transition: opacity var(--iui-duration-1) ease;
41
- pointer-events: auto;
42
-
43
- &:hover {
44
- opacity: 1;
45
- }
46
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "~@itwin/core-react/lib/cjs/core-react/z-index";
6
+
7
+ // 40px is used to ensure scrubber is not drawn behind a widget tab
8
+
9
+ $uifw-view-overlay-indent: calc(var(--iui-size-l) * 2);
10
+
11
+ .uifw-view-overlay {
12
+ display: flex;
13
+ flex-direction: row;
14
+ justify-content: center;
15
+ align-items: center;
16
+ width: calc(100% - #{$uifw-view-overlay-indent} * 2);
17
+ height: auto;
18
+ position: absolute;
19
+ bottom: var(--iui-size-s);
20
+ left: $uifw-view-overlay-indent;
21
+ right: $uifw-view-overlay-indent;
22
+ pointer-events: none;
23
+ @include uicore-z-index(view-overlay);
24
+ }
25
+
26
+ $widget-transparency: 0.9;
27
+
28
+ .uifw-animation-overlay {
29
+ display: flex;
30
+ justify-content: center;
31
+ align-items: center;
32
+ width: 80%;
33
+ max-width: 1000px;
34
+ height: auto;
35
+ background: var(--iui-color-background);
36
+ border: 1px solid var(--iui-color-border);
37
+ border-radius: var(--iui-border-radius-1);
38
+ // overflow: hidden;
39
+ opacity: $widget-transparency;
40
+ transition: opacity var(--iui-duration-1) ease;
41
+ pointer-events: auto;
42
+
43
+ &:hover {
44
+ opacity: 1;
45
+ }
46
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingViewportContent.js","sourceRoot":"","sources":["../../../../src/appui-react/content/FloatingViewportContent.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 { IModelApp, ScreenViewport } from \"@itwin/core-frontend\";\nimport { ViewportComponent, ViewStateProp } from \"@itwin/imodel-components-react\";\nimport { FloatingViewportContentControl } from \"./ViewportContentControl\";\nimport { ContentWrapper } from \"./ContentLayout\";\nimport { UiFramework } from \"../UiFramework\";\nimport { useRefs } from \"@itwin/core-react\";\n\n/**\n * @beta\n */\nexport interface FloatingViewportContentProps {\n /** callback used to construct context menu when user right-clicks on canvas/viewport */\n onContextMenu?: (e: React.MouseEvent) => boolean;\n /** viewport/content control uniqueId */\n contentId: string;\n /** The initial view state used to create the viewport, or a function that returns it (will refresh when the function changes) */\n initialViewState: ViewStateProp;\n /** Function to get a reference to the ScreenViewport */\n viewportRef?: React.Ref<ScreenViewport>;\n}\n\n/** @beta */\nexport function FloatingViewportContent(props: FloatingViewportContentProps) {\n const { viewportControl } = useFloatingViewport(props);\n return (\n <FloatingViewportContentWrapper>\n {viewportControl}\n </FloatingViewportContentWrapper>\n );\n}\n\n/** @alpha */\nexport interface FloatingViewportContentWrapperProps {\n readonly children?: React.ReactNode;\n}\n\n/** @alpha */\nexport function FloatingViewportContentWrapper({ children }: FloatingViewportContentWrapperProps) {\n return (\n <div onMouseMove={UiFramework.visibility.handleContentMouseMove} className=\"uifw-dialog-imodel-content\" style={{ height: \"100%\", position: \"relative\" }}>\n <ContentWrapper content={children} style={{ height: \"100%\", position: \"relative\" }} />\n </div>\n );\n}\n\n/** @alpha */\nexport function useFloatingViewport(args: FloatingViewportContentProps) {\n const { contentId, initialViewState, onContextMenu, viewportRef } = args;\n const [viewport, setViewport] = React.useState<ScreenViewport | undefined>();\n const contentControl = React.useRef<FloatingViewportContentControl | undefined>();\n\n const viewState = React.useMemo(() => typeof initialViewState === \"function\" ? initialViewState() : initialViewState, [initialViewState]);\n const ref = React.useCallback((v: ScreenViewport) => {\n setViewport(v);\n }, []);\n\n const refs = useRefs(ref, viewportRef);\n const viewportControl = React.useMemo(() => {\n const node = <ViewportComponent\n key={contentId}\n imodel={viewState.iModel}\n viewState={viewState}\n controlId={contentId}\n onContextMenu={onContextMenu}\n viewportRef={refs}\n />;\n return node;\n }, [refs, onContextMenu, viewState, contentId]);\n\n React.useEffect(() => {\n if (!contentControl.current) {\n contentControl.current = new FloatingViewportContentControl(contentId, contentId, null);\n UiFramework.content.addFloatingContentControl(contentControl.current);\n }\n return () => {\n if (contentControl.current) {\n UiFramework.content.dropFloatingContentControl(contentControl.current);\n contentControl.current = undefined;\n }\n };\n }, [contentId]);\n\n React.useEffect(() => {\n if (viewport && contentControl.current) {\n contentControl.current.viewport = viewport;\n if (null === contentControl.current.reactNode) {\n contentControl.current.reactNode = viewportControl;\n }\n void contentControl.current.viewport.changeView(viewState);\n }\n }, [viewState, viewport, viewportControl]);\n\n React.useEffect(() => {\n const onViewClose = (vp: ScreenViewport) => {\n if (contentControl.current?.viewport === vp) {\n UiFramework.content.dropFloatingContentControl(contentControl.current);\n contentControl.current = undefined;\n }\n };\n return IModelApp.viewManager.onViewClose.addListener(onViewClose);\n }, []);\n\n return {\n viewportControl,\n };\n}\n"]}
1
+ {"version":3,"file":"FloatingViewportContent.js","sourceRoot":"","sources":["../../../../src/appui-react/content/FloatingViewportContent.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ContentView\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { IModelApp, ScreenViewport } from \"@itwin/core-frontend\";\r\nimport { ViewportComponent, ViewStateProp } from \"@itwin/imodel-components-react\";\r\nimport { FloatingViewportContentControl } from \"./ViewportContentControl\";\r\nimport { ContentWrapper } from \"./ContentLayout\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { useRefs } from \"@itwin/core-react\";\r\n\r\n/**\r\n * @beta\r\n */\r\nexport interface FloatingViewportContentProps {\r\n /** callback used to construct context menu when user right-clicks on canvas/viewport */\r\n onContextMenu?: (e: React.MouseEvent) => boolean;\r\n /** viewport/content control uniqueId */\r\n contentId: string;\r\n /** The initial view state used to create the viewport, or a function that returns it (will refresh when the function changes) */\r\n initialViewState: ViewStateProp;\r\n /** Function to get a reference to the ScreenViewport */\r\n viewportRef?: React.Ref<ScreenViewport>;\r\n}\r\n\r\n/** @beta */\r\nexport function FloatingViewportContent(props: FloatingViewportContentProps) {\r\n const { viewportControl } = useFloatingViewport(props);\r\n return (\r\n <FloatingViewportContentWrapper>\r\n {viewportControl}\r\n </FloatingViewportContentWrapper>\r\n );\r\n}\r\n\r\n/** @alpha */\r\nexport interface FloatingViewportContentWrapperProps {\r\n readonly children?: React.ReactNode;\r\n}\r\n\r\n/** @alpha */\r\nexport function FloatingViewportContentWrapper({ children }: FloatingViewportContentWrapperProps) {\r\n return (\r\n <div onMouseMove={UiFramework.visibility.handleContentMouseMove} className=\"uifw-dialog-imodel-content\" style={{ height: \"100%\", position: \"relative\" }}>\r\n <ContentWrapper content={children} style={{ height: \"100%\", position: \"relative\" }} />\r\n </div>\r\n );\r\n}\r\n\r\n/** @alpha */\r\nexport function useFloatingViewport(args: FloatingViewportContentProps) {\r\n const { contentId, initialViewState, onContextMenu, viewportRef } = args;\r\n const [viewport, setViewport] = React.useState<ScreenViewport | undefined>();\r\n const contentControl = React.useRef<FloatingViewportContentControl | undefined>();\r\n\r\n const viewState = React.useMemo(() => typeof initialViewState === \"function\" ? initialViewState() : initialViewState, [initialViewState]);\r\n const ref = React.useCallback((v: ScreenViewport) => {\r\n setViewport(v);\r\n }, []);\r\n\r\n const refs = useRefs(ref, viewportRef);\r\n const viewportControl = React.useMemo(() => {\r\n const node = <ViewportComponent\r\n key={contentId}\r\n imodel={viewState.iModel}\r\n viewState={viewState}\r\n controlId={contentId}\r\n onContextMenu={onContextMenu}\r\n viewportRef={refs}\r\n />;\r\n return node;\r\n }, [refs, onContextMenu, viewState, contentId]);\r\n\r\n React.useEffect(() => {\r\n if (!contentControl.current) {\r\n contentControl.current = new FloatingViewportContentControl(contentId, contentId, null);\r\n UiFramework.content.addFloatingContentControl(contentControl.current);\r\n }\r\n return () => {\r\n if (contentControl.current) {\r\n UiFramework.content.dropFloatingContentControl(contentControl.current);\r\n contentControl.current = undefined;\r\n }\r\n };\r\n }, [contentId]);\r\n\r\n React.useEffect(() => {\r\n if (viewport && contentControl.current) {\r\n contentControl.current.viewport = viewport;\r\n if (null === contentControl.current.reactNode) {\r\n contentControl.current.reactNode = viewportControl;\r\n }\r\n void contentControl.current.viewport.changeView(viewState);\r\n }\r\n }, [viewState, viewport, viewportControl]);\r\n\r\n React.useEffect(() => {\r\n const onViewClose = (vp: ScreenViewport) => {\r\n if (contentControl.current?.viewport === vp) {\r\n UiFramework.content.dropFloatingContentControl(contentControl.current);\r\n contentControl.current = undefined;\r\n }\r\n };\r\n return IModelApp.viewManager.onViewClose.addListener(onViewClose);\r\n }, []);\r\n\r\n return {\r\n viewportControl,\r\n };\r\n}\r\n"]}
@@ -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 { Id64String } from \"@itwin/core-bentley\";\nimport { IModelConnection, ScreenViewport, ViewState } from \"@itwin/core-frontend\";\nimport { ViewportComponent, ViewStateProp } from \"@itwin/imodel-components-react\";\nimport { FillCentered } from \"@itwin/core-react\";\n\nimport { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport { connectIModelConnectionAndViewState } from \"../redux/connectIModel\";\nimport { UiFramework } from \"../UiFramework\";\nimport { DefaultViewOverlay } from \"./DefaultViewOverlay\";\nimport { ViewportContentControl } from \"./ViewportContentControl\";\nimport { StandardRotationNavigationAidControl } from \"../navigationaids/StandardRotationNavigationAid\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { useSelector } from \"react-redux\";\nimport { FrameworkState } from \"../redux/FrameworkState\";\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 * @public\n */\nexport const IModelConnectedViewport = connectIModelConnectionAndViewState(null, null)(ViewportComponent); // eslint-disable-line @typescript-eslint/naming-convention\n\n/** [[IModelViewportControl]] options. These options are set in the applicationData property of the [[ContentProps]].\n * @public\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/** View Overlay component -- exported for testing\n * @internal\n */\n// istanbul ignore next\nexport function ViewOverlayHost({ viewport, featureOptions, userSuppliedOverlay }: ViewOverlayHostProps) {\n const displayViewOverlay = useSelector((state: FrameworkState) => {\n const frameworkState = (state as any)[UiFramework.frameworkStateKey];\n return frameworkState ? frameworkState.configurableUiState.viewOverlayDisplay : true;\n });\n if (!displayViewOverlay)\n return null;\n return userSuppliedOverlay ? <React.Fragment>{userSuppliedOverlay(viewport)}</React.Fragment> : <DefaultViewOverlay viewport={viewport} featureOptions={featureOptions} />;\n}\n/** iModel Viewport Control\n * @public\n */\n// istanbul ignore next\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?: (_viewport: ScreenViewport) => React.ReactNode;\n\n constructor(info: ConfigurableCreateInfo, protected _options: IModelViewportControlOptions) {\n super(info, _options);\n\n if (_options.featureOptions)\n this._featureOptions = _options.featureOptions;\n this._alwaysUseSuppliedViewState = _options.alwaysUseSuppliedViewState ?? false;\n this._userSuppliedViewOverlay = _options.supplyViewOverlay;\n\n if (!_options.deferNodeInitialization)\n this.initializeReactNode();\n }\n\n protected initializeReactNode() {\n const options = this._options;\n\n if (options.viewState)\n this._viewState = options.viewState;\n\n const iModelConnection = (typeof options.iModelConnection === \"function\") ? options.iModelConnection() : 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(iModelConnection, this._determineViewState);\n } else {\n if (UiFramework.getIModelConnection() && UiFramework.getDefaultViewState()) {\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 (!React.isValidElement(this._reactNode) && this._options.deferNodeInitialization)\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\")\n viewState = this._viewState();\n else\n viewState = this._viewState;\n } else\n throw new UiError(UiFramework.loggerCategory(this), \"No ViewState could be determined\");\n\n return viewState!;\n };\n\n /** Get the React component that will contain the Viewport */\n protected getImodelConnectedViewportReactElement(): React.ReactNode {\n return <IModelConnectedViewport\n viewportRef={(v: ScreenViewport) => {\n this.viewport = v;\n // for convenience, if window defined bind viewport to window\n if (undefined !== window)\n (window as any).viewport = v;\n if (!UiFramework.frontstages.isLoading)\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(v);\n }}\n getViewOverlay={this._getViewOverlay}\n />;\n }\n\n /** Get the React component that will contain the Viewport */\n protected getImodelViewportReactElement(iModelConnection: IModelConnection, viewState: ViewStateProp): React.ReactNode {\n return <ViewportComponent\n viewState={viewState}\n imodel={iModelConnection}\n controlId={this.controlId}\n viewportRef={(v: ScreenViewport) => {\n this.viewport = v;\n // for convenience, if window defined bind viewport to window\n if (undefined !== window)\n (window as any).viewport = v;\n if (!UiFramework.frontstages.isLoading)\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(v);\n }}\n getViewOverlay={this._getViewOverlay}\n />;\n }\n\n /** Get the React component that will be shown when no iModel data is available */\n protected getNoContentReactElement(_options: IModelViewportControlOptions): React.ReactNode {\n const noContent = UiFramework.translate(\"general.no-content\");\n return <FillCentered> {noContent} </FillCentered>;\n }\n\n /** Get the React.Element for a ViewSelector change. */\n public override getReactElementForViewSelectorChange(iModelConnection: IModelConnection, _unusedViewDefinitionId: Id64String, viewState: ViewState, _name: string): 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 <ViewOverlayHost viewport={vp} featureOptions={this._featureOptions} userSuppliedOverlay={this._userSuppliedViewOverlay} data-testid=\"ViewOverlay\" />;\n };\n\n /** Get the NavigationAidControl associated with this ContentControl */\n public override get navigationAidControl(): string {\n if (this.viewport)\n return super.navigationAidControl;\n else\n return StandardRotationNavigationAidControl.navigationAidId;\n }\n}\n\nUiFramework.controls.register(IModelViewportControl.id, IModelViewportControl);\n"]}
1
+ {"version":3,"file":"IModelViewport.js","sourceRoot":"","sources":["../../../../src/appui-react/content/IModelViewport.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ContentView\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { IModelConnection, ScreenViewport, ViewState } from \"@itwin/core-frontend\";\r\nimport { ViewportComponent, ViewStateProp } from \"@itwin/imodel-components-react\";\r\nimport { FillCentered } from \"@itwin/core-react\";\r\n\r\nimport { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\r\nimport { connectIModelConnectionAndViewState } from \"../redux/connectIModel\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { DefaultViewOverlay } from \"./DefaultViewOverlay\";\r\nimport { ViewportContentControl } from \"./ViewportContentControl\";\r\nimport { StandardRotationNavigationAidControl } from \"../navigationaids/StandardRotationNavigationAid\";\r\nimport { UiError } from \"@itwin/appui-abstract\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { FrameworkState } from \"../redux/FrameworkState\";\r\n\r\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.\r\n * @public\r\n */\r\nexport const IModelConnectedViewport = connectIModelConnectionAndViewState(null, null)(ViewportComponent); // eslint-disable-line @typescript-eslint/naming-convention\r\n\r\n/** [[IModelViewportControl]] options. These options are set in the applicationData property of the [[ContentProps]].\r\n * @public\r\n */\r\nexport interface IModelViewportControlOptions {\r\n /** ViewState or a function to return a ViewState */\r\n viewState?: ViewStateProp;\r\n /** IModelConnection of data in Viewport */\r\n iModelConnection?: IModelConnection | (() => IModelConnection);\r\n /** Map of options that can be used to enable/disable features within the view */\r\n featureOptions?: { [key: string]: any };\r\n /** Optional background color which may be used if viewState and iModelConnection are undefined */\r\n bgColor?: string;\r\n /** Optional property to always use the supplied `viewState` property instead of using viewport.view when set */\r\n alwaysUseSuppliedViewState?: boolean;\r\n /** Optional property to supply custom view overlay. Uses when caller want to supply custom overlay component. */\r\n supplyViewOverlay?: (_viewport: ScreenViewport) => React.ReactNode;\r\n /** Optional property to defer reactNode initialization until first reactNode property is needed. Useful when subclassing the `IModelViewportControl`. */\r\n deferNodeInitialization?: boolean;\r\n}\r\n\r\ninterface ViewOverlayHostProps {\r\n viewport: ScreenViewport;\r\n featureOptions?: { [key: string]: any };\r\n userSuppliedOverlay?: (_viewport: ScreenViewport) => React.ReactNode;\r\n}\r\n/** View Overlay component -- exported for testing\r\n * @internal\r\n */\r\n// istanbul ignore next\r\nexport function ViewOverlayHost({ viewport, featureOptions, userSuppliedOverlay }: ViewOverlayHostProps) {\r\n const displayViewOverlay = useSelector((state: FrameworkState) => {\r\n const frameworkState = (state as any)[UiFramework.frameworkStateKey];\r\n return frameworkState ? frameworkState.configurableUiState.viewOverlayDisplay : true;\r\n });\r\n if (!displayViewOverlay)\r\n return null;\r\n return userSuppliedOverlay ? <React.Fragment>{userSuppliedOverlay(viewport)}</React.Fragment> : <DefaultViewOverlay viewport={viewport} featureOptions={featureOptions} />;\r\n}\r\n/** iModel Viewport Control\r\n * @public\r\n */\r\n// istanbul ignore next\r\nexport class IModelViewportControl extends ViewportContentControl {\r\n public static get id() {\r\n return \"UiFramework.IModelViewportControl\";\r\n }\r\n protected _featureOptions: { [key: string]: boolean | string } = {};\r\n protected _viewState: ViewStateProp | undefined;\r\n protected _iModelConnection: IModelConnection | undefined;\r\n protected _alwaysUseSuppliedViewState: boolean;\r\n private _userSuppliedViewOverlay?: (_viewport: ScreenViewport) => React.ReactNode;\r\n\r\n constructor(info: ConfigurableCreateInfo, protected _options: IModelViewportControlOptions) {\r\n super(info, _options);\r\n\r\n if (_options.featureOptions)\r\n this._featureOptions = _options.featureOptions;\r\n this._alwaysUseSuppliedViewState = _options.alwaysUseSuppliedViewState ?? false;\r\n this._userSuppliedViewOverlay = _options.supplyViewOverlay;\r\n\r\n if (!_options.deferNodeInitialization)\r\n this.initializeReactNode();\r\n }\r\n\r\n protected initializeReactNode() {\r\n const options = this._options;\r\n\r\n if (options.viewState)\r\n this._viewState = options.viewState;\r\n\r\n const iModelConnection = (typeof options.iModelConnection === \"function\") ? options.iModelConnection() : options.iModelConnection;\r\n\r\n if (this._viewState && iModelConnection) {\r\n /** Passing _determineViewState as a function reference; it is not called here. */\r\n this._reactNode = this.getImodelViewportReactElement(iModelConnection, this._determineViewState);\r\n } else {\r\n if (UiFramework.getIModelConnection() && UiFramework.getDefaultViewState()) {\r\n this._reactNode = this.getImodelConnectedViewportReactElement();\r\n } else {\r\n this._reactNode = this.getNoContentReactElement(options);\r\n this.setIsReady();\r\n }\r\n }\r\n }\r\n\r\n protected override getReactNode(): React.ReactNode {\r\n if (!React.isValidElement(this._reactNode) && this._options.deferNodeInitialization)\r\n this.initializeReactNode();\r\n\r\n return this.getKeyedReactNode();\r\n }\r\n\r\n /**\r\n * This is passed as a function to the ViewportComponent as the `viewState` prop in getImodelViewportReactElement().\r\n * It is called by ViewportComponent on a mount to resolve the viewState.\r\n */\r\n private _determineViewState = (): ViewState => {\r\n let viewState: ViewState;\r\n\r\n if (this.viewport && !this._alwaysUseSuppliedViewState)\r\n viewState = this.viewport.view;\r\n else if (this._viewState) {\r\n if (typeof this._viewState === \"function\")\r\n viewState = this._viewState();\r\n else\r\n viewState = this._viewState;\r\n } else\r\n throw new UiError(UiFramework.loggerCategory(this), \"No ViewState could be determined\");\r\n\r\n return viewState!;\r\n };\r\n\r\n /** Get the React component that will contain the Viewport */\r\n protected getImodelConnectedViewportReactElement(): React.ReactNode {\r\n return <IModelConnectedViewport\r\n viewportRef={(v: ScreenViewport) => {\r\n this.viewport = v;\r\n // for convenience, if window defined bind viewport to window\r\n if (undefined !== window)\r\n (window as any).viewport = v;\r\n if (!UiFramework.frontstages.isLoading)\r\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(v);\r\n }}\r\n getViewOverlay={this._getViewOverlay}\r\n />;\r\n }\r\n\r\n /** Get the React component that will contain the Viewport */\r\n protected getImodelViewportReactElement(iModelConnection: IModelConnection, viewState: ViewStateProp): React.ReactNode {\r\n return <ViewportComponent\r\n viewState={viewState}\r\n imodel={iModelConnection}\r\n controlId={this.controlId}\r\n viewportRef={(v: ScreenViewport) => {\r\n this.viewport = v;\r\n // for convenience, if window defined bind viewport to window\r\n if (undefined !== window)\r\n (window as any).viewport = v;\r\n if (!UiFramework.frontstages.isLoading)\r\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(v);\r\n }}\r\n getViewOverlay={this._getViewOverlay}\r\n />;\r\n }\r\n\r\n /** Get the React component that will be shown when no iModel data is available */\r\n protected getNoContentReactElement(_options: IModelViewportControlOptions): React.ReactNode {\r\n const noContent = UiFramework.translate(\"general.no-content\");\r\n return <FillCentered> {noContent} </FillCentered>;\r\n }\r\n\r\n /** Get the React.Element for a ViewSelector change. */\r\n public override getReactElementForViewSelectorChange(iModelConnection: IModelConnection, _unusedViewDefinitionId: Id64String, viewState: ViewState, _name: string): React.ReactNode {\r\n return this.getImodelViewportReactElement(iModelConnection, viewState);\r\n }\r\n\r\n /** Get the default ViewOverlay unless parameter is set to not use it. May be override in an application specific sub-class */\r\n protected _getViewOverlay = (vp: ScreenViewport): React.ReactNode => {\r\n return <ViewOverlayHost viewport={vp} featureOptions={this._featureOptions} userSuppliedOverlay={this._userSuppliedViewOverlay} data-testid=\"ViewOverlay\" />;\r\n };\r\n\r\n /** Get the NavigationAidControl associated with this ContentControl */\r\n public override get navigationAidControl(): string {\r\n if (this.viewport)\r\n return super.navigationAidControl;\r\n else\r\n return StandardRotationNavigationAidControl.navigationAidId;\r\n }\r\n}\r\n\r\nUiFramework.controls.register(IModelViewportControl.id, IModelViewportControl);\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"InternalContentLayoutManager.js","sourceRoot":"","sources":["../../../../src/appui-react/content/InternalContentLayoutManager.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 { ContentLayoutProps } from \"@itwin/appui-abstract\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ContentGroup, ContentGroupProps } from \"./ContentGroup\";\nimport { ContentLayoutDef } from \"./ContentLayout\";\n\n/** ContentLayout Manager class.\n * @internal\n */\nexport class InternalContentLayoutManager {\n private static _layoutDefs: Map<string, ContentLayoutDef> = new Map<string, ContentLayoutDef>();\n\n /** build a layout key that is unique for group layout combination */\n public static getKey(props: { contentGroupId: string, layoutId: string }): string {\n return `${props.contentGroupId}-${props.layoutId}`;\n }\n\n /** Return a LayoutDef that is specific to a content group.\n * @returns the [[ContentLayoutDef]] if found, or undefined otherwise\n */\n public static getForGroup(contentGroupProps: ContentGroupProps | ContentGroup, overrideContentLayout?: ContentLayoutProps): ContentLayoutDef {\n const layoutId = overrideContentLayout?.id ?? contentGroupProps.layout.id;\n const layoutKey = this.getKey({ contentGroupId: contentGroupProps.id, layoutId });\n\n if (!overrideContentLayout && InternalContentLayoutManager._layoutDefs.has(layoutKey)) {\n return InternalContentLayoutManager._layoutDefs.get(layoutKey)!;\n }\n\n const newContentLayoutProps = { ...contentGroupProps.layout, ...overrideContentLayout };\n const newLayoutDef = new ContentLayoutDef(newContentLayoutProps);\n this.add(layoutKey, newLayoutDef);\n return newLayoutDef;\n }\n\n /** Finds a Content Layout with a given id.\n * @param layoutKey group specific layout id, see `getLayoutKey`\n * @returns the [[ContentLayoutDef]] if found, or undefined otherwise\n */\n public static find(layoutKey: string): ContentLayoutDef | undefined {\n return InternalContentLayoutManager._layoutDefs.get(layoutKey)!;\n }\n\n /** Adds a Content Layout.\n * @param layoutId the id of the Content Layout to add\n * @param layoutDef the Content Layout definition to add\n */\n public static add(layoutId: string, layoutDef: ContentLayoutDef): void {\n InternalContentLayoutManager._layoutDefs.set(layoutId, layoutDef);\n }\n\n /** Gets the active Content Layout */\n public static get activeLayout(): ContentLayoutDef | undefined {\n let layoutDef: ContentLayoutDef | undefined;\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n if (activeFrontstageDef)\n layoutDef = activeFrontstageDef.contentLayoutDef;\n\n return layoutDef;\n }\n\n /** Gets the active Content Group */\n public static get activeContentGroup(): ContentGroup | undefined {\n let contentGroup: ContentGroup | undefined;\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n if (activeFrontstageDef)\n contentGroup = activeFrontstageDef.contentGroup;\n\n return contentGroup;\n }\n\n /** Sets the active Content Layout, Content Group and Content Control.\n * @param contentLayoutDef Content layout to make active\n * @param contentGroup Content Group to make active\n */\n public static async setActive(contentLayoutDef: ContentLayoutDef, contentGroup: ContentGroup): Promise<void> {\n await InternalFrontstageManager.setActiveLayout(contentLayoutDef, contentGroup);\n }\n\n /** Sets the active Content Group.\n * @param contentGroup Content Group to make active\n */\n public static async setActiveContentGroup(contentGroup: ContentGroup): Promise<void> {\n await InternalFrontstageManager.setActiveContentGroup(contentGroup);\n }\n\n /** Refreshes the active layout and content group.\n */\n public static refreshActive(): void {\n // istanbul ignore else\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (activeFrontstageDef && activeFrontstageDef.contentLayoutDef && activeFrontstageDef.contentGroup) {\n UiFramework.frontstages.onContentLayoutActivatedEvent.emit({\n contentLayout: activeFrontstageDef.contentLayoutDef,\n contentGroup: activeFrontstageDef.contentGroup,\n });\n\n activeFrontstageDef.contentGroup.refreshContentNodes();\n }\n }\n}\n"]}
1
+ {"version":3,"file":"InternalContentLayoutManager.js","sourceRoot":"","sources":["../../../../src/appui-react/content/InternalContentLayoutManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ContentView\r\n */\r\n\r\nimport { ContentLayoutProps } from \"@itwin/appui-abstract\";\r\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ContentGroup, ContentGroupProps } from \"./ContentGroup\";\r\nimport { ContentLayoutDef } from \"./ContentLayout\";\r\n\r\n/** ContentLayout Manager class.\r\n * @internal\r\n */\r\nexport class InternalContentLayoutManager {\r\n private static _layoutDefs: Map<string, ContentLayoutDef> = new Map<string, ContentLayoutDef>();\r\n\r\n /** build a layout key that is unique for group layout combination */\r\n public static getKey(props: { contentGroupId: string, layoutId: string }): string {\r\n return `${props.contentGroupId}-${props.layoutId}`;\r\n }\r\n\r\n /** Return a LayoutDef that is specific to a content group.\r\n * @returns the [[ContentLayoutDef]] if found, or undefined otherwise\r\n */\r\n public static getForGroup(contentGroupProps: ContentGroupProps | ContentGroup, overrideContentLayout?: ContentLayoutProps): ContentLayoutDef {\r\n const layoutId = overrideContentLayout?.id ?? contentGroupProps.layout.id;\r\n const layoutKey = this.getKey({ contentGroupId: contentGroupProps.id, layoutId });\r\n\r\n if (!overrideContentLayout && InternalContentLayoutManager._layoutDefs.has(layoutKey)) {\r\n return InternalContentLayoutManager._layoutDefs.get(layoutKey)!;\r\n }\r\n\r\n const newContentLayoutProps = { ...contentGroupProps.layout, ...overrideContentLayout };\r\n const newLayoutDef = new ContentLayoutDef(newContentLayoutProps);\r\n this.add(layoutKey, newLayoutDef);\r\n return newLayoutDef;\r\n }\r\n\r\n /** Finds a Content Layout with a given id.\r\n * @param layoutKey group specific layout id, see `getLayoutKey`\r\n * @returns the [[ContentLayoutDef]] if found, or undefined otherwise\r\n */\r\n public static find(layoutKey: string): ContentLayoutDef | undefined {\r\n return InternalContentLayoutManager._layoutDefs.get(layoutKey)!;\r\n }\r\n\r\n /** Adds a Content Layout.\r\n * @param layoutId the id of the Content Layout to add\r\n * @param layoutDef the Content Layout definition to add\r\n */\r\n public static add(layoutId: string, layoutDef: ContentLayoutDef): void {\r\n InternalContentLayoutManager._layoutDefs.set(layoutId, layoutDef);\r\n }\r\n\r\n /** Gets the active Content Layout */\r\n public static get activeLayout(): ContentLayoutDef | undefined {\r\n let layoutDef: ContentLayoutDef | undefined;\r\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n\r\n if (activeFrontstageDef)\r\n layoutDef = activeFrontstageDef.contentLayoutDef;\r\n\r\n return layoutDef;\r\n }\r\n\r\n /** Gets the active Content Group */\r\n public static get activeContentGroup(): ContentGroup | undefined {\r\n let contentGroup: ContentGroup | undefined;\r\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n\r\n if (activeFrontstageDef)\r\n contentGroup = activeFrontstageDef.contentGroup;\r\n\r\n return contentGroup;\r\n }\r\n\r\n /** Sets the active Content Layout, Content Group and Content Control.\r\n * @param contentLayoutDef Content layout to make active\r\n * @param contentGroup Content Group to make active\r\n */\r\n public static async setActive(contentLayoutDef: ContentLayoutDef, contentGroup: ContentGroup): Promise<void> {\r\n await InternalFrontstageManager.setActiveLayout(contentLayoutDef, contentGroup);\r\n }\r\n\r\n /** Sets the active Content Group.\r\n * @param contentGroup Content Group to make active\r\n */\r\n public static async setActiveContentGroup(contentGroup: ContentGroup): Promise<void> {\r\n await InternalFrontstageManager.setActiveContentGroup(contentGroup);\r\n }\r\n\r\n /** Refreshes the active layout and content group.\r\n */\r\n public static refreshActive(): void {\r\n // istanbul ignore else\r\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n if (activeFrontstageDef && activeFrontstageDef.contentLayoutDef && activeFrontstageDef.contentGroup) {\r\n UiFramework.frontstages.onContentLayoutActivatedEvent.emit({\r\n contentLayout: activeFrontstageDef.contentLayoutDef,\r\n contentGroup: activeFrontstageDef.contentGroup,\r\n });\r\n\r\n activeFrontstageDef.contentGroup.refreshContentNodes();\r\n }\r\n }\r\n}\r\n"]}
@@ -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 * as React from \"react\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\nimport { ContentControl } from \"./ContentControl\";\nimport { InternalContentLayoutManager } from \"./InternalContentLayoutManager\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { ContentGroup } from \"./ContentGroup\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ActiveContentChangedEvent, MouseDownChangedEvent } from \"../framework/FrameworkContent\";\nimport { InternalContentDialogManager } from \"../dialog/InternalContentDialogManager\";\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 = new MouseDownChangedEvent();\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 = new ActiveContentChangedEvent();\n\n /** Fires when floating contents are added or removed */\n\n public static readonly onAvailableContentChangedEvent = new UiEvent<{ contentId: string }>();\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(content: React.ReactNode, activeContentGroup: ContentGroup | undefined, floatingControls: ContentControl[] | undefined, logIfNotFound = false) {\n if (floatingControls?.length) {\n // if we find a React node that matches exactly, return its containing control\n let control = floatingControls.find((contentControl) => contentControl.reactNode === content);\n if (control)\n 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: 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)\n control = contentControl;\n });\n if (control)\n return control;\n }\n\n // if it's not a floating control, look through the content area views\n // istanbul ignore else\n if (activeContentGroup) {\n const activeContentControl = activeContentGroup.getControlFromElement(content);\n if (activeContentControl)\n return activeContentControl;\n }\n\n if (logIfNotFound)\n Logger.logError(UiFramework.loggerCategory(this), `getControlFromElement: no control found for element`);\n\n return undefined;\n }\n\n /** Return the active ContentControl. */\n public static getActiveContentControl(): ContentControl | undefined {\n let activeContentControl: ContentControl | undefined;\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n // istanbul ignore else\n if (this._activeContent && activeFrontstageDef) {\n const activeContentGroup = activeFrontstageDef.contentGroup;\n activeContentControl = this.getControlFromElement(this._activeContent, activeContentGroup, activeFrontstageDef.floatingContentControls);\n }\n\n return activeContentControl;\n }\n\n public static addFloatingContentControl(contentControl?: ContentControl) {\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n // istanbul ignore else\n if (activeFrontstageDef && contentControl) {\n activeFrontstageDef.addFloatingContentControl(contentControl);\n }\n }\n\n public static dropFloatingContentControl(contentControl?: ContentControl) {\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n // istanbul ignore else\n if (activeFrontstageDef && contentControl)\n activeFrontstageDef.dropFloatingContentControl(contentControl);\n }\n\n /** Sets the active [[ContentControl]] */\n public static setActive(activeContent?: React.ReactNode, forceEventProcessing = false): void {\n // istanbul ignore else\n if (this._activeContent !== activeContent || forceEventProcessing) {\n const oldContent = this._activeContent;\n this._activeContent = activeContent;\n\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n // istanbul ignore else\n if (activeFrontstageDef) {\n const activeContentGroup = activeFrontstageDef.contentGroup;\n\n // istanbul ignore else\n const oldContentControl = this.getControlFromElement(oldContent, activeContentGroup, activeFrontstageDef.floatingContentControls);\n const activeContentControl = this.getControlFromElement(activeContent, activeContentGroup, activeFrontstageDef.floatingContentControls, true);\n\n // Only call setActiveView if going to or coming from a non-viewport ContentControl\n // istanbul ignore else\n if (activeContentControl) {\n // istanbul ignore next\n const doSetActiveView =\n forceEventProcessing || (!activeContentControl.viewport ||\n (/* istanbul ignore next */ oldContentControl && /* istanbul ignore next */ !oldContentControl.viewport));\n\n // istanbul ignore else\n if (doSetActiveView) {\n activeFrontstageDef.setActiveView(activeContentControl, oldContentControl);\n this.onActiveContentChangedEvent.emit({ activeContent, oldContent });\n } else {\n if (activeContentControl.viewport && activeContentControl.viewport !== IModelApp.viewManager.selectedView) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n IModelApp.viewManager.setSelectedView(activeContentControl.viewport);\n }\n }\n }\n }\n }\n }\n\n /** Refreshes the active [[ContentControl]] */\n public static refreshActive(activeContent: React.ReactNode) {\n this.layouts.refreshActive();\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(content: ContentControl | undefined): boolean {\n if (!content || !content.viewport)\n 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(content: ContentControl | undefined): boolean {\n if (!content || !content.viewport)\n 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(content: ContentControl | undefined): boolean {\n if (!content || !content.viewport)\n 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(content: ContentControl | undefined): boolean {\n if (!content || !content.viewport)\n 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 public static isContent3dView(content: ContentControl | undefined): boolean {\n if (!content || !content.viewport)\n 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(content: ContentControl | undefined): boolean {\n if (!content || !content.viewport)\n return false;\n return (ViewUtilities.viewSupportsCamera(content.viewport));\n }\n\n /**\n * Manage content layouts.\n * @beta\n */\n public static get layouts() {\n return InternalContentLayoutManager;\n }\n /**\n * Manage dialogs displaying managed content.\n * @beta\n */\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":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ContentView\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { UiEvent } from \"@itwin/appui-abstract\";\r\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\r\nimport { ContentControl } from \"./ContentControl\";\r\nimport { InternalContentLayoutManager } from \"./InternalContentLayoutManager\";\r\nimport { IModelApp } from \"@itwin/core-frontend\";\r\nimport { ContentGroup } from \"./ContentGroup\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ActiveContentChangedEvent, MouseDownChangedEvent } from \"../framework/FrameworkContent\";\r\nimport { InternalContentDialogManager } from \"../dialog/InternalContentDialogManager\";\r\n\r\n/** Content View Manager class.\r\n * @internal\r\n */\r\nexport class InternalContentViewManager {\r\n private static _mouseDown: boolean = false;\r\n private static _activeContent?: React.ReactNode;\r\n\r\n /** Gets the [[MouseDownChangedEvent]] */\r\n public static readonly onMouseDownChangedEvent = new MouseDownChangedEvent();\r\n\r\n /** Determines if the mouse is down in a content view */\r\n public static get isMouseDown(): boolean {\r\n return this._mouseDown;\r\n }\r\n\r\n /** Sets the mouse down status for a content view */\r\n public static setMouseDown(mouseDown: boolean): void {\r\n this._mouseDown = mouseDown;\r\n this.onMouseDownChangedEvent.emit({ mouseDown });\r\n }\r\n\r\n /** Gets the [[ActiveContentChangedEvent]] */\r\n public static readonly onActiveContentChangedEvent = new ActiveContentChangedEvent();\r\n\r\n /** Fires when floating contents are added or removed */\r\n\r\n public static readonly onAvailableContentChangedEvent = new UiEvent<{ contentId: string }>();\r\n\r\n /** Gets the active content as a React.ReactNode. */\r\n public static getActive(): React.ReactNode | undefined {\r\n return this._activeContent;\r\n }\r\n\r\n private static getControlFromElement(content: React.ReactNode, activeContentGroup: ContentGroup | undefined, floatingControls: ContentControl[] | undefined, logIfNotFound = false) {\r\n if (floatingControls?.length) {\r\n // if we find a React node that matches exactly, return its containing control\r\n let control = floatingControls.find((contentControl) => contentControl.reactNode === content);\r\n if (control)\r\n return control;\r\n\r\n // if we don't find a React node that matches exactly, rely on the id specified by the creator\r\n let controlId: string;\r\n if (content && (content as React.ReactElement<any>).key) {\r\n const key = ((content as React.ReactElement<any>).key as string);\r\n // key has format `${contentProps.id}::${this.groupId}` which is stored as unique id\r\n controlId = key.split(\"::\", 1)[0];\r\n }\r\n floatingControls.forEach ((contentControl: ContentControl) => {\r\n const node = contentControl.reactNode;\r\n const key = ((node as React.ReactElement<any>).key as string);\r\n const nodeId = key && key.split(\"::\", 1)[0];\r\n if (nodeId === controlId)\r\n control = contentControl;\r\n });\r\n if (control)\r\n return control;\r\n }\r\n\r\n // if it's not a floating control, look through the content area views\r\n // istanbul ignore else\r\n if (activeContentGroup) {\r\n const activeContentControl = activeContentGroup.getControlFromElement(content);\r\n if (activeContentControl)\r\n return activeContentControl;\r\n }\r\n\r\n if (logIfNotFound)\r\n Logger.logError(UiFramework.loggerCategory(this), `getControlFromElement: no control found for element`);\r\n\r\n return undefined;\r\n }\r\n\r\n /** Return the active ContentControl. */\r\n public static getActiveContentControl(): ContentControl | undefined {\r\n let activeContentControl: ContentControl | undefined;\r\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n\r\n // istanbul ignore else\r\n if (this._activeContent && activeFrontstageDef) {\r\n const activeContentGroup = activeFrontstageDef.contentGroup;\r\n activeContentControl = this.getControlFromElement(this._activeContent, activeContentGroup, activeFrontstageDef.floatingContentControls);\r\n }\r\n\r\n return activeContentControl;\r\n }\r\n\r\n public static addFloatingContentControl(contentControl?: ContentControl) {\r\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n // istanbul ignore else\r\n if (activeFrontstageDef && contentControl) {\r\n activeFrontstageDef.addFloatingContentControl(contentControl);\r\n }\r\n }\r\n\r\n public static dropFloatingContentControl(contentControl?: ContentControl) {\r\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n // istanbul ignore else\r\n if (activeFrontstageDef && contentControl)\r\n activeFrontstageDef.dropFloatingContentControl(contentControl);\r\n }\r\n\r\n /** Sets the active [[ContentControl]] */\r\n public static setActive(activeContent?: React.ReactNode, forceEventProcessing = false): void {\r\n // istanbul ignore else\r\n if (this._activeContent !== activeContent || forceEventProcessing) {\r\n const oldContent = this._activeContent;\r\n this._activeContent = activeContent;\r\n\r\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n\r\n // istanbul ignore else\r\n if (activeFrontstageDef) {\r\n const activeContentGroup = activeFrontstageDef.contentGroup;\r\n\r\n // istanbul ignore else\r\n const oldContentControl = this.getControlFromElement(oldContent, activeContentGroup, activeFrontstageDef.floatingContentControls);\r\n const activeContentControl = this.getControlFromElement(activeContent, activeContentGroup, activeFrontstageDef.floatingContentControls, true);\r\n\r\n // Only call setActiveView if going to or coming from a non-viewport ContentControl\r\n // istanbul ignore else\r\n if (activeContentControl) {\r\n // istanbul ignore next\r\n const doSetActiveView =\r\n forceEventProcessing || (!activeContentControl.viewport ||\r\n (/* istanbul ignore next */ oldContentControl && /* istanbul ignore next */ !oldContentControl.viewport));\r\n\r\n // istanbul ignore else\r\n if (doSetActiveView) {\r\n activeFrontstageDef.setActiveView(activeContentControl, oldContentControl);\r\n this.onActiveContentChangedEvent.emit({ activeContent, oldContent });\r\n } else {\r\n if (activeContentControl.viewport && activeContentControl.viewport !== IModelApp.viewManager.selectedView) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n IModelApp.viewManager.setSelectedView(activeContentControl.viewport);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** Refreshes the active [[ContentControl]] */\r\n public static refreshActive(activeContent: React.ReactNode) {\r\n this.layouts.refreshActive();\r\n this.setActive(activeContent, true);\r\n }\r\n\r\n /**\r\n * Determines if content displays a Sheet view.\r\n * @param content ContentControl to check\r\n */\r\n public static isContentSheetView(content: ContentControl | undefined): boolean {\r\n if (!content || !content.viewport)\r\n return false;\r\n return (ViewUtilities.isSheetView(content.viewport));\r\n }\r\n\r\n /**\r\n * Determines if content displays a Drawing view.\r\n * @param content ContentControl to check\r\n */\r\n public static isContentDrawingView(content: ContentControl | undefined): boolean {\r\n if (!content || !content.viewport)\r\n return false;\r\n return (ViewUtilities.isDrawingView(content.viewport));\r\n }\r\n\r\n /**\r\n * Determines if content displays a Spatial view.\r\n * @param content ContentControl to check\r\n */\r\n public static isContentSpatialView(content: ContentControl | undefined): boolean {\r\n if (!content || !content.viewport)\r\n return false;\r\n return (ViewUtilities.isSpatialView(content.viewport));\r\n }\r\n\r\n /**\r\n * Determines if content displays a Orthographic view.\r\n * @param content ContentControl to check\r\n */\r\n public static isContentOrthographicView(content: ContentControl | undefined): boolean {\r\n if (!content || !content.viewport)\r\n return false;\r\n return (ViewUtilities.isOrthographicView(content.viewport));\r\n }\r\n\r\n /**\r\n * Determines if content displays a 3d view.\r\n * @param content ContentControl to check\r\n */\r\n public static isContent3dView(content: ContentControl | undefined): boolean {\r\n if (!content || !content.viewport)\r\n return false;\r\n return (ViewUtilities.is3dView(content.viewport));\r\n }\r\n\r\n /**\r\n * Determines if viewport supports use of a camera.\r\n * @param content ContentControl to check\r\n */\r\n public static contentSupportsCamera(content: ContentControl | undefined): boolean {\r\n if (!content || !content.viewport)\r\n return false;\r\n return (ViewUtilities.viewSupportsCamera(content.viewport));\r\n }\r\n\r\n /**\r\n * Manage content layouts.\r\n * @beta\r\n */\r\n public static get layouts() {\r\n return InternalContentLayoutManager;\r\n }\r\n /**\r\n * Manage dialogs displaying managed content.\r\n * @beta\r\n */\r\n public static get dialogs() {\r\n return InternalContentDialogManager;\r\n }\r\n}\r\n"]}