@itwin/appui-react 4.12.0 → 4.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1009) hide show
  1. package/CHANGELOG.md +22 -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 +1 -1
  7. package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/Calculator.js +3 -1
  9. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/CalculatorPopup.d.ts.map +1 -1
  11. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts +36 -12
  13. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +37 -19
  15. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  16. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  17. package/lib/cjs/appui-react/backstage/BackstageComposer.js +2 -1
  18. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  19. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +1 -2
  20. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  21. package/lib/cjs/appui-react/childwindow/ChildWindowConfig.d.ts +8 -6
  22. package/lib/cjs/appui-react/childwindow/ChildWindowConfig.d.ts.map +1 -1
  23. package/lib/cjs/appui-react/childwindow/ChildWindowConfig.js.map +1 -1
  24. package/lib/cjs/appui-react/childwindow/{PopoutWidget.d.ts → ChildWindowWidget.d.ts} +4 -4
  25. package/lib/cjs/appui-react/childwindow/ChildWindowWidget.d.ts.map +1 -0
  26. package/lib/cjs/appui-react/childwindow/{PopoutWidget.js → ChildWindowWidget.js} +11 -5
  27. package/lib/cjs/appui-react/childwindow/ChildWindowWidget.js.map +1 -0
  28. package/lib/{esm/appui-react/childwindow/PopoutWidget.scss → cjs/appui-react/childwindow/ChildWindowWidget.scss} +0 -1
  29. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts +3 -3
  30. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  31. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +25 -33
  32. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  33. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  34. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  35. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -12
  36. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  37. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +5 -18
  38. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  39. package/lib/cjs/appui-react/configurableui/TimeTracker.js +1 -2
  40. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  41. package/lib/cjs/appui-react/content/ContentControl.d.ts +2 -0
  42. package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
  43. package/lib/cjs/appui-react/content/ContentControl.js +1 -0
  44. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  45. package/lib/cjs/appui-react/content/ContentLayout.d.ts +2 -0
  46. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  47. package/lib/cjs/appui-react/content/ContentLayout.js +14 -14
  48. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  49. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +3 -4
  50. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  51. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +2 -2
  52. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  53. package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -3
  54. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  55. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  56. package/lib/cjs/appui-react/content/IModelViewport.js +7 -8
  57. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  58. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +1 -2
  59. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  60. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts +5 -5
  61. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
  62. package/lib/cjs/appui-react/content/InternalContentViewManager.js +5 -7
  63. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  64. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +10 -12
  65. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  66. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts +2 -0
  67. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/cursor/CursorInformation.js +2 -0
  69. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  70. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  71. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
  72. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  73. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  74. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +1 -0
  75. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  76. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +5 -19
  77. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  78. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +4 -24
  79. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  80. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -0
  82. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  83. package/lib/cjs/appui-react/dialog/ContentDialog.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/dialog/ContentDialog.js +8 -7
  85. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  86. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts +5 -2
  87. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +6 -3
  89. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  90. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts +3 -2
  91. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  92. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js +1 -2
  93. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  94. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts +3 -2
  95. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -1
  96. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js +2 -2
  97. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  98. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts +3 -2
  99. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  100. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js +1 -2
  101. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  102. package/lib/cjs/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
  103. package/lib/cjs/appui-react/dialog/ModelessDialog.js +3 -1
  104. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  105. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  106. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js +3 -1
  107. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  108. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts +2 -0
  109. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  110. package/lib/cjs/appui-react/feedback/ElementTooltip.js +6 -2
  111. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  112. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts +5 -0
  113. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts.map +1 -1
  114. package/lib/cjs/appui-react/framework/FrameworkContent.js +4 -0
  115. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
  116. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts +2 -0
  117. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts.map +1 -1
  118. package/lib/cjs/appui-react/framework/FrameworkDialogs.js +4 -0
  119. package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
  120. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts +17 -1
  121. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  122. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js +8 -0
  123. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  124. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts +2 -0
  125. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -1
  126. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js +1 -0
  127. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  128. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  129. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +23 -23
  130. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  131. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts +29 -33
  132. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  133. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +45 -50
  134. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  135. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  136. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +7 -5
  137. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  138. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
  139. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  140. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  141. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js +1 -0
  142. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  143. package/lib/cjs/appui-react/hooks/useActiveStageId.js +2 -1
  144. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  145. package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  146. package/lib/cjs/appui-react/hooks/useActiveViewport.js +2 -0
  147. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  148. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  149. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  150. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  151. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  152. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +8 -13
  153. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  154. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
  155. package/lib/cjs/appui-react/hooks/useUiVisibility.js +1 -0
  156. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
  157. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -1
  158. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -0
  159. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  160. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +1 -0
  161. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  162. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -1
  163. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  164. package/lib/cjs/appui-react/layout/base/DragManager.js +1 -2
  165. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  166. package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
  167. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  168. package/lib/cjs/appui-react/layout/footer/_variables.scss +0 -2
  169. package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
  170. package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
  171. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
  172. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  173. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +12 -14
  174. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  175. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +1 -2
  176. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  177. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +2 -3
  178. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  179. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  180. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  181. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
  182. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  183. package/lib/cjs/appui-react/layout/tool-settings/Docked.js +2 -2
  184. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  185. package/lib/cjs/appui-react/layout/tool-settings/Docked.scss +3 -13
  186. package/lib/cjs/appui-react/layout/tool-settings/Handle.scss +2 -2
  187. package/lib/cjs/appui-react/layout/tool-settings/Setting.js +1 -1
  188. package/lib/cjs/appui-react/layout/tool-settings/Setting.js.map +1 -1
  189. package/lib/cjs/appui-react/layout/tool-settings/Setting.scss +1 -2
  190. package/lib/cjs/appui-react/layout/widget/Button.d.ts +3 -2
  191. package/lib/cjs/appui-react/layout/widget/Button.d.ts.map +1 -1
  192. package/lib/cjs/appui-react/layout/widget/Button.js.map +1 -1
  193. package/lib/cjs/appui-react/layout/widget/ContentContainer.js +1 -1
  194. package/lib/cjs/appui-react/layout/widget/ContentContainer.js.map +1 -1
  195. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts +3 -3
  196. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  197. package/lib/cjs/appui-react/layout/widget/ContentManager.js +7 -1
  198. package/lib/cjs/appui-react/layout/widget/ContentManager.js.map +1 -1
  199. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +2 -2
  200. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  201. package/lib/cjs/appui-react/layout/widget/FloatingTab.js +5 -6
  202. package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
  203. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +2 -4
  204. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  205. package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
  206. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  207. package/lib/cjs/appui-react/layout/widget/Tab.js +4 -4
  208. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  209. package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
  210. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  211. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  212. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  213. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +5 -8
  214. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  215. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +1 -2
  216. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  217. package/lib/cjs/appui-react/messages/InputField.js +2 -1
  218. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  219. package/lib/cjs/appui-react/messages/MessageManager.d.ts +12 -0
  220. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  221. package/lib/cjs/appui-react/messages/MessageManager.js +18 -10
  222. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  223. package/lib/cjs/appui-react/messages/MessageRenderer.js +7 -8
  224. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  225. package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -0
  226. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  227. package/lib/cjs/appui-react/messages/Pointer.js +7 -9
  228. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  229. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +2 -0
  230. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  231. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +1 -0
  232. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  233. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  234. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -0
  235. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  236. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -0
  237. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  238. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +11 -3
  239. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  240. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  241. package/lib/cjs/appui-react/pickers/ListPicker.js +3 -1
  242. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  243. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +2 -0
  244. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  245. package/lib/cjs/appui-react/pickers/ViewSelector.js +8 -13
  246. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  247. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  248. package/lib/cjs/appui-react/popup/CardPopup.js +2 -3
  249. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  250. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/popup/ComponentPopup.js +1 -1
  252. package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -1
  253. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  254. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  255. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  256. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  257. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  258. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +7 -4
  259. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  260. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  261. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +1 -1
  262. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  263. package/lib/cjs/appui-react/popup/PopupManager.d.ts +5 -1
  264. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  265. package/lib/cjs/appui-react/popup/PopupManager.js +24 -24
  266. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  267. package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
  268. package/lib/cjs/appui-react/popup/PositionPopup.js +1 -0
  269. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  270. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  271. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  272. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  273. package/lib/cjs/appui-react/popup/ToolbarPopup.js +2 -3
  274. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  275. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +7 -0
  276. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  277. package/lib/cjs/appui-react/preview/PreviewFeatures.js +2 -1
  278. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  279. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +2 -2
  280. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  281. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  282. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  283. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +1 -1
  284. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
  285. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +2 -2
  286. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
  287. package/lib/cjs/appui-react/preview/new-toolbars/Item.js +1 -1
  288. package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -1
  289. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +1 -1
  290. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -1
  291. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +2 -3
  292. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  293. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
  294. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +11 -0
  295. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -0
  296. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +40 -0
  297. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -0
  298. package/lib/{esm/appui-react/layout/footer/message-center/_variables.scss → cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss} +3 -1
  299. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts +7 -0
  300. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts.map +1 -0
  301. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.js +25 -0
  302. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.js.map +1 -0
  303. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts +9 -0
  304. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts.map +1 -0
  305. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js +26 -0
  306. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js.map +1 -0
  307. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts +13 -0
  308. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts.map +1 -0
  309. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js +45 -0
  310. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js.map +1 -0
  311. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
  312. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts +18 -0
  313. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts.map +1 -0
  314. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js +28 -0
  315. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -0
  316. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts +4 -0
  317. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts.map +1 -0
  318. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js +18 -0
  319. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -0
  320. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +1 -2
  321. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  322. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
  323. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  324. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  325. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +8 -3
  326. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  327. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +1 -0
  329. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  330. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +3 -3
  331. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  332. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +15 -25
  333. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  334. package/lib/cjs/appui-react/statusbar/Indicator.js +1 -2
  335. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  336. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -3
  337. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  338. package/lib/cjs/appui-react/statusbar/StatusBar.js +21 -13
  339. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  340. package/lib/cjs/appui-react/statusbar/StatusBar.scss +18 -0
  341. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  342. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -0
  343. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  344. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  345. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +3 -1
  346. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  347. package/lib/cjs/appui-react/statusfields/SelectionScope.js +1 -1
  348. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  349. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +2 -2
  350. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.d.ts +11 -0
  351. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -0
  352. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js +91 -0
  353. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -0
  354. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.scss +25 -0
  355. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.d.ts +26 -0
  356. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.d.ts.map +1 -0
  357. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.js +28 -0
  358. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -0
  359. package/lib/{esm/appui-react/layout/footer/message-center/Message.scss → cjs/appui-react/statusfields/message-center/MessageCenterMessage.scss} +8 -17
  360. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  361. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +12 -6
  362. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  363. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts +3 -2
  364. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts.map +1 -1
  365. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js +4 -2
  366. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  367. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  368. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +1 -0
  369. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  370. package/lib/cjs/appui-react/syncui/UiSyncEvent.d.ts +2 -0
  371. package/lib/cjs/appui-react/syncui/UiSyncEvent.d.ts.map +1 -1
  372. package/lib/cjs/appui-react/syncui/UiSyncEvent.js +2 -0
  373. package/lib/cjs/appui-react/syncui/UiSyncEvent.js.map +1 -1
  374. package/lib/cjs/appui-react/theme/ThemeManager.js +2 -2
  375. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  376. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +1 -2
  377. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  378. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  379. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +2 -1
  380. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  381. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +7 -5
  382. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  383. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
  384. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  385. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +10 -17
  386. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  387. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +5 -3
  388. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  389. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.d.ts +4 -4
  390. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
  391. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js +4 -5
  392. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  393. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js +2 -1
  394. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  395. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +20 -22
  396. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  397. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
  398. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  399. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +3 -4
  400. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  401. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +1 -0
  402. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  403. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +11 -15
  404. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  405. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +1 -1
  406. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  407. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +14 -2
  408. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  409. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  410. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +7 -9
  411. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  412. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
  413. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -2
  414. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  415. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +45 -158
  416. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  417. package/lib/cjs/appui-react/uistate/AppUiSettings.js +1 -0
  418. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  419. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  420. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +1 -0
  421. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  422. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  423. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  424. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  425. package/lib/cjs/appui-react/widget-panels/Content.js +11 -10
  426. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  427. package/lib/cjs/appui-react/widget-panels/DockedBar.d.ts +13 -0
  428. package/lib/cjs/appui-react/widget-panels/DockedBar.d.ts.map +1 -0
  429. package/lib/cjs/appui-react/widget-panels/DockedBar.js +18 -0
  430. package/lib/cjs/appui-react/widget-panels/DockedBar.js.map +1 -0
  431. package/lib/cjs/appui-react/widget-panels/{StatusBar.scss → DockedBar.scss} +10 -4
  432. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  433. package/lib/cjs/appui-react/widget-panels/Frontstage.js +15 -18
  434. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  435. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js +2 -1
  436. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  437. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts +0 -1
  438. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  439. package/lib/cjs/appui-react/widget-panels/StatusBar.js +2 -5
  440. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  441. package/lib/cjs/appui-react/widget-panels/Tab.js +1 -1
  442. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  443. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +0 -12
  444. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  445. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +28 -53
  446. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  447. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +4 -27
  448. package/lib/cjs/appui-react/widget-panels/Toolbars.js +2 -3
  449. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  450. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  451. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +2 -1
  452. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  453. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  454. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +8 -5
  455. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  456. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.d.ts +1 -1
  457. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  458. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  459. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -0
  460. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  461. package/lib/cjs/appui-react/widgets/WidgetDef.js +10 -11
  462. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  463. package/lib/cjs/appui-react/widgets/WidgetHost.js +2 -3
  464. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  465. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts +1 -6
  466. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  467. package/lib/cjs/appui-react/widgets/WidgetManager.js +2 -8
  468. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  469. package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
  470. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  471. package/lib/cjs/appui-react.d.ts +1 -1
  472. package/lib/cjs/appui-react.d.ts.map +1 -1
  473. package/lib/cjs/appui-react.js +1 -1
  474. package/lib/cjs/appui-react.js.map +1 -1
  475. package/lib/esm/appui-react/UiFramework.d.ts +4 -1
  476. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  477. package/lib/esm/appui-react/UiFramework.js +13 -14
  478. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  479. package/lib/esm/appui-react/UiFramework.json +1 -1
  480. package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
  481. package/lib/esm/appui-react/accudraw/Calculator.js +3 -1
  482. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  483. package/lib/esm/appui-react/accudraw/CalculatorPopup.d.ts.map +1 -1
  484. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  485. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +36 -12
  486. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  487. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +37 -19
  488. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  489. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  490. package/lib/esm/appui-react/backstage/BackstageComposer.js +2 -1
  491. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  492. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -2
  493. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  494. package/lib/esm/appui-react/childwindow/ChildWindowConfig.d.ts +8 -6
  495. package/lib/esm/appui-react/childwindow/ChildWindowConfig.d.ts.map +1 -1
  496. package/lib/esm/appui-react/childwindow/ChildWindowConfig.js.map +1 -1
  497. package/lib/esm/appui-react/childwindow/{PopoutWidget.d.ts → ChildWindowWidget.d.ts} +4 -4
  498. package/lib/esm/appui-react/childwindow/ChildWindowWidget.d.ts.map +1 -0
  499. package/lib/esm/appui-react/childwindow/{PopoutWidget.js → ChildWindowWidget.js} +9 -3
  500. package/lib/esm/appui-react/childwindow/ChildWindowWidget.js.map +1 -0
  501. package/lib/{cjs/appui-react/childwindow/PopoutWidget.scss → esm/appui-react/childwindow/ChildWindowWidget.scss} +0 -1
  502. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts +3 -3
  503. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  504. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +25 -33
  505. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  506. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  507. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  508. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -12
  509. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  510. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +4 -15
  511. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  512. package/lib/esm/appui-react/configurableui/TimeTracker.js +1 -2
  513. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  514. package/lib/esm/appui-react/content/ContentControl.d.ts +2 -0
  515. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  516. package/lib/esm/appui-react/content/ContentControl.js +1 -0
  517. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  518. package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -0
  519. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  520. package/lib/esm/appui-react/content/ContentLayout.js +14 -14
  521. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  522. package/lib/esm/appui-react/content/DefaultViewOverlay.js +3 -4
  523. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  524. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +2 -2
  525. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  526. package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -3
  527. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  528. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  529. package/lib/esm/appui-react/content/IModelViewport.js +7 -8
  530. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  531. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +1 -2
  532. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  533. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts +5 -5
  534. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
  535. package/lib/esm/appui-react/content/InternalContentViewManager.js +6 -8
  536. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  537. package/lib/esm/appui-react/content/split-pane/SplitPane.js +10 -12
  538. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  539. package/lib/esm/appui-react/cursor/CursorInformation.d.ts +2 -0
  540. package/lib/esm/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  541. package/lib/esm/appui-react/cursor/CursorInformation.js +2 -0
  542. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  543. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  544. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
  545. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  546. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  547. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +1 -0
  548. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  549. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +5 -19
  550. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  551. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +5 -23
  552. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  553. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  554. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -0
  555. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  556. package/lib/esm/appui-react/dialog/ContentDialog.d.ts.map +1 -1
  557. package/lib/esm/appui-react/dialog/ContentDialog.js +8 -7
  558. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  559. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +5 -2
  560. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  561. package/lib/esm/appui-react/dialog/DialogManagerBase.js +6 -3
  562. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  563. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts +3 -2
  564. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  565. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js +2 -3
  566. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  567. package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts +3 -2
  568. package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -1
  569. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js +2 -2
  570. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  571. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts +3 -2
  572. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  573. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js +2 -3
  574. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  575. package/lib/esm/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
  576. package/lib/esm/appui-react/dialog/ModelessDialog.js +3 -1
  577. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  578. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  579. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js +3 -1
  580. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  581. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +2 -0
  582. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  583. package/lib/esm/appui-react/feedback/ElementTooltip.js +6 -2
  584. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  585. package/lib/esm/appui-react/framework/FrameworkContent.d.ts +5 -0
  586. package/lib/esm/appui-react/framework/FrameworkContent.d.ts.map +1 -1
  587. package/lib/esm/appui-react/framework/FrameworkContent.js +4 -0
  588. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
  589. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts +2 -0
  590. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts.map +1 -1
  591. package/lib/esm/appui-react/framework/FrameworkDialogs.js +4 -0
  592. package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
  593. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts +17 -1
  594. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  595. package/lib/esm/appui-react/framework/FrameworkFrontstages.js +8 -0
  596. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  597. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts +2 -0
  598. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -1
  599. package/lib/esm/appui-react/framework/FrameworkToolSettings.js +1 -0
  600. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  601. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  602. package/lib/esm/appui-react/frontstage/FrontstageDef.js +23 -23
  603. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  604. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts +29 -33
  605. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  606. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +46 -51
  607. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  608. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  609. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +7 -5
  610. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  611. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
  612. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  613. package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  614. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js +1 -0
  615. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  616. package/lib/esm/appui-react/hooks/useActiveStageId.js +2 -1
  617. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  618. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  619. package/lib/esm/appui-react/hooks/useActiveViewport.js +2 -0
  620. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  621. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  622. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  623. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  624. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  625. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +8 -13
  626. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  627. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
  628. package/lib/esm/appui-react/hooks/useUiVisibility.js +1 -0
  629. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
  630. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -1
  631. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -0
  632. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  633. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +1 -0
  634. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  635. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -1
  636. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  637. package/lib/esm/appui-react/layout/base/DragManager.js +1 -2
  638. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  639. package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
  640. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  641. package/lib/esm/appui-react/layout/footer/_variables.scss +0 -2
  642. package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
  643. package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
  644. package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
  645. package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  646. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +12 -14
  647. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  648. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +1 -2
  649. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  650. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +2 -3
  651. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  652. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  653. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  654. package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
  655. package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  656. package/lib/esm/appui-react/layout/tool-settings/Docked.js +2 -2
  657. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  658. package/lib/esm/appui-react/layout/tool-settings/Docked.scss +3 -13
  659. package/lib/esm/appui-react/layout/tool-settings/Handle.scss +2 -2
  660. package/lib/esm/appui-react/layout/tool-settings/Setting.js +1 -1
  661. package/lib/esm/appui-react/layout/tool-settings/Setting.js.map +1 -1
  662. package/lib/esm/appui-react/layout/tool-settings/Setting.scss +1 -2
  663. package/lib/esm/appui-react/layout/widget/Button.d.ts +3 -2
  664. package/lib/esm/appui-react/layout/widget/Button.d.ts.map +1 -1
  665. package/lib/esm/appui-react/layout/widget/Button.js.map +1 -1
  666. package/lib/esm/appui-react/layout/widget/ContentContainer.js +1 -1
  667. package/lib/esm/appui-react/layout/widget/ContentContainer.js.map +1 -1
  668. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts +3 -3
  669. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  670. package/lib/esm/appui-react/layout/widget/ContentManager.js +7 -1
  671. package/lib/esm/appui-react/layout/widget/ContentManager.js.map +1 -1
  672. package/lib/esm/appui-react/layout/widget/ContentRenderer.js +2 -2
  673. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  674. package/lib/esm/appui-react/layout/widget/FloatingTab.js +5 -6
  675. package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
  676. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +2 -4
  677. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  678. package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
  679. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  680. package/lib/esm/appui-react/layout/widget/Tab.js +4 -4
  681. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  682. package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
  683. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  684. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  685. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  686. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +5 -8
  687. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  688. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +1 -2
  689. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  690. package/lib/esm/appui-react/messages/InputField.js +2 -1
  691. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  692. package/lib/esm/appui-react/messages/MessageManager.d.ts +12 -0
  693. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  694. package/lib/esm/appui-react/messages/MessageManager.js +18 -10
  695. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  696. package/lib/esm/appui-react/messages/MessageRenderer.js +7 -8
  697. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  698. package/lib/esm/appui-react/messages/Pointer.d.ts +2 -0
  699. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  700. package/lib/esm/appui-react/messages/Pointer.js +7 -9
  701. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  702. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +2 -0
  703. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  704. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -0
  705. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  706. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  707. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -0
  708. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  709. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -0
  710. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  711. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +11 -3
  712. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  713. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  714. package/lib/esm/appui-react/pickers/ListPicker.js +3 -1
  715. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  716. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +2 -0
  717. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  718. package/lib/esm/appui-react/pickers/ViewSelector.js +9 -14
  719. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  720. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  721. package/lib/esm/appui-react/popup/CardPopup.js +2 -3
  722. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  723. package/lib/esm/appui-react/popup/ComponentPopup.d.ts.map +1 -1
  724. package/lib/esm/appui-react/popup/ComponentPopup.js +1 -1
  725. package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -1
  726. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  727. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  728. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  729. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  730. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  731. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +7 -4
  732. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  733. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  734. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +1 -1
  735. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  736. package/lib/esm/appui-react/popup/PopupManager.d.ts +5 -1
  737. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  738. package/lib/esm/appui-react/popup/PopupManager.js +24 -24
  739. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  740. package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
  741. package/lib/esm/appui-react/popup/PositionPopup.js +1 -0
  742. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  743. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  744. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  745. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  746. package/lib/esm/appui-react/popup/ToolbarPopup.js +2 -3
  747. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  748. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +7 -0
  749. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  750. package/lib/esm/appui-react/preview/PreviewFeatures.js +2 -1
  751. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  752. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +2 -2
  753. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  754. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  755. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  756. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +1 -1
  757. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
  758. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +2 -2
  759. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
  760. package/lib/esm/appui-react/preview/new-toolbars/Item.js +1 -1
  761. package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -1
  762. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +1 -1
  763. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -1
  764. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +2 -3
  765. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  766. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
  767. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +11 -0
  768. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -0
  769. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +36 -0
  770. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -0
  771. package/lib/{cjs/appui-react/layout/footer/message-center/_variables.scss → esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss} +3 -1
  772. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts +7 -0
  773. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts.map +1 -0
  774. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.js +21 -0
  775. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.js.map +1 -0
  776. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts +9 -0
  777. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts.map +1 -0
  778. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js +22 -0
  779. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js.map +1 -0
  780. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts +13 -0
  781. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts.map +1 -0
  782. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js +41 -0
  783. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js.map +1 -0
  784. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
  785. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts +18 -0
  786. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts.map +1 -0
  787. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js +25 -0
  788. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -0
  789. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts +4 -0
  790. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts.map +1 -0
  791. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js +14 -0
  792. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -0
  793. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +1 -2
  794. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  795. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
  796. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  797. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  798. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +8 -3
  799. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  800. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  801. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +1 -0
  802. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  803. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +3 -3
  804. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  805. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +14 -23
  806. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  807. package/lib/esm/appui-react/statusbar/Indicator.js +1 -2
  808. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  809. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -3
  810. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  811. package/lib/esm/appui-react/statusbar/StatusBar.js +21 -13
  812. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  813. package/lib/esm/appui-react/statusbar/StatusBar.scss +18 -0
  814. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  815. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -0
  816. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  817. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  818. package/lib/esm/appui-react/statusfields/ActivityCenter.js +3 -1
  819. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  820. package/lib/esm/appui-react/statusfields/SelectionScope.js +2 -2
  821. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  822. package/lib/esm/appui-react/statusfields/SelectionScope.scss +2 -2
  823. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.d.ts +11 -0
  824. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -0
  825. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js +87 -0
  826. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -0
  827. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.scss +25 -0
  828. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.d.ts +26 -0
  829. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.d.ts.map +1 -0
  830. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.js +24 -0
  831. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -0
  832. package/lib/{cjs/appui-react/layout/footer/message-center/Message.scss → esm/appui-react/statusfields/message-center/MessageCenterMessage.scss} +8 -17
  833. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  834. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -7
  835. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  836. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts +3 -2
  837. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts.map +1 -1
  838. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js +4 -2
  839. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  840. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  841. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +1 -0
  842. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  843. package/lib/esm/appui-react/syncui/UiSyncEvent.d.ts +2 -0
  844. package/lib/esm/appui-react/syncui/UiSyncEvent.d.ts.map +1 -1
  845. package/lib/esm/appui-react/syncui/UiSyncEvent.js +2 -0
  846. package/lib/esm/appui-react/syncui/UiSyncEvent.js.map +1 -1
  847. package/lib/esm/appui-react/theme/ThemeManager.js +2 -2
  848. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  849. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +1 -2
  850. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  851. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  852. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +3 -2
  853. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  854. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +7 -5
  855. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  856. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
  857. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  858. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +10 -17
  859. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  860. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +5 -3
  861. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  862. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.d.ts +4 -4
  863. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
  864. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js +4 -5
  865. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  866. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js +2 -1
  867. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  868. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +20 -22
  869. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  870. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
  871. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  872. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -3
  873. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  874. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +1 -0
  875. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  876. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +11 -15
  877. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  878. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +1 -1
  879. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  880. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +14 -2
  881. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  882. package/lib/esm/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  883. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +7 -9
  884. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  885. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
  886. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -2
  887. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  888. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +45 -158
  889. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  890. package/lib/esm/appui-react/uistate/AppUiSettings.js +1 -0
  891. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  892. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  893. package/lib/esm/appui-react/uistate/useUiStateStorage.js +1 -0
  894. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  895. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  896. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  897. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  898. package/lib/esm/appui-react/widget-panels/Content.js +11 -10
  899. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  900. package/lib/esm/appui-react/widget-panels/DockedBar.d.ts +13 -0
  901. package/lib/esm/appui-react/widget-panels/DockedBar.d.ts.map +1 -0
  902. package/lib/esm/appui-react/widget-panels/DockedBar.js +14 -0
  903. package/lib/esm/appui-react/widget-panels/DockedBar.js.map +1 -0
  904. package/lib/esm/appui-react/widget-panels/{StatusBar.scss → DockedBar.scss} +10 -4
  905. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  906. package/lib/esm/appui-react/widget-panels/Frontstage.js +15 -18
  907. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  908. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js +2 -1
  909. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  910. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts +0 -1
  911. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  912. package/lib/esm/appui-react/widget-panels/StatusBar.js +2 -5
  913. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  914. package/lib/esm/appui-react/widget-panels/Tab.js +1 -1
  915. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  916. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +0 -12
  917. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  918. package/lib/esm/appui-react/widget-panels/ToolSettings.js +27 -51
  919. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  920. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +4 -27
  921. package/lib/esm/appui-react/widget-panels/Toolbars.js +2 -3
  922. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  923. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  924. package/lib/esm/appui-react/widgets/BackstageAppButton.js +2 -1
  925. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  926. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  927. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +8 -5
  928. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  929. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.d.ts +1 -1
  930. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  931. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  932. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -0
  933. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  934. package/lib/esm/appui-react/widgets/WidgetDef.js +10 -11
  935. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  936. package/lib/esm/appui-react/widgets/WidgetHost.js +2 -3
  937. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  938. package/lib/esm/appui-react/widgets/WidgetManager.d.ts +1 -6
  939. package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  940. package/lib/esm/appui-react/widgets/WidgetManager.js +1 -6
  941. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  942. package/lib/esm/appui-react/widgets/useWidget.js +1 -1
  943. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  944. package/lib/esm/appui-react.d.ts +1 -1
  945. package/lib/esm/appui-react.d.ts.map +1 -1
  946. package/lib/esm/appui-react.js +1 -1
  947. package/lib/esm/appui-react.js.map +1 -1
  948. package/lib/public/locales/en/UiFramework.json +1 -1
  949. package/package.json +12 -37
  950. package/lib/cjs/appui-react/childwindow/PopoutWidget.d.ts.map +0 -1
  951. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +0 -1
  952. package/lib/cjs/appui-react/layout/footer/Footer.d.ts +0 -33
  953. package/lib/cjs/appui-react/layout/footer/Footer.d.ts.map +0 -1
  954. package/lib/cjs/appui-react/layout/footer/Footer.js +0 -30
  955. package/lib/cjs/appui-react/layout/footer/Footer.js.map +0 -1
  956. package/lib/cjs/appui-react/layout/footer/Footer.scss +0 -61
  957. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.d.ts +0 -29
  958. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.d.ts.map +0 -1
  959. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.js +0 -32
  960. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.js.map +0 -1
  961. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.scss +0 -64
  962. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.d.ts +0 -29
  963. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.d.ts.map +0 -1
  964. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.js +0 -33
  965. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.js.map +0 -1
  966. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.scss +0 -106
  967. package/lib/cjs/appui-react/layout/footer/message-center/Message.d.ts +0 -22
  968. package/lib/cjs/appui-react/layout/footer/message-center/Message.d.ts.map +0 -1
  969. package/lib/cjs/appui-react/layout/footer/message-center/Message.js +0 -26
  970. package/lib/cjs/appui-react/layout/footer/message-center/Message.js.map +0 -1
  971. package/lib/cjs/appui-react/layout/footer/message-center/Tab.d.ts +0 -24
  972. package/lib/cjs/appui-react/layout/footer/message-center/Tab.d.ts.map +0 -1
  973. package/lib/cjs/appui-react/layout/footer/message-center/Tab.js +0 -26
  974. package/lib/cjs/appui-react/layout/footer/message-center/Tab.js.map +0 -1
  975. package/lib/cjs/appui-react/layout/footer/message-center/Tab.scss +0 -60
  976. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +0 -46
  977. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +0 -1
  978. package/lib/cjs/appui-react/statusfields/MessageCenter.js +0 -132
  979. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +0 -1
  980. package/lib/esm/appui-react/childwindow/PopoutWidget.d.ts.map +0 -1
  981. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +0 -1
  982. package/lib/esm/appui-react/layout/footer/Footer.d.ts +0 -33
  983. package/lib/esm/appui-react/layout/footer/Footer.d.ts.map +0 -1
  984. package/lib/esm/appui-react/layout/footer/Footer.js +0 -26
  985. package/lib/esm/appui-react/layout/footer/Footer.js.map +0 -1
  986. package/lib/esm/appui-react/layout/footer/Footer.scss +0 -61
  987. package/lib/esm/appui-react/layout/footer/message-center/Dialog.d.ts +0 -29
  988. package/lib/esm/appui-react/layout/footer/message-center/Dialog.d.ts.map +0 -1
  989. package/lib/esm/appui-react/layout/footer/message-center/Dialog.js +0 -28
  990. package/lib/esm/appui-react/layout/footer/message-center/Dialog.js.map +0 -1
  991. package/lib/esm/appui-react/layout/footer/message-center/Dialog.scss +0 -64
  992. package/lib/esm/appui-react/layout/footer/message-center/Indicator.d.ts +0 -29
  993. package/lib/esm/appui-react/layout/footer/message-center/Indicator.d.ts.map +0 -1
  994. package/lib/esm/appui-react/layout/footer/message-center/Indicator.js +0 -29
  995. package/lib/esm/appui-react/layout/footer/message-center/Indicator.js.map +0 -1
  996. package/lib/esm/appui-react/layout/footer/message-center/Indicator.scss +0 -106
  997. package/lib/esm/appui-react/layout/footer/message-center/Message.d.ts +0 -22
  998. package/lib/esm/appui-react/layout/footer/message-center/Message.d.ts.map +0 -1
  999. package/lib/esm/appui-react/layout/footer/message-center/Message.js +0 -22
  1000. package/lib/esm/appui-react/layout/footer/message-center/Message.js.map +0 -1
  1001. package/lib/esm/appui-react/layout/footer/message-center/Tab.d.ts +0 -24
  1002. package/lib/esm/appui-react/layout/footer/message-center/Tab.d.ts.map +0 -1
  1003. package/lib/esm/appui-react/layout/footer/message-center/Tab.js +0 -22
  1004. package/lib/esm/appui-react/layout/footer/message-center/Tab.js.map +0 -1
  1005. package/lib/esm/appui-react/layout/footer/message-center/Tab.scss +0 -60
  1006. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +0 -46
  1007. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +0 -1
  1008. package/lib/esm/appui-react/statusfields/MessageCenter.js +0 -128
  1009. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +0 -1
@@ -31,18 +31,15 @@ export function ContentWrapper(props) {
31
31
  return controlId;
32
32
  };
33
33
  // istanbul ignore next
34
- const [hasMultipleContents, setHasMultipleContents] = React.useState(() => {
35
- var _a, _b, _c;
36
- return (activeFrontstageDef &&
37
- !!((_a = activeFrontstageDef.floatingContentControls) === null || _a === void 0 ? void 0 : _a.length)) ||
38
- ((_c = (_b = activeFrontstageDef === null || activeFrontstageDef === void 0 ? void 0 : activeFrontstageDef.contentGroup) === null || _b === void 0 ? void 0 : _b.getContentControls().length) !== null && _c !== void 0 ? _c : 0) > 1;
39
- });
34
+ const [hasMultipleContents, setHasMultipleContents] = React.useState(() => (activeFrontstageDef &&
35
+ !!activeFrontstageDef.floatingContentControls?.length) ||
36
+ (activeFrontstageDef?.contentGroup?.getContentControls().length ?? 0) > 1);
40
37
  React.useEffect(() => {
41
38
  setIsActive(content === UiFramework.content.getActive());
42
39
  }, [content]);
43
40
  React.useEffect(() => {
44
- const handleActiveContentChanged = (args) => {
45
- var _a, _b, _c;
41
+ const handleActiveContentChanged = (args // eslint-disable-line deprecation/deprecation
42
+ ) => {
46
43
  const contentIsIdentical = content === args.activeContent;
47
44
  if (contentIsIdentical)
48
45
  setIsActive(contentIsIdentical);
@@ -53,8 +50,9 @@ export function ContentWrapper(props) {
53
50
  }
54
51
  // istanbul ignore next
55
52
  setHasMultipleContents((activeFrontstageDef &&
56
- !!((_a = activeFrontstageDef.floatingContentControls) === null || _a === void 0 ? void 0 : _a.length)) ||
57
- ((_c = (_b = activeFrontstageDef === null || activeFrontstageDef === void 0 ? void 0 : activeFrontstageDef.contentGroup) === null || _b === void 0 ? void 0 : _b.getContentControls().length) !== null && _c !== void 0 ? _c : 0) > 1);
53
+ !!activeFrontstageDef.floatingContentControls?.length) ||
54
+ (activeFrontstageDef?.contentGroup?.getContentControls().length ??
55
+ 0) > 1);
58
56
  };
59
57
  return UiFramework.content.onActiveContentChangedEvent.addListener(handleActiveContentChanged);
60
58
  }, [activeFrontstageDef, content]);
@@ -64,11 +62,11 @@ export function ContentWrapper(props) {
64
62
  }, [content]);
65
63
  React.useEffect(() => {
66
64
  const onAvailableContentChanged = () => {
67
- var _a, _b, _c;
68
65
  // istanbul ignore next
69
66
  setHasMultipleContents((activeFrontstageDef &&
70
- !!((_a = activeFrontstageDef.floatingContentControls) === null || _a === void 0 ? void 0 : _a.length)) ||
71
- ((_c = (_b = activeFrontstageDef === null || activeFrontstageDef === void 0 ? void 0 : activeFrontstageDef.contentGroup) === null || _b === void 0 ? void 0 : _b.getContentControls().length) !== null && _c !== void 0 ? _c : 0) > 1);
67
+ !!activeFrontstageDef.floatingContentControls?.length) ||
68
+ (activeFrontstageDef?.contentGroup?.getContentControls().length ??
69
+ 0) > 1);
72
70
  };
73
71
  return UiFramework.content.onAvailableContentChangedEvent.addListener(onAvailableContentChanged);
74
72
  }, [activeFrontstageDef]);
@@ -319,6 +317,7 @@ export class ContentLayoutDef {
319
317
  }
320
318
  /** Content Layout Activated Event class.
321
319
  * @public
320
+ * @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.
322
321
  */
323
322
  // eslint-disable-next-line deprecation/deprecation
324
323
  export class ContentLayoutActivatedEvent extends UiEvent {
@@ -329,7 +328,8 @@ export class ContentLayoutActivatedEvent extends UiEvent {
329
328
  export class ContentLayout extends React.Component {
330
329
  constructor(props) {
331
330
  super(props);
332
- this._handleContentLayoutActivated = (args) => {
331
+ this._handleContentLayoutActivated = (args // eslint-disable-line deprecation/deprecation
332
+ ) => {
333
333
  const contentLayoutDef = args.contentLayout;
334
334
  const contentGroup = args.contentGroup;
335
335
  const contentNodes = contentGroup.getContentNodes();
@@ -1 +1 @@
1
- {"version":3,"file":"ContentLayout.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentLayout.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\n// cSpell:ignore contentlayout\n\nimport \"./ContentLayout.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { SplitPane } from \"./split-pane/SplitPane\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Orientation } from \"@itwin/core-react\";\nimport type { ContentGroup } from \"./ContentGroup\";\nimport type {\n ContentLayoutProps,\n LayoutFragmentProps,\n LayoutHorizontalSplitProps,\n LayoutSplitPropsBase,\n LayoutVerticalSplitProps,\n} from \"@itwin/appui-abstract\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { ActiveContentChangedEventArgs } from \"../framework/FrameworkContent\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** Properties for [[ContentWrapper]] */\ninterface ContentWrapperProps extends CommonProps {\n content: React.ReactNode;\n}\n\n/** ContentWrapper React component.\n * @internal\n */\nexport function ContentWrapper(props: ContentWrapperProps) {\n const { content } = props;\n const [isActive, setIsActive] = React.useState(\n content === UiFramework.content.getActive()\n );\n const activeFrontstageDef = useActiveFrontstageDef();\n\n const contentControlKey = (\n contentControl: React.ReactNode\n ): string | undefined => {\n let controlId: string | undefined;\n if (contentControl && (contentControl as React.ReactElement<any>).key) {\n const key = (contentControl as React.ReactElement<any>).key as string;\n // key has format `${contentProps.id}::${this.groupId}` which is stored as unique id\n controlId = key.split(\"::\", 1)[0];\n }\n return controlId;\n };\n\n // istanbul ignore next\n const [hasMultipleContents, setHasMultipleContents] = React.useState(\n () =>\n (activeFrontstageDef &&\n !!activeFrontstageDef.floatingContentControls?.length) ||\n (activeFrontstageDef?.contentGroup?.getContentControls().length ?? 0) > 1\n );\n\n React.useEffect(() => {\n setIsActive(content === UiFramework.content.getActive());\n }, [content]);\n\n React.useEffect(() => {\n const handleActiveContentChanged = (\n args: ActiveContentChangedEventArgs\n ) => {\n const contentIsIdentical = content === args.activeContent;\n if (contentIsIdentical) setIsActive(contentIsIdentical);\n else {\n const contentId = contentControlKey(content);\n const activeContentId = contentControlKey(args.activeContent);\n setIsActive(contentId === activeContentId);\n }\n // istanbul ignore next\n setHasMultipleContents(\n (activeFrontstageDef &&\n !!activeFrontstageDef.floatingContentControls?.length) ||\n (activeFrontstageDef?.contentGroup?.getContentControls().length ??\n 0) > 1\n );\n };\n return UiFramework.content.onActiveContentChangedEvent.addListener(\n handleActiveContentChanged\n );\n }, [activeFrontstageDef, content]);\n\n const handleMouseDown = React.useCallback(() => {\n UiFramework.content.setActive(content);\n setIsActive(true);\n }, [content]);\n\n React.useEffect(() => {\n const onAvailableContentChanged = () => {\n // istanbul ignore next\n setHasMultipleContents(\n (activeFrontstageDef &&\n !!activeFrontstageDef.floatingContentControls?.length) ||\n (activeFrontstageDef?.contentGroup?.getContentControls().length ??\n 0) > 1\n );\n };\n return UiFramework.content.onAvailableContentChangedEvent.addListener(\n onAvailableContentChanged\n );\n }, [activeFrontstageDef]);\n\n const overlayClassName = classnames(\n \"uifw-contentlayout-overlay-div\",\n isActive && hasMultipleContents\n ? \"uifw-contentlayout-overlay-active\"\n : \"uifw-contentlayout-overlay-inactive\"\n );\n\n return (\n <div\n className={classnames(\"uifw-contentlayout-wrapper\", props.className)}\n style={props.style}\n onMouseDown={handleMouseDown}\n onMouseMove={UiFramework.visibility.handleContentMouseMove}\n role=\"presentation\"\n >\n {content}\n <div className={overlayClassName} />\n </div>\n );\n}\n\n/** Properties for the [[SplitContainer]] component */\ninterface SplitContainerProps extends CommonProps {\n contentA: React.ReactNode;\n contentB: React.ReactNode;\n orientation: Orientation;\n percentage: number;\n resizable: boolean;\n minSizeTopLeft: number;\n minSizeBottomRight: number;\n splitterStateId?: string;\n onSplitterChange?: (size: number, percentage: number) => void;\n}\n\n/** Split Container class.\n */\nclass SplitContainer extends React.Component<SplitContainerProps> {\n private _containerDiv: HTMLDivElement | null = null;\n\n constructor(props: SplitContainerProps) {\n super(props);\n }\n\n private _onSplitterChange = (size: number): void => {\n let percentage = 0;\n\n // istanbul ignore else\n if (this._containerDiv && size > 0) {\n if (this.props.orientation === Orientation.Horizontal) {\n const height = this._containerDiv.getBoundingClientRect().height;\n // istanbul ignore if\n if (height > 0) percentage = size / height;\n } else {\n const width = this._containerDiv.getBoundingClientRect().width;\n // istanbul ignore if\n if (width > 0) percentage = size / width;\n }\n\n // istanbul ignore else\n if (this.props.onSplitterChange)\n this.props.onSplitterChange(size, percentage);\n }\n };\n\n public override render(): React.ReactNode {\n const orientation =\n this.props.orientation === Orientation.Horizontal\n ? \"horizontal\"\n : \"vertical\";\n const defaultSize = `${(this.props.percentage * 100).toString()}%`;\n const minSizeTopLeft = this.props.minSizeTopLeft;\n const minSizeBottomRight = -this.props.minSizeBottomRight;\n\n return (\n <div\n ref={(e) => {\n this._containerDiv = e;\n }}\n className={classnames(\n \"uifw-contentlayout-full-size\",\n this.props.className\n )}\n style={this.props.style}\n >\n <SplitPane\n split={orientation}\n minSize={minSizeTopLeft}\n maxSize={minSizeBottomRight}\n defaultSize={defaultSize}\n onChange={this._onSplitterChange}\n allowResize={this.props.resizable}\n >\n {this.props.contentA}\n {this.props.contentB}\n </SplitPane>\n </div>\n );\n }\n}\n\n/** Properties for [[SingleContentContainer]] component\n */\ninterface SingleContentProps extends CommonProps {\n content: React.ReactNode;\n}\n\n/** Single Content Container class.\n */\nclass SingleContentContainer extends React.Component<SingleContentProps> {\n public override render(): React.ReactNode {\n return (\n <div\n className={classnames(\n \"uifw-contentlayout-full-size\",\n this.props.className\n )}\n style={this.props.style}\n data-testid=\"single-content-container\"\n onMouseMove={UiFramework.visibility.handleContentMouseMove}\n >\n <ContentWrapper\n content={this.props.content}\n style={{ height: \"100%\", position: \"relative\" }}\n />\n </div>\n );\n }\n}\n\n/** Common interface for HorizontalSplit and VerticalSplit\n */\ninterface LayoutSplit {\n createContentContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode;\n isLocked: boolean;\n}\n\n/** Minimum split size */\nconst MIN_SPLIT_SIZE = 6;\n\n/** Base Split class.\n */\nclass BaseSplit {\n public defaultPercentage: number;\n public stateId: string = \"\";\n public isLocked: boolean = false;\n\n constructor(props: LayoutSplitPropsBase) {\n this.defaultPercentage = props.percentage;\n\n // istanbul ignore else\n if (props.id) this.stateId = props.id;\n\n // istanbul ignore else\n if (props.lock) this.isLocked = props.lock;\n }\n}\n\n/** Horizontal Split class.\n */\nclass HorizontalSplit extends BaseSplit implements LayoutSplit {\n private _topIndex: number = -1;\n private _bottomIndex: number = -1;\n private _topSplit?: LayoutSplit;\n private _bottomSplit?: LayoutSplit;\n private _props: LayoutHorizontalSplitProps;\n private _minSizeTop: number = MIN_SPLIT_SIZE;\n private _minSizeBottom: number = MIN_SPLIT_SIZE;\n\n constructor(props: LayoutHorizontalSplitProps) {\n super(props);\n\n this._props = props;\n\n if (typeof props.top === \"number\") {\n this._topIndex = props.top;\n } else {\n this._topSplit = ContentLayoutDef.createSplit(props.top);\n }\n\n if (typeof props.bottom === \"number\") {\n this._bottomIndex = props.bottom;\n } else {\n this._bottomSplit = ContentLayoutDef.createSplit(props.bottom);\n }\n\n if (props.minSizeTop)\n this._minSizeTop = Math.max(props.minSizeTop, MIN_SPLIT_SIZE);\n\n if (props.minSizeBottom)\n this._minSizeBottom = Math.max(props.minSizeBottom, MIN_SPLIT_SIZE);\n }\n\n private _handleSplitterChange = (_size: number, percentage: number): void => {\n this._props.percentage = percentage;\n };\n\n public createContentContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode {\n if (this.isLocked) resizable = false;\n\n const topContent = !this._topSplit ? (\n <ContentWrapper content={contentNodes[this._topIndex]} />\n ) : (\n this._topSplit.createContentContainer(contentNodes, resizable)\n );\n const bottomContent = !this._bottomSplit ? (\n <ContentWrapper content={contentNodes[this._bottomIndex]} />\n ) : (\n this._bottomSplit.createContentContainer(contentNodes, resizable)\n );\n\n return (\n <SplitContainer\n contentA={topContent}\n contentB={bottomContent}\n orientation={Orientation.Horizontal}\n percentage={this.defaultPercentage}\n resizable={resizable}\n minSizeTopLeft={this._minSizeTop}\n minSizeBottomRight={this._minSizeBottom}\n splitterStateId={this.stateId}\n onSplitterChange={this._handleSplitterChange}\n />\n );\n }\n}\n\n/** Vertical Split class.\n */\nclass VerticalSplit extends BaseSplit implements LayoutSplit {\n private _leftIndex: number = -1;\n private _rightIndex: number = -1;\n private _leftSplit?: LayoutSplit;\n private _rightSplit?: LayoutSplit;\n private _props: LayoutVerticalSplitProps;\n private _minSizeLeft: number = MIN_SPLIT_SIZE;\n private _minSizeRight: number = MIN_SPLIT_SIZE;\n\n constructor(props: LayoutVerticalSplitProps) {\n super(props);\n\n this._props = props;\n\n if (typeof props.left === \"number\") {\n this._leftIndex = props.left;\n } else {\n this._leftSplit = ContentLayoutDef.createSplit(props.left);\n }\n\n if (typeof props.right === \"number\") {\n this._rightIndex = props.right;\n } else {\n this._rightSplit = ContentLayoutDef.createSplit(props.right);\n }\n\n if (props.minSizeLeft)\n this._minSizeLeft = Math.max(props.minSizeLeft, MIN_SPLIT_SIZE);\n\n if (props.minSizeRight)\n this._minSizeRight = Math.max(props.minSizeRight, MIN_SPLIT_SIZE);\n }\n\n private _handleSplitterChange = (_size: number, percentage: number): void => {\n this._props.percentage = percentage;\n };\n\n public createContentContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode {\n if (this.isLocked) resizable = false;\n\n const leftContent = !this._leftSplit ? (\n <ContentWrapper content={contentNodes[this._leftIndex]} />\n ) : (\n this._leftSplit.createContentContainer(contentNodes, resizable)\n );\n const rightContent = !this._rightSplit ? (\n <ContentWrapper content={contentNodes[this._rightIndex]} />\n ) : (\n this._rightSplit.createContentContainer(contentNodes, resizable)\n );\n\n return (\n <SplitContainer\n contentA={leftContent}\n contentB={rightContent}\n orientation={Orientation.Vertical}\n percentage={this.defaultPercentage}\n resizable={resizable}\n minSizeTopLeft={this._minSizeLeft}\n minSizeBottomRight={this._minSizeRight}\n splitterStateId={this.stateId}\n onSplitterChange={this._handleSplitterChange}\n />\n );\n }\n}\n\n/** Content Layout Definition class.\n * @public\n */\nexport class ContentLayoutDef {\n private _layoutProps: ContentLayoutProps;\n private _rootSplit?: LayoutSplit;\n\n /** ID for this Content Layout */\n public id: string = \"\";\n /** Description of the layout. */\n public description: string = \"\";\n constructor(layoutProps: ContentLayoutProps) {\n this._layoutProps = layoutProps;\n this.id = layoutProps.id;\n if (layoutProps.description !== undefined)\n this.description = layoutProps.description;\n }\n\n public get rootSplit(): LayoutSplit | undefined {\n return this._rootSplit;\n }\n\n /** Creates [[ContentLayoutProps]] for JSON purposes\n * @public\n */\n public toJSON(): ContentLayoutProps {\n return this._layoutProps;\n }\n\n /** Fill a layout container with React nodes for each content view\n */\n public fillLayoutContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode | undefined {\n this._rootSplit = ContentLayoutDef.createSplit(this._layoutProps);\n\n if (this.rootSplit) {\n return this.rootSplit.createContentContainer(contentNodes, resizable);\n }\n\n if (contentNodes.length > 0)\n return <SingleContentContainer content={contentNodes[0]} />;\n\n return undefined;\n }\n\n /** Gets the indexes of content views used in this Content Layout\n */\n public getUsedContentIndexes(): number[] {\n let allContentIndexes: number[] = [];\n\n if (!this._layoutProps.horizontalSplit && !this._layoutProps.verticalSplit)\n allContentIndexes.push(0);\n else {\n allContentIndexes = allContentIndexes.concat(\n this.getHorizontalSplitContentIndexes(this._layoutProps.horizontalSplit)\n );\n allContentIndexes = allContentIndexes.concat(\n this.getVerticalSplitContentIndexes(this._layoutProps.verticalSplit)\n );\n }\n\n const uniqueContentIndexes = [...new Set(allContentIndexes)];\n\n return uniqueContentIndexes;\n }\n\n private getHorizontalSplitContentIndexes(\n splitProps?: LayoutHorizontalSplitProps\n ): number[] {\n let contentIndexes: number[] = [];\n\n if (!splitProps) return contentIndexes;\n\n if (typeof splitProps.top === \"number\") contentIndexes.push(splitProps.top);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.top.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.top.verticalSplit)\n );\n }\n\n if (typeof splitProps.bottom === \"number\")\n contentIndexes.push(splitProps.bottom);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.bottom.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.bottom.verticalSplit)\n );\n }\n\n return contentIndexes;\n }\n\n private getVerticalSplitContentIndexes(\n splitProps?: LayoutVerticalSplitProps\n ): number[] {\n let contentIndexes: number[] = [];\n\n if (!splitProps) return contentIndexes;\n\n if (typeof splitProps.left === \"number\")\n contentIndexes.push(splitProps.left);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.left.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.left.verticalSplit)\n );\n }\n\n if (typeof splitProps.right === \"number\")\n contentIndexes.push(splitProps.right);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.right.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.right.verticalSplit)\n );\n }\n\n return contentIndexes;\n }\n\n /** @internal */\n public static createSplit(\n fragmentDef: LayoutFragmentProps\n ): LayoutSplit | undefined {\n if (fragmentDef.horizontalSplit) {\n return new HorizontalSplit(fragmentDef.horizontalSplit);\n } else if (fragmentDef.verticalSplit) {\n return new VerticalSplit(fragmentDef.verticalSplit);\n }\n\n return undefined;\n }\n}\n\n/** Content Layout Activated Event Args class.\n * @public\n */\nexport interface ContentLayoutActivatedEventArgs {\n contentLayout: ContentLayoutDef;\n contentGroup: ContentGroup;\n}\n\n/** Content Layout Activated Event class.\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class ContentLayoutActivatedEvent extends UiEvent<ContentLayoutActivatedEventArgs> {}\n\n/** State for the [[ContentLayout]].\n */\ninterface ContentLayoutState {\n contentLayoutDef: ContentLayoutDef;\n contentContainer?: React.ReactNode;\n contentGroupId?: string;\n}\n\n/** Properties for the [[ContentLayout]] React component.\n * @public\n */\nexport interface ContentLayoutComponentProps extends CommonProps {\n contentLayout: ContentLayoutDef;\n contentGroup: ContentGroup;\n}\n\n/** Content Layout React component.\n * @public\n */\nexport class ContentLayout extends React.Component<\n ContentLayoutComponentProps,\n ContentLayoutState\n> {\n /** @internal */\n public override readonly state: Readonly<ContentLayoutState>;\n\n constructor(props: ContentLayoutComponentProps) {\n super(props);\n\n const contentLayoutDef = this.props.contentLayout;\n const contentGroup = this.props.contentGroup;\n\n const contentNodes = contentGroup.getContentNodes();\n const contentContainer = contentLayoutDef.fillLayoutContainer(\n contentNodes,\n true\n );\n\n this.state = {\n contentLayoutDef: this.props.contentLayout,\n contentContainer,\n contentGroupId: this.props.contentGroup.groupId,\n };\n }\n\n public override componentDidMount() {\n UiFramework.frontstages.onContentLayoutActivatedEvent.addListener(\n this._handleContentLayoutActivated\n );\n }\n\n public override componentWillUnmount() {\n UiFramework.frontstages.onContentLayoutActivatedEvent.removeListener(\n this._handleContentLayoutActivated\n );\n }\n\n private _handleContentLayoutActivated = (\n args: ContentLayoutActivatedEventArgs\n ) => {\n const contentLayoutDef = args.contentLayout;\n const contentGroup = args.contentGroup;\n\n const contentNodes = contentGroup.getContentNodes();\n const contentContainer = contentLayoutDef.fillLayoutContainer(\n contentNodes,\n true\n );\n\n this.setState({\n contentLayoutDef: args.contentLayout,\n contentContainer,\n contentGroupId: contentGroup.groupId,\n });\n };\n\n public override render(): React.ReactNode {\n if (this.state.contentContainer) {\n return (\n <div\n id=\"uifw-contentlayout-div\"\n className={this.props.className}\n style={this.props.style}\n key={`${this.state.contentGroupId}-${this.state.contentLayoutDef.id}`}\n onMouseDown={this._onMouseDown}\n onMouseUp={this._onMouseUp}\n role=\"presentation\"\n >\n {this.state.contentContainer}\n </div>\n );\n }\n\n return null;\n }\n\n private _onMouseDown = (_event: React.MouseEvent<HTMLDivElement>) => {\n UiFramework.content.setMouseDown(true);\n };\n\n private _onMouseUp = (_event: React.MouseEvent<HTMLDivElement>) => {\n UiFramework.content.setMouseDown(false);\n };\n}\n"]}
1
+ {"version":3,"file":"ContentLayout.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentLayout.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\n// cSpell:ignore contentlayout\n\nimport \"./ContentLayout.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { SplitPane } from \"./split-pane/SplitPane\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Orientation } from \"@itwin/core-react\";\nimport type { ContentGroup } from \"./ContentGroup\";\nimport type {\n ContentLayoutProps,\n LayoutFragmentProps,\n LayoutHorizontalSplitProps,\n LayoutSplitPropsBase,\n LayoutVerticalSplitProps,\n} from \"@itwin/appui-abstract\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { ActiveContentChangedEventArgs } from \"../framework/FrameworkContent\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** Properties for [[ContentWrapper]] */\ninterface ContentWrapperProps extends CommonProps {\n content: React.ReactNode;\n}\n\n/** ContentWrapper React component.\n * @internal\n */\nexport function ContentWrapper(props: ContentWrapperProps) {\n const { content } = props;\n const [isActive, setIsActive] = React.useState(\n content === UiFramework.content.getActive()\n );\n const activeFrontstageDef = useActiveFrontstageDef();\n\n const contentControlKey = (\n contentControl: React.ReactNode\n ): string | undefined => {\n let controlId: string | undefined;\n if (contentControl && (contentControl as React.ReactElement<any>).key) {\n const key = (contentControl as React.ReactElement<any>).key as string;\n // key has format `${contentProps.id}::${this.groupId}` which is stored as unique id\n controlId = key.split(\"::\", 1)[0];\n }\n return controlId;\n };\n\n // istanbul ignore next\n const [hasMultipleContents, setHasMultipleContents] = React.useState(\n () =>\n (activeFrontstageDef &&\n !!activeFrontstageDef.floatingContentControls?.length) ||\n (activeFrontstageDef?.contentGroup?.getContentControls().length ?? 0) > 1\n );\n\n React.useEffect(() => {\n setIsActive(content === UiFramework.content.getActive());\n }, [content]);\n\n React.useEffect(() => {\n const handleActiveContentChanged = (\n args: ActiveContentChangedEventArgs // eslint-disable-line deprecation/deprecation\n ) => {\n const contentIsIdentical = content === args.activeContent;\n if (contentIsIdentical) setIsActive(contentIsIdentical);\n else {\n const contentId = contentControlKey(content);\n const activeContentId = contentControlKey(args.activeContent);\n setIsActive(contentId === activeContentId);\n }\n // istanbul ignore next\n setHasMultipleContents(\n (activeFrontstageDef &&\n !!activeFrontstageDef.floatingContentControls?.length) ||\n (activeFrontstageDef?.contentGroup?.getContentControls().length ??\n 0) > 1\n );\n };\n return UiFramework.content.onActiveContentChangedEvent.addListener(\n handleActiveContentChanged\n );\n }, [activeFrontstageDef, content]);\n\n const handleMouseDown = React.useCallback(() => {\n UiFramework.content.setActive(content);\n setIsActive(true);\n }, [content]);\n\n React.useEffect(() => {\n const onAvailableContentChanged = () => {\n // istanbul ignore next\n setHasMultipleContents(\n (activeFrontstageDef &&\n !!activeFrontstageDef.floatingContentControls?.length) ||\n (activeFrontstageDef?.contentGroup?.getContentControls().length ??\n 0) > 1\n );\n };\n return UiFramework.content.onAvailableContentChangedEvent.addListener(\n onAvailableContentChanged\n );\n }, [activeFrontstageDef]);\n\n const overlayClassName = classnames(\n \"uifw-contentlayout-overlay-div\",\n isActive && hasMultipleContents\n ? \"uifw-contentlayout-overlay-active\"\n : \"uifw-contentlayout-overlay-inactive\"\n );\n\n return (\n <div\n className={classnames(\"uifw-contentlayout-wrapper\", props.className)}\n style={props.style}\n onMouseDown={handleMouseDown}\n onMouseMove={UiFramework.visibility.handleContentMouseMove}\n role=\"presentation\"\n >\n {content}\n <div className={overlayClassName} />\n </div>\n );\n}\n\n/** Properties for the [[SplitContainer]] component */\ninterface SplitContainerProps extends CommonProps {\n contentA: React.ReactNode;\n contentB: React.ReactNode;\n orientation: Orientation;\n percentage: number;\n resizable: boolean;\n minSizeTopLeft: number;\n minSizeBottomRight: number;\n splitterStateId?: string;\n onSplitterChange?: (size: number, percentage: number) => void;\n}\n\n/** Split Container class.\n */\nclass SplitContainer extends React.Component<SplitContainerProps> {\n private _containerDiv: HTMLDivElement | null = null;\n\n constructor(props: SplitContainerProps) {\n super(props);\n }\n\n private _onSplitterChange = (size: number): void => {\n let percentage = 0;\n\n // istanbul ignore else\n if (this._containerDiv && size > 0) {\n if (this.props.orientation === Orientation.Horizontal) {\n const height = this._containerDiv.getBoundingClientRect().height;\n // istanbul ignore if\n if (height > 0) percentage = size / height;\n } else {\n const width = this._containerDiv.getBoundingClientRect().width;\n // istanbul ignore if\n if (width > 0) percentage = size / width;\n }\n\n // istanbul ignore else\n if (this.props.onSplitterChange)\n this.props.onSplitterChange(size, percentage);\n }\n };\n\n public override render(): React.ReactNode {\n const orientation =\n this.props.orientation === Orientation.Horizontal\n ? \"horizontal\"\n : \"vertical\";\n const defaultSize = `${(this.props.percentage * 100).toString()}%`;\n const minSizeTopLeft = this.props.minSizeTopLeft;\n const minSizeBottomRight = -this.props.minSizeBottomRight;\n\n return (\n <div\n ref={(e) => {\n this._containerDiv = e;\n }}\n className={classnames(\n \"uifw-contentlayout-full-size\",\n this.props.className\n )}\n style={this.props.style}\n >\n <SplitPane\n split={orientation}\n minSize={minSizeTopLeft}\n maxSize={minSizeBottomRight}\n defaultSize={defaultSize}\n onChange={this._onSplitterChange}\n allowResize={this.props.resizable}\n >\n {this.props.contentA}\n {this.props.contentB}\n </SplitPane>\n </div>\n );\n }\n}\n\n/** Properties for [[SingleContentContainer]] component\n */\ninterface SingleContentProps extends CommonProps {\n content: React.ReactNode;\n}\n\n/** Single Content Container class.\n */\nclass SingleContentContainer extends React.Component<SingleContentProps> {\n public override render(): React.ReactNode {\n return (\n <div\n className={classnames(\n \"uifw-contentlayout-full-size\",\n this.props.className\n )}\n style={this.props.style}\n data-testid=\"single-content-container\"\n onMouseMove={UiFramework.visibility.handleContentMouseMove}\n >\n <ContentWrapper\n content={this.props.content}\n style={{ height: \"100%\", position: \"relative\" }}\n />\n </div>\n );\n }\n}\n\n/** Common interface for HorizontalSplit and VerticalSplit\n */\ninterface LayoutSplit {\n createContentContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode;\n isLocked: boolean;\n}\n\n/** Minimum split size */\nconst MIN_SPLIT_SIZE = 6;\n\n/** Base Split class.\n */\nclass BaseSplit {\n public defaultPercentage: number;\n public stateId: string = \"\";\n public isLocked: boolean = false;\n\n constructor(props: LayoutSplitPropsBase) {\n this.defaultPercentage = props.percentage;\n\n // istanbul ignore else\n if (props.id) this.stateId = props.id;\n\n // istanbul ignore else\n if (props.lock) this.isLocked = props.lock;\n }\n}\n\n/** Horizontal Split class.\n */\nclass HorizontalSplit extends BaseSplit implements LayoutSplit {\n private _topIndex: number = -1;\n private _bottomIndex: number = -1;\n private _topSplit?: LayoutSplit;\n private _bottomSplit?: LayoutSplit;\n private _props: LayoutHorizontalSplitProps;\n private _minSizeTop: number = MIN_SPLIT_SIZE;\n private _minSizeBottom: number = MIN_SPLIT_SIZE;\n\n constructor(props: LayoutHorizontalSplitProps) {\n super(props);\n\n this._props = props;\n\n if (typeof props.top === \"number\") {\n this._topIndex = props.top;\n } else {\n this._topSplit = ContentLayoutDef.createSplit(props.top);\n }\n\n if (typeof props.bottom === \"number\") {\n this._bottomIndex = props.bottom;\n } else {\n this._bottomSplit = ContentLayoutDef.createSplit(props.bottom);\n }\n\n if (props.minSizeTop)\n this._minSizeTop = Math.max(props.minSizeTop, MIN_SPLIT_SIZE);\n\n if (props.minSizeBottom)\n this._minSizeBottom = Math.max(props.minSizeBottom, MIN_SPLIT_SIZE);\n }\n\n private _handleSplitterChange = (_size: number, percentage: number): void => {\n this._props.percentage = percentage;\n };\n\n public createContentContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode {\n if (this.isLocked) resizable = false;\n\n const topContent = !this._topSplit ? (\n <ContentWrapper content={contentNodes[this._topIndex]} />\n ) : (\n this._topSplit.createContentContainer(contentNodes, resizable)\n );\n const bottomContent = !this._bottomSplit ? (\n <ContentWrapper content={contentNodes[this._bottomIndex]} />\n ) : (\n this._bottomSplit.createContentContainer(contentNodes, resizable)\n );\n\n return (\n <SplitContainer\n contentA={topContent}\n contentB={bottomContent}\n orientation={Orientation.Horizontal}\n percentage={this.defaultPercentage}\n resizable={resizable}\n minSizeTopLeft={this._minSizeTop}\n minSizeBottomRight={this._minSizeBottom}\n splitterStateId={this.stateId}\n onSplitterChange={this._handleSplitterChange}\n />\n );\n }\n}\n\n/** Vertical Split class.\n */\nclass VerticalSplit extends BaseSplit implements LayoutSplit {\n private _leftIndex: number = -1;\n private _rightIndex: number = -1;\n private _leftSplit?: LayoutSplit;\n private _rightSplit?: LayoutSplit;\n private _props: LayoutVerticalSplitProps;\n private _minSizeLeft: number = MIN_SPLIT_SIZE;\n private _minSizeRight: number = MIN_SPLIT_SIZE;\n\n constructor(props: LayoutVerticalSplitProps) {\n super(props);\n\n this._props = props;\n\n if (typeof props.left === \"number\") {\n this._leftIndex = props.left;\n } else {\n this._leftSplit = ContentLayoutDef.createSplit(props.left);\n }\n\n if (typeof props.right === \"number\") {\n this._rightIndex = props.right;\n } else {\n this._rightSplit = ContentLayoutDef.createSplit(props.right);\n }\n\n if (props.minSizeLeft)\n this._minSizeLeft = Math.max(props.minSizeLeft, MIN_SPLIT_SIZE);\n\n if (props.minSizeRight)\n this._minSizeRight = Math.max(props.minSizeRight, MIN_SPLIT_SIZE);\n }\n\n private _handleSplitterChange = (_size: number, percentage: number): void => {\n this._props.percentage = percentage;\n };\n\n public createContentContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode {\n if (this.isLocked) resizable = false;\n\n const leftContent = !this._leftSplit ? (\n <ContentWrapper content={contentNodes[this._leftIndex]} />\n ) : (\n this._leftSplit.createContentContainer(contentNodes, resizable)\n );\n const rightContent = !this._rightSplit ? (\n <ContentWrapper content={contentNodes[this._rightIndex]} />\n ) : (\n this._rightSplit.createContentContainer(contentNodes, resizable)\n );\n\n return (\n <SplitContainer\n contentA={leftContent}\n contentB={rightContent}\n orientation={Orientation.Vertical}\n percentage={this.defaultPercentage}\n resizable={resizable}\n minSizeTopLeft={this._minSizeLeft}\n minSizeBottomRight={this._minSizeRight}\n splitterStateId={this.stateId}\n onSplitterChange={this._handleSplitterChange}\n />\n );\n }\n}\n\n/** Content Layout Definition class.\n * @public\n */\nexport class ContentLayoutDef {\n private _layoutProps: ContentLayoutProps;\n private _rootSplit?: LayoutSplit;\n\n /** ID for this Content Layout */\n public id: string = \"\";\n /** Description of the layout. */\n public description: string = \"\";\n constructor(layoutProps: ContentLayoutProps) {\n this._layoutProps = layoutProps;\n this.id = layoutProps.id;\n if (layoutProps.description !== undefined)\n this.description = layoutProps.description;\n }\n\n public get rootSplit(): LayoutSplit | undefined {\n return this._rootSplit;\n }\n\n /** Creates [[ContentLayoutProps]] for JSON purposes\n * @public\n */\n public toJSON(): ContentLayoutProps {\n return this._layoutProps;\n }\n\n /** Fill a layout container with React nodes for each content view\n */\n public fillLayoutContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode | undefined {\n this._rootSplit = ContentLayoutDef.createSplit(this._layoutProps);\n\n if (this.rootSplit) {\n return this.rootSplit.createContentContainer(contentNodes, resizable);\n }\n\n if (contentNodes.length > 0)\n return <SingleContentContainer content={contentNodes[0]} />;\n\n return undefined;\n }\n\n /** Gets the indexes of content views used in this Content Layout\n */\n public getUsedContentIndexes(): number[] {\n let allContentIndexes: number[] = [];\n\n if (!this._layoutProps.horizontalSplit && !this._layoutProps.verticalSplit)\n allContentIndexes.push(0);\n else {\n allContentIndexes = allContentIndexes.concat(\n this.getHorizontalSplitContentIndexes(this._layoutProps.horizontalSplit)\n );\n allContentIndexes = allContentIndexes.concat(\n this.getVerticalSplitContentIndexes(this._layoutProps.verticalSplit)\n );\n }\n\n const uniqueContentIndexes = [...new Set(allContentIndexes)];\n\n return uniqueContentIndexes;\n }\n\n private getHorizontalSplitContentIndexes(\n splitProps?: LayoutHorizontalSplitProps\n ): number[] {\n let contentIndexes: number[] = [];\n\n if (!splitProps) return contentIndexes;\n\n if (typeof splitProps.top === \"number\") contentIndexes.push(splitProps.top);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.top.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.top.verticalSplit)\n );\n }\n\n if (typeof splitProps.bottom === \"number\")\n contentIndexes.push(splitProps.bottom);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.bottom.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.bottom.verticalSplit)\n );\n }\n\n return contentIndexes;\n }\n\n private getVerticalSplitContentIndexes(\n splitProps?: LayoutVerticalSplitProps\n ): number[] {\n let contentIndexes: number[] = [];\n\n if (!splitProps) return contentIndexes;\n\n if (typeof splitProps.left === \"number\")\n contentIndexes.push(splitProps.left);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.left.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.left.verticalSplit)\n );\n }\n\n if (typeof splitProps.right === \"number\")\n contentIndexes.push(splitProps.right);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.right.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.right.verticalSplit)\n );\n }\n\n return contentIndexes;\n }\n\n /** @internal */\n public static createSplit(\n fragmentDef: LayoutFragmentProps\n ): LayoutSplit | undefined {\n if (fragmentDef.horizontalSplit) {\n return new HorizontalSplit(fragmentDef.horizontalSplit);\n } else if (fragmentDef.verticalSplit) {\n return new VerticalSplit(fragmentDef.verticalSplit);\n }\n\n return undefined;\n }\n}\n\n/** Content Layout Activated Event Args class.\n * @public\n * @deprecated in 4.13.x. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface ContentLayoutActivatedEventArgs {\n contentLayout: ContentLayoutDef;\n contentGroup: ContentGroup;\n}\n\n/** Content Layout Activated Event class.\n * @public\n * @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class ContentLayoutActivatedEvent extends UiEvent<ContentLayoutActivatedEventArgs> {}\n\n/** State for the [[ContentLayout]].\n */\ninterface ContentLayoutState {\n contentLayoutDef: ContentLayoutDef;\n contentContainer?: React.ReactNode;\n contentGroupId?: string;\n}\n\n/** Properties for the [[ContentLayout]] React component.\n * @public\n */\nexport interface ContentLayoutComponentProps extends CommonProps {\n contentLayout: ContentLayoutDef;\n contentGroup: ContentGroup;\n}\n\n/** Content Layout React component.\n * @public\n */\nexport class ContentLayout extends React.Component<\n ContentLayoutComponentProps,\n ContentLayoutState\n> {\n /** @internal */\n public override readonly state: Readonly<ContentLayoutState>;\n\n constructor(props: ContentLayoutComponentProps) {\n super(props);\n\n const contentLayoutDef = this.props.contentLayout;\n const contentGroup = this.props.contentGroup;\n\n const contentNodes = contentGroup.getContentNodes();\n const contentContainer = contentLayoutDef.fillLayoutContainer(\n contentNodes,\n true\n );\n\n this.state = {\n contentLayoutDef: this.props.contentLayout,\n contentContainer,\n contentGroupId: this.props.contentGroup.groupId,\n };\n }\n\n public override componentDidMount() {\n UiFramework.frontstages.onContentLayoutActivatedEvent.addListener(\n this._handleContentLayoutActivated\n );\n }\n\n public override componentWillUnmount() {\n UiFramework.frontstages.onContentLayoutActivatedEvent.removeListener(\n this._handleContentLayoutActivated\n );\n }\n\n private _handleContentLayoutActivated = (\n args: ContentLayoutActivatedEventArgs // eslint-disable-line deprecation/deprecation\n ) => {\n const contentLayoutDef = args.contentLayout;\n const contentGroup = args.contentGroup;\n\n const contentNodes = contentGroup.getContentNodes();\n const contentContainer = contentLayoutDef.fillLayoutContainer(\n contentNodes,\n true\n );\n\n this.setState({\n contentLayoutDef: args.contentLayout,\n contentContainer,\n contentGroupId: contentGroup.groupId,\n });\n };\n\n public override render(): React.ReactNode {\n if (this.state.contentContainer) {\n return (\n <div\n id=\"uifw-contentlayout-div\"\n className={this.props.className}\n style={this.props.style}\n key={`${this.state.contentGroupId}-${this.state.contentLayoutDef.id}`}\n onMouseDown={this._onMouseDown}\n onMouseUp={this._onMouseUp}\n role=\"presentation\"\n >\n {this.state.contentContainer}\n </div>\n );\n }\n\n return null;\n }\n\n private _onMouseDown = (_event: React.MouseEvent<HTMLDivElement>) => {\n UiFramework.content.setMouseDown(true);\n };\n\n private _onMouseUp = (_event: React.MouseEvent<HTMLDivElement>) => {\n UiFramework.content.setMouseDown(false);\n };\n}\n"]}
@@ -19,7 +19,6 @@ import { useAnalysisAnimationDataProvider } from "../hooks/useAnalysisAnimationD
19
19
  */
20
20
  // istanbul ignore next
21
21
  export function DefaultViewOverlay({ viewport, onPlayPause, featureOptions, }) {
22
- var _a, _b, _c;
23
22
  const solarDataTimelineProvider = useSolarDataProvider(viewport);
24
23
  const analysisAnimationTimelineDataProvider = useAnalysisAnimationDataProvider(viewport);
25
24
  const scheduleTimelineDataProvider = useScheduleAnimationDataProvider(viewport);
@@ -28,19 +27,19 @@ export function DefaultViewOverlay({ viewport, onPlayPause, featureOptions, }) {
28
27
  return null;
29
28
  // Solar gets first shot
30
29
  if (solarDataTimelineProvider &&
31
- !!((_a = featureOptions === null || featureOptions === void 0 ? void 0 : featureOptions.defaultViewOverlay) === null || _a === void 0 ? void 0 : _a.enableSolarTimelineViewOverlay)) {
30
+ !!featureOptions?.defaultViewOverlay?.enableSolarTimelineViewOverlay) {
32
31
  return (React.createElement("div", { className: "uifw-view-overlay" },
33
32
  React.createElement("div", { className: "uifw-animation-overlay" },
34
33
  React.createElement(SolarTimeline, { dataProvider: solarDataTimelineProvider }))));
35
34
  }
36
35
  if (analysisAnimationTimelineDataProvider &&
37
- !!((_b = featureOptions === null || featureOptions === void 0 ? void 0 : featureOptions.defaultViewOverlay) === null || _b === void 0 ? void 0 : _b.enableAnalysisTimelineViewOverlay)) {
36
+ !!featureOptions?.defaultViewOverlay?.enableAnalysisTimelineViewOverlay) {
38
37
  return (React.createElement("div", { className: "uifw-view-overlay" },
39
38
  React.createElement("div", { className: "uifw-animation-overlay" },
40
39
  React.createElement(TimelineComponent, { startDate: analysisAnimationTimelineDataProvider.start, endDate: analysisAnimationTimelineDataProvider.end, initialDuration: analysisAnimationTimelineDataProvider.initialDuration, totalDuration: analysisAnimationTimelineDataProvider.duration, minimized: true, onChange: analysisAnimationTimelineDataProvider.onAnimationFractionChanged, onPlayPause: onPlayPause }))));
41
40
  }
42
41
  if (scheduleTimelineDataProvider &&
43
- !!((_c = featureOptions === null || featureOptions === void 0 ? void 0 : featureOptions.defaultViewOverlay) === null || _c === void 0 ? void 0 : _c.enableScheduleAnimationViewOverlay)) {
42
+ !!featureOptions?.defaultViewOverlay?.enableScheduleAnimationViewOverlay) {
44
43
  return (React.createElement("div", { className: "uifw-view-overlay" },
45
44
  React.createElement("div", { className: "uifw-animation-overlay" },
46
45
  React.createElement(TimelineComponent, { startDate: scheduleTimelineDataProvider.start, endDate: scheduleTimelineDataProvider.end, initialDuration: scheduleTimelineDataProvider.initialDuration, totalDuration: scheduleTimelineDataProvider.duration, minimized: true, onChange: scheduleTimelineDataProvider.onAnimationFractionChanged, onPlayPause: onPlayPause }))));
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultViewOverlay.js","sourceRoot":"","sources":["../../../../src/appui-react/content/DefaultViewOverlay.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAW7F;;;;GAIG;AACH,uBAAuB;AACvB,MAAM,UAAU,kBAAkB,CAAC,EACjC,QAAQ,EACR,WAAW,EACX,cAAc,GACG;;IACjB,MAAM,yBAAyB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,qCAAqC,GACzC,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,4BAA4B,GAChC,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,iBAAiB,EAAE,CAAC;IAE5C,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAElC,wBAAwB;IACxB,IACE,yBAAyB;QACzB,CAAC,CAAC,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,kBAAkB,0CAAE,8BAA8B,CAAA,EACpE;QACA,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,aAAa,IAAC,YAAY,EAAE,yBAAyB,GAAI,CACtD,CACF,CACP,CAAC;KACH;IAED,IACE,qCAAqC;QACrC,CAAC,CAAC,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,kBAAkB,0CAAE,iCAAiC,CAAA,EACvE;QACA,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,iBAAiB,IAChB,SAAS,EAAE,qCAAqC,CAAC,KAAK,EACtD,OAAO,EAAE,qCAAqC,CAAC,GAAG,EAClD,eAAe,EACb,qCAAqC,CAAC,eAAe,EAEvD,aAAa,EAAE,qCAAqC,CAAC,QAAQ,EAC7D,SAAS,EAAE,IAAI,EACf,QAAQ,EACN,qCAAqC,CAAC,0BAA0B,EAElE,WAAW,EAAE,WAAW,GACxB,CACE,CACF,CACP,CAAC;KACH;IAED,IACE,4BAA4B;QAC5B,CAAC,CAAC,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,kBAAkB,0CAAE,kCAAkC,CAAA,EACxE;QACA,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,iBAAiB,IAChB,SAAS,EAAE,4BAA4B,CAAC,KAAK,EAC7C,OAAO,EAAE,4BAA4B,CAAC,GAAG,EACzC,eAAe,EAAE,4BAA4B,CAAC,eAAe,EAC7D,aAAa,EAAE,4BAA4B,CAAC,QAAQ,EACpD,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,4BAA4B,CAAC,0BAA0B,EACjE,WAAW,EAAE,WAAW,GACxB,CACE,CACF,CACP,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport \"./DefaultViewOverlay.scss\";\nimport * as React from \"react\";\nimport type { ScreenViewport } from \"@itwin/core-frontend\";\nimport {\n SolarTimeline,\n TimelineComponent,\n} from \"@itwin/imodel-components-react\";\nimport { useScheduleAnimationDataProvider } from \"../hooks/useScheduleAnimationDataProvider\";\nimport { useActiveViewport } from \"../hooks/useActiveViewport\";\nimport { useSolarDataProvider } from \"../hooks/useSolarDataProvider\";\nimport { useAnalysisAnimationDataProvider } from \"../hooks/useAnalysisAnimationDataProvider\";\n\n/** Props of Viewport Overlay Control that show timelines\n * @public\n */\nexport interface ViewOverlayProps {\n viewport: ScreenViewport;\n onPlayPause?: (playing: boolean) => void; // callback with play/pause button is pressed\n featureOptions?: { [key: string]: any };\n}\n\n/**\n * Default viewport overlay that examines ViewState of the active view for a schedule script, analysis data, or solar data. If one of these is detected, the corresponding\n * data provider is attached to the TimelineComponent and the overlay is made visible.\n * @public\n */\n// istanbul ignore next\nexport function DefaultViewOverlay({\n viewport,\n onPlayPause,\n featureOptions,\n}: ViewOverlayProps) {\n const solarDataTimelineProvider = useSolarDataProvider(viewport);\n const analysisAnimationTimelineDataProvider =\n useAnalysisAnimationDataProvider(viewport);\n const scheduleTimelineDataProvider =\n useScheduleAnimationDataProvider(viewport);\n const currentViewport = useActiveViewport();\n\n if (!currentViewport) return null;\n\n // Solar gets first shot\n if (\n solarDataTimelineProvider &&\n !!featureOptions?.defaultViewOverlay?.enableSolarTimelineViewOverlay\n ) {\n return (\n <div className=\"uifw-view-overlay\">\n <div className=\"uifw-animation-overlay\">\n <SolarTimeline dataProvider={solarDataTimelineProvider} />\n </div>\n </div>\n );\n }\n\n if (\n analysisAnimationTimelineDataProvider &&\n !!featureOptions?.defaultViewOverlay?.enableAnalysisTimelineViewOverlay\n ) {\n return (\n <div className=\"uifw-view-overlay\">\n <div className=\"uifw-animation-overlay\">\n <TimelineComponent\n startDate={analysisAnimationTimelineDataProvider.start}\n endDate={analysisAnimationTimelineDataProvider.end}\n initialDuration={\n analysisAnimationTimelineDataProvider.initialDuration\n }\n totalDuration={analysisAnimationTimelineDataProvider.duration}\n minimized={true}\n onChange={\n analysisAnimationTimelineDataProvider.onAnimationFractionChanged\n }\n onPlayPause={onPlayPause}\n />\n </div>\n </div>\n );\n }\n\n if (\n scheduleTimelineDataProvider &&\n !!featureOptions?.defaultViewOverlay?.enableScheduleAnimationViewOverlay\n ) {\n return (\n <div className=\"uifw-view-overlay\">\n <div className=\"uifw-animation-overlay\">\n <TimelineComponent\n startDate={scheduleTimelineDataProvider.start}\n endDate={scheduleTimelineDataProvider.end}\n initialDuration={scheduleTimelineDataProvider.initialDuration}\n totalDuration={scheduleTimelineDataProvider.duration}\n minimized={true}\n onChange={scheduleTimelineDataProvider.onAnimationFractionChanged}\n onPlayPause={onPlayPause}\n />\n </div>\n </div>\n );\n }\n\n return null;\n}\n"]}
1
+ {"version":3,"file":"DefaultViewOverlay.js","sourceRoot":"","sources":["../../../../src/appui-react/content/DefaultViewOverlay.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAW7F;;;;GAIG;AACH,uBAAuB;AACvB,MAAM,UAAU,kBAAkB,CAAC,EACjC,QAAQ,EACR,WAAW,EACX,cAAc,GACG;IACjB,MAAM,yBAAyB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,qCAAqC,GACzC,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,4BAA4B,GAChC,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,iBAAiB,EAAE,CAAC;IAE5C,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAElC,wBAAwB;IACxB,IACE,yBAAyB;QACzB,CAAC,CAAC,cAAc,EAAE,kBAAkB,EAAE,8BAA8B,EACpE;QACA,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,aAAa,IAAC,YAAY,EAAE,yBAAyB,GAAI,CACtD,CACF,CACP,CAAC;KACH;IAED,IACE,qCAAqC;QACrC,CAAC,CAAC,cAAc,EAAE,kBAAkB,EAAE,iCAAiC,EACvE;QACA,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,iBAAiB,IAChB,SAAS,EAAE,qCAAqC,CAAC,KAAK,EACtD,OAAO,EAAE,qCAAqC,CAAC,GAAG,EAClD,eAAe,EACb,qCAAqC,CAAC,eAAe,EAEvD,aAAa,EAAE,qCAAqC,CAAC,QAAQ,EAC7D,SAAS,EAAE,IAAI,EACf,QAAQ,EACN,qCAAqC,CAAC,0BAA0B,EAElE,WAAW,EAAE,WAAW,GACxB,CACE,CACF,CACP,CAAC;KACH;IAED,IACE,4BAA4B;QAC5B,CAAC,CAAC,cAAc,EAAE,kBAAkB,EAAE,kCAAkC,EACxE;QACA,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB;YAChC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,iBAAiB,IAChB,SAAS,EAAE,4BAA4B,CAAC,KAAK,EAC7C,OAAO,EAAE,4BAA4B,CAAC,GAAG,EACzC,eAAe,EAAE,4BAA4B,CAAC,eAAe,EAC7D,aAAa,EAAE,4BAA4B,CAAC,QAAQ,EACpD,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,4BAA4B,CAAC,0BAA0B,EACjE,WAAW,EAAE,WAAW,GACxB,CACE,CACF,CACP,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport \"./DefaultViewOverlay.scss\";\nimport * as React from \"react\";\nimport type { ScreenViewport } from \"@itwin/core-frontend\";\nimport {\n SolarTimeline,\n TimelineComponent,\n} from \"@itwin/imodel-components-react\";\nimport { useScheduleAnimationDataProvider } from \"../hooks/useScheduleAnimationDataProvider\";\nimport { useActiveViewport } from \"../hooks/useActiveViewport\";\nimport { useSolarDataProvider } from \"../hooks/useSolarDataProvider\";\nimport { useAnalysisAnimationDataProvider } from \"../hooks/useAnalysisAnimationDataProvider\";\n\n/** Props of Viewport Overlay Control that show timelines\n * @public\n */\nexport interface ViewOverlayProps {\n viewport: ScreenViewport;\n onPlayPause?: (playing: boolean) => void; // callback with play/pause button is pressed\n featureOptions?: { [key: string]: any };\n}\n\n/**\n * Default viewport overlay that examines ViewState of the active view for a schedule script, analysis data, or solar data. If one of these is detected, the corresponding\n * data provider is attached to the TimelineComponent and the overlay is made visible.\n * @public\n */\n// istanbul ignore next\nexport function DefaultViewOverlay({\n viewport,\n onPlayPause,\n featureOptions,\n}: ViewOverlayProps) {\n const solarDataTimelineProvider = useSolarDataProvider(viewport);\n const analysisAnimationTimelineDataProvider =\n useAnalysisAnimationDataProvider(viewport);\n const scheduleTimelineDataProvider =\n useScheduleAnimationDataProvider(viewport);\n const currentViewport = useActiveViewport();\n\n if (!currentViewport) return null;\n\n // Solar gets first shot\n if (\n solarDataTimelineProvider &&\n !!featureOptions?.defaultViewOverlay?.enableSolarTimelineViewOverlay\n ) {\n return (\n <div className=\"uifw-view-overlay\">\n <div className=\"uifw-animation-overlay\">\n <SolarTimeline dataProvider={solarDataTimelineProvider} />\n </div>\n </div>\n );\n }\n\n if (\n analysisAnimationTimelineDataProvider &&\n !!featureOptions?.defaultViewOverlay?.enableAnalysisTimelineViewOverlay\n ) {\n return (\n <div className=\"uifw-view-overlay\">\n <div className=\"uifw-animation-overlay\">\n <TimelineComponent\n startDate={analysisAnimationTimelineDataProvider.start}\n endDate={analysisAnimationTimelineDataProvider.end}\n initialDuration={\n analysisAnimationTimelineDataProvider.initialDuration\n }\n totalDuration={analysisAnimationTimelineDataProvider.duration}\n minimized={true}\n onChange={\n analysisAnimationTimelineDataProvider.onAnimationFractionChanged\n }\n onPlayPause={onPlayPause}\n />\n </div>\n </div>\n );\n }\n\n if (\n scheduleTimelineDataProvider &&\n !!featureOptions?.defaultViewOverlay?.enableScheduleAnimationViewOverlay\n ) {\n return (\n <div className=\"uifw-view-overlay\">\n <div className=\"uifw-animation-overlay\">\n <TimelineComponent\n startDate={scheduleTimelineDataProvider.start}\n endDate={scheduleTimelineDataProvider.end}\n initialDuration={scheduleTimelineDataProvider.initialDuration}\n totalDuration={scheduleTimelineDataProvider.duration}\n minimized={true}\n onChange={scheduleTimelineDataProvider.onAnimationFractionChanged}\n onPlayPause={onPlayPause}\n />\n </div>\n </div>\n );\n }\n\n return null;\n}\n"]}
@@ -19,11 +19,11 @@ export interface FloatingViewportContentProps {
19
19
  }
20
20
  /** @beta */
21
21
  export declare function FloatingViewportContent(props: FloatingViewportContentProps): React.JSX.Element;
22
- /** @alpha */
22
+ /** @public */
23
23
  export interface FloatingViewportContentWrapperProps {
24
24
  readonly children?: React.ReactNode;
25
25
  }
26
- /** @alpha */
26
+ /** @public */
27
27
  export declare function FloatingViewportContentWrapper({ children, }: FloatingViewportContentWrapperProps): React.JSX.Element;
28
28
  /** @alpha */
29
29
  export declare function useFloatingViewport(args: FloatingViewportContentProps): {
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingViewportContent.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/content/FloatingViewportContent.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAOpE;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,wFAAwF;IACxF,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,OAAO,CAAC;IACjD,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,iIAAiI;IACjI,gBAAgB,EAAE,aAAa,CAAC;IAChC,wDAAwD;IACxD,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACzC;AAED,YAAY;AACZ,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,qBAO1E;AAED,aAAa;AACb,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACrC;AAED,aAAa;AACb,wBAAgB,8BAA8B,CAAC,EAC7C,QAAQ,GACT,EAAE,mCAAmC,qBAarC;AAED,aAAa;AACb,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,4BAA4B;;EAwErE"}
1
+ {"version":3,"file":"FloatingViewportContent.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/content/FloatingViewportContent.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAOpE;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,wFAAwF;IACxF,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,OAAO,CAAC;IACjD,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,iIAAiI;IACjI,gBAAgB,EAAE,aAAa,CAAC;IAChC,wDAAwD;IACxD,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACzC;AAED,YAAY;AACZ,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,qBAO1E;AAED,cAAc;AACd,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACrC;AAED,cAAc;AACd,wBAAgB,8BAA8B,CAAC,EAC7C,QAAQ,GACT,EAAE,mCAAmC,qBAarC;AAED,aAAa;AACb,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,4BAA4B;;EAwErE"}
@@ -17,7 +17,7 @@ export function FloatingViewportContent(props) {
17
17
  const { viewportControl } = useFloatingViewport(props);
18
18
  return (React.createElement(FloatingViewportContentWrapper, null, viewportControl));
19
19
  }
20
- /** @alpha */
20
+ /** @public */
21
21
  export function FloatingViewportContentWrapper({ children, }) {
22
22
  return (React.createElement("div", { onMouseMove: UiFramework.visibility.handleContentMouseMove, className: "uifw-dialog-imodel-content", style: { height: "100%", position: "relative" } },
23
23
  React.createElement(ContentWrapper, { content: children, style: { height: "100%", position: "relative" } })));
@@ -60,8 +60,7 @@ export function useFloatingViewport(args) {
60
60
  }, [viewport, viewportControl]);
61
61
  React.useEffect(() => {
62
62
  const onViewClose = (vp) => {
63
- var _a;
64
- if (((_a = contentControl.current) === null || _a === void 0 ? void 0 : _a.viewport) === vp) {
63
+ if (contentControl.current?.viewport === vp) {
65
64
  UiFramework.content.dropFloatingContentControl(contentControl.current);
66
65
  contentControl.current = undefined;
67
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingViewportContent.js","sourceRoot":"","sources":["../../../../src/appui-react/content/FloatingViewportContent.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport * as React from \"react\";\nimport type { ScreenViewport } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { ViewStateProp } from \"@itwin/imodel-components-react\";\nimport { ViewportComponent } from \"@itwin/imodel-components-react\";\nimport { FloatingViewportContentControl } from \"./ViewportContentControl\";\nimport { ContentWrapper } from \"./ContentLayout\";\nimport { UiFramework } from \"../UiFramework\";\nimport { useRefs } from \"@itwin/core-react\";\n\n/**\n * @beta\n */\nexport interface FloatingViewportContentProps {\n /** callback used to construct context menu when user right-clicks on canvas/viewport */\n onContextMenu?: (e: React.MouseEvent) => boolean;\n /** viewport/content control uniqueId */\n contentId: string;\n /** The initial view state used to create the viewport, or a function that returns it (will refresh when the function changes) */\n initialViewState: ViewStateProp;\n /** Function to get a reference to the ScreenViewport */\n viewportRef?: React.Ref<ScreenViewport>;\n}\n\n/** @beta */\nexport function FloatingViewportContent(props: FloatingViewportContentProps) {\n const { viewportControl } = useFloatingViewport(props);\n return (\n <FloatingViewportContentWrapper>\n {viewportControl}\n </FloatingViewportContentWrapper>\n );\n}\n\n/** @alpha */\nexport interface FloatingViewportContentWrapperProps {\n readonly children?: React.ReactNode;\n}\n\n/** @alpha */\nexport function FloatingViewportContentWrapper({\n children,\n}: FloatingViewportContentWrapperProps) {\n return (\n <div\n onMouseMove={UiFramework.visibility.handleContentMouseMove}\n className=\"uifw-dialog-imodel-content\"\n style={{ height: \"100%\", position: \"relative\" }}\n >\n <ContentWrapper\n content={children}\n style={{ height: \"100%\", position: \"relative\" }}\n />\n </div>\n );\n}\n\n/** @alpha */\nexport function useFloatingViewport(args: FloatingViewportContentProps) {\n const { contentId, initialViewState, onContextMenu, viewportRef } = args;\n const [viewport, setViewport] = React.useState<ScreenViewport | undefined>();\n const contentControl = React.useRef<\n FloatingViewportContentControl | undefined\n >();\n\n const viewState = React.useMemo(\n () =>\n typeof initialViewState === \"function\"\n ? initialViewState()\n : initialViewState,\n [initialViewState]\n );\n const ref = React.useCallback((v: ScreenViewport) => {\n setViewport(v);\n }, []);\n\n const refs = useRefs(ref, viewportRef);\n const viewportControl = React.useMemo(() => {\n const node = (\n <ViewportComponent\n key={contentId}\n imodel={viewState.iModel}\n viewState={viewState}\n controlId={contentId}\n onContextMenu={onContextMenu}\n viewportRef={refs}\n />\n );\n return node;\n }, [refs, onContextMenu, viewState, contentId]);\n\n React.useEffect(() => {\n if (!contentControl.current) {\n contentControl.current = new FloatingViewportContentControl(\n contentId,\n contentId,\n null\n );\n UiFramework.content.addFloatingContentControl(contentControl.current);\n }\n return () => {\n if (contentControl.current) {\n UiFramework.content.dropFloatingContentControl(contentControl.current);\n contentControl.current = undefined;\n }\n };\n }, [contentId]);\n\n React.useEffect(() => {\n if (viewport && contentControl.current) {\n contentControl.current.viewport = viewport;\n if (null === contentControl.current.reactNode) {\n contentControl.current.reactNode = viewportControl;\n }\n }\n }, [viewport, viewportControl]);\n\n React.useEffect(() => {\n const onViewClose = (vp: ScreenViewport) => {\n if (contentControl.current?.viewport === vp) {\n UiFramework.content.dropFloatingContentControl(contentControl.current);\n contentControl.current = undefined;\n }\n };\n return IModelApp.viewManager.onViewClose.addListener(onViewClose);\n }, []);\n\n return {\n viewportControl,\n };\n}\n"]}
1
+ {"version":3,"file":"FloatingViewportContent.js","sourceRoot":"","sources":["../../../../src/appui-react/content/FloatingViewportContent.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport * as React from \"react\";\nimport type { ScreenViewport } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { ViewStateProp } from \"@itwin/imodel-components-react\";\nimport { ViewportComponent } from \"@itwin/imodel-components-react\";\nimport { FloatingViewportContentControl } from \"./ViewportContentControl\";\nimport { ContentWrapper } from \"./ContentLayout\";\nimport { UiFramework } from \"../UiFramework\";\nimport { useRefs } from \"@itwin/core-react\";\n\n/**\n * @beta\n */\nexport interface FloatingViewportContentProps {\n /** callback used to construct context menu when user right-clicks on canvas/viewport */\n onContextMenu?: (e: React.MouseEvent) => boolean;\n /** viewport/content control uniqueId */\n contentId: string;\n /** The initial view state used to create the viewport, or a function that returns it (will refresh when the function changes) */\n initialViewState: ViewStateProp;\n /** Function to get a reference to the ScreenViewport */\n viewportRef?: React.Ref<ScreenViewport>;\n}\n\n/** @beta */\nexport function FloatingViewportContent(props: FloatingViewportContentProps) {\n const { viewportControl } = useFloatingViewport(props);\n return (\n <FloatingViewportContentWrapper>\n {viewportControl}\n </FloatingViewportContentWrapper>\n );\n}\n\n/** @public */\nexport interface FloatingViewportContentWrapperProps {\n readonly children?: React.ReactNode;\n}\n\n/** @public */\nexport function FloatingViewportContentWrapper({\n children,\n}: FloatingViewportContentWrapperProps) {\n return (\n <div\n onMouseMove={UiFramework.visibility.handleContentMouseMove}\n className=\"uifw-dialog-imodel-content\"\n style={{ height: \"100%\", position: \"relative\" }}\n >\n <ContentWrapper\n content={children}\n style={{ height: \"100%\", position: \"relative\" }}\n />\n </div>\n );\n}\n\n/** @alpha */\nexport function useFloatingViewport(args: FloatingViewportContentProps) {\n const { contentId, initialViewState, onContextMenu, viewportRef } = args;\n const [viewport, setViewport] = React.useState<ScreenViewport | undefined>();\n const contentControl = React.useRef<\n FloatingViewportContentControl | undefined\n >();\n\n const viewState = React.useMemo(\n () =>\n typeof initialViewState === \"function\"\n ? initialViewState()\n : initialViewState,\n [initialViewState]\n );\n const ref = React.useCallback((v: ScreenViewport) => {\n setViewport(v);\n }, []);\n\n const refs = useRefs(ref, viewportRef);\n const viewportControl = React.useMemo(() => {\n const node = (\n <ViewportComponent\n key={contentId}\n imodel={viewState.iModel}\n viewState={viewState}\n controlId={contentId}\n onContextMenu={onContextMenu}\n viewportRef={refs}\n />\n );\n return node;\n }, [refs, onContextMenu, viewState, contentId]);\n\n React.useEffect(() => {\n if (!contentControl.current) {\n contentControl.current = new FloatingViewportContentControl(\n contentId,\n contentId,\n null\n );\n UiFramework.content.addFloatingContentControl(contentControl.current);\n }\n return () => {\n if (contentControl.current) {\n UiFramework.content.dropFloatingContentControl(contentControl.current);\n contentControl.current = undefined;\n }\n };\n }, [contentId]);\n\n React.useEffect(() => {\n if (viewport && contentControl.current) {\n contentControl.current.viewport = viewport;\n if (null === contentControl.current.reactNode) {\n contentControl.current.reactNode = viewportControl;\n }\n }\n }, [viewport, viewportControl]);\n\n React.useEffect(() => {\n const onViewClose = (vp: ScreenViewport) => {\n if (contentControl.current?.viewport === vp) {\n UiFramework.content.dropFloatingContentControl(contentControl.current);\n contentControl.current = undefined;\n }\n };\n return IModelApp.viewManager.onViewClose.addListener(onViewClose);\n }, []);\n\n return {\n viewportControl,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IModelViewport.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/content/IModelViewport.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IModelViewport.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/content/IModelViewport.tsx"],"names":[],"mappings":"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"}
@@ -43,8 +43,7 @@ export class IModelViewportControl extends ViewportContentControl {
43
43
  return "UiFramework.IModelViewportControl";
44
44
  }
45
45
  constructor(info, _options) {
46
- var _a;
47
- _options = _options !== null && _options !== void 0 ? _options : {};
46
+ _options = _options ?? {};
48
47
  super(info, _options);
49
48
  this._options = _options;
50
49
  this._featureOptions = {};
@@ -75,7 +74,7 @@ export class IModelViewportControl extends ViewportContentControl {
75
74
  if (_options.featureOptions)
76
75
  this._featureOptions = _options.featureOptions;
77
76
  this._alwaysUseSuppliedViewState =
78
- (_a = _options.alwaysUseSuppliedViewState) !== null && _a !== void 0 ? _a : false;
77
+ _options.alwaysUseSuppliedViewState ?? false;
79
78
  this._userSuppliedViewOverlay = _options.supplyViewOverlay;
80
79
  if (!_options.deferNodeInitialization)
81
80
  this.initializeReactNode();
@@ -111,30 +110,30 @@ export class IModelViewportControl extends ViewportContentControl {
111
110
  /** Get the React component that will contain the Viewport */
112
111
  getImodelConnectedViewportReactElement() {
113
112
  return (React.createElement(IModelConnectedViewport, { viewportRef: (v) => {
114
- var _a;
115
113
  this.viewport = v;
116
114
  // for convenience, if window defined bind viewport to window
117
115
  if (undefined !== window)
118
116
  window.viewport = v;
119
117
  if (!UiFramework.frontstages.isLoading)
120
- (_a = UiFramework.frontstages.activeFrontstageDef) === null || _a === void 0 ? void 0 : _a.setActiveViewFromViewport(v);
118
+ UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(v);
121
119
  }, getViewOverlay: this._getViewOverlay }));
122
120
  }
123
121
  /** Get the React component that will contain the Viewport */
124
122
  getImodelViewportReactElement(iModelConnection, viewState) {
125
123
  return (React.createElement(ViewportComponent, { viewState: viewState, imodel: iModelConnection, controlId: this.controlId, viewportRef: (v) => {
126
- var _a;
127
124
  this.viewport = v;
128
125
  // for convenience, if window defined bind viewport to window
129
126
  if (undefined !== window)
130
127
  window.viewport = v;
131
128
  if (!UiFramework.frontstages.isLoading)
132
- (_a = UiFramework.frontstages.activeFrontstageDef) === null || _a === void 0 ? void 0 : _a.setActiveViewFromViewport(v);
129
+ UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(v);
133
130
  }, getViewOverlay: this._getViewOverlay }));
134
131
  }
135
132
  /** Get the React component that will be shown when no iModel data is available */
136
133
  getNoContentReactElement(_options) {
137
- return (React.createElement(FillCentered, null, UiFramework.translate("general.no-content")));
134
+ return (
135
+ // eslint-disable-next-line deprecation/deprecation
136
+ React.createElement(FillCentered, null, UiFramework.translate("general.no-content")));
138
137
  }
139
138
  /** Get the React.Element for a ViewSelector change. */
140
139
  getReactElementForViewSelectorChange(iModelConnection, _unusedViewDefinitionId, viewState, _name) {
@@ -1 +1 @@
1
- {"version":3,"file":"IModelViewport.js","sourceRoot":"","sources":["../../../../src/appui-react/content/IModelViewport.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport * as React from \"react\";\nimport type { Id64String } from \"@itwin/core-bentley\";\nimport type {\n IModelConnection,\n ScreenViewport,\n ViewState,\n} from \"@itwin/core-frontend\";\nimport type { ViewStateProp } from \"@itwin/imodel-components-react\";\nimport { ViewportComponent } from \"@itwin/imodel-components-react\";\nimport { FillCentered } from \"@itwin/core-react\";\n\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport { connectIModelConnectionAndViewState } from \"../redux/connectIModel\";\nimport { UiFramework } from \"../UiFramework\";\nimport { DefaultViewOverlay } from \"./DefaultViewOverlay\";\nimport { ViewportContentControl } from \"./ViewportContentControl\";\nimport { StandardRotationNavigationAidControl } from \"../navigationaids/StandardRotationNavigationAid\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { useSelector } from \"react-redux\";\nimport type { FrameworkState } from \"../redux/FrameworkState\";\n\n/** Viewport that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.\n * @public\n */\nexport const IModelConnectedViewport = connectIModelConnectionAndViewState(\n null,\n null\n)(ViewportComponent);\n\n/** [[IModelViewportControl]] options. These options are set in the applicationData property of the [[ContentProps]].\n * @public\n */\nexport interface IModelViewportControlOptions {\n /** ViewState or a function to return a ViewState */\n viewState?: ViewStateProp;\n /** IModelConnection of data in Viewport */\n iModelConnection?: IModelConnection | (() => IModelConnection);\n /** Map of options that can be used to enable/disable features within the view */\n featureOptions?: { [key: string]: any };\n /** Optional background color which may be used if viewState and iModelConnection are undefined */\n bgColor?: string;\n /** Optional property to always use the supplied `viewState` property instead of using viewport.view when set */\n alwaysUseSuppliedViewState?: boolean;\n /** Optional property to supply custom view overlay. Uses when caller want to supply custom overlay component. */\n supplyViewOverlay?: (_viewport: ScreenViewport) => React.ReactNode;\n /** Optional property to defer reactNode initialization until first reactNode property is needed. Useful when subclassing the `IModelViewportControl`. */\n deferNodeInitialization?: boolean;\n}\n\ninterface ViewOverlayHostProps {\n viewport: ScreenViewport;\n featureOptions?: { [key: string]: any };\n userSuppliedOverlay?: (_viewport: ScreenViewport) => React.ReactNode;\n}\n/** View Overlay component -- exported for testing\n * @internal\n */\n// istanbul ignore next\nexport function ViewOverlayHost({\n viewport,\n featureOptions,\n userSuppliedOverlay,\n}: ViewOverlayHostProps) {\n const displayViewOverlay = useSelector((state: FrameworkState) => {\n const frameworkState: FrameworkState = (state as any)[\n UiFramework.frameworkStateKey\n ];\n return frameworkState\n ? frameworkState.configurableUiState.viewOverlayDisplay\n : true;\n });\n if (!displayViewOverlay) return null;\n return userSuppliedOverlay ? (\n <React.Fragment>{userSuppliedOverlay(viewport)}</React.Fragment>\n ) : (\n <DefaultViewOverlay viewport={viewport} featureOptions={featureOptions} />\n );\n}\n/** iModel Viewport Control\n * @public\n */\n// istanbul ignore next\nexport class IModelViewportControl extends ViewportContentControl {\n public static get id() {\n return \"UiFramework.IModelViewportControl\";\n }\n protected _featureOptions: { [key: string]: boolean | string } = {};\n protected _viewState: ViewStateProp | undefined;\n protected _iModelConnection: IModelConnection | undefined;\n protected _alwaysUseSuppliedViewState: boolean;\n private _userSuppliedViewOverlay?: (\n _viewport: ScreenViewport\n ) => React.ReactNode;\n\n constructor(\n info: ConfigurableCreateInfo,\n protected _options: IModelViewportControlOptions\n ) {\n _options = _options ?? {};\n super(info, _options);\n this._options = _options;\n\n if (_options.featureOptions) this._featureOptions = _options.featureOptions;\n this._alwaysUseSuppliedViewState =\n _options.alwaysUseSuppliedViewState ?? false;\n this._userSuppliedViewOverlay = _options.supplyViewOverlay;\n\n if (!_options.deferNodeInitialization) this.initializeReactNode();\n }\n\n protected initializeReactNode() {\n const options = this._options;\n\n if (options.viewState) this._viewState = options.viewState;\n\n const iModelConnection =\n typeof options.iModelConnection === \"function\"\n ? options.iModelConnection()\n : options.iModelConnection;\n\n if (this._viewState && iModelConnection) {\n /** Passing _determineViewState as a function reference; it is not called here. */\n this._reactNode = this.getImodelViewportReactElement(\n iModelConnection,\n this._determineViewState\n );\n } else {\n if (\n UiFramework.getIModelConnection() &&\n UiFramework.getDefaultViewState()\n ) {\n this._reactNode = this.getImodelConnectedViewportReactElement();\n } else {\n this._reactNode = this.getNoContentReactElement(options);\n this.setIsReady();\n }\n }\n }\n\n protected override getReactNode(): React.ReactNode {\n if (\n !React.isValidElement(this._reactNode) &&\n this._options.deferNodeInitialization\n )\n this.initializeReactNode();\n\n return this.getKeyedReactNode();\n }\n\n /**\n * This is passed as a function to the ViewportComponent as the `viewState` prop in getImodelViewportReactElement().\n * It is called by ViewportComponent on a mount to resolve the viewState.\n */\n private _determineViewState = (): ViewState => {\n let viewState: ViewState;\n\n if (this.viewport && !this._alwaysUseSuppliedViewState)\n viewState = this.viewport.view;\n else if (this._viewState) {\n if (typeof this._viewState === \"function\") viewState = this._viewState();\n else viewState = this._viewState;\n } else\n throw new UiError( // eslint-disable-line deprecation/deprecation\n UiFramework.loggerCategory(this),\n \"No ViewState could be determined\"\n );\n\n return viewState!;\n };\n\n /** Get the React component that will contain the Viewport */\n protected getImodelConnectedViewportReactElement(): React.ReactNode {\n return (\n <IModelConnectedViewport\n viewportRef={(v: ScreenViewport) => {\n this.viewport = v;\n // for convenience, if window defined bind viewport to window\n if (undefined !== window) (window as any).viewport = v;\n if (!UiFramework.frontstages.isLoading)\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(\n v\n );\n }}\n getViewOverlay={this._getViewOverlay}\n />\n );\n }\n\n /** Get the React component that will contain the Viewport */\n protected getImodelViewportReactElement(\n iModelConnection: IModelConnection,\n viewState: ViewStateProp\n ): React.ReactNode {\n return (\n <ViewportComponent\n viewState={viewState}\n imodel={iModelConnection}\n controlId={this.controlId}\n viewportRef={(v: ScreenViewport) => {\n this.viewport = v;\n // for convenience, if window defined bind viewport to window\n if (undefined !== window) (window as any).viewport = v;\n if (!UiFramework.frontstages.isLoading)\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(\n v\n );\n }}\n getViewOverlay={this._getViewOverlay}\n />\n );\n }\n\n /** Get the React component that will be shown when no iModel data is available */\n protected getNoContentReactElement(\n _options: IModelViewportControlOptions\n ): React.ReactNode {\n return (\n <FillCentered>{UiFramework.translate(\"general.no-content\")}</FillCentered>\n );\n }\n\n /** Get the React.Element for a ViewSelector change. */\n public override getReactElementForViewSelectorChange(\n iModelConnection: IModelConnection,\n _unusedViewDefinitionId: Id64String,\n viewState: ViewState,\n _name: string\n ): React.ReactNode {\n return this.getImodelViewportReactElement(iModelConnection, viewState);\n }\n\n /** Get the default ViewOverlay unless parameter is set to not use it. May be override in an application specific sub-class */\n protected _getViewOverlay = (vp: ScreenViewport): React.ReactNode => {\n return (\n <ViewOverlayHost\n viewport={vp}\n featureOptions={this._featureOptions}\n userSuppliedOverlay={this._userSuppliedViewOverlay}\n data-testid=\"ViewOverlay\"\n />\n );\n };\n\n /** Get the NavigationAidControl associated with this ContentControl */\n public override get navigationAidControl(): string {\n if (this.viewport) return super.navigationAidControl;\n else return StandardRotationNavigationAidControl.navigationAidId;\n }\n}\n\nUiFramework.controls.register(IModelViewportControl.id, IModelViewportControl);\n"]}
1
+ {"version":3,"file":"IModelViewport.js","sourceRoot":"","sources":["../../../../src/appui-react/content/IModelViewport.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport * as React from \"react\";\nimport type { Id64String } from \"@itwin/core-bentley\";\nimport type {\n IModelConnection,\n ScreenViewport,\n ViewState,\n} from \"@itwin/core-frontend\";\nimport type { ViewStateProp } from \"@itwin/imodel-components-react\";\nimport { ViewportComponent } from \"@itwin/imodel-components-react\";\nimport { FillCentered } from \"@itwin/core-react\";\n\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport { connectIModelConnectionAndViewState } from \"../redux/connectIModel\";\nimport { UiFramework } from \"../UiFramework\";\nimport { DefaultViewOverlay } from \"./DefaultViewOverlay\";\nimport { ViewportContentControl } from \"./ViewportContentControl\";\nimport { StandardRotationNavigationAidControl } from \"../navigationaids/StandardRotationNavigationAid\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { useSelector } from \"react-redux\";\nimport type { FrameworkState } from \"../redux/FrameworkState\";\n\n/** Viewport that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.\n * @public\n */\nexport const IModelConnectedViewport = connectIModelConnectionAndViewState(\n null,\n null\n)(ViewportComponent);\n\n/** [[IModelViewportControl]] options. These options are set in the applicationData property of the [[ContentProps]].\n * @public\n */\nexport interface IModelViewportControlOptions {\n /** ViewState or a function to return a ViewState */\n viewState?: ViewStateProp;\n /** IModelConnection of data in Viewport */\n iModelConnection?: IModelConnection | (() => IModelConnection);\n /** Map of options that can be used to enable/disable features within the view */\n featureOptions?: { [key: string]: any };\n /** Optional background color which may be used if viewState and iModelConnection are undefined */\n bgColor?: string;\n /** Optional property to always use the supplied `viewState` property instead of using viewport.view when set */\n alwaysUseSuppliedViewState?: boolean;\n /** Optional property to supply custom view overlay. Uses when caller want to supply custom overlay component. */\n supplyViewOverlay?: (_viewport: ScreenViewport) => React.ReactNode;\n /** Optional property to defer reactNode initialization until first reactNode property is needed. Useful when subclassing the `IModelViewportControl`. */\n deferNodeInitialization?: boolean;\n}\n\ninterface ViewOverlayHostProps {\n viewport: ScreenViewport;\n featureOptions?: { [key: string]: any };\n userSuppliedOverlay?: (_viewport: ScreenViewport) => React.ReactNode;\n}\n/** View Overlay component -- exported for testing\n * @internal\n */\n// istanbul ignore next\nexport function ViewOverlayHost({\n viewport,\n featureOptions,\n userSuppliedOverlay,\n}: ViewOverlayHostProps) {\n const displayViewOverlay = useSelector((state: FrameworkState) => {\n const frameworkState: FrameworkState = (state as any)[\n UiFramework.frameworkStateKey\n ];\n return frameworkState\n ? frameworkState.configurableUiState.viewOverlayDisplay\n : true;\n });\n if (!displayViewOverlay) return null;\n return userSuppliedOverlay ? (\n <React.Fragment>{userSuppliedOverlay(viewport)}</React.Fragment>\n ) : (\n <DefaultViewOverlay viewport={viewport} featureOptions={featureOptions} />\n );\n}\n/** iModel Viewport Control\n * @public\n */\n// istanbul ignore next\nexport class IModelViewportControl extends ViewportContentControl {\n public static get id() {\n return \"UiFramework.IModelViewportControl\";\n }\n protected _featureOptions: { [key: string]: boolean | string } = {};\n protected _viewState: ViewStateProp | undefined;\n protected _iModelConnection: IModelConnection | undefined;\n protected _alwaysUseSuppliedViewState: boolean;\n private _userSuppliedViewOverlay?: (\n _viewport: ScreenViewport\n ) => React.ReactNode;\n\n constructor(\n info: ConfigurableCreateInfo,\n protected _options: IModelViewportControlOptions\n ) {\n _options = _options ?? {};\n super(info, _options);\n this._options = _options;\n\n if (_options.featureOptions) this._featureOptions = _options.featureOptions;\n this._alwaysUseSuppliedViewState =\n _options.alwaysUseSuppliedViewState ?? false;\n this._userSuppliedViewOverlay = _options.supplyViewOverlay;\n\n if (!_options.deferNodeInitialization) this.initializeReactNode();\n }\n\n protected initializeReactNode() {\n const options = this._options;\n\n if (options.viewState) this._viewState = options.viewState;\n\n const iModelConnection =\n typeof options.iModelConnection === \"function\"\n ? options.iModelConnection()\n : options.iModelConnection;\n\n if (this._viewState && iModelConnection) {\n /** Passing _determineViewState as a function reference; it is not called here. */\n this._reactNode = this.getImodelViewportReactElement(\n iModelConnection,\n this._determineViewState\n );\n } else {\n if (\n UiFramework.getIModelConnection() &&\n UiFramework.getDefaultViewState()\n ) {\n this._reactNode = this.getImodelConnectedViewportReactElement();\n } else {\n this._reactNode = this.getNoContentReactElement(options);\n this.setIsReady();\n }\n }\n }\n\n protected override getReactNode(): React.ReactNode {\n if (\n !React.isValidElement(this._reactNode) &&\n this._options.deferNodeInitialization\n )\n this.initializeReactNode();\n\n return this.getKeyedReactNode();\n }\n\n /**\n * This is passed as a function to the ViewportComponent as the `viewState` prop in getImodelViewportReactElement().\n * It is called by ViewportComponent on a mount to resolve the viewState.\n */\n private _determineViewState = (): ViewState => {\n let viewState: ViewState;\n\n if (this.viewport && !this._alwaysUseSuppliedViewState)\n viewState = this.viewport.view;\n else if (this._viewState) {\n if (typeof this._viewState === \"function\") viewState = this._viewState();\n else viewState = this._viewState;\n } else\n throw new UiError( // eslint-disable-line deprecation/deprecation\n UiFramework.loggerCategory(this),\n \"No ViewState could be determined\"\n );\n\n return viewState!;\n };\n\n /** Get the React component that will contain the Viewport */\n protected getImodelConnectedViewportReactElement(): React.ReactNode {\n return (\n <IModelConnectedViewport\n viewportRef={(v: ScreenViewport) => {\n this.viewport = v;\n // for convenience, if window defined bind viewport to window\n if (undefined !== window) (window as any).viewport = v;\n if (!UiFramework.frontstages.isLoading)\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(\n v\n );\n }}\n getViewOverlay={this._getViewOverlay}\n />\n );\n }\n\n /** Get the React component that will contain the Viewport */\n protected getImodelViewportReactElement(\n iModelConnection: IModelConnection,\n viewState: ViewStateProp\n ): React.ReactNode {\n return (\n <ViewportComponent\n viewState={viewState}\n imodel={iModelConnection}\n controlId={this.controlId}\n viewportRef={(v: ScreenViewport) => {\n this.viewport = v;\n // for convenience, if window defined bind viewport to window\n if (undefined !== window) (window as any).viewport = v;\n if (!UiFramework.frontstages.isLoading)\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(\n v\n );\n }}\n getViewOverlay={this._getViewOverlay}\n />\n );\n }\n\n /** Get the React component that will be shown when no iModel data is available */\n protected getNoContentReactElement(\n _options: IModelViewportControlOptions\n ): React.ReactNode {\n return (\n // eslint-disable-next-line deprecation/deprecation\n <FillCentered>{UiFramework.translate(\"general.no-content\")}</FillCentered>\n );\n }\n\n /** Get the React.Element for a ViewSelector change. */\n public override getReactElementForViewSelectorChange(\n iModelConnection: IModelConnection,\n _unusedViewDefinitionId: Id64String,\n viewState: ViewState,\n _name: string\n ): React.ReactNode {\n return this.getImodelViewportReactElement(iModelConnection, viewState);\n }\n\n /** Get the default ViewOverlay unless parameter is set to not use it. May be override in an application specific sub-class */\n protected _getViewOverlay = (vp: ScreenViewport): React.ReactNode => {\n return (\n <ViewOverlayHost\n viewport={vp}\n featureOptions={this._featureOptions}\n userSuppliedOverlay={this._userSuppliedViewOverlay}\n data-testid=\"ViewOverlay\"\n />\n );\n };\n\n /** Get the NavigationAidControl associated with this ContentControl */\n public override get navigationAidControl(): string {\n if (this.viewport) return super.navigationAidControl;\n else return StandardRotationNavigationAidControl.navigationAidId;\n }\n}\n\nUiFramework.controls.register(IModelViewportControl.id, IModelViewportControl);\n"]}
@@ -20,8 +20,7 @@ class InternalContentLayoutManager {
20
20
  * @returns the [[ContentLayoutDef]] if found, or undefined otherwise
21
21
  */
22
22
  static getForGroup(contentGroupProps, overrideContentLayout) {
23
- var _a;
24
- const layoutId = (_a = overrideContentLayout === null || overrideContentLayout === void 0 ? void 0 : overrideContentLayout.id) !== null && _a !== void 0 ? _a : contentGroupProps.layout.id;
23
+ const layoutId = overrideContentLayout?.id ?? contentGroupProps.layout.id;
25
24
  const layoutKey = this.getKey({
26
25
  contentGroupId: contentGroupProps.id,
27
26
  layoutId,
@@ -1 +1 @@
1
- {"version":3,"file":"InternalContentLayoutManager.js","sourceRoot":"","sources":["../../../../src/appui-react/content/InternalContentLayoutManager.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;GAEG;AACH,MAAa,4BAA4B;IAMvC,qEAAqE;IAC9D,MAAM,CAAC,MAAM,CAAC,KAGpB;QACC,OAAO,GAAG,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW,CACvB,iBAAmD,EACnD,qBAA0C;;QAE1C,MAAM,QAAQ,GAAG,MAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,EAAE,mCAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;YAC5B,cAAc,EAAE,iBAAiB,CAAC,EAAE;YACpC,QAAQ;SACT,CAAC,CAAC;QAEH,IACE,CAAC,qBAAqB;YACtB,4BAA4B,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EACvD;YACA,OAAO,4BAA4B,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;SACjE;QAED,MAAM,qBAAqB,GAAG;YAC5B,GAAG,iBAAiB,CAAC,MAAM;YAC3B,GAAG,qBAAqB;SACzB,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAClC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,IAAI,CAAC,SAAiB;QAClC,OAAO,4BAA4B,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;IAClE,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,GAAG,CAAC,QAAgB,EAAE,SAA2B;QAC7D,4BAA4B,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;IAED,qCAAqC;IAC9B,MAAM,KAAK,YAAY;QAC5B,IAAI,SAAuC,CAAC;QAC5C,MAAM,mBAAmB,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;QAExE,IAAI,mBAAmB;YAAE,SAAS,GAAG,mBAAmB,CAAC,gBAAgB,CAAC;QAE1E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oCAAoC;IAC7B,MAAM,KAAK,kBAAkB;QAClC,IAAI,YAAsC,CAAC;QAC3C,MAAM,mBAAmB,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;QAExE,IAAI,mBAAmB;YAAE,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC;QAEzE,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,SAAS,CAC3B,gBAAkC,EAClC,YAA0B;QAE1B,MAAM,yBAAyB,CAAC,eAAe,CAC7C,gBAAgB,EAChB,YAAY,CACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,qBAAqB,CACvC,YAA0B;QAE1B,MAAM,yBAAyB,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACtE,CAAC;IAED;OACG;IACI,MAAM,CAAC,aAAa;QACzB,uBAAuB;QACvB,MAAM,mBAAmB,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;QACxE,IACE,mBAAmB;YACnB,mBAAmB,CAAC,gBAAgB;YACpC,mBAAmB,CAAC,YAAY,EAChC;YACA,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC,IAAI,CAAC;gBACzD,aAAa,EAAE,mBAAmB,CAAC,gBAAgB;gBACnD,YAAY,EAAE,mBAAmB,CAAC,YAAY;aAC/C,CAAC,CAAC;YAEH,mBAAmB,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;SACxD;IACH,CAAC;;AAtHc,wCAAW,GAAkC,IAAI,GAAG,EAGhE,CAAC;SAJO,4BAA4B","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport type { ContentLayoutProps } from \"@itwin/appui-abstract\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { ContentGroup, ContentGroupProps } from \"./ContentGroup\";\nimport { ContentLayoutDef } from \"./ContentLayout\";\n\n/** ContentLayout Manager class.\n * @internal\n */\nexport class InternalContentLayoutManager {\n private static _layoutDefs: Map<string, ContentLayoutDef> = new Map<\n string,\n ContentLayoutDef\n >();\n\n /** build a layout key that is unique for group layout combination */\n public static getKey(props: {\n contentGroupId: string;\n layoutId: string;\n }): string {\n return `${props.contentGroupId}-${props.layoutId}`;\n }\n\n /** Return a LayoutDef that is specific to a content group.\n * @returns the [[ContentLayoutDef]] if found, or undefined otherwise\n */\n public static getForGroup(\n contentGroupProps: ContentGroupProps | ContentGroup,\n overrideContentLayout?: ContentLayoutProps\n ): ContentLayoutDef {\n const layoutId = overrideContentLayout?.id ?? contentGroupProps.layout.id;\n const layoutKey = this.getKey({\n contentGroupId: contentGroupProps.id,\n layoutId,\n });\n\n if (\n !overrideContentLayout &&\n InternalContentLayoutManager._layoutDefs.has(layoutKey)\n ) {\n return InternalContentLayoutManager._layoutDefs.get(layoutKey)!;\n }\n\n const newContentLayoutProps = {\n ...contentGroupProps.layout,\n ...overrideContentLayout,\n };\n const newLayoutDef = new ContentLayoutDef(newContentLayoutProps);\n this.add(layoutKey, newLayoutDef);\n return newLayoutDef;\n }\n\n /** Finds a Content Layout with a given id.\n * @param layoutKey group specific layout id, see `getLayoutKey`\n * @returns the [[ContentLayoutDef]] if found, or undefined otherwise\n */\n public static find(layoutKey: string): ContentLayoutDef | undefined {\n return InternalContentLayoutManager._layoutDefs.get(layoutKey)!;\n }\n\n /** Adds a Content Layout.\n * @param layoutId the id of the Content Layout to add\n * @param layoutDef the Content Layout definition to add\n */\n public static add(layoutId: string, layoutDef: ContentLayoutDef): void {\n InternalContentLayoutManager._layoutDefs.set(layoutId, layoutDef);\n }\n\n /** Gets the active Content Layout */\n public static get activeLayout(): ContentLayoutDef | undefined {\n let layoutDef: ContentLayoutDef | undefined;\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n if (activeFrontstageDef) layoutDef = activeFrontstageDef.contentLayoutDef;\n\n return layoutDef;\n }\n\n /** Gets the active Content Group */\n public static get activeContentGroup(): ContentGroup | undefined {\n let contentGroup: ContentGroup | undefined;\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n if (activeFrontstageDef) contentGroup = activeFrontstageDef.contentGroup;\n\n return contentGroup;\n }\n\n /** Sets the active Content Layout, Content Group and Content Control.\n * @param contentLayoutDef Content layout to make active\n * @param contentGroup Content Group to make active\n */\n public static async setActive(\n contentLayoutDef: ContentLayoutDef,\n contentGroup: ContentGroup\n ): Promise<void> {\n await InternalFrontstageManager.setActiveLayout(\n contentLayoutDef,\n contentGroup\n );\n }\n\n /** Sets the active Content Group.\n * @param contentGroup Content Group to make active\n */\n public static async setActiveContentGroup(\n contentGroup: ContentGroup\n ): Promise<void> {\n await InternalFrontstageManager.setActiveContentGroup(contentGroup);\n }\n\n /** Refreshes the active layout and content group.\n */\n public static refreshActive(): void {\n // istanbul ignore else\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (\n activeFrontstageDef &&\n activeFrontstageDef.contentLayoutDef &&\n activeFrontstageDef.contentGroup\n ) {\n UiFramework.frontstages.onContentLayoutActivatedEvent.emit({\n contentLayout: activeFrontstageDef.contentLayoutDef,\n contentGroup: activeFrontstageDef.contentGroup,\n });\n\n activeFrontstageDef.contentGroup.refreshContentNodes();\n }\n }\n}\n"]}
1
+ {"version":3,"file":"InternalContentLayoutManager.js","sourceRoot":"","sources":["../../../../src/appui-react/content/InternalContentLayoutManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport type { ContentLayoutProps } from \"@itwin/appui-abstract\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { ContentGroup, ContentGroupProps } from \"./ContentGroup\";\nimport { ContentLayoutDef } from \"./ContentLayout\";\n\n/** ContentLayout Manager class.\n * @internal\n */\nexport class InternalContentLayoutManager {\n private static _layoutDefs: Map<string, ContentLayoutDef> = new Map<\n string,\n ContentLayoutDef\n >();\n\n /** build a layout key that is unique for group layout combination */\n public static getKey(props: {\n contentGroupId: string;\n layoutId: string;\n }): string {\n return `${props.contentGroupId}-${props.layoutId}`;\n }\n\n /** Return a LayoutDef that is specific to a content group.\n * @returns the [[ContentLayoutDef]] if found, or undefined otherwise\n */\n public static getForGroup(\n contentGroupProps: ContentGroupProps | ContentGroup,\n overrideContentLayout?: ContentLayoutProps\n ): ContentLayoutDef {\n const layoutId = overrideContentLayout?.id ?? contentGroupProps.layout.id;\n const layoutKey = this.getKey({\n contentGroupId: contentGroupProps.id,\n layoutId,\n });\n\n if (\n !overrideContentLayout &&\n InternalContentLayoutManager._layoutDefs.has(layoutKey)\n ) {\n return InternalContentLayoutManager._layoutDefs.get(layoutKey)!;\n }\n\n const newContentLayoutProps = {\n ...contentGroupProps.layout,\n ...overrideContentLayout,\n };\n const newLayoutDef = new ContentLayoutDef(newContentLayoutProps);\n this.add(layoutKey, newLayoutDef);\n return newLayoutDef;\n }\n\n /** Finds a Content Layout with a given id.\n * @param layoutKey group specific layout id, see `getLayoutKey`\n * @returns the [[ContentLayoutDef]] if found, or undefined otherwise\n */\n public static find(layoutKey: string): ContentLayoutDef | undefined {\n return InternalContentLayoutManager._layoutDefs.get(layoutKey)!;\n }\n\n /** Adds a Content Layout.\n * @param layoutId the id of the Content Layout to add\n * @param layoutDef the Content Layout definition to add\n */\n public static add(layoutId: string, layoutDef: ContentLayoutDef): void {\n InternalContentLayoutManager._layoutDefs.set(layoutId, layoutDef);\n }\n\n /** Gets the active Content Layout */\n public static get activeLayout(): ContentLayoutDef | undefined {\n let layoutDef: ContentLayoutDef | undefined;\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n if (activeFrontstageDef) layoutDef = activeFrontstageDef.contentLayoutDef;\n\n return layoutDef;\n }\n\n /** Gets the active Content Group */\n public static get activeContentGroup(): ContentGroup | undefined {\n let contentGroup: ContentGroup | undefined;\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n if (activeFrontstageDef) contentGroup = activeFrontstageDef.contentGroup;\n\n return contentGroup;\n }\n\n /** Sets the active Content Layout, Content Group and Content Control.\n * @param contentLayoutDef Content layout to make active\n * @param contentGroup Content Group to make active\n */\n public static async setActive(\n contentLayoutDef: ContentLayoutDef,\n contentGroup: ContentGroup\n ): Promise<void> {\n await InternalFrontstageManager.setActiveLayout(\n contentLayoutDef,\n contentGroup\n );\n }\n\n /** Sets the active Content Group.\n * @param contentGroup Content Group to make active\n */\n public static async setActiveContentGroup(\n contentGroup: ContentGroup\n ): Promise<void> {\n await InternalFrontstageManager.setActiveContentGroup(contentGroup);\n }\n\n /** Refreshes the active layout and content group.\n */\n public static refreshActive(): void {\n // istanbul ignore else\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (\n activeFrontstageDef &&\n activeFrontstageDef.contentLayoutDef &&\n activeFrontstageDef.contentGroup\n ) {\n UiFramework.frontstages.onContentLayoutActivatedEvent.emit({\n contentLayout: activeFrontstageDef.contentLayoutDef,\n contentGroup: activeFrontstageDef.contentGroup,\n });\n\n activeFrontstageDef.contentGroup.refreshContentNodes();\n }\n }\n}\n"]}