@itwin/appui-react 4.11.0 → 4.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1086) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +4 -1
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +13 -14
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/UiFramework.json +345 -0
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/Calculator.js +3 -1
  11. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/CalculatorPopup.d.ts.map +1 -1
  13. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts +36 -12
  15. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +37 -19
  17. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  18. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  19. package/lib/cjs/appui-react/backstage/BackstageComposer.js +2 -1
  20. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  21. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +3 -4
  22. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  23. package/lib/cjs/appui-react/childwindow/ChildWindowConfig.d.ts +8 -6
  24. package/lib/cjs/appui-react/childwindow/ChildWindowConfig.d.ts.map +1 -1
  25. package/lib/cjs/appui-react/childwindow/ChildWindowConfig.js.map +1 -1
  26. package/lib/cjs/appui-react/childwindow/{PopoutWidget.d.ts → ChildWindowWidget.d.ts} +4 -4
  27. package/lib/cjs/appui-react/childwindow/ChildWindowWidget.d.ts.map +1 -0
  28. package/lib/cjs/appui-react/childwindow/{PopoutWidget.js → ChildWindowWidget.js} +11 -5
  29. package/lib/cjs/appui-react/childwindow/ChildWindowWidget.js.map +1 -0
  30. package/lib/{esm/appui-react/childwindow/PopoutWidget.scss → cjs/appui-react/childwindow/ChildWindowWidget.scss} +0 -1
  31. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts +3 -3
  32. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  33. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +25 -33
  34. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  35. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  36. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  37. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -12
  38. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  39. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +5 -18
  40. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  41. package/lib/cjs/appui-react/configurableui/TimeTracker.js +1 -2
  42. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  43. package/lib/cjs/appui-react/content/ContentControl.d.ts +2 -0
  44. package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
  45. package/lib/cjs/appui-react/content/ContentControl.js +1 -0
  46. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  47. package/lib/cjs/appui-react/content/ContentLayout.d.ts +2 -0
  48. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  49. package/lib/cjs/appui-react/content/ContentLayout.js +14 -14
  50. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  51. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +3 -4
  52. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  53. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +2 -2
  54. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  55. package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -3
  56. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  57. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  58. package/lib/cjs/appui-react/content/IModelViewport.js +7 -8
  59. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  60. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +1 -2
  61. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  62. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts +5 -5
  63. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/content/InternalContentViewManager.js +5 -7
  65. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  66. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +10 -12
  67. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  68. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts +2 -0
  69. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  70. package/lib/cjs/appui-react/cursor/CursorInformation.js +2 -0
  71. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  72. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  73. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
  74. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  75. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  76. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +1 -0
  77. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  78. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +5 -19
  79. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  80. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +4 -24
  81. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  82. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  83. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -0
  84. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  85. package/lib/cjs/appui-react/dialog/ContentDialog.d.ts.map +1 -1
  86. package/lib/cjs/appui-react/dialog/ContentDialog.js +8 -7
  87. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  88. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts +5 -2
  89. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  90. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +6 -3
  91. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  92. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts +3 -2
  93. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  94. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js +1 -2
  95. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  96. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts +3 -2
  97. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -1
  98. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js +2 -2
  99. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  100. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts +3 -2
  101. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  102. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js +1 -2
  103. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  104. package/lib/cjs/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
  105. package/lib/cjs/appui-react/dialog/ModelessDialog.js +3 -1
  106. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  107. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  108. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js +3 -1
  109. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  110. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts +2 -0
  111. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  112. package/lib/cjs/appui-react/feedback/ElementTooltip.js +6 -2
  113. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  114. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts +5 -0
  115. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts.map +1 -1
  116. package/lib/cjs/appui-react/framework/FrameworkContent.js +4 -0
  117. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
  118. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts +2 -0
  119. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts.map +1 -1
  120. package/lib/cjs/appui-react/framework/FrameworkDialogs.js +4 -0
  121. package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
  122. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts +17 -1
  123. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  124. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js +8 -0
  125. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  126. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts +2 -0
  127. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -1
  128. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js +1 -0
  129. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  130. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  131. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +24 -22
  132. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  133. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts +29 -33
  134. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  135. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +45 -50
  136. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  137. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  138. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +8 -6
  139. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  140. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +4 -4
  141. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  142. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +4 -5
  143. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  144. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  145. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js +1 -0
  146. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  147. package/lib/cjs/appui-react/hooks/useActiveStageId.js +2 -1
  148. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  149. package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  150. package/lib/cjs/appui-react/hooks/useActiveViewport.js +2 -0
  151. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  152. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  153. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  154. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  155. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  156. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +8 -13
  157. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  158. package/lib/cjs/appui-react/hooks/useTranslation.d.ts +7 -0
  159. package/lib/cjs/appui-react/hooks/useTranslation.d.ts.map +1 -0
  160. package/lib/cjs/appui-react/{useTranslation.js → hooks/useTranslation.js} +15 -6
  161. package/lib/cjs/appui-react/hooks/useTranslation.js.map +1 -0
  162. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
  163. package/lib/cjs/appui-react/hooks/useUiVisibility.js +1 -0
  164. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
  165. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -1
  166. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -0
  167. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  168. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +1 -0
  169. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  170. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -1
  171. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  172. package/lib/cjs/appui-react/layout/StandardLayout.scss +1 -1
  173. package/lib/cjs/appui-react/layout/base/DragManager.js +1 -2
  174. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  175. package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
  176. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  177. package/lib/cjs/appui-react/layout/footer/_variables.scss +0 -2
  178. package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
  179. package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
  180. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
  181. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  182. package/lib/cjs/appui-react/layout/state/NineZoneAction.d.ts +3 -2
  183. package/lib/cjs/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
  184. package/lib/cjs/appui-react/layout/state/NineZoneAction.js.map +1 -1
  185. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
  186. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +14 -15
  187. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  188. package/lib/cjs/appui-react/layout/state/PanelState.d.ts +2 -5
  189. package/lib/cjs/appui-react/layout/state/PanelState.d.ts.map +1 -1
  190. package/lib/cjs/appui-react/layout/state/PanelState.js.map +1 -1
  191. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +1 -2
  192. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  193. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts +4 -3
  194. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  195. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js +12 -10
  196. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  197. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +2 -3
  198. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  199. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  200. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  201. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
  202. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  203. package/lib/cjs/appui-react/layout/tool-settings/Docked.js +2 -2
  204. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  205. package/lib/cjs/appui-react/layout/tool-settings/Docked.scss +3 -13
  206. package/lib/cjs/appui-react/layout/tool-settings/Handle.scss +2 -2
  207. package/lib/cjs/appui-react/layout/tool-settings/Setting.js +1 -1
  208. package/lib/cjs/appui-react/layout/tool-settings/Setting.js.map +1 -1
  209. package/lib/cjs/appui-react/layout/tool-settings/Setting.scss +1 -2
  210. package/lib/cjs/appui-react/layout/widget/Button.d.ts +3 -2
  211. package/lib/cjs/appui-react/layout/widget/Button.d.ts.map +1 -1
  212. package/lib/cjs/appui-react/layout/widget/Button.js.map +1 -1
  213. package/lib/cjs/appui-react/layout/widget/ContentContainer.js +1 -1
  214. package/lib/cjs/appui-react/layout/widget/ContentContainer.js.map +1 -1
  215. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts +3 -3
  216. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  217. package/lib/cjs/appui-react/layout/widget/ContentManager.js +7 -1
  218. package/lib/cjs/appui-react/layout/widget/ContentManager.js.map +1 -1
  219. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +2 -2
  220. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  221. package/lib/cjs/appui-react/layout/widget/FloatingTab.js +5 -6
  222. package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
  223. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +2 -4
  224. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  225. package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
  226. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  227. package/lib/cjs/appui-react/layout/widget/Tab.js +4 -4
  228. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  229. package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
  230. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  231. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  232. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  233. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +5 -8
  234. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  235. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +1 -2
  236. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  237. package/lib/cjs/appui-react/messages/InputField.js +2 -1
  238. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  239. package/lib/cjs/appui-react/messages/MessageManager.d.ts +12 -0
  240. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  241. package/lib/cjs/appui-react/messages/MessageManager.js +18 -10
  242. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  243. package/lib/cjs/appui-react/messages/MessageRenderer.js +8 -9
  244. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  245. package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -0
  246. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  247. package/lib/cjs/appui-react/messages/Pointer.js +7 -9
  248. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  249. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +2 -0
  250. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +1 -0
  252. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  253. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  254. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -0
  255. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  256. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -0
  257. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  258. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +11 -3
  259. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  260. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  261. package/lib/cjs/appui-react/pickers/ListPicker.js +3 -1
  262. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  263. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +2 -0
  264. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  265. package/lib/cjs/appui-react/pickers/ViewSelector.js +8 -13
  266. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  267. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  268. package/lib/cjs/appui-react/popup/CardPopup.js +2 -3
  269. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  270. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts.map +1 -1
  271. package/lib/cjs/appui-react/popup/ComponentPopup.js +1 -1
  272. package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -1
  273. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  275. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  276. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  277. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +8 -5
  279. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  280. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  281. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +1 -1
  282. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  283. package/lib/cjs/appui-react/popup/PopupManager.d.ts +5 -1
  284. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  285. package/lib/cjs/appui-react/popup/PopupManager.js +24 -24
  286. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  287. package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
  288. package/lib/cjs/appui-react/popup/PositionPopup.js +1 -0
  289. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  290. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  291. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  292. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  293. package/lib/cjs/appui-react/popup/ToolbarPopup.js +2 -3
  294. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  295. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +7 -0
  296. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  297. package/lib/cjs/appui-react/preview/PreviewFeatures.js +8 -6
  298. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  299. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +2 -2
  300. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  301. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  302. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  303. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -1
  304. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js +2 -2
  305. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js.map +1 -1
  306. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +1 -1
  307. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
  308. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +2 -2
  309. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
  310. package/lib/cjs/appui-react/preview/new-toolbars/Item.js +1 -1
  311. package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -1
  312. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +1 -1
  313. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -1
  314. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +2 -3
  315. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  316. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
  317. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +11 -0
  318. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -0
  319. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +40 -0
  320. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -0
  321. package/lib/{esm/appui-react/layout/footer/message-center/_variables.scss → cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss} +3 -1
  322. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts +7 -0
  323. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts.map +1 -0
  324. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.js +25 -0
  325. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.js.map +1 -0
  326. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts +9 -0
  327. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts.map +1 -0
  328. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js +26 -0
  329. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js.map +1 -0
  330. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts +13 -0
  331. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts.map +1 -0
  332. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js +45 -0
  333. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js.map +1 -0
  334. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
  335. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts +18 -0
  336. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts.map +1 -0
  337. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js +28 -0
  338. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -0
  339. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts +4 -0
  340. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts.map +1 -0
  341. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js +18 -0
  342. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -0
  343. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +1 -2
  344. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  345. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
  346. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  347. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  348. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +9 -4
  349. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  350. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  351. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  352. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  353. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +2 -1
  354. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  355. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts +23 -3
  356. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
  357. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  358. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +10 -7
  359. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  360. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +38 -27
  361. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  362. package/lib/cjs/appui-react/statusbar/Indicator.js +1 -2
  363. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  364. package/lib/cjs/appui-react/statusbar/Overflow.js +1 -1
  365. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  366. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -3
  367. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  368. package/lib/cjs/appui-react/statusbar/StatusBar.js +21 -13
  369. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  370. package/lib/cjs/appui-react/statusbar/StatusBar.scss +18 -0
  371. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  372. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -0
  373. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  374. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  375. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +4 -2
  376. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  377. package/lib/cjs/appui-react/statusfields/SectionsField.js +1 -1
  378. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  379. package/lib/cjs/appui-react/statusfields/SelectionScope.js +2 -2
  380. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  381. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +2 -2
  382. package/lib/cjs/appui-react/statusfields/SnapMode.js +1 -1
  383. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  384. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.d.ts +11 -0
  385. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -0
  386. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js +91 -0
  387. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -0
  388. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.scss +25 -0
  389. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.d.ts +26 -0
  390. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.d.ts.map +1 -0
  391. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.js +28 -0
  392. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -0
  393. package/lib/{esm/appui-react/layout/footer/message-center/Message.scss → cjs/appui-react/statusfields/message-center/MessageCenterMessage.scss} +8 -17
  394. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  395. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +12 -6
  396. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  397. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts +3 -2
  398. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts.map +1 -1
  399. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js +4 -2
  400. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  401. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  402. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +1 -0
  403. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  404. package/lib/cjs/appui-react/syncui/UiSyncEvent.d.ts +2 -0
  405. package/lib/cjs/appui-react/syncui/UiSyncEvent.d.ts.map +1 -1
  406. package/lib/cjs/appui-react/syncui/UiSyncEvent.js +2 -0
  407. package/lib/cjs/appui-react/syncui/UiSyncEvent.js.map +1 -1
  408. package/lib/cjs/appui-react/theme/ThemeManager.js +2 -2
  409. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  410. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +1 -2
  411. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  412. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  413. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +2 -1
  414. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  415. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +7 -5
  416. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  417. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
  418. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  419. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +10 -17
  420. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  421. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +5 -3
  422. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  423. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.d.ts +4 -4
  424. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
  425. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js +4 -5
  426. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  427. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js +2 -1
  428. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  429. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +20 -22
  430. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  431. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
  432. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  433. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +3 -4
  434. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  435. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +1 -0
  436. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  437. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +11 -15
  438. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  439. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +1 -1
  440. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  441. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +14 -2
  442. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  443. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  444. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +7 -9
  445. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  446. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
  447. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -2
  448. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  449. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +45 -158
  450. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  451. package/lib/cjs/appui-react/uistate/AppUiSettings.js +1 -0
  452. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  453. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  454. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +1 -0
  455. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  456. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  457. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  458. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  459. package/lib/cjs/appui-react/widget-panels/Content.js +12 -11
  460. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  461. package/lib/cjs/appui-react/widget-panels/DockedBar.d.ts +13 -0
  462. package/lib/cjs/appui-react/widget-panels/DockedBar.d.ts.map +1 -0
  463. package/lib/cjs/appui-react/widget-panels/DockedBar.js +18 -0
  464. package/lib/cjs/appui-react/widget-panels/DockedBar.js.map +1 -0
  465. package/lib/cjs/appui-react/widget-panels/{StatusBar.scss → DockedBar.scss} +10 -4
  466. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  467. package/lib/cjs/appui-react/widget-panels/Frontstage.js +17 -19
  468. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  469. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js +2 -1
  470. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  471. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts +0 -1
  472. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  473. package/lib/cjs/appui-react/widget-panels/StatusBar.js +2 -5
  474. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  475. package/lib/cjs/appui-react/widget-panels/Tab.d.ts.map +1 -1
  476. package/lib/cjs/appui-react/widget-panels/Tab.js +2 -3
  477. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  478. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +0 -12
  479. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  480. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +29 -54
  481. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  482. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +4 -27
  483. package/lib/cjs/appui-react/widget-panels/Toolbars.js +2 -3
  484. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  485. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  486. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +2 -1
  487. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  488. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  489. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +8 -5
  490. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  491. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.d.ts +1 -1
  492. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  493. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  494. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -0
  495. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  496. package/lib/cjs/appui-react/widgets/WidgetDef.js +10 -11
  497. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  498. package/lib/cjs/appui-react/widgets/WidgetHost.js +2 -3
  499. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  500. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts +1 -6
  501. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  502. package/lib/cjs/appui-react/widgets/WidgetManager.js +2 -8
  503. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  504. package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
  505. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  506. package/lib/cjs/appui-react.d.ts +1 -1
  507. package/lib/cjs/appui-react.d.ts.map +1 -1
  508. package/lib/cjs/appui-react.js +1 -1
  509. package/lib/cjs/appui-react.js.map +1 -1
  510. package/lib/esm/appui-react/UiFramework.d.ts +4 -1
  511. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  512. package/lib/esm/appui-react/UiFramework.js +13 -14
  513. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  514. package/lib/esm/appui-react/UiFramework.json +345 -0
  515. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +1 -1
  516. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  517. package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
  518. package/lib/esm/appui-react/accudraw/Calculator.js +3 -1
  519. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  520. package/lib/esm/appui-react/accudraw/CalculatorPopup.d.ts.map +1 -1
  521. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  522. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +36 -12
  523. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  524. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +37 -19
  525. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  526. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  527. package/lib/esm/appui-react/backstage/BackstageComposer.js +2 -1
  528. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  529. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +4 -5
  530. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  531. package/lib/esm/appui-react/childwindow/ChildWindowConfig.d.ts +8 -6
  532. package/lib/esm/appui-react/childwindow/ChildWindowConfig.d.ts.map +1 -1
  533. package/lib/esm/appui-react/childwindow/ChildWindowConfig.js.map +1 -1
  534. package/lib/esm/appui-react/childwindow/{PopoutWidget.d.ts → ChildWindowWidget.d.ts} +4 -4
  535. package/lib/esm/appui-react/childwindow/ChildWindowWidget.d.ts.map +1 -0
  536. package/lib/esm/appui-react/childwindow/{PopoutWidget.js → ChildWindowWidget.js} +9 -3
  537. package/lib/esm/appui-react/childwindow/ChildWindowWidget.js.map +1 -0
  538. package/lib/{cjs/appui-react/childwindow/PopoutWidget.scss → esm/appui-react/childwindow/ChildWindowWidget.scss} +0 -1
  539. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts +3 -3
  540. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  541. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +25 -33
  542. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  543. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  544. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  545. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -12
  546. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  547. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +4 -15
  548. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  549. package/lib/esm/appui-react/configurableui/TimeTracker.js +1 -2
  550. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  551. package/lib/esm/appui-react/content/ContentControl.d.ts +2 -0
  552. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  553. package/lib/esm/appui-react/content/ContentControl.js +1 -0
  554. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  555. package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -0
  556. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  557. package/lib/esm/appui-react/content/ContentLayout.js +14 -14
  558. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  559. package/lib/esm/appui-react/content/DefaultViewOverlay.js +3 -4
  560. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  561. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +2 -2
  562. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  563. package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -3
  564. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  565. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  566. package/lib/esm/appui-react/content/IModelViewport.js +7 -8
  567. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  568. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +1 -2
  569. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  570. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts +5 -5
  571. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
  572. package/lib/esm/appui-react/content/InternalContentViewManager.js +6 -8
  573. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  574. package/lib/esm/appui-react/content/split-pane/SplitPane.js +10 -12
  575. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  576. package/lib/esm/appui-react/cursor/CursorInformation.d.ts +2 -0
  577. package/lib/esm/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  578. package/lib/esm/appui-react/cursor/CursorInformation.js +2 -0
  579. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  580. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  581. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
  582. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  583. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  584. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +1 -0
  585. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  586. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +5 -19
  587. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  588. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +5 -23
  589. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  590. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  591. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -0
  592. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  593. package/lib/esm/appui-react/dialog/ContentDialog.d.ts.map +1 -1
  594. package/lib/esm/appui-react/dialog/ContentDialog.js +8 -7
  595. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  596. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +5 -2
  597. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  598. package/lib/esm/appui-react/dialog/DialogManagerBase.js +6 -3
  599. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  600. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts +3 -2
  601. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  602. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js +2 -3
  603. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  604. package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts +3 -2
  605. package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -1
  606. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js +2 -2
  607. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  608. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts +3 -2
  609. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  610. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js +2 -3
  611. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  612. package/lib/esm/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
  613. package/lib/esm/appui-react/dialog/ModelessDialog.js +3 -1
  614. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  615. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  616. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js +3 -1
  617. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  618. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +2 -0
  619. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  620. package/lib/esm/appui-react/feedback/ElementTooltip.js +6 -2
  621. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  622. package/lib/esm/appui-react/framework/FrameworkContent.d.ts +5 -0
  623. package/lib/esm/appui-react/framework/FrameworkContent.d.ts.map +1 -1
  624. package/lib/esm/appui-react/framework/FrameworkContent.js +4 -0
  625. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
  626. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts +2 -0
  627. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts.map +1 -1
  628. package/lib/esm/appui-react/framework/FrameworkDialogs.js +4 -0
  629. package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
  630. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts +17 -1
  631. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  632. package/lib/esm/appui-react/framework/FrameworkFrontstages.js +8 -0
  633. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  634. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts +2 -0
  635. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -1
  636. package/lib/esm/appui-react/framework/FrameworkToolSettings.js +1 -0
  637. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  638. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  639. package/lib/esm/appui-react/frontstage/FrontstageDef.js +24 -22
  640. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  641. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts +29 -33
  642. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  643. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +46 -51
  644. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  645. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  646. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +8 -6
  647. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  648. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +4 -4
  649. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  650. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +4 -5
  651. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  652. package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  653. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js +1 -0
  654. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  655. package/lib/esm/appui-react/hooks/useActiveStageId.js +2 -1
  656. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  657. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  658. package/lib/esm/appui-react/hooks/useActiveViewport.js +2 -0
  659. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  660. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  661. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  662. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  663. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  664. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +8 -13
  665. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  666. package/lib/esm/appui-react/hooks/useTranslation.d.ts +7 -0
  667. package/lib/esm/appui-react/hooks/useTranslation.d.ts.map +1 -0
  668. package/lib/esm/appui-react/hooks/useTranslation.js +25 -0
  669. package/lib/esm/appui-react/hooks/useTranslation.js.map +1 -0
  670. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
  671. package/lib/esm/appui-react/hooks/useUiVisibility.js +1 -0
  672. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
  673. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -1
  674. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -0
  675. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  676. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +1 -0
  677. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  678. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -1
  679. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  680. package/lib/esm/appui-react/layout/StandardLayout.scss +1 -1
  681. package/lib/esm/appui-react/layout/base/DragManager.js +1 -2
  682. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  683. package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
  684. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  685. package/lib/esm/appui-react/layout/footer/_variables.scss +0 -2
  686. package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
  687. package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
  688. package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
  689. package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  690. package/lib/esm/appui-react/layout/state/NineZoneAction.d.ts +3 -2
  691. package/lib/esm/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
  692. package/lib/esm/appui-react/layout/state/NineZoneAction.js.map +1 -1
  693. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
  694. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +15 -16
  695. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  696. package/lib/esm/appui-react/layout/state/PanelState.d.ts +2 -5
  697. package/lib/esm/appui-react/layout/state/PanelState.d.ts.map +1 -1
  698. package/lib/esm/appui-react/layout/state/PanelState.js.map +1 -1
  699. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +1 -2
  700. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  701. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts +4 -3
  702. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  703. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js +10 -8
  704. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  705. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +2 -3
  706. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  707. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  708. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  709. package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
  710. package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  711. package/lib/esm/appui-react/layout/tool-settings/Docked.js +2 -2
  712. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  713. package/lib/esm/appui-react/layout/tool-settings/Docked.scss +3 -13
  714. package/lib/esm/appui-react/layout/tool-settings/Handle.scss +2 -2
  715. package/lib/esm/appui-react/layout/tool-settings/Setting.js +1 -1
  716. package/lib/esm/appui-react/layout/tool-settings/Setting.js.map +1 -1
  717. package/lib/esm/appui-react/layout/tool-settings/Setting.scss +1 -2
  718. package/lib/esm/appui-react/layout/widget/Button.d.ts +3 -2
  719. package/lib/esm/appui-react/layout/widget/Button.d.ts.map +1 -1
  720. package/lib/esm/appui-react/layout/widget/Button.js.map +1 -1
  721. package/lib/esm/appui-react/layout/widget/ContentContainer.js +1 -1
  722. package/lib/esm/appui-react/layout/widget/ContentContainer.js.map +1 -1
  723. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts +3 -3
  724. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  725. package/lib/esm/appui-react/layout/widget/ContentManager.js +7 -1
  726. package/lib/esm/appui-react/layout/widget/ContentManager.js.map +1 -1
  727. package/lib/esm/appui-react/layout/widget/ContentRenderer.js +2 -2
  728. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  729. package/lib/esm/appui-react/layout/widget/FloatingTab.js +5 -6
  730. package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
  731. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +2 -4
  732. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  733. package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
  734. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  735. package/lib/esm/appui-react/layout/widget/Tab.js +4 -4
  736. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  737. package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
  738. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  739. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  740. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  741. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +5 -8
  742. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  743. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +1 -2
  744. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  745. package/lib/esm/appui-react/messages/InputField.js +2 -1
  746. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  747. package/lib/esm/appui-react/messages/MessageManager.d.ts +12 -0
  748. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  749. package/lib/esm/appui-react/messages/MessageManager.js +18 -10
  750. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  751. package/lib/esm/appui-react/messages/MessageRenderer.js +8 -9
  752. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  753. package/lib/esm/appui-react/messages/Pointer.d.ts +2 -0
  754. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  755. package/lib/esm/appui-react/messages/Pointer.js +7 -9
  756. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  757. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +2 -0
  758. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  759. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -0
  760. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  761. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  762. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -0
  763. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  764. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -0
  765. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  766. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +11 -3
  767. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  768. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  769. package/lib/esm/appui-react/pickers/ListPicker.js +3 -1
  770. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  771. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +2 -0
  772. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  773. package/lib/esm/appui-react/pickers/ViewSelector.js +9 -14
  774. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  775. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  776. package/lib/esm/appui-react/popup/CardPopup.js +2 -3
  777. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  778. package/lib/esm/appui-react/popup/ComponentPopup.d.ts.map +1 -1
  779. package/lib/esm/appui-react/popup/ComponentPopup.js +1 -1
  780. package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -1
  781. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  782. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  783. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  784. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  785. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  786. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +8 -5
  787. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  788. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  789. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +1 -1
  790. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  791. package/lib/esm/appui-react/popup/PopupManager.d.ts +5 -1
  792. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  793. package/lib/esm/appui-react/popup/PopupManager.js +24 -24
  794. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  795. package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
  796. package/lib/esm/appui-react/popup/PositionPopup.js +1 -0
  797. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  798. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  799. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  800. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  801. package/lib/esm/appui-react/popup/ToolbarPopup.js +2 -3
  802. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  803. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +7 -0
  804. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  805. package/lib/esm/appui-react/preview/PreviewFeatures.js +8 -6
  806. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  807. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +2 -2
  808. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  809. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  810. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  811. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -1
  812. package/lib/esm/appui-react/preview/new-toolbars/Badge.js +3 -3
  813. package/lib/esm/appui-react/preview/new-toolbars/Badge.js.map +1 -1
  814. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +1 -1
  815. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
  816. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +2 -2
  817. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
  818. package/lib/esm/appui-react/preview/new-toolbars/Item.js +1 -1
  819. package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -1
  820. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +1 -1
  821. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -1
  822. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +2 -3
  823. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  824. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
  825. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +11 -0
  826. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -0
  827. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +36 -0
  828. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -0
  829. package/lib/{cjs/appui-react/layout/footer/message-center/_variables.scss → esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss} +3 -1
  830. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts +7 -0
  831. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts.map +1 -0
  832. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.js +21 -0
  833. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.js.map +1 -0
  834. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts +9 -0
  835. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts.map +1 -0
  836. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js +22 -0
  837. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js.map +1 -0
  838. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts +13 -0
  839. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts.map +1 -0
  840. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js +41 -0
  841. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js.map +1 -0
  842. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
  843. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts +18 -0
  844. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts.map +1 -0
  845. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js +25 -0
  846. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -0
  847. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts +4 -0
  848. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts.map +1 -0
  849. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js +14 -0
  850. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -0
  851. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +1 -2
  852. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  853. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
  854. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  855. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  856. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +9 -4
  857. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  858. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  859. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  860. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  861. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +2 -1
  862. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  863. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts +23 -3
  864. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
  865. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  866. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +10 -7
  867. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  868. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +37 -25
  869. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  870. package/lib/esm/appui-react/statusbar/Indicator.js +1 -2
  871. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  872. package/lib/esm/appui-react/statusbar/Overflow.js +1 -1
  873. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  874. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -3
  875. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  876. package/lib/esm/appui-react/statusbar/StatusBar.js +21 -13
  877. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  878. package/lib/esm/appui-react/statusbar/StatusBar.scss +18 -0
  879. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  880. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -0
  881. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  882. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  883. package/lib/esm/appui-react/statusfields/ActivityCenter.js +4 -2
  884. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  885. package/lib/esm/appui-react/statusfields/SectionsField.js +1 -1
  886. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  887. package/lib/esm/appui-react/statusfields/SelectionScope.js +3 -3
  888. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  889. package/lib/esm/appui-react/statusfields/SelectionScope.scss +2 -2
  890. package/lib/esm/appui-react/statusfields/SnapMode.js +1 -1
  891. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  892. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.d.ts +11 -0
  893. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -0
  894. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js +87 -0
  895. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -0
  896. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.scss +25 -0
  897. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.d.ts +26 -0
  898. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.d.ts.map +1 -0
  899. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.js +24 -0
  900. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -0
  901. package/lib/{cjs/appui-react/layout/footer/message-center/Message.scss → esm/appui-react/statusfields/message-center/MessageCenterMessage.scss} +8 -17
  902. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  903. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -7
  904. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  905. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts +3 -2
  906. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts.map +1 -1
  907. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js +4 -2
  908. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  909. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  910. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +1 -0
  911. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  912. package/lib/esm/appui-react/syncui/UiSyncEvent.d.ts +2 -0
  913. package/lib/esm/appui-react/syncui/UiSyncEvent.d.ts.map +1 -1
  914. package/lib/esm/appui-react/syncui/UiSyncEvent.js +2 -0
  915. package/lib/esm/appui-react/syncui/UiSyncEvent.js.map +1 -1
  916. package/lib/esm/appui-react/theme/ThemeManager.js +2 -2
  917. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  918. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +1 -2
  919. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  920. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  921. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +3 -2
  922. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  923. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +7 -5
  924. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  925. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
  926. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  927. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +10 -17
  928. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  929. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +5 -3
  930. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  931. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.d.ts +4 -4
  932. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
  933. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js +4 -5
  934. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  935. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js +2 -1
  936. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  937. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +20 -22
  938. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  939. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
  940. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  941. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -3
  942. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  943. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +1 -0
  944. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  945. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +11 -15
  946. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  947. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +1 -1
  948. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  949. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +14 -2
  950. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  951. package/lib/esm/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  952. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +7 -9
  953. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  954. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
  955. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -2
  956. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  957. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +45 -158
  958. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  959. package/lib/esm/appui-react/uistate/AppUiSettings.js +1 -0
  960. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  961. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  962. package/lib/esm/appui-react/uistate/useUiStateStorage.js +1 -0
  963. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  964. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  965. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  966. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  967. package/lib/esm/appui-react/widget-panels/Content.js +12 -11
  968. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  969. package/lib/esm/appui-react/widget-panels/DockedBar.d.ts +13 -0
  970. package/lib/esm/appui-react/widget-panels/DockedBar.d.ts.map +1 -0
  971. package/lib/esm/appui-react/widget-panels/DockedBar.js +14 -0
  972. package/lib/esm/appui-react/widget-panels/DockedBar.js.map +1 -0
  973. package/lib/esm/appui-react/widget-panels/{StatusBar.scss → DockedBar.scss} +10 -4
  974. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  975. package/lib/esm/appui-react/widget-panels/Frontstage.js +17 -19
  976. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  977. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js +2 -1
  978. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  979. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts +0 -1
  980. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  981. package/lib/esm/appui-react/widget-panels/StatusBar.js +2 -5
  982. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  983. package/lib/esm/appui-react/widget-panels/Tab.d.ts.map +1 -1
  984. package/lib/esm/appui-react/widget-panels/Tab.js +3 -4
  985. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  986. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +0 -12
  987. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  988. package/lib/esm/appui-react/widget-panels/ToolSettings.js +28 -52
  989. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  990. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +4 -27
  991. package/lib/esm/appui-react/widget-panels/Toolbars.js +2 -3
  992. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  993. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  994. package/lib/esm/appui-react/widgets/BackstageAppButton.js +2 -1
  995. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  996. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  997. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +8 -5
  998. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  999. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.d.ts +1 -1
  1000. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  1001. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  1002. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -0
  1003. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  1004. package/lib/esm/appui-react/widgets/WidgetDef.js +10 -11
  1005. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  1006. package/lib/esm/appui-react/widgets/WidgetHost.js +2 -3
  1007. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  1008. package/lib/esm/appui-react/widgets/WidgetManager.d.ts +1 -6
  1009. package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  1010. package/lib/esm/appui-react/widgets/WidgetManager.js +1 -6
  1011. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  1012. package/lib/esm/appui-react/widgets/useWidget.js +1 -1
  1013. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  1014. package/lib/esm/appui-react.d.ts +1 -1
  1015. package/lib/esm/appui-react.d.ts.map +1 -1
  1016. package/lib/esm/appui-react.js +1 -1
  1017. package/lib/esm/appui-react.js.map +1 -1
  1018. package/lib/public/locales/en/UiFramework.json +1 -1
  1019. package/package.json +13 -39
  1020. package/lib/cjs/appui-react/childwindow/PopoutWidget.d.ts.map +0 -1
  1021. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +0 -1
  1022. package/lib/cjs/appui-react/layout/footer/Footer.d.ts +0 -33
  1023. package/lib/cjs/appui-react/layout/footer/Footer.d.ts.map +0 -1
  1024. package/lib/cjs/appui-react/layout/footer/Footer.js +0 -30
  1025. package/lib/cjs/appui-react/layout/footer/Footer.js.map +0 -1
  1026. package/lib/cjs/appui-react/layout/footer/Footer.scss +0 -61
  1027. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.d.ts +0 -29
  1028. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.d.ts.map +0 -1
  1029. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.js +0 -32
  1030. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.js.map +0 -1
  1031. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.scss +0 -64
  1032. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.d.ts +0 -29
  1033. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.d.ts.map +0 -1
  1034. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.js +0 -33
  1035. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.js.map +0 -1
  1036. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.scss +0 -106
  1037. package/lib/cjs/appui-react/layout/footer/message-center/Message.d.ts +0 -22
  1038. package/lib/cjs/appui-react/layout/footer/message-center/Message.d.ts.map +0 -1
  1039. package/lib/cjs/appui-react/layout/footer/message-center/Message.js +0 -26
  1040. package/lib/cjs/appui-react/layout/footer/message-center/Message.js.map +0 -1
  1041. package/lib/cjs/appui-react/layout/footer/message-center/Tab.d.ts +0 -24
  1042. package/lib/cjs/appui-react/layout/footer/message-center/Tab.d.ts.map +0 -1
  1043. package/lib/cjs/appui-react/layout/footer/message-center/Tab.js +0 -26
  1044. package/lib/cjs/appui-react/layout/footer/message-center/Tab.js.map +0 -1
  1045. package/lib/cjs/appui-react/layout/footer/message-center/Tab.scss +0 -60
  1046. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +0 -46
  1047. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +0 -1
  1048. package/lib/cjs/appui-react/statusfields/MessageCenter.js +0 -132
  1049. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +0 -1
  1050. package/lib/cjs/appui-react/useTranslation.d.ts +0 -10
  1051. package/lib/cjs/appui-react/useTranslation.d.ts.map +0 -1
  1052. package/lib/cjs/appui-react/useTranslation.js.map +0 -1
  1053. package/lib/esm/appui-react/childwindow/PopoutWidget.d.ts.map +0 -1
  1054. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +0 -1
  1055. package/lib/esm/appui-react/layout/footer/Footer.d.ts +0 -33
  1056. package/lib/esm/appui-react/layout/footer/Footer.d.ts.map +0 -1
  1057. package/lib/esm/appui-react/layout/footer/Footer.js +0 -26
  1058. package/lib/esm/appui-react/layout/footer/Footer.js.map +0 -1
  1059. package/lib/esm/appui-react/layout/footer/Footer.scss +0 -61
  1060. package/lib/esm/appui-react/layout/footer/message-center/Dialog.d.ts +0 -29
  1061. package/lib/esm/appui-react/layout/footer/message-center/Dialog.d.ts.map +0 -1
  1062. package/lib/esm/appui-react/layout/footer/message-center/Dialog.js +0 -28
  1063. package/lib/esm/appui-react/layout/footer/message-center/Dialog.js.map +0 -1
  1064. package/lib/esm/appui-react/layout/footer/message-center/Dialog.scss +0 -64
  1065. package/lib/esm/appui-react/layout/footer/message-center/Indicator.d.ts +0 -29
  1066. package/lib/esm/appui-react/layout/footer/message-center/Indicator.d.ts.map +0 -1
  1067. package/lib/esm/appui-react/layout/footer/message-center/Indicator.js +0 -29
  1068. package/lib/esm/appui-react/layout/footer/message-center/Indicator.js.map +0 -1
  1069. package/lib/esm/appui-react/layout/footer/message-center/Indicator.scss +0 -106
  1070. package/lib/esm/appui-react/layout/footer/message-center/Message.d.ts +0 -22
  1071. package/lib/esm/appui-react/layout/footer/message-center/Message.d.ts.map +0 -1
  1072. package/lib/esm/appui-react/layout/footer/message-center/Message.js +0 -22
  1073. package/lib/esm/appui-react/layout/footer/message-center/Message.js.map +0 -1
  1074. package/lib/esm/appui-react/layout/footer/message-center/Tab.d.ts +0 -24
  1075. package/lib/esm/appui-react/layout/footer/message-center/Tab.d.ts.map +0 -1
  1076. package/lib/esm/appui-react/layout/footer/message-center/Tab.js +0 -22
  1077. package/lib/esm/appui-react/layout/footer/message-center/Tab.js.map +0 -1
  1078. package/lib/esm/appui-react/layout/footer/message-center/Tab.scss +0 -60
  1079. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +0 -46
  1080. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +0 -1
  1081. package/lib/esm/appui-react/statusfields/MessageCenter.js +0 -128
  1082. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +0 -1
  1083. package/lib/esm/appui-react/useTranslation.d.ts +0 -10
  1084. package/lib/esm/appui-react/useTranslation.d.ts.map +0 -1
  1085. package/lib/esm/appui-react/useTranslation.js +0 -16
  1086. package/lib/esm/appui-react/useTranslation.js.map +0 -1
@@ -0,0 +1,14 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import * as React from "react";
6
+ import "./DockedBar.scss";
7
+ import classnames from "classnames";
8
+ /** @internal */
9
+ export function DockedBar(props) {
10
+ const { className, placement, ...otherProps } = props;
11
+ const divClassName = classnames("uifw-dockedBar", className);
12
+ return (React.createElement("div", { ...otherProps, className: divClassName, "data-placement": placement }, props.children));
13
+ }
14
+ //# sourceMappingURL=DockedBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DockedBar.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/DockedBar.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,kBAAkB,CAAC;AAE1B,OAAO,UAAU,MAAM,YAAY,CAAC;AAUpC,gBAAgB;AAChB,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;IACtD,MAAM,YAAY,GAAG,UAAU,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC7D,OAAO,CACL,gCAAS,UAAU,EAAE,SAAS,EAAE,YAAY,oBAAkB,SAAS,IACpE,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as React from \"react\";\nimport \"./DockedBar.scss\";\nimport type { CommonDivProps } from \"@itwin/core-react\";\nimport classnames from \"classnames\";\n\n/** Properties of [[DockedBar]] component.\n * @internal\n */\nexport interface DockedBarProps extends CommonDivProps {\n /** Placement of the bar. */\n placement?: \"top\" | \"bottom\";\n}\n\n/** @internal */\nexport function DockedBar(props: DockedBarProps) {\n const { className, placement, ...otherProps } = props;\n const divClassName = classnames(\"uifw-dockedBar\", className);\n return (\n <div {...otherProps} className={divClassName} data-placement={placement}>\n {props.children}\n </div>\n );\n}\n"]}
@@ -2,10 +2,16 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
6
5
 
7
- .uifw-widgetPanels-statusBar {
8
- > div {
9
- background-color: $buic-background-2;
6
+ .uifw-dockedBar {
7
+ background-color: var(--iui-color-background);
8
+ height: var(--iui-component-height);
9
+
10
+ &[data-placement="top"] {
11
+ border-block-end: 1px solid var(--iui-color-border);
12
+ }
13
+
14
+ &[data-placement="bottom"] {
15
+ border-block-start: 1px solid var(--iui-color-border);
10
16
  }
11
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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"}
@@ -50,7 +50,8 @@ import { WidgetPanelProvider } from "../layout/widget-panels/Panel";
50
50
  import { WidgetContentRenderers } from "../layout/widget/ContentRenderer";
51
51
  import { useCursor } from "../layout/widget-panels/CursorOverlay";
52
52
  import { WidgetPanelExpanders } from "../layout/widget-panels/Expander";
53
- import { useTranslation } from "../useTranslation";
53
+ import { useTranslation } from "../hooks/useTranslation";
54
+ import { PopoutWidgets } from "../preview/reparent-popout-widgets/PopoutWidgets";
54
55
  function WidgetPanelsFrontstageComponent() {
55
56
  const activeModalFrontstageInfo = useActiveModalFrontstageInfo();
56
57
  const uiIsVisible = useUiVisibility();
@@ -65,14 +66,15 @@ function WidgetPanelsFrontstageComponent() {
65
66
  React.createElement(WidgetPanelExpanders, null)), toolSettings: React.createElement(WidgetPanelsToolSettings, null), statusBar: React.createElement(WidgetPanelsStatusBar, null), topPanel: React.createElement(WidgetPanelProvider, { side: "top" }), leftPanel: React.createElement(WidgetPanelProvider, { side: "left" }), rightPanel: React.createElement(WidgetPanelProvider, { side: "right" }), bottomPanel: React.createElement(WidgetPanelProvider, { side: "bottom" }) },
66
67
  React.createElement(WidgetPanelsFrontstageContent, null)),
67
68
  React.createElement(WidgetContentRenderers, null),
68
- React.createElement(FloatingWidgets, null)))));
69
+ React.createElement(FloatingWidgets, null),
70
+ React.createElement(PopoutWidgets, null)))));
69
71
  }
70
72
  const widgetContent = React.createElement(WidgetContent, null);
71
73
  const toolSettingsContent = React.createElement(ToolSettingsContent, null);
72
74
  const widgetPanelsFrontstage = React.createElement(WidgetPanelsFrontstageComponent, null);
73
75
  /** @internal */
74
76
  export function useLayoutStore(frontstageDef) {
75
- const layoutStore = React.useMemo(() => createLayoutStore(frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.nineZoneState), [frontstageDef]);
77
+ const layoutStore = React.useMemo(() => createLayoutStore(frontstageDef?.nineZoneState), [frontstageDef]);
76
78
  React.useEffect(() => {
77
79
  return InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener((args) => {
78
80
  if (args.frontstageDef !== frontstageDef)
@@ -196,10 +198,9 @@ export function useLabels() {
196
198
  };
197
199
  }
198
200
  function toTabArgs(widget) {
199
- var _a;
200
201
  const label = getWidgetLabel(widget.label);
201
202
  const args = {
202
- allowedPanelTargets: (_a = widget.allowedPanelTargets) === null || _a === void 0 ? void 0 : _a.map((location) => toPanelSide(location)),
203
+ allowedPanelTargets: widget.allowedPanelTargets?.map((location) => toPanelSide(location)),
203
204
  hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,
204
205
  canPopout: widget.canPopout,
205
206
  iconSpec: widget.iconSpec,
@@ -316,11 +317,10 @@ function hideWidgetDef(frontstageDef, widgetDef) {
316
317
  * @internal
317
318
  */
318
319
  function removeMissingWidgets(frontstageDef) {
319
- var _a;
320
320
  const state = frontstageDef.nineZoneState;
321
321
  if (!state)
322
322
  return;
323
- const toolSettingsTabId = (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId;
323
+ const toolSettingsTabId = state.toolSettings?.tabId;
324
324
  for (const [, tab] of Object.entries(state.tabs)) {
325
325
  if (tab.id === toolSettingsTabId)
326
326
  continue;
@@ -343,8 +343,8 @@ export function getPanelSectionId(location, section) {
343
343
  /** @internal */
344
344
  export function getPanelSectionWidgets(frontstageDef, location, section) {
345
345
  const stagePanel = frontstageDef.getStagePanelDef(location);
346
- const panelSection = stagePanel === null || stagePanel === void 0 ? void 0 : stagePanel.getPanelSectionDef(section);
347
- return (panelSection === null || panelSection === void 0 ? void 0 : panelSection.widgetDefs) || [];
346
+ const panelSection = stagePanel?.getPanelSectionDef(section);
347
+ return panelSection?.widgetDefs || [];
348
348
  }
349
349
  /** @internal */
350
350
  export function isFrontstageStateSettingResult(settingsResult) {
@@ -354,12 +354,12 @@ export function isFrontstageStateSettingResult(settingsResult) {
354
354
  }
355
355
  /** @internal */
356
356
  export function initializePanel(frontstageDef, location) {
357
- var _a, _b;
358
357
  const side = toPanelSide(location);
359
358
  const panelDef = frontstageDef.getStagePanelDef(location);
360
359
  if (!panelDef)
361
360
  return;
362
- const size = panelDef.defaultSize;
361
+ // eslint-disable-next-line deprecation/deprecation
362
+ const size = panelDef.initialConfig?.sizeSpec ?? panelDef.initialConfig?.size;
363
363
  size !== undefined &&
364
364
  frontstageDef.dispatch({
365
365
  type: "PANEL_SET_SIZE",
@@ -376,14 +376,14 @@ export function initializePanel(frontstageDef, location) {
376
376
  side,
377
377
  resizable: panelDef.defaultResizable,
378
378
  });
379
- const minSize = (_a = panelDef.initialConfig) === null || _a === void 0 ? void 0 : _a.minSize;
379
+ const minSize = panelDef.initialConfig?.minSizeSpec ?? panelDef.initialConfig?.minSize; // eslint-disable-line deprecation/deprecation
380
380
  minSize !== undefined &&
381
381
  frontstageDef.dispatch({
382
382
  type: "PANEL_SET_MIN_SIZE",
383
383
  side,
384
384
  minSize,
385
385
  });
386
- const maxSize = (_b = panelDef.initialConfig) === null || _b === void 0 ? void 0 : _b.maxSize;
386
+ const maxSize = panelDef.initialConfig?.maxSizeSpec ?? panelDef.initialConfig?.maxSize; // eslint-disable-line deprecation/deprecation
387
387
  maxSize !== undefined &&
388
388
  frontstageDef.dispatch({
389
389
  type: "PANEL_SET_MAX_SIZE",
@@ -613,7 +613,7 @@ function debounce(func, duration) {
613
613
  if (timeout === undefined)
614
614
  return;
615
615
  debounced.cancel();
616
- handler === null || handler === void 0 ? void 0 : handler();
616
+ handler?.();
617
617
  };
618
618
  return debounced;
619
619
  }
@@ -635,16 +635,15 @@ export function useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel)
635
635
  const defaultLabel = translate("widget.labels.toolSettings");
636
636
  React.useEffect(() => {
637
637
  const updateLabel = () => {
638
- var _a, _b;
639
638
  const state = frontstageDef.nineZoneState;
640
639
  if (!state)
641
640
  return;
642
- const toolSettingsTabId = (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId;
641
+ const toolSettingsTabId = state.toolSettings?.tabId;
643
642
  if (!toolSettingsTabId)
644
643
  return;
645
644
  const toolId = UiFramework.frontstages.activeToolId;
646
645
  const label = useToolAsToolSettingsLabel
647
- ? ((_b = IModelApp.tools.find(toolId)) === null || _b === void 0 ? void 0 : _b.flyover) || defaultLabel
646
+ ? IModelApp.tools.find(toolId)?.flyover || defaultLabel
648
647
  : defaultLabel;
649
648
  frontstageDef.dispatch({
650
649
  type: "WIDGET_TAB_SET_LABEL",
@@ -678,8 +677,7 @@ export function useItemsManager(frontstageDef) {
678
677
  // Not initialized yet.
679
678
  if (!frontstageDef.nineZoneState)
680
679
  return;
681
- // Need to refresh anytime frontstageDef changes because uiItemsProvider may have added something to
682
- // another stage before it was possibly unloaded in this stage.
680
+ // Need to refresh because UiItemsProvider may have added something while another frontstage was active.
683
681
  refreshNineZoneState(frontstageDef);
684
682
  }, [frontstageDef]);
685
683
  React.useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"Frontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Frontstage\n */\n\n// cSpell:ignore popout\n\nimport { ToolbarPopupAutoHideContext } from \"@itwin/components-react\";\nimport { assert, Logger, ProcessDetector } from \"@itwin/core-bentley\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { UiStateStorageResult } from \"@itwin/core-react\";\nimport { Size, UiStateStorageStatus } from \"@itwin/core-react\";\nimport produce from \"immer\";\nimport * as React from \"react\";\nimport { unstable_batchedUpdates } from \"react-dom\";\nimport { useSelector } from \"react-redux\";\nimport type { FrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport { useEscapeSetFocusToHome } from \"../hooks/useEscapeSetFocusToHome\";\nimport { useUiVisibility } from \"../hooks/useUiVisibility\";\nimport type { LayoutStore } from \"../layout/base/LayoutStore\";\nimport { createLayoutStore } from \"../layout/base/LayoutStore\";\nimport type { NineZoneDispatch, NineZoneLabels } from \"../layout/base/NineZone\";\nimport { getUniqueId, NineZone } from \"../layout/base/NineZone\";\nimport { activateDroppedTab } from \"../preview/activate-dropped-tab/activateDroppedTab\";\nimport type { NineZoneState } from \"../layout/state/NineZoneState\";\nimport { createNineZoneState } from \"../layout/state/NineZoneState\";\nimport { NineZoneStateReducer } from \"../layout/state/NineZoneStateReducer\";\nimport { getWidgetPanelSectionId } from \"../layout/state/PanelState\";\nimport type { TabState } from \"../layout/state/TabState\";\nimport { FloatingWidgets } from \"../layout/widget/FloatingWidgets\";\nimport { PreviewHorizontalPanelAlignFeatureProvider } from \"../preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign\";\nimport { usePreviewFeatures } from \"../preview/PreviewFeatures\";\nimport type { FrameworkState } from \"../redux/FrameworkState\";\nimport type { FrameworkRootState } from \"../redux/StateManager\";\nimport { toPanelSide } from \"../stagepanels/StagePanelDef\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection\";\nimport { StagePanelState } from \"../stagepanels/StagePanelState\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport { UiFramework } from \"../UiFramework\";\nimport { useUiStateStorageHandler } from \"../uistate/useUiStateStorage\";\nimport type { WidgetDef } from \"../widgets/WidgetDef\";\nimport { WidgetState } from \"../widgets/WidgetState\";\nimport { WidgetContent } from \"./Content\";\nimport { FloatingWidget } from \"./FloatingWidget\";\nimport \"./Frontstage.scss\";\nimport { WidgetPanelsFrontstageContent } from \"./FrontstageContent\";\nimport {\n ModalFrontstageComposer,\n useActiveModalFrontstageInfo,\n} from \"./ModalFrontstageComposer\";\nimport { WidgetPanelsStatusBar } from \"./StatusBar\";\nimport { WidgetPanelsTab } from \"./Tab\";\nimport { WidgetPanelsToolbars } from \"./Toolbars\";\nimport { ToolSettingsContent, WidgetPanelsToolSettings } from \"./ToolSettings\";\nimport { MaximizedWidgetProvider } from \"../preview/enable-maximized-widget/MaximizedWidget\";\nimport { StandardLayout } from \"../layout/StandardLayout\";\nimport { WidgetPanelProvider } from \"../layout/widget-panels/Panel\";\nimport { WidgetContentRenderers } from \"../layout/widget/ContentRenderer\";\nimport { useCursor } from \"../layout/widget-panels/CursorOverlay\";\nimport { WidgetPanelExpanders } from \"../layout/widget-panels/Expander\";\nimport { useTranslation } from \"../useTranslation\";\n\nfunction WidgetPanelsFrontstageComponent() {\n const activeModalFrontstageInfo = useActiveModalFrontstageInfo();\n const uiIsVisible = useUiVisibility();\n const previewFeatures = usePreviewFeatures();\n useCursor();\n\n return (\n <MaximizedWidgetProvider>\n <PreviewHorizontalPanelAlignFeatureProvider\n enabled={previewFeatures.horizontalPanelAlignment}\n >\n <ToolbarPopupAutoHideContext.Provider value={!uiIsVisible}>\n <ModalFrontstageComposer stageInfo={activeModalFrontstageInfo} />\n <StandardLayout\n centerContent={\n <>\n <WidgetPanelsToolbars />\n <WidgetPanelExpanders />\n </>\n }\n toolSettings={<WidgetPanelsToolSettings />}\n statusBar={<WidgetPanelsStatusBar />}\n topPanel={<WidgetPanelProvider side=\"top\" />}\n leftPanel={<WidgetPanelProvider side=\"left\" />}\n rightPanel={<WidgetPanelProvider side=\"right\" />}\n bottomPanel={<WidgetPanelProvider side=\"bottom\" />}\n >\n <WidgetPanelsFrontstageContent />\n </StandardLayout>\n <WidgetContentRenderers />\n <FloatingWidgets />\n </ToolbarPopupAutoHideContext.Provider>\n </PreviewHorizontalPanelAlignFeatureProvider>\n </MaximizedWidgetProvider>\n );\n}\n\nconst widgetContent = <WidgetContent />;\nconst toolSettingsContent = <ToolSettingsContent />;\nconst widgetPanelsFrontstage = <WidgetPanelsFrontstageComponent />;\n\n/** @internal */\nexport function useLayoutStore(frontstageDef: FrontstageDef | undefined) {\n const layoutStore = React.useMemo(\n () => createLayoutStore(frontstageDef?.nineZoneState),\n [frontstageDef]\n );\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(\n (args) => {\n if (args.frontstageDef !== frontstageDef) return;\n unstable_batchedUpdates(() => {\n // https://github.com/pmndrs/zustand/blob/main/docs/guides/event-handler-in-pre-react-18.md\n layoutStore.setState(args.state || defaultNineZone);\n });\n }\n );\n }, [frontstageDef, layoutStore]);\n return layoutStore;\n}\n\n/** Update in-memory NineZoneState of newly activated frontstage with up to date size.\n * @internal\n */\nexport function useUpdateNineZoneSize(frontstageDef: FrontstageDef) {\n React.useEffect(() => {\n const size = InternalFrontstageManager.nineZoneSize;\n if (!size) return;\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size: {\n height: size.height,\n width: size.width,\n },\n });\n }, [frontstageDef]);\n}\n\nconst log =\n (reducer: typeof NineZoneStateReducer): typeof NineZoneStateReducer =>\n (state, action) => {\n Logger.logTrace(\"appui-react:reducer\", `action ${action.type}`, () => ({\n action,\n state,\n }));\n return reducer(state, action);\n };\n\n/** @internal */\nexport function useNineZoneDispatch(frontstageDef: FrontstageDef) {\n const features = usePreviewFeatures();\n\n const reducer = React.useMemo(() => {\n let nineZoneStateReducer = log(NineZoneStateReducer);\n\n nineZoneStateReducer = features.activateDroppedTab\n ? activateDroppedTab(nineZoneStateReducer)\n : nineZoneStateReducer;\n return nineZoneStateReducer;\n }, [features.activateDroppedTab]);\n\n return React.useCallback<NineZoneDispatch>(\n (action) => {\n if (action.type === \"RESIZE\") {\n InternalFrontstageManager.nineZoneSize = Size.create(action.size);\n }\n\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n frontstageDef.nineZoneState = reducer(state, action);\n },\n [frontstageDef, reducer]\n );\n}\n\n/** @internal */\nexport function WidgetPanelsFrontstage() {\n const frontstageDef = useActiveFrontstageDef();\n\n React.useEffect(() => {\n const triggerWidowCloseProcessing = () => {\n frontstageDef && frontstageDef.setIsApplicationClosing(true);\n };\n window.addEventListener(\"unload\", triggerWidowCloseProcessing);\n return () => {\n window.removeEventListener(\"unload\", triggerWidowCloseProcessing);\n };\n }, [frontstageDef]);\n\n if (!frontstageDef) return null;\n return <ActiveFrontstageDefProvider frontstageDef={frontstageDef} />;\n}\n\nconst defaultNineZone = createNineZoneState();\nconst tabElement = <WidgetPanelsTab />;\nconst floatingWidgetElement = <FloatingWidget />;\n\ninterface ActiveFrontstageDefProviderProps {\n frontstageDef: FrontstageDef;\n}\n\n/** @internal */\nexport function ActiveFrontstageDefProvider({\n frontstageDef,\n}: ActiveFrontstageDefProviderProps) {\n const dispatch = useNineZoneDispatch(frontstageDef);\n frontstageDef.dispatch = dispatch;\n const layout = useLayoutStore(frontstageDef);\n useUpdateNineZoneSize(frontstageDef);\n useSavedFrontstageState(frontstageDef);\n useSaveFrontstageSettings(frontstageDef, layout);\n useItemsManager(frontstageDef);\n const labels = useLabels();\n const uiIsVisible = useUiVisibility();\n const showWidgetIcon = useSelector((state: FrameworkRootState) => {\n const frameworkState: FrameworkState = (state as any)[\n UiFramework.frameworkStateKey\n ];\n return !!frameworkState.configurableUiState.showWidgetIcon;\n });\n const autoCollapseUnpinnedPanels = useSelector(\n (state: FrameworkRootState) => {\n const frameworkState: FrameworkState = (state as any)[\n UiFramework.frameworkStateKey\n ];\n return !!frameworkState.configurableUiState.autoCollapseUnpinnedPanels;\n }\n );\n const animateToolSettings = useSelector((state: FrameworkRootState) => {\n const frameworkState: FrameworkState = (state as any)[\n UiFramework.frameworkStateKey\n ];\n return !!frameworkState.configurableUiState.animateToolSettings;\n });\n const useToolAsToolSettingsLabel = useSelector(\n (state: FrameworkRootState) => {\n const frameworkState: FrameworkState = (state as any)[\n UiFramework.frameworkStateKey\n ];\n return !!frameworkState.configurableUiState.useToolAsToolSettingsLabel;\n }\n );\n useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel);\n\n const handleKeyDown = useEscapeSetFocusToHome();\n\n return (\n <div\n className=\"uifw-widgetPanels-frontstage\"\n onKeyDown={handleKeyDown}\n role=\"presentation\"\n >\n <NineZone\n dispatch={dispatch}\n labels={labels}\n layout={layout}\n tab={tabElement}\n floatingWidget={floatingWidgetElement}\n showWidgetIcon={showWidgetIcon}\n autoCollapseUnpinnedPanels={autoCollapseUnpinnedPanels}\n toolSettingsContent={toolSettingsContent}\n widgetContent={widgetContent}\n animateDockedToolSettings={animateToolSettings}\n uiIsVisible={uiIsVisible}\n >\n {widgetPanelsFrontstage}\n </NineZone>\n </div>\n );\n}\n\n/** @internal */\nexport function useLabels(): NineZoneLabels {\n const { translate } = useTranslation();\n\n return {\n dockToolSettingsTitle: translate(\"widget.tooltips.dockToolSettings\"),\n moreWidgetsTitle: translate(\"widget.tooltips.moreWidgets\"),\n moreToolSettingsTitle: translate(\"widget.tooltips.moreToolSettings\"),\n pinPanelTitle: translate(\"widget.tooltips.pinPanel\"),\n resizeGripTitle: translate(\"widget.tooltips.resizeGrip\"),\n sendWidgetHomeTitle: translate(\"widget.tooltips.sendHome\"),\n toolSettingsHandleTitle: translate(\"widget.tooltips.toolSettingsHandle\"),\n unpinPanelTitle: translate(\"widget.tooltips.unpinPanel\"),\n popoutActiveTab: translate(\"widget.tooltips.popoutActiveTab\"),\n };\n}\n\nfunction toTabArgs(widget: WidgetDef) {\n const label = getWidgetLabel(widget.label);\n const args = {\n allowedPanelTargets: widget.allowedPanelTargets?.map((location) =>\n toPanelSide(location)\n ),\n hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,\n canPopout: widget.canPopout,\n iconSpec: widget.iconSpec,\n isFloatingWidgetResizable: widget.isFloatingStateWindowResizable,\n label,\n preferredFloatingWidgetSize: widget.defaultFloatingSize,\n preferredPanelWidgetSize: widget.preferredPanelSize,\n };\n return args satisfies Pick<TabState, keyof typeof args>;\n}\n\nfunction addWidgetDef(\n frontstageDef: FrontstageDef,\n widgetDef: WidgetDef,\n location: StagePanelLocation,\n section: StagePanelSection\n) {\n const side = toPanelSide(location);\n\n const isFloatingWidget =\n widgetDef.isFloatingStateSupported &&\n widgetDef.defaultState === WidgetState.Floating;\n const floatingWidgetId = widgetDef.floatingContainerId\n ? widgetDef.floatingContainerId\n : getUniqueId();\n const userSized = !!widgetDef.defaultFloatingSize;\n\n frontstageDef.dispatch({\n type: \"WIDGET_DEF_ADD\",\n id: widgetDef.id,\n overrides: {\n ...toTabArgs(widgetDef),\n userSized,\n },\n location: isFloatingWidget ? \"floating\" : \"panel\",\n floatingWidget: {\n id: floatingWidgetId,\n preferredPosition: widgetDef.defaultFloatingPosition,\n },\n panelSection: {\n id: getWidgetPanelSectionId(side, section),\n side,\n index: section,\n },\n });\n\n // Hide widget if `defaultState` is `Hidden` or `Unloaded`.\n hideWidgetDef(frontstageDef, widgetDef);\n}\n\n/** Adds missing widgets to the layout.\n * @internal\n */\nexport function addPanelSectionWidgetDefs(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation,\n section: StagePanelSection\n) {\n const panelDef = frontstageDef.getStagePanelDef(location);\n if (!panelDef) return;\n const sectionDef = panelDef.getPanelSectionDef(section);\n const widgetDefs = determineNewWidgets(frontstageDef, sectionDef.widgetDefs);\n for (const widgetDef of widgetDefs) {\n addWidgetDef(frontstageDef, widgetDef, location, section);\n }\n}\n\nfunction processPopoutWidgets(frontstageDef: FrontstageDef) {\n // Electron reopens popout windows w/o user interaction.\n if (ProcessDetector.isElectronAppFrontend) {\n return;\n }\n\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n for (const id of state.popoutWidgets.allIds) {\n frontstageDef.dispatch({\n type: \"POPOUT_WIDGET_SEND_BACK\",\n id,\n });\n }\n}\n\n/** Adds frontstageDef widgets that are missing in NineZoneState.\n * @internal\n */\nexport function addFrontstageWidgetDefs(frontstageDef: FrontstageDef) {\n [\n StagePanelLocation.Left,\n StagePanelLocation.Right,\n StagePanelLocation.Top,\n StagePanelLocation.Bottom,\n ].forEach((location) =>\n [StagePanelSection.Start, StagePanelSection.End].forEach((section) =>\n addPanelSectionWidgetDefs(frontstageDef, location, section)\n )\n );\n\n const toolSettingsWidgetDefs = determineNewWidgets(\n frontstageDef,\n frontstageDef.toolSettings ? [frontstageDef.toolSettings] : undefined\n );\n for (const toolSettingsWidgetDef of toolSettingsWidgetDefs) {\n frontstageDef.dispatch({\n type: \"WIDGET_DEF_ADD_TOOL_SETTINGS\",\n id: toolSettingsWidgetDef.id,\n overrides: toTabArgs(toolSettingsWidgetDef),\n });\n }\n}\n\n/** Hide widgets with `Hidden` or `Unloaded` defaultState. */\nfunction hideWidgetDefs(frontstageDef: FrontstageDef) {\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n const tabs = Object.values(state.tabs);\n for (const tab of tabs) {\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (!widgetDef) continue;\n\n hideWidgetDef(frontstageDef, widgetDef);\n }\n}\n\n/** Hide widget with `Hidden` or `Unloaded` defaultState. */\nfunction hideWidgetDef(frontstageDef: FrontstageDef, widgetDef: WidgetDef) {\n if (widgetDef.defaultState === WidgetState.Hidden) {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_HIDE\",\n id: widgetDef.id,\n });\n }\n\n if (widgetDef.defaultState === WidgetState.Unloaded) {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_UNLOAD\",\n id: widgetDef.id,\n });\n }\n}\n\n/** Removes NineZoneState widgets that are missing in frontstageDef.\n * @internal\n */\nfunction removeMissingWidgets(frontstageDef: FrontstageDef) {\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n const toolSettingsTabId = state.toolSettings?.tabId;\n for (const [, tab] of Object.entries(state.tabs)) {\n if (tab.id === toolSettingsTabId) continue;\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (widgetDef) continue;\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_REMOVE\",\n id: tab.id,\n });\n }\n}\n\nfunction getWidgetLabel(label: string) {\n return label === \"\" ? \"Widget\" : label;\n}\n\ntype PanelSectionId = `${Lowercase<\n keyof typeof StagePanelLocation\n>}${keyof typeof StagePanelSection}`;\n\n/** @internal */\nexport function getPanelSectionId(\n location: StagePanelLocation,\n section: StagePanelSection\n): PanelSectionId {\n return `${StagePanelLocation[location].toLowerCase()}${\n StagePanelSection[section]\n }` as PanelSectionId;\n}\n\n/** @internal */\nexport function getPanelSectionWidgets(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation,\n section: StagePanelSection\n): ReadonlyArray<WidgetDef> {\n const stagePanel = frontstageDef.getStagePanelDef(location);\n const panelSection = stagePanel?.getPanelSectionDef(section);\n return panelSection?.widgetDefs || [];\n}\n\n/** @internal */\nexport function isFrontstageStateSettingResult(\n settingsResult: UiStateStorageResult\n): settingsResult is {\n status: UiStateStorageStatus.Success;\n setting: WidgetPanelsFrontstageState;\n} {\n if (settingsResult.status === UiStateStorageStatus.Success) return true;\n return false;\n}\n\n/** @internal */\nexport function initializePanel(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation\n) {\n const side = toPanelSide(location);\n\n const panelDef = frontstageDef.getStagePanelDef(location);\n if (!panelDef) return;\n\n const size = panelDef.defaultSize;\n size !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size,\n });\n\n frontstageDef.dispatch({\n type: \"PANEL_SET_PINNED\",\n side,\n pinned: panelDef.defaultPinned,\n });\n\n frontstageDef.dispatch({\n type: \"PANEL_SET_RESIZABLE\",\n side,\n resizable: panelDef.defaultResizable,\n });\n\n const minSize = panelDef.initialConfig?.minSize;\n minSize !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_MIN_SIZE\",\n side,\n minSize,\n });\n\n const maxSize = panelDef.initialConfig?.maxSize;\n maxSize !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_MAX_SIZE\",\n side,\n maxSize,\n });\n\n const collapsed = panelDef.defaultState !== StagePanelState.Open;\n frontstageDef.dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n side,\n collapsed,\n });\n}\n\n/** @internal */\nexport const stateVersion = 17; // this needs to be bumped when NineZoneState is changed (to recreate the layout).\n\n/** @internal */\nexport function initializeNineZoneState(frontstageDef: FrontstageDef) {\n frontstageDef.batch(() => {\n frontstageDef.nineZoneState = defaultNineZone;\n\n const size = InternalFrontstageManager.nineZoneSize;\n size &&\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size,\n });\n\n addFrontstageWidgetDefs(frontstageDef);\n\n initializePanel(frontstageDef, StagePanelLocation.Left);\n initializePanel(frontstageDef, StagePanelLocation.Right);\n initializePanel(frontstageDef, StagePanelLocation.Top);\n initializePanel(frontstageDef, StagePanelLocation.Bottom);\n });\n}\n\n/** Converts from saved NineZoneState to NineZoneState.\n * @note Restores toolSettings tab.\n * @note Restores tab labels.\n * @internal\n */\nexport function restoreNineZoneState(\n frontstageDef: FrontstageDef,\n packed: NineZoneState\n) {\n frontstageDef.batch(() => {\n frontstageDef.nineZoneState = packed;\n\n for (const [, tab] of Object.entries(packed.tabs)) {\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (!widgetDef) {\n Logger.logInfo(\n UiFramework.loggerCategory(restoreNineZoneState),\n \"WidgetDef is not found for saved tab.\",\n {\n frontstageId: frontstageDef.id,\n tabId: tab.id,\n }\n );\n frontstageDef.dispatch({ type: \"WIDGET_TAB_REMOVE\", id: tab.id });\n continue;\n }\n\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_UPDATE\",\n id: tab.id,\n overrides: toTabArgs(widgetDef),\n });\n }\n\n frontstageDef.nineZoneState = produce(\n frontstageDef.nineZoneState,\n (draft) => {\n // remove center panel section if one is found in left or right panels\n const oldLeftMiddleIndex = packed.panels.left.widgets.findIndex(\n (value) => value === \"leftMiddle\"\n );\n // istanbul ignore next\n if (-1 !== oldLeftMiddleIndex) {\n draft.panels.left.widgets = packed.panels.left.widgets.filter(\n (value) => value !== \"leftMiddle\"\n );\n if (\"leftEnd\" in draft.widgets) {\n draft.widgets.leftMiddle.tabs.forEach((tab) =>\n draft.widgets.leftEnd.tabs.push(tab)\n );\n } else {\n draft.widgets.leftEnd = { ...draft.widgets.leftMiddle };\n delete draft.widgets.leftMiddle;\n }\n }\n\n const oldRightMiddleIndex = packed.panels.right.widgets.findIndex(\n (value) => value === \"rightMiddle\"\n );\n // istanbul ignore next\n if (-1 !== oldRightMiddleIndex) {\n draft.panels.right.widgets = packed.panels.right.widgets.filter(\n (value) => value !== \"rightMiddle\"\n );\n if (\"rightEnd\" in draft.widgets) {\n draft.widgets.rightMiddle.tabs.forEach((tab) =>\n draft.widgets.rightEnd.tabs.push(tab)\n );\n } else {\n draft.widgets.rightEnd = { ...draft.widgets.rightMiddle };\n delete draft.widgets.rightMiddle;\n }\n }\n\n return;\n }\n );\n\n if (\n InternalFrontstageManager.nineZoneSize &&\n (0 !== InternalFrontstageManager.nineZoneSize.height ||\n 0 !== InternalFrontstageManager.nineZoneSize.width)\n ) {\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size: {\n height: InternalFrontstageManager.nineZoneSize.height,\n width: InternalFrontstageManager.nineZoneSize.width,\n },\n });\n }\n\n addFrontstageWidgetDefs(frontstageDef);\n hideWidgetDefs(frontstageDef);\n processPopoutWidgets(frontstageDef);\n });\n}\n\n/** Prepares NineZoneState to be saved.\n * @note Removes toolSettings tab.\n * @note Removes tab labels and iconSpec.\n * @internal\n */\nexport function packNineZoneState(state: NineZoneState): NineZoneState {\n let packed = state;\n packed = produce(packed, (draft) => {\n for (const [, tab] of Object.entries(draft.tabs)) {\n tab.label = \"\";\n delete tab.iconSpec;\n }\n });\n return packed;\n}\n\n/** FrontstageState is saved in UiStateStorage.\n * @internal\n */\nexport interface WidgetPanelsFrontstageState {\n nineZone: NineZoneState;\n id: FrontstageDef[\"id\"];\n /** Frontstage version used to create the frontstage state. Allows to invalidate the layout from the frontstage. */\n version: number;\n /** Platform provided frontstage version. Allows to invalidate the layout from the platform. */\n stateVersion: number;\n}\n\n/** @internal */\nexport function useSavedFrontstageState(frontstageDef: FrontstageDef) {\n const uiStateStorage = useUiStateStorageHandler();\n const uiStateStorageRef = React.useRef(uiStateStorage);\n const isMountedRef = React.useRef(false);\n React.useEffect(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n React.useEffect(() => {\n uiStateStorageRef.current = uiStateStorage;\n }, [uiStateStorage]);\n React.useEffect(() => {\n async function fetchFrontstageState() {\n // Switching to previously initialized frontstage.\n if (frontstageDef.nineZoneState) {\n processPopoutWidgets(frontstageDef);\n return;\n }\n\n const id = frontstageDef.id;\n const version = frontstageDef.version;\n const settingResult = await uiStateStorageRef.current.getSetting(\n FRONTSTAGE_SETTINGS_NAMESPACE,\n getFrontstageStateSettingName(id)\n );\n if (!isMountedRef.current) return;\n\n if (isFrontstageStateSettingResult(settingResult)) {\n const setting = settingResult.setting;\n if (\n setting.version === version &&\n setting.stateVersion === stateVersion\n ) {\n restoreNineZoneState(frontstageDef, setting.nineZone);\n return;\n }\n }\n initializeNineZoneState(frontstageDef);\n }\n void fetchFrontstageState();\n }, [frontstageDef]);\n}\n\n/** @internal */\nexport function useSaveFrontstageSettings(\n frontstageDef: FrontstageDef,\n store: LayoutStore\n) {\n const uiSettingsStorage = useUiStateStorageHandler();\n const pendingSave = React.useRef(() => {});\n const saveSetting = React.useMemo(() => {\n const debounced = debounce(\n async (frontstage: FrontstageDef, state: NineZoneState) => {\n const id = frontstage.id;\n const setting: WidgetPanelsFrontstageState = {\n id,\n version: frontstage.version,\n stateVersion,\n nineZone: packNineZoneState(state),\n };\n await uiSettingsStorage.saveSetting(\n FRONTSTAGE_SETTINGS_NAMESPACE,\n getFrontstageStateSettingName(id),\n setting\n );\n },\n 1000\n );\n\n const save = (frontstage: FrontstageDef, state: NineZoneState) => {\n if (state.draggedTab) return;\n debounced(frontstage, state);\n };\n save.cancel = debounced.cancel;\n pendingSave.current = debounced.immediate;\n return save;\n }, [uiSettingsStorage]);\n React.useEffect(() => {\n return () => {\n pendingSave.current();\n };\n }, [frontstageDef]);\n React.useEffect(() => {\n return () => {\n saveSetting.cancel();\n };\n }, [saveSetting]);\n\n React.useEffect(() => {\n saveSetting(frontstageDef, store.getState());\n }, [saveSetting, frontstageDef, store]);\n React.useEffect(() => {\n return store.subscribe(() => {\n saveSetting(frontstageDef, store.getState());\n });\n }, [saveSetting, frontstageDef, store]);\n}\n\n/** @internal */\nexport const FRONTSTAGE_SETTINGS_NAMESPACE = \"uifw-frontstageSettings\";\n\n/** @internal */\nexport function getFrontstageStateSettingName(\n frontstageId: WidgetPanelsFrontstageState[\"id\"]\n) {\n return `frontstageState[${frontstageId}]`;\n}\n\n// istanbul ignore next\nfunction debounce<T extends (...args: any[]) => any>(\n func: T,\n duration: number\n) {\n let timeout: number | undefined;\n let handler: () => any;\n const debounced = (...args: Parameters<T>) => {\n handler = () => {\n timeout = undefined;\n return func(...args);\n };\n window.clearTimeout(timeout);\n timeout = window.setTimeout(handler, duration);\n };\n /**\n * Will cancel the timeout without running the function.\n */\n debounced.cancel = () => {\n window.clearTimeout(timeout);\n timeout = undefined;\n };\n /**\n * If not already ran, will run the function immediately and remove the timeout.\n */\n debounced.immediate = () => {\n if (timeout === undefined) return;\n debounced.cancel();\n handler?.();\n };\n return debounced;\n}\n\n/** @internal */\nexport function useFrontstageManager(\n frontstageDef: FrontstageDef,\n useToolAsToolSettingsLabel?: boolean\n) {\n const { translate } = useTranslation();\n const uiSettingsStorage = useUiStateStorageHandler();\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener(\n (args) => {\n // TODO: track restoring frontstages to support workflows: i.e. prevent loading frontstage OR saving layout when delete is pending\n void uiSettingsStorage.deleteSetting(\n FRONTSTAGE_SETTINGS_NAMESPACE,\n getFrontstageStateSettingName(args.frontstageDef.id)\n );\n if (frontstageDef.id === args.frontstageDef.id) {\n initializeNineZoneState(frontstageDef);\n return;\n }\n\n args.frontstageDef.nineZoneState = undefined;\n }\n );\n }, [uiSettingsStorage, frontstageDef]);\n\n const defaultLabel = translate(\"widget.labels.toolSettings\");\n\n React.useEffect(() => {\n const updateLabel = () => {\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n const toolSettingsTabId = state.toolSettings?.tabId;\n if (!toolSettingsTabId) return;\n\n const toolId = UiFramework.frontstages.activeToolId;\n const label = useToolAsToolSettingsLabel\n ? IModelApp.tools.find(toolId)?.flyover || defaultLabel\n : defaultLabel;\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_SET_LABEL\",\n id: toolSettingsTabId,\n label,\n });\n };\n // Whenever the frontstageDef or the useTool... changes, keep the label up to date.\n updateLabel();\n\n const removeListenerFuncs: (() => void)[] = [];\n // If useTool... is true, listen for events to keep up the label up to date.\n if (useToolAsToolSettingsLabel) {\n removeListenerFuncs.push(\n UiFramework.frontstages.onFrontstageReadyEvent.addListener(updateLabel),\n InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener(\n updateLabel\n ),\n UiFramework.frontstages.onToolActivatedEvent.addListener(updateLabel),\n UiFramework.frontstages.onToolSettingsReloadEvent.addListener(\n updateLabel\n )\n );\n }\n return () => {\n removeListenerFuncs.forEach((removeListener) => removeListener());\n };\n }, [frontstageDef, useToolAsToolSettingsLabel, defaultLabel]);\n}\n\nfunction refreshNineZoneState(frontstageDef: FrontstageDef) {\n // Fired for both registered/unregistered. Update definitions and remove/add missing widgets.\n frontstageDef.updateWidgetDefs();\n frontstageDef.batch(() => {\n addFrontstageWidgetDefs(frontstageDef);\n removeMissingWidgets(frontstageDef);\n });\n}\n\n/** @internal */\nexport function useItemsManager(frontstageDef: FrontstageDef) {\n React.useEffect(() => {\n // Not initialized yet.\n if (!frontstageDef.nineZoneState) return;\n\n // Need to refresh anytime frontstageDef changes because uiItemsProvider may have added something to\n // another stage before it was possibly unloaded in this stage.\n refreshNineZoneState(frontstageDef);\n }, [frontstageDef]);\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n refreshNineZoneState(frontstageDef);\n });\n }, [frontstageDef]);\n}\n\nfunction determineNewWidgets(\n frontstageDef: FrontstageDef,\n defs: readonly WidgetDef[] | undefined\n) {\n const state = frontstageDef.nineZoneState;\n assert(!!state);\n defs = defs || [];\n const uniqueDefs = defs.filter((def, index, array) => {\n return index === array.findIndex((def1) => def.id === def1.id);\n });\n return uniqueDefs.filter((def) => !(def.id in state.tabs));\n}\n"]}
1
+ {"version":3,"file":"Frontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Frontstage\n */\n\n// cSpell:ignore popout\n\nimport { ToolbarPopupAutoHideContext } from \"@itwin/components-react\";\nimport { assert, Logger, ProcessDetector } from \"@itwin/core-bentley\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { UiStateStorageResult } from \"@itwin/core-react\";\nimport { Size, UiStateStorageStatus } from \"@itwin/core-react\";\nimport produce from \"immer\";\nimport * as React from \"react\";\nimport { unstable_batchedUpdates } from \"react-dom\";\nimport { useSelector } from \"react-redux\";\nimport type { FrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport { useEscapeSetFocusToHome } from \"../hooks/useEscapeSetFocusToHome\";\nimport { useUiVisibility } from \"../hooks/useUiVisibility\";\nimport type { LayoutStore } from \"../layout/base/LayoutStore\";\nimport { createLayoutStore } from \"../layout/base/LayoutStore\";\nimport type { NineZoneDispatch, NineZoneLabels } from \"../layout/base/NineZone\";\nimport { getUniqueId, NineZone } from \"../layout/base/NineZone\";\nimport { activateDroppedTab } from \"../preview/activate-dropped-tab/activateDroppedTab\";\nimport type { NineZoneState } from \"../layout/state/NineZoneState\";\nimport { createNineZoneState } from \"../layout/state/NineZoneState\";\nimport { NineZoneStateReducer } from \"../layout/state/NineZoneStateReducer\";\nimport { getWidgetPanelSectionId } from \"../layout/state/PanelState\";\nimport type { TabState } from \"../layout/state/TabState\";\nimport { FloatingWidgets } from \"../layout/widget/FloatingWidgets\";\nimport { PreviewHorizontalPanelAlignFeatureProvider } from \"../preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign\";\nimport { usePreviewFeatures } from \"../preview/PreviewFeatures\";\nimport type { FrameworkState } from \"../redux/FrameworkState\";\nimport type { FrameworkRootState } from \"../redux/StateManager\";\nimport { toPanelSide } from \"../stagepanels/StagePanelDef\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection\";\nimport { StagePanelState } from \"../stagepanels/StagePanelState\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport { UiFramework } from \"../UiFramework\";\nimport { useUiStateStorageHandler } from \"../uistate/useUiStateStorage\";\nimport type { WidgetDef } from \"../widgets/WidgetDef\";\nimport { WidgetState } from \"../widgets/WidgetState\";\nimport { WidgetContent } from \"./Content\";\nimport { FloatingWidget } from \"./FloatingWidget\";\nimport \"./Frontstage.scss\";\nimport { WidgetPanelsFrontstageContent } from \"./FrontstageContent\";\nimport {\n ModalFrontstageComposer,\n useActiveModalFrontstageInfo,\n} from \"./ModalFrontstageComposer\";\nimport { WidgetPanelsStatusBar } from \"./StatusBar\";\nimport { WidgetPanelsTab } from \"./Tab\";\nimport { WidgetPanelsToolbars } from \"./Toolbars\";\nimport { ToolSettingsContent, WidgetPanelsToolSettings } from \"./ToolSettings\";\nimport { MaximizedWidgetProvider } from \"../preview/enable-maximized-widget/MaximizedWidget\";\nimport { StandardLayout } from \"../layout/StandardLayout\";\nimport { WidgetPanelProvider } from \"../layout/widget-panels/Panel\";\nimport { WidgetContentRenderers } from \"../layout/widget/ContentRenderer\";\nimport { useCursor } from \"../layout/widget-panels/CursorOverlay\";\nimport { WidgetPanelExpanders } from \"../layout/widget-panels/Expander\";\nimport { useTranslation } from \"../hooks/useTranslation\";\nimport { PopoutWidgets } from \"../preview/reparent-popout-widgets/PopoutWidgets\";\n\nfunction WidgetPanelsFrontstageComponent() {\n const activeModalFrontstageInfo = useActiveModalFrontstageInfo();\n const uiIsVisible = useUiVisibility();\n const previewFeatures = usePreviewFeatures();\n useCursor();\n\n return (\n <MaximizedWidgetProvider>\n <PreviewHorizontalPanelAlignFeatureProvider\n enabled={previewFeatures.horizontalPanelAlignment}\n >\n <ToolbarPopupAutoHideContext.Provider value={!uiIsVisible}>\n <ModalFrontstageComposer stageInfo={activeModalFrontstageInfo} />\n <StandardLayout\n centerContent={\n <>\n <WidgetPanelsToolbars />\n <WidgetPanelExpanders />\n </>\n }\n toolSettings={<WidgetPanelsToolSettings />}\n statusBar={<WidgetPanelsStatusBar />}\n topPanel={<WidgetPanelProvider side=\"top\" />}\n leftPanel={<WidgetPanelProvider side=\"left\" />}\n rightPanel={<WidgetPanelProvider side=\"right\" />}\n bottomPanel={<WidgetPanelProvider side=\"bottom\" />}\n >\n <WidgetPanelsFrontstageContent />\n </StandardLayout>\n <WidgetContentRenderers />\n <FloatingWidgets />\n <PopoutWidgets />\n </ToolbarPopupAutoHideContext.Provider>\n </PreviewHorizontalPanelAlignFeatureProvider>\n </MaximizedWidgetProvider>\n );\n}\n\nconst widgetContent = <WidgetContent />;\nconst toolSettingsContent = <ToolSettingsContent />;\nconst widgetPanelsFrontstage = <WidgetPanelsFrontstageComponent />;\n\n/** @internal */\nexport function useLayoutStore(frontstageDef: FrontstageDef | undefined) {\n const layoutStore = React.useMemo(\n () => createLayoutStore(frontstageDef?.nineZoneState),\n [frontstageDef]\n );\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(\n (args) => {\n if (args.frontstageDef !== frontstageDef) return;\n unstable_batchedUpdates(() => {\n // https://github.com/pmndrs/zustand/blob/main/docs/guides/event-handler-in-pre-react-18.md\n layoutStore.setState(args.state || defaultNineZone);\n });\n }\n );\n }, [frontstageDef, layoutStore]);\n return layoutStore;\n}\n\n/** Update in-memory NineZoneState of newly activated frontstage with up to date size.\n * @internal\n */\nexport function useUpdateNineZoneSize(frontstageDef: FrontstageDef) {\n React.useEffect(() => {\n const size = InternalFrontstageManager.nineZoneSize;\n if (!size) return;\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size: {\n height: size.height,\n width: size.width,\n },\n });\n }, [frontstageDef]);\n}\n\nconst log =\n (reducer: typeof NineZoneStateReducer): typeof NineZoneStateReducer =>\n (state, action) => {\n Logger.logTrace(\"appui-react:reducer\", `action ${action.type}`, () => ({\n action,\n state,\n }));\n return reducer(state, action);\n };\n\n/** @internal */\nexport function useNineZoneDispatch(frontstageDef: FrontstageDef) {\n const features = usePreviewFeatures();\n\n const reducer = React.useMemo(() => {\n let nineZoneStateReducer = log(NineZoneStateReducer);\n\n nineZoneStateReducer = features.activateDroppedTab\n ? activateDroppedTab(nineZoneStateReducer)\n : nineZoneStateReducer;\n return nineZoneStateReducer;\n }, [features.activateDroppedTab]);\n\n return React.useCallback<NineZoneDispatch>(\n (action) => {\n if (action.type === \"RESIZE\") {\n InternalFrontstageManager.nineZoneSize = Size.create(action.size);\n }\n\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n frontstageDef.nineZoneState = reducer(state, action);\n },\n [frontstageDef, reducer]\n );\n}\n\n/** @internal */\nexport function WidgetPanelsFrontstage() {\n const frontstageDef = useActiveFrontstageDef();\n\n React.useEffect(() => {\n const triggerWidowCloseProcessing = () => {\n frontstageDef && frontstageDef.setIsApplicationClosing(true);\n };\n window.addEventListener(\"unload\", triggerWidowCloseProcessing);\n return () => {\n window.removeEventListener(\"unload\", triggerWidowCloseProcessing);\n };\n }, [frontstageDef]);\n\n if (!frontstageDef) return null;\n return <ActiveFrontstageDefProvider frontstageDef={frontstageDef} />;\n}\n\nconst defaultNineZone = createNineZoneState();\nconst tabElement = <WidgetPanelsTab />;\nconst floatingWidgetElement = <FloatingWidget />;\n\ninterface ActiveFrontstageDefProviderProps {\n frontstageDef: FrontstageDef;\n}\n\n/** @internal */\nexport function ActiveFrontstageDefProvider({\n frontstageDef,\n}: ActiveFrontstageDefProviderProps) {\n const dispatch = useNineZoneDispatch(frontstageDef);\n frontstageDef.dispatch = dispatch;\n const layout = useLayoutStore(frontstageDef);\n useUpdateNineZoneSize(frontstageDef);\n useSavedFrontstageState(frontstageDef);\n useSaveFrontstageSettings(frontstageDef, layout);\n useItemsManager(frontstageDef);\n const labels = useLabels();\n const uiIsVisible = useUiVisibility();\n const showWidgetIcon = useSelector((state: FrameworkRootState) => {\n const frameworkState: FrameworkState = (state as any)[\n UiFramework.frameworkStateKey\n ];\n return !!frameworkState.configurableUiState.showWidgetIcon;\n });\n const autoCollapseUnpinnedPanels = useSelector(\n (state: FrameworkRootState) => {\n const frameworkState: FrameworkState = (state as any)[\n UiFramework.frameworkStateKey\n ];\n return !!frameworkState.configurableUiState.autoCollapseUnpinnedPanels;\n }\n );\n const animateToolSettings = useSelector((state: FrameworkRootState) => {\n const frameworkState: FrameworkState = (state as any)[\n UiFramework.frameworkStateKey\n ];\n return !!frameworkState.configurableUiState.animateToolSettings;\n });\n const useToolAsToolSettingsLabel = useSelector(\n (state: FrameworkRootState) => {\n const frameworkState: FrameworkState = (state as any)[\n UiFramework.frameworkStateKey\n ];\n return !!frameworkState.configurableUiState.useToolAsToolSettingsLabel;\n }\n );\n useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel);\n\n const handleKeyDown = useEscapeSetFocusToHome();\n\n return (\n <div\n className=\"uifw-widgetPanels-frontstage\"\n onKeyDown={handleKeyDown}\n role=\"presentation\"\n >\n <NineZone\n dispatch={dispatch}\n labels={labels}\n layout={layout}\n tab={tabElement}\n floatingWidget={floatingWidgetElement}\n showWidgetIcon={showWidgetIcon}\n autoCollapseUnpinnedPanels={autoCollapseUnpinnedPanels}\n toolSettingsContent={toolSettingsContent}\n widgetContent={widgetContent}\n animateDockedToolSettings={animateToolSettings}\n uiIsVisible={uiIsVisible}\n >\n {widgetPanelsFrontstage}\n </NineZone>\n </div>\n );\n}\n\n/** @internal */\nexport function useLabels(): NineZoneLabels {\n const { translate } = useTranslation();\n\n return {\n dockToolSettingsTitle: translate(\"widget.tooltips.dockToolSettings\"),\n moreWidgetsTitle: translate(\"widget.tooltips.moreWidgets\"),\n moreToolSettingsTitle: translate(\"widget.tooltips.moreToolSettings\"),\n pinPanelTitle: translate(\"widget.tooltips.pinPanel\"),\n resizeGripTitle: translate(\"widget.tooltips.resizeGrip\"),\n sendWidgetHomeTitle: translate(\"widget.tooltips.sendHome\"),\n toolSettingsHandleTitle: translate(\"widget.tooltips.toolSettingsHandle\"),\n unpinPanelTitle: translate(\"widget.tooltips.unpinPanel\"),\n popoutActiveTab: translate(\"widget.tooltips.popoutActiveTab\"),\n };\n}\n\nfunction toTabArgs(widget: WidgetDef) {\n const label = getWidgetLabel(widget.label);\n const args = {\n allowedPanelTargets: widget.allowedPanelTargets?.map((location) =>\n toPanelSide(location)\n ),\n hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,\n canPopout: widget.canPopout,\n iconSpec: widget.iconSpec,\n isFloatingWidgetResizable: widget.isFloatingStateWindowResizable,\n label,\n preferredFloatingWidgetSize: widget.defaultFloatingSize,\n preferredPanelWidgetSize: widget.preferredPanelSize,\n };\n return args satisfies Pick<TabState, keyof typeof args>;\n}\n\nfunction addWidgetDef(\n frontstageDef: FrontstageDef,\n widgetDef: WidgetDef,\n location: StagePanelLocation,\n section: StagePanelSection\n) {\n const side = toPanelSide(location);\n\n const isFloatingWidget =\n widgetDef.isFloatingStateSupported &&\n widgetDef.defaultState === WidgetState.Floating;\n const floatingWidgetId = widgetDef.floatingContainerId\n ? widgetDef.floatingContainerId\n : getUniqueId();\n const userSized = !!widgetDef.defaultFloatingSize;\n\n frontstageDef.dispatch({\n type: \"WIDGET_DEF_ADD\",\n id: widgetDef.id,\n overrides: {\n ...toTabArgs(widgetDef),\n userSized,\n },\n location: isFloatingWidget ? \"floating\" : \"panel\",\n floatingWidget: {\n id: floatingWidgetId,\n preferredPosition: widgetDef.defaultFloatingPosition,\n },\n panelSection: {\n id: getWidgetPanelSectionId(side, section),\n side,\n index: section,\n },\n });\n\n // Hide widget if `defaultState` is `Hidden` or `Unloaded`.\n hideWidgetDef(frontstageDef, widgetDef);\n}\n\n/** Adds missing widgets to the layout.\n * @internal\n */\nexport function addPanelSectionWidgetDefs(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation,\n section: StagePanelSection\n) {\n const panelDef = frontstageDef.getStagePanelDef(location);\n if (!panelDef) return;\n const sectionDef = panelDef.getPanelSectionDef(section);\n const widgetDefs = determineNewWidgets(frontstageDef, sectionDef.widgetDefs);\n for (const widgetDef of widgetDefs) {\n addWidgetDef(frontstageDef, widgetDef, location, section);\n }\n}\n\nfunction processPopoutWidgets(frontstageDef: FrontstageDef) {\n // Electron reopens popout windows w/o user interaction.\n if (ProcessDetector.isElectronAppFrontend) {\n return;\n }\n\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n for (const id of state.popoutWidgets.allIds) {\n frontstageDef.dispatch({\n type: \"POPOUT_WIDGET_SEND_BACK\",\n id,\n });\n }\n}\n\n/** Adds frontstageDef widgets that are missing in NineZoneState.\n * @internal\n */\nexport function addFrontstageWidgetDefs(frontstageDef: FrontstageDef) {\n [\n StagePanelLocation.Left,\n StagePanelLocation.Right,\n StagePanelLocation.Top,\n StagePanelLocation.Bottom,\n ].forEach((location) =>\n [StagePanelSection.Start, StagePanelSection.End].forEach((section) =>\n addPanelSectionWidgetDefs(frontstageDef, location, section)\n )\n );\n\n const toolSettingsWidgetDefs = determineNewWidgets(\n frontstageDef,\n frontstageDef.toolSettings ? [frontstageDef.toolSettings] : undefined\n );\n for (const toolSettingsWidgetDef of toolSettingsWidgetDefs) {\n frontstageDef.dispatch({\n type: \"WIDGET_DEF_ADD_TOOL_SETTINGS\",\n id: toolSettingsWidgetDef.id,\n overrides: toTabArgs(toolSettingsWidgetDef),\n });\n }\n}\n\n/** Hide widgets with `Hidden` or `Unloaded` defaultState. */\nfunction hideWidgetDefs(frontstageDef: FrontstageDef) {\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n const tabs = Object.values(state.tabs);\n for (const tab of tabs) {\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (!widgetDef) continue;\n\n hideWidgetDef(frontstageDef, widgetDef);\n }\n}\n\n/** Hide widget with `Hidden` or `Unloaded` defaultState. */\nfunction hideWidgetDef(frontstageDef: FrontstageDef, widgetDef: WidgetDef) {\n if (widgetDef.defaultState === WidgetState.Hidden) {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_HIDE\",\n id: widgetDef.id,\n });\n }\n\n if (widgetDef.defaultState === WidgetState.Unloaded) {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_UNLOAD\",\n id: widgetDef.id,\n });\n }\n}\n\n/** Removes NineZoneState widgets that are missing in frontstageDef.\n * @internal\n */\nfunction removeMissingWidgets(frontstageDef: FrontstageDef) {\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n const toolSettingsTabId = state.toolSettings?.tabId;\n for (const [, tab] of Object.entries(state.tabs)) {\n if (tab.id === toolSettingsTabId) continue;\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (widgetDef) continue;\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_REMOVE\",\n id: tab.id,\n });\n }\n}\n\nfunction getWidgetLabel(label: string) {\n return label === \"\" ? \"Widget\" : label;\n}\n\ntype PanelSectionId = `${Lowercase<\n keyof typeof StagePanelLocation\n>}${keyof typeof StagePanelSection}`;\n\n/** @internal */\nexport function getPanelSectionId(\n location: StagePanelLocation,\n section: StagePanelSection\n): PanelSectionId {\n return `${StagePanelLocation[location].toLowerCase()}${\n StagePanelSection[section]\n }` as PanelSectionId;\n}\n\n/** @internal */\nexport function getPanelSectionWidgets(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation,\n section: StagePanelSection\n): ReadonlyArray<WidgetDef> {\n const stagePanel = frontstageDef.getStagePanelDef(location);\n const panelSection = stagePanel?.getPanelSectionDef(section);\n return panelSection?.widgetDefs || [];\n}\n\n/** @internal */\nexport function isFrontstageStateSettingResult(\n settingsResult: UiStateStorageResult\n): settingsResult is {\n status: UiStateStorageStatus.Success;\n setting: WidgetPanelsFrontstageState;\n} {\n if (settingsResult.status === UiStateStorageStatus.Success) return true;\n return false;\n}\n\n/** @internal */\nexport function initializePanel(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation\n) {\n const side = toPanelSide(location);\n\n const panelDef = frontstageDef.getStagePanelDef(location);\n if (!panelDef) return;\n\n // eslint-disable-next-line deprecation/deprecation\n const size = panelDef.initialConfig?.sizeSpec ?? panelDef.initialConfig?.size;\n size !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size,\n });\n\n frontstageDef.dispatch({\n type: \"PANEL_SET_PINNED\",\n side,\n pinned: panelDef.defaultPinned,\n });\n\n frontstageDef.dispatch({\n type: \"PANEL_SET_RESIZABLE\",\n side,\n resizable: panelDef.defaultResizable,\n });\n\n const minSize =\n panelDef.initialConfig?.minSizeSpec ?? panelDef.initialConfig?.minSize; // eslint-disable-line deprecation/deprecation\n minSize !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_MIN_SIZE\",\n side,\n minSize,\n });\n\n const maxSize =\n panelDef.initialConfig?.maxSizeSpec ?? panelDef.initialConfig?.maxSize; // eslint-disable-line deprecation/deprecation\n maxSize !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_MAX_SIZE\",\n side,\n maxSize,\n });\n\n const collapsed = panelDef.defaultState !== StagePanelState.Open;\n frontstageDef.dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n side,\n collapsed,\n });\n}\n\n/** @internal */\nexport const stateVersion = 17; // this needs to be bumped when NineZoneState is changed (to recreate the layout).\n\n/** @internal */\nexport function initializeNineZoneState(frontstageDef: FrontstageDef) {\n frontstageDef.batch(() => {\n frontstageDef.nineZoneState = defaultNineZone;\n\n const size = InternalFrontstageManager.nineZoneSize;\n size &&\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size,\n });\n\n addFrontstageWidgetDefs(frontstageDef);\n\n initializePanel(frontstageDef, StagePanelLocation.Left);\n initializePanel(frontstageDef, StagePanelLocation.Right);\n initializePanel(frontstageDef, StagePanelLocation.Top);\n initializePanel(frontstageDef, StagePanelLocation.Bottom);\n });\n}\n\n/** Converts from saved NineZoneState to NineZoneState.\n * @note Restores toolSettings tab.\n * @note Restores tab labels.\n * @internal\n */\nexport function restoreNineZoneState(\n frontstageDef: FrontstageDef,\n packed: NineZoneState\n) {\n frontstageDef.batch(() => {\n frontstageDef.nineZoneState = packed;\n\n for (const [, tab] of Object.entries(packed.tabs)) {\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (!widgetDef) {\n Logger.logInfo(\n UiFramework.loggerCategory(restoreNineZoneState),\n \"WidgetDef is not found for saved tab.\",\n {\n frontstageId: frontstageDef.id,\n tabId: tab.id,\n }\n );\n frontstageDef.dispatch({ type: \"WIDGET_TAB_REMOVE\", id: tab.id });\n continue;\n }\n\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_UPDATE\",\n id: tab.id,\n overrides: toTabArgs(widgetDef),\n });\n }\n\n frontstageDef.nineZoneState = produce(\n frontstageDef.nineZoneState,\n (draft) => {\n // remove center panel section if one is found in left or right panels\n const oldLeftMiddleIndex = packed.panels.left.widgets.findIndex(\n (value) => value === \"leftMiddle\"\n );\n // istanbul ignore next\n if (-1 !== oldLeftMiddleIndex) {\n draft.panels.left.widgets = packed.panels.left.widgets.filter(\n (value) => value !== \"leftMiddle\"\n );\n if (\"leftEnd\" in draft.widgets) {\n draft.widgets.leftMiddle.tabs.forEach((tab) =>\n draft.widgets.leftEnd.tabs.push(tab)\n );\n } else {\n draft.widgets.leftEnd = { ...draft.widgets.leftMiddle };\n delete draft.widgets.leftMiddle;\n }\n }\n\n const oldRightMiddleIndex = packed.panels.right.widgets.findIndex(\n (value) => value === \"rightMiddle\"\n );\n // istanbul ignore next\n if (-1 !== oldRightMiddleIndex) {\n draft.panels.right.widgets = packed.panels.right.widgets.filter(\n (value) => value !== \"rightMiddle\"\n );\n if (\"rightEnd\" in draft.widgets) {\n draft.widgets.rightMiddle.tabs.forEach((tab) =>\n draft.widgets.rightEnd.tabs.push(tab)\n );\n } else {\n draft.widgets.rightEnd = { ...draft.widgets.rightMiddle };\n delete draft.widgets.rightMiddle;\n }\n }\n\n return;\n }\n );\n\n if (\n InternalFrontstageManager.nineZoneSize &&\n (0 !== InternalFrontstageManager.nineZoneSize.height ||\n 0 !== InternalFrontstageManager.nineZoneSize.width)\n ) {\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size: {\n height: InternalFrontstageManager.nineZoneSize.height,\n width: InternalFrontstageManager.nineZoneSize.width,\n },\n });\n }\n\n addFrontstageWidgetDefs(frontstageDef);\n hideWidgetDefs(frontstageDef);\n processPopoutWidgets(frontstageDef);\n });\n}\n\n/** Prepares NineZoneState to be saved.\n * @note Removes toolSettings tab.\n * @note Removes tab labels and iconSpec.\n * @internal\n */\nexport function packNineZoneState(state: NineZoneState): NineZoneState {\n let packed = state;\n packed = produce(packed, (draft) => {\n for (const [, tab] of Object.entries(draft.tabs)) {\n tab.label = \"\";\n delete tab.iconSpec;\n }\n });\n return packed;\n}\n\n/** FrontstageState is saved in UiStateStorage.\n * @internal\n */\nexport interface WidgetPanelsFrontstageState {\n nineZone: NineZoneState;\n id: FrontstageDef[\"id\"];\n /** Frontstage version used to create the frontstage state. Allows to invalidate the layout from the frontstage. */\n version: number;\n /** Platform provided frontstage version. Allows to invalidate the layout from the platform. */\n stateVersion: number;\n}\n\n/** @internal */\nexport function useSavedFrontstageState(frontstageDef: FrontstageDef) {\n const uiStateStorage = useUiStateStorageHandler();\n const uiStateStorageRef = React.useRef(uiStateStorage);\n const isMountedRef = React.useRef(false);\n React.useEffect(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n React.useEffect(() => {\n uiStateStorageRef.current = uiStateStorage;\n }, [uiStateStorage]);\n React.useEffect(() => {\n async function fetchFrontstageState() {\n // Switching to previously initialized frontstage.\n if (frontstageDef.nineZoneState) {\n processPopoutWidgets(frontstageDef);\n return;\n }\n\n const id = frontstageDef.id;\n const version = frontstageDef.version;\n const settingResult = await uiStateStorageRef.current.getSetting(\n FRONTSTAGE_SETTINGS_NAMESPACE,\n getFrontstageStateSettingName(id)\n );\n if (!isMountedRef.current) return;\n\n if (isFrontstageStateSettingResult(settingResult)) {\n const setting = settingResult.setting;\n if (\n setting.version === version &&\n setting.stateVersion === stateVersion\n ) {\n restoreNineZoneState(frontstageDef, setting.nineZone);\n return;\n }\n }\n initializeNineZoneState(frontstageDef);\n }\n void fetchFrontstageState();\n }, [frontstageDef]);\n}\n\n/** @internal */\nexport function useSaveFrontstageSettings(\n frontstageDef: FrontstageDef,\n store: LayoutStore\n) {\n const uiSettingsStorage = useUiStateStorageHandler();\n const pendingSave = React.useRef(() => {});\n const saveSetting = React.useMemo(() => {\n const debounced = debounce(\n async (frontstage: FrontstageDef, state: NineZoneState) => {\n const id = frontstage.id;\n const setting: WidgetPanelsFrontstageState = {\n id,\n version: frontstage.version,\n stateVersion,\n nineZone: packNineZoneState(state),\n };\n await uiSettingsStorage.saveSetting(\n FRONTSTAGE_SETTINGS_NAMESPACE,\n getFrontstageStateSettingName(id),\n setting\n );\n },\n 1000\n );\n\n const save = (frontstage: FrontstageDef, state: NineZoneState) => {\n if (state.draggedTab) return;\n debounced(frontstage, state);\n };\n save.cancel = debounced.cancel;\n pendingSave.current = debounced.immediate;\n return save;\n }, [uiSettingsStorage]);\n React.useEffect(() => {\n return () => {\n pendingSave.current();\n };\n }, [frontstageDef]);\n React.useEffect(() => {\n return () => {\n saveSetting.cancel();\n };\n }, [saveSetting]);\n\n React.useEffect(() => {\n saveSetting(frontstageDef, store.getState());\n }, [saveSetting, frontstageDef, store]);\n React.useEffect(() => {\n return store.subscribe(() => {\n saveSetting(frontstageDef, store.getState());\n });\n }, [saveSetting, frontstageDef, store]);\n}\n\n/** @internal */\nexport const FRONTSTAGE_SETTINGS_NAMESPACE = \"uifw-frontstageSettings\";\n\n/** @internal */\nexport function getFrontstageStateSettingName(\n frontstageId: WidgetPanelsFrontstageState[\"id\"]\n) {\n return `frontstageState[${frontstageId}]`;\n}\n\n// istanbul ignore next\nfunction debounce<T extends (...args: any[]) => any>(\n func: T,\n duration: number\n) {\n let timeout: number | undefined;\n let handler: () => any;\n const debounced = (...args: Parameters<T>) => {\n handler = () => {\n timeout = undefined;\n return func(...args);\n };\n window.clearTimeout(timeout);\n timeout = window.setTimeout(handler, duration);\n };\n /**\n * Will cancel the timeout without running the function.\n */\n debounced.cancel = () => {\n window.clearTimeout(timeout);\n timeout = undefined;\n };\n /**\n * If not already ran, will run the function immediately and remove the timeout.\n */\n debounced.immediate = () => {\n if (timeout === undefined) return;\n debounced.cancel();\n handler?.();\n };\n return debounced;\n}\n\n/** @internal */\nexport function useFrontstageManager(\n frontstageDef: FrontstageDef,\n useToolAsToolSettingsLabel?: boolean\n) {\n const { translate } = useTranslation();\n const uiSettingsStorage = useUiStateStorageHandler();\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener(\n (args) => {\n // TODO: track restoring frontstages to support workflows: i.e. prevent loading frontstage OR saving layout when delete is pending\n void uiSettingsStorage.deleteSetting(\n FRONTSTAGE_SETTINGS_NAMESPACE,\n getFrontstageStateSettingName(args.frontstageDef.id)\n );\n if (frontstageDef.id === args.frontstageDef.id) {\n initializeNineZoneState(frontstageDef);\n return;\n }\n\n args.frontstageDef.nineZoneState = undefined;\n }\n );\n }, [uiSettingsStorage, frontstageDef]);\n\n const defaultLabel = translate(\"widget.labels.toolSettings\");\n\n React.useEffect(() => {\n const updateLabel = () => {\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n const toolSettingsTabId = state.toolSettings?.tabId;\n if (!toolSettingsTabId) return;\n\n const toolId = UiFramework.frontstages.activeToolId;\n const label = useToolAsToolSettingsLabel\n ? IModelApp.tools.find(toolId)?.flyover || defaultLabel\n : defaultLabel;\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_SET_LABEL\",\n id: toolSettingsTabId,\n label,\n });\n };\n // Whenever the frontstageDef or the useTool... changes, keep the label up to date.\n updateLabel();\n\n const removeListenerFuncs: (() => void)[] = [];\n // If useTool... is true, listen for events to keep up the label up to date.\n if (useToolAsToolSettingsLabel) {\n removeListenerFuncs.push(\n UiFramework.frontstages.onFrontstageReadyEvent.addListener(updateLabel),\n InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener(\n updateLabel\n ),\n UiFramework.frontstages.onToolActivatedEvent.addListener(updateLabel),\n UiFramework.frontstages.onToolSettingsReloadEvent.addListener(\n updateLabel\n )\n );\n }\n return () => {\n removeListenerFuncs.forEach((removeListener) => removeListener());\n };\n }, [frontstageDef, useToolAsToolSettingsLabel, defaultLabel]);\n}\n\nfunction refreshNineZoneState(frontstageDef: FrontstageDef) {\n // Fired for both registered/unregistered. Update definitions and remove/add missing widgets.\n frontstageDef.updateWidgetDefs();\n frontstageDef.batch(() => {\n addFrontstageWidgetDefs(frontstageDef);\n removeMissingWidgets(frontstageDef);\n });\n}\n\n/** @internal */\nexport function useItemsManager(frontstageDef: FrontstageDef) {\n React.useEffect(() => {\n // Not initialized yet.\n if (!frontstageDef.nineZoneState) return;\n\n // Need to refresh because UiItemsProvider may have added something while another frontstage was active.\n refreshNineZoneState(frontstageDef);\n }, [frontstageDef]);\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n refreshNineZoneState(frontstageDef);\n });\n }, [frontstageDef]);\n}\n\nfunction determineNewWidgets(\n frontstageDef: FrontstageDef,\n defs: readonly WidgetDef[] | undefined\n) {\n const state = frontstageDef.nineZoneState;\n assert(!!state);\n defs = defs || [];\n const uniqueDefs = defs.filter((def, index, array) => {\n return index === array.findIndex((def1) => def.id === def1.id);\n });\n return uniqueDefs.filter((def) => !(def.id in state.tabs));\n}\n"]}
@@ -12,7 +12,8 @@ import { UiFramework } from "../UiFramework";
12
12
  export function useActiveModalFrontstageInfo() {
13
13
  const [activeModalFrontstageInfo, setActiveModalFrontstageInfo] = React.useState(UiFramework.frontstages.activeModalFrontstage);
14
14
  React.useEffect(() => {
15
- const handleModalFrontstageChangedEvent = (args) => {
15
+ const handleModalFrontstageChangedEvent = (args // eslint-disable-line deprecation/deprecation
16
+ ) => {
16
17
  setActiveModalFrontstageInfo(args.modalFrontstageCount === 0
17
18
  ? undefined
18
19
  : UiFramework.frontstages.activeModalFrontstage);
@@ -1 +1 @@
1
- {"version":3,"file":"ModalFrontstageComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,gBAAgB;AAChB,MAAM,UAAU,4BAA4B;IAC1C,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAC7D,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAChE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,iCAAiC,GAAG,CACxC,IAAqC,EACrC,EAAE;YACF,4BAA4B,CAC1B,IAAI,CAAC,oBAAoB,KAAK,CAAC;gBAC7B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAClD,CAAC;QACJ,CAAC,CAAC;QACF,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC,WAAW,CAC/D,iCAAiC,CAClC,CAAC;QACF,OAAO,GAAG,EAAE;YACV,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC,cAAc,CAClE,iCAAiC,CAClC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACnC,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,uBAAuB,CAAC,EACtC,SAAS,GAGV;IACC,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW;IACxC,0BAA0B,CAAC,GAAG,EAAE,CAC9B,WAAW,CAAC,WAAW,CAAC,oBAAoB,EAAE,EAChD,EAAE,CACH,CAAC;IACF,uBAAuB;IACvB,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IAElD,OAAO,CACL,oBAAC,eAAe,IACd,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,WAAW,IAEvB,OAAO,CACQ,CACnB,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Frontstage\n */\nimport * as React from \"react\";\nimport type {\n ModalFrontstageChangedEventArgs,\n ModalFrontstageInfo,\n} from \"../framework/FrameworkFrontstages\";\nimport { ModalFrontstage } from \"../frontstage/ModalFrontstage\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** @internal */\nexport function useActiveModalFrontstageInfo() {\n const [activeModalFrontstageInfo, setActiveModalFrontstageInfo] =\n React.useState(UiFramework.frontstages.activeModalFrontstage);\n React.useEffect(() => {\n const handleModalFrontstageChangedEvent = (\n args: ModalFrontstageChangedEventArgs\n ) => {\n setActiveModalFrontstageInfo(\n args.modalFrontstageCount === 0\n ? undefined\n : UiFramework.frontstages.activeModalFrontstage\n );\n };\n UiFramework.frontstages.onModalFrontstageChangedEvent.addListener(\n handleModalFrontstageChangedEvent\n );\n return () => {\n UiFramework.frontstages.onModalFrontstageChangedEvent.removeListener(\n handleModalFrontstageChangedEvent\n );\n };\n }, [setActiveModalFrontstageInfo]);\n return activeModalFrontstageInfo;\n}\n\n/** @internal */\nexport function ModalFrontstageComposer({\n stageInfo,\n}: {\n stageInfo: ModalFrontstageInfo | undefined;\n}) {\n const handleCloseModal = React.useCallback(\n /* istanbul ignore next */ () =>\n UiFramework.frontstages.closeModalFrontstage(),\n []\n );\n // istanbul ignore next\n if (!stageInfo) return null;\n\n const { title, content, appBarRight } = stageInfo;\n\n return (\n <ModalFrontstage\n isOpen={true}\n title={title}\n closeModal={handleCloseModal}\n appBarRight={appBarRight}\n >\n {content}\n </ModalFrontstage>\n );\n}\n"]}
1
+ {"version":3,"file":"ModalFrontstageComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,gBAAgB;AAChB,MAAM,UAAU,4BAA4B;IAC1C,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAC7D,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAChE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,iCAAiC,GAAG,CACxC,IAAqC,CAAC,8CAA8C;UACpF,EAAE;YACF,4BAA4B,CAC1B,IAAI,CAAC,oBAAoB,KAAK,CAAC;gBAC7B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAClD,CAAC;QACJ,CAAC,CAAC;QACF,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC,WAAW,CAC/D,iCAAiC,CAClC,CAAC;QACF,OAAO,GAAG,EAAE;YACV,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC,cAAc,CAClE,iCAAiC,CAClC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACnC,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,uBAAuB,CAAC,EACtC,SAAS,GAGV;IACC,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW;IACxC,0BAA0B,CAAC,GAAG,EAAE,CAC9B,WAAW,CAAC,WAAW,CAAC,oBAAoB,EAAE,EAChD,EAAE,CACH,CAAC;IACF,uBAAuB;IACvB,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IAElD,OAAO,CACL,oBAAC,eAAe,IACd,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,WAAW,IAEvB,OAAO,CACQ,CACnB,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Frontstage\n */\nimport * as React from \"react\";\nimport type {\n ModalFrontstageChangedEventArgs,\n ModalFrontstageInfo,\n} from \"../framework/FrameworkFrontstages\";\nimport { ModalFrontstage } from \"../frontstage/ModalFrontstage\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** @internal */\nexport function useActiveModalFrontstageInfo() {\n const [activeModalFrontstageInfo, setActiveModalFrontstageInfo] =\n React.useState(UiFramework.frontstages.activeModalFrontstage);\n React.useEffect(() => {\n const handleModalFrontstageChangedEvent = (\n args: ModalFrontstageChangedEventArgs // eslint-disable-line deprecation/deprecation\n ) => {\n setActiveModalFrontstageInfo(\n args.modalFrontstageCount === 0\n ? undefined\n : UiFramework.frontstages.activeModalFrontstage\n );\n };\n UiFramework.frontstages.onModalFrontstageChangedEvent.addListener(\n handleModalFrontstageChangedEvent\n );\n return () => {\n UiFramework.frontstages.onModalFrontstageChangedEvent.removeListener(\n handleModalFrontstageChangedEvent\n );\n };\n }, [setActiveModalFrontstageInfo]);\n return activeModalFrontstageInfo;\n}\n\n/** @internal */\nexport function ModalFrontstageComposer({\n stageInfo,\n}: {\n stageInfo: ModalFrontstageInfo | undefined;\n}) {\n const handleCloseModal = React.useCallback(\n /* istanbul ignore next */ () =>\n UiFramework.frontstages.closeModalFrontstage(),\n []\n );\n // istanbul ignore next\n if (!stageInfo) return null;\n\n const { title, content, appBarRight } = stageInfo;\n\n return (\n <ModalFrontstage\n isOpen={true}\n title={title}\n closeModal={handleCloseModal}\n appBarRight={appBarRight}\n >\n {content}\n </ModalFrontstage>\n );\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  /** @packageDocumentation
2
2
  * @module StatusBar
3
3
  */
4
- import "./StatusBar.scss";
5
4
  import * as React from "react";
6
5
  import type { CommonProps } from "@itwin/core-react";
7
6
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/StatusBar.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD,gBAAgB;AAChB,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,4BAqBvD"}
1
+ {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/StatusBar.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD,gBAAgB;AAChB,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,4BAgBvD"}
@@ -5,8 +5,6 @@
5
5
  /** @packageDocumentation
6
6
  * @module StatusBar
7
7
  */
8
- import "./StatusBar.scss";
9
- import classnames from "classnames";
10
8
  import * as React from "react";
11
9
  import { ConfigurableUiControlType } from "../configurableui/ConfigurableUiControl";
12
10
  import { StatusBar } from "../statusbar/StatusBar";
@@ -14,14 +12,13 @@ import { useActiveFrontstageDef } from "../frontstage/FrontstageDef";
14
12
  /** @internal */
15
13
  export function WidgetPanelsStatusBar(props) {
16
14
  const frontstageDef = useActiveFrontstageDef();
17
- const widgetDef = frontstageDef === null || frontstageDef === void 0 ? void 0 : frontstageDef.statusBar;
15
+ const widgetDef = frontstageDef?.statusBar;
18
16
  if (!widgetDef)
19
17
  return null;
20
18
  const content = widgetDef.reactNode;
21
19
  const widgetControl = content === undefined
22
20
  ? widgetDef.getWidgetControl(ConfigurableUiControlType.StatusBarWidget)
23
21
  : undefined;
24
- const className = classnames("uifw-widgetPanels-statusBar", props.className);
25
- return (React.createElement(StatusBar, { className: className, style: props.style, widgetControl: widgetControl }, widgetDef.reactNode));
22
+ return (React.createElement(StatusBar, { ...props, widgetControl: widgetControl }, content));
26
23
  }
27
24
  //# sourceMappingURL=StatusBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/StatusBar.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,gBAAgB;AAChB,MAAM,UAAU,qBAAqB,CAAC,KAAkB;IACtD,MAAM,aAAa,GAAG,sBAAsB,EAAE,CAAC;IAC/C,MAAM,SAAS,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC;IAC3C,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC;IACpC,MAAM,aAAa,GACjB,OAAO,KAAK,SAAS;QACnB,CAAC,CAAE,SAAS,CAAC,gBAAgB,CACzB,yBAAyB,CAAC,eAAe,CACH;QAC1C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,SAAS,GAAG,UAAU,CAAC,6BAA6B,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7E,OAAO,CACL,oBAAC,SAAS,IACR,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,aAAa,EAAE,aAAa,IAE3B,SAAS,CAAC,SAAS,CACV,CACb,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport \"./StatusBar.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\nimport { StatusBar } from \"../statusbar/StatusBar\";\nimport type { StatusBarWidgetControl } from \"../statusbar/StatusBarWidgetControl\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef\";\n\n/** @internal */\nexport function WidgetPanelsStatusBar(props: CommonProps) {\n const frontstageDef = useActiveFrontstageDef();\n const widgetDef = frontstageDef?.statusBar;\n if (!widgetDef) return null;\n const content = widgetDef.reactNode;\n const widgetControl =\n content === undefined\n ? (widgetDef.getWidgetControl(\n ConfigurableUiControlType.StatusBarWidget\n ) as StatusBarWidgetControl | undefined)\n : undefined;\n const className = classnames(\"uifw-widgetPanels-statusBar\", props.className);\n return (\n <StatusBar\n className={className}\n style={props.style}\n widgetControl={widgetControl}\n >\n {widgetDef.reactNode}\n </StatusBar>\n );\n}\n"]}
1
+ {"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/StatusBar.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,gBAAgB;AAChB,MAAM,UAAU,qBAAqB,CAAC,KAAkB;IACtD,MAAM,aAAa,GAAG,sBAAsB,EAAE,CAAC;IAC/C,MAAM,SAAS,GAAG,aAAa,EAAE,SAAS,CAAC;IAC3C,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC;IACpC,MAAM,aAAa,GACjB,OAAO,KAAK,SAAS;QACnB,CAAC,CAAE,SAAS,CAAC,gBAAgB,CACzB,yBAAyB,CAAC,eAAe,CACH;QAC1C,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,CACL,oBAAC,SAAS,OAAK,KAAK,EAAE,aAAa,EAAE,aAAa,IAC/C,OAAO,CACE,CACb,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\nimport { StatusBar } from \"../statusbar/StatusBar\";\nimport type { StatusBarWidgetControl } from \"../statusbar/StatusBarWidgetControl\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef\";\n\n/** @internal */\nexport function WidgetPanelsStatusBar(props: CommonProps) {\n const frontstageDef = useActiveFrontstageDef();\n const widgetDef = frontstageDef?.statusBar;\n if (!widgetDef) return null;\n const content = widgetDef.reactNode;\n const widgetControl =\n content === undefined\n ? (widgetDef.getWidgetControl(\n ConfigurableUiControlType.StatusBarWidget\n ) as StatusBarWidgetControl | undefined)\n : undefined;\n return (\n <StatusBar {...props} widgetControl={widgetControl}>\n {content}\n </StatusBar>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Tab.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,YAAY,CAAC;AAEpB,gBAAgB;AAChB,wBAAgB,eAAe,sBAS9B;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,kDAIjE"}
1
+ {"version":3,"file":"Tab.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Tab.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAS,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,YAAY,CAAC;AAEpB,gBAAgB;AAChB,wBAAgB,eAAe,sBAO9B;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,kDAIjE"}
@@ -5,7 +5,7 @@
5
5
  /** @packageDocumentation
6
6
  * @module Widget
7
7
  */
8
- import { BadgeType, BadgeUtilities } from "@itwin/core-react";
8
+ import { Badge, BadgeType } from "@itwin/core-react";
9
9
  import * as React from "react";
10
10
  import { WidgetTab } from "../layout/widget/Tab";
11
11
  import { useWidgetDef } from "./Content";
@@ -13,10 +13,9 @@ import "./Tab.scss";
13
13
  /** @internal */
14
14
  export function WidgetPanelsTab() {
15
15
  const widgetDef = useWidgetDef();
16
- const badgeType = widgetDef === null || widgetDef === void 0 ? void 0 : widgetDef.badgeType;
16
+ const badgeType = widgetDef?.badgeType;
17
17
  const badgeClassName = getBadgeClassName(badgeType);
18
- const badge = React.useMemo(() => BadgeUtilities.getComponentForBadgeType(badgeType), [badgeType]);
19
- return React.createElement(WidgetTab, { className: badgeClassName, badge: badge });
18
+ return (React.createElement(WidgetTab, { className: badgeClassName, badge: React.createElement(Badge, { type: badgeType }) }));
20
19
  }
21
20
  /** @internal */
22
21
  export function getBadgeClassName(badgeType) {
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Tab.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,YAAY,CAAC;AAEpB,gBAAgB;AAChB,MAAM,UAAU,eAAe;IAC7B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC;IACvC,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CACzB,GAAG,EAAE,CAAC,cAAc,CAAC,wBAAwB,CAAC,SAAS,CAAC,EACxD,CAAC,SAAS,CAAC,CACZ,CAAC;IACF,OAAO,oBAAC,SAAS,IAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;AAChE,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAAC,SAAgC;IAChE,IAAI,SAAS,KAAK,SAAS,CAAC,GAAG;QAAE,OAAO,gBAAgB,CAAC;SACpD,IAAI,SAAS,KAAK,SAAS,CAAC,gBAAgB;QAAE,OAAO,eAAe,CAAC;IAC1E,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport { BadgeType, BadgeUtilities } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { WidgetTab } from \"../layout/widget/Tab\";\nimport { useWidgetDef } from \"./Content\";\nimport \"./Tab.scss\";\n\n/** @internal */\nexport function WidgetPanelsTab() {\n const widgetDef = useWidgetDef();\n const badgeType = widgetDef?.badgeType;\n const badgeClassName = getBadgeClassName(badgeType);\n const badge = React.useMemo(\n () => BadgeUtilities.getComponentForBadgeType(badgeType),\n [badgeType]\n );\n return <WidgetTab className={badgeClassName} badge={badge} />;\n}\n\n/** @internal */\nexport function getBadgeClassName(badgeType: BadgeType | undefined) {\n if (badgeType === BadgeType.New) return \"uifw-badge-new\";\n else if (badgeType === BadgeType.TechnicalPreview) return \"uifw-badge-tp\";\n return undefined;\n}\n"]}
1
+ {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Tab.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,YAAY,CAAC;AAEpB,gBAAgB;AAChB,MAAM,UAAU,eAAe;IAC7B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,SAAS,EAAE,SAAS,CAAC;IACvC,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpD,OAAO,CACL,oBAAC,SAAS,IAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,oBAAC,KAAK,IAAC,IAAI,EAAE,SAAS,GAAI,GAAI,CAC5E,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAAC,SAAgC;IAChE,IAAI,SAAS,KAAK,SAAS,CAAC,GAAG;QAAE,OAAO,gBAAgB,CAAC;SACpD,IAAI,SAAS,KAAK,SAAS,CAAC,gBAAgB;QAAE,OAAO,eAAe,CAAC;IAC1E,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport { Badge, BadgeType } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { WidgetTab } from \"../layout/widget/Tab\";\nimport { useWidgetDef } from \"./Content\";\nimport \"./Tab.scss\";\n\n/** @internal */\nexport function WidgetPanelsTab() {\n const widgetDef = useWidgetDef();\n const badgeType = widgetDef?.badgeType;\n const badgeClassName = getBadgeClassName(badgeType);\n return (\n <WidgetTab className={badgeClassName} badge={<Badge type={badgeType} />} />\n );\n}\n\n/** @internal */\nexport function getBadgeClassName(badgeType: BadgeType | undefined) {\n if (badgeType === BadgeType.New) return \"uifw-badge-new\";\n else if (badgeType === BadgeType.TechnicalPreview) return \"uifw-badge-tp\";\n return undefined;\n}\n"]}