@itwin/appui-react 3.0.0-dev.84 → 3.0.0-dev.88

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 (699) hide show
  1. package/CHANGELOG.md +1494 -1494
  2. package/README.md +21 -21
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +7 -2
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/UserInfo.js.map +1 -1
  7. package/lib/cjs/appui-react/_variables.scss +11 -11
  8. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  15. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  17. package/lib/cjs/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  19. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/Calculator.scss +86 -86
  21. package/lib/cjs/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  23. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  24. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  25. package/lib/cjs/appui-react/accudraw/MenuButton.scss +18 -18
  26. package/lib/cjs/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  27. package/lib/cjs/appui-react/accudraw/SquareButton.js.map +1 -1
  28. package/lib/cjs/appui-react/accudraw/SquareButton.scss +44 -44
  29. package/lib/cjs/appui-react/accudraw/backspace.svg +9 -9
  30. package/lib/cjs/appui-react/accudraw/constraint-2d.svg +11 -11
  31. package/lib/cjs/appui-react/accudraw/height-2.svg +10 -10
  32. package/lib/cjs/appui-react/accudraw/height.svg +11 -11
  33. package/lib/cjs/appui-react/backstage/Backstage.js.map +1 -1
  34. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  35. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  36. package/lib/cjs/appui-react/backstage/BackstageItemProps.js.map +1 -1
  37. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  38. package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
  39. package/lib/cjs/appui-react/backstage/CommandLaunch.js.map +1 -1
  40. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  41. package/lib/cjs/appui-react/backstage/Separator.js.map +1 -1
  42. package/lib/cjs/appui-react/backstage/TaskLaunch.js.map +1 -1
  43. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  44. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  45. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js +1 -2
  46. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  47. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +21 -21
  48. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  49. package/lib/cjs/appui-react/childwindow/ChildWindowManager.scss +14 -14
  50. package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
  51. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +1 -1
  52. package/lib/cjs/appui-react/childwindow/PopoutWidget.scss +10 -10
  53. package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
  54. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  55. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  56. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  57. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  58. package/lib/cjs/appui-react/configurableui/configurableui.scss +79 -79
  59. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  60. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  61. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  62. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  63. package/lib/cjs/appui-react/content/ContentLayout.scss +98 -98
  64. package/lib/cjs/appui-react/content/ContentLayoutManager.js.map +1 -1
  65. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  66. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  67. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +43 -43
  68. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  69. package/lib/cjs/appui-react/content/SavedView.js.map +1 -1
  70. package/lib/cjs/appui-react/content/SavedViewLayout.js.map +1 -1
  71. package/lib/cjs/appui-react/content/ViewportContentControl.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/DialogManagerBase.js.map +1 -1
  80. package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
  81. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  82. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  83. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  84. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  85. package/lib/cjs/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  86. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  87. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  88. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +53 -53
  89. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +0 -1
  90. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  91. package/lib/cjs/appui-react/frontstage/Frontstage.js +0 -6
  92. package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
  93. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  94. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  95. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  96. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  97. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  98. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +86 -86
  99. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  100. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +13 -13
  101. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  102. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  103. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  104. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  105. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  106. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  107. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  108. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  109. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  110. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  111. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  112. package/lib/cjs/appui-react/imodel-components/Common.js.map +1 -1
  113. package/lib/cjs/appui-react/imodel-components/VisibilityTreeBase.scss +52 -52
  114. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  115. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.js.map +1 -1
  116. package/lib/cjs/appui-react/imodel-components/category-tree/Categories.json +102 -102
  117. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.js.map +1 -1
  118. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.scss +9 -9
  119. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  120. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +389 -389
  121. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.json +384 -384
  122. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  123. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.scss +9 -9
  124. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +239 -239
  125. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +5 -5
  126. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  127. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialBreakdown.GroupedByClass.json +78 -78
  128. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialBreakdown.json +78 -78
  129. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +1 -1
  130. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.scss +9 -9
  131. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  132. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  133. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  134. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.scss +11 -11
  135. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  136. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  137. package/lib/cjs/appui-react/messages/ActivityMessagePopup.scss +14 -14
  138. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  139. package/lib/cjs/appui-react/messages/HollowIcon.js.map +1 -1
  140. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  141. package/lib/cjs/appui-react/messages/InputField.scss +82 -82
  142. package/lib/cjs/appui-react/messages/MessageLabel.js.map +1 -1
  143. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  144. package/lib/cjs/appui-react/messages/MessageSpan.js.map +1 -1
  145. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  146. package/lib/cjs/appui-react/messages/Pointer.scss +42 -42
  147. package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  148. package/lib/cjs/appui-react/messages/StatusMessageManager.js.map +1 -1
  149. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  150. package/lib/cjs/appui-react/messages/StatusMessageRenderer.scss +27 -27
  151. package/lib/cjs/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  152. package/lib/cjs/appui-react/messages/StatusMessagesContainer.scss +52 -52
  153. package/lib/cjs/appui-react/messages/StickyMessage.js.map +1 -1
  154. package/lib/cjs/appui-react/messages/StickyMessage.scss +22 -22
  155. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  156. package/lib/cjs/appui-react/messages/getToastCategory.js.map +1 -1
  157. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  158. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  159. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  160. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  161. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +82 -82
  162. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  163. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  164. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  165. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  166. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  167. package/lib/cjs/appui-react/pickers/ListPicker.scss +299 -299
  168. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  169. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  170. package/lib/cjs/appui-react/popup/CardPopup.scss +22 -22
  171. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  172. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  173. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  174. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +30 -30
  175. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  176. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  177. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  178. package/lib/cjs/appui-react/popup/PositionPopup.scss +28 -28
  179. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  180. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  181. package/lib/cjs/appui-react/redux/FrameworkState.js.map +1 -1
  182. package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
  183. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  184. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  185. package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
  186. package/lib/cjs/appui-react/redux/redux-ts.js.map +1 -1
  187. package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
  188. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  189. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  190. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  191. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  192. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +125 -125
  193. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  194. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  195. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +66 -66
  196. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  197. package/lib/cjs/appui-react/shared/AnyItemDef.js.map +1 -1
  198. package/lib/cjs/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  199. package/lib/cjs/appui-react/shared/CommandItemDef.js.map +1 -1
  200. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  201. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  202. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  203. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  204. package/lib/cjs/appui-react/shared/ItemMap.js.map +1 -1
  205. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  206. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  207. package/lib/cjs/appui-react/shared/SelectionScope.js.map +1 -1
  208. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  209. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  210. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.scss +41 -41
  211. package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
  212. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  213. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js.map +1 -1
  214. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  215. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.scss +25 -25
  216. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  217. package/lib/cjs/appui-react/statusbar/Overflow.scss +27 -27
  218. package/lib/cjs/appui-react/statusbar/OverflowPanel.js.map +1 -1
  219. package/lib/cjs/appui-react/statusbar/OverflowPanel.scss +22 -22
  220. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  221. package/lib/cjs/appui-react/statusbar/StatusBar.scss +43 -43
  222. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  223. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  224. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  225. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  226. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  227. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  228. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  229. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +1 -2
  230. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  231. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  232. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  233. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  234. package/lib/cjs/appui-react/statusfields/ConditionalField.js.map +1 -1
  235. package/lib/cjs/appui-react/statusfields/FooterModeField.js.map +1 -1
  236. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  237. package/lib/cjs/appui-react/statusfields/Indicator.scss +171 -171
  238. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  239. package/lib/cjs/appui-react/statusfields/PromptField.js.map +1 -1
  240. package/lib/cjs/appui-react/statusfields/PromptField.scss +42 -42
  241. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  242. package/lib/cjs/appui-react/statusfields/SectionsField.scss +36 -36
  243. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  244. package/lib/cjs/appui-react/statusfields/SelectionInfo.scss +14 -14
  245. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  246. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +37 -37
  247. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  248. package/lib/cjs/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  249. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  250. package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +14 -14
  251. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  252. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +57 -57
  253. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  254. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +200 -200
  255. package/lib/cjs/appui-react/syncui/BooleanListener.js.map +1 -1
  256. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  257. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  258. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  259. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  260. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  261. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  262. package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
  263. package/lib/cjs/appui-react/toolbar/DragInteraction.js.map +1 -1
  264. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  265. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  266. package/lib/cjs/appui-react/toolbar/PopupButton.js.map +1 -1
  267. package/lib/cjs/appui-react/toolbar/PopupButton.scss +9 -9
  268. package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
  269. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  270. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  271. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  272. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  273. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +1 -2
  275. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  276. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  277. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  278. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  279. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  280. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  281. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  282. package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
  283. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  284. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  285. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  286. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  287. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  288. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  289. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  290. package/lib/cjs/appui-react/uisettings/AppUiSettings.js.map +1 -1
  291. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js.map +1 -1
  292. package/lib/cjs/appui-react/uisettings/useUiSettings.js.map +1 -1
  293. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  294. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  295. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  296. package/lib/cjs/appui-react/utils/ViewUtilities.js.map +1 -1
  297. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  298. package/lib/cjs/appui-react/widget-panels/Content.js +0 -8
  299. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  300. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  301. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +19 -19
  302. package/lib/cjs/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  303. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  304. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  305. package/lib/cjs/appui-react/widget-panels/StatusBar.scss +10 -10
  306. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  307. package/lib/cjs/appui-react/widget-panels/Tab.scss +14 -14
  308. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  309. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +24 -24
  310. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  311. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +20 -20
  312. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  313. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  314. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  315. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  316. package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.js.map +1 -1
  317. package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +1 -1
  318. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  319. package/lib/cjs/appui-react/widgets/ReviewToolWidget.js.map +1 -1
  320. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  321. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  322. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  323. package/lib/cjs/appui-react/widgets/ToolSettingsContent.scss +60 -60
  324. package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
  325. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  326. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  327. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  328. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  329. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  330. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  331. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  332. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts +0 -38
  333. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  334. package/lib/cjs/appui-react/widgets/WidgetManager.js +4 -59
  335. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  336. package/lib/cjs/appui-react/widgets/WidgetProps.js.map +1 -1
  337. package/lib/cjs/appui-react/widgets/WidgetStack.js.map +1 -1
  338. package/lib/cjs/appui-react/workflow/Task.js.map +1 -1
  339. package/lib/cjs/appui-react/workflow/Workflow.js.map +1 -1
  340. package/lib/cjs/appui-react/zones/FrameworkZone.js.map +1 -1
  341. package/lib/cjs/appui-react/zones/Outline.js.map +1 -1
  342. package/lib/cjs/appui-react/zones/StatusBarZone.js.map +1 -1
  343. package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
  344. package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
  345. package/lib/cjs/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  346. package/lib/cjs/appui-react/zones/toolsettings/ToolInformation.js.map +1 -1
  347. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  348. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  349. package/lib/cjs/appui-react/zones/toolsettings/ToolUiProvider.js.map +1 -1
  350. package/lib/cjs/appui-react.js.map +1 -1
  351. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  352. package/lib/esm/appui-react/UiFramework.js +7 -2
  353. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  354. package/lib/esm/appui-react/UserInfo.js.map +1 -1
  355. package/lib/esm/appui-react/_variables.scss +11 -11
  356. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  357. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  358. package/lib/esm/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  359. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  360. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  361. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  362. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  363. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  364. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  365. package/lib/esm/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  366. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  367. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  368. package/lib/esm/appui-react/accudraw/Calculator.scss +86 -86
  369. package/lib/esm/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  370. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  371. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  372. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  373. package/lib/esm/appui-react/accudraw/MenuButton.scss +18 -18
  374. package/lib/esm/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  375. package/lib/esm/appui-react/accudraw/SquareButton.js.map +1 -1
  376. package/lib/esm/appui-react/accudraw/SquareButton.scss +44 -44
  377. package/lib/esm/appui-react/accudraw/backspace.svg +9 -9
  378. package/lib/esm/appui-react/accudraw/constraint-2d.svg +11 -11
  379. package/lib/esm/appui-react/accudraw/height-2.svg +10 -10
  380. package/lib/esm/appui-react/accudraw/height.svg +11 -11
  381. package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
  382. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  383. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  384. package/lib/esm/appui-react/backstage/BackstageItemProps.js.map +1 -1
  385. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  386. package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
  387. package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
  388. package/lib/esm/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  389. package/lib/esm/appui-react/backstage/Separator.js.map +1 -1
  390. package/lib/esm/appui-react/backstage/TaskLaunch.js.map +1 -1
  391. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  392. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  393. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -3
  394. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  395. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +21 -21
  396. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  397. package/lib/esm/appui-react/childwindow/ChildWindowManager.scss +14 -14
  398. package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
  399. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +1 -1
  400. package/lib/esm/appui-react/childwindow/PopoutWidget.scss +10 -10
  401. package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
  402. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  403. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  404. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  405. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  406. package/lib/esm/appui-react/configurableui/configurableui.scss +79 -79
  407. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  408. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  409. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  410. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  411. package/lib/esm/appui-react/content/ContentLayout.scss +98 -98
  412. package/lib/esm/appui-react/content/ContentLayoutManager.js.map +1 -1
  413. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  414. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  415. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +43 -43
  416. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  417. package/lib/esm/appui-react/content/SavedView.js.map +1 -1
  418. package/lib/esm/appui-react/content/SavedViewLayout.js.map +1 -1
  419. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  420. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  421. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  422. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  423. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  424. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  425. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  426. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  427. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  428. package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
  429. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  430. package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  431. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  432. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  433. package/lib/esm/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  434. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  435. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  436. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +53 -53
  437. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +0 -1
  438. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  439. package/lib/esm/appui-react/frontstage/Frontstage.js +0 -6
  440. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  441. package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  442. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  443. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  444. package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  445. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  446. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +86 -86
  447. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  448. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +13 -13
  449. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  450. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  451. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  452. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  453. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  454. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  455. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  456. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  457. package/lib/esm/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  458. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  459. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  460. package/lib/esm/appui-react/imodel-components/Common.js.map +1 -1
  461. package/lib/esm/appui-react/imodel-components/VisibilityTreeBase.scss +52 -52
  462. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  463. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.js.map +1 -1
  464. package/lib/esm/appui-react/imodel-components/category-tree/Categories.json +102 -102
  465. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.js.map +1 -1
  466. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.scss +9 -9
  467. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  468. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +389 -389
  469. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.json +384 -384
  470. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  471. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.scss +9 -9
  472. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +239 -239
  473. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +5 -5
  474. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  475. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialBreakdown.GroupedByClass.json +78 -78
  476. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialBreakdown.json +78 -78
  477. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +1 -1
  478. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.scss +9 -9
  479. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  480. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  481. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  482. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.scss +11 -11
  483. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  484. package/lib/esm/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  485. package/lib/esm/appui-react/messages/ActivityMessagePopup.scss +14 -14
  486. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  487. package/lib/esm/appui-react/messages/HollowIcon.js.map +1 -1
  488. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  489. package/lib/esm/appui-react/messages/InputField.scss +82 -82
  490. package/lib/esm/appui-react/messages/MessageLabel.js.map +1 -1
  491. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  492. package/lib/esm/appui-react/messages/MessageSpan.js.map +1 -1
  493. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  494. package/lib/esm/appui-react/messages/Pointer.scss +42 -42
  495. package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  496. package/lib/esm/appui-react/messages/StatusMessageManager.js.map +1 -1
  497. package/lib/esm/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  498. package/lib/esm/appui-react/messages/StatusMessageRenderer.scss +27 -27
  499. package/lib/esm/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  500. package/lib/esm/appui-react/messages/StatusMessagesContainer.scss +52 -52
  501. package/lib/esm/appui-react/messages/StickyMessage.js.map +1 -1
  502. package/lib/esm/appui-react/messages/StickyMessage.scss +22 -22
  503. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  504. package/lib/esm/appui-react/messages/getToastCategory.js.map +1 -1
  505. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  506. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  507. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  508. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  509. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +82 -82
  510. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  511. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  512. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  513. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  514. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  515. package/lib/esm/appui-react/pickers/ListPicker.scss +299 -299
  516. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  517. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  518. package/lib/esm/appui-react/popup/CardPopup.scss +22 -22
  519. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  520. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  521. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  522. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +30 -30
  523. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  524. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  525. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  526. package/lib/esm/appui-react/popup/PositionPopup.scss +28 -28
  527. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  528. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  529. package/lib/esm/appui-react/redux/FrameworkState.js.map +1 -1
  530. package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
  531. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  532. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  533. package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
  534. package/lib/esm/appui-react/redux/redux-ts.js.map +1 -1
  535. package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
  536. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  537. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  538. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  539. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  540. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +125 -125
  541. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  542. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  543. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +66 -66
  544. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  545. package/lib/esm/appui-react/shared/AnyItemDef.js.map +1 -1
  546. package/lib/esm/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  547. package/lib/esm/appui-react/shared/CommandItemDef.js.map +1 -1
  548. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  549. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  550. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  551. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  552. package/lib/esm/appui-react/shared/ItemMap.js.map +1 -1
  553. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  554. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  555. package/lib/esm/appui-react/shared/SelectionScope.js.map +1 -1
  556. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  557. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  558. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.scss +41 -41
  559. package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
  560. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  561. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js.map +1 -1
  562. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  563. package/lib/esm/appui-react/stagepanels/StagePanelHeader.scss +25 -25
  564. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  565. package/lib/esm/appui-react/statusbar/Overflow.scss +27 -27
  566. package/lib/esm/appui-react/statusbar/OverflowPanel.js.map +1 -1
  567. package/lib/esm/appui-react/statusbar/OverflowPanel.scss +22 -22
  568. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  569. package/lib/esm/appui-react/statusbar/StatusBar.scss +43 -43
  570. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  571. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  572. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  573. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  574. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  575. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  576. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  577. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +2 -3
  578. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  579. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  580. package/lib/esm/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  581. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  582. package/lib/esm/appui-react/statusfields/ConditionalField.js.map +1 -1
  583. package/lib/esm/appui-react/statusfields/FooterModeField.js.map +1 -1
  584. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  585. package/lib/esm/appui-react/statusfields/Indicator.scss +171 -171
  586. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  587. package/lib/esm/appui-react/statusfields/PromptField.js.map +1 -1
  588. package/lib/esm/appui-react/statusfields/PromptField.scss +42 -42
  589. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  590. package/lib/esm/appui-react/statusfields/SectionsField.scss +36 -36
  591. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  592. package/lib/esm/appui-react/statusfields/SelectionInfo.scss +14 -14
  593. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  594. package/lib/esm/appui-react/statusfields/SelectionScope.scss +37 -37
  595. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  596. package/lib/esm/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  597. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  598. package/lib/esm/appui-react/statusfields/ViewAttributes.scss +14 -14
  599. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  600. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +57 -57
  601. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  602. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +200 -200
  603. package/lib/esm/appui-react/syncui/BooleanListener.js.map +1 -1
  604. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  605. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  606. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  607. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  608. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  609. package/lib/esm/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  610. package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
  611. package/lib/esm/appui-react/toolbar/DragInteraction.js.map +1 -1
  612. package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  613. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  614. package/lib/esm/appui-react/toolbar/PopupButton.js.map +1 -1
  615. package/lib/esm/appui-react/toolbar/PopupButton.scss +9 -9
  616. package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
  617. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  618. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  619. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  620. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  621. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  622. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +2 -3
  623. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  624. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  625. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  626. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  627. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  628. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  629. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  630. package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
  631. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  632. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  633. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  634. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  635. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  636. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  637. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  638. package/lib/esm/appui-react/uisettings/AppUiSettings.js.map +1 -1
  639. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js.map +1 -1
  640. package/lib/esm/appui-react/uisettings/useUiSettings.js.map +1 -1
  641. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  642. package/lib/esm/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  643. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  644. package/lib/esm/appui-react/utils/ViewUtilities.js.map +1 -1
  645. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  646. package/lib/esm/appui-react/widget-panels/Content.js +0 -8
  647. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  648. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  649. package/lib/esm/appui-react/widget-panels/Frontstage.scss +19 -19
  650. package/lib/esm/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  651. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  652. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  653. package/lib/esm/appui-react/widget-panels/StatusBar.scss +10 -10
  654. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  655. package/lib/esm/appui-react/widget-panels/Tab.scss +14 -14
  656. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  657. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +24 -24
  658. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  659. package/lib/esm/appui-react/widget-panels/Toolbars.scss +20 -20
  660. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  661. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  662. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  663. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  664. package/lib/esm/appui-react/widgets/DefaultNavigationWidget.js.map +1 -1
  665. package/lib/esm/appui-react/widgets/NavigationWidget.js.map +1 -1
  666. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  667. package/lib/esm/appui-react/widgets/ReviewToolWidget.js.map +1 -1
  668. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  669. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  670. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  671. package/lib/esm/appui-react/widgets/ToolSettingsContent.scss +60 -60
  672. package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
  673. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  674. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  675. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  676. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  677. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  678. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  679. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  680. package/lib/esm/appui-react/widgets/WidgetManager.d.ts +0 -38
  681. package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  682. package/lib/esm/appui-react/widgets/WidgetManager.js +4 -58
  683. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  684. package/lib/esm/appui-react/widgets/WidgetProps.js.map +1 -1
  685. package/lib/esm/appui-react/widgets/WidgetStack.js.map +1 -1
  686. package/lib/esm/appui-react/workflow/Task.js.map +1 -1
  687. package/lib/esm/appui-react/workflow/Workflow.js.map +1 -1
  688. package/lib/esm/appui-react/zones/FrameworkZone.js.map +1 -1
  689. package/lib/esm/appui-react/zones/Outline.js.map +1 -1
  690. package/lib/esm/appui-react/zones/StatusBarZone.js.map +1 -1
  691. package/lib/esm/appui-react/zones/Zone.js.map +1 -1
  692. package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
  693. package/lib/esm/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  694. package/lib/esm/appui-react/zones/toolsettings/ToolInformation.js.map +1 -1
  695. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  696. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  697. package/lib/esm/appui-react/zones/toolsettings/ToolUiProvider.js.map +1 -1
  698. package/lib/esm/appui-react.js.map +1 -1
  699. package/package.json +39 -39
@@ -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
- @import "~@itwin/core-react/lib/cjs/core-react/style/colors";
8
-
9
- $resizer-size: 6px;
10
- $resizer-size-large: 14px;
11
-
12
- #uifw-contentlayout-div {
13
- position: absolute;
14
- top: 0;
15
- left: 0;
16
- right: 0;
17
- height: 100%;
18
- pointer-events: auto;
19
-
20
- .Pane2 {
21
- height: 100%;
22
- }
23
-
24
- .Resizer {
25
- background: rgb(180, 180, 180);
26
- box-sizing: border-box;
27
- background-clip: padding-box;
28
- margin: 0;
29
-
30
- &:hover {
31
- transition: all 2s ease;
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-wrapper {
67
- position: relative;
68
- width: 100%;
69
- height: 100%;
70
-
71
- .uifw-contentlayout-overlay-div {
72
- position: absolute;
73
- top: 0;
74
- left: 0;
75
- width: 100%;
76
- height: 100%;
77
- border-style: solid;
78
- border-width: 2px 0 0 0;
79
- box-sizing: border-box;
80
- pointer-events: none;
81
-
82
- &.uifw-contentlayout-overlay-active {
83
- border-color: $uicore-orange;
84
- }
85
-
86
- &.uifw-contentlayout-overlay-inactive {
87
- border-color: transparent;
88
- }
89
- }
90
- }
91
-
92
- .uifw-contentlayout-full-size {
93
- @include uicore-full-size;
94
- }
95
- }
96
-
97
- div.uifw-contentlayout-full-size div.SplitPane div.Pane {
98
- overflow: hidden;
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
+ @import "~@itwin/core-react/lib/cjs/core-react/style/colors";
8
+
9
+ $resizer-size: 6px;
10
+ $resizer-size-large: 14px;
11
+
12
+ #uifw-contentlayout-div {
13
+ position: absolute;
14
+ top: 0;
15
+ left: 0;
16
+ right: 0;
17
+ height: 100%;
18
+ pointer-events: auto;
19
+
20
+ .Pane2 {
21
+ height: 100%;
22
+ }
23
+
24
+ .Resizer {
25
+ background: rgb(180, 180, 180);
26
+ box-sizing: border-box;
27
+ background-clip: padding-box;
28
+ margin: 0;
29
+
30
+ &:hover {
31
+ transition: all 2s ease;
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-wrapper {
67
+ position: relative;
68
+ width: 100%;
69
+ height: 100%;
70
+
71
+ .uifw-contentlayout-overlay-div {
72
+ position: absolute;
73
+ top: 0;
74
+ left: 0;
75
+ width: 100%;
76
+ height: 100%;
77
+ border-style: solid;
78
+ border-width: 2px 0 0 0;
79
+ box-sizing: border-box;
80
+ pointer-events: none;
81
+
82
+ &.uifw-contentlayout-overlay-active {
83
+ border-color: $uicore-orange;
84
+ }
85
+
86
+ &.uifw-contentlayout-overlay-inactive {
87
+ border-color: transparent;
88
+ }
89
+ }
90
+ }
91
+
92
+ .uifw-contentlayout-full-size {
93
+ @include uicore-full-size;
94
+ }
95
+ }
96
+
97
+ div.uifw-contentlayout-full-size div.SplitPane div.Pane {
98
+ overflow: hidden;
99
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContentLayoutManager.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentLayoutManager.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 { FrontstageManager } from \"../frontstage/FrontstageManager\";\nimport { ContentGroup, ContentGroupProps } from \"./ContentGroup\";\nimport { ContentLayoutDef } from \"./ContentLayout\";\n\n/** ContentLayout Manager class.\n * @public\n */\nexport class ContentLayoutManager {\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 getLayoutKey(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 getLayoutForGroup(contentGroupProps: ContentGroupProps | ContentGroup, overrideContentLayout?: ContentLayoutProps): ContentLayoutDef {\n const layoutId = overrideContentLayout?.id ?? contentGroupProps.layout.id;\n const layoutKey = this.getLayoutKey({ contentGroupId: contentGroupProps.id, layoutId });\n\n if (!overrideContentLayout && ContentLayoutManager._layoutDefs.has(layoutKey)) {\n return ContentLayoutManager._layoutDefs.get(layoutKey)!;\n }\n\n const newContentLayoutProps = { ...contentGroupProps.layout, ...overrideContentLayout };\n const newLayoutDef = new ContentLayoutDef(newContentLayoutProps);\n this.addLayout(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 findLayout(layoutKey: string): ContentLayoutDef | undefined {\n return ContentLayoutManager._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 addLayout(layoutId: string, layoutDef: ContentLayoutDef): void {\n ContentLayoutManager._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 = FrontstageManager.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 = FrontstageManager.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 setActiveLayout(contentLayoutDef: ContentLayoutDef, contentGroup: ContentGroup): Promise<void> {\n await FrontstageManager.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 FrontstageManager.setActiveContentGroup(contentGroup);\n }\n\n /** Refreshes the active layout and content group.\n */\n public static refreshActiveLayout(): void {\n // istanbul ignore else\n const activeFrontstageDef = FrontstageManager.activeFrontstageDef;\n if (activeFrontstageDef && activeFrontstageDef.contentLayoutDef && activeFrontstageDef.contentGroup) {\n FrontstageManager.onContentLayoutActivatedEvent.emit({\n contentLayout: activeFrontstageDef.contentLayoutDef,\n contentGroup: activeFrontstageDef.contentGroup,\n });\n\n activeFrontstageDef.contentGroup.refreshContentNodes();\n }\n }\n}\n"]}
1
+ {"version":3,"file":"ContentLayoutManager.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentLayoutManager.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 { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { ContentGroup, ContentGroupProps } from \"./ContentGroup\";\r\nimport { ContentLayoutDef } from \"./ContentLayout\";\r\n\r\n/** ContentLayout Manager class.\r\n * @public\r\n */\r\nexport class ContentLayoutManager {\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 getLayoutKey(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 getLayoutForGroup(contentGroupProps: ContentGroupProps | ContentGroup, overrideContentLayout?: ContentLayoutProps): ContentLayoutDef {\r\n const layoutId = overrideContentLayout?.id ?? contentGroupProps.layout.id;\r\n const layoutKey = this.getLayoutKey({ contentGroupId: contentGroupProps.id, layoutId });\r\n\r\n if (!overrideContentLayout && ContentLayoutManager._layoutDefs.has(layoutKey)) {\r\n return ContentLayoutManager._layoutDefs.get(layoutKey)!;\r\n }\r\n\r\n const newContentLayoutProps = { ...contentGroupProps.layout, ...overrideContentLayout };\r\n const newLayoutDef = new ContentLayoutDef(newContentLayoutProps);\r\n this.addLayout(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 findLayout(layoutKey: string): ContentLayoutDef | undefined {\r\n return ContentLayoutManager._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 addLayout(layoutId: string, layoutDef: ContentLayoutDef): void {\r\n ContentLayoutManager._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 = FrontstageManager.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 = FrontstageManager.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 setActiveLayout(contentLayoutDef: ContentLayoutDef, contentGroup: ContentGroup): Promise<void> {\r\n await FrontstageManager.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 FrontstageManager.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 // istanbul ignore else\r\n const activeFrontstageDef = FrontstageManager.activeFrontstageDef;\r\n if (activeFrontstageDef && activeFrontstageDef.contentLayoutDef && activeFrontstageDef.contentGroup) {\r\n FrontstageManager.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":"ContentViewManager.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentViewManager.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/core-react\";\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\nimport { ContentControl } from \"./ContentControl\";\nimport { ContentLayoutManager } from \"./ContentLayoutManager\";\nimport { IModelApp } from \"@itwin/core-frontend\";\n\n/** [[MouseDownChangedEvent]] Args interface.\n * @public\n */\nexport interface MouseDownChangedEventArgs {\n /** Indicates whether the mouse is down */\n mouseDown: boolean;\n}\n\n/** Mouse Down Changed Event class.\n * @public\n */\nexport class MouseDownChangedEvent extends UiEvent<MouseDownChangedEventArgs> { }\n\n/** [[ActiveContentChangedEvent]] Args interface.\n * @public\n */\nexport interface ActiveContentChangedEventArgs {\n /** React node of the old content */\n oldContent?: React.ReactNode;\n /** React node of the newly active content */\n activeContent?: React.ReactNode;\n}\n\n/** Active Content Changed Event class.\n * @public\n */\nexport class ActiveContentChangedEvent extends UiEvent<ActiveContentChangedEventArgs> { }\n\n/** Content View Manager class.\n * @public\n */\nexport class ContentViewManager {\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 /** Gets the active content as a React.ReactNode. */\n public static getActiveContent(): React.ReactNode | undefined {\n return this._activeContent;\n }\n\n /** Return the active ContentControl. */\n public static getActiveContentControl(): ContentControl | undefined {\n let activeContentControl: ContentControl | undefined;\n const activeFrontstageDef = FrontstageManager.activeFrontstageDef;\n\n // istanbul ignore else\n if (this._activeContent && activeFrontstageDef) {\n const activeContentGroup = activeFrontstageDef.contentGroup;\n // istanbul ignore else\n if (activeContentGroup) {\n activeContentControl = activeContentGroup.getControlFromElement(this._activeContent);\n }\n }\n\n return activeContentControl;\n }\n\n /** Sets the active [[ContentControl]] */\n public static setActiveContent(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 = FrontstageManager.activeFrontstageDef;\n\n // istanbul ignore else\n if (activeFrontstageDef) {\n const activeContentGroup = activeFrontstageDef.contentGroup;\n\n // istanbul ignore else\n if (activeContentGroup) {\n const oldContentControl = oldContent ? activeContentGroup.getControlFromElement(oldContent) : undefined;\n const activeContentControl = activeContentGroup.getControlFromElement(this._activeContent);\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\n /** Refreshes the active [[ContentControl]] */\n public static refreshActiveContent(activeContent: React.ReactNode) {\n ContentLayoutManager.refreshActiveLayout();\n this.setActiveContent(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"]}
1
+ {"version":3,"file":"ContentViewManager.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentViewManager.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/core-react\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\r\nimport { ContentControl } from \"./ContentControl\";\r\nimport { ContentLayoutManager } from \"./ContentLayoutManager\";\r\nimport { IModelApp } from \"@itwin/core-frontend\";\r\n\r\n/** [[MouseDownChangedEvent]] Args interface.\r\n * @public\r\n */\r\nexport interface MouseDownChangedEventArgs {\r\n /** Indicates whether the mouse is down */\r\n mouseDown: boolean;\r\n}\r\n\r\n/** Mouse Down Changed Event class.\r\n * @public\r\n */\r\nexport class MouseDownChangedEvent extends UiEvent<MouseDownChangedEventArgs> { }\r\n\r\n/** [[ActiveContentChangedEvent]] Args interface.\r\n * @public\r\n */\r\nexport interface ActiveContentChangedEventArgs {\r\n /** React node of the old content */\r\n oldContent?: React.ReactNode;\r\n /** React node of the newly active content */\r\n activeContent?: React.ReactNode;\r\n}\r\n\r\n/** Active Content Changed Event class.\r\n * @public\r\n */\r\nexport class ActiveContentChangedEvent extends UiEvent<ActiveContentChangedEventArgs> { }\r\n\r\n/** Content View Manager class.\r\n * @public\r\n */\r\nexport class ContentViewManager {\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 /** Gets the active content as a React.ReactNode. */\r\n public static getActiveContent(): React.ReactNode | undefined {\r\n return this._activeContent;\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 = FrontstageManager.activeFrontstageDef;\r\n\r\n // istanbul ignore else\r\n if (this._activeContent && activeFrontstageDef) {\r\n const activeContentGroup = activeFrontstageDef.contentGroup;\r\n // istanbul ignore else\r\n if (activeContentGroup) {\r\n activeContentControl = activeContentGroup.getControlFromElement(this._activeContent);\r\n }\r\n }\r\n\r\n return activeContentControl;\r\n }\r\n\r\n /** Sets the active [[ContentControl]] */\r\n public static setActiveContent(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 = FrontstageManager.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 if (activeContentGroup) {\r\n const oldContentControl = oldContent ? activeContentGroup.getControlFromElement(oldContent) : undefined;\r\n const activeContentControl = activeContentGroup.getControlFromElement(this._activeContent);\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\r\n /** Refreshes the active [[ContentControl]] */\r\n public static refreshActiveContent(activeContent: React.ReactNode) {\r\n ContentLayoutManager.refreshActiveLayout();\r\n this.setActiveContent(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"]}
@@ -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,qCAAmC;AACnC,+BAA+B;AAE/B,4EAAkF;AAClF,gGAA6F;AAC7F,kEAA+D;AAC/D,wEAAqE;AACrE,gGAA6F;AAW7F;;;;GAIG;AACH,uBAAuB;AACvB,SAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAoB;;IAC5F,MAAM,yBAAyB,GAAG,IAAA,2CAAoB,EAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,qCAAqC,GAAG,IAAA,mEAAgC,EAAC,QAAQ,CAAC,CAAC;IACzF,MAAM,4BAA4B,GAAG,IAAA,mEAAgC,EAAC,QAAQ,CAAC,CAAC;IAChF,MAAM,eAAe,GAAG,IAAA,qCAAiB,GAAE,CAAC;IAE5C,IAAI,CAAC,eAAe;QAClB,OAAO,IAAI,CAAC;IAEd,wBAAwB;IACxB,IAAI,yBAAyB,IAAI,CAAC,CAAC,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,kBAAkB,0CAAE,8BAA8B,CAAA,EAAE;QACrG,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,uCAAa,IAAC,YAAY,EAAE,yBAAyB,GAAI,CACtD,CACF,CACP,CAAC;KACH;IAED,IAAI,qCAAqC,IAAI,CAAC,CAAC,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,kBAAkB,0CAAE,iCAAiC,CAAA,EAAE;QACpH,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,2CAAiB,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,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,kBAAkB,0CAAE,kCAAkC,CAAA,EAAE;QAC5G,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,2CAAiB,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;AAzDD,gDAyDC","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,qCAAmC;AACnC,+BAA+B;AAE/B,4EAAkF;AAClF,gGAA6F;AAC7F,kEAA+D;AAC/D,wEAAqE;AACrE,gGAA6F;AAW7F;;;;GAIG;AACH,uBAAuB;AACvB,SAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAoB;;IAC5F,MAAM,yBAAyB,GAAG,IAAA,2CAAoB,EAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,qCAAqC,GAAG,IAAA,mEAAgC,EAAC,QAAQ,CAAC,CAAC;IACzF,MAAM,4BAA4B,GAAG,IAAA,mEAAgC,EAAC,QAAQ,CAAC,CAAC;IAChF,MAAM,eAAe,GAAG,IAAA,qCAAiB,GAAE,CAAC;IAE5C,IAAI,CAAC,eAAe;QAClB,OAAO,IAAI,CAAC;IAEd,wBAAwB;IACxB,IAAI,yBAAyB,IAAI,CAAC,CAAC,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,kBAAkB,0CAAE,8BAA8B,CAAA,EAAE;QACrG,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,uCAAa,IAAC,YAAY,EAAE,yBAAyB,GAAI,CACtD,CACF,CACP,CAAC;KACH;IAED,IAAI,qCAAqC,IAAI,CAAC,CAAC,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,kBAAkB,0CAAE,iCAAiC,CAAA,EAAE;QACpH,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,2CAAiB,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,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,kBAAkB,0CAAE,kCAAkC,CAAA,EAAE;QAC5G,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,2CAAiB,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;AAzDD,gDAyDC","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,44 +1,44 @@
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/style/themecolors";
6
- @import "~@itwin/core-react/lib/cjs/core-react/z-index";
7
- @import "~@itwin/itwinui-css/scss/style/variables";
8
-
9
- // 40px is used to ensure scrubber is not drawn behind a widget tab
10
- .uifw-view-overlay {
11
- display: flex;
12
- flex-direction: row;
13
- justify-content: center;
14
- align-items: center;
15
- width: calc(100% - 80px);
16
- height: auto;
17
- position: absolute;
18
- bottom: 10px;
19
- left: 40px;
20
- right: 40px;
21
- pointer-events: none;
22
- @include uicore-z-index(view-overlay);
23
- }
24
-
25
- $widget-transparency: 0.90;
26
-
27
- .uifw-animation-overlay {
28
- display: flex;
29
- justify-content: center;
30
- align-items: center;
31
- width: 80%;
32
- max-width: 1000px;
33
- height: auto;
34
- background: $buic-background-dialog;
35
- border: 1px solid $buic-background-dialog-stroke;
36
- border-radius: $iui-border-radius;
37
- // overflow: hidden;
38
- opacity: $widget-transparency;
39
- pointer-events: auto;
40
-
41
- &:hover {
42
- opacity: 1.00;
43
- }
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/style/themecolors";
6
+ @import "~@itwin/core-react/lib/cjs/core-react/z-index";
7
+ @import "~@itwin/itwinui-css/scss/style/variables";
8
+
9
+ // 40px is used to ensure scrubber is not drawn behind a widget tab
10
+ .uifw-view-overlay {
11
+ display: flex;
12
+ flex-direction: row;
13
+ justify-content: center;
14
+ align-items: center;
15
+ width: calc(100% - 80px);
16
+ height: auto;
17
+ position: absolute;
18
+ bottom: 10px;
19
+ left: 40px;
20
+ right: 40px;
21
+ pointer-events: none;
22
+ @include uicore-z-index(view-overlay);
23
+ }
24
+
25
+ $widget-transparency: 0.90;
26
+
27
+ .uifw-animation-overlay {
28
+ display: flex;
29
+ justify-content: center;
30
+ align-items: center;
31
+ width: 80%;
32
+ max-width: 1000px;
33
+ height: auto;
34
+ background: $buic-background-dialog;
35
+ border: 1px solid $buic-background-dialog-stroke;
36
+ border-radius: $iui-border-radius;
37
+ // overflow: hidden;
38
+ opacity: $widget-transparency;
39
+ pointer-events: auto;
40
+
41
+ &:hover {
42
+ opacity: 1.00;
43
+ }
44
44
  }
@@ -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 { viewWithUnifiedSelection } from \"@itwin/presentation-components\";\nimport { ViewportComponent, ViewStateProp } from \"@itwin/imodel-components-react\";\nimport { FillCentered } from \"@itwin/core-react\";\n\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\nimport { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport { ConfigurableUiManager } from \"../configurableui/ConfigurableUiManager\";\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\";\n\n// create a HOC viewport component that supports unified selection\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst UnifiedSelectionViewport = viewWithUnifiedSelection(ViewportComponent);\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)(UnifiedSelectionViewport); // 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 in needed. Useful when subclassing the `IModelViewportControl`. */\n deferNodeInitialization?: boolean;\n}\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 (!FrontstageManager.isLoading)\n FrontstageManager.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 <UnifiedSelectionViewport\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 (!FrontstageManager.isLoading)\n FrontstageManager.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 = (viewport: ScreenViewport): React.ReactNode => {\n if (this._userSuppliedViewOverlay)\n return this._userSuppliedViewOverlay(viewport);\n\n return <DefaultViewOverlay viewport={viewport} featureOptions={this._featureOptions} />;\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\nConfigurableUiManager.registerControl(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 { viewWithUnifiedSelection } from \"@itwin/presentation-components\";\r\nimport { ViewportComponent, ViewStateProp } from \"@itwin/imodel-components-react\";\r\nimport { FillCentered } from \"@itwin/core-react\";\r\n\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\r\nimport { ConfigurableUiManager } from \"../configurableui/ConfigurableUiManager\";\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\n\r\n// create a HOC viewport component that supports unified selection\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst UnifiedSelectionViewport = viewWithUnifiedSelection(ViewportComponent);\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)(UnifiedSelectionViewport); // 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 in needed. Useful when subclassing the `IModelViewportControl`. */\r\n deferNodeInitialization?: boolean;\r\n}\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 (!FrontstageManager.isLoading)\r\n FrontstageManager.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 <UnifiedSelectionViewport\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 (!FrontstageManager.isLoading)\r\n FrontstageManager.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 = (viewport: ScreenViewport): React.ReactNode => {\r\n if (this._userSuppliedViewOverlay)\r\n return this._userSuppliedViewOverlay(viewport);\r\n\r\n return <DefaultViewOverlay viewport={viewport} featureOptions={this._featureOptions} />;\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\nConfigurableUiManager.registerControl(IModelViewportControl.id, IModelViewportControl);\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SavedView.js","sourceRoot":"","sources":["../../../../src/appui-react/content/SavedView.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,wDAE8B;AAC9B,0DAAuD;AAUvD;;GAEG;AACH,MAAa,SAAS;IACpB,4CAA4C;IACrC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,gBAAkC,EAAE,cAA8B;QACvG,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,aAAa,CAAC;QACnE,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAqB,SAAS,EAAE,SAAS,CAAiC,CAAC;QAE3H,uBAAuB;QACvB,IAAI,SAAS,KAAK,IAAI;YACpB,MAAM,IAAI,KAAK,CAAC,oCAAoC,SAAS,GAAG,CAAC,CAAC;QAEpE,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAE,CAAC;QAC1E,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,iCAAiC;QAEzD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iDAAiD;IAC1C,MAAM,CAAC,0BAA0B,CAAC,EAAkB,EAAE,cAA8B;QACzF,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,cAAc,CAAC,sBAAsB,EAAE;YACzC,MAAM,iBAAiB,GAAG,IAAI,iCAAiB,EAAE,CAAC;YAClD,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;SACjF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,mCAAmC;IAC5B,MAAM,CAAC,gBAAgB,CAAC,SAAoB;QACjD,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,EAAoB,CAAC;QAC7D,cAAc,CAAC,YAAY,GAAG,6BAAa,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACrF,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,wEAAwE;IACjE,MAAM,CAAC,wBAAwB,CAAC,EAAkB,EAAE,cAA8B;QACvF,MAAM,EAAE,GAAG,iCAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,sBAAsB,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,cAAc,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;IACjE,CAAC;CAEF;AAxCD,8BAwCC","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 { EmphasizeElementsProps, ViewStateProps } from \"@itwin/core-common\";\nimport {\n EmphasizeElements, EntityState, IModelConnection, ScreenViewport, ViewState,\n} from \"@itwin/core-frontend\";\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\n\n/** SavedViewProps interface for sharing ViewState and EmphasizeElements information.\n * @public\n */\nexport interface SavedViewProps extends ViewStateProps {\n bisBaseClass: string;\n emphasizeElementsProps?: EmphasizeElementsProps;\n}\n\n/** SavedView class. Used to serialize/deserialize a ViewState.\n * @public\n */\nexport class SavedView {\n /** Create a ViewState from the SavedView */\n public static async viewStateFromProps(iModelConnection: IModelConnection, savedViewProps: SavedViewProps): Promise<ViewState | undefined> {\n const className = savedViewProps.viewDefinitionProps.classFullName;\n const ctor = await iModelConnection.findClassFor<typeof EntityState>(className, undefined) as typeof ViewState | undefined;\n\n // istanbul ignore next\n if (undefined === ctor)\n throw new Error(`Invalid ViewState class name of [${className}]`);\n\n const viewState = ctor.createFromProps(savedViewProps, iModelConnection)!;\n await viewState.load(); // loads models for ModelSelector\n\n return viewState;\n }\n\n /** Apply EmphasizeElements from the SavedView */\n public static emphasizeElementsFromProps(vp: ScreenViewport, savedViewProps: SavedViewProps): boolean {\n let changed = false;\n if (savedViewProps.emphasizeElementsProps) {\n const emphasizeElements = new EmphasizeElements();\n changed = emphasizeElements.fromJSON(savedViewProps.emphasizeElementsProps, vp);\n }\n return changed;\n }\n\n /** Create props for a ViewState */\n public static viewStateToProps(viewState: ViewState): SavedViewProps {\n const savedViewProps = viewState.toProps() as SavedViewProps;\n savedViewProps.bisBaseClass = ViewUtilities.getBisBaseClass(viewState.classFullName);\n return savedViewProps;\n }\n\n /** Create props for an EmphasizeElements and store in SavedViewProps */\n public static emphasizeElementsToProps(vp: ScreenViewport, savedViewProps: SavedViewProps): void {\n const ee = EmphasizeElements.get(vp);\n const emphasizeElementsProps = ee ? ee.toJSON(vp) : undefined;\n savedViewProps.emphasizeElementsProps = emphasizeElementsProps;\n }\n\n}\n"]}
1
+ {"version":3,"file":"SavedView.js","sourceRoot":"","sources":["../../../../src/appui-react/content/SavedView.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,wDAE8B;AAC9B,0DAAuD;AAUvD;;GAEG;AACH,MAAa,SAAS;IACpB,4CAA4C;IACrC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,gBAAkC,EAAE,cAA8B;QACvG,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,aAAa,CAAC;QACnE,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAqB,SAAS,EAAE,SAAS,CAAiC,CAAC;QAE3H,uBAAuB;QACvB,IAAI,SAAS,KAAK,IAAI;YACpB,MAAM,IAAI,KAAK,CAAC,oCAAoC,SAAS,GAAG,CAAC,CAAC;QAEpE,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAE,CAAC;QAC1E,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,iCAAiC;QAEzD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iDAAiD;IAC1C,MAAM,CAAC,0BAA0B,CAAC,EAAkB,EAAE,cAA8B;QACzF,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,cAAc,CAAC,sBAAsB,EAAE;YACzC,MAAM,iBAAiB,GAAG,IAAI,iCAAiB,EAAE,CAAC;YAClD,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;SACjF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,mCAAmC;IAC5B,MAAM,CAAC,gBAAgB,CAAC,SAAoB;QACjD,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,EAAoB,CAAC;QAC7D,cAAc,CAAC,YAAY,GAAG,6BAAa,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACrF,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,wEAAwE;IACjE,MAAM,CAAC,wBAAwB,CAAC,EAAkB,EAAE,cAA8B;QACvF,MAAM,EAAE,GAAG,iCAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,sBAAsB,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,cAAc,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;IACjE,CAAC;CAEF;AAxCD,8BAwCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ContentView\r\n */\r\n\r\nimport { EmphasizeElementsProps, ViewStateProps } from \"@itwin/core-common\";\r\nimport {\r\n EmphasizeElements, EntityState, IModelConnection, ScreenViewport, ViewState,\r\n} from \"@itwin/core-frontend\";\r\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\r\n\r\n/** SavedViewProps interface for sharing ViewState and EmphasizeElements information.\r\n * @public\r\n */\r\nexport interface SavedViewProps extends ViewStateProps {\r\n bisBaseClass: string;\r\n emphasizeElementsProps?: EmphasizeElementsProps;\r\n}\r\n\r\n/** SavedView class. Used to serialize/deserialize a ViewState.\r\n * @public\r\n */\r\nexport class SavedView {\r\n /** Create a ViewState from the SavedView */\r\n public static async viewStateFromProps(iModelConnection: IModelConnection, savedViewProps: SavedViewProps): Promise<ViewState | undefined> {\r\n const className = savedViewProps.viewDefinitionProps.classFullName;\r\n const ctor = await iModelConnection.findClassFor<typeof EntityState>(className, undefined) as typeof ViewState | undefined;\r\n\r\n // istanbul ignore next\r\n if (undefined === ctor)\r\n throw new Error(`Invalid ViewState class name of [${className}]`);\r\n\r\n const viewState = ctor.createFromProps(savedViewProps, iModelConnection)!;\r\n await viewState.load(); // loads models for ModelSelector\r\n\r\n return viewState;\r\n }\r\n\r\n /** Apply EmphasizeElements from the SavedView */\r\n public static emphasizeElementsFromProps(vp: ScreenViewport, savedViewProps: SavedViewProps): boolean {\r\n let changed = false;\r\n if (savedViewProps.emphasizeElementsProps) {\r\n const emphasizeElements = new EmphasizeElements();\r\n changed = emphasizeElements.fromJSON(savedViewProps.emphasizeElementsProps, vp);\r\n }\r\n return changed;\r\n }\r\n\r\n /** Create props for a ViewState */\r\n public static viewStateToProps(viewState: ViewState): SavedViewProps {\r\n const savedViewProps = viewState.toProps() as SavedViewProps;\r\n savedViewProps.bisBaseClass = ViewUtilities.getBisBaseClass(viewState.classFullName);\r\n return savedViewProps;\r\n }\r\n\r\n /** Create props for an EmphasizeElements and store in SavedViewProps */\r\n public static emphasizeElementsToProps(vp: ScreenViewport, savedViewProps: SavedViewProps): void {\r\n const ee = EmphasizeElements.get(vp);\r\n const emphasizeElementsProps = ee ? ee.toJSON(vp) : undefined;\r\n savedViewProps.emphasizeElementsProps = emphasizeElementsProps;\r\n }\r\n\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SavedViewLayout.js","sourceRoot":"","sources":["../../../../src/appui-react/content/SavedViewLayout.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAKH,2CAAwD;AAqBxD;;GAEG;AACH,MAAa,eAAe;IAC1B,qCAAqC;IAC9B,MAAM,CAAC,iBAAiB,CAAC,gBAAkC,EAAE,YAA0B,EAAE,oBAA6B,KAAK,EAAE,eAAiC;QACnK,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC;QACrD,oHAAoH;QACpH,MAAM,iBAAiB,GAAG,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QAClG,MAAM,UAAU,GAAG,IAAI,KAAK,EAAkB,CAAC;QAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;QAC9C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,uBAAuB;YACvB,IAAI,QAAQ,EAAE;gBACZ,MAAM,cAAc,GAAG,qBAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjE,IAAI,iBAAiB;oBACnB,qBAAS,CAAC,wBAAwB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC/D,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACjC;SACF;QAED,MAAM,oBAAoB,GAAyB;YACjD,iBAAiB;YACjB,UAAU;SACX,CAAC;QAEF,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,6DAA6D;IACtD,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAkC,EAAE,UAAgC;QAC1G,MAAM,UAAU,GAAG,IAAI,KAAK,EAAyB,CAAC;QAEtD,KAAK,MAAM,cAAc,IAAI,UAAU,CAAC,UAAU,EAAE;YAClD,MAAM,SAAS,GAAG,MAAM,qBAAS,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;YACvF,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC5B;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,iDAAiD;IAC1C,MAAM,CAAC,0BAA0B,CAAC,YAA0B,EAAE,UAAgC;QACnG,MAAM,WAAW,GAAG,IAAI,KAAK,EAAW,CAAC;QACzC,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;QAE9C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,cAAc,IAAI,UAAU,CAAC,UAAU,EAAE;YAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAClC,uBAAuB;YACvB,IAAI,QAAQ,EAAE;gBACZ,MAAM,OAAO,GAAG,qBAAS,CAAC,0BAA0B,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC/E,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC3B;YACD,KAAK,EAAE,CAAC;SACT;QAED,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;CACF;AAxDD,0CAwDC","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 { IModelConnection, ViewState } from \"@itwin/core-frontend\";\nimport { ContentCallback, ContentGroup, ContentGroupProps } from \"./ContentGroup\";\nimport { ContentLayoutDef } from \"./ContentLayout\";\nimport { SavedView, SavedViewProps } from \"./SavedView\";\nimport { ContentLayoutProps } from \"@itwin/appui-abstract\";\n\n/** SavedViewLayoutProps interface for sharing view layout information.\n * @public\n */\nexport interface SavedViewLayoutProps {\n contentLayoutProps?: ContentLayoutProps;\n contentGroupProps: ContentGroupProps;\n savedViews: SavedViewProps[];\n}\n\n/** ViewLayout interface for sharing view layout information.\n * @public\n */\nexport interface ViewLayout {\n contentLayoutDef: ContentLayoutDef;\n contentGroup: ContentGroup;\n viewStates: Array<ViewState | undefined>;\n}\n\n/** SavedViewLayout class. Used to serialize/deserialize a View Layout with Saved Views.\n * @public\n */\nexport class SavedViewLayout {\n /** Create props for a View Layout */\n public static viewLayoutToProps(contentLayoutDef: ContentLayoutDef, contentGroup: ContentGroup, emphasizeElements: boolean = false, contentCallback?: ContentCallback): SavedViewLayoutProps {\n const contentLayoutProps = contentLayoutDef.toJSON();\n // update layout in contentGroup to contain latest values from contentLayoutDef this way we don't need to save both.\n const contentGroupProps = { ...contentGroup.toJSON(contentCallback), layout: contentLayoutProps };\n const savedViews = new Array<SavedViewProps>();\n const viewports = contentGroup.getViewports();\n for (const viewport of viewports) {\n // istanbul ignore else\n if (viewport) {\n const savedViewProps = SavedView.viewStateToProps(viewport.view);\n if (emphasizeElements)\n SavedView.emphasizeElementsToProps(viewport, savedViewProps);\n savedViews.push(savedViewProps);\n }\n }\n\n const savedViewLayoutProps: SavedViewLayoutProps = {\n contentGroupProps,\n savedViews,\n };\n\n return savedViewLayoutProps;\n }\n\n /** Create an array of ViewStates from the SavedViewLayout */\n public static async viewStatesFromProps(iModelConnection: IModelConnection, savedProps: SavedViewLayoutProps): Promise<Array<ViewState | undefined>> {\n const viewStates = new Array<ViewState | undefined>();\n\n for (const savedViewProps of savedProps.savedViews) {\n const viewState = await SavedView.viewStateFromProps(iModelConnection, savedViewProps);\n viewStates.push(viewState);\n }\n\n return viewStates;\n }\n\n /** Apply EmphasizeElements from the SavedView */\n public static emphasizeElementsFromProps(contentGroup: ContentGroup, savedProps: SavedViewLayoutProps): boolean {\n const changedList = new Array<boolean>();\n const viewports = contentGroup.getViewports();\n\n let index = 0;\n for (const savedViewProps of savedProps.savedViews) {\n const viewport = viewports[index];\n // istanbul ignore else\n if (viewport) {\n const changed = SavedView.emphasizeElementsFromProps(viewport, savedViewProps);\n changedList.push(changed);\n }\n index++;\n }\n\n return changedList.some((changed: boolean) => changed);\n }\n}\n"]}
1
+ {"version":3,"file":"SavedViewLayout.js","sourceRoot":"","sources":["../../../../src/appui-react/content/SavedViewLayout.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAKH,2CAAwD;AAqBxD;;GAEG;AACH,MAAa,eAAe;IAC1B,qCAAqC;IAC9B,MAAM,CAAC,iBAAiB,CAAC,gBAAkC,EAAE,YAA0B,EAAE,oBAA6B,KAAK,EAAE,eAAiC;QACnK,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC;QACrD,oHAAoH;QACpH,MAAM,iBAAiB,GAAG,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QAClG,MAAM,UAAU,GAAG,IAAI,KAAK,EAAkB,CAAC;QAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;QAC9C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,uBAAuB;YACvB,IAAI,QAAQ,EAAE;gBACZ,MAAM,cAAc,GAAG,qBAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjE,IAAI,iBAAiB;oBACnB,qBAAS,CAAC,wBAAwB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC/D,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACjC;SACF;QAED,MAAM,oBAAoB,GAAyB;YACjD,iBAAiB;YACjB,UAAU;SACX,CAAC;QAEF,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,6DAA6D;IACtD,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAkC,EAAE,UAAgC;QAC1G,MAAM,UAAU,GAAG,IAAI,KAAK,EAAyB,CAAC;QAEtD,KAAK,MAAM,cAAc,IAAI,UAAU,CAAC,UAAU,EAAE;YAClD,MAAM,SAAS,GAAG,MAAM,qBAAS,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;YACvF,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC5B;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,iDAAiD;IAC1C,MAAM,CAAC,0BAA0B,CAAC,YAA0B,EAAE,UAAgC;QACnG,MAAM,WAAW,GAAG,IAAI,KAAK,EAAW,CAAC;QACzC,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;QAE9C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,cAAc,IAAI,UAAU,CAAC,UAAU,EAAE;YAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAClC,uBAAuB;YACvB,IAAI,QAAQ,EAAE;gBACZ,MAAM,OAAO,GAAG,qBAAS,CAAC,0BAA0B,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC/E,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC3B;YACD,KAAK,EAAE,CAAC;SACT;QAED,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;CACF;AAxDD,0CAwDC","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 { IModelConnection, ViewState } from \"@itwin/core-frontend\";\r\nimport { ContentCallback, ContentGroup, ContentGroupProps } from \"./ContentGroup\";\r\nimport { ContentLayoutDef } from \"./ContentLayout\";\r\nimport { SavedView, SavedViewProps } from \"./SavedView\";\r\nimport { ContentLayoutProps } from \"@itwin/appui-abstract\";\r\n\r\n/** SavedViewLayoutProps interface for sharing view layout information.\r\n * @public\r\n */\r\nexport interface SavedViewLayoutProps {\r\n contentLayoutProps?: ContentLayoutProps;\r\n contentGroupProps: ContentGroupProps;\r\n savedViews: SavedViewProps[];\r\n}\r\n\r\n/** ViewLayout interface for sharing view layout information.\r\n * @public\r\n */\r\nexport interface ViewLayout {\r\n contentLayoutDef: ContentLayoutDef;\r\n contentGroup: ContentGroup;\r\n viewStates: Array<ViewState | undefined>;\r\n}\r\n\r\n/** SavedViewLayout class. Used to serialize/deserialize a View Layout with Saved Views.\r\n * @public\r\n */\r\nexport class SavedViewLayout {\r\n /** Create props for a View Layout */\r\n public static viewLayoutToProps(contentLayoutDef: ContentLayoutDef, contentGroup: ContentGroup, emphasizeElements: boolean = false, contentCallback?: ContentCallback): SavedViewLayoutProps {\r\n const contentLayoutProps = contentLayoutDef.toJSON();\r\n // update layout in contentGroup to contain latest values from contentLayoutDef this way we don't need to save both.\r\n const contentGroupProps = { ...contentGroup.toJSON(contentCallback), layout: contentLayoutProps };\r\n const savedViews = new Array<SavedViewProps>();\r\n const viewports = contentGroup.getViewports();\r\n for (const viewport of viewports) {\r\n // istanbul ignore else\r\n if (viewport) {\r\n const savedViewProps = SavedView.viewStateToProps(viewport.view);\r\n if (emphasizeElements)\r\n SavedView.emphasizeElementsToProps(viewport, savedViewProps);\r\n savedViews.push(savedViewProps);\r\n }\r\n }\r\n\r\n const savedViewLayoutProps: SavedViewLayoutProps = {\r\n contentGroupProps,\r\n savedViews,\r\n };\r\n\r\n return savedViewLayoutProps;\r\n }\r\n\r\n /** Create an array of ViewStates from the SavedViewLayout */\r\n public static async viewStatesFromProps(iModelConnection: IModelConnection, savedProps: SavedViewLayoutProps): Promise<Array<ViewState | undefined>> {\r\n const viewStates = new Array<ViewState | undefined>();\r\n\r\n for (const savedViewProps of savedProps.savedViews) {\r\n const viewState = await SavedView.viewStateFromProps(iModelConnection, savedViewProps);\r\n viewStates.push(viewState);\r\n }\r\n\r\n return viewStates;\r\n }\r\n\r\n /** Apply EmphasizeElements from the SavedView */\r\n public static emphasizeElementsFromProps(contentGroup: ContentGroup, savedProps: SavedViewLayoutProps): boolean {\r\n const changedList = new Array<boolean>();\r\n const viewports = contentGroup.getViewports();\r\n\r\n let index = 0;\r\n for (const savedViewProps of savedProps.savedViews) {\r\n const viewport = viewports[index];\r\n // istanbul ignore else\r\n if (viewport) {\r\n const changed = SavedView.emphasizeElementsFromProps(viewport, savedViewProps);\r\n changedList.push(changed);\r\n }\r\n index++;\r\n }\r\n\r\n return changedList.some((changed: boolean) => changed);\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewportContentControl.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ViewportContentControl.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport { Id64String } from \"@itwin/core-bentley\";\nimport {\n DrawingViewState, IModelApp, IModelConnection, OrthographicViewState, ScreenViewport, SheetViewState, SpatialViewState, ViewState,\n} from \"@itwin/core-frontend\";\nimport { ConfigurableCreateInfo, ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\nimport { CubeNavigationAidControl } from \"../navigationaids/CubeNavigationAidControl\";\nimport { DrawingNavigationAidControl } from \"../navigationaids/DrawingNavigationAidControl\";\nimport { SheetNavigationAidControl } from \"../navigationaids/SheetNavigationAid\";\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\nimport { ContentControl, SupportsViewSelectorChange } from \"./ContentControl\";\nimport { ContentViewManager } from \"./ContentViewManager\";\n\n/**\n * The base class for frontstage Viewport content controls that connects to a `ScreenViewport`\n * that is managed by the `ViewManager`.\n * @public\n */\nexport class ViewportContentControl extends ContentControl implements SupportsViewSelectorChange {\n private _viewport: ScreenViewport | undefined;\n private _isReady: Promise<void>;\n private _viewportReadyCallback?: () => void;\n\n /** Creates an instance of ViewportContentControl.\n * @param info An object that the subclass must pass to this base class.\n * @param options Options provided via the applicationData in a [[ContentProps]].\n */\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n\n this._isReady = new Promise<void>((onSuccess: () => void, _onFailure: () => void): void => {\n this._viewportReadyCallback = onSuccess;\n });\n }\n\n /** Gets the type of ConfigurableUiControl, which is 'Viewport' in this case */\n public override getType(): ConfigurableUiControlType { return ConfigurableUiControlType.Viewport; }\n\n /** Returns true if this control is a Viewport control. */\n public override get isViewport(): boolean { return true; }\n\n /** The underlying ScreenViewport */\n public override get viewport(): ScreenViewport | undefined { return this._viewport; }\n public override set viewport(v: ScreenViewport | undefined) {\n this._viewport = v;\n this.setIsReady();\n }\n\n /** Returns a promise that resolves when the control is ready for usage.\n */\n public setIsReady(): void {\n // istanbul ignore else\n if (this._viewportReadyCallback) {\n this._viewportReadyCallback();\n }\n }\n\n /** Returns a promise that resolves when the control is ready for usage.\n */\n public override get isReady(): Promise<void> { return this._isReady; }\n\n /** Called when this ContentControl is activated */\n public override onActivated(): void {\n super.onActivated();\n }\n\n /** Get the NavigationAidControl associated with this ContentControl */\n public override get navigationAidControl(): string {\n let navigationAidId = \"\";\n\n // istanbul ignore else\n if (this.viewport) {\n navigationAidId = this._getNavigationAid(this.viewport.view.classFullName);\n }\n\n return navigationAidId;\n }\n\n /**\n * Fetches appropriate NavigationAid based on the class of the current viewport.\n * @param classFullName The full name of the current viewport class.\n * @returns The ID of the navigation aid to be displayed.\n */\n private _getNavigationAid = (classFullName: string) => {\n const className = ViewUtilities.getBisBaseClass(classFullName);\n let navigationAidId = \"\";\n\n switch (className) {\n case SheetViewState.className:\n navigationAidId = SheetNavigationAidControl.navigationAidId;\n break;\n case DrawingViewState.className:\n navigationAidId = DrawingNavigationAidControl.navigationAidId;\n break;\n case SpatialViewState.className:\n case OrthographicViewState.className:\n navigationAidId = CubeNavigationAidControl.navigationAidId;\n break;\n }\n\n return navigationAidId;\n };\n\n /** Returns true if this control supports processing ViewSelector changes. */\n public get supportsViewSelectorChange(): boolean { return true; }\n\n /** Process a ViewSelector change. */\n // istanbul ignore next\n public async processViewSelectorChange(iModel: IModelConnection, viewDefinitionId: Id64String, viewState: ViewState, name: string): Promise<void> {\n if (this.viewport) {\n if (IModelApp.viewManager && this.viewport === IModelApp.viewManager.selectedView)\n this.viewport.changeView(viewState);\n } else {\n this.reactNode = this.getReactElementForViewSelectorChange(iModel, viewDefinitionId, viewState, name);\n }\n ContentViewManager.refreshActiveContent(this.reactNode);\n }\n\n /** Get the React.Element for a ViewSelector change. */\n // istanbul ignore next\n public getReactElementForViewSelectorChange(_iModel: IModelConnection, _viewDefinitionId: Id64String, _viewState: ViewState, _name: string): React.ReactNode { return null; }\n}\n"]}
1
+ {"version":3,"file":"ViewportContentControl.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ViewportContentControl.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 { Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n DrawingViewState, IModelApp, IModelConnection, OrthographicViewState, ScreenViewport, SheetViewState, SpatialViewState, ViewState,\r\n} from \"@itwin/core-frontend\";\r\nimport { ConfigurableCreateInfo, ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\r\nimport { CubeNavigationAidControl } from \"../navigationaids/CubeNavigationAidControl\";\r\nimport { DrawingNavigationAidControl } from \"../navigationaids/DrawingNavigationAidControl\";\r\nimport { SheetNavigationAidControl } from \"../navigationaids/SheetNavigationAid\";\r\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\r\nimport { ContentControl, SupportsViewSelectorChange } from \"./ContentControl\";\r\nimport { ContentViewManager } from \"./ContentViewManager\";\r\n\r\n/**\r\n * The base class for frontstage Viewport content controls that connects to a `ScreenViewport`\r\n * that is managed by the `ViewManager`.\r\n * @public\r\n */\r\nexport class ViewportContentControl extends ContentControl implements SupportsViewSelectorChange {\r\n private _viewport: ScreenViewport | undefined;\r\n private _isReady: Promise<void>;\r\n private _viewportReadyCallback?: () => void;\r\n\r\n /** Creates an instance of ViewportContentControl.\r\n * @param info An object that the subclass must pass to this base class.\r\n * @param options Options provided via the applicationData in a [[ContentProps]].\r\n */\r\n constructor(info: ConfigurableCreateInfo, options: any) {\r\n super(info, options);\r\n\r\n this._isReady = new Promise<void>((onSuccess: () => void, _onFailure: () => void): void => {\r\n this._viewportReadyCallback = onSuccess;\r\n });\r\n }\r\n\r\n /** Gets the type of ConfigurableUiControl, which is 'Viewport' in this case */\r\n public override getType(): ConfigurableUiControlType { return ConfigurableUiControlType.Viewport; }\r\n\r\n /** Returns true if this control is a Viewport control. */\r\n public override get isViewport(): boolean { return true; }\r\n\r\n /** The underlying ScreenViewport */\r\n public override get viewport(): ScreenViewport | undefined { return this._viewport; }\r\n public override set viewport(v: ScreenViewport | undefined) {\r\n this._viewport = v;\r\n this.setIsReady();\r\n }\r\n\r\n /** Returns a promise that resolves when the control is ready for usage.\r\n */\r\n public setIsReady(): void {\r\n // istanbul ignore else\r\n if (this._viewportReadyCallback) {\r\n this._viewportReadyCallback();\r\n }\r\n }\r\n\r\n /** Returns a promise that resolves when the control is ready for usage.\r\n */\r\n public override get isReady(): Promise<void> { return this._isReady; }\r\n\r\n /** Called when this ContentControl is activated */\r\n public override onActivated(): void {\r\n super.onActivated();\r\n }\r\n\r\n /** Get the NavigationAidControl associated with this ContentControl */\r\n public override get navigationAidControl(): string {\r\n let navigationAidId = \"\";\r\n\r\n // istanbul ignore else\r\n if (this.viewport) {\r\n navigationAidId = this._getNavigationAid(this.viewport.view.classFullName);\r\n }\r\n\r\n return navigationAidId;\r\n }\r\n\r\n /**\r\n * Fetches appropriate NavigationAid based on the class of the current viewport.\r\n * @param classFullName The full name of the current viewport class.\r\n * @returns The ID of the navigation aid to be displayed.\r\n */\r\n private _getNavigationAid = (classFullName: string) => {\r\n const className = ViewUtilities.getBisBaseClass(classFullName);\r\n let navigationAidId = \"\";\r\n\r\n switch (className) {\r\n case SheetViewState.className:\r\n navigationAidId = SheetNavigationAidControl.navigationAidId;\r\n break;\r\n case DrawingViewState.className:\r\n navigationAidId = DrawingNavigationAidControl.navigationAidId;\r\n break;\r\n case SpatialViewState.className:\r\n case OrthographicViewState.className:\r\n navigationAidId = CubeNavigationAidControl.navigationAidId;\r\n break;\r\n }\r\n\r\n return navigationAidId;\r\n };\r\n\r\n /** Returns true if this control supports processing ViewSelector changes. */\r\n public get supportsViewSelectorChange(): boolean { return true; }\r\n\r\n /** Process a ViewSelector change. */\r\n // istanbul ignore next\r\n public async processViewSelectorChange(iModel: IModelConnection, viewDefinitionId: Id64String, viewState: ViewState, name: string): Promise<void> {\r\n if (this.viewport) {\r\n if (IModelApp.viewManager && this.viewport === IModelApp.viewManager.selectedView)\r\n this.viewport.changeView(viewState);\r\n } else {\r\n this.reactNode = this.getReactElementForViewSelectorChange(iModel, viewDefinitionId, viewState, name);\r\n }\r\n ContentViewManager.refreshActiveContent(this.reactNode);\r\n }\r\n\r\n /** Get the React.Element for a ViewSelector change. */\r\n // istanbul ignore next\r\n public getReactElementForViewSelectorChange(_iModel: IModelConnection, _viewDefinitionId: Id64String, _viewState: ViewState, _name: string): React.ReactNode { return null; }\r\n}\r\n"]}