@itwin/appui-react 3.3.0-dev.9 → 3.3.2

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 +88 -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/feedback/ElementTooltip.d.ts.map +1 -1
  25. package/lib/cjs/appui-react/feedback/ElementTooltip.js +1 -0
  26. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  27. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +3 -1
  28. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  29. package/lib/cjs/appui-react/frontstage/Frontstage.js +1 -1
  30. package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
  31. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  32. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +14 -3
  33. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  34. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +2 -0
  35. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  36. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +4 -3
  37. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  38. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +2 -0
  39. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.json +2 -0
  40. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  41. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +49 -44
  42. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  43. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.d.ts +10 -0
  44. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.d.ts.map +1 -0
  45. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.js +23 -0
  46. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.js.map +1 -0
  47. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts +26 -0
  48. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts.map +1 -1
  49. package/lib/cjs/appui-react/messages/ActivityMessage.js +64 -5
  50. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  51. package/lib/cjs/appui-react/messages/ActivityMessagePopup.d.ts +1 -1
  52. package/lib/cjs/appui-react/messages/ActivityMessagePopup.d.ts.map +1 -1
  53. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js +3 -11
  54. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  55. package/lib/cjs/appui-react/messages/MessageManager.d.ts +17 -0
  56. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  57. package/lib/cjs/appui-react/messages/MessageManager.js +44 -0
  58. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  59. package/lib/cjs/appui-react/messages/StatusMessageRenderer.d.ts +2 -1
  60. package/lib/cjs/appui-react/messages/StatusMessageRenderer.d.ts.map +1 -1
  61. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js +33 -28
  62. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  63. package/lib/cjs/appui-react/messages/StatusMessagesContainer.d.ts +1 -0
  64. package/lib/cjs/appui-react/messages/StatusMessagesContainer.d.ts.map +1 -1
  65. package/lib/cjs/appui-react/messages/StatusMessagesContainer.js +1 -0
  66. package/lib/cjs/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  67. package/lib/cjs/appui-react/messages/StickyMessage.d.ts +1 -0
  68. package/lib/cjs/appui-react/messages/StickyMessage.d.ts.map +1 -1
  69. package/lib/cjs/appui-react/messages/StickyMessage.js +8 -6
  70. package/lib/cjs/appui-react/messages/StickyMessage.js.map +1 -1
  71. package/lib/cjs/appui-react/messages/ToastMessage.d.ts +1 -0
  72. package/lib/cjs/appui-react/messages/ToastMessage.d.ts.map +1 -1
  73. package/lib/cjs/appui-react/messages/ToastMessage.js +7 -5
  74. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  75. package/lib/cjs/appui-react/messages/getToastCategory.d.ts +1 -1
  76. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  77. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +13 -10
  78. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  79. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  80. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js +4 -1
  82. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  83. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +12 -3
  85. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  86. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +2 -0
  87. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +6 -9
  89. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  90. package/lib/cjs/appui-react/statusbar/StatusBar.js +38 -28
  91. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  92. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  93. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -0
  94. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  95. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.d.ts +9 -3
  96. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.d.ts.map +1 -1
  97. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  98. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.d.ts +1 -1
  99. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js +1 -1
  100. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  101. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.d.ts +1 -0
  102. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.d.ts.map +1 -1
  103. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js +1 -0
  104. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  105. package/lib/cjs/appui-react/statusfields/ConditionalField.d.ts +4 -1
  106. package/lib/cjs/appui-react/statusfields/ConditionalField.d.ts.map +1 -1
  107. package/lib/cjs/appui-react/statusfields/ConditionalField.js +4 -1
  108. package/lib/cjs/appui-react/statusfields/ConditionalField.js.map +1 -1
  109. package/lib/cjs/appui-react/statusfields/FooterModeField.d.ts +2 -3
  110. package/lib/cjs/appui-react/statusfields/FooterModeField.d.ts.map +1 -1
  111. package/lib/cjs/appui-react/statusfields/FooterModeField.js +9 -8
  112. package/lib/cjs/appui-react/statusfields/FooterModeField.js.map +1 -1
  113. package/lib/cjs/appui-react/statusfields/Indicator.d.ts +3 -1
  114. package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
  115. package/lib/cjs/appui-react/statusfields/Indicator.js +1 -0
  116. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  117. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +4 -2
  118. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  119. package/lib/cjs/appui-react/statusfields/MessageCenter.js +33 -15
  120. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  121. package/lib/cjs/appui-react/statusfields/PromptField.d.ts.map +1 -1
  122. package/lib/cjs/appui-react/statusfields/PromptField.js +4 -1
  123. package/lib/cjs/appui-react/statusfields/PromptField.js.map +1 -1
  124. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  125. package/lib/cjs/appui-react/statusfields/SectionsField.js +4 -1
  126. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  127. package/lib/cjs/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  128. package/lib/cjs/appui-react/statusfields/SelectionInfo.js +4 -1
  129. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  130. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  131. package/lib/cjs/appui-react/statusfields/SelectionScope.js +6 -3
  132. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  133. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +0 -1
  134. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  135. package/lib/cjs/appui-react/statusfields/SnapMode.js +0 -2
  136. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  137. package/lib/cjs/appui-react/statusfields/StatusFieldProps.d.ts +12 -6
  138. package/lib/cjs/appui-react/statusfields/StatusFieldProps.d.ts.map +1 -1
  139. package/lib/cjs/appui-react/statusfields/StatusFieldProps.js +0 -7
  140. package/lib/cjs/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  141. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  142. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +5 -1
  143. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  144. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  145. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js +4 -1
  146. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  147. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +1 -0
  148. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  149. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +14 -10
  150. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  151. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  152. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +19 -16
  153. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  154. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  155. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +14 -4
  156. package/lib/cjs/appui-react/tools/CoreToolDefinitions.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 +131 -34
  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/feedback/ElementTooltip.d.ts.map +1 -1
  221. package/lib/esm/appui-react/feedback/ElementTooltip.js +1 -0
  222. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  223. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +3 -1
  224. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  225. package/lib/esm/appui-react/frontstage/Frontstage.js +1 -1
  226. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  227. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  228. package/lib/esm/appui-react/frontstage/FrontstageDef.js +14 -3
  229. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  230. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +2 -0
  231. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  232. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +4 -3
  233. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  234. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +2 -0
  235. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.json +2 -0
  236. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  237. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +47 -42
  238. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  239. package/lib/esm/appui-react/imodel-components/models-tree/Utils.d.ts +10 -0
  240. package/lib/esm/appui-react/imodel-components/models-tree/Utils.d.ts.map +1 -0
  241. package/lib/esm/appui-react/imodel-components/models-tree/Utils.js +19 -0
  242. package/lib/esm/appui-react/imodel-components/models-tree/Utils.js.map +1 -0
  243. package/lib/esm/appui-react/messages/ActivityMessage.d.ts +26 -0
  244. package/lib/esm/appui-react/messages/ActivityMessage.d.ts.map +1 -1
  245. package/lib/esm/appui-react/messages/ActivityMessage.js +63 -7
  246. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  247. package/lib/esm/appui-react/messages/ActivityMessagePopup.d.ts +1 -1
  248. package/lib/esm/appui-react/messages/ActivityMessagePopup.d.ts.map +1 -1
  249. package/lib/esm/appui-react/messages/ActivityMessagePopup.js +4 -12
  250. package/lib/esm/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  251. package/lib/esm/appui-react/messages/MessageManager.d.ts +17 -0
  252. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  253. package/lib/esm/appui-react/messages/MessageManager.js +44 -0
  254. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  255. package/lib/esm/appui-react/messages/StatusMessageRenderer.d.ts +2 -1
  256. package/lib/esm/appui-react/messages/StatusMessageRenderer.d.ts.map +1 -1
  257. package/lib/esm/appui-react/messages/StatusMessageRenderer.js +33 -28
  258. package/lib/esm/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  259. package/lib/esm/appui-react/messages/StatusMessagesContainer.d.ts +1 -0
  260. package/lib/esm/appui-react/messages/StatusMessagesContainer.d.ts.map +1 -1
  261. package/lib/esm/appui-react/messages/StatusMessagesContainer.js +1 -0
  262. package/lib/esm/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  263. package/lib/esm/appui-react/messages/StickyMessage.d.ts +1 -0
  264. package/lib/esm/appui-react/messages/StickyMessage.d.ts.map +1 -1
  265. package/lib/esm/appui-react/messages/StickyMessage.js +9 -7
  266. package/lib/esm/appui-react/messages/StickyMessage.js.map +1 -1
  267. package/lib/esm/appui-react/messages/ToastMessage.d.ts +1 -0
  268. package/lib/esm/appui-react/messages/ToastMessage.d.ts.map +1 -1
  269. package/lib/esm/appui-react/messages/ToastMessage.js +8 -6
  270. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  271. package/lib/esm/appui-react/messages/getToastCategory.d.ts +1 -1
  272. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  273. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +13 -10
  274. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  275. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  276. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.d.ts.map +1 -1
  277. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js +4 -1
  278. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  279. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  280. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +12 -3
  281. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  282. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +2 -0
  283. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  284. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +6 -9
  285. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  286. package/lib/esm/appui-react/statusbar/StatusBar.js +38 -28
  287. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  288. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  289. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -0
  290. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  291. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.d.ts +9 -3
  292. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.d.ts.map +1 -1
  293. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  294. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.d.ts +1 -1
  295. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js +1 -1
  296. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  297. package/lib/esm/appui-react/statusbar/withStatusFieldProps.d.ts +1 -0
  298. package/lib/esm/appui-react/statusbar/withStatusFieldProps.d.ts.map +1 -1
  299. package/lib/esm/appui-react/statusbar/withStatusFieldProps.js +1 -0
  300. package/lib/esm/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  301. package/lib/esm/appui-react/statusfields/ConditionalField.d.ts +4 -1
  302. package/lib/esm/appui-react/statusfields/ConditionalField.d.ts.map +1 -1
  303. package/lib/esm/appui-react/statusfields/ConditionalField.js +4 -1
  304. package/lib/esm/appui-react/statusfields/ConditionalField.js.map +1 -1
  305. package/lib/esm/appui-react/statusfields/FooterModeField.d.ts +2 -3
  306. package/lib/esm/appui-react/statusfields/FooterModeField.d.ts.map +1 -1
  307. package/lib/esm/appui-react/statusfields/FooterModeField.js +9 -8
  308. package/lib/esm/appui-react/statusfields/FooterModeField.js.map +1 -1
  309. package/lib/esm/appui-react/statusfields/Indicator.d.ts +3 -1
  310. package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
  311. package/lib/esm/appui-react/statusfields/Indicator.js +1 -0
  312. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  313. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +4 -2
  314. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  315. package/lib/esm/appui-react/statusfields/MessageCenter.js +33 -15
  316. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  317. package/lib/esm/appui-react/statusfields/PromptField.d.ts.map +1 -1
  318. package/lib/esm/appui-react/statusfields/PromptField.js +4 -1
  319. package/lib/esm/appui-react/statusfields/PromptField.js.map +1 -1
  320. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  321. package/lib/esm/appui-react/statusfields/SectionsField.js +4 -1
  322. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  323. package/lib/esm/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  324. package/lib/esm/appui-react/statusfields/SelectionInfo.js +4 -1
  325. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  326. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  327. package/lib/esm/appui-react/statusfields/SelectionScope.js +6 -3
  328. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  329. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +0 -1
  330. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  331. package/lib/esm/appui-react/statusfields/SnapMode.js +0 -2
  332. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  333. package/lib/esm/appui-react/statusfields/StatusFieldProps.d.ts +12 -6
  334. package/lib/esm/appui-react/statusfields/StatusFieldProps.d.ts.map +1 -1
  335. package/lib/esm/appui-react/statusfields/StatusFieldProps.js +0 -7
  336. package/lib/esm/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  337. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  338. package/lib/esm/appui-react/statusfields/ViewAttributes.js +5 -1
  339. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  340. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  341. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js +4 -1
  342. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  343. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +1 -0
  344. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  345. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +14 -10
  346. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  347. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  348. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +19 -16
  349. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  350. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  351. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +15 -5
  352. package/lib/esm/appui-react/tools/CoreToolDefinitions.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 +132 -35
  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 +9 -2
  395. package/package.json +38 -37
@@ -1 +1 @@
1
- {"version":3,"file":"AppUiSettings.js","sourceRoot":"","sources":["../../../../src/appui-react/uistate/AppUiSettings.ts"],"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 Settings\r\n */\r\n\r\nimport { UiStateEntry, UiStateStorage } from \"@itwin/core-react\";\r\nimport { UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { FrameworkVersionId, UiFramework, UserSettingsProvider } from \"../UiFramework\";\r\n\r\n// cSpell:ignore configurableui\r\n\r\n/** Default values that may be specified for [[AppUiSettings]].\r\n * @public\r\n */\r\nexport interface InitialAppUiSettings {\r\n colorTheme: string;\r\n dragInteraction: boolean;\r\n frameworkVersion: FrameworkVersionId;\r\n widgetOpacity: number;\r\n showWidgetIcon?: boolean;\r\n /** @alpha */\r\n autoCollapseUnpinnedPanels?: boolean;\r\n animateToolSettings?: boolean;\r\n}\r\n\r\n/** These are the UI settings that are stored in the Redux store. They control the color theme, the UI version,\r\n * how toolbar group buttons work, and the opacity of widgets in 1.0 and floating widget in 2.0 when the cursor\r\n * is not inside them. It is expect that an IModelApp using App UI components will create and register AppUiSettings with\r\n * defaults specific to their application. This would be done by calling the following.\r\n *\r\n * ```ts\r\n * UiFramework.registerUserSettingsProvider(new AppUiSettings(defaults));\r\n * ```\r\n *\r\n * @public\r\n */\r\nexport class AppUiSettings implements UserSettingsProvider {\r\n public readonly providerId = \"AppUiSettingsProvider\";\r\n\r\n private static _settingNamespace = \"AppUiSettings\";\r\n private _settings: Array<UiStateEntry<any>> = [];\r\n private _applyingLocalSettings = false;\r\n\r\n public colorTheme: UiStateEntry<string>;\r\n public dragInteraction: UiStateEntry<boolean>;\r\n public frameworkVersion: UiStateEntry<FrameworkVersionId>;\r\n public widgetOpacity: UiStateEntry<number>;\r\n public showWidgetIcon: UiStateEntry<boolean>;\r\n public autoCollapseUnpinnedPanels: UiStateEntry<boolean>;\r\n public animateToolSettings: UiStateEntry<boolean>;\r\n\r\n private setColorTheme = (theme: string) => {\r\n UiFramework.setColorTheme(theme);\r\n // always store to local storage to avoid flicker during startup if user is not yet logged-in\r\n window.localStorage.setItem(\"uifw:defaultTheme\", theme);\r\n };\r\n\r\n constructor(defaults: Partial<InitialAppUiSettings>) {\r\n this._settings = [];\r\n\r\n this.colorTheme = new UiStateEntry<string>(AppUiSettings._settingNamespace, \"ColorTheme\", UiFramework.getColorTheme, this.setColorTheme, defaults.colorTheme);\r\n this._settings.push(this.colorTheme);\r\n\r\n this.dragInteraction = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"DragInteraction\",\r\n () => UiFramework.useDragInteraction,\r\n (value: boolean) => UiFramework.setUseDragInteraction(value), defaults.dragInteraction);\r\n this._settings.push(this.dragInteraction);\r\n\r\n this.showWidgetIcon = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"ShowWidgetIcon\",\r\n () => UiFramework.showWidgetIcon,\r\n (value: boolean) => UiFramework.setShowWidgetIcon(value), defaults.showWidgetIcon);\r\n this._settings.push(this.showWidgetIcon);\r\n\r\n this.autoCollapseUnpinnedPanels = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"AutoCollapseUnpinnedPanels\",\r\n () => UiFramework.autoCollapseUnpinnedPanels,\r\n (value: boolean) => UiFramework.setAutoCollapseUnpinnedPanels(value), defaults.autoCollapseUnpinnedPanels);\r\n this._settings.push(this.autoCollapseUnpinnedPanels);\r\n\r\n this.frameworkVersion = new UiStateEntry<FrameworkVersionId>(AppUiSettings._settingNamespace, \"FrameworkVersion\",\r\n () => UiFramework.uiVersion,\r\n (value: FrameworkVersionId) => UiFramework.setUiVersion(value), defaults.frameworkVersion);\r\n this._settings.push(this.frameworkVersion);\r\n\r\n this.widgetOpacity = new UiStateEntry<number>(AppUiSettings._settingNamespace, \"WidgetOpacity\",\r\n () => UiFramework.getWidgetOpacity(), (value: number) => UiFramework.setWidgetOpacity(value), defaults.widgetOpacity);\r\n this._settings.push(this.widgetOpacity);\r\n\r\n this.animateToolSettings = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"AnimateToolSettings\",\r\n () => UiFramework.animateToolSettings,\r\n (value: boolean) => UiFramework.setAnimateToolSettings(value), defaults.animateToolSettings);\r\n this._settings.push(this.animateToolSettings);\r\n\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this.handleSyncUiEvent);\r\n }\r\n\r\n private handleSyncUiEvent = async (args: UiSyncEventArgs) => {\r\n if (this._applyingLocalSettings)\r\n return;\r\n\r\n if (args.eventIds.has(\"configurableui:set_theme\")) {\r\n await this.colorTheme.saveSetting(UiFramework.getUiStateStorage());\r\n // always store as default theme in local storage to avoid flicker during startup if user is not yet logged-in\r\n window.localStorage.setItem(\"uifw:defaultTheme\", UiFramework.getColorTheme());\r\n }\r\n\r\n if (args.eventIds.has(\"configurableui:set-drag-interaction\"))\r\n await this.dragInteraction.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-framework-version\"))\r\n await this.frameworkVersion.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-show-widget-icon\"))\r\n await this.showWidgetIcon.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-auto-collapse-unpinned-panels\"))\r\n await this.autoCollapseUnpinnedPanels.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set_widget_opacity\"))\r\n await this.widgetOpacity.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-animate-tool-settings\"))\r\n await this.animateToolSettings.saveSetting(UiFramework.getUiStateStorage());\r\n };\r\n\r\n public async apply(storage: UiStateStorage): Promise<void> {\r\n this._applyingLocalSettings = true;\r\n for await (const setting of this._settings) {\r\n await setting.getSettingAndApplyValue(storage);\r\n }\r\n this._applyingLocalSettings = false;\r\n }\r\n\r\n public async loadUserSettings(storage: UiStateStorage): Promise<void> {\r\n await this.apply(storage);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"AppUiSettings.js","sourceRoot":"","sources":["../../../../src/appui-react/uistate/AppUiSettings.ts"],"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 Settings\r\n */\r\n\r\nimport { UiStateEntry, UiStateStorage } from \"@itwin/core-react\";\r\nimport { UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { FrameworkVersionId, UiFramework, UserSettingsProvider } from \"../UiFramework\";\r\n\r\n// cSpell:ignore configurableui\r\n\r\n/** Default values that may be specified for [[AppUiSettings]].\r\n * @public\r\n */\r\nexport interface InitialAppUiSettings {\r\n colorTheme: string;\r\n dragInteraction: boolean;\r\n frameworkVersion: FrameworkVersionId;\r\n widgetOpacity: number;\r\n showWidgetIcon?: boolean;\r\n /** @alpha */\r\n autoCollapseUnpinnedPanels?: boolean;\r\n animateToolSettings?: boolean;\r\n useToolAsToolSettingsLabel?: boolean;\r\n}\r\n\r\n/** These are the UI settings that are stored in the Redux store. They control the color theme, the UI version,\r\n * how toolbar group buttons work, and the opacity of widgets in 1.0 and floating widget in 2.0 when the cursor\r\n * is not inside them. It is expect that an IModelApp using App UI components will create and register AppUiSettings with\r\n * defaults specific to their application. This would be done by calling the following.\r\n *\r\n * ```ts\r\n * UiFramework.registerUserSettingsProvider(new AppUiSettings(defaults));\r\n * ```\r\n *\r\n * @public\r\n */\r\nexport class AppUiSettings implements UserSettingsProvider {\r\n public readonly providerId = \"AppUiSettingsProvider\";\r\n\r\n private static _settingNamespace = \"AppUiSettings\";\r\n private _settings: Array<UiStateEntry<any>> = [];\r\n private _applyingLocalSettings = false;\r\n\r\n public colorTheme: UiStateEntry<string>;\r\n public dragInteraction: UiStateEntry<boolean>;\r\n public frameworkVersion: UiStateEntry<FrameworkVersionId>;\r\n public widgetOpacity: UiStateEntry<number>;\r\n public showWidgetIcon: UiStateEntry<boolean>;\r\n public autoCollapseUnpinnedPanels: UiStateEntry<boolean>;\r\n public animateToolSettings: UiStateEntry<boolean>;\r\n public useToolAsToolSettingsLabel: UiStateEntry<boolean>;\r\n\r\n private setColorTheme = (theme: string) => {\r\n UiFramework.setColorTheme(theme);\r\n // always store to local storage to avoid flicker during startup if user is not yet logged-in\r\n window.localStorage.setItem(\"uifw:defaultTheme\", theme);\r\n };\r\n\r\n constructor(defaults: Partial<InitialAppUiSettings>) {\r\n this._settings = [];\r\n\r\n this.colorTheme = new UiStateEntry<string>(AppUiSettings._settingNamespace, \"ColorTheme\", UiFramework.getColorTheme, this.setColorTheme, defaults.colorTheme);\r\n this._settings.push(this.colorTheme);\r\n\r\n this.dragInteraction = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"DragInteraction\",\r\n () => UiFramework.useDragInteraction,\r\n (value: boolean) => UiFramework.setUseDragInteraction(value), defaults.dragInteraction);\r\n this._settings.push(this.dragInteraction);\r\n\r\n this.showWidgetIcon = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"ShowWidgetIcon\",\r\n () => UiFramework.showWidgetIcon,\r\n (value: boolean) => UiFramework.setShowWidgetIcon(value), defaults.showWidgetIcon);\r\n this._settings.push(this.showWidgetIcon);\r\n\r\n this.autoCollapseUnpinnedPanels = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"AutoCollapseUnpinnedPanels\",\r\n () => UiFramework.autoCollapseUnpinnedPanels,\r\n (value: boolean) => UiFramework.setAutoCollapseUnpinnedPanels(value), defaults.autoCollapseUnpinnedPanels);\r\n this._settings.push(this.autoCollapseUnpinnedPanels);\r\n\r\n this.frameworkVersion = new UiStateEntry<FrameworkVersionId>(AppUiSettings._settingNamespace, \"FrameworkVersion\",\r\n () => UiFramework.uiVersion,\r\n (value: FrameworkVersionId) => UiFramework.setUiVersion(value), defaults.frameworkVersion);\r\n this._settings.push(this.frameworkVersion);\r\n\r\n this.widgetOpacity = new UiStateEntry<number>(AppUiSettings._settingNamespace, \"WidgetOpacity\",\r\n () => UiFramework.getWidgetOpacity(), (value: number) => UiFramework.setWidgetOpacity(value), defaults.widgetOpacity);\r\n this._settings.push(this.widgetOpacity);\r\n\r\n this.animateToolSettings = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"AnimateToolSettings\",\r\n () => UiFramework.animateToolSettings,\r\n (value: boolean) => UiFramework.setAnimateToolSettings(value), defaults.animateToolSettings);\r\n this._settings.push(this.animateToolSettings);\r\n\r\n this.useToolAsToolSettingsLabel = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"UseToolAsToolSettingsLabel\",\r\n () => UiFramework.useToolAsToolSettingsLabel,\r\n (value: boolean) => UiFramework.setUseToolAsToolSettingsLabel(value), defaults.useToolAsToolSettingsLabel);\r\n this._settings.push(this.useToolAsToolSettingsLabel);\r\n\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this.handleSyncUiEvent);\r\n }\r\n\r\n private handleSyncUiEvent = async (args: UiSyncEventArgs) => {\r\n if (this._applyingLocalSettings)\r\n return;\r\n\r\n if (args.eventIds.has(\"configurableui:set_theme\")) {\r\n await this.colorTheme.saveSetting(UiFramework.getUiStateStorage());\r\n // always store as default theme in local storage to avoid flicker during startup if user is not yet logged-in\r\n window.localStorage.setItem(\"uifw:defaultTheme\", UiFramework.getColorTheme());\r\n }\r\n\r\n if (args.eventIds.has(\"configurableui:set-drag-interaction\"))\r\n await this.dragInteraction.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-framework-version\"))\r\n await this.frameworkVersion.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-show-widget-icon\"))\r\n await this.showWidgetIcon.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-auto-collapse-unpinned-panels\"))\r\n await this.autoCollapseUnpinnedPanels.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set_widget_opacity\"))\r\n await this.widgetOpacity.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-animate-tool-settings\"))\r\n await this.animateToolSettings.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-use-tool-as-tool-settings-label\"))\r\n await this.useToolAsToolSettingsLabel.saveSetting(UiFramework.getUiStateStorage());\r\n };\r\n\r\n public async apply(storage: UiStateStorage): Promise<void> {\r\n this._applyingLocalSettings = true;\r\n for await (const setting of this._settings) {\r\n await setting.getSettingAndApplyValue(storage);\r\n }\r\n this._applyingLocalSettings = false;\r\n }\r\n\r\n public async loadUserSettings(storage: UiStateStorage): Promise<void> {\r\n await this.apply(storage);\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,gBAAgB;AAChB,wBAAgB,aAAa,gBAY5B;AAED,gBAAgB;AAChB,wBAAgB,YAAY,IAAI,SAAS,GAAG,SAAS,CAyBpD"}
1
+ {"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKjD,gBAAgB;AAChB,wBAAgB,aAAa,gBAqB5B;AAED,gBAAgB;AAChB,wBAAgB,YAAY,IAAI,SAAS,GAAG,SAAS,CAyBpD"}
@@ -13,12 +13,22 @@ const appui_abstract_1 = require("@itwin/appui-abstract");
13
13
  const appui_layout_react_1 = require("@itwin/appui-layout-react");
14
14
  const Frontstage_1 = require("../frontstage/Frontstage");
15
15
  const FrontstageManager_1 = require("../frontstage/FrontstageManager");
16
+ const useTransientState_1 = require("./useTransientState");
16
17
  /** @internal */
17
18
  function WidgetContent() {
18
19
  var _a, _b, _c;
19
20
  const widget = useWidgetDef();
20
21
  // istanbul ignore next
21
22
  const itemId = (_b = (_a = widget === null || widget === void 0 ? void 0 : widget.id) !== null && _a !== void 0 ? _a : widget === null || widget === void 0 ? void 0 : widget.label) !== null && _b !== void 0 ? _b : "unknown";
23
+ const onSave = React.useCallback(() => {
24
+ // istanbul ignore next
25
+ widget === null || widget === void 0 ? void 0 : widget.saveTransientState();
26
+ }, [widget]);
27
+ const onRestore = React.useCallback(() => {
28
+ // istanbul ignore next
29
+ widget === null || widget === void 0 ? void 0 : widget.restoreTransientState();
30
+ }, [widget]);
31
+ (0, useTransientState_1.useTransientState)(onSave, onRestore);
22
32
  return (React.createElement(appui_layout_react_1.ScrollableWidgetContent, { itemId: itemId, providerId: (_c = widget === null || widget === void 0 ? void 0 : widget.initialProps) === null || _c === void 0 ? void 0 : _c.providerId }, widget === null || widget === void 0 ? void 0 : widget.reactNode));
23
33
  }
24
34
  exports.WidgetContent = WidgetContent;
@@ -1 +1 @@
1
- {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":";;;AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,+BAA+B;AAC/B,0DAAuD;AACvD,kEAAkF;AAClF,yDAAkE;AAElE,uEAAoE;AAGpE,gBAAgB;AAChB,SAAgB,aAAa;;IAC3B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,uBAAuB;IACvB,MAAM,MAAM,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,mCAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,SAAS,CAAC;IACxD,OAAO,CACL,oBAAC,4CAAuB,IACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,0CAAE,UAAU,IAE3C,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CACM,CAC3B,CAAC;AACJ,CAAC;AAZD,sCAYC;AAED,gBAAgB;AAChB,SAAgB,YAAY;IAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,iCAAY,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAA,mCAAsB,GAAE,CAAC;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,QAAQ,GAAG,CAAC,IAA6C,EAAE,EAAE;YACjE,uBAAuB;YACvB,IAAI,IAAI,CAAC,aAAa,KAAK,UAAU,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,oBAAoB;gBAClH,OAAO;YACT,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,OAAO,qCAAiB,CAAC,qCAAqC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvF,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAExB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,uBAAuB;QACvB,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,YAAY,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,OAAO,+BAAc,CAAC,2BAA2B,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAClF,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAExB,OAAO,SAAS,CAAC;AACnB,CAAC;AAzBD,oCAyBC","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 Widget\r\n */\r\nimport * as React from \"react\";\r\nimport { UiItemsManager } from \"@itwin/appui-abstract\";\r\nimport { ScrollableWidgetContent, TabIdContext } from \"@itwin/appui-layout-react\";\r\nimport { useActiveFrontstageDef } from \"../frontstage/Frontstage\";\r\nimport { WidgetDef } from \"../widgets/WidgetDef\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { FrontstageNineZoneStateChangedEventArgs } from \"../frontstage/FrontstageDef\";\r\n\r\n/** @internal */\r\nexport function WidgetContent() {\r\n const widget = useWidgetDef();\r\n // istanbul ignore next\r\n const itemId = widget?.id ?? widget?.label ?? \"unknown\";\r\n return (\r\n <ScrollableWidgetContent\r\n itemId={itemId}\r\n providerId={widget?.initialProps?.providerId}\r\n >\r\n {widget?.reactNode}\r\n </ScrollableWidgetContent>\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport function useWidgetDef(): WidgetDef | undefined {\r\n const tabId = React.useContext(TabIdContext);\r\n const frontstage = useActiveFrontstageDef();\r\n const [widgetDef, setWidgetDef] = React.useState(() => frontstage?.findWidgetDef(tabId));\r\n\r\n React.useEffect(() => {\r\n const listener = (args: FrontstageNineZoneStateChangedEventArgs) => {\r\n // istanbul ignore next\r\n if (args.frontstageDef !== frontstage || !frontstage || frontstage.isStageClosing || frontstage.isApplicationClosing)\r\n return;\r\n setWidgetDef(frontstage.findWidgetDef(tabId));\r\n };\r\n return FrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(listener);\r\n }, [frontstage, tabId]);\r\n\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handlerActivated = () => {\r\n setWidgetDef(frontstage?.findWidgetDef(tabId));\r\n };\r\n\r\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(handlerActivated);\r\n }, [frontstage, tabId]);\r\n\r\n return widgetDef;\r\n}\r\n"]}
1
+ {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":";;;AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,+BAA+B;AAC/B,0DAAuD;AACvD,kEAAkF;AAClF,yDAAkE;AAElE,uEAAoE;AAEpE,2DAAwD;AAExD,gBAAgB;AAChB,SAAgB,aAAa;;IAC3B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,uBAAuB;IACvB,MAAM,MAAM,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,mCAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,SAAS,CAAC;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpC,uBAAuB;QACvB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,kBAAkB,EAAE,CAAC;IAC/B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACvC,uBAAuB;QACvB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,qBAAqB,EAAE,CAAC;IAClC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,IAAA,qCAAiB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC,OAAO,CACL,oBAAC,4CAAuB,IACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,0CAAE,UAAU,IAE3C,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CACM,CAC3B,CAAC;AACJ,CAAC;AArBD,sCAqBC;AAED,gBAAgB;AAChB,SAAgB,YAAY;IAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,iCAAY,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAA,mCAAsB,GAAE,CAAC;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,QAAQ,GAAG,CAAC,IAA6C,EAAE,EAAE;YACjE,uBAAuB;YACvB,IAAI,IAAI,CAAC,aAAa,KAAK,UAAU,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,oBAAoB;gBAClH,OAAO;YACT,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,OAAO,qCAAiB,CAAC,qCAAqC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvF,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAExB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,uBAAuB;QACvB,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,YAAY,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,OAAO,+BAAc,CAAC,2BAA2B,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAClF,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAExB,OAAO,SAAS,CAAC;AACnB,CAAC;AAzBD,oCAyBC","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 Widget\r\n */\r\nimport * as React from \"react\";\r\nimport { UiItemsManager } from \"@itwin/appui-abstract\";\r\nimport { ScrollableWidgetContent, TabIdContext } from \"@itwin/appui-layout-react\";\r\nimport { useActiveFrontstageDef } from \"../frontstage/Frontstage\";\r\nimport { WidgetDef } from \"../widgets/WidgetDef\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { FrontstageNineZoneStateChangedEventArgs } from \"../frontstage/FrontstageDef\";\r\nimport { useTransientState } from \"./useTransientState\";\r\n\r\n/** @internal */\r\nexport function WidgetContent() {\r\n const widget = useWidgetDef();\r\n // istanbul ignore next\r\n const itemId = widget?.id ?? widget?.label ?? \"unknown\";\r\n const onSave = React.useCallback(() => {\r\n // istanbul ignore next\r\n widget?.saveTransientState();\r\n }, [widget]);\r\n const onRestore = React.useCallback(() => {\r\n // istanbul ignore next\r\n widget?.restoreTransientState();\r\n }, [widget]);\r\n useTransientState(onSave, onRestore);\r\n return (\r\n <ScrollableWidgetContent\r\n itemId={itemId}\r\n providerId={widget?.initialProps?.providerId}\r\n >\r\n {widget?.reactNode}\r\n </ScrollableWidgetContent>\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport function useWidgetDef(): WidgetDef | undefined {\r\n const tabId = React.useContext(TabIdContext);\r\n const frontstage = useActiveFrontstageDef();\r\n const [widgetDef, setWidgetDef] = React.useState(() => frontstage?.findWidgetDef(tabId));\r\n\r\n React.useEffect(() => {\r\n const listener = (args: FrontstageNineZoneStateChangedEventArgs) => {\r\n // istanbul ignore next\r\n if (args.frontstageDef !== frontstage || !frontstage || frontstage.isStageClosing || frontstage.isApplicationClosing)\r\n return;\r\n setWidgetDef(frontstage.findWidgetDef(tabId));\r\n };\r\n return FrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(listener);\r\n }, [frontstage, tabId]);\r\n\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handlerActivated = () => {\r\n setWidgetDef(frontstage?.findWidgetDef(tabId));\r\n };\r\n\r\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(handlerActivated);\r\n }, [frontstage, tabId]);\r\n\r\n return widgetDef;\r\n}\r\n"]}
@@ -114,6 +114,7 @@ export declare const setWidgetState: (base: {
114
114
  readonly side: PanelSide;
115
115
  };
116
116
  readonly userSized?: boolean | undefined;
117
+ readonly hidden?: boolean | undefined;
117
118
  };
118
119
  };
119
120
  readonly allIds: readonly string[];
@@ -235,6 +236,7 @@ export declare const setWidgetState: (base: {
235
236
  readonly canPopout?: boolean | undefined;
236
237
  readonly userSized?: boolean | undefined;
237
238
  readonly isFloatingStateWindowResizable?: boolean | undefined;
239
+ readonly hideWithUiWhenFloating?: boolean | undefined;
238
240
  };
239
241
  };
240
242
  readonly toolSettings: {
@@ -286,6 +288,7 @@ export declare const showWidget: (base: {
286
288
  readonly side: PanelSide;
287
289
  };
288
290
  readonly userSized?: boolean | undefined;
291
+ readonly hidden?: boolean | undefined;
289
292
  };
290
293
  };
291
294
  readonly allIds: readonly string[];
@@ -407,6 +410,7 @@ export declare const showWidget: (base: {
407
410
  readonly canPopout?: boolean | undefined;
408
411
  readonly userSized?: boolean | undefined;
409
412
  readonly isFloatingStateWindowResizable?: boolean | undefined;
413
+ readonly hideWithUiWhenFloating?: boolean | undefined;
410
414
  };
411
415
  };
412
416
  readonly toolSettings: {
@@ -458,6 +462,7 @@ export declare const expandWidget: (base: {
458
462
  readonly side: PanelSide;
459
463
  };
460
464
  readonly userSized?: boolean | undefined;
465
+ readonly hidden?: boolean | undefined;
461
466
  };
462
467
  };
463
468
  readonly allIds: readonly string[];
@@ -579,6 +584,7 @@ export declare const expandWidget: (base: {
579
584
  readonly canPopout?: boolean | undefined;
580
585
  readonly userSized?: boolean | undefined;
581
586
  readonly isFloatingStateWindowResizable?: boolean | undefined;
587
+ readonly hideWithUiWhenFloating?: boolean | undefined;
582
588
  };
583
589
  };
584
590
  readonly toolSettings: {
@@ -630,6 +636,7 @@ export declare const setWidgetLabel: (base: {
630
636
  readonly side: PanelSide;
631
637
  };
632
638
  readonly userSized?: boolean | undefined;
639
+ readonly hidden?: boolean | undefined;
633
640
  };
634
641
  };
635
642
  readonly allIds: readonly string[];
@@ -751,6 +758,7 @@ export declare const setWidgetLabel: (base: {
751
758
  readonly canPopout?: boolean | undefined;
752
759
  readonly userSized?: boolean | undefined;
753
760
  readonly isFloatingStateWindowResizable?: boolean | undefined;
761
+ readonly hideWithUiWhenFloating?: boolean | undefined;
754
762
  };
755
763
  };
756
764
  readonly toolSettings: {
@@ -781,7 +789,7 @@ export declare const FRONTSTAGE_SETTINGS_NAMESPACE = "uifw-frontstageSettings";
781
789
  /** @internal */
782
790
  export declare function getFrontstageStateSettingName(frontstageId: WidgetPanelsFrontstageState["id"]): string;
783
791
  /** @internal */
784
- export declare function useFrontstageManager(frontstageDef: FrontstageDef): void;
792
+ export declare function useFrontstageManager(frontstageDef: FrontstageDef, useToolAsToolSettingsLabel?: boolean): void;
785
793
  /** @internal */
786
794
  export declare function useItemsManager(frontstageDef: FrontstageDef): void;
787
795
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ const ToolSettings_1 = require("./ToolSettings");
34
34
  const useEscapeSetFocusToHome_1 = require("../hooks/useEscapeSetFocusToHome");
35
35
  const react_redux_1 = require("react-redux");
36
36
  const useUiVisibility_1 = require("../hooks/useUiVisibility");
37
+ const core_frontend_1 = require("@itwin/core-frontend");
37
38
  const panelZoneKeys = ["start", "end"];
38
39
  const WidgetInternals = React.memo(function WidgetInternals() {
39
40
  const activeModalFrontstageInfo = (0, ModalFrontstageComposer_1.useActiveModalFrontstageInfo)();
@@ -184,7 +185,6 @@ function ActiveFrontstageDefProvider({ frontstageDef }) {
184
185
  useUpdateNineZoneSize(frontstageDef);
185
186
  useSavedFrontstageState(frontstageDef);
186
187
  useSaveFrontstageSettings(frontstageDef);
187
- useFrontstageManager(frontstageDef);
188
188
  useItemsManager(frontstageDef);
189
189
  const labels = useLabels();
190
190
  const uiIsVisible = (0, useUiVisibility_1.useUiVisibility)();
@@ -200,6 +200,11 @@ function ActiveFrontstageDefProvider({ frontstageDef }) {
200
200
  const frameworkState = state[UiFramework_1.UiFramework.frameworkStateKey];
201
201
  return !!frameworkState.configurableUiState.animateToolSettings;
202
202
  });
203
+ const useToolAsToolSettingsLabel = (0, react_redux_1.useSelector)((state) => {
204
+ const frameworkState = state[UiFramework_1.UiFramework.frameworkStateKey];
205
+ return !!frameworkState.configurableUiState.useToolAsToolSettingsLabel;
206
+ });
207
+ useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel);
203
208
  const handleKeyDown = (0, useEscapeSetFocusToHome_1.useEscapeSetFocusToHome)();
204
209
  return (React.createElement("div", { className: "uifw-widgetPanels-frontstage", onKeyDown: handleKeyDown, role: "presentation" },
205
210
  React.createElement(appui_layout_react_1.NineZone, { dispatch: dispatch, labels: labels, state: nineZone, tab: tabElement, showWidgetIcon: showWidgetIcon, autoCollapseUnpinnedPanels: autoCollapseUnpinnedPanels, toolSettingsContent: toolSettingsContent, widgetContent: widgetContent, animateDockedToolSettings: animateToolSettings, uiIsVisible: uiIsVisible }, widgetPanelsFrontstage)));
@@ -235,6 +240,7 @@ function addWidgets(state, widgets, side, widgetId) {
235
240
  preferredFloatingWidgetSize: widget.defaultFloatingSize,
236
241
  canPopout: widget.canPopout,
237
242
  isFloatingStateWindowResizable: widget.isFloatingStateWindowResizable,
243
+ hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,
238
244
  });
239
245
  tabs.push(widget.id);
240
246
  }
@@ -275,6 +281,7 @@ function appendWidgets(state, widgetDefs, side, preferredWidgetIndex) {
275
281
  preferredPopoutWidgetSize,
276
282
  userSized,
277
283
  isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,
284
+ hideWithUiWhenFloating: !!widgetDef.hideWithUiWhenFloating,
278
285
  });
279
286
  if (widgetDef.isFloatingStateSupported && widgetDef.defaultState === appui_abstract_1.WidgetState.Floating) {
280
287
  const floatingContainerId = (_a = widgetDef.floatingContainerId) !== null && _a !== void 0 ? _a : (0, appui_layout_react_1.getUniqueId)();
@@ -312,24 +319,24 @@ function processPopoutWidgets(initialState, frontstageDef) {
312
319
  function addMissingWidgets(frontstageDef, initialState) {
313
320
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
314
321
  let state = initialState;
315
- state = appendWidgets(state, determineNewWidgets((_a = frontstageDef.centerLeft) === null || _a === void 0 ? void 0 : _a.widgetDefs, initialState), "left", 0);
316
- state = appendWidgets(state, determineNewWidgets((_b = frontstageDef.leftPanel) === null || _b === void 0 ? void 0 : _b.panelZones.start.widgetDefs, initialState), "left", 0);
317
- state = appendWidgets(state, determineNewWidgets((_c = frontstageDef.bottomLeft) === null || _c === void 0 ? void 0 : _c.widgetDefs, initialState), "left", 1);
318
- state = appendWidgets(state, determineNewWidgets((_d = frontstageDef.leftPanel) === null || _d === void 0 ? void 0 : _d.panelWidgetDefs, initialState), "left", 1);
319
- state = appendWidgets(state, determineNewWidgets((_e = frontstageDef.leftPanel) === null || _e === void 0 ? void 0 : _e.panelZones.end.widgetDefs, initialState), "left", 1);
320
- state = appendWidgets(state, determineNewWidgets((_f = frontstageDef.centerRight) === null || _f === void 0 ? void 0 : _f.widgetDefs, initialState), "right", 0);
321
- state = appendWidgets(state, determineNewWidgets((_g = frontstageDef.rightPanel) === null || _g === void 0 ? void 0 : _g.panelZones.start.widgetDefs, initialState), "right", 0);
322
- state = appendWidgets(state, determineNewWidgets((_h = frontstageDef.bottomRight) === null || _h === void 0 ? void 0 : _h.widgetDefs, initialState), "right", 1);
323
- state = appendWidgets(state, determineNewWidgets((_j = frontstageDef.rightPanel) === null || _j === void 0 ? void 0 : _j.panelWidgetDefs, initialState), "right", 1);
324
- state = appendWidgets(state, determineNewWidgets((_k = frontstageDef.rightPanel) === null || _k === void 0 ? void 0 : _k.panelZones.end.widgetDefs, initialState), "right", 1);
325
- state = appendWidgets(state, determineNewWidgets((_l = frontstageDef.topPanel) === null || _l === void 0 ? void 0 : _l.panelWidgetDefs, initialState), "top", 0);
326
- state = appendWidgets(state, determineNewWidgets((_m = frontstageDef.topPanel) === null || _m === void 0 ? void 0 : _m.panelZones.start.widgetDefs, initialState), "top", 0);
327
- state = appendWidgets(state, determineNewWidgets((_o = frontstageDef.topMostPanel) === null || _o === void 0 ? void 0 : _o.panelWidgetDefs, initialState), "top", 1); // eslint-disable-line deprecation/deprecation
328
- state = appendWidgets(state, determineNewWidgets((_p = frontstageDef.topPanel) === null || _p === void 0 ? void 0 : _p.panelZones.end.widgetDefs, initialState), "top", 1);
329
- state = appendWidgets(state, determineNewWidgets((_q = frontstageDef.bottomPanel) === null || _q === void 0 ? void 0 : _q.panelWidgetDefs, initialState), "bottom", 0);
330
- state = appendWidgets(state, determineNewWidgets((_r = frontstageDef.bottomPanel) === null || _r === void 0 ? void 0 : _r.panelZones.start.widgetDefs, initialState), "bottom", 0);
331
- state = appendWidgets(state, determineNewWidgets((_s = frontstageDef.bottomMostPanel) === null || _s === void 0 ? void 0 : _s.panelWidgetDefs, initialState), "bottom", 1); // eslint-disable-line deprecation/deprecation
332
- state = appendWidgets(state, determineNewWidgets((_t = frontstageDef.bottomPanel) === null || _t === void 0 ? void 0 : _t.panelZones.end.widgetDefs, initialState), "bottom", 1);
322
+ state = appendWidgets(state, determineNewWidgets((_a = frontstageDef.centerLeft) === null || _a === void 0 ? void 0 : _a.widgetDefs, state), "left", 0);
323
+ state = appendWidgets(state, determineNewWidgets((_b = frontstageDef.leftPanel) === null || _b === void 0 ? void 0 : _b.panelZones.start.widgetDefs, state), "left", 0);
324
+ state = appendWidgets(state, determineNewWidgets((_c = frontstageDef.bottomLeft) === null || _c === void 0 ? void 0 : _c.widgetDefs, state), "left", 1);
325
+ state = appendWidgets(state, determineNewWidgets((_d = frontstageDef.leftPanel) === null || _d === void 0 ? void 0 : _d.panelWidgetDefs, state), "left", 1);
326
+ state = appendWidgets(state, determineNewWidgets((_e = frontstageDef.leftPanel) === null || _e === void 0 ? void 0 : _e.panelZones.end.widgetDefs, state), "left", 1);
327
+ state = appendWidgets(state, determineNewWidgets((_f = frontstageDef.centerRight) === null || _f === void 0 ? void 0 : _f.widgetDefs, state), "right", 0);
328
+ state = appendWidgets(state, determineNewWidgets((_g = frontstageDef.rightPanel) === null || _g === void 0 ? void 0 : _g.panelZones.start.widgetDefs, state), "right", 0);
329
+ state = appendWidgets(state, determineNewWidgets((_h = frontstageDef.bottomRight) === null || _h === void 0 ? void 0 : _h.widgetDefs, state), "right", 1);
330
+ state = appendWidgets(state, determineNewWidgets((_j = frontstageDef.rightPanel) === null || _j === void 0 ? void 0 : _j.panelWidgetDefs, state), "right", 1);
331
+ state = appendWidgets(state, determineNewWidgets((_k = frontstageDef.rightPanel) === null || _k === void 0 ? void 0 : _k.panelZones.end.widgetDefs, state), "right", 1);
332
+ state = appendWidgets(state, determineNewWidgets((_l = frontstageDef.topPanel) === null || _l === void 0 ? void 0 : _l.panelWidgetDefs, state), "top", 0);
333
+ state = appendWidgets(state, determineNewWidgets((_m = frontstageDef.topPanel) === null || _m === void 0 ? void 0 : _m.panelZones.start.widgetDefs, state), "top", 0);
334
+ state = appendWidgets(state, determineNewWidgets((_o = frontstageDef.topMostPanel) === null || _o === void 0 ? void 0 : _o.panelWidgetDefs, state), "top", 1); // eslint-disable-line deprecation/deprecation
335
+ state = appendWidgets(state, determineNewWidgets((_p = frontstageDef.topPanel) === null || _p === void 0 ? void 0 : _p.panelZones.end.widgetDefs, state), "top", 1);
336
+ state = appendWidgets(state, determineNewWidgets((_q = frontstageDef.bottomPanel) === null || _q === void 0 ? void 0 : _q.panelWidgetDefs, state), "bottom", 0);
337
+ state = appendWidgets(state, determineNewWidgets((_r = frontstageDef.bottomPanel) === null || _r === void 0 ? void 0 : _r.panelZones.start.widgetDefs, state), "bottom", 0);
338
+ state = appendWidgets(state, determineNewWidgets((_s = frontstageDef.bottomMostPanel) === null || _s === void 0 ? void 0 : _s.panelWidgetDefs, state), "bottom", 1); // eslint-disable-line deprecation/deprecation
339
+ state = appendWidgets(state, determineNewWidgets((_t = frontstageDef.bottomPanel) === null || _t === void 0 ? void 0 : _t.panelZones.end.widgetDefs, state), "bottom", 1);
333
340
  return state;
334
341
  }
335
342
  exports.addMissingWidgets = addMissingWidgets;
@@ -502,10 +509,10 @@ exports.getPanelZoneWidgets = getPanelZoneWidgets;
502
509
  function addPanelWidgets(state, frontstageDef, side) {
503
510
  const start = getWidgetId(side, "start");
504
511
  const startWidgets = getPanelZoneWidgets(frontstageDef, start);
505
- state = addWidgets(state, startWidgets, side, start);
512
+ state = addWidgets(state, determineNewWidgets(startWidgets, state), side, start);
506
513
  const end = getWidgetId(side, "end");
507
514
  const endWidgets = getPanelZoneWidgets(frontstageDef, end);
508
- state = addWidgets(state, endWidgets, side, end);
515
+ state = addWidgets(state, determineNewWidgets(endWidgets, state), side, end);
509
516
  return state;
510
517
  }
511
518
  exports.addPanelWidgets = addPanelWidgets;
@@ -623,6 +630,7 @@ function restoreNineZoneState(frontstageDef, saved) {
623
630
  draft.tabs[tab.id] = {
624
631
  ...tab,
625
632
  label: getWidgetLabel((_a = widgetDef === null || widgetDef === void 0 ? void 0 : widgetDef.label) !== null && _a !== void 0 ? _a : "undefined"),
633
+ hideWithUiWhenFloating: widgetDef === null || widgetDef === void 0 ? void 0 : widgetDef.hideWithUiWhenFloating,
626
634
  iconSpec: widgetDef === null || widgetDef === void 0 ? void 0 : widgetDef.iconSpec,
627
635
  canPopout: widgetDef === null || widgetDef === void 0 ? void 0 : widgetDef.canPopout,
628
636
  isFloatingStateWindowResizable: widgetDef === null || widgetDef === void 0 ? void 0 : widgetDef.isFloatingStateWindowResizable,
@@ -667,6 +675,20 @@ function restoreNineZoneState(frontstageDef, saved) {
667
675
  return restored;
668
676
  }
669
677
  exports.restoreNineZoneState = restoreNineZoneState;
678
+ /**
679
+ * Checks to see whether a widget id is one of our generated uuids
680
+ * @param uuid the string value to test
681
+ * @returns boolean
682
+ */
683
+ function isUUID(uuid) {
684
+ const s = `${uuid}`;
685
+ 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}$");
686
+ // istanbul ignore else
687
+ if (result === null) {
688
+ return false;
689
+ }
690
+ return true;
691
+ }
670
692
  /** Prepares NineZoneState to be saved.
671
693
  * @note Removes toolSettings tab.
672
694
  * @note Removes tab labels and iconSpec.
@@ -681,6 +703,9 @@ function packNineZoneState(state) {
681
703
  for (const [, tab] of Object.entries(state.tabs)) {
682
704
  if (tab.id === appui_layout_react_1.toolSettingsTabId)
683
705
  continue;
706
+ // istanbul ignore else
707
+ if (isUUID(tab.id))
708
+ continue;
684
709
  draft.tabs[tab.id] = {
685
710
  id: tab.id,
686
711
  preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,
@@ -690,6 +715,18 @@ function packNineZoneState(state) {
690
715
  };
691
716
  }
692
717
  });
718
+ packed = (0, immer_1.default)(packed, (draft) => {
719
+ for (const [, floatingWidget] of Object.entries(state.floatingWidgets.byId)) {
720
+ const widgetId = floatingWidget.id;
721
+ // istanbul ignore else
722
+ if (isUUID(widgetId)) {
723
+ const idIndex = draft.floatingWidgets.allIds.indexOf(widgetId);
724
+ draft.floatingWidgets.allIds.splice(idIndex, 1);
725
+ delete draft.floatingWidgets.byId[widgetId];
726
+ delete draft.widgets[widgetId];
727
+ }
728
+ }
729
+ });
693
730
  return packed;
694
731
  }
695
732
  exports.packNineZoneState = packNineZoneState;
@@ -701,12 +738,14 @@ function isPanelCollapsed(zoneStates, panelStates) {
701
738
  }
702
739
  exports.isPanelCollapsed = isPanelCollapsed;
703
740
  function addRemovedTab(nineZone, widgetDef) {
741
+ var _a, _b;
704
742
  const newTab = (0, appui_layout_react_1.createTabState)(widgetDef.id, {
705
743
  label: getWidgetLabel(widgetDef.label),
706
744
  canPopout: widgetDef.canPopout,
707
745
  iconSpec: widgetDef.iconSpec,
708
746
  preferredPanelWidgetSize: widgetDef.preferredPanelSize,
709
747
  isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,
748
+ hideWithUiWhenFloating: !!widgetDef.hideWithUiWhenFloating,
710
749
  });
711
750
  nineZone.tabs[newTab.id] = newTab;
712
751
  if (widgetDef.tabLocation.widgetId in nineZone.widgets) {
@@ -715,6 +754,18 @@ function addRemovedTab(nineZone, widgetDef) {
715
754
  const newTabWidget = nineZone.widgets[widgetId];
716
755
  newTabWidget.tabs.splice(widgetDef.tabLocation.tabIndex, 0, newTab.id);
717
756
  }
757
+ else if (widgetDef.tabLocation.floating) {
758
+ const id = widgetDef.tabLocation.widgetId;
759
+ if (id in nineZone.floatingWidgets.byId) {
760
+ nineZone.floatingWidgets.allIds.push(id);
761
+ nineZone.floatingWidgets.byId[id].hidden = false;
762
+ (0, appui_layout_react_1.addWidgetTabToDraftFloatingPanel)(nineZone, (_a = widgetDef.floatingContainerId) !== null && _a !== void 0 ? _a : widgetDef.id, widgetDef.id, nineZone.floatingWidgets.byId[id].home, newTab);
763
+ }
764
+ else {
765
+ const home = { side: widgetDef.tabLocation.side, widgetId: widgetDef.floatingContainerId, widgetIndex: 0 };
766
+ (0, appui_layout_react_1.addWidgetTabToDraftFloatingPanel)(nineZone, (_b = widgetDef.floatingContainerId) !== null && _b !== void 0 ? _b : widgetDef.id, widgetDef.id, home, newTab);
767
+ }
768
+ }
718
769
  else {
719
770
  const newTabPanel = nineZone.panels[widgetDef.tabLocation.side];
720
771
  if (newTabPanel.maxWidgetCount === newTabPanel.widgets.length) {
@@ -734,7 +785,7 @@ function addRemovedTab(nineZone, widgetDef) {
734
785
  }
735
786
  /** @internal */
736
787
  exports.setWidgetState = (0, immer_1.default)((nineZone, widgetDef, state) => {
737
- var _a;
788
+ var _a, _b;
738
789
  if (state === appui_abstract_1.WidgetState.Open) {
739
790
  const id = widgetDef.id;
740
791
  let location = (0, appui_layout_react_1.findTab)(nineZone, id);
@@ -743,6 +794,9 @@ exports.setWidgetState = (0, immer_1.default)((nineZone, widgetDef, state) => {
743
794
  location = (0, appui_layout_react_1.findTab)(nineZone, id);
744
795
  (0, core_bentley_1.assert)(!!location);
745
796
  }
797
+ if (!!widgetDef.tabLocation.floating) {
798
+ nineZone.floatingWidgets.byId[(_a = widgetDef.floatingContainerId) !== null && _a !== void 0 ? _a : widgetDef.id].hidden = false;
799
+ }
746
800
  const widget = nineZone.widgets[location.widgetId];
747
801
  widget.minimized = false;
748
802
  widget.activeTabId = id;
@@ -753,7 +807,7 @@ exports.setWidgetState = (0, immer_1.default)((nineZone, widgetDef, state) => {
753
807
  panel.collapsed && (panel.collapsed = false);
754
808
  // istanbul ignore next
755
809
  if (undefined === panel.size || 0 === panel.size) {
756
- panel.size = (_a = panel.minSize) !== null && _a !== void 0 ? _a : 200;
810
+ panel.size = (_b = panel.minSize) !== null && _b !== void 0 ? _b : 200;
757
811
  }
758
812
  }
759
813
  }
@@ -781,16 +835,31 @@ function hideWidget(state, widgetDef) {
781
835
  const location = (0, appui_layout_react_1.findTab)(state, widgetDef.id);
782
836
  if (!location)
783
837
  return;
784
- const widgetId = location.widgetId;
785
- const side = "side" in location ? location.side : "left";
786
- const widgetIndex = "side" in location ? state.panels[side].widgets.indexOf(widgetId) : 0;
787
- const tabIndex = state.widgets[location.widgetId].tabs.indexOf(widgetDef.id);
788
- widgetDef.tabLocation = {
789
- side,
790
- tabIndex,
791
- widgetId,
792
- widgetIndex,
793
- };
838
+ if ((0, appui_layout_react_1.isFloatingLocation)(location)) {
839
+ const widget = state.floatingWidgets.byId[location.widgetId];
840
+ widgetDef.setFloatingContainerId(location.floatingWidgetId);
841
+ widgetDef.tabLocation = {
842
+ side: widget.home.side,
843
+ tabIndex: widget.home.widgetIndex,
844
+ widgetId: widgetDef.id,
845
+ widgetIndex: widget.home.widgetIndex,
846
+ floating: true,
847
+ };
848
+ }
849
+ else
850
+ // istanbul ignore else
851
+ if (!(0, appui_layout_react_1.isPopoutLocation)(location)) {
852
+ const widgetId = location.widgetId;
853
+ const side = "side" in location ? location.side : "left";
854
+ const widgetIndex = "side" in location ? state.panels[side].widgets.indexOf(widgetId) : 0;
855
+ const tabIndex = state.widgets[location.widgetId].tabs.indexOf(widgetDef.id);
856
+ widgetDef.tabLocation = {
857
+ side,
858
+ tabIndex,
859
+ widgetId,
860
+ widgetIndex,
861
+ };
862
+ }
794
863
  (0, appui_layout_react_1.removeTab)(state, widgetDef.id);
795
864
  }
796
865
  /** @internal */
@@ -931,7 +1000,7 @@ const createListener = (frontstageDef, listener) => {
931
1000
  };
932
1001
  };
933
1002
  /** @internal */
934
- function useFrontstageManager(frontstageDef) {
1003
+ function useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel) {
935
1004
  React.useEffect(() => {
936
1005
  const listener = createListener(frontstageDef, ({ widgetDef, widgetState }) => {
937
1006
  (0, core_bentley_1.assert)(!!frontstageDef.nineZoneState);
@@ -992,6 +1061,34 @@ function useFrontstageManager(frontstageDef) {
992
1061
  FrontstageManager_1.FrontstageManager.onWidgetLabelChangedEvent.removeListener(listener);
993
1062
  };
994
1063
  }, [frontstageDef]);
1064
+ const defaultLabel = React.useMemo(() => UiFramework_1.UiFramework.translate("widget.labels.toolSettings"), []);
1065
+ React.useEffect(() => {
1066
+ const updateLabel = createListener(frontstageDef, () => {
1067
+ var _a;
1068
+ const toolId = FrontstageManager_1.FrontstageManager.activeToolId;
1069
+ (0, core_bentley_1.assert)(!!frontstageDef.nineZoneState);
1070
+ const label = useToolAsToolSettingsLabel ?
1071
+ ((_a = core_frontend_1.IModelApp.tools.find(toolId)) === null || _a === void 0 ? void 0 : _a.flyover) || defaultLabel : defaultLabel;
1072
+ frontstageDef.nineZoneState = (0, exports.setWidgetLabel)(frontstageDef.nineZoneState, appui_layout_react_1.toolSettingsTabId, label);
1073
+ });
1074
+ // Whenever the frontstageDef or the useTool... changes, keep the label up to date.
1075
+ updateLabel();
1076
+ // If useTool... is true, listen for events to keep up the label up to date.
1077
+ if (useToolAsToolSettingsLabel) {
1078
+ FrontstageManager_1.FrontstageManager.onFrontstageReadyEvent.addListener(updateLabel);
1079
+ FrontstageManager_1.FrontstageManager.onFrontstageRestoreLayoutEvent.addListener(updateLabel);
1080
+ FrontstageManager_1.FrontstageManager.onToolActivatedEvent.addListener(updateLabel);
1081
+ FrontstageManager_1.FrontstageManager.onToolSettingsReloadEvent.addListener(updateLabel);
1082
+ }
1083
+ return () => {
1084
+ if (useToolAsToolSettingsLabel) {
1085
+ FrontstageManager_1.FrontstageManager.onFrontstageReadyEvent.removeListener(updateLabel);
1086
+ FrontstageManager_1.FrontstageManager.onFrontstageRestoreLayoutEvent.removeListener(updateLabel);
1087
+ FrontstageManager_1.FrontstageManager.onToolActivatedEvent.removeListener(updateLabel);
1088
+ FrontstageManager_1.FrontstageManager.onToolSettingsReloadEvent.removeListener(updateLabel);
1089
+ }
1090
+ };
1091
+ }, [frontstageDef, useToolAsToolSettingsLabel, defaultLabel]);
995
1092
  }
996
1093
  exports.useFrontstageManager = useFrontstageManager;
997
1094
  /** @internal */