@itwin/appui-react 3.6.0-dev.8 → 3.7.0-dev.1

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 (1231) hide show
  1. package/CHANGELOG.md +45 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/appui-react/UiFramework.d.ts +65 -8
  4. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  5. package/lib/cjs/appui-react/UiFramework.js +97 -22
  6. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +1 -2
  9. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +2 -2
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +2 -2
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts +1 -1
  15. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  17. package/lib/cjs/appui-react/backstage/Backstage.d.ts +4 -4
  18. package/lib/cjs/appui-react/backstage/Backstage.js +7 -7
  19. package/lib/cjs/appui-react/backstage/Backstage.js.map +1 -1
  20. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  21. package/lib/cjs/appui-react/backstage/BackstageComposer.js +1 -0
  22. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  23. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +4 -4
  24. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +43 -0
  26. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -0
  27. package/lib/cjs/appui-react/backstage/BackstageItem.js +37 -0
  28. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -0
  29. package/lib/cjs/appui-react/backstage/BackstageItemProps.d.ts +3 -3
  30. package/lib/cjs/appui-react/backstage/BackstageItemProps.js +1 -1
  31. package/lib/cjs/appui-react/backstage/BackstageItemProps.js.map +1 -1
  32. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.d.ts +7 -35
  33. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.d.ts.map +1 -1
  34. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js +10 -24
  35. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  36. package/lib/cjs/appui-react/backstage/BackstageManager.d.ts +9 -15
  37. package/lib/cjs/appui-react/backstage/BackstageManager.d.ts.map +1 -1
  38. package/lib/cjs/appui-react/backstage/BackstageManager.js +15 -29
  39. package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
  40. package/lib/cjs/appui-react/backstage/CommandLaunch.d.ts +2 -2
  41. package/lib/cjs/appui-react/backstage/CommandLaunch.js +1 -1
  42. package/lib/cjs/appui-react/backstage/CommandLaunch.js.map +1 -1
  43. package/lib/cjs/appui-react/backstage/FrontstageLaunch.d.ts +2 -2
  44. package/lib/cjs/appui-react/backstage/FrontstageLaunch.d.ts.map +1 -1
  45. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js +6 -7
  46. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  47. package/lib/cjs/appui-react/backstage/InternalBackstageManager.d.ts +23 -0
  48. package/lib/cjs/appui-react/backstage/InternalBackstageManager.d.ts.map +1 -0
  49. package/lib/cjs/appui-react/backstage/InternalBackstageManager.js +58 -0
  50. package/lib/cjs/appui-react/backstage/InternalBackstageManager.js.map +1 -0
  51. package/lib/cjs/appui-react/backstage/Separator.d.ts +1 -1
  52. package/lib/cjs/appui-react/backstage/Separator.js +1 -1
  53. package/lib/cjs/appui-react/backstage/Separator.js.map +1 -1
  54. package/lib/cjs/appui-react/backstage/TaskLaunch.d.ts +2 -2
  55. package/lib/cjs/appui-react/backstage/TaskLaunch.js +1 -1
  56. package/lib/cjs/appui-react/backstage/TaskLaunch.js.map +1 -1
  57. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  58. package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts +57 -19
  59. package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
  60. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +74 -150
  61. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  62. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts +49 -0
  63. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -0
  64. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +206 -0
  65. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -0
  66. package/lib/cjs/appui-react/childwindow/{ChildWindowManager.scss → InternalChildWindowManager.scss} +0 -0
  67. package/lib/cjs/appui-react/configurableui/ActivityTracker.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/configurableui/ActivityTracker.js +4 -3
  69. package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
  70. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +5 -5
  71. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  72. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts +13 -37
  73. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts.map +1 -1
  74. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js +24 -96
  75. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  76. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +82 -0
  77. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -0
  78. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +155 -0
  79. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -0
  80. package/lib/cjs/appui-react/configurableui/TimeTracker.js +5 -5
  81. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  82. package/lib/cjs/appui-react/configurableui/state.d.ts +3 -3
  83. package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/configurableui/state.js +2 -2
  85. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  86. package/lib/cjs/appui-react/content/ContentGroup.d.ts +1 -1
  87. package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/content/ContentGroup.js +4 -4
  89. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  90. package/lib/cjs/appui-react/content/ContentLayout.d.ts +1 -1
  91. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  92. package/lib/cjs/appui-react/content/ContentLayout.js +30 -15
  93. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  94. package/lib/cjs/appui-react/content/ContentLayoutManager.d.ts +1 -1
  95. package/lib/cjs/appui-react/content/ContentLayoutManager.d.ts.map +1 -1
  96. package/lib/cjs/appui-react/content/ContentLayoutManager.js +11 -37
  97. package/lib/cjs/appui-react/content/ContentLayoutManager.js.map +1 -1
  98. package/lib/cjs/appui-react/content/ContentViewManager.d.ts +4 -34
  99. package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +1 -1
  100. package/lib/cjs/appui-react/content/ContentViewManager.js +22 -115
  101. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  102. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +6 -3
  103. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  104. package/lib/cjs/appui-react/content/FloatingViewportContent.js +24 -14
  105. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  106. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  107. package/lib/cjs/appui-react/content/IModelViewport.js +5 -7
  108. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  109. package/lib/cjs/appui-react/content/InternalContentLayoutManager.d.ts +48 -0
  110. package/lib/cjs/appui-react/content/InternalContentLayoutManager.d.ts.map +1 -0
  111. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +96 -0
  112. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -0
  113. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts +80 -0
  114. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts.map +1 -0
  115. package/lib/cjs/appui-react/content/InternalContentViewManager.js +210 -0
  116. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -0
  117. package/lib/cjs/appui-react/content/ViewportContentControl.d.ts.map +1 -1
  118. package/lib/cjs/appui-react/content/ViewportContentControl.js +3 -4
  119. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  120. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +1 -1
  121. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  122. package/lib/cjs/appui-react/dialog/ContentDialog.js +10 -11
  123. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  124. package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts +9 -22
  125. package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts.map +1 -1
  126. package/lib/cjs/appui-react/dialog/ContentDialogManager.js +23 -85
  127. package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -1
  128. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts +48 -0
  129. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -0
  130. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js +132 -0
  131. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -0
  132. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts +36 -0
  133. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -0
  134. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js +55 -0
  135. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -0
  136. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts +46 -0
  137. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -0
  138. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js +120 -0
  139. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -0
  140. package/lib/cjs/appui-react/dialog/ModalDialogManager.d.ts +7 -12
  141. package/lib/cjs/appui-react/dialog/ModalDialogManager.d.ts.map +1 -1
  142. package/lib/cjs/appui-react/dialog/ModalDialogManager.js +23 -27
  143. package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
  144. package/lib/cjs/appui-react/dialog/ModelessDialog.js +2 -2
  145. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  146. package/lib/cjs/appui-react/dialog/ModelessDialogManager.d.ts +17 -28
  147. package/lib/cjs/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
  148. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js +36 -86
  149. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  150. package/lib/cjs/appui-react/dialog/StandardMessageBox.js +2 -2
  151. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  152. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  153. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js +3 -4
  154. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  155. package/lib/cjs/appui-react/framework/FrameworkBackstage.d.ts +44 -0
  156. package/lib/cjs/appui-react/framework/FrameworkBackstage.d.ts.map +1 -0
  157. package/lib/cjs/appui-react/framework/FrameworkBackstage.js +10 -0
  158. package/lib/cjs/appui-react/framework/FrameworkBackstage.js.map +1 -0
  159. package/lib/cjs/appui-react/framework/FrameworkChildWindows.d.ts +59 -0
  160. package/lib/cjs/appui-react/framework/FrameworkChildWindows.d.ts.map +1 -0
  161. package/lib/cjs/appui-react/framework/FrameworkChildWindows.js +10 -0
  162. package/lib/cjs/appui-react/framework/FrameworkChildWindows.js.map +1 -0
  163. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts +155 -0
  164. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts.map +1 -0
  165. package/lib/cjs/appui-react/framework/FrameworkContent.js +31 -0
  166. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -0
  167. package/lib/cjs/appui-react/framework/FrameworkControls.d.ts +43 -0
  168. package/lib/cjs/appui-react/framework/FrameworkControls.d.ts.map +1 -0
  169. package/lib/cjs/appui-react/framework/FrameworkControls.js +3 -0
  170. package/lib/cjs/appui-react/framework/FrameworkControls.js.map +1 -0
  171. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts +79 -0
  172. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts.map +1 -0
  173. package/lib/cjs/appui-react/framework/FrameworkDialogs.js +24 -0
  174. package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -0
  175. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts +286 -0
  176. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -0
  177. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js +64 -0
  178. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -0
  179. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.d.ts +100 -0
  180. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.d.ts.map +1 -0
  181. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js +3 -0
  182. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -0
  183. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts +52 -0
  184. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -0
  185. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js +18 -0
  186. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -0
  187. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +37 -0
  188. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts.map +1 -0
  189. package/lib/cjs/appui-react/framework/FrameworkVisibility.js +3 -0
  190. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -0
  191. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +14 -14
  192. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  193. package/lib/cjs/appui-react/frontstage/Frontstage.js +16 -17
  194. package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
  195. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts +6 -6
  196. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  197. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js +51 -51
  198. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  199. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +17 -17
  200. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  201. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +36 -38
  202. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  203. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +98 -254
  204. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  205. package/lib/cjs/appui-react/frontstage/FrontstageManager.js +156 -472
  206. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  207. package/lib/cjs/appui-react/frontstage/FrontstageProvider.d.ts +1 -1
  208. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  209. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts +240 -0
  210. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -0
  211. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +538 -0
  212. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -0
  213. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
  214. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  215. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +8 -7
  216. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  217. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js +2 -2
  218. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  219. package/lib/cjs/appui-react/frontstage/StageUsage.d.ts +15 -0
  220. package/lib/cjs/appui-react/frontstage/StageUsage.d.ts.map +1 -0
  221. package/lib/cjs/appui-react/frontstage/StageUsage.js +17 -0
  222. package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -0
  223. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  224. package/lib/cjs/appui-react/hooks/useActiveStageId.d.ts.map +1 -1
  225. package/lib/cjs/appui-react/hooks/useActiveStageId.js +4 -4
  226. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  227. package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  228. package/lib/cjs/appui-react/hooks/useActiveViewport.js +5 -5
  229. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  230. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js +4 -4
  231. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  232. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js +2 -2
  233. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  234. package/lib/cjs/appui-react/hooks/useFrameworkVersion.d.ts +4 -4
  235. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js +3 -3
  236. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  237. package/lib/cjs/appui-react/imodel-components/Common.d.ts +2 -0
  238. package/lib/cjs/appui-react/imodel-components/Common.d.ts.map +1 -1
  239. package/lib/cjs/appui-react/imodel-components/Common.js +1 -0
  240. package/lib/cjs/appui-react/imodel-components/Common.js.map +1 -1
  241. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +6 -0
  242. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  243. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js +2 -0
  244. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  245. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.d.ts +6 -0
  246. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.d.ts.map +1 -1
  247. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.js +6 -0
  248. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.js.map +1 -1
  249. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.d.ts +5 -1
  250. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.js +4 -0
  252. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.js.map +1 -1
  253. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +9 -2
  254. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  255. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +5 -1
  256. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  257. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts +2 -0
  258. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  259. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js +2 -0
  260. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  261. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +3 -0
  262. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  263. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +2 -0
  264. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  265. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts +2 -0
  266. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts.map +1 -1
  267. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js +2 -0
  268. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +1 -1
  269. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts +40 -0
  270. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -0
  271. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +112 -0
  272. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -0
  273. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts +5 -25
  274. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  275. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js +19 -61
  276. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  277. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  278. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  279. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js +1 -1
  280. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  281. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts +2 -2
  282. package/lib/cjs/appui-react/messages/ActivityMessage.js +1 -1
  283. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  284. package/lib/cjs/appui-react/messages/ActivityMessagePopup.d.ts +2 -2
  285. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js +1 -1
  286. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  287. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  288. package/lib/cjs/appui-react/messages/MessageManager.js +5 -4
  289. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  290. package/lib/cjs/appui-react/messages/StatusMessageRenderer.d.ts +2 -2
  291. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js +1 -1
  292. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  293. package/lib/cjs/appui-react/messages/StatusMessagesContainer.d.ts +1 -1
  294. package/lib/cjs/appui-react/messages/StatusMessagesContainer.js +1 -1
  295. package/lib/cjs/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  296. package/lib/cjs/appui-react/messages/StickyMessage.d.ts +2 -2
  297. package/lib/cjs/appui-react/messages/StickyMessage.js +1 -1
  298. package/lib/cjs/appui-react/messages/StickyMessage.js.map +1 -1
  299. package/lib/cjs/appui-react/messages/ToastMessage.d.ts +2 -2
  300. package/lib/cjs/appui-react/messages/ToastMessage.js +1 -1
  301. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  302. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +1 -2
  303. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  304. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +1 -1
  305. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  306. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +2 -3
  307. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  308. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +1 -1
  309. package/lib/cjs/appui-react/pickers/ListPicker.js +5 -5
  310. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  311. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  312. package/lib/cjs/appui-react/pickers/ViewSelector.js +1 -2
  313. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  314. package/lib/cjs/appui-react/safearea/SafeAreaContext.d.ts +1 -1
  315. package/lib/cjs/appui-react/safearea/SafeAreaContext.js +1 -1
  316. package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
  317. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.d.ts +1 -1
  318. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js +1 -1
  319. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  320. package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  321. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +4 -5
  322. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  323. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  324. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +3 -4
  325. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  326. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts +2 -2
  327. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +16 -17
  329. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  330. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  331. package/lib/cjs/appui-react/shared/GroupItemProps.d.ts +1 -1
  332. package/lib/cjs/appui-react/shared/GroupItemProps.d.ts.map +1 -1
  333. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  334. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +4 -4
  335. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  336. package/lib/cjs/appui-react/shared/ItemDefBase.js +3 -3
  337. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  338. package/lib/cjs/appui-react/shared/ItemProps.d.ts +4 -4
  339. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  340. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  341. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js +2 -2
  342. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  343. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts +5 -5
  344. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  345. package/lib/cjs/appui-react/stagepanels/StagePanel.js +6 -6
  346. package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
  347. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  348. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +9 -9
  349. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  350. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  351. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js +3 -3
  352. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  353. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts +13 -0
  354. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -0
  355. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js +16 -0
  356. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -0
  357. package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts +13 -0
  358. package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -0
  359. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js +16 -0
  360. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -0
  361. package/lib/cjs/appui-react/statusbar/LabelIndicator.js +2 -1
  362. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  363. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -1
  364. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  365. package/lib/cjs/appui-react/statusbar/StatusBar.js +2 -2
  366. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  367. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  368. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -0
  369. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  370. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +52 -2
  371. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  372. package/lib/cjs/appui-react/statusbar/StatusBarItem.js +33 -2
  373. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  374. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts +23 -4
  375. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
  376. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js +31 -1
  377. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  378. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  379. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  380. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  381. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.d.ts +3 -3
  382. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  383. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  384. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +2 -2
  385. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  386. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.d.ts +1 -1
  387. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js +1 -1
  388. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  389. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.d.ts +1 -1
  390. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js +1 -1
  391. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  392. package/lib/cjs/appui-react/statusfields/ConditionalField.d.ts +1 -1
  393. package/lib/cjs/appui-react/statusfields/ConditionalField.js +1 -1
  394. package/lib/cjs/appui-react/statusfields/ConditionalField.js.map +1 -1
  395. package/lib/cjs/appui-react/statusfields/FooterModeField.d.ts +1 -1
  396. package/lib/cjs/appui-react/statusfields/FooterModeField.js +1 -1
  397. package/lib/cjs/appui-react/statusfields/FooterModeField.js.map +1 -1
  398. package/lib/cjs/appui-react/statusfields/Indicator.d.ts +4 -4
  399. package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
  400. package/lib/cjs/appui-react/statusfields/Indicator.js +3 -2
  401. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  402. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +1 -1
  403. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  404. package/lib/cjs/appui-react/statusfields/PromptField.d.ts +1 -1
  405. package/lib/cjs/appui-react/statusfields/PromptField.js +1 -1
  406. package/lib/cjs/appui-react/statusfields/PromptField.js.map +1 -1
  407. package/lib/cjs/appui-react/statusfields/StatusFieldProps.d.ts +3 -3
  408. package/lib/cjs/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  409. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -3
  410. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  411. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts +2 -2
  412. package/lib/cjs/appui-react/syncui/BooleanListener.js +1 -1
  413. package/lib/cjs/appui-react/syncui/BooleanListener.js.map +1 -1
  414. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts +5 -5
  415. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  416. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +12 -14
  417. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  418. package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts +2 -2
  419. package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  420. package/lib/cjs/appui-react/toolbar/ActionItemButton.js +3 -3
  421. package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
  422. package/lib/cjs/appui-react/toolbar/GroupButtonItem.d.ts +1 -1
  423. package/lib/cjs/appui-react/toolbar/GroupButtonItem.d.ts.map +1 -1
  424. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js +11 -11
  425. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  426. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts +5 -5
  427. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  428. package/lib/cjs/appui-react/toolbar/GroupItem.js +11 -12
  429. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  430. package/lib/cjs/appui-react/toolbar/PopupButton.d.ts +4 -4
  431. package/lib/cjs/appui-react/toolbar/PopupButton.d.ts.map +1 -1
  432. package/lib/cjs/appui-react/toolbar/PopupButton.js +6 -7
  433. package/lib/cjs/appui-react/toolbar/PopupButton.js.map +1 -1
  434. package/lib/cjs/appui-react/toolbar/ToolButton.d.ts +2 -2
  435. package/lib/cjs/appui-react/toolbar/ToolButton.d.ts.map +1 -1
  436. package/lib/cjs/appui-react/toolbar/ToolButton.js +2 -3
  437. package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
  438. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  439. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +5 -7
  440. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  441. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +53 -0
  442. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -0
  443. package/lib/cjs/appui-react/toolbar/ToolbarItem.js +41 -0
  444. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -0
  445. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts +14 -0
  446. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -0
  447. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js +28 -0
  448. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -0
  449. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +2 -2
  450. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  451. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  452. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  453. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +12 -13
  454. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  455. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  456. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js +2 -3
  457. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  458. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.d.ts +1 -1
  459. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js +1 -1
  460. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  461. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +4 -4
  462. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  463. package/lib/cjs/appui-react/tools/ToolSettingsTools.js +2 -2
  464. package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
  465. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +11 -0
  466. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -0
  467. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +20 -0
  468. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -0
  469. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts +9 -0
  470. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -0
  471. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js +10 -0
  472. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -0
  473. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  474. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  475. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  476. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  477. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  478. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +1 -0
  479. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  480. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +2 -2
  481. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  482. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  483. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +1 -0
  484. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  485. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  486. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  487. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +24 -0
  488. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -0
  489. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +19 -0
  490. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -0
  491. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts +9 -0
  492. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -0
  493. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js +10 -0
  494. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -0
  495. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  496. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +11 -15
  497. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  498. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts +2 -2
  499. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  500. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  501. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts +1 -1
  502. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js +1 -1
  503. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js.map +1 -1
  504. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.d.ts +84 -0
  505. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.d.ts.map +1 -0
  506. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +198 -0
  507. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -0
  508. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  509. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts +3 -33
  510. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  511. package/lib/cjs/appui-react/utils/UiShowHideManager.js +27 -117
  512. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  513. package/lib/cjs/appui-react/widget-panels/Content.js +3 -3
  514. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  515. package/lib/cjs/appui-react/widget-panels/FloatingWidget.js +2 -2
  516. package/lib/cjs/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  517. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  518. package/lib/cjs/appui-react/widget-panels/Frontstage.js +29 -29
  519. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  520. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.d.ts +1 -1
  521. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.d.ts.map +1 -1
  522. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js +6 -6
  523. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  524. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  525. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +18 -17
  526. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  527. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  528. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +1 -2
  529. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  530. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  531. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  532. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  533. package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.d.ts +3 -3
  534. package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.js +2 -2
  535. package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.js.map +1 -1
  536. package/lib/cjs/appui-react/widgets/NavigationWidget.d.ts +3 -3
  537. package/lib/cjs/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  538. package/lib/cjs/appui-react/widgets/NavigationWidget.js +14 -18
  539. package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +1 -1
  540. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  541. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +8 -12
  542. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  543. package/lib/cjs/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  544. package/lib/cjs/appui-react/widgets/StableWidgetDef.js +1 -1
  545. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  546. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.d.ts.map +1 -1
  547. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js +2 -2
  548. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  549. package/lib/cjs/appui-react/widgets/ToolWidget.d.ts +3 -3
  550. package/lib/cjs/appui-react/widgets/ToolWidget.d.ts.map +1 -1
  551. package/lib/cjs/appui-react/widgets/ToolWidget.js +4 -6
  552. package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
  553. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js +3 -3
  554. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  555. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -1
  556. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js +1 -1
  557. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  558. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  559. package/lib/cjs/appui-react/widgets/Widget.d.ts +1 -1
  560. package/lib/cjs/appui-react/widgets/Widget.js +1 -1
  561. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  562. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  563. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +14 -14
  564. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  565. package/lib/cjs/appui-react/widgets/WidgetDef.js +18 -18
  566. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  567. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts +8 -1
  568. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts.map +1 -1
  569. package/lib/cjs/appui-react/widgets/WidgetProps.js.map +1 -1
  570. package/lib/cjs/appui-react/widgets/WidgetStack.js +2 -2
  571. package/lib/cjs/appui-react/widgets/WidgetStack.js.map +1 -1
  572. package/lib/cjs/appui-react/widgets/WidgetState.d.ts +13 -0
  573. package/lib/cjs/appui-react/widgets/WidgetState.d.ts.map +1 -0
  574. package/lib/cjs/appui-react/widgets/WidgetState.js +16 -0
  575. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -0
  576. package/lib/cjs/appui-react/workflow/Task.d.ts +4 -4
  577. package/lib/cjs/appui-react/workflow/Task.d.ts.map +1 -1
  578. package/lib/cjs/appui-react/workflow/Task.js +5 -5
  579. package/lib/cjs/appui-react/workflow/Task.js.map +1 -1
  580. package/lib/cjs/appui-react/workflow/Workflow.d.ts +8 -8
  581. package/lib/cjs/appui-react/workflow/Workflow.js +4 -4
  582. package/lib/cjs/appui-react/workflow/Workflow.js.map +1 -1
  583. package/lib/cjs/appui-react/zones/Zone.d.ts +3 -3
  584. package/lib/cjs/appui-react/zones/Zone.d.ts.map +1 -1
  585. package/lib/cjs/appui-react/zones/Zone.js +5 -5
  586. package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
  587. package/lib/cjs/appui-react/zones/ZoneDef.d.ts +5 -5
  588. package/lib/cjs/appui-react/zones/ZoneDef.d.ts.map +1 -1
  589. package/lib/cjs/appui-react/zones/ZoneDef.js +5 -5
  590. package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
  591. package/lib/cjs/appui-react/zones/toolsettings/DefaultToolSettingsProvider.d.ts +1 -1
  592. package/lib/cjs/appui-react/zones/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -1
  593. package/lib/cjs/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js +6 -8
  594. package/lib/cjs/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  595. package/lib/cjs/appui-react/zones/toolsettings/InternalToolSettingsManager.d.ts +50 -0
  596. package/lib/cjs/appui-react/zones/toolsettings/InternalToolSettingsManager.d.ts.map +1 -0
  597. package/lib/cjs/appui-react/zones/toolsettings/InternalToolSettingsManager.js +124 -0
  598. package/lib/cjs/appui-react/zones/toolsettings/InternalToolSettingsManager.js.map +1 -0
  599. package/lib/cjs/appui-react/zones/toolsettings/ToolInformation.d.ts.map +1 -1
  600. package/lib/cjs/appui-react/zones/toolsettings/ToolInformation.js +4 -6
  601. package/lib/cjs/appui-react/zones/toolsettings/ToolInformation.js.map +1 -1
  602. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +8 -23
  603. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  604. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js +21 -87
  605. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  606. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.d.ts.map +1 -1
  607. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js +6 -9
  608. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  609. package/lib/cjs/appui-react/zones/toolsettings/ToolUiProvider.d.ts +2 -2
  610. package/lib/cjs/appui-react/zones/toolsettings/ToolUiProvider.d.ts.map +1 -1
  611. package/lib/cjs/appui-react/zones/toolsettings/ToolUiProvider.js +1 -1
  612. package/lib/cjs/appui-react/zones/toolsettings/ToolUiProvider.js.map +1 -1
  613. package/lib/cjs/appui-react.d.ts +25 -5
  614. package/lib/cjs/appui-react.d.ts.map +1 -1
  615. package/lib/cjs/appui-react.js +25 -5
  616. package/lib/cjs/appui-react.js.map +1 -1
  617. package/lib/esm/appui-react/UiFramework.d.ts +65 -8
  618. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  619. package/lib/esm/appui-react/UiFramework.js +96 -21
  620. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  621. package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  622. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +1 -2
  623. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  624. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +2 -2
  625. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  626. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +2 -2
  627. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  628. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts +1 -1
  629. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts.map +1 -1
  630. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  631. package/lib/esm/appui-react/backstage/Backstage.d.ts +4 -4
  632. package/lib/esm/appui-react/backstage/Backstage.js +7 -7
  633. package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
  634. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  635. package/lib/esm/appui-react/backstage/BackstageComposer.js +1 -0
  636. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  637. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +4 -4
  638. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  639. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +43 -0
  640. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -0
  641. package/lib/esm/appui-react/backstage/BackstageItem.js +32 -0
  642. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -0
  643. package/lib/esm/appui-react/backstage/BackstageItemProps.d.ts +3 -3
  644. package/lib/esm/appui-react/backstage/BackstageItemProps.js +1 -1
  645. package/lib/esm/appui-react/backstage/BackstageItemProps.js.map +1 -1
  646. package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts +7 -35
  647. package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts.map +1 -1
  648. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js +7 -21
  649. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  650. package/lib/esm/appui-react/backstage/BackstageManager.d.ts +9 -15
  651. package/lib/esm/appui-react/backstage/BackstageManager.d.ts.map +1 -1
  652. package/lib/esm/appui-react/backstage/BackstageManager.js +15 -29
  653. package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
  654. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts +2 -2
  655. package/lib/esm/appui-react/backstage/CommandLaunch.js +1 -1
  656. package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
  657. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts +2 -2
  658. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts.map +1 -1
  659. package/lib/esm/appui-react/backstage/FrontstageLaunch.js +6 -7
  660. package/lib/esm/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  661. package/lib/esm/appui-react/backstage/InternalBackstageManager.d.ts +23 -0
  662. package/lib/esm/appui-react/backstage/InternalBackstageManager.d.ts.map +1 -0
  663. package/lib/esm/appui-react/backstage/InternalBackstageManager.js +54 -0
  664. package/lib/esm/appui-react/backstage/InternalBackstageManager.js.map +1 -0
  665. package/lib/esm/appui-react/backstage/Separator.d.ts +1 -1
  666. package/lib/esm/appui-react/backstage/Separator.js +1 -1
  667. package/lib/esm/appui-react/backstage/Separator.js.map +1 -1
  668. package/lib/esm/appui-react/backstage/TaskLaunch.d.ts +2 -2
  669. package/lib/esm/appui-react/backstage/TaskLaunch.js +1 -1
  670. package/lib/esm/appui-react/backstage/TaskLaunch.js.map +1 -1
  671. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  672. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts +57 -19
  673. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
  674. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +74 -150
  675. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  676. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts +49 -0
  677. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -0
  678. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +202 -0
  679. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -0
  680. package/lib/esm/appui-react/childwindow/{ChildWindowManager.scss → InternalChildWindowManager.scss} +0 -0
  681. package/lib/esm/appui-react/configurableui/ActivityTracker.d.ts.map +1 -1
  682. package/lib/esm/appui-react/configurableui/ActivityTracker.js +4 -3
  683. package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
  684. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +5 -5
  685. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  686. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts +13 -37
  687. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts.map +1 -1
  688. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js +23 -93
  689. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  690. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +82 -0
  691. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -0
  692. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +149 -0
  693. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -0
  694. package/lib/esm/appui-react/configurableui/TimeTracker.js +5 -5
  695. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  696. package/lib/esm/appui-react/configurableui/state.d.ts +3 -3
  697. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  698. package/lib/esm/appui-react/configurableui/state.js +2 -2
  699. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  700. package/lib/esm/appui-react/content/ContentGroup.d.ts +1 -1
  701. package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
  702. package/lib/esm/appui-react/content/ContentGroup.js +4 -4
  703. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  704. package/lib/esm/appui-react/content/ContentLayout.d.ts +1 -1
  705. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  706. package/lib/esm/appui-react/content/ContentLayout.js +30 -15
  707. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  708. package/lib/esm/appui-react/content/ContentLayoutManager.d.ts +1 -1
  709. package/lib/esm/appui-react/content/ContentLayoutManager.d.ts.map +1 -1
  710. package/lib/esm/appui-react/content/ContentLayoutManager.js +11 -37
  711. package/lib/esm/appui-react/content/ContentLayoutManager.js.map +1 -1
  712. package/lib/esm/appui-react/content/ContentViewManager.d.ts +4 -34
  713. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
  714. package/lib/esm/appui-react/content/ContentViewManager.js +21 -112
  715. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  716. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +6 -3
  717. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  718. package/lib/esm/appui-react/content/FloatingViewportContent.js +24 -14
  719. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  720. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  721. package/lib/esm/appui-react/content/IModelViewport.js +5 -7
  722. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  723. package/lib/esm/appui-react/content/InternalContentLayoutManager.d.ts +48 -0
  724. package/lib/esm/appui-react/content/InternalContentLayoutManager.d.ts.map +1 -0
  725. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +92 -0
  726. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -0
  727. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts +80 -0
  728. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts.map +1 -0
  729. package/lib/esm/appui-react/content/InternalContentViewManager.js +206 -0
  730. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -0
  731. package/lib/esm/appui-react/content/ViewportContentControl.d.ts.map +1 -1
  732. package/lib/esm/appui-react/content/ViewportContentControl.js +3 -4
  733. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  734. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +1 -1
  735. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  736. package/lib/esm/appui-react/dialog/ContentDialog.js +10 -11
  737. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  738. package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts +9 -22
  739. package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts.map +1 -1
  740. package/lib/esm/appui-react/dialog/ContentDialogManager.js +23 -84
  741. package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -1
  742. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts +48 -0
  743. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -0
  744. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js +128 -0
  745. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -0
  746. package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts +36 -0
  747. package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -0
  748. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js +51 -0
  749. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -0
  750. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts +46 -0
  751. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -0
  752. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js +116 -0
  753. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -0
  754. package/lib/esm/appui-react/dialog/ModalDialogManager.d.ts +7 -12
  755. package/lib/esm/appui-react/dialog/ModalDialogManager.d.ts.map +1 -1
  756. package/lib/esm/appui-react/dialog/ModalDialogManager.js +22 -25
  757. package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
  758. package/lib/esm/appui-react/dialog/ModelessDialog.js +2 -2
  759. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  760. package/lib/esm/appui-react/dialog/ModelessDialogManager.d.ts +17 -28
  761. package/lib/esm/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
  762. package/lib/esm/appui-react/dialog/ModelessDialogManager.js +35 -84
  763. package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  764. package/lib/esm/appui-react/dialog/StandardMessageBox.js +2 -2
  765. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  766. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  767. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js +3 -4
  768. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  769. package/lib/esm/appui-react/framework/FrameworkBackstage.d.ts +44 -0
  770. package/lib/esm/appui-react/framework/FrameworkBackstage.d.ts.map +1 -0
  771. package/lib/esm/appui-react/framework/FrameworkBackstage.js +9 -0
  772. package/lib/esm/appui-react/framework/FrameworkBackstage.js.map +1 -0
  773. package/lib/esm/appui-react/framework/FrameworkChildWindows.d.ts +59 -0
  774. package/lib/esm/appui-react/framework/FrameworkChildWindows.d.ts.map +1 -0
  775. package/lib/esm/appui-react/framework/FrameworkChildWindows.js +9 -0
  776. package/lib/esm/appui-react/framework/FrameworkChildWindows.js.map +1 -0
  777. package/lib/esm/appui-react/framework/FrameworkContent.d.ts +155 -0
  778. package/lib/esm/appui-react/framework/FrameworkContent.d.ts.map +1 -0
  779. package/lib/esm/appui-react/framework/FrameworkContent.js +25 -0
  780. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -0
  781. package/lib/esm/appui-react/framework/FrameworkControls.d.ts +43 -0
  782. package/lib/esm/appui-react/framework/FrameworkControls.d.ts.map +1 -0
  783. package/lib/esm/appui-react/framework/FrameworkControls.js +2 -0
  784. package/lib/esm/appui-react/framework/FrameworkControls.js.map +1 -0
  785. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts +79 -0
  786. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts.map +1 -0
  787. package/lib/esm/appui-react/framework/FrameworkDialogs.js +19 -0
  788. package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -0
  789. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts +286 -0
  790. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -0
  791. package/lib/esm/appui-react/framework/FrameworkFrontstages.js +53 -0
  792. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -0
  793. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.d.ts +100 -0
  794. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.d.ts.map +1 -0
  795. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js +2 -0
  796. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -0
  797. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts +52 -0
  798. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -0
  799. package/lib/esm/appui-react/framework/FrameworkToolSettings.js +14 -0
  800. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -0
  801. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +37 -0
  802. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts.map +1 -0
  803. package/lib/esm/appui-react/framework/FrameworkVisibility.js +2 -0
  804. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -0
  805. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +14 -14
  806. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  807. package/lib/esm/appui-react/frontstage/Frontstage.js +16 -17
  808. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  809. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts +6 -6
  810. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  811. package/lib/esm/appui-react/frontstage/FrontstageComposer.js +51 -51
  812. package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  813. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +17 -17
  814. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  815. package/lib/esm/appui-react/frontstage/FrontstageDef.js +36 -38
  816. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  817. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +98 -254
  818. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  819. package/lib/esm/appui-react/frontstage/FrontstageManager.js +155 -463
  820. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  821. package/lib/esm/appui-react/frontstage/FrontstageProvider.d.ts +1 -1
  822. package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  823. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts +240 -0
  824. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -0
  825. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +534 -0
  826. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -0
  827. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
  828. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  829. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +9 -8
  830. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  831. package/lib/esm/appui-react/frontstage/NestedFrontstage.js +2 -2
  832. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  833. package/lib/esm/appui-react/frontstage/StageUsage.d.ts +15 -0
  834. package/lib/esm/appui-react/frontstage/StageUsage.d.ts.map +1 -0
  835. package/lib/esm/appui-react/frontstage/StageUsage.js +14 -0
  836. package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -0
  837. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  838. package/lib/esm/appui-react/hooks/useActiveStageId.d.ts.map +1 -1
  839. package/lib/esm/appui-react/hooks/useActiveStageId.js +4 -4
  840. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  841. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  842. package/lib/esm/appui-react/hooks/useActiveViewport.js +5 -5
  843. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  844. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js +4 -4
  845. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  846. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js +2 -2
  847. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  848. package/lib/esm/appui-react/hooks/useFrameworkVersion.d.ts +4 -4
  849. package/lib/esm/appui-react/hooks/useFrameworkVersion.js +3 -3
  850. package/lib/esm/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  851. package/lib/esm/appui-react/imodel-components/Common.d.ts +2 -0
  852. package/lib/esm/appui-react/imodel-components/Common.d.ts.map +1 -1
  853. package/lib/esm/appui-react/imodel-components/Common.js +1 -0
  854. package/lib/esm/appui-react/imodel-components/Common.js.map +1 -1
  855. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +6 -0
  856. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  857. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js +2 -0
  858. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  859. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.d.ts +6 -0
  860. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.d.ts.map +1 -1
  861. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.js +6 -0
  862. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.js.map +1 -1
  863. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.d.ts +5 -1
  864. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.d.ts.map +1 -1
  865. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.js +4 -0
  866. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.js.map +1 -1
  867. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +9 -2
  868. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  869. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +5 -1
  870. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  871. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts +2 -0
  872. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  873. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js +2 -0
  874. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  875. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +3 -0
  876. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  877. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +2 -0
  878. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  879. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts +2 -0
  880. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts.map +1 -1
  881. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js +2 -0
  882. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +1 -1
  883. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts +40 -0
  884. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -0
  885. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +108 -0
  886. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -0
  887. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts +5 -25
  888. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  889. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js +20 -62
  890. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  891. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  892. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  893. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js +1 -1
  894. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  895. package/lib/esm/appui-react/messages/ActivityMessage.d.ts +2 -2
  896. package/lib/esm/appui-react/messages/ActivityMessage.js +1 -1
  897. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  898. package/lib/esm/appui-react/messages/ActivityMessagePopup.d.ts +2 -2
  899. package/lib/esm/appui-react/messages/ActivityMessagePopup.js +1 -1
  900. package/lib/esm/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  901. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  902. package/lib/esm/appui-react/messages/MessageManager.js +5 -4
  903. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  904. package/lib/esm/appui-react/messages/StatusMessageRenderer.d.ts +2 -2
  905. package/lib/esm/appui-react/messages/StatusMessageRenderer.js +1 -1
  906. package/lib/esm/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  907. package/lib/esm/appui-react/messages/StatusMessagesContainer.d.ts +1 -1
  908. package/lib/esm/appui-react/messages/StatusMessagesContainer.js +1 -1
  909. package/lib/esm/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  910. package/lib/esm/appui-react/messages/StickyMessage.d.ts +2 -2
  911. package/lib/esm/appui-react/messages/StickyMessage.js +1 -1
  912. package/lib/esm/appui-react/messages/StickyMessage.js.map +1 -1
  913. package/lib/esm/appui-react/messages/ToastMessage.d.ts +2 -2
  914. package/lib/esm/appui-react/messages/ToastMessage.js +1 -1
  915. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  916. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +1 -2
  917. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  918. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +1 -1
  919. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  920. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -3
  921. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  922. package/lib/esm/appui-react/pickers/ListPicker.d.ts +1 -1
  923. package/lib/esm/appui-react/pickers/ListPicker.js +5 -5
  924. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  925. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  926. package/lib/esm/appui-react/pickers/ViewSelector.js +1 -2
  927. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  928. package/lib/esm/appui-react/safearea/SafeAreaContext.d.ts +1 -1
  929. package/lib/esm/appui-react/safearea/SafeAreaContext.js +1 -1
  930. package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
  931. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.d.ts +1 -1
  932. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js +1 -1
  933. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  934. package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  935. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +4 -5
  936. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  937. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  938. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +3 -4
  939. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  940. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts +2 -2
  941. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  942. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +16 -17
  943. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  944. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  945. package/lib/esm/appui-react/shared/GroupItemProps.d.ts +1 -1
  946. package/lib/esm/appui-react/shared/GroupItemProps.d.ts.map +1 -1
  947. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  948. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +4 -4
  949. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  950. package/lib/esm/appui-react/shared/ItemDefBase.js +3 -3
  951. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  952. package/lib/esm/appui-react/shared/ItemProps.d.ts +4 -4
  953. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  954. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  955. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js +2 -2
  956. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  957. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts +5 -5
  958. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  959. package/lib/esm/appui-react/stagepanels/StagePanel.js +6 -6
  960. package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
  961. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  962. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +9 -9
  963. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  964. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  965. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js +3 -3
  966. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  967. package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts +13 -0
  968. package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -0
  969. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js +13 -0
  970. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -0
  971. package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts +13 -0
  972. package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -0
  973. package/lib/esm/appui-react/stagepanels/StagePanelSection.js +13 -0
  974. package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -0
  975. package/lib/esm/appui-react/statusbar/LabelIndicator.js +2 -1
  976. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  977. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -1
  978. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  979. package/lib/esm/appui-react/statusbar/StatusBar.js +2 -2
  980. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  981. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  982. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -0
  983. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  984. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +52 -2
  985. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  986. package/lib/esm/appui-react/statusbar/StatusBarItem.js +29 -1
  987. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  988. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts +23 -4
  989. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
  990. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js +31 -1
  991. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  992. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  993. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  994. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  995. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.d.ts +3 -3
  996. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  997. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  998. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +2 -2
  999. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  1000. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.d.ts +1 -1
  1001. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js +1 -1
  1002. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  1003. package/lib/esm/appui-react/statusbar/withStatusFieldProps.d.ts +1 -1
  1004. package/lib/esm/appui-react/statusbar/withStatusFieldProps.js +1 -1
  1005. package/lib/esm/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  1006. package/lib/esm/appui-react/statusfields/ConditionalField.d.ts +1 -1
  1007. package/lib/esm/appui-react/statusfields/ConditionalField.js +1 -1
  1008. package/lib/esm/appui-react/statusfields/ConditionalField.js.map +1 -1
  1009. package/lib/esm/appui-react/statusfields/FooterModeField.d.ts +1 -1
  1010. package/lib/esm/appui-react/statusfields/FooterModeField.js +1 -1
  1011. package/lib/esm/appui-react/statusfields/FooterModeField.js.map +1 -1
  1012. package/lib/esm/appui-react/statusfields/Indicator.d.ts +4 -4
  1013. package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
  1014. package/lib/esm/appui-react/statusfields/Indicator.js +3 -2
  1015. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  1016. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +1 -1
  1017. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  1018. package/lib/esm/appui-react/statusfields/PromptField.d.ts +1 -1
  1019. package/lib/esm/appui-react/statusfields/PromptField.js +1 -1
  1020. package/lib/esm/appui-react/statusfields/PromptField.js.map +1 -1
  1021. package/lib/esm/appui-react/statusfields/StatusFieldProps.d.ts +3 -3
  1022. package/lib/esm/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  1023. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -3
  1024. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  1025. package/lib/esm/appui-react/syncui/BooleanListener.d.ts +2 -2
  1026. package/lib/esm/appui-react/syncui/BooleanListener.js +1 -1
  1027. package/lib/esm/appui-react/syncui/BooleanListener.js.map +1 -1
  1028. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts +5 -5
  1029. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  1030. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +12 -14
  1031. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  1032. package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts +2 -2
  1033. package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  1034. package/lib/esm/appui-react/toolbar/ActionItemButton.js +3 -3
  1035. package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
  1036. package/lib/esm/appui-react/toolbar/GroupButtonItem.d.ts +1 -1
  1037. package/lib/esm/appui-react/toolbar/GroupButtonItem.d.ts.map +1 -1
  1038. package/lib/esm/appui-react/toolbar/GroupButtonItem.js +9 -9
  1039. package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  1040. package/lib/esm/appui-react/toolbar/GroupItem.d.ts +5 -5
  1041. package/lib/esm/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  1042. package/lib/esm/appui-react/toolbar/GroupItem.js +11 -12
  1043. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  1044. package/lib/esm/appui-react/toolbar/PopupButton.d.ts +4 -4
  1045. package/lib/esm/appui-react/toolbar/PopupButton.d.ts.map +1 -1
  1046. package/lib/esm/appui-react/toolbar/PopupButton.js +6 -7
  1047. package/lib/esm/appui-react/toolbar/PopupButton.js.map +1 -1
  1048. package/lib/esm/appui-react/toolbar/ToolButton.d.ts +2 -2
  1049. package/lib/esm/appui-react/toolbar/ToolButton.d.ts.map +1 -1
  1050. package/lib/esm/appui-react/toolbar/ToolButton.js +2 -3
  1051. package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
  1052. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  1053. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +5 -7
  1054. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  1055. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +53 -0
  1056. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -0
  1057. package/lib/esm/appui-react/toolbar/ToolbarItem.js +35 -0
  1058. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -0
  1059. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts +14 -0
  1060. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -0
  1061. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js +25 -0
  1062. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -0
  1063. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +2 -2
  1064. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  1065. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  1066. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  1067. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +12 -13
  1068. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  1069. package/lib/esm/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  1070. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js +2 -3
  1071. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  1072. package/lib/esm/appui-react/tools/MarkupToolDefinitions.d.ts +1 -1
  1073. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js +1 -1
  1074. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  1075. package/lib/esm/appui-react/tools/RestoreLayoutTool.js +4 -4
  1076. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  1077. package/lib/esm/appui-react/tools/ToolSettingsTools.js +2 -2
  1078. package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
  1079. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +11 -0
  1080. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -0
  1081. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +16 -0
  1082. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -0
  1083. package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts +9 -0
  1084. package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -0
  1085. package/lib/esm/appui-react/ui-items-provider/ProviderItem.js +9 -0
  1086. package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -0
  1087. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  1088. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  1089. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  1090. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  1091. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  1092. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +1 -0
  1093. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  1094. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +2 -2
  1095. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  1096. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  1097. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +1 -0
  1098. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  1099. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  1100. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  1101. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +24 -0
  1102. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -0
  1103. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +15 -0
  1104. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -0
  1105. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts +9 -0
  1106. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -0
  1107. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js +9 -0
  1108. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -0
  1109. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  1110. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +11 -15
  1111. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  1112. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts +2 -2
  1113. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  1114. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  1115. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts +1 -1
  1116. package/lib/esm/appui-react/uistate/UserSettingsStorage.js +1 -1
  1117. package/lib/esm/appui-react/uistate/UserSettingsStorage.js.map +1 -1
  1118. package/lib/esm/appui-react/utils/InternalUiShowHideManager.d.ts +84 -0
  1119. package/lib/esm/appui-react/utils/InternalUiShowHideManager.d.ts.map +1 -0
  1120. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +193 -0
  1121. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -0
  1122. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  1123. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts +3 -33
  1124. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  1125. package/lib/esm/appui-react/utils/UiShowHideManager.js +27 -115
  1126. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  1127. package/lib/esm/appui-react/widget-panels/Content.js +3 -3
  1128. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  1129. package/lib/esm/appui-react/widget-panels/FloatingWidget.js +2 -2
  1130. package/lib/esm/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  1131. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  1132. package/lib/esm/appui-react/widget-panels/Frontstage.js +29 -29
  1133. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  1134. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.d.ts +1 -1
  1135. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.d.ts.map +1 -1
  1136. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js +6 -6
  1137. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  1138. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  1139. package/lib/esm/appui-react/widget-panels/ToolSettings.js +18 -17
  1140. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  1141. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  1142. package/lib/esm/appui-react/widgets/BackstageAppButton.js +1 -2
  1143. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  1144. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  1145. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  1146. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  1147. package/lib/esm/appui-react/widgets/DefaultNavigationWidget.d.ts +3 -3
  1148. package/lib/esm/appui-react/widgets/DefaultNavigationWidget.js +2 -2
  1149. package/lib/esm/appui-react/widgets/DefaultNavigationWidget.js.map +1 -1
  1150. package/lib/esm/appui-react/widgets/NavigationWidget.d.ts +3 -3
  1151. package/lib/esm/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  1152. package/lib/esm/appui-react/widgets/NavigationWidget.js +14 -18
  1153. package/lib/esm/appui-react/widgets/NavigationWidget.js.map +1 -1
  1154. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  1155. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +8 -12
  1156. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  1157. package/lib/esm/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  1158. package/lib/esm/appui-react/widgets/StableWidgetDef.js +1 -1
  1159. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  1160. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.d.ts.map +1 -1
  1161. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js +2 -2
  1162. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  1163. package/lib/esm/appui-react/widgets/ToolWidget.d.ts +3 -3
  1164. package/lib/esm/appui-react/widgets/ToolWidget.d.ts.map +1 -1
  1165. package/lib/esm/appui-react/widgets/ToolWidget.js +4 -6
  1166. package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
  1167. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js +3 -3
  1168. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  1169. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -1
  1170. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js +1 -1
  1171. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  1172. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  1173. package/lib/esm/appui-react/widgets/Widget.d.ts +1 -1
  1174. package/lib/esm/appui-react/widgets/Widget.js +1 -1
  1175. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  1176. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  1177. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +14 -14
  1178. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  1179. package/lib/esm/appui-react/widgets/WidgetDef.js +18 -18
  1180. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  1181. package/lib/esm/appui-react/widgets/WidgetProps.d.ts +8 -1
  1182. package/lib/esm/appui-react/widgets/WidgetProps.d.ts.map +1 -1
  1183. package/lib/esm/appui-react/widgets/WidgetProps.js.map +1 -1
  1184. package/lib/esm/appui-react/widgets/WidgetStack.js +2 -2
  1185. package/lib/esm/appui-react/widgets/WidgetStack.js.map +1 -1
  1186. package/lib/esm/appui-react/widgets/WidgetState.d.ts +13 -0
  1187. package/lib/esm/appui-react/widgets/WidgetState.d.ts.map +1 -0
  1188. package/lib/esm/appui-react/widgets/WidgetState.js +13 -0
  1189. package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -0
  1190. package/lib/esm/appui-react/workflow/Task.d.ts +4 -4
  1191. package/lib/esm/appui-react/workflow/Task.d.ts.map +1 -1
  1192. package/lib/esm/appui-react/workflow/Task.js +5 -5
  1193. package/lib/esm/appui-react/workflow/Task.js.map +1 -1
  1194. package/lib/esm/appui-react/workflow/Workflow.d.ts +8 -8
  1195. package/lib/esm/appui-react/workflow/Workflow.js +4 -4
  1196. package/lib/esm/appui-react/workflow/Workflow.js.map +1 -1
  1197. package/lib/esm/appui-react/zones/Zone.d.ts +3 -3
  1198. package/lib/esm/appui-react/zones/Zone.d.ts.map +1 -1
  1199. package/lib/esm/appui-react/zones/Zone.js +5 -5
  1200. package/lib/esm/appui-react/zones/Zone.js.map +1 -1
  1201. package/lib/esm/appui-react/zones/ZoneDef.d.ts +5 -5
  1202. package/lib/esm/appui-react/zones/ZoneDef.d.ts.map +1 -1
  1203. package/lib/esm/appui-react/zones/ZoneDef.js +5 -5
  1204. package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
  1205. package/lib/esm/appui-react/zones/toolsettings/DefaultToolSettingsProvider.d.ts +1 -1
  1206. package/lib/esm/appui-react/zones/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -1
  1207. package/lib/esm/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js +6 -8
  1208. package/lib/esm/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  1209. package/lib/esm/appui-react/zones/toolsettings/InternalToolSettingsManager.d.ts +50 -0
  1210. package/lib/esm/appui-react/zones/toolsettings/InternalToolSettingsManager.d.ts.map +1 -0
  1211. package/lib/esm/appui-react/zones/toolsettings/InternalToolSettingsManager.js +120 -0
  1212. package/lib/esm/appui-react/zones/toolsettings/InternalToolSettingsManager.js.map +1 -0
  1213. package/lib/esm/appui-react/zones/toolsettings/ToolInformation.d.ts.map +1 -1
  1214. package/lib/esm/appui-react/zones/toolsettings/ToolInformation.js +4 -6
  1215. package/lib/esm/appui-react/zones/toolsettings/ToolInformation.js.map +1 -1
  1216. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +8 -23
  1217. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  1218. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js +20 -85
  1219. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  1220. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.d.ts.map +1 -1
  1221. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js +6 -9
  1222. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  1223. package/lib/esm/appui-react/zones/toolsettings/ToolUiProvider.d.ts +2 -2
  1224. package/lib/esm/appui-react/zones/toolsettings/ToolUiProvider.d.ts.map +1 -1
  1225. package/lib/esm/appui-react/zones/toolsettings/ToolUiProvider.js +1 -1
  1226. package/lib/esm/appui-react/zones/toolsettings/ToolUiProvider.js.map +1 -1
  1227. package/lib/esm/appui-react.d.ts +25 -5
  1228. package/lib/esm/appui-react.d.ts.map +1 -1
  1229. package/lib/esm/appui-react.js +25 -5
  1230. package/lib/esm/appui-react.js.map +1 -1
  1231. package/package.json +45 -35
@@ -1 +1 @@
1
- {"version":3,"file":"FrontstageDef.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageDef.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/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\n\r\n// cSpell:ignore popout\r\n\r\nimport * as React from \"react\";\r\nimport { IModelApp, ScreenViewport } from \"@itwin/core-frontend\";\r\nimport { PointProps, StagePanelLocation, StageUsage, UiError, WidgetState } from \"@itwin/appui-abstract\";\r\nimport { Rectangle, RectangleProps, SizeProps } from \"@itwin/core-react\";\r\nimport {\r\n dockWidgetContainer,\r\n floatWidget, getTabLocation, getWidgetLocation, isFloatingTabLocation, isPanelTabLocation, isPopoutTabLocation, isPopoutWidgetLocation,\r\n NineZoneManagerProps, NineZoneState, PanelSide, panelSides, popoutWidgetToChildWindow,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { ContentControl } from \"../content/ContentControl\";\r\nimport { ContentGroup, ContentGroupProvider } from \"../content/ContentGroup\";\r\nimport { ContentLayoutDef } from \"../content/ContentLayout\";\r\nimport { ContentLayoutManager } from \"../content/ContentLayoutManager\";\r\nimport { ContentViewManager } from \"../content/ContentViewManager\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { StagePanelDef, StagePanelState, toPanelSide } from \"../stagepanels/StagePanelDef\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { WidgetControl } from \"../widgets/WidgetControl\";\r\nimport { WidgetDef } from \"../widgets/WidgetDef\";\r\nimport { Zone, ZoneLocation, ZoneProps } from \"../zones/Zone\";\r\nimport { ZoneDef } from \"../zones/ZoneDef\";\r\nimport { Frontstage, FrontstageProps } from \"./Frontstage\";\r\nimport { FrontstageManager } from \"./FrontstageManager\";\r\nimport { FrontstageProvider } from \"./FrontstageProvider\";\r\nimport { TimeTracker } from \"../configurableui/TimeTracker\";\r\nimport { ChildWindowLocationProps } from \"../childwindow/ChildWindowManager\";\r\nimport { PopoutWidget } from \"../childwindow/PopoutWidget\";\r\nimport { FrameworkStateReducer, SavedWidgets } from \"../widget-panels/Frontstage\";\r\nimport { assert, BentleyStatus, ProcessDetector } from \"@itwin/core-bentley\";\r\nimport { ContentDialogManager } from \"../dialog/ContentDialogManager\";\r\nimport { FrontstageConfig } from \"./FrontstageConfig\";\r\nimport { Widget } from \"../widgets/Widget\";\r\nimport { WidgetConfig } from \"../widgets/WidgetConfig\";\r\nimport { StagePanel, StagePanelProps, StagePanelZonesProps } from \"../stagepanels/StagePanel\";\r\nimport { StagePanelConfig } from \"../stagepanels/StagePanelConfig\";\r\nimport { WidgetProps } from \"../widgets/WidgetProps\";\r\n\r\n/** @internal */\r\nexport interface FrontstageEventArgs {\r\n frontstageDef: FrontstageDef;\r\n}\r\n\r\n/** @internal */\r\nexport interface FrontstageNineZoneStateChangedEventArgs extends FrontstageEventArgs {\r\n state: NineZoneState | undefined;\r\n}\r\n\r\n/** FrontstageDef class provides an API for a Frontstage.\r\n * @public\r\n */\r\nexport class FrontstageDef {\r\n private _id: string = \"\";\r\n private _initialProps?: FrontstageProps;\r\n private _defaultTool?: ToolItemDef;\r\n private _defaultContentId: string = \"\";\r\n private _isInFooterMode: boolean = true;\r\n private _isStageClosing = false;\r\n private _isReady = false;\r\n private _isApplicationClosing = false;\r\n private _applicationData?: any;\r\n private _usage?: string;\r\n private _version: number = 0;\r\n private _topLeft?: ZoneDef;\r\n private _topCenter?: ZoneDef;\r\n private _topRight?: ZoneDef;\r\n private _centerLeft?: ZoneDef;\r\n private _centerRight?: ZoneDef;\r\n private _bottomLeft?: ZoneDef;\r\n private _bottomCenter?: ZoneDef;\r\n private _bottomRight?: ZoneDef;\r\n private _topPanel?: StagePanelDef;\r\n private _topMostPanel?: StagePanelDef;\r\n private _leftPanel?: StagePanelDef;\r\n private _rightPanel?: StagePanelDef;\r\n private _bottomPanel?: StagePanelDef;\r\n private _bottomMostPanel?: StagePanelDef;\r\n private _contentLayoutDef?: ContentLayoutDef;\r\n private _contentGroup?: ContentGroup;\r\n private _frontstageProvider?: FrontstageProvider;\r\n private _nineZone?: NineZoneManagerProps;\r\n private _timeTracker: TimeTracker = new TimeTracker();\r\n private _nineZoneState?: NineZoneState;\r\n private _contentGroupProvider?: ContentGroupProvider;\r\n private _floatingContentControls?: ContentControl[];\r\n private _savedWidgetDefs?: SavedWidgets;\r\n\r\n public get id(): string { return this._id; }\r\n /** @deprecated */\r\n public get defaultTool(): ToolItemDef | undefined { return this._defaultTool; }\r\n /** @deprecated */\r\n public get defaultContentId(): string { return this._defaultContentId; }\r\n public get isInFooterMode(): boolean { return this._isInFooterMode; }\r\n /** @deprecated */\r\n public get applicationData(): any | undefined { return this._applicationData; }\r\n public get usage(): string { return this._usage !== undefined ? this._usage : StageUsage.General; }\r\n public get version(): number { return this._version; }\r\n public get contentGroupProvider(): ContentGroupProvider | undefined { return this._contentGroupProvider; }\r\n public get floatingContentControls() { return this._floatingContentControls; }\r\n\r\n /** @deprecated Use [[FrontstageDef.contentManipulation]] instead. */\r\n public get topLeft(): ZoneDef | undefined { return this._topLeft; }\r\n /** @deprecated Use [[FrontstageDef.toolSettings]] instead. */\r\n public get topCenter(): ZoneDef | undefined { return this._topCenter; }\r\n /** @deprecated Use [[FrontstageDef.viewNavigation]] instead. */\r\n public get topRight(): ZoneDef | undefined { return this._topRight; }\r\n /** @deprecated Use [[FrontstageDef.leftPanel]] instead. */\r\n public get centerLeft(): ZoneDef | undefined { return this._centerLeft; }\r\n /** @deprecated Use [[FrontstageDef.rightPanel]] instead. */\r\n public get centerRight(): ZoneDef | undefined { return this._centerRight; }\r\n /** @deprecated Use [[FrontstageDef.leftPanel]] instead. */\r\n public get bottomLeft(): ZoneDef | undefined { return this._bottomLeft; }\r\n /** @deprecated Use [[FrontstageDef.statusBar]] instead. */\r\n public get bottomCenter(): ZoneDef | undefined { return this._bottomCenter; }\r\n /** @deprecated Use [[FrontstageDef.rightPanel]] instead. */\r\n public get bottomRight(): ZoneDef | undefined { return this._bottomRight; }\r\n\r\n /** @beta */\r\n public get toolSettings(): WidgetDef | undefined { return this.topCenter?.getSingleWidgetDef(); }\r\n /** @beta */\r\n public get statusBar(): WidgetDef | undefined { return this.bottomCenter?.getSingleWidgetDef(); }\r\n /** @beta */\r\n public get contentManipulation(): WidgetDef | undefined { return this.topLeft?.getSingleWidgetDef(); }\r\n /** @beta */\r\n public get viewNavigation(): WidgetDef | undefined { return this.topRight?.getSingleWidgetDef(); }\r\n\r\n /** @beta */\r\n public get topPanel(): StagePanelDef | undefined { return this._topPanel; }\r\n /** @beta\r\n * @deprecated Only topPanel is supported in UI 2.0 */\r\n public get topMostPanel(): StagePanelDef | undefined { return this._topMostPanel; }\r\n /** @beta */\r\n public get leftPanel(): StagePanelDef | undefined { return this._leftPanel; }\r\n /** @beta */\r\n public get rightPanel(): StagePanelDef | undefined { return this._rightPanel; }\r\n /** @beta */\r\n public get bottomPanel(): StagePanelDef | undefined { return this._bottomPanel; }\r\n /** @beta\r\n * @deprecated Only bottomPanel is supported in UI 2.0 */\r\n public get bottomMostPanel(): StagePanelDef | undefined { return this._bottomMostPanel; }\r\n\r\n public get contentLayoutDef(): ContentLayoutDef | undefined { return this._contentLayoutDef; }\r\n public get contentGroup(): ContentGroup | undefined { return this._contentGroup; }\r\n public get frontstageProvider(): FrontstageProvider | undefined { return this._frontstageProvider; }\r\n\r\n /** @internal */\r\n public get nineZone(): NineZoneManagerProps | undefined { return this._nineZone; } // istanbul ignore next\r\n public set nineZone(props: NineZoneManagerProps | undefined) { this._nineZone = props; }\r\n\r\n private toStagePanelLocation(side: PanelSide): StagePanelLocation {\r\n switch (side) {\r\n case \"bottom\":\r\n return StagePanelLocation.Bottom;\r\n case \"left\":\r\n return StagePanelLocation.Left;\r\n case \"right\":\r\n return StagePanelLocation.Right;\r\n case \"top\":\r\n return StagePanelLocation.Top;\r\n }\r\n }\r\n\r\n private populateStateMaps(nineZone: NineZoneState, panelMap: Map<StagePanelDef, StagePanelState>, widgetMap: Map<WidgetDef, WidgetState>) {\r\n for (const panelSide of panelSides) {\r\n const panel = nineZone.panels[panelSide];\r\n const location = this.toStagePanelLocation(panelSide);\r\n const panelDef = this.getStagePanelDef(location);\r\n if (panelDef) {\r\n const panelState = panel.collapsed ? StagePanelState.Minimized : StagePanelState.Open;\r\n panelMap.set(panelDef, panelState);\r\n }\r\n for (const widgetId of panel.widgets) {\r\n const widget = nineZone.widgets[widgetId];\r\n // istanbul ignore else\r\n if (widget) {\r\n for (const tabId of widget.tabs) {\r\n const widgetDef = this.findWidgetDef(tabId);\r\n if (widgetDef) {\r\n let widgetState = WidgetState.Open;\r\n if (widget.minimized || tabId !== widget.activeTabId)\r\n widgetState = WidgetState.Closed;\r\n widgetMap.set(widgetDef, widgetState);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // istanbul ignore next\r\n for (const widgetId of nineZone.floatingWidgets.allIds) {\r\n const widget = nineZone.widgets[widgetId];\r\n if (widget) {\r\n for (const tabId of widget.tabs) {\r\n const widgetDef = this.findWidgetDef(tabId);\r\n if (widgetDef) {\r\n let widgetState = WidgetState.Open;\r\n if (widget.minimized || tabId !== widget.activeTabId)\r\n widgetState = WidgetState.Closed;\r\n widgetMap.set(widgetDef, widgetState);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private triggerStateChangeEventForWidgetsAndPanels(state: NineZoneState | undefined) {\r\n // istanbul ignore else\r\n if (!(this._isStageClosing || this._isApplicationClosing)) {\r\n if (state) {\r\n const originalPanelStateMap = new Map<StagePanelDef, StagePanelState>();\r\n const originalWidgetStateMap = new Map<WidgetDef, WidgetState>();\r\n const newPanelStateMap = new Map<StagePanelDef, StagePanelState>();\r\n const newWidgetStateMap = new Map<WidgetDef, WidgetState>();\r\n this._nineZoneState && this.populateStateMaps(this._nineZoneState, originalPanelStateMap, originalWidgetStateMap);\r\n this.populateStateMaps(state, newPanelStateMap, newWidgetStateMap);\r\n\r\n // set internal state value before triggering events\r\n this._nineZoneState = state;\r\n\r\n // now walk and trigger set state events\r\n newWidgetStateMap.forEach((stateValue, widgetDef) => {\r\n const originalState = originalWidgetStateMap.get(widgetDef);\r\n if (originalState !== stateValue) {\r\n FrontstageManager.onWidgetStateChangedEvent.emit({ widgetDef, widgetState: stateValue });\r\n widgetDef.onWidgetStateChanged();\r\n }\r\n });\r\n newPanelStateMap.forEach((stateValue, panelDef) => {\r\n const originalState = originalPanelStateMap.get(panelDef);\r\n if (originalState !== stateValue) {\r\n FrontstageManager.onPanelStateChangedEvent.emit({\r\n panelDef,\r\n panelState: stateValue,\r\n });\r\n }\r\n });\r\n } else {\r\n this._nineZoneState = state;\r\n }\r\n }\r\n }\r\n\r\n /** @internal */\r\n public get nineZoneState(): NineZoneState | undefined { return this._nineZoneState; }\r\n public set nineZoneState(state: NineZoneState | undefined) {\r\n if (this._nineZoneState === state)\r\n return;\r\n\r\n if (\"1\" === UiFramework.uiVersion || !this._nineZoneState) {\r\n this._nineZoneState = state;\r\n } else {\r\n this.triggerStateChangeEventForWidgetsAndPanels(state);\r\n }\r\n\r\n // istanbul ignore next - don't trigger any side effects until stage \"isReady\"\r\n if (!(this._isStageClosing || this._isApplicationClosing) || this.isReady) {\r\n FrontstageManager.onFrontstageNineZoneStateChangedEvent.emit({\r\n frontstageDef: this,\r\n state,\r\n });\r\n }\r\n }\r\n\r\n /** @internal */\r\n public get savedWidgetDefs() { return this._savedWidgetDefs; }\r\n public set savedWidgetDefs(widgets: SavedWidgets | undefined) {\r\n this._savedWidgetDefs = widgets;\r\n }\r\n\r\n /** @internal */\r\n public get timeTracker(): TimeTracker { return this._timeTracker; }\r\n\r\n /** Created a [[FrontstageDef]] and initialize it */\r\n public static async create(provider: FrontstageProvider) {\r\n const def = new FrontstageDef();\r\n def._frontstageProvider = provider;\r\n\r\n if (provider.frontstageConfig) {\r\n const config = provider.frontstageConfig();\r\n const props = toFrontstageProps(config);\r\n await def.initializeFromProps(props);\r\n } else {\r\n await def.initializeFromProps(provider.frontstage.props);\r\n }\r\n\r\n return def;\r\n }\r\n\r\n /** Handles when the Frontstage becomes activated */\r\n protected async _onActivated() { }\r\n\r\n /** Handles when the Frontstage becomes activated */\r\n public async onActivated() {\r\n this.updateWidgetDefs();\r\n\r\n const provider = this._contentGroupProvider;\r\n if (provider && this._initialProps) {\r\n if (provider.contentGroup) {\r\n const config = toFrontstageConfig(this._initialProps);\r\n this._contentGroup = await provider.contentGroup(config);\r\n } else {\r\n this._contentGroup = await provider.provideContentGroup(this._initialProps);\r\n }\r\n }\r\n\r\n // istanbul ignore next\r\n if (!this._contentGroup)\r\n throw new UiError(UiFramework.loggerCategory(this), `onActivated: Content Group not defined`);\r\n\r\n this._contentLayoutDef = ContentLayoutManager.getLayoutForGroup(this._contentGroup);\r\n FrontstageManager.onContentLayoutActivatedEvent.emit({ contentLayout: this._contentLayoutDef, contentGroup: this._contentGroup });\r\n\r\n this._timeTracker.startTiming();\r\n await this._onActivated();\r\n }\r\n\r\n /** Handles when the Frontstage becomes inactive */\r\n protected async _onDeactivated() { }\r\n\r\n /** Handles when the Frontstage becomes inactive */\r\n public async onDeactivated() {\r\n for (const control of this._widgetControls) {\r\n control.onFrontstageDeactivated();\r\n }\r\n\r\n for (const control of this.contentControls) {\r\n control.onFrontstageDeactivated();\r\n }\r\n\r\n // istanbul ignore else\r\n if (this.contentGroup)\r\n this.contentGroup.onFrontstageDeactivated();\r\n // istanbul ignore next\r\n if (this.contentGroupProvider)\r\n await this.contentGroupProvider.onFrontstageDeactivated();\r\n\r\n this._timeTracker.stopTiming();\r\n\r\n this._isStageClosing = true; // this keeps widgets in child windows from automatically re-docking\r\n UiFramework.childWindowManager.closeAllChildWindows();\r\n\r\n if (this._floatingContentControls) {\r\n ContentDialogManager.closeAll();\r\n this._floatingContentControls = undefined;\r\n }\r\n\r\n await this._onDeactivated();\r\n this._isStageClosing = false;\r\n }\r\n\r\n /** @internal */\r\n public setIsApplicationClosing(value: boolean) {\r\n this._isApplicationClosing = value;\r\n }\r\n\r\n /** Returns once the contained widgets and content controls are ready to use */\r\n public async waitUntilReady(): Promise<void> {\r\n this._isReady = false;\r\n // create an array of control-ready promises\r\n const controlReadyPromises = new Array<Promise<void>>();\r\n this._widgetControls.forEach((control: WidgetControl) => {\r\n controlReadyPromises.push(control.isReady);\r\n });\r\n\r\n // istanbul ignore else\r\n if (this.contentLayoutDef) {\r\n const usedContentIndexes = this.contentLayoutDef.getUsedContentIndexes();\r\n this.contentControls.forEach((control: ContentControl, index: number) => {\r\n // istanbul ignore else\r\n if (usedContentIndexes.includes(index))\r\n controlReadyPromises.push(control.isReady);\r\n });\r\n }\r\n\r\n await Promise.all(controlReadyPromises);\r\n // Frontstage ready\r\n this._isReady = true;\r\n }\r\n\r\n /** Handles when the Frontstage becomes active */\r\n protected _onFrontstageReady(): void { }\r\n\r\n /** Handles when the Frontstage becomes active */\r\n public onFrontstageReady(): void {\r\n for (const control of this._widgetControls) {\r\n control.onFrontstageReady();\r\n }\r\n\r\n for (const control of this.contentControls) {\r\n control.onFrontstageReady();\r\n }\r\n\r\n // istanbul ignore else\r\n if (this.contentGroup)\r\n this.contentGroup.onFrontstageReady();\r\n\r\n this._onFrontstageReady();\r\n }\r\n\r\n /** Starts the default tool for the Frontstage.\r\n * @deprecated\r\n */\r\n public startDefaultTool(): void {\r\n // Start the default tool\r\n // istanbul ignore next\r\n if (IModelApp.toolAdmin && IModelApp.viewManager) {\r\n if (this.defaultTool) {\r\n IModelApp.toolAdmin.defaultToolId = this.defaultTool.toolId;\r\n this.defaultTool.execute();\r\n } else {\r\n IModelApp.toolAdmin.startDefaultTool(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n }\r\n\r\n /** Sets the Content Layout and Content Group */\r\n public setContentLayoutAndGroup(contentLayoutDef: ContentLayoutDef, contentGroup: ContentGroup): void {\r\n this._contentLayoutDef = contentLayoutDef;\r\n this._contentGroup = contentGroup;\r\n }\r\n\r\n /** Sets the active view content control to the default or first */\r\n public async setActiveContent(): Promise<boolean> {\r\n let contentControl: ContentControl | undefined;\r\n let activated = false;\r\n\r\n if (this.contentGroup && this.defaultContentId) {\r\n contentControl = this.contentGroup.getContentControlById(this.defaultContentId);\r\n }\r\n\r\n // istanbul ignore else\r\n if (!contentControl && this.contentControls.length >= 0) {\r\n contentControl = this.contentControls[0];\r\n }\r\n\r\n if (contentControl) {\r\n ContentViewManager.setActiveContent(contentControl.reactNode, true);\r\n if (contentControl.viewport) {\r\n const status = await IModelApp.viewManager.setSelectedView(contentControl.viewport);\r\n activated = status === BentleyStatus.SUCCESS;\r\n }\r\n }\r\n\r\n return activated;\r\n }\r\n\r\n /** Sets the active view content control */\r\n public setActiveView(newContent: ContentControl, oldContent?: ContentControl): void {\r\n if (oldContent)\r\n oldContent.onDeactivated();\r\n newContent.onActivated();\r\n FrontstageManager.onContentControlActivatedEvent.emit({ activeContentControl: newContent, oldContentControl: oldContent });\r\n }\r\n\r\n /** Sets the active view content control based on the selected viewport. */\r\n public setActiveViewFromViewport(viewport: ScreenViewport): boolean {\r\n const contentControl = this.contentControls.find((control: ContentControl) => control.viewport === viewport);\r\n // istanbul ignore else\r\n if (contentControl) {\r\n ContentViewManager.setActiveContent(contentControl.reactNode, true);\r\n return true;\r\n }\r\n\r\n // istanbul ignore next\r\n return false;\r\n }\r\n\r\n /** Gets a [[ZoneDef]] based on a given zone id.\r\n * @deprecated UI1.0 is deprecated.\r\n */\r\n public getZoneDef(zoneId: number): ZoneDef | undefined {\r\n let zoneDef;\r\n\r\n switch (zoneId) {\r\n case 1:\r\n zoneDef = this.topLeft;\r\n break;\r\n case 2:\r\n zoneDef = this.topCenter;\r\n break;\r\n case 3:\r\n zoneDef = this.topRight;\r\n break;\r\n case 4:\r\n zoneDef = this.centerLeft;\r\n break;\r\n case 6:\r\n zoneDef = this.centerRight;\r\n break;\r\n case 7:\r\n zoneDef = this.bottomLeft;\r\n break;\r\n case 8:\r\n zoneDef = this.bottomCenter;\r\n break;\r\n case 9:\r\n zoneDef = this.bottomRight;\r\n break;\r\n // istanbul ignore next\r\n default:\r\n throw new RangeError();\r\n }\r\n\r\n // Zones can be undefined in a Frontstage\r\n\r\n return zoneDef;\r\n }\r\n\r\n /** Gets a list of [[ZoneDef]]s.\r\n * @deprecated UI1.0 is deprecated.\r\n */\r\n public get zoneDefs(): ZoneDef[] {\r\n const zones = [1, 2, 3, 4, 6, 7, 8, 9];\r\n const zoneDefs: ZoneDef[] = [];\r\n\r\n zones.forEach((zoneId) => {\r\n const zoneDef = this.getZoneDef(zoneId);\r\n if (zoneDef)\r\n zoneDefs.push(zoneDef);\r\n });\r\n\r\n return zoneDefs;\r\n }\r\n\r\n /** Gets a [[StagePanelDef]] based on a given panel location\r\n * @beta\r\n */\r\n public getStagePanelDef(location: StagePanelLocation): StagePanelDef | undefined {\r\n let panelDef: StagePanelDef | undefined;\r\n\r\n switch (location) {\r\n case StagePanelLocation.Top:\r\n panelDef = this.topPanel;\r\n break;\r\n case StagePanelLocation.TopMost:\r\n panelDef = this.topMostPanel; // eslint-disable-line deprecation/deprecation\r\n break;\r\n case StagePanelLocation.Left:\r\n panelDef = this.leftPanel;\r\n break;\r\n case StagePanelLocation.Right:\r\n panelDef = this.rightPanel;\r\n break;\r\n case StagePanelLocation.Bottom:\r\n panelDef = this.bottomPanel;\r\n break;\r\n case StagePanelLocation.BottomMost:\r\n panelDef = this.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 panelDef;\r\n }\r\n\r\n /** Gets a list of [[StagePanelDef]]s\r\n * @beta\r\n */\r\n public get panelDefs(): StagePanelDef[] {\r\n const panels = [\r\n StagePanelLocation.Left, StagePanelLocation.Right,\r\n StagePanelLocation.Top, StagePanelLocation.TopMost,\r\n StagePanelLocation.Bottom, StagePanelLocation.BottomMost,\r\n ];\r\n const panelDefs: StagePanelDef[] = [];\r\n\r\n panels.forEach((location: StagePanelLocation) => {\r\n const panelDef = this.getStagePanelDef(location);\r\n if (panelDef)\r\n panelDefs.push(panelDef);\r\n });\r\n\r\n return panelDefs;\r\n }\r\n\r\n /** Finds a [[WidgetDef]] based on a given id */\r\n public findWidgetDef(id: string): WidgetDef | undefined {\r\n for (const zoneDef of this.zoneDefs) {\r\n const widgetDef = zoneDef.findWidgetDef(id);\r\n if (widgetDef)\r\n return widgetDef;\r\n }\r\n\r\n for (const panelDef of this.panelDefs) {\r\n const widgetDef = panelDef.findWidgetDef(id);\r\n if (widgetDef)\r\n return widgetDef;\r\n }\r\n\r\n // istanbul ignore next\r\n return undefined;\r\n }\r\n\r\n /** Gets the list of [[WidgetControl]]s */\r\n private get _widgetControls(): WidgetControl[] {\r\n const widgetControls = new Array<WidgetControl>();\r\n\r\n this.zoneDefs.forEach((zoneDef: ZoneDef) => {\r\n zoneDef.widgetDefs.forEach((widgetDef: WidgetDef) => {\r\n const widgetControl = widgetDef.widgetControl;\r\n if (widgetControl)\r\n widgetControls.push(widgetControl);\r\n });\r\n });\r\n\r\n this.panelDefs.forEach((panelDef: StagePanelDef) => {\r\n panelDef.widgetDefs.forEach((widgetDef: WidgetDef) => {\r\n const widgetControl = widgetDef.widgetControl;\r\n // istanbul ignore if\r\n if (widgetControl)\r\n widgetControls.push(widgetControl);\r\n });\r\n });\r\n\r\n return widgetControls;\r\n }\r\n\r\n public addFloatingContentControl(contentControl?: ContentControl) {\r\n // istanbul ignore next\r\n if (!contentControl)\r\n return;\r\n if (!this._floatingContentControls)\r\n this._floatingContentControls = new Array<ContentControl>();\r\n\r\n this._floatingContentControls.push(contentControl);\r\n ContentViewManager.onAvailableContentChangedEvent.emit({ contentId: contentControl.uniqueId });\r\n }\r\n\r\n public dropFloatingContentControl(contentControl?: ContentControl) {\r\n // istanbul ignore next\r\n if (!contentControl || !this._floatingContentControls)\r\n return;\r\n\r\n const index = this._floatingContentControls.indexOf(contentControl);\r\n // istanbul ignore else\r\n if (index > -1) {\r\n this._floatingContentControls.splice(index, 1);\r\n ContentViewManager.onAvailableContentChangedEvent.emit({ contentId: contentControl.uniqueId });\r\n }\r\n }\r\n\r\n /** Gets the list of [[ContentControl]]s */\r\n public get contentControls(): ContentControl[] {\r\n const contentControls = new Array<ContentControl>();\r\n // istanbul ignore else\r\n if (this.contentGroup) {\r\n contentControls.push(...this.contentGroup.getContentControls());\r\n }\r\n if (this._floatingContentControls) {\r\n contentControls.push(...this._floatingContentControls);\r\n }\r\n return contentControls;\r\n }\r\n\r\n /** Initializes a FrontstageDef from FrontstageProps\r\n * @internal\r\n */\r\n public async initializeFromProps(props: FrontstageProps): Promise<void> {\r\n this._id = props.id;\r\n this._initialProps = props;\r\n this._defaultTool = props.defaultTool as FrontstageProps[\"defaultTool\"] | undefined; // Might be `undefined`, see `toFrontstageProps`.\r\n\r\n if (props.defaultContentId !== undefined)\r\n this._defaultContentId = props.defaultContentId;\r\n\r\n if (props.contentGroup instanceof ContentGroupProvider) {\r\n this._contentGroupProvider = props.contentGroup;\r\n } else {\r\n this._contentGroup = props.contentGroup;\r\n }\r\n\r\n if (props.isInFooterMode !== undefined)\r\n this._isInFooterMode = props.isInFooterMode;\r\n this._applicationData = props.applicationData;\r\n\r\n this._usage = props.usage;\r\n this._version = props.version || 0;\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._topLeft = Frontstage.createZoneDef(props.contentManipulationTools ? props.contentManipulationTools : props.topLeft, ZoneLocation.TopLeft, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._topCenter = Frontstage.createZoneDef(props.toolSettings ? props.toolSettings : props.topCenter, ZoneLocation.TopCenter, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._topRight = Frontstage.createZoneDef(props.viewNavigationTools ? /* istanbul ignore next */ props.viewNavigationTools : props.topRight, ZoneLocation.TopRight, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._centerLeft = Frontstage.createZoneDef(props.centerLeft, ZoneLocation.CenterLeft, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._centerRight = Frontstage.createZoneDef(props.centerRight, ZoneLocation.CenterRight, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._bottomLeft = Frontstage.createZoneDef(props.bottomLeft, ZoneLocation.BottomLeft, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._bottomCenter = Frontstage.createZoneDef(props.statusBar ? props.statusBar : props.bottomCenter, ZoneLocation.BottomCenter, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._bottomRight = Frontstage.createZoneDef(props.bottomRight, ZoneLocation.BottomRight, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n\r\n this._topPanel = Frontstage.createStagePanelDef(StagePanelLocation.Top, props);\r\n this._topMostPanel = Frontstage.createStagePanelDef(StagePanelLocation.TopMost, props);\r\n this._leftPanel = Frontstage.createStagePanelDef(StagePanelLocation.Left, props);\r\n this._rightPanel = Frontstage.createStagePanelDef(StagePanelLocation.Right, props);\r\n this._bottomPanel = Frontstage.createStagePanelDef(StagePanelLocation.Bottom, props);\r\n this._bottomMostPanel = Frontstage.createStagePanelDef(StagePanelLocation.BottomMost, props);\r\n }\r\n\r\n /** @internal */\r\n public updateWidgetDefs(): void {\r\n // Tracks provided widgets to prevent duplicates.\r\n const allStageWidgetDefs: WidgetDef[] = [];\r\n\r\n // Process panels before zones so in uiVersion=\"2\" extension can explicitly target a widget for a StagePanelSection\r\n this.panelDefs.forEach((stagePanelDef: StagePanelDef) => {\r\n stagePanelDef.updateDynamicWidgetDefs(this.id, this.usage, stagePanelDef.location, undefined, allStageWidgetDefs, this.applicationData);\r\n });\r\n\r\n this.zoneDefs.forEach((zoneDef: ZoneDef) => {\r\n zoneDef.updateDynamicWidgetDefs(this.id, this.usage, zoneDef.zoneLocation, undefined, allStageWidgetDefs, this.applicationData);\r\n });\r\n }\r\n\r\n /** @beta */\r\n public restoreLayout() {\r\n for (const panelDef of this.panelDefs) {\r\n panelDef.size = panelDef.defaultSize;\r\n panelDef.panelState = panelDef.defaultState;\r\n }\r\n for (const widgetDef of this.widgetDefs) {\r\n widgetDef.setWidgetState(widgetDef.defaultState);\r\n }\r\n FrontstageManager.onFrontstageRestoreLayoutEvent.emit({ frontstageDef: this });\r\n }\r\n\r\n /** Used only in UI 2.0 to determine WidgetState from NinezoneState\r\n * @internal\r\n */\r\n public getWidgetCurrentState(widgetDef: WidgetDef): WidgetState | undefined {\r\n // istanbul ignore else\r\n if (this.nineZoneState) {\r\n const location = getTabLocation(this.nineZoneState, widgetDef.id);\r\n // istanbul ignore next\r\n if (!location)\r\n return WidgetState.Hidden;\r\n\r\n if (isFloatingTabLocation(location)) {\r\n const floatingWidget = this.nineZoneState.floatingWidgets.byId[location.floatingWidgetId];\r\n if (floatingWidget && floatingWidget.hidden)\r\n return WidgetState.Hidden;\r\n else\r\n return WidgetState.Floating;\r\n }\r\n\r\n let collapsedPanel = false;\r\n // istanbul ignore else\r\n if (\"side\" in location) {\r\n const panel = this.nineZoneState.panels[location.side];\r\n collapsedPanel = panel.collapsed || undefined === panel.size || 0 === panel.size;\r\n }\r\n const widgetContainer = this.nineZoneState.widgets[location.widgetId];\r\n if (widgetDef.id === widgetContainer.activeTabId && !collapsedPanel)\r\n return WidgetState.Open;\r\n else\r\n return WidgetState.Closed;\r\n }\r\n return widgetDef.defaultState;\r\n }\r\n\r\n /** Used only in UI 2.0 to determine StagePanelState and size from NinezoneState\r\n * @internal\r\n */\r\n public getPanelCurrentState(panelDef: StagePanelDef): [StagePanelState, number] {\r\n // istanbul ignore next\r\n if (this.nineZoneState) {\r\n const side = toPanelSide(panelDef.location);\r\n const panel = this.nineZoneState.panels[side];\r\n if (panel)\r\n return [panel.collapsed ? StagePanelState.Minimized : StagePanelState.Open, panel.size ?? 0];\r\n return [StagePanelState.Off, 0];\r\n }\r\n return [panelDef.defaultState, panelDef.defaultSize ?? 0];\r\n }\r\n\r\n public isPopoutWidget(widgetId: string) {\r\n // istanbul ignore else\r\n if (this.nineZoneState) {\r\n const location = getTabLocation(this.nineZoneState, widgetId);\r\n // istanbul ignore else\r\n if (location)\r\n return isPopoutTabLocation(location);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public isFloatingWidget(widgetId: string) {\r\n // istanbul ignore else\r\n if (this.nineZoneState) {\r\n const location = getTabLocation(this.nineZoneState, widgetId);\r\n // istanbul ignore else\r\n if (location)\r\n return isFloatingTabLocation(location);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** Create a new floating panel that contains the widget specified by its Id. Supported only when in\r\n * UI 2.0 or higher.\r\n * @param widgetId case sensitive Widget Id\r\n * @param point Position of top left corner of floating panel in pixels. If undefined {x:50, y:100} is used.\r\n * @param size defines the width and height of the floating panel. If undefined and widget has been floated before\r\n * the previous size is used, else {height:400, width:400} is used.\r\n * @beta\r\n */\r\n public floatWidget(widgetId: string, point?: PointProps, size?: SizeProps) {\r\n // istanbul ignore else\r\n if (this.nineZoneState) {\r\n const location = getTabLocation(this.nineZoneState, widgetId);\r\n if (location) {\r\n let popoutWidgetContainerId: string | undefined;\r\n if (isPopoutTabLocation(location)) {\r\n popoutWidgetContainerId = location.popoutWidgetId;\r\n }\r\n const state = floatWidget(this.nineZoneState, widgetId, point, size);\r\n // istanbul ignore else\r\n if (state) {\r\n this.nineZoneState = state;\r\n setTimeout(() => {\r\n popoutWidgetContainerId && UiFramework.childWindowManager.closeChildWindow(popoutWidgetContainerId, true);\r\n }, 600);\r\n }\r\n }\r\n }\r\n }\r\n /** Check widget and panel state to determine whether the widget is currently displayed\r\n * @param widgetId case-sensitive Widget Id\r\n * @public\r\n */\r\n public isWidgetDisplayed(widgetId: string) {\r\n let widgetIsVisible = false;\r\n // istanbul ignore else\r\n if (this.nineZoneState) {\r\n const tabLocation = getTabLocation(this.nineZoneState, widgetId);\r\n // istanbul ignore else\r\n if (tabLocation) {\r\n if (isFloatingTabLocation(tabLocation)) {\r\n const floatingWidget = this.nineZoneState.floatingWidgets.byId[tabLocation.floatingWidgetId];\r\n // istanbul ignore else\r\n if (!!!floatingWidget.hidden)\r\n widgetIsVisible = true;\r\n } else if (isPopoutTabLocation(tabLocation)) {\r\n widgetIsVisible = true;\r\n } else {\r\n // istanbul ignore else\r\n if (isPanelTabLocation(tabLocation)) {\r\n const panel = this.nineZoneState.panels[tabLocation.side];\r\n const widgetDef = this.findWidgetDef(widgetId);\r\n if (widgetDef && widgetDef.state === WidgetState.Open && !panel.collapsed)\r\n widgetIsVisible = true;\r\n }\r\n }\r\n }\r\n }\r\n return widgetIsVisible;\r\n }\r\n\r\n /** Opens window for specified PopoutWidget container. Used to reopen popout when running in Electron.\r\n * @internal */\r\n public openPopoutWidgetContainer(state: NineZoneState, widgetContainerId: string) {\r\n const location = getWidgetLocation(state, widgetContainerId);\r\n // istanbul ignore next\r\n if (!location)\r\n return;\r\n // istanbul ignore next\r\n if (!isPopoutWidgetLocation(location))\r\n return;\r\n\r\n const widget = state.widgets[widgetContainerId];\r\n const popoutWidget = state.popoutWidgets.byId[location.popoutWidgetId];\r\n\r\n // Popout widget should only contain a single tab.\r\n // istanbul ignore next\r\n if (widget.tabs.length !== 1)\r\n return;\r\n\r\n const tabId = widget.tabs[0];\r\n const widgetDef = this.findWidgetDef(tabId);\r\n // istanbul ignore next\r\n if (!widgetDef)\r\n return;\r\n\r\n const popoutContent = (<PopoutWidget widgetContainerId={widgetContainerId} widgetDef={widgetDef} />);\r\n const bounds = Rectangle.create(popoutWidget.bounds);\r\n\r\n const position: ChildWindowLocationProps = {\r\n width: bounds.getWidth(),\r\n height: bounds.getHeight(),\r\n left: bounds.left,\r\n top: bounds.top,\r\n };\r\n UiFramework.childWindowManager.openChildWindow(widgetContainerId, widgetDef.label, popoutContent, position, UiFramework.useDefaultPopoutUrl);\r\n }\r\n\r\n /** Create a new popout/child window that contains the widget specified by its Id. Supported only when in\r\n * UI 2.0 or higher.\r\n * @param widgetId case sensitive Widget Id\r\n * @param point Position of top left corner of floating panel in pixels. If undefined {x:0, y:0} is used.\r\n * @param size defines the width and height of the floating panel. If undefined and widget has been floated before\r\n * the previous size is used, else {height:800, width:600} is used.\r\n * @beta\r\n */\r\n public popoutWidget(widgetId: string, point?: PointProps, size?: SizeProps) {\r\n // istanbul ignore next\r\n if (!this.nineZoneState)\r\n return;\r\n\r\n let location = getTabLocation(this.nineZoneState, widgetId);\r\n if (!location || isPopoutTabLocation(location))\r\n return;\r\n\r\n const widgetDef = this.findWidgetDef(widgetId);\r\n // istanbul ignore next\r\n if (!widgetDef)\r\n return;\r\n\r\n // get the state to apply that will pop-out the specified WidgetTab to child window.\r\n let preferredBounds = Rectangle.createFromSize({ height: 800, width: 600 });\r\n // istanbul ignore next\r\n if (widgetDef.popoutBounds)\r\n preferredBounds = widgetDef.popoutBounds;\r\n if (size)\r\n preferredBounds = preferredBounds.setSize(size);\r\n if (point)\r\n preferredBounds = preferredBounds.setPosition(point);\r\n\r\n const state = popoutWidgetToChildWindow(this.nineZoneState, widgetId, preferredBounds);\r\n this.nineZoneState = state;\r\n\r\n // now that the state is updated get the id of the container that houses the widgetTab/widgetId\r\n location = getTabLocation(state, widgetId);\r\n assert(!!location && isPopoutTabLocation(location));\r\n\r\n const widgetContainerId = location.widgetId;\r\n const popoutWidget = state.popoutWidgets.byId[widgetContainerId];\r\n const bounds = Rectangle.create(popoutWidget.bounds);\r\n\r\n setTimeout(() => {\r\n const popoutContent = (<PopoutWidget widgetContainerId={widgetContainerId} widgetDef={widgetDef} />);\r\n const position: ChildWindowLocationProps = {\r\n width: bounds.getWidth(),\r\n height: bounds.getHeight(),\r\n left: bounds.left,\r\n top: bounds.top,\r\n };\r\n UiFramework.childWindowManager.openChildWindow(widgetContainerId, widgetDef.label, popoutContent, position, UiFramework.useDefaultPopoutUrl);\r\n });\r\n }\r\n\r\n public get isStageClosing() {\r\n return this._isStageClosing;\r\n }\r\n\r\n public get isApplicationClosing() {\r\n return this._isApplicationClosing;\r\n }\r\n\r\n public get isReady() {\r\n return this._isReady;\r\n }\r\n\r\n /** @internal */\r\n public saveChildWindowSizeAndPosition(childWindowId: string, childWindow: Window) {\r\n if (!this.nineZoneState)\r\n return;\r\n\r\n const location = getWidgetLocation(this.nineZoneState, childWindowId);\r\n if (!location || !isPopoutWidgetLocation(location))\r\n return;\r\n\r\n const widget = this.nineZoneState.widgets[location.popoutWidgetId];\r\n const tabId = widget.tabs[0];\r\n const widgetDef = this.findWidgetDef(tabId);\r\n if (!widgetDef)\r\n return;\r\n\r\n const adjustmentWidth = ProcessDetector.isElectronAppFrontend ? 16 : 0;\r\n const adjustmentHeight = ProcessDetector.isElectronAppFrontend ? 39 : 0;\r\n\r\n const width = childWindow.innerWidth + adjustmentWidth;\r\n const height = childWindow.innerHeight + adjustmentHeight;\r\n const bounds = Rectangle.createFromSize({ width, height }).offset({ x: childWindow.screenX, y: childWindow.screenY });\r\n widgetDef.popoutBounds = bounds;\r\n }\r\n\r\n /** Method used to possibly change a Popout Widget back to a docked widget if the user was the one closing the popout's child\r\n * window (i.e. UiFramework.childWindowManager.isClosingChildWindow === false).\r\n * @internal\r\n */\r\n public dockPopoutWidgetContainer(widgetContainerId: string) {\r\n if (!this.nineZoneState)\r\n return;\r\n\r\n // Make sure the widgetContainerId is still in popout state. We don't want to set it to docked if the window is being closed because\r\n // an API call has moved the widget from a popout state to a floating state.\r\n // istanbul ignore else\r\n const location = getWidgetLocation(this.nineZoneState, widgetContainerId);\r\n if (!location || !isPopoutWidgetLocation(location))\r\n return;\r\n\r\n const state = dockWidgetContainer(this.nineZoneState, widgetContainerId, true);\r\n this.nineZoneState = state;\r\n }\r\n\r\n /** Finds the container with the specified widget and re-docks all widgets\r\n * back to the panel zone location that was used when the floating container\r\n * was generated. Supported only when in UI 2.0 or higher.\r\n * @param widgetId case sensitive Widget Id.\r\n * @beta\r\n */\r\n public dockWidgetContainer(widgetId: string) {\r\n // istanbul ignore else\r\n if (this.nineZoneState) {\r\n const location = getTabLocation(this.nineZoneState, widgetId);\r\n if (location) {\r\n const widgetContainerId = location.widgetId;\r\n const state = dockWidgetContainer(this.nineZoneState, widgetContainerId, true);\r\n state && (this.nineZoneState = state);\r\n if (isPopoutTabLocation(location)) {\r\n UiFramework.childWindowManager.closeChildWindow(location.widgetId, true);\r\n }\r\n }\r\n }\r\n }\r\n\r\n public setFloatingWidgetContainerBounds(floatingWidgetId: string, bounds: RectangleProps) {\r\n if (!this.nineZoneState || !(floatingWidgetId in this.nineZoneState.floatingWidgets.byId))\r\n return false;\r\n\r\n let state = FrameworkStateReducer(this.nineZoneState, {\r\n type: \"FLOATING_WIDGET_SET_BOUNDS\",\r\n id: floatingWidgetId,\r\n bounds,\r\n }, this);\r\n state = FrameworkStateReducer(state, {\r\n type: \"FLOATING_WIDGET_SET_USER_SIZED\",\r\n id: floatingWidgetId,\r\n userSized: true,\r\n }, this);\r\n this.nineZoneState = state;\r\n return true;\r\n }\r\n\r\n public getFloatingWidgetContainerIds(): string[] {\r\n if (!this.nineZoneState)\r\n return [];\r\n\r\n return [...this.nineZoneState.floatingWidgets.allIds];\r\n }\r\n\r\n public getFloatingWidgetContainerIdByWidgetId(widgetId: string): string | undefined {\r\n if (!this.nineZoneState)\r\n return undefined;\r\n\r\n const location = getTabLocation(this.nineZoneState, widgetId);\r\n // istanbul ignore else\r\n if (location && isFloatingTabLocation(location)) {\r\n return location.floatingWidgetId;\r\n }\r\n // istanbul ignore next\r\n return undefined;\r\n }\r\n\r\n public getFloatingWidgetContainerBounds(floatingWidgetId: string | undefined) {\r\n if (!floatingWidgetId)\r\n return undefined;\r\n\r\n // istanbul ignore else\r\n if (this.nineZoneState && (floatingWidgetId in this.nineZoneState.floatingWidgets.byId)) {\r\n const foundWidget = document.querySelector(`div.nz-widget-floatingWidget[data-widget-id='${floatingWidgetId}']`);\r\n // istanbul ignore next\r\n if (foundWidget) {\r\n const domRect = foundWidget.getBoundingClientRect();\r\n return { left: domRect.left, right: domRect.right, top: domRect.top, bottom: domRect.bottom };\r\n }\r\n return this.nineZoneState.floatingWidgets.byId[floatingWidgetId].bounds;\r\n }\r\n return undefined;\r\n }\r\n\r\n private *_widgetDefs(): Iterator<WidgetDef> {\r\n for (const zoneDef of this.zoneDefs) {\r\n for (const widgetDef of zoneDef.widgetDefs) {\r\n yield widgetDef;\r\n }\r\n }\r\n for (const panelDef of this.panelDefs) {\r\n for (const widgetDef of panelDef.widgetDefs) {\r\n yield widgetDef;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Iterable of all widget definitions in a frontstage.\r\n * @internal\r\n */\r\n public get widgetDefs() {\r\n const defs = this._widgetDefs();\r\n return {\r\n [Symbol.iterator]() {\r\n return defs;\r\n },\r\n };\r\n }\r\n}\r\n\r\nfunction toFrontstageProps(config: FrontstageConfig): FrontstageProps {\r\n const { contentManipulation, viewNavigation, toolSettings, statusBar, topPanel, leftPanel, bottomPanel, rightPanel, ...other } = config;\r\n const props: FrontstageProps = {\r\n ...other,\r\n defaultTool: undefined as any, // importing `ToolItemDef` causes a runtime circular dependency issue. We'll fall back to `IModelApp.toolAdmin.defaultToolId` instead.\r\n toolSettings: toolSettings ? toZoneElement(toolSettings) : undefined,\r\n statusBar: statusBar ? toZoneElement(statusBar) : undefined,\r\n contentManipulationTools: contentManipulation ? toZoneElement(contentManipulation) : undefined,\r\n viewNavigationTools: viewNavigation ? toZoneElement(viewNavigation) : undefined,\r\n topPanel: topPanel ? toStagePanelElement(topPanel) : undefined,\r\n leftPanel: leftPanel ? toStagePanelElement(leftPanel) : undefined,\r\n bottomPanel: bottomPanel ? toStagePanelElement(bottomPanel) : undefined,\r\n rightPanel: rightPanel ? toStagePanelElement(rightPanel) : undefined,\r\n };\r\n return props;\r\n}\r\n\r\nfunction toWidgetElement(config: WidgetConfig): React.ReactElement<WidgetProps> {\r\n return (\r\n <Widget key={config.id} {...config} />\r\n );\r\n}\r\n\r\nfunction toZoneElement(config: WidgetConfig): React.ReactElement<ZoneProps> {\r\n return (\r\n <Zone widgets={[\r\n toWidgetElement(config),\r\n ]} />\r\n );\r\n}\r\n\r\nfunction toStagePanelElement(config: StagePanelConfig): React.ReactElement<StagePanelProps> {\r\n const { sections, ...other } = config;\r\n const startWidgets = sections?.start?.map((widget) => toWidgetElement(widget));\r\n const endWidgets = sections?.end?.map((widget) => toWidgetElement(widget));\r\n const panelZones: StagePanelZonesProps = {};\r\n if (startWidgets)\r\n panelZones.start = {\r\n widgets: startWidgets,\r\n };\r\n if (endWidgets)\r\n panelZones.end = {\r\n widgets: endWidgets,\r\n };\r\n return (\r\n <StagePanel\r\n panelZones={panelZones}\r\n {...other}\r\n />\r\n );\r\n}\r\n\r\nlet widgetConfigId = 0;\r\nfunction toWidgetConfig(widget: React.ReactElement<WidgetProps>): WidgetConfig {\r\n const props = widget.props;\r\n return {\r\n ...props,\r\n id: props.id ? props.id : `widget-config-${++widgetConfigId}`,\r\n };\r\n}\r\n\r\nfunction toWidgetConfigFromZone(zone: React.ReactElement<ZoneProps>): WidgetConfig | undefined {\r\n const widgets = zone.props.widgets;\r\n if (!widgets || widgets.length === 0)\r\n return undefined;\r\n const widget = widgets[0];\r\n return toWidgetConfig(widget);\r\n}\r\n\r\nfunction toPanelConfig(panel: React.ReactElement<StagePanelProps>) {\r\n const props = panel.props;\r\n const { panelZones, ...other } = props;\r\n const start = panelZones?.start?.widgets?.map((w) => toWidgetConfig(w));\r\n const end = panelZones?.end?.widgets?.map((w) => toWidgetConfig(w));\r\n const config: StagePanelConfig = {\r\n ...other,\r\n sections: {\r\n start,\r\n end,\r\n },\r\n };\r\n return config;\r\n}\r\n\r\nfunction toFrontstageConfig(props: FrontstageProps) {\r\n const { contentManipulationTools, viewNavigationTools, toolSettings, statusBar, topPanel, leftPanel, bottomPanel, rightPanel, ...other } = props;\r\n const config: FrontstageConfig = {\r\n ...other,\r\n version: props.version || 0,\r\n contentManipulation: contentManipulationTools ? toWidgetConfigFromZone(contentManipulationTools) : undefined,\r\n viewNavigation: viewNavigationTools ? toWidgetConfigFromZone(viewNavigationTools) : undefined,\r\n toolSettings: toolSettings ? toWidgetConfigFromZone(toolSettings) : undefined,\r\n statusBar: statusBar ? toWidgetConfigFromZone(statusBar) : undefined,\r\n topPanel: topPanel ? toPanelConfig(topPanel) : undefined,\r\n leftPanel: leftPanel ? toPanelConfig(leftPanel) : undefined,\r\n bottomPanel: bottomPanel ? toPanelConfig(bottomPanel) : undefined,\r\n rightPanel: rightPanel ? toPanelConfig(rightPanel) : undefined,\r\n };\r\n return config;\r\n}\r\n"]}
1
+ {"version":3,"file":"FrontstageDef.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageDef.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/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\n\r\n// cSpell:ignore popout\r\n\r\nimport * as React from \"react\";\r\nimport { IModelApp, ScreenViewport } from \"@itwin/core-frontend\";\r\nimport { PointProps, StagePanelLocation, StageUsage, UiError, WidgetState } from \"@itwin/appui-abstract\";\r\nimport { Rectangle, RectangleProps, SizeProps } from \"@itwin/core-react\";\r\nimport {\r\n dockWidgetContainer,\r\n floatWidget, getTabLocation, getWidgetLocation, isFloatingTabLocation, isPanelTabLocation, isPopoutTabLocation, isPopoutWidgetLocation,\r\n NineZoneManagerProps, NineZoneState, PanelSide, panelSides, popoutWidgetToChildWindow,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { ContentControl } from \"../content/ContentControl\";\r\nimport { ContentGroup, ContentGroupProvider } from \"../content/ContentGroup\";\r\nimport { ContentLayoutDef } from \"../content/ContentLayout\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { StagePanelDef, StagePanelState, toPanelSide } from \"../stagepanels/StagePanelDef\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { WidgetControl } from \"../widgets/WidgetControl\";\r\nimport { WidgetDef } from \"../widgets/WidgetDef\";\r\nimport { Zone, ZoneLocation, ZoneProps } from \"../zones/Zone\";\r\nimport { ZoneDef } from \"../zones/ZoneDef\";\r\nimport { Frontstage, FrontstageProps } from \"./Frontstage\";\r\nimport { FrontstageProvider } from \"./FrontstageProvider\";\r\nimport { TimeTracker } from \"../configurableui/TimeTracker\";\r\nimport { ChildWindowLocationProps } from \"../framework/FrameworkChildWindows\";\r\nimport { PopoutWidget } from \"../childwindow/PopoutWidget\";\r\nimport { FrameworkStateReducer, SavedWidgets } from \"../widget-panels/Frontstage\";\r\nimport { assert, BentleyStatus, ProcessDetector } from \"@itwin/core-bentley\";\r\nimport { FrontstageConfig } from \"./FrontstageConfig\";\r\nimport { Widget } from \"../widgets/Widget\";\r\nimport { WidgetConfig } from \"../widgets/WidgetConfig\";\r\nimport { StagePanel, StagePanelProps, StagePanelZonesProps } from \"../stagepanels/StagePanel\";\r\nimport { StagePanelConfig } from \"../stagepanels/StagePanelConfig\";\r\nimport { WidgetProps } from \"../widgets/WidgetProps\";\r\nimport { InternalFrontstageManager } from \"./InternalFrontstageManager\";\r\nimport { InternalContentDialogManager } from \"../dialog/InternalContentDialogManager\";\r\n\r\n/** @internal */\r\nexport interface FrontstageEventArgs {\r\n frontstageDef: FrontstageDef;\r\n}\r\n\r\n/** @internal */\r\nexport interface FrontstageNineZoneStateChangedEventArgs extends FrontstageEventArgs {\r\n state: NineZoneState | undefined;\r\n}\r\n\r\n/** FrontstageDef class provides an API for a Frontstage.\r\n * @public\r\n */\r\nexport class FrontstageDef {\r\n private _id: string = \"\";\r\n private _initialProps?: FrontstageProps;\r\n private _defaultTool?: ToolItemDef;\r\n private _defaultContentId: string = \"\";\r\n private _isInFooterMode: boolean = true;\r\n private _isStageClosing = false;\r\n private _isReady = false;\r\n private _isApplicationClosing = false;\r\n private _applicationData?: any;\r\n private _usage?: string;\r\n private _version: number = 0;\r\n private _topLeft?: ZoneDef;\r\n private _topCenter?: ZoneDef;\r\n private _topRight?: ZoneDef;\r\n private _centerLeft?: ZoneDef;\r\n private _centerRight?: ZoneDef;\r\n private _bottomLeft?: ZoneDef;\r\n private _bottomCenter?: ZoneDef;\r\n private _bottomRight?: ZoneDef;\r\n private _topPanel?: StagePanelDef;\r\n private _topMostPanel?: StagePanelDef;\r\n private _leftPanel?: StagePanelDef;\r\n private _rightPanel?: StagePanelDef;\r\n private _bottomPanel?: StagePanelDef;\r\n private _bottomMostPanel?: StagePanelDef;\r\n private _contentLayoutDef?: ContentLayoutDef;\r\n private _contentGroup?: ContentGroup;\r\n private _frontstageProvider?: FrontstageProvider;\r\n private _nineZone?: NineZoneManagerProps;\r\n private _timeTracker: TimeTracker = new TimeTracker();\r\n private _nineZoneState?: NineZoneState;\r\n private _contentGroupProvider?: ContentGroupProvider;\r\n private _floatingContentControls?: ContentControl[];\r\n private _savedWidgetDefs?: SavedWidgets;\r\n\r\n public get id(): string { return this._id; }\r\n /** @deprecated in 3.6. UI 1.0 will be removed in AppUi 4.0.*/\r\n public get defaultTool(): ToolItemDef | undefined { return this._defaultTool; }\r\n /** @deprecated in 3.6. UI 1.0 will be removed in AppUi 4.0.*/\r\n public get defaultContentId(): string { return this._defaultContentId; }\r\n public get isInFooterMode(): boolean { return this._isInFooterMode; }\r\n /** @deprecated in 3.6. UI 1.0 will be removed in AppUi 4.0.*/\r\n public get applicationData(): any | undefined { return this._applicationData; }\r\n public get usage(): string { return this._usage !== undefined ? this._usage : StageUsage.General; }\r\n public get version(): number { return this._version; }\r\n public get contentGroupProvider(): ContentGroupProvider | undefined { return this._contentGroupProvider; }\r\n public get floatingContentControls() { return this._floatingContentControls; }\r\n\r\n /** @deprecated in 3.6. Use [[FrontstageDef.contentManipulation]] instead. */\r\n public get topLeft(): ZoneDef | undefined { return this._topLeft; }\r\n /** @deprecated in 3.6. Use [[FrontstageDef.toolSettings]] instead. */\r\n public get topCenter(): ZoneDef | undefined { return this._topCenter; }\r\n /** @deprecated in 3.6. Use [[FrontstageDef.viewNavigation]] instead. */\r\n public get topRight(): ZoneDef | undefined { return this._topRight; }\r\n /** @deprecated in 3.6. Use [[FrontstageDef.leftPanel]] instead. */\r\n public get centerLeft(): ZoneDef | undefined { return this._centerLeft; }\r\n /** @deprecated in 3.6. Use [[FrontstageDef.rightPanel]] instead. */\r\n public get centerRight(): ZoneDef | undefined { return this._centerRight; }\r\n /** @deprecated in 3.6. Use [[FrontstageDef.leftPanel]] instead. */\r\n public get bottomLeft(): ZoneDef | undefined { return this._bottomLeft; }\r\n /** @deprecated in 3.6. Use [[FrontstageDef.statusBar]] instead. */\r\n public get bottomCenter(): ZoneDef | undefined { return this._bottomCenter; }\r\n /** @deprecated in 3.6. Use [[FrontstageDef.rightPanel]] instead. */\r\n public get bottomRight(): ZoneDef | undefined { return this._bottomRight; }\r\n\r\n /** @beta */\r\n public get toolSettings(): WidgetDef | undefined { return this.topCenter?.getSingleWidgetDef(); }\r\n /** @beta */\r\n public get statusBar(): WidgetDef | undefined { return this.bottomCenter?.getSingleWidgetDef(); }\r\n /** @beta */\r\n public get contentManipulation(): WidgetDef | undefined { return this.topLeft?.getSingleWidgetDef(); }\r\n /** @beta */\r\n public get viewNavigation(): WidgetDef | undefined { return this.topRight?.getSingleWidgetDef(); }\r\n\r\n /** @beta */\r\n public get topPanel(): StagePanelDef | undefined { return this._topPanel; }\r\n /** @beta\r\n * @deprecated in 3.0. Only topPanel is supported in UI 2.0 */\r\n public get topMostPanel(): StagePanelDef | undefined { return this._topMostPanel; }\r\n /** @beta */\r\n public get leftPanel(): StagePanelDef | undefined { return this._leftPanel; }\r\n /** @beta */\r\n public get rightPanel(): StagePanelDef | undefined { return this._rightPanel; }\r\n /** @beta */\r\n public get bottomPanel(): StagePanelDef | undefined { return this._bottomPanel; }\r\n /** @beta\r\n * @deprecated in 3.0. Only bottomPanel is supported in UI 2.0 */\r\n public get bottomMostPanel(): StagePanelDef | undefined { return this._bottomMostPanel; }\r\n\r\n public get contentLayoutDef(): ContentLayoutDef | undefined { return this._contentLayoutDef; }\r\n public get contentGroup(): ContentGroup | undefined { return this._contentGroup; }\r\n public get frontstageProvider(): FrontstageProvider | undefined { return this._frontstageProvider; }\r\n\r\n /** @internal */\r\n public get nineZone(): NineZoneManagerProps | undefined { return this._nineZone; } // istanbul ignore next\r\n public set nineZone(props: NineZoneManagerProps | undefined) { this._nineZone = props; }\r\n\r\n private toStagePanelLocation(side: PanelSide): StagePanelLocation {\r\n switch (side) {\r\n case \"bottom\":\r\n return StagePanelLocation.Bottom;\r\n case \"left\":\r\n return StagePanelLocation.Left;\r\n case \"right\":\r\n return StagePanelLocation.Right;\r\n case \"top\":\r\n return StagePanelLocation.Top;\r\n }\r\n }\r\n\r\n private populateStateMaps(nineZone: NineZoneState, panelMap: Map<StagePanelDef, StagePanelState>, widgetMap: Map<WidgetDef, WidgetState>) {\r\n for (const panelSide of panelSides) {\r\n const panel = nineZone.panels[panelSide];\r\n const location = this.toStagePanelLocation(panelSide);\r\n const panelDef = this.getStagePanelDef(location);\r\n if (panelDef) {\r\n const panelState = panel.collapsed ? StagePanelState.Minimized : StagePanelState.Open;\r\n panelMap.set(panelDef, panelState);\r\n }\r\n for (const widgetId of panel.widgets) {\r\n const widget = nineZone.widgets[widgetId];\r\n // istanbul ignore else\r\n if (widget) {\r\n for (const tabId of widget.tabs) {\r\n const widgetDef = this.findWidgetDef(tabId);\r\n if (widgetDef) {\r\n let widgetState = WidgetState.Open;\r\n if (widget.minimized || tabId !== widget.activeTabId)\r\n widgetState = WidgetState.Closed;\r\n widgetMap.set(widgetDef, widgetState);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // istanbul ignore next\r\n for (const widgetId of nineZone.floatingWidgets.allIds) {\r\n const widget = nineZone.widgets[widgetId];\r\n if (widget) {\r\n for (const tabId of widget.tabs) {\r\n const widgetDef = this.findWidgetDef(tabId);\r\n if (widgetDef) {\r\n let widgetState = WidgetState.Open;\r\n if (widget.minimized || tabId !== widget.activeTabId)\r\n widgetState = WidgetState.Closed;\r\n widgetMap.set(widgetDef, widgetState);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private triggerStateChangeEventForWidgetsAndPanels(state: NineZoneState | undefined) {\r\n // istanbul ignore else\r\n if (!(this._isStageClosing || this._isApplicationClosing)) {\r\n if (state) {\r\n const originalPanelStateMap = new Map<StagePanelDef, StagePanelState>();\r\n const originalWidgetStateMap = new Map<WidgetDef, WidgetState>();\r\n const newPanelStateMap = new Map<StagePanelDef, StagePanelState>();\r\n const newWidgetStateMap = new Map<WidgetDef, WidgetState>();\r\n this._nineZoneState && this.populateStateMaps(this._nineZoneState, originalPanelStateMap, originalWidgetStateMap);\r\n this.populateStateMaps(state, newPanelStateMap, newWidgetStateMap);\r\n\r\n // set internal state value before triggering events\r\n this._nineZoneState = state;\r\n\r\n // now walk and trigger set state events\r\n newWidgetStateMap.forEach((stateValue, widgetDef) => {\r\n const originalState = originalWidgetStateMap.get(widgetDef);\r\n if (originalState !== stateValue) {\r\n UiFramework.frontstages.onWidgetStateChangedEvent.emit({ widgetDef, widgetState: stateValue });\r\n widgetDef.onWidgetStateChanged();\r\n }\r\n });\r\n newPanelStateMap.forEach((stateValue, panelDef) => {\r\n const originalState = originalPanelStateMap.get(panelDef);\r\n if (originalState !== stateValue) {\r\n UiFramework.frontstages.onPanelStateChangedEvent.emit({\r\n panelDef,\r\n panelState: stateValue,\r\n });\r\n }\r\n });\r\n } else {\r\n this._nineZoneState = state;\r\n }\r\n }\r\n }\r\n\r\n /** @internal */\r\n public get nineZoneState(): NineZoneState | undefined { return this._nineZoneState; }\r\n public set nineZoneState(state: NineZoneState | undefined) {\r\n if (this._nineZoneState === state)\r\n return;\r\n\r\n if (\"1\" === UiFramework.uiVersion || !this._nineZoneState) {\r\n this._nineZoneState = state;\r\n } else {\r\n this.triggerStateChangeEventForWidgetsAndPanels(state);\r\n }\r\n\r\n // istanbul ignore next - don't trigger any side effects until stage \"isReady\"\r\n if (!(this._isStageClosing || this._isApplicationClosing) || this.isReady) {\r\n InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.emit({\r\n frontstageDef: this,\r\n state,\r\n });\r\n }\r\n }\r\n\r\n /** @internal */\r\n public get savedWidgetDefs() { return this._savedWidgetDefs; }\r\n public set savedWidgetDefs(widgets: SavedWidgets | undefined) {\r\n this._savedWidgetDefs = widgets;\r\n }\r\n\r\n /** @internal */\r\n public get timeTracker(): TimeTracker { return this._timeTracker; }\r\n\r\n /** Created a [[FrontstageDef]] and initialize it */\r\n public static async create(provider: FrontstageProvider) {\r\n const def = new FrontstageDef();\r\n def._frontstageProvider = provider;\r\n\r\n if (provider.frontstageConfig) {\r\n const config = provider.frontstageConfig();\r\n const props = toFrontstageProps(config);\r\n await def.initializeFromProps(props);\r\n } else {\r\n await def.initializeFromProps(provider.frontstage.props);\r\n }\r\n\r\n return def;\r\n }\r\n\r\n /** Handles when the Frontstage becomes activated */\r\n protected async _onActivated() { }\r\n\r\n /** Handles when the Frontstage becomes activated */\r\n public async onActivated() {\r\n this.updateWidgetDefs();\r\n\r\n const provider = this._contentGroupProvider;\r\n if (provider && this._initialProps) {\r\n if (provider.contentGroup) {\r\n const config = toFrontstageConfig(this._initialProps);\r\n this._contentGroup = await provider.contentGroup(config);\r\n } else {\r\n this._contentGroup = await provider.provideContentGroup(this._initialProps);\r\n }\r\n }\r\n\r\n // istanbul ignore next\r\n if (!this._contentGroup)\r\n throw new UiError(UiFramework.loggerCategory(this), `onActivated: Content Group not defined`);\r\n\r\n this._contentLayoutDef = UiFramework.content.layouts.getForGroup(this._contentGroup);\r\n UiFramework.frontstages.onContentLayoutActivatedEvent.emit({ contentLayout: this._contentLayoutDef, contentGroup: this._contentGroup });\r\n\r\n this._timeTracker.startTiming();\r\n await this._onActivated();\r\n }\r\n\r\n /** Handles when the Frontstage becomes inactive */\r\n protected async _onDeactivated() { }\r\n\r\n /** Handles when the Frontstage becomes inactive */\r\n public async onDeactivated() {\r\n for (const control of this._widgetControls) {\r\n control.onFrontstageDeactivated();\r\n }\r\n\r\n for (const control of this.contentControls) {\r\n control.onFrontstageDeactivated();\r\n }\r\n\r\n // istanbul ignore else\r\n if (this.contentGroup)\r\n this.contentGroup.onFrontstageDeactivated();\r\n // istanbul ignore next\r\n if (this.contentGroupProvider)\r\n await this.contentGroupProvider.onFrontstageDeactivated();\r\n\r\n this._timeTracker.stopTiming();\r\n\r\n this._isStageClosing = true; // this keeps widgets in child windows from automatically re-docking\r\n UiFramework.childWindows.closeAll();\r\n\r\n if (this._floatingContentControls) {\r\n InternalContentDialogManager.closeAll();\r\n this._floatingContentControls = undefined;\r\n }\r\n\r\n await this._onDeactivated();\r\n this._isStageClosing = false;\r\n }\r\n\r\n /** @internal */\r\n public setIsApplicationClosing(value: boolean) {\r\n this._isApplicationClosing = value;\r\n }\r\n\r\n /** Returns once the contained widgets and content controls are ready to use */\r\n public async waitUntilReady(): Promise<void> {\r\n this._isReady = false;\r\n // create an array of control-ready promises\r\n const controlReadyPromises = new Array<Promise<void>>();\r\n this._widgetControls.forEach((control: WidgetControl) => {\r\n controlReadyPromises.push(control.isReady);\r\n });\r\n\r\n // istanbul ignore else\r\n if (this.contentLayoutDef) {\r\n const usedContentIndexes = this.contentLayoutDef.getUsedContentIndexes();\r\n this.contentControls.forEach((control: ContentControl, index: number) => {\r\n // istanbul ignore else\r\n if (usedContentIndexes.includes(index))\r\n controlReadyPromises.push(control.isReady);\r\n });\r\n }\r\n\r\n await Promise.all(controlReadyPromises);\r\n // Frontstage ready\r\n this._isReady = true;\r\n }\r\n\r\n /** Handles when the Frontstage becomes active */\r\n protected _onFrontstageReady(): void { }\r\n\r\n /** Handles when the Frontstage becomes active */\r\n public onFrontstageReady(): void {\r\n for (const control of this._widgetControls) {\r\n control.onFrontstageReady();\r\n }\r\n\r\n for (const control of this.contentControls) {\r\n control.onFrontstageReady();\r\n }\r\n\r\n // istanbul ignore else\r\n if (this.contentGroup)\r\n this.contentGroup.onFrontstageReady();\r\n\r\n this._onFrontstageReady();\r\n }\r\n\r\n /** Starts the default tool for the Frontstage.\r\n * @deprecated in 3.6. UI 1.0 will be removed in AppUi 4.0.\r\n */\r\n public startDefaultTool(): void {\r\n // Start the default tool\r\n // istanbul ignore next\r\n if (IModelApp.toolAdmin && IModelApp.viewManager) {\r\n if (this.defaultTool) {\r\n IModelApp.toolAdmin.defaultToolId = this.defaultTool.toolId;\r\n this.defaultTool.execute();\r\n } else {\r\n IModelApp.toolAdmin.startDefaultTool(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n }\r\n\r\n /** Sets the Content Layout and Content Group */\r\n public setContentLayoutAndGroup(contentLayoutDef: ContentLayoutDef, contentGroup: ContentGroup): void {\r\n this._contentLayoutDef = contentLayoutDef;\r\n this._contentGroup = contentGroup;\r\n }\r\n\r\n /** Sets the active view content control to the default or first */\r\n public async setActiveContent(): Promise<boolean> {\r\n let contentControl: ContentControl | undefined;\r\n let activated = false;\r\n\r\n if (this.contentGroup && this.defaultContentId) {\r\n contentControl = this.contentGroup.getContentControlById(this.defaultContentId);\r\n }\r\n\r\n // istanbul ignore else\r\n if (!contentControl && this.contentControls.length >= 0) {\r\n contentControl = this.contentControls[0];\r\n }\r\n\r\n if (contentControl) {\r\n UiFramework.content.setActive(contentControl.reactNode, true);\r\n if (contentControl.viewport) {\r\n const status = await IModelApp.viewManager.setSelectedView(contentControl.viewport);\r\n activated = status === BentleyStatus.SUCCESS;\r\n }\r\n }\r\n\r\n return activated;\r\n }\r\n\r\n /** Sets the active view content control */\r\n public setActiveView(newContent: ContentControl, oldContent?: ContentControl): void {\r\n if (oldContent)\r\n oldContent.onDeactivated();\r\n newContent.onActivated();\r\n UiFramework.frontstages.onContentControlActivatedEvent.emit({ activeContentControl: newContent, oldContentControl: oldContent });\r\n }\r\n\r\n /** Sets the active view content control based on the selected viewport. */\r\n public setActiveViewFromViewport(viewport: ScreenViewport): boolean {\r\n const contentControl = this.contentControls.find((control: ContentControl) => control.viewport === viewport);\r\n // istanbul ignore else\r\n if (contentControl) {\r\n UiFramework.content.setActive(contentControl.reactNode, true);\r\n return true;\r\n }\r\n\r\n // istanbul ignore next\r\n return false;\r\n }\r\n\r\n /** Gets a [[ZoneDef]] based on a given zone id.\r\n * @deprecated in 3.6. UI1.0 is deprecated.\r\n */\r\n public getZoneDef(zoneId: number): ZoneDef | undefined {\r\n let zoneDef;\r\n\r\n switch (zoneId) {\r\n case 1:\r\n zoneDef = this.topLeft;\r\n break;\r\n case 2:\r\n zoneDef = this.topCenter;\r\n break;\r\n case 3:\r\n zoneDef = this.topRight;\r\n break;\r\n case 4:\r\n zoneDef = this.centerLeft;\r\n break;\r\n case 6:\r\n zoneDef = this.centerRight;\r\n break;\r\n case 7:\r\n zoneDef = this.bottomLeft;\r\n break;\r\n case 8:\r\n zoneDef = this.bottomCenter;\r\n break;\r\n case 9:\r\n zoneDef = this.bottomRight;\r\n break;\r\n // istanbul ignore next\r\n default:\r\n throw new RangeError();\r\n }\r\n\r\n // Zones can be undefined in a Frontstage\r\n\r\n return zoneDef;\r\n }\r\n\r\n /** Gets a list of [[ZoneDef]]s.\r\n * @deprecated in 3.6. UI1.0 is deprecated.\r\n */\r\n public get zoneDefs(): ZoneDef[] {\r\n const zones = [1, 2, 3, 4, 6, 7, 8, 9];\r\n const zoneDefs: ZoneDef[] = [];\r\n\r\n zones.forEach((zoneId) => {\r\n const zoneDef = this.getZoneDef(zoneId);\r\n if (zoneDef)\r\n zoneDefs.push(zoneDef);\r\n });\r\n\r\n return zoneDefs;\r\n }\r\n\r\n /** Gets a [[StagePanelDef]] based on a given panel location\r\n * @beta\r\n */\r\n public getStagePanelDef(location: StagePanelLocation): StagePanelDef | undefined {\r\n let panelDef: StagePanelDef | undefined;\r\n\r\n switch (location) {\r\n case StagePanelLocation.Top:\r\n panelDef = this.topPanel;\r\n break;\r\n case StagePanelLocation.TopMost:\r\n panelDef = this.topMostPanel; // eslint-disable-line deprecation/deprecation\r\n break;\r\n case StagePanelLocation.Left:\r\n panelDef = this.leftPanel;\r\n break;\r\n case StagePanelLocation.Right:\r\n panelDef = this.rightPanel;\r\n break;\r\n case StagePanelLocation.Bottom:\r\n panelDef = this.bottomPanel;\r\n break;\r\n case StagePanelLocation.BottomMost:\r\n panelDef = this.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 panelDef;\r\n }\r\n\r\n /** Gets a list of [[StagePanelDef]]s\r\n * @beta\r\n */\r\n public get panelDefs(): StagePanelDef[] {\r\n const panels = [\r\n StagePanelLocation.Left, StagePanelLocation.Right,\r\n StagePanelLocation.Top, StagePanelLocation.TopMost,\r\n StagePanelLocation.Bottom, StagePanelLocation.BottomMost,\r\n ];\r\n const panelDefs: StagePanelDef[] = [];\r\n\r\n panels.forEach((location: StagePanelLocation) => {\r\n const panelDef = this.getStagePanelDef(location);\r\n if (panelDef)\r\n panelDefs.push(panelDef);\r\n });\r\n\r\n return panelDefs;\r\n }\r\n\r\n /** Finds a [[WidgetDef]] based on a given id */\r\n public findWidgetDef(id: string): WidgetDef | undefined {\r\n for (const zoneDef of this.zoneDefs) {\r\n const widgetDef = zoneDef.findWidgetDef(id);\r\n if (widgetDef)\r\n return widgetDef;\r\n }\r\n\r\n for (const panelDef of this.panelDefs) {\r\n const widgetDef = panelDef.findWidgetDef(id);\r\n if (widgetDef)\r\n return widgetDef;\r\n }\r\n\r\n // istanbul ignore next\r\n return undefined;\r\n }\r\n\r\n /** Gets the list of [[WidgetControl]]s */\r\n private get _widgetControls(): WidgetControl[] {\r\n const widgetControls = new Array<WidgetControl>();\r\n\r\n this.zoneDefs.forEach((zoneDef: ZoneDef) => {\r\n zoneDef.widgetDefs.forEach((widgetDef: WidgetDef) => {\r\n const widgetControl = widgetDef.widgetControl;\r\n if (widgetControl)\r\n widgetControls.push(widgetControl);\r\n });\r\n });\r\n\r\n this.panelDefs.forEach((panelDef: StagePanelDef) => {\r\n panelDef.widgetDefs.forEach((widgetDef: WidgetDef) => {\r\n const widgetControl = widgetDef.widgetControl;\r\n // istanbul ignore if\r\n if (widgetControl)\r\n widgetControls.push(widgetControl);\r\n });\r\n });\r\n\r\n return widgetControls;\r\n }\r\n\r\n public addFloatingContentControl(contentControl?: ContentControl) {\r\n // istanbul ignore next\r\n if (!contentControl)\r\n return;\r\n if (!this._floatingContentControls)\r\n this._floatingContentControls = new Array<ContentControl>();\r\n\r\n this._floatingContentControls.push(contentControl);\r\n UiFramework.content.onAvailableContentChangedEvent.emit({ contentId: contentControl.uniqueId });\r\n }\r\n\r\n public dropFloatingContentControl(contentControl?: ContentControl) {\r\n // istanbul ignore next\r\n if (!contentControl || !this._floatingContentControls)\r\n return;\r\n\r\n const index = this._floatingContentControls.indexOf(contentControl);\r\n // istanbul ignore else\r\n if (index > -1) {\r\n this._floatingContentControls.splice(index, 1);\r\n UiFramework.content.onAvailableContentChangedEvent.emit({ contentId: contentControl.uniqueId });\r\n }\r\n }\r\n\r\n /** Gets the list of [[ContentControl]]s */\r\n public get contentControls(): ContentControl[] {\r\n const contentControls = new Array<ContentControl>();\r\n // istanbul ignore else\r\n if (this.contentGroup) {\r\n contentControls.push(...this.contentGroup.getContentControls());\r\n }\r\n if (this._floatingContentControls) {\r\n contentControls.push(...this._floatingContentControls);\r\n }\r\n return contentControls;\r\n }\r\n\r\n /** Initializes a FrontstageDef from FrontstageProps\r\n * @internal\r\n */\r\n public async initializeFromProps(props: FrontstageProps): Promise<void> {\r\n this._id = props.id;\r\n this._initialProps = props;\r\n this._defaultTool = props.defaultTool as FrontstageProps[\"defaultTool\"] | undefined; // Might be `undefined`, see `toFrontstageProps`.\r\n\r\n if (props.defaultContentId !== undefined)\r\n this._defaultContentId = props.defaultContentId;\r\n\r\n if (props.contentGroup instanceof ContentGroupProvider) {\r\n this._contentGroupProvider = props.contentGroup;\r\n } else {\r\n this._contentGroup = props.contentGroup;\r\n }\r\n\r\n if (props.isInFooterMode !== undefined)\r\n this._isInFooterMode = props.isInFooterMode;\r\n this._applicationData = props.applicationData;\r\n\r\n this._usage = props.usage;\r\n this._version = props.version || 0;\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._topLeft = Frontstage.createZoneDef(props.contentManipulationTools ? props.contentManipulationTools : props.topLeft, ZoneLocation.TopLeft, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._topCenter = Frontstage.createZoneDef(props.toolSettings ? props.toolSettings : props.topCenter, ZoneLocation.TopCenter, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._topRight = Frontstage.createZoneDef(props.viewNavigationTools ? /* istanbul ignore next */ props.viewNavigationTools : props.topRight, ZoneLocation.TopRight, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._centerLeft = Frontstage.createZoneDef(props.centerLeft, ZoneLocation.CenterLeft, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._centerRight = Frontstage.createZoneDef(props.centerRight, ZoneLocation.CenterRight, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._bottomLeft = Frontstage.createZoneDef(props.bottomLeft, ZoneLocation.BottomLeft, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._bottomCenter = Frontstage.createZoneDef(props.statusBar ? props.statusBar : props.bottomCenter, ZoneLocation.BottomCenter, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._bottomRight = Frontstage.createZoneDef(props.bottomRight, ZoneLocation.BottomRight, props);\r\n // eslint-disable-next-line deprecation/deprecation\r\n\r\n this._topPanel = Frontstage.createStagePanelDef(StagePanelLocation.Top, props);\r\n this._topMostPanel = Frontstage.createStagePanelDef(StagePanelLocation.TopMost, props);\r\n this._leftPanel = Frontstage.createStagePanelDef(StagePanelLocation.Left, props);\r\n this._rightPanel = Frontstage.createStagePanelDef(StagePanelLocation.Right, props);\r\n this._bottomPanel = Frontstage.createStagePanelDef(StagePanelLocation.Bottom, props);\r\n this._bottomMostPanel = Frontstage.createStagePanelDef(StagePanelLocation.BottomMost, props);\r\n }\r\n\r\n /** @internal */\r\n public updateWidgetDefs(): void {\r\n // Tracks provided widgets to prevent duplicates.\r\n const allStageWidgetDefs: WidgetDef[] = [];\r\n\r\n // Process panels before zones so in uiVersion=\"2\" extension can explicitly target a widget for a StagePanelSection\r\n this.panelDefs.forEach((stagePanelDef: StagePanelDef) => {\r\n stagePanelDef.updateDynamicWidgetDefs(this.id, this.usage, stagePanelDef.location, undefined, allStageWidgetDefs, this.applicationData);\r\n });\r\n\r\n this.zoneDefs.forEach((zoneDef: ZoneDef) => {\r\n zoneDef.updateDynamicWidgetDefs(this.id, this.usage, zoneDef.zoneLocation, undefined, allStageWidgetDefs, this.applicationData);\r\n });\r\n }\r\n\r\n /** @beta */\r\n public restoreLayout() {\r\n for (const panelDef of this.panelDefs) {\r\n panelDef.size = panelDef.defaultSize;\r\n panelDef.panelState = panelDef.defaultState;\r\n }\r\n for (const widgetDef of this.widgetDefs) {\r\n widgetDef.setWidgetState(widgetDef.defaultState);\r\n }\r\n InternalFrontstageManager.onFrontstageRestoreLayoutEvent.emit({ frontstageDef: this });\r\n }\r\n\r\n /** Used only in UI 2.0 to determine WidgetState from NinezoneState\r\n * @internal\r\n */\r\n public getWidgetCurrentState(widgetDef: WidgetDef): WidgetState | undefined {\r\n // istanbul ignore else\r\n if (this.nineZoneState) {\r\n const location = getTabLocation(this.nineZoneState, widgetDef.id);\r\n // istanbul ignore next\r\n if (!location)\r\n return WidgetState.Hidden;\r\n\r\n if (isFloatingTabLocation(location)) {\r\n const floatingWidget = this.nineZoneState.floatingWidgets.byId[location.floatingWidgetId];\r\n if (floatingWidget && floatingWidget.hidden)\r\n return WidgetState.Hidden;\r\n else\r\n return WidgetState.Floating;\r\n }\r\n\r\n let collapsedPanel = false;\r\n // istanbul ignore else\r\n if (\"side\" in location) {\r\n const panel = this.nineZoneState.panels[location.side];\r\n collapsedPanel = panel.collapsed || undefined === panel.size || 0 === panel.size;\r\n }\r\n const widgetContainer = this.nineZoneState.widgets[location.widgetId];\r\n if (widgetDef.id === widgetContainer.activeTabId && !collapsedPanel)\r\n return WidgetState.Open;\r\n else\r\n return WidgetState.Closed;\r\n }\r\n return widgetDef.defaultState;\r\n }\r\n\r\n /** Used only in UI 2.0 to determine StagePanelState and size from NinezoneState\r\n * @internal\r\n */\r\n public getPanelCurrentState(panelDef: StagePanelDef): [StagePanelState, number] {\r\n // istanbul ignore next\r\n if (this.nineZoneState) {\r\n const side = toPanelSide(panelDef.location);\r\n const panel = this.nineZoneState.panels[side];\r\n if (panel)\r\n return [panel.collapsed ? StagePanelState.Minimized : StagePanelState.Open, panel.size ?? 0];\r\n return [StagePanelState.Off, 0];\r\n }\r\n return [panelDef.defaultState, panelDef.defaultSize ?? 0];\r\n }\r\n\r\n public isPopoutWidget(widgetId: string) {\r\n // istanbul ignore else\r\n if (this.nineZoneState) {\r\n const location = getTabLocation(this.nineZoneState, widgetId);\r\n // istanbul ignore else\r\n if (location)\r\n return isPopoutTabLocation(location);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public isFloatingWidget(widgetId: string) {\r\n // istanbul ignore else\r\n if (this.nineZoneState) {\r\n const location = getTabLocation(this.nineZoneState, widgetId);\r\n // istanbul ignore else\r\n if (location)\r\n return isFloatingTabLocation(location);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** Create a new floating panel that contains the widget specified by its Id. Supported only when in\r\n * UI 2.0 or higher.\r\n * @param widgetId case sensitive Widget Id\r\n * @param point Position of top left corner of floating panel in pixels. If undefined {x:50, y:100} is used.\r\n * @param size defines the width and height of the floating panel. If undefined and widget has been floated before\r\n * the previous size is used, else {height:400, width:400} is used.\r\n * @beta\r\n */\r\n public floatWidget(widgetId: string, point?: PointProps, size?: SizeProps) {\r\n // istanbul ignore else\r\n if (this.nineZoneState) {\r\n const location = getTabLocation(this.nineZoneState, widgetId);\r\n if (location) {\r\n let popoutWidgetContainerId: string | undefined;\r\n if (isPopoutTabLocation(location)) {\r\n popoutWidgetContainerId = location.popoutWidgetId;\r\n }\r\n const state = floatWidget(this.nineZoneState, widgetId, point, size);\r\n // istanbul ignore else\r\n if (state) {\r\n this.nineZoneState = state;\r\n setTimeout(() => {\r\n popoutWidgetContainerId && UiFramework.childWindows.close(popoutWidgetContainerId, true);\r\n }, 600);\r\n }\r\n }\r\n }\r\n }\r\n /** Check widget and panel state to determine whether the widget is currently displayed\r\n * @param widgetId case-sensitive Widget Id\r\n * @public\r\n */\r\n public isWidgetDisplayed(widgetId: string) {\r\n let widgetIsVisible = false;\r\n // istanbul ignore else\r\n if (this.nineZoneState) {\r\n const tabLocation = getTabLocation(this.nineZoneState, widgetId);\r\n // istanbul ignore else\r\n if (tabLocation) {\r\n if (isFloatingTabLocation(tabLocation)) {\r\n const floatingWidget = this.nineZoneState.floatingWidgets.byId[tabLocation.floatingWidgetId];\r\n // istanbul ignore else\r\n if (!!!floatingWidget.hidden)\r\n widgetIsVisible = true;\r\n } else if (isPopoutTabLocation(tabLocation)) {\r\n widgetIsVisible = true;\r\n } else {\r\n // istanbul ignore else\r\n if (isPanelTabLocation(tabLocation)) {\r\n const panel = this.nineZoneState.panels[tabLocation.side];\r\n const widgetDef = this.findWidgetDef(widgetId);\r\n if (widgetDef && widgetDef.state === WidgetState.Open && !panel.collapsed)\r\n widgetIsVisible = true;\r\n }\r\n }\r\n }\r\n }\r\n return widgetIsVisible;\r\n }\r\n\r\n /** Opens window for specified PopoutWidget container. Used to reopen popout when running in Electron.\r\n * @internal */\r\n public openPopoutWidgetContainer(state: NineZoneState, widgetContainerId: string) {\r\n const location = getWidgetLocation(state, widgetContainerId);\r\n // istanbul ignore next\r\n if (!location)\r\n return;\r\n // istanbul ignore next\r\n if (!isPopoutWidgetLocation(location))\r\n return;\r\n\r\n const widget = state.widgets[widgetContainerId];\r\n const popoutWidget = state.popoutWidgets.byId[location.popoutWidgetId];\r\n\r\n // Popout widget should only contain a single tab.\r\n // istanbul ignore next\r\n if (widget.tabs.length !== 1)\r\n return;\r\n\r\n const tabId = widget.tabs[0];\r\n const widgetDef = this.findWidgetDef(tabId);\r\n // istanbul ignore next\r\n if (!widgetDef)\r\n return;\r\n\r\n const popoutContent = (<PopoutWidget widgetContainerId={widgetContainerId} widgetDef={widgetDef} />);\r\n const bounds = Rectangle.create(popoutWidget.bounds);\r\n\r\n const position: ChildWindowLocationProps = {\r\n width: bounds.getWidth(),\r\n height: bounds.getHeight(),\r\n left: bounds.left,\r\n top: bounds.top,\r\n };\r\n UiFramework.childWindows.open(widgetContainerId, widgetDef.label, popoutContent, position, UiFramework.useDefaultPopoutUrl);\r\n }\r\n\r\n /** Create a new popout/child window that contains the widget specified by its Id. Supported only when in\r\n * UI 2.0 or higher.\r\n * @param widgetId case sensitive Widget Id\r\n * @param point Position of top left corner of floating panel in pixels. If undefined {x:0, y:0} is used.\r\n * @param size defines the width and height of the floating panel. If undefined and widget has been floated before\r\n * the previous size is used, else {height:800, width:600} is used.\r\n * @beta\r\n */\r\n public popoutWidget(widgetId: string, point?: PointProps, size?: SizeProps) {\r\n // istanbul ignore next\r\n if (!this.nineZoneState)\r\n return;\r\n\r\n let location = getTabLocation(this.nineZoneState, widgetId);\r\n if (!location || isPopoutTabLocation(location))\r\n return;\r\n\r\n const widgetDef = this.findWidgetDef(widgetId);\r\n // istanbul ignore next\r\n if (!widgetDef)\r\n return;\r\n\r\n // get the state to apply that will pop-out the specified WidgetTab to child window.\r\n let preferredBounds = Rectangle.createFromSize({ height: 800, width: 600 });\r\n // istanbul ignore next\r\n if (widgetDef.popoutBounds)\r\n preferredBounds = widgetDef.popoutBounds;\r\n if (size)\r\n preferredBounds = preferredBounds.setSize(size);\r\n if (point)\r\n preferredBounds = preferredBounds.setPosition(point);\r\n\r\n const state = popoutWidgetToChildWindow(this.nineZoneState, widgetId, preferredBounds);\r\n this.nineZoneState = state;\r\n\r\n // now that the state is updated get the id of the container that houses the widgetTab/widgetId\r\n location = getTabLocation(state, widgetId);\r\n assert(!!location && isPopoutTabLocation(location));\r\n\r\n const widgetContainerId = location.widgetId;\r\n const popoutWidget = state.popoutWidgets.byId[widgetContainerId];\r\n const bounds = Rectangle.create(popoutWidget.bounds);\r\n\r\n setTimeout(() => {\r\n const popoutContent = (<PopoutWidget widgetContainerId={widgetContainerId} widgetDef={widgetDef} />);\r\n const position: ChildWindowLocationProps = {\r\n width: bounds.getWidth(),\r\n height: bounds.getHeight(),\r\n left: bounds.left,\r\n top: bounds.top,\r\n };\r\n UiFramework.childWindows.open(widgetContainerId, widgetDef.label, popoutContent, position, UiFramework.useDefaultPopoutUrl);\r\n });\r\n }\r\n\r\n public get isStageClosing() {\r\n return this._isStageClosing;\r\n }\r\n\r\n public get isApplicationClosing() {\r\n return this._isApplicationClosing;\r\n }\r\n\r\n public get isReady() {\r\n return this._isReady;\r\n }\r\n\r\n /** @internal */\r\n public saveChildWindowSizeAndPosition(childWindowId: string, childWindow: Window) {\r\n if (!this.nineZoneState)\r\n return;\r\n\r\n const location = getWidgetLocation(this.nineZoneState, childWindowId);\r\n if (!location || !isPopoutWidgetLocation(location))\r\n return;\r\n\r\n const widget = this.nineZoneState.widgets[location.popoutWidgetId];\r\n const tabId = widget.tabs[0];\r\n const widgetDef = this.findWidgetDef(tabId);\r\n if (!widgetDef)\r\n return;\r\n\r\n const adjustmentWidth = ProcessDetector.isElectronAppFrontend ? 16 : 0;\r\n const adjustmentHeight = ProcessDetector.isElectronAppFrontend ? 39 : 0;\r\n\r\n const width = childWindow.innerWidth + adjustmentWidth;\r\n const height = childWindow.innerHeight + adjustmentHeight;\r\n const bounds = Rectangle.createFromSize({ width, height }).offset({ x: childWindow.screenX, y: childWindow.screenY });\r\n widgetDef.popoutBounds = bounds;\r\n }\r\n\r\n /** Method used to possibly change a Popout Widget back to a docked widget if the user was the one closing the popout's child\r\n * window.\r\n * @internal\r\n */\r\n public dockPopoutWidgetContainer(widgetContainerId: string) {\r\n if (!this.nineZoneState)\r\n return;\r\n\r\n // Make sure the widgetContainerId is still in popout state. We don't want to set it to docked if the window is being closed because\r\n // an API call has moved the widget from a popout state to a floating state.\r\n // istanbul ignore else\r\n const location = getWidgetLocation(this.nineZoneState, widgetContainerId);\r\n if (!location || !isPopoutWidgetLocation(location))\r\n return;\r\n\r\n const state = dockWidgetContainer(this.nineZoneState, widgetContainerId, true);\r\n this.nineZoneState = state;\r\n }\r\n\r\n /** Finds the container with the specified widget and re-docks all widgets\r\n * back to the panel zone location that was used when the floating container\r\n * was generated. Supported only when in UI 2.0 or higher.\r\n * @param widgetId case sensitive Widget Id.\r\n * @beta\r\n */\r\n public dockWidgetContainer(widgetId: string) {\r\n // istanbul ignore else\r\n if (this.nineZoneState) {\r\n const location = getTabLocation(this.nineZoneState, widgetId);\r\n if (location) {\r\n const widgetContainerId = location.widgetId;\r\n const state = dockWidgetContainer(this.nineZoneState, widgetContainerId, true);\r\n state && (this.nineZoneState = state);\r\n if (isPopoutTabLocation(location)) {\r\n UiFramework.childWindows.close(location.widgetId, true);\r\n }\r\n }\r\n }\r\n }\r\n\r\n public setFloatingWidgetContainerBounds(floatingWidgetId: string, bounds: RectangleProps) {\r\n if (!this.nineZoneState || !(floatingWidgetId in this.nineZoneState.floatingWidgets.byId))\r\n return false;\r\n\r\n let state = FrameworkStateReducer(this.nineZoneState, {\r\n type: \"FLOATING_WIDGET_SET_BOUNDS\",\r\n id: floatingWidgetId,\r\n bounds,\r\n }, this);\r\n state = FrameworkStateReducer(state, {\r\n type: \"FLOATING_WIDGET_SET_USER_SIZED\",\r\n id: floatingWidgetId,\r\n userSized: true,\r\n }, this);\r\n this.nineZoneState = state;\r\n return true;\r\n }\r\n\r\n public getFloatingWidgetContainerIds(): string[] {\r\n if (!this.nineZoneState)\r\n return [];\r\n\r\n return [...this.nineZoneState.floatingWidgets.allIds];\r\n }\r\n\r\n public getFloatingWidgetContainerIdByWidgetId(widgetId: string): string | undefined {\r\n if (!this.nineZoneState)\r\n return undefined;\r\n\r\n const location = getTabLocation(this.nineZoneState, widgetId);\r\n // istanbul ignore else\r\n if (location && isFloatingTabLocation(location)) {\r\n return location.floatingWidgetId;\r\n }\r\n // istanbul ignore next\r\n return undefined;\r\n }\r\n\r\n public getFloatingWidgetContainerBounds(floatingWidgetId: string | undefined) {\r\n if (!floatingWidgetId)\r\n return undefined;\r\n\r\n // istanbul ignore else\r\n if (this.nineZoneState && (floatingWidgetId in this.nineZoneState.floatingWidgets.byId)) {\r\n const foundWidget = document.querySelector(`div.nz-widget-floatingWidget[data-widget-id='${floatingWidgetId}']`);\r\n // istanbul ignore next\r\n if (foundWidget) {\r\n const domRect = foundWidget.getBoundingClientRect();\r\n return { left: domRect.left, right: domRect.right, top: domRect.top, bottom: domRect.bottom };\r\n }\r\n return this.nineZoneState.floatingWidgets.byId[floatingWidgetId].bounds;\r\n }\r\n return undefined;\r\n }\r\n\r\n private *_widgetDefs(): Iterator<WidgetDef> {\r\n for (const zoneDef of this.zoneDefs) {\r\n for (const widgetDef of zoneDef.widgetDefs) {\r\n yield widgetDef;\r\n }\r\n }\r\n for (const panelDef of this.panelDefs) {\r\n for (const widgetDef of panelDef.widgetDefs) {\r\n yield widgetDef;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Iterable of all widget definitions in a frontstage.\r\n * @internal\r\n */\r\n public get widgetDefs() {\r\n const defs = this._widgetDefs();\r\n return {\r\n [Symbol.iterator]() {\r\n return defs;\r\n },\r\n };\r\n }\r\n}\r\n\r\nfunction toFrontstageProps(config: FrontstageConfig): FrontstageProps {\r\n const { contentManipulation, viewNavigation, toolSettings, statusBar, topPanel, leftPanel, bottomPanel, rightPanel, ...other } = config;\r\n const props: FrontstageProps = {\r\n ...other,\r\n defaultTool: undefined as any, // importing `ToolItemDef` causes a runtime circular dependency issue. We'll fall back to `IModelApp.toolAdmin.defaultToolId` instead.\r\n toolSettings: toolSettings ? toZoneElement(toolSettings) : undefined,\r\n statusBar: statusBar ? toZoneElement(statusBar) : undefined,\r\n contentManipulationTools: contentManipulation ? toZoneElement(contentManipulation) : undefined,\r\n viewNavigationTools: viewNavigation ? toZoneElement(viewNavigation) : undefined,\r\n topPanel: topPanel ? toStagePanelElement(topPanel) : undefined,\r\n leftPanel: leftPanel ? toStagePanelElement(leftPanel) : undefined,\r\n bottomPanel: bottomPanel ? toStagePanelElement(bottomPanel) : undefined,\r\n rightPanel: rightPanel ? toStagePanelElement(rightPanel) : undefined,\r\n };\r\n return props;\r\n}\r\n\r\nfunction toWidgetElement(config: WidgetConfig): React.ReactElement<WidgetProps> {\r\n return (\r\n <Widget key={config.id} {...config} />\r\n );\r\n}\r\n\r\nfunction toZoneElement(config: WidgetConfig): React.ReactElement<ZoneProps> {\r\n return (\r\n <Zone widgets={[\r\n toWidgetElement(config),\r\n ]} />\r\n );\r\n}\r\n\r\nfunction toStagePanelElement(config: StagePanelConfig): React.ReactElement<StagePanelProps> {\r\n const { sections, ...other } = config;\r\n const startWidgets = sections?.start?.map((widget) => toWidgetElement(widget));\r\n const endWidgets = sections?.end?.map((widget) => toWidgetElement(widget));\r\n const panelZones: StagePanelZonesProps = {};\r\n if (startWidgets)\r\n panelZones.start = {\r\n widgets: startWidgets,\r\n };\r\n if (endWidgets)\r\n panelZones.end = {\r\n widgets: endWidgets,\r\n };\r\n return (\r\n <StagePanel\r\n panelZones={panelZones}\r\n {...other}\r\n />\r\n );\r\n}\r\n\r\nlet widgetConfigId = 0;\r\nfunction toWidgetConfig(widget: React.ReactElement<WidgetProps>): WidgetConfig {\r\n const props = widget.props;\r\n return {\r\n ...props,\r\n id: props.id ? props.id : `widget-config-${++widgetConfigId}`,\r\n };\r\n}\r\n\r\nfunction toWidgetConfigFromZone(zone: React.ReactElement<ZoneProps>): WidgetConfig | undefined {\r\n const widgets = zone.props.widgets;\r\n if (!widgets || widgets.length === 0)\r\n return undefined;\r\n const widget = widgets[0];\r\n return toWidgetConfig(widget);\r\n}\r\n\r\nfunction toPanelConfig(panel: React.ReactElement<StagePanelProps>) {\r\n const props = panel.props;\r\n const { panelZones, ...other } = props;\r\n const start = panelZones?.start?.widgets?.map((w) => toWidgetConfig(w));\r\n const end = panelZones?.end?.widgets?.map((w) => toWidgetConfig(w));\r\n const config: StagePanelConfig = {\r\n ...other,\r\n sections: {\r\n start,\r\n end,\r\n },\r\n };\r\n return config;\r\n}\r\n\r\nfunction toFrontstageConfig(props: FrontstageProps) {\r\n const { contentManipulationTools, viewNavigationTools, toolSettings, statusBar, topPanel, leftPanel, bottomPanel, rightPanel, ...other } = props;\r\n const config: FrontstageConfig = {\r\n ...other,\r\n version: props.version || 0,\r\n contentManipulation: contentManipulationTools ? toWidgetConfigFromZone(contentManipulationTools) : undefined,\r\n viewNavigation: viewNavigationTools ? toWidgetConfigFromZone(viewNavigationTools) : undefined,\r\n toolSettings: toolSettings ? toWidgetConfigFromZone(toolSettings) : undefined,\r\n statusBar: statusBar ? toWidgetConfigFromZone(statusBar) : undefined,\r\n topPanel: topPanel ? toPanelConfig(topPanel) : undefined,\r\n leftPanel: leftPanel ? toPanelConfig(leftPanel) : undefined,\r\n bottomPanel: bottomPanel ? toPanelConfig(bottomPanel) : undefined,\r\n rightPanel: rightPanel ? toPanelConfig(rightPanel) : undefined,\r\n };\r\n return config;\r\n}\r\n"]}