@itwin/appui-react 4.0.0-dev.8 → 4.0.0-dev.9

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 (1668) hide show
  1. package/CHANGELOG.md +1 -119
  2. package/lib/cjs/appui-react/UiFramework.d.ts +63 -36
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +99 -49
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/_variables.scss +2 -2
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +1 -2
  9. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +2 -2
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +2 -3
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +2 -2
  14. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  15. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +9 -4
  16. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts +1 -1
  17. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  19. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts +1 -1
  20. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  21. package/lib/cjs/appui-react/backstage/BackstageComposer.js +3 -2
  22. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  23. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +5 -5
  24. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +3 -17
  26. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  27. package/lib/cjs/appui-react/backstage/BackstageItem.js +1 -12
  28. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  29. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.d.ts +3 -8
  30. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.d.ts.map +1 -1
  31. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js +31 -45
  32. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/BackstageManager.d.ts +15 -15
  34. package/lib/cjs/appui-react/backstage/BackstageManager.d.ts.map +1 -1
  35. package/lib/cjs/appui-react/backstage/BackstageManager.js +22 -29
  36. package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
  37. package/lib/cjs/appui-react/backstage/InternalBackstageManager.d.ts +23 -0
  38. package/lib/cjs/appui-react/backstage/InternalBackstageManager.d.ts.map +1 -0
  39. package/lib/cjs/appui-react/backstage/InternalBackstageManager.js +56 -0
  40. package/lib/cjs/appui-react/backstage/InternalBackstageManager.js.map +1 -0
  41. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +2 -1
  42. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  43. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js +3 -5
  44. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  45. package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts +58 -19
  46. package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
  47. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +77 -150
  48. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  49. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts +72 -0
  50. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -0
  51. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +230 -0
  52. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -0
  53. package/lib/cjs/appui-react/childwindow/{ChildWindowManager.scss → InternalChildWindowManager.scss} +0 -0
  54. package/lib/cjs/appui-react/configurableui/ActivityTracker.d.ts.map +1 -1
  55. package/lib/cjs/appui-react/configurableui/ActivityTracker.js +4 -3
  56. package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
  57. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  58. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +6 -9
  59. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  60. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts +11 -55
  61. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts.map +1 -1
  62. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js +22 -120
  63. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  64. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +82 -0
  65. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -0
  66. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +155 -0
  67. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -0
  68. package/lib/cjs/appui-react/configurableui/TimeTracker.js +5 -5
  69. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  70. package/lib/cjs/appui-react/configurableui/configurableui.scss +5 -7
  71. package/lib/cjs/appui-react/configurableui/state.d.ts +0 -7
  72. package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
  73. package/lib/cjs/appui-react/configurableui/state.js +0 -9
  74. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  75. package/lib/cjs/appui-react/content/ContentGroup.d.ts +2 -9
  76. package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
  77. package/lib/cjs/appui-react/content/ContentGroup.js +4 -4
  78. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  79. package/lib/cjs/appui-react/content/ContentLayout.d.ts +0 -4
  80. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/content/ContentLayout.js +14 -16
  82. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  83. package/lib/cjs/appui-react/content/ContentLayoutManager.d.ts +1 -1
  84. package/lib/cjs/appui-react/content/ContentLayoutManager.d.ts.map +1 -1
  85. package/lib/cjs/appui-react/content/ContentLayoutManager.js +11 -37
  86. package/lib/cjs/appui-react/content/ContentLayoutManager.js.map +1 -1
  87. package/lib/cjs/appui-react/content/ContentViewManager.d.ts +4 -34
  88. package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +1 -1
  89. package/lib/cjs/appui-react/content/ContentViewManager.js +22 -133
  90. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  91. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +4 -5
  92. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  93. package/lib/cjs/appui-react/content/FloatingViewportContent.js +5 -6
  94. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  95. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  96. package/lib/cjs/appui-react/content/IModelViewport.js +5 -7
  97. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  98. package/lib/cjs/appui-react/content/InternalContentLayoutManager.d.ts +48 -0
  99. package/lib/cjs/appui-react/content/InternalContentLayoutManager.d.ts.map +1 -0
  100. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +96 -0
  101. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -0
  102. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts +80 -0
  103. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts.map +1 -0
  104. package/lib/cjs/appui-react/content/InternalContentViewManager.js +210 -0
  105. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -0
  106. package/lib/cjs/appui-react/content/ViewportContentControl.d.ts.map +1 -1
  107. package/lib/cjs/appui-react/content/ViewportContentControl.js +3 -4
  108. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  109. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +1 -1
  110. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  111. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +2 -2
  112. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  113. package/lib/cjs/appui-react/dialog/ContentDialog.js +10 -11
  114. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  115. package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts +9 -22
  116. package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts.map +1 -1
  117. package/lib/cjs/appui-react/dialog/ContentDialogManager.js +23 -85
  118. package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -1
  119. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts +48 -0
  120. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -0
  121. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js +132 -0
  122. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -0
  123. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts +36 -0
  124. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -0
  125. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js +55 -0
  126. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -0
  127. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts +46 -0
  128. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -0
  129. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js +120 -0
  130. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -0
  131. package/lib/cjs/appui-react/dialog/ModalDialogManager.d.ts +7 -12
  132. package/lib/cjs/appui-react/dialog/ModalDialogManager.d.ts.map +1 -1
  133. package/lib/cjs/appui-react/dialog/ModalDialogManager.js +23 -27
  134. package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
  135. package/lib/cjs/appui-react/dialog/ModelessDialog.js +2 -2
  136. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  137. package/lib/cjs/appui-react/dialog/ModelessDialogManager.d.ts +17 -28
  138. package/lib/cjs/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
  139. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js +36 -86
  140. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  141. package/lib/cjs/appui-react/dialog/StandardMessageBox.d.ts +2 -0
  142. package/lib/cjs/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  143. package/lib/cjs/appui-react/dialog/StandardMessageBox.js +2 -2
  144. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  145. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  146. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js +3 -4
  147. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  148. package/lib/cjs/appui-react/feedback/ElementTooltip.js +1 -2
  149. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  150. package/lib/cjs/appui-react/feedback/ValidationTextbox.d.ts +2 -0
  151. package/lib/cjs/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  152. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  153. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +4 -4
  154. package/lib/cjs/appui-react/framework/FrameworkBackstage.d.ts +44 -0
  155. package/lib/cjs/appui-react/framework/FrameworkBackstage.d.ts.map +1 -0
  156. package/lib/cjs/appui-react/{imodel-components/models-tree/ModelsTree.scss → framework/FrameworkBackstage.js} +6 -5
  157. package/lib/cjs/appui-react/framework/FrameworkBackstage.js.map +1 -0
  158. package/lib/cjs/appui-react/framework/FrameworkChildWindows.d.ts +76 -0
  159. package/lib/cjs/appui-react/framework/FrameworkChildWindows.d.ts.map +1 -0
  160. package/lib/cjs/appui-react/{imodel-components/category-tree/CategoriesTree.scss → framework/FrameworkChildWindows.js} +6 -5
  161. package/lib/cjs/appui-react/framework/FrameworkChildWindows.js.map +1 -0
  162. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts +155 -0
  163. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts.map +1 -0
  164. package/lib/cjs/appui-react/framework/FrameworkContent.js +31 -0
  165. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -0
  166. package/lib/cjs/appui-react/framework/FrameworkControls.d.ts +43 -0
  167. package/lib/cjs/appui-react/framework/FrameworkControls.d.ts.map +1 -0
  168. package/lib/cjs/appui-react/{statusfields/StatusFieldProps.js → framework/FrameworkControls.js} +1 -1
  169. package/lib/cjs/appui-react/framework/FrameworkControls.js.map +1 -0
  170. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts +79 -0
  171. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts.map +1 -0
  172. package/lib/cjs/appui-react/framework/FrameworkDialogs.js +24 -0
  173. package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -0
  174. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts +286 -0
  175. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -0
  176. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js +64 -0
  177. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -0
  178. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.d.ts +100 -0
  179. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.d.ts.map +1 -0
  180. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js +3 -0
  181. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -0
  182. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts +52 -0
  183. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -0
  184. package/lib/cjs/appui-react/{statusbar/StatusBarItemsManager.js → framework/FrameworkToolSettings.js} +8 -9
  185. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -0
  186. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +37 -0
  187. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts.map +1 -0
  188. package/lib/cjs/appui-react/framework/FrameworkVisibility.js +3 -0
  189. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -0
  190. package/lib/cjs/appui-react/frontstage/FrontstageConfig.d.ts +1 -1
  191. package/lib/cjs/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  192. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +23 -76
  193. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  194. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +134 -347
  195. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  196. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +98 -258
  197. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  198. package/lib/cjs/appui-react/frontstage/FrontstageManager.js +153 -474
  199. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  200. package/lib/cjs/appui-react/frontstage/FrontstageProvider.d.ts +3 -11
  201. package/lib/cjs/appui-react/frontstage/FrontstageProvider.d.ts.map +1 -1
  202. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  203. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts +235 -0
  204. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -0
  205. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +509 -0
  206. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -0
  207. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts +2 -0
  208. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  209. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +2 -1
  210. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  211. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +1 -4
  212. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
  213. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  214. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +6 -7
  215. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  216. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js +2 -2
  217. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  218. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +5 -16
  219. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  220. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +44 -27
  221. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  222. package/lib/cjs/appui-react/hooks/useActiveStageId.d.ts.map +1 -1
  223. package/lib/cjs/appui-react/hooks/useActiveStageId.js +4 -4
  224. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  225. package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  226. package/lib/cjs/appui-react/hooks/useActiveViewport.js +5 -5
  227. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  228. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js +2 -2
  229. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  230. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts +40 -0
  231. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -0
  232. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +112 -0
  233. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -0
  234. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts +5 -25
  235. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  236. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js +19 -61
  237. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  238. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts +1 -36
  239. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts.map +1 -1
  240. package/lib/cjs/appui-react/messages/ActivityMessage.js +25 -38
  241. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  242. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  243. package/lib/cjs/appui-react/messages/MessageManager.js +4 -6
  244. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  245. package/lib/cjs/appui-react/messages/Pointer.js +1 -2
  246. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  247. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.d.ts.map +1 -1
  248. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js +1 -0
  249. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  250. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js +1 -0
  252. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  253. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  254. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -2
  255. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  256. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +13 -9
  257. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +1 -1
  258. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  259. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +2 -3
  260. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  261. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  262. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +6 -7
  263. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  264. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +3 -35
  265. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  266. package/lib/cjs/appui-react/pickers/ListPicker.js +9 -143
  267. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  268. package/lib/cjs/appui-react/pickers/ListPicker.scss +15 -17
  269. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  270. package/lib/cjs/appui-react/pickers/ViewSelector.js +1 -3
  271. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  272. package/lib/cjs/appui-react/popup/PositionPopup.d.ts +2 -0
  273. package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  275. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  276. package/lib/cjs/appui-react/safearea/SafeAreaContext.d.ts +3 -65
  277. package/lib/cjs/appui-react/safearea/SafeAreaContext.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/safearea/SafeAreaContext.js +3 -20
  279. package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
  280. package/lib/cjs/appui-react/safearea/SafeAreaHelpers.d.ts +8 -0
  281. package/lib/cjs/appui-react/safearea/SafeAreaHelpers.d.ts.map +1 -0
  282. package/lib/cjs/appui-react/{zones/Outline.js → safearea/SafeAreaHelpers.js} +6 -12
  283. package/lib/cjs/appui-react/safearea/SafeAreaHelpers.js.map +1 -0
  284. package/lib/cjs/appui-react/safearea/SafeAreaInsets.d.ts +8 -7
  285. package/lib/cjs/appui-react/safearea/SafeAreaInsets.d.ts.map +1 -1
  286. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js +9 -3
  287. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  288. package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  289. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +4 -17
  290. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  291. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  292. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +3 -4
  293. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  294. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +6 -13
  295. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts +0 -12
  296. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  297. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +40 -41
  298. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  299. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +8 -9
  300. package/lib/cjs/appui-react/shared/ActionButtonItemDef.d.ts +0 -7
  301. package/lib/cjs/appui-react/shared/ActionButtonItemDef.d.ts.map +1 -1
  302. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js +0 -19
  303. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  304. package/lib/cjs/appui-react/shared/CustomItemDef.d.ts +0 -2
  305. package/lib/cjs/appui-react/shared/CustomItemDef.d.ts.map +1 -1
  306. package/lib/cjs/appui-react/shared/CustomItemDef.js +0 -18
  307. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  308. package/lib/cjs/appui-react/shared/CustomItemProps.d.ts +0 -1
  309. package/lib/cjs/appui-react/shared/CustomItemProps.d.ts.map +1 -1
  310. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  311. package/lib/cjs/appui-react/shared/GroupItemProps.d.ts +0 -3
  312. package/lib/cjs/appui-react/shared/GroupItemProps.d.ts.map +1 -1
  313. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  314. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +0 -8
  315. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  316. package/lib/cjs/appui-react/shared/ItemDefBase.js +2 -16
  317. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  318. package/lib/cjs/appui-react/shared/ItemProps.d.ts +0 -17
  319. package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
  320. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  321. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts +10 -4
  322. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
  323. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js +0 -1
  324. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  325. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +13 -31
  326. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  327. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +68 -124
  328. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  329. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts +2 -2
  330. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js +1 -1
  331. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  332. package/lib/cjs/appui-react/statusbar/Indicator.js +2 -4
  333. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  334. package/lib/cjs/appui-react/statusbar/Overflow.d.ts +1 -1
  335. package/lib/cjs/appui-react/statusbar/Overflow.d.ts.map +1 -1
  336. package/lib/cjs/appui-react/statusbar/Overflow.js +2 -3
  337. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  338. package/lib/cjs/appui-react/statusbar/Separator.d.ts +1 -0
  339. package/lib/cjs/appui-react/statusbar/Separator.d.ts.map +1 -1
  340. package/lib/cjs/appui-react/statusbar/Separator.js +4 -3
  341. package/lib/cjs/appui-react/statusbar/Separator.js.map +1 -1
  342. package/lib/cjs/appui-react/statusbar/Separator.scss +14 -0
  343. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -17
  344. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  345. package/lib/cjs/appui-react/statusbar/StatusBar.js +7 -56
  346. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  347. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  348. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +12 -16
  349. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  350. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +1 -1
  351. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  352. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.d.ts +1 -20
  353. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.d.ts.map +1 -1
  354. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  355. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js +1 -1
  356. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  357. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.js +1 -1
  358. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  359. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +3 -2
  360. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  361. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +7 -13
  362. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  363. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts +3 -21
  364. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  365. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +39 -47
  366. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  367. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +5 -16
  368. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  369. package/lib/cjs/appui-react/statusfields/MessageCenter.js +10 -38
  370. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  371. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts +2 -2
  372. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  373. package/lib/cjs/appui-react/statusfields/SectionsField.js +10 -13
  374. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  375. package/lib/cjs/appui-react/statusfields/SectionsField.scss +5 -6
  376. package/lib/cjs/appui-react/statusfields/SelectionInfo.d.ts +2 -2
  377. package/lib/cjs/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  378. package/lib/cjs/appui-react/statusfields/SelectionInfo.js +1 -5
  379. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  380. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts +2 -2
  381. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  382. package/lib/cjs/appui-react/statusfields/SelectionScope.js +4 -9
  383. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  384. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +5 -7
  385. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +2 -2
  386. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  387. package/lib/cjs/appui-react/statusfields/SnapMode.js +2 -3
  388. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  389. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +3 -4
  390. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  391. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +2 -10
  392. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  393. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts +3 -3
  394. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  395. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -4
  396. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  397. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +9 -22
  398. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +5 -6
  399. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  400. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +24 -41
  401. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  402. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +10 -22
  403. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts +5 -28
  404. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  405. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +14 -50
  406. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  407. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts +2 -93
  408. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  409. package/lib/cjs/appui-react/toolbar/GroupItem.js +2 -393
  410. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  411. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +2 -1
  412. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  413. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +8 -33
  414. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  415. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts +1 -2
  416. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  417. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +2 -16
  418. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  419. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +4 -4
  420. package/lib/cjs/appui-react/toolbar/ToolbarItem.js +2 -2
  421. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  422. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +2 -1
  423. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  424. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -6
  425. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  426. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts +0 -7
  427. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  428. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +10 -53
  429. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  430. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  431. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js +2 -3
  432. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  433. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +4 -4
  434. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  435. package/lib/cjs/appui-react/tools/ToolSettingsTools.js +2 -2
  436. package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
  437. package/lib/cjs/appui-react/{zones/toolsettings → toolsettings}/DefaultToolSettingsProvider.d.ts +2 -2
  438. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -0
  439. package/lib/cjs/appui-react/{zones/toolsettings → toolsettings}/DefaultToolSettingsProvider.js +8 -11
  440. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -0
  441. package/lib/cjs/appui-react/{zones/toolsettings/ToolSettingsManager.d.ts → toolsettings/InternalToolSettingsManager.d.ts} +8 -17
  442. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -0
  443. package/lib/cjs/appui-react/{zones/toolsettings/ToolSettingsManager.js → toolsettings/InternalToolSettingsManager.js} +38 -44
  444. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -0
  445. package/lib/cjs/appui-react/{zones/toolsettings → toolsettings}/ToolInformation.d.ts +0 -0
  446. package/lib/cjs/appui-react/toolsettings/ToolInformation.d.ts.map +1 -0
  447. package/lib/cjs/appui-react/{zones/toolsettings → toolsettings}/ToolInformation.js +6 -8
  448. package/lib/cjs/appui-react/toolsettings/ToolInformation.js.map +1 -0
  449. package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.d.ts +44 -0
  450. package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.d.ts.map +1 -0
  451. package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.js +64 -0
  452. package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.js.map +1 -0
  453. package/lib/{esm/appui-react/zones → cjs/appui-react}/toolsettings/ToolUiProvider.d.ts +4 -4
  454. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.d.ts.map +1 -0
  455. package/lib/cjs/appui-react/{zones/toolsettings → toolsettings}/ToolUiProvider.js +2 -2
  456. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -0
  457. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  458. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +1 -4
  459. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  460. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +0 -1
  461. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  462. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +1 -11
  463. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  464. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  465. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +6 -20
  466. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  467. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +1 -0
  468. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  469. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +6 -20
  470. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  471. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  472. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +11 -15
  473. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  474. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
  475. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -3
  476. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  477. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +0 -3
  478. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts +1 -5
  479. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  480. package/lib/cjs/appui-react/uistate/AppUiSettings.js +0 -6
  481. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  482. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.d.ts +84 -0
  483. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.d.ts.map +1 -0
  484. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +198 -0
  485. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -0
  486. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts +3 -33
  487. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  488. package/lib/cjs/appui-react/utils/UiShowHideManager.js +27 -117
  489. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  490. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  491. package/lib/cjs/appui-react/widget-panels/Content.js +7 -5
  492. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  493. package/lib/cjs/appui-react/widget-panels/FloatingWidget.js +2 -2
  494. package/lib/cjs/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  495. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +22 -19
  496. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  497. package/lib/cjs/appui-react/widget-panels/Frontstage.js +153 -259
  498. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  499. package/lib/cjs/appui-react/widget-panels/FrontstageContent.d.ts.map +1 -1
  500. package/lib/cjs/appui-react/widget-panels/FrontstageContent.js +3 -3
  501. package/lib/cjs/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  502. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.d.ts +1 -1
  503. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.d.ts.map +1 -1
  504. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js +6 -6
  505. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  506. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  507. package/lib/cjs/appui-react/widget-panels/StatusBar.js +6 -9
  508. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  509. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  510. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +25 -24
  511. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  512. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +3 -2
  513. package/lib/cjs/appui-react/widget-panels/Toolbars.d.ts.map +1 -1
  514. package/lib/cjs/appui-react/widget-panels/Toolbars.js +5 -12
  515. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  516. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.d.ts.map +1 -1
  517. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js +6 -8
  518. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  519. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  520. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +4 -8
  521. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  522. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +1 -1
  523. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +1 -1
  524. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  525. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  526. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +8 -13
  527. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  528. package/lib/cjs/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  529. package/lib/cjs/appui-react/widgets/StableWidgetDef.js +1 -1
  530. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  531. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.d.ts.map +1 -1
  532. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js +2 -2
  533. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  534. package/lib/cjs/appui-react/widgets/ToolSettingsContent.d.ts +0 -19
  535. package/lib/cjs/appui-react/widgets/ToolSettingsContent.d.ts.map +1 -1
  536. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js +1 -40
  537. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  538. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js +3 -3
  539. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  540. package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts +19 -4
  541. package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts.map +1 -1
  542. package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
  543. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +11 -70
  544. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  545. package/lib/cjs/appui-react/widgets/WidgetDef.js +66 -124
  546. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  547. package/lib/cjs/appui-react/widgets/WidgetHost.d.ts +3 -3
  548. package/lib/cjs/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  549. package/lib/cjs/appui-react/widgets/WidgetHost.js +4 -94
  550. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  551. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts +5 -6
  552. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  553. package/lib/cjs/appui-react/widgets/WidgetManager.js +23 -58
  554. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  555. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts +1 -22
  556. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts.map +1 -1
  557. package/lib/cjs/appui-react/widgets/WidgetProps.js.map +1 -1
  558. package/lib/cjs/appui-react/widgets/WidgetState.d.ts +2 -2
  559. package/lib/cjs/appui-react/widgets/WidgetState.js +1 -1
  560. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
  561. package/lib/cjs/appui-react.d.ts +13 -66
  562. package/lib/cjs/appui-react.d.ts.map +1 -1
  563. package/lib/cjs/appui-react.js +13 -66
  564. package/lib/cjs/appui-react.js.map +1 -1
  565. package/lib/esm/appui-react/UiFramework.d.ts +63 -36
  566. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  567. package/lib/esm/appui-react/UiFramework.js +97 -46
  568. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  569. package/lib/esm/appui-react/_variables.scss +2 -2
  570. package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  571. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +1 -2
  572. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  573. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +2 -2
  574. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  575. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +2 -3
  576. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +2 -2
  577. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  578. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +9 -4
  579. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts +1 -1
  580. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts.map +1 -1
  581. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  582. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +1 -1
  583. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  584. package/lib/esm/appui-react/backstage/BackstageComposer.js +3 -2
  585. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  586. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +4 -4
  587. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  588. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +3 -17
  589. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  590. package/lib/esm/appui-react/backstage/BackstageItem.js +0 -11
  591. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  592. package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts +3 -8
  593. package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts.map +1 -1
  594. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js +31 -44
  595. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  596. package/lib/esm/appui-react/backstage/BackstageManager.d.ts +15 -15
  597. package/lib/esm/appui-react/backstage/BackstageManager.d.ts.map +1 -1
  598. package/lib/esm/appui-react/backstage/BackstageManager.js +22 -29
  599. package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
  600. package/lib/esm/appui-react/backstage/InternalBackstageManager.d.ts +23 -0
  601. package/lib/esm/appui-react/backstage/InternalBackstageManager.d.ts.map +1 -0
  602. package/lib/esm/appui-react/backstage/InternalBackstageManager.js +52 -0
  603. package/lib/esm/appui-react/backstage/InternalBackstageManager.js.map +1 -0
  604. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +2 -1
  605. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  606. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -4
  607. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  608. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts +58 -19
  609. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
  610. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +77 -150
  611. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  612. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts +72 -0
  613. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -0
  614. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +226 -0
  615. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -0
  616. package/lib/esm/appui-react/childwindow/{ChildWindowManager.scss → InternalChildWindowManager.scss} +0 -0
  617. package/lib/esm/appui-react/configurableui/ActivityTracker.d.ts.map +1 -1
  618. package/lib/esm/appui-react/configurableui/ActivityTracker.js +4 -3
  619. package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
  620. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  621. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +6 -9
  622. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  623. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts +11 -55
  624. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts.map +1 -1
  625. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js +21 -117
  626. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  627. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +82 -0
  628. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -0
  629. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +149 -0
  630. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -0
  631. package/lib/esm/appui-react/configurableui/TimeTracker.js +5 -5
  632. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  633. package/lib/esm/appui-react/configurableui/configurableui.scss +5 -7
  634. package/lib/esm/appui-react/configurableui/state.d.ts +0 -7
  635. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  636. package/lib/esm/appui-react/configurableui/state.js +0 -9
  637. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  638. package/lib/esm/appui-react/content/ContentGroup.d.ts +2 -9
  639. package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
  640. package/lib/esm/appui-react/content/ContentGroup.js +4 -4
  641. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  642. package/lib/esm/appui-react/content/ContentLayout.d.ts +0 -4
  643. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  644. package/lib/esm/appui-react/content/ContentLayout.js +13 -15
  645. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  646. package/lib/esm/appui-react/content/ContentLayoutManager.d.ts +1 -1
  647. package/lib/esm/appui-react/content/ContentLayoutManager.d.ts.map +1 -1
  648. package/lib/esm/appui-react/content/ContentLayoutManager.js +11 -37
  649. package/lib/esm/appui-react/content/ContentLayoutManager.js.map +1 -1
  650. package/lib/esm/appui-react/content/ContentViewManager.d.ts +4 -34
  651. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
  652. package/lib/esm/appui-react/content/ContentViewManager.js +21 -130
  653. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  654. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +4 -5
  655. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  656. package/lib/esm/appui-react/content/FloatingViewportContent.js +5 -6
  657. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  658. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  659. package/lib/esm/appui-react/content/IModelViewport.js +5 -7
  660. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  661. package/lib/esm/appui-react/content/InternalContentLayoutManager.d.ts +48 -0
  662. package/lib/esm/appui-react/content/InternalContentLayoutManager.d.ts.map +1 -0
  663. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +92 -0
  664. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -0
  665. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts +80 -0
  666. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts.map +1 -0
  667. package/lib/esm/appui-react/content/InternalContentViewManager.js +206 -0
  668. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -0
  669. package/lib/esm/appui-react/content/ViewportContentControl.d.ts.map +1 -1
  670. package/lib/esm/appui-react/content/ViewportContentControl.js +3 -4
  671. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  672. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +1 -1
  673. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  674. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +2 -2
  675. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  676. package/lib/esm/appui-react/dialog/ContentDialog.js +10 -11
  677. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  678. package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts +9 -22
  679. package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts.map +1 -1
  680. package/lib/esm/appui-react/dialog/ContentDialogManager.js +23 -84
  681. package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -1
  682. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts +48 -0
  683. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -0
  684. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js +128 -0
  685. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -0
  686. package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts +36 -0
  687. package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -0
  688. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js +51 -0
  689. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -0
  690. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts +46 -0
  691. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -0
  692. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js +116 -0
  693. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -0
  694. package/lib/esm/appui-react/dialog/ModalDialogManager.d.ts +7 -12
  695. package/lib/esm/appui-react/dialog/ModalDialogManager.d.ts.map +1 -1
  696. package/lib/esm/appui-react/dialog/ModalDialogManager.js +22 -25
  697. package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
  698. package/lib/esm/appui-react/dialog/ModelessDialog.js +2 -2
  699. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  700. package/lib/esm/appui-react/dialog/ModelessDialogManager.d.ts +17 -28
  701. package/lib/esm/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
  702. package/lib/esm/appui-react/dialog/ModelessDialogManager.js +35 -84
  703. package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  704. package/lib/esm/appui-react/dialog/StandardMessageBox.d.ts +2 -0
  705. package/lib/esm/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  706. package/lib/esm/appui-react/dialog/StandardMessageBox.js +2 -2
  707. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  708. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  709. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js +3 -4
  710. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  711. package/lib/esm/appui-react/feedback/ElementTooltip.js +1 -2
  712. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  713. package/lib/esm/appui-react/feedback/ValidationTextbox.d.ts +2 -0
  714. package/lib/esm/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  715. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  716. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +4 -4
  717. package/lib/esm/appui-react/framework/FrameworkBackstage.d.ts +44 -0
  718. package/lib/esm/appui-react/framework/FrameworkBackstage.d.ts.map +1 -0
  719. package/lib/{cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.scss → esm/appui-react/framework/FrameworkBackstage.js} +5 -5
  720. package/lib/esm/appui-react/framework/FrameworkBackstage.js.map +1 -0
  721. package/lib/esm/appui-react/framework/FrameworkChildWindows.d.ts +76 -0
  722. package/lib/esm/appui-react/framework/FrameworkChildWindows.d.ts.map +1 -0
  723. package/lib/esm/appui-react/{imodel-components/category-tree/CategoriesTree.scss → framework/FrameworkChildWindows.js} +5 -5
  724. package/lib/esm/appui-react/framework/FrameworkChildWindows.js.map +1 -0
  725. package/lib/esm/appui-react/framework/FrameworkContent.d.ts +155 -0
  726. package/lib/esm/appui-react/framework/FrameworkContent.d.ts.map +1 -0
  727. package/lib/esm/appui-react/framework/FrameworkContent.js +25 -0
  728. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -0
  729. package/lib/esm/appui-react/framework/FrameworkControls.d.ts +43 -0
  730. package/lib/esm/appui-react/framework/FrameworkControls.d.ts.map +1 -0
  731. package/lib/esm/appui-react/framework/FrameworkControls.js +2 -0
  732. package/lib/esm/appui-react/framework/FrameworkControls.js.map +1 -0
  733. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts +79 -0
  734. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts.map +1 -0
  735. package/lib/esm/appui-react/framework/FrameworkDialogs.js +19 -0
  736. package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -0
  737. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts +286 -0
  738. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -0
  739. package/lib/esm/appui-react/framework/FrameworkFrontstages.js +53 -0
  740. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -0
  741. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.d.ts +100 -0
  742. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.d.ts.map +1 -0
  743. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js +2 -0
  744. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -0
  745. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts +52 -0
  746. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -0
  747. package/lib/esm/appui-react/framework/FrameworkToolSettings.js +14 -0
  748. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -0
  749. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +37 -0
  750. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts.map +1 -0
  751. package/lib/esm/appui-react/framework/FrameworkVisibility.js +2 -0
  752. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -0
  753. package/lib/esm/appui-react/frontstage/FrontstageConfig.d.ts +1 -1
  754. package/lib/esm/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  755. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +23 -76
  756. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  757. package/lib/esm/appui-react/frontstage/FrontstageDef.js +109 -325
  758. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  759. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +98 -258
  760. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  761. package/lib/esm/appui-react/frontstage/FrontstageManager.js +152 -465
  762. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  763. package/lib/esm/appui-react/frontstage/FrontstageProvider.d.ts +3 -11
  764. package/lib/esm/appui-react/frontstage/FrontstageProvider.d.ts.map +1 -1
  765. package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  766. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts +235 -0
  767. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -0
  768. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +505 -0
  769. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -0
  770. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts +2 -0
  771. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  772. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +2 -1
  773. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  774. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +1 -4
  775. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
  776. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  777. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +6 -7
  778. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  779. package/lib/esm/appui-react/frontstage/NestedFrontstage.js +2 -2
  780. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  781. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +5 -16
  782. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  783. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +44 -27
  784. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  785. package/lib/esm/appui-react/hooks/useActiveStageId.d.ts.map +1 -1
  786. package/lib/esm/appui-react/hooks/useActiveStageId.js +4 -4
  787. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  788. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  789. package/lib/esm/appui-react/hooks/useActiveViewport.js +5 -5
  790. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  791. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js +2 -2
  792. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  793. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts +40 -0
  794. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -0
  795. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +108 -0
  796. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -0
  797. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts +5 -25
  798. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  799. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js +20 -62
  800. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  801. package/lib/esm/appui-react/messages/ActivityMessage.d.ts +1 -36
  802. package/lib/esm/appui-react/messages/ActivityMessage.d.ts.map +1 -1
  803. package/lib/esm/appui-react/messages/ActivityMessage.js +24 -34
  804. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  805. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  806. package/lib/esm/appui-react/messages/MessageManager.js +4 -6
  807. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  808. package/lib/esm/appui-react/messages/Pointer.js +1 -2
  809. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  810. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.d.ts.map +1 -1
  811. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js +1 -0
  812. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  813. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.d.ts.map +1 -1
  814. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js +1 -0
  815. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  816. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  817. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -2
  818. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  819. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +13 -9
  820. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +1 -1
  821. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  822. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -3
  823. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  824. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  825. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +8 -9
  826. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  827. package/lib/esm/appui-react/pickers/ListPicker.d.ts +3 -35
  828. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  829. package/lib/esm/appui-react/pickers/ListPicker.js +9 -142
  830. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  831. package/lib/esm/appui-react/pickers/ListPicker.scss +15 -17
  832. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  833. package/lib/esm/appui-react/pickers/ViewSelector.js +1 -3
  834. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  835. package/lib/esm/appui-react/popup/PositionPopup.d.ts +2 -0
  836. package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
  837. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  838. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  839. package/lib/esm/appui-react/safearea/SafeAreaContext.d.ts +3 -65
  840. package/lib/esm/appui-react/safearea/SafeAreaContext.d.ts.map +1 -1
  841. package/lib/esm/appui-react/safearea/SafeAreaContext.js +2 -18
  842. package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
  843. package/lib/esm/appui-react/safearea/SafeAreaHelpers.d.ts +8 -0
  844. package/lib/esm/appui-react/safearea/SafeAreaHelpers.d.ts.map +1 -0
  845. package/lib/esm/appui-react/safearea/SafeAreaHelpers.js +12 -0
  846. package/lib/esm/appui-react/safearea/SafeAreaHelpers.js.map +1 -0
  847. package/lib/esm/appui-react/safearea/SafeAreaInsets.d.ts +8 -7
  848. package/lib/esm/appui-react/safearea/SafeAreaInsets.d.ts.map +1 -1
  849. package/lib/esm/appui-react/safearea/SafeAreaInsets.js +9 -3
  850. package/lib/esm/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  851. package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  852. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +4 -17
  853. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  854. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  855. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +3 -4
  856. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  857. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +6 -13
  858. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts +0 -12
  859. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  860. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +40 -41
  861. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  862. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +8 -9
  863. package/lib/esm/appui-react/shared/ActionButtonItemDef.d.ts +0 -7
  864. package/lib/esm/appui-react/shared/ActionButtonItemDef.d.ts.map +1 -1
  865. package/lib/esm/appui-react/shared/ActionButtonItemDef.js +0 -19
  866. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  867. package/lib/esm/appui-react/shared/CustomItemDef.d.ts +0 -2
  868. package/lib/esm/appui-react/shared/CustomItemDef.d.ts.map +1 -1
  869. package/lib/esm/appui-react/shared/CustomItemDef.js +0 -18
  870. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  871. package/lib/esm/appui-react/shared/CustomItemProps.d.ts +0 -1
  872. package/lib/esm/appui-react/shared/CustomItemProps.d.ts.map +1 -1
  873. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  874. package/lib/esm/appui-react/shared/GroupItemProps.d.ts +0 -3
  875. package/lib/esm/appui-react/shared/GroupItemProps.d.ts.map +1 -1
  876. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  877. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +0 -8
  878. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  879. package/lib/esm/appui-react/shared/ItemDefBase.js +2 -16
  880. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  881. package/lib/esm/appui-react/shared/ItemProps.d.ts +0 -17
  882. package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
  883. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  884. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts +10 -4
  885. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
  886. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js +0 -1
  887. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  888. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +13 -31
  889. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  890. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +61 -116
  891. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  892. package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts +2 -2
  893. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js +1 -1
  894. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  895. package/lib/esm/appui-react/statusbar/Indicator.js +2 -4
  896. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  897. package/lib/esm/appui-react/statusbar/Overflow.d.ts +1 -1
  898. package/lib/esm/appui-react/statusbar/Overflow.d.ts.map +1 -1
  899. package/lib/esm/appui-react/statusbar/Overflow.js +2 -3
  900. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  901. package/lib/esm/appui-react/statusbar/Separator.d.ts +1 -0
  902. package/lib/esm/appui-react/statusbar/Separator.d.ts.map +1 -1
  903. package/lib/esm/appui-react/statusbar/Separator.js +4 -3
  904. package/lib/esm/appui-react/statusbar/Separator.js.map +1 -1
  905. package/lib/esm/appui-react/statusbar/Separator.scss +14 -0
  906. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -17
  907. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  908. package/lib/esm/appui-react/statusbar/StatusBar.js +7 -56
  909. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  910. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  911. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +16 -20
  912. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  913. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +1 -1
  914. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  915. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.d.ts +1 -20
  916. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.d.ts.map +1 -1
  917. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  918. package/lib/esm/appui-react/statusbar/dialog/Dialog.js +1 -1
  919. package/lib/esm/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  920. package/lib/esm/appui-react/statusbar/dialog/TitleBar.js +1 -1
  921. package/lib/esm/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  922. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +3 -2
  923. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  924. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +7 -13
  925. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  926. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts +3 -21
  927. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  928. package/lib/esm/appui-react/statusfields/ActivityCenter.js +39 -47
  929. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  930. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +5 -16
  931. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  932. package/lib/esm/appui-react/statusfields/MessageCenter.js +10 -38
  933. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  934. package/lib/esm/appui-react/statusfields/SectionsField.d.ts +2 -2
  935. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  936. package/lib/esm/appui-react/statusfields/SectionsField.js +10 -13
  937. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  938. package/lib/esm/appui-react/statusfields/SectionsField.scss +5 -6
  939. package/lib/esm/appui-react/statusfields/SelectionInfo.d.ts +2 -2
  940. package/lib/esm/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  941. package/lib/esm/appui-react/statusfields/SelectionInfo.js +1 -5
  942. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  943. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts +2 -2
  944. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  945. package/lib/esm/appui-react/statusfields/SelectionScope.js +4 -9
  946. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  947. package/lib/esm/appui-react/statusfields/SelectionScope.scss +5 -7
  948. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +2 -2
  949. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  950. package/lib/esm/appui-react/statusfields/SnapMode.js +2 -3
  951. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  952. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +3 -4
  953. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  954. package/lib/esm/appui-react/statusfields/ViewAttributes.js +2 -10
  955. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  956. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts +3 -3
  957. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  958. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -4
  959. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  960. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +9 -22
  961. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +5 -6
  962. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  963. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +25 -42
  964. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  965. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +10 -22
  966. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts +5 -28
  967. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  968. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +14 -50
  969. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  970. package/lib/esm/appui-react/toolbar/GroupItem.d.ts +2 -93
  971. package/lib/esm/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  972. package/lib/esm/appui-react/toolbar/GroupItem.js +1 -388
  973. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  974. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +2 -1
  975. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  976. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +8 -33
  977. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  978. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts +1 -2
  979. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  980. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +2 -16
  981. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  982. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +4 -4
  983. package/lib/esm/appui-react/toolbar/ToolbarItem.js +2 -2
  984. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  985. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +2 -1
  986. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  987. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -6
  988. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  989. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts +0 -7
  990. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  991. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +11 -54
  992. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  993. package/lib/esm/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  994. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js +2 -3
  995. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  996. package/lib/esm/appui-react/tools/RestoreLayoutTool.js +4 -4
  997. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  998. package/lib/esm/appui-react/tools/ToolSettingsTools.js +2 -2
  999. package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
  1000. package/lib/esm/appui-react/{zones/toolsettings → toolsettings}/DefaultToolSettingsProvider.d.ts +2 -2
  1001. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -0
  1002. package/lib/esm/appui-react/{zones/toolsettings → toolsettings}/DefaultToolSettingsProvider.js +8 -11
  1003. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -0
  1004. package/lib/esm/appui-react/{zones/toolsettings/ToolSettingsManager.d.ts → toolsettings/InternalToolSettingsManager.d.ts} +8 -17
  1005. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -0
  1006. package/lib/esm/appui-react/{zones/toolsettings/ToolSettingsManager.js → toolsettings/InternalToolSettingsManager.js} +36 -41
  1007. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -0
  1008. package/lib/esm/appui-react/{zones/toolsettings → toolsettings}/ToolInformation.d.ts +0 -0
  1009. package/lib/esm/appui-react/toolsettings/ToolInformation.d.ts.map +1 -0
  1010. package/lib/esm/appui-react/{zones/toolsettings → toolsettings}/ToolInformation.js +6 -8
  1011. package/lib/esm/appui-react/toolsettings/ToolInformation.js.map +1 -0
  1012. package/lib/esm/appui-react/toolsettings/ToolSettingsManager.d.ts +44 -0
  1013. package/lib/esm/appui-react/toolsettings/ToolSettingsManager.d.ts.map +1 -0
  1014. package/lib/esm/appui-react/toolsettings/ToolSettingsManager.js +60 -0
  1015. package/lib/esm/appui-react/toolsettings/ToolSettingsManager.js.map +1 -0
  1016. package/lib/{cjs/appui-react/zones → esm/appui-react}/toolsettings/ToolUiProvider.d.ts +4 -4
  1017. package/lib/esm/appui-react/toolsettings/ToolUiProvider.d.ts.map +1 -0
  1018. package/lib/esm/appui-react/{zones/toolsettings → toolsettings}/ToolUiProvider.js +2 -2
  1019. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -0
  1020. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  1021. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +1 -4
  1022. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  1023. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +0 -1
  1024. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  1025. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +1 -11
  1026. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  1027. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  1028. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +6 -20
  1029. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  1030. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +1 -0
  1031. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  1032. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +6 -20
  1033. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  1034. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  1035. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +11 -15
  1036. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  1037. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
  1038. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -3
  1039. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  1040. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +0 -3
  1041. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts +1 -5
  1042. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  1043. package/lib/esm/appui-react/uistate/AppUiSettings.js +0 -6
  1044. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  1045. package/lib/esm/appui-react/utils/InternalUiShowHideManager.d.ts +84 -0
  1046. package/lib/esm/appui-react/utils/InternalUiShowHideManager.d.ts.map +1 -0
  1047. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +193 -0
  1048. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -0
  1049. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts +3 -33
  1050. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  1051. package/lib/esm/appui-react/utils/UiShowHideManager.js +27 -115
  1052. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  1053. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  1054. package/lib/esm/appui-react/widget-panels/Content.js +6 -4
  1055. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  1056. package/lib/esm/appui-react/widget-panels/FloatingWidget.js +2 -2
  1057. package/lib/esm/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  1058. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +22 -19
  1059. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  1060. package/lib/esm/appui-react/widget-panels/Frontstage.js +137 -244
  1061. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  1062. package/lib/esm/appui-react/widget-panels/FrontstageContent.d.ts.map +1 -1
  1063. package/lib/esm/appui-react/widget-panels/FrontstageContent.js +2 -2
  1064. package/lib/esm/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  1065. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.d.ts +1 -1
  1066. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.d.ts.map +1 -1
  1067. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js +6 -6
  1068. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  1069. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  1070. package/lib/esm/appui-react/widget-panels/StatusBar.js +5 -8
  1071. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  1072. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  1073. package/lib/esm/appui-react/widget-panels/ToolSettings.js +25 -24
  1074. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  1075. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +3 -2
  1076. package/lib/esm/appui-react/widget-panels/Toolbars.d.ts.map +1 -1
  1077. package/lib/esm/appui-react/widget-panels/Toolbars.js +4 -11
  1078. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  1079. package/lib/esm/appui-react/widget-panels/useWidgetDirection.d.ts.map +1 -1
  1080. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js +7 -9
  1081. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  1082. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  1083. package/lib/esm/appui-react/widgets/BackstageAppButton.js +4 -8
  1084. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  1085. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +1 -1
  1086. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +1 -1
  1087. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  1088. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  1089. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +8 -13
  1090. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  1091. package/lib/esm/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  1092. package/lib/esm/appui-react/widgets/StableWidgetDef.js +1 -1
  1093. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  1094. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.d.ts.map +1 -1
  1095. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js +2 -2
  1096. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  1097. package/lib/esm/appui-react/widgets/ToolSettingsContent.d.ts +0 -19
  1098. package/lib/esm/appui-react/widgets/ToolSettingsContent.d.ts.map +1 -1
  1099. package/lib/esm/appui-react/widgets/ToolSettingsContent.js +0 -38
  1100. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  1101. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js +3 -3
  1102. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  1103. package/lib/esm/appui-react/widgets/WidgetConfig.d.ts +19 -4
  1104. package/lib/esm/appui-react/widgets/WidgetConfig.d.ts.map +1 -1
  1105. package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
  1106. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +11 -70
  1107. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  1108. package/lib/esm/appui-react/widgets/WidgetDef.js +66 -124
  1109. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  1110. package/lib/esm/appui-react/widgets/WidgetHost.d.ts +3 -3
  1111. package/lib/esm/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  1112. package/lib/esm/appui-react/widgets/WidgetHost.js +4 -94
  1113. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  1114. package/lib/esm/appui-react/widgets/WidgetManager.d.ts +5 -6
  1115. package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  1116. package/lib/esm/appui-react/widgets/WidgetManager.js +20 -55
  1117. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  1118. package/lib/esm/appui-react/widgets/WidgetProps.d.ts +1 -22
  1119. package/lib/esm/appui-react/widgets/WidgetProps.d.ts.map +1 -1
  1120. package/lib/esm/appui-react/widgets/WidgetProps.js.map +1 -1
  1121. package/lib/esm/appui-react/widgets/WidgetState.d.ts +2 -2
  1122. package/lib/esm/appui-react/widgets/WidgetState.js +1 -1
  1123. package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -1
  1124. package/lib/esm/appui-react.d.ts +13 -66
  1125. package/lib/esm/appui-react.d.ts.map +1 -1
  1126. package/lib/esm/appui-react.js +13 -66
  1127. package/lib/esm/appui-react.js.map +1 -1
  1128. package/lib/public/locales/en/UiFramework.json +0 -2
  1129. package/package.json +51 -49
  1130. package/lib/cjs/appui-react/backstage/Backstage.d.ts +0 -62
  1131. package/lib/cjs/appui-react/backstage/Backstage.d.ts.map +0 -1
  1132. package/lib/cjs/appui-react/backstage/Backstage.js +0 -89
  1133. package/lib/cjs/appui-react/backstage/Backstage.js.map +0 -1
  1134. package/lib/cjs/appui-react/backstage/BackstageItemProps.d.ts +0 -49
  1135. package/lib/cjs/appui-react/backstage/BackstageItemProps.d.ts.map +0 -1
  1136. package/lib/cjs/appui-react/backstage/BackstageItemProps.js +0 -22
  1137. package/lib/cjs/appui-react/backstage/BackstageItemProps.js.map +0 -1
  1138. package/lib/cjs/appui-react/backstage/CommandLaunch.d.ts +0 -32
  1139. package/lib/cjs/appui-react/backstage/CommandLaunch.d.ts.map +0 -1
  1140. package/lib/cjs/appui-react/backstage/CommandLaunch.js +0 -87
  1141. package/lib/cjs/appui-react/backstage/CommandLaunch.js.map +0 -1
  1142. package/lib/cjs/appui-react/backstage/FrontstageLaunch.d.ts +0 -34
  1143. package/lib/cjs/appui-react/backstage/FrontstageLaunch.d.ts.map +0 -1
  1144. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js +0 -93
  1145. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js.map +0 -1
  1146. package/lib/cjs/appui-react/backstage/Separator.d.ts +0 -16
  1147. package/lib/cjs/appui-react/backstage/Separator.d.ts.map +0 -1
  1148. package/lib/cjs/appui-react/backstage/Separator.js +0 -28
  1149. package/lib/cjs/appui-react/backstage/Separator.js.map +0 -1
  1150. package/lib/cjs/appui-react/backstage/TaskLaunch.d.ts +0 -35
  1151. package/lib/cjs/appui-react/backstage/TaskLaunch.d.ts.map +0 -1
  1152. package/lib/cjs/appui-react/backstage/TaskLaunch.js +0 -101
  1153. package/lib/cjs/appui-react/backstage/TaskLaunch.js.map +0 -1
  1154. package/lib/cjs/appui-react/dragdrop/ZoneTargets.d.ts +0 -22
  1155. package/lib/cjs/appui-react/dragdrop/ZoneTargets.d.ts.map +0 -1
  1156. package/lib/cjs/appui-react/dragdrop/ZoneTargets.js +0 -33
  1157. package/lib/cjs/appui-react/dragdrop/ZoneTargets.js.map +0 -1
  1158. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +0 -159
  1159. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +0 -1
  1160. package/lib/cjs/appui-react/frontstage/Frontstage.js +0 -470
  1161. package/lib/cjs/appui-react/frontstage/Frontstage.js.map +0 -1
  1162. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts +0 -147
  1163. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts.map +0 -1
  1164. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js +0 -668
  1165. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +0 -1
  1166. package/lib/cjs/appui-react/hooks/useFrameworkVersion.d.ts +0 -38
  1167. package/lib/cjs/appui-react/hooks/useFrameworkVersion.d.ts.map +0 -1
  1168. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js +0 -57
  1169. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js.map +0 -1
  1170. package/lib/cjs/appui-react/imodel-components/Common.d.ts +0 -26
  1171. package/lib/cjs/appui-react/imodel-components/Common.d.ts.map +0 -1
  1172. package/lib/cjs/appui-react/imodel-components/Common.js +0 -25
  1173. package/lib/cjs/appui-react/imodel-components/Common.js.map +0 -1
  1174. package/lib/cjs/appui-react/imodel-components/VisibilityTreeBase.scss +0 -53
  1175. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +0 -72
  1176. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +0 -1
  1177. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js +0 -149
  1178. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +0 -1
  1179. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.d.ts +0 -52
  1180. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.d.ts.map +0 -1
  1181. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.js +0 -71
  1182. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.js.map +0 -1
  1183. package/lib/cjs/appui-react/imodel-components/category-tree/Categories.json +0 -102
  1184. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.d.ts +0 -72
  1185. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.d.ts.map +0 -1
  1186. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.js +0 -109
  1187. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.js.map +0 -1
  1188. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +0 -64
  1189. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +0 -1
  1190. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +0 -201
  1191. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +0 -1
  1192. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +0 -392
  1193. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.json +0 -387
  1194. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -85
  1195. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +0 -1
  1196. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js +0 -130
  1197. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +0 -1
  1198. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +0 -239
  1199. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +0 -104
  1200. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +0 -1
  1201. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +0 -482
  1202. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +0 -1
  1203. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.d.ts +0 -10
  1204. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.d.ts.map +0 -1
  1205. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.js +0 -23
  1206. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.js.map +0 -1
  1207. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialBreakdown.GroupedByClass.json +0 -79
  1208. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialBreakdown.json +0 -79
  1209. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts +0 -36
  1210. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts.map +0 -1
  1211. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js +0 -44
  1212. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +0 -1
  1213. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts +0 -80
  1214. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +0 -1
  1215. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js +0 -239
  1216. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js.map +0 -1
  1217. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.scss +0 -11
  1218. package/lib/cjs/appui-react/messages/ActivityMessagePopup.d.ts +0 -20
  1219. package/lib/cjs/appui-react/messages/ActivityMessagePopup.d.ts.map +0 -1
  1220. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js +0 -44
  1221. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js.map +0 -1
  1222. package/lib/cjs/appui-react/messages/ActivityMessagePopup.scss +0 -15
  1223. package/lib/cjs/appui-react/messages/StatusMessageRenderer.d.ts +0 -22
  1224. package/lib/cjs/appui-react/messages/StatusMessageRenderer.d.ts.map +0 -1
  1225. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js +0 -76
  1226. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js.map +0 -1
  1227. package/lib/cjs/appui-react/messages/StatusMessageRenderer.scss +0 -28
  1228. package/lib/cjs/appui-react/messages/StatusMessagesContainer.d.ts +0 -25
  1229. package/lib/cjs/appui-react/messages/StatusMessagesContainer.d.ts.map +0 -1
  1230. package/lib/cjs/appui-react/messages/StatusMessagesContainer.js +0 -68
  1231. package/lib/cjs/appui-react/messages/StatusMessagesContainer.js.map +0 -1
  1232. package/lib/cjs/appui-react/messages/StatusMessagesContainer.scss +0 -53
  1233. package/lib/cjs/appui-react/messages/StickyMessage.d.ts +0 -23
  1234. package/lib/cjs/appui-react/messages/StickyMessage.d.ts.map +0 -1
  1235. package/lib/cjs/appui-react/messages/StickyMessage.js +0 -39
  1236. package/lib/cjs/appui-react/messages/StickyMessage.js.map +0 -1
  1237. package/lib/cjs/appui-react/messages/StickyMessage.scss +0 -22
  1238. package/lib/cjs/appui-react/messages/ToastMessage.d.ts +0 -23
  1239. package/lib/cjs/appui-react/messages/ToastMessage.d.ts.map +0 -1
  1240. package/lib/cjs/appui-react/messages/ToastMessage.js +0 -31
  1241. package/lib/cjs/appui-react/messages/ToastMessage.js.map +0 -1
  1242. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.d.ts +0 -18
  1243. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.d.ts.map +0 -1
  1244. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js +0 -57
  1245. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js.map +0 -1
  1246. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.d.ts +0 -62
  1247. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +0 -1
  1248. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js +0 -122
  1249. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js.map +0 -1
  1250. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.scss +0 -42
  1251. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts +0 -142
  1252. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts.map +0 -1
  1253. package/lib/cjs/appui-react/stagepanels/StagePanel.js +0 -155
  1254. package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +0 -1
  1255. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts +0 -28
  1256. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts.map +0 -1
  1257. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js +0 -46
  1258. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js.map +0 -1
  1259. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.scss +0 -26
  1260. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +0 -11
  1261. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts.map +0 -1
  1262. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +0 -1
  1263. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.d.ts +0 -10
  1264. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.d.ts.map +0 -1
  1265. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js +0 -26
  1266. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js.map +0 -1
  1267. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.d.ts +0 -11
  1268. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.d.ts.map +0 -1
  1269. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js +0 -27
  1270. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js.map +0 -1
  1271. package/lib/cjs/appui-react/statusfields/ConditionalField.d.ts +0 -45
  1272. package/lib/cjs/appui-react/statusfields/ConditionalField.d.ts.map +0 -1
  1273. package/lib/cjs/appui-react/statusfields/ConditionalField.js +0 -57
  1274. package/lib/cjs/appui-react/statusfields/ConditionalField.js.map +0 -1
  1275. package/lib/cjs/appui-react/statusfields/FooterModeField.d.ts +0 -19
  1276. package/lib/cjs/appui-react/statusfields/FooterModeField.d.ts.map +0 -1
  1277. package/lib/cjs/appui-react/statusfields/FooterModeField.js +0 -28
  1278. package/lib/cjs/appui-react/statusfields/FooterModeField.js.map +0 -1
  1279. package/lib/cjs/appui-react/statusfields/Indicator.d.ts +0 -44
  1280. package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +0 -1
  1281. package/lib/cjs/appui-react/statusfields/Indicator.js +0 -46
  1282. package/lib/cjs/appui-react/statusfields/Indicator.js.map +0 -1
  1283. package/lib/cjs/appui-react/statusfields/Indicator.scss +0 -183
  1284. package/lib/cjs/appui-react/statusfields/PromptField.d.ts +0 -31
  1285. package/lib/cjs/appui-react/statusfields/PromptField.d.ts.map +0 -1
  1286. package/lib/cjs/appui-react/statusfields/PromptField.js +0 -52
  1287. package/lib/cjs/appui-react/statusfields/PromptField.js.map +0 -1
  1288. package/lib/cjs/appui-react/statusfields/PromptField.scss +0 -42
  1289. package/lib/cjs/appui-react/statusfields/StatusFieldProps.d.ts +0 -23
  1290. package/lib/cjs/appui-react/statusfields/StatusFieldProps.d.ts.map +0 -1
  1291. package/lib/cjs/appui-react/statusfields/StatusFieldProps.js.map +0 -1
  1292. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts +0 -44
  1293. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts.map +0 -1
  1294. package/lib/cjs/appui-react/syncui/BooleanListener.js +0 -70
  1295. package/lib/cjs/appui-react/syncui/BooleanListener.js.map +0 -1
  1296. package/lib/cjs/appui-react/toolbar/ActionButtonItem.d.ts +0 -18
  1297. package/lib/cjs/appui-react/toolbar/ActionButtonItem.d.ts.map +0 -1
  1298. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js +0 -31
  1299. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js.map +0 -1
  1300. package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts +0 -40
  1301. package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts.map +0 -1
  1302. package/lib/cjs/appui-react/toolbar/ActionItemButton.js +0 -104
  1303. package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +0 -1
  1304. package/lib/cjs/appui-react/toolbar/GroupButtonItem.d.ts +0 -79
  1305. package/lib/cjs/appui-react/toolbar/GroupButtonItem.d.ts.map +0 -1
  1306. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js +0 -329
  1307. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +0 -1
  1308. package/lib/cjs/appui-react/toolbar/PopupButton.d.ts +0 -58
  1309. package/lib/cjs/appui-react/toolbar/PopupButton.d.ts.map +0 -1
  1310. package/lib/cjs/appui-react/toolbar/PopupButton.js +0 -154
  1311. package/lib/cjs/appui-react/toolbar/PopupButton.js.map +0 -1
  1312. package/lib/cjs/appui-react/toolbar/PopupButton.scss +0 -9
  1313. package/lib/cjs/appui-react/toolbar/ToolButton.d.ts +0 -31
  1314. package/lib/cjs/appui-react/toolbar/ToolButton.d.ts.map +0 -1
  1315. package/lib/cjs/appui-react/toolbar/ToolButton.js +0 -100
  1316. package/lib/cjs/appui-react/toolbar/ToolButton.js.map +0 -1
  1317. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts +0 -55
  1318. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +0 -1
  1319. package/lib/cjs/appui-react/toolbar/Toolbar.js +0 -240
  1320. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +0 -1
  1321. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.d.ts +0 -22
  1322. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.d.ts.map +0 -1
  1323. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js +0 -54
  1324. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js.map +0 -1
  1325. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts +0 -15
  1326. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts.map +0 -1
  1327. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js +0 -62
  1328. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js.map +0 -1
  1329. package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.d.ts +0 -35
  1330. package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.d.ts.map +0 -1
  1331. package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.js +0 -65
  1332. package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.js.map +0 -1
  1333. package/lib/cjs/appui-react/widgets/NavigationWidget.d.ts +0 -56
  1334. package/lib/cjs/appui-react/widgets/NavigationWidget.d.ts.map +0 -1
  1335. package/lib/cjs/appui-react/widgets/NavigationWidget.js +0 -155
  1336. package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +0 -1
  1337. package/lib/cjs/appui-react/widgets/ReviewToolWidget.d.ts +0 -33
  1338. package/lib/cjs/appui-react/widgets/ReviewToolWidget.d.ts.map +0 -1
  1339. package/lib/cjs/appui-react/widgets/ReviewToolWidget.js +0 -74
  1340. package/lib/cjs/appui-react/widgets/ReviewToolWidget.js.map +0 -1
  1341. package/lib/cjs/appui-react/widgets/ToolSettingsContent.scss +0 -61
  1342. package/lib/cjs/appui-react/widgets/ToolWidget.d.ts +0 -47
  1343. package/lib/cjs/appui-react/widgets/ToolWidget.d.ts.map +0 -1
  1344. package/lib/cjs/appui-react/widgets/ToolWidget.js +0 -90
  1345. package/lib/cjs/appui-react/widgets/ToolWidget.js.map +0 -1
  1346. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts +0 -26
  1347. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts.map +0 -1
  1348. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js +0 -55
  1349. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js.map +0 -1
  1350. package/lib/cjs/appui-react/widgets/Widget.d.ts +0 -15
  1351. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +0 -1
  1352. package/lib/cjs/appui-react/widgets/Widget.js +0 -26
  1353. package/lib/cjs/appui-react/widgets/Widget.js.map +0 -1
  1354. package/lib/cjs/appui-react/widgets/WidgetStack.d.ts +0 -135
  1355. package/lib/cjs/appui-react/widgets/WidgetStack.d.ts.map +0 -1
  1356. package/lib/cjs/appui-react/widgets/WidgetStack.js +0 -138
  1357. package/lib/cjs/appui-react/widgets/WidgetStack.js.map +0 -1
  1358. package/lib/cjs/appui-react/workflow/Task.d.ts +0 -48
  1359. package/lib/cjs/appui-react/workflow/Task.d.ts.map +0 -1
  1360. package/lib/cjs/appui-react/workflow/Task.js +0 -73
  1361. package/lib/cjs/appui-react/workflow/Task.js.map +0 -1
  1362. package/lib/cjs/appui-react/workflow/Workflow.d.ts +0 -153
  1363. package/lib/cjs/appui-react/workflow/Workflow.d.ts.map +0 -1
  1364. package/lib/cjs/appui-react/workflow/Workflow.js +0 -238
  1365. package/lib/cjs/appui-react/workflow/Workflow.js.map +0 -1
  1366. package/lib/cjs/appui-react/zones/FrameworkZone.d.ts +0 -44
  1367. package/lib/cjs/appui-react/zones/FrameworkZone.d.ts.map +0 -1
  1368. package/lib/cjs/appui-react/zones/FrameworkZone.js +0 -53
  1369. package/lib/cjs/appui-react/zones/FrameworkZone.js.map +0 -1
  1370. package/lib/cjs/appui-react/zones/Outline.d.ts +0 -14
  1371. package/lib/cjs/appui-react/zones/Outline.d.ts.map +0 -1
  1372. package/lib/cjs/appui-react/zones/Outline.js.map +0 -1
  1373. package/lib/cjs/appui-react/zones/StatusBarZone.d.ts +0 -28
  1374. package/lib/cjs/appui-react/zones/StatusBarZone.d.ts.map +0 -1
  1375. package/lib/cjs/appui-react/zones/StatusBarZone.js +0 -33
  1376. package/lib/cjs/appui-react/zones/StatusBarZone.js.map +0 -1
  1377. package/lib/cjs/appui-react/zones/Zone.d.ts +0 -88
  1378. package/lib/cjs/appui-react/zones/Zone.d.ts.map +0 -1
  1379. package/lib/cjs/appui-react/zones/Zone.js +0 -158
  1380. package/lib/cjs/appui-react/zones/Zone.js.map +0 -1
  1381. package/lib/cjs/appui-react/zones/ZoneDef.d.ts +0 -57
  1382. package/lib/cjs/appui-react/zones/ZoneDef.d.ts.map +0 -1
  1383. package/lib/cjs/appui-react/zones/ZoneDef.js +0 -92
  1384. package/lib/cjs/appui-react/zones/ZoneDef.js.map +0 -1
  1385. package/lib/cjs/appui-react/zones/toolsettings/DefaultToolSettingsProvider.d.ts.map +0 -1
  1386. package/lib/cjs/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js.map +0 -1
  1387. package/lib/cjs/appui-react/zones/toolsettings/ToolInformation.d.ts.map +0 -1
  1388. package/lib/cjs/appui-react/zones/toolsettings/ToolInformation.js.map +0 -1
  1389. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +0 -1
  1390. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js.map +0 -1
  1391. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.d.ts +0 -54
  1392. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.d.ts.map +0 -1
  1393. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js +0 -96
  1394. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js.map +0 -1
  1395. package/lib/cjs/appui-react/zones/toolsettings/ToolUiProvider.d.ts.map +0 -1
  1396. package/lib/cjs/appui-react/zones/toolsettings/ToolUiProvider.js.map +0 -1
  1397. package/lib/esm/appui-react/backstage/Backstage.d.ts +0 -62
  1398. package/lib/esm/appui-react/backstage/Backstage.d.ts.map +0 -1
  1399. package/lib/esm/appui-react/backstage/Backstage.js +0 -84
  1400. package/lib/esm/appui-react/backstage/Backstage.js.map +0 -1
  1401. package/lib/esm/appui-react/backstage/BackstageItemProps.d.ts +0 -49
  1402. package/lib/esm/appui-react/backstage/BackstageItemProps.d.ts.map +0 -1
  1403. package/lib/esm/appui-react/backstage/BackstageItemProps.js +0 -18
  1404. package/lib/esm/appui-react/backstage/BackstageItemProps.js.map +0 -1
  1405. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts +0 -32
  1406. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts.map +0 -1
  1407. package/lib/esm/appui-react/backstage/CommandLaunch.js +0 -83
  1408. package/lib/esm/appui-react/backstage/CommandLaunch.js.map +0 -1
  1409. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts +0 -34
  1410. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts.map +0 -1
  1411. package/lib/esm/appui-react/backstage/FrontstageLaunch.js +0 -89
  1412. package/lib/esm/appui-react/backstage/FrontstageLaunch.js.map +0 -1
  1413. package/lib/esm/appui-react/backstage/Separator.d.ts +0 -16
  1414. package/lib/esm/appui-react/backstage/Separator.d.ts.map +0 -1
  1415. package/lib/esm/appui-react/backstage/Separator.js +0 -24
  1416. package/lib/esm/appui-react/backstage/Separator.js.map +0 -1
  1417. package/lib/esm/appui-react/backstage/TaskLaunch.d.ts +0 -35
  1418. package/lib/esm/appui-react/backstage/TaskLaunch.d.ts.map +0 -1
  1419. package/lib/esm/appui-react/backstage/TaskLaunch.js +0 -97
  1420. package/lib/esm/appui-react/backstage/TaskLaunch.js.map +0 -1
  1421. package/lib/esm/appui-react/dragdrop/ZoneTargets.d.ts +0 -22
  1422. package/lib/esm/appui-react/dragdrop/ZoneTargets.d.ts.map +0 -1
  1423. package/lib/esm/appui-react/dragdrop/ZoneTargets.js +0 -29
  1424. package/lib/esm/appui-react/dragdrop/ZoneTargets.js.map +0 -1
  1425. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +0 -159
  1426. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +0 -1
  1427. package/lib/esm/appui-react/frontstage/Frontstage.js +0 -462
  1428. package/lib/esm/appui-react/frontstage/Frontstage.js.map +0 -1
  1429. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts +0 -147
  1430. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts.map +0 -1
  1431. package/lib/esm/appui-react/frontstage/FrontstageComposer.js +0 -662
  1432. package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +0 -1
  1433. package/lib/esm/appui-react/hooks/useFrameworkVersion.d.ts +0 -38
  1434. package/lib/esm/appui-react/hooks/useFrameworkVersion.d.ts.map +0 -1
  1435. package/lib/esm/appui-react/hooks/useFrameworkVersion.js +0 -51
  1436. package/lib/esm/appui-react/hooks/useFrameworkVersion.js.map +0 -1
  1437. package/lib/esm/appui-react/imodel-components/Common.d.ts +0 -26
  1438. package/lib/esm/appui-react/imodel-components/Common.d.ts.map +0 -1
  1439. package/lib/esm/appui-react/imodel-components/Common.js +0 -22
  1440. package/lib/esm/appui-react/imodel-components/Common.js.map +0 -1
  1441. package/lib/esm/appui-react/imodel-components/VisibilityTreeBase.scss +0 -53
  1442. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +0 -72
  1443. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +0 -1
  1444. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js +0 -145
  1445. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +0 -1
  1446. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.d.ts +0 -52
  1447. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.d.ts.map +0 -1
  1448. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.js +0 -63
  1449. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.js.map +0 -1
  1450. package/lib/esm/appui-react/imodel-components/category-tree/Categories.json +0 -102
  1451. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.d.ts +0 -72
  1452. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.d.ts.map +0 -1
  1453. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.js +0 -103
  1454. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.js.map +0 -1
  1455. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +0 -64
  1456. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +0 -1
  1457. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +0 -195
  1458. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +0 -1
  1459. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +0 -392
  1460. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.json +0 -387
  1461. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -85
  1462. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +0 -1
  1463. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js +0 -126
  1464. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +0 -1
  1465. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.scss +0 -9
  1466. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +0 -239
  1467. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +0 -104
  1468. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +0 -1
  1469. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +0 -477
  1470. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +0 -1
  1471. package/lib/esm/appui-react/imodel-components/models-tree/Utils.d.ts +0 -10
  1472. package/lib/esm/appui-react/imodel-components/models-tree/Utils.d.ts.map +0 -1
  1473. package/lib/esm/appui-react/imodel-components/models-tree/Utils.js +0 -19
  1474. package/lib/esm/appui-react/imodel-components/models-tree/Utils.js.map +0 -1
  1475. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialBreakdown.GroupedByClass.json +0 -79
  1476. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialBreakdown.json +0 -79
  1477. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts +0 -36
  1478. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts.map +0 -1
  1479. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js +0 -40
  1480. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +0 -1
  1481. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.scss +0 -9
  1482. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts +0 -80
  1483. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +0 -1
  1484. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js +0 -235
  1485. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js.map +0 -1
  1486. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.scss +0 -11
  1487. package/lib/esm/appui-react/messages/ActivityMessagePopup.d.ts +0 -20
  1488. package/lib/esm/appui-react/messages/ActivityMessagePopup.d.ts.map +0 -1
  1489. package/lib/esm/appui-react/messages/ActivityMessagePopup.js +0 -40
  1490. package/lib/esm/appui-react/messages/ActivityMessagePopup.js.map +0 -1
  1491. package/lib/esm/appui-react/messages/ActivityMessagePopup.scss +0 -15
  1492. package/lib/esm/appui-react/messages/StatusMessageRenderer.d.ts +0 -22
  1493. package/lib/esm/appui-react/messages/StatusMessageRenderer.d.ts.map +0 -1
  1494. package/lib/esm/appui-react/messages/StatusMessageRenderer.js +0 -72
  1495. package/lib/esm/appui-react/messages/StatusMessageRenderer.js.map +0 -1
  1496. package/lib/esm/appui-react/messages/StatusMessageRenderer.scss +0 -28
  1497. package/lib/esm/appui-react/messages/StatusMessagesContainer.d.ts +0 -25
  1498. package/lib/esm/appui-react/messages/StatusMessagesContainer.d.ts.map +0 -1
  1499. package/lib/esm/appui-react/messages/StatusMessagesContainer.js +0 -64
  1500. package/lib/esm/appui-react/messages/StatusMessagesContainer.js.map +0 -1
  1501. package/lib/esm/appui-react/messages/StatusMessagesContainer.scss +0 -53
  1502. package/lib/esm/appui-react/messages/StickyMessage.d.ts +0 -23
  1503. package/lib/esm/appui-react/messages/StickyMessage.d.ts.map +0 -1
  1504. package/lib/esm/appui-react/messages/StickyMessage.js +0 -35
  1505. package/lib/esm/appui-react/messages/StickyMessage.js.map +0 -1
  1506. package/lib/esm/appui-react/messages/StickyMessage.scss +0 -22
  1507. package/lib/esm/appui-react/messages/ToastMessage.d.ts +0 -23
  1508. package/lib/esm/appui-react/messages/ToastMessage.d.ts.map +0 -1
  1509. package/lib/esm/appui-react/messages/ToastMessage.js +0 -27
  1510. package/lib/esm/appui-react/messages/ToastMessage.js.map +0 -1
  1511. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.d.ts +0 -18
  1512. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.d.ts.map +0 -1
  1513. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js +0 -53
  1514. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js.map +0 -1
  1515. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.d.ts +0 -62
  1516. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +0 -1
  1517. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js +0 -117
  1518. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js.map +0 -1
  1519. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.scss +0 -42
  1520. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts +0 -142
  1521. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts.map +0 -1
  1522. package/lib/esm/appui-react/stagepanels/StagePanel.js +0 -149
  1523. package/lib/esm/appui-react/stagepanels/StagePanel.js.map +0 -1
  1524. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts +0 -28
  1525. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts.map +0 -1
  1526. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js +0 -42
  1527. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js.map +0 -1
  1528. package/lib/esm/appui-react/stagepanels/StagePanelHeader.scss +0 -26
  1529. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +0 -11
  1530. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts.map +0 -1
  1531. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +0 -15
  1532. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +0 -1
  1533. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.d.ts +0 -10
  1534. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.d.ts.map +0 -1
  1535. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js +0 -22
  1536. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js.map +0 -1
  1537. package/lib/esm/appui-react/statusbar/withStatusFieldProps.d.ts +0 -11
  1538. package/lib/esm/appui-react/statusbar/withStatusFieldProps.d.ts.map +0 -1
  1539. package/lib/esm/appui-react/statusbar/withStatusFieldProps.js +0 -23
  1540. package/lib/esm/appui-react/statusbar/withStatusFieldProps.js.map +0 -1
  1541. package/lib/esm/appui-react/statusfields/ConditionalField.d.ts +0 -45
  1542. package/lib/esm/appui-react/statusfields/ConditionalField.d.ts.map +0 -1
  1543. package/lib/esm/appui-react/statusfields/ConditionalField.js +0 -53
  1544. package/lib/esm/appui-react/statusfields/ConditionalField.js.map +0 -1
  1545. package/lib/esm/appui-react/statusfields/FooterModeField.d.ts +0 -19
  1546. package/lib/esm/appui-react/statusfields/FooterModeField.d.ts.map +0 -1
  1547. package/lib/esm/appui-react/statusfields/FooterModeField.js +0 -24
  1548. package/lib/esm/appui-react/statusfields/FooterModeField.js.map +0 -1
  1549. package/lib/esm/appui-react/statusfields/Indicator.d.ts +0 -44
  1550. package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +0 -1
  1551. package/lib/esm/appui-react/statusfields/Indicator.js +0 -42
  1552. package/lib/esm/appui-react/statusfields/Indicator.js.map +0 -1
  1553. package/lib/esm/appui-react/statusfields/Indicator.scss +0 -183
  1554. package/lib/esm/appui-react/statusfields/PromptField.d.ts +0 -31
  1555. package/lib/esm/appui-react/statusfields/PromptField.d.ts.map +0 -1
  1556. package/lib/esm/appui-react/statusfields/PromptField.js +0 -49
  1557. package/lib/esm/appui-react/statusfields/PromptField.js.map +0 -1
  1558. package/lib/esm/appui-react/statusfields/PromptField.scss +0 -42
  1559. package/lib/esm/appui-react/statusfields/StatusFieldProps.d.ts +0 -23
  1560. package/lib/esm/appui-react/statusfields/StatusFieldProps.d.ts.map +0 -1
  1561. package/lib/esm/appui-react/statusfields/StatusFieldProps.js +0 -2
  1562. package/lib/esm/appui-react/statusfields/StatusFieldProps.js.map +0 -1
  1563. package/lib/esm/appui-react/syncui/BooleanListener.d.ts +0 -44
  1564. package/lib/esm/appui-react/syncui/BooleanListener.d.ts.map +0 -1
  1565. package/lib/esm/appui-react/syncui/BooleanListener.js +0 -66
  1566. package/lib/esm/appui-react/syncui/BooleanListener.js.map +0 -1
  1567. package/lib/esm/appui-react/toolbar/ActionButtonItem.d.ts +0 -18
  1568. package/lib/esm/appui-react/toolbar/ActionButtonItem.d.ts.map +0 -1
  1569. package/lib/esm/appui-react/toolbar/ActionButtonItem.js +0 -27
  1570. package/lib/esm/appui-react/toolbar/ActionButtonItem.js.map +0 -1
  1571. package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts +0 -40
  1572. package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts.map +0 -1
  1573. package/lib/esm/appui-react/toolbar/ActionItemButton.js +0 -100
  1574. package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +0 -1
  1575. package/lib/esm/appui-react/toolbar/GroupButtonItem.d.ts +0 -79
  1576. package/lib/esm/appui-react/toolbar/GroupButtonItem.d.ts.map +0 -1
  1577. package/lib/esm/appui-react/toolbar/GroupButtonItem.js +0 -324
  1578. package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +0 -1
  1579. package/lib/esm/appui-react/toolbar/PopupButton.d.ts +0 -58
  1580. package/lib/esm/appui-react/toolbar/PopupButton.d.ts.map +0 -1
  1581. package/lib/esm/appui-react/toolbar/PopupButton.js +0 -150
  1582. package/lib/esm/appui-react/toolbar/PopupButton.js.map +0 -1
  1583. package/lib/esm/appui-react/toolbar/PopupButton.scss +0 -9
  1584. package/lib/esm/appui-react/toolbar/ToolButton.d.ts +0 -31
  1585. package/lib/esm/appui-react/toolbar/ToolButton.d.ts.map +0 -1
  1586. package/lib/esm/appui-react/toolbar/ToolButton.js +0 -96
  1587. package/lib/esm/appui-react/toolbar/ToolButton.js.map +0 -1
  1588. package/lib/esm/appui-react/toolbar/Toolbar.d.ts +0 -55
  1589. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +0 -1
  1590. package/lib/esm/appui-react/toolbar/Toolbar.js +0 -236
  1591. package/lib/esm/appui-react/toolbar/Toolbar.js.map +0 -1
  1592. package/lib/esm/appui-react/tools/MarkupToolDefinitions.d.ts +0 -22
  1593. package/lib/esm/appui-react/tools/MarkupToolDefinitions.d.ts.map +0 -1
  1594. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js +0 -50
  1595. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js.map +0 -1
  1596. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts +0 -15
  1597. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts.map +0 -1
  1598. package/lib/esm/appui-react/uistate/UserSettingsStorage.js +0 -58
  1599. package/lib/esm/appui-react/uistate/UserSettingsStorage.js.map +0 -1
  1600. package/lib/esm/appui-react/widgets/DefaultNavigationWidget.d.ts +0 -35
  1601. package/lib/esm/appui-react/widgets/DefaultNavigationWidget.d.ts.map +0 -1
  1602. package/lib/esm/appui-react/widgets/DefaultNavigationWidget.js +0 -61
  1603. package/lib/esm/appui-react/widgets/DefaultNavigationWidget.js.map +0 -1
  1604. package/lib/esm/appui-react/widgets/NavigationWidget.d.ts +0 -56
  1605. package/lib/esm/appui-react/widgets/NavigationWidget.d.ts.map +0 -1
  1606. package/lib/esm/appui-react/widgets/NavigationWidget.js +0 -150
  1607. package/lib/esm/appui-react/widgets/NavigationWidget.js.map +0 -1
  1608. package/lib/esm/appui-react/widgets/ReviewToolWidget.d.ts +0 -33
  1609. package/lib/esm/appui-react/widgets/ReviewToolWidget.d.ts.map +0 -1
  1610. package/lib/esm/appui-react/widgets/ReviewToolWidget.js +0 -70
  1611. package/lib/esm/appui-react/widgets/ReviewToolWidget.js.map +0 -1
  1612. package/lib/esm/appui-react/widgets/ToolSettingsContent.scss +0 -61
  1613. package/lib/esm/appui-react/widgets/ToolWidget.d.ts +0 -47
  1614. package/lib/esm/appui-react/widgets/ToolWidget.d.ts.map +0 -1
  1615. package/lib/esm/appui-react/widgets/ToolWidget.js +0 -85
  1616. package/lib/esm/appui-react/widgets/ToolWidget.js.map +0 -1
  1617. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts +0 -26
  1618. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts.map +0 -1
  1619. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js +0 -51
  1620. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js.map +0 -1
  1621. package/lib/esm/appui-react/widgets/Widget.d.ts +0 -15
  1622. package/lib/esm/appui-react/widgets/Widget.d.ts.map +0 -1
  1623. package/lib/esm/appui-react/widgets/Widget.js +0 -22
  1624. package/lib/esm/appui-react/widgets/Widget.js.map +0 -1
  1625. package/lib/esm/appui-react/widgets/WidgetStack.d.ts +0 -135
  1626. package/lib/esm/appui-react/widgets/WidgetStack.d.ts.map +0 -1
  1627. package/lib/esm/appui-react/widgets/WidgetStack.js +0 -131
  1628. package/lib/esm/appui-react/widgets/WidgetStack.js.map +0 -1
  1629. package/lib/esm/appui-react/workflow/Task.d.ts +0 -48
  1630. package/lib/esm/appui-react/workflow/Task.d.ts.map +0 -1
  1631. package/lib/esm/appui-react/workflow/Task.js +0 -68
  1632. package/lib/esm/appui-react/workflow/Task.js.map +0 -1
  1633. package/lib/esm/appui-react/workflow/Workflow.d.ts +0 -153
  1634. package/lib/esm/appui-react/workflow/Workflow.d.ts.map +0 -1
  1635. package/lib/esm/appui-react/workflow/Workflow.js +0 -231
  1636. package/lib/esm/appui-react/workflow/Workflow.js.map +0 -1
  1637. package/lib/esm/appui-react/zones/FrameworkZone.d.ts +0 -44
  1638. package/lib/esm/appui-react/zones/FrameworkZone.d.ts.map +0 -1
  1639. package/lib/esm/appui-react/zones/FrameworkZone.js +0 -47
  1640. package/lib/esm/appui-react/zones/FrameworkZone.js.map +0 -1
  1641. package/lib/esm/appui-react/zones/Outline.d.ts +0 -14
  1642. package/lib/esm/appui-react/zones/Outline.d.ts.map +0 -1
  1643. package/lib/esm/appui-react/zones/Outline.js +0 -18
  1644. package/lib/esm/appui-react/zones/Outline.js.map +0 -1
  1645. package/lib/esm/appui-react/zones/StatusBarZone.d.ts +0 -28
  1646. package/lib/esm/appui-react/zones/StatusBarZone.d.ts.map +0 -1
  1647. package/lib/esm/appui-react/zones/StatusBarZone.js +0 -29
  1648. package/lib/esm/appui-react/zones/StatusBarZone.js.map +0 -1
  1649. package/lib/esm/appui-react/zones/Zone.d.ts +0 -88
  1650. package/lib/esm/appui-react/zones/Zone.d.ts.map +0 -1
  1651. package/lib/esm/appui-react/zones/Zone.js +0 -152
  1652. package/lib/esm/appui-react/zones/Zone.js.map +0 -1
  1653. package/lib/esm/appui-react/zones/ZoneDef.d.ts +0 -57
  1654. package/lib/esm/appui-react/zones/ZoneDef.d.ts.map +0 -1
  1655. package/lib/esm/appui-react/zones/ZoneDef.js +0 -88
  1656. package/lib/esm/appui-react/zones/ZoneDef.js.map +0 -1
  1657. package/lib/esm/appui-react/zones/toolsettings/DefaultToolSettingsProvider.d.ts.map +0 -1
  1658. package/lib/esm/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js.map +0 -1
  1659. package/lib/esm/appui-react/zones/toolsettings/ToolInformation.d.ts.map +0 -1
  1660. package/lib/esm/appui-react/zones/toolsettings/ToolInformation.js.map +0 -1
  1661. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +0 -1
  1662. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js.map +0 -1
  1663. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.d.ts +0 -54
  1664. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.d.ts.map +0 -1
  1665. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js +0 -92
  1666. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js.map +0 -1
  1667. package/lib/esm/appui-react/zones/toolsettings/ToolUiProvider.d.ts.map +0 -1
  1668. package/lib/esm/appui-react/zones/toolsettings/ToolUiProvider.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Frontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\n\r\n// cSpell:ignore popout\r\n\r\nimport \"./Frontstage.scss\";\r\nimport produce from \"immer\";\r\nimport * as React from \"react\";\r\nimport { assert, Logger, ProcessDetector } from \"@itwin/core-bentley\";\r\nimport { StagePanelLocation, UiItemsManager, WidgetState } from \"@itwin/appui-abstract\";\r\nimport { Rectangle, RectangleProps, Size, SizeProps, UiStateStorageResult, UiStateStorageStatus } from \"@itwin/core-react\";\r\nimport { ToolbarPopupAutoHideContext } from \"@itwin/components-react\";\r\nimport {\r\n addFloatingWidget, addPanelWidget, addTab, addTabToWidget, convertAllPopupWidgetContainersToFloating, createNineZoneState, floatingWidgetBringToFront,\r\n FloatingWidgetHomeState,\r\n FloatingWidgets, getTabLocation, getUniqueId, getWidgetPanelSectionId, insertPanelWidget, insertTabToWidget, isFloatingTabLocation,\r\n isHorizontalPanelSide, isPanelTabLocation, isPopoutTabLocation, NineZone, NineZoneAction, NineZoneDispatch, NineZoneLabels, NineZoneState, NineZoneStateReducer, PanelSide,\r\n panelSides, removeTab, removeTabFromWidget, TabState, toolSettingsTabId, WidgetPanels,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { useActiveFrontstageDef } from \"../frontstage/Frontstage\";\r\nimport { FrontstageDef, FrontstageEventArgs, FrontstageNineZoneStateChangedEventArgs } from \"../frontstage/FrontstageDef\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { StagePanelMaxSizeSpec } from \"../stagepanels/StagePanel\";\r\nimport { StagePanelState, StagePanelZoneDefKeys } from \"../stagepanels/StagePanelDef\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { useUiStateStorageHandler } from \"../uistate/useUiStateStorage\";\r\nimport { TabLocation, WidgetDef, WidgetEventArgs, WidgetStateChangedEventArgs } from \"../widgets/WidgetDef\";\r\nimport { ZoneState } from \"../zones/ZoneDef\";\r\nimport { WidgetContent } from \"./Content\";\r\nimport { WidgetPanelsFrontstageContent } from \"./FrontstageContent\";\r\nimport { ModalFrontstageComposer, useActiveModalFrontstageInfo } from \"./ModalFrontstageComposer\";\r\nimport { WidgetPanelsStatusBar } from \"./StatusBar\";\r\nimport { WidgetPanelsTab } from \"./Tab\";\r\nimport { WidgetPanelsToolbars } from \"./Toolbars\";\r\nimport { ToolSettingsContent, WidgetPanelsToolSettings } from \"./ToolSettings\";\r\nimport { useEscapeSetFocusToHome } from \"../hooks/useEscapeSetFocusToHome\";\r\nimport { FrameworkRootState } from \"../redux/StateManager\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useUiVisibility } from \"../hooks/useUiVisibility\";\r\nimport { IModelApp } from \"@itwin/core-frontend\";\r\nimport { FloatingWidget } from \"./FloatingWidget\";\r\n\r\nconst panelZoneKeys: StagePanelZoneDefKeys[] = [\"start\", \"end\"];\r\n\r\nconst WidgetInternals = React.memo(function WidgetInternals() { // eslint-disable-line @typescript-eslint/naming-convention, no-shadow\r\n const activeModalFrontstageInfo = useActiveModalFrontstageInfo();\r\n const uiIsVisible = useUiVisibility();\r\n\r\n return (\r\n <>\r\n <ToolbarPopupAutoHideContext.Provider value={!uiIsVisible}>\r\n <ModalFrontstageComposer stageInfo={activeModalFrontstageInfo} />\r\n <WidgetPanels\r\n className=\"uifw-widgetPanels\"\r\n centerContent={<WidgetPanelsToolbars />}\r\n >\r\n <WidgetPanelsFrontstageContent />\r\n </WidgetPanels>\r\n <WidgetPanelsStatusBar />\r\n <FloatingWidgets />\r\n </ToolbarPopupAutoHideContext.Provider>\r\n </>\r\n );\r\n});\r\n\r\n// istanbul ignore next\r\nconst WidgetPanelsFrontstageComponent = React.memo(function WidgetPanelsFrontstageComponent() { // eslint-disable-line @typescript-eslint/naming-convention, no-shadow\r\n\r\n return (\r\n <>\r\n <WidgetPanelsToolSettings />\r\n <WidgetInternals />\r\n </>\r\n );\r\n});\r\n\r\nconst widgetContent = <WidgetContent />;\r\nconst toolSettingsContent = <ToolSettingsContent />;\r\nconst widgetPanelsFrontstage = <WidgetPanelsFrontstageComponent />;\r\n\r\n/** @internal */\r\nexport function useNineZoneState(frontstageDef: FrontstageDef) {\r\n const lastFrontstageDef = React.useRef(frontstageDef);\r\n const [nineZone, setNineZone] = React.useState(frontstageDef.nineZoneState);\r\n React.useEffect(() => {\r\n setNineZone(frontstageDef.nineZoneState);\r\n lastFrontstageDef.current = frontstageDef;\r\n }, [frontstageDef]);\r\n React.useEffect(() => {\r\n const listener = (args: FrontstageNineZoneStateChangedEventArgs) => {\r\n if (args.frontstageDef !== frontstageDef || frontstageDef.isStageClosing || frontstageDef.isApplicationClosing)\r\n return;\r\n setNineZone(args.state);\r\n };\r\n return FrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(listener);\r\n }, [frontstageDef]);\r\n return lastFrontstageDef.current === frontstageDef ? nineZone : frontstageDef.nineZoneState;\r\n}\r\n\r\n/** @returns Defined NineZoneState with fallback to last defined and default NineZoneState.\r\n * @internal\r\n */\r\nfunction useCachedNineZoneState(nineZone: NineZoneState | undefined): NineZoneState {\r\n const cached = React.useRef<NineZoneState>(nineZone || defaultNineZone);\r\n React.useEffect(() => {\r\n if (nineZone)\r\n cached.current = nineZone;\r\n }, [nineZone]);\r\n return nineZone || cached.current;\r\n}\r\n\r\n/** Update in-memory NineZoneState of newly activated frontstage with up to date size.\r\n * @internal\r\n */\r\nexport function useUpdateNineZoneSize(frontstageDef: FrontstageDef) {\r\n React.useEffect(() => {\r\n const size = FrontstageManager.nineZoneSize;\r\n let state = frontstageDef.nineZoneState;\r\n if (!size || !state)\r\n return;\r\n state = FrameworkStateReducer(state, {\r\n type: \"RESIZE\",\r\n size: {\r\n height: size.height,\r\n width: size.width,\r\n },\r\n }, frontstageDef);\r\n frontstageDef.nineZoneState = state;\r\n }, [frontstageDef]);\r\n}\r\n\r\n/** @internal */\r\nexport function FrameworkStateReducer(state: NineZoneState, action: NineZoneAction, frontstageDef: FrontstageDef) {\r\n state = NineZoneStateReducer(state, action);\r\n if (action.type === \"RESIZE\") {\r\n state = produce(state, (draft) => {\r\n for (const panelSide of panelSides) {\r\n const panel = draft.panels[panelSide];\r\n const location = toStagePanelLocation(panelSide);\r\n const panelDef = frontstageDef.getStagePanelDef(location);\r\n if (panelDef?.maxSizeSpec) {\r\n panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, action.size);\r\n if (panel.size) {\r\n panel.size = Math.min(Math.max(panel.size, panel.minSize), panel.maxSize);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n return state;\r\n}\r\n\r\n/** @internal */\r\nexport function useNineZoneDispatch(frontstageDef: FrontstageDef) {\r\n const dispatch = React.useCallback<NineZoneDispatch>((action) => {\r\n if (action.type === \"RESIZE\") {\r\n FrontstageManager.nineZoneSize = Size.create(action.size);\r\n }\r\n // istanbul ignore if\r\n if (action.type === \"TOOL_SETTINGS_DRAG_START\") {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n UiFramework.postTelemetry(\"Tool Settings Undocking\", \"28B04E07-AE73-4533-A0BA-8E2A8DC99ADF\");\r\n }\r\n // istanbul ignore if\r\n if (action.type === \"TOOL_SETTINGS_DOCK\") {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n UiFramework.postTelemetry(\"Tool Settings Docking to Settings Bar\", \"BEDE684B-B3DB-4637-B3AF-DC3CBA223F94\");\r\n }\r\n if (action.type === \"WIDGET_TAB_POPOUT\") {\r\n const tabId = action.id;\r\n frontstageDef.popoutWidget(tabId);\r\n return;\r\n }\r\n const nineZoneState = frontstageDef.nineZoneState;\r\n if (!nineZoneState)\r\n return;\r\n frontstageDef.nineZoneState = FrameworkStateReducer(nineZoneState, action, frontstageDef);\r\n }, [frontstageDef]);\r\n return dispatch;\r\n}\r\n\r\n/** @internal */\r\nexport const WidgetPanelsFrontstage = React.memo(function WidgetPanelsFrontstage() { // eslint-disable-line @typescript-eslint/naming-convention, no-shadow\r\n const frontstageDef = useActiveFrontstageDef();\r\n\r\n React.useEffect(() => {\r\n const triggerWidowCloseProcessing = () => {\r\n frontstageDef && frontstageDef.setIsApplicationClosing(true);\r\n };\r\n\r\n frontstageDef && frontstageDef.setIsApplicationClosing(false);\r\n\r\n window.addEventListener(\"unload\", triggerWidowCloseProcessing);\r\n return () => {\r\n window.removeEventListener(\"unload\", triggerWidowCloseProcessing);\r\n };\r\n }, [frontstageDef]);\r\n\r\n if (!frontstageDef)\r\n return null;\r\n return (\r\n <ActiveFrontstageDefProvider frontstageDef={frontstageDef} />\r\n );\r\n});\r\n\r\nconst defaultNineZone = createNineZoneState();\r\nconst tabElement = <WidgetPanelsTab />;\r\nconst floatingWidgetElement = <FloatingWidget />;\r\n\r\n/** @internal */\r\nexport function ActiveFrontstageDefProvider({ frontstageDef }: { frontstageDef: FrontstageDef }) {\r\n let nineZone = useNineZoneState(frontstageDef);\r\n nineZone = useCachedNineZoneState(nineZone);\r\n const dispatch = useNineZoneDispatch(frontstageDef);\r\n useUpdateNineZoneSize(frontstageDef);\r\n useSavedFrontstageState(frontstageDef);\r\n useSaveFrontstageSettings(frontstageDef);\r\n useItemsManager(frontstageDef);\r\n const labels = useLabels();\r\n const uiIsVisible = useUiVisibility();\r\n const showWidgetIcon = useSelector((state: FrameworkRootState) => {\r\n const frameworkState = (state as any)[UiFramework.frameworkStateKey];\r\n return !!frameworkState.configurableUiState.showWidgetIcon;\r\n });\r\n const autoCollapseUnpinnedPanels = useSelector((state: FrameworkRootState) => {\r\n const frameworkState = (state as any)[UiFramework.frameworkStateKey];\r\n return !!frameworkState.configurableUiState.autoCollapseUnpinnedPanels;\r\n });\r\n const animateToolSettings = useSelector((state: FrameworkRootState) => {\r\n const frameworkState = (state as any)[UiFramework.frameworkStateKey];\r\n return !!frameworkState.configurableUiState.animateToolSettings;\r\n });\r\n const useToolAsToolSettingsLabel = useSelector((state: FrameworkRootState) => {\r\n const frameworkState = (state as any)[UiFramework.frameworkStateKey];\r\n return !!frameworkState.configurableUiState.useToolAsToolSettingsLabel;\r\n });\r\n useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel);\r\n\r\n const handleKeyDown = useEscapeSetFocusToHome();\r\n return (\r\n <div\r\n className=\"uifw-widgetPanels-frontstage\"\r\n onKeyDown={handleKeyDown}\r\n role=\"presentation\"\r\n >\r\n <NineZone\r\n dispatch={dispatch}\r\n labels={labels}\r\n state={nineZone}\r\n tab={tabElement}\r\n floatingWidget={floatingWidgetElement}\r\n showWidgetIcon={showWidgetIcon}\r\n autoCollapseUnpinnedPanels={autoCollapseUnpinnedPanels}\r\n toolSettingsContent={toolSettingsContent}\r\n widgetContent={widgetContent}\r\n animateDockedToolSettings={animateToolSettings}\r\n uiIsVisible={uiIsVisible}\r\n >\r\n {widgetPanelsFrontstage}\r\n </NineZone>\r\n </div>\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport function useLabels() {\r\n return React.useMemo<NineZoneLabels>(() => ({\r\n dockToolSettingsTitle: UiFramework.translate(\"widget.tooltips.dockToolSettings\"),\r\n moreWidgetsTitle: UiFramework.translate(\"widget.tooltips.moreWidgets\"),\r\n moreToolSettingsTitle: UiFramework.translate(\"widget.tooltips.moreToolSettings\"),\r\n pinPanelTitle: UiFramework.translate(\"widget.tooltips.pinPanel\"),\r\n resizeGripTitle: UiFramework.translate(\"widget.tooltips.resizeGrip\"),\r\n sendWidgetHomeTitle: UiFramework.translate(\"widget.tooltips.sendHome\"),\r\n toolSettingsHandleTitle: UiFramework.translate(\"widget.tooltips.toolSettingsHandle\"),\r\n unpinPanelTitle: UiFramework.translate(\"widget.tooltips.unpinPanel\"),\r\n popoutActiveTab: UiFramework.translate(\"widget.tooltips.popoutActiveTab\"),\r\n }), []);\r\n}\r\n\r\n/** @internal */\r\nexport function addWidgets(state: NineZoneState, widgets: ReadonlyArray<WidgetDef>, side: PanelSide, widgetId: WidgetIdTypes): NineZoneState {\r\n const visibleWidgets = widgets.filter((w) => w.isVisible && (w.defaultState !== WidgetState.Floating));\r\n if (visibleWidgets.length === 0)\r\n return state;\r\n\r\n const tabs = new Array<string>();\r\n for (const widget of visibleWidgets) {\r\n const label = getWidgetLabel(widget.label);\r\n state = addTab(state, widget.id, {\r\n label,\r\n iconSpec: widget.iconSpec,\r\n preferredPanelWidgetSize: widget.preferredPanelSize,\r\n preferredFloatingWidgetSize: widget.defaultFloatingSize,\r\n canPopout: widget.canPopout,\r\n isFloatingStateWindowResizable: widget.isFloatingStateWindowResizable,\r\n hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,\r\n allowedPanelTargets: widget.allowedPanelTargets as PanelSide[],\r\n });\r\n tabs.push(widget.id);\r\n }\r\n\r\n const activeWidget = visibleWidgets.find((widget) => widget.isActive);\r\n const minimized = false;\r\n // istanbul ignore else\r\n if (activeWidget?.defaultState !== WidgetState.Floating) {\r\n state = addPanelWidget(state, side, widgetId, tabs, {\r\n activeTabId: activeWidget ? activeWidget.id : tabs[0],\r\n minimized,\r\n });\r\n }\r\n\r\n return state;\r\n}\r\n\r\n/** @internal */\r\n// istanbul ignore next\r\nexport function appendWidgets(state: NineZoneState, widgetDefs: ReadonlyArray<WidgetDef>, side: PanelSide, preferredWidgetIndex: number): NineZoneState {\r\n if (widgetDefs.length === 0)\r\n return state;\r\n\r\n // Add missing widget tabs.\r\n for (const widgetDef of widgetDefs) {\r\n const label = getWidgetLabel(widgetDef.label);\r\n const saveTab = state.tabs[widgetDef.id];\r\n const preferredPanelWidgetSize = saveTab ? saveTab.preferredPanelWidgetSize : widgetDef.preferredPanelSize;\r\n const preferredFloatingWidgetSize = saveTab ? saveTab.preferredFloatingWidgetSize : widgetDef.defaultFloatingSize;\r\n // if a defaultFloatingSize is specified then this mean the widget can't determine its intrinsic size and must be explicitly sized\r\n const userSized = saveTab ? (saveTab.userSized || !!widgetDef.defaultFloatingSize && !!saveTab.preferredFloatingWidgetSize)\r\n : !!widgetDef.defaultFloatingSize;\r\n state = addTab(state, widgetDef.id, {\r\n label,\r\n iconSpec: widgetDef.iconSpec,\r\n canPopout: widgetDef.canPopout,\r\n preferredPanelWidgetSize,\r\n preferredFloatingWidgetSize,\r\n userSized,\r\n isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,\r\n hideWithUiWhenFloating: !!widgetDef.hideWithUiWhenFloating,\r\n allowedPanelTargets: widgetDef.allowedPanelTargets as PanelSide[],\r\n });\r\n\r\n if (widgetDef.isFloatingStateSupported && widgetDef.defaultState === WidgetState.Floating) {\r\n const floatingContainerId = widgetDef.floatingContainerId ?? getUniqueId();\r\n const widgetContainerId = getWidgetId(side, panelZoneKeys[preferredWidgetIndex]);\r\n const home: FloatingWidgetHomeState = { side, widgetId: widgetContainerId, widgetIndex: 0 };\r\n const preferredPosition = widgetDef.defaultFloatingPosition;\r\n\r\n if (floatingContainerId in state.widgets) {\r\n state = addTabToWidget(state, widgetDef.id, floatingContainerId);\r\n } else {\r\n const tab = state.tabs[widgetDef.id];\r\n\r\n const size = { height: 200, width: 300, ...tab.preferredFloatingWidgetSize };\r\n const preferredPoint = preferredPosition ?? { x: (state.size.width - size.width) / 2, y: (state.size.height - size.height) / 2 };\r\n const nzBounds = Rectangle.createFromSize(state.size);\r\n const bounds = Rectangle.createFromSize(size).offset(preferredPoint);\r\n const containedBounds = bounds.containIn(nzBounds);\r\n\r\n state = addFloatingWidget(state, floatingContainerId, [widgetDef.id], {\r\n bounds: containedBounds.toProps(),\r\n home,\r\n userSized,\r\n }, {\r\n isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,\r\n });\r\n }\r\n } else {\r\n const widgetPanelSectionId = getWidgetPanelSectionId(side, preferredWidgetIndex);\r\n if (widgetPanelSectionId in state.widgets) {\r\n state = addTabToWidget(state, widgetDef.id, widgetPanelSectionId);\r\n } else {\r\n const panel = state.panels[side];\r\n if (panel.widgets.length < panel.maxWidgetCount) {\r\n state = addPanelWidget(state, side, widgetPanelSectionId, [widgetDef.id]);\r\n } else {\r\n const widgetIndex = Math.min(preferredWidgetIndex, panel.widgets.length - 1);\r\n const widgetId = panel.widgets[widgetIndex];\r\n state = addTabToWidget(state, widgetDef.id, widgetId);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return state;\r\n}\r\n\r\nfunction processPopoutWidgets(initialState: NineZoneState, frontstageDef: FrontstageDef): NineZoneState {\r\n // istanbul ignore next\r\n if (!initialState.popoutWidgets)\r\n return initialState;\r\n\r\n // istanbul ignore next - not unit testing electron case that reopens popout windows\r\n if (initialState.popoutWidgets && ProcessDetector.isElectronAppFrontend) {\r\n if (initialState.popoutWidgets.allIds.length && ProcessDetector.isElectronAppFrontend) {\r\n for (const widgetContainerId of initialState.popoutWidgets.allIds) {\r\n frontstageDef.openPopoutWidgetContainer(initialState, widgetContainerId);\r\n }\r\n }\r\n return initialState;\r\n }\r\n\r\n return convertAllPopupWidgetContainersToFloating(initialState);\r\n}\r\n\r\n/** Adds frontstageDef widgets that are missing in NineZoneState.\r\n * @internal\r\n */\r\nexport function addMissingWidgets(frontstageDef: FrontstageDef, initialState: NineZoneState): NineZoneState {\r\n let state = initialState;\r\n\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.centerLeft?.widgetDefs, state), \"left\", 0);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.leftPanel?.panelZones.start.widgetDefs, state), \"left\", 0);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomLeft?.widgetDefs, state), \"left\", 1);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.leftPanel?.panelWidgetDefs, state), \"left\", 1);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.leftPanel?.panelZones.end.widgetDefs, state), \"left\", 1);\r\n\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.centerRight?.widgetDefs, state), \"right\", 0);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.rightPanel?.panelZones.start.widgetDefs, state), \"right\", 0);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomRight?.widgetDefs, state), \"right\", 1);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.rightPanel?.panelWidgetDefs, state), \"right\", 1);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.rightPanel?.panelZones.end.widgetDefs, state), \"right\", 1);\r\n\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.topPanel?.panelWidgetDefs, state), \"top\", 0);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.topPanel?.panelZones.start.widgetDefs, state), \"top\", 0);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.topMostPanel?.panelWidgetDefs, state), \"top\", 1); // eslint-disable-line deprecation/deprecation\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.topPanel?.panelZones.end.widgetDefs, state), \"top\", 1);\r\n\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomPanel?.panelWidgetDefs, state), \"bottom\", 0);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomPanel?.panelZones.start.widgetDefs, state), \"bottom\", 0);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomMostPanel?.panelWidgetDefs, state), \"bottom\", 1); // eslint-disable-line deprecation/deprecation\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomPanel?.panelZones.end.widgetDefs, state), \"bottom\", 1);\r\n\r\n return state;\r\n}\r\n\r\n/** Hide widgets with Hidden defaultState. */\r\nfunction hideWidgets(state: NineZoneState, frontstageDef: FrontstageDef): NineZoneState {\r\n const tabs = Object.values(state.tabs);\r\n for (const tab of tabs) {\r\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\r\n if (!widgetDef)\r\n continue;\r\n\r\n if (widgetDef.defaultState === WidgetState.Hidden) {\r\n state = hideWidget(state, widgetDef);\r\n }\r\n }\r\n\r\n return state;\r\n}\r\n\r\n/** Removes NineZoneState widgets that are missing in frontstageDef.\r\n * @internal\r\n */\r\nexport function removeMissingWidgets(frontstageDef: FrontstageDef, initialState: NineZoneState): NineZoneState {\r\n let state = initialState;\r\n for (const [, tab] of Object.entries(state.tabs)) {\r\n if (tab.id === toolSettingsTabId)\r\n continue;\r\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\r\n if (widgetDef)\r\n continue;\r\n state = removeTab(state, tab.id);\r\n }\r\n return state;\r\n}\r\n\r\nfunction getWidgetLabel(label: string) {\r\n return label === \"\" ? \"Widget\" : label;\r\n}\r\n\r\ntype WidgetIdTypes =\r\n \"leftStart\" |\r\n \"leftEnd\" |\r\n \"rightStart\" |\r\n \"rightEnd\" |\r\n \"topStart\" |\r\n \"topEnd\" |\r\n \"bottomStart\" |\r\n \"bottomEnd\";\r\n\r\nfunction toStagePanelLocation(side: PanelSide): StagePanelLocation {\r\n switch (side) {\r\n case \"bottom\":\r\n return StagePanelLocation.Bottom;\r\n case \"left\":\r\n return StagePanelLocation.Left;\r\n case \"right\":\r\n return StagePanelLocation.Right;\r\n case \"top\":\r\n return StagePanelLocation.Top;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function getWidgetId(side: PanelSide, key: StagePanelZoneDefKeys): WidgetIdTypes {\r\n switch (side) {\r\n case \"left\": {\r\n if (key === \"start\") {\r\n return \"leftStart\";\r\n }\r\n return \"leftEnd\";\r\n }\r\n case \"right\": {\r\n if (key === \"start\") {\r\n return \"rightStart\";\r\n }\r\n return \"rightEnd\";\r\n }\r\n case \"top\": {\r\n if (key === \"start\") {\r\n return \"topStart\";\r\n }\r\n return \"topEnd\";\r\n }\r\n case \"bottom\": {\r\n if (key === \"start\")\r\n return \"bottomStart\";\r\n return \"bottomEnd\";\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function getPanelZoneWidgets(frontstageDef: FrontstageDef, panelZone: WidgetIdTypes): WidgetDef[] {\r\n switch (panelZone) {\r\n case \"leftStart\": {\r\n const outArray = [...frontstageDef.centerLeft?.widgetDefs || []];\r\n frontstageDef.leftPanel?.panelZones.start.widgetDefs.forEach((widgetDef) => {\r\n // istanbul ignore else\r\n if (undefined === outArray.find((widget) => widget.id === widgetDef.id))\r\n outArray.push(widgetDef);\r\n });\r\n return outArray;\r\n }\r\n case \"leftEnd\": {\r\n const outArray = [...frontstageDef.bottomLeft?.widgetDefs || []];\r\n frontstageDef.leftPanel?.panelZones.end.widgetDefs.forEach((widgetDef) => {\r\n // istanbul ignore else\r\n if (undefined === outArray.find((widget) => widget.id === widgetDef.id))\r\n outArray.push(widgetDef);\r\n });\r\n frontstageDef.leftPanel?.panelWidgetDefs.forEach((widgetDef) => {\r\n // istanbul ignore else\r\n if (undefined === outArray.find((widget) => widget.id === widgetDef.id))\r\n outArray.push(widgetDef);\r\n });\r\n return outArray;\r\n }\r\n case \"rightStart\": {\r\n const outArray = [...frontstageDef.centerRight?.widgetDefs || []];\r\n frontstageDef.rightPanel?.panelZones.start.widgetDefs.forEach((widgetDef) => {\r\n // istanbul ignore else\r\n if (undefined === outArray.find((widget) => widget.id === widgetDef.id))\r\n outArray.push(widgetDef);\r\n });\r\n return outArray;\r\n }\r\n case \"rightEnd\": {\r\n const outArray = [...frontstageDef.bottomRight?.widgetDefs || []];\r\n frontstageDef.rightPanel?.panelZones.end.widgetDefs.forEach((widgetDef) => {\r\n // istanbul ignore else\r\n if (undefined === outArray.find((widget) => widget.id === widgetDef.id))\r\n outArray.push(widgetDef);\r\n });\r\n frontstageDef.rightPanel?.panelWidgetDefs.forEach((widgetDef) => {\r\n // istanbul ignore else\r\n if (undefined === outArray.find((widget) => widget.id === widgetDef.id))\r\n outArray.push(widgetDef);\r\n });\r\n return outArray;\r\n }\r\n case \"topStart\": {\r\n const outArray = [...frontstageDef.topPanel?.panelWidgetDefs || []];\r\n frontstageDef.topPanel?.panelZones.start.widgetDefs.forEach((widgetDef) => {\r\n // istanbul ignore else\r\n if (undefined === outArray.find((widget) => widget.id === widgetDef.id))\r\n outArray.push(widgetDef);\r\n });\r\n return outArray;\r\n }\r\n case \"topEnd\": {\r\n const outArray = [...frontstageDef.topMostPanel?.panelWidgetDefs || []]; // eslint-disable-line deprecation/deprecation\r\n frontstageDef.topPanel?.panelZones.end.widgetDefs.forEach((widgetDef) => {\r\n // istanbul ignore else\r\n if (undefined === outArray.find((widget) => widget.id === widgetDef.id))\r\n outArray.push(widgetDef);\r\n });\r\n return outArray;\r\n }\r\n case \"bottomStart\": {\r\n const outArray = [...frontstageDef.bottomPanel?.panelWidgetDefs || []];\r\n frontstageDef.bottomPanel?.panelZones.start.widgetDefs.forEach((widgetDef) => {\r\n // istanbul ignore else\r\n if (undefined === outArray.find((widget) => widget.id === widgetDef.id))\r\n outArray.push(widgetDef);\r\n });\r\n return outArray;\r\n }\r\n case \"bottomEnd\": {\r\n const outArray = [...frontstageDef.bottomMostPanel?.panelWidgetDefs || []]; // eslint-disable-line deprecation/deprecation\r\n frontstageDef.bottomPanel?.panelZones.end.widgetDefs.forEach((widgetDef) => {\r\n // istanbul ignore else\r\n if (undefined === outArray.find((widget) => widget.id === widgetDef.id))\r\n outArray.push(widgetDef);\r\n });\r\n return outArray;\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function addPanelWidgets(\r\n state: NineZoneState,\r\n frontstageDef: FrontstageDef,\r\n side: PanelSide,\r\n): NineZoneState {\r\n const start = getWidgetId(side, \"start\");\r\n const startWidgets = getPanelZoneWidgets(frontstageDef, start);\r\n state = addWidgets(state, determineNewWidgets(startWidgets, state), side, start);\r\n\r\n const end = getWidgetId(side, \"end\");\r\n const endWidgets = getPanelZoneWidgets(frontstageDef, end);\r\n state = addWidgets(state, determineNewWidgets(endWidgets, state), side, end);\r\n return state;\r\n}\r\n\r\n/** @internal */\r\nexport function isFrontstageStateSettingResult(settingsResult: UiStateStorageResult): settingsResult is { // eslint-disable-line deprecation/deprecation\r\n status: UiStateStorageStatus.Success;\r\n setting: WidgetPanelsFrontstageState;\r\n} {\r\n if (settingsResult.status === UiStateStorageStatus.Success)\r\n return true;\r\n return false;\r\n}\r\n\r\n/** @internal */\r\nexport function initializePanel(state: NineZoneState, frontstageDef: FrontstageDef, panelSide: PanelSide) {\r\n state = addPanelWidgets(state, frontstageDef, panelSide);\r\n const location = toStagePanelLocation(panelSide);\r\n const panelDef = frontstageDef.getStagePanelDef(location);\r\n state = produce(state, (draft) => {\r\n const panel = draft.panels[panelSide];\r\n panel.minSize = panelDef?.minSize ?? panel.minSize;\r\n panel.pinned = panelDef?.pinned ?? panel.pinned;\r\n panel.resizable = panelDef?.resizable ?? panel.resizable;\r\n if (panelDef?.maxSizeSpec) {\r\n panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, state.size);\r\n }\r\n\r\n const size = panelDef?.size;\r\n panel.size = size === undefined ? size : Math.min(Math.max(size, panel.minSize), panel.maxSize);\r\n });\r\n return state;\r\n}\r\n\r\nfunction getPanelMaxSize(maxSizeSpec: StagePanelMaxSizeSpec, panel: PanelSide, nineZoneSize: SizeProps) {\r\n if (typeof maxSizeSpec === \"number\") {\r\n return maxSizeSpec;\r\n }\r\n const size = isHorizontalPanelSide(panel) ? nineZoneSize.height : nineZoneSize.width;\r\n return maxSizeSpec.percentage / 100 * size;\r\n}\r\n\r\nconst stateVersion = 13; // this needs to be bumped when NineZoneState is changed (to recreate the layout).\r\n\r\n/** @internal */\r\nexport function initializeNineZoneState(frontstageDef: FrontstageDef): NineZoneState {\r\n let nineZone = defaultNineZone;\r\n nineZone = produce(nineZone, (stateDraft) => {\r\n // istanbul ignore next\r\n if (!FrontstageManager.nineZoneSize)\r\n return;\r\n stateDraft.size = {\r\n height: FrontstageManager.nineZoneSize.height,\r\n width: FrontstageManager.nineZoneSize.width,\r\n };\r\n });\r\n\r\n nineZone = initializePanel(nineZone, frontstageDef, \"left\");\r\n nineZone = initializePanel(nineZone, frontstageDef, \"right\");\r\n nineZone = initializePanel(nineZone, frontstageDef, \"top\");\r\n nineZone = initializePanel(nineZone, frontstageDef, \"bottom\");\r\n nineZone = produce(nineZone, (stateDraft) => {\r\n for (const [, panel] of Object.entries(stateDraft.panels)) {\r\n const expanded = panel.widgets.find((widgetId) => stateDraft.widgets[widgetId].minimized === false);\r\n const firstWidget = panel.widgets.length > 0 ? stateDraft.widgets[panel.widgets[0]] : undefined;\r\n // istanbul ignore next\r\n if (!expanded && firstWidget) {\r\n firstWidget.minimized = false;\r\n }\r\n }\r\n stateDraft.panels.left.collapsed = isPanelCollapsed([\r\n frontstageDef.centerLeft?.zoneState,\r\n frontstageDef.bottomLeft?.zoneState,\r\n ], [frontstageDef.leftPanel?.panelState]);\r\n stateDraft.panels.right.collapsed = isPanelCollapsed([\r\n frontstageDef.centerRight?.zoneState,\r\n frontstageDef.bottomRight?.zoneState,\r\n ], [frontstageDef.rightPanel?.panelState]);\r\n stateDraft.panels.top.collapsed = isPanelCollapsed([], [\r\n // istanbul ignore next - ignore topMostPanel if topPanel is defined\r\n frontstageDef.topPanel ? frontstageDef.topPanel?.panelState : frontstageDef.topMostPanel?.panelState,// eslint-disable-line deprecation/deprecation\r\n ]);\r\n stateDraft.panels.bottom.collapsed = isPanelCollapsed([], [\r\n // istanbul ignore next - ignore bottomMostPanel if bottomPanel is defined\r\n frontstageDef.bottomPanel ? frontstageDef.bottomPanel?.panelState : frontstageDef.bottomMostPanel?.panelState, // eslint-disable-line deprecation/deprecation\r\n ]);\r\n\r\n const topCenterDef = frontstageDef.topCenter;\r\n const toolSettingsWidgetDef = topCenterDef?.getSingleWidgetDef();\r\n if (toolSettingsWidgetDef) {\r\n const toolSettingsTab = stateDraft.tabs[toolSettingsTabId];\r\n toolSettingsTab.preferredPanelWidgetSize = toolSettingsWidgetDef.preferredPanelSize;\r\n }\r\n });\r\n nineZone = addMissingWidgets(frontstageDef, nineZone);\r\n nineZone = hideWidgets(nineZone, frontstageDef);\r\n nineZone = processPopoutWidgets(nineZone, frontstageDef);\r\n\r\n return nineZone;\r\n}\r\n\r\n/** Converts from saved NineZoneState to NineZoneState.\r\n * @note Restores toolSettings tab.\r\n * @note Restores tab labels.\r\n * @internal\r\n */\r\nexport function restoreNineZoneState(frontstageDef: FrontstageDef, saved: SavedNineZoneState): NineZoneState {\r\n let restored: NineZoneState = {\r\n ...saved,\r\n tabs: defaultNineZone.tabs,\r\n };\r\n\r\n for (const [, tab] of Object.entries(saved.tabs)) {\r\n // Re-add the placeholder tab in order to correctly remove it from the state if WidgetDef is not found.\r\n restored = addTab(restored, tab.id);\r\n\r\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\r\n if (!widgetDef) {\r\n Logger.logInfo(UiFramework.loggerCategory(restoreNineZoneState), \"WidgetDef is not found for saved tab.\", () => ({\r\n frontstageId: frontstageDef.id,\r\n tabId: tab.id,\r\n }));\r\n restored = removeTab(restored, tab.id);\r\n continue;\r\n }\r\n restored = produce(restored, (draft) => {\r\n draft.tabs[tab.id] = {\r\n ...tab,\r\n label: getWidgetLabel(widgetDef.label),\r\n hideWithUiWhenFloating: widgetDef.hideWithUiWhenFloating,\r\n iconSpec: widgetDef.iconSpec,\r\n canPopout: widgetDef.canPopout,\r\n isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,\r\n allowedPanelTargets: widgetDef.allowedPanelTargets as PanelSide[],\r\n };\r\n });\r\n }\r\n restored = produce(restored, (draft) => {\r\n // remove center panel section if one is found in left or right panels\r\n const oldLeftMiddleIndex = saved.panels.left.widgets.findIndex((value) => value === \"leftMiddle\");\r\n // istanbul ignore next\r\n if (-1 !== oldLeftMiddleIndex) {\r\n draft.panels.left.widgets = saved.panels.left.widgets.filter((value) => value !== \"leftMiddle\");\r\n if (\"leftEnd\" in draft.widgets) {\r\n draft.widgets.leftMiddle.tabs.forEach((tab) => draft.widgets.leftEnd.tabs.push(tab));\r\n } else {\r\n draft.widgets.leftEnd = { ...draft.widgets.leftMiddle };\r\n delete draft.widgets.leftMiddle;\r\n }\r\n }\r\n\r\n const oldRightMiddleIndex = saved.panels.right.widgets.findIndex((value) => value === \"rightMiddle\");\r\n // istanbul ignore next\r\n if (-1 !== oldRightMiddleIndex) {\r\n draft.panels.right.widgets = saved.panels.right.widgets.filter((value) => value !== \"rightMiddle\");\r\n if (\"rightEnd\" in draft.widgets) {\r\n draft.widgets.rightMiddle.tabs.forEach((tab) => draft.widgets.rightEnd.tabs.push(tab));\r\n } else {\r\n draft.widgets.rightEnd = { ...draft.widgets.rightMiddle };\r\n delete draft.widgets.rightMiddle;\r\n }\r\n }\r\n\r\n return;\r\n });\r\n\r\n if (FrontstageManager.nineZoneSize && (0 !== FrontstageManager.nineZoneSize.height || 0 !== FrontstageManager.nineZoneSize.width)) {\r\n restored = FrameworkStateReducer(restored, {\r\n type: \"RESIZE\",\r\n size: {\r\n height: FrontstageManager.nineZoneSize.height,\r\n width: FrontstageManager.nineZoneSize.width,\r\n },\r\n }, frontstageDef);\r\n }\r\n return restored;\r\n}\r\n\r\n/** Prepares NineZoneState to be saved.\r\n * @note Removes toolSettings tab.\r\n * @note Removes tab labels and iconSpec.\r\n * @internal\r\n */\r\nexport function packNineZoneState(state: NineZoneState): SavedNineZoneState {\r\n let packed: SavedNineZoneState = {\r\n ...state,\r\n tabs: {},\r\n };\r\n packed = produce(packed, (draft) => {\r\n for (const [, tab] of Object.entries(state.tabs)) {\r\n if (tab.id === toolSettingsTabId)\r\n continue;\r\n\r\n draft.tabs[tab.id] = {\r\n id: tab.id,\r\n preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,\r\n allowedPanelTargets: tab.allowedPanelTargets,\r\n userSized: tab.userSized,\r\n };\r\n }\r\n });\r\n return packed;\r\n}\r\n\r\n// istanbul ignore next\r\nfunction packSavedWidgets(frontstageDef: FrontstageDef): SavedWidgets {\r\n let savedWidgets: Array<SavedWidget> = [];\r\n for (const widgetDef of frontstageDef.widgetDefs) {\r\n const id = widgetDef.id;\r\n const initialWidget: SavedWidget = {\r\n id,\r\n };\r\n const widget = produce(initialWidget, (draft) => {\r\n if (widgetDef.tabLocation) {\r\n draft.tabLocation = { ...widgetDef.tabLocation };\r\n }\r\n if (widgetDef.popoutBounds) {\r\n draft.popoutBounds = widgetDef.popoutBounds.toProps();\r\n }\r\n });\r\n if (widget === initialWidget)\r\n continue;\r\n\r\n savedWidgets.push(widget);\r\n }\r\n\r\n // Add previously saved widgets.\r\n const prevSavedWidgets = frontstageDef.savedWidgetDefs || [];\r\n for (const prevWidget of prevSavedWidgets) {\r\n if (savedWidgets.find((w) => w.id === prevWidget.id))\r\n continue;\r\n\r\n savedWidgets.push(prevWidget);\r\n }\r\n\r\n // Limit number of saved widgets.\r\n const maxWidgets = 100;\r\n if (savedWidgets.length > maxWidgets)\r\n savedWidgets = savedWidgets.slice(0, maxWidgets);\r\n\r\n return savedWidgets;\r\n}\r\n\r\n// istanbul ignore next\r\nfunction restoreSavedWidgets(frontstage: FrontstageDef) {\r\n const savedWidgets = frontstage.savedWidgetDefs || [];\r\n for (const savedWidget of savedWidgets) {\r\n const widgetId = savedWidget.id;\r\n const widgetDef = frontstage.findWidgetDef(widgetId);\r\n if (!widgetDef)\r\n continue;\r\n\r\n if (savedWidget.tabLocation) {\r\n widgetDef.tabLocation = { ...savedWidget.tabLocation };\r\n }\r\n if (savedWidget.popoutBounds) {\r\n widgetDef.popoutBounds = Rectangle.create(savedWidget.popoutBounds);\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function isPanelCollapsed(zoneStates: ReadonlyArray<ZoneState | undefined>, panelStates: ReadonlyArray<StagePanelState | undefined>) {\r\n const openZone = zoneStates.find((zoneState) => zoneState === ZoneState.Open);\r\n const openPanel = panelStates.find((panelState) => panelState === StagePanelState.Open);\r\n return !openZone && !openPanel;\r\n}\r\n\r\n/** FrontstageState is saved in UiStateStorage.\r\n * @internal\r\n */\r\nexport interface WidgetPanelsFrontstageState {\r\n nineZone: SavedNineZoneState;\r\n widgets: SavedWidgets;\r\n id: FrontstageDef[\"id\"];\r\n /** Frontstage version used to create the frontstage state. Allows to invalidate the layout from the frontstage. */\r\n version: number;\r\n /** Platform provided frontstage version. Allows to invalidate the layout from the platform. */\r\n stateVersion: number;\r\n}\r\n\r\n/** Saved data specific to `WidgetDef`. I.e. used to restore hidden widgets.\r\n * @internal\r\n */\r\nexport interface SavedWidget {\r\n readonly id: WidgetDef[\"id\"];\r\n readonly tabLocation?: TabLocation;\r\n readonly popoutBounds?: RectangleProps;\r\n}\r\n\r\n/** @internal */\r\nexport type SavedWidgets = ReadonlyArray<SavedWidget>;\r\n\r\n// We don't save tab labels or if widget is allowed to \"pop-out\".\r\ntype SavedTabState = Omit<TabState, \"label\" | \"canPopout\" | \"isFloatingStateWindowResizable\" | \"iconSpec\">;\r\n\r\ninterface SavedTabsState {\r\n readonly [id: string]: SavedTabState;\r\n}\r\n\r\n// // We don't save if widget is allowed to \"pop-out\" or if floating widget can be resized.\r\n// type SavedWidgetState = Omit<WidgetState, | \"canPopout\" | \"isFloatingStateWindowResizable\">;\r\n//\r\n// interface SavedWidgetsState {\r\n// readonly [id: string]: SavedWidgetState;\r\n// }\r\n\r\ninterface SavedNineZoneState extends Omit<NineZoneState, \"tabs\"> {\r\n readonly tabs: SavedTabsState;\r\n // readonly widgets: SavedWidgetsState;\r\n}\r\n\r\nfunction addHiddenWidget(state: NineZoneState, widgetDef: WidgetDef): NineZoneState {\r\n const tabLocation = widgetDef.tabLocation || widgetDef.defaultTabLocation;\r\n const tabId = widgetDef.id;\r\n const { widgetId, tabIndex } = tabLocation;\r\n\r\n if (widgetId in state.widgets) {\r\n // Add to an existing widget (by widget id).\r\n return insertTabToWidget(state, tabId, widgetId, tabIndex);\r\n } else if (tabLocation.floatingWidget) {\r\n const floatingWidget = tabLocation.floatingWidget;\r\n assert(widgetId === floatingWidget.id);\r\n\r\n // Add to a new floating widget.\r\n const nzBounds = Rectangle.createFromSize(state.size);\r\n const bounds = Rectangle.create(floatingWidget.bounds).containIn(nzBounds);\r\n return addFloatingWidget(state, floatingWidget.id, [tabId], {\r\n ...floatingWidget,\r\n bounds: bounds.toProps(),\r\n });\r\n }\r\n\r\n // Add to a panel section.\r\n const panel = state.panels[tabLocation.side];\r\n\r\n // Add to existing panel section.\r\n if (panel.widgets.length >= panel.maxWidgetCount) {\r\n const sectionIndex = Math.min(panel.maxWidgetCount - 1, tabLocation.widgetIndex);\r\n const sectionId = panel.widgets[sectionIndex];\r\n return insertTabToWidget(state, tabId, sectionId, tabLocation.tabIndex);\r\n }\r\n\r\n // Create a new panel section.\r\n const newSectionId = getUniqueId();\r\n return insertPanelWidget(state, panel.side, newSectionId, [tabId], tabLocation.widgetIndex);\r\n}\r\n\r\n/** @internal */\r\nexport function setWidgetState(\r\n state: NineZoneState,\r\n widgetDef: WidgetDef,\r\n widgetState: WidgetState,\r\n) {\r\n if (widgetState === WidgetState.Hidden) {\r\n return hideWidget(state, widgetDef);\r\n } else if (widgetState === WidgetState.Open) {\r\n const id = widgetDef.id;\r\n let location = getTabLocation(state, id);\r\n if (!location) {\r\n state = addHiddenWidget(state, widgetDef);\r\n location = getTabLocation(state, id);\r\n }\r\n\r\n return produce(state, (draft) => {\r\n assert(!!location);\r\n const widget = draft.widgets[location.widgetId];\r\n widget.minimized = false;\r\n widget.activeTabId = id;\r\n\r\n if (isFloatingTabLocation(location)) {\r\n const floatingWidget = draft.floatingWidgets.byId[location.floatingWidgetId];\r\n floatingWidget.hidden = false;\r\n // istanbul ignore else\r\n } else if (isPanelTabLocation(location)) {\r\n const panel = draft.panels[location.side];\r\n panel.collapsed = false;\r\n if (undefined === panel.size || 0 === panel.size) {\r\n // istanbul ignore next\r\n panel.size = panel.minSize ?? 200;\r\n }\r\n }\r\n });\r\n } else if (widgetState === WidgetState.Closed) {\r\n const id = widgetDef.id;\r\n let location = getTabLocation(state, id);\r\n if (!location) {\r\n state = addHiddenWidget(state, widgetDef);\r\n location = getTabLocation(state, id);\r\n }\r\n\r\n // TODO: should change activeTabId of a widget with multiple tabs.\r\n return produce(state, (draft) => {\r\n assert(!!location);\r\n const widget = draft.widgets[location.widgetId];\r\n\r\n if (isFloatingTabLocation(location)) {\r\n if (id === widget.activeTabId) {\r\n widget.minimized = true;\r\n }\r\n }\r\n });\r\n } else if (widgetState === WidgetState.Floating) {\r\n const id = widgetDef.id;\r\n let location = getTabLocation(state, id);\r\n if (!location) {\r\n state = addHiddenWidget(state, widgetDef);\r\n location = getTabLocation(state, id);\r\n }\r\n\r\n assert(!!location);\r\n if (isFloatingTabLocation(location))\r\n return state;\r\n\r\n // Widget is not floating.\r\n state = removeTabFromWidget(state, id);\r\n const bounds = widgetDef.tabLocation?.floatingWidget?.bounds;\r\n state = addFloatingWidget(state, getUniqueId(), [id], { bounds });\r\n }\r\n return state;\r\n}\r\n\r\n/** Stores widget location and hides it in the UI. */\r\nfunction hideWidget(state: NineZoneState, widgetDef: WidgetDef) {\r\n const location = getTabLocation(state, widgetDef.id);\r\n if (!location)\r\n return state;\r\n // istanbul ignore else\r\n if (isFloatingTabLocation(location)) {\r\n const floatingWidget = state.floatingWidgets.byId[location.widgetId];\r\n widgetDef.setFloatingContainerId(location.floatingWidgetId);\r\n widgetDef.tabLocation = {\r\n side: floatingWidget.home.side,\r\n tabIndex: floatingWidget.home.widgetIndex,\r\n widgetId: floatingWidget.id,\r\n widgetIndex: floatingWidget.home.widgetIndex,\r\n floatingWidget,\r\n };\r\n } else if (!isPopoutTabLocation(location)) {\r\n const widgetId = location.widgetId;\r\n const side = isPanelTabLocation(location) ? location.side : \"left\";\r\n const widgetIndex = isPanelTabLocation(location) ? state.panels[side].widgets.indexOf(widgetId) : 0;\r\n const tabIndex = state.widgets[location.widgetId].tabs.indexOf(widgetDef.id);\r\n widgetDef.tabLocation = {\r\n side,\r\n tabIndex,\r\n widgetId,\r\n widgetIndex,\r\n };\r\n }\r\n return removeTabFromWidget(state, widgetDef.id);\r\n}\r\n\r\n/** @internal */\r\nexport function showWidget(state: NineZoneState, id: TabState[\"id\"]) {\r\n const location = getTabLocation(state, id);\r\n if (!location)\r\n return state;\r\n state = produce(state, (draft) => {\r\n const widget = draft.widgets[location.widgetId];\r\n widget.activeTabId = id;\r\n widget.minimized = false;\r\n if (isPanelTabLocation(location)) {\r\n const panel = draft.panels[location.side];\r\n panel.collapsed = false;\r\n }\r\n });\r\n if (isFloatingTabLocation(location)) {\r\n state = floatingWidgetBringToFront(state, location.floatingWidgetId);\r\n }\r\n return state;\r\n}\r\n\r\n/** @internal */\r\nexport function expandWidget(state: NineZoneState, id: TabState[\"id\"]) {\r\n const location = getTabLocation(state, id);\r\n if (!location)\r\n return state;\r\n\r\n return produce(state, (draft) => {\r\n const widget = draft.widgets[location.widgetId];\r\n if (isPanelTabLocation(location)) {\r\n const panel = draft.panels[location.side];\r\n panel.widgets.forEach((wId) => {\r\n const w = draft.widgets[wId];\r\n w.minimized = true;\r\n });\r\n }\r\n widget.minimized = false;\r\n });\r\n}\r\n\r\n/** @internal */\r\nexport function setWidgetLabel(state: NineZoneState, id: TabState[\"id\"], label: string) {\r\n if (!(id in state.tabs))\r\n return state;\r\n\r\n return produce(state, (draft) => {\r\n const tab = draft.tabs[id];\r\n tab.label = label;\r\n });\r\n}\r\n\r\n/** @internal */\r\nexport function useSavedFrontstageState(frontstageDef: FrontstageDef) {\r\n const uiStateStorage = useUiStateStorageHandler();\r\n const uiStateStorageRef = React.useRef(uiStateStorage);\r\n const isMountedRef = React.useRef(false);\r\n React.useEffect(() => {\r\n isMountedRef.current = true;\r\n return () => { isMountedRef.current = false; };\r\n }, []);\r\n React.useEffect(() => {\r\n uiStateStorageRef.current = uiStateStorage;\r\n }, [uiStateStorage]);\r\n React.useEffect(() => {\r\n async function fetchFrontstageState() {\r\n if (frontstageDef.nineZoneState) {\r\n frontstageDef.nineZoneState = processPopoutWidgets(frontstageDef.nineZoneState, frontstageDef);\r\n return;\r\n }\r\n const id = frontstageDef.id;\r\n const version = frontstageDef.version;\r\n const settingResult = await uiStateStorageRef.current.getSetting(FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName(id));\r\n if (!isMountedRef.current)\r\n return;\r\n\r\n if (isFrontstageStateSettingResult(settingResult)) {\r\n const setting = settingResult.setting;\r\n if (setting.version >= version && setting.stateVersion >= stateVersion) {\r\n const restored = restoreNineZoneState(frontstageDef, setting.nineZone);\r\n\r\n frontstageDef.savedWidgetDefs = setting.widgets;\r\n restoreSavedWidgets(frontstageDef);\r\n\r\n let state = addMissingWidgets(frontstageDef, restored);\r\n state = hideWidgets(state, frontstageDef);\r\n state = processPopoutWidgets(state, frontstageDef);\r\n\r\n frontstageDef.nineZoneState = state;\r\n return;\r\n }\r\n }\r\n frontstageDef.nineZoneState = initializeNineZoneState(frontstageDef);\r\n }\r\n fetchFrontstageState(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }, [frontstageDef]);\r\n}\r\n\r\n/** @internal */\r\nexport function useSaveFrontstageSettings(frontstageDef: FrontstageDef) {\r\n const nineZone = useNineZoneState(frontstageDef);\r\n const uiSettingsStorage = useUiStateStorageHandler();\r\n const saveSetting = React.useMemo(() => {\r\n return debounce(async (frontstage: FrontstageDef, state: NineZoneState) => {\r\n const id = frontstage.id;\r\n const widgets = packSavedWidgets(frontstage);\r\n frontstage.savedWidgetDefs = widgets;\r\n const setting: WidgetPanelsFrontstageState = {\r\n id,\r\n version: frontstage.version,\r\n stateVersion,\r\n nineZone: packNineZoneState(state),\r\n widgets,\r\n };\r\n await uiSettingsStorage.saveSetting(FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName(id), setting);\r\n }, 1000);\r\n }, [uiSettingsStorage]);\r\n React.useEffect(() => {\r\n return () => {\r\n saveSetting.cancel();\r\n };\r\n }, [saveSetting]);\r\n React.useEffect(() => {\r\n if (!nineZone || nineZone.draggedTab)\r\n return;\r\n saveSetting(frontstageDef, nineZone);\r\n }, [frontstageDef, nineZone, saveSetting]);\r\n}\r\n\r\n/** @internal */\r\nexport const FRONTSTAGE_SETTINGS_NAMESPACE = \"uifw-frontstageSettings\";\r\n\r\n/** @internal */\r\nexport function getFrontstageStateSettingName(frontstageId: WidgetPanelsFrontstageState[\"id\"]) {\r\n return `frontstageState[${frontstageId}]`;\r\n}\r\n\r\n// istanbul ignore next\r\nfunction debounce<T extends (...args: any[]) => any>(func: T, duration: number) {\r\n let timeout: number | undefined;\r\n const debounced = (...args: Parameters<T>) => {\r\n const handler = () => {\r\n timeout = undefined;\r\n return func(...args);\r\n };\r\n window.clearTimeout(timeout);\r\n timeout = window.setTimeout(handler, duration);\r\n };\r\n debounced.cancel = () => {\r\n window.clearTimeout(timeout);\r\n };\r\n return debounced;\r\n}\r\n\r\nconst createListener = <T extends (...args: any[]) => void>(frontstageDef: FrontstageDef, listener: T) => {\r\n return (...args: Parameters<T>) => {\r\n if (!frontstageDef.nineZoneState)\r\n return;\r\n listener(...args);\r\n };\r\n};\r\n\r\n/** @internal */\r\nexport function useFrontstageManager(frontstageDef: FrontstageDef, useToolAsToolSettingsLabel?: boolean) {\r\n React.useEffect(() => {\r\n const listener = createListener(frontstageDef, ({ widgetDef, widgetState }: WidgetStateChangedEventArgs) => {\r\n assert(!!frontstageDef.nineZoneState);\r\n frontstageDef.nineZoneState = setWidgetState(frontstageDef.nineZoneState, widgetDef, widgetState);\r\n });\r\n FrontstageManager.onWidgetStateChangedEvent.addListener(listener);\r\n return () => {\r\n FrontstageManager.onWidgetStateChangedEvent.removeListener(listener);\r\n };\r\n }, [frontstageDef]);\r\n React.useEffect(() => {\r\n const listener = createListener(frontstageDef, ({ widgetDef }: WidgetEventArgs) => {\r\n assert(!!frontstageDef.nineZoneState);\r\n frontstageDef.nineZoneState = showWidget(frontstageDef.nineZoneState, widgetDef.id);\r\n });\r\n FrontstageManager.onWidgetShowEvent.addListener(listener);\r\n return () => {\r\n FrontstageManager.onWidgetShowEvent.removeListener(listener);\r\n };\r\n }, [frontstageDef]);\r\n React.useEffect(() => {\r\n const listener = createListener(frontstageDef, ({ widgetDef }: WidgetEventArgs) => {\r\n assert(!!frontstageDef.nineZoneState);\r\n let nineZoneState = showWidget(frontstageDef.nineZoneState, widgetDef.id);\r\n nineZoneState = expandWidget(nineZoneState, widgetDef.id);\r\n frontstageDef.nineZoneState = nineZoneState;\r\n });\r\n FrontstageManager.onWidgetExpandEvent.addListener(listener);\r\n return () => {\r\n FrontstageManager.onWidgetExpandEvent.removeListener(listener);\r\n };\r\n }, [frontstageDef]);\r\n const uiSettingsStorage = useUiStateStorageHandler();\r\n React.useEffect(() => {\r\n const listener = (args: FrontstageEventArgs) => {\r\n // TODO: track restoring frontstages to support workflows: i.e. prevent loading frontstage OR saving layout when delete is pending\r\n uiSettingsStorage.deleteSetting(FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName(args.frontstageDef.id)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n if (frontstageDef.id === args.frontstageDef.id) {\r\n args.frontstageDef.nineZoneState = initializeNineZoneState(frontstageDef);\r\n } else {\r\n args.frontstageDef.nineZoneState = undefined;\r\n }\r\n };\r\n FrontstageManager.onFrontstageRestoreLayoutEvent.addListener(listener);\r\n return () => {\r\n FrontstageManager.onFrontstageRestoreLayoutEvent.removeListener(listener);\r\n };\r\n }, [uiSettingsStorage, frontstageDef]);\r\n React.useEffect(() => {\r\n const listener = createListener(frontstageDef, ({ widgetDef }: WidgetEventArgs) => {\r\n assert(!!frontstageDef.nineZoneState);\r\n const label = widgetDef.label;\r\n frontstageDef.nineZoneState = setWidgetLabel(frontstageDef.nineZoneState, widgetDef.id, label);\r\n });\r\n FrontstageManager.onWidgetLabelChangedEvent.addListener(listener);\r\n return () => {\r\n FrontstageManager.onWidgetLabelChangedEvent.removeListener(listener);\r\n };\r\n }, [frontstageDef]);\r\n\r\n const defaultLabel = React.useMemo(\r\n () => UiFramework.translate(\"widget.labels.toolSettings\"), []\r\n );\r\n React.useEffect(() => {\r\n const updateLabel = createListener(frontstageDef, () => {\r\n const toolId = FrontstageManager.activeToolId;\r\n assert(!!frontstageDef.nineZoneState);\r\n const label = useToolAsToolSettingsLabel ?\r\n IModelApp.tools.find(toolId)?.flyover || defaultLabel : defaultLabel;\r\n frontstageDef.nineZoneState = setWidgetLabel(frontstageDef.nineZoneState, toolSettingsTabId, label);\r\n });\r\n // Whenever the frontstageDef or the useTool... changes, keep the label up to date.\r\n updateLabel();\r\n // If useTool... is true, listen for events to keep up the label up to date.\r\n if (useToolAsToolSettingsLabel) {\r\n FrontstageManager.onFrontstageReadyEvent.addListener(updateLabel);\r\n FrontstageManager.onFrontstageRestoreLayoutEvent.addListener(updateLabel);\r\n FrontstageManager.onToolActivatedEvent.addListener(updateLabel);\r\n FrontstageManager.onToolSettingsReloadEvent.addListener(updateLabel);\r\n }\r\n return () => {\r\n if (useToolAsToolSettingsLabel) {\r\n FrontstageManager.onFrontstageReadyEvent.removeListener(updateLabel);\r\n FrontstageManager.onFrontstageRestoreLayoutEvent.removeListener(updateLabel);\r\n FrontstageManager.onToolActivatedEvent.removeListener(updateLabel);\r\n FrontstageManager.onToolSettingsReloadEvent.removeListener(updateLabel);\r\n }\r\n };\r\n }, [frontstageDef, useToolAsToolSettingsLabel, defaultLabel]);\r\n}\r\n\r\n/** @internal */\r\n// istanbul ignore next\r\nexport function useItemsManager(frontstageDef: FrontstageDef) {\r\n const refreshNineZoneState = (def: FrontstageDef) => {\r\n // Fired for both registered/unregistered. Update definitions and remove/add missing widgets.\r\n def.updateWidgetDefs();\r\n restoreSavedWidgets(def);\r\n let state = def.nineZoneState;\r\n if (!state)\r\n return;\r\n state = addMissingWidgets(def, state);\r\n state = removeMissingWidgets(def, state);\r\n state = hideWidgets(state, def); // TODO: should only apply to widgets provided by registered provider in onUiProviderRegisteredEvent.\r\n def.nineZoneState = state;\r\n };\r\n\r\n React.useEffect(() => {\r\n const remove = UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\r\n refreshNineZoneState(frontstageDef);\r\n });\r\n // Need to refresh anytime frontstageDef changes because uiItemsProvider may have added something to\r\n // another stage before it was possibly unloaded in this stage.\r\n refreshNineZoneState(frontstageDef);\r\n return remove;\r\n }, [frontstageDef]);\r\n}\r\n\r\n// istanbul ignore next\r\nfunction determineNewWidgets(defs: readonly WidgetDef[] | undefined, state: NineZoneState) {\r\n return (defs || []).filter((def) => !(def.id in state.tabs));\r\n}\r\n"]}
1
+ {"version":3,"file":"Frontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\n\r\n// cSpell:ignore popout\r\n\r\nimport \"./Frontstage.scss\";\r\nimport produce from \"immer\";\r\nimport * as React from \"react\";\r\nimport { unstable_batchedUpdates } from \"react-dom\";\r\nimport { assert, Logger, ProcessDetector } from \"@itwin/core-bentley\";\r\nimport { Rectangle, RectangleProps, Size, SizeProps, UiStateStorageResult, UiStateStorageStatus } from \"@itwin/core-react\";\r\nimport { ToolbarPopupAutoHideContext } from \"@itwin/components-react\";\r\nimport {\r\n addFloatingWidget, addPanelWidget, addTab, addTabToWidget, convertAllPopupWidgetContainersToFloating, createLayoutStore, createNineZoneState, floatingWidgetBringToFront,\r\n FloatingWidgetHomeState, FloatingWidgets, getTabLocation, getUniqueId, getWidgetPanelSectionId, insertPanelWidget, insertTabToWidget, isFloatingTabLocation,\r\n isHorizontalPanelSide, isPanelTabLocation, isPopoutTabLocation, LayoutStore, NineZone, NineZoneAction, NineZoneDispatch, NineZoneLabels, NineZoneState, NineZoneStateReducer, PanelSide,\r\n panelSides, removeTab, removeTabFromWidget, TabState, toolSettingsTabId, WidgetPanels,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { FrontstageDef, FrontstageEventArgs } from \"../frontstage/FrontstageDef\";\r\nimport { StagePanelMaxSizeSpec } from \"../stagepanels/StagePanelConfig\";\r\nimport { StagePanelState, toPanelSide } from \"../stagepanels/StagePanelDef\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { useUiStateStorageHandler } from \"../uistate/useUiStateStorage\";\r\nimport { TabLocation, WidgetDef, WidgetEventArgs, WidgetStateChangedEventArgs } from \"../widgets/WidgetDef\";\r\nimport { WidgetContent } from \"./Content\";\r\nimport { WidgetPanelsFrontstageContent } from \"./FrontstageContent\";\r\nimport { ModalFrontstageComposer, useActiveModalFrontstageInfo } from \"./ModalFrontstageComposer\";\r\nimport { WidgetPanelsStatusBar } from \"./StatusBar\";\r\nimport { WidgetPanelsTab } from \"./Tab\";\r\nimport { WidgetPanelsToolbars } from \"./Toolbars\";\r\nimport { ToolSettingsContent, WidgetPanelsToolSettings } from \"./ToolSettings\";\r\nimport { useEscapeSetFocusToHome } from \"../hooks/useEscapeSetFocusToHome\";\r\nimport { FrameworkRootState } from \"../redux/StateManager\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useUiVisibility } from \"../hooks/useUiVisibility\";\r\nimport { IModelApp } from \"@itwin/core-frontend\";\r\nimport { FloatingWidget } from \"./FloatingWidget\";\r\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\r\nimport { WidgetState } from \"../widgets/WidgetState\";\r\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection\";\r\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation\";\r\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\r\n\r\nfunction WidgetPanelsFrontstageComponent() {\r\n const activeModalFrontstageInfo = useActiveModalFrontstageInfo();\r\n const uiIsVisible = useUiVisibility();\r\n\r\n return (\r\n <>\r\n <WidgetPanelsToolSettings />\r\n <ToolbarPopupAutoHideContext.Provider value={!uiIsVisible}>\r\n <ModalFrontstageComposer stageInfo={activeModalFrontstageInfo} />\r\n <WidgetPanels\r\n className=\"uifw-widgetPanels\"\r\n centerContent={<WidgetPanelsToolbars />}\r\n >\r\n <WidgetPanelsFrontstageContent />\r\n </WidgetPanels>\r\n <WidgetPanelsStatusBar />\r\n <FloatingWidgets />\r\n </ToolbarPopupAutoHideContext.Provider>\r\n </>\r\n );\r\n}\r\n\r\nconst widgetContent = <WidgetContent />;\r\nconst toolSettingsContent = <ToolSettingsContent />;\r\nconst widgetPanelsFrontstage = <WidgetPanelsFrontstageComponent />;\r\n\r\n/** @internal */\r\nexport function useLayoutStore() {\r\n const [def, setDef] = React.useState(UiFramework.frontstages.activeFrontstageDef);\r\n const [layout, setLayout] = React.useState(() => createLayoutStore(def?.nineZoneState));\r\n React.useEffect(() => {\r\n return UiFramework.frontstages.onFrontstageActivatedEvent.addListener((args) => {\r\n unstable_batchedUpdates(() => {\r\n setDef(args.activatedFrontstageDef);\r\n setLayout(createLayoutStore(args.activatedFrontstageDef.nineZoneState));\r\n });\r\n });\r\n }, []);\r\n React.useEffect(() => {\r\n return InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener((args) => {\r\n if (args.frontstageDef !== def || def.isStageClosing || def.isApplicationClosing)\r\n return;\r\n unstable_batchedUpdates(() => { // https://github.com/pmndrs/zustand/blob/main/docs/guides/event-handler-in-pre-react-18.md\r\n layout.setState(args.state || defaultNineZone);\r\n });\r\n });\r\n }, [def, layout]);\r\n return [layout, def] as const;\r\n}\r\n\r\n/** Update in-memory NineZoneState of newly activated frontstage with up to date size.\r\n * @internal\r\n */\r\nexport function useUpdateNineZoneSize(frontstageDef: FrontstageDef) {\r\n React.useEffect(() => {\r\n const size = InternalFrontstageManager.nineZoneSize;\r\n let state = frontstageDef.nineZoneState;\r\n if (!size || !state)\r\n return;\r\n state = FrameworkStateReducer(state, {\r\n type: \"RESIZE\",\r\n size: {\r\n height: size.height,\r\n width: size.width,\r\n },\r\n }, frontstageDef);\r\n frontstageDef.nineZoneState = state;\r\n }, [frontstageDef]);\r\n}\r\n\r\n/** @internal */\r\nexport function FrameworkStateReducer(state: NineZoneState, action: NineZoneAction, frontstageDef: FrontstageDef) {\r\n state = NineZoneStateReducer(state, action);\r\n if (action.type === \"RESIZE\") {\r\n state = produce(state, (draft) => {\r\n for (const panelSide of panelSides) {\r\n const panel = draft.panels[panelSide];\r\n const location = toStagePanelLocation(panelSide);\r\n const panelDef = frontstageDef.getStagePanelDef(location);\r\n if (panelDef?.maxSizeSpec) {\r\n panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, action.size);\r\n if (panel.size) {\r\n panel.size = Math.min(Math.max(panel.size, panel.minSize), panel.maxSize);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n return state;\r\n}\r\n\r\n/** @internal */\r\nexport function useNineZoneDispatch(frontstageDef: FrontstageDef) {\r\n const dispatch = React.useCallback<NineZoneDispatch>((action) => {\r\n if (action.type === \"RESIZE\") {\r\n InternalFrontstageManager.nineZoneSize = Size.create(action.size);\r\n }\r\n // istanbul ignore if\r\n if (action.type === \"TOOL_SETTINGS_DRAG_START\") {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n UiFramework.postTelemetry(\"Tool Settings Undocking\", \"28B04E07-AE73-4533-A0BA-8E2A8DC99ADF\");\r\n }\r\n // istanbul ignore if\r\n if (action.type === \"TOOL_SETTINGS_DOCK\") {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n UiFramework.postTelemetry(\"Tool Settings Docking to Settings Bar\", \"BEDE684B-B3DB-4637-B3AF-DC3CBA223F94\");\r\n }\r\n if (action.type === \"WIDGET_TAB_POPOUT\") {\r\n const tabId = action.id;\r\n frontstageDef.popoutWidget(tabId);\r\n return;\r\n }\r\n\r\n const state = frontstageDef.nineZoneState;\r\n if (!state)\r\n return;\r\n frontstageDef.nineZoneState = FrameworkStateReducer(state, action, frontstageDef);\r\n }, [frontstageDef]);\r\n return dispatch;\r\n}\r\n\r\n/** @internal */\r\nexport function WidgetPanelsFrontstage() {\r\n const [layout, frontstageDef] = useLayoutStore();\r\n\r\n React.useEffect(() => {\r\n const triggerWidowCloseProcessing = () => {\r\n frontstageDef && frontstageDef.setIsApplicationClosing(true);\r\n };\r\n\r\n frontstageDef && frontstageDef.setIsApplicationClosing(false);\r\n\r\n window.addEventListener(\"unload\", triggerWidowCloseProcessing);\r\n return () => {\r\n window.removeEventListener(\"unload\", triggerWidowCloseProcessing);\r\n };\r\n }, [frontstageDef]);\r\n\r\n if (!frontstageDef)\r\n return null;\r\n return (\r\n <ActiveFrontstageDefProvider\r\n frontstageDef={frontstageDef}\r\n layout={layout}\r\n />\r\n );\r\n}\r\n\r\nconst defaultNineZone = createNineZoneState();\r\nconst tabElement = <WidgetPanelsTab />;\r\nconst floatingWidgetElement = <FloatingWidget />;\r\n\r\ninterface ActiveFrontstageDefProviderProps {\r\n layout: LayoutStore;\r\n frontstageDef: FrontstageDef;\r\n}\r\n\r\n/** @internal */\r\nexport function ActiveFrontstageDefProvider({ frontstageDef, layout }: ActiveFrontstageDefProviderProps) {\r\n const dispatch = useNineZoneDispatch(frontstageDef);\r\n useUpdateNineZoneSize(frontstageDef);\r\n useSavedFrontstageState(frontstageDef);\r\n useSaveFrontstageSettings(frontstageDef, layout);\r\n useItemsManager(frontstageDef);\r\n const labels = useLabels();\r\n const uiIsVisible = useUiVisibility();\r\n const showWidgetIcon = useSelector((state: FrameworkRootState) => {\r\n const frameworkState = (state as any)[UiFramework.frameworkStateKey];\r\n return !!frameworkState.configurableUiState.showWidgetIcon;\r\n });\r\n const autoCollapseUnpinnedPanels = useSelector((state: FrameworkRootState) => {\r\n const frameworkState = (state as any)[UiFramework.frameworkStateKey];\r\n return !!frameworkState.configurableUiState.autoCollapseUnpinnedPanels;\r\n });\r\n const animateToolSettings = useSelector((state: FrameworkRootState) => {\r\n const frameworkState = (state as any)[UiFramework.frameworkStateKey];\r\n return !!frameworkState.configurableUiState.animateToolSettings;\r\n });\r\n const useToolAsToolSettingsLabel = useSelector((state: FrameworkRootState) => {\r\n const frameworkState = (state as any)[UiFramework.frameworkStateKey];\r\n return !!frameworkState.configurableUiState.useToolAsToolSettingsLabel;\r\n });\r\n useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel);\r\n\r\n const handleKeyDown = useEscapeSetFocusToHome();\r\n\r\n return (\r\n <div\r\n className=\"uifw-widgetPanels-frontstage\"\r\n onKeyDown={handleKeyDown}\r\n role=\"presentation\"\r\n >\r\n <NineZone\r\n dispatch={dispatch}\r\n labels={labels}\r\n layout={layout}\r\n tab={tabElement}\r\n floatingWidget={floatingWidgetElement}\r\n showWidgetIcon={showWidgetIcon}\r\n autoCollapseUnpinnedPanels={autoCollapseUnpinnedPanels}\r\n toolSettingsContent={toolSettingsContent}\r\n widgetContent={widgetContent}\r\n animateDockedToolSettings={animateToolSettings}\r\n uiIsVisible={uiIsVisible}\r\n >\r\n {widgetPanelsFrontstage}\r\n </NineZone>\r\n </div>\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport function useLabels() {\r\n return React.useMemo<NineZoneLabels>(() => ({\r\n dockToolSettingsTitle: UiFramework.translate(\"widget.tooltips.dockToolSettings\"),\r\n moreWidgetsTitle: UiFramework.translate(\"widget.tooltips.moreWidgets\"),\r\n moreToolSettingsTitle: UiFramework.translate(\"widget.tooltips.moreToolSettings\"),\r\n pinPanelTitle: UiFramework.translate(\"widget.tooltips.pinPanel\"),\r\n resizeGripTitle: UiFramework.translate(\"widget.tooltips.resizeGrip\"),\r\n sendWidgetHomeTitle: UiFramework.translate(\"widget.tooltips.sendHome\"),\r\n toolSettingsHandleTitle: UiFramework.translate(\"widget.tooltips.toolSettingsHandle\"),\r\n unpinPanelTitle: UiFramework.translate(\"widget.tooltips.unpinPanel\"),\r\n popoutActiveTab: UiFramework.translate(\"widget.tooltips.popoutActiveTab\"),\r\n }), []);\r\n}\r\n\r\n/** @internal */\r\nexport function addWidgets(state: NineZoneState, widgets: ReadonlyArray<WidgetDef>, side: PanelSide, widgetId: WidgetId): NineZoneState {\r\n const visibleWidgets = widgets.filter((w) => w.isVisible && (w.defaultState !== WidgetState.Floating));\r\n if (visibleWidgets.length === 0)\r\n return state;\r\n\r\n const tabs = new Array<string>();\r\n for (const widget of visibleWidgets) {\r\n const label = getWidgetLabel(widget.label);\r\n state = addTab(state, widget.id, {\r\n label,\r\n iconSpec: widget.iconSpec,\r\n preferredPanelWidgetSize: widget.preferredPanelSize,\r\n preferredFloatingWidgetSize: widget.defaultFloatingSize,\r\n canPopout: widget.canPopout,\r\n isFloatingStateWindowResizable: widget.isFloatingStateWindowResizable,\r\n hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,\r\n allowedPanelTargets: widget.allowedPanelTargets as PanelSide[],\r\n });\r\n tabs.push(widget.id);\r\n }\r\n\r\n const activeWidget = visibleWidgets.find((widget) => widget.isActive);\r\n const minimized = false;\r\n // istanbul ignore else\r\n if (activeWidget?.defaultState !== WidgetState.Floating) {\r\n state = addPanelWidget(state, side, widgetId, tabs, {\r\n activeTabId: activeWidget ? activeWidget.id : tabs[0],\r\n minimized,\r\n });\r\n }\r\n\r\n return state;\r\n}\r\n\r\n/** @internal */\r\n// istanbul ignore next\r\nexport function appendWidgets(state: NineZoneState, widgetDefs: ReadonlyArray<WidgetDef>, location: StagePanelLocation, section: StagePanelSection): NineZoneState {\r\n if (widgetDefs.length === 0)\r\n return state;\r\n\r\n const side = toPanelSide(location);\r\n\r\n // Add missing widget tabs.\r\n for (const widgetDef of widgetDefs) {\r\n const label = getWidgetLabel(widgetDef.label);\r\n const saveTab = state.tabs[widgetDef.id];\r\n const preferredPanelWidgetSize = saveTab ? saveTab.preferredPanelWidgetSize : widgetDef.preferredPanelSize;\r\n const preferredFloatingWidgetSize = saveTab ? saveTab.preferredFloatingWidgetSize : widgetDef.defaultFloatingSize;\r\n // if a defaultFloatingSize is specified then this mean the widget can't determine its intrinsic size and must be explicitly sized\r\n const userSized = saveTab ? (saveTab.userSized || !!widgetDef.defaultFloatingSize && !!saveTab.preferredFloatingWidgetSize)\r\n : !!widgetDef.defaultFloatingSize;\r\n state = addTab(state, widgetDef.id, {\r\n label,\r\n iconSpec: widgetDef.iconSpec,\r\n canPopout: widgetDef.canPopout,\r\n preferredPanelWidgetSize,\r\n preferredFloatingWidgetSize,\r\n userSized,\r\n isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,\r\n hideWithUiWhenFloating: !!widgetDef.hideWithUiWhenFloating,\r\n allowedPanelTargets: widgetDef.allowedPanelTargets as PanelSide[],\r\n });\r\n\r\n if (widgetDef.isFloatingStateSupported && widgetDef.defaultState === WidgetState.Floating) {\r\n const floatingContainerId = widgetDef.floatingContainerId ?? getUniqueId();\r\n const widgetContainerId = getWidgetId(location, section);\r\n const home: FloatingWidgetHomeState = { side, widgetId: widgetContainerId, widgetIndex: 0 };\r\n const preferredPosition = widgetDef.defaultFloatingPosition;\r\n\r\n if (floatingContainerId in state.widgets) {\r\n state = addTabToWidget(state, widgetDef.id, floatingContainerId);\r\n } else {\r\n const tab = state.tabs[widgetDef.id];\r\n\r\n const size = { height: 200, width: 300, ...tab.preferredFloatingWidgetSize };\r\n const preferredPoint = preferredPosition ?? { x: (state.size.width - size.width) / 2, y: (state.size.height - size.height) / 2 };\r\n const nzBounds = Rectangle.createFromSize(state.size);\r\n const bounds = Rectangle.createFromSize(size).offset(preferredPoint);\r\n const containedBounds = bounds.containIn(nzBounds);\r\n\r\n state = addFloatingWidget(state, floatingContainerId, [widgetDef.id], {\r\n bounds: containedBounds.toProps(),\r\n home,\r\n userSized,\r\n }, {\r\n isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,\r\n });\r\n }\r\n } else {\r\n const preferredWidgetIndex: number = section;\r\n const widgetPanelSectionId = getWidgetPanelSectionId(side, preferredWidgetIndex);\r\n if (widgetPanelSectionId in state.widgets) {\r\n state = addTabToWidget(state, widgetDef.id, widgetPanelSectionId);\r\n } else {\r\n const panel = state.panels[side];\r\n if (panel.widgets.length < panel.maxWidgetCount) {\r\n state = addPanelWidget(state, side, widgetPanelSectionId, [widgetDef.id]);\r\n } else {\r\n const widgetIndex = Math.min(preferredWidgetIndex, panel.widgets.length - 1);\r\n const widgetId = panel.widgets[widgetIndex];\r\n state = addTabToWidget(state, widgetDef.id, widgetId);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return state;\r\n}\r\n\r\nfunction processPopoutWidgets(initialState: NineZoneState, frontstageDef: FrontstageDef): NineZoneState {\r\n // istanbul ignore next\r\n if (!initialState.popoutWidgets)\r\n return initialState;\r\n\r\n // istanbul ignore next - not unit testing electron case that reopens popout windows\r\n if (initialState.popoutWidgets && ProcessDetector.isElectronAppFrontend) {\r\n if (initialState.popoutWidgets.allIds.length && ProcessDetector.isElectronAppFrontend) {\r\n for (const widgetContainerId of initialState.popoutWidgets.allIds) {\r\n frontstageDef.openPopoutWidgetContainer(initialState, widgetContainerId);\r\n }\r\n }\r\n return initialState;\r\n }\r\n\r\n return convertAllPopupWidgetContainersToFloating(initialState);\r\n}\r\n\r\n/** Adds frontstageDef widgets that are missing in NineZoneState.\r\n * @internal\r\n */\r\nexport function addMissingWidgets(frontstageDef: FrontstageDef, initialState: NineZoneState): NineZoneState {\r\n let state = initialState;\r\n\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.leftPanel?.getPanelSectionDef(StagePanelSection.Start).widgetDefs, state), StagePanelLocation.Left, StagePanelSection.Start);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.leftPanel?.getPanelSectionDef(StagePanelSection.End).widgetDefs, state), StagePanelLocation.Left, StagePanelSection.End);\r\n\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.rightPanel?.getPanelSectionDef(StagePanelSection.Start).widgetDefs, state), StagePanelLocation.Right, StagePanelSection.Start);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.rightPanel?.getPanelSectionDef(StagePanelSection.End).widgetDefs, state), StagePanelLocation.Right, StagePanelSection.End);\r\n\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.topPanel?.getPanelSectionDef(StagePanelSection.Start).widgetDefs, state), StagePanelLocation.Top, StagePanelSection.Start);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.topPanel?.getPanelSectionDef(StagePanelSection.End).widgetDefs, state), StagePanelLocation.Top, StagePanelSection.End);\r\n\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomPanel?.getPanelSectionDef(StagePanelSection.Start).widgetDefs, state), StagePanelLocation.Bottom, StagePanelSection.Start);\r\n state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomPanel?.getPanelSectionDef(StagePanelSection.End).widgetDefs, state), StagePanelLocation.Bottom, StagePanelSection.End);\r\n\r\n return state;\r\n}\r\n\r\n/** Hide widgets with Hidden defaultState. */\r\nfunction hideWidgets(state: NineZoneState, frontstageDef: FrontstageDef): NineZoneState {\r\n const tabs = Object.values(state.tabs);\r\n for (const tab of tabs) {\r\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\r\n if (!widgetDef)\r\n continue;\r\n\r\n if (widgetDef.defaultState === WidgetState.Hidden) {\r\n state = hideWidget(state, widgetDef);\r\n }\r\n }\r\n\r\n return state;\r\n}\r\n\r\n/** Removes NineZoneState widgets that are missing in frontstageDef.\r\n * @internal\r\n */\r\nexport function removeMissingWidgets(frontstageDef: FrontstageDef, initialState: NineZoneState): NineZoneState {\r\n let state = initialState;\r\n for (const [, tab] of Object.entries(state.tabs)) {\r\n if (tab.id === toolSettingsTabId)\r\n continue;\r\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\r\n if (widgetDef)\r\n continue;\r\n state = removeTab(state, tab.id);\r\n }\r\n return state;\r\n}\r\n\r\nfunction getWidgetLabel(label: string) {\r\n return label === \"\" ? \"Widget\" : label;\r\n}\r\n\r\ntype WidgetId =\r\n \"leftStart\" |\r\n \"leftEnd\" |\r\n \"rightStart\" |\r\n \"rightEnd\" |\r\n \"topStart\" |\r\n \"topEnd\" |\r\n \"bottomStart\" |\r\n \"bottomEnd\";\r\n\r\nfunction toStagePanelLocation(side: PanelSide): StagePanelLocation {\r\n switch (side) {\r\n case \"bottom\":\r\n return StagePanelLocation.Bottom;\r\n case \"left\":\r\n return StagePanelLocation.Left;\r\n case \"right\":\r\n return StagePanelLocation.Right;\r\n case \"top\":\r\n return StagePanelLocation.Top;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function getWidgetId(location: StagePanelLocation, section: StagePanelSection): WidgetId {\r\n switch (location) {\r\n case StagePanelLocation.Left: {\r\n if (section === StagePanelSection.Start)\r\n return \"leftStart\";\r\n return \"leftEnd\";\r\n }\r\n case StagePanelLocation.Right: {\r\n if (section === StagePanelSection.Start)\r\n return \"rightStart\";\r\n return \"rightEnd\";\r\n }\r\n case StagePanelLocation.Top: {\r\n if (section === StagePanelSection.Start)\r\n return \"topStart\";\r\n return \"topEnd\";\r\n }\r\n case StagePanelLocation.Bottom: {\r\n if (section === StagePanelSection.Start)\r\n return \"bottomStart\";\r\n return \"bottomEnd\";\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function getPanelSectionWidgets(frontstageDef: FrontstageDef, location: StagePanelLocation, section: StagePanelSection): ReadonlyArray<WidgetDef> {\r\n const stagePanel = frontstageDef.getStagePanelDef(location);\r\n const panelSection = stagePanel?.getPanelSectionDef(section);\r\n return panelSection?.widgetDefs || [];\r\n}\r\n\r\n/** @internal */\r\nexport function addPanelWidgets(\r\n state: NineZoneState,\r\n frontstageDef: FrontstageDef,\r\n location: StagePanelLocation,\r\n): NineZoneState {\r\n const side = toPanelSide(location);\r\n\r\n const start = getWidgetId(location, StagePanelSection.Start);\r\n const startWidgets = getPanelSectionWidgets(frontstageDef, location, StagePanelSection.Start);\r\n state = addWidgets(state, determineNewWidgets(startWidgets, state), side, start);\r\n\r\n const end = getWidgetId(location, StagePanelSection.End);\r\n const endWidgets = getPanelSectionWidgets(frontstageDef, location, StagePanelSection.End);\r\n state = addWidgets(state, determineNewWidgets(endWidgets, state), side, end);\r\n return state;\r\n}\r\n\r\n/** @internal */\r\nexport function isFrontstageStateSettingResult(settingsResult: UiStateStorageResult): settingsResult is {\r\n status: UiStateStorageStatus.Success;\r\n setting: WidgetPanelsFrontstageState;\r\n} {\r\n if (settingsResult.status === UiStateStorageStatus.Success)\r\n return true;\r\n return false;\r\n}\r\n\r\n/** @internal */\r\nexport function initializePanel(state: NineZoneState, frontstageDef: FrontstageDef, location: StagePanelLocation) {\r\n const panelSide = toPanelSide(location);\r\n\r\n state = addPanelWidgets(state, frontstageDef, location);\r\n const panelDef = frontstageDef.getStagePanelDef(location);\r\n state = produce(state, (draft) => {\r\n const panel = draft.panels[panelSide];\r\n panel.minSize = panelDef?.minSize ?? panel.minSize;\r\n panel.pinned = panelDef?.pinned ?? panel.pinned;\r\n panel.resizable = panelDef?.resizable ?? panel.resizable;\r\n if (panelDef?.maxSizeSpec) {\r\n panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, state.size);\r\n }\r\n\r\n const size = panelDef?.size;\r\n panel.size = size === undefined ? size : Math.min(Math.max(size, panel.minSize), panel.maxSize);\r\n });\r\n return state;\r\n}\r\n\r\nfunction getPanelMaxSize(maxSizeSpec: StagePanelMaxSizeSpec, panel: PanelSide, nineZoneSize: SizeProps) {\r\n if (typeof maxSizeSpec === \"number\") {\r\n return maxSizeSpec;\r\n }\r\n const size = isHorizontalPanelSide(panel) ? nineZoneSize.height : nineZoneSize.width;\r\n return maxSizeSpec.percentage / 100 * size;\r\n}\r\n\r\nconst stateVersion = 13; // this needs to be bumped when NineZoneState is changed (to recreate the layout).\r\n\r\n/** @internal */\r\nexport function initializeNineZoneState(frontstageDef: FrontstageDef): NineZoneState {\r\n let nineZone = defaultNineZone;\r\n nineZone = produce(nineZone, (stateDraft) => {\r\n // istanbul ignore next\r\n if (!InternalFrontstageManager.nineZoneSize)\r\n return;\r\n stateDraft.size = {\r\n height: InternalFrontstageManager.nineZoneSize.height,\r\n width: InternalFrontstageManager.nineZoneSize.width,\r\n };\r\n });\r\n\r\n nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Left);\r\n nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Right);\r\n nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Top);\r\n nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Bottom);\r\n nineZone = produce(nineZone, (stateDraft) => {\r\n for (const [, panel] of Object.entries(stateDraft.panels)) {\r\n const expanded = panel.widgets.find((widgetId) => stateDraft.widgets[widgetId].minimized === false);\r\n const firstWidget = panel.widgets.length > 0 ? stateDraft.widgets[panel.widgets[0]] : undefined;\r\n // istanbul ignore next\r\n if (!expanded && firstWidget) {\r\n firstWidget.minimized = false;\r\n }\r\n }\r\n stateDraft.panels.left.collapsed = isPanelCollapsed(frontstageDef.leftPanel?.panelState);\r\n stateDraft.panels.right.collapsed = isPanelCollapsed(frontstageDef.rightPanel?.panelState);\r\n stateDraft.panels.top.collapsed = isPanelCollapsed(frontstageDef.topPanel?.panelState);\r\n stateDraft.panels.bottom.collapsed = isPanelCollapsed(frontstageDef.bottomPanel?.panelState);\r\n\r\n const toolSettingsWidgetDef = frontstageDef.toolSettings;\r\n if (toolSettingsWidgetDef) {\r\n const toolSettingsTab = stateDraft.tabs[toolSettingsTabId];\r\n toolSettingsTab.preferredPanelWidgetSize = toolSettingsWidgetDef.preferredPanelSize;\r\n }\r\n });\r\n nineZone = addMissingWidgets(frontstageDef, nineZone);\r\n nineZone = hideWidgets(nineZone, frontstageDef);\r\n nineZone = processPopoutWidgets(nineZone, frontstageDef);\r\n\r\n return nineZone;\r\n}\r\n\r\n/** Converts from saved NineZoneState to NineZoneState.\r\n * @note Restores toolSettings tab.\r\n * @note Restores tab labels.\r\n * @internal\r\n */\r\nexport function restoreNineZoneState(frontstageDef: FrontstageDef, saved: SavedNineZoneState): NineZoneState {\r\n let restored: NineZoneState = {\r\n ...saved,\r\n tabs: defaultNineZone.tabs,\r\n };\r\n\r\n for (const [, tab] of Object.entries(saved.tabs)) {\r\n // Re-add the placeholder tab in order to correctly remove it from the state if WidgetDef is not found.\r\n restored = addTab(restored, tab.id);\r\n\r\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\r\n if (!widgetDef) {\r\n Logger.logInfo(UiFramework.loggerCategory(restoreNineZoneState), \"WidgetDef is not found for saved tab.\", () => ({\r\n frontstageId: frontstageDef.id,\r\n tabId: tab.id,\r\n }));\r\n restored = removeTab(restored, tab.id);\r\n continue;\r\n }\r\n restored = produce(restored, (draft) => {\r\n draft.tabs[tab.id] = {\r\n ...tab,\r\n label: getWidgetLabel(widgetDef.label),\r\n hideWithUiWhenFloating: widgetDef.hideWithUiWhenFloating,\r\n iconSpec: widgetDef.iconSpec,\r\n canPopout: widgetDef.canPopout,\r\n isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,\r\n allowedPanelTargets: widgetDef.allowedPanelTargets as PanelSide[],\r\n };\r\n });\r\n }\r\n restored = produce(restored, (draft) => {\r\n // remove center panel section if one is found in left or right panels\r\n const oldLeftMiddleIndex = saved.panels.left.widgets.findIndex((value) => value === \"leftMiddle\");\r\n // istanbul ignore next\r\n if (-1 !== oldLeftMiddleIndex) {\r\n draft.panels.left.widgets = saved.panels.left.widgets.filter((value) => value !== \"leftMiddle\");\r\n if (\"leftEnd\" in draft.widgets) {\r\n draft.widgets.leftMiddle.tabs.forEach((tab) => draft.widgets.leftEnd.tabs.push(tab));\r\n } else {\r\n draft.widgets.leftEnd = { ...draft.widgets.leftMiddle };\r\n delete draft.widgets.leftMiddle;\r\n }\r\n }\r\n\r\n const oldRightMiddleIndex = saved.panels.right.widgets.findIndex((value) => value === \"rightMiddle\");\r\n // istanbul ignore next\r\n if (-1 !== oldRightMiddleIndex) {\r\n draft.panels.right.widgets = saved.panels.right.widgets.filter((value) => value !== \"rightMiddle\");\r\n if (\"rightEnd\" in draft.widgets) {\r\n draft.widgets.rightMiddle.tabs.forEach((tab) => draft.widgets.rightEnd.tabs.push(tab));\r\n } else {\r\n draft.widgets.rightEnd = { ...draft.widgets.rightMiddle };\r\n delete draft.widgets.rightMiddle;\r\n }\r\n }\r\n\r\n return;\r\n });\r\n\r\n if (InternalFrontstageManager.nineZoneSize && (0 !== InternalFrontstageManager.nineZoneSize.height || 0 !== InternalFrontstageManager.nineZoneSize.width)) {\r\n restored = FrameworkStateReducer(restored, {\r\n type: \"RESIZE\",\r\n size: {\r\n height: InternalFrontstageManager.nineZoneSize.height,\r\n width: InternalFrontstageManager.nineZoneSize.width,\r\n },\r\n }, frontstageDef);\r\n }\r\n return restored;\r\n}\r\n\r\n/** Prepares NineZoneState to be saved.\r\n * @note Removes toolSettings tab.\r\n * @note Removes tab labels and iconSpec.\r\n * @internal\r\n */\r\nexport function packNineZoneState(state: NineZoneState): SavedNineZoneState {\r\n let packed: SavedNineZoneState = {\r\n ...state,\r\n tabs: {},\r\n };\r\n packed = produce(packed, (draft) => {\r\n for (const [, tab] of Object.entries(state.tabs)) {\r\n if (tab.id === toolSettingsTabId)\r\n continue;\r\n\r\n draft.tabs[tab.id] = {\r\n id: tab.id,\r\n preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,\r\n allowedPanelTargets: tab.allowedPanelTargets,\r\n userSized: tab.userSized,\r\n };\r\n }\r\n });\r\n return packed;\r\n}\r\n\r\n// istanbul ignore next\r\nfunction packSavedWidgets(frontstageDef: FrontstageDef): SavedWidgets {\r\n let savedWidgets: Array<SavedWidget> = [];\r\n for (const widgetDef of frontstageDef.widgetDefs) {\r\n const id = widgetDef.id;\r\n const initialWidget: SavedWidget = {\r\n id,\r\n };\r\n const widget = produce(initialWidget, (draft) => {\r\n if (widgetDef.tabLocation) {\r\n draft.tabLocation = { ...widgetDef.tabLocation };\r\n }\r\n if (widgetDef.popoutBounds) {\r\n draft.popoutBounds = widgetDef.popoutBounds.toProps();\r\n }\r\n });\r\n if (widget === initialWidget)\r\n continue;\r\n\r\n savedWidgets.push(widget);\r\n }\r\n\r\n // Add previously saved widgets.\r\n const prevSavedWidgets = frontstageDef.savedWidgetDefs || [];\r\n for (const prevWidget of prevSavedWidgets) {\r\n if (savedWidgets.find((w) => w.id === prevWidget.id))\r\n continue;\r\n\r\n savedWidgets.push(prevWidget);\r\n }\r\n\r\n // Limit number of saved widgets.\r\n const maxWidgets = 100;\r\n if (savedWidgets.length > maxWidgets)\r\n savedWidgets = savedWidgets.slice(0, maxWidgets);\r\n\r\n return savedWidgets;\r\n}\r\n\r\n// istanbul ignore next\r\nfunction restoreSavedWidgets(frontstage: FrontstageDef) {\r\n const savedWidgets = frontstage.savedWidgetDefs || [];\r\n for (const savedWidget of savedWidgets) {\r\n const widgetId = savedWidget.id;\r\n const widgetDef = frontstage.findWidgetDef(widgetId);\r\n if (!widgetDef)\r\n continue;\r\n\r\n if (savedWidget.tabLocation) {\r\n widgetDef.tabLocation = { ...savedWidget.tabLocation };\r\n }\r\n if (savedWidget.popoutBounds) {\r\n widgetDef.popoutBounds = Rectangle.create(savedWidget.popoutBounds);\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function isPanelCollapsed(panelState: StagePanelState | undefined) {\r\n return panelState !== StagePanelState.Open;\r\n}\r\n\r\n/** FrontstageState is saved in UiStateStorage.\r\n * @internal\r\n */\r\nexport interface WidgetPanelsFrontstageState {\r\n nineZone: SavedNineZoneState;\r\n widgets: SavedWidgets;\r\n id: FrontstageDef[\"id\"];\r\n /** Frontstage version used to create the frontstage state. Allows to invalidate the layout from the frontstage. */\r\n version: number;\r\n /** Platform provided frontstage version. Allows to invalidate the layout from the platform. */\r\n stateVersion: number;\r\n}\r\n\r\n/** Saved data specific to `WidgetDef`. I.e. used to restore hidden widgets.\r\n * @internal\r\n */\r\nexport interface SavedWidget {\r\n readonly id: WidgetDef[\"id\"];\r\n readonly tabLocation?: TabLocation;\r\n readonly popoutBounds?: RectangleProps;\r\n}\r\n\r\n/** @internal */\r\nexport type SavedWidgets = ReadonlyArray<SavedWidget>;\r\n\r\n// We don't save tab labels or if widget is allowed to \"pop-out\".\r\ntype SavedTabState = Omit<TabState, \"label\" | \"canPopout\" | \"isFloatingStateWindowResizable\" | \"iconSpec\">;\r\n\r\ninterface SavedTabsState {\r\n readonly [id: string]: SavedTabState;\r\n}\r\n\r\n// // We don't save if widget is allowed to \"pop-out\" or if floating widget can be resized.\r\n// type SavedWidgetState = Omit<WidgetState, | \"canPopout\" | \"isFloatingStateWindowResizable\">;\r\n//\r\n// interface SavedWidgetsState {\r\n// readonly [id: string]: SavedWidgetState;\r\n// }\r\n\r\ninterface SavedNineZoneState extends Omit<NineZoneState, \"tabs\"> {\r\n readonly tabs: SavedTabsState;\r\n // readonly widgets: SavedWidgetsState;\r\n}\r\n\r\nfunction addHiddenWidget(state: NineZoneState, widgetDef: WidgetDef): NineZoneState {\r\n const tabLocation = widgetDef.tabLocation || widgetDef.defaultTabLocation;\r\n const tabId = widgetDef.id;\r\n const { widgetId, tabIndex } = tabLocation;\r\n\r\n if (widgetId in state.widgets) {\r\n // Add to an existing widget (by widget id).\r\n return insertTabToWidget(state, tabId, widgetId, tabIndex);\r\n } else if (tabLocation.floatingWidget) {\r\n const floatingWidget = tabLocation.floatingWidget;\r\n assert(widgetId === floatingWidget.id);\r\n\r\n // Add to a new floating widget.\r\n const nzBounds = Rectangle.createFromSize(state.size);\r\n const bounds = Rectangle.create(floatingWidget.bounds).containIn(nzBounds);\r\n return addFloatingWidget(state, floatingWidget.id, [tabId], {\r\n ...floatingWidget,\r\n bounds: bounds.toProps(),\r\n });\r\n }\r\n\r\n // Add to a panel section.\r\n const panel = state.panels[tabLocation.side];\r\n\r\n // Add to existing panel section.\r\n if (panel.widgets.length >= panel.maxWidgetCount) {\r\n const sectionIndex = Math.min(panel.maxWidgetCount - 1, tabLocation.widgetIndex);\r\n const sectionId = panel.widgets[sectionIndex];\r\n return insertTabToWidget(state, tabId, sectionId, tabLocation.tabIndex);\r\n }\r\n\r\n // Create a new panel section.\r\n const newSectionId = getUniqueId();\r\n return insertPanelWidget(state, panel.side, newSectionId, [tabId], tabLocation.widgetIndex);\r\n}\r\n\r\n/** @internal */\r\nexport function setWidgetState(\r\n state: NineZoneState,\r\n widgetDef: WidgetDef,\r\n widgetState: WidgetState,\r\n) {\r\n if (widgetState === WidgetState.Hidden) {\r\n return hideWidget(state, widgetDef);\r\n } else if (widgetState === WidgetState.Open) {\r\n const id = widgetDef.id;\r\n let location = getTabLocation(state, id);\r\n if (!location) {\r\n state = addHiddenWidget(state, widgetDef);\r\n location = getTabLocation(state, id);\r\n }\r\n\r\n return produce(state, (draft) => {\r\n assert(!!location);\r\n const widget = draft.widgets[location.widgetId];\r\n widget.minimized = false;\r\n widget.activeTabId = id;\r\n\r\n if (isFloatingTabLocation(location)) {\r\n const floatingWidget = draft.floatingWidgets.byId[location.floatingWidgetId];\r\n floatingWidget.hidden = false;\r\n // istanbul ignore else\r\n } else if (isPanelTabLocation(location)) {\r\n const panel = draft.panels[location.side];\r\n panel.collapsed = false;\r\n if (undefined === panel.size || 0 === panel.size) {\r\n // istanbul ignore next\r\n panel.size = panel.minSize ?? 200;\r\n }\r\n }\r\n });\r\n } else if (widgetState === WidgetState.Closed) {\r\n const id = widgetDef.id;\r\n let location = getTabLocation(state, id);\r\n if (!location) {\r\n state = addHiddenWidget(state, widgetDef);\r\n location = getTabLocation(state, id);\r\n }\r\n\r\n // TODO: should change activeTabId of a widget with multiple tabs.\r\n return produce(state, (draft) => {\r\n assert(!!location);\r\n const widget = draft.widgets[location.widgetId];\r\n\r\n if (isFloatingTabLocation(location)) {\r\n if (id === widget.activeTabId) {\r\n widget.minimized = true;\r\n }\r\n }\r\n });\r\n } else if (widgetState === WidgetState.Floating) {\r\n const id = widgetDef.id;\r\n let location = getTabLocation(state, id);\r\n if (!location) {\r\n state = addHiddenWidget(state, widgetDef);\r\n location = getTabLocation(state, id);\r\n }\r\n\r\n assert(!!location);\r\n if (isFloatingTabLocation(location))\r\n return state;\r\n\r\n // Widget is not floating.\r\n state = removeTabFromWidget(state, id);\r\n const bounds = widgetDef.tabLocation?.floatingWidget?.bounds;\r\n state = addFloatingWidget(state, getUniqueId(), [id], { bounds });\r\n }\r\n return state;\r\n}\r\n\r\n/** Stores widget location and hides it in the UI. */\r\nfunction hideWidget(state: NineZoneState, widgetDef: WidgetDef) {\r\n const location = getTabLocation(state, widgetDef.id);\r\n if (!location)\r\n return state;\r\n // istanbul ignore else\r\n if (isFloatingTabLocation(location)) {\r\n const floatingWidget = state.floatingWidgets.byId[location.widgetId];\r\n widgetDef.setFloatingContainerId(location.floatingWidgetId);\r\n widgetDef.tabLocation = {\r\n side: floatingWidget.home.side,\r\n tabIndex: floatingWidget.home.widgetIndex,\r\n widgetId: floatingWidget.id,\r\n widgetIndex: floatingWidget.home.widgetIndex,\r\n floatingWidget,\r\n };\r\n } else if (!isPopoutTabLocation(location)) {\r\n const widgetId = location.widgetId;\r\n const side = isPanelTabLocation(location) ? location.side : \"left\";\r\n const widgetIndex = isPanelTabLocation(location) ? state.panels[side].widgets.indexOf(widgetId) : 0;\r\n const tabIndex = state.widgets[location.widgetId].tabs.indexOf(widgetDef.id);\r\n widgetDef.tabLocation = {\r\n side,\r\n tabIndex,\r\n widgetId,\r\n widgetIndex,\r\n };\r\n }\r\n return removeTabFromWidget(state, widgetDef.id);\r\n}\r\n\r\n/** @internal */\r\nexport function showWidget(state: NineZoneState, id: TabState[\"id\"]) {\r\n const location = getTabLocation(state, id);\r\n if (!location)\r\n return state;\r\n state = produce(state, (draft) => {\r\n const widget = draft.widgets[location.widgetId];\r\n widget.activeTabId = id;\r\n widget.minimized = false;\r\n if (isPanelTabLocation(location)) {\r\n const panel = draft.panels[location.side];\r\n panel.collapsed = false;\r\n }\r\n });\r\n if (isFloatingTabLocation(location)) {\r\n state = floatingWidgetBringToFront(state, location.floatingWidgetId);\r\n }\r\n return state;\r\n}\r\n\r\n/** @internal */\r\nexport function expandWidget(state: NineZoneState, id: TabState[\"id\"]) {\r\n const location = getTabLocation(state, id);\r\n if (!location)\r\n return state;\r\n\r\n return produce(state, (draft) => {\r\n const widget = draft.widgets[location.widgetId];\r\n if (isPanelTabLocation(location)) {\r\n const panel = draft.panels[location.side];\r\n panel.widgets.forEach((wId) => {\r\n const w = draft.widgets[wId];\r\n w.minimized = true;\r\n });\r\n }\r\n widget.minimized = false;\r\n });\r\n}\r\n\r\n/** @internal */\r\nexport function setWidgetLabel(state: NineZoneState, id: TabState[\"id\"], label: string) {\r\n if (!(id in state.tabs))\r\n return state;\r\n\r\n return produce(state, (draft) => {\r\n const tab = draft.tabs[id];\r\n tab.label = label;\r\n });\r\n}\r\n\r\n/** @internal */\r\nexport function useSavedFrontstageState(frontstageDef: FrontstageDef) {\r\n const uiStateStorage = useUiStateStorageHandler();\r\n const uiStateStorageRef = React.useRef(uiStateStorage);\r\n const isMountedRef = React.useRef(false);\r\n React.useEffect(() => {\r\n isMountedRef.current = true;\r\n return () => { isMountedRef.current = false; };\r\n }, []);\r\n React.useEffect(() => {\r\n uiStateStorageRef.current = uiStateStorage;\r\n }, [uiStateStorage]);\r\n React.useEffect(() => {\r\n async function fetchFrontstageState() {\r\n if (frontstageDef.nineZoneState) {\r\n frontstageDef.nineZoneState = processPopoutWidgets(frontstageDef.nineZoneState, frontstageDef);\r\n return;\r\n }\r\n const id = frontstageDef.id;\r\n const version = frontstageDef.version;\r\n const settingResult = await uiStateStorageRef.current.getSetting(FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName(id));\r\n if (!isMountedRef.current)\r\n return;\r\n\r\n if (isFrontstageStateSettingResult(settingResult)) {\r\n const setting = settingResult.setting;\r\n if (setting.version >= version && setting.stateVersion >= stateVersion) {\r\n const restored = restoreNineZoneState(frontstageDef, setting.nineZone);\r\n\r\n frontstageDef.savedWidgetDefs = setting.widgets;\r\n restoreSavedWidgets(frontstageDef);\r\n\r\n let state = addMissingWidgets(frontstageDef, restored);\r\n state = hideWidgets(state, frontstageDef);\r\n state = processPopoutWidgets(state, frontstageDef);\r\n\r\n frontstageDef.nineZoneState = state;\r\n return;\r\n }\r\n }\r\n frontstageDef.nineZoneState = initializeNineZoneState(frontstageDef);\r\n }\r\n void fetchFrontstageState();\r\n }, [frontstageDef]);\r\n}\r\n\r\n/** @internal */\r\nexport function useSaveFrontstageSettings(frontstageDef: FrontstageDef, store: LayoutStore) {\r\n const uiSettingsStorage = useUiStateStorageHandler();\r\n const saveSetting = React.useMemo(() => {\r\n const debounced = debounce(async (frontstage: FrontstageDef, state: NineZoneState) => {\r\n const id = frontstage.id;\r\n const widgets = packSavedWidgets(frontstage);\r\n frontstage.savedWidgetDefs = widgets;\r\n const setting: WidgetPanelsFrontstageState = {\r\n id,\r\n version: frontstage.version,\r\n stateVersion,\r\n nineZone: packNineZoneState(state),\r\n widgets,\r\n };\r\n await uiSettingsStorage.saveSetting(FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName(id), setting);\r\n }, 1000);\r\n\r\n const save = (frontstage: FrontstageDef, state: NineZoneState) => {\r\n if (state.draggedTab)\r\n return;\r\n debounced(frontstage, state);\r\n };\r\n save.cancel = debounced.cancel;\r\n return save;\r\n }, [uiSettingsStorage]);\r\n React.useEffect(() => {\r\n return () => {\r\n saveSetting.cancel();\r\n };\r\n }, [saveSetting]);\r\n\r\n React.useEffect(() => {\r\n saveSetting(frontstageDef, store.getState());\r\n }, [saveSetting, frontstageDef, store]);\r\n React.useEffect(() => {\r\n return store.subscribe(() => {\r\n saveSetting(frontstageDef, store.getState());\r\n });\r\n }, [saveSetting, frontstageDef, store]);\r\n}\r\n\r\n/** @internal */\r\nexport const FRONTSTAGE_SETTINGS_NAMESPACE = \"uifw-frontstageSettings\";\r\n\r\n/** @internal */\r\nexport function getFrontstageStateSettingName(frontstageId: WidgetPanelsFrontstageState[\"id\"]) {\r\n return `frontstageState[${frontstageId}]`;\r\n}\r\n\r\n// istanbul ignore next\r\nfunction debounce<T extends (...args: any[]) => any>(func: T, duration: number) {\r\n let timeout: number | undefined;\r\n const debounced = (...args: Parameters<T>) => {\r\n const handler = () => {\r\n timeout = undefined;\r\n return func(...args);\r\n };\r\n window.clearTimeout(timeout);\r\n timeout = window.setTimeout(handler, duration);\r\n };\r\n debounced.cancel = () => {\r\n window.clearTimeout(timeout);\r\n };\r\n return debounced;\r\n}\r\n\r\nconst createListener = <T extends (...args: any[]) => void>(frontstageDef: FrontstageDef, listener: T) => {\r\n return (...args: Parameters<T>) => {\r\n if (!frontstageDef.nineZoneState)\r\n return;\r\n listener(...args);\r\n };\r\n};\r\n\r\n/** @internal */\r\nexport function useFrontstageManager(frontstageDef: FrontstageDef, useToolAsToolSettingsLabel?: boolean) {\r\n React.useEffect(() => {\r\n const listener = createListener(frontstageDef, ({ widgetDef, widgetState }: WidgetStateChangedEventArgs) => {\r\n assert(!!frontstageDef.nineZoneState);\r\n frontstageDef.nineZoneState = setWidgetState(frontstageDef.nineZoneState, widgetDef, widgetState);\r\n });\r\n UiFramework.frontstages.onWidgetStateChangedEvent.addListener(listener);\r\n return () => {\r\n UiFramework.frontstages.onWidgetStateChangedEvent.removeListener(listener);\r\n };\r\n }, [frontstageDef]);\r\n React.useEffect(() => {\r\n const listener = createListener(frontstageDef, ({ widgetDef }: WidgetEventArgs) => {\r\n assert(!!frontstageDef.nineZoneState);\r\n frontstageDef.nineZoneState = showWidget(frontstageDef.nineZoneState, widgetDef.id);\r\n });\r\n InternalFrontstageManager.onWidgetShowEvent.addListener(listener);\r\n return () => {\r\n InternalFrontstageManager.onWidgetShowEvent.removeListener(listener);\r\n };\r\n }, [frontstageDef]);\r\n React.useEffect(() => {\r\n const listener = createListener(frontstageDef, ({ widgetDef }: WidgetEventArgs) => {\r\n assert(!!frontstageDef.nineZoneState);\r\n let nineZoneState = showWidget(frontstageDef.nineZoneState, widgetDef.id);\r\n nineZoneState = expandWidget(nineZoneState, widgetDef.id);\r\n frontstageDef.nineZoneState = nineZoneState;\r\n });\r\n InternalFrontstageManager.onWidgetExpandEvent.addListener(listener);\r\n return () => {\r\n InternalFrontstageManager.onWidgetExpandEvent.removeListener(listener);\r\n };\r\n }, [frontstageDef]);\r\n const uiSettingsStorage = useUiStateStorageHandler();\r\n React.useEffect(() => {\r\n const listener = (args: FrontstageEventArgs) => {\r\n // TODO: track restoring frontstages to support workflows: i.e. prevent loading frontstage OR saving layout when delete is pending\r\n void uiSettingsStorage.deleteSetting(FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName(args.frontstageDef.id));\r\n if (frontstageDef.id === args.frontstageDef.id) {\r\n args.frontstageDef.nineZoneState = initializeNineZoneState(frontstageDef);\r\n } else {\r\n args.frontstageDef.nineZoneState = undefined;\r\n }\r\n };\r\n InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener(listener);\r\n return () => {\r\n InternalFrontstageManager.onFrontstageRestoreLayoutEvent.removeListener(listener);\r\n };\r\n }, [uiSettingsStorage, frontstageDef]);\r\n React.useEffect(() => {\r\n const listener = createListener(frontstageDef, ({ widgetDef }: WidgetEventArgs) => {\r\n assert(!!frontstageDef.nineZoneState);\r\n const label = widgetDef.label;\r\n frontstageDef.nineZoneState = setWidgetLabel(frontstageDef.nineZoneState, widgetDef.id, label);\r\n });\r\n InternalFrontstageManager.onWidgetLabelChangedEvent.addListener(listener);\r\n return () => {\r\n InternalFrontstageManager.onWidgetLabelChangedEvent.removeListener(listener);\r\n };\r\n }, [frontstageDef]);\r\n\r\n const defaultLabel = React.useMemo(\r\n () => UiFramework.translate(\"widget.labels.toolSettings\"), []\r\n );\r\n React.useEffect(() => {\r\n const updateLabel = createListener(frontstageDef, () => {\r\n const toolId = UiFramework.frontstages.activeToolId;\r\n assert(!!frontstageDef.nineZoneState);\r\n const label = useToolAsToolSettingsLabel ?\r\n IModelApp.tools.find(toolId)?.flyover || defaultLabel : defaultLabel;\r\n frontstageDef.nineZoneState = setWidgetLabel(frontstageDef.nineZoneState, toolSettingsTabId, label);\r\n });\r\n // Whenever the frontstageDef or the useTool... changes, keep the label up to date.\r\n updateLabel();\r\n // If useTool... is true, listen for events to keep up the label up to date.\r\n if (useToolAsToolSettingsLabel) {\r\n UiFramework.frontstages.onFrontstageReadyEvent.addListener(updateLabel);\r\n InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener(updateLabel);\r\n UiFramework.frontstages.onToolActivatedEvent.addListener(updateLabel);\r\n UiFramework.frontstages.onToolSettingsReloadEvent.addListener(updateLabel);\r\n }\r\n return () => {\r\n if (useToolAsToolSettingsLabel) {\r\n UiFramework.frontstages.onFrontstageReadyEvent.removeListener(updateLabel);\r\n InternalFrontstageManager.onFrontstageRestoreLayoutEvent.removeListener(updateLabel);\r\n UiFramework.frontstages.onToolActivatedEvent.removeListener(updateLabel);\r\n UiFramework.frontstages.onToolSettingsReloadEvent.removeListener(updateLabel);\r\n }\r\n };\r\n }, [frontstageDef, useToolAsToolSettingsLabel, defaultLabel]);\r\n}\r\n\r\n/** @internal */\r\n// istanbul ignore next\r\nexport function useItemsManager(frontstageDef: FrontstageDef) {\r\n const refreshNineZoneState = (def: FrontstageDef) => {\r\n // Fired for both registered/unregistered. Update definitions and remove/add missing widgets.\r\n def.updateWidgetDefs();\r\n restoreSavedWidgets(def);\r\n let state = def.nineZoneState;\r\n if (!state)\r\n return;\r\n state = addMissingWidgets(def, state);\r\n state = removeMissingWidgets(def, state);\r\n state = hideWidgets(state, def); // TODO: should only apply to widgets provided by registered provider in onUiProviderRegisteredEvent.\r\n def.nineZoneState = state;\r\n };\r\n\r\n React.useEffect(() => {\r\n const remove = UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\r\n refreshNineZoneState(frontstageDef);\r\n });\r\n // Need to refresh anytime frontstageDef changes because uiItemsProvider may have added something to\r\n // another stage before it was possibly unloaded in this stage.\r\n refreshNineZoneState(frontstageDef);\r\n return remove;\r\n }, [frontstageDef]);\r\n}\r\n\r\n// istanbul ignore next\r\nfunction determineNewWidgets(defs: readonly WidgetDef[] | undefined, state: NineZoneState) {\r\n defs = defs || [];\r\n const uniqueDefs = defs.filter((def, index, array) => {\r\n return index === array.findIndex((def1) => def.id === def1.id);\r\n });\r\n return uniqueDefs.filter((def) => !(def.id in state.tabs));\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FrontstageContent.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/FrontstageContent.tsx"],"names":[],"mappings":";AAWA,gBAAgB;AAChB,wBAAgB,6BAA6B,uBAS5C"}
1
+ {"version":3,"file":"FrontstageContent.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/FrontstageContent.tsx"],"names":[],"mappings":";AAWA,gBAAgB;AAChB,wBAAgB,6BAA6B,uBAQ5C"}
@@ -7,12 +7,12 @@
7
7
  */
8
8
  import * as React from "react";
9
9
  import { ContentLayout } from "../content/ContentLayout";
10
- import { useActiveFrontstageDef } from "../frontstage/Frontstage";
10
+ import { useActiveFrontstageDef } from "../frontstage/FrontstageDef";
11
11
  /** @internal */
12
12
  export function WidgetPanelsFrontstageContent() {
13
13
  const frontstageDef = useActiveFrontstageDef();
14
14
  if (!frontstageDef || !frontstageDef.contentLayoutDef || !frontstageDef.contentGroup)
15
15
  return null;
16
- return (React.createElement(ContentLayout, { contentLayout: frontstageDef.contentLayoutDef, contentGroup: frontstageDef.contentGroup, isInFooterMode: true }));
16
+ return (React.createElement(ContentLayout, { contentLayout: frontstageDef.contentLayoutDef, contentGroup: frontstageDef.contentGroup }));
17
17
  }
18
18
  //# sourceMappingURL=FrontstageContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FrontstageContent.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/FrontstageContent.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,gBAAgB;AAChB,MAAM,UAAU,6BAA6B;IAC3C,MAAM,aAAa,GAAG,sBAAsB,EAAE,CAAC;IAC/C,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,gBAAgB,IAAI,CAAC,aAAa,CAAC,YAAY;QAClF,OAAO,IAAI,CAAC;IACd,OAAO,CAAC,oBAAC,aAAa,IACpB,aAAa,EAAE,aAAa,CAAC,gBAAgB,EAC7C,YAAY,EAAE,aAAa,CAAC,YAAY,EACxC,cAAc,SACd,CAAC,CAAC;AACN,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\nimport * as React from \"react\";\r\nimport { ContentLayout } from \"../content/ContentLayout\";\r\nimport { useActiveFrontstageDef } from \"../frontstage/Frontstage\";\r\n\r\n/** @internal */\r\nexport function WidgetPanelsFrontstageContent() {\r\n const frontstageDef = useActiveFrontstageDef();\r\n if (!frontstageDef || !frontstageDef.contentLayoutDef || !frontstageDef.contentGroup)\r\n return null;\r\n return (<ContentLayout\r\n contentLayout={frontstageDef.contentLayoutDef}\r\n contentGroup={frontstageDef.contentGroup}\r\n isInFooterMode\r\n />);\r\n}\r\n"]}
1
+ {"version":3,"file":"FrontstageContent.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/FrontstageContent.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,gBAAgB;AAChB,MAAM,UAAU,6BAA6B;IAC3C,MAAM,aAAa,GAAG,sBAAsB,EAAE,CAAC;IAC/C,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,gBAAgB,IAAI,CAAC,aAAa,CAAC,YAAY;QAClF,OAAO,IAAI,CAAC;IACd,OAAO,CAAC,oBAAC,aAAa,IACpB,aAAa,EAAE,aAAa,CAAC,gBAAgB,EAC7C,YAAY,EAAE,aAAa,CAAC,YAAY,GACxC,CAAC,CAAC;AACN,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\nimport * as React from \"react\";\r\nimport { ContentLayout } from \"../content/ContentLayout\";\r\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef\";\r\n\r\n/** @internal */\r\nexport function WidgetPanelsFrontstageContent() {\r\n const frontstageDef = useActiveFrontstageDef();\r\n if (!frontstageDef || !frontstageDef.contentLayoutDef || !frontstageDef.contentGroup)\r\n return null;\r\n return (<ContentLayout\r\n contentLayout={frontstageDef.contentLayoutDef}\r\n contentGroup={frontstageDef.contentGroup}\r\n />);\r\n}\r\n"]}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { ModalFrontstageInfo } from "../frontstage/FrontstageManager";
2
+ import { ModalFrontstageInfo } from "../framework/FrameworkFrontstages";
3
3
  /** @internal */
4
4
  export declare function useActiveModalFrontstageInfo(): ModalFrontstageInfo | undefined;
5
5
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"ModalFrontstageComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAsD,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAG1H,gBAAgB;AAChB,wBAAgB,4BAA4B,oCAY3C;AAED,gBAAgB;AAChB,wBAAgB,uBAAuB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,mBAAmB,GAAG,SAAS,CAAA;CAAE,sBAgBpG"}
1
+ {"version":3,"file":"ModalFrontstageComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAmC,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAIzG,gBAAgB;AAChB,wBAAgB,4BAA4B,oCAY3C;AAED,gBAAgB;AAChB,wBAAgB,uBAAuB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,mBAAmB,GAAG,SAAS,CAAA;CAAE,sBAgBpG"}
@@ -6,25 +6,25 @@
6
6
  * @module Frontstage
7
7
  */
8
8
  import * as React from "react";
9
- import { FrontstageManager } from "../frontstage/FrontstageManager";
10
9
  import { ModalFrontstage } from "../frontstage/ModalFrontstage";
10
+ import { UiFramework } from "../UiFramework";
11
11
  /** @internal */
12
12
  export function useActiveModalFrontstageInfo() {
13
- const [activeModalFrontstageInfo, setActiveModalFrontstageInfo] = React.useState(FrontstageManager.activeModalFrontstage);
13
+ const [activeModalFrontstageInfo, setActiveModalFrontstageInfo] = React.useState(UiFramework.frontstages.activeModalFrontstage);
14
14
  React.useEffect(() => {
15
15
  const handleModalFrontstageChangedEvent = (args) => {
16
- setActiveModalFrontstageInfo(args.modalFrontstageCount === 0 ? undefined : FrontstageManager.activeModalFrontstage);
16
+ setActiveModalFrontstageInfo(args.modalFrontstageCount === 0 ? undefined : UiFramework.frontstages.activeModalFrontstage);
17
17
  };
18
- FrontstageManager.onModalFrontstageChangedEvent.addListener(handleModalFrontstageChangedEvent);
18
+ UiFramework.frontstages.onModalFrontstageChangedEvent.addListener(handleModalFrontstageChangedEvent);
19
19
  return () => {
20
- FrontstageManager.onModalFrontstageChangedEvent.removeListener(handleModalFrontstageChangedEvent);
20
+ UiFramework.frontstages.onModalFrontstageChangedEvent.removeListener(handleModalFrontstageChangedEvent);
21
21
  };
22
22
  }, [setActiveModalFrontstageInfo]);
23
23
  return activeModalFrontstageInfo;
24
24
  }
25
25
  /** @internal */
26
26
  export function ModalFrontstageComposer({ stageInfo }) {
27
- const handleCloseModal = React.useCallback(/* istanbul ignore next */ () => FrontstageManager.closeModalFrontstage(), []);
27
+ const handleCloseModal = React.useCallback(/* istanbul ignore next */ () => UiFramework.frontstages.closeModalFrontstage(), []);
28
28
  // istanbul ignore next
29
29
  if (!stageInfo)
30
30
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"ModalFrontstageComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAwD,MAAM,iCAAiC,CAAC;AAC1H,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,gBAAgB;AAChB,MAAM,UAAU,4BAA4B;IAC1C,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAC1H,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,iCAAiC,GAAG,CAAC,IAAqC,EAAE,EAAE;YAClF,4BAA4B,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QACtH,CAAC,CAAC;QACF,iBAAiB,CAAC,6BAA6B,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC;QAC/F,OAAO,GAAG,EAAE;YACV,iBAAiB,CAAC,6BAA6B,CAAC,cAAc,CAAC,iCAAiC,CAAC,CAAC;QACpG,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACnC,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,uBAAuB,CAAC,EAAE,SAAS,EAAkD;IACnG,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,0BAA0B,CAAA,GAAG,EAAE,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,EAAE,EAAE,CAAC,CAAC;IACzH,uBAAuB;IACvB,IAAI,CAAC,SAAS;QACZ,OAAO,IAAI,CAAC;IAEd,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IAElD,OAAO,oBAAC,eAAe,IACrB,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,WAAW,IAEvB,OAAO,CACQ,CAAC;AACrB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\nimport * as React from \"react\";\r\nimport { FrontstageManager, ModalFrontstageChangedEventArgs, ModalFrontstageInfo } from \"../frontstage/FrontstageManager\";\r\nimport { ModalFrontstage } from \"../frontstage/ModalFrontstage\";\r\n\r\n/** @internal */\r\nexport function useActiveModalFrontstageInfo() {\r\n const [activeModalFrontstageInfo, setActiveModalFrontstageInfo] = React.useState(FrontstageManager.activeModalFrontstage);\r\n React.useEffect(() => {\r\n const handleModalFrontstageChangedEvent = (args: ModalFrontstageChangedEventArgs) => {\r\n setActiveModalFrontstageInfo(args.modalFrontstageCount === 0 ? undefined : FrontstageManager.activeModalFrontstage);\r\n };\r\n FrontstageManager.onModalFrontstageChangedEvent.addListener(handleModalFrontstageChangedEvent);\r\n return () => {\r\n FrontstageManager.onModalFrontstageChangedEvent.removeListener(handleModalFrontstageChangedEvent);\r\n };\r\n }, [setActiveModalFrontstageInfo]);\r\n return activeModalFrontstageInfo;\r\n}\r\n\r\n/** @internal */\r\nexport function ModalFrontstageComposer({ stageInfo }: { stageInfo: ModalFrontstageInfo | undefined }) {\r\n const handleCloseModal = React.useCallback(/* istanbul ignore next */() => FrontstageManager.closeModalFrontstage(), []);\r\n // istanbul ignore next\r\n if (!stageInfo)\r\n return null;\r\n\r\n const { title, content, appBarRight } = stageInfo;\r\n\r\n return <ModalFrontstage\r\n isOpen={true}\r\n title={title}\r\n closeModal={handleCloseModal}\r\n appBarRight={appBarRight}\r\n >\r\n {content}\r\n </ModalFrontstage>;\r\n}\r\n"]}
1
+ {"version":3,"file":"ModalFrontstageComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,gBAAgB;AAChB,MAAM,UAAU,4BAA4B;IAC1C,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAChI,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,iCAAiC,GAAG,CAAC,IAAqC,EAAE,EAAE;YAClF,4BAA4B,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;QAC5H,CAAC,CAAC;QACF,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC;QACrG,OAAO,GAAG,EAAE;YACV,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC,cAAc,CAAC,iCAAiC,CAAC,CAAC;QAC1G,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACnC,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,uBAAuB,CAAC,EAAE,SAAS,EAAkD;IACnG,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,0BAA0B,CAAA,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,oBAAoB,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/H,uBAAuB;IACvB,IAAI,CAAC,SAAS;QACZ,OAAO,IAAI,CAAC;IAEd,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IAElD,OAAO,oBAAC,eAAe,IACrB,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,WAAW,IAEvB,OAAO,CACQ,CAAC;AACrB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\nimport * as React from \"react\";\r\nimport { ModalFrontstageChangedEventArgs, ModalFrontstageInfo } from \"../framework/FrameworkFrontstages\";\r\nimport { ModalFrontstage } from \"../frontstage/ModalFrontstage\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/** @internal */\r\nexport function useActiveModalFrontstageInfo() {\r\n const [activeModalFrontstageInfo, setActiveModalFrontstageInfo] = React.useState(UiFramework.frontstages.activeModalFrontstage);\r\n React.useEffect(() => {\r\n const handleModalFrontstageChangedEvent = (args: ModalFrontstageChangedEventArgs) => {\r\n setActiveModalFrontstageInfo(args.modalFrontstageCount === 0 ? undefined : UiFramework.frontstages.activeModalFrontstage);\r\n };\r\n UiFramework.frontstages.onModalFrontstageChangedEvent.addListener(handleModalFrontstageChangedEvent);\r\n return () => {\r\n UiFramework.frontstages.onModalFrontstageChangedEvent.removeListener(handleModalFrontstageChangedEvent);\r\n };\r\n }, [setActiveModalFrontstageInfo]);\r\n return activeModalFrontstageInfo;\r\n}\r\n\r\n/** @internal */\r\nexport function ModalFrontstageComposer({ stageInfo }: { stageInfo: ModalFrontstageInfo | undefined }) {\r\n const handleCloseModal = React.useCallback(/* istanbul ignore next */() => UiFramework.frontstages.closeModalFrontstage(), []);\r\n // istanbul ignore next\r\n if (!stageInfo)\r\n return null;\r\n\r\n const { title, content, appBarRight } = stageInfo;\r\n\r\n return <ModalFrontstage\r\n isOpen={true}\r\n title={title}\r\n closeModal={handleCloseModal}\r\n appBarRight={appBarRight}\r\n >\r\n {content}\r\n </ModalFrontstage>;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/StatusBar.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMhD,gBAAgB;AAChB,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,sBAqBvD"}
1
+ {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/StatusBar.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMhD,gBAAgB;AAChB,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,sBAiBvD"}