@itwin/appui-react 3.3.0-dev.9 → 3.4.0-dev.10

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 (395) hide show
  1. package/CHANGELOG.md +46 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +3 -0
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +9 -0
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts +2 -2
  7. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  8. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  9. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  10. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  11. package/lib/cjs/appui-react/configurableui/state.d.ts +4 -3
  12. package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
  13. package/lib/cjs/appui-react/configurableui/state.js +6 -1
  14. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  15. package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
  16. package/lib/cjs/appui-react/content/ContentGroup.js +0 -2
  17. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  18. package/lib/cjs/appui-react/content/ContentLayout.d.ts +4 -1
  19. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  20. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  21. package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +1 -1
  22. package/lib/cjs/appui-react/content/ContentViewManager.js +6 -2
  23. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  24. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  25. package/lib/cjs/appui-react/content/FloatingViewportContent.js +5 -5
  26. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  27. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  28. package/lib/cjs/appui-react/feedback/ElementTooltip.js +1 -0
  29. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  30. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +3 -1
  31. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  32. package/lib/cjs/appui-react/frontstage/Frontstage.js +1 -1
  33. package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
  34. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  35. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +14 -3
  36. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  37. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +2 -0
  38. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  39. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +4 -3
  40. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  41. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +2 -0
  42. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.json +2 -0
  43. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  44. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +49 -44
  45. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  46. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.d.ts +10 -0
  47. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.d.ts.map +1 -0
  48. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.js +23 -0
  49. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.js.map +1 -0
  50. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts +26 -0
  51. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts.map +1 -1
  52. package/lib/cjs/appui-react/messages/ActivityMessage.js +64 -5
  53. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  54. package/lib/cjs/appui-react/messages/ActivityMessagePopup.d.ts +1 -1
  55. package/lib/cjs/appui-react/messages/ActivityMessagePopup.d.ts.map +1 -1
  56. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js +3 -11
  57. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  58. package/lib/cjs/appui-react/messages/MessageManager.d.ts +17 -0
  59. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  60. package/lib/cjs/appui-react/messages/MessageManager.js +44 -0
  61. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  62. package/lib/cjs/appui-react/messages/StatusMessageRenderer.d.ts +2 -1
  63. package/lib/cjs/appui-react/messages/StatusMessageRenderer.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js +33 -28
  65. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  66. package/lib/cjs/appui-react/messages/StatusMessagesContainer.d.ts +1 -0
  67. package/lib/cjs/appui-react/messages/StatusMessagesContainer.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/messages/StatusMessagesContainer.js +1 -0
  69. package/lib/cjs/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  70. package/lib/cjs/appui-react/messages/StickyMessage.d.ts +1 -0
  71. package/lib/cjs/appui-react/messages/StickyMessage.d.ts.map +1 -1
  72. package/lib/cjs/appui-react/messages/StickyMessage.js +8 -6
  73. package/lib/cjs/appui-react/messages/StickyMessage.js.map +1 -1
  74. package/lib/cjs/appui-react/messages/ToastMessage.d.ts +1 -0
  75. package/lib/cjs/appui-react/messages/ToastMessage.d.ts.map +1 -1
  76. package/lib/cjs/appui-react/messages/ToastMessage.js +7 -5
  77. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  78. package/lib/cjs/appui-react/messages/getToastCategory.d.ts +1 -1
  79. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  80. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +13 -10
  81. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  82. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  83. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js +4 -1
  85. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  86. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  87. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +12 -3
  88. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  89. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +2 -0
  90. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  91. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +6 -9
  92. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  93. package/lib/cjs/appui-react/statusbar/StatusBar.js +38 -28
  94. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  95. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  96. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -0
  97. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  98. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.d.ts +9 -3
  99. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.d.ts.map +1 -1
  100. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  101. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.d.ts +1 -1
  102. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js +1 -1
  103. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  104. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.d.ts +1 -0
  105. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.d.ts.map +1 -1
  106. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js +1 -0
  107. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  108. package/lib/cjs/appui-react/statusfields/ConditionalField.d.ts +4 -1
  109. package/lib/cjs/appui-react/statusfields/ConditionalField.d.ts.map +1 -1
  110. package/lib/cjs/appui-react/statusfields/ConditionalField.js +4 -1
  111. package/lib/cjs/appui-react/statusfields/ConditionalField.js.map +1 -1
  112. package/lib/cjs/appui-react/statusfields/FooterModeField.d.ts +2 -3
  113. package/lib/cjs/appui-react/statusfields/FooterModeField.d.ts.map +1 -1
  114. package/lib/cjs/appui-react/statusfields/FooterModeField.js +9 -8
  115. package/lib/cjs/appui-react/statusfields/FooterModeField.js.map +1 -1
  116. package/lib/cjs/appui-react/statusfields/Indicator.d.ts +3 -1
  117. package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
  118. package/lib/cjs/appui-react/statusfields/Indicator.js +1 -0
  119. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  120. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +4 -2
  121. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  122. package/lib/cjs/appui-react/statusfields/MessageCenter.js +33 -15
  123. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  124. package/lib/cjs/appui-react/statusfields/PromptField.d.ts.map +1 -1
  125. package/lib/cjs/appui-react/statusfields/PromptField.js +4 -1
  126. package/lib/cjs/appui-react/statusfields/PromptField.js.map +1 -1
  127. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  128. package/lib/cjs/appui-react/statusfields/SectionsField.js +4 -1
  129. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  130. package/lib/cjs/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  131. package/lib/cjs/appui-react/statusfields/SelectionInfo.js +4 -1
  132. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  133. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  134. package/lib/cjs/appui-react/statusfields/SelectionScope.js +6 -3
  135. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  136. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +0 -1
  137. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  138. package/lib/cjs/appui-react/statusfields/SnapMode.js +0 -2
  139. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  140. package/lib/cjs/appui-react/statusfields/StatusFieldProps.d.ts +12 -6
  141. package/lib/cjs/appui-react/statusfields/StatusFieldProps.d.ts.map +1 -1
  142. package/lib/cjs/appui-react/statusfields/StatusFieldProps.js +0 -7
  143. package/lib/cjs/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  144. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  145. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +5 -1
  146. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  147. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  148. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js +4 -1
  149. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  150. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +1 -0
  151. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  152. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +14 -10
  153. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  154. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  155. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +19 -16
  156. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  157. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  158. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +1 -0
  159. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  160. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  161. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +1 -0
  162. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  163. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  164. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +7 -2
  165. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  166. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  167. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +7 -2
  168. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  169. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts +2 -0
  170. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  171. package/lib/cjs/appui-react/uistate/AppUiSettings.js +4 -0
  172. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  173. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  174. package/lib/cjs/appui-react/widget-panels/Content.js +10 -0
  175. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  176. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +9 -1
  177. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  178. package/lib/cjs/appui-react/widget-panels/Frontstage.js +132 -35
  179. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  180. package/lib/cjs/appui-react/widget-panels/useTransientState.d.ts +8 -0
  181. package/lib/cjs/appui-react/widget-panels/useTransientState.d.ts.map +1 -0
  182. package/lib/cjs/appui-react/widget-panels/useTransientState.js +19 -0
  183. package/lib/cjs/appui-react/widget-panels/useTransientState.js.map +1 -0
  184. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.d.ts.map +1 -1
  185. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js +1 -0
  186. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  187. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +4 -0
  188. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  189. package/lib/cjs/appui-react/widgets/WidgetDef.js +9 -2
  190. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  191. package/lib/cjs/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  192. package/lib/cjs/appui-react/widgets/WidgetHost.js +3 -1
  193. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  194. package/lib/cjs/appui-react.d.ts +1 -0
  195. package/lib/cjs/appui-react.d.ts.map +1 -1
  196. package/lib/cjs/appui-react.js +1 -0
  197. package/lib/cjs/appui-react.js.map +1 -1
  198. package/lib/esm/appui-react/UiFramework.d.ts +3 -0
  199. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  200. package/lib/esm/appui-react/UiFramework.js +9 -0
  201. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  202. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +2 -2
  203. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  204. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  205. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  206. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  207. package/lib/esm/appui-react/configurableui/state.d.ts +4 -3
  208. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  209. package/lib/esm/appui-react/configurableui/state.js +6 -1
  210. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  211. package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
  212. package/lib/esm/appui-react/content/ContentGroup.js +0 -2
  213. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  214. package/lib/esm/appui-react/content/ContentLayout.d.ts +4 -1
  215. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  216. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  217. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
  218. package/lib/esm/appui-react/content/ContentViewManager.js +6 -2
  219. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  220. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  221. package/lib/esm/appui-react/content/FloatingViewportContent.js +5 -5
  222. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  223. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  224. package/lib/esm/appui-react/feedback/ElementTooltip.js +1 -0
  225. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  226. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +3 -1
  227. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  228. package/lib/esm/appui-react/frontstage/Frontstage.js +1 -1
  229. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  230. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  231. package/lib/esm/appui-react/frontstage/FrontstageDef.js +14 -3
  232. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  233. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +2 -0
  234. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  235. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +4 -3
  236. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  237. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +2 -0
  238. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.json +2 -0
  239. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  240. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +47 -42
  241. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  242. package/lib/esm/appui-react/imodel-components/models-tree/Utils.d.ts +10 -0
  243. package/lib/esm/appui-react/imodel-components/models-tree/Utils.d.ts.map +1 -0
  244. package/lib/esm/appui-react/imodel-components/models-tree/Utils.js +19 -0
  245. package/lib/esm/appui-react/imodel-components/models-tree/Utils.js.map +1 -0
  246. package/lib/esm/appui-react/messages/ActivityMessage.d.ts +26 -0
  247. package/lib/esm/appui-react/messages/ActivityMessage.d.ts.map +1 -1
  248. package/lib/esm/appui-react/messages/ActivityMessage.js +63 -7
  249. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  250. package/lib/esm/appui-react/messages/ActivityMessagePopup.d.ts +1 -1
  251. package/lib/esm/appui-react/messages/ActivityMessagePopup.d.ts.map +1 -1
  252. package/lib/esm/appui-react/messages/ActivityMessagePopup.js +4 -12
  253. package/lib/esm/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  254. package/lib/esm/appui-react/messages/MessageManager.d.ts +17 -0
  255. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  256. package/lib/esm/appui-react/messages/MessageManager.js +44 -0
  257. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  258. package/lib/esm/appui-react/messages/StatusMessageRenderer.d.ts +2 -1
  259. package/lib/esm/appui-react/messages/StatusMessageRenderer.d.ts.map +1 -1
  260. package/lib/esm/appui-react/messages/StatusMessageRenderer.js +33 -28
  261. package/lib/esm/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  262. package/lib/esm/appui-react/messages/StatusMessagesContainer.d.ts +1 -0
  263. package/lib/esm/appui-react/messages/StatusMessagesContainer.d.ts.map +1 -1
  264. package/lib/esm/appui-react/messages/StatusMessagesContainer.js +1 -0
  265. package/lib/esm/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  266. package/lib/esm/appui-react/messages/StickyMessage.d.ts +1 -0
  267. package/lib/esm/appui-react/messages/StickyMessage.d.ts.map +1 -1
  268. package/lib/esm/appui-react/messages/StickyMessage.js +9 -7
  269. package/lib/esm/appui-react/messages/StickyMessage.js.map +1 -1
  270. package/lib/esm/appui-react/messages/ToastMessage.d.ts +1 -0
  271. package/lib/esm/appui-react/messages/ToastMessage.d.ts.map +1 -1
  272. package/lib/esm/appui-react/messages/ToastMessage.js +8 -6
  273. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  274. package/lib/esm/appui-react/messages/getToastCategory.d.ts +1 -1
  275. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  276. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +13 -10
  277. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  278. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  279. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.d.ts.map +1 -1
  280. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js +4 -1
  281. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  282. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  283. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +12 -3
  284. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  285. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +2 -0
  286. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  287. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +6 -9
  288. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  289. package/lib/esm/appui-react/statusbar/StatusBar.js +38 -28
  290. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  291. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  292. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -0
  293. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  294. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.d.ts +9 -3
  295. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.d.ts.map +1 -1
  296. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  297. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.d.ts +1 -1
  298. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js +1 -1
  299. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  300. package/lib/esm/appui-react/statusbar/withStatusFieldProps.d.ts +1 -0
  301. package/lib/esm/appui-react/statusbar/withStatusFieldProps.d.ts.map +1 -1
  302. package/lib/esm/appui-react/statusbar/withStatusFieldProps.js +1 -0
  303. package/lib/esm/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  304. package/lib/esm/appui-react/statusfields/ConditionalField.d.ts +4 -1
  305. package/lib/esm/appui-react/statusfields/ConditionalField.d.ts.map +1 -1
  306. package/lib/esm/appui-react/statusfields/ConditionalField.js +4 -1
  307. package/lib/esm/appui-react/statusfields/ConditionalField.js.map +1 -1
  308. package/lib/esm/appui-react/statusfields/FooterModeField.d.ts +2 -3
  309. package/lib/esm/appui-react/statusfields/FooterModeField.d.ts.map +1 -1
  310. package/lib/esm/appui-react/statusfields/FooterModeField.js +9 -8
  311. package/lib/esm/appui-react/statusfields/FooterModeField.js.map +1 -1
  312. package/lib/esm/appui-react/statusfields/Indicator.d.ts +3 -1
  313. package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
  314. package/lib/esm/appui-react/statusfields/Indicator.js +1 -0
  315. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  316. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +4 -2
  317. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  318. package/lib/esm/appui-react/statusfields/MessageCenter.js +33 -15
  319. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  320. package/lib/esm/appui-react/statusfields/PromptField.d.ts.map +1 -1
  321. package/lib/esm/appui-react/statusfields/PromptField.js +4 -1
  322. package/lib/esm/appui-react/statusfields/PromptField.js.map +1 -1
  323. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  324. package/lib/esm/appui-react/statusfields/SectionsField.js +4 -1
  325. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  326. package/lib/esm/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  327. package/lib/esm/appui-react/statusfields/SelectionInfo.js +4 -1
  328. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  329. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  330. package/lib/esm/appui-react/statusfields/SelectionScope.js +6 -3
  331. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  332. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +0 -1
  333. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  334. package/lib/esm/appui-react/statusfields/SnapMode.js +0 -2
  335. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  336. package/lib/esm/appui-react/statusfields/StatusFieldProps.d.ts +12 -6
  337. package/lib/esm/appui-react/statusfields/StatusFieldProps.d.ts.map +1 -1
  338. package/lib/esm/appui-react/statusfields/StatusFieldProps.js +0 -7
  339. package/lib/esm/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  340. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  341. package/lib/esm/appui-react/statusfields/ViewAttributes.js +5 -1
  342. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  343. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  344. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js +4 -1
  345. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  346. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +1 -0
  347. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  348. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +14 -10
  349. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  350. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  351. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +19 -16
  352. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  353. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  354. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +1 -0
  355. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  356. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  357. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +1 -0
  358. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  359. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  360. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +7 -2
  361. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  362. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  363. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +7 -2
  364. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  365. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts +2 -0
  366. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  367. package/lib/esm/appui-react/uistate/AppUiSettings.js +4 -0
  368. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  369. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  370. package/lib/esm/appui-react/widget-panels/Content.js +10 -0
  371. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  372. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +9 -1
  373. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  374. package/lib/esm/appui-react/widget-panels/Frontstage.js +133 -36
  375. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  376. package/lib/esm/appui-react/widget-panels/useTransientState.d.ts +8 -0
  377. package/lib/esm/appui-react/widget-panels/useTransientState.d.ts.map +1 -0
  378. package/lib/esm/appui-react/widget-panels/useTransientState.js +15 -0
  379. package/lib/esm/appui-react/widget-panels/useTransientState.js.map +1 -0
  380. package/lib/esm/appui-react/widget-panels/useWidgetDirection.d.ts.map +1 -1
  381. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js +1 -0
  382. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  383. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +4 -0
  384. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  385. package/lib/esm/appui-react/widgets/WidgetDef.js +9 -2
  386. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  387. package/lib/esm/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  388. package/lib/esm/appui-react/widgets/WidgetHost.js +3 -1
  389. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  390. package/lib/esm/appui-react.d.ts +1 -0
  391. package/lib/esm/appui-react.d.ts.map +1 -1
  392. package/lib/esm/appui-react.js +1 -0
  393. package/lib/esm/appui-react.js.map +1 -1
  394. package/lib/public/locales/en/UiFramework.json +6 -1
  395. package/package.json +37 -37
@@ -14,7 +14,7 @@ import { assert, Logger, ProcessDetector } from "@itwin/core-bentley";
14
14
  import { StagePanelLocation, UiItemsManager, WidgetState } from "@itwin/appui-abstract";
15
15
  import { Size, UiStateStorageStatus } from "@itwin/core-react";
16
16
  import { ToolbarPopupAutoHideContext } from "@itwin/components-react";
17
- import { addPanelWidget, addTab, addWidgetTabToFloatingPanel, addWidgetTabToPanelSection, convertAllPopupWidgetContainersToFloating, createNineZoneState, createTabsState, createTabState, createWidgetState, findTab, findWidget, floatingWidgetBringToFront, FloatingWidgets, getUniqueId, getWidgetPanelSectionId, isFloatingLocation, isHorizontalPanelSide, NineZone, NineZoneStateReducer, panelSides, removeTab, toolSettingsTabId, WidgetPanels, } from "@itwin/appui-layout-react";
17
+ import { addPanelWidget, addTab, addWidgetTabToDraftFloatingPanel, addWidgetTabToFloatingPanel, addWidgetTabToPanelSection, convertAllPopupWidgetContainersToFloating, createNineZoneState, createTabsState, createTabState, createWidgetState, findTab, findWidget, floatingWidgetBringToFront, FloatingWidgets, getUniqueId, getWidgetPanelSectionId, isFloatingLocation, isHorizontalPanelSide, isPopoutLocation, NineZone, NineZoneStateReducer, panelSides, removeTab, toolSettingsTabId, WidgetPanels, } from "@itwin/appui-layout-react";
18
18
  import { useActiveFrontstageDef } from "../frontstage/Frontstage";
19
19
  import { FrontstageManager } from "../frontstage/FrontstageManager";
20
20
  import { StagePanelState } from "../stagepanels/StagePanelDef";
@@ -31,6 +31,7 @@ import { ToolSettingsContent, WidgetPanelsToolSettings } from "./ToolSettings";
31
31
  import { useEscapeSetFocusToHome } from "../hooks/useEscapeSetFocusToHome";
32
32
  import { useSelector } from "react-redux";
33
33
  import { useUiVisibility } from "../hooks/useUiVisibility";
34
+ import { IModelApp } from "@itwin/core-frontend";
34
35
  const panelZoneKeys = ["start", "end"];
35
36
  const WidgetInternals = React.memo(function WidgetInternals() {
36
37
  const activeModalFrontstageInfo = useActiveModalFrontstageInfo();
@@ -178,7 +179,6 @@ export function ActiveFrontstageDefProvider({ frontstageDef }) {
178
179
  useUpdateNineZoneSize(frontstageDef);
179
180
  useSavedFrontstageState(frontstageDef);
180
181
  useSaveFrontstageSettings(frontstageDef);
181
- useFrontstageManager(frontstageDef);
182
182
  useItemsManager(frontstageDef);
183
183
  const labels = useLabels();
184
184
  const uiIsVisible = useUiVisibility();
@@ -194,6 +194,11 @@ export function ActiveFrontstageDefProvider({ frontstageDef }) {
194
194
  const frameworkState = state[UiFramework.frameworkStateKey];
195
195
  return !!frameworkState.configurableUiState.animateToolSettings;
196
196
  });
197
+ const useToolAsToolSettingsLabel = useSelector((state) => {
198
+ const frameworkState = state[UiFramework.frameworkStateKey];
199
+ return !!frameworkState.configurableUiState.useToolAsToolSettingsLabel;
200
+ });
201
+ useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel);
197
202
  const handleKeyDown = useEscapeSetFocusToHome();
198
203
  return (React.createElement("div", { className: "uifw-widgetPanels-frontstage", onKeyDown: handleKeyDown, role: "presentation" },
199
204
  React.createElement(NineZone, { dispatch: dispatch, labels: labels, state: nineZone, tab: tabElement, showWidgetIcon: showWidgetIcon, autoCollapseUnpinnedPanels: autoCollapseUnpinnedPanels, toolSettingsContent: toolSettingsContent, widgetContent: widgetContent, animateDockedToolSettings: animateToolSettings, uiIsVisible: uiIsVisible }, widgetPanelsFrontstage)));
@@ -227,11 +232,12 @@ export function addWidgets(state, widgets, side, widgetId) {
227
232
  preferredFloatingWidgetSize: widget.defaultFloatingSize,
228
233
  canPopout: widget.canPopout,
229
234
  isFloatingStateWindowResizable: widget.isFloatingStateWindowResizable,
235
+ hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,
230
236
  });
231
237
  tabs.push(widget.id);
232
238
  }
233
239
  const activeWidget = visibleWidgets.find((widget) => widget.isActive);
234
- const minimized = !activeWidget;
240
+ const minimized = false;
235
241
  // istanbul ignore else
236
242
  if ((activeWidget === null || activeWidget === void 0 ? void 0 : activeWidget.defaultState) !== WidgetState.Floating) {
237
243
  state = addPanelWidget(state, side, widgetId, tabs, {
@@ -266,6 +272,7 @@ export function appendWidgets(state, widgetDefs, side, preferredWidgetIndex) {
266
272
  preferredPopoutWidgetSize,
267
273
  userSized,
268
274
  isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,
275
+ hideWithUiWhenFloating: !!widgetDef.hideWithUiWhenFloating,
269
276
  });
270
277
  if (widgetDef.isFloatingStateSupported && widgetDef.defaultState === WidgetState.Floating) {
271
278
  const floatingContainerId = (_a = widgetDef.floatingContainerId) !== null && _a !== void 0 ? _a : getUniqueId();
@@ -302,24 +309,24 @@ function processPopoutWidgets(initialState, frontstageDef) {
302
309
  export function addMissingWidgets(frontstageDef, initialState) {
303
310
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
304
311
  let state = initialState;
305
- state = appendWidgets(state, determineNewWidgets((_a = frontstageDef.centerLeft) === null || _a === void 0 ? void 0 : _a.widgetDefs, initialState), "left", 0);
306
- state = appendWidgets(state, determineNewWidgets((_b = frontstageDef.leftPanel) === null || _b === void 0 ? void 0 : _b.panelZones.start.widgetDefs, initialState), "left", 0);
307
- state = appendWidgets(state, determineNewWidgets((_c = frontstageDef.bottomLeft) === null || _c === void 0 ? void 0 : _c.widgetDefs, initialState), "left", 1);
308
- state = appendWidgets(state, determineNewWidgets((_d = frontstageDef.leftPanel) === null || _d === void 0 ? void 0 : _d.panelWidgetDefs, initialState), "left", 1);
309
- state = appendWidgets(state, determineNewWidgets((_e = frontstageDef.leftPanel) === null || _e === void 0 ? void 0 : _e.panelZones.end.widgetDefs, initialState), "left", 1);
310
- state = appendWidgets(state, determineNewWidgets((_f = frontstageDef.centerRight) === null || _f === void 0 ? void 0 : _f.widgetDefs, initialState), "right", 0);
311
- state = appendWidgets(state, determineNewWidgets((_g = frontstageDef.rightPanel) === null || _g === void 0 ? void 0 : _g.panelZones.start.widgetDefs, initialState), "right", 0);
312
- state = appendWidgets(state, determineNewWidgets((_h = frontstageDef.bottomRight) === null || _h === void 0 ? void 0 : _h.widgetDefs, initialState), "right", 1);
313
- state = appendWidgets(state, determineNewWidgets((_j = frontstageDef.rightPanel) === null || _j === void 0 ? void 0 : _j.panelWidgetDefs, initialState), "right", 1);
314
- state = appendWidgets(state, determineNewWidgets((_k = frontstageDef.rightPanel) === null || _k === void 0 ? void 0 : _k.panelZones.end.widgetDefs, initialState), "right", 1);
315
- state = appendWidgets(state, determineNewWidgets((_l = frontstageDef.topPanel) === null || _l === void 0 ? void 0 : _l.panelWidgetDefs, initialState), "top", 0);
316
- state = appendWidgets(state, determineNewWidgets((_m = frontstageDef.topPanel) === null || _m === void 0 ? void 0 : _m.panelZones.start.widgetDefs, initialState), "top", 0);
317
- state = appendWidgets(state, determineNewWidgets((_o = frontstageDef.topMostPanel) === null || _o === void 0 ? void 0 : _o.panelWidgetDefs, initialState), "top", 1); // eslint-disable-line deprecation/deprecation
318
- state = appendWidgets(state, determineNewWidgets((_p = frontstageDef.topPanel) === null || _p === void 0 ? void 0 : _p.panelZones.end.widgetDefs, initialState), "top", 1);
319
- state = appendWidgets(state, determineNewWidgets((_q = frontstageDef.bottomPanel) === null || _q === void 0 ? void 0 : _q.panelWidgetDefs, initialState), "bottom", 0);
320
- state = appendWidgets(state, determineNewWidgets((_r = frontstageDef.bottomPanel) === null || _r === void 0 ? void 0 : _r.panelZones.start.widgetDefs, initialState), "bottom", 0);
321
- state = appendWidgets(state, determineNewWidgets((_s = frontstageDef.bottomMostPanel) === null || _s === void 0 ? void 0 : _s.panelWidgetDefs, initialState), "bottom", 1); // eslint-disable-line deprecation/deprecation
322
- state = appendWidgets(state, determineNewWidgets((_t = frontstageDef.bottomPanel) === null || _t === void 0 ? void 0 : _t.panelZones.end.widgetDefs, initialState), "bottom", 1);
312
+ state = appendWidgets(state, determineNewWidgets((_a = frontstageDef.centerLeft) === null || _a === void 0 ? void 0 : _a.widgetDefs, state), "left", 0);
313
+ state = appendWidgets(state, determineNewWidgets((_b = frontstageDef.leftPanel) === null || _b === void 0 ? void 0 : _b.panelZones.start.widgetDefs, state), "left", 0);
314
+ state = appendWidgets(state, determineNewWidgets((_c = frontstageDef.bottomLeft) === null || _c === void 0 ? void 0 : _c.widgetDefs, state), "left", 1);
315
+ state = appendWidgets(state, determineNewWidgets((_d = frontstageDef.leftPanel) === null || _d === void 0 ? void 0 : _d.panelWidgetDefs, state), "left", 1);
316
+ state = appendWidgets(state, determineNewWidgets((_e = frontstageDef.leftPanel) === null || _e === void 0 ? void 0 : _e.panelZones.end.widgetDefs, state), "left", 1);
317
+ state = appendWidgets(state, determineNewWidgets((_f = frontstageDef.centerRight) === null || _f === void 0 ? void 0 : _f.widgetDefs, state), "right", 0);
318
+ state = appendWidgets(state, determineNewWidgets((_g = frontstageDef.rightPanel) === null || _g === void 0 ? void 0 : _g.panelZones.start.widgetDefs, state), "right", 0);
319
+ state = appendWidgets(state, determineNewWidgets((_h = frontstageDef.bottomRight) === null || _h === void 0 ? void 0 : _h.widgetDefs, state), "right", 1);
320
+ state = appendWidgets(state, determineNewWidgets((_j = frontstageDef.rightPanel) === null || _j === void 0 ? void 0 : _j.panelWidgetDefs, state), "right", 1);
321
+ state = appendWidgets(state, determineNewWidgets((_k = frontstageDef.rightPanel) === null || _k === void 0 ? void 0 : _k.panelZones.end.widgetDefs, state), "right", 1);
322
+ state = appendWidgets(state, determineNewWidgets((_l = frontstageDef.topPanel) === null || _l === void 0 ? void 0 : _l.panelWidgetDefs, state), "top", 0);
323
+ state = appendWidgets(state, determineNewWidgets((_m = frontstageDef.topPanel) === null || _m === void 0 ? void 0 : _m.panelZones.start.widgetDefs, state), "top", 0);
324
+ state = appendWidgets(state, determineNewWidgets((_o = frontstageDef.topMostPanel) === null || _o === void 0 ? void 0 : _o.panelWidgetDefs, state), "top", 1); // eslint-disable-line deprecation/deprecation
325
+ state = appendWidgets(state, determineNewWidgets((_p = frontstageDef.topPanel) === null || _p === void 0 ? void 0 : _p.panelZones.end.widgetDefs, state), "top", 1);
326
+ state = appendWidgets(state, determineNewWidgets((_q = frontstageDef.bottomPanel) === null || _q === void 0 ? void 0 : _q.panelWidgetDefs, state), "bottom", 0);
327
+ state = appendWidgets(state, determineNewWidgets((_r = frontstageDef.bottomPanel) === null || _r === void 0 ? void 0 : _r.panelZones.start.widgetDefs, state), "bottom", 0);
328
+ state = appendWidgets(state, determineNewWidgets((_s = frontstageDef.bottomMostPanel) === null || _s === void 0 ? void 0 : _s.panelWidgetDefs, state), "bottom", 1); // eslint-disable-line deprecation/deprecation
329
+ state = appendWidgets(state, determineNewWidgets((_t = frontstageDef.bottomPanel) === null || _t === void 0 ? void 0 : _t.panelZones.end.widgetDefs, state), "bottom", 1);
323
330
  return state;
324
331
  }
325
332
  /** Removes widgets with Hidden defaultState. */
@@ -488,10 +495,10 @@ export function getPanelZoneWidgets(frontstageDef, panelZone) {
488
495
  export function addPanelWidgets(state, frontstageDef, side) {
489
496
  const start = getWidgetId(side, "start");
490
497
  const startWidgets = getPanelZoneWidgets(frontstageDef, start);
491
- state = addWidgets(state, startWidgets, side, start);
498
+ state = addWidgets(state, determineNewWidgets(startWidgets, state), side, start);
492
499
  const end = getWidgetId(side, "end");
493
500
  const endWidgets = getPanelZoneWidgets(frontstageDef, end);
494
- state = addWidgets(state, endWidgets, side, end);
501
+ state = addWidgets(state, determineNewWidgets(endWidgets, state), side, end);
495
502
  return state;
496
503
  }
497
504
  /** @internal */
@@ -605,6 +612,7 @@ export function restoreNineZoneState(frontstageDef, saved) {
605
612
  draft.tabs[tab.id] = {
606
613
  ...tab,
607
614
  label: getWidgetLabel((_a = widgetDef === null || widgetDef === void 0 ? void 0 : widgetDef.label) !== null && _a !== void 0 ? _a : "undefined"),
615
+ hideWithUiWhenFloating: widgetDef === null || widgetDef === void 0 ? void 0 : widgetDef.hideWithUiWhenFloating,
608
616
  iconSpec: widgetDef === null || widgetDef === void 0 ? void 0 : widgetDef.iconSpec,
609
617
  canPopout: widgetDef === null || widgetDef === void 0 ? void 0 : widgetDef.canPopout,
610
618
  isFloatingStateWindowResizable: widgetDef === null || widgetDef === void 0 ? void 0 : widgetDef.isFloatingStateWindowResizable,
@@ -648,6 +656,20 @@ export function restoreNineZoneState(frontstageDef, saved) {
648
656
  }
649
657
  return restored;
650
658
  }
659
+ /**
660
+ * Checks to see whether a widget id is one of our generated uuids
661
+ * @param uuid the string value to test
662
+ * @returns boolean
663
+ */
664
+ function isUUID(uuid) {
665
+ const s = `${uuid}`;
666
+ const result = s.match("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$");
667
+ // istanbul ignore else
668
+ if (result === null) {
669
+ return false;
670
+ }
671
+ return true;
672
+ }
651
673
  /** Prepares NineZoneState to be saved.
652
674
  * @note Removes toolSettings tab.
653
675
  * @note Removes tab labels and iconSpec.
@@ -662,6 +684,9 @@ export function packNineZoneState(state) {
662
684
  for (const [, tab] of Object.entries(state.tabs)) {
663
685
  if (tab.id === toolSettingsTabId)
664
686
  continue;
687
+ // istanbul ignore else
688
+ if (isUUID(tab.id))
689
+ continue;
665
690
  draft.tabs[tab.id] = {
666
691
  id: tab.id,
667
692
  preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,
@@ -671,6 +696,18 @@ export function packNineZoneState(state) {
671
696
  };
672
697
  }
673
698
  });
699
+ packed = produce(packed, (draft) => {
700
+ for (const [, floatingWidget] of Object.entries(state.floatingWidgets.byId)) {
701
+ const widgetId = floatingWidget.id;
702
+ // istanbul ignore else
703
+ if (isUUID(widgetId)) {
704
+ const idIndex = draft.floatingWidgets.allIds.indexOf(widgetId);
705
+ draft.floatingWidgets.allIds.splice(idIndex, 1);
706
+ delete draft.floatingWidgets.byId[widgetId];
707
+ delete draft.widgets[widgetId];
708
+ }
709
+ }
710
+ });
674
711
  return packed;
675
712
  }
676
713
  /** @internal */
@@ -680,12 +717,14 @@ export function isPanelCollapsed(zoneStates, panelStates) {
680
717
  return !openZone && !openPanel;
681
718
  }
682
719
  function addRemovedTab(nineZone, widgetDef) {
720
+ var _a, _b;
683
721
  const newTab = createTabState(widgetDef.id, {
684
722
  label: getWidgetLabel(widgetDef.label),
685
723
  canPopout: widgetDef.canPopout,
686
724
  iconSpec: widgetDef.iconSpec,
687
725
  preferredPanelWidgetSize: widgetDef.preferredPanelSize,
688
726
  isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,
727
+ hideWithUiWhenFloating: !!widgetDef.hideWithUiWhenFloating,
689
728
  });
690
729
  nineZone.tabs[newTab.id] = newTab;
691
730
  if (widgetDef.tabLocation.widgetId in nineZone.widgets) {
@@ -694,6 +733,18 @@ function addRemovedTab(nineZone, widgetDef) {
694
733
  const newTabWidget = nineZone.widgets[widgetId];
695
734
  newTabWidget.tabs.splice(widgetDef.tabLocation.tabIndex, 0, newTab.id);
696
735
  }
736
+ else if (widgetDef.tabLocation.floating) {
737
+ const id = widgetDef.tabLocation.widgetId;
738
+ if (id in nineZone.floatingWidgets.byId) {
739
+ nineZone.floatingWidgets.allIds.push(id);
740
+ nineZone.floatingWidgets.byId[id].hidden = false;
741
+ addWidgetTabToDraftFloatingPanel(nineZone, (_a = widgetDef.floatingContainerId) !== null && _a !== void 0 ? _a : widgetDef.id, widgetDef.id, nineZone.floatingWidgets.byId[id].home, newTab);
742
+ }
743
+ else {
744
+ const home = { side: widgetDef.tabLocation.side, widgetId: widgetDef.floatingContainerId, widgetIndex: 0 };
745
+ addWidgetTabToDraftFloatingPanel(nineZone, (_b = widgetDef.floatingContainerId) !== null && _b !== void 0 ? _b : widgetDef.id, widgetDef.id, home, newTab);
746
+ }
747
+ }
697
748
  else {
698
749
  const newTabPanel = nineZone.panels[widgetDef.tabLocation.side];
699
750
  if (newTabPanel.maxWidgetCount === newTabPanel.widgets.length) {
@@ -713,7 +764,7 @@ function addRemovedTab(nineZone, widgetDef) {
713
764
  }
714
765
  /** @internal */
715
766
  export const setWidgetState = produce((nineZone, widgetDef, state) => {
716
- var _a;
767
+ var _a, _b;
717
768
  if (state === WidgetState.Open) {
718
769
  const id = widgetDef.id;
719
770
  let location = findTab(nineZone, id);
@@ -722,6 +773,9 @@ export const setWidgetState = produce((nineZone, widgetDef, state) => {
722
773
  location = findTab(nineZone, id);
723
774
  assert(!!location);
724
775
  }
776
+ if (!!widgetDef.tabLocation.floating) {
777
+ nineZone.floatingWidgets.byId[(_a = widgetDef.floatingContainerId) !== null && _a !== void 0 ? _a : widgetDef.id].hidden = false;
778
+ }
725
779
  const widget = nineZone.widgets[location.widgetId];
726
780
  widget.minimized = false;
727
781
  widget.activeTabId = id;
@@ -732,7 +786,7 @@ export const setWidgetState = produce((nineZone, widgetDef, state) => {
732
786
  panel.collapsed && (panel.collapsed = false);
733
787
  // istanbul ignore next
734
788
  if (undefined === panel.size || 0 === panel.size) {
735
- panel.size = (_a = panel.minSize) !== null && _a !== void 0 ? _a : 200;
789
+ panel.size = (_b = panel.minSize) !== null && _b !== void 0 ? _b : 200;
736
790
  }
737
791
  }
738
792
  }
@@ -760,16 +814,31 @@ function hideWidget(state, widgetDef) {
760
814
  const location = findTab(state, widgetDef.id);
761
815
  if (!location)
762
816
  return;
763
- const widgetId = location.widgetId;
764
- const side = "side" in location ? location.side : "left";
765
- const widgetIndex = "side" in location ? state.panels[side].widgets.indexOf(widgetId) : 0;
766
- const tabIndex = state.widgets[location.widgetId].tabs.indexOf(widgetDef.id);
767
- widgetDef.tabLocation = {
768
- side,
769
- tabIndex,
770
- widgetId,
771
- widgetIndex,
772
- };
817
+ if (isFloatingLocation(location)) {
818
+ const widget = state.floatingWidgets.byId[location.widgetId];
819
+ widgetDef.setFloatingContainerId(location.floatingWidgetId);
820
+ widgetDef.tabLocation = {
821
+ side: widget.home.side,
822
+ tabIndex: widget.home.widgetIndex,
823
+ widgetId: widgetDef.id,
824
+ widgetIndex: widget.home.widgetIndex,
825
+ floating: true,
826
+ };
827
+ }
828
+ else
829
+ // istanbul ignore else
830
+ if (!isPopoutLocation(location)) {
831
+ const widgetId = location.widgetId;
832
+ const side = "side" in location ? location.side : "left";
833
+ const widgetIndex = "side" in location ? state.panels[side].widgets.indexOf(widgetId) : 0;
834
+ const tabIndex = state.widgets[location.widgetId].tabs.indexOf(widgetDef.id);
835
+ widgetDef.tabLocation = {
836
+ side,
837
+ tabIndex,
838
+ widgetId,
839
+ widgetIndex,
840
+ };
841
+ }
773
842
  removeTab(state, widgetDef.id);
774
843
  }
775
844
  /** @internal */
@@ -907,7 +976,7 @@ const createListener = (frontstageDef, listener) => {
907
976
  };
908
977
  };
909
978
  /** @internal */
910
- export function useFrontstageManager(frontstageDef) {
979
+ export function useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel) {
911
980
  React.useEffect(() => {
912
981
  const listener = createListener(frontstageDef, ({ widgetDef, widgetState }) => {
913
982
  assert(!!frontstageDef.nineZoneState);
@@ -968,6 +1037,34 @@ export function useFrontstageManager(frontstageDef) {
968
1037
  FrontstageManager.onWidgetLabelChangedEvent.removeListener(listener);
969
1038
  };
970
1039
  }, [frontstageDef]);
1040
+ const defaultLabel = React.useMemo(() => UiFramework.translate("widget.labels.toolSettings"), []);
1041
+ React.useEffect(() => {
1042
+ const updateLabel = createListener(frontstageDef, () => {
1043
+ var _a;
1044
+ const toolId = FrontstageManager.activeToolId;
1045
+ assert(!!frontstageDef.nineZoneState);
1046
+ const label = useToolAsToolSettingsLabel ?
1047
+ ((_a = IModelApp.tools.find(toolId)) === null || _a === void 0 ? void 0 : _a.flyover) || defaultLabel : defaultLabel;
1048
+ frontstageDef.nineZoneState = setWidgetLabel(frontstageDef.nineZoneState, toolSettingsTabId, label);
1049
+ });
1050
+ // Whenever the frontstageDef or the useTool... changes, keep the label up to date.
1051
+ updateLabel();
1052
+ // If useTool... is true, listen for events to keep up the label up to date.
1053
+ if (useToolAsToolSettingsLabel) {
1054
+ FrontstageManager.onFrontstageReadyEvent.addListener(updateLabel);
1055
+ FrontstageManager.onFrontstageRestoreLayoutEvent.addListener(updateLabel);
1056
+ FrontstageManager.onToolActivatedEvent.addListener(updateLabel);
1057
+ FrontstageManager.onToolSettingsReloadEvent.addListener(updateLabel);
1058
+ }
1059
+ return () => {
1060
+ if (useToolAsToolSettingsLabel) {
1061
+ FrontstageManager.onFrontstageReadyEvent.removeListener(updateLabel);
1062
+ FrontstageManager.onFrontstageRestoreLayoutEvent.removeListener(updateLabel);
1063
+ FrontstageManager.onToolActivatedEvent.removeListener(updateLabel);
1064
+ FrontstageManager.onToolSettingsReloadEvent.removeListener(updateLabel);
1065
+ }
1066
+ };
1067
+ }, [frontstageDef, useToolAsToolSettingsLabel, defaultLabel]);
971
1068
  }
972
1069
  /** @internal */
973
1070
  // istanbul ignore next