@itwin/appui-react 3.2.0-dev.9 → 3.2.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 (313) hide show
  1. package/CHANGELOG.md +69 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +10 -0
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +22 -0
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +4 -4
  7. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +6 -6
  11. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
  13. package/lib/cjs/appui-react/accudraw/Calculator.js +3 -2
  14. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  15. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
  16. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +4 -2
  17. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  18. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +2 -2
  19. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  20. package/lib/cjs/appui-react/configurableui/state.d.ts +9 -1
  21. package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
  22. package/lib/cjs/appui-react/configurableui/state.js +13 -0
  23. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  24. package/lib/cjs/appui-react/content/ContentGroup.d.ts +1 -1
  25. package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
  26. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  27. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts +1 -0
  28. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  29. package/lib/cjs/appui-react/feedback/ElementTooltip.js +16 -0
  30. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  31. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +5 -0
  32. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  33. package/lib/cjs/appui-react/frontstage/Frontstage.js +9 -1
  34. package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
  35. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  36. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js +2 -0
  37. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  38. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  39. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +18 -9
  40. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  41. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  42. package/lib/cjs/appui-react/frontstage/FrontstageManager.js +2 -0
  43. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  44. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +2 -2
  45. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  46. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +6 -0
  47. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  48. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +2 -2
  49. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  50. package/lib/cjs/appui-react/imodel-components/VisibilityTreeBase.scss +3 -3
  51. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +2 -0
  52. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.json +2 -0
  53. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +39 -26
  54. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  55. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +1 -1
  56. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  57. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  58. package/lib/cjs/appui-react/redux/StateManager.d.ts.map +1 -1
  59. package/lib/cjs/appui-react/redux/StateManager.js +1 -0
  60. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  61. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  62. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +25 -5
  63. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  64. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts +1 -1
  65. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  66. package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
  67. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +6 -4
  68. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  69. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +6 -10
  70. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  71. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -1
  72. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  73. package/lib/cjs/appui-react/statusfields/Indicator.d.ts +3 -3
  74. package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
  75. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  76. package/lib/cjs/appui-react/statusfields/SelectionScope.js +1 -1
  77. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  78. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -1
  79. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  80. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +35 -33
  82. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  83. package/lib/cjs/appui-react/theme/ThemeManager.js +1 -1
  84. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  85. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts +1 -0
  86. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  87. package/lib/cjs/appui-react/toolbar/Toolbar.js +8 -3
  88. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  89. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +5 -26
  90. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  91. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +16 -16
  92. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  93. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +38 -0
  94. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -0
  95. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +96 -0
  96. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -0
  97. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +1 -18
  98. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  99. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  100. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +33 -0
  101. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -0
  102. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +51 -0
  103. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -0
  104. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +3 -18
  105. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  106. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +4 -3
  107. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  108. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +31 -0
  109. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -0
  110. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +79 -0
  111. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -0
  112. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts +5 -0
  113. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  114. package/lib/cjs/appui-react/uistate/AppUiSettings.js +8 -0
  115. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  116. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -1
  117. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js +3 -0
  118. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js.map +1 -1
  119. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  120. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +1 -0
  121. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  122. package/lib/cjs/appui-react/utils/PropsHelper.d.ts +3 -1
  123. package/lib/cjs/appui-react/utils/PropsHelper.d.ts.map +1 -1
  124. package/lib/cjs/appui-react/utils/PropsHelper.js +10 -0
  125. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  126. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  127. package/lib/cjs/appui-react/utils/UiShowHideManager.js +1 -0
  128. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  129. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +17 -1
  130. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  131. package/lib/cjs/appui-react/widget-panels/Frontstage.js +143 -129
  132. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  133. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  134. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +15 -2
  135. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  136. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +17 -1
  137. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +3 -3
  138. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  139. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +1 -1
  140. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  141. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  142. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +8 -1
  143. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  144. package/lib/cjs/appui-react/widgets/WidgetDef.js +14 -4
  145. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  146. package/lib/cjs/appui-react/widgets/WidgetHost.d.ts +1 -1
  147. package/lib/cjs/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  148. package/lib/cjs/appui-react/widgets/WidgetHost.js +106 -7
  149. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  150. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  151. package/lib/cjs/appui-react/widgets/WidgetManager.js +2 -1
  152. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  153. package/lib/cjs/appui-react.d.ts +3 -0
  154. package/lib/cjs/appui-react.d.ts.map +1 -1
  155. package/lib/cjs/appui-react.js +3 -0
  156. package/lib/cjs/appui-react.js.map +1 -1
  157. package/lib/esm/appui-react/UiFramework.d.ts +10 -0
  158. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  159. package/lib/esm/appui-react/UiFramework.js +22 -0
  160. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  161. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +4 -4
  162. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  163. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +1 -1
  164. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  165. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +6 -6
  166. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  167. package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
  168. package/lib/esm/appui-react/accudraw/Calculator.js +5 -4
  169. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  170. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
  171. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +5 -3
  172. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  173. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +2 -2
  174. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  175. package/lib/esm/appui-react/configurableui/state.d.ts +9 -1
  176. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  177. package/lib/esm/appui-react/configurableui/state.js +13 -0
  178. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  179. package/lib/esm/appui-react/content/ContentGroup.d.ts +1 -1
  180. package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
  181. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  182. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +1 -0
  183. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  184. package/lib/esm/appui-react/feedback/ElementTooltip.js +16 -0
  185. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  186. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +5 -0
  187. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  188. package/lib/esm/appui-react/frontstage/Frontstage.js +7 -0
  189. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  190. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  191. package/lib/esm/appui-react/frontstage/FrontstageComposer.js +2 -0
  192. package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  193. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  194. package/lib/esm/appui-react/frontstage/FrontstageDef.js +18 -9
  195. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  196. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  197. package/lib/esm/appui-react/frontstage/FrontstageManager.js +2 -0
  198. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  199. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +2 -2
  200. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  201. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +6 -0
  202. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  203. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +2 -2
  204. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  205. package/lib/esm/appui-react/imodel-components/VisibilityTreeBase.scss +3 -3
  206. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +2 -0
  207. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.json +2 -0
  208. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +39 -26
  209. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  210. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +1 -1
  211. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  212. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  213. package/lib/esm/appui-react/redux/StateManager.d.ts.map +1 -1
  214. package/lib/esm/appui-react/redux/StateManager.js +1 -0
  215. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  216. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  217. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +25 -5
  218. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  219. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts +1 -1
  220. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  221. package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
  222. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +6 -4
  223. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  224. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +6 -10
  225. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  226. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -1
  227. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  228. package/lib/esm/appui-react/statusfields/Indicator.d.ts +3 -3
  229. package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
  230. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  231. package/lib/esm/appui-react/statusfields/SelectionScope.js +1 -1
  232. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  233. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -1
  234. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  235. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  236. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +20 -18
  237. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  238. package/lib/esm/appui-react/theme/ThemeManager.js +1 -1
  239. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  240. package/lib/esm/appui-react/toolbar/Toolbar.d.ts +1 -0
  241. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  242. package/lib/esm/appui-react/toolbar/Toolbar.js +8 -3
  243. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  244. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +5 -26
  245. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  246. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +17 -17
  247. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  248. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +38 -0
  249. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -0
  250. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +92 -0
  251. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -0
  252. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +1 -18
  253. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  254. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  255. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +33 -0
  256. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -0
  257. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +47 -0
  258. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -0
  259. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +3 -18
  260. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  261. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +4 -3
  262. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  263. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +31 -0
  264. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -0
  265. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +75 -0
  266. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -0
  267. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts +5 -0
  268. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  269. package/lib/esm/appui-react/uistate/AppUiSettings.js +8 -0
  270. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  271. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -1
  272. package/lib/esm/appui-react/uistate/UserSettingsStorage.js +3 -0
  273. package/lib/esm/appui-react/uistate/UserSettingsStorage.js.map +1 -1
  274. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  275. package/lib/esm/appui-react/uistate/useUiStateStorage.js +1 -0
  276. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  277. package/lib/esm/appui-react/utils/PropsHelper.d.ts +3 -1
  278. package/lib/esm/appui-react/utils/PropsHelper.d.ts.map +1 -1
  279. package/lib/esm/appui-react/utils/PropsHelper.js +11 -1
  280. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  281. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  282. package/lib/esm/appui-react/utils/UiShowHideManager.js +1 -0
  283. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  284. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +17 -1
  285. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  286. package/lib/esm/appui-react/widget-panels/Frontstage.js +144 -130
  287. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  288. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  289. package/lib/esm/appui-react/widget-panels/ToolSettings.js +15 -2
  290. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  291. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +17 -1
  292. package/lib/esm/appui-react/widgets/BackstageAppButton.js +3 -3
  293. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  294. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +1 -1
  295. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  296. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  297. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +8 -1
  298. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  299. package/lib/esm/appui-react/widgets/WidgetDef.js +14 -4
  300. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  301. package/lib/esm/appui-react/widgets/WidgetHost.d.ts +1 -1
  302. package/lib/esm/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  303. package/lib/esm/appui-react/widgets/WidgetHost.js +106 -7
  304. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  305. package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  306. package/lib/esm/appui-react/widgets/WidgetManager.js +2 -1
  307. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  308. package/lib/esm/appui-react.d.ts +3 -0
  309. package/lib/esm/appui-react.d.ts.map +1 -1
  310. package/lib/esm/appui-react.js +3 -0
  311. package/lib/esm/appui-react.js.map +1 -1
  312. package/lib/public/locales/en/UiFramework.json +7 -2
  313. package/package.json +37 -37
@@ -1 +1 @@
1
- {"version":3,"file":"UiSettingsPage.js","sourceRoot":"","sources":["../../../../../src/appui-react/settings/ui/UiSettingsPage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Settings\r\n */\r\n\r\n// cSpell:ignore configurableui checkmark\r\n\r\nimport widowSettingsIconSvg from \"@bentley/icons-generic/icons/window-settings.svg?sprite\";\r\nimport \"./UiSettingsPage.scss\";\r\nimport * as React from \"react\";\r\nimport { SettingsTabEntry } from \"@itwin/core-react\";\r\nimport { UiFramework } from \"../../UiFramework\";\r\nimport { ColorTheme, SYSTEM_PREFERRED_COLOR_THEME } from \"../../theme/ThemeManager\";\r\nimport { UiShowHideManager } from \"../../utils/UiShowHideManager\";\r\nimport { SyncUiEventDispatcher, SyncUiEventId } from \"../../syncui/SyncUiEventDispatcher\";\r\nimport { IconSpecUtilities, UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { Select, SelectOption, Slider, ToggleSwitch } from \"@itwin/itwinui-react\";\r\n\r\n/** UiSettingsPage displaying the active UI settings. This page lets users set the following settings.\r\n *\r\n * - theme - Dark, Light, or based on OS preference.\r\n * - auto hide - Starts a timer and blanks out ui components that overlay content if there is no mouse movement for a period of time.\r\n * - drag interaction - If set, toolbar group buttons require a press and drag or a long press to open. In this mode a child action\r\n * item is shown as the group button and is activated when button is clicked. If a different child item is selected, it becomes the\r\n * active group button item.\r\n * - use proximity - Changes the opacity of toolbar from transparent to opaque as the mouse moves closer.\r\n * - snap widget opacity - triggers an abrupt change from transparent to opaque for tool and navigation widgets, instead of a gradual change based on mouse location.\r\n * - widget opacity - determines how transparent floating widgets in V2 and all widgets in V1 become when the mouse in not in them.\r\n * - UI version - if allowed by props, the UI version can be toggled between V1 and V2.\r\n *\r\n * @beta\r\n */\r\nexport function UiSettingsPage({ allowSettingUiFrameworkVersion }: { allowSettingUiFrameworkVersion: boolean }) {\r\n const themeTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.themeTitle\"));\r\n const themeDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.themeDescription\"));\r\n const autoHideTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.autoHideTitle\"));\r\n const autoHideDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.autoHideDescription\"));\r\n const dragInteractionTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.dragInteractionTitle\"));\r\n const dragInteractionDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.dragInteractionDescription\"));\r\n const useNewUiTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.newUiTitle\"));\r\n const useNewUiDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.newUiDescription\"));\r\n const useProximityOpacityTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.useProximityOpacityTitle\"));\r\n const useProximityOpacityDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.useProximityOpacityDescription\"));\r\n const snapWidgetOpacityTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.snapWidgetOpacityTitle\"));\r\n const snapWidgetOpacityDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.snapWidgetOpacityDescription\"));\r\n const darkLabel = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.dark\"));\r\n const lightLabel = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.light\"));\r\n const systemPreferredLabel = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.systemPreferred\"));\r\n const widgetOpacityTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.widgetOpacityTitle\"));\r\n const widgetOpacityDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.widgetOpacityDescription\"));\r\n const widgetIconTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.widgetIconTitle\"));\r\n const widgetIconDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.widgetIconDescription\"));\r\n\r\n const [theme, setTheme] = React.useState(() => UiFramework.getColorTheme());\r\n const [uiVersion, setUiVersion] = React.useState(() => UiFramework.uiVersion);\r\n const [useDragInteraction, setUseDragInteraction] = React.useState(() => UiFramework.useDragInteraction);\r\n const [showWidgetIcon, setShowWidgetIcon] = React.useState(() => UiFramework.showWidgetIcon);\r\n const [widgetOpacity, setWidgetOpacity] = React.useState(() => UiFramework.getWidgetOpacity());\r\n const [autoHideUi, setAutoHideUi] = React.useState(() => UiShowHideManager.autoHideUi);\r\n const [useProximityOpacity, setUseProximityOpacity] = React.useState(() => UiShowHideManager.useProximityOpacity);\r\n const [snapWidgetOpacity, setSnapWidgetOpacity] = React.useState(() => UiShowHideManager.snapWidgetOpacity);\r\n\r\n React.useEffect(() => {\r\n const syncIdsOfInterest = [\"configurableui:set_theme\", \"configurableui:set_widget_opacity\", \"configurableui:set-show-widget-icon\",\r\n \"configurableui:set-drag-interaction\", \"configurableui:set-framework-version\", SyncUiEventId.ShowHideManagerSettingChange];\r\n\r\n const handleSyncUiEvent = (args: UiSyncEventArgs) => {\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value))) {\r\n if (UiFramework.getColorTheme() !== theme)\r\n setTheme(UiFramework.getColorTheme());\r\n if (UiShowHideManager.autoHideUi !== autoHideUi)\r\n setAutoHideUi(UiShowHideManager.autoHideUi);\r\n if (UiFramework.uiVersion !== uiVersion)\r\n setUiVersion(UiFramework.uiVersion);\r\n if (UiFramework.useDragInteraction !== useDragInteraction)\r\n setUseDragInteraction(UiFramework.useDragInteraction);\r\n if (UiFramework.showWidgetIcon !== showWidgetIcon)\r\n setShowWidgetIcon(UiFramework.showWidgetIcon);\r\n if (UiFramework.getWidgetOpacity() !== widgetOpacity)\r\n setWidgetOpacity(UiFramework.getWidgetOpacity());\r\n if (UiShowHideManager.autoHideUi !== autoHideUi)\r\n setAutoHideUi(UiShowHideManager.autoHideUi);\r\n if (UiShowHideManager.useProximityOpacity !== useProximityOpacity)\r\n setUseProximityOpacity(UiShowHideManager.useProximityOpacity);\r\n if (UiShowHideManager.snapWidgetOpacity !== snapWidgetOpacity)\r\n setSnapWidgetOpacity(UiShowHideManager.snapWidgetOpacity);\r\n }\r\n };\r\n return SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\r\n }, [autoHideUi, showWidgetIcon, snapWidgetOpacity, theme, uiVersion, useDragInteraction, useProximityOpacity, widgetOpacity]);\r\n\r\n const defaultThemeOption = { label: systemPreferredLabel.current, value: SYSTEM_PREFERRED_COLOR_THEME };\r\n const themeOptions: SelectOption<string>[] = [\r\n defaultThemeOption,\r\n { label: lightLabel.current, value: ColorTheme.Light },\r\n { label: darkLabel.current, value: ColorTheme.Dark },\r\n ];\r\n\r\n const onThemeChange = React.useCallback((newValue: string) => {\r\n UiFramework.setColorTheme(newValue);\r\n }, []);\r\n\r\n const onAutoHideChange = React.useCallback(async () => {\r\n UiShowHideManager.autoHideUi = !autoHideUi;\r\n }, [autoHideUi]);\r\n\r\n const onUseProximityOpacityChange = React.useCallback(async () => {\r\n UiShowHideManager.useProximityOpacity = !useProximityOpacity;\r\n }, [useProximityOpacity]);\r\n\r\n const onSnapWidgetOpacityChange = React.useCallback(async () => {\r\n UiShowHideManager.snapWidgetOpacity = !snapWidgetOpacity;\r\n }, [snapWidgetOpacity]);\r\n\r\n const onWidgetIconChange = React.useCallback(async () => {\r\n UiFramework.setShowWidgetIcon(!showWidgetIcon);\r\n }, [showWidgetIcon]);\r\n\r\n const onWidgetOpacityChange = React.useCallback(async (values: readonly number[]) => {\r\n // istanbul ignore else\r\n if (values.length > 0) {\r\n UiFramework.setWidgetOpacity(values[0]);\r\n }\r\n }, []);\r\n const onToggleFrameworkVersion = React.useCallback(async () => {\r\n UiFramework.setUiVersion(uiVersion === \"2\" ? \"1\" : \"2\");\r\n }, [uiVersion]);\r\n\r\n const onToggleDragInteraction = React.useCallback(async () => {\r\n UiFramework.setUseDragInteraction(!useDragInteraction);\r\n }, [useDragInteraction]);\r\n\r\n const currentTheme = UiFramework.getColorTheme();\r\n\r\n return (\r\n <div className=\"uifw-settings\">\r\n <SettingsItem title={themeTitle.current} description={themeDescription.current}\r\n settingUi={\r\n <div data-testid=\"select-theme-container\" className=\"select-theme-container\">\r\n <Select\r\n value={currentTheme}\r\n onChange={onThemeChange}\r\n options={themeOptions}\r\n data-testid=\"select-theme\"\r\n size=\"small\"\r\n />\r\n </div>\r\n }\r\n />\r\n <SettingsItem title={autoHideTitle.current} description={autoHideDescription.current}\r\n settingUi={<ToggleSwitch checked={autoHideUi} onChange={onAutoHideChange} />}\r\n />\r\n {allowSettingUiFrameworkVersion && <SettingsItem title={useNewUiTitle.current} description={useNewUiDescription.current}\r\n settingUi={<ToggleSwitch checked={UiFramework.uiVersion === \"2\"} onChange={onToggleFrameworkVersion} />}\r\n />}\r\n {UiFramework.uiVersion === \"2\" && <>\r\n <SettingsItem title={dragInteractionTitle.current} description={dragInteractionDescription.current}\r\n settingUi={<ToggleSwitch checked={useDragInteraction} onChange={onToggleDragInteraction} />}\r\n />\r\n <SettingsItem title={useProximityOpacityTitle.current} description={useProximityOpacityDescription.current}\r\n settingUi={<ToggleSwitch checked={useProximityOpacity} onChange={onUseProximityOpacityChange} />}\r\n />\r\n <SettingsItem title={snapWidgetOpacityTitle.current} description={snapWidgetOpacityDescription.current}\r\n settingUi={<ToggleSwitch checked={snapWidgetOpacity} onChange={onSnapWidgetOpacityChange} />}\r\n />\r\n <SettingsItem title={widgetIconTitle.current} description={widgetIconDescription.current}\r\n settingUi={<ToggleSwitch checked={showWidgetIcon} onChange={onWidgetIconChange} />}\r\n />\r\n </>\r\n }\r\n <SettingsItem title={widgetOpacityTitle.current} description={widgetOpacityDescription.current}\r\n settingUi={\r\n <Slider style={{ flex: \"1\" }} values={[widgetOpacity]} step={0.05} onChange={onWidgetOpacityChange}\r\n min={0.20} max={1.0} maxLabel=\"1.0\" tickLabels={[\"\", \"\", \"\", \"\", \"\"]} />\r\n }\r\n />\r\n </div>\r\n );\r\n}\r\n\r\ninterface SettingsItemProps {\r\n title: string;\r\n description: string;\r\n settingUi: React.ReactNode;\r\n}\r\n\r\nfunction SettingsItem(props: SettingsItemProps) {\r\n const { title, description, settingUi } = props;\r\n\r\n return (\r\n <div className=\"uifw-settings-item\">\r\n <div className=\"panel left-panel\">\r\n <span className=\"title\">{title}</span>\r\n <span className=\"description\">{description}</span>\r\n </div>\r\n <div className=\"panel right-panel\">\r\n {settingUi}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n/**\r\n * Return a SettingsTabEntry that can be used to define the available settings that can be set for an application.\r\n * @param itemPriority - Used to define the order of the entry in the Settings Stage\r\n * @beta\r\n */\r\nexport function getUiSettingsManagerEntry(itemPriority: number, allowSettingUiFrameworkVersion?: boolean): SettingsTabEntry {\r\n return {\r\n itemPriority, tabId: \"uifw:UiStateStorage\",\r\n label: UiFramework.translate(\"settings.uiSettingsPage.label\"),\r\n icon: IconSpecUtilities.createSvgIconSpec(widowSettingsIconSvg),\r\n page: <UiSettingsPage allowSettingUiFrameworkVersion={!!allowSettingUiFrameworkVersion} />,\r\n isDisabled: false,\r\n tooltip: UiFramework.translate(\"settings.uiSettingsPage.tooltip\"),\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"UiSettingsPage.js","sourceRoot":"","sources":["../../../../../src/appui-react/settings/ui/UiSettingsPage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Settings\r\n */\r\n\r\n// cSpell:ignore configurableui checkmark\r\n\r\nimport widowSettingsIconSvg from \"@bentley/icons-generic/icons/window-settings.svg\";\r\nimport \"./UiSettingsPage.scss\";\r\nimport * as React from \"react\";\r\nimport { SettingsTabEntry } from \"@itwin/core-react\";\r\nimport { UiFramework } from \"../../UiFramework\";\r\nimport { ColorTheme, SYSTEM_PREFERRED_COLOR_THEME } from \"../../theme/ThemeManager\";\r\nimport { UiShowHideManager } from \"../../utils/UiShowHideManager\";\r\nimport { SyncUiEventDispatcher, SyncUiEventId } from \"../../syncui/SyncUiEventDispatcher\";\r\nimport { IconSpecUtilities, UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { Select, SelectOption, Slider, ToggleSwitch } from \"@itwin/itwinui-react\";\r\n\r\n/** UiSettingsPage displaying the active UI settings. This page lets users set the following settings.\r\n *\r\n * - theme - Dark, Light, or based on OS preference.\r\n * - auto hide - Starts a timer and blanks out ui components that overlay content if there is no mouse movement for a period of time.\r\n * - drag interaction - If set, toolbar group buttons require a press and drag or a long press to open. In this mode a child action\r\n * item is shown as the group button and is activated when button is clicked. If a different child item is selected, it becomes the\r\n * active group button item.\r\n * - use proximity - Changes the opacity of toolbar from transparent to opaque as the mouse moves closer.\r\n * - snap widget opacity - triggers an abrupt change from transparent to opaque for tool and navigation widgets, instead of a gradual change based on mouse location.\r\n * - widget opacity - determines how transparent floating widgets in V2 and all widgets in V1 become when the mouse in not in them.\r\n * - UI version - if allowed by props, the UI version can be toggled between V1 and V2.\r\n *\r\n * @beta\r\n */\r\nexport function UiSettingsPage({ allowSettingUiFrameworkVersion }: { allowSettingUiFrameworkVersion: boolean }) {\r\n const themeTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.themeTitle\"));\r\n const themeDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.themeDescription\"));\r\n const autoHideTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.autoHideTitle\"));\r\n const autoHideDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.autoHideDescription\"));\r\n const dragInteractionTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.dragInteractionTitle\"));\r\n const dragInteractionDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.dragInteractionDescription\"));\r\n const useNewUiTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.newUiTitle\"));\r\n const useNewUiDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.newUiDescription\"));\r\n const useProximityOpacityTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.useProximityOpacityTitle\"));\r\n const useProximityOpacityDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.useProximityOpacityDescription\"));\r\n const snapWidgetOpacityTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.snapWidgetOpacityTitle\"));\r\n const snapWidgetOpacityDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.snapWidgetOpacityDescription\"));\r\n const darkLabel = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.dark\"));\r\n const lightLabel = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.light\"));\r\n const systemPreferredLabel = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.systemPreferred\"));\r\n const widgetOpacityTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.widgetOpacityTitle\"));\r\n const widgetOpacityDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.widgetOpacityDescription\"));\r\n const widgetIconTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.widgetIconTitle\"));\r\n const widgetIconDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.widgetIconDescription\"));\r\n const autoCollapseUnpinnedPanelsTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.autoCollapseUnpinnedPanelsTitle\"));\r\n const autoCollapseUnpinnedPanelsDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.autoCollapseUnpinnedPanelsDescription\"));\r\n const animateToolSettingsTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.animateToolSettingsTitle\"));\r\n const animateToolSettingsDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.animateToolSettingsDescription\"));\r\n\r\n const [theme, setTheme] = React.useState(() => UiFramework.getColorTheme());\r\n const [uiVersion, setUiVersion] = React.useState(() => UiFramework.uiVersion);\r\n const [useDragInteraction, setUseDragInteraction] = React.useState(() => UiFramework.useDragInteraction);\r\n const [showWidgetIcon, setShowWidgetIcon] = React.useState(() => UiFramework.showWidgetIcon);\r\n const [autoCollapseUnpinnedPanels, setAutoCollapseUnpinnedPanels] = React.useState(() => UiFramework.autoCollapseUnpinnedPanels);\r\n const [animateToolSettings, setAnimateToolSettings] = React.useState(() => UiFramework.animateToolSettings);\r\n const [widgetOpacity, setWidgetOpacity] = React.useState(() => UiFramework.getWidgetOpacity());\r\n const [autoHideUi, setAutoHideUi] = React.useState(() => UiShowHideManager.autoHideUi);\r\n const [useProximityOpacity, setUseProximityOpacity] = React.useState(() => UiShowHideManager.useProximityOpacity);\r\n const [snapWidgetOpacity, setSnapWidgetOpacity] = React.useState(() => UiShowHideManager.snapWidgetOpacity);\r\n\r\n React.useEffect(() => {\r\n const syncIdsOfInterest = [\"configurableui:set_theme\", \"configurableui:set_widget_opacity\", \"configurableui:set-show-widget-icon\",\r\n \"configurableui:set-drag-interaction\", \"configurableui:set-framework-version\",\r\n \"configurableui:set-auto-collapse-unpinned-panels\", \"configurableui:set-animate-tool-settings\", SyncUiEventId.ShowHideManagerSettingChange];\r\n\r\n const handleSyncUiEvent = (args: UiSyncEventArgs) => {\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value))) {\r\n if (UiFramework.getColorTheme() !== theme)\r\n setTheme(UiFramework.getColorTheme());\r\n if (UiShowHideManager.autoHideUi !== autoHideUi)\r\n setAutoHideUi(UiShowHideManager.autoHideUi);\r\n if (UiFramework.uiVersion !== uiVersion)\r\n setUiVersion(UiFramework.uiVersion);\r\n if (UiFramework.useDragInteraction !== useDragInteraction)\r\n setUseDragInteraction(UiFramework.useDragInteraction);\r\n if (UiFramework.showWidgetIcon !== showWidgetIcon)\r\n setShowWidgetIcon(UiFramework.showWidgetIcon);\r\n if (UiFramework.autoCollapseUnpinnedPanels !== autoCollapseUnpinnedPanels)\r\n setAutoCollapseUnpinnedPanels(UiFramework.autoCollapseUnpinnedPanels);\r\n if (UiFramework.getWidgetOpacity() !== widgetOpacity)\r\n setWidgetOpacity(UiFramework.getWidgetOpacity());\r\n if (UiShowHideManager.autoHideUi !== autoHideUi)\r\n setAutoHideUi(UiShowHideManager.autoHideUi);\r\n if (UiShowHideManager.useProximityOpacity !== useProximityOpacity)\r\n setUseProximityOpacity(UiShowHideManager.useProximityOpacity);\r\n if (UiShowHideManager.snapWidgetOpacity !== snapWidgetOpacity)\r\n setSnapWidgetOpacity(UiShowHideManager.snapWidgetOpacity);\r\n if (UiFramework.animateToolSettings !== animateToolSettings)\r\n setAnimateToolSettings(UiFramework.animateToolSettings);\r\n }\r\n };\r\n return SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\r\n }, [autoCollapseUnpinnedPanels, autoHideUi, showWidgetIcon, snapWidgetOpacity, theme, uiVersion,\r\n useDragInteraction, useProximityOpacity, widgetOpacity, animateToolSettings]);\r\n\r\n const defaultThemeOption = { label: systemPreferredLabel.current, value: SYSTEM_PREFERRED_COLOR_THEME };\r\n const themeOptions: SelectOption<string>[] = [\r\n defaultThemeOption,\r\n { label: lightLabel.current, value: ColorTheme.Light },\r\n { label: darkLabel.current, value: ColorTheme.Dark },\r\n ];\r\n\r\n const onThemeChange = React.useCallback((newValue: string) => {\r\n UiFramework.setColorTheme(newValue);\r\n }, []);\r\n\r\n const onAutoHideChange = React.useCallback(async () => {\r\n UiShowHideManager.autoHideUi = !autoHideUi;\r\n }, [autoHideUi]);\r\n\r\n const onUseProximityOpacityChange = React.useCallback(async () => {\r\n UiShowHideManager.useProximityOpacity = !useProximityOpacity;\r\n }, [useProximityOpacity]);\r\n\r\n const onSnapWidgetOpacityChange = React.useCallback(async () => {\r\n UiShowHideManager.snapWidgetOpacity = !snapWidgetOpacity;\r\n }, [snapWidgetOpacity]);\r\n\r\n const onWidgetIconChange = React.useCallback(async () => {\r\n UiFramework.setShowWidgetIcon(!showWidgetIcon);\r\n }, [showWidgetIcon]);\r\n\r\n const onAutoCollapseUnpinnedPanelsChange = React.useCallback(async () => {\r\n UiFramework.setAutoCollapseUnpinnedPanels(!autoCollapseUnpinnedPanels);\r\n }, [autoCollapseUnpinnedPanels]);\r\n\r\n const onWidgetOpacityChange = React.useCallback(async (values: readonly number[]) => {\r\n // istanbul ignore else\r\n if (values.length > 0) {\r\n UiFramework.setWidgetOpacity(values[0]);\r\n }\r\n }, []);\r\n const onToggleFrameworkVersion = React.useCallback(async () => {\r\n UiFramework.setUiVersion(uiVersion === \"2\" ? \"1\" : \"2\");\r\n }, [uiVersion]);\r\n\r\n const onToggleDragInteraction = React.useCallback(async () => {\r\n UiFramework.setUseDragInteraction(!useDragInteraction);\r\n }, [useDragInteraction]);\r\n\r\n const OnToggleAnimateToolSettings = React.useCallback(async () => {\r\n UiFramework.setAnimateToolSettings(!animateToolSettings);\r\n }, [animateToolSettings]);\r\n const currentTheme = UiFramework.getColorTheme();\r\n\r\n return (\r\n <div className=\"uifw-settings\">\r\n <SettingsItem title={themeTitle.current} description={themeDescription.current}\r\n settingUi={\r\n <div data-testid=\"select-theme-container\" className=\"select-theme-container\">\r\n <Select\r\n value={currentTheme}\r\n onChange={onThemeChange}\r\n options={themeOptions}\r\n data-testid=\"select-theme\"\r\n size=\"small\"\r\n />\r\n </div>\r\n }\r\n />\r\n <SettingsItem title={autoHideTitle.current} description={autoHideDescription.current}\r\n settingUi={<ToggleSwitch checked={autoHideUi} onChange={onAutoHideChange} />}\r\n />\r\n {allowSettingUiFrameworkVersion && <SettingsItem title={useNewUiTitle.current} description={useNewUiDescription.current}\r\n settingUi={<ToggleSwitch checked={UiFramework.uiVersion === \"2\"} onChange={onToggleFrameworkVersion} />}\r\n />}\r\n {UiFramework.uiVersion === \"2\" && <>\r\n <SettingsItem title={dragInteractionTitle.current} description={dragInteractionDescription.current}\r\n settingUi={<ToggleSwitch checked={useDragInteraction} onChange={onToggleDragInteraction} />}\r\n />\r\n <SettingsItem title={useProximityOpacityTitle.current} description={useProximityOpacityDescription.current}\r\n settingUi={<ToggleSwitch checked={useProximityOpacity} onChange={onUseProximityOpacityChange} />}\r\n />\r\n <SettingsItem title={snapWidgetOpacityTitle.current} description={snapWidgetOpacityDescription.current}\r\n settingUi={<ToggleSwitch checked={snapWidgetOpacity} onChange={onSnapWidgetOpacityChange} />}\r\n />\r\n <SettingsItem title={widgetIconTitle.current} description={widgetIconDescription.current}\r\n settingUi={<ToggleSwitch checked={showWidgetIcon} onChange={onWidgetIconChange} />}\r\n />\r\n <SettingsItem title={autoCollapseUnpinnedPanelsTitle.current} description={autoCollapseUnpinnedPanelsDescription.current}\r\n settingUi={<ToggleSwitch checked={autoCollapseUnpinnedPanels} onChange={onAutoCollapseUnpinnedPanelsChange} />}\r\n />\r\n <SettingsItem title={animateToolSettingsTitle.current} description={animateToolSettingsDescription.current}\r\n settingUi={<ToggleSwitch checked={animateToolSettings} onChange={OnToggleAnimateToolSettings} />}\r\n />\r\n\r\n </>\r\n }\r\n <SettingsItem title={widgetOpacityTitle.current} description={widgetOpacityDescription.current}\r\n settingUi={\r\n <Slider style={{ flex: \"1\" }} values={[widgetOpacity]} step={0.05} onChange={onWidgetOpacityChange}\r\n min={0.20} max={1.0} maxLabel=\"1.0\" tickLabels={[\"\", \"\", \"\", \"\", \"\"]} />\r\n }\r\n />\r\n </div>\r\n );\r\n}\r\n\r\ninterface SettingsItemProps {\r\n title: string;\r\n description: string;\r\n settingUi: React.ReactNode;\r\n}\r\n\r\nfunction SettingsItem(props: SettingsItemProps) {\r\n const { title, description, settingUi } = props;\r\n\r\n return (\r\n <div className=\"uifw-settings-item\">\r\n <div className=\"panel left-panel\">\r\n <span className=\"title\">{title}</span>\r\n <span className=\"description\">{description}</span>\r\n </div>\r\n <div className=\"panel right-panel\">\r\n {settingUi}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n/**\r\n * Return a SettingsTabEntry that can be used to define the available settings that can be set for an application.\r\n * @param itemPriority - Used to define the order of the entry in the Settings Stage\r\n * @beta\r\n */\r\nexport function getUiSettingsManagerEntry(itemPriority: number, allowSettingUiFrameworkVersion?: boolean): SettingsTabEntry {\r\n return {\r\n itemPriority, tabId: \"uifw:UiStateStorage\",\r\n label: UiFramework.translate(\"settings.uiSettingsPage.label\"),\r\n icon: IconSpecUtilities.createWebComponentIconSpec(widowSettingsIconSvg),\r\n page: <UiSettingsPage allowSettingUiFrameworkVersion={!!allowSettingUiFrameworkVersion} />,\r\n isDisabled: false,\r\n tooltip: UiFramework.translate(\"settings.uiSettingsPage.tooltip\"),\r\n };\r\n}\r\n"]}
@@ -46,7 +46,7 @@ export interface StagePanelZoneProps {
46
46
  export interface StagePanelZonesProps {
47
47
  /** Properties for the Widgets in the Start section. */
48
48
  start?: StagePanelZoneProps;
49
- /** Properties for the Widgets in the Middle section. */
49
+ /** Properties for the Widgets in the Middle section. Deprecated - all widgets originally targeted for "middle" will now go to "end". */
50
50
  middle?: StagePanelZoneProps;
51
51
  /** Properties for the Widgets in the End section. */
52
52
  end?: StagePanelZoneProps;
@@ -1 +1 @@
1
- {"version":3,"file":"StagePanel.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanel.tsx"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,mBAAmB,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,cAAc,IAAI,iBAAiB,EAAE,YAAY,EACrI,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEjH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAA8B,aAAa,EAAE,eAAe,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAChH,OAAO,EAAE,SAAS,EAA+B,MAAM,sBAAsB,CAAC;AAE9E;;;;;;;;;;;;;;;;;GAiBG;AAEH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IAChD,mDAAmD;IACnD,eAAe,CAAC,EAAE,GAAG,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,wDAAwD;IACxD,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,qDAAqD;IACrD,GAAG,CAAC,EAAE,mBAAmB,CAAC;CAC3B;AAED;;;GAGG;AACH,oBAAY,qBAAqB,GAAG,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,oDAAoD;IACpD,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,4GAA4G;IAC5G,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,0BAA0B;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,iCAAiC;IACjC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,SAAS,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IAEjD;eACW;IACX,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAElC,gBAAgB;IAChB,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACvC;AAED;;GAEG;AACH,oBAAY,sBAAsB,GAAG,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,eAAe,EAAE,YAAY,GAAG,SAAS,CAAC;IAC1C,mBAAmB,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACrE,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,8BAA8B,CAAC;IACtC,QAAQ,EAAE,aAAa,CAAC;IACxB,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,OAAO,EAAE,wBAAwB,CAAC;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,UAAU,wBAAwB;IAChC,UAAU,EAAE,eAAe,CAAC;IAC5B,iBAAiB,EAAE,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;CACnD;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,wBAAwB,CAAC;IACxF,gBAAuB,YAAY,EAAE,sBAAsB,CAEzD;gBAEiB,KAAK,EAAE,eAAe;WAU3B,uBAAuB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,GAAG,IAAI;IAI/G,iBAAiB;IAKjB,kBAAkB,CAAC,SAAS,EAAE,eAAe;IAQ7C,oBAAoB;IAKpB,MAAM,IAAI,KAAK,CAAC,SAAS;IAqBzC,OAAO,CAAC,iBAAiB,CAiBvB;IAEF,OAAO,CAAC,6BAA6B,CAQnC;IAEF,OAAO,CAAC,8BAA8B,CASpC;IAEF,OAAO,CAAC,4BAA4B;CAOrC;AAED,gBAAgB;AAChB,eAAO,MAAM,iBAAiB,aAAc,kBAAkB,KAAG,iBAahE,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,sBAAsB,aAAc,kBAAkB,KAAG,oBAAoB,6BAA6B,CAiCtH,CAAC"}
1
+ {"version":3,"file":"StagePanel.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanel.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StagePanel.js","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanel.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { StagePanelLocation } from \"@itwin/appui-abstract\";\r\nimport {\r\n NestedStagePanelKey, NestedStagePanelsManagerProps, NineZoneStagePanelManagerProps, StagePanelType as NZ_StagePanelType, WidgetZoneId,\r\n ZonesManagerWidgetsProps,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { StagePanelChangeHandler, WidgetChangeHandler, ZoneDefProvider } from \"../frontstage/FrontstageComposer\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { WidgetProps } from \"../widgets/WidgetProps\";\r\nimport { WidgetTabs } from \"../widgets/WidgetStack\";\r\nimport { ZoneLocation } from \"../zones/Zone\";\r\nimport { FrameworkStagePanel } from \"./FrameworkStagePanel\";\r\nimport { PanelStateChangedEventArgs, StagePanelDef, StagePanelState as StagePanelState } from \"./StagePanelDef\";\r\nimport { WidgetDef, WidgetStateChangedEventArgs } from \"../widgets/WidgetDef\";\r\n\r\n/** Available StagePanel locations.\r\n * ------------------------------------------------------------------------------------\r\n * TopMost\r\n * ------------------------------------------------------------------------------------\r\n * Left | Top | Right\r\n * |---------------------------------------------------------------|\r\n * | Nine-zone |\r\n * | |\r\n * | |\r\n * | |\r\n * | |\r\n * | |\r\n * |---------------------------------------------------------------|\r\n * | Bottom |\r\n * ------------------------------------------------------------------------------------\r\n * BottomMost\r\n * ------------------------------------------------------------------------------------\r\n */\r\n\r\n/** Properties of a Stage Panel Zone\r\n * @public @deprecated\r\n */\r\nexport interface StagePanelZoneProps {\r\n /** Properties for the Widgets in this Zone.\r\n * @note Stable `WidgetProps[\"id\"]` is generated if id is not provided to correctly save and restore App layout.\r\n * [[Frontstage]] version must be increased when Widget location is changed or new widgets are added/removed.\r\n */\r\n widgets: Array<React.ReactElement<WidgetProps>>;\r\n /** Any application data to attach to this Zone. */\r\n applicationData?: any;\r\n}\r\n\r\n/** Properties of the Stage Panel Zones\r\n * @public @deprecated\r\n */\r\nexport interface StagePanelZonesProps {\r\n /** Properties for the Widgets in the Start section. */\r\n start?: StagePanelZoneProps;\r\n /** Properties for the Widgets in the Middle section. */\r\n middle?: StagePanelZoneProps;\r\n /** Properties for the Widgets in the End section. */\r\n end?: StagePanelZoneProps;\r\n}\r\n\r\n/** Available units of panel maximum size. Pixels or percentage of 9-Zone App size.\r\n * @note Percentage of 9-Zone `height` is used for top/bottom panel and percentage of 9-Zone `width` is used for left/right panel.\r\n * @public\r\n */\r\nexport type StagePanelMaxSizeSpec = number | { percentage: number };\r\n\r\n/** Properties of a [[StagePanel]] component\r\n * @public\r\n */\r\nexport interface StagePanelProps {\r\n /** Describes which zones are allowed in this stage panel. */\r\n allowedZones?: ZoneLocation[];\r\n /** Any application data to attach to this Panel. */\r\n applicationData?: any;\r\n /** Default Panel state. Controls how the panel is initially displayed. Defaults to StagePanelState.Open. */\r\n defaultState?: StagePanelState;\r\n /** Stage panel header. */\r\n header?: React.ReactNode;\r\n /** Maximum size of the panel. */\r\n maxSize?: StagePanelMaxSizeSpec;\r\n /** Minimum size of the panel. */\r\n minSize?: number;\r\n /** Indicates whether the panel is pinned. Defaults to true. */\r\n pinned?: boolean;\r\n /** Indicates whether the panel is resizable. Defaults to true. */\r\n resizable: boolean;\r\n /** Default size of the panel. */\r\n size?: number;\r\n /** Properties for the Widgets in this Panel.\r\n * @note Stable `WidgetProps[\"id\"]` is generated if id is not provided to correctly save and restore App layout.\r\n * [[Frontstage]] version must be increased when Widget location is changed or new widgets are added/removed.\r\n */\r\n widgets?: Array<React.ReactElement<WidgetProps>>;\r\n\r\n /** Properties for the Panel Zones in this Panel.\r\n * @beta */\r\n panelZones?: StagePanelZonesProps;\r\n\r\n /** @internal */\r\n runtimeProps?: StagePanelRuntimeProps;\r\n}\r\n\r\n/** Default properties of [[StagePanel]] component.\r\n * @public\r\n */\r\nexport type StagePanelDefaultProps = Pick<StagePanelProps, \"resizable\">;\r\n\r\n/** Runtime Properties for the [[StagePanel]] component.\r\n * @internal\r\n */\r\nexport interface StagePanelRuntimeProps {\r\n draggedWidgetId: WidgetZoneId | undefined; // eslint-disable-line deprecation/deprecation\r\n getWidgetContentRef: (id: WidgetZoneId) => React.Ref<HTMLDivElement>; // eslint-disable-line deprecation/deprecation\r\n isInFooterMode: boolean;\r\n isTargeted: boolean;\r\n panel: NineZoneStagePanelManagerProps;\r\n panelDef: StagePanelDef;\r\n stagePanelChangeHandler: StagePanelChangeHandler;\r\n widgetChangeHandler: WidgetChangeHandler; // eslint-disable-line deprecation/deprecation\r\n widgets: ZonesManagerWidgetsProps;\r\n widgetTabs: WidgetTabs;\r\n zoneDefProvider: ZoneDefProvider;\r\n}\r\n\r\ninterface StagePanelComponentState {\r\n panelState: StagePanelState;\r\n stagePanelWidgets: ReadonlyArray<WidgetDef[\"id\"]>;\r\n}\r\n\r\n/** Frontstage Panel React component.\r\n * @public\r\n */\r\nexport class StagePanel extends React.Component<StagePanelProps, StagePanelComponentState> {\r\n public static readonly defaultProps: StagePanelDefaultProps = {\r\n resizable: true,\r\n };\r\n\r\n public constructor(props: StagePanelProps) {\r\n super(props);\r\n\r\n const panelState = this.props.runtimeProps?.panelDef.panelState;\r\n this.state = {\r\n panelState: panelState === undefined ? StagePanelState.Open : panelState,\r\n stagePanelWidgets: this._getVisibleStagePanelWidgets(),\r\n };\r\n }\r\n\r\n public static initializeStagePanelDef(panelDef: StagePanelDef, props: StagePanelProps, panelLocation: StagePanelLocation): void {\r\n panelDef.initializeFromProps(props, panelLocation);\r\n }\r\n\r\n public override componentDidMount() {\r\n FrontstageManager.onPanelStateChangedEvent.addListener(this._handlePanelStateChangedEvent);\r\n FrontstageManager.onWidgetStateChangedEvent.addListener(this._handleWidgetStateChangedEvent);\r\n }\r\n\r\n public override componentDidUpdate(prevProps: StagePanelProps) {\r\n if (prevProps.runtimeProps?.panelDef !== this.props.runtimeProps?.panelDef) {\r\n this.setState({\r\n stagePanelWidgets: this._getVisibleStagePanelWidgets(),\r\n });\r\n }\r\n }\r\n\r\n public override componentWillUnmount() {\r\n FrontstageManager.onPanelStateChangedEvent.removeListener(this._handlePanelStateChangedEvent);\r\n FrontstageManager.onWidgetStateChangedEvent.removeListener(this._handleWidgetStateChangedEvent);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n const { applicationData, defaultState, runtimeProps, maxSize, size, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n if (!runtimeProps)\r\n return null;\r\n\r\n const { stagePanelChangeHandler, panelDef, ...otherRuntimeProps } = runtimeProps;\r\n return (\r\n <FrameworkStagePanel\r\n changeHandler={stagePanelChangeHandler}\r\n initialSize={size}\r\n location={panelDef.location}\r\n renderPane={this._handleRenderPane}\r\n stagePanelWidgets={this.state.stagePanelWidgets}\r\n panelState={this.state.panelState}\r\n maxSize={typeof maxSize === \"number\" ? maxSize : undefined}\r\n {...props}\r\n {...otherRuntimeProps}\r\n />\r\n );\r\n }\r\n\r\n private _handleRenderPane = (widgetDefId: WidgetDef[\"id\"]): React.ReactNode => {\r\n const runtimeProps = this.props.runtimeProps;\r\n if (!runtimeProps)\r\n return null;\r\n const widgetDef = runtimeProps.panelDef.findWidgetDef(widgetDefId);\r\n if (!widgetDef || !widgetDef.isVisible)\r\n return null;\r\n return (\r\n <div\r\n style={{\r\n height: \"100%\",\r\n display: runtimeProps.panel.isCollapsed ? \"none\" : \"block\",\r\n }}\r\n >\r\n {widgetDef.reactNode}\r\n </div>\r\n );\r\n };\r\n\r\n private _handlePanelStateChangedEvent = ({ panelDef, panelState }: PanelStateChangedEventArgs) => {\r\n // istanbul ignore else\r\n if (panelDef !== this.props.runtimeProps?.panelDef)\r\n return;\r\n // istanbul ignore next\r\n this.setState({\r\n panelState,\r\n });\r\n };\r\n\r\n private _handleWidgetStateChangedEvent = ({ widgetDef }: WidgetStateChangedEventArgs) => {\r\n const runtimeProps = this.props.runtimeProps;\r\n if (!runtimeProps)\r\n return;\r\n if (!runtimeProps.panelDef.findWidgetDef(widgetDef.id))\r\n return;\r\n this.setState({\r\n stagePanelWidgets: this._getVisibleStagePanelWidgets(),\r\n });\r\n };\r\n\r\n private _getVisibleStagePanelWidgets() {\r\n const panelDef = this.props.runtimeProps?.panelDef;\r\n if (!panelDef)\r\n return [];\r\n const visibleWidgets = panelDef.widgetDefs.filter((wd) => wd.isVisible);\r\n return visibleWidgets.map((widgetDef) => widgetDef.id);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport const getStagePanelType = (location: StagePanelLocation): NZ_StagePanelType => {\r\n switch (location) {\r\n case StagePanelLocation.Bottom:\r\n case StagePanelLocation.BottomMost:\r\n return NZ_StagePanelType.Bottom;\r\n case StagePanelLocation.Left:\r\n return NZ_StagePanelType.Left;\r\n case StagePanelLocation.Right:\r\n return NZ_StagePanelType.Right;\r\n case StagePanelLocation.Top:\r\n case StagePanelLocation.TopMost:\r\n return NZ_StagePanelType.Top;\r\n }\r\n};\r\n\r\n/** @internal */\r\nexport const getNestedStagePanelKey = (location: StagePanelLocation): NestedStagePanelKey<NestedStagePanelsManagerProps> => {\r\n switch (location) {\r\n case StagePanelLocation.Bottom:\r\n return {\r\n id: \"inner\",\r\n type: NZ_StagePanelType.Bottom,\r\n };\r\n case StagePanelLocation.BottomMost:\r\n return {\r\n id: \"outer\",\r\n type: NZ_StagePanelType.Bottom,\r\n };\r\n case StagePanelLocation.Left:\r\n return {\r\n id: \"inner\",\r\n type: NZ_StagePanelType.Left,\r\n };\r\n case StagePanelLocation.Right:\r\n return {\r\n id: \"inner\",\r\n type: NZ_StagePanelType.Right,\r\n };\r\n case StagePanelLocation.Top:\r\n return {\r\n id: \"inner\",\r\n type: NZ_StagePanelType.Top,\r\n };\r\n case StagePanelLocation.TopMost:\r\n return {\r\n id: \"outer\",\r\n type: NZ_StagePanelType.Top,\r\n };\r\n }\r\n};\r\n"]}
1
+ {"version":3,"file":"StagePanel.js","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanel.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { StagePanelLocation } from \"@itwin/appui-abstract\";\r\nimport {\r\n NestedStagePanelKey, NestedStagePanelsManagerProps, NineZoneStagePanelManagerProps, StagePanelType as NZ_StagePanelType, WidgetZoneId,\r\n ZonesManagerWidgetsProps,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { StagePanelChangeHandler, WidgetChangeHandler, ZoneDefProvider } from \"../frontstage/FrontstageComposer\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { WidgetProps } from \"../widgets/WidgetProps\";\r\nimport { WidgetTabs } from \"../widgets/WidgetStack\";\r\nimport { ZoneLocation } from \"../zones/Zone\";\r\nimport { FrameworkStagePanel } from \"./FrameworkStagePanel\";\r\nimport { PanelStateChangedEventArgs, StagePanelDef, StagePanelState as StagePanelState } from \"./StagePanelDef\";\r\nimport { WidgetDef, WidgetStateChangedEventArgs } from \"../widgets/WidgetDef\";\r\n\r\n/** Available StagePanel locations.\r\n * ------------------------------------------------------------------------------------\r\n * TopMost\r\n * ------------------------------------------------------------------------------------\r\n * Left | Top | Right\r\n * |---------------------------------------------------------------|\r\n * | Nine-zone |\r\n * | |\r\n * | |\r\n * | |\r\n * | |\r\n * | |\r\n * |---------------------------------------------------------------|\r\n * | Bottom |\r\n * ------------------------------------------------------------------------------------\r\n * BottomMost\r\n * ------------------------------------------------------------------------------------\r\n */\r\n\r\n/** Properties of a Stage Panel Zone\r\n * @public @deprecated\r\n */\r\nexport interface StagePanelZoneProps {\r\n /** Properties for the Widgets in this Zone.\r\n * @note Stable `WidgetProps[\"id\"]` is generated if id is not provided to correctly save and restore App layout.\r\n * [[Frontstage]] version must be increased when Widget location is changed or new widgets are added/removed.\r\n */\r\n widgets: Array<React.ReactElement<WidgetProps>>;\r\n /** Any application data to attach to this Zone. */\r\n applicationData?: any;\r\n}\r\n\r\n/** Properties of the Stage Panel Zones\r\n * @public @deprecated\r\n */\r\nexport interface StagePanelZonesProps {\r\n /** Properties for the Widgets in the Start section. */\r\n start?: StagePanelZoneProps;\r\n /** Properties for the Widgets in the Middle section. Deprecated - all widgets originally targeted for \"middle\" will now go to \"end\". */\r\n middle?: StagePanelZoneProps;\r\n /** Properties for the Widgets in the End section. */\r\n end?: StagePanelZoneProps;\r\n}\r\n\r\n/** Available units of panel maximum size. Pixels or percentage of 9-Zone App size.\r\n * @note Percentage of 9-Zone `height` is used for top/bottom panel and percentage of 9-Zone `width` is used for left/right panel.\r\n * @public\r\n */\r\nexport type StagePanelMaxSizeSpec = number | { percentage: number };\r\n\r\n/** Properties of a [[StagePanel]] component\r\n * @public\r\n */\r\nexport interface StagePanelProps {\r\n /** Describes which zones are allowed in this stage panel. */\r\n allowedZones?: ZoneLocation[];\r\n /** Any application data to attach to this Panel. */\r\n applicationData?: any;\r\n /** Default Panel state. Controls how the panel is initially displayed. Defaults to StagePanelState.Open. */\r\n defaultState?: StagePanelState;\r\n /** Stage panel header. */\r\n header?: React.ReactNode;\r\n /** Maximum size of the panel. */\r\n maxSize?: StagePanelMaxSizeSpec;\r\n /** Minimum size of the panel. */\r\n minSize?: number;\r\n /** Indicates whether the panel is pinned. Defaults to true. */\r\n pinned?: boolean;\r\n /** Indicates whether the panel is resizable. Defaults to true. */\r\n resizable: boolean;\r\n /** Default size of the panel. */\r\n size?: number;\r\n /** Properties for the Widgets in this Panel.\r\n * @note Stable `WidgetProps[\"id\"]` is generated if id is not provided to correctly save and restore App layout.\r\n * [[Frontstage]] version must be increased when Widget location is changed or new widgets are added/removed.\r\n */\r\n widgets?: Array<React.ReactElement<WidgetProps>>;\r\n\r\n /** Properties for the Panel Zones in this Panel.\r\n * @beta */\r\n panelZones?: StagePanelZonesProps;\r\n\r\n /** @internal */\r\n runtimeProps?: StagePanelRuntimeProps;\r\n}\r\n\r\n/** Default properties of [[StagePanel]] component.\r\n * @public\r\n */\r\nexport type StagePanelDefaultProps = Pick<StagePanelProps, \"resizable\">;\r\n\r\n/** Runtime Properties for the [[StagePanel]] component.\r\n * @internal\r\n */\r\nexport interface StagePanelRuntimeProps {\r\n draggedWidgetId: WidgetZoneId | undefined; // eslint-disable-line deprecation/deprecation\r\n getWidgetContentRef: (id: WidgetZoneId) => React.Ref<HTMLDivElement>; // eslint-disable-line deprecation/deprecation\r\n isInFooterMode: boolean;\r\n isTargeted: boolean;\r\n panel: NineZoneStagePanelManagerProps;\r\n panelDef: StagePanelDef;\r\n stagePanelChangeHandler: StagePanelChangeHandler;\r\n widgetChangeHandler: WidgetChangeHandler; // eslint-disable-line deprecation/deprecation\r\n widgets: ZonesManagerWidgetsProps;\r\n widgetTabs: WidgetTabs;\r\n zoneDefProvider: ZoneDefProvider;\r\n}\r\n\r\ninterface StagePanelComponentState {\r\n panelState: StagePanelState;\r\n stagePanelWidgets: ReadonlyArray<WidgetDef[\"id\"]>;\r\n}\r\n\r\n/** Frontstage Panel React component.\r\n * @public\r\n */\r\nexport class StagePanel extends React.Component<StagePanelProps, StagePanelComponentState> {\r\n public static readonly defaultProps: StagePanelDefaultProps = {\r\n resizable: true,\r\n };\r\n\r\n public constructor(props: StagePanelProps) {\r\n super(props);\r\n\r\n const panelState = this.props.runtimeProps?.panelDef.panelState;\r\n this.state = {\r\n panelState: panelState === undefined ? StagePanelState.Open : panelState,\r\n stagePanelWidgets: this._getVisibleStagePanelWidgets(),\r\n };\r\n }\r\n\r\n public static initializeStagePanelDef(panelDef: StagePanelDef, props: StagePanelProps, panelLocation: StagePanelLocation): void {\r\n panelDef.initializeFromProps(props, panelLocation);\r\n }\r\n\r\n public override componentDidMount() {\r\n FrontstageManager.onPanelStateChangedEvent.addListener(this._handlePanelStateChangedEvent);\r\n FrontstageManager.onWidgetStateChangedEvent.addListener(this._handleWidgetStateChangedEvent);\r\n }\r\n\r\n public override componentDidUpdate(prevProps: StagePanelProps) {\r\n if (prevProps.runtimeProps?.panelDef !== this.props.runtimeProps?.panelDef) {\r\n this.setState({\r\n stagePanelWidgets: this._getVisibleStagePanelWidgets(),\r\n });\r\n }\r\n }\r\n\r\n public override componentWillUnmount() {\r\n FrontstageManager.onPanelStateChangedEvent.removeListener(this._handlePanelStateChangedEvent);\r\n FrontstageManager.onWidgetStateChangedEvent.removeListener(this._handleWidgetStateChangedEvent);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n const { applicationData, defaultState, runtimeProps, maxSize, size, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n if (!runtimeProps)\r\n return null;\r\n\r\n const { stagePanelChangeHandler, panelDef, ...otherRuntimeProps } = runtimeProps;\r\n return (\r\n <FrameworkStagePanel\r\n changeHandler={stagePanelChangeHandler}\r\n initialSize={size}\r\n location={panelDef.location}\r\n renderPane={this._handleRenderPane}\r\n stagePanelWidgets={this.state.stagePanelWidgets}\r\n panelState={this.state.panelState}\r\n maxSize={typeof maxSize === \"number\" ? maxSize : undefined}\r\n {...props}\r\n {...otherRuntimeProps}\r\n />\r\n );\r\n }\r\n\r\n private _handleRenderPane = (widgetDefId: WidgetDef[\"id\"]): React.ReactNode => {\r\n const runtimeProps = this.props.runtimeProps;\r\n if (!runtimeProps)\r\n return null;\r\n const widgetDef = runtimeProps.panelDef.findWidgetDef(widgetDefId);\r\n if (!widgetDef || !widgetDef.isVisible)\r\n return null;\r\n return (\r\n <div\r\n style={{\r\n height: \"100%\",\r\n display: runtimeProps.panel.isCollapsed ? \"none\" : \"block\",\r\n }}\r\n >\r\n {widgetDef.reactNode}\r\n </div>\r\n );\r\n };\r\n\r\n private _handlePanelStateChangedEvent = ({ panelDef, panelState }: PanelStateChangedEventArgs) => {\r\n // istanbul ignore else\r\n if (panelDef !== this.props.runtimeProps?.panelDef)\r\n return;\r\n // istanbul ignore next\r\n this.setState({\r\n panelState,\r\n });\r\n };\r\n\r\n private _handleWidgetStateChangedEvent = ({ widgetDef }: WidgetStateChangedEventArgs) => {\r\n const runtimeProps = this.props.runtimeProps;\r\n if (!runtimeProps)\r\n return;\r\n if (!runtimeProps.panelDef.findWidgetDef(widgetDef.id))\r\n return;\r\n this.setState({\r\n stagePanelWidgets: this._getVisibleStagePanelWidgets(),\r\n });\r\n };\r\n\r\n private _getVisibleStagePanelWidgets() {\r\n const panelDef = this.props.runtimeProps?.panelDef;\r\n if (!panelDef)\r\n return [];\r\n const visibleWidgets = panelDef.widgetDefs.filter((wd) => wd.isVisible);\r\n return visibleWidgets.map((widgetDef) => widgetDef.id);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport const getStagePanelType = (location: StagePanelLocation): NZ_StagePanelType => {\r\n switch (location) {\r\n case StagePanelLocation.Bottom:\r\n case StagePanelLocation.BottomMost:\r\n return NZ_StagePanelType.Bottom;\r\n case StagePanelLocation.Left:\r\n return NZ_StagePanelType.Left;\r\n case StagePanelLocation.Right:\r\n return NZ_StagePanelType.Right;\r\n case StagePanelLocation.Top:\r\n case StagePanelLocation.TopMost:\r\n return NZ_StagePanelType.Top;\r\n }\r\n};\r\n\r\n/** @internal */\r\nexport const getNestedStagePanelKey = (location: StagePanelLocation): NestedStagePanelKey<NestedStagePanelsManagerProps> => {\r\n switch (location) {\r\n case StagePanelLocation.Bottom:\r\n return {\r\n id: \"inner\",\r\n type: NZ_StagePanelType.Bottom,\r\n };\r\n case StagePanelLocation.BottomMost:\r\n return {\r\n id: \"outer\",\r\n type: NZ_StagePanelType.Bottom,\r\n };\r\n case StagePanelLocation.Left:\r\n return {\r\n id: \"inner\",\r\n type: NZ_StagePanelType.Left,\r\n };\r\n case StagePanelLocation.Right:\r\n return {\r\n id: \"inner\",\r\n type: NZ_StagePanelType.Right,\r\n };\r\n case StagePanelLocation.Top:\r\n return {\r\n id: \"inner\",\r\n type: NZ_StagePanelType.Top,\r\n };\r\n case StagePanelLocation.TopMost:\r\n return {\r\n id: \"outer\",\r\n type: NZ_StagePanelType.Top,\r\n };\r\n }\r\n};\r\n"]}
@@ -91,17 +91,15 @@ export declare class StagePanelDef extends WidgetHost {
91
91
  */
92
92
  get panelWidgetDefs(): readonly WidgetDef[];
93
93
  /** @internal */
94
- updateDynamicWidgetDefs(stageId: string, stageUsage: string, location: ZoneLocation | StagePanelLocation, _section: StagePanelSection | undefined, widgetDefs: WidgetDef[], frontstageApplicationData?: any): void;
94
+ updateDynamicWidgetDefs(stageId: string, stageUsage: string, location: ZoneLocation | StagePanelLocation, _section: StagePanelSection | undefined, allStageWidgetDefs: WidgetDef[], frontstageApplicationData?: any): void;
95
95
  }
96
96
  /** @internal */
97
- export declare type StagePanelZoneDefKeys = keyof Pick<StagePanelZonesDef, "start" | "middle" | "end">;
97
+ export declare type StagePanelZoneDefKeys = keyof Pick<StagePanelZonesDef, "start" | "end">;
98
98
  /** @internal */
99
99
  export declare class StagePanelZonesDef {
100
100
  private _start;
101
- private _middle;
102
101
  private _end;
103
102
  get start(): StagePanelZoneDef;
104
- get middle(): StagePanelZoneDef;
105
103
  get end(): StagePanelZoneDef;
106
104
  /** @internal */
107
105
  initializeFromProps(props: StagePanelZonesProps, panelLocation: StagePanelLocation): void;
@@ -181,6 +179,7 @@ export declare const setPanelSize: (base: {
181
179
  readonly size: number | undefined;
182
180
  readonly widgets: readonly string[];
183
181
  readonly maxWidgetCount: number;
182
+ readonly splitterPercent: number | undefined;
184
183
  };
185
184
  readonly left: {
186
185
  readonly side: import("@itwin/appui-layout-react").VerticalPanelSide;
@@ -193,6 +192,7 @@ export declare const setPanelSize: (base: {
193
192
  readonly size: number | undefined;
194
193
  readonly widgets: readonly string[];
195
194
  readonly maxWidgetCount: number;
195
+ readonly splitterPercent: number | undefined;
196
196
  };
197
197
  readonly right: {
198
198
  readonly side: import("@itwin/appui-layout-react").VerticalPanelSide;
@@ -205,6 +205,7 @@ export declare const setPanelSize: (base: {
205
205
  readonly size: number | undefined;
206
206
  readonly widgets: readonly string[];
207
207
  readonly maxWidgetCount: number;
208
+ readonly splitterPercent: number | undefined;
208
209
  };
209
210
  readonly top: {
210
211
  readonly span: boolean;
@@ -218,6 +219,7 @@ export declare const setPanelSize: (base: {
218
219
  readonly size: number | undefined;
219
220
  readonly widgets: readonly string[];
220
221
  readonly maxWidgetCount: number;
222
+ readonly splitterPercent: number | undefined;
221
223
  };
222
224
  };
223
225
  readonly tabs: {
@@ -1 +1 @@
1
- {"version":3,"file":"StagePanelDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelDef.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StagePanelDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelDef.tsx"],"names":[],"mappings":"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"}
@@ -196,26 +196,22 @@ export class StagePanelDef extends WidgetHost {
196
196
  return super.widgetDefs;
197
197
  }
198
198
  /** @internal */
199
- updateDynamicWidgetDefs(stageId, stageUsage, location, _section, widgetDefs, frontstageApplicationData) {
200
- this.panelZones.start.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.Start, widgetDefs, frontstageApplicationData);
201
- this.panelZones.middle.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.Middle, widgetDefs, frontstageApplicationData);
202
- this.panelZones.end.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.End, widgetDefs, frontstageApplicationData);
199
+ updateDynamicWidgetDefs(stageId, stageUsage, location, _section, allStageWidgetDefs, frontstageApplicationData) {
200
+ this.panelZones.start.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.Start, allStageWidgetDefs, frontstageApplicationData);
201
+ this.panelZones.end.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.Middle, allStageWidgetDefs, frontstageApplicationData);
202
+ this.panelZones.end.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.End, allStageWidgetDefs, frontstageApplicationData);
203
203
  }
204
204
  }
205
- const stagePanelZoneDefKeys = ["start", "middle", "end"];
205
+ const stagePanelZoneDefKeys = ["start", "end"];
206
206
  /** @internal */
207
207
  export class StagePanelZonesDef {
208
208
  constructor() {
209
209
  this._start = new StagePanelZoneDef();
210
- this._middle = new StagePanelZoneDef();
211
210
  this._end = new StagePanelZoneDef();
212
211
  }
213
212
  get start() {
214
213
  return this._start;
215
214
  }
216
- get middle() {
217
- return this._middle;
218
- }
219
215
  get end() {
220
216
  return this._end;
221
217
  }
@@ -225,7 +221,7 @@ export class StagePanelZonesDef {
225
221
  this.start.initializeFromProps(props.start, panelLocation, "start");
226
222
  }
227
223
  if (props.middle) {
228
- this.middle.initializeFromProps(props.middle, panelLocation, "middle");
224
+ this.end.initializeFromProps(props.middle, panelLocation, "end");
229
225
  }
230
226
  if (props.end) {
231
227
  this.end.initializeFromProps(props.end, panelLocation, "end");
@@ -1 +1 @@
1
- {"version":3,"file":"StagePanelDef.js","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelDef.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\n\r\nimport produce, { Draft } from \"immer\";\r\nimport { StagePanelLocation, StagePanelSection, UiEvent } from \"@itwin/appui-abstract\";\r\nimport { NineZoneState, PanelSide } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { WidgetDef } from \"../widgets/WidgetDef\";\r\nimport { WidgetHost } from \"../widgets/WidgetHost\";\r\nimport { StagePanelMaxSizeSpec, StagePanelProps, StagePanelZoneProps, StagePanelZonesProps } from \"./StagePanel\";\r\nimport { getStableWidgetProps, ZoneLocation } from \"../zones/Zone\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/** Enum for StagePanel state.\r\n * @public\r\n */\r\nexport enum StagePanelState {\r\n Off,\r\n Minimized,\r\n Open,\r\n Popup,\r\n}\r\n\r\n/** Panel State Changed Event Args interface.\r\n * @public\r\n */\r\nexport interface PanelStateChangedEventArgs {\r\n panelDef: StagePanelDef;\r\n panelState: StagePanelState;\r\n}\r\n\r\n/** Panel State Changed Event class.\r\n * @beta\r\n */\r\nexport class PanelStateChangedEvent extends UiEvent<PanelStateChangedEventArgs> { }\r\n\r\n/** @internal */\r\nexport interface PanelSizeChangedEventArgs {\r\n panelDef: StagePanelDef;\r\n size: number | undefined;\r\n}\r\n\r\n/** @internal */\r\nexport class PanelSizeChangedEvent extends UiEvent<PanelSizeChangedEventArgs> { }\r\n\r\n/**\r\n * A StagePanelDef represents each Stage Panel within a Frontstage.\r\n * @public\r\n */\r\nexport class StagePanelDef extends WidgetHost {\r\n private _panelState = StagePanelState.Open;\r\n private _defaultState = StagePanelState.Open;\r\n private _maxSizeSpec: StagePanelMaxSizeSpec | undefined;\r\n private _minSize: number | undefined;\r\n private _size: number | undefined;\r\n private _defaultSize: number | undefined;\r\n private _resizable = true;\r\n private _pinned = true;\r\n private _applicationData?: any;\r\n private _location: StagePanelLocation = StagePanelLocation.Left;\r\n private _panelZones = new StagePanelZonesDef();\r\n\r\n /** Constructor for PanelDef.\r\n */\r\n constructor() {\r\n super();\r\n }\r\n\r\n /** @internal */\r\n public get maxSizeSpec() { return this._maxSizeSpec; }\r\n\r\n /** @internal */\r\n public get minSize() { return this._minSize; }\r\n\r\n /** Default size of the panel */\r\n public get size() {\r\n // istanbul ignore next\r\n if (\"1\" === UiFramework.uiVersion)\r\n return this._size;\r\n\r\n // istanbul ignore else\r\n if (FrontstageManager.activeFrontstageDef) {\r\n const [_, size] = FrontstageManager.activeFrontstageDef.getPanelCurrentState(this);\r\n return size;\r\n }\r\n // istanbul ignore next\r\n return this._defaultSize;\r\n }\r\n\r\n public set size(size) {\r\n if (this._size === size)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (UiFramework.uiVersion === \"2\") {\r\n const frontstageDef = FrontstageManager.activeFrontstageDef;\r\n // istanbul ignore else\r\n if (frontstageDef && frontstageDef.nineZoneState) {\r\n const side = toPanelSide(this.location);\r\n frontstageDef.nineZoneState = setPanelSize(frontstageDef.nineZoneState, side, size);\r\n const panel = frontstageDef.nineZoneState.panels[side];\r\n if (panel.size === this._size)\r\n return;\r\n size = panel.size;\r\n }\r\n }\r\n this._size = size;\r\n FrontstageManager.onPanelSizeChangedEvent.emit({\r\n panelDef: this,\r\n size,\r\n });\r\n }\r\n\r\n /** Indicates whether the panel is resizable. */\r\n // istanbul ignore next\r\n public get resizable(): boolean { return this._resizable; }\r\n\r\n /** Indicates whether the panel is pinned. */\r\n public get pinned(): boolean { return this._pinned; }\r\n\r\n /** Any application data to attach to this Panel. */\r\n public get applicationData(): any | undefined { return this._applicationData; }\r\n /** Location of panel. */\r\n public get location(): StagePanelLocation { return this._location; }\r\n\r\n /** Panel state. Defaults to PanelState.Open. */\r\n public get panelState() {\r\n if (\"1\" === UiFramework.uiVersion)\r\n return this._panelState;\r\n\r\n // istanbul ignore else\r\n if (FrontstageManager.activeFrontstageDef) {\r\n const [state] = FrontstageManager.activeFrontstageDef?.getPanelCurrentState(this);\r\n return state;\r\n }\r\n // istanbul ignore next\r\n return this.defaultState;\r\n }\r\n\r\n public set panelState(panelState: StagePanelState) {\r\n if (panelState === this._panelState)\r\n return;\r\n const frontstageDef = FrontstageManager.activeFrontstageDef;\r\n if (UiFramework.uiVersion === \"2\" && frontstageDef && frontstageDef.nineZoneState) {\r\n const side = toPanelSide(this.location);\r\n frontstageDef.nineZoneState = produce(frontstageDef.nineZoneState, (nineZone) => {\r\n const panel = nineZone.panels[side];\r\n switch (panelState) {\r\n case StagePanelState.Minimized: {\r\n panel.collapsed = true;\r\n break;\r\n }\r\n case StagePanelState.Open: {\r\n panel.collapsed = false;\r\n break;\r\n }\r\n case StagePanelState.Off: {\r\n panel.collapsed = true;\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n this._panelState = panelState;\r\n FrontstageManager.onPanelStateChangedEvent.emit({\r\n panelDef: this,\r\n panelState,\r\n });\r\n }\r\n\r\n /** @internal */\r\n public get defaultState() { return this._defaultState; }\r\n\r\n /** @internal */\r\n public get defaultSize() { return this._defaultSize; }\r\n\r\n /** Panel zones.\r\n * @internal\r\n */\r\n public get panelZones() {\r\n return this._panelZones;\r\n }\r\n\r\n /** @internal */\r\n public initializeFromProps(props?: StagePanelProps, panelLocation?: StagePanelLocation): void {\r\n if (panelLocation !== undefined)\r\n this._location = panelLocation;\r\n if (!props)\r\n return;\r\n this._size = props.size;\r\n this._defaultSize = props.size;\r\n this._maxSizeSpec = props.maxSize;\r\n this._minSize = props.minSize;\r\n if (panelLocation !== undefined)\r\n this._location = panelLocation;\r\n if (props.defaultState !== undefined) {\r\n this._panelState = props.defaultState;\r\n this._defaultState = props.defaultState;\r\n }\r\n this._resizable = props.resizable;\r\n if (props.pinned !== undefined)\r\n this._pinned = props.pinned;\r\n if (props.applicationData !== undefined)\r\n this._applicationData = props.applicationData;\r\n if (props.panelZones) {\r\n this._panelZones.initializeFromProps(props.panelZones, this._location);\r\n }\r\n\r\n if (props.widgets) {\r\n props.widgets.forEach((widgetNode, index) => {\r\n const stableId = `uifw-sp-${StagePanelLocation[this._location]}-${index}`;\r\n const stableProps = getStableWidgetProps(widgetNode.props, stableId);\r\n const widgetDef = new WidgetDef(stableProps);\r\n this.addWidgetDef(widgetDef);\r\n });\r\n }\r\n }\r\n\r\n /** Gets the list of Widgets. */\r\n public override get widgetDefs(): ReadonlyArray<WidgetDef> {\r\n const widgetDefs = [...super.widgetDefs];\r\n for (const [, panelZone] of this.panelZones) {\r\n widgetDefs.push(...panelZone.widgetDefs);\r\n }\r\n return widgetDefs;\r\n }\r\n\r\n /** Gets the list of Widgets (w/o StagePanelZone widgets).\r\n * @internal\r\n */\r\n public get panelWidgetDefs() {\r\n return super.widgetDefs;\r\n }\r\n\r\n /** @internal */\r\n public override updateDynamicWidgetDefs(stageId: string, stageUsage: string, location: ZoneLocation | StagePanelLocation, _section: StagePanelSection | undefined,\r\n widgetDefs: WidgetDef[], frontstageApplicationData?: any,\r\n ): void {\r\n this.panelZones.start.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.Start, widgetDefs, frontstageApplicationData);\r\n this.panelZones.middle.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.Middle, widgetDefs, frontstageApplicationData);\r\n this.panelZones.end.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.End, widgetDefs, frontstageApplicationData);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport type StagePanelZoneDefKeys = keyof Pick<StagePanelZonesDef, \"start\" | \"middle\" | \"end\">;\r\n\r\nconst stagePanelZoneDefKeys: StagePanelZoneDefKeys[] = [\"start\", \"middle\", \"end\"];\r\n\r\n/** @internal */\r\nexport class StagePanelZonesDef {\r\n private _start = new StagePanelZoneDef();\r\n private _middle = new StagePanelZoneDef();\r\n private _end = new StagePanelZoneDef();\r\n\r\n public get start() {\r\n return this._start;\r\n }\r\n\r\n public get middle() {\r\n return this._middle;\r\n }\r\n\r\n public get end() {\r\n return this._end;\r\n }\r\n\r\n /** @internal */\r\n public initializeFromProps(props: StagePanelZonesProps, panelLocation: StagePanelLocation): void {\r\n if (props.start) {\r\n this.start.initializeFromProps(props.start, panelLocation, \"start\");\r\n }\r\n if (props.middle) {\r\n this.middle.initializeFromProps(props.middle, panelLocation, \"middle\");\r\n }\r\n if (props.end) {\r\n this.end.initializeFromProps(props.end, panelLocation, \"end\");\r\n }\r\n }\r\n\r\n /** @internal */\r\n public *[Symbol.iterator](): Iterator<[StagePanelZoneDefKeys, StagePanelZoneDef]> {\r\n for (const key of stagePanelZoneDefKeys) {\r\n const value = this[key];\r\n yield [key, value];\r\n }\r\n return undefined;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class StagePanelZoneDef extends WidgetHost {\r\n /** @internal */\r\n public initializeFromProps(props: StagePanelZoneProps, panelLocation: StagePanelLocation, panelZone: StagePanelZoneDefKeys): void {\r\n props.widgets.forEach((widgetNode, index) => {\r\n const stableId = `uifw-spz-${StagePanelLocation[panelLocation]}-${panelZone}-${index}`;\r\n const stableProps = getStableWidgetProps(widgetNode.props, stableId);\r\n const widgetDef = new WidgetDef(stableProps);\r\n this.addWidgetDef(widgetDef);\r\n });\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function toPanelSide(location: StagePanelLocation): PanelSide {\r\n switch (location) {\r\n case StagePanelLocation.Bottom:\r\n case StagePanelLocation.BottomMost:\r\n return \"bottom\";\r\n case StagePanelLocation.Left:\r\n return \"left\";\r\n case StagePanelLocation.Right:\r\n return \"right\";\r\n case StagePanelLocation.Top:\r\n case StagePanelLocation.TopMost:\r\n return \"top\";\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport const setPanelSize = produce((\r\n nineZone: Draft<NineZoneState>,\r\n side: PanelSide,\r\n size: number | undefined,\r\n) => {\r\n const panel = nineZone.panels[side];\r\n panel.size = size === undefined ? size : Math.min(Math.max(size, panel.minSize), panel.maxSize);\r\n});\r\n"]}
1
+ {"version":3,"file":"StagePanelDef.js","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelDef.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\n\r\nimport produce, { Draft } from \"immer\";\r\nimport { StagePanelLocation, StagePanelSection, UiEvent } from \"@itwin/appui-abstract\";\r\nimport { NineZoneState, PanelSide } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { WidgetDef } from \"../widgets/WidgetDef\";\r\nimport { WidgetHost } from \"../widgets/WidgetHost\";\r\nimport { StagePanelMaxSizeSpec, StagePanelProps, StagePanelZoneProps, StagePanelZonesProps } from \"./StagePanel\";\r\nimport { getStableWidgetProps, ZoneLocation } from \"../zones/Zone\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/** Enum for StagePanel state.\r\n * @public\r\n */\r\nexport enum StagePanelState {\r\n Off,\r\n Minimized,\r\n Open,\r\n Popup,\r\n}\r\n\r\n/** Panel State Changed Event Args interface.\r\n * @public\r\n */\r\nexport interface PanelStateChangedEventArgs {\r\n panelDef: StagePanelDef;\r\n panelState: StagePanelState;\r\n}\r\n\r\n/** Panel State Changed Event class.\r\n * @beta\r\n */\r\nexport class PanelStateChangedEvent extends UiEvent<PanelStateChangedEventArgs> { }\r\n\r\n/** @internal */\r\nexport interface PanelSizeChangedEventArgs {\r\n panelDef: StagePanelDef;\r\n size: number | undefined;\r\n}\r\n\r\n/** @internal */\r\nexport class PanelSizeChangedEvent extends UiEvent<PanelSizeChangedEventArgs> { }\r\n\r\n/**\r\n * A StagePanelDef represents each Stage Panel within a Frontstage.\r\n * @public\r\n */\r\nexport class StagePanelDef extends WidgetHost {\r\n private _panelState = StagePanelState.Open;\r\n private _defaultState = StagePanelState.Open;\r\n private _maxSizeSpec: StagePanelMaxSizeSpec | undefined;\r\n private _minSize: number | undefined;\r\n private _size: number | undefined;\r\n private _defaultSize: number | undefined;\r\n private _resizable = true;\r\n private _pinned = true;\r\n private _applicationData?: any;\r\n private _location: StagePanelLocation = StagePanelLocation.Left;\r\n private _panelZones = new StagePanelZonesDef();\r\n\r\n /** Constructor for PanelDef.\r\n */\r\n constructor() {\r\n super();\r\n }\r\n\r\n /** @internal */\r\n public get maxSizeSpec() { return this._maxSizeSpec; }\r\n\r\n /** @internal */\r\n public get minSize() { return this._minSize; }\r\n\r\n /** Default size of the panel */\r\n public get size() {\r\n // istanbul ignore next\r\n if (\"1\" === UiFramework.uiVersion)\r\n return this._size;\r\n\r\n // istanbul ignore else\r\n if (FrontstageManager.activeFrontstageDef) {\r\n const [_, size] = FrontstageManager.activeFrontstageDef.getPanelCurrentState(this);\r\n return size;\r\n }\r\n // istanbul ignore next\r\n return this._defaultSize;\r\n }\r\n\r\n public set size(size) {\r\n if (this._size === size)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (UiFramework.uiVersion === \"2\") {\r\n const frontstageDef = FrontstageManager.activeFrontstageDef;\r\n // istanbul ignore else\r\n if (frontstageDef && frontstageDef.nineZoneState) {\r\n const side = toPanelSide(this.location);\r\n frontstageDef.nineZoneState = setPanelSize(frontstageDef.nineZoneState, side, size);\r\n const panel = frontstageDef.nineZoneState.panels[side];\r\n if (panel.size === this._size)\r\n return;\r\n size = panel.size;\r\n }\r\n }\r\n this._size = size;\r\n FrontstageManager.onPanelSizeChangedEvent.emit({\r\n panelDef: this,\r\n size,\r\n });\r\n }\r\n\r\n /** Indicates whether the panel is resizable. */\r\n // istanbul ignore next\r\n public get resizable(): boolean { return this._resizable; }\r\n\r\n /** Indicates whether the panel is pinned. */\r\n public get pinned(): boolean { return this._pinned; }\r\n\r\n /** Any application data to attach to this Panel. */\r\n public get applicationData(): any | undefined { return this._applicationData; }\r\n /** Location of panel. */\r\n public get location(): StagePanelLocation { return this._location; }\r\n\r\n /** Panel state. Defaults to PanelState.Open. */\r\n public get panelState() {\r\n if (\"1\" === UiFramework.uiVersion)\r\n return this._panelState;\r\n\r\n // istanbul ignore else\r\n if (FrontstageManager.activeFrontstageDef) {\r\n const [state] = FrontstageManager.activeFrontstageDef?.getPanelCurrentState(this);\r\n return state;\r\n }\r\n // istanbul ignore next\r\n return this.defaultState;\r\n }\r\n\r\n public set panelState(panelState: StagePanelState) {\r\n if (panelState === this._panelState)\r\n return;\r\n const frontstageDef = FrontstageManager.activeFrontstageDef;\r\n if (UiFramework.uiVersion === \"2\" && frontstageDef && frontstageDef.nineZoneState) {\r\n const side = toPanelSide(this.location);\r\n frontstageDef.nineZoneState = produce(frontstageDef.nineZoneState, (nineZone) => {\r\n const panel = nineZone.panels[side];\r\n switch (panelState) {\r\n case StagePanelState.Minimized: {\r\n panel.collapsed = true;\r\n break;\r\n }\r\n case StagePanelState.Open: {\r\n panel.collapsed = false;\r\n break;\r\n }\r\n case StagePanelState.Off: {\r\n panel.collapsed = true;\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n this._panelState = panelState;\r\n FrontstageManager.onPanelStateChangedEvent.emit({\r\n panelDef: this,\r\n panelState,\r\n });\r\n }\r\n\r\n /** @internal */\r\n public get defaultState() { return this._defaultState; }\r\n\r\n /** @internal */\r\n public get defaultSize() { return this._defaultSize; }\r\n\r\n /** Panel zones.\r\n * @internal\r\n */\r\n public get panelZones() {\r\n return this._panelZones;\r\n }\r\n\r\n /** @internal */\r\n public initializeFromProps(props?: StagePanelProps, panelLocation?: StagePanelLocation): void {\r\n if (panelLocation !== undefined)\r\n this._location = panelLocation;\r\n if (!props)\r\n return;\r\n this._size = props.size;\r\n this._defaultSize = props.size;\r\n this._maxSizeSpec = props.maxSize;\r\n this._minSize = props.minSize;\r\n if (panelLocation !== undefined)\r\n this._location = panelLocation;\r\n if (props.defaultState !== undefined) {\r\n this._panelState = props.defaultState;\r\n this._defaultState = props.defaultState;\r\n }\r\n this._resizable = props.resizable;\r\n if (props.pinned !== undefined)\r\n this._pinned = props.pinned;\r\n if (props.applicationData !== undefined)\r\n this._applicationData = props.applicationData;\r\n if (props.panelZones) {\r\n this._panelZones.initializeFromProps(props.panelZones, this._location);\r\n }\r\n\r\n if (props.widgets) {\r\n props.widgets.forEach((widgetNode, index) => {\r\n const stableId = `uifw-sp-${StagePanelLocation[this._location]}-${index}`;\r\n const stableProps = getStableWidgetProps(widgetNode.props, stableId);\r\n const widgetDef = new WidgetDef(stableProps);\r\n this.addWidgetDef(widgetDef);\r\n });\r\n }\r\n }\r\n\r\n /** Gets the list of Widgets. */\r\n public override get widgetDefs(): ReadonlyArray<WidgetDef> {\r\n const widgetDefs = [...super.widgetDefs];\r\n for (const [, panelZone] of this.panelZones) {\r\n widgetDefs.push(...panelZone.widgetDefs);\r\n }\r\n return widgetDefs;\r\n }\r\n\r\n /** Gets the list of Widgets (w/o StagePanelZone widgets).\r\n * @internal\r\n */\r\n public get panelWidgetDefs() {\r\n return super.widgetDefs;\r\n }\r\n\r\n /** @internal */\r\n public override updateDynamicWidgetDefs(stageId: string, stageUsage: string, location: ZoneLocation | StagePanelLocation, _section: StagePanelSection | undefined,\r\n allStageWidgetDefs: WidgetDef[], frontstageApplicationData?: any,\r\n ): void {\r\n this.panelZones.start.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.Start, allStageWidgetDefs, frontstageApplicationData);\r\n this.panelZones.end.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.Middle, allStageWidgetDefs, frontstageApplicationData);\r\n this.panelZones.end.updateDynamicWidgetDefs(stageId, stageUsage, location, StagePanelSection.End, allStageWidgetDefs, frontstageApplicationData);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport type StagePanelZoneDefKeys = keyof Pick<StagePanelZonesDef, \"start\" | \"end\">;\r\n\r\nconst stagePanelZoneDefKeys: StagePanelZoneDefKeys[] = [\"start\", \"end\"];\r\n\r\n/** @internal */\r\nexport class StagePanelZonesDef {\r\n private _start = new StagePanelZoneDef();\r\n private _end = new StagePanelZoneDef();\r\n\r\n public get start() {\r\n return this._start;\r\n }\r\n\r\n public get end() {\r\n return this._end;\r\n }\r\n\r\n /** @internal */\r\n public initializeFromProps(props: StagePanelZonesProps, panelLocation: StagePanelLocation): void {\r\n if (props.start) {\r\n this.start.initializeFromProps(props.start, panelLocation, \"start\");\r\n }\r\n if (props.middle) {\r\n this.end.initializeFromProps(props.middle, panelLocation, \"end\");\r\n }\r\n if (props.end) {\r\n this.end.initializeFromProps(props.end, panelLocation, \"end\");\r\n }\r\n }\r\n\r\n /** @internal */\r\n public *[Symbol.iterator](): Iterator<[StagePanelZoneDefKeys, StagePanelZoneDef]> {\r\n for (const key of stagePanelZoneDefKeys) {\r\n const value = this[key];\r\n yield [key, value];\r\n }\r\n return undefined;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class StagePanelZoneDef extends WidgetHost {\r\n /** @internal */\r\n public initializeFromProps(props: StagePanelZoneProps, panelLocation: StagePanelLocation, panelZone: StagePanelZoneDefKeys): void {\r\n props.widgets.forEach((widgetNode, index) => {\r\n const stableId = `uifw-spz-${StagePanelLocation[panelLocation]}-${panelZone}-${index}`;\r\n const stableProps = getStableWidgetProps(widgetNode.props, stableId);\r\n const widgetDef = new WidgetDef(stableProps);\r\n this.addWidgetDef(widgetDef);\r\n });\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function toPanelSide(location: StagePanelLocation): PanelSide {\r\n switch (location) {\r\n case StagePanelLocation.Bottom:\r\n case StagePanelLocation.BottomMost:\r\n return \"bottom\";\r\n case StagePanelLocation.Left:\r\n return \"left\";\r\n case StagePanelLocation.Right:\r\n return \"right\";\r\n case StagePanelLocation.Top:\r\n case StagePanelLocation.TopMost:\r\n return \"top\";\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport const setPanelSize = produce((\r\n nineZone: Draft<NineZoneState>,\r\n side: PanelSide,\r\n size: number | undefined,\r\n) => {\r\n const panel = nineZone.panels[side];\r\n panel.size = size === undefined ? size : Math.min(Math.max(size, panel.minSize), panel.maxSize);\r\n});\r\n"]}
@@ -43,7 +43,7 @@ export function DockedStatusBarItem(props) {
43
43
  const { onResize } = useStatusBarEntry();
44
44
  const ref = useResizeObserver(onResize);
45
45
  const className = classnames("uifw-statusbar-item-container", props.className);
46
- return (React.createElement("div", { "data-item-id": props.itemId, "data-item-type": "status-bar-item", "data-item-location": props.section, "data-item-priority": props.itemPriority, "data-item-providerid": props.providerId, className: className, ref: ref, style: props.style }, props.children));
46
+ return (React.createElement("div", { "data-item-id": props.itemId, "data-item-type": "status-bar-item", "data-item-location": props.section, "data-item-priority": props.itemPriority, "data-item-provider-id": props.providerId, className: className, ref: ref, style: props.style }, props.children));
47
47
  }
48
48
  /** Wrapper for status bar entries so their size can be used to determine if the status bar container can display them or if they will need to be placed in an overflow panel. */
49
49
  // eslint-disable-next-line @typescript-eslint/naming-convention, no-shadow