@itwin/appui-react 5.0.0-dev.2 → 5.0.0

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 (517) hide show
  1. package/CHANGELOG.md +78 -1
  2. package/lib/appui-react/UiFramework.d.ts +2 -2
  3. package/lib/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/appui-react/UiFramework.js +3 -1
  5. package/lib/appui-react/UiFramework.js.map +1 -1
  6. package/lib/appui-react/UiFramework.json +4 -0
  7. package/lib/appui-react/childwindow/ChildWindowWidget.d.ts.map +1 -1
  8. package/lib/appui-react/childwindow/ChildWindowWidget.js +4 -1
  9. package/lib/appui-react/childwindow/ChildWindowWidget.js.map +1 -1
  10. package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts +1 -1
  11. package/lib/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  12. package/lib/appui-react/dialog/StandardMessageBox.js +1 -1
  13. package/lib/appui-react/dialog/StandardMessageBox.js.map +1 -1
  14. package/lib/appui-react/framework/FrameworkFrontstages.d.ts +3 -3
  15. package/lib/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  16. package/lib/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  17. package/lib/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  18. package/lib/appui-react/frontstage/FrontstageDef.js +4 -0
  19. package/lib/appui-react/frontstage/FrontstageDef.js.map +1 -1
  20. package/lib/appui-react/frontstage/ModalFrontstage.d.ts +4 -2
  21. package/lib/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  22. package/lib/appui-react/frontstage/ModalFrontstage.js +5 -7
  23. package/lib/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  24. package/lib/appui-react/frontstage/ModalFrontstage.scss +0 -5
  25. package/lib/appui-react/frontstage/ModalFrontstageButton.d.ts +22 -0
  26. package/lib/appui-react/frontstage/ModalFrontstageButton.d.ts.map +1 -0
  27. package/lib/appui-react/frontstage/ModalFrontstageButton.js +29 -0
  28. package/lib/appui-react/frontstage/ModalFrontstageButton.js.map +1 -0
  29. package/lib/appui-react/frontstage/ModalFrontstageButton.scss +21 -0
  30. package/lib/appui-react/icons/SvgAssetClassificationHide.d.ts +7 -0
  31. package/lib/appui-react/icons/SvgAssetClassificationHide.d.ts.map +1 -0
  32. package/lib/appui-react/icons/SvgAssetClassificationHide.js +14 -0
  33. package/lib/appui-react/icons/SvgAssetClassificationHide.js.map +1 -0
  34. package/lib/appui-react/icons/SvgAssetIsolate.d.ts +7 -0
  35. package/lib/appui-react/icons/SvgAssetIsolate.d.ts.map +1 -0
  36. package/lib/appui-react/icons/SvgAssetIsolate.js +14 -0
  37. package/lib/appui-react/icons/SvgAssetIsolate.js.map +1 -0
  38. package/lib/appui-react/icons/SvgGyroscope.d.ts +7 -0
  39. package/lib/appui-react/icons/SvgGyroscope.d.ts.map +1 -0
  40. package/lib/appui-react/icons/SvgGyroscope.js +15 -0
  41. package/lib/appui-react/icons/SvgGyroscope.js.map +1 -0
  42. package/lib/appui-react/icons/SvgLayersHide.d.ts +7 -0
  43. package/lib/appui-react/icons/SvgLayersHide.d.ts.map +1 -0
  44. package/lib/appui-react/icons/SvgLayersHide.js +14 -0
  45. package/lib/appui-react/icons/SvgLayersHide.js.map +1 -0
  46. package/lib/appui-react/icons/SvgLayersIsolate.d.ts +7 -0
  47. package/lib/appui-react/icons/SvgLayersIsolate.d.ts.map +1 -0
  48. package/lib/appui-react/icons/SvgLayersIsolate.js +14 -0
  49. package/lib/appui-react/icons/SvgLayersIsolate.js.map +1 -0
  50. package/lib/appui-react/icons/SvgModelHide.d.ts +7 -0
  51. package/lib/appui-react/icons/SvgModelHide.d.ts.map +1 -0
  52. package/lib/appui-react/icons/SvgModelHide.js +15 -0
  53. package/lib/appui-react/icons/SvgModelHide.js.map +1 -0
  54. package/lib/appui-react/icons/SvgModelIsolate.d.ts +7 -0
  55. package/lib/appui-react/icons/SvgModelIsolate.d.ts.map +1 -0
  56. package/lib/appui-react/icons/SvgModelIsolate.js +15 -0
  57. package/lib/appui-react/icons/SvgModelIsolate.js.map +1 -0
  58. package/lib/appui-react/icons/SvgSavedView.d.ts +7 -0
  59. package/lib/appui-react/icons/SvgSavedView.d.ts.map +1 -0
  60. package/lib/appui-react/icons/SvgSavedView.js +15 -0
  61. package/lib/appui-react/icons/SvgSavedView.js.map +1 -0
  62. package/lib/appui-react/icons/SvgSectionTool.d.ts +7 -0
  63. package/lib/appui-react/icons/SvgSectionTool.d.ts.map +1 -0
  64. package/lib/appui-react/icons/SvgSectionTool.js +15 -0
  65. package/lib/appui-react/icons/SvgSectionTool.js.map +1 -0
  66. package/lib/appui-react/icons/SvgSelectionClear.d.ts +7 -0
  67. package/lib/appui-react/icons/SvgSelectionClear.d.ts.map +1 -0
  68. package/lib/appui-react/icons/SvgSelectionClear.js +14 -0
  69. package/lib/appui-react/icons/SvgSelectionClear.js.map +1 -0
  70. package/lib/appui-react/icons/SvgViewLayouts.d.ts +7 -0
  71. package/lib/appui-react/icons/SvgViewLayouts.d.ts.map +1 -0
  72. package/lib/appui-react/icons/SvgViewLayouts.js +14 -0
  73. package/lib/appui-react/icons/SvgViewLayouts.js.map +1 -0
  74. package/lib/appui-react/icons/cube-faces/SvgCubeFaceBottom.d.ts +7 -0
  75. package/lib/appui-react/icons/cube-faces/SvgCubeFaceBottom.d.ts.map +1 -0
  76. package/lib/appui-react/icons/cube-faces/SvgCubeFaceBottom.js +15 -0
  77. package/lib/appui-react/icons/cube-faces/SvgCubeFaceBottom.js.map +1 -0
  78. package/lib/appui-react/icons/cube-faces/SvgCubeFaceFront.d.ts +7 -0
  79. package/lib/appui-react/icons/cube-faces/SvgCubeFaceFront.d.ts.map +1 -0
  80. package/lib/appui-react/icons/cube-faces/SvgCubeFaceFront.js +15 -0
  81. package/lib/appui-react/icons/cube-faces/SvgCubeFaceFront.js.map +1 -0
  82. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoLeft.d.ts +7 -0
  83. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoLeft.d.ts.map +1 -0
  84. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoLeft.js +15 -0
  85. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoLeft.js.map +1 -0
  86. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoRight.d.ts +7 -0
  87. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoRight.d.ts.map +1 -0
  88. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoRight.js +15 -0
  89. package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoRight.js.map +1 -0
  90. package/lib/appui-react/icons/cube-faces/SvgCubeFaceLeft.d.ts +7 -0
  91. package/lib/appui-react/icons/cube-faces/SvgCubeFaceLeft.d.ts.map +1 -0
  92. package/lib/appui-react/icons/cube-faces/SvgCubeFaceLeft.js +15 -0
  93. package/lib/appui-react/icons/cube-faces/SvgCubeFaceLeft.js.map +1 -0
  94. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRear.d.ts +7 -0
  95. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRear.d.ts.map +1 -0
  96. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRear.js +15 -0
  97. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRear.js.map +1 -0
  98. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRight.d.ts +7 -0
  99. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRight.d.ts.map +1 -0
  100. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRight.js +15 -0
  101. package/lib/appui-react/icons/cube-faces/SvgCubeFaceRight.js.map +1 -0
  102. package/lib/appui-react/icons/cube-faces/SvgCubeFaceTop.d.ts +7 -0
  103. package/lib/appui-react/icons/cube-faces/SvgCubeFaceTop.d.ts.map +1 -0
  104. package/lib/appui-react/icons/cube-faces/SvgCubeFaceTop.js +15 -0
  105. package/lib/appui-react/icons/cube-faces/SvgCubeFaceTop.js.map +1 -0
  106. package/lib/appui-react/icons/snaps/SvgSnaps.d.ts +7 -0
  107. package/lib/appui-react/icons/snaps/SvgSnaps.d.ts.map +1 -0
  108. package/lib/appui-react/icons/snaps/SvgSnaps.js +14 -0
  109. package/lib/appui-react/icons/snaps/SvgSnaps.js.map +1 -0
  110. package/lib/appui-react/icons/snaps/SvgSnapsBisector.d.ts +7 -0
  111. package/lib/appui-react/icons/snaps/SvgSnapsBisector.d.ts.map +1 -0
  112. package/lib/appui-react/icons/snaps/SvgSnapsBisector.js +14 -0
  113. package/lib/appui-react/icons/snaps/SvgSnapsBisector.js.map +1 -0
  114. package/lib/appui-react/icons/snaps/SvgSnapsCenter.d.ts +7 -0
  115. package/lib/appui-react/icons/snaps/SvgSnapsCenter.d.ts.map +1 -0
  116. package/lib/appui-react/icons/snaps/SvgSnapsCenter.js +14 -0
  117. package/lib/appui-react/icons/snaps/SvgSnapsCenter.js.map +1 -0
  118. package/lib/appui-react/icons/snaps/SvgSnapsIntersection.d.ts +7 -0
  119. package/lib/appui-react/icons/snaps/SvgSnapsIntersection.d.ts.map +1 -0
  120. package/lib/appui-react/icons/snaps/SvgSnapsIntersection.js +14 -0
  121. package/lib/appui-react/icons/snaps/SvgSnapsIntersection.js.map +1 -0
  122. package/lib/appui-react/icons/snaps/SvgSnapsMidpoint.d.ts +7 -0
  123. package/lib/appui-react/icons/snaps/SvgSnapsMidpoint.d.ts.map +1 -0
  124. package/lib/appui-react/icons/snaps/SvgSnapsMidpoint.js +14 -0
  125. package/lib/appui-react/icons/snaps/SvgSnapsMidpoint.js.map +1 -0
  126. package/lib/appui-react/icons/snaps/SvgSnapsNearest.d.ts +7 -0
  127. package/lib/appui-react/icons/snaps/SvgSnapsNearest.d.ts.map +1 -0
  128. package/lib/appui-react/icons/snaps/SvgSnapsNearest.js +14 -0
  129. package/lib/appui-react/icons/snaps/SvgSnapsNearest.js.map +1 -0
  130. package/lib/appui-react/icons/snaps/SvgSnapsOrigin.d.ts +7 -0
  131. package/lib/appui-react/icons/snaps/SvgSnapsOrigin.d.ts.map +1 -0
  132. package/lib/appui-react/icons/snaps/SvgSnapsOrigin.js +14 -0
  133. package/lib/appui-react/icons/snaps/SvgSnapsOrigin.js.map +1 -0
  134. package/lib/appui-react/layout/footer/snap-mode/Snap.d.ts.map +1 -1
  135. package/lib/appui-react/layout/footer/snap-mode/Snap.js +2 -2
  136. package/lib/appui-react/layout/footer/snap-mode/Snap.js.map +1 -1
  137. package/lib/appui-react/layout/footer/snap-mode/Snap.scss +4 -0
  138. package/lib/appui-react/layout/tool-settings/Docked.d.ts +2 -2
  139. package/lib/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  140. package/lib/appui-react/layout/tool-settings/Docked.js +9 -11
  141. package/lib/appui-react/layout/tool-settings/Docked.js.map +1 -1
  142. package/lib/appui-react/layout/widget/Tabs.d.ts.map +1 -1
  143. package/lib/appui-react/layout/widget/Tabs.js +2 -1
  144. package/lib/appui-react/layout/widget/Tabs.js.map +1 -1
  145. package/lib/appui-react/messages/MessageManager.d.ts +1 -2
  146. package/lib/appui-react/messages/MessageManager.d.ts.map +1 -1
  147. package/lib/appui-react/messages/MessageManager.js +34 -13
  148. package/lib/appui-react/messages/MessageManager.js.map +1 -1
  149. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js +16 -16
  150. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  151. package/lib/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  152. package/lib/appui-react/pickers/ViewSelector.js +5 -2
  153. package/lib/appui-react/pickers/ViewSelector.js.map +1 -1
  154. package/lib/appui-react/redux/FrameworkState.d.ts +5 -2
  155. package/lib/appui-react/redux/FrameworkState.d.ts.map +1 -1
  156. package/lib/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  157. package/lib/appui-react/selection/SelectionContextItemDef.js +21 -20
  158. package/lib/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  159. package/lib/appui-react/settings/ui/UiSettingsPage.js +2 -2
  160. package/lib/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  161. package/lib/appui-react/statusbar/StatusBarComposer.d.ts +5 -11
  162. package/lib/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  163. package/lib/appui-react/statusbar/StatusBarComposer.js +18 -118
  164. package/lib/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  165. package/lib/appui-react/statusfields/SectionsField.js +2 -2
  166. package/lib/appui-react/statusfields/SectionsField.js.map +1 -1
  167. package/lib/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  168. package/lib/appui-react/statusfields/SnapMode.js +21 -30
  169. package/lib/appui-react/statusfields/SnapMode.js.map +1 -1
  170. package/lib/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
  171. package/lib/appui-react/toolbar/ToolbarItemUtilities.js +5 -0
  172. package/lib/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  173. package/lib/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  174. package/lib/appui-react/tools/CoreToolDefinitions.js +12 -13
  175. package/lib/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  176. package/lib/appui-react/tools/KeyinPaletteTools.d.ts +11 -6
  177. package/lib/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  178. package/lib/appui-react/tools/KeyinPaletteTools.js +12 -9
  179. package/lib/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  180. package/lib/appui-react/tools/OpenSettingsTool.d.ts +10 -5
  181. package/lib/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  182. package/lib/appui-react/tools/OpenSettingsTool.js +11 -8
  183. package/lib/appui-react/tools/OpenSettingsTool.js.map +1 -1
  184. package/lib/appui-react/tools/RestoreLayoutTool.d.ts +16 -8
  185. package/lib/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  186. package/lib/appui-react/tools/RestoreLayoutTool.js +17 -13
  187. package/lib/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  188. package/lib/appui-react/widget-panels/Content.d.ts +2 -0
  189. package/lib/appui-react/widget-panels/Content.d.ts.map +1 -1
  190. package/lib/appui-react/widget-panels/Content.js +2 -1
  191. package/lib/appui-react/widget-panels/Content.js.map +1 -1
  192. package/lib/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  193. package/lib/appui-react/widget-panels/Frontstage.js +3 -8
  194. package/lib/appui-react/widget-panels/Frontstage.js.map +1 -1
  195. package/lib/appui-react/widget-panels/ModalFrontstageComposer.d.ts.map +1 -1
  196. package/lib/appui-react/widget-panels/ModalFrontstageComposer.js +2 -2
  197. package/lib/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  198. package/lib/appui-react/widgets/WidgetDef.d.ts +0 -1
  199. package/lib/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  200. package/lib/appui-react/widgets/WidgetDef.js +0 -1
  201. package/lib/appui-react/widgets/WidgetDef.js.map +1 -1
  202. package/lib/appui-react.d.ts +1 -0
  203. package/lib/appui-react.d.ts.map +1 -1
  204. package/lib/appui-react.js +1 -0
  205. package/lib/appui-react.js.map +1 -1
  206. package/lib/cjs/appui-react/_variables.scss +11 -0
  207. package/lib/{appui-react/layout/widget/tools/button/Back.scss → cjs/appui-react/accudraw/AccuDrawDialog.scss} +5 -3
  208. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +20 -0
  209. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +56 -0
  210. package/lib/cjs/appui-react/accudraw/Calculator.scss +82 -0
  211. package/lib/cjs/appui-react/accudraw/MenuButton.scss +18 -0
  212. package/lib/cjs/appui-react/accudraw/SquareButton.scss +30 -0
  213. package/lib/cjs/appui-react/accudraw/angle.svg +1 -0
  214. package/lib/cjs/appui-react/accudraw/backspace.svg +9 -0
  215. package/lib/cjs/appui-react/accudraw/constraint-2d.svg +11 -0
  216. package/lib/cjs/appui-react/accudraw/distance.svg +1 -0
  217. package/lib/cjs/appui-react/accudraw/height-2.svg +10 -0
  218. package/lib/cjs/appui-react/accudraw/height.svg +11 -0
  219. package/lib/cjs/appui-react/childwindow/ChildWindowRenderer.scss +18 -0
  220. package/lib/cjs/appui-react/childwindow/ChildWindowWidget.scss +8 -0
  221. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.scss +57 -0
  222. package/lib/cjs/appui-react/content/ContentLayout.scss +106 -0
  223. package/lib/cjs/appui-react/content/ContentOverlay.scss +19 -0
  224. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +41 -0
  225. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +33 -0
  226. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -0
  227. package/lib/cjs/appui-react/dialog/DialogManagerBase.scss +11 -0
  228. package/lib/cjs/appui-react/feedback/ElementTooltip.scss +29 -0
  229. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +49 -0
  230. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +76 -0
  231. package/lib/cjs/appui-react/frontstage/ModalFrontstageButton.scss +21 -0
  232. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +12 -0
  233. package/lib/cjs/appui-react/layers.scss +11 -0
  234. package/lib/cjs/appui-react/layout/StandardLayout.scss +92 -0
  235. package/lib/cjs/appui-react/layout/_prefix.scss +33 -0
  236. package/lib/cjs/appui-react/layout/_safearea.scss +26 -0
  237. package/lib/cjs/appui-react/layout/_scrollbar.scss +22 -0
  238. package/lib/cjs/appui-react/layout/_target.scss +10 -0
  239. package/lib/cjs/appui-react/layout/_widgetopacity.scss +15 -0
  240. package/lib/cjs/appui-react/layout/backstage/Backstage.scss +90 -0
  241. package/lib/cjs/appui-react/layout/backstage/Item.scss +107 -0
  242. package/lib/cjs/appui-react/layout/backstage/Separator.scss +10 -0
  243. package/lib/cjs/appui-react/layout/backstage/_variables.scss +32 -0
  244. package/lib/cjs/appui-react/layout/footer/dialog/Dialog.scss +12 -0
  245. package/lib/cjs/appui-react/layout/footer/dialog/TitleBar.scss +30 -0
  246. package/lib/cjs/appui-react/layout/footer/dialog/_variables.scss +8 -0
  247. package/lib/cjs/appui-react/layout/footer/snap-mode/Panel.scss +19 -0
  248. package/lib/cjs/appui-react/layout/footer/snap-mode/Snap.scss +50 -0
  249. package/lib/cjs/appui-react/layout/footer/tool-assistance/Dialog.scss +15 -0
  250. package/lib/cjs/appui-react/layout/footer/tool-assistance/Instruction.scss +28 -0
  251. package/lib/cjs/appui-react/layout/footer/tool-assistance/Item.scss +13 -0
  252. package/lib/cjs/appui-react/layout/footer/tool-assistance/NewDot.scss +11 -0
  253. package/lib/cjs/appui-react/layout/footer/tool-assistance/Separator.scss +20 -0
  254. package/lib/cjs/appui-react/layout/outline/PanelOutline.scss +63 -0
  255. package/lib/cjs/appui-react/layout/outline/SectionOutline.scss +47 -0
  256. package/lib/cjs/appui-react/layout/outline/TabOutline.scss +18 -0
  257. package/lib/cjs/appui-react/layout/outline/WidgetOutline.scss +16 -0
  258. package/lib/cjs/appui-react/layout/outline/_variables.scss +7 -0
  259. package/lib/cjs/appui-react/layout/popup/Tooltip.scss +22 -0
  260. package/lib/cjs/appui-react/layout/target/MergeTarget.scss +17 -0
  261. package/lib/cjs/appui-react/layout/target/PanelTarget.scss +27 -0
  262. package/lib/cjs/appui-react/layout/target/PanelTargets.scss +52 -0
  263. package/lib/cjs/appui-react/layout/target/SectionTarget.scss +47 -0
  264. package/lib/cjs/appui-react/layout/target/SectionTargets.scss +13 -0
  265. package/lib/cjs/appui-react/layout/target/TabTarget.scss +30 -0
  266. package/lib/cjs/appui-react/layout/target/TargetContainer.scss +17 -0
  267. package/lib/cjs/appui-react/layout/target/TitleBarTarget.scss +17 -0
  268. package/lib/cjs/appui-react/layout/target/WidgetTarget.scss +11 -0
  269. package/lib/cjs/appui-react/layout/target/_variables.scss +66 -0
  270. package/lib/cjs/appui-react/layout/tool-settings/Docked.scss +30 -0
  271. package/lib/cjs/appui-react/layout/tool-settings/Handle.scss +17 -0
  272. package/lib/cjs/appui-react/layout/tool-settings/Overflow.scss +11 -0
  273. package/lib/cjs/appui-react/layout/tool-settings/Panel.scss +8 -0
  274. package/lib/cjs/appui-react/layout/tool-settings/Setting.scss +10 -0
  275. package/lib/cjs/appui-react/layout/widget/Buttons.scss +10 -0
  276. package/lib/cjs/appui-react/layout/widget/Content.scss +13 -0
  277. package/lib/cjs/appui-react/layout/widget/ContentContainer.scss +24 -0
  278. package/lib/cjs/appui-react/layout/widget/ContentRenderer.scss +18 -0
  279. package/lib/cjs/appui-react/layout/widget/FloatingTab.scss +36 -0
  280. package/lib/cjs/appui-react/layout/widget/FloatingWidget.scss +128 -0
  281. package/lib/cjs/appui-react/layout/widget/Menu.scss +12 -0
  282. package/lib/cjs/appui-react/layout/widget/MenuTab.scss +59 -0
  283. package/lib/cjs/appui-react/layout/widget/NavigationArea.scss +57 -0
  284. package/lib/cjs/appui-react/layout/widget/Overflow.scss +58 -0
  285. package/lib/cjs/appui-react/layout/widget/PanelWidget.scss +62 -0
  286. package/lib/cjs/appui-react/layout/widget/Tab.scss +90 -0
  287. package/lib/cjs/appui-react/layout/widget/TabBar.scss +29 -0
  288. package/lib/cjs/appui-react/layout/widget/Tabs.scss +10 -0
  289. package/lib/cjs/appui-react/layout/widget/ToolsArea.scss +51 -0
  290. package/lib/cjs/appui-react/layout/widget/Widget.scss +12 -0
  291. package/lib/cjs/appui-react/layout/widget/_variables.scss +50 -0
  292. package/lib/cjs/appui-react/layout/widget/tools/button/Button.scss +49 -0
  293. package/lib/cjs/appui-react/layout/widget/tools/button/Expandable.scss +46 -0
  294. package/lib/cjs/appui-react/layout/widget/tools/button/Icon.scss +54 -0
  295. package/lib/cjs/appui-react/layout/widget/tools/button/_variables.scss +42 -0
  296. package/lib/cjs/appui-react/layout/widget-panels/CursorOverlay.scss +25 -0
  297. package/lib/cjs/appui-react/layout/widget-panels/Expander.scss +37 -0
  298. package/lib/cjs/appui-react/layout/widget-panels/Grip.scss +141 -0
  299. package/lib/cjs/appui-react/layout/widget-panels/Panel.scss +258 -0
  300. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.scss +60 -0
  301. package/lib/cjs/appui-react/layout/widget-panels/_variables.scss +6 -0
  302. package/lib/cjs/appui-react/messages/InputField.scss +77 -0
  303. package/lib/cjs/appui-react/messages/Pointer.scss +42 -0
  304. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +50 -0
  305. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.scss +74 -0
  306. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -0
  307. package/lib/cjs/appui-react/pickers/ListPicker.scss +316 -0
  308. package/lib/cjs/appui-react/popup/CardPopup.scss +24 -0
  309. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +30 -0
  310. package/lib/cjs/appui-react/popup/PositionPopup.scss +27 -0
  311. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.scss +10 -0
  312. package/lib/cjs/appui-react/preview/control-widget-visibility/NavigationWidget.scss +17 -0
  313. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
  314. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
  315. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss +7 -0
  316. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
  317. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +120 -0
  318. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +61 -0
  319. package/lib/cjs/appui-react/statusbar/Field.scss +20 -0
  320. package/lib/cjs/appui-react/statusbar/LabelIndicator.scss +18 -0
  321. package/lib/cjs/appui-react/statusbar/Overflow.scss +15 -0
  322. package/lib/cjs/appui-react/statusbar/Separator.scss +11 -0
  323. package/lib/cjs/appui-react/statusbar/StatusBar.scss +89 -0
  324. package/lib/cjs/appui-react/statusbar/popup/ExpandIndicator.scss +17 -0
  325. package/lib/cjs/appui-react/statusbar/popup/Popup.scss +12 -0
  326. package/lib/cjs/appui-react/statusfields/SectionsField.scss +33 -0
  327. package/lib/cjs/appui-react/statusfields/SelectionCount.scss +23 -0
  328. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +17 -0
  329. package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +10 -0
  330. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.scss +24 -0
  331. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.scss +28 -0
  332. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -0
  333. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +167 -0
  334. package/lib/cjs/appui-react/statusfields/toolassistance/accept-point.svg +1 -0
  335. package/lib/cjs/appui-react/statusfields/toolassistance/cursor-click.svg +1 -0
  336. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-one-finger-drag.svg +1 -0
  337. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-one-finger-tap-double.svg +1 -0
  338. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-one-finger-tap.svg +1 -0
  339. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-pinch.svg +1 -0
  340. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-two-finger-drag.svg +1 -0
  341. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-two-finger-tap.svg +1 -0
  342. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-left-drag.svg +1 -0
  343. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-left.svg +1 -0
  344. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-right-drag.svg +1 -0
  345. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-right.svg +1 -0
  346. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-wheel-drag.svg +1 -0
  347. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-wheel.svg +1 -0
  348. package/lib/cjs/appui-react/statusfields/toolassistance/touch-cursor-pan.svg +1 -0
  349. package/lib/cjs/appui-react/statusfields/toolassistance/touch-cursor-point.svg +1 -0
  350. package/lib/cjs/appui-react/theme/ThemeManager.scss +9 -0
  351. package/lib/cjs/appui-react/toolbar/new-toolbars/Badge.scss +13 -0
  352. package/lib/cjs/appui-react/toolbar/new-toolbars/ExpandIndicator.scss +17 -0
  353. package/lib/cjs/appui-react/toolbar/new-toolbars/Surface.scss +35 -0
  354. package/lib/cjs/appui-react/toolbar/new-toolbars/ToolGroup.scss +17 -0
  355. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +103 -0
  356. package/lib/cjs/appui-react/widget-panels/DockedBar.scss +18 -0
  357. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +19 -0
  358. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +12 -0
  359. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +22 -0
  360. package/lib/cjs/appui-react/widgets/BackstageAppButton.scss +46 -0
  361. package/lib/esm/appui-react/_variables.scss +11 -0
  362. package/lib/esm/appui-react/accudraw/AccuDrawDialog.scss +11 -0
  363. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +20 -0
  364. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +56 -0
  365. package/lib/esm/appui-react/accudraw/Calculator.scss +82 -0
  366. package/lib/esm/appui-react/accudraw/MenuButton.scss +18 -0
  367. package/lib/esm/appui-react/accudraw/SquareButton.scss +30 -0
  368. package/lib/esm/appui-react/accudraw/angle.svg +1 -0
  369. package/lib/esm/appui-react/accudraw/backspace.svg +9 -0
  370. package/lib/esm/appui-react/accudraw/constraint-2d.svg +11 -0
  371. package/lib/esm/appui-react/accudraw/distance.svg +1 -0
  372. package/lib/esm/appui-react/accudraw/height-2.svg +10 -0
  373. package/lib/esm/appui-react/accudraw/height.svg +11 -0
  374. package/lib/esm/appui-react/childwindow/ChildWindowRenderer.scss +18 -0
  375. package/lib/esm/appui-react/childwindow/ChildWindowWidget.scss +8 -0
  376. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.scss +57 -0
  377. package/lib/esm/appui-react/content/ContentLayout.scss +106 -0
  378. package/lib/esm/appui-react/content/ContentOverlay.scss +19 -0
  379. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +41 -0
  380. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +33 -0
  381. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -0
  382. package/lib/esm/appui-react/dialog/DialogManagerBase.scss +11 -0
  383. package/lib/esm/appui-react/feedback/ElementTooltip.scss +29 -0
  384. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +49 -0
  385. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +76 -0
  386. package/lib/esm/appui-react/frontstage/ModalFrontstageButton.scss +21 -0
  387. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +12 -0
  388. package/lib/esm/appui-react/layers.scss +11 -0
  389. package/lib/esm/appui-react/layout/StandardLayout.scss +92 -0
  390. package/lib/esm/appui-react/layout/_prefix.scss +33 -0
  391. package/lib/esm/appui-react/layout/_safearea.scss +26 -0
  392. package/lib/esm/appui-react/layout/_scrollbar.scss +22 -0
  393. package/lib/esm/appui-react/layout/_target.scss +10 -0
  394. package/lib/esm/appui-react/layout/_widgetopacity.scss +15 -0
  395. package/lib/esm/appui-react/layout/backstage/Backstage.scss +90 -0
  396. package/lib/esm/appui-react/layout/backstage/Item.scss +107 -0
  397. package/lib/esm/appui-react/layout/backstage/Separator.scss +10 -0
  398. package/lib/esm/appui-react/layout/backstage/_variables.scss +32 -0
  399. package/lib/esm/appui-react/layout/footer/dialog/Dialog.scss +12 -0
  400. package/lib/esm/appui-react/layout/footer/dialog/TitleBar.scss +30 -0
  401. package/lib/esm/appui-react/layout/footer/dialog/_variables.scss +8 -0
  402. package/lib/esm/appui-react/layout/footer/snap-mode/Panel.scss +19 -0
  403. package/lib/esm/appui-react/layout/footer/snap-mode/Snap.scss +50 -0
  404. package/lib/esm/appui-react/layout/footer/tool-assistance/Dialog.scss +15 -0
  405. package/lib/esm/appui-react/layout/footer/tool-assistance/Instruction.scss +28 -0
  406. package/lib/esm/appui-react/layout/footer/tool-assistance/Item.scss +13 -0
  407. package/lib/esm/appui-react/layout/footer/tool-assistance/NewDot.scss +11 -0
  408. package/lib/esm/appui-react/layout/footer/tool-assistance/Separator.scss +20 -0
  409. package/lib/esm/appui-react/layout/outline/PanelOutline.scss +63 -0
  410. package/lib/esm/appui-react/layout/outline/SectionOutline.scss +47 -0
  411. package/lib/esm/appui-react/layout/outline/TabOutline.scss +18 -0
  412. package/lib/esm/appui-react/layout/outline/WidgetOutline.scss +16 -0
  413. package/lib/esm/appui-react/layout/outline/_variables.scss +7 -0
  414. package/lib/esm/appui-react/layout/popup/Tooltip.scss +22 -0
  415. package/lib/esm/appui-react/layout/target/MergeTarget.scss +17 -0
  416. package/lib/esm/appui-react/layout/target/PanelTarget.scss +27 -0
  417. package/lib/esm/appui-react/layout/target/PanelTargets.scss +52 -0
  418. package/lib/esm/appui-react/layout/target/SectionTarget.scss +47 -0
  419. package/lib/esm/appui-react/layout/target/SectionTargets.scss +13 -0
  420. package/lib/esm/appui-react/layout/target/TabTarget.scss +30 -0
  421. package/lib/esm/appui-react/layout/target/TargetContainer.scss +17 -0
  422. package/lib/esm/appui-react/layout/target/TitleBarTarget.scss +17 -0
  423. package/lib/esm/appui-react/layout/target/WidgetTarget.scss +11 -0
  424. package/lib/esm/appui-react/layout/target/_variables.scss +66 -0
  425. package/lib/esm/appui-react/layout/tool-settings/Docked.scss +30 -0
  426. package/lib/esm/appui-react/layout/tool-settings/Handle.scss +17 -0
  427. package/lib/esm/appui-react/layout/tool-settings/Overflow.scss +11 -0
  428. package/lib/esm/appui-react/layout/tool-settings/Panel.scss +8 -0
  429. package/lib/esm/appui-react/layout/tool-settings/Setting.scss +10 -0
  430. package/lib/esm/appui-react/layout/widget/Buttons.scss +10 -0
  431. package/lib/esm/appui-react/layout/widget/Content.scss +13 -0
  432. package/lib/esm/appui-react/layout/widget/ContentContainer.scss +24 -0
  433. package/lib/esm/appui-react/layout/widget/ContentRenderer.scss +18 -0
  434. package/lib/esm/appui-react/layout/widget/FloatingTab.scss +36 -0
  435. package/lib/esm/appui-react/layout/widget/FloatingWidget.scss +128 -0
  436. package/lib/esm/appui-react/layout/widget/Menu.scss +12 -0
  437. package/lib/esm/appui-react/layout/widget/MenuTab.scss +59 -0
  438. package/lib/esm/appui-react/layout/widget/NavigationArea.scss +57 -0
  439. package/lib/esm/appui-react/layout/widget/Overflow.scss +58 -0
  440. package/lib/esm/appui-react/layout/widget/PanelWidget.scss +62 -0
  441. package/lib/esm/appui-react/layout/widget/Tab.scss +90 -0
  442. package/lib/esm/appui-react/layout/widget/TabBar.scss +29 -0
  443. package/lib/esm/appui-react/layout/widget/Tabs.scss +10 -0
  444. package/lib/esm/appui-react/layout/widget/ToolsArea.scss +51 -0
  445. package/lib/esm/appui-react/layout/widget/Widget.scss +12 -0
  446. package/lib/esm/appui-react/layout/widget/_variables.scss +50 -0
  447. package/lib/esm/appui-react/layout/widget/tools/button/Button.scss +49 -0
  448. package/lib/esm/appui-react/layout/widget/tools/button/Expandable.scss +46 -0
  449. package/lib/esm/appui-react/layout/widget/tools/button/Icon.scss +54 -0
  450. package/lib/esm/appui-react/layout/widget/tools/button/_variables.scss +42 -0
  451. package/lib/esm/appui-react/layout/widget-panels/CursorOverlay.scss +25 -0
  452. package/lib/esm/appui-react/layout/widget-panels/Expander.scss +37 -0
  453. package/lib/esm/appui-react/layout/widget-panels/Grip.scss +141 -0
  454. package/lib/esm/appui-react/layout/widget-panels/Panel.scss +258 -0
  455. package/lib/esm/appui-react/layout/widget-panels/PanelSections.scss +60 -0
  456. package/lib/esm/appui-react/layout/widget-panels/_variables.scss +6 -0
  457. package/lib/esm/appui-react/messages/InputField.scss +77 -0
  458. package/lib/esm/appui-react/messages/Pointer.scss +42 -0
  459. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +50 -0
  460. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.scss +74 -0
  461. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -0
  462. package/lib/esm/appui-react/pickers/ListPicker.scss +316 -0
  463. package/lib/esm/appui-react/popup/CardPopup.scss +24 -0
  464. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +30 -0
  465. package/lib/esm/appui-react/popup/PositionPopup.scss +27 -0
  466. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.scss +10 -0
  467. package/lib/esm/appui-react/preview/control-widget-visibility/NavigationWidget.scss +17 -0
  468. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
  469. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
  470. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss +7 -0
  471. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
  472. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +120 -0
  473. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +61 -0
  474. package/lib/esm/appui-react/statusbar/Field.scss +20 -0
  475. package/lib/esm/appui-react/statusbar/LabelIndicator.scss +18 -0
  476. package/lib/esm/appui-react/statusbar/Overflow.scss +15 -0
  477. package/lib/esm/appui-react/statusbar/Separator.scss +11 -0
  478. package/lib/esm/appui-react/statusbar/StatusBar.scss +89 -0
  479. package/lib/esm/appui-react/statusbar/popup/ExpandIndicator.scss +17 -0
  480. package/lib/esm/appui-react/statusbar/popup/Popup.scss +12 -0
  481. package/lib/esm/appui-react/statusfields/SectionsField.scss +33 -0
  482. package/lib/esm/appui-react/statusfields/SelectionCount.scss +23 -0
  483. package/lib/esm/appui-react/statusfields/SelectionScope.scss +17 -0
  484. package/lib/esm/appui-react/statusfields/ViewAttributes.scss +10 -0
  485. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.scss +24 -0
  486. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.scss +28 -0
  487. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -0
  488. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +167 -0
  489. package/lib/esm/appui-react/statusfields/toolassistance/accept-point.svg +1 -0
  490. package/lib/esm/appui-react/statusfields/toolassistance/cursor-click.svg +1 -0
  491. package/lib/esm/appui-react/statusfields/toolassistance/gesture-one-finger-drag.svg +1 -0
  492. package/lib/esm/appui-react/statusfields/toolassistance/gesture-one-finger-tap-double.svg +1 -0
  493. package/lib/esm/appui-react/statusfields/toolassistance/gesture-one-finger-tap.svg +1 -0
  494. package/lib/esm/appui-react/statusfields/toolassistance/gesture-pinch.svg +1 -0
  495. package/lib/esm/appui-react/statusfields/toolassistance/gesture-two-finger-drag.svg +1 -0
  496. package/lib/esm/appui-react/statusfields/toolassistance/gesture-two-finger-tap.svg +1 -0
  497. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-left-drag.svg +1 -0
  498. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-left.svg +1 -0
  499. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-right-drag.svg +1 -0
  500. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-right.svg +1 -0
  501. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-wheel-drag.svg +1 -0
  502. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-wheel.svg +1 -0
  503. package/lib/esm/appui-react/statusfields/toolassistance/touch-cursor-pan.svg +1 -0
  504. package/lib/esm/appui-react/statusfields/toolassistance/touch-cursor-point.svg +1 -0
  505. package/lib/esm/appui-react/theme/ThemeManager.scss +9 -0
  506. package/lib/esm/appui-react/toolbar/new-toolbars/Badge.scss +13 -0
  507. package/lib/esm/appui-react/toolbar/new-toolbars/ExpandIndicator.scss +17 -0
  508. package/lib/esm/appui-react/toolbar/new-toolbars/Surface.scss +35 -0
  509. package/lib/esm/appui-react/toolbar/new-toolbars/ToolGroup.scss +17 -0
  510. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +103 -0
  511. package/lib/esm/appui-react/widget-panels/DockedBar.scss +18 -0
  512. package/lib/esm/appui-react/widget-panels/Frontstage.scss +19 -0
  513. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +12 -0
  514. package/lib/esm/appui-react/widget-panels/Toolbars.scss +22 -0
  515. package/lib/esm/appui-react/widgets/BackstageAppButton.scss +46 -0
  516. package/lib/public/locales/en/UiFramework.json +4 -0
  517. package/package.json +17 -24
@@ -5,14 +5,12 @@
5
5
  /** @packageDocumentation
6
6
  * @module Tools
7
7
  */
8
+ import * as React from "react";
8
9
  import { Tool } from "@itwin/core-frontend";
10
+ import { ToolUtilities } from "@itwin/imodel-components-react";
11
+ import { SvgSettings } from "@itwin/itwinui-icons-react";
9
12
  import { SettingsModalFrontstage } from "../frontstage/ModalSettingsStage.js";
10
- import svgSettings from "@bentley/icons-generic/icons/settings.svg";
11
- /**
12
- * Immediate tool that will open the Settings modal stage.
13
- * @alpha
14
- */
15
- export class OpenSettingsTool extends Tool {
13
+ class OpenSettingsCoreTool extends Tool {
16
14
  static get minArgs() {
17
15
  return 0;
18
16
  }
@@ -27,6 +25,11 @@ export class OpenSettingsTool extends Tool {
27
25
  return this.run(args[0]);
28
26
  }
29
27
  }
30
- OpenSettingsTool.toolId = "OpenSettings";
31
- OpenSettingsTool.iconSpec = svgSettings;
28
+ OpenSettingsCoreTool.toolId = "OpenSettings";
29
+ OpenSettingsCoreTool.iconSpec = "icon-settings";
30
+ /**
31
+ * Immediate tool that will open the Settings modal stage.
32
+ * @alpha
33
+ */
34
+ export const OpenSettingsTool = ToolUtilities.defineIcon(OpenSettingsCoreTool, React.createElement(SvgSettings, null));
32
35
  //# sourceMappingURL=OpenSettingsTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenSettingsTool.js","sourceRoot":"","sources":["../../../src/appui-react/tools/OpenSettingsTool.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,WAAW,MAAM,2CAA2C,CAAC;AAEpE;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,IAAI;IAIjC,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACM,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAEe,KAAK,CAAC,GAAG,CAAC,eAAwB;QAChD,uBAAuB,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AAjBsB,uBAAM,GAAG,cAAc,CAAC;AACxB,yBAAQ,GAAG,WAAW,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tools\n */\nimport { Tool } from \"@itwin/core-frontend\";\nimport { SettingsModalFrontstage } from \"../frontstage/ModalSettingsStage.js\";\nimport svgSettings from \"@bentley/icons-generic/icons/settings.svg\";\n\n/**\n * Immediate tool that will open the Settings modal stage.\n * @alpha\n */\nexport class OpenSettingsTool extends Tool {\n public static override toolId = \"OpenSettings\";\n public static override iconSpec = svgSettings;\n\n public static override get minArgs() {\n return 0;\n }\n public static override get maxArgs() {\n return 1;\n }\n\n public override async run(settingCategory?: string): Promise<boolean> {\n SettingsModalFrontstage.showSettingsStage(settingCategory);\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n"]}
1
+ {"version":3,"file":"OpenSettingsTool.js","sourceRoot":"","sources":["../../../src/appui-react/tools/OpenSettingsTool.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,MAAM,oBAAqB,SAAQ,IAAI;IAI9B,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACM,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAEe,KAAK,CAAC,GAAG,CAAC,eAAwB;QAChD,uBAAuB,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AAjBsB,2BAAM,GAAG,cAAc,CAAC;AACxB,6BAAQ,GAAG,eAAe,CAAC;AAmBpD;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC,UAAU,CACtD,oBAAoB,EACpB,oBAAC,WAAW,OAAG,CAChB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tools\n */\nimport * as React from \"react\";\nimport { Tool } from \"@itwin/core-frontend\";\nimport { ToolUtilities } from \"@itwin/imodel-components-react\";\nimport { SvgSettings } from \"@itwin/itwinui-icons-react\";\nimport { SettingsModalFrontstage } from \"../frontstage/ModalSettingsStage.js\";\n\nclass OpenSettingsCoreTool extends Tool {\n public static override toolId = \"OpenSettings\";\n public static override iconSpec = \"icon-settings\";\n\n public static override get minArgs() {\n return 0;\n }\n public static override get maxArgs() {\n return 1;\n }\n\n public override async run(settingCategory?: string): Promise<boolean> {\n SettingsModalFrontstage.showSettingsStage(settingCategory);\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n\n/**\n * Immediate tool that will open the Settings modal stage.\n * @alpha\n */\nexport const OpenSettingsTool = ToolUtilities.defineIcon(\n OpenSettingsCoreTool,\n <SvgSettings />\n);\n"]}
@@ -1,13 +1,9 @@
1
1
  /** @packageDocumentation
2
2
  * @module Tools
3
3
  */
4
+ import * as React from "react";
4
5
  import { Tool } from "@itwin/core-frontend";
5
- /**
6
- * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id
7
- * may be passed in, if not the active stage is used. The stage Id is case sensitive.
8
- * @public
9
- */
10
- export declare class RestoreFrontstageLayoutTool extends Tool {
6
+ declare class RestoreFrontstageLayoutCoreTool extends Tool {
11
7
  static toolId: string;
12
8
  static iconSpec: string;
13
9
  static get minArgs(): number;
@@ -16,12 +12,24 @@ export declare class RestoreFrontstageLayoutTool extends Tool {
16
12
  parseAndRun(...args: string[]): Promise<boolean>;
17
13
  }
18
14
  /**
19
- * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.
15
+ * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id
16
+ * may be passed in, if not the active stage is used. The stage Id is case sensitive.
20
17
  * @public
21
18
  */
22
- export declare class RestoreAllFrontstagesTool extends Tool {
19
+ export declare const RestoreFrontstageLayoutTool: typeof RestoreFrontstageLayoutCoreTool & {
20
+ iconElement: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
21
+ };
22
+ declare class RestoreAllFrontstagesCoreTool extends Tool {
23
23
  static toolId: string;
24
24
  static iconSpec: string;
25
25
  run(): Promise<boolean>;
26
26
  }
27
+ /**
28
+ * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.
29
+ * @public
30
+ */
31
+ export declare const RestoreAllFrontstagesTool: typeof RestoreAllFrontstagesCoreTool & {
32
+ iconElement: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
33
+ };
34
+ export {};
27
35
  //# sourceMappingURL=RestoreLayoutTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RestoreLayoutTool.d.ts","sourceRoot":"","sources":["../../../src/appui-react/tools/RestoreLayoutTool.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAIL,IAAI,EACL,MAAM,sBAAsB,CAAC;AAM9B;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,IAAI;IACnD,OAAuB,MAAM,SAA6B;IAC1D,OAAuB,QAAQ,SAAkB;IAEjD,WAA2B,OAAO,WAEjC;IACD,WAA2B,OAAO,WAEjC;IAEqB,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB5C,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvE;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,IAAI;IACjD,OAAuB,MAAM,SAA2B;IACxD,OAAuB,QAAQ,SAAkB;IAE3B,GAAG;CAO1B"}
1
+ {"version":3,"file":"RestoreLayoutTool.d.ts","sourceRoot":"","sources":["../../../src/appui-react/tools/RestoreLayoutTool.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIL,IAAI,EACL,MAAM,sBAAsB,CAAC;AAO9B,cAAM,+BAAgC,SAAQ,IAAI;IAChD,OAAuB,MAAM,SAA6B;IAC1D,OAAuB,QAAQ,SAAuB;IAEtD,WAA2B,OAAO,WAEjC;IACD,WAA2B,OAAO,WAEjC;IAEqB,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB5C,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvE;AAED;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;CAGvC,CAAC;AAEF,cAAM,6BAA8B,SAAQ,IAAI;IAC9C,OAAuB,MAAM,SAA2B;IACxD,OAAuB,QAAQ,SAAuB;IAEhC,GAAG;CAO1B;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;CAGrC,CAAC"}
@@ -5,16 +5,13 @@
5
5
  /** @packageDocumentation
6
6
  * @module Tools
7
7
  */
8
+ import * as React from "react";
8
9
  import { IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool, } from "@itwin/core-frontend";
9
10
  import { InternalFrontstageManager } from "../frontstage/InternalFrontstageManager.js";
10
11
  import { UiFramework } from "../UiFramework.js";
11
- import svgViewLayouts from "@bentley/icons-generic/icons/view-layouts.svg";
12
- /**
13
- * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id
14
- * may be passed in, if not the active stage is used. The stage Id is case sensitive.
15
- * @public
16
- */
17
- export class RestoreFrontstageLayoutTool extends Tool {
12
+ import { SvgViewLayouts } from "../icons/SvgViewLayouts.js";
13
+ import { ToolUtilities } from "@itwin/imodel-components-react";
14
+ class RestoreFrontstageLayoutCoreTool extends Tool {
18
15
  static get minArgs() {
19
16
  return 0;
20
17
  }
@@ -39,13 +36,15 @@ export class RestoreFrontstageLayoutTool extends Tool {
39
36
  return this.run(args[0]);
40
37
  }
41
38
  }
42
- RestoreFrontstageLayoutTool.toolId = "RestoreFrontstageLayout";
43
- RestoreFrontstageLayoutTool.iconSpec = svgViewLayouts;
39
+ RestoreFrontstageLayoutCoreTool.toolId = "RestoreFrontstageLayout";
40
+ RestoreFrontstageLayoutCoreTool.iconSpec = "icon-view-layouts";
44
41
  /**
45
- * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.
42
+ * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id
43
+ * may be passed in, if not the active stage is used. The stage Id is case sensitive.
46
44
  * @public
47
45
  */
48
- export class RestoreAllFrontstagesTool extends Tool {
46
+ export const RestoreFrontstageLayoutTool = ToolUtilities.defineIcon(RestoreFrontstageLayoutCoreTool, React.createElement(SvgViewLayouts, null));
47
+ class RestoreAllFrontstagesCoreTool extends Tool {
49
48
  async run() {
50
49
  const frontstages = InternalFrontstageManager.frontstageDefs;
51
50
  for (const [, frontstage] of frontstages) {
@@ -54,6 +53,11 @@ export class RestoreAllFrontstagesTool extends Tool {
54
53
  return true;
55
54
  }
56
55
  }
57
- RestoreAllFrontstagesTool.toolId = "RestoreAllFrontstages";
58
- RestoreAllFrontstagesTool.iconSpec = svgViewLayouts;
56
+ RestoreAllFrontstagesCoreTool.toolId = "RestoreAllFrontstages";
57
+ RestoreAllFrontstagesCoreTool.iconSpec = "icon-view-layouts";
58
+ /**
59
+ * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.
60
+ * @public
61
+ */
62
+ export const RestoreAllFrontstagesTool = ToolUtilities.defineIcon(RestoreAllFrontstagesCoreTool, React.createElement(SvgViewLayouts, null));
59
63
  //# sourceMappingURL=RestoreLayoutTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RestoreLayoutTool.js","sourceRoot":"","sources":["../../../src/appui-react/tools/RestoreLayoutTool.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,IAAI,GACL,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,cAAc,MAAM,+CAA+C,CAAC;AAE3E;;;;GAIG;AACH,MAAM,OAAO,2BAA4B,SAAQ,IAAI;IAI5C,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACM,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAEe,KAAK,CAAC,GAAG,CAAC,YAAqB;QAC7C,IAAI,aAAwC,CAAC;QAE7C,IAAI,YAAY,EAAE,CAAC;YACjB,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAC5D,YAAY,CACb,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;QAC9D,CAAC;QAED,IAAI,aAAa;YAAE,aAAa,CAAC,aAAa,EAAE,CAAC;;YAE/C,SAAS,CAAC,aAAa,CAAC,aAAa,CACnC,IAAI,oBAAoB,CACtB,qBAAqB,CAAC,IAAI,EAC1B,WAAW,CAAC,SAAS,CAAC,4CAA4C,CAAC,CACpE,CACF,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AAlCsB,kCAAM,GAAG,yBAAyB,CAAC;AACnC,oCAAQ,GAAG,cAAc,CAAC;AAoCnD;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,IAAI;IAIjC,KAAK,CAAC,GAAG;QACvB,MAAM,WAAW,GAAG,yBAAyB,CAAC,cAAc,CAAC;QAC7D,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;YACzC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AATsB,gCAAM,GAAG,uBAAuB,CAAC;AACjC,kCAAQ,GAAG,cAAc,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tools\n */\nimport {\n IModelApp,\n NotifyMessageDetails,\n OutputMessagePriority,\n Tool,\n} from \"@itwin/core-frontend\";\nimport type { FrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport svgViewLayouts from \"@bentley/icons-generic/icons/view-layouts.svg\";\n\n/**\n * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id\n * may be passed in, if not the active stage is used. The stage Id is case sensitive.\n * @public\n */\nexport class RestoreFrontstageLayoutTool extends Tool {\n public static override toolId = \"RestoreFrontstageLayout\";\n public static override iconSpec = svgViewLayouts;\n\n public static override get minArgs() {\n return 0;\n }\n public static override get maxArgs() {\n return 1;\n }\n\n public override async run(frontstageId?: string): Promise<boolean> {\n let frontstageDef: FrontstageDef | undefined;\n\n if (frontstageId) {\n frontstageDef = await UiFramework.frontstages.getFrontstageDef(\n frontstageId\n );\n } else {\n frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n }\n\n if (frontstageDef) frontstageDef.restoreLayout();\n else\n IModelApp.notifications.outputMessage(\n new NotifyMessageDetails(\n OutputMessagePriority.Info,\n UiFramework.translate(\"tools.RestoreFrontstageLayout.noStageFound\")\n )\n );\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n\n/**\n * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.\n * @public\n */\nexport class RestoreAllFrontstagesTool extends Tool {\n public static override toolId = \"RestoreAllFrontstages\";\n public static override iconSpec = svgViewLayouts;\n\n public override async run() {\n const frontstages = InternalFrontstageManager.frontstageDefs;\n for (const [, frontstage] of frontstages) {\n frontstage.restoreLayout();\n }\n return true;\n }\n}\n"]}
1
+ {"version":3,"file":"RestoreLayoutTool.js","sourceRoot":"","sources":["../../../src/appui-react/tools/RestoreLayoutTool.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,IAAI,GACL,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,+BAAgC,SAAQ,IAAI;IAIzC,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACM,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAEe,KAAK,CAAC,GAAG,CAAC,YAAqB;QAC7C,IAAI,aAAwC,CAAC;QAE7C,IAAI,YAAY,EAAE,CAAC;YACjB,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAC5D,YAAY,CACb,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;QAC9D,CAAC;QAED,IAAI,aAAa;YAAE,aAAa,CAAC,aAAa,EAAE,CAAC;;YAE/C,SAAS,CAAC,aAAa,CAAC,aAAa,CACnC,IAAI,oBAAoB,CACtB,qBAAqB,CAAC,IAAI,EAC1B,WAAW,CAAC,SAAS,CAAC,4CAA4C,CAAC,CACpE,CACF,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AAlCsB,sCAAM,GAAG,yBAAyB,CAAC;AACnC,wCAAQ,GAAG,mBAAmB,CAAC;AAoCxD;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC,UAAU,CACjE,+BAA+B,EAC/B,oBAAC,cAAc,OAAG,CACnB,CAAC;AAEF,MAAM,6BAA8B,SAAQ,IAAI;IAI9B,KAAK,CAAC,GAAG;QACvB,MAAM,WAAW,GAAG,yBAAyB,CAAC,cAAc,CAAC;QAC7D,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;YACzC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AATsB,oCAAM,GAAG,uBAAuB,CAAC;AACjC,sCAAQ,GAAG,mBAAmB,CAAC;AAWxD;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAC,UAAU,CAC/D,6BAA6B,EAC7B,oBAAC,cAAc,OAAG,CACnB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tools\n */\nimport * as React from \"react\";\nimport {\n IModelApp,\n NotifyMessageDetails,\n OutputMessagePriority,\n Tool,\n} from \"@itwin/core-frontend\";\nimport type { FrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { SvgViewLayouts } from \"../icons/SvgViewLayouts.js\";\nimport { ToolUtilities } from \"@itwin/imodel-components-react\";\n\nclass RestoreFrontstageLayoutCoreTool extends Tool {\n public static override toolId = \"RestoreFrontstageLayout\";\n public static override iconSpec = \"icon-view-layouts\";\n\n public static override get minArgs() {\n return 0;\n }\n public static override get maxArgs() {\n return 1;\n }\n\n public override async run(frontstageId?: string): Promise<boolean> {\n let frontstageDef: FrontstageDef | undefined;\n\n if (frontstageId) {\n frontstageDef = await UiFramework.frontstages.getFrontstageDef(\n frontstageId\n );\n } else {\n frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n }\n\n if (frontstageDef) frontstageDef.restoreLayout();\n else\n IModelApp.notifications.outputMessage(\n new NotifyMessageDetails(\n OutputMessagePriority.Info,\n UiFramework.translate(\"tools.RestoreFrontstageLayout.noStageFound\")\n )\n );\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n\n/**\n * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id\n * may be passed in, if not the active stage is used. The stage Id is case sensitive.\n * @public\n */\nexport const RestoreFrontstageLayoutTool = ToolUtilities.defineIcon(\n RestoreFrontstageLayoutCoreTool,\n <SvgViewLayouts />\n);\n\nclass RestoreAllFrontstagesCoreTool extends Tool {\n public static override toolId = \"RestoreAllFrontstages\";\n public static override iconSpec = \"icon-view-layouts\";\n\n public override async run() {\n const frontstages = InternalFrontstageManager.frontstageDefs;\n for (const [, frontstage] of frontstages) {\n frontstage.restoreLayout();\n }\n return true;\n }\n}\n\n/**\n * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.\n * @public\n */\nexport const RestoreAllFrontstagesTool = ToolUtilities.defineIcon(\n RestoreAllFrontstagesCoreTool,\n <SvgViewLayouts />\n);\n"]}
@@ -1,6 +1,8 @@
1
1
  import * as React from "react";
2
2
  import type { WidgetDef } from "../widgets/WidgetDef.js";
3
3
  /** @internal */
4
+ export declare function WidgetFallback(): React.JSX.Element;
5
+ /** @internal */
4
6
  export declare function WidgetContent(): React.JSX.Element;
5
7
  /** @internal */
6
8
  export declare function useWidgetDef(): WidgetDef | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAkBzD,gBAAgB;AAChB,wBAAgB,aAAa,sBAwB5B;AAED,gBAAgB;AAChB,wBAAgB,YAAY,IAAI,SAAS,GAAG,SAAS,CAqBpD"}
1
+ {"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAKzD,gBAAgB;AAChB,wBAAgB,cAAc,sBAW7B;AAED,gBAAgB;AAChB,wBAAgB,aAAa,sBAwB5B;AAED,gBAAgB;AAChB,wBAAgB,YAAY,IAAI,SAAS,GAAG,SAAS,CAqBpD"}
@@ -18,7 +18,8 @@ import { isProviderItem } from "../ui-items-provider/isProviderItem.js";
18
18
  import { useTransientState } from "./useTransientState.js";
19
19
  import { useTranslation } from "../hooks/useTranslation.js";
20
20
  import { PopoutThemeProvider } from "../preview/reparent-popout-widgets/PopoutThemeProvider.js";
21
- function WidgetFallback() {
21
+ /** @internal */
22
+ export function WidgetFallback() {
22
23
  const { translate } = useTranslation();
23
24
  return (React.createElement("div", { role: "alert", style: { position: "relative", minHeight: 400 } },
24
25
  React.createElement(NonIdealState, { svg: React.createElement(SvgError, null), heading: translate("widget.errorMessage.unknownError") })));
@@ -1 +1 @@
1
- {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\nimport { assert } from \"@itwin/core-bentley\";\nimport { SvgError } from \"@itwin/itwinui-illustrations-react\";\nimport { NonIdealState } from \"@itwin/itwinui-react\";\nimport * as React from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { ScrollableWidgetContent } from \"../layout/widget/Content.js\";\nimport { TabIdContext } from \"../layout/widget/ContentRenderer.js\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager.js\";\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem.js\";\nimport type { WidgetDef } from \"../widgets/WidgetDef.js\";\nimport { useTransientState } from \"./useTransientState.js\";\nimport { useTranslation } from \"../hooks/useTranslation.js\";\nimport { PopoutThemeProvider } from \"../preview/reparent-popout-widgets/PopoutThemeProvider.js\";\n\nfunction WidgetFallback() {\n const { translate } = useTranslation();\n\n return (\n <div role=\"alert\" style={{ position: \"relative\", minHeight: 400 }}>\n <NonIdealState\n svg={<SvgError />}\n heading={translate(\"widget.errorMessage.unknownError\")}\n />\n </div>\n );\n}\n\n/** @internal */\nexport function WidgetContent() {\n const widget = useWidgetDef();\n const itemId = widget?.id ?? widget?.label ?? \"unknown\";\n const onSave = React.useCallback(() => {\n widget?.saveTransientState();\n }, [widget]);\n const onRestore = React.useCallback(() => {\n widget?.restoreTransientState();\n }, [widget]);\n useTransientState(onSave, onRestore);\n const providerId =\n widget?.initialConfig && isProviderItem(widget?.initialConfig)\n ? widget?.initialConfig.providerId\n : undefined;\n\n return (\n <PopoutThemeProvider>\n <ScrollableWidgetContent itemId={itemId} providerId={providerId}>\n <ErrorBoundary FallbackComponent={WidgetFallback}>\n {widget?.reactNode}\n </ErrorBoundary>\n </ScrollableWidgetContent>\n </PopoutThemeProvider>\n );\n}\n\n/** @internal */\nexport function useWidgetDef(): WidgetDef | undefined {\n const frontstage = useActiveFrontstageDef();\n const tabId = React.useContext(TabIdContext);\n assert(!!tabId);\n const [widgetDef, setWidgetDef] = React.useState(() =>\n frontstage?.findWidgetDef(tabId)\n );\n\n const [prevTabId, setPrevTabId] = React.useState(tabId);\n if (prevTabId !== tabId) {\n setPrevTabId(tabId);\n setWidgetDef(frontstage?.findWidgetDef(tabId));\n }\n\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n setWidgetDef(frontstage?.findWidgetDef(tabId));\n });\n }, [frontstage, tabId]);\n\n return widgetDef?.id === tabId ? widgetDef : undefined;\n}\n"]}
1
+ {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\nimport { assert } from \"@itwin/core-bentley\";\nimport { SvgError } from \"@itwin/itwinui-illustrations-react\";\nimport { NonIdealState } from \"@itwin/itwinui-react\";\nimport * as React from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { ScrollableWidgetContent } from \"../layout/widget/Content.js\";\nimport { TabIdContext } from \"../layout/widget/ContentRenderer.js\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager.js\";\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem.js\";\nimport type { WidgetDef } from \"../widgets/WidgetDef.js\";\nimport { useTransientState } from \"./useTransientState.js\";\nimport { useTranslation } from \"../hooks/useTranslation.js\";\nimport { PopoutThemeProvider } from \"../preview/reparent-popout-widgets/PopoutThemeProvider.js\";\n\n/** @internal */\nexport function WidgetFallback() {\n const { translate } = useTranslation();\n\n return (\n <div role=\"alert\" style={{ position: \"relative\", minHeight: 400 }}>\n <NonIdealState\n svg={<SvgError />}\n heading={translate(\"widget.errorMessage.unknownError\")}\n />\n </div>\n );\n}\n\n/** @internal */\nexport function WidgetContent() {\n const widget = useWidgetDef();\n const itemId = widget?.id ?? widget?.label ?? \"unknown\";\n const onSave = React.useCallback(() => {\n widget?.saveTransientState();\n }, [widget]);\n const onRestore = React.useCallback(() => {\n widget?.restoreTransientState();\n }, [widget]);\n useTransientState(onSave, onRestore);\n const providerId =\n widget?.initialConfig && isProviderItem(widget?.initialConfig)\n ? widget?.initialConfig.providerId\n : undefined;\n\n return (\n <PopoutThemeProvider>\n <ScrollableWidgetContent itemId={itemId} providerId={providerId}>\n <ErrorBoundary FallbackComponent={WidgetFallback}>\n {widget?.reactNode}\n </ErrorBoundary>\n </ScrollableWidgetContent>\n </PopoutThemeProvider>\n );\n}\n\n/** @internal */\nexport function useWidgetDef(): WidgetDef | undefined {\n const frontstage = useActiveFrontstageDef();\n const tabId = React.useContext(TabIdContext);\n assert(!!tabId);\n const [widgetDef, setWidgetDef] = React.useState(() =>\n frontstage?.findWidgetDef(tabId)\n );\n\n const [prevTabId, setPrevTabId] = React.useState(tabId);\n if (prevTabId !== tabId) {\n setPrevTabId(tabId);\n setWidgetDef(frontstage?.findWidgetDef(tabId));\n }\n\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n setWidgetDef(frontstage?.findWidgetDef(tabId));\n });\n }, [frontstage, tabId]);\n\n return widgetDef?.id === tabId ? widgetDef : undefined;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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"}
@@ -555,18 +555,13 @@ export function getFrontstageStateSettingName(frontstageId) {
555
555
  /** @internal */
556
556
  export function useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel) {
557
557
  const { translate } = useTranslation();
558
- const uiSettingsStorage = useUiStateStorageHandler();
559
558
  React.useEffect(() => {
560
559
  return InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener((args) => {
561
- // TODO: track restoring frontstages to support workflows: i.e. prevent loading frontstage OR saving layout when delete is pending
562
- void uiSettingsStorage.deleteSetting(FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName(args.frontstageDef.id));
563
- if (frontstageDef.id === args.frontstageDef.id) {
564
- initializeNineZoneState(frontstageDef);
560
+ if (frontstageDef.id !== args.frontstageDef.id)
565
561
  return;
566
- }
567
- args.frontstageDef.nineZoneState = undefined;
562
+ initializeNineZoneState(frontstageDef);
568
563
  });
569
- }, [uiSettingsStorage, frontstageDef]);
564
+ }, [frontstageDef]);
570
565
  const defaultLabel = translate("widget.labels.toolSettings");
571
566
  React.useEffect(() => {
572
567
  const updateLabel = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"Frontstage.js","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Frontstage\n */\n\nimport { ToolbarPopupAutoHideContext } from \"@itwin/components-react\";\nimport { assert, Logger, ProcessDetector } from \"@itwin/core-bentley\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { produce } from \"immer\";\nimport * as React from \"react\";\nimport { unstable_batchedUpdates } from \"react-dom\";\nimport type { FrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager.js\";\nimport { useEscapeSetFocusToHome } from \"../hooks/useEscapeSetFocusToHome.js\";\nimport { useUiVisibility } from \"../hooks/useUiVisibility.js\";\nimport { createLayoutStore } from \"../layout/base/LayoutStore.js\";\nimport type {\n NineZoneDispatch,\n NineZoneLabels,\n} from \"../layout/base/NineZone.js\";\nimport { getUniqueId, NineZone } from \"../layout/base/NineZone.js\";\nimport type { NineZoneState } from \"../layout/state/NineZoneState.js\";\nimport { createNineZoneState } from \"../layout/state/NineZoneState.js\";\nimport { NineZoneStateReducer } from \"../layout/state/NineZoneStateReducer.js\";\nimport { getWidgetPanelSectionId } from \"../layout/state/PanelState.js\";\nimport type { TabState } from \"../layout/state/TabState.js\";\nimport { FloatingWidgets } from \"../layout/widget/FloatingWidgets.js\";\nimport { PreviewHorizontalPanelAlignFeatureProvider } from \"../preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js\";\nimport { usePreviewFeatures } from \"../preview/PreviewFeatures.js\";\nimport { toPanelSide } from \"../stagepanels/StagePanelDef.js\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation.js\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection.js\";\nimport { StagePanelState } from \"../stagepanels/StagePanelState.js\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { useUiStateStorageHandler } from \"../uistate/useUiStateStorage.js\";\nimport type { WidgetDef } from \"../widgets/WidgetDef.js\";\nimport { WidgetState } from \"../widgets/WidgetState.js\";\nimport { WidgetContent } from \"./Content.js\";\nimport { FloatingWidget } from \"./FloatingWidget.js\";\nimport \"./Frontstage.scss\";\nimport { WidgetPanelsFrontstageContent } from \"./FrontstageContent.js\";\nimport {\n ModalFrontstageComposer,\n useActiveModalFrontstageInfo,\n} from \"./ModalFrontstageComposer.js\";\nimport { WidgetPanelsStatusBar } from \"./StatusBar.js\";\nimport { WidgetPanelsTab } from \"./Tab.js\";\nimport { WidgetPanelsToolbars } from \"./Toolbars.js\";\nimport {\n ToolSettingsContent,\n WidgetPanelsToolSettings,\n} from \"./ToolSettings.js\";\nimport { MaximizedWidgetProvider } from \"../preview/enable-maximized-widget/MaximizedWidget.js\";\nimport { StandardLayout } from \"../layout/StandardLayout.js\";\nimport { WidgetPanelProvider } from \"../layout/widget-panels/Panel.js\";\nimport { WidgetContentRenderers } from \"../layout/widget/ContentRenderer.js\";\nimport { useCursor } from \"../layout/widget-panels/CursorOverlay.js\";\nimport { WidgetPanelExpanders } from \"../layout/widget-panels/Expander.js\";\nimport { useTranslation } from \"../hooks/useTranslation.js\";\nimport { PopoutWidgets } from \"../preview/reparent-popout-widgets/PopoutWidgets.js\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState.js\";\nimport { ConfigurableUiContext } from \"../configurableui/ConfigurableUiContent.js\";\nimport { useSaveFrontstageSettings } from \"./useSaveFrontstageSettings.js\";\nimport type { UiStateStorageResult } from \"../uistate/UiStateStorage.js\";\nimport { UiStateStorageStatus } from \"../uistate/UiStateStorage.js\";\n\nfunction WidgetPanelsFrontstageComponent() {\n const activeModalFrontstageInfo = useActiveModalFrontstageInfo();\n const uiIsVisible = useUiVisibility();\n const previewFeatures = usePreviewFeatures();\n useCursor();\n\n return (\n <MaximizedWidgetProvider>\n <PreviewHorizontalPanelAlignFeatureProvider\n enabled={previewFeatures.horizontalPanelAlignment}\n >\n <ToolbarPopupAutoHideContext.Provider value={!uiIsVisible}>\n <ModalFrontstageComposer stageInfo={activeModalFrontstageInfo} />\n <StandardLayout\n centerContent={\n <>\n <WidgetPanelsToolbars />\n <WidgetPanelExpanders />\n </>\n }\n toolSettings={<WidgetPanelsToolSettings />}\n statusBar={<WidgetPanelsStatusBar />}\n topPanel={<WidgetPanelProvider side=\"top\" />}\n leftPanel={<WidgetPanelProvider side=\"left\" />}\n rightPanel={<WidgetPanelProvider side=\"right\" />}\n bottomPanel={<WidgetPanelProvider side=\"bottom\" />}\n >\n <WidgetPanelsFrontstageContent />\n </StandardLayout>\n <WidgetContentRenderers />\n <FloatingWidgets />\n <PopoutWidgets />\n </ToolbarPopupAutoHideContext.Provider>\n </PreviewHorizontalPanelAlignFeatureProvider>\n </MaximizedWidgetProvider>\n );\n}\n\nconst widgetContent = <WidgetContent />;\nconst toolSettingsContent = <ToolSettingsContent />;\nconst widgetPanelsFrontstage = <WidgetPanelsFrontstageComponent />;\n\n/** @internal */\nexport function useLayoutStore(frontstageDef: FrontstageDef | undefined) {\n const layoutStore = React.useMemo(\n () => createLayoutStore(frontstageDef?.nineZoneState),\n [frontstageDef]\n );\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(\n (args) => {\n if (args.frontstageDef !== frontstageDef) return;\n unstable_batchedUpdates(() => {\n // https://github.com/pmndrs/zustand/blob/main/docs/guides/event-handler-in-pre-react-18.md\n layoutStore.setState(args.state || defaultNineZone);\n });\n }\n );\n }, [frontstageDef, layoutStore]);\n return layoutStore;\n}\n\n/** Update in-memory NineZoneState of newly activated frontstage with up to date size.\n * @internal\n */\nexport function useUpdateNineZoneSize(frontstageDef: FrontstageDef) {\n React.useEffect(() => {\n const size = InternalFrontstageManager.nineZoneSize;\n if (!size) return;\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size: {\n height: size.height,\n width: size.width,\n },\n });\n }, [frontstageDef]);\n}\n\nconst log =\n (reducer: typeof NineZoneStateReducer): typeof NineZoneStateReducer =>\n (state, action) => {\n Logger.logTrace(\"appui-react:reducer\", `action ${action.type}`, () => ({\n action,\n state,\n }));\n return reducer(state, action);\n };\n\n/** @internal */\nexport function useNineZoneDispatch(frontstageDef: FrontstageDef) {\n const reducer = React.useMemo(() => {\n return log(NineZoneStateReducer);\n }, []);\n\n return React.useCallback<NineZoneDispatch>(\n (action) => {\n if (action.type === \"RESIZE\") {\n InternalFrontstageManager.nineZoneSize = {\n width: action.size.width,\n height: action.size.height,\n };\n }\n\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n frontstageDef.nineZoneState = reducer(state, action);\n },\n [frontstageDef, reducer]\n );\n}\n\n/** @internal */\nexport function WidgetPanelsFrontstage() {\n const frontstageDef = useActiveFrontstageDef();\n\n React.useEffect(() => {\n const triggerWidowCloseProcessing = () => {\n frontstageDef && frontstageDef.setIsApplicationClosing(true);\n };\n window.addEventListener(\"unload\", triggerWidowCloseProcessing);\n return () => {\n window.removeEventListener(\"unload\", triggerWidowCloseProcessing);\n };\n }, [frontstageDef]);\n\n if (!frontstageDef) return null;\n return <ActiveFrontstageDefProvider frontstageDef={frontstageDef} />;\n}\n\nconst defaultNineZone = createNineZoneState();\nconst tabElement = <WidgetPanelsTab />;\nconst floatingWidgetElement = <FloatingWidget />;\n\ninterface ActiveFrontstageDefProviderProps {\n frontstageDef: FrontstageDef;\n}\n\n/** @internal */\nexport function ActiveFrontstageDefProvider({\n frontstageDef,\n}: ActiveFrontstageDefProviderProps) {\n const configurableUi = React.useContext(ConfigurableUiContext);\n const dispatch = useNineZoneDispatch(frontstageDef);\n frontstageDef.dispatch = dispatch;\n const layout = useLayoutStore(frontstageDef);\n useUpdateNineZoneSize(frontstageDef);\n useSavedFrontstageState(frontstageDef);\n useSaveFrontstageSettings(frontstageDef, layout);\n useItemsManager(frontstageDef);\n const labels = useLabels();\n const uiIsVisible = useUiVisibility();\n const reduxToolAsToolSettingsLabel = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.useToolAsToolSettingsLabel\n );\n const reduxShowWidgetIcon = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.showWidgetIcon\n );\n const reduxAutoCollapseUnpinnedPanels = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.autoCollapseUnpinnedPanels\n );\n const reduxAnimateToolSettings = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.autoCollapseUnpinnedPanels\n );\n const showWidgetIcon =\n configurableUi.widgetIcon ?? reduxShowWidgetIcon ?? true;\n const autoCollapseUnpinnedPanels =\n configurableUi.collapsePanels ?? reduxAutoCollapseUnpinnedPanels ?? false;\n const animateToolSettings =\n configurableUi.animateToolSettings ?? reduxAnimateToolSettings ?? false;\n const useToolAsToolSettingsLabel =\n configurableUi.toolAsToolSettingsLabel ??\n reduxToolAsToolSettingsLabel ??\n false;\n\n useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel);\n\n const handleKeyDown = useEscapeSetFocusToHome();\n\n return (\n <div\n className=\"uifw-widgetPanels-frontstage\"\n onKeyDown={handleKeyDown}\n role=\"presentation\"\n >\n <NineZone\n dispatch={dispatch}\n labels={labels}\n layout={layout}\n tab={tabElement}\n floatingWidget={floatingWidgetElement}\n showWidgetIcon={showWidgetIcon}\n autoCollapseUnpinnedPanels={autoCollapseUnpinnedPanels}\n toolSettingsContent={toolSettingsContent}\n widgetContent={widgetContent}\n animateDockedToolSettings={animateToolSettings}\n uiIsVisible={uiIsVisible}\n >\n {widgetPanelsFrontstage}\n </NineZone>\n </div>\n );\n}\n\n/** @internal */\nexport function useLabels(): NineZoneLabels {\n const { translate } = useTranslation();\n\n return {\n dockToolSettingsTitle: translate(\"widget.tooltips.dockToolSettings\"),\n moreWidgetsTitle: translate(\"widget.tooltips.moreWidgets\"),\n moreToolSettingsTitle: translate(\"widget.tooltips.moreToolSettings\"),\n pinPanelTitle: translate(\"widget.tooltips.pinPanel\"),\n resizeGripTitle: translate(\"widget.tooltips.resizeGrip\"),\n sendWidgetHomeTitle: translate(\"widget.tooltips.sendHome\"),\n toolSettingsHandleTitle: translate(\"widget.tooltips.toolSettingsHandle\"),\n unpinPanelTitle: translate(\"widget.tooltips.unpinPanel\"),\n popoutActiveTab: translate(\"widget.tooltips.popoutActiveTab\"),\n };\n}\n\nfunction toTabArgs(widget: WidgetDef) {\n const label = getWidgetLabel(widget.label);\n const args = {\n allowedPanelTargets: widget.allowedPanelTargets?.map((location) =>\n toPanelSide(location)\n ),\n hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,\n canPopout: widget.canPopout,\n isFloatingWidgetResizable: widget.isFloatingStateWindowResizable,\n label,\n preferredFloatingWidgetSize: widget.defaultFloatingSize,\n preferredPanelWidgetSize: widget.preferredPanelSize,\n };\n return args satisfies Pick<TabState, keyof typeof args>;\n}\n\nfunction addWidgetDef(\n frontstageDef: FrontstageDef,\n widgetDef: WidgetDef,\n location: StagePanelLocation,\n section: StagePanelSection\n) {\n const side = toPanelSide(location);\n\n const isFloatingWidget =\n widgetDef.isFloatingStateSupported &&\n widgetDef.defaultState === WidgetState.Floating;\n const floatingWidgetId = widgetDef.floatingContainerId\n ? widgetDef.floatingContainerId\n : getUniqueId();\n const userSized = !!widgetDef.defaultFloatingSize;\n\n frontstageDef.dispatch({\n type: \"WIDGET_DEF_ADD\",\n id: widgetDef.id,\n overrides: {\n ...toTabArgs(widgetDef),\n userSized,\n },\n location: isFloatingWidget ? \"floating\" : \"panel\",\n floatingWidget: {\n id: floatingWidgetId,\n preferredPosition: widgetDef.defaultFloatingPosition,\n },\n panelSection: {\n id: getWidgetPanelSectionId(side, section),\n side,\n index: section,\n },\n });\n\n // Hide widget if `defaultState` is `Hidden` or `Unloaded`.\n hideWidgetDef(frontstageDef, widgetDef);\n}\n\n/** Adds missing widgets to the layout.\n * @internal\n */\nexport function addPanelSectionWidgetDefs(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation,\n section: StagePanelSection\n) {\n const panelDef = frontstageDef.getStagePanelDef(location);\n if (!panelDef) return;\n const sectionDef = panelDef.getPanelSectionDef(section);\n const widgetDefs = determineNewWidgets(frontstageDef, sectionDef.widgetDefs);\n for (const widgetDef of widgetDefs) {\n addWidgetDef(frontstageDef, widgetDef, location, section);\n }\n}\n\n/** Sends back popout widgets if app is not an electron app. */\nfunction processPopoutWidgets(frontstageDef: FrontstageDef) {\n if (ProcessDetector.isElectronAppFrontend) return;\n\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n for (const id of state.popoutWidgets.allIds) {\n frontstageDef.dispatch({\n type: \"POPOUT_WIDGET_SEND_BACK\",\n id,\n });\n }\n}\n\n/** Opens popout widgets if app is an electron app. */\nfunction openPopoutWidgets(frontstageDef: FrontstageDef) {\n // Only electron can reopen popout windows w/o user interaction.\n if (!ProcessDetector.isElectronAppFrontend) return;\n\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n for (const id of state.popoutWidgets.allIds) {\n frontstageDef.openPopoutWidgetContainer(id, undefined);\n }\n}\n\n/** Adds frontstageDef widgets that are missing in NineZoneState.\n * @internal\n */\nexport function addFrontstageWidgetDefs(frontstageDef: FrontstageDef) {\n [\n StagePanelLocation.Left,\n StagePanelLocation.Right,\n StagePanelLocation.Top,\n StagePanelLocation.Bottom,\n ].forEach((location) =>\n [StagePanelSection.Start, StagePanelSection.End].forEach((section) =>\n addPanelSectionWidgetDefs(frontstageDef, location, section)\n )\n );\n\n const toolSettingsWidgetDefs = determineNewWidgets(\n frontstageDef,\n frontstageDef.toolSettings ? [frontstageDef.toolSettings] : undefined\n );\n for (const toolSettingsWidgetDef of toolSettingsWidgetDefs) {\n frontstageDef.dispatch({\n type: \"WIDGET_DEF_ADD_TOOL_SETTINGS\",\n id: toolSettingsWidgetDef.id,\n overrides: toTabArgs(toolSettingsWidgetDef),\n });\n }\n}\n\n/** Hide widgets with `Hidden` or `Unloaded` defaultState. */\nfunction hideWidgetDefs(frontstageDef: FrontstageDef) {\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n const tabs = Object.values(state.tabs);\n for (const tab of tabs) {\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (!widgetDef) continue;\n\n hideWidgetDef(frontstageDef, widgetDef);\n }\n}\n\n/** Hide widget with `Hidden` or `Unloaded` defaultState. */\nfunction hideWidgetDef(frontstageDef: FrontstageDef, widgetDef: WidgetDef) {\n if (widgetDef.defaultState === WidgetState.Hidden) {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_HIDE\",\n id: widgetDef.id,\n });\n }\n\n if (widgetDef.defaultState === WidgetState.Unloaded) {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_UNLOAD\",\n id: widgetDef.id,\n });\n }\n}\n\n/** Removes NineZoneState widgets that are missing in frontstageDef.\n * @internal\n */\nfunction removeMissingWidgets(frontstageDef: FrontstageDef) {\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n const toolSettingsTabId = state.toolSettings?.tabId;\n for (const [, tab] of Object.entries(state.tabs)) {\n if (tab.id === toolSettingsTabId) continue;\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (widgetDef) continue;\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_REMOVE\",\n id: tab.id,\n });\n }\n}\n\nfunction getWidgetLabel(label: string) {\n return label === \"\" ? \"Widget\" : label;\n}\n\ntype PanelSectionId = `${Lowercase<\n keyof typeof StagePanelLocation\n>}${keyof typeof StagePanelSection}`;\n\n/** @internal */\nexport function getPanelSectionId(\n location: StagePanelLocation,\n section: StagePanelSection\n): PanelSectionId {\n return `${StagePanelLocation[location].toLowerCase()}${\n StagePanelSection[section]\n }` as PanelSectionId;\n}\n\n/** @internal */\nexport function getPanelSectionWidgets(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation,\n section: StagePanelSection\n): ReadonlyArray<WidgetDef> {\n const stagePanel = frontstageDef.getStagePanelDef(location);\n const panelSection = stagePanel?.getPanelSectionDef(section);\n return panelSection?.widgetDefs || [];\n}\n\n/** @internal */\nexport function isFrontstageStateSettingResult(\n settingsResult: UiStateStorageResult\n): settingsResult is {\n status: typeof UiStateStorageStatus.Success;\n setting: WidgetPanelsFrontstageState;\n} {\n if (settingsResult.status === UiStateStorageStatus.Success) return true;\n return false;\n}\n\n/** @internal */\nexport function initializePanel(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation\n) {\n const side = toPanelSide(location);\n\n const panelDef = frontstageDef.getStagePanelDef(location);\n if (!panelDef) return;\n\n // eslint-disable-next-line deprecation/deprecation\n const size = panelDef.initialConfig?.sizeSpec ?? panelDef.initialConfig?.size;\n size !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size,\n });\n\n frontstageDef.dispatch({\n type: \"PANEL_SET_PINNED\",\n side,\n pinned: panelDef.defaultPinned,\n });\n\n frontstageDef.dispatch({\n type: \"PANEL_SET_RESIZABLE\",\n side,\n resizable: panelDef.defaultResizable,\n });\n\n const minSize =\n panelDef.initialConfig?.minSizeSpec ?? panelDef.initialConfig?.minSize; // eslint-disable-line deprecation/deprecation\n minSize !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_MIN_SIZE\",\n side,\n minSize,\n });\n\n const maxSize =\n panelDef.initialConfig?.maxSizeSpec ?? panelDef.initialConfig?.maxSize; // eslint-disable-line deprecation/deprecation\n maxSize !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_MAX_SIZE\",\n side,\n maxSize,\n });\n\n const collapsed = panelDef.defaultState !== StagePanelState.Open;\n frontstageDef.dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n side,\n collapsed,\n });\n}\n\n/** @internal */\nexport const stateVersion = 20; // this needs to be bumped when NineZoneState is changed (to recreate the layout).\n\n/** @internal */\nexport function initializeNineZoneState(frontstageDef: FrontstageDef) {\n frontstageDef.batch(() => {\n frontstageDef.nineZoneState = defaultNineZone;\n\n const size = InternalFrontstageManager.nineZoneSize;\n size &&\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size,\n });\n\n addFrontstageWidgetDefs(frontstageDef);\n\n initializePanel(frontstageDef, StagePanelLocation.Left);\n initializePanel(frontstageDef, StagePanelLocation.Right);\n initializePanel(frontstageDef, StagePanelLocation.Top);\n initializePanel(frontstageDef, StagePanelLocation.Bottom);\n });\n}\n\n/** Converts from saved NineZoneState to NineZoneState.\n * @note Restores toolSettings tab.\n * @note Restores tab labels.\n * @internal\n */\nexport function restoreNineZoneState(\n frontstageDef: FrontstageDef,\n packed: NineZoneState\n) {\n frontstageDef.batch(() => {\n frontstageDef.nineZoneState = packed;\n\n for (const [, tab] of Object.entries(packed.tabs)) {\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (!widgetDef) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"restoreNineZoneState\"),\n \"WidgetDef is not found for saved tab.\",\n {\n frontstageId: frontstageDef.id,\n tabId: tab.id,\n }\n );\n frontstageDef.dispatch({ type: \"WIDGET_TAB_REMOVE\", id: tab.id });\n continue;\n }\n\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_UPDATE\",\n id: tab.id,\n overrides: toTabArgs(widgetDef),\n });\n }\n\n frontstageDef.nineZoneState = produce(\n frontstageDef.nineZoneState,\n (draft) => {\n // remove center panel section if one is found in left or right panels\n const oldLeftMiddleIndex = packed.panels.left.widgets.findIndex(\n (value) => value === \"leftMiddle\"\n );\n if (-1 !== oldLeftMiddleIndex) {\n draft.panels.left.widgets = packed.panels.left.widgets.filter(\n (value) => value !== \"leftMiddle\"\n );\n if (\"leftEnd\" in draft.widgets) {\n draft.widgets.leftMiddle.tabs.forEach((tab) =>\n draft.widgets.leftEnd.tabs.push(tab)\n );\n } else {\n draft.widgets.leftEnd = { ...draft.widgets.leftMiddle };\n delete draft.widgets.leftMiddle;\n }\n }\n\n const oldRightMiddleIndex = packed.panels.right.widgets.findIndex(\n (value) => value === \"rightMiddle\"\n );\n if (-1 !== oldRightMiddleIndex) {\n draft.panels.right.widgets = packed.panels.right.widgets.filter(\n (value) => value !== \"rightMiddle\"\n );\n if (\"rightEnd\" in draft.widgets) {\n draft.widgets.rightMiddle.tabs.forEach((tab) =>\n draft.widgets.rightEnd.tabs.push(tab)\n );\n } else {\n draft.widgets.rightEnd = { ...draft.widgets.rightMiddle };\n delete draft.widgets.rightMiddle;\n }\n }\n\n return;\n }\n );\n\n if (\n InternalFrontstageManager.nineZoneSize &&\n (0 !== InternalFrontstageManager.nineZoneSize.height ||\n 0 !== InternalFrontstageManager.nineZoneSize.width)\n ) {\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size: {\n height: InternalFrontstageManager.nineZoneSize.height,\n width: InternalFrontstageManager.nineZoneSize.width,\n },\n });\n }\n\n addFrontstageWidgetDefs(frontstageDef);\n hideWidgetDefs(frontstageDef);\n processPopoutWidgets(frontstageDef);\n });\n}\n\n/** Prepares NineZoneState to be saved.\n * @note Removes toolSettings tab.\n * @note Removes tab labels and iconSpec.\n * @internal\n */\nexport function packNineZoneState(state: NineZoneState): NineZoneState {\n let packed = state;\n packed = produce(packed, (draft) => {\n for (const [, tab] of Object.entries(draft.tabs)) {\n tab.label = \"\";\n }\n });\n return packed;\n}\n\n/** FrontstageState is saved in UiStateStorage.\n * @internal\n */\nexport interface WidgetPanelsFrontstageState {\n nineZone: NineZoneState;\n id: FrontstageDef[\"id\"];\n /** Frontstage version used to create the frontstage state. Allows to invalidate the layout from the frontstage. */\n version: number;\n /** Platform provided frontstage version. Allows to invalidate the layout from the platform. */\n stateVersion: number;\n}\n\n/** @internal */\nexport function useSavedFrontstageState(frontstageDef: FrontstageDef) {\n const uiStateStorage = useUiStateStorageHandler();\n const uiStateStorageRef = React.useRef(uiStateStorage);\n const isMountedRef = React.useRef(false);\n React.useEffect(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n React.useEffect(() => {\n uiStateStorageRef.current = uiStateStorage;\n }, [uiStateStorage]);\n React.useEffect(() => {\n async function fetchFrontstageState() {\n // Switching to previously initialized frontstage.\n if (frontstageDef.nineZoneState) {\n processPopoutWidgets(frontstageDef);\n openPopoutWidgets(frontstageDef);\n return;\n }\n\n const id = frontstageDef.id;\n const version = frontstageDef.version;\n const settingResult = await uiStateStorageRef.current.getSetting(\n FRONTSTAGE_SETTINGS_NAMESPACE,\n getFrontstageStateSettingName(id)\n );\n if (!isMountedRef.current) return;\n\n if (isFrontstageStateSettingResult(settingResult)) {\n const setting = settingResult.setting;\n if (\n setting.version === version &&\n setting.stateVersion === stateVersion\n ) {\n restoreNineZoneState(frontstageDef, setting.nineZone);\n return;\n }\n }\n initializeNineZoneState(frontstageDef);\n }\n void fetchFrontstageState();\n }, [frontstageDef]);\n}\n\n/** @internal */\nexport const FRONTSTAGE_SETTINGS_NAMESPACE = \"uifw-frontstageSettings\";\n\n/** @internal */\nexport function getFrontstageStateSettingName(\n frontstageId: WidgetPanelsFrontstageState[\"id\"]\n) {\n return `frontstageState[${frontstageId}]`;\n}\n\n/** @internal */\nexport function useFrontstageManager(\n frontstageDef: FrontstageDef,\n useToolAsToolSettingsLabel?: boolean\n) {\n const { translate } = useTranslation();\n const uiSettingsStorage = useUiStateStorageHandler();\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener(\n (args) => {\n // TODO: track restoring frontstages to support workflows: i.e. prevent loading frontstage OR saving layout when delete is pending\n void uiSettingsStorage.deleteSetting(\n FRONTSTAGE_SETTINGS_NAMESPACE,\n getFrontstageStateSettingName(args.frontstageDef.id)\n );\n if (frontstageDef.id === args.frontstageDef.id) {\n initializeNineZoneState(frontstageDef);\n return;\n }\n\n args.frontstageDef.nineZoneState = undefined;\n }\n );\n }, [uiSettingsStorage, frontstageDef]);\n\n const defaultLabel = translate(\"widget.labels.toolSettings\");\n\n React.useEffect(() => {\n const updateLabel = () => {\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n const toolSettingsTabId = state.toolSettings?.tabId;\n if (!toolSettingsTabId) return;\n\n const toolId = UiFramework.frontstages.activeToolId;\n const label = useToolAsToolSettingsLabel\n ? IModelApp.tools.find(toolId)?.flyover || defaultLabel\n : defaultLabel;\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_SET_LABEL\",\n id: toolSettingsTabId,\n label,\n });\n };\n // Whenever the frontstageDef or the useTool... changes, keep the label up to date.\n updateLabel();\n\n const removeListenerFuncs: (() => void)[] = [];\n // If useTool... is true, listen for events to keep up the label up to date.\n if (useToolAsToolSettingsLabel) {\n removeListenerFuncs.push(\n UiFramework.frontstages.onFrontstageReadyEvent.addListener(updateLabel),\n InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener(\n updateLabel\n ),\n UiFramework.frontstages.onToolActivatedEvent.addListener(updateLabel),\n UiFramework.frontstages.onToolSettingsReloadEvent.addListener(\n updateLabel\n )\n );\n }\n return () => {\n removeListenerFuncs.forEach((removeListener) => removeListener());\n };\n }, [frontstageDef, useToolAsToolSettingsLabel, defaultLabel]);\n}\n\nfunction refreshNineZoneState(frontstageDef: FrontstageDef) {\n // Fired for both registered/unregistered. Update definitions and remove/add missing widgets.\n frontstageDef.updateWidgetDefs();\n frontstageDef.batch(() => {\n addFrontstageWidgetDefs(frontstageDef);\n removeMissingWidgets(frontstageDef);\n });\n}\n\n/** @internal */\nexport function useItemsManager(frontstageDef: FrontstageDef) {\n React.useEffect(() => {\n // Not initialized yet.\n if (!frontstageDef.nineZoneState) return;\n\n // Need to refresh because UiItemsProvider may have added something while another frontstage was active.\n refreshNineZoneState(frontstageDef);\n }, [frontstageDef]);\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n refreshNineZoneState(frontstageDef);\n });\n }, [frontstageDef]);\n}\n\nfunction determineNewWidgets(\n frontstageDef: FrontstageDef,\n defs: readonly WidgetDef[] | undefined\n) {\n const state = frontstageDef.nineZoneState;\n assert(!!state);\n defs = defs || [];\n const uniqueDefs = defs.filter((def, index, array) => {\n return index === array.findIndex((def1) => def.id === def1.id);\n });\n return uniqueDefs.filter((def) => !(def.id in state.tabs));\n}\n"]}
1
+ {"version":3,"file":"Frontstage.js","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Frontstage\n */\n\nimport { ToolbarPopupAutoHideContext } from \"@itwin/components-react\";\nimport { assert, Logger, ProcessDetector } from \"@itwin/core-bentley\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { produce } from \"immer\";\nimport * as React from \"react\";\nimport { unstable_batchedUpdates } from \"react-dom\";\nimport type { FrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager.js\";\nimport { useEscapeSetFocusToHome } from \"../hooks/useEscapeSetFocusToHome.js\";\nimport { useUiVisibility } from \"../hooks/useUiVisibility.js\";\nimport { createLayoutStore } from \"../layout/base/LayoutStore.js\";\nimport type {\n NineZoneDispatch,\n NineZoneLabels,\n} from \"../layout/base/NineZone.js\";\nimport { getUniqueId, NineZone } from \"../layout/base/NineZone.js\";\nimport type { NineZoneState } from \"../layout/state/NineZoneState.js\";\nimport { createNineZoneState } from \"../layout/state/NineZoneState.js\";\nimport { NineZoneStateReducer } from \"../layout/state/NineZoneStateReducer.js\";\nimport { getWidgetPanelSectionId } from \"../layout/state/PanelState.js\";\nimport type { TabState } from \"../layout/state/TabState.js\";\nimport { FloatingWidgets } from \"../layout/widget/FloatingWidgets.js\";\nimport { PreviewHorizontalPanelAlignFeatureProvider } from \"../preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js\";\nimport { usePreviewFeatures } from \"../preview/PreviewFeatures.js\";\nimport { toPanelSide } from \"../stagepanels/StagePanelDef.js\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation.js\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection.js\";\nimport { StagePanelState } from \"../stagepanels/StagePanelState.js\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { useUiStateStorageHandler } from \"../uistate/useUiStateStorage.js\";\nimport type { WidgetDef } from \"../widgets/WidgetDef.js\";\nimport { WidgetState } from \"../widgets/WidgetState.js\";\nimport { WidgetContent } from \"./Content.js\";\nimport { FloatingWidget } from \"./FloatingWidget.js\";\nimport \"./Frontstage.scss\";\nimport { WidgetPanelsFrontstageContent } from \"./FrontstageContent.js\";\nimport {\n ModalFrontstageComposer,\n useActiveModalFrontstageInfo,\n} from \"./ModalFrontstageComposer.js\";\nimport { WidgetPanelsStatusBar } from \"./StatusBar.js\";\nimport { WidgetPanelsTab } from \"./Tab.js\";\nimport { WidgetPanelsToolbars } from \"./Toolbars.js\";\nimport {\n ToolSettingsContent,\n WidgetPanelsToolSettings,\n} from \"./ToolSettings.js\";\nimport { MaximizedWidgetProvider } from \"../preview/enable-maximized-widget/MaximizedWidget.js\";\nimport { StandardLayout } from \"../layout/StandardLayout.js\";\nimport { WidgetPanelProvider } from \"../layout/widget-panels/Panel.js\";\nimport { WidgetContentRenderers } from \"../layout/widget/ContentRenderer.js\";\nimport { useCursor } from \"../layout/widget-panels/CursorOverlay.js\";\nimport { WidgetPanelExpanders } from \"../layout/widget-panels/Expander.js\";\nimport { useTranslation } from \"../hooks/useTranslation.js\";\nimport { PopoutWidgets } from \"../preview/reparent-popout-widgets/PopoutWidgets.js\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState.js\";\nimport { ConfigurableUiContext } from \"../configurableui/ConfigurableUiContent.js\";\nimport { useSaveFrontstageSettings } from \"./useSaveFrontstageSettings.js\";\nimport type { UiStateStorageResult } from \"../uistate/UiStateStorage.js\";\nimport { UiStateStorageStatus } from \"../uistate/UiStateStorage.js\";\n\nfunction WidgetPanelsFrontstageComponent() {\n const activeModalFrontstageInfo = useActiveModalFrontstageInfo();\n const uiIsVisible = useUiVisibility();\n const previewFeatures = usePreviewFeatures();\n useCursor();\n\n return (\n <MaximizedWidgetProvider>\n <PreviewHorizontalPanelAlignFeatureProvider\n enabled={previewFeatures.horizontalPanelAlignment}\n >\n <ToolbarPopupAutoHideContext.Provider value={!uiIsVisible}>\n <ModalFrontstageComposer stageInfo={activeModalFrontstageInfo} />\n <StandardLayout\n centerContent={\n <>\n <WidgetPanelsToolbars />\n <WidgetPanelExpanders />\n </>\n }\n toolSettings={<WidgetPanelsToolSettings />}\n statusBar={<WidgetPanelsStatusBar />}\n topPanel={<WidgetPanelProvider side=\"top\" />}\n leftPanel={<WidgetPanelProvider side=\"left\" />}\n rightPanel={<WidgetPanelProvider side=\"right\" />}\n bottomPanel={<WidgetPanelProvider side=\"bottom\" />}\n >\n <WidgetPanelsFrontstageContent />\n </StandardLayout>\n <WidgetContentRenderers />\n <FloatingWidgets />\n <PopoutWidgets />\n </ToolbarPopupAutoHideContext.Provider>\n </PreviewHorizontalPanelAlignFeatureProvider>\n </MaximizedWidgetProvider>\n );\n}\n\nconst widgetContent = <WidgetContent />;\nconst toolSettingsContent = <ToolSettingsContent />;\nconst widgetPanelsFrontstage = <WidgetPanelsFrontstageComponent />;\n\n/** @internal */\nexport function useLayoutStore(frontstageDef: FrontstageDef | undefined) {\n const layoutStore = React.useMemo(\n () => createLayoutStore(frontstageDef?.nineZoneState),\n [frontstageDef]\n );\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(\n (args) => {\n if (args.frontstageDef !== frontstageDef) return;\n unstable_batchedUpdates(() => {\n // https://github.com/pmndrs/zustand/blob/main/docs/guides/event-handler-in-pre-react-18.md\n layoutStore.setState(args.state || defaultNineZone);\n });\n }\n );\n }, [frontstageDef, layoutStore]);\n return layoutStore;\n}\n\n/** Update in-memory NineZoneState of newly activated frontstage with up to date size.\n * @internal\n */\nexport function useUpdateNineZoneSize(frontstageDef: FrontstageDef) {\n React.useEffect(() => {\n const size = InternalFrontstageManager.nineZoneSize;\n if (!size) return;\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size: {\n height: size.height,\n width: size.width,\n },\n });\n }, [frontstageDef]);\n}\n\nconst log =\n (reducer: typeof NineZoneStateReducer): typeof NineZoneStateReducer =>\n (state, action) => {\n Logger.logTrace(\"appui-react:reducer\", `action ${action.type}`, () => ({\n action,\n state,\n }));\n return reducer(state, action);\n };\n\n/** @internal */\nexport function useNineZoneDispatch(frontstageDef: FrontstageDef) {\n const reducer = React.useMemo(() => {\n return log(NineZoneStateReducer);\n }, []);\n\n return React.useCallback<NineZoneDispatch>(\n (action) => {\n if (action.type === \"RESIZE\") {\n InternalFrontstageManager.nineZoneSize = {\n width: action.size.width,\n height: action.size.height,\n };\n }\n\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n frontstageDef.nineZoneState = reducer(state, action);\n },\n [frontstageDef, reducer]\n );\n}\n\n/** @internal */\nexport function WidgetPanelsFrontstage() {\n const frontstageDef = useActiveFrontstageDef();\n\n React.useEffect(() => {\n const triggerWidowCloseProcessing = () => {\n frontstageDef && frontstageDef.setIsApplicationClosing(true);\n };\n window.addEventListener(\"unload\", triggerWidowCloseProcessing);\n return () => {\n window.removeEventListener(\"unload\", triggerWidowCloseProcessing);\n };\n }, [frontstageDef]);\n\n if (!frontstageDef) return null;\n return <ActiveFrontstageDefProvider frontstageDef={frontstageDef} />;\n}\n\nconst defaultNineZone = createNineZoneState();\nconst tabElement = <WidgetPanelsTab />;\nconst floatingWidgetElement = <FloatingWidget />;\n\ninterface ActiveFrontstageDefProviderProps {\n frontstageDef: FrontstageDef;\n}\n\n/** @internal */\nexport function ActiveFrontstageDefProvider({\n frontstageDef,\n}: ActiveFrontstageDefProviderProps) {\n const configurableUi = React.useContext(ConfigurableUiContext);\n const dispatch = useNineZoneDispatch(frontstageDef);\n frontstageDef.dispatch = dispatch;\n const layout = useLayoutStore(frontstageDef);\n useUpdateNineZoneSize(frontstageDef);\n useSavedFrontstageState(frontstageDef);\n useSaveFrontstageSettings(frontstageDef, layout);\n useItemsManager(frontstageDef);\n const labels = useLabels();\n const uiIsVisible = useUiVisibility();\n const reduxToolAsToolSettingsLabel = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.useToolAsToolSettingsLabel\n );\n const reduxShowWidgetIcon = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.showWidgetIcon\n );\n const reduxAutoCollapseUnpinnedPanels = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.autoCollapseUnpinnedPanels\n );\n const reduxAnimateToolSettings = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.autoCollapseUnpinnedPanels\n );\n const showWidgetIcon =\n configurableUi.widgetIcon ?? reduxShowWidgetIcon ?? true;\n const autoCollapseUnpinnedPanels =\n configurableUi.collapsePanels ?? reduxAutoCollapseUnpinnedPanels ?? false;\n const animateToolSettings =\n configurableUi.animateToolSettings ?? reduxAnimateToolSettings ?? false;\n const useToolAsToolSettingsLabel =\n configurableUi.toolAsToolSettingsLabel ??\n reduxToolAsToolSettingsLabel ??\n false;\n\n useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel);\n\n const handleKeyDown = useEscapeSetFocusToHome();\n\n return (\n <div\n className=\"uifw-widgetPanels-frontstage\"\n onKeyDown={handleKeyDown}\n role=\"presentation\"\n >\n <NineZone\n dispatch={dispatch}\n labels={labels}\n layout={layout}\n tab={tabElement}\n floatingWidget={floatingWidgetElement}\n showWidgetIcon={showWidgetIcon}\n autoCollapseUnpinnedPanels={autoCollapseUnpinnedPanels}\n toolSettingsContent={toolSettingsContent}\n widgetContent={widgetContent}\n animateDockedToolSettings={animateToolSettings}\n uiIsVisible={uiIsVisible}\n >\n {widgetPanelsFrontstage}\n </NineZone>\n </div>\n );\n}\n\n/** @internal */\nexport function useLabels(): NineZoneLabels {\n const { translate } = useTranslation();\n\n return {\n dockToolSettingsTitle: translate(\"widget.tooltips.dockToolSettings\"),\n moreWidgetsTitle: translate(\"widget.tooltips.moreWidgets\"),\n moreToolSettingsTitle: translate(\"widget.tooltips.moreToolSettings\"),\n pinPanelTitle: translate(\"widget.tooltips.pinPanel\"),\n resizeGripTitle: translate(\"widget.tooltips.resizeGrip\"),\n sendWidgetHomeTitle: translate(\"widget.tooltips.sendHome\"),\n toolSettingsHandleTitle: translate(\"widget.tooltips.toolSettingsHandle\"),\n unpinPanelTitle: translate(\"widget.tooltips.unpinPanel\"),\n popoutActiveTab: translate(\"widget.tooltips.popoutActiveTab\"),\n };\n}\n\nfunction toTabArgs(widget: WidgetDef) {\n const label = getWidgetLabel(widget.label);\n const args = {\n allowedPanelTargets: widget.allowedPanelTargets?.map((location) =>\n toPanelSide(location)\n ),\n hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,\n canPopout: widget.canPopout,\n isFloatingWidgetResizable: widget.isFloatingStateWindowResizable,\n label,\n preferredFloatingWidgetSize: widget.defaultFloatingSize,\n preferredPanelWidgetSize: widget.preferredPanelSize,\n };\n return args satisfies Pick<TabState, keyof typeof args>;\n}\n\nfunction addWidgetDef(\n frontstageDef: FrontstageDef,\n widgetDef: WidgetDef,\n location: StagePanelLocation,\n section: StagePanelSection\n) {\n const side = toPanelSide(location);\n\n const isFloatingWidget =\n widgetDef.isFloatingStateSupported &&\n widgetDef.defaultState === WidgetState.Floating;\n const floatingWidgetId = widgetDef.floatingContainerId\n ? widgetDef.floatingContainerId\n : getUniqueId();\n const userSized = !!widgetDef.defaultFloatingSize;\n\n frontstageDef.dispatch({\n type: \"WIDGET_DEF_ADD\",\n id: widgetDef.id,\n overrides: {\n ...toTabArgs(widgetDef),\n userSized,\n },\n location: isFloatingWidget ? \"floating\" : \"panel\",\n floatingWidget: {\n id: floatingWidgetId,\n preferredPosition: widgetDef.defaultFloatingPosition,\n },\n panelSection: {\n id: getWidgetPanelSectionId(side, section),\n side,\n index: section,\n },\n });\n\n // Hide widget if `defaultState` is `Hidden` or `Unloaded`.\n hideWidgetDef(frontstageDef, widgetDef);\n}\n\n/** Adds missing widgets to the layout.\n * @internal\n */\nexport function addPanelSectionWidgetDefs(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation,\n section: StagePanelSection\n) {\n const panelDef = frontstageDef.getStagePanelDef(location);\n if (!panelDef) return;\n const sectionDef = panelDef.getPanelSectionDef(section);\n const widgetDefs = determineNewWidgets(frontstageDef, sectionDef.widgetDefs);\n for (const widgetDef of widgetDefs) {\n addWidgetDef(frontstageDef, widgetDef, location, section);\n }\n}\n\n/** Sends back popout widgets if app is not an electron app. */\nfunction processPopoutWidgets(frontstageDef: FrontstageDef) {\n if (ProcessDetector.isElectronAppFrontend) return;\n\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n for (const id of state.popoutWidgets.allIds) {\n frontstageDef.dispatch({\n type: \"POPOUT_WIDGET_SEND_BACK\",\n id,\n });\n }\n}\n\n/** Opens popout widgets if app is an electron app. */\nfunction openPopoutWidgets(frontstageDef: FrontstageDef) {\n // Only electron can reopen popout windows w/o user interaction.\n if (!ProcessDetector.isElectronAppFrontend) return;\n\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n for (const id of state.popoutWidgets.allIds) {\n frontstageDef.openPopoutWidgetContainer(id, undefined);\n }\n}\n\n/** Adds frontstageDef widgets that are missing in NineZoneState.\n * @internal\n */\nexport function addFrontstageWidgetDefs(frontstageDef: FrontstageDef) {\n [\n StagePanelLocation.Left,\n StagePanelLocation.Right,\n StagePanelLocation.Top,\n StagePanelLocation.Bottom,\n ].forEach((location) =>\n [StagePanelSection.Start, StagePanelSection.End].forEach((section) =>\n addPanelSectionWidgetDefs(frontstageDef, location, section)\n )\n );\n\n const toolSettingsWidgetDefs = determineNewWidgets(\n frontstageDef,\n frontstageDef.toolSettings ? [frontstageDef.toolSettings] : undefined\n );\n for (const toolSettingsWidgetDef of toolSettingsWidgetDefs) {\n frontstageDef.dispatch({\n type: \"WIDGET_DEF_ADD_TOOL_SETTINGS\",\n id: toolSettingsWidgetDef.id,\n overrides: toTabArgs(toolSettingsWidgetDef),\n });\n }\n}\n\n/** Hide widgets with `Hidden` or `Unloaded` defaultState. */\nfunction hideWidgetDefs(frontstageDef: FrontstageDef) {\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n const tabs = Object.values(state.tabs);\n for (const tab of tabs) {\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (!widgetDef) continue;\n\n hideWidgetDef(frontstageDef, widgetDef);\n }\n}\n\n/** Hide widget with `Hidden` or `Unloaded` defaultState. */\nfunction hideWidgetDef(frontstageDef: FrontstageDef, widgetDef: WidgetDef) {\n if (widgetDef.defaultState === WidgetState.Hidden) {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_HIDE\",\n id: widgetDef.id,\n });\n }\n\n if (widgetDef.defaultState === WidgetState.Unloaded) {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_UNLOAD\",\n id: widgetDef.id,\n });\n }\n}\n\n/** Removes NineZoneState widgets that are missing in frontstageDef.\n * @internal\n */\nfunction removeMissingWidgets(frontstageDef: FrontstageDef) {\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n const toolSettingsTabId = state.toolSettings?.tabId;\n for (const [, tab] of Object.entries(state.tabs)) {\n if (tab.id === toolSettingsTabId) continue;\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (widgetDef) continue;\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_REMOVE\",\n id: tab.id,\n });\n }\n}\n\nfunction getWidgetLabel(label: string) {\n return label === \"\" ? \"Widget\" : label;\n}\n\ntype PanelSectionId = `${Lowercase<\n keyof typeof StagePanelLocation\n>}${keyof typeof StagePanelSection}`;\n\n/** @internal */\nexport function getPanelSectionId(\n location: StagePanelLocation,\n section: StagePanelSection\n): PanelSectionId {\n return `${StagePanelLocation[location].toLowerCase()}${\n StagePanelSection[section]\n }` as PanelSectionId;\n}\n\n/** @internal */\nexport function getPanelSectionWidgets(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation,\n section: StagePanelSection\n): ReadonlyArray<WidgetDef> {\n const stagePanel = frontstageDef.getStagePanelDef(location);\n const panelSection = stagePanel?.getPanelSectionDef(section);\n return panelSection?.widgetDefs || [];\n}\n\n/** @internal */\nexport function isFrontstageStateSettingResult(\n settingsResult: UiStateStorageResult\n): settingsResult is {\n status: typeof UiStateStorageStatus.Success;\n setting: WidgetPanelsFrontstageState;\n} {\n if (settingsResult.status === UiStateStorageStatus.Success) return true;\n return false;\n}\n\n/** @internal */\nexport function initializePanel(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation\n) {\n const side = toPanelSide(location);\n\n const panelDef = frontstageDef.getStagePanelDef(location);\n if (!panelDef) return;\n\n // eslint-disable-next-line deprecation/deprecation\n const size = panelDef.initialConfig?.sizeSpec ?? panelDef.initialConfig?.size;\n size !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size,\n });\n\n frontstageDef.dispatch({\n type: \"PANEL_SET_PINNED\",\n side,\n pinned: panelDef.defaultPinned,\n });\n\n frontstageDef.dispatch({\n type: \"PANEL_SET_RESIZABLE\",\n side,\n resizable: panelDef.defaultResizable,\n });\n\n const minSize =\n panelDef.initialConfig?.minSizeSpec ?? panelDef.initialConfig?.minSize; // eslint-disable-line deprecation/deprecation\n minSize !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_MIN_SIZE\",\n side,\n minSize,\n });\n\n const maxSize =\n panelDef.initialConfig?.maxSizeSpec ?? panelDef.initialConfig?.maxSize; // eslint-disable-line deprecation/deprecation\n maxSize !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_MAX_SIZE\",\n side,\n maxSize,\n });\n\n const collapsed = panelDef.defaultState !== StagePanelState.Open;\n frontstageDef.dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n side,\n collapsed,\n });\n}\n\n/** @internal */\nexport const stateVersion = 20; // this needs to be bumped when NineZoneState is changed (to recreate the layout).\n\n/** @internal */\nexport function initializeNineZoneState(frontstageDef: FrontstageDef) {\n frontstageDef.batch(() => {\n frontstageDef.nineZoneState = defaultNineZone;\n\n const size = InternalFrontstageManager.nineZoneSize;\n size &&\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size,\n });\n\n addFrontstageWidgetDefs(frontstageDef);\n\n initializePanel(frontstageDef, StagePanelLocation.Left);\n initializePanel(frontstageDef, StagePanelLocation.Right);\n initializePanel(frontstageDef, StagePanelLocation.Top);\n initializePanel(frontstageDef, StagePanelLocation.Bottom);\n });\n}\n\n/** Converts from saved NineZoneState to NineZoneState.\n * @note Restores toolSettings tab.\n * @note Restores tab labels.\n * @internal\n */\nexport function restoreNineZoneState(\n frontstageDef: FrontstageDef,\n packed: NineZoneState\n) {\n frontstageDef.batch(() => {\n frontstageDef.nineZoneState = packed;\n\n for (const [, tab] of Object.entries(packed.tabs)) {\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (!widgetDef) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"restoreNineZoneState\"),\n \"WidgetDef is not found for saved tab.\",\n {\n frontstageId: frontstageDef.id,\n tabId: tab.id,\n }\n );\n frontstageDef.dispatch({ type: \"WIDGET_TAB_REMOVE\", id: tab.id });\n continue;\n }\n\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_UPDATE\",\n id: tab.id,\n overrides: toTabArgs(widgetDef),\n });\n }\n\n frontstageDef.nineZoneState = produce(\n frontstageDef.nineZoneState,\n (draft) => {\n // remove center panel section if one is found in left or right panels\n const oldLeftMiddleIndex = packed.panels.left.widgets.findIndex(\n (value) => value === \"leftMiddle\"\n );\n if (-1 !== oldLeftMiddleIndex) {\n draft.panels.left.widgets = packed.panels.left.widgets.filter(\n (value) => value !== \"leftMiddle\"\n );\n if (\"leftEnd\" in draft.widgets) {\n draft.widgets.leftMiddle.tabs.forEach((tab) =>\n draft.widgets.leftEnd.tabs.push(tab)\n );\n } else {\n draft.widgets.leftEnd = { ...draft.widgets.leftMiddle };\n delete draft.widgets.leftMiddle;\n }\n }\n\n const oldRightMiddleIndex = packed.panels.right.widgets.findIndex(\n (value) => value === \"rightMiddle\"\n );\n if (-1 !== oldRightMiddleIndex) {\n draft.panels.right.widgets = packed.panels.right.widgets.filter(\n (value) => value !== \"rightMiddle\"\n );\n if (\"rightEnd\" in draft.widgets) {\n draft.widgets.rightMiddle.tabs.forEach((tab) =>\n draft.widgets.rightEnd.tabs.push(tab)\n );\n } else {\n draft.widgets.rightEnd = { ...draft.widgets.rightMiddle };\n delete draft.widgets.rightMiddle;\n }\n }\n\n return;\n }\n );\n\n if (\n InternalFrontstageManager.nineZoneSize &&\n (0 !== InternalFrontstageManager.nineZoneSize.height ||\n 0 !== InternalFrontstageManager.nineZoneSize.width)\n ) {\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size: {\n height: InternalFrontstageManager.nineZoneSize.height,\n width: InternalFrontstageManager.nineZoneSize.width,\n },\n });\n }\n\n addFrontstageWidgetDefs(frontstageDef);\n hideWidgetDefs(frontstageDef);\n processPopoutWidgets(frontstageDef);\n });\n}\n\n/** Prepares NineZoneState to be saved.\n * @note Removes toolSettings tab.\n * @note Removes tab labels and iconSpec.\n * @internal\n */\nexport function packNineZoneState(state: NineZoneState): NineZoneState {\n let packed = state;\n packed = produce(packed, (draft) => {\n for (const [, tab] of Object.entries(draft.tabs)) {\n tab.label = \"\";\n }\n });\n return packed;\n}\n\n/** FrontstageState is saved in UiStateStorage.\n * @internal\n */\nexport interface WidgetPanelsFrontstageState {\n nineZone: NineZoneState;\n id: FrontstageDef[\"id\"];\n /** Frontstage version used to create the frontstage state. Allows to invalidate the layout from the frontstage. */\n version: number;\n /** Platform provided frontstage version. Allows to invalidate the layout from the platform. */\n stateVersion: number;\n}\n\n/** @internal */\nexport function useSavedFrontstageState(frontstageDef: FrontstageDef) {\n const uiStateStorage = useUiStateStorageHandler();\n const uiStateStorageRef = React.useRef(uiStateStorage);\n const isMountedRef = React.useRef(false);\n React.useEffect(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n React.useEffect(() => {\n uiStateStorageRef.current = uiStateStorage;\n }, [uiStateStorage]);\n React.useEffect(() => {\n async function fetchFrontstageState() {\n // Switching to previously initialized frontstage.\n if (frontstageDef.nineZoneState) {\n processPopoutWidgets(frontstageDef);\n openPopoutWidgets(frontstageDef);\n return;\n }\n\n const id = frontstageDef.id;\n const version = frontstageDef.version;\n const settingResult = await uiStateStorageRef.current.getSetting(\n FRONTSTAGE_SETTINGS_NAMESPACE,\n getFrontstageStateSettingName(id)\n );\n if (!isMountedRef.current) return;\n\n if (isFrontstageStateSettingResult(settingResult)) {\n const setting = settingResult.setting;\n if (\n setting.version === version &&\n setting.stateVersion === stateVersion\n ) {\n restoreNineZoneState(frontstageDef, setting.nineZone);\n return;\n }\n }\n initializeNineZoneState(frontstageDef);\n }\n void fetchFrontstageState();\n }, [frontstageDef]);\n}\n\n/** @internal */\nexport const FRONTSTAGE_SETTINGS_NAMESPACE = \"uifw-frontstageSettings\";\n\n/** @internal */\nexport function getFrontstageStateSettingName(\n frontstageId: WidgetPanelsFrontstageState[\"id\"]\n) {\n return `frontstageState[${frontstageId}]`;\n}\n\n/** @internal */\nexport function useFrontstageManager(\n frontstageDef: FrontstageDef,\n useToolAsToolSettingsLabel?: boolean\n) {\n const { translate } = useTranslation();\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener(\n (args) => {\n if (frontstageDef.id !== args.frontstageDef.id) return;\n initializeNineZoneState(frontstageDef);\n }\n );\n }, [frontstageDef]);\n\n const defaultLabel = translate(\"widget.labels.toolSettings\");\n\n React.useEffect(() => {\n const updateLabel = () => {\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n const toolSettingsTabId = state.toolSettings?.tabId;\n if (!toolSettingsTabId) return;\n\n const toolId = UiFramework.frontstages.activeToolId;\n const label = useToolAsToolSettingsLabel\n ? IModelApp.tools.find(toolId)?.flyover || defaultLabel\n : defaultLabel;\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_SET_LABEL\",\n id: toolSettingsTabId,\n label,\n });\n };\n // Whenever the frontstageDef or the useTool... changes, keep the label up to date.\n updateLabel();\n\n const removeListenerFuncs: (() => void)[] = [];\n // If useTool... is true, listen for events to keep up the label up to date.\n if (useToolAsToolSettingsLabel) {\n removeListenerFuncs.push(\n UiFramework.frontstages.onFrontstageReadyEvent.addListener(updateLabel),\n InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener(\n updateLabel\n ),\n UiFramework.frontstages.onToolActivatedEvent.addListener(updateLabel),\n UiFramework.frontstages.onToolSettingsReloadEvent.addListener(\n updateLabel\n )\n );\n }\n return () => {\n removeListenerFuncs.forEach((removeListener) => removeListener());\n };\n }, [frontstageDef, useToolAsToolSettingsLabel, defaultLabel]);\n}\n\nfunction refreshNineZoneState(frontstageDef: FrontstageDef) {\n // Fired for both registered/unregistered. Update definitions and remove/add missing widgets.\n frontstageDef.updateWidgetDefs();\n frontstageDef.batch(() => {\n addFrontstageWidgetDefs(frontstageDef);\n removeMissingWidgets(frontstageDef);\n });\n}\n\n/** @internal */\nexport function useItemsManager(frontstageDef: FrontstageDef) {\n React.useEffect(() => {\n // Not initialized yet.\n if (!frontstageDef.nineZoneState) return;\n\n // Need to refresh because UiItemsProvider may have added something while another frontstage was active.\n refreshNineZoneState(frontstageDef);\n }, [frontstageDef]);\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n refreshNineZoneState(frontstageDef);\n });\n }, [frontstageDef]);\n}\n\nfunction determineNewWidgets(\n frontstageDef: FrontstageDef,\n defs: readonly WidgetDef[] | undefined\n) {\n const state = frontstageDef.nineZoneState;\n assert(!!state);\n defs = defs || [];\n const uniqueDefs = defs.filter((def, index, array) => {\n return index === array.findIndex((def1) => def.id === def1.id);\n });\n return uniqueDefs.filter((def) => !(def.id in state.tabs));\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ModalFrontstageComposer.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAIhF,gBAAgB;AAChB,wBAAgB,4BAA4B,oCAe3C;AAED,gBAAgB;AAChB,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,GACV,EAAE;IACD,SAAS,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC5C,4BAmBA"}
1
+ {"version":3,"file":"ModalFrontstageComposer.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAIhF,gBAAgB;AAChB,wBAAgB,4BAA4B,oCAe3C;AAED,gBAAgB;AAChB,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,GACV,EAAE;IACD,SAAS,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC5C,4BAoBA"}
@@ -25,7 +25,7 @@ export function ModalFrontstageComposer({ stageInfo, }) {
25
25
  const handleCloseModal = React.useCallback(() => UiFramework.frontstages.closeModalFrontstage(), []);
26
26
  if (!stageInfo)
27
27
  return null;
28
- const { title, content, appBarRight } = stageInfo;
29
- return (React.createElement(ModalFrontstage, { isOpen: true, title: title, closeModal: handleCloseModal, appBarRight: appBarRight }, content));
28
+ const { title, content, appBarRight, backButton } = stageInfo;
29
+ return (React.createElement(ModalFrontstage, { isOpen: true, title: title, closeModal: handleCloseModal, appBarRight: appBarRight, backButton: backButton }, content));
30
30
  }
31
31
  //# sourceMappingURL=ModalFrontstageComposer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalFrontstageComposer.js","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,gBAAgB;AAChB,MAAM,UAAU,4BAA4B;IAC1C,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAC7D,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAChE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC,WAAW,CACtE,CAAC,IAAI,EAAE,EAAE;YACP,4BAA4B,CAC1B,IAAI,CAAC,oBAAoB,KAAK,CAAC;gBAC7B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAClD,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACnC,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,uBAAuB,CAAC,EACtC,SAAS,GAGV;IACC,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CACxC,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,oBAAoB,EAAE,EACpD,EAAE,CACH,CAAC;IACF,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IAElD,OAAO,CACL,oBAAC,eAAe,IACd,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,WAAW,IAEvB,OAAO,CACQ,CACnB,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Frontstage\n */\nimport * as React from \"react\";\nimport type { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages.js\";\nimport { ModalFrontstage } from \"../frontstage/ModalFrontstage.js\";\nimport { UiFramework } from \"../UiFramework.js\";\n\n/** @internal */\nexport function useActiveModalFrontstageInfo() {\n const [activeModalFrontstageInfo, setActiveModalFrontstageInfo] =\n React.useState(UiFramework.frontstages.activeModalFrontstage);\n React.useEffect(() => {\n return UiFramework.frontstages.onModalFrontstageChangedEvent.addListener(\n (args) => {\n setActiveModalFrontstageInfo(\n args.modalFrontstageCount === 0\n ? undefined\n : UiFramework.frontstages.activeModalFrontstage\n );\n }\n );\n }, [setActiveModalFrontstageInfo]);\n return activeModalFrontstageInfo;\n}\n\n/** @internal */\nexport function ModalFrontstageComposer({\n stageInfo,\n}: {\n stageInfo: ModalFrontstageInfo | undefined;\n}) {\n const handleCloseModal = React.useCallback(\n () => UiFramework.frontstages.closeModalFrontstage(),\n []\n );\n if (!stageInfo) return null;\n\n const { title, content, appBarRight } = stageInfo;\n\n return (\n <ModalFrontstage\n isOpen={true}\n title={title}\n closeModal={handleCloseModal}\n appBarRight={appBarRight}\n >\n {content}\n </ModalFrontstage>\n );\n}\n"]}
1
+ {"version":3,"file":"ModalFrontstageComposer.js","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,gBAAgB;AAChB,MAAM,UAAU,4BAA4B;IAC1C,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAC7D,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAChE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC,WAAW,CACtE,CAAC,IAAI,EAAE,EAAE;YACP,4BAA4B,CAC1B,IAAI,CAAC,oBAAoB,KAAK,CAAC;gBAC7B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAClD,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACnC,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,uBAAuB,CAAC,EACtC,SAAS,GAGV;IACC,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CACxC,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,oBAAoB,EAAE,EACpD,EAAE,CACH,CAAC;IACF,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IAE9D,OAAO,CACL,oBAAC,eAAe,IACd,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,IAErB,OAAO,CACQ,CACnB,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Frontstage\n */\nimport * as React from \"react\";\nimport type { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages.js\";\nimport { ModalFrontstage } from \"../frontstage/ModalFrontstage.js\";\nimport { UiFramework } from \"../UiFramework.js\";\n\n/** @internal */\nexport function useActiveModalFrontstageInfo() {\n const [activeModalFrontstageInfo, setActiveModalFrontstageInfo] =\n React.useState(UiFramework.frontstages.activeModalFrontstage);\n React.useEffect(() => {\n return UiFramework.frontstages.onModalFrontstageChangedEvent.addListener(\n (args) => {\n setActiveModalFrontstageInfo(\n args.modalFrontstageCount === 0\n ? undefined\n : UiFramework.frontstages.activeModalFrontstage\n );\n }\n );\n }, [setActiveModalFrontstageInfo]);\n return activeModalFrontstageInfo;\n}\n\n/** @internal */\nexport function ModalFrontstageComposer({\n stageInfo,\n}: {\n stageInfo: ModalFrontstageInfo | undefined;\n}) {\n const handleCloseModal = React.useCallback(\n () => UiFramework.frontstages.closeModalFrontstage(),\n []\n );\n if (!stageInfo) return null;\n\n const { title, content, appBarRight, backButton } = stageInfo;\n\n return (\n <ModalFrontstage\n isOpen={true}\n title={title}\n closeModal={handleCloseModal}\n appBarRight={appBarRight}\n backButton={backButton}\n >\n {content}\n </ModalFrontstage>\n );\n}\n"]}
@@ -93,7 +93,6 @@ export declare class WidgetDef {
93
93
  /** @internal */
94
94
  get defaultFloatingSize(): SizeProps | undefined;
95
95
  set defaultFloatingSize(size: SizeProps | undefined);
96
- /** @internal */
97
96
  get defaultState(): WidgetState;
98
97
  constructor();
99
98
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetDef.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widgets/WidgetDef.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WidgetDef.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widgets/WidgetDef.tsx"],"names":[],"mappings":"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"}