@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 +1 @@
1
- {"version":3,"file":"StandardMessageBox.js","sourceRoot":"","sources":["../../../../src/appui-react/dialog/StandardMessageBox.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 Dialog\n */\n\nimport * as React from \"react\";\nimport { MessageBoxIconType, MessageBoxType, MessageBoxValue } from \"@itwin/core-frontend\";\nimport { DialogButtonDef, DialogButtonType, MessageSeverity } from \"@itwin/appui-abstract\";\nimport { CommonProps, MessageBox } from \"@itwin/core-react\";\nimport { ModalDialogManager } from \"./ModalDialogManager\";\n\n/** Properties for [[StandardMessageBox]] React component\n * @public\n */\nexport interface StandardMessageBoxProps extends CommonProps {\n /** Indicates whether the message box is open */\n opened: boolean;\n /** The standard icon to display in the message box */\n iconType: MessageBoxIconType;\n /** Title to display in the message box */\n title: string;\n /** Controls the button set displayed */\n messageBoxType: MessageBoxType;\n /** Callback function for processing the message box result */\n onResult?: (result: MessageBoxValue) => void;\n}\n\n/** State for [[StandardMessageBox]] React component\n * @internal\n */\ninterface StandardMessageBoxState {\n opened: boolean;\n}\n\n/** StandardMessageBox React component displays a standard icon, message text and a standard button set in the lower right.\n * @public\n */\nexport class StandardMessageBox extends React.PureComponent<StandardMessageBoxProps, StandardMessageBoxState> {\n\n /** @internal */\n public override readonly state: Readonly<StandardMessageBoxState>;\n\n constructor(props: StandardMessageBoxProps) {\n super(props);\n this.state = {\n opened: this.props.opened,\n };\n }\n\n public override render(): JSX.Element {\n const buttonCluster: DialogButtonDef[] = new Array<DialogButtonDef>();\n\n switch (this.props.messageBoxType) {\n case MessageBoxType.Ok:\n case MessageBoxType.LargeOk:\n buttonCluster.push({ type: DialogButtonType.OK, onClick: () => { this._handleButton(MessageBoxValue.Ok); } });\n break;\n case MessageBoxType.OkCancel:\n case MessageBoxType.MediumAlert:\n buttonCluster.push({ type: DialogButtonType.OK, onClick: () => { this._handleButton(MessageBoxValue.Ok); } });\n buttonCluster.push({ type: DialogButtonType.Cancel, onClick: () => { this._handleButton(MessageBoxValue.Cancel); } });\n break;\n case MessageBoxType.YesNo:\n case MessageBoxType.YesNoCancel:\n buttonCluster.push({ type: DialogButtonType.Yes, onClick: () => { this._handleButton(MessageBoxValue.Yes); } });\n buttonCluster.push({ type: DialogButtonType.No, onClick: () => { this._handleButton(MessageBoxValue.No); } });\n if (MessageBoxType.YesNoCancel === this.props.messageBoxType)\n buttonCluster.push({ type: DialogButtonType.Cancel, onClick: () => { this._handleButton(MessageBoxValue.Cancel); } });\n break;\n }\n\n let severity = MessageSeverity.None;\n switch (this.props.iconType) {\n case MessageBoxIconType.NoSymbol:\n severity = MessageSeverity.None;\n break;\n case MessageBoxIconType.Information:\n severity = MessageSeverity.Information;\n break;\n case MessageBoxIconType.Question:\n severity = MessageSeverity.Question;\n break;\n case MessageBoxIconType.Warning:\n severity = MessageSeverity.Warning;\n break;\n case MessageBoxIconType.Critical:\n severity = MessageSeverity.Error;\n break;\n }\n\n return (\n <MessageBox\n className={this.props.className}\n style={this.props.style}\n opened={this.state.opened}\n title={this.props.title}\n severity={severity}\n buttonCluster={buttonCluster}\n onClose={this._handleCancel}\n onEscape={this._handleCancel}\n >\n {this.props.children}\n </MessageBox>\n );\n }\n\n private _handleButton = (buttonType: MessageBoxValue) => {\n this._closeDialog(() => {\n // istanbul ignore else\n if (this.props.onResult)\n this.props.onResult(buttonType);\n });\n };\n\n private _handleCancel = () => {\n this._closeDialog(() => {\n // istanbul ignore else\n if (this.props.onResult)\n this.props.onResult(MessageBoxValue.Cancel);\n });\n };\n\n private _closeDialog = (followUp: () => void) => {\n this.setState((_prevState) => ({\n opened: false,\n }), () => {\n ModalDialogManager.closeDialog();\n followUp();\n });\n };\n}\n"]}
1
+ {"version":3,"file":"StandardMessageBox.js","sourceRoot":"","sources":["../../../../src/appui-react/dialog/StandardMessageBox.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 Dialog\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { MessageBoxIconType, MessageBoxType, MessageBoxValue } from \"@itwin/core-frontend\";\r\nimport { DialogButtonDef, DialogButtonType, MessageSeverity } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, MessageBox } from \"@itwin/core-react\";\r\nimport { ModalDialogManager } from \"./ModalDialogManager\";\r\n\r\n/** Properties for [[StandardMessageBox]] React component\r\n * @public\r\n */\r\nexport interface StandardMessageBoxProps extends CommonProps {\r\n /** Indicates whether the message box is open */\r\n opened: boolean;\r\n /** The standard icon to display in the message box */\r\n iconType: MessageBoxIconType;\r\n /** Title to display in the message box */\r\n title: string;\r\n /** Controls the button set displayed */\r\n messageBoxType: MessageBoxType;\r\n /** Callback function for processing the message box result */\r\n onResult?: (result: MessageBoxValue) => void;\r\n}\r\n\r\n/** State for [[StandardMessageBox]] React component\r\n * @internal\r\n */\r\ninterface StandardMessageBoxState {\r\n opened: boolean;\r\n}\r\n\r\n/** StandardMessageBox React component displays a standard icon, message text and a standard button set in the lower right.\r\n * @public\r\n */\r\nexport class StandardMessageBox extends React.PureComponent<StandardMessageBoxProps, StandardMessageBoxState> {\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<StandardMessageBoxState>;\r\n\r\n constructor(props: StandardMessageBoxProps) {\r\n super(props);\r\n this.state = {\r\n opened: this.props.opened,\r\n };\r\n }\r\n\r\n public override render(): JSX.Element {\r\n const buttonCluster: DialogButtonDef[] = new Array<DialogButtonDef>();\r\n\r\n switch (this.props.messageBoxType) {\r\n case MessageBoxType.Ok:\r\n case MessageBoxType.LargeOk:\r\n buttonCluster.push({ type: DialogButtonType.OK, onClick: () => { this._handleButton(MessageBoxValue.Ok); } });\r\n break;\r\n case MessageBoxType.OkCancel:\r\n case MessageBoxType.MediumAlert:\r\n buttonCluster.push({ type: DialogButtonType.OK, onClick: () => { this._handleButton(MessageBoxValue.Ok); } });\r\n buttonCluster.push({ type: DialogButtonType.Cancel, onClick: () => { this._handleButton(MessageBoxValue.Cancel); } });\r\n break;\r\n case MessageBoxType.YesNo:\r\n case MessageBoxType.YesNoCancel:\r\n buttonCluster.push({ type: DialogButtonType.Yes, onClick: () => { this._handleButton(MessageBoxValue.Yes); } });\r\n buttonCluster.push({ type: DialogButtonType.No, onClick: () => { this._handleButton(MessageBoxValue.No); } });\r\n if (MessageBoxType.YesNoCancel === this.props.messageBoxType)\r\n buttonCluster.push({ type: DialogButtonType.Cancel, onClick: () => { this._handleButton(MessageBoxValue.Cancel); } });\r\n break;\r\n }\r\n\r\n let severity = MessageSeverity.None;\r\n switch (this.props.iconType) {\r\n case MessageBoxIconType.NoSymbol:\r\n severity = MessageSeverity.None;\r\n break;\r\n case MessageBoxIconType.Information:\r\n severity = MessageSeverity.Information;\r\n break;\r\n case MessageBoxIconType.Question:\r\n severity = MessageSeverity.Question;\r\n break;\r\n case MessageBoxIconType.Warning:\r\n severity = MessageSeverity.Warning;\r\n break;\r\n case MessageBoxIconType.Critical:\r\n severity = MessageSeverity.Error;\r\n break;\r\n }\r\n\r\n return (\r\n <MessageBox\r\n className={this.props.className}\r\n style={this.props.style}\r\n opened={this.state.opened}\r\n title={this.props.title}\r\n severity={severity}\r\n buttonCluster={buttonCluster}\r\n onClose={this._handleCancel}\r\n onEscape={this._handleCancel}\r\n >\r\n {this.props.children}\r\n </MessageBox>\r\n );\r\n }\r\n\r\n private _handleButton = (buttonType: MessageBoxValue) => {\r\n this._closeDialog(() => {\r\n // istanbul ignore else\r\n if (this.props.onResult)\r\n this.props.onResult(buttonType);\r\n });\r\n };\r\n\r\n private _handleCancel = () => {\r\n this._closeDialog(() => {\r\n // istanbul ignore else\r\n if (this.props.onResult)\r\n this.props.onResult(MessageBoxValue.Cancel);\r\n });\r\n };\r\n\r\n private _closeDialog = (followUp: () => void) => {\r\n this.setState((_prevState) => ({\r\n opened: false,\r\n }), () => {\r\n ModalDialogManager.closeDialog();\r\n followUp();\r\n });\r\n };\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"UiDataProvidedDialog.js","sourceRoot":"","sources":["../../../../src/appui-react/dialog/UiDataProvidedDialog.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 Dialog\n */\n\nimport * as React from \"react\";\nimport { Dialog } from \"@itwin/core-react\";\nimport { DialogButtonDef, DialogButtonType, DialogLayoutDataProvider } from \"@itwin/appui-abstract\";\nimport { getUniqueId } from \"@itwin/appui-layout-react\";\nimport { ModalDialogManager } from \"./ModalDialogManager\";\nimport { ModelessDialogManager } from \"./ModelessDialogManager\";\nimport { DefaultDialogGridContainer } from \"../uiprovider/DefaultDialogGridContainer\";\nimport { ComponentGenerator } from \"../uiprovider/ComponentGenerator\";\n\n/** Props for [[UiDataProvidedDialog]] component.\n * @public\n */\nexport interface UiDataProvidedDialogProps {\n /** Dialog title */\n title: string;\n /** Provider that provides and lays out DialogItems */\n uiDataProvider: DialogLayoutDataProvider;\n /** Indicates if Dialog is Modal */\n isModal: boolean;\n /** Id used to specify dialog. */\n id?: string;\n /** Indicates whether the user can resize dialog with cursor. Default: false */\n resizable?: boolean;\n /** Indicates whether the user can move dialog with cursor. Default: false */\n movable?: boolean;\n /** Initial width of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: \"50%\" */\n width?: string | number;\n /** Initial height of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\n height?: string | number;\n /** Minimum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: 300px */\n minWidth?: string | number;\n /** Minimum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: 100px */\n minHeight?: string | number;\n /** Maximum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\n maxWidth?: string | number;\n /** Maximum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\n maxHeight?: string | number;\n}\n\n/** Component to show dialog populated from properties supplied via uiDataProvider\n * @public\n */\nexport function UiDataProvidedDialog({ uiDataProvider, id, isModal, ...dialogProps }: UiDataProvidedDialogProps) {\n const dialogId = React.useRef(id ? id : getUniqueId());\n const dialogIsModal = React.useRef(isModal);\n const onOK = React.useRef<() => void>();\n const onCancel = React.useRef<() => void>();\n const closeDialog = () => {\n if (dialogIsModal.current)\n ModalDialogManager.closeDialog();\n else\n ModelessDialogManager.closeDialog(dialogId.current);\n };\n\n const handleOk = React.useCallback(() => {\n onOK.current && onOK.current();\n closeDialog();\n }, []);\n\n const handleCancel = React.useCallback(() => {\n onCancel.current && onCancel.current();\n closeDialog();\n }, []);\n\n const generateButtonCluster = React.useCallback((buttons: DialogButtonDef[] | undefined) => {\n // istanbul ignore else\n if (buttons) {\n for (const button of buttons) {\n if (DialogButtonType.Cancel === button.type) {\n onCancel.current = button.onClick;\n button.onClick = handleCancel;\n continue;\n }\n if (DialogButtonType.OK === button.type) {\n onOK.current = button.onClick;\n button.onClick = handleOk;\n continue;\n }\n }\n }\n return buttons;\n }, [handleCancel, handleOk]);\n const [buttonCluster, setButtonCluster] = React.useState(() => generateButtonCluster(uiDataProvider.supplyButtonData()));\n\n React.useEffect(() => {\n const handleReloaded = () => {\n setButtonCluster(generateButtonCluster(uiDataProvider.supplyButtonData()));\n };\n uiDataProvider.onItemsReloadedEvent.addListener(handleReloaded);\n return () => {\n uiDataProvider.onItemsReloadedEvent.removeListener(handleReloaded);\n };\n }, [generateButtonCluster, uiDataProvider]);\n\n React.useEffect(() => {\n const handleButtonReloaded = () => {\n setButtonCluster(generateButtonCluster(uiDataProvider.supplyButtonData()));\n };\n uiDataProvider.onButtonsReloadedEvent.addListener(handleButtonReloaded);\n return () => {\n uiDataProvider.onButtonsReloadedEvent.removeListener(handleButtonReloaded);\n };\n }, [generateButtonCluster, uiDataProvider]);\n\n const handleClose = React.useCallback(() => closeDialog(), []);\n\n return (<Dialog {...dialogProps}\n opened={true}\n modal={isModal}\n buttonCluster={buttonCluster}\n onClose={handleClose}\n onEscape={handleClose}\n >\n <DefaultDialogGridContainer componentGenerator={new ComponentGenerator(uiDataProvider)} />\n </Dialog>\n );\n}\n"]}
1
+ {"version":3,"file":"UiDataProvidedDialog.js","sourceRoot":"","sources":["../../../../src/appui-react/dialog/UiDataProvidedDialog.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 Dialog\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Dialog } from \"@itwin/core-react\";\r\nimport { DialogButtonDef, DialogButtonType, DialogLayoutDataProvider } from \"@itwin/appui-abstract\";\r\nimport { getUniqueId } from \"@itwin/appui-layout-react\";\r\nimport { ModalDialogManager } from \"./ModalDialogManager\";\r\nimport { ModelessDialogManager } from \"./ModelessDialogManager\";\r\nimport { DefaultDialogGridContainer } from \"../uiprovider/DefaultDialogGridContainer\";\r\nimport { ComponentGenerator } from \"../uiprovider/ComponentGenerator\";\r\n\r\n/** Props for [[UiDataProvidedDialog]] component.\r\n * @public\r\n */\r\nexport interface UiDataProvidedDialogProps {\r\n /** Dialog title */\r\n title: string;\r\n /** Provider that provides and lays out DialogItems */\r\n uiDataProvider: DialogLayoutDataProvider;\r\n /** Indicates if Dialog is Modal */\r\n isModal: boolean;\r\n /** Id used to specify dialog. */\r\n id?: string;\r\n /** Indicates whether the user can resize dialog with cursor. Default: false */\r\n resizable?: boolean;\r\n /** Indicates whether the user can move dialog with cursor. Default: false */\r\n movable?: boolean;\r\n /** Initial width of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: \"50%\" */\r\n width?: string | number;\r\n /** Initial height of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n height?: string | number;\r\n /** Minimum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: 300px */\r\n minWidth?: string | number;\r\n /** Minimum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. Default: 100px */\r\n minHeight?: string | number;\r\n /** Maximum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n maxWidth?: string | number;\r\n /** Maximum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n maxHeight?: string | number;\r\n}\r\n\r\n/** Component to show dialog populated from properties supplied via uiDataProvider\r\n * @public\r\n */\r\nexport function UiDataProvidedDialog({ uiDataProvider, id, isModal, ...dialogProps }: UiDataProvidedDialogProps) {\r\n const dialogId = React.useRef(id ? id : getUniqueId());\r\n const dialogIsModal = React.useRef(isModal);\r\n const onOK = React.useRef<() => void>();\r\n const onCancel = React.useRef<() => void>();\r\n const closeDialog = () => {\r\n if (dialogIsModal.current)\r\n ModalDialogManager.closeDialog();\r\n else\r\n ModelessDialogManager.closeDialog(dialogId.current);\r\n };\r\n\r\n const handleOk = React.useCallback(() => {\r\n onOK.current && onOK.current();\r\n closeDialog();\r\n }, []);\r\n\r\n const handleCancel = React.useCallback(() => {\r\n onCancel.current && onCancel.current();\r\n closeDialog();\r\n }, []);\r\n\r\n const generateButtonCluster = React.useCallback((buttons: DialogButtonDef[] | undefined) => {\r\n // istanbul ignore else\r\n if (buttons) {\r\n for (const button of buttons) {\r\n if (DialogButtonType.Cancel === button.type) {\r\n onCancel.current = button.onClick;\r\n button.onClick = handleCancel;\r\n continue;\r\n }\r\n if (DialogButtonType.OK === button.type) {\r\n onOK.current = button.onClick;\r\n button.onClick = handleOk;\r\n continue;\r\n }\r\n }\r\n }\r\n return buttons;\r\n }, [handleCancel, handleOk]);\r\n const [buttonCluster, setButtonCluster] = React.useState(() => generateButtonCluster(uiDataProvider.supplyButtonData()));\r\n\r\n React.useEffect(() => {\r\n const handleReloaded = () => {\r\n setButtonCluster(generateButtonCluster(uiDataProvider.supplyButtonData()));\r\n };\r\n uiDataProvider.onItemsReloadedEvent.addListener(handleReloaded);\r\n return () => {\r\n uiDataProvider.onItemsReloadedEvent.removeListener(handleReloaded);\r\n };\r\n }, [generateButtonCluster, uiDataProvider]);\r\n\r\n React.useEffect(() => {\r\n const handleButtonReloaded = () => {\r\n setButtonCluster(generateButtonCluster(uiDataProvider.supplyButtonData()));\r\n };\r\n uiDataProvider.onButtonsReloadedEvent.addListener(handleButtonReloaded);\r\n return () => {\r\n uiDataProvider.onButtonsReloadedEvent.removeListener(handleButtonReloaded);\r\n };\r\n }, [generateButtonCluster, uiDataProvider]);\r\n\r\n const handleClose = React.useCallback(() => closeDialog(), []);\r\n\r\n return (<Dialog {...dialogProps}\r\n opened={true}\r\n modal={isModal}\r\n buttonCluster={buttonCluster}\r\n onClose={handleClose}\r\n onEscape={handleClose}\r\n >\r\n <DefaultDialogGridContainer componentGenerator={new ComponentGenerator(uiDataProvider)} />\r\n </Dialog>\r\n );\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ZoneTargets.js","sourceRoot":"","sources":["../../../../src/appui-react/dragdrop/ZoneTargets.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAgB,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAYlG;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK,CAAC,SAA2B;IAChD,MAAM;QACpB,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YAC7B,KAAK,cAAc,CAAC,KAAK;gBACvB,OAAO,CACL,oBAAC,WAAW,IACV,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,EACxI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GACvB,CACH,CAAC;YACJ,KAAK,cAAc,CAAC,IAAI;gBACtB,OAAO,CACL,oBAAC,UAAU,IACT,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,EACvI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAC5B,CACH,CAAC;YACJ;gBACE,OAAO,IAAI,CAAC;SACf;IACH,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Zone\n */\n\nimport * as React from \"react\";\nimport { CommonProps } from \"@itwin/core-react\";\nimport { BackTarget, MergeTarget, WidgetZoneId, ZoneTargetType } from \"@itwin/appui-layout-react\";\nimport { TargetChangeHandler } from \"../frontstage/FrontstageComposer\";\n\n/** Properties for the [[ZoneTargets]] component.\n * @internal\n */\nexport interface ZoneTargetsProps extends CommonProps {\n zoneId: WidgetZoneId;\n dropTarget: ZoneTargetType | undefined;\n targetChangeHandler: TargetChangeHandler;\n}\n\n/** Zone Targets React component.\n * @internal\n */\nexport class ZoneTargets extends React.Component<ZoneTargetsProps> {\n public override render(): React.ReactNode {\n switch (this.props.dropTarget) {\n case ZoneTargetType.Merge:\n return (\n <MergeTarget\n className={this.props.className}\n onTargetChanged={(isTargeted) => this.props.targetChangeHandler.handleTargetChanged(this.props.zoneId, ZoneTargetType.Merge, isTargeted)}\n style={this.props.style}\n />\n );\n case ZoneTargetType.Back:\n return (\n <BackTarget\n className={this.props.className}\n onTargetChanged={(isTargeted) => this.props.targetChangeHandler.handleTargetChanged(this.props.zoneId, ZoneTargetType.Back, isTargeted)}\n style={this.props.style}\n zoneIndex={this.props.zoneId}\n />\n );\n default:\n return null;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"ZoneTargets.js","sourceRoot":"","sources":["../../../../src/appui-react/dragdrop/ZoneTargets.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAgB,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAYlG;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK,CAAC,SAA2B;IAChD,MAAM;QACpB,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YAC7B,KAAK,cAAc,CAAC,KAAK;gBACvB,OAAO,CACL,oBAAC,WAAW,IACV,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,EACxI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GACvB,CACH,CAAC;YACJ,KAAK,cAAc,CAAC,IAAI;gBACtB,OAAO,CACL,oBAAC,UAAU,IACT,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,EACvI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAC5B,CACH,CAAC;YACJ;gBACE,OAAO,IAAI,CAAC;SACf;IACH,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Zone\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { BackTarget, MergeTarget, WidgetZoneId, ZoneTargetType } from \"@itwin/appui-layout-react\";\r\nimport { TargetChangeHandler } from \"../frontstage/FrontstageComposer\";\r\n\r\n/** Properties for the [[ZoneTargets]] component.\r\n * @internal\r\n */\r\nexport interface ZoneTargetsProps extends CommonProps {\r\n zoneId: WidgetZoneId;\r\n dropTarget: ZoneTargetType | undefined;\r\n targetChangeHandler: TargetChangeHandler;\r\n}\r\n\r\n/** Zone Targets React component.\r\n * @internal\r\n */\r\nexport class ZoneTargets extends React.Component<ZoneTargetsProps> {\r\n public override render(): React.ReactNode {\r\n switch (this.props.dropTarget) {\r\n case ZoneTargetType.Merge:\r\n return (\r\n <MergeTarget\r\n className={this.props.className}\r\n onTargetChanged={(isTargeted) => this.props.targetChangeHandler.handleTargetChanged(this.props.zoneId, ZoneTargetType.Merge, isTargeted)}\r\n style={this.props.style}\r\n />\r\n );\r\n case ZoneTargetType.Back:\r\n return (\r\n <BackTarget\r\n className={this.props.className}\r\n onTargetChanged={(isTargeted) => this.props.targetChangeHandler.handleTargetChanged(this.props.zoneId, ZoneTargetType.Back, isTargeted)}\r\n style={this.props.style}\r\n zoneIndex={this.props.zoneId}\r\n />\r\n );\r\n default:\r\n return null;\r\n }\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ElementTooltip.js","sourceRoot":"","sources":["../../../../src/appui-react/feedback/ElementTooltip.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAsB,SAAS,EAAa,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAwBrD;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,OAAuC;CAAI;AAE3F;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK,CAAC,SAA2C;IA+CnF,YAAY,KAAkB;QAC5B,KAAK,CAAC,KAAK,CAAC,CAAC;QAlBP,UAAK,GAAc;YACzB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;SACT,CAAC;QAIF,gBAAgB;QACS,UAAK,GAAkC;YAC9D,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACL;SACF,CAAC;QAsCM,sCAAiC,GAAG,CAAC,IAAoC,EAAE,EAAE;YACnF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC;gBACZ,SAAS,EAAE,IAAI,CAAC,gBAAgB;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC;QAEF,uBAAuB;QACf,uBAAkB,GAAG,CAAC,IAAe,EAAE,EAAE;YAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC;IAhDF,CAAC;IA5CM,MAAM,KAAK,4BAA4B,KAAiC,OAAO,cAAc,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAC5H,MAAM,KAAK,gBAAgB,KAAc,OAAO,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEnF,MAAM,CAAC,WAAW,CAAC,EAAe,EAAE,OAA0B,EAAE,EAAU,EAAE,OAAwB;QACzG,qBAAqB;QACrB,IAAI,cAAc,CAAC,gBAAgB;YACjC,OAAO;QACT,cAAc,CAAC,iBAAiB,GAAG,IAAI,CAAC;QACxC,cAAc,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACzG,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,cAAc,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACzC,cAAc,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,uBAAuB;IAChB,MAAM,KAAK,eAAe,KAAc,OAAO,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxF,uBAAuB;IAChB,MAAM,KAAK,eAAe,CAAC,IAAa;QAC7C,cAAc,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACvC,IAAI,IAAI,IAAI,cAAc,CAAC,iBAAiB;YAC1C,cAAc,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAuBe,MAAM;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS;YACvB,OAAO,IAAI,CAAC;QAEd,MAAM,SAAS,GAAG,UAAU,CAC1B,sBAAsB,EACtB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAExB,MAAM,WAAW,GAAG,oBAAC,UAAU,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAI,CAAC;QAEhE,OAAO,CACL,6BAAK,SAAS,EAAC,gCAAgC;YAC7C,oBAAC,OAAO,IACN,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,aAAa,EAAE,IAAI,CAAC,kBAAkB,IAErC,WAAW,CACJ,CACN,CACP,CAAC;IACJ,CAAC;IAEe,iBAAiB;QAC/B,cAAc,CAAC,4BAA4B,CAAC,WAAW,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAClG,CAAC;IAEe,oBAAoB;QAClC,cAAc,CAAC,4BAA4B,CAAC,cAAc,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACrG,CAAC;IAkBO,cAAc;QACpB,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAChB,OAAO,IAAI,CAAC;YACd,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,SAAS;gBACjB,OAAO,IAAI,CAAC;YAEd,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC;YAChF,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnF,MAAM,gBAAgB,GAAU,2BAA2B,CAAC,cAAc,EAAE,eAAe,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACvH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAEpE,uBAAuB;YACvB,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACrC,OAAO,IAAI,CAAC;YAEd,uBAAuB;YACvB,OAAO;gBACL,QAAQ;aACT,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;;AAxHc,0CAA2B,GAA+B,IAAI,0BAA0B,EAAE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Notification\n */\n\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { XAndY } from \"@itwin/core-geometry\";\nimport { ToolTipOptions } from \"@itwin/core-frontend\";\nimport { PointProps } from \"@itwin/appui-abstract\";\nimport { CommonProps, Point, Rectangle, SizeProps, UiEvent } from \"@itwin/core-react\";\nimport { offsetAndContainInContainer, Tooltip } from \"@itwin/appui-layout-react\";\nimport { MessageDiv } from \"../messages/MessageSpan\";\nimport { NotifyMessageType } from \"../messages/ReactNotifyMessageDetails\";\n\n/** [[ElementTooltip]] State.\n * @internal\n */\ninterface ElementTooltipState {\n isVisible: boolean;\n message: NotifyMessageType;\n position: PointProps;\n options?: ToolTipOptions;\n}\n\n/** [[ElementTooltipChangedEvent]] arguments.\n * @public\n */\nexport interface ElementTooltipChangedEventArgs {\n isTooltipVisible: boolean;\n message: NotifyMessageType;\n el?: HTMLElement;\n pt?: XAndY;\n options?: ToolTipOptions;\n}\n\n/** ElementTooltip Changed Event class.\n * @public\n */\nexport class ElementTooltipChangedEvent extends UiEvent<ElementTooltipChangedEventArgs> { }\n\n/** ElementTooltip React component.\n * @public\n */\nexport class ElementTooltip extends React.Component<CommonProps, ElementTooltipState> {\n private static _elementTooltipChangedEvent: ElementTooltipChangedEvent = new ElementTooltipChangedEvent();\n private static _isTooltipVisible: boolean;\n private static _isTooltipHalted: boolean;\n\n public static get onElementTooltipChangedEvent(): ElementTooltipChangedEvent { return ElementTooltip._elementTooltipChangedEvent; }\n public static get isTooltipVisible(): boolean { return ElementTooltip._isTooltipVisible; }\n\n public static showTooltip(el: HTMLElement, message: NotifyMessageType, pt?: XAndY, options?: ToolTipOptions): void {\n // istanbul ignore if\n if (ElementTooltip._isTooltipHalted)\n return;\n ElementTooltip._isTooltipVisible = true;\n ElementTooltip.onElementTooltipChangedEvent.emit({ isTooltipVisible: true, el, message, pt, options });\n }\n\n public static hideTooltip(): void {\n ElementTooltip._isTooltipVisible = false;\n ElementTooltip.onElementTooltipChangedEvent.emit({ isTooltipVisible: false, message: \"\" });\n }\n\n // istanbul ignore next\n public static get isTooltipHalted(): boolean { return ElementTooltip._isTooltipHalted; }\n // istanbul ignore next\n public static set isTooltipHalted(halt: boolean) {\n ElementTooltip._isTooltipHalted = halt;\n if (halt && ElementTooltip._isTooltipVisible)\n ElementTooltip.hideTooltip();\n }\n\n private _size: SizeProps = {\n height: 0,\n width: 0,\n };\n private _element?: HTMLElement;\n private _position?: PointProps;\n\n /** @internal */\n public override readonly state: Readonly<ElementTooltipState> = {\n message: \"\",\n isVisible: false,\n position: {\n x: 0,\n y: 0,\n },\n };\n\n constructor(props: CommonProps) {\n super(props);\n }\n\n public override render() {\n if (!this.state.isVisible)\n return null;\n\n const className = classnames(\n \"uifw-element-tooltip\",\n this.props.className);\n\n const messageNode = <MessageDiv message={this.state.message} />;\n\n return (\n <div className=\"uifw-element-tooltip-container\">\n <Tooltip\n className={className}\n style={this.props.style}\n position={this.state.position}\n onSizeChanged={this._handleSizeChanged}\n >\n {messageNode}\n </Tooltip>\n </div>\n );\n }\n\n public override componentDidMount(): void {\n ElementTooltip.onElementTooltipChangedEvent.addListener(this._handleElementTooltipChangedEvent);\n }\n\n public override componentWillUnmount(): void {\n ElementTooltip.onElementTooltipChangedEvent.removeListener(this._handleElementTooltipChangedEvent);\n }\n\n private _handleElementTooltipChangedEvent = (args: ElementTooltipChangedEventArgs) => {\n this._element = args.el;\n this._position = args.pt;\n this.setState({\n isVisible: args.isTooltipVisible,\n message: args.message,\n });\n this.updatePosition();\n };\n\n // istanbul ignore next\n private _handleSizeChanged = (size: SizeProps) => {\n this._size = size;\n this.updatePosition();\n };\n\n private updatePosition() {\n this.setState((prevState) => {\n if (!this._element)\n return null;\n // istanbul ignore next\n if (!this._position)\n return null;\n\n const containerBounds = Rectangle.create(this._element.getBoundingClientRect());\n const relativeBounds = Rectangle.createFromSize(this._size).offset(this._position);\n const adjustedPosition: Point = offsetAndContainInContainer(relativeBounds, containerBounds.getSize(), { x: 8, y: 8 });\n const position = adjustedPosition.offset(containerBounds.topLeft());\n\n // istanbul ignore else\n if (position.equals(prevState.position))\n return null;\n\n // istanbul ignore next\n return {\n position,\n };\n });\n }\n}\n"]}
1
+ {"version":3,"file":"ElementTooltip.js","sourceRoot":"","sources":["../../../../src/appui-react/feedback/ElementTooltip.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAsB,SAAS,EAAa,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAwBrD;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,OAAuC;CAAI;AAE3F;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK,CAAC,SAA2C;IA+CnF,YAAY,KAAkB;QAC5B,KAAK,CAAC,KAAK,CAAC,CAAC;QAlBP,UAAK,GAAc;YACzB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;SACT,CAAC;QAIF,gBAAgB;QACS,UAAK,GAAkC;YAC9D,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACL;SACF,CAAC;QAsCM,sCAAiC,GAAG,CAAC,IAAoC,EAAE,EAAE;YACnF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC;gBACZ,SAAS,EAAE,IAAI,CAAC,gBAAgB;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC;QAEF,uBAAuB;QACf,uBAAkB,GAAG,CAAC,IAAe,EAAE,EAAE;YAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC;IAhDF,CAAC;IA5CM,MAAM,KAAK,4BAA4B,KAAiC,OAAO,cAAc,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAC5H,MAAM,KAAK,gBAAgB,KAAc,OAAO,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEnF,MAAM,CAAC,WAAW,CAAC,EAAe,EAAE,OAA0B,EAAE,EAAU,EAAE,OAAwB;QACzG,qBAAqB;QACrB,IAAI,cAAc,CAAC,gBAAgB;YACjC,OAAO;QACT,cAAc,CAAC,iBAAiB,GAAG,IAAI,CAAC;QACxC,cAAc,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACzG,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,cAAc,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACzC,cAAc,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,uBAAuB;IAChB,MAAM,KAAK,eAAe,KAAc,OAAO,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxF,uBAAuB;IAChB,MAAM,KAAK,eAAe,CAAC,IAAa;QAC7C,cAAc,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACvC,IAAI,IAAI,IAAI,cAAc,CAAC,iBAAiB;YAC1C,cAAc,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAuBe,MAAM;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS;YACvB,OAAO,IAAI,CAAC;QAEd,MAAM,SAAS,GAAG,UAAU,CAC1B,sBAAsB,EACtB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAExB,MAAM,WAAW,GAAG,oBAAC,UAAU,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAI,CAAC;QAEhE,OAAO,CACL,6BAAK,SAAS,EAAC,gCAAgC;YAC7C,oBAAC,OAAO,IACN,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,aAAa,EAAE,IAAI,CAAC,kBAAkB,IAErC,WAAW,CACJ,CACN,CACP,CAAC;IACJ,CAAC;IAEe,iBAAiB;QAC/B,cAAc,CAAC,4BAA4B,CAAC,WAAW,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAClG,CAAC;IAEe,oBAAoB;QAClC,cAAc,CAAC,4BAA4B,CAAC,cAAc,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACrG,CAAC;IAkBO,cAAc;QACpB,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAChB,OAAO,IAAI,CAAC;YACd,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,SAAS;gBACjB,OAAO,IAAI,CAAC;YAEd,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC;YAChF,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnF,MAAM,gBAAgB,GAAU,2BAA2B,CAAC,cAAc,EAAE,eAAe,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACvH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAEpE,uBAAuB;YACvB,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACrC,OAAO,IAAI,CAAC;YAEd,uBAAuB;YACvB,OAAO;gBACL,QAAQ;aACT,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;;AAxHc,0CAA2B,GAA+B,IAAI,0BAA0B,EAAE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Notification\r\n */\r\n\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\nimport { ToolTipOptions } from \"@itwin/core-frontend\";\r\nimport { PointProps } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Point, Rectangle, SizeProps, UiEvent } from \"@itwin/core-react\";\r\nimport { offsetAndContainInContainer, Tooltip } from \"@itwin/appui-layout-react\";\r\nimport { MessageDiv } from \"../messages/MessageSpan\";\r\nimport { NotifyMessageType } from \"../messages/ReactNotifyMessageDetails\";\r\n\r\n/** [[ElementTooltip]] State.\r\n * @internal\r\n */\r\ninterface ElementTooltipState {\r\n isVisible: boolean;\r\n message: NotifyMessageType;\r\n position: PointProps;\r\n options?: ToolTipOptions;\r\n}\r\n\r\n/** [[ElementTooltipChangedEvent]] arguments.\r\n * @public\r\n */\r\nexport interface ElementTooltipChangedEventArgs {\r\n isTooltipVisible: boolean;\r\n message: NotifyMessageType;\r\n el?: HTMLElement;\r\n pt?: XAndY;\r\n options?: ToolTipOptions;\r\n}\r\n\r\n/** ElementTooltip Changed Event class.\r\n * @public\r\n */\r\nexport class ElementTooltipChangedEvent extends UiEvent<ElementTooltipChangedEventArgs> { }\r\n\r\n/** ElementTooltip React component.\r\n * @public\r\n */\r\nexport class ElementTooltip extends React.Component<CommonProps, ElementTooltipState> {\r\n private static _elementTooltipChangedEvent: ElementTooltipChangedEvent = new ElementTooltipChangedEvent();\r\n private static _isTooltipVisible: boolean;\r\n private static _isTooltipHalted: boolean;\r\n\r\n public static get onElementTooltipChangedEvent(): ElementTooltipChangedEvent { return ElementTooltip._elementTooltipChangedEvent; }\r\n public static get isTooltipVisible(): boolean { return ElementTooltip._isTooltipVisible; }\r\n\r\n public static showTooltip(el: HTMLElement, message: NotifyMessageType, pt?: XAndY, options?: ToolTipOptions): void {\r\n // istanbul ignore if\r\n if (ElementTooltip._isTooltipHalted)\r\n return;\r\n ElementTooltip._isTooltipVisible = true;\r\n ElementTooltip.onElementTooltipChangedEvent.emit({ isTooltipVisible: true, el, message, pt, options });\r\n }\r\n\r\n public static hideTooltip(): void {\r\n ElementTooltip._isTooltipVisible = false;\r\n ElementTooltip.onElementTooltipChangedEvent.emit({ isTooltipVisible: false, message: \"\" });\r\n }\r\n\r\n // istanbul ignore next\r\n public static get isTooltipHalted(): boolean { return ElementTooltip._isTooltipHalted; }\r\n // istanbul ignore next\r\n public static set isTooltipHalted(halt: boolean) {\r\n ElementTooltip._isTooltipHalted = halt;\r\n if (halt && ElementTooltip._isTooltipVisible)\r\n ElementTooltip.hideTooltip();\r\n }\r\n\r\n private _size: SizeProps = {\r\n height: 0,\r\n width: 0,\r\n };\r\n private _element?: HTMLElement;\r\n private _position?: PointProps;\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<ElementTooltipState> = {\r\n message: \"\",\r\n isVisible: false,\r\n position: {\r\n x: 0,\r\n y: 0,\r\n },\r\n };\r\n\r\n constructor(props: CommonProps) {\r\n super(props);\r\n }\r\n\r\n public override render() {\r\n if (!this.state.isVisible)\r\n return null;\r\n\r\n const className = classnames(\r\n \"uifw-element-tooltip\",\r\n this.props.className);\r\n\r\n const messageNode = <MessageDiv message={this.state.message} />;\r\n\r\n return (\r\n <div className=\"uifw-element-tooltip-container\">\r\n <Tooltip\r\n className={className}\r\n style={this.props.style}\r\n position={this.state.position}\r\n onSizeChanged={this._handleSizeChanged}\r\n >\r\n {messageNode}\r\n </Tooltip>\r\n </div>\r\n );\r\n }\r\n\r\n public override componentDidMount(): void {\r\n ElementTooltip.onElementTooltipChangedEvent.addListener(this._handleElementTooltipChangedEvent);\r\n }\r\n\r\n public override componentWillUnmount(): void {\r\n ElementTooltip.onElementTooltipChangedEvent.removeListener(this._handleElementTooltipChangedEvent);\r\n }\r\n\r\n private _handleElementTooltipChangedEvent = (args: ElementTooltipChangedEventArgs) => {\r\n this._element = args.el;\r\n this._position = args.pt;\r\n this.setState({\r\n isVisible: args.isTooltipVisible,\r\n message: args.message,\r\n });\r\n this.updatePosition();\r\n };\r\n\r\n // istanbul ignore next\r\n private _handleSizeChanged = (size: SizeProps) => {\r\n this._size = size;\r\n this.updatePosition();\r\n };\r\n\r\n private updatePosition() {\r\n this.setState((prevState) => {\r\n if (!this._element)\r\n return null;\r\n // istanbul ignore next\r\n if (!this._position)\r\n return null;\r\n\r\n const containerBounds = Rectangle.create(this._element.getBoundingClientRect());\r\n const relativeBounds = Rectangle.createFromSize(this._size).offset(this._position);\r\n const adjustedPosition: Point = offsetAndContainInContainer(relativeBounds, containerBounds.getSize(), { x: 8, y: 8 });\r\n const position = adjustedPosition.offset(containerBounds.topLeft());\r\n\r\n // istanbul ignore else\r\n if (position.equals(prevState.position))\r\n return null;\r\n\r\n // istanbul ignore next\r\n return {\r\n position,\r\n };\r\n });\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationTextbox.js","sourceRoot":"","sources":["../../../../src/appui-react/feedback/ValidationTextbox.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 Notification\n */\n\nimport \"./ValidationTextbox.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { SpecialKey } from \"@itwin/appui-abstract\";\nimport { CommonProps } from \"@itwin/core-react\";\nimport { MessageManager } from \"../messages/MessageManager\";\n\n/** Enum for Input Status used in [[ValidationTextbox]]\n * @alpha\n */\nexport enum InputStatus {\n Valid = 0,\n Invalid = 1,\n}\n\n/** Property interface for ValidationTextbox\n * @alpha\n */\ninterface ValidationTextboxProps extends CommonProps {\n /** value to set ValidationTextbox to initially */\n initialValue?: string;\n /** placeholder value to show in gray before anything is entered in */\n placeholder?: string;\n /** triggered when the content of ValidationTextbox is changed. Return true if valid */\n onValueChanged?: (value: string) => InputStatus;\n /** listens for <Enter> key presses */\n onEnterPressed?: () => void;\n /** listens for <Esc> key presses */\n onEscPressed?: () => void;\n /** width of ValidationTextbox, measured in em */\n size?: number;\n /** Error message to display */\n errorText?: string;\n /** Detailed error message to display */\n detailedErrorText?: string;\n}\n\ninterface ValidationTextboxState {\n isValid: boolean;\n}\n\n/**\n * Input box that validates text based on provided criteria. Defaults to checking\n * for empty if no method for onValueChanged is provided.\n * @alpha\n */\nexport class ValidationTextbox extends React.PureComponent<ValidationTextboxProps, ValidationTextboxState> {\n constructor(props: ValidationTextboxProps) {\n super(props);\n\n this.state = { isValid: true };\n }\n\n /** @internal */\n public override render(): React.ReactNode {\n const sizeStyle: React.CSSProperties = {\n width: this.props.size ? `${this.props.size.toString()}em` : \"12em\",\n };\n const divStyle: React.CSSProperties = {\n ...sizeStyle,\n ...this.props.style,\n };\n\n const validClassNames = classnames(\n \"ValidationTextbox-input\",\n );\n\n const invalidClassNames = classnames(\n \"ValidationTextbox-input\",\n \"ValidationTextbox-invalid\",\n );\n\n return (\n <div\n className={classnames(\"uifw-ValidationTextbox\", this.props.className)}\n style={divStyle}>\n <input\n className={this.state.isValid ? validClassNames : invalidClassNames}\n onChange={this._validateText}\n onKeyUp={this._handleKeyUp}\n onPaste={this._validateText}\n onCut={this._validateText}\n onBlur={this._validateText}\n placeholder={this.props.placeholder ? this.props.placeholder : \"\"}\n style={sizeStyle}\n />\n {this.props.children}\n </div>\n );\n }\n\n private processValidateText(target: HTMLInputElement | undefined): void {\n // istanbul ignore next\n if (undefined === target)\n return;\n\n const value = target.value;\n const isValid = this._calculateIsValid(value);\n\n this.setState({ isValid }, () => {\n if (this.state.isValid) {\n this._hideErrorMessage();\n } else {\n // istanbul ignore else\n if (this.props.errorText && !this.state.isValid)\n this._showErrorMessage(target);\n }\n });\n }\n\n /**\n * Determines if value is valid and resolves any defined functions.\n * Also will show or hide error message if defined.\n * @param event Button press event that triggers validation\n */\n private _validateText = (event?: any): void => {\n this.processValidateText(event.target as HTMLInputElement);\n };\n\n /**\n * Determines if value provided is valid by calling user defined\n * function. If no function is provided, the default criteria for\n * validity is if the value has been defined.\n * @param value The value provided in textbox\n */\n private _calculateIsValid(value: string): boolean {\n if (this.props.onValueChanged)\n return (this.props.onValueChanged(value) === InputStatus.Valid) ? /* istanbul ignore next */ true : false;\n return value.length > 0;\n }\n\n /** Hides error message */\n private _hideErrorMessage() {\n MessageManager.hideInputFieldMessage();\n }\n\n /** Displays error message. */\n private _showErrorMessage(target: Element) {\n MessageManager.displayInputFieldMessage(target as HTMLElement, this.props.errorText!, this.props.detailedErrorText);\n return;\n }\n\n /**\n * Manages special key codes by calling user defined functions\n * @param event Keyup event\n */\n private _handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n this.processValidateText(event.target as HTMLInputElement);\n\n switch (event.key) {\n case SpecialKey.Escape:\n // istanbul ignore else\n if (this.props.onEscPressed)\n this.props.onEscPressed();\n break;\n case SpecialKey.Enter:\n // istanbul ignore else\n if (this.props.onEnterPressed)\n this.props.onEnterPressed();\n break;\n }\n };\n}\n"]}
1
+ {"version":3,"file":"ValidationTextbox.js","sourceRoot":"","sources":["../../../../src/appui-react/feedback/ValidationTextbox.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 Notification\r\n */\r\n\r\nimport \"./ValidationTextbox.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { MessageManager } from \"../messages/MessageManager\";\r\n\r\n/** Enum for Input Status used in [[ValidationTextbox]]\r\n * @alpha\r\n */\r\nexport enum InputStatus {\r\n Valid = 0,\r\n Invalid = 1,\r\n}\r\n\r\n/** Property interface for ValidationTextbox\r\n * @alpha\r\n */\r\ninterface ValidationTextboxProps extends CommonProps {\r\n /** value to set ValidationTextbox to initially */\r\n initialValue?: string;\r\n /** placeholder value to show in gray before anything is entered in */\r\n placeholder?: string;\r\n /** triggered when the content of ValidationTextbox is changed. Return true if valid */\r\n onValueChanged?: (value: string) => InputStatus;\r\n /** listens for <Enter> key presses */\r\n onEnterPressed?: () => void;\r\n /** listens for <Esc> key presses */\r\n onEscPressed?: () => void;\r\n /** width of ValidationTextbox, measured in em */\r\n size?: number;\r\n /** Error message to display */\r\n errorText?: string;\r\n /** Detailed error message to display */\r\n detailedErrorText?: string;\r\n}\r\n\r\ninterface ValidationTextboxState {\r\n isValid: boolean;\r\n}\r\n\r\n/**\r\n * Input box that validates text based on provided criteria. Defaults to checking\r\n * for empty if no method for onValueChanged is provided.\r\n * @alpha\r\n */\r\nexport class ValidationTextbox extends React.PureComponent<ValidationTextboxProps, ValidationTextboxState> {\r\n constructor(props: ValidationTextboxProps) {\r\n super(props);\r\n\r\n this.state = { isValid: true };\r\n }\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const sizeStyle: React.CSSProperties = {\r\n width: this.props.size ? `${this.props.size.toString()}em` : \"12em\",\r\n };\r\n const divStyle: React.CSSProperties = {\r\n ...sizeStyle,\r\n ...this.props.style,\r\n };\r\n\r\n const validClassNames = classnames(\r\n \"ValidationTextbox-input\",\r\n );\r\n\r\n const invalidClassNames = classnames(\r\n \"ValidationTextbox-input\",\r\n \"ValidationTextbox-invalid\",\r\n );\r\n\r\n return (\r\n <div\r\n className={classnames(\"uifw-ValidationTextbox\", this.props.className)}\r\n style={divStyle}>\r\n <input\r\n className={this.state.isValid ? validClassNames : invalidClassNames}\r\n onChange={this._validateText}\r\n onKeyUp={this._handleKeyUp}\r\n onPaste={this._validateText}\r\n onCut={this._validateText}\r\n onBlur={this._validateText}\r\n placeholder={this.props.placeholder ? this.props.placeholder : \"\"}\r\n style={sizeStyle}\r\n />\r\n {this.props.children}\r\n </div>\r\n );\r\n }\r\n\r\n private processValidateText(target: HTMLInputElement | undefined): void {\r\n // istanbul ignore next\r\n if (undefined === target)\r\n return;\r\n\r\n const value = target.value;\r\n const isValid = this._calculateIsValid(value);\r\n\r\n this.setState({ isValid }, () => {\r\n if (this.state.isValid) {\r\n this._hideErrorMessage();\r\n } else {\r\n // istanbul ignore else\r\n if (this.props.errorText && !this.state.isValid)\r\n this._showErrorMessage(target);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Determines if value is valid and resolves any defined functions.\r\n * Also will show or hide error message if defined.\r\n * @param event Button press event that triggers validation\r\n */\r\n private _validateText = (event?: any): void => {\r\n this.processValidateText(event.target as HTMLInputElement);\r\n };\r\n\r\n /**\r\n * Determines if value provided is valid by calling user defined\r\n * function. If no function is provided, the default criteria for\r\n * validity is if the value has been defined.\r\n * @param value The value provided in textbox\r\n */\r\n private _calculateIsValid(value: string): boolean {\r\n if (this.props.onValueChanged)\r\n return (this.props.onValueChanged(value) === InputStatus.Valid) ? /* istanbul ignore next */ true : false;\r\n return value.length > 0;\r\n }\r\n\r\n /** Hides error message */\r\n private _hideErrorMessage() {\r\n MessageManager.hideInputFieldMessage();\r\n }\r\n\r\n /** Displays error message. */\r\n private _showErrorMessage(target: Element) {\r\n MessageManager.displayInputFieldMessage(target as HTMLElement, this.props.errorText!, this.props.detailedErrorText);\r\n return;\r\n }\r\n\r\n /**\r\n * Manages special key codes by calling user defined functions\r\n * @param event Keyup event\r\n */\r\n private _handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n this.processValidateText(event.target as HTMLInputElement);\r\n\r\n switch (event.key) {\r\n case SpecialKey.Escape:\r\n // istanbul ignore else\r\n if (this.props.onEscPressed)\r\n this.props.onEscPressed();\r\n break;\r\n case SpecialKey.Enter:\r\n // istanbul ignore else\r\n if (this.props.onEnterPressed)\r\n this.props.onEnterPressed();\r\n break;\r\n }\r\n };\r\n}\r\n"]}
@@ -1,54 +1,54 @@
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/icons/variables";
6
- @import "~@itwin/core-react/lib/cjs/core-react/inputs/variables";
7
- @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
8
- @import "~@itwin/core-react/lib/cjs/core-react/style/variables";
9
- @import "~@itwin/itwinui-css/scss/inputs/input";
10
- @import "~@itwin/itwinui-css/scss/style/typography";
11
-
12
- .uifw-ValidationTextbox {
13
- @include iui-font-family;
14
- position: relative;
15
- padding: $uicore-unbordered-padding;
16
- width: 12em;
17
- height: 1em;
18
-
19
- .ValidationTextbox-input {
20
- position: absolute;
21
- @include iui-input;
22
- min-height: $uicore-component-height-normal;
23
- padding: $uicore-iui-input-padding;
24
- width: 12em;
25
- left: 0px;
26
- top: 0px;
27
- }
28
-
29
- .ValidationTextbox-invalid {
30
- border-color: $buic-foreground-alert;
31
- }
32
-
33
- .ValidationTextbox-invalid:focus {
34
- border-color: $buic-foreground-alert;
35
- }
36
-
37
- .ValidationTextbox-icon {
38
- position: absolute;
39
- padding: $uicore-bordered-padding;
40
- width: $uicore-line-height;
41
- height: $uicore-line-height;
42
- line-height: $uicore-line-height;
43
- font-size: $uicore-icons-small;
44
- cursor: pointer;
45
- top: 0px;
46
- right: 0px;
47
- text-align: center;
48
- color: $buic-icon-color;
49
-
50
- &:hover {
51
- color: $buic-foreground-primary;
52
- }
53
- }
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/icons/variables";
6
+ @import "~@itwin/core-react/lib/cjs/core-react/inputs/variables";
7
+ @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
8
+ @import "~@itwin/core-react/lib/cjs/core-react/style/variables";
9
+ @import "~@itwin/itwinui-css/scss/inputs/input";
10
+ @import "~@itwin/itwinui-css/scss/style/typography";
11
+
12
+ .uifw-ValidationTextbox {
13
+ @include iui-font-family;
14
+ position: relative;
15
+ padding: $uicore-unbordered-padding;
16
+ width: 12em;
17
+ height: 1em;
18
+
19
+ .ValidationTextbox-input {
20
+ position: absolute;
21
+ @include iui-input;
22
+ min-height: $uicore-component-height-normal;
23
+ padding: $uicore-iui-input-padding;
24
+ width: 12em;
25
+ left: 0px;
26
+ top: 0px;
27
+ }
28
+
29
+ .ValidationTextbox-invalid {
30
+ border-color: $buic-foreground-alert;
31
+ }
32
+
33
+ .ValidationTextbox-invalid:focus {
34
+ border-color: $buic-foreground-alert;
35
+ }
36
+
37
+ .ValidationTextbox-icon {
38
+ position: absolute;
39
+ padding: $uicore-bordered-padding;
40
+ width: $uicore-line-height;
41
+ height: $uicore-line-height;
42
+ line-height: $uicore-line-height;
43
+ font-size: $uicore-icons-small;
44
+ cursor: pointer;
45
+ top: 0px;
46
+ right: 0px;
47
+ text-align: center;
48
+ color: $buic-icon-color;
49
+
50
+ &:hover {
51
+ color: $buic-foreground-primary;
52
+ }
53
+ }
54
54
  }
@@ -117,7 +117,6 @@ export declare class Frontstage extends React.Component<FrontstageProps, Frontst
117
117
  componentWillUnmount(): void;
118
118
  private _uiVisibilityChanged;
119
119
  private _handleWidgetsChanged;
120
- private _handleWidgetProvidersChanged;
121
120
  private _handleUiProviderRegisteredEvent;
122
121
  private updateWidgetDefs;
123
122
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/Frontstage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/Frontstage.tsx"],"names":[],"mappings":"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"}
@@ -45,9 +45,6 @@ export class Frontstage extends React.Component {
45
45
  this._handleWidgetsChanged = (_args) => {
46
46
  this.updateWidgetDefs();
47
47
  };
48
- this._handleWidgetProvidersChanged = (_args) => {
49
- this.updateWidgetDefs();
50
- };
51
48
  this._handleUiProviderRegisteredEvent = (_args) => {
52
49
  this.updateWidgetDefs();
53
50
  };
@@ -77,7 +74,6 @@ export class Frontstage extends React.Component {
77
74
  async componentDidMount() {
78
75
  UiFramework.onUiVisibilityChanged.addListener(this._uiVisibilityChanged);
79
76
  UiFramework.widgetManager.onWidgetsChanged.addListener(this._handleWidgetsChanged);
80
- UiFramework.widgetManager.onWidgetProvidersChanged.addListener(this._handleWidgetProvidersChanged);
81
77
  UiItemsManager.onUiProviderRegisteredEvent.addListener(this._handleUiProviderRegisteredEvent);
82
78
  }
83
79
  componentDidUpdate() {
@@ -95,8 +91,6 @@ export class Frontstage extends React.Component {
95
91
  */
96
92
  componentWillUnmount() {
97
93
  UiFramework.onUiVisibilityChanged.removeListener(this._uiVisibilityChanged);
98
- UiFramework.widgetManager.onWidgetsChanged.removeListener(this._handleWidgetsChanged);
99
- UiFramework.widgetManager.onWidgetProvidersChanged.removeListener(this._handleWidgetProvidersChanged);
100
94
  UiItemsManager.onUiProviderRegisteredEvent.removeListener(this._handleUiProviderRegisteredEvent);
101
95
  }
102
96
  updateWidgetDefs() {
@@ -1 +1 @@
1
- {"version":3,"file":"Frontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/Frontstage.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 Frontstage\n */\n\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport { StagePanelLocation, UiItemProviderRegisteredEventArgs, UiItemsManager, WidgetState } from \"@itwin/appui-abstract\";\nimport { CommonProps, Rectangle } from \"@itwin/core-react\";\nimport {\n HorizontalAnchor, Zones as NZ_Zones, StagePanels, StagePanelsManager, ToolSettingsWidgetMode, WidgetZoneId, widgetZoneIds, ZoneManagerProps,\n ZonesManagerProps,\n} from \"@itwin/appui-layout-react\";\nimport { ContentGroup, ContentGroupProvider } from \"../content/ContentGroup\";\nimport { ContentLayout } from \"../content/ContentLayout\";\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\nimport { getNestedStagePanelKey, StagePanelProps, StagePanelRuntimeProps } from \"../stagepanels/StagePanel\";\nimport { StagePanelDef } from \"../stagepanels/StagePanelDef\";\nimport { UiFramework, UiVisibilityEventArgs } from \"../UiFramework\";\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\nimport { ToolSettingsContent } from \"../widgets/ToolSettingsContent\";\nimport { WidgetDef, WidgetStateChangedEventArgs } from \"../widgets/WidgetDef\";\nimport { WidgetProvidersChangedEventArgs, WidgetsChangedEventArgs } from \"../widgets/WidgetManager\";\nimport { isToolSettingsWidgetManagerProps, Zone, ZoneLocation, ZoneProps, ZoneRuntimeProps } from \"../zones/Zone\";\nimport { ZoneDef } from \"../zones/ZoneDef\";\nimport { FrontstageRuntimeProps, ZoneDefProvider } from \"./FrontstageComposer\";\nimport { FrontstageActivatedEventArgs, FrontstageManager } from \"./FrontstageManager\";\n\n/** Properties for a [[Frontstage]] component.\n * @public\n */\nexport interface FrontstageProps extends CommonProps {\n /** Id for the Frontstage */\n id: string;\n /** Tool that is started once the Frontstage is activated */\n defaultTool: ToolItemDef;\n /** The Content Group providing the Content Views */\n contentGroup: ContentGroup | ContentGroupProvider;\n /** Id of the Content View to be activated initially */\n defaultContentId?: string;\n /** Indicated whether the StatusBar is in footer mode or widget mode. Defaults to true. */\n isInFooterMode?: boolean; // Default - true\n /** Any application data to attach to this Frontstage. */\n applicationData?: any;\n /** Usage type for this Frontstage. */\n usage?: string;\n /** Frontstage version. Used to force saved layout reinitialization after changes to frontstage.\n * @note This value should be increased when changes are made to Frontstage.\n * Increasing the value will make sure to reinitialize App layout instead of restoring to old layout.\n * Version increase is required when widgets are added/removed.\n */\n version?: number;\n /** if isIModelIndependent then frontstage is independent from any iModel. */\n isIModelIndependent?: boolean;\n /** The Zone in the top-left corner.\n * @deprecated Use 'contentManipulationTools' property. */\n topLeft?: React.ReactElement<ZoneProps>;\n /** The Zone along the top-center edge.\n * @deprecated Use 'toolSettings' property. */\n topCenter?: React.ReactElement<ZoneProps>;\n /** The Zone in the top-right corner.\n * @deprecated Use 'viewNavigationTools' property. */\n topRight?: React.ReactElement<ZoneProps>;\n /** The Zone along the center-left edge.\n * @deprecated Place widgets in appropriate stage panel zone. */\n centerLeft?: React.ReactElement<ZoneProps>;\n /** The Zone along the center-right edge.\n * @deprecated Place widgets in appropriate stage panel zone. */\n centerRight?: React.ReactElement<ZoneProps>;\n /** The Zone in the bottom-left corner.\n * @deprecated Place widgets in appropriate stage panel zone. */\n bottomLeft?: React.ReactElement<ZoneProps>;\n /** The Zone along the bottom-center edge.\n * @deprecated use statusBar property */\n bottomCenter?: React.ReactElement<ZoneProps>;\n /** The Zone in the bottom-right corner.\n * @deprecated Place widgets in appropriate stage panel zone. */\n bottomRight?: React.ReactElement<ZoneProps>;\n\n /** The Zone in the top-left corner that shows tools typically used to query and modify content. To be used in place of deprecated topLeft zone definition. */\n contentManipulationTools?: React.ReactElement<ZoneProps>;\n /** The Zone the that shows settings for the active tool. To be used in place of deprecated topCenter zone definition. */\n toolSettings?: React.ReactElement<ZoneProps>;\n /** The Zone in the top-right corner that shows view navigation tools. To be used in place of deprecated topRight zone definition */\n viewNavigationTools?: React.ReactElement<ZoneProps>;\n /** The status bar Zone shown as the application footer. To be used in place of deprecated bottomCenter zone definition. */\n statusBar?: React.ReactElement<ZoneProps>;\n\n /** The StagePanel on the top of the AppUi container. */\n topPanel?: React.ReactElement<StagePanelProps>;\n /** The StagePanel on the very top across the full width.\n * @deprecated Only topPanel is supported in UI 2.0 */\n topMostPanel?: React.ReactElement<StagePanelProps>;\n /** The StagePanel on the left. */\n leftPanel?: React.ReactElement<StagePanelProps>;\n /** The StagePanel on the right. */\n rightPanel?: React.ReactElement<StagePanelProps>;\n /** The StagePanel on the bottom of the AppUi container. */\n bottomPanel?: React.ReactElement<StagePanelProps>;\n /** The StagePanel on the very bottom across the full width.\n * @deprecated Only bottomPanel is supported in UI 2.0 */\n bottomMostPanel?: React.ReactElement<StagePanelProps>;\n\n /** @internal */\n runtimeProps?: FrontstageRuntimeProps;\n}\n\ninterface FrontstageState {\n isUiVisible: boolean;\n widgetIdToContent: Partial<{ [id in WidgetZoneId]: HTMLDivElement | undefined }>;\n}\n\n/** Frontstage React component.\n * A Frontstage is a full-screen configuration designed to enable the user to accomplish a task.\n * @public\n */\nexport class Frontstage extends React.Component<FrontstageProps, FrontstageState> {\n private static _zoneIds: ReadonlyArray<WidgetZoneId> = widgetZoneIds.filter((z) => z !== 8);\n private _contentRefs = new Map<WidgetZoneId, React.Ref<HTMLDivElement>>();\n private _zonesMeasurer = React.createRef<HTMLDivElement>();\n private _floatingZonesMeasurer = React.createRef<HTMLDivElement>();\n private _zonesStyle: React.CSSProperties = {\n pointerEvents: \"none\",\n };\n private _zonesFooterModeStyle: React.CSSProperties = {\n ...this._zonesStyle,\n display: \"flex\",\n flexFlow: \"column\",\n };\n\n /** @internal */\n constructor(props: FrontstageProps) {\n super(props);\n\n this.state = {\n isUiVisible: UiFramework.getIsUiVisible(),\n widgetIdToContent: {},\n };\n }\n\n /** React lifecycle method.\n * @internal\n */\n public override async componentDidMount() {\n UiFramework.onUiVisibilityChanged.addListener(this._uiVisibilityChanged);\n UiFramework.widgetManager.onWidgetsChanged.addListener(this._handleWidgetsChanged);\n UiFramework.widgetManager.onWidgetProvidersChanged.addListener(this._handleWidgetProvidersChanged);\n UiItemsManager.onUiProviderRegisteredEvent.addListener(this._handleUiProviderRegisteredEvent);\n }\n\n public override componentDidUpdate() {\n if (!this._zonesMeasurer.current || !this._floatingZonesMeasurer.current || !this.props.runtimeProps)\n return;\n let floatingBounds = Rectangle.create(this._floatingZonesMeasurer.current.getBoundingClientRect());\n const bounds = Rectangle.create(this._zonesMeasurer.current.getBoundingClientRect());\n const offset = bounds.topLeft().getOffsetTo(floatingBounds.topLeft());\n floatingBounds = floatingBounds.setPosition(offset);\n this.props.runtimeProps.nineZoneChangeHandler.handleZonesBoundsChange(bounds);\n this.props.runtimeProps.nineZoneChangeHandler.handleFloatingZonesBoundsChange(floatingBounds);\n }\n\n /** React lifecycle method.\n * @internal\n */\n public override componentWillUnmount() {\n UiFramework.onUiVisibilityChanged.removeListener(this._uiVisibilityChanged);\n UiFramework.widgetManager.onWidgetsChanged.removeListener(this._handleWidgetsChanged);\n UiFramework.widgetManager.onWidgetProvidersChanged.removeListener(this._handleWidgetProvidersChanged);\n UiItemsManager.onUiProviderRegisteredEvent.removeListener(this._handleUiProviderRegisteredEvent);\n }\n\n private _uiVisibilityChanged = (args: UiVisibilityEventArgs): void => {\n this.setState({ isUiVisible: args.visible });\n };\n\n private _handleWidgetsChanged = (_args: WidgetsChangedEventArgs): void => {\n this.updateWidgetDefs();\n };\n\n private _handleWidgetProvidersChanged = (_args: WidgetProvidersChangedEventArgs): void => {\n this.updateWidgetDefs();\n };\n\n private _handleUiProviderRegisteredEvent = (_args: UiItemProviderRegisteredEventArgs): void => {\n this.updateWidgetDefs();\n };\n\n private updateWidgetDefs() {\n // istanbul ignore else\n if (!this.props.runtimeProps)\n return;\n\n // istanbul ignore next\n {\n const frontstageDef = this.props.runtimeProps.frontstageDef;\n frontstageDef.updateWidgetDefs();\n FrontstageManager.onWidgetDefsUpdatedEvent.emit();\n this.forceUpdate();\n }\n }\n\n /** @internal */\n public static createZoneDef(zoneNode: React.ReactElement<ZoneProps> | undefined, zoneLocation: ZoneLocation, props: FrontstageProps): ZoneDef | undefined {\n if (zoneNode) {\n const zoneDef = new ZoneDef();\n const zoneElement = Frontstage.getZoneElement(zoneLocation, props);\n\n zoneDef.zoneLocation = zoneLocation;\n\n // istanbul ignore else\n if (zoneElement && React.isValidElement(zoneElement)) {\n Zone.initializeZoneDef(zoneDef, zoneElement.props);\n return zoneDef;\n }\n }\n\n return undefined;\n }\n\n private static getZoneElement(zoneId: WidgetZoneId, props: FrontstageProps): React.ReactElement<ZoneProps> | undefined {\n switch (zoneId) {\n case ZoneLocation.TopLeft:\n return props.contentManipulationTools ? props.contentManipulationTools : props.topLeft; // eslint-disable-line deprecation/deprecation\n case ZoneLocation.TopCenter:\n return props.toolSettings ? props.toolSettings : props.topCenter; // eslint-disable-line deprecation/deprecation\n case ZoneLocation.TopRight:\n return props.viewNavigationTools ? /* istanbul ignore next */ props.viewNavigationTools : props.topRight; // eslint-disable-line deprecation/deprecation\n case ZoneLocation.CenterLeft:\n return props.centerLeft; // eslint-disable-line deprecation/deprecation\n case ZoneLocation.CenterRight:\n return props.centerRight; // eslint-disable-line deprecation/deprecation\n case ZoneLocation.BottomLeft:\n return props.bottomLeft; // eslint-disable-line deprecation/deprecation\n case ZoneLocation.BottomCenter:\n return props.statusBar ? props.statusBar : props.bottomCenter; // eslint-disable-line deprecation/deprecation\n case ZoneLocation.BottomRight:\n return props.bottomRight; // eslint-disable-line deprecation/deprecation\n }\n\n // Zones can be undefined in a Frontstage\n // istanbul ignore next\n return undefined;\n }\n\n /** @internal */\n public static createStagePanelDef(panelLocation: StagePanelLocation, props: FrontstageProps): StagePanelDef | undefined {\n const panelDef = new StagePanelDef();\n\n const panelElement = Frontstage.getStagePanelElement(panelLocation, props);\n panelDef.initializeFromProps(panelElement?.props, panelLocation);\n\n return panelDef;\n }\n\n private static getStagePanelElement(location: StagePanelLocation, props: FrontstageProps): React.ReactElement<StagePanelProps> | undefined {\n let panelElement: React.ReactElement<StagePanelProps> | undefined;\n\n switch (location) {\n case StagePanelLocation.Top:\n panelElement = props.topPanel;\n break;\n case StagePanelLocation.TopMost:\n panelElement = props.topMostPanel; // eslint-disable-line deprecation/deprecation\n break;\n case StagePanelLocation.Left:\n panelElement = props.leftPanel;\n break;\n case StagePanelLocation.Right:\n panelElement = props.rightPanel;\n break;\n case StagePanelLocation.Bottom:\n panelElement = props.bottomPanel;\n break;\n case StagePanelLocation.BottomMost:\n panelElement = props.bottomMostPanel; // eslint-disable-line deprecation/deprecation\n break;\n // istanbul ignore next\n default:\n throw new RangeError();\n }\n\n // Panels can be undefined in a Frontstage\n\n return panelElement;\n }\n\n private _getContentRef = (widget: WidgetZoneId) => {\n const ref = this._contentRefs.get(widget);\n if (ref)\n return ref;\n const newRef = (el: HTMLDivElement | null) => {\n this.setState((prevState) => ({\n widgetIdToContent: {\n ...prevState.widgetIdToContent,\n [widget]: el === null ? undefined : el,\n },\n }));\n };\n this._contentRefs.set(widget, newRef);\n return newRef;\n };\n\n // This uses ConfigurableUi to render the content\n private doContentLayoutRender(): React.ReactNode {\n let contentLayout: React.ReactNode;\n\n // istanbul ignore else\n if (this.props.runtimeProps && this.props.runtimeProps.frontstageDef) {\n const frontstageDef = this.props.runtimeProps.frontstageDef;\n\n // istanbul ignore else\n if (frontstageDef.contentLayoutDef && frontstageDef.contentGroup)\n contentLayout = (\n <ContentLayout\n contentLayout={frontstageDef.contentLayoutDef}\n contentGroup={frontstageDef.contentGroup}\n isInFooterMode={frontstageDef.isInFooterMode}\n />\n );\n else\n Logger.logError(UiFramework.loggerCategory(this), `FrontstageDef.contentLayoutDef and FrontstageDef.contentGroup are required for <ContentLayout> component`);\n }\n\n return contentLayout;\n }\n\n private cloneStagePanelElement(panelDef: StagePanelDef | undefined, runtimeProps: FrontstageRuntimeProps): React.ReactNode {\n if (!this.state.isUiVisible && UiShowHideManager.showHidePanels)\n return null;\n\n // istanbul ignore else\n if (panelDef) {\n const { location } = panelDef;\n const panelElement = Frontstage.getStagePanelElement(location, this.props);\n\n // istanbul ignore else\n if (panelElement && React.isValidElement(panelElement)) {\n const panelKey = getNestedStagePanelKey(panelDef.location);\n const panels = runtimeProps.nineZone.nested.panels[panelKey.id];\n const panel = StagePanelsManager.getPanel(panelKey.type, panels);\n const draggedWidget = runtimeProps.nineZone.zones.draggedWidget;\n\n const panelRuntimeProps: StagePanelRuntimeProps = {\n draggedWidgetId: draggedWidget ? /* istanbul ignore next */ draggedWidget.id : undefined,\n getWidgetContentRef: this._getContentRef,\n isInFooterMode: runtimeProps.nineZone.zones.isInFooterMode,\n isTargeted: !!runtimeProps.nineZone.zones.target,\n panel,\n panelDef,\n stagePanelChangeHandler: runtimeProps.stagePanelChangeHandler,\n widgetChangeHandler: runtimeProps.widgetChangeHandler,\n widgets: runtimeProps.nineZone.zones.widgets,\n widgetTabs: runtimeProps.widgetTabs,\n zoneDefProvider: runtimeProps.zoneDefProvider,\n };\n\n return React.cloneElement(panelElement, { runtimeProps: panelRuntimeProps });\n }\n }\n\n return null;\n }\n\n private cloneZoneElements(zoneIds: ReadonlyArray<WidgetZoneId>, runtimeProps: FrontstageRuntimeProps): React.ReactNode[] {\n return zoneIds.map((zoneId: WidgetZoneId) => {\n const zoneElement = Frontstage.getZoneElement(zoneId, this.props);\n if (!zoneElement || !React.isValidElement(zoneElement))\n return null;\n\n const zoneDef = runtimeProps.zoneDefProvider.getZoneDef(zoneId);\n\n // istanbul ignore if\n if (!zoneDef)\n return null;\n\n const nestedPanelsManager = FrontstageManager.NineZoneManager.getNestedPanelsManager();\n const panelsManager = nestedPanelsManager.getPanelsManager(\"inner\");\n const type = panelsManager.findWidget(zoneId, runtimeProps.nineZone.nested.panels.inner);\n // istanbul ignore if\n if (type !== undefined)\n return null;\n\n const zonesManager = FrontstageManager.NineZoneManager.getZonesManager();\n const zones = runtimeProps.nineZone.zones;\n const ghostOutline = zonesManager.getGhostOutlineBounds(zoneId, zones);\n const dropTarget = zonesManager.getDropTarget(zoneId, zones);\n const zone = getExtendedZone(zoneId, zones, runtimeProps.zoneDefProvider);\n const widget = zone.widgets.length > 0 ? zones.widgets[zone.widgets[0]] : undefined;\n const openWidgetId = zone.widgets.find((wId) => zones.widgets[wId].tabIndex >= 0);\n const activeTabIndex = openWidgetId ? zones.widgets[openWidgetId].tabIndex : 0;\n const draggedWidget = runtimeProps.nineZone.zones.draggedWidget;\n const disabledResizeHandles = zonesManager.getDisabledResizeHandles(zoneId, zones);\n // istanbul ignore next\n const zoneRuntimeProps: ZoneRuntimeProps = {\n activeTabIndex,\n disabledResizeHandles,\n draggedWidget: draggedWidget && /* istanbul ignore next */ draggedWidget.id === zoneId ? /* istanbul ignore next */ draggedWidget : undefined,\n dropTarget,\n getWidgetContentRef: this._getContentRef,\n ghostOutline,\n isHidden: (zoneDef.isStatusBar && this.props.isInFooterMode && ( /* istanbul ignore next */ this.state.isUiVisible || /* istanbul ignore next */ !UiShowHideManager.showHideFooter)) ?\n /* istanbul ignore next */ false : !this.state.isUiVisible,\n isInFooterMode: runtimeProps.nineZone.zones.isInFooterMode,\n openWidgetId,\n targetChangeHandler: runtimeProps.targetChangeHandler,\n widgetChangeHandler: runtimeProps.widgetChangeHandler,\n widgetTabs: runtimeProps.widgetTabs,\n widget,\n zoneDef,\n zoneDefProvider: runtimeProps.zoneDefProvider,\n zone,\n };\n return React.cloneElement(zoneElement, { key: zoneId, runtimeProps: zoneRuntimeProps });\n });\n }\n\n private cloneWidgetContentElements(zones: ReadonlyArray<WidgetZoneId>, runtimeProps: FrontstageRuntimeProps): React.ReactNode[] {\n const widgets = zones.reduce<Array<{ id: WidgetZoneId, def: WidgetDef, tabIndex: number }>>((prev, zoneId) => {\n const zoneDef = runtimeProps.zoneDefProvider.getZoneDef(zoneId);\n\n // istanbul ignore if\n if (!zoneDef)\n return prev;\n\n const widgetDefs = zoneDef.widgetDefs.filter((widgetDef: WidgetDef) => {\n if (zoneId === 2)\n return widgetDef.isVisible;\n return widgetDef.isVisible && !widgetDef.isFloating;\n });\n\n for (let i = 0; i < widgetDefs.length; i++) {\n prev.push({\n id: zoneId,\n def: widgetDefs[i],\n tabIndex: i,\n });\n }\n\n return prev;\n }, []);\n return widgets.map((widget) => {\n const nzWidget = runtimeProps.nineZone.zones.widgets[widget.id];\n return (\n <WidgetContentRenderer\n anchor={nzWidget.horizontalAnchor}\n isHidden={nzWidget.tabIndex !== widget.tabIndex}\n key={`${widget.id}_${widget.tabIndex}`}\n renderTo={this.state.widgetIdToContent[widget.id]}\n toolSettingsMode={isToolSettingsWidgetManagerProps(nzWidget) ? nzWidget.mode : undefined}\n widgetDef={widget.def}\n />\n );\n });\n }\n\n /** React render method\n * @internal\n */\n public override render(): React.ReactNode {\n const { runtimeProps } = this.props;\n\n if (runtimeProps === undefined)\n return null;\n\n /** For Nine-zone area; includes ContentLayout */\n const ninezoneStyle: React.CSSProperties = {\n position: \"relative\",\n height: \"100%\",\n };\n\n const frontstageDef = runtimeProps.frontstageDef;\n\n return (\n <div style={ninezoneStyle} id=\"uifw-ninezone-area\" className={this.props.className}>\n <NZ_Zones style={runtimeProps.nineZone.zones.isInFooterMode ? this._zonesFooterModeStyle : this._zonesStyle} >\n <StagePanels\n bottomPanel={this.cloneStagePanelElement(frontstageDef.bottomMostPanel, runtimeProps)} // eslint-disable-line deprecation/deprecation\n topPanel={this.cloneStagePanelElement(frontstageDef.topMostPanel, runtimeProps)} // eslint-disable-line deprecation/deprecation\n >\n <StagePanels\n bottomPanel={this.cloneStagePanelElement(frontstageDef.bottomPanel, runtimeProps)}\n leftPanel={this.cloneStagePanelElement(frontstageDef.leftPanel, runtimeProps)}\n rightPanel={this.cloneStagePanelElement(frontstageDef.rightPanel, runtimeProps)}\n topPanel={this.cloneStagePanelElement(frontstageDef.topPanel, runtimeProps)}\n >\n <div\n id=\"uifw-ninezone-zones-area\"\n ref={this._zonesMeasurer}\n style={{\n height: \"100%\",\n position: \"relative\",\n }}\n >\n {this.doContentLayoutRender()}\n {this.cloneZoneElements(Frontstage._zoneIds, runtimeProps)}\n </div>\n </StagePanels>\n </StagePanels>\n {this.cloneZoneElements([8], runtimeProps)}\n <div\n id=\"uifw-ninezone-floating-zones-area\"\n ref={this._floatingZonesMeasurer}\n style={{\n height: \"100%\",\n width: \"100%\",\n position: \"absolute\",\n }}\n />\n </NZ_Zones>\n {this.cloneWidgetContentElements(Frontstage._zoneIds, runtimeProps)}\n </div>\n );\n }\n}\n\ninterface WidgetContentRendererProps {\n anchor: HorizontalAnchor;\n isHidden: boolean;\n renderTo: HTMLDivElement | undefined;\n toolSettingsMode: ToolSettingsWidgetMode | undefined;\n widgetDef: WidgetDef;\n}\n\ninterface WidgetContentRendererState {\n widgetKey: number;\n}\n\nclass WidgetContentRenderer extends React.PureComponent<WidgetContentRendererProps, WidgetContentRendererState> {\n private _content = document.createElement(\"span\");\n public constructor(props: WidgetContentRendererProps) {\n super(props);\n\n this.state = {\n widgetKey: 0,\n };\n }\n\n public override componentDidMount() {\n FrontstageManager.onWidgetStateChangedEvent.addListener(this._handleWidgetStateChangedEvent);\n FrontstageManager.onToolActivatedEvent.addListener(this._handleToolActivatedEvent);\n\n this._content.style.display = this.props.isHidden ? \"none\" : \"flex\";\n this._content.style.flexDirection = \"column\";\n this._content.style.height = \"100%\";\n if (!this.props.renderTo)\n return;\n this.props.renderTo.appendChild(this._content);\n }\n\n public override componentDidUpdate(prevProps: WidgetContentRendererProps) {\n if (this.props.isHidden !== prevProps.isHidden) {\n this._content.style.display = this.props.isHidden ? \"none\" : \"flex\";\n }\n\n if (!this.props.renderTo || prevProps.renderTo === this.props.renderTo)\n return;\n\n this.props.widgetDef.saveTransientState();\n this.props.renderTo.appendChild(this._content);\n\n const shouldRemount = this.props.widgetDef.restoreTransientState() || this.props.widgetDef.isToolSettings;\n\n shouldRemount && this.setState((prevState) => ({ widgetKey: prevState.widgetKey + 1 }));\n }\n\n public override componentWillUnmount() {\n this._content.parentNode && this._content.parentNode.removeChild(this._content);\n FrontstageManager.onWidgetStateChangedEvent.removeListener(this._handleWidgetStateChangedEvent);\n FrontstageManager.onToolActivatedEvent.removeListener(this._handleToolActivatedEvent);\n }\n\n public override render() {\n if (this.props.toolSettingsMode !== undefined) {\n return ReactDOM.createPortal((\n <ToolSettingsContent\n anchor={this.props.anchor}\n key={this.state.widgetKey}\n mode={this.props.toolSettingsMode}\n >\n {FrontstageManager.activeToolSettingsProvider && FrontstageManager.activeToolSettingsProvider.toolSettingsNode}\n </ToolSettingsContent>\n ), this._content);\n }\n\n if (this.props.widgetDef.state === WidgetState.Unloaded)\n return null;\n return ReactDOM.createPortal((\n <React.Fragment\n key={this.state.widgetKey}\n >\n {this.props.widgetDef.reactNode}\n </React.Fragment>\n ), this._content);\n }\n\n private _handleWidgetStateChangedEvent = (args: WidgetStateChangedEventArgs) => {\n if (this.props.widgetDef !== args.widgetDef)\n return;\n this.forceUpdate();\n };\n\n private _handleToolActivatedEvent = () => {\n if (this.props.toolSettingsMode === undefined)\n return;\n // force update when tool is activated\n this.setState((prevState) => ({ widgetKey: prevState.widgetKey + 1 }));\n };\n}\n\n/** @internal */\nexport const getExtendedZone = (zoneId: WidgetZoneId, zones: ZonesManagerProps, defProvider: ZoneDefProvider): ZoneManagerProps => {\n const zone = zones.zones[zoneId];\n if (zoneId === 1 || zoneId === 3) {\n let extendOverId: WidgetZoneId = zoneId;\n const zonesManager = FrontstageManager.NineZoneManager.getZonesManager();\n let bottomZoneId = zonesManager.bottomZones.getInitial(extendOverId);\n while (bottomZoneId !== undefined) {\n const bottomZoneDef = defProvider.getZoneDef(bottomZoneId);\n if (bottomZoneDef && bottomZoneDef.widgetDefs.length !== 0)\n break;\n\n extendOverId = bottomZoneId;\n bottomZoneId = zonesManager.bottomZones.getInitial(bottomZoneId);\n }\n\n const bottom = zones.zones[extendOverId].bounds.bottom;\n if (bottom === zone.bounds.bottom)\n return zone;\n return {\n ...zone,\n bounds: {\n ...zone.bounds,\n bottom,\n },\n };\n }\n return zone;\n};\n\n/** Hook that returns active frontstage id.\n * @public\n */\nexport const useActiveFrontstageId = () => {\n const def = useActiveFrontstageDef();\n const id = React.useMemo(() => def ? /* istanbul ignore next */ def.id : \"\", [def]);\n return id;\n};\n\n/** @internal */\nexport function useActiveFrontstageDef() {\n const [def, setDef] = React.useState(FrontstageManager.activeFrontstageDef);\n React.useEffect(() => {\n // istanbul ignore next\n const handleActivated = (args: FrontstageActivatedEventArgs) => {\n setDef(args.activatedFrontstageDef);\n };\n FrontstageManager.onFrontstageActivatedEvent.addListener(handleActivated);\n return () => {\n FrontstageManager.onFrontstageActivatedEvent.removeListener(handleActivated);\n };\n }, []);\n return def;\n}\n"]}
1
+ {"version":3,"file":"Frontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/Frontstage.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 Frontstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport * as ReactDOM from \"react-dom\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { StagePanelLocation, UiItemProviderRegisteredEventArgs, UiItemsManager, WidgetState } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Rectangle } from \"@itwin/core-react\";\r\nimport {\r\n HorizontalAnchor, Zones as NZ_Zones, StagePanels, StagePanelsManager, ToolSettingsWidgetMode, WidgetZoneId, widgetZoneIds, ZoneManagerProps,\r\n ZonesManagerProps,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { ContentGroup, ContentGroupProvider } from \"../content/ContentGroup\";\r\nimport { ContentLayout } from \"../content/ContentLayout\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { getNestedStagePanelKey, StagePanelProps, StagePanelRuntimeProps } from \"../stagepanels/StagePanel\";\r\nimport { StagePanelDef } from \"../stagepanels/StagePanelDef\";\r\nimport { UiFramework, UiVisibilityEventArgs } from \"../UiFramework\";\r\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\r\nimport { ToolSettingsContent } from \"../widgets/ToolSettingsContent\";\r\nimport { WidgetDef, WidgetStateChangedEventArgs } from \"../widgets/WidgetDef\";\r\nimport { WidgetsChangedEventArgs } from \"../widgets/WidgetManager\";\r\nimport { isToolSettingsWidgetManagerProps, Zone, ZoneLocation, ZoneProps, ZoneRuntimeProps } from \"../zones/Zone\";\r\nimport { ZoneDef } from \"../zones/ZoneDef\";\r\nimport { FrontstageRuntimeProps, ZoneDefProvider } from \"./FrontstageComposer\";\r\nimport { FrontstageActivatedEventArgs, FrontstageManager } from \"./FrontstageManager\";\r\n\r\n/** Properties for a [[Frontstage]] component.\r\n * @public\r\n */\r\nexport interface FrontstageProps extends CommonProps {\r\n /** Id for the Frontstage */\r\n id: string;\r\n /** Tool that is started once the Frontstage is activated */\r\n defaultTool: ToolItemDef;\r\n /** The Content Group providing the Content Views */\r\n contentGroup: ContentGroup | ContentGroupProvider;\r\n /** Id of the Content View to be activated initially */\r\n defaultContentId?: string;\r\n /** Indicated whether the StatusBar is in footer mode or widget mode. Defaults to true. */\r\n isInFooterMode?: boolean; // Default - true\r\n /** Any application data to attach to this Frontstage. */\r\n applicationData?: any;\r\n /** Usage type for this Frontstage. */\r\n usage?: string;\r\n /** Frontstage version. Used to force saved layout reinitialization after changes to frontstage.\r\n * @note This value should be increased when changes are made to Frontstage.\r\n * Increasing the value will make sure to reinitialize App layout instead of restoring to old layout.\r\n * Version increase is required when widgets are added/removed.\r\n */\r\n version?: number;\r\n /** if isIModelIndependent then frontstage is independent from any iModel. */\r\n isIModelIndependent?: boolean;\r\n /** The Zone in the top-left corner.\r\n * @deprecated Use 'contentManipulationTools' property. */\r\n topLeft?: React.ReactElement<ZoneProps>;\r\n /** The Zone along the top-center edge.\r\n * @deprecated Use 'toolSettings' property. */\r\n topCenter?: React.ReactElement<ZoneProps>;\r\n /** The Zone in the top-right corner.\r\n * @deprecated Use 'viewNavigationTools' property. */\r\n topRight?: React.ReactElement<ZoneProps>;\r\n /** The Zone along the center-left edge.\r\n * @deprecated Place widgets in appropriate stage panel zone. */\r\n centerLeft?: React.ReactElement<ZoneProps>;\r\n /** The Zone along the center-right edge.\r\n * @deprecated Place widgets in appropriate stage panel zone. */\r\n centerRight?: React.ReactElement<ZoneProps>;\r\n /** The Zone in the bottom-left corner.\r\n * @deprecated Place widgets in appropriate stage panel zone. */\r\n bottomLeft?: React.ReactElement<ZoneProps>;\r\n /** The Zone along the bottom-center edge.\r\n * @deprecated use statusBar property */\r\n bottomCenter?: React.ReactElement<ZoneProps>;\r\n /** The Zone in the bottom-right corner.\r\n * @deprecated Place widgets in appropriate stage panel zone. */\r\n bottomRight?: React.ReactElement<ZoneProps>;\r\n\r\n /** The Zone in the top-left corner that shows tools typically used to query and modify content. To be used in place of deprecated topLeft zone definition. */\r\n contentManipulationTools?: React.ReactElement<ZoneProps>;\r\n /** The Zone the that shows settings for the active tool. To be used in place of deprecated topCenter zone definition. */\r\n toolSettings?: React.ReactElement<ZoneProps>;\r\n /** The Zone in the top-right corner that shows view navigation tools. To be used in place of deprecated topRight zone definition */\r\n viewNavigationTools?: React.ReactElement<ZoneProps>;\r\n /** The status bar Zone shown as the application footer. To be used in place of deprecated bottomCenter zone definition. */\r\n statusBar?: React.ReactElement<ZoneProps>;\r\n\r\n /** The StagePanel on the top of the AppUi container. */\r\n topPanel?: React.ReactElement<StagePanelProps>;\r\n /** The StagePanel on the very top across the full width.\r\n * @deprecated Only topPanel is supported in UI 2.0 */\r\n topMostPanel?: React.ReactElement<StagePanelProps>;\r\n /** The StagePanel on the left. */\r\n leftPanel?: React.ReactElement<StagePanelProps>;\r\n /** The StagePanel on the right. */\r\n rightPanel?: React.ReactElement<StagePanelProps>;\r\n /** The StagePanel on the bottom of the AppUi container. */\r\n bottomPanel?: React.ReactElement<StagePanelProps>;\r\n /** The StagePanel on the very bottom across the full width.\r\n * @deprecated Only bottomPanel is supported in UI 2.0 */\r\n bottomMostPanel?: React.ReactElement<StagePanelProps>;\r\n\r\n /** @internal */\r\n runtimeProps?: FrontstageRuntimeProps;\r\n}\r\n\r\ninterface FrontstageState {\r\n isUiVisible: boolean;\r\n widgetIdToContent: Partial<{ [id in WidgetZoneId]: HTMLDivElement | undefined }>;\r\n}\r\n\r\n/** Frontstage React component.\r\n * A Frontstage is a full-screen configuration designed to enable the user to accomplish a task.\r\n * @public\r\n */\r\nexport class Frontstage extends React.Component<FrontstageProps, FrontstageState> {\r\n private static _zoneIds: ReadonlyArray<WidgetZoneId> = widgetZoneIds.filter((z) => z !== 8);\r\n private _contentRefs = new Map<WidgetZoneId, React.Ref<HTMLDivElement>>();\r\n private _zonesMeasurer = React.createRef<HTMLDivElement>();\r\n private _floatingZonesMeasurer = React.createRef<HTMLDivElement>();\r\n private _zonesStyle: React.CSSProperties = {\r\n pointerEvents: \"none\",\r\n };\r\n private _zonesFooterModeStyle: React.CSSProperties = {\r\n ...this._zonesStyle,\r\n display: \"flex\",\r\n flexFlow: \"column\",\r\n };\r\n\r\n /** @internal */\r\n constructor(props: FrontstageProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isUiVisible: UiFramework.getIsUiVisible(),\r\n widgetIdToContent: {},\r\n };\r\n }\r\n\r\n /** React lifecycle method.\r\n * @internal\r\n */\r\n public override async componentDidMount() {\r\n UiFramework.onUiVisibilityChanged.addListener(this._uiVisibilityChanged);\r\n UiFramework.widgetManager.onWidgetsChanged.addListener(this._handleWidgetsChanged);\r\n UiItemsManager.onUiProviderRegisteredEvent.addListener(this._handleUiProviderRegisteredEvent);\r\n }\r\n\r\n public override componentDidUpdate() {\r\n if (!this._zonesMeasurer.current || !this._floatingZonesMeasurer.current || !this.props.runtimeProps)\r\n return;\r\n let floatingBounds = Rectangle.create(this._floatingZonesMeasurer.current.getBoundingClientRect());\r\n const bounds = Rectangle.create(this._zonesMeasurer.current.getBoundingClientRect());\r\n const offset = bounds.topLeft().getOffsetTo(floatingBounds.topLeft());\r\n floatingBounds = floatingBounds.setPosition(offset);\r\n this.props.runtimeProps.nineZoneChangeHandler.handleZonesBoundsChange(bounds);\r\n this.props.runtimeProps.nineZoneChangeHandler.handleFloatingZonesBoundsChange(floatingBounds);\r\n }\r\n\r\n /** React lifecycle method.\r\n * @internal\r\n */\r\n public override componentWillUnmount() {\r\n UiFramework.onUiVisibilityChanged.removeListener(this._uiVisibilityChanged);\r\n UiItemsManager.onUiProviderRegisteredEvent.removeListener(this._handleUiProviderRegisteredEvent);\r\n }\r\n\r\n private _uiVisibilityChanged = (args: UiVisibilityEventArgs): void => {\r\n this.setState({ isUiVisible: args.visible });\r\n };\r\n\r\n private _handleWidgetsChanged = (_args: WidgetsChangedEventArgs): void => {\r\n this.updateWidgetDefs();\r\n };\r\n\r\n private _handleUiProviderRegisteredEvent = (_args: UiItemProviderRegisteredEventArgs): void => {\r\n this.updateWidgetDefs();\r\n };\r\n\r\n private updateWidgetDefs() {\r\n // istanbul ignore else\r\n if (!this.props.runtimeProps)\r\n return;\r\n\r\n // istanbul ignore next\r\n {\r\n const frontstageDef = this.props.runtimeProps.frontstageDef;\r\n frontstageDef.updateWidgetDefs();\r\n FrontstageManager.onWidgetDefsUpdatedEvent.emit();\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n /** @internal */\r\n public static createZoneDef(zoneNode: React.ReactElement<ZoneProps> | undefined, zoneLocation: ZoneLocation, props: FrontstageProps): ZoneDef | undefined {\r\n if (zoneNode) {\r\n const zoneDef = new ZoneDef();\r\n const zoneElement = Frontstage.getZoneElement(zoneLocation, props);\r\n\r\n zoneDef.zoneLocation = zoneLocation;\r\n\r\n // istanbul ignore else\r\n if (zoneElement && React.isValidElement(zoneElement)) {\r\n Zone.initializeZoneDef(zoneDef, zoneElement.props);\r\n return zoneDef;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n private static getZoneElement(zoneId: WidgetZoneId, props: FrontstageProps): React.ReactElement<ZoneProps> | undefined {\r\n switch (zoneId) {\r\n case ZoneLocation.TopLeft:\r\n return props.contentManipulationTools ? props.contentManipulationTools : props.topLeft; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.TopCenter:\r\n return props.toolSettings ? props.toolSettings : props.topCenter; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.TopRight:\r\n return props.viewNavigationTools ? /* istanbul ignore next */ props.viewNavigationTools : props.topRight; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.CenterLeft:\r\n return props.centerLeft; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.CenterRight:\r\n return props.centerRight; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.BottomLeft:\r\n return props.bottomLeft; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.BottomCenter:\r\n return props.statusBar ? props.statusBar : props.bottomCenter; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.BottomRight:\r\n return props.bottomRight; // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n // Zones can be undefined in a Frontstage\r\n // istanbul ignore next\r\n return undefined;\r\n }\r\n\r\n /** @internal */\r\n public static createStagePanelDef(panelLocation: StagePanelLocation, props: FrontstageProps): StagePanelDef | undefined {\r\n const panelDef = new StagePanelDef();\r\n\r\n const panelElement = Frontstage.getStagePanelElement(panelLocation, props);\r\n panelDef.initializeFromProps(panelElement?.props, panelLocation);\r\n\r\n return panelDef;\r\n }\r\n\r\n private static getStagePanelElement(location: StagePanelLocation, props: FrontstageProps): React.ReactElement<StagePanelProps> | undefined {\r\n let panelElement: React.ReactElement<StagePanelProps> | undefined;\r\n\r\n switch (location) {\r\n case StagePanelLocation.Top:\r\n panelElement = props.topPanel;\r\n break;\r\n case StagePanelLocation.TopMost:\r\n panelElement = props.topMostPanel; // eslint-disable-line deprecation/deprecation\r\n break;\r\n case StagePanelLocation.Left:\r\n panelElement = props.leftPanel;\r\n break;\r\n case StagePanelLocation.Right:\r\n panelElement = props.rightPanel;\r\n break;\r\n case StagePanelLocation.Bottom:\r\n panelElement = props.bottomPanel;\r\n break;\r\n case StagePanelLocation.BottomMost:\r\n panelElement = props.bottomMostPanel; // eslint-disable-line deprecation/deprecation\r\n break;\r\n // istanbul ignore next\r\n default:\r\n throw new RangeError();\r\n }\r\n\r\n // Panels can be undefined in a Frontstage\r\n\r\n return panelElement;\r\n }\r\n\r\n private _getContentRef = (widget: WidgetZoneId) => {\r\n const ref = this._contentRefs.get(widget);\r\n if (ref)\r\n return ref;\r\n const newRef = (el: HTMLDivElement | null) => {\r\n this.setState((prevState) => ({\r\n widgetIdToContent: {\r\n ...prevState.widgetIdToContent,\r\n [widget]: el === null ? undefined : el,\r\n },\r\n }));\r\n };\r\n this._contentRefs.set(widget, newRef);\r\n return newRef;\r\n };\r\n\r\n // This uses ConfigurableUi to render the content\r\n private doContentLayoutRender(): React.ReactNode {\r\n let contentLayout: React.ReactNode;\r\n\r\n // istanbul ignore else\r\n if (this.props.runtimeProps && this.props.runtimeProps.frontstageDef) {\r\n const frontstageDef = this.props.runtimeProps.frontstageDef;\r\n\r\n // istanbul ignore else\r\n if (frontstageDef.contentLayoutDef && frontstageDef.contentGroup)\r\n contentLayout = (\r\n <ContentLayout\r\n contentLayout={frontstageDef.contentLayoutDef}\r\n contentGroup={frontstageDef.contentGroup}\r\n isInFooterMode={frontstageDef.isInFooterMode}\r\n />\r\n );\r\n else\r\n Logger.logError(UiFramework.loggerCategory(this), `FrontstageDef.contentLayoutDef and FrontstageDef.contentGroup are required for <ContentLayout> component`);\r\n }\r\n\r\n return contentLayout;\r\n }\r\n\r\n private cloneStagePanelElement(panelDef: StagePanelDef | undefined, runtimeProps: FrontstageRuntimeProps): React.ReactNode {\r\n if (!this.state.isUiVisible && UiShowHideManager.showHidePanels)\r\n return null;\r\n\r\n // istanbul ignore else\r\n if (panelDef) {\r\n const { location } = panelDef;\r\n const panelElement = Frontstage.getStagePanelElement(location, this.props);\r\n\r\n // istanbul ignore else\r\n if (panelElement && React.isValidElement(panelElement)) {\r\n const panelKey = getNestedStagePanelKey(panelDef.location);\r\n const panels = runtimeProps.nineZone.nested.panels[panelKey.id];\r\n const panel = StagePanelsManager.getPanel(panelKey.type, panels);\r\n const draggedWidget = runtimeProps.nineZone.zones.draggedWidget;\r\n\r\n const panelRuntimeProps: StagePanelRuntimeProps = {\r\n draggedWidgetId: draggedWidget ? /* istanbul ignore next */ draggedWidget.id : undefined,\r\n getWidgetContentRef: this._getContentRef,\r\n isInFooterMode: runtimeProps.nineZone.zones.isInFooterMode,\r\n isTargeted: !!runtimeProps.nineZone.zones.target,\r\n panel,\r\n panelDef,\r\n stagePanelChangeHandler: runtimeProps.stagePanelChangeHandler,\r\n widgetChangeHandler: runtimeProps.widgetChangeHandler,\r\n widgets: runtimeProps.nineZone.zones.widgets,\r\n widgetTabs: runtimeProps.widgetTabs,\r\n zoneDefProvider: runtimeProps.zoneDefProvider,\r\n };\r\n\r\n return React.cloneElement(panelElement, { runtimeProps: panelRuntimeProps });\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private cloneZoneElements(zoneIds: ReadonlyArray<WidgetZoneId>, runtimeProps: FrontstageRuntimeProps): React.ReactNode[] {\r\n return zoneIds.map((zoneId: WidgetZoneId) => {\r\n const zoneElement = Frontstage.getZoneElement(zoneId, this.props);\r\n if (!zoneElement || !React.isValidElement(zoneElement))\r\n return null;\r\n\r\n const zoneDef = runtimeProps.zoneDefProvider.getZoneDef(zoneId);\r\n\r\n // istanbul ignore if\r\n if (!zoneDef)\r\n return null;\r\n\r\n const nestedPanelsManager = FrontstageManager.NineZoneManager.getNestedPanelsManager();\r\n const panelsManager = nestedPanelsManager.getPanelsManager(\"inner\");\r\n const type = panelsManager.findWidget(zoneId, runtimeProps.nineZone.nested.panels.inner);\r\n // istanbul ignore if\r\n if (type !== undefined)\r\n return null;\r\n\r\n const zonesManager = FrontstageManager.NineZoneManager.getZonesManager();\r\n const zones = runtimeProps.nineZone.zones;\r\n const ghostOutline = zonesManager.getGhostOutlineBounds(zoneId, zones);\r\n const dropTarget = zonesManager.getDropTarget(zoneId, zones);\r\n const zone = getExtendedZone(zoneId, zones, runtimeProps.zoneDefProvider);\r\n const widget = zone.widgets.length > 0 ? zones.widgets[zone.widgets[0]] : undefined;\r\n const openWidgetId = zone.widgets.find((wId) => zones.widgets[wId].tabIndex >= 0);\r\n const activeTabIndex = openWidgetId ? zones.widgets[openWidgetId].tabIndex : 0;\r\n const draggedWidget = runtimeProps.nineZone.zones.draggedWidget;\r\n const disabledResizeHandles = zonesManager.getDisabledResizeHandles(zoneId, zones);\r\n // istanbul ignore next\r\n const zoneRuntimeProps: ZoneRuntimeProps = {\r\n activeTabIndex,\r\n disabledResizeHandles,\r\n draggedWidget: draggedWidget && /* istanbul ignore next */ draggedWidget.id === zoneId ? /* istanbul ignore next */ draggedWidget : undefined,\r\n dropTarget,\r\n getWidgetContentRef: this._getContentRef,\r\n ghostOutline,\r\n isHidden: (zoneDef.isStatusBar && this.props.isInFooterMode && ( /* istanbul ignore next */ this.state.isUiVisible || /* istanbul ignore next */ !UiShowHideManager.showHideFooter)) ?\r\n /* istanbul ignore next */ false : !this.state.isUiVisible,\r\n isInFooterMode: runtimeProps.nineZone.zones.isInFooterMode,\r\n openWidgetId,\r\n targetChangeHandler: runtimeProps.targetChangeHandler,\r\n widgetChangeHandler: runtimeProps.widgetChangeHandler,\r\n widgetTabs: runtimeProps.widgetTabs,\r\n widget,\r\n zoneDef,\r\n zoneDefProvider: runtimeProps.zoneDefProvider,\r\n zone,\r\n };\r\n return React.cloneElement(zoneElement, { key: zoneId, runtimeProps: zoneRuntimeProps });\r\n });\r\n }\r\n\r\n private cloneWidgetContentElements(zones: ReadonlyArray<WidgetZoneId>, runtimeProps: FrontstageRuntimeProps): React.ReactNode[] {\r\n const widgets = zones.reduce<Array<{ id: WidgetZoneId, def: WidgetDef, tabIndex: number }>>((prev, zoneId) => {\r\n const zoneDef = runtimeProps.zoneDefProvider.getZoneDef(zoneId);\r\n\r\n // istanbul ignore if\r\n if (!zoneDef)\r\n return prev;\r\n\r\n const widgetDefs = zoneDef.widgetDefs.filter((widgetDef: WidgetDef) => {\r\n if (zoneId === 2)\r\n return widgetDef.isVisible;\r\n return widgetDef.isVisible && !widgetDef.isFloating;\r\n });\r\n\r\n for (let i = 0; i < widgetDefs.length; i++) {\r\n prev.push({\r\n id: zoneId,\r\n def: widgetDefs[i],\r\n tabIndex: i,\r\n });\r\n }\r\n\r\n return prev;\r\n }, []);\r\n return widgets.map((widget) => {\r\n const nzWidget = runtimeProps.nineZone.zones.widgets[widget.id];\r\n return (\r\n <WidgetContentRenderer\r\n anchor={nzWidget.horizontalAnchor}\r\n isHidden={nzWidget.tabIndex !== widget.tabIndex}\r\n key={`${widget.id}_${widget.tabIndex}`}\r\n renderTo={this.state.widgetIdToContent[widget.id]}\r\n toolSettingsMode={isToolSettingsWidgetManagerProps(nzWidget) ? nzWidget.mode : undefined}\r\n widgetDef={widget.def}\r\n />\r\n );\r\n });\r\n }\r\n\r\n /** React render method\r\n * @internal\r\n */\r\n public override render(): React.ReactNode {\r\n const { runtimeProps } = this.props;\r\n\r\n if (runtimeProps === undefined)\r\n return null;\r\n\r\n /** For Nine-zone area; includes ContentLayout */\r\n const ninezoneStyle: React.CSSProperties = {\r\n position: \"relative\",\r\n height: \"100%\",\r\n };\r\n\r\n const frontstageDef = runtimeProps.frontstageDef;\r\n\r\n return (\r\n <div style={ninezoneStyle} id=\"uifw-ninezone-area\" className={this.props.className}>\r\n <NZ_Zones style={runtimeProps.nineZone.zones.isInFooterMode ? this._zonesFooterModeStyle : this._zonesStyle} >\r\n <StagePanels\r\n bottomPanel={this.cloneStagePanelElement(frontstageDef.bottomMostPanel, runtimeProps)} // eslint-disable-line deprecation/deprecation\r\n topPanel={this.cloneStagePanelElement(frontstageDef.topMostPanel, runtimeProps)} // eslint-disable-line deprecation/deprecation\r\n >\r\n <StagePanels\r\n bottomPanel={this.cloneStagePanelElement(frontstageDef.bottomPanel, runtimeProps)}\r\n leftPanel={this.cloneStagePanelElement(frontstageDef.leftPanel, runtimeProps)}\r\n rightPanel={this.cloneStagePanelElement(frontstageDef.rightPanel, runtimeProps)}\r\n topPanel={this.cloneStagePanelElement(frontstageDef.topPanel, runtimeProps)}\r\n >\r\n <div\r\n id=\"uifw-ninezone-zones-area\"\r\n ref={this._zonesMeasurer}\r\n style={{\r\n height: \"100%\",\r\n position: \"relative\",\r\n }}\r\n >\r\n {this.doContentLayoutRender()}\r\n {this.cloneZoneElements(Frontstage._zoneIds, runtimeProps)}\r\n </div>\r\n </StagePanels>\r\n </StagePanels>\r\n {this.cloneZoneElements([8], runtimeProps)}\r\n <div\r\n id=\"uifw-ninezone-floating-zones-area\"\r\n ref={this._floatingZonesMeasurer}\r\n style={{\r\n height: \"100%\",\r\n width: \"100%\",\r\n position: \"absolute\",\r\n }}\r\n />\r\n </NZ_Zones>\r\n {this.cloneWidgetContentElements(Frontstage._zoneIds, runtimeProps)}\r\n </div>\r\n );\r\n }\r\n}\r\n\r\ninterface WidgetContentRendererProps {\r\n anchor: HorizontalAnchor;\r\n isHidden: boolean;\r\n renderTo: HTMLDivElement | undefined;\r\n toolSettingsMode: ToolSettingsWidgetMode | undefined;\r\n widgetDef: WidgetDef;\r\n}\r\n\r\ninterface WidgetContentRendererState {\r\n widgetKey: number;\r\n}\r\n\r\nclass WidgetContentRenderer extends React.PureComponent<WidgetContentRendererProps, WidgetContentRendererState> {\r\n private _content = document.createElement(\"span\");\r\n public constructor(props: WidgetContentRendererProps) {\r\n super(props);\r\n\r\n this.state = {\r\n widgetKey: 0,\r\n };\r\n }\r\n\r\n public override componentDidMount() {\r\n FrontstageManager.onWidgetStateChangedEvent.addListener(this._handleWidgetStateChangedEvent);\r\n FrontstageManager.onToolActivatedEvent.addListener(this._handleToolActivatedEvent);\r\n\r\n this._content.style.display = this.props.isHidden ? \"none\" : \"flex\";\r\n this._content.style.flexDirection = \"column\";\r\n this._content.style.height = \"100%\";\r\n if (!this.props.renderTo)\r\n return;\r\n this.props.renderTo.appendChild(this._content);\r\n }\r\n\r\n public override componentDidUpdate(prevProps: WidgetContentRendererProps) {\r\n if (this.props.isHidden !== prevProps.isHidden) {\r\n this._content.style.display = this.props.isHidden ? \"none\" : \"flex\";\r\n }\r\n\r\n if (!this.props.renderTo || prevProps.renderTo === this.props.renderTo)\r\n return;\r\n\r\n this.props.widgetDef.saveTransientState();\r\n this.props.renderTo.appendChild(this._content);\r\n\r\n const shouldRemount = this.props.widgetDef.restoreTransientState() || this.props.widgetDef.isToolSettings;\r\n\r\n shouldRemount && this.setState((prevState) => ({ widgetKey: prevState.widgetKey + 1 }));\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._content.parentNode && this._content.parentNode.removeChild(this._content);\r\n FrontstageManager.onWidgetStateChangedEvent.removeListener(this._handleWidgetStateChangedEvent);\r\n FrontstageManager.onToolActivatedEvent.removeListener(this._handleToolActivatedEvent);\r\n }\r\n\r\n public override render() {\r\n if (this.props.toolSettingsMode !== undefined) {\r\n return ReactDOM.createPortal((\r\n <ToolSettingsContent\r\n anchor={this.props.anchor}\r\n key={this.state.widgetKey}\r\n mode={this.props.toolSettingsMode}\r\n >\r\n {FrontstageManager.activeToolSettingsProvider && FrontstageManager.activeToolSettingsProvider.toolSettingsNode}\r\n </ToolSettingsContent>\r\n ), this._content);\r\n }\r\n\r\n if (this.props.widgetDef.state === WidgetState.Unloaded)\r\n return null;\r\n return ReactDOM.createPortal((\r\n <React.Fragment\r\n key={this.state.widgetKey}\r\n >\r\n {this.props.widgetDef.reactNode}\r\n </React.Fragment>\r\n ), this._content);\r\n }\r\n\r\n private _handleWidgetStateChangedEvent = (args: WidgetStateChangedEventArgs) => {\r\n if (this.props.widgetDef !== args.widgetDef)\r\n return;\r\n this.forceUpdate();\r\n };\r\n\r\n private _handleToolActivatedEvent = () => {\r\n if (this.props.toolSettingsMode === undefined)\r\n return;\r\n // force update when tool is activated\r\n this.setState((prevState) => ({ widgetKey: prevState.widgetKey + 1 }));\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport const getExtendedZone = (zoneId: WidgetZoneId, zones: ZonesManagerProps, defProvider: ZoneDefProvider): ZoneManagerProps => {\r\n const zone = zones.zones[zoneId];\r\n if (zoneId === 1 || zoneId === 3) {\r\n let extendOverId: WidgetZoneId = zoneId;\r\n const zonesManager = FrontstageManager.NineZoneManager.getZonesManager();\r\n let bottomZoneId = zonesManager.bottomZones.getInitial(extendOverId);\r\n while (bottomZoneId !== undefined) {\r\n const bottomZoneDef = defProvider.getZoneDef(bottomZoneId);\r\n if (bottomZoneDef && bottomZoneDef.widgetDefs.length !== 0)\r\n break;\r\n\r\n extendOverId = bottomZoneId;\r\n bottomZoneId = zonesManager.bottomZones.getInitial(bottomZoneId);\r\n }\r\n\r\n const bottom = zones.zones[extendOverId].bounds.bottom;\r\n if (bottom === zone.bounds.bottom)\r\n return zone;\r\n return {\r\n ...zone,\r\n bounds: {\r\n ...zone.bounds,\r\n bottom,\r\n },\r\n };\r\n }\r\n return zone;\r\n};\r\n\r\n/** Hook that returns active frontstage id.\r\n * @public\r\n */\r\nexport const useActiveFrontstageId = () => {\r\n const def = useActiveFrontstageDef();\r\n const id = React.useMemo(() => def ? /* istanbul ignore next */ def.id : \"\", [def]);\r\n return id;\r\n};\r\n\r\n/** @internal */\r\nexport function useActiveFrontstageDef() {\r\n const [def, setDef] = React.useState(FrontstageManager.activeFrontstageDef);\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handleActivated = (args: FrontstageActivatedEventArgs) => {\r\n setDef(args.activatedFrontstageDef);\r\n };\r\n FrontstageManager.onFrontstageActivatedEvent.addListener(handleActivated);\r\n return () => {\r\n FrontstageManager.onFrontstageActivatedEvent.removeListener(handleActivated);\r\n };\r\n }, []);\r\n return def;\r\n}\r\n"]}