@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
package/CHANGELOG.md CHANGED
@@ -1,6 +1,83 @@
1
1
  # Change Log - @itwin/appui-react
2
2
 
3
- This log was last generated on Thu, 19 Sep 2024 12:50:53 GMT and should not be manually modified.
3
+ This log was last generated on Mon, 16 Dec 2024 11:43:27 GMT and should not be manually modified.
4
+
5
+ ## 5.0.0
6
+ Mon, 16 Dec 2024 11:43:27 GMT
7
+
8
+ ### Updates
9
+
10
+ - Added error boundary to popout widgets.
11
+ - Removed check on displaySolarShadows in SolarDataProvider.
12
+ - Update `MessageManager.addMessage` to ignore messages that are already active.
13
+ - Update the styling of `BackstageAppButton`.
14
+ - Remove `activateDroppedTab` preview feature which is now enabled by default.
15
+ - Dropped tab will be activated only if it was active when drag interaction was initiated.
16
+ - Drop support for CommonJS modules.
17
+ - Drop support for iTwin.js 3.x.
18
+ - Drop support for iTwinUI 2.x
19
+ - Remove `newToolbars` preview feature which is now enabled by default.
20
+ - Drop support for React 17.x.
21
+ - Display popout widgets in flow layout to match floating and stage panel widgets.
22
+ - Fix an issue where resizing a panel would sometimes select widget contents.
23
+ - Add `-webkit` prefix to `user-select` CSS property to fix selection issues on Safari.
24
+ - Remove `@internal` API exports from the barrel file.
25
+ - Move @itwin/itwinui-react to peerDependencies.
26
+ - Add ModalFrontstageButton component.
27
+ - Use React portal instead of creating a separate root for each child window.
28
+ - Update `redux` and `react-redux` versions.
29
+ - Remove `@bentley/icons-generic` dependency.
30
+ - the @internal tag was removed from WidgetDef.defaultState
31
+ - Expose all `Popover` props in `StatusBarPopover` component.
32
+ - Removed beta tag from addFrontstage
33
+ - Handle snap toolbar opacity in toolbars.
34
+ - Added 2 preview features. One to allow letters in accudraw input fields. The other one to disable colors in accudraw xyz fields.
35
+ - Provide file extension in import declarations.
36
+ - Add `exports` field to `package.json`.
37
+ - Replaced SCSS `@import` rules with `@use` rules.
38
+ - Replace buic variables with iTwinUI CSS variables.
39
+
40
+ ## 4.17.6
41
+ Wed, 20 Nov 2024 14:27:46 GMT
42
+
43
+ ### Updates
44
+
45
+ - Update `MessageManager.addMessage` to ignore messages that are already active.
46
+
47
+ ## 4.17.5
48
+ Thu, 14 Nov 2024 08:22:04 GMT
49
+
50
+ ### Updates
51
+
52
+ - Fix styling of alert dialog used by notification APIs.
53
+
54
+ ## 4.17.4
55
+ Fri, 08 Nov 2024 14:41:23 GMT
56
+
57
+ ### Updates
58
+
59
+ - Fix localization of StandardMessageBox component.
60
+
61
+ ## 4.17.3
62
+ Wed, 06 Nov 2024 09:04:20 GMT
63
+
64
+ ### Updates
65
+
66
+ - Fix a maximum update depth error in status bar overflow.
67
+ - Fix an issue where restore frontstage layout would require an active frontstage.
68
+
69
+ ## 4.17.2
70
+ Wed, 30 Oct 2024 14:46:15 GMT
71
+
72
+ _Version update only_
73
+
74
+ ## 4.17.1
75
+ Wed, 09 Oct 2024 10:50:47 GMT
76
+
77
+ ### Updates
78
+
79
+ - Fix an issue where resizing a panel would sometimes select widget contents.
80
+ - Add `-webkit` prefix to `user-select` CSS property to fix selection issues on Safari.
4
81
 
5
82
  ## 4.17.0
6
83
  Thu, 19 Sep 2024 12:50:53 GMT
@@ -1,7 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module Utilities
3
3
  */
4
- import type { Store } from "redux";
4
+ import type { AnyAction, Store } from "redux";
5
5
  import { BeUiEvent } from "@itwin/core-bentley";
6
6
  import type { TranslationOptions } from "@itwin/core-common";
7
7
  import type { IModelConnection, ViewState } from "@itwin/core-frontend";
@@ -135,7 +135,7 @@ export declare class UiFramework {
135
135
  * @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined "frameworkState" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use "frameworkState".
136
136
  * @deprecated in 4.15.0. Continue using redux initializer until all application components react to redux deprecations. Use overload without parameters instead.
137
137
  */
138
- static initialize(store: Store<any> | undefined, frameworkStateKey?: string): Promise<void>;
138
+ static initialize(store: Store<any, AnyAction> | undefined, frameworkStateKey?: string): Promise<void>;
139
139
  /** Un-registers the UiFramework internationalization service namespace. */
140
140
  static terminate(): void;
141
141
  /** Determines if UiFramework has been initialized */
@@ -1 +1 @@
1
- {"version":3,"file":"UiFramework.d.ts","sourceRoot":"","sources":["../../src/appui-react/UiFramework.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UiFramework.d.ts","sourceRoot":"","sources":["../../src/appui-react/UiFramework.ts"],"names":[],"mappings":"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"}
@@ -111,7 +111,9 @@ export class UiFramework {
111
111
  this._uiSettingsProviderRegistry.set(entry.providerId, entry);
112
112
  return true;
113
113
  }
114
- static async initialize(store, frameworkStateKey) {
114
+ static async initialize(
115
+ // eslint-disable-next-line deprecation/deprecation
116
+ store, frameworkStateKey) {
115
117
  // TODO: check `arguments` to determine between redux & no-redux initializers.
116
118
  if (UiFramework._initialized) {
117
119
  Logger.logInfo(UiFramework.loggerCategory("UiFramework"), `UiFramework.initialize already called`);
@@ -1 +1 @@
1
- {"version":3,"file":"UiFramework.js","sourceRoot":"","sources":["../../src/appui-react/UiFramework.ts"],"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 Utilities\n */\n\nimport type { Store } from \"redux\";\nimport { BeUiEvent, Logger, ProcessDetector } from \"@itwin/core-bentley\";\nimport type { TranslationOptions } from \"@itwin/core-common\";\nimport type { IModelConnection, ViewState } from \"@itwin/core-frontend\";\nimport { SnapMode } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type {\n DialogLayoutDataProvider,\n DialogProps,\n Primitives,\n PropertyDescription,\n PropertyRecord,\n} from \"@itwin/appui-abstract\";\nimport { UiAdmin, UiError, UiEvent } from \"@itwin/appui-abstract\";\nimport { UiIModelComponents } from \"@itwin/imodel-components-react\";\nimport { BackstageManager } from \"./backstage/BackstageManager.js\";\nimport { InternalChildWindowManager } from \"./childwindow/InternalChildWindowManager.js\";\nimport { InternalConfigurableUiManager } from \"./configurableui/InternalConfigurableUiManager.js\";\nimport type { FrameworkState as ReduxFrameworkState } from \"./redux/FrameworkState.js\";\nimport type {\n CursorMenuData,\n CursorMenuPayload,\n PresentationSelectionScope,\n} from \"./redux/SessionState.js\";\nimport { SessionStateActionId } from \"./redux/SessionState.js\";\nimport { StateManager } from \"./redux/StateManager.js\";\nimport type { HideIsolateEmphasizeActionHandler } from \"./selection/HideIsolateEmphasizeManager.js\";\nimport { HideIsolateEmphasizeManager } from \"./selection/HideIsolateEmphasizeManager.js\";\nimport * as keyinPaletteTools from \"./tools/KeyinPaletteTools.js\";\nimport * as openSettingTools from \"./tools/OpenSettingsTool.js\";\nimport * as restoreLayoutTools from \"./tools/RestoreLayoutTool.js\";\nimport * as toolSettingTools from \"./tools/ToolSettingsTools.js\";\nimport {\n InternalUiShowHideManager,\n UiShowHideSettingsProvider,\n} from \"./utils/InternalUiShowHideManager.js\";\nimport { WidgetManager } from \"./widgets/WidgetManager.js\";\nimport { InternalFrontstageManager } from \"./frontstage/InternalFrontstageManager.js\";\nimport { InternalContentViewManager } from \"./content/InternalContentViewManager.js\";\nimport { InternalModalDialogManager } from \"./dialog/InternalModalDialogManager.js\";\nimport { InternalModelessDialogManager } from \"./dialog/InternalModelessDialogManager.js\";\nimport { InternalKeyboardShortcutManager } from \"./keyboardshortcut/InternalKeyboardShortcut.js\";\nimport { InternalToolSettingsManager } from \"./toolsettings/InternalToolSettingsManager.js\";\nimport type { FrameworkBackstage } from \"./framework/FrameworkBackstage.js\";\nimport type { FrameworkChildWindows } from \"./framework/FrameworkChildWindows.js\";\nimport type { FrameworkControls } from \"./framework/FrameworkControls.js\";\nimport type { FrameworkFrontstages } from \"./framework/FrameworkFrontstages.js\";\nimport type { FrameworkToolSettings } from \"./framework/FrameworkToolSettings.js\";\nimport type { FrameworkContent } from \"./framework/FrameworkContent.js\";\nimport type { FrameworkDialogs } from \"./framework/FrameworkDialogs.js\";\nimport type { FrameworkKeyboardShortcuts } from \"./framework/FrameworkKeyboardShortcuts.js\";\nimport type { FrameworkVisibility } from \"./framework/FrameworkVisibility.js\";\nimport {\n SyncUiEventDispatcher,\n SyncUiEventId,\n} from \"./syncui/SyncUiEventDispatcher.js\";\nimport type { XAndY } from \"@itwin/core-geometry\";\nimport { PopupManager } from \"./popup/PopupManager.js\";\nimport { AccuDrawPopupManager } from \"./accudraw/AccuDrawPopupManager.js\";\nimport { UiDataProvidedDialog } from \"./dialog/UiDataProvidedDialog.js\";\nimport type { RefObject } from \"react\";\nimport { createElement } from \"react\";\nimport type { DialogInfo } from \"./dialog/DialogManagerBase.js\";\nimport type { KeyinEntry } from \"./keyins/Keyins.js\";\nimport { mapToRelativePosition, type Placement } from \"./utils/Placement.js\";\nimport type { Toolbar, ToolbarProps } from \"./toolbar/Toolbar.js\";\nimport type { CursorMenuItemProps } from \"./shared/MenuItem.js\";\nimport {\n SYSTEM_PREFERRED_COLOR_THEME,\n type ThemeId,\n TOOLBAR_OPACITY_DEFAULT,\n WIDGET_OPACITY_DEFAULT,\n} from \"./theme/ThemeId.js\";\nimport { ConfigurableUiActionId } from \"./redux/ConfigurableUiState.js\";\nimport type {\n ConfigurableUiContent,\n ConfigurableUiContentProps,\n} from \"./configurableui/ConfigurableUiContent.js\";\nimport type { SelectionScopeField } from \"./statusfields/SelectionScope.js\";\nimport type { SnapModeField } from \"./statusfields/SnapMode.js\";\nimport type { ThemeManager } from \"./theme/ThemeManager.js\";\nimport { useGlobalStore } from \"./uistate/useGlobalStore.js\";\nimport type { UiStateStorage } from \"./uistate/UiStateStorage.js\";\nimport { LocalStateStorage } from \"./uistate/LocalStateStorage.js\";\nimport { SettingsManager } from \"./settings/SettingsManager.js\";\n\ninterface ShowInputEditorOptions {\n location: XAndY;\n anchorElement?: HTMLElement;\n initialValue: Primitives.Value; // need strategy for replacing (appui-abstract)\n propertyDescription: PropertyDescription;\n onCommit: (value: Primitives.Value) => void;\n onCancel: () => void;\n}\n\n/** Interface to be implemented but any classes that wants to load their user settings when the UiStateEntry storage class is set.\n * @public\n */\nexport interface UserSettingsProvider {\n /** Unique provider Id */\n providerId: string;\n /** Function to load settings from settings storage */\n loadUserSettings(storage: UiStateStorage): Promise<void>;\n}\n\n/** UiVisibility Event Args interface.\n * @public\n * @deprecated in 4.13.0. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface UiVisibilityEventArgs {\n visible: boolean;\n}\n\n/** UiVisibility Event class.\n * @public\n * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class UiVisibilityChangedEvent extends UiEvent<UiVisibilityEventArgs> {}\n\n/** TrackingTime time argument used by our feature tracking manager as an option argument to the TelemetryClient\n * @internal\n */\nexport interface TrackingTime {\n startTime: Date;\n endTime: Date;\n}\n\ntype fn = typeof PopupManager.showComponent;\ntype ShowComponentParams = Parameters<fn>;\ntype OptionalShowComponentParams = [\n ShowComponentParams[0],\n Partial<\n Exclude<ShowComponentParams[1], \"anchor\"> & {\n anchorRef?: RefObject<HTMLElement>;\n }\n >?\n];\n\n/** Main entry point to configure and interact with the features provided by the AppUi-react package.\n * @public\n */\nexport class UiFramework {\n /** Operation on the backstage component. */\n public static get backstage(): FrameworkBackstage {\n if (!UiFramework._backstageManager)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n UiFramework.loggerCategory(\"UiFramework\"),\n UiFramework._complaint\n );\n return UiFramework._backstageManager;\n }\n\n /** Manage access to the child windows. */\n public static get childWindows(): FrameworkChildWindows {\n return appUi.windowManager;\n }\n\n /** Manage registered controls.\n * @deprecated in 4.16.0. Uses a deprecated interface {@link FrameworkControls}.\n */\n // eslint-disable-next-line deprecation/deprecation\n public static get controls(): FrameworkControls {\n return InternalConfigurableUiManager;\n }\n\n /** Manage access to frontstages and related helper methods. */\n public static get frontstages(): FrameworkFrontstages {\n return InternalFrontstageManager;\n }\n\n /** Manage access and behavior of the tool settings. */\n public static get toolSettings(): FrameworkToolSettings {\n return InternalToolSettingsManager;\n }\n\n /** Manage content presented by the frontstages. */\n public static get content(): FrameworkContent {\n return InternalContentViewManager;\n }\n\n /** Manage displayed dialogs. */\n public static get dialogs(): FrameworkDialogs {\n return {\n modal: InternalModalDialogManager,\n modeless: InternalModelessDialogManager,\n };\n }\n\n /** Manages global keyboard shortcuts\n *\n * Note: This only manages the list of available shortcuts registered with it. It does not listens to the actual\n * keyboard events. In order for these shortcuts to be called upon a keyboard event, the application can\n * override the `IModelApp.toolAdmin` and assign it [[FrameworkToolAdmin]] or create an event listener\n * and call `UiFramework.keyboardShortcuts.processKey`.\n */\n public static get keyboardShortcuts(): FrameworkKeyboardShortcuts {\n return InternalKeyboardShortcutManager;\n }\n\n /** Manages UI visibility (Show/Hide). */\n public static get visibility(): FrameworkVisibility {\n return InternalUiShowHideManager;\n }\n\n private static _initialized = false;\n private static _store?: Store<any>;\n private static _complaint = \"UiFramework not initialized\";\n private static _frameworkStateKeyInStore: string = \"frameworkState\"; // default name\n // eslint-disable-next-line deprecation/deprecation\n private static _backstageManager?: BackstageManager;\n private static _widgetManager?: WidgetManager;\n private static _hideIsolateEmphasizeActionHandler?: HideIsolateEmphasizeActionHandler;\n /** this provides a default state storage handler */\n private static _uiStateStorage: UiStateStorage = new LocalStateStorage();\n private static _settingsManager?: SettingsManager;\n private static _uiSettingsProviderRegistry: Map<\n string,\n UserSettingsProvider\n > = new Map<string, UserSettingsProvider>();\n public static useDefaultPopoutUrl = false;\n private static readonly CONTEXT_MENU_OFFSET = -8;\n\n /** Event raised within UiFramework.setIModelConnection */\n public static readonly onIModelConnectionChanged = new BeUiEvent<\n IModelConnection | undefined\n >();\n\n /** Registers class that will be informed when the UserSettingsStorage location has been set or changed. This allows\n * classes to load any previously saved settings from the new storage location. Common storage locations are the browser's\n * local storage, or the iTwin Product Settings cloud storage available via the SettingsAdmin see `IModelApp.settingsAdmin`.\n */\n public static registerUserSettingsProvider(entry: UserSettingsProvider) {\n if (this._uiSettingsProviderRegistry.has(entry.providerId)) return false;\n\n this._uiSettingsProviderRegistry.set(entry.providerId, entry);\n return true;\n }\n\n /** Get Show Ui event. */\n // eslint-disable-next-line deprecation/deprecation\n public static readonly onUiVisibilityChanged = new UiVisibilityChangedEvent();\n\n /** Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore. */\n public static async initialize(): Promise<void>;\n /** Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.\n * @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.\n * @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined \"frameworkState\" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use \"frameworkState\".\n * @deprecated in 4.15.0. Continue using redux initializer until all application components react to redux deprecations. Use overload without parameters instead.\n */\n public static async initialize(\n store: Store<any> | undefined,\n // eslint-disable-next-line @typescript-eslint/unified-signatures\n frameworkStateKey?: string\n ): Promise<void>;\n public static async initialize(\n store?: Store<any> | undefined,\n frameworkStateKey?: string\n ): Promise<void> {\n // TODO: check `arguments` to determine between redux & no-redux initializers.\n if (UiFramework._initialized) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"UiFramework\"),\n `UiFramework.initialize already called`\n );\n return;\n }\n\n /* if store is undefined then the StateManager class should have been initialized by parent app and the apps default set of reducers registered with it.\n If the app has no reducers to add and does not initialize a StateManager then just initialize the StateManager with the default framework reducer now */\n // eslint-disable-next-line deprecation/deprecation\n if (undefined === store && !StateManager.isInitialized(true))\n // eslint-disable-next-line deprecation/deprecation\n new StateManager();\n\n UiFramework._store = store;\n\n // ignore setting _frameworkStateKeyInStore if not using store\n if (frameworkStateKey && store)\n UiFramework._frameworkStateKeyInStore = frameworkStateKey;\n\n // set up namespace and register all tools from package\n const frameworkNamespace = IModelApp.localization?.registerNamespace(\n UiFramework.localizationNamespace\n );\n [\n restoreLayoutTools,\n keyinPaletteTools,\n openSettingTools,\n toolSettingTools,\n ].forEach((tool) =>\n IModelApp.tools.registerModule(tool, this.localizationNamespace)\n );\n\n // eslint-disable-next-line deprecation/deprecation\n UiFramework._backstageManager = new BackstageManager();\n UiFramework._hideIsolateEmphasizeActionHandler =\n new HideIsolateEmphasizeManager(); // this allows user to override the default HideIsolateEmphasizeManager implementation.\n UiFramework._widgetManager = new WidgetManager();\n\n // Initialize ui-imodel-components, ui-components, ui-core & ui-abstract\n await UiIModelComponents.initialize();\n\n UiFramework.settingsManager.onSettingsProvidersChanged.addListener(() => {\n dispatchSyncUiEvent(SyncUiEventId.SettingsProvidersChanged);\n });\n\n // Initialize the MessagePresenter interface in UiAdmin for Editor notifications\n UiAdmin.messagePresenter = IModelApp.notifications;\n\n UiFramework._initialized = true;\n\n // initialize any standalone settings providers that don't need to have defaults set by iModelApp\n UiShowHideSettingsProvider.initialize();\n\n InternalConfigurableUiManager.initialize();\n\n return frameworkNamespace;\n }\n\n /** Un-registers the UiFramework internationalization service namespace. */\n public static terminate() {\n InternalKeyboardShortcutManager.shortcutContainer.emptyData();\n UiFramework._store = undefined;\n UiFramework._frameworkStateKeyInStore = \"frameworkState\";\n // eslint-disable-next-line deprecation/deprecation\n if (StateManager.isInitialized(true)) StateManager.clearStore();\n IModelApp.localization?.unregisterNamespace(\n UiFramework.localizationNamespace\n );\n UiFramework._backstageManager = undefined;\n UiFramework._widgetManager = undefined;\n UiFramework._hideIsolateEmphasizeActionHandler = undefined;\n UiFramework._settingsManager = undefined;\n\n UiIModelComponents.terminate();\n InternalUiShowHideManager.terminate();\n UiFramework._initialized = false;\n }\n\n /** Determines if UiFramework has been initialized */\n public static get initialized(): boolean {\n return UiFramework._initialized;\n }\n\n /** Property that returns the SettingManager used by AppUI-based applications. */\n public static get settingsManager() {\n if (undefined === UiFramework._settingsManager)\n UiFramework._settingsManager = new SettingsManager();\n return UiFramework._settingsManager;\n }\n\n /** The internationalization service namespace. */\n public static get localizationNamespace(): string {\n return \"UiFramework\";\n }\n\n public static get hideIsolateEmphasizeActionHandler(): HideIsolateEmphasizeActionHandler {\n if (!UiFramework._hideIsolateEmphasizeActionHandler)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n UiFramework.loggerCategory(\"UiFramework\"),\n UiFramework._complaint\n );\n return UiFramework._hideIsolateEmphasizeActionHandler;\n }\n\n public static setHideIsolateEmphasizeActionHandler(\n handler: HideIsolateEmphasizeActionHandler | undefined\n ) {\n if (handler) UiFramework._hideIsolateEmphasizeActionHandler = handler;\n else\n UiFramework._hideIsolateEmphasizeActionHandler =\n new HideIsolateEmphasizeManager();\n }\n\n /** @alpha */\n public static get widgetManager(): WidgetManager {\n if (!UiFramework._widgetManager)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n UiFramework.loggerCategory(\"UiFramework\"),\n UiFramework._complaint\n );\n return UiFramework._widgetManager;\n }\n\n /** Calls localization.getLocalizedString with the \"UiFramework\" namespace. Do NOT include the namespace in the key.\n * @internal\n */\n public static translate(\n key: string | string[],\n options?: TranslationOptions\n ): string {\n return IModelApp.localization.getLocalizedString(\n `${UiFramework.localizationNamespace}:${key}`,\n options\n );\n }\n\n /** @internal */\n public static get packageName(): string {\n return \"appui-react\";\n }\n\n /** @internal */\n public static loggerCategory(name: string): string {\n return `${UiFramework.packageName}.${name}`;\n }\n\n /** Show a context menu at a particular location.\n * @param items Properties of the menu items to display.\n * @param location Location of the context menu, relative to the origin of anchorElement or the overall window.\n * @param anchorElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\n * @return true if the menu was displayed, false if the menu could not be displayed.\n */\n public static openContextMenu(\n items: CursorMenuItemProps[],\n location: XAndY,\n anchorElement?: HTMLElement\n ): boolean {\n let position = location;\n let childWindowId: string | undefined;\n\n if (anchorElement) {\n const anchorOffset = anchorElement.getBoundingClientRect();\n\n position = {\n x: anchorOffset.left + location.x,\n y: anchorOffset.top + location.y,\n };\n\n childWindowId = UiFramework.childWindows.findId(\n anchorElement.ownerDocument.defaultView\n );\n }\n\n position = {\n x: position.x + UiFramework.CONTEXT_MENU_OFFSET,\n y: position.y + UiFramework.CONTEXT_MENU_OFFSET,\n };\n\n const cursorMenuData: CursorMenuPayload = {\n position,\n items,\n childWindowId,\n };\n UiFramework.openCursorMenu(cursorMenuData);\n\n return true;\n }\n\n public static openCursorMenu(\n // eslint-disable-next-line deprecation/deprecation\n menuData: CursorMenuData | CursorMenuPayload | undefined\n ): void {\n // eslint-disable-next-line deprecation/deprecation\n if (this.frameworkState) {\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.dispatchActionToStore(\n // eslint-disable-next-line deprecation/deprecation\n SessionStateActionId.UpdateCursorMenu,\n menuData\n );\n return;\n }\n\n useGlobalStore.setState({ cursorMenuPayload: menuData });\n // eslint-disable-next-line deprecation/deprecation\n dispatchSyncUiEvent(SessionStateActionId.UpdateCursorMenu);\n }\n\n public static closeCursorMenu(): void {\n // eslint-disable-next-line deprecation/deprecation\n if (UiFramework.frameworkState) {\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.dispatchActionToStore(\n // eslint-disable-next-line deprecation/deprecation\n SessionStateActionId.UpdateCursorMenu,\n undefined\n );\n return;\n }\n\n useGlobalStore.setState({ cursorMenuPayload: undefined });\n // eslint-disable-next-line deprecation/deprecation\n dispatchSyncUiEvent(SessionStateActionId.UpdateCursorMenu);\n }\n\n /** @note Returned value is immutable. */\n public static getCursorMenuData(): // eslint-disable-next-line deprecation/deprecation\n CursorMenuData | CursorMenuPayload | undefined {\n // eslint-disable-next-line deprecation/deprecation\n const state = this.frameworkState;\n if (state) {\n return (\n // eslint-disable-next-line deprecation/deprecation\n state.sessionState.cursorMenuPayload ??\n // eslint-disable-next-line deprecation/deprecation\n state.sessionState.cursorMenuData\n );\n }\n\n return useGlobalStore.getState().cursorMenuPayload;\n }\n\n public static setIModelConnection(\n iModelConnection: IModelConnection | undefined,\n immediateSync = false\n ) {\n const oldConnection = UiFramework.getIModelConnection();\n if (oldConnection === iModelConnection) return;\n\n InternalFrontstageManager.clearFrontstageDefsForIModelId(\n oldConnection?.iModelId\n );\n\n oldConnection && SyncUiEventDispatcher.clearConnectionEvents(oldConnection);\n iModelConnection &&\n SyncUiEventDispatcher.initializeConnectionEvents(iModelConnection);\n\n // eslint-disable-next-line deprecation/deprecation\n if (UiFramework.frameworkState) {\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.dispatchActionToStore(\n // eslint-disable-next-line deprecation/deprecation\n SessionStateActionId.SetIModelConnection,\n iModelConnection,\n immediateSync\n );\n } else {\n useGlobalStore.setState({ iModelConnection });\n // eslint-disable-next-line deprecation/deprecation\n dispatchSyncUiEvent(SessionStateActionId.SetIModelConnection);\n }\n\n const itemsSelected = iModelConnection\n ? iModelConnection.selectionSet.elements.size\n : 0;\n\n UiFramework.setNumItemsSelected(itemsSelected);\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.setActiveIModelId(iModelConnection?.iModelId ?? \"\");\n UiFramework.onIModelConnectionChanged.emit(iModelConnection);\n }\n\n public static getIModelConnection(): IModelConnection | undefined {\n // eslint-disable-next-line deprecation/deprecation\n const frameworkState = UiFramework.frameworkState;\n if (frameworkState) {\n // eslint-disable-next-line deprecation/deprecation\n return frameworkState.sessionState.iModelConnection;\n }\n return useGlobalStore.getState().iModelConnection;\n }\n\n public static setNumItemsSelected(numSelected: number) {\n // eslint-disable-next-line deprecation/deprecation\n if (UiFramework.frameworkState) {\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.dispatchActionToStore(\n // eslint-disable-next-line deprecation/deprecation\n SessionStateActionId.SetNumItemsSelected,\n numSelected\n );\n return;\n }\n\n useGlobalStore.setState({ numItemsSelected: numSelected });\n // eslint-disable-next-line deprecation/deprecation\n dispatchSyncUiEvent(SessionStateActionId.SetNumItemsSelected);\n }\n\n public static getNumItemsSelected() {\n // eslint-disable-next-line deprecation/deprecation\n const state = this.frameworkState;\n if (state) {\n // eslint-disable-next-line deprecation/deprecation\n return state.sessionState.numItemsSelected;\n }\n\n return useGlobalStore.getState().numItemsSelected;\n }\n\n /** Called by iModelApp to initialize saved UI state from registered UseSettingsProviders. */\n public static async initializeStateFromUserSettingsProviders(\n immediateSync = false\n ) {\n // let any registered providers to load values from the new storage location\n const providerKeys = [...this._uiSettingsProviderRegistry.keys()];\n for await (const key of providerKeys) {\n await this._uiSettingsProviderRegistry\n .get(key)!\n .loadUserSettings(UiFramework._uiStateStorage);\n }\n\n dispatchSyncUiEvent(SyncUiEventId.UiStateStorageChanged, immediateSync);\n }\n\n public static async setUiStateStorage(\n storage: UiStateStorage,\n immediateSync = false\n ) {\n if (UiFramework._uiStateStorage === storage) return;\n\n UiFramework._uiStateStorage = storage;\n await this.initializeStateFromUserSettingsProviders(immediateSync);\n }\n\n /** The UI Settings Storage is a convenient wrapper around Local Storage to assist in caching state information across user sessions.\n * It was previously used to conflate both the state information across session and the information driven directly from user explicit action,\n * which are now handled with user preferences.\n */\n public static getUiStateStorage(): UiStateStorage {\n return UiFramework._uiStateStorage;\n }\n\n public static setDefaultViewState(\n viewState: ViewState,\n immediateSync = false\n ) {\n // eslint-disable-next-line deprecation/deprecation\n if (UiFramework.frameworkState) {\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.dispatchActionToStore(\n // eslint-disable-next-line deprecation/deprecation\n SessionStateActionId.SetDefaultViewState,\n viewState,\n immediateSync\n );\n return;\n }\n\n useGlobalStore.setState({ viewState });\n dispatchSyncUiEvent(\n // eslint-disable-next-line deprecation/deprecation\n SessionStateActionId.SetDefaultViewState,\n immediateSync\n );\n }\n\n public static getDefaultViewState(): ViewState | undefined {\n // eslint-disable-next-line deprecation/deprecation\n const frameworkState = UiFramework.frameworkState;\n if (frameworkState) {\n // eslint-disable-next-line deprecation/deprecation\n return frameworkState.sessionState.defaultViewState;\n }\n return useGlobalStore.getState().viewState;\n }\n\n /** @deprecated in 4.17.0. Use {@link @itwin/UiFramework.visibility.isUiVisible} instead. */\n public static getIsUiVisible() {\n return UiFramework.visibility.isUiVisible;\n }\n\n /** @deprecated in 4.17.0. Use {@link @itwin/UiFramework.visibility.isUiVisible} instead. */\n public static setIsUiVisible(visible: boolean) {\n UiFramework.visibility.isUiVisible = visible;\n }\n\n /** @deprecated in 4.13.0. Use {@link @itwin/core-bentley#ProcessDetector.isMobileBrowser} instead. */\n // eslint-disable-next-line @itwin/prefer-get\n public static isMobile() {\n return ProcessDetector.isMobileBrowser;\n }\n\n /** Determines whether a ContextMenu is open\n * @alpha\n */\n public static get isContextMenuOpen(): boolean {\n const contextMenu = document.querySelector(\"div.core-context-menu-opened\");\n return contextMenu !== null && contextMenu !== undefined;\n }\n\n /** Show a Card containing content, a title and a toolbar at a particular location.\n * @param content The React component of the content to display\n * @param title Title to display at the top of the card.\n * @param toolbarProps Properties of the Toolbar to display.\n * @param location Location of the Card, relative to the origin of anchorElement or the window.\n * @param offset Offset of the Card from the location.\n * @param onItemExecuted Function invoked after a Toolbar item is executed\n * @param onCancel Function invoked when the Escape key is pressed or a click occurs outside the Card\n * @param placement {@link Placement} relative to the given location. Defaults to top-end.\n * @param anchorElement The HTMLElement that anchors the Card. If undefined, the location is relative to the overall window.\n * @return true if the Card was displayed, false if the Card could not be displayed.\n * @internal\n */\n public static showCard(\n content: React.ReactNode,\n title: string | PropertyRecord | undefined,\n toolbarProps: ToolbarProps,\n location: XAndY,\n offset: XAndY,\n onItemExecuted: (item: any) => void,\n onCancel: () => void,\n placement: Placement = \"top-end\",\n anchorElement?: HTMLElement\n ): boolean {\n const anchor = this.resolveHtmlElement(anchorElement);\n\n return PopupManager.displayCard(content, {\n title,\n toolbarProps,\n location,\n offset,\n onItemExecuted,\n onCancel,\n placement,\n anchor,\n });\n }\n\n /**\n * Hides a Card displayed with {@link UiFramework.showCard}\n * @internal\n */\n public static hideCard() {\n return PopupManager.hideCard();\n }\n\n /** Opens a Tool Settings Ui popup at a particular location.\n * @param dataProvider The DialogLayoutDataProvider for the tool settings popup dialog.\n * @param location Location of the tool settings, relative to the origin of anchorElement or the window\n * @param offset Offset of the tool settings from the location\n * @param onCancel Function invoked when the Escape key is pressed or a click occurs outside the tool settings\n * @param placement {@link Placement} relative to the given location. Defaults to top-end.\n * @param anchorElement The HTMLElement that anchors the tool settings. If undefined, the location is relative to the overall window.\n * @return true if the tool settings were displayed, false if the tool settings could not be displayed.\n * @internal\n */\n public static openToolSettingsPopup(\n dataProvider: DialogLayoutDataProvider,\n location: XAndY,\n offset: XAndY,\n onCancel: () => void,\n placement: Placement = \"top-end\",\n anchorElement?: HTMLElement\n ): boolean {\n const el = this.resolveHtmlElement(anchorElement);\n const relativePosition = mapToRelativePosition(placement);\n\n return PopupManager.openToolSettings(\n dataProvider,\n el,\n location,\n offset,\n onCancel,\n relativePosition\n );\n }\n\n /**\n * Closes the Tool Settings Ui popup.\n * @internal\n */\n public static closeToolSettingsPopup() {\n return PopupManager.closeToolSettings();\n }\n\n /** Show a Toolbar at a particular location.\n * @param toolbarProps Properties of the Toolbar to display.\n * @param location Location of the Toolbar, relative to the origin of anchorElement or the overall window.\n * @param offset Offset of the Toolbar from the location.\n * @param onItemExecuted Function invoked after a Toolbar item is executed\n * @param onCancel Function invoked when the Escape key is pressed or a click occurs outside the Toolbar\n * @param placement {@link Placement} relative to the given location. Defaults to top-end.\n * @param anchorElement The HTMLElement that anchors the Toolbar. If undefined, the location is relative to the overall window.\n * @return true if the Toolbar was displayed, false if the Toolbar could not be displayed.\n */\n public static showToolbar(\n toolbarProps: ToolbarProps,\n location: XAndY,\n offset: XAndY,\n onItemExecuted: (item: any) => void,\n onCancel: () => void,\n placement: Placement = \"top-end\",\n anchorElement?: HTMLElement\n ): boolean {\n const anchor = UiFramework.resolveHtmlElement(anchorElement);\n\n return PopupManager.displayToolbar(toolbarProps.items, {\n anchor,\n location,\n offset,\n onItemExecuted,\n onCancel,\n placement,\n });\n }\n\n /** Hides a toolbar displayed via {@link UiFramework.showToolbar} */\n public static hideToolbar() {\n return PopupManager.hideToolbar();\n }\n\n /** Show a menu button at a particular location. A menu button opens a context menu.\n * @param id Id of the menu button. Multiple menu buttons may be displayed.\n * @param menuItemsProps Properties of the menu items to display.\n * @param location Location of the context menu, relative to the origin of anchorElement or the window.\n * @param anchorElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\n * @return true if the menu was displayed, false if the menu could not be displayed.\n */\n public static showMenuButton(\n id: string,\n menuItemsProps: CursorMenuItemProps[],\n location: XAndY,\n anchorElement?: HTMLElement\n ): boolean {\n const el = this.resolveHtmlElement(anchorElement);\n return AccuDrawPopupManager.showMenuButton(\n id,\n el,\n location,\n menuItemsProps\n );\n }\n\n /** Hides a menu button.\n * @param id Id of the menu button. Multiple menu buttons may be displayed.\n * @return true if the menu was hidden, false if the menu could not be hidden.\n */\n public static hideMenuButton(id: string) {\n return AccuDrawPopupManager.hideMenuButton(id);\n }\n /** Show a calculator at a particular location.\n * @param initialValue Value initially displayed in the calculator.\n * @param resultIcon Icon displayed to the left of the value.\n * @param location Location of the calculator, relative to the origin of anchorElement or the window.\n * @param onOk Function called when the OK button or the Enter key is pressed.\n * @param onCancel Function called when the Cancel button or the Escape key is pressed.\n * @param anchorElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\n * @return true if the menu was displayed, false if the menu could not be displayed.\n */\n public static showCalculator(\n initialValue: number,\n resultIcon: string,\n location: XAndY,\n onOk: (value: number) => void,\n onCancel: () => void,\n anchorElement?: HTMLElement\n ): boolean {\n const el = this.resolveHtmlElement(anchorElement);\n\n return AccuDrawPopupManager.showCalculator(\n el,\n location,\n initialValue,\n resultIcon,\n onOk,\n onCancel\n );\n }\n\n /** Hides the calculator. */\n public static hideCalculator(): boolean {\n return AccuDrawPopupManager.hideCalculator();\n }\n\n /** Show a React Element at a particular location.\n * @param component The ReactElement to display\n * @param options - Optional {@link: ShowComponentParams}\n */\n\n public static showComponent(...params: OptionalShowComponentParams): boolean {\n const options: (typeof params)[1] = params[1] || {};\n const component = params[0];\n const { anchorRef, id } = options;\n\n let { location, offset, onCancel, placement } = options;\n\n if (!location) location = { x: 0, y: 0 };\n if (!offset) offset = { x: 0, y: 0 };\n if (!placement) placement = \"top-end\";\n if (!onCancel) onCancel = () => UiFramework.hideComponent(id);\n\n return PopupManager.showComponent(component, {\n location,\n offset,\n onCancel,\n placement,\n anchor: anchorRef?.current ?? undefined,\n id,\n });\n }\n\n /**\n * Hides the Component previously shown with {@link UiFramework.showComponent}\n */\n public static hideComponent(id?: string): boolean {\n return PopupManager.hideComponent(id);\n }\n\n /** Show an input editor for an angle value at a particular location.\n * @param initialValue Value initially displayed in the editor.\n * @param location Location of the editor, relative to the origin of anchorElement or the window.\n * @param onCommit Function called when the OK button or the Enter key is pressed.\n * @param onCancel Function called when the Cancel button or the Escape key is pressed.\n * @param anchorElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\n * @return true if the editor was displayed, false if the editor could not be displayed.\n */\n public static showAngleEditor(\n initialValue: number,\n location: XAndY,\n onCommit: (value: number) => void,\n onCancel: () => void,\n anchorElement?: HTMLElement\n ): boolean {\n const el = this.resolveHtmlElement(anchorElement);\n\n return AccuDrawPopupManager.showAngleEditor(\n el,\n location,\n initialValue,\n onCommit,\n onCancel\n );\n }\n\n /** Show an input editor for a length value at a particular location.\n * @param ShowInputEditorOptions Options detailed below for the input editor\n * @param ShowInputEditorOptions.anchorElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\n * @param ShowInputEditorOptions.propertyDescription Description of the primitive value property\n * @param ShowInputEditorOptions.initialValue Value initially displayed in the editor.\n * @param ShowInputEditorOptions.location Location of the editor, relative to the origin of anchorElement or the window.\n * @param ShowInputEditorOptions.onCommit Function called when the OK button or the Enter key is pressed.\n * @param ShowInputEditorOptions.onCancel Function called when the Cancel button or the Escape key is pressed.\n * @return true if the editor was displayed, false if the editor could not be displayed.\n * @internal\n */\n public static showInputEditor({\n anchorElement,\n initialValue,\n location,\n onCancel,\n onCommit,\n propertyDescription,\n }: ShowInputEditorOptions): boolean {\n const el = this.resolveHtmlElement(anchorElement);\n PopupManager.showInputEditor(\n el,\n location,\n initialValue,\n propertyDescription,\n onCommit,\n onCancel\n );\n return true;\n }\n\n /** Show an input editor for a length value at a particular location.\n * @param dimension Dimension determining which editor to display.\n * @param initialValue Value initially displayed in the editor.\n * @param location Location of the editor, relative to the origin of anchorElement or the window.\n * @param onCommit Function called when the OK button or the Enter key is pressed.\n * @param onCancel Function called when the Cancel button or the Escape key is pressed.\n * @param anchorElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\n * @return true if the editor was displayed, false if the editor could not be displayed.\n */\n public static showDimensionEditor(\n dimension: \"height\" | \"length\",\n initialValue: number,\n location: XAndY,\n onCommit: (value: number) => void,\n onCancel: () => void,\n anchorElement?: HTMLElement\n ) {\n const el = this.resolveHtmlElement(anchorElement);\n return AccuDrawPopupManager.showDimensionEditor(\n dimension,\n el,\n location,\n initialValue,\n onCommit,\n onCancel\n );\n }\n\n /** Hides the input editor.\n * @internal\n */\n public static hideInputEditor(): boolean {\n return PopupManager.hideInputEditor();\n }\n\n /** Opens a Dialog and automatically populates it using the properties defined by the UiDataProvider.\n * @param uiDataProvider The UiDataProvider for the tool settings\n * @param title Specify title for dialog.\n * @param isModal Specify if the dialog is opened as a modal or modeless.\n * @param id Id of the dialog that is used to close it.\n * @param optionalProps Optional props for Dialog construction.\n * @return true if the tool settings were displayed, false if the tool settings could not be displayed.\n * @internal\n */\n public static openDialog(\n uiDataProvider: DialogLayoutDataProvider,\n title: string,\n isModal: boolean,\n id: string,\n optionalProps?: DialogProps\n ): boolean {\n // eslint-disable-next-line deprecation/deprecation\n const dialog = createElement(UiDataProvidedDialog, {\n uiDataProvider,\n title,\n isModal,\n id,\n ...optionalProps,\n });\n const modalType = isModal ? \"modal\" : \"modeless\";\n UiFramework.dialogs[modalType].open(dialog, id);\n return true;\n }\n\n /** Closes the Dialog with the specified dialogId.\n * @param dialogId Id of the dialog to close.\n * @internal\n */\n public static closeDialog(dialogId: string): boolean {\n const findFn = (info: DialogInfo) => info.id === dialogId;\n if (UiFramework.dialogs.modeless.dialogs.findIndex(findFn) !== -1) {\n UiFramework.dialogs.modeless.close(dialogId);\n return true;\n }\n\n if (UiFramework.dialogs.modal.dialogs.findIndex(findFn) !== -1) {\n UiFramework.dialogs.modal.close();\n return true;\n }\n\n return false;\n }\n\n /** Show the Key-in Palette to display key-in from all registered Tools.\n * @param keyinEntries A list of KeyinEntry to display in the palette. These can be gathered and filtered from iModelApp.tools.getToolList()\n * @param htmlElement The HTMLElement that anchors the Popup. If undefined, the location is relative to the overall window.\n * @return true if the Command Palette was displayed, false if it could not be displayed.\n */\n public static showKeyinPalette(\n keyinEntries: KeyinEntry[],\n htmlElement?: HTMLElement\n ): boolean {\n return PopupManager.showKeyinPalette(\n keyinEntries,\n UiFramework.resolveHtmlElement(htmlElement)\n );\n }\n\n /** Hides the Key-in Palette. */\n public static hideKeyinPalette(): boolean {\n return PopupManager.hideKeyinPalette();\n }\n\n private static resolveHtmlElement(htmlElement?: HTMLElement): HTMLElement {\n // eslint-disable-next-line deprecation/deprecation\n const el = htmlElement ?? UiFramework.controls.getWrapperElement();\n return el;\n }\n\n /* eslint-disable deprecation/deprecation */\n\n /** @deprecated in 4.15.0. Use your preferred state management library instead and {@link SyncUiEventDispatcher} to dispatch sync UI events. */\n public static dispatchActionToStore(\n type: string,\n payload: any,\n immediateSync = false\n ) {\n const reduxStore = UiFramework.reduxStore;\n const reduxState = reduxStore?.getState();\n const frameworkState = reduxState?.[UiFramework.frameworkStateKey];\n if (!frameworkState) return;\n reduxStore!.dispatch({ type, payload });\n dispatchSyncUiEvent(type, immediateSync);\n }\n\n /** Key used to access framework state from redux store.\n * @deprecated in 4.15.0. Use your preferred state management library instead.\n */\n public static get frameworkStateKey(): string {\n return UiFramework._frameworkStateKeyInStore;\n }\n\n /** The Redux store.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use your preferred state management library instead.\n */\n public static get store(): Store<any> {\n const reduxStore = this.reduxStore;\n if (!reduxStore) {\n throw new UiError(\n UiFramework.loggerCategory(\"UiFramework\"),\n `Error trying to access redux store before either store or StateManager has been initialized.`\n );\n }\n\n return reduxStore;\n }\n\n /** @internal */\n public static get reduxStore(): Store<any> | undefined {\n if (UiFramework._store) {\n return UiFramework._store;\n }\n\n if (StateManager.isInitialized(true)) {\n return StateManager.store;\n }\n\n return undefined;\n }\n\n /** The UiFramework state maintained by Redux.\n * @note Returned fields should not be modified. Use the appropriate action dispatchers to modify the state.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use your preferred state management library instead.\n */\n public static get frameworkState(): ReduxFrameworkState | undefined {\n const store = UiFramework.reduxStore;\n const state = store?.getState();\n const frameworkState = state?.[UiFramework.frameworkStateKey];\n return frameworkState;\n }\n\n /** Set the theme value used by the [[ThemeManager]] component.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `theme` as a prop.\n */\n public static getColorTheme(): ThemeId {\n return (\n UiFramework.frameworkState?.configurableUiState.theme ??\n SYSTEM_PREFERRED_COLOR_THEME\n );\n }\n\n /** Set the theme value used by the [[ThemeManager]] component.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use `theme` prop of {@link ThemeManager}.\n */\n public static setColorTheme(theme: ThemeId) {\n if (UiFramework.getColorTheme() === theme) return;\n\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.SetTheme,\n theme,\n true\n );\n }\n\n /** Returns the variable controlling whether the overlay is displayed in a Viewport.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `viewOverlay` as a prop.\n */\n public static get viewOverlayDisplay() {\n return (\n UiFramework.frameworkState?.configurableUiState.viewOverlayDisplay ?? true\n );\n }\n\n /** Set the variable that controls display of the view overlay. Applies to all viewports in the app.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use {@link ConfigurableUiContentProps.viewOverlay} prop of {@link ConfigurableUiContent}.\n */\n public static setViewOverlayDisplay(display: boolean) {\n if (UiFramework.viewOverlayDisplay === display) return;\n\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.SetViewOverlayDisplay,\n display\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `widgetOpacity` as a prop.\n */\n public static getWidgetOpacity(): number {\n return (\n UiFramework.frameworkState?.configurableUiState.widgetOpacity ??\n WIDGET_OPACITY_DEFAULT\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use {@link ConfigurableUiContentProps.widgetOpacity} prop of {@link ConfigurableUiContent}.\n */\n public static setWidgetOpacity(opacity: number) {\n if (UiFramework.getWidgetOpacity() === opacity) return;\n\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.SetWidgetOpacity,\n opacity,\n true\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `snapMode` as a prop.\n */\n public static getAccudrawSnapMode(): SnapMode {\n return (\n UiFramework.frameworkState?.configurableUiState.snapMode ??\n SnapMode.NearestKeypoint\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use `snapMode` prop of {@link SnapModeField}.\n */\n public static setAccudrawSnapMode(snapMode: SnapMode) {\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.SetSnapMode,\n snapMode,\n true\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `useDragInteraction` as a prop.\n */\n public static get useDragInteraction(): boolean {\n return (\n UiFramework.frameworkState?.configurableUiState.useDragInteraction ??\n false\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use `useDragInteraction` prop of {@link Toolbar}.\n */\n public static setUseDragInteraction(useDragInteraction: boolean) {\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.SetDragInteraction,\n useDragInteraction,\n true\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `widgetIcon` as a prop.\n */\n public static get showWidgetIcon(): boolean {\n return (\n UiFramework.frameworkState?.configurableUiState.showWidgetIcon ?? false\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use {@link ConfigurableUiContentProps.widgetIcon} prop of {@link ConfigurableUiContent}.\n */\n public static setShowWidgetIcon(value: boolean) {\n if (UiFramework.showWidgetIcon === value) return;\n\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.SetShowWidgetIcon,\n value,\n true\n );\n }\n\n /** When `true`, panels will close as soon as the mouse leave the panel.\n * When `false` (default), panels will close on next click outside the panel.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `collapsePanels` as a prop.\n */\n public static get autoCollapseUnpinnedPanels(): boolean {\n return (\n UiFramework.frameworkState?.configurableUiState\n .autoCollapseUnpinnedPanels ?? false\n );\n }\n\n /** Method used to enable the automatic closing of an unpinned widget panel as soon as the\n * mouse leaves the widget panel. The default behavior is to require a mouse click outside\n * the panel before it is closed.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use {@link ConfigurableUiContentProps.collapsePanels} prop of {@link ConfigurableUiContent}.\n */\n public static setAutoCollapseUnpinnedPanels(value: boolean) {\n if (UiFramework.autoCollapseUnpinnedPanels === value) return;\n\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.AutoCollapseUnpinnedPanels,\n value,\n true\n );\n }\n\n /** Animate Tool Settings on appear.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `animateToolSettings` as a prop.\n */\n public static get animateToolSettings(): boolean {\n return (\n UiFramework.frameworkState?.configurableUiState.animateToolSettings ??\n false\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use {@link ConfigurableUiContentProps.animateToolSettings} prop of {@link ConfigurableUiContent}.\n */\n public static setAnimateToolSettings(value: boolean) {\n if (UiFramework.animateToolSettings === value) return;\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.AnimateToolSettings,\n value,\n true\n );\n }\n\n /** Use Tool Name As Tool Settings Widget Tab Label.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `toolAsToolSettingsLabel` as a prop.\n */\n public static get useToolAsToolSettingsLabel(): boolean {\n return (\n UiFramework.frameworkState?.configurableUiState\n .useToolAsToolSettingsLabel ?? false\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use {@link ConfigurableUiContentProps.toolAsToolSettingsLabel} prop of {@link ConfigurableUiContent}.\n */\n public static setUseToolAsToolSettingsLabel(value: boolean) {\n if (UiFramework.useToolAsToolSettingsLabel === value) return;\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.UseToolAsToolSettingsLabel,\n value,\n true\n );\n }\n\n /** UiFramework.getToolbarOpacity() returns a number between 0 and 1 that is the non-hovered opacity for toolbars.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `opacity` as a prop.\n */\n public static getToolbarOpacity(): number {\n return (\n UiFramework.frameworkState?.configurableUiState.toolbarOpacity ??\n TOOLBAR_OPACITY_DEFAULT\n );\n }\n\n /** UiFramework.setToolbarOpacity() sets the non-hovered opacity to the value specified.\n * @param opacity a value between 0 and 1. The default value is 0.5. IT IS NOT ADVISED TO USE A VALUE BELOW 0.2\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use {@link ConfigurableUiContentProps.toolbarOpacity} prop of {@link ConfigurableUiContent}.\n */\n public static setToolbarOpacity(opacity: number) {\n if (UiFramework.getToolbarOpacity() === opacity) return;\n\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.SetToolbarOpacity,\n opacity,\n true\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Get id from iModel connection.\n */\n public static getActiveIModelId(): string {\n return UiFramework.frameworkState?.sessionState.iModelId ?? \"\";\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Not used by AppUI components.\n */\n public static setActiveIModelId(iModelId: string): void {\n UiFramework.dispatchActionToStore(\n SessionStateActionId.SetActiveIModelId,\n iModelId\n );\n }\n\n /** Returns the stored active selection scope id.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `activeScope` as a prop.\n */\n public static getActiveSelectionScope(): string {\n return (\n UiFramework.frameworkState?.sessionState.activeSelectionScope ?? \"element\"\n );\n }\n /** This method stores the active selection scope to the supplied scope id, and triggers\n * a `SessionStateActionId.SetSelectionScope` event in the `SyncUiEventDispatcher`.\n * Note: As of 4.0, this method *does not change* the active selection scope in the `Presentation.selection.scopes.activeScope` property.\n * This event should be listened to and the change should typically be applied to\n * `Presentation.selection.scopes.activeScope` property from the `@itwin/presentation-frontend` package.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use `activeScope` prop of {@link SelectionScopeField}.\n */\n public static setActiveSelectionScope(selectionScopeId: string): void {\n if (!UiFramework.frameworkState) return;\n\n const foundIndex =\n UiFramework.frameworkState.sessionState.availableSelectionScopes.findIndex(\n (selectionScope: PresentationSelectionScope) =>\n selectionScope.id === selectionScopeId\n );\n if (foundIndex < 0) return;\n\n UiFramework.dispatchActionToStore(\n SessionStateActionId.SetSelectionScope,\n selectionScopeId\n );\n }\n\n /** Returns the stored list of available selection scopes. This list should be set by the application\n * by dispatching the `setAvailableSelectionScopes` action.\n * The value for this action typically come from `Presentation.selection.scopes.getSelectionScopes()`\n * method found in the `@itwin/presentation-frontend` package.\n * @note Returned value is immutable.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `selectionScopes` as a prop.\n */\n public static getAvailableSelectionScopes(): PresentationSelectionScope[] {\n return (\n UiFramework.frameworkState?.sessionState.availableSelectionScopes ?? [\n { id: \"element\", label: \"Element\" },\n ]\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Not used by AppUI components.\n */\n public static getDefaultIModelViewportControlId(): string | undefined {\n return (\n UiFramework.frameworkState?.sessionState.defaultIModelViewportControlId ??\n undefined\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Not used by AppUI components.\n */\n public static setDefaultIModelViewportControlId(\n iModelViewportControlId: string,\n immediateSync = false\n ) {\n UiFramework.dispatchActionToStore(\n SessionStateActionId.SetDefaultIModelViewportControlId,\n iModelViewportControlId,\n immediateSync\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Not used by AppUI components.\n */\n public static getDefaultViewId(): string | undefined {\n return UiFramework.frameworkState?.sessionState.defaultViewId ?? undefined;\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Not used by AppUI components.\n */\n public static setDefaultViewId(viewId: string, immediateSync = false) {\n UiFramework.dispatchActionToStore(\n SessionStateActionId.SetDefaultViewId,\n viewId,\n immediateSync\n );\n }\n\n /* eslint-enable deprecation/deprecation */\n}\n\n/** @internal */\nexport const appUi = (() => {\n let _windowManager: InternalChildWindowManager | undefined;\n\n function getWindowManager() {\n if (!_windowManager) _windowManager = new InternalChildWindowManager();\n return _windowManager;\n }\n\n return {\n get windowManager() {\n return getWindowManager();\n },\n };\n})();\n\nfunction dispatchSyncUiEvent(eventId: string, immediateSync = false) {\n if (immediateSync) {\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(eventId);\n return;\n }\n SyncUiEventDispatcher.dispatchSyncUiEvent(eventId);\n}\n"]}
1
+ {"version":3,"file":"UiFramework.js","sourceRoot":"","sources":["../../src/appui-react/UiFramework.ts"],"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 Utilities\n */\n\nimport type { AnyAction, Store } from \"redux\";\nimport { BeUiEvent, Logger, ProcessDetector } from \"@itwin/core-bentley\";\nimport type { TranslationOptions } from \"@itwin/core-common\";\nimport type { IModelConnection, ViewState } from \"@itwin/core-frontend\";\nimport { SnapMode } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type {\n DialogLayoutDataProvider,\n DialogProps,\n Primitives,\n PropertyDescription,\n PropertyRecord,\n} from \"@itwin/appui-abstract\";\nimport { UiAdmin, UiError, UiEvent } from \"@itwin/appui-abstract\";\nimport { UiIModelComponents } from \"@itwin/imodel-components-react\";\nimport { BackstageManager } from \"./backstage/BackstageManager.js\";\nimport { InternalChildWindowManager } from \"./childwindow/InternalChildWindowManager.js\";\nimport { InternalConfigurableUiManager } from \"./configurableui/InternalConfigurableUiManager.js\";\nimport type { FrameworkState as ReduxFrameworkState } from \"./redux/FrameworkState.js\";\nimport type {\n CursorMenuData,\n CursorMenuPayload,\n PresentationSelectionScope,\n} from \"./redux/SessionState.js\";\nimport { SessionStateActionId } from \"./redux/SessionState.js\";\nimport { StateManager } from \"./redux/StateManager.js\";\nimport type { HideIsolateEmphasizeActionHandler } from \"./selection/HideIsolateEmphasizeManager.js\";\nimport { HideIsolateEmphasizeManager } from \"./selection/HideIsolateEmphasizeManager.js\";\nimport * as keyinPaletteTools from \"./tools/KeyinPaletteTools.js\";\nimport * as openSettingTools from \"./tools/OpenSettingsTool.js\";\nimport * as restoreLayoutTools from \"./tools/RestoreLayoutTool.js\";\nimport * as toolSettingTools from \"./tools/ToolSettingsTools.js\";\nimport {\n InternalUiShowHideManager,\n UiShowHideSettingsProvider,\n} from \"./utils/InternalUiShowHideManager.js\";\nimport { WidgetManager } from \"./widgets/WidgetManager.js\";\nimport { InternalFrontstageManager } from \"./frontstage/InternalFrontstageManager.js\";\nimport { InternalContentViewManager } from \"./content/InternalContentViewManager.js\";\nimport { InternalModalDialogManager } from \"./dialog/InternalModalDialogManager.js\";\nimport { InternalModelessDialogManager } from \"./dialog/InternalModelessDialogManager.js\";\nimport { InternalKeyboardShortcutManager } from \"./keyboardshortcut/InternalKeyboardShortcut.js\";\nimport { InternalToolSettingsManager } from \"./toolsettings/InternalToolSettingsManager.js\";\nimport type { FrameworkBackstage } from \"./framework/FrameworkBackstage.js\";\nimport type { FrameworkChildWindows } from \"./framework/FrameworkChildWindows.js\";\nimport type { FrameworkControls } from \"./framework/FrameworkControls.js\";\nimport type { FrameworkFrontstages } from \"./framework/FrameworkFrontstages.js\";\nimport type { FrameworkToolSettings } from \"./framework/FrameworkToolSettings.js\";\nimport type { FrameworkContent } from \"./framework/FrameworkContent.js\";\nimport type { FrameworkDialogs } from \"./framework/FrameworkDialogs.js\";\nimport type { FrameworkKeyboardShortcuts } from \"./framework/FrameworkKeyboardShortcuts.js\";\nimport type { FrameworkVisibility } from \"./framework/FrameworkVisibility.js\";\nimport {\n SyncUiEventDispatcher,\n SyncUiEventId,\n} from \"./syncui/SyncUiEventDispatcher.js\";\nimport type { XAndY } from \"@itwin/core-geometry\";\nimport { PopupManager } from \"./popup/PopupManager.js\";\nimport { AccuDrawPopupManager } from \"./accudraw/AccuDrawPopupManager.js\";\nimport { UiDataProvidedDialog } from \"./dialog/UiDataProvidedDialog.js\";\nimport type { RefObject } from \"react\";\nimport { createElement } from \"react\";\nimport type { DialogInfo } from \"./dialog/DialogManagerBase.js\";\nimport type { KeyinEntry } from \"./keyins/Keyins.js\";\nimport { mapToRelativePosition, type Placement } from \"./utils/Placement.js\";\nimport type { Toolbar, ToolbarProps } from \"./toolbar/Toolbar.js\";\nimport type { CursorMenuItemProps } from \"./shared/MenuItem.js\";\nimport {\n SYSTEM_PREFERRED_COLOR_THEME,\n type ThemeId,\n TOOLBAR_OPACITY_DEFAULT,\n WIDGET_OPACITY_DEFAULT,\n} from \"./theme/ThemeId.js\";\nimport { ConfigurableUiActionId } from \"./redux/ConfigurableUiState.js\";\nimport type {\n ConfigurableUiContent,\n ConfigurableUiContentProps,\n} from \"./configurableui/ConfigurableUiContent.js\";\nimport type { SelectionScopeField } from \"./statusfields/SelectionScope.js\";\nimport type { SnapModeField } from \"./statusfields/SnapMode.js\";\nimport type { ThemeManager } from \"./theme/ThemeManager.js\";\nimport { useGlobalStore } from \"./uistate/useGlobalStore.js\";\nimport type { UiStateStorage } from \"./uistate/UiStateStorage.js\";\nimport { LocalStateStorage } from \"./uistate/LocalStateStorage.js\";\nimport { SettingsManager } from \"./settings/SettingsManager.js\";\n\ninterface ShowInputEditorOptions {\n location: XAndY;\n anchorElement?: HTMLElement;\n initialValue: Primitives.Value; // need strategy for replacing (appui-abstract)\n propertyDescription: PropertyDescription;\n onCommit: (value: Primitives.Value) => void;\n onCancel: () => void;\n}\n\n/** Interface to be implemented but any classes that wants to load their user settings when the UiStateEntry storage class is set.\n * @public\n */\nexport interface UserSettingsProvider {\n /** Unique provider Id */\n providerId: string;\n /** Function to load settings from settings storage */\n loadUserSettings(storage: UiStateStorage): Promise<void>;\n}\n\n/** UiVisibility Event Args interface.\n * @public\n * @deprecated in 4.13.0. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface UiVisibilityEventArgs {\n visible: boolean;\n}\n\n/** UiVisibility Event class.\n * @public\n * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class UiVisibilityChangedEvent extends UiEvent<UiVisibilityEventArgs> {}\n\n/** TrackingTime time argument used by our feature tracking manager as an option argument to the TelemetryClient\n * @internal\n */\nexport interface TrackingTime {\n startTime: Date;\n endTime: Date;\n}\n\ntype fn = typeof PopupManager.showComponent;\ntype ShowComponentParams = Parameters<fn>;\ntype OptionalShowComponentParams = [\n ShowComponentParams[0],\n Partial<\n Exclude<ShowComponentParams[1], \"anchor\"> & {\n anchorRef?: RefObject<HTMLElement>;\n }\n >?\n];\n\n/** Main entry point to configure and interact with the features provided by the AppUi-react package.\n * @public\n */\nexport class UiFramework {\n /** Operation on the backstage component. */\n public static get backstage(): FrameworkBackstage {\n if (!UiFramework._backstageManager)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n UiFramework.loggerCategory(\"UiFramework\"),\n UiFramework._complaint\n );\n return UiFramework._backstageManager;\n }\n\n /** Manage access to the child windows. */\n public static get childWindows(): FrameworkChildWindows {\n return appUi.windowManager;\n }\n\n /** Manage registered controls.\n * @deprecated in 4.16.0. Uses a deprecated interface {@link FrameworkControls}.\n */\n // eslint-disable-next-line deprecation/deprecation\n public static get controls(): FrameworkControls {\n return InternalConfigurableUiManager;\n }\n\n /** Manage access to frontstages and related helper methods. */\n public static get frontstages(): FrameworkFrontstages {\n return InternalFrontstageManager;\n }\n\n /** Manage access and behavior of the tool settings. */\n public static get toolSettings(): FrameworkToolSettings {\n return InternalToolSettingsManager;\n }\n\n /** Manage content presented by the frontstages. */\n public static get content(): FrameworkContent {\n return InternalContentViewManager;\n }\n\n /** Manage displayed dialogs. */\n public static get dialogs(): FrameworkDialogs {\n return {\n modal: InternalModalDialogManager,\n modeless: InternalModelessDialogManager,\n };\n }\n\n /** Manages global keyboard shortcuts\n *\n * Note: This only manages the list of available shortcuts registered with it. It does not listens to the actual\n * keyboard events. In order for these shortcuts to be called upon a keyboard event, the application can\n * override the `IModelApp.toolAdmin` and assign it [[FrameworkToolAdmin]] or create an event listener\n * and call `UiFramework.keyboardShortcuts.processKey`.\n */\n public static get keyboardShortcuts(): FrameworkKeyboardShortcuts {\n return InternalKeyboardShortcutManager;\n }\n\n /** Manages UI visibility (Show/Hide). */\n public static get visibility(): FrameworkVisibility {\n return InternalUiShowHideManager;\n }\n\n private static _initialized = false;\n private static _store?: Store<any>;\n private static _complaint = \"UiFramework not initialized\";\n private static _frameworkStateKeyInStore: string = \"frameworkState\"; // default name\n // eslint-disable-next-line deprecation/deprecation\n private static _backstageManager?: BackstageManager;\n private static _widgetManager?: WidgetManager;\n private static _hideIsolateEmphasizeActionHandler?: HideIsolateEmphasizeActionHandler;\n /** this provides a default state storage handler */\n private static _uiStateStorage: UiStateStorage = new LocalStateStorage();\n private static _settingsManager?: SettingsManager;\n private static _uiSettingsProviderRegistry: Map<\n string,\n UserSettingsProvider\n > = new Map<string, UserSettingsProvider>();\n public static useDefaultPopoutUrl = false;\n private static readonly CONTEXT_MENU_OFFSET = -8;\n\n /** Event raised within UiFramework.setIModelConnection */\n public static readonly onIModelConnectionChanged = new BeUiEvent<\n IModelConnection | undefined\n >();\n\n /** Registers class that will be informed when the UserSettingsStorage location has been set or changed. This allows\n * classes to load any previously saved settings from the new storage location. Common storage locations are the browser's\n * local storage, or the iTwin Product Settings cloud storage available via the SettingsAdmin see `IModelApp.settingsAdmin`.\n */\n public static registerUserSettingsProvider(entry: UserSettingsProvider) {\n if (this._uiSettingsProviderRegistry.has(entry.providerId)) return false;\n\n this._uiSettingsProviderRegistry.set(entry.providerId, entry);\n return true;\n }\n\n /** Get Show Ui event. */\n // eslint-disable-next-line deprecation/deprecation\n public static readonly onUiVisibilityChanged = new UiVisibilityChangedEvent();\n\n /** Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore. */\n public static async initialize(): Promise<void>;\n /** Called by the application to initialize the UiFramework. Also initializes UIIModelComponents, UiComponents, UiCore.\n * @param store The single Redux store created by the host application. If this is `undefined` then it is assumed that the [[StateManager]] is being used to provide the Redux store.\n * @param frameworkStateKey The name of the key used by the app when adding the UiFramework state into the Redux store. If not defined \"frameworkState\" is assumed. This value is ignored if [[StateManager]] is being used. The StateManager use \"frameworkState\".\n * @deprecated in 4.15.0. Continue using redux initializer until all application components react to redux deprecations. Use overload without parameters instead.\n */\n public static async initialize(\n // eslint-disable-next-line deprecation/deprecation\n store: Store<any, AnyAction> | undefined,\n // eslint-disable-next-line @typescript-eslint/unified-signatures\n frameworkStateKey?: string\n ): Promise<void>;\n public static async initialize(\n // eslint-disable-next-line deprecation/deprecation\n store?: Store<any, AnyAction> | undefined,\n frameworkStateKey?: string\n ): Promise<void> {\n // TODO: check `arguments` to determine between redux & no-redux initializers.\n if (UiFramework._initialized) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"UiFramework\"),\n `UiFramework.initialize already called`\n );\n return;\n }\n\n /* if store is undefined then the StateManager class should have been initialized by parent app and the apps default set of reducers registered with it.\n If the app has no reducers to add and does not initialize a StateManager then just initialize the StateManager with the default framework reducer now */\n // eslint-disable-next-line deprecation/deprecation\n if (undefined === store && !StateManager.isInitialized(true))\n // eslint-disable-next-line deprecation/deprecation\n new StateManager();\n\n UiFramework._store = store;\n\n // ignore setting _frameworkStateKeyInStore if not using store\n if (frameworkStateKey && store)\n UiFramework._frameworkStateKeyInStore = frameworkStateKey;\n\n // set up namespace and register all tools from package\n const frameworkNamespace = IModelApp.localization?.registerNamespace(\n UiFramework.localizationNamespace\n );\n [\n restoreLayoutTools,\n keyinPaletteTools,\n openSettingTools,\n toolSettingTools,\n ].forEach((tool) =>\n IModelApp.tools.registerModule(tool, this.localizationNamespace)\n );\n\n // eslint-disable-next-line deprecation/deprecation\n UiFramework._backstageManager = new BackstageManager();\n UiFramework._hideIsolateEmphasizeActionHandler =\n new HideIsolateEmphasizeManager(); // this allows user to override the default HideIsolateEmphasizeManager implementation.\n UiFramework._widgetManager = new WidgetManager();\n\n // Initialize ui-imodel-components, ui-components, ui-core & ui-abstract\n await UiIModelComponents.initialize();\n\n UiFramework.settingsManager.onSettingsProvidersChanged.addListener(() => {\n dispatchSyncUiEvent(SyncUiEventId.SettingsProvidersChanged);\n });\n\n // Initialize the MessagePresenter interface in UiAdmin for Editor notifications\n UiAdmin.messagePresenter = IModelApp.notifications;\n\n UiFramework._initialized = true;\n\n // initialize any standalone settings providers that don't need to have defaults set by iModelApp\n UiShowHideSettingsProvider.initialize();\n\n InternalConfigurableUiManager.initialize();\n\n return frameworkNamespace;\n }\n\n /** Un-registers the UiFramework internationalization service namespace. */\n public static terminate() {\n InternalKeyboardShortcutManager.shortcutContainer.emptyData();\n UiFramework._store = undefined;\n UiFramework._frameworkStateKeyInStore = \"frameworkState\";\n // eslint-disable-next-line deprecation/deprecation\n if (StateManager.isInitialized(true)) StateManager.clearStore();\n IModelApp.localization?.unregisterNamespace(\n UiFramework.localizationNamespace\n );\n UiFramework._backstageManager = undefined;\n UiFramework._widgetManager = undefined;\n UiFramework._hideIsolateEmphasizeActionHandler = undefined;\n UiFramework._settingsManager = undefined;\n\n UiIModelComponents.terminate();\n InternalUiShowHideManager.terminate();\n UiFramework._initialized = false;\n }\n\n /** Determines if UiFramework has been initialized */\n public static get initialized(): boolean {\n return UiFramework._initialized;\n }\n\n /** Property that returns the SettingManager used by AppUI-based applications. */\n public static get settingsManager() {\n if (undefined === UiFramework._settingsManager)\n UiFramework._settingsManager = new SettingsManager();\n return UiFramework._settingsManager;\n }\n\n /** The internationalization service namespace. */\n public static get localizationNamespace(): string {\n return \"UiFramework\";\n }\n\n public static get hideIsolateEmphasizeActionHandler(): HideIsolateEmphasizeActionHandler {\n if (!UiFramework._hideIsolateEmphasizeActionHandler)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n UiFramework.loggerCategory(\"UiFramework\"),\n UiFramework._complaint\n );\n return UiFramework._hideIsolateEmphasizeActionHandler;\n }\n\n public static setHideIsolateEmphasizeActionHandler(\n handler: HideIsolateEmphasizeActionHandler | undefined\n ) {\n if (handler) UiFramework._hideIsolateEmphasizeActionHandler = handler;\n else\n UiFramework._hideIsolateEmphasizeActionHandler =\n new HideIsolateEmphasizeManager();\n }\n\n /** @alpha */\n public static get widgetManager(): WidgetManager {\n if (!UiFramework._widgetManager)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n UiFramework.loggerCategory(\"UiFramework\"),\n UiFramework._complaint\n );\n return UiFramework._widgetManager;\n }\n\n /** Calls localization.getLocalizedString with the \"UiFramework\" namespace. Do NOT include the namespace in the key.\n * @internal\n */\n public static translate(\n key: string | string[],\n options?: TranslationOptions\n ): string {\n return IModelApp.localization.getLocalizedString(\n `${UiFramework.localizationNamespace}:${key}`,\n options\n );\n }\n\n /** @internal */\n public static get packageName(): string {\n return \"appui-react\";\n }\n\n /** @internal */\n public static loggerCategory(name: string): string {\n return `${UiFramework.packageName}.${name}`;\n }\n\n /** Show a context menu at a particular location.\n * @param items Properties of the menu items to display.\n * @param location Location of the context menu, relative to the origin of anchorElement or the overall window.\n * @param anchorElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\n * @return true if the menu was displayed, false if the menu could not be displayed.\n */\n public static openContextMenu(\n items: CursorMenuItemProps[],\n location: XAndY,\n anchorElement?: HTMLElement\n ): boolean {\n let position = location;\n let childWindowId: string | undefined;\n\n if (anchorElement) {\n const anchorOffset = anchorElement.getBoundingClientRect();\n\n position = {\n x: anchorOffset.left + location.x,\n y: anchorOffset.top + location.y,\n };\n\n childWindowId = UiFramework.childWindows.findId(\n anchorElement.ownerDocument.defaultView\n );\n }\n\n position = {\n x: position.x + UiFramework.CONTEXT_MENU_OFFSET,\n y: position.y + UiFramework.CONTEXT_MENU_OFFSET,\n };\n\n const cursorMenuData: CursorMenuPayload = {\n position,\n items,\n childWindowId,\n };\n UiFramework.openCursorMenu(cursorMenuData);\n\n return true;\n }\n\n public static openCursorMenu(\n // eslint-disable-next-line deprecation/deprecation\n menuData: CursorMenuData | CursorMenuPayload | undefined\n ): void {\n // eslint-disable-next-line deprecation/deprecation\n if (this.frameworkState) {\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.dispatchActionToStore(\n // eslint-disable-next-line deprecation/deprecation\n SessionStateActionId.UpdateCursorMenu,\n menuData\n );\n return;\n }\n\n useGlobalStore.setState({ cursorMenuPayload: menuData });\n // eslint-disable-next-line deprecation/deprecation\n dispatchSyncUiEvent(SessionStateActionId.UpdateCursorMenu);\n }\n\n public static closeCursorMenu(): void {\n // eslint-disable-next-line deprecation/deprecation\n if (UiFramework.frameworkState) {\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.dispatchActionToStore(\n // eslint-disable-next-line deprecation/deprecation\n SessionStateActionId.UpdateCursorMenu,\n undefined\n );\n return;\n }\n\n useGlobalStore.setState({ cursorMenuPayload: undefined });\n // eslint-disable-next-line deprecation/deprecation\n dispatchSyncUiEvent(SessionStateActionId.UpdateCursorMenu);\n }\n\n /** @note Returned value is immutable. */\n public static getCursorMenuData(): // eslint-disable-next-line deprecation/deprecation\n CursorMenuData | CursorMenuPayload | undefined {\n // eslint-disable-next-line deprecation/deprecation\n const state = this.frameworkState;\n if (state) {\n return (\n // eslint-disable-next-line deprecation/deprecation\n state.sessionState.cursorMenuPayload ??\n // eslint-disable-next-line deprecation/deprecation\n state.sessionState.cursorMenuData\n );\n }\n\n return useGlobalStore.getState().cursorMenuPayload;\n }\n\n public static setIModelConnection(\n iModelConnection: IModelConnection | undefined,\n immediateSync = false\n ) {\n const oldConnection = UiFramework.getIModelConnection();\n if (oldConnection === iModelConnection) return;\n\n InternalFrontstageManager.clearFrontstageDefsForIModelId(\n oldConnection?.iModelId\n );\n\n oldConnection && SyncUiEventDispatcher.clearConnectionEvents(oldConnection);\n iModelConnection &&\n SyncUiEventDispatcher.initializeConnectionEvents(iModelConnection);\n\n // eslint-disable-next-line deprecation/deprecation\n if (UiFramework.frameworkState) {\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.dispatchActionToStore(\n // eslint-disable-next-line deprecation/deprecation\n SessionStateActionId.SetIModelConnection,\n iModelConnection,\n immediateSync\n );\n } else {\n useGlobalStore.setState({ iModelConnection });\n // eslint-disable-next-line deprecation/deprecation\n dispatchSyncUiEvent(SessionStateActionId.SetIModelConnection);\n }\n\n const itemsSelected = iModelConnection\n ? iModelConnection.selectionSet.elements.size\n : 0;\n\n UiFramework.setNumItemsSelected(itemsSelected);\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.setActiveIModelId(iModelConnection?.iModelId ?? \"\");\n UiFramework.onIModelConnectionChanged.emit(iModelConnection);\n }\n\n public static getIModelConnection(): IModelConnection | undefined {\n // eslint-disable-next-line deprecation/deprecation\n const frameworkState = UiFramework.frameworkState;\n if (frameworkState) {\n // eslint-disable-next-line deprecation/deprecation\n return frameworkState.sessionState.iModelConnection;\n }\n return useGlobalStore.getState().iModelConnection;\n }\n\n public static setNumItemsSelected(numSelected: number) {\n // eslint-disable-next-line deprecation/deprecation\n if (UiFramework.frameworkState) {\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.dispatchActionToStore(\n // eslint-disable-next-line deprecation/deprecation\n SessionStateActionId.SetNumItemsSelected,\n numSelected\n );\n return;\n }\n\n useGlobalStore.setState({ numItemsSelected: numSelected });\n // eslint-disable-next-line deprecation/deprecation\n dispatchSyncUiEvent(SessionStateActionId.SetNumItemsSelected);\n }\n\n public static getNumItemsSelected() {\n // eslint-disable-next-line deprecation/deprecation\n const state = this.frameworkState;\n if (state) {\n // eslint-disable-next-line deprecation/deprecation\n return state.sessionState.numItemsSelected;\n }\n\n return useGlobalStore.getState().numItemsSelected;\n }\n\n /** Called by iModelApp to initialize saved UI state from registered UseSettingsProviders. */\n public static async initializeStateFromUserSettingsProviders(\n immediateSync = false\n ) {\n // let any registered providers to load values from the new storage location\n const providerKeys = [...this._uiSettingsProviderRegistry.keys()];\n for await (const key of providerKeys) {\n await this._uiSettingsProviderRegistry\n .get(key)!\n .loadUserSettings(UiFramework._uiStateStorage);\n }\n\n dispatchSyncUiEvent(SyncUiEventId.UiStateStorageChanged, immediateSync);\n }\n\n public static async setUiStateStorage(\n storage: UiStateStorage,\n immediateSync = false\n ) {\n if (UiFramework._uiStateStorage === storage) return;\n\n UiFramework._uiStateStorage = storage;\n await this.initializeStateFromUserSettingsProviders(immediateSync);\n }\n\n /** The UI Settings Storage is a convenient wrapper around Local Storage to assist in caching state information across user sessions.\n * It was previously used to conflate both the state information across session and the information driven directly from user explicit action,\n * which are now handled with user preferences.\n */\n public static getUiStateStorage(): UiStateStorage {\n return UiFramework._uiStateStorage;\n }\n\n public static setDefaultViewState(\n viewState: ViewState,\n immediateSync = false\n ) {\n // eslint-disable-next-line deprecation/deprecation\n if (UiFramework.frameworkState) {\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.dispatchActionToStore(\n // eslint-disable-next-line deprecation/deprecation\n SessionStateActionId.SetDefaultViewState,\n viewState,\n immediateSync\n );\n return;\n }\n\n useGlobalStore.setState({ viewState });\n dispatchSyncUiEvent(\n // eslint-disable-next-line deprecation/deprecation\n SessionStateActionId.SetDefaultViewState,\n immediateSync\n );\n }\n\n public static getDefaultViewState(): ViewState | undefined {\n // eslint-disable-next-line deprecation/deprecation\n const frameworkState = UiFramework.frameworkState;\n if (frameworkState) {\n // eslint-disable-next-line deprecation/deprecation\n return frameworkState.sessionState.defaultViewState;\n }\n return useGlobalStore.getState().viewState;\n }\n\n /** @deprecated in 4.17.0. Use {@link @itwin/UiFramework.visibility.isUiVisible} instead. */\n public static getIsUiVisible() {\n return UiFramework.visibility.isUiVisible;\n }\n\n /** @deprecated in 4.17.0. Use {@link @itwin/UiFramework.visibility.isUiVisible} instead. */\n public static setIsUiVisible(visible: boolean) {\n UiFramework.visibility.isUiVisible = visible;\n }\n\n /** @deprecated in 4.13.0. Use {@link @itwin/core-bentley#ProcessDetector.isMobileBrowser} instead. */\n // eslint-disable-next-line @itwin/prefer-get\n public static isMobile() {\n return ProcessDetector.isMobileBrowser;\n }\n\n /** Determines whether a ContextMenu is open\n * @alpha\n */\n public static get isContextMenuOpen(): boolean {\n const contextMenu = document.querySelector(\"div.core-context-menu-opened\");\n return contextMenu !== null && contextMenu !== undefined;\n }\n\n /** Show a Card containing content, a title and a toolbar at a particular location.\n * @param content The React component of the content to display\n * @param title Title to display at the top of the card.\n * @param toolbarProps Properties of the Toolbar to display.\n * @param location Location of the Card, relative to the origin of anchorElement or the window.\n * @param offset Offset of the Card from the location.\n * @param onItemExecuted Function invoked after a Toolbar item is executed\n * @param onCancel Function invoked when the Escape key is pressed or a click occurs outside the Card\n * @param placement {@link Placement} relative to the given location. Defaults to top-end.\n * @param anchorElement The HTMLElement that anchors the Card. If undefined, the location is relative to the overall window.\n * @return true if the Card was displayed, false if the Card could not be displayed.\n * @internal\n */\n public static showCard(\n content: React.ReactNode,\n title: string | PropertyRecord | undefined,\n toolbarProps: ToolbarProps,\n location: XAndY,\n offset: XAndY,\n onItemExecuted: (item: any) => void,\n onCancel: () => void,\n placement: Placement = \"top-end\",\n anchorElement?: HTMLElement\n ): boolean {\n const anchor = this.resolveHtmlElement(anchorElement);\n\n return PopupManager.displayCard(content, {\n title,\n toolbarProps,\n location,\n offset,\n onItemExecuted,\n onCancel,\n placement,\n anchor,\n });\n }\n\n /**\n * Hides a Card displayed with {@link UiFramework.showCard}\n * @internal\n */\n public static hideCard() {\n return PopupManager.hideCard();\n }\n\n /** Opens a Tool Settings Ui popup at a particular location.\n * @param dataProvider The DialogLayoutDataProvider for the tool settings popup dialog.\n * @param location Location of the tool settings, relative to the origin of anchorElement or the window\n * @param offset Offset of the tool settings from the location\n * @param onCancel Function invoked when the Escape key is pressed or a click occurs outside the tool settings\n * @param placement {@link Placement} relative to the given location. Defaults to top-end.\n * @param anchorElement The HTMLElement that anchors the tool settings. If undefined, the location is relative to the overall window.\n * @return true if the tool settings were displayed, false if the tool settings could not be displayed.\n * @internal\n */\n public static openToolSettingsPopup(\n dataProvider: DialogLayoutDataProvider,\n location: XAndY,\n offset: XAndY,\n onCancel: () => void,\n placement: Placement = \"top-end\",\n anchorElement?: HTMLElement\n ): boolean {\n const el = this.resolveHtmlElement(anchorElement);\n const relativePosition = mapToRelativePosition(placement);\n\n return PopupManager.openToolSettings(\n dataProvider,\n el,\n location,\n offset,\n onCancel,\n relativePosition\n );\n }\n\n /**\n * Closes the Tool Settings Ui popup.\n * @internal\n */\n public static closeToolSettingsPopup() {\n return PopupManager.closeToolSettings();\n }\n\n /** Show a Toolbar at a particular location.\n * @param toolbarProps Properties of the Toolbar to display.\n * @param location Location of the Toolbar, relative to the origin of anchorElement or the overall window.\n * @param offset Offset of the Toolbar from the location.\n * @param onItemExecuted Function invoked after a Toolbar item is executed\n * @param onCancel Function invoked when the Escape key is pressed or a click occurs outside the Toolbar\n * @param placement {@link Placement} relative to the given location. Defaults to top-end.\n * @param anchorElement The HTMLElement that anchors the Toolbar. If undefined, the location is relative to the overall window.\n * @return true if the Toolbar was displayed, false if the Toolbar could not be displayed.\n */\n public static showToolbar(\n toolbarProps: ToolbarProps,\n location: XAndY,\n offset: XAndY,\n onItemExecuted: (item: any) => void,\n onCancel: () => void,\n placement: Placement = \"top-end\",\n anchorElement?: HTMLElement\n ): boolean {\n const anchor = UiFramework.resolveHtmlElement(anchorElement);\n\n return PopupManager.displayToolbar(toolbarProps.items, {\n anchor,\n location,\n offset,\n onItemExecuted,\n onCancel,\n placement,\n });\n }\n\n /** Hides a toolbar displayed via {@link UiFramework.showToolbar} */\n public static hideToolbar() {\n return PopupManager.hideToolbar();\n }\n\n /** Show a menu button at a particular location. A menu button opens a context menu.\n * @param id Id of the menu button. Multiple menu buttons may be displayed.\n * @param menuItemsProps Properties of the menu items to display.\n * @param location Location of the context menu, relative to the origin of anchorElement or the window.\n * @param anchorElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\n * @return true if the menu was displayed, false if the menu could not be displayed.\n */\n public static showMenuButton(\n id: string,\n menuItemsProps: CursorMenuItemProps[],\n location: XAndY,\n anchorElement?: HTMLElement\n ): boolean {\n const el = this.resolveHtmlElement(anchorElement);\n return AccuDrawPopupManager.showMenuButton(\n id,\n el,\n location,\n menuItemsProps\n );\n }\n\n /** Hides a menu button.\n * @param id Id of the menu button. Multiple menu buttons may be displayed.\n * @return true if the menu was hidden, false if the menu could not be hidden.\n */\n public static hideMenuButton(id: string) {\n return AccuDrawPopupManager.hideMenuButton(id);\n }\n /** Show a calculator at a particular location.\n * @param initialValue Value initially displayed in the calculator.\n * @param resultIcon Icon displayed to the left of the value.\n * @param location Location of the calculator, relative to the origin of anchorElement or the window.\n * @param onOk Function called when the OK button or the Enter key is pressed.\n * @param onCancel Function called when the Cancel button or the Escape key is pressed.\n * @param anchorElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\n * @return true if the menu was displayed, false if the menu could not be displayed.\n */\n public static showCalculator(\n initialValue: number,\n resultIcon: string,\n location: XAndY,\n onOk: (value: number) => void,\n onCancel: () => void,\n anchorElement?: HTMLElement\n ): boolean {\n const el = this.resolveHtmlElement(anchorElement);\n\n return AccuDrawPopupManager.showCalculator(\n el,\n location,\n initialValue,\n resultIcon,\n onOk,\n onCancel\n );\n }\n\n /** Hides the calculator. */\n public static hideCalculator(): boolean {\n return AccuDrawPopupManager.hideCalculator();\n }\n\n /** Show a React Element at a particular location.\n * @param component The ReactElement to display\n * @param options - Optional {@link: ShowComponentParams}\n */\n\n public static showComponent(...params: OptionalShowComponentParams): boolean {\n const options: (typeof params)[1] = params[1] || {};\n const component = params[0];\n const { anchorRef, id } = options;\n\n let { location, offset, onCancel, placement } = options;\n\n if (!location) location = { x: 0, y: 0 };\n if (!offset) offset = { x: 0, y: 0 };\n if (!placement) placement = \"top-end\";\n if (!onCancel) onCancel = () => UiFramework.hideComponent(id);\n\n return PopupManager.showComponent(component, {\n location,\n offset,\n onCancel,\n placement,\n anchor: anchorRef?.current ?? undefined,\n id,\n });\n }\n\n /**\n * Hides the Component previously shown with {@link UiFramework.showComponent}\n */\n public static hideComponent(id?: string): boolean {\n return PopupManager.hideComponent(id);\n }\n\n /** Show an input editor for an angle value at a particular location.\n * @param initialValue Value initially displayed in the editor.\n * @param location Location of the editor, relative to the origin of anchorElement or the window.\n * @param onCommit Function called when the OK button or the Enter key is pressed.\n * @param onCancel Function called when the Cancel button or the Escape key is pressed.\n * @param anchorElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\n * @return true if the editor was displayed, false if the editor could not be displayed.\n */\n public static showAngleEditor(\n initialValue: number,\n location: XAndY,\n onCommit: (value: number) => void,\n onCancel: () => void,\n anchorElement?: HTMLElement\n ): boolean {\n const el = this.resolveHtmlElement(anchorElement);\n\n return AccuDrawPopupManager.showAngleEditor(\n el,\n location,\n initialValue,\n onCommit,\n onCancel\n );\n }\n\n /** Show an input editor for a length value at a particular location.\n * @param ShowInputEditorOptions Options detailed below for the input editor\n * @param ShowInputEditorOptions.anchorElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\n * @param ShowInputEditorOptions.propertyDescription Description of the primitive value property\n * @param ShowInputEditorOptions.initialValue Value initially displayed in the editor.\n * @param ShowInputEditorOptions.location Location of the editor, relative to the origin of anchorElement or the window.\n * @param ShowInputEditorOptions.onCommit Function called when the OK button or the Enter key is pressed.\n * @param ShowInputEditorOptions.onCancel Function called when the Cancel button or the Escape key is pressed.\n * @return true if the editor was displayed, false if the editor could not be displayed.\n * @internal\n */\n public static showInputEditor({\n anchorElement,\n initialValue,\n location,\n onCancel,\n onCommit,\n propertyDescription,\n }: ShowInputEditorOptions): boolean {\n const el = this.resolveHtmlElement(anchorElement);\n PopupManager.showInputEditor(\n el,\n location,\n initialValue,\n propertyDescription,\n onCommit,\n onCancel\n );\n return true;\n }\n\n /** Show an input editor for a length value at a particular location.\n * @param dimension Dimension determining which editor to display.\n * @param initialValue Value initially displayed in the editor.\n * @param location Location of the editor, relative to the origin of anchorElement or the window.\n * @param onCommit Function called when the OK button or the Enter key is pressed.\n * @param onCancel Function called when the Cancel button or the Escape key is pressed.\n * @param anchorElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\n * @return true if the editor was displayed, false if the editor could not be displayed.\n */\n public static showDimensionEditor(\n dimension: \"height\" | \"length\",\n initialValue: number,\n location: XAndY,\n onCommit: (value: number) => void,\n onCancel: () => void,\n anchorElement?: HTMLElement\n ) {\n const el = this.resolveHtmlElement(anchorElement);\n return AccuDrawPopupManager.showDimensionEditor(\n dimension,\n el,\n location,\n initialValue,\n onCommit,\n onCancel\n );\n }\n\n /** Hides the input editor.\n * @internal\n */\n public static hideInputEditor(): boolean {\n return PopupManager.hideInputEditor();\n }\n\n /** Opens a Dialog and automatically populates it using the properties defined by the UiDataProvider.\n * @param uiDataProvider The UiDataProvider for the tool settings\n * @param title Specify title for dialog.\n * @param isModal Specify if the dialog is opened as a modal or modeless.\n * @param id Id of the dialog that is used to close it.\n * @param optionalProps Optional props for Dialog construction.\n * @return true if the tool settings were displayed, false if the tool settings could not be displayed.\n * @internal\n */\n public static openDialog(\n uiDataProvider: DialogLayoutDataProvider,\n title: string,\n isModal: boolean,\n id: string,\n optionalProps?: DialogProps\n ): boolean {\n // eslint-disable-next-line deprecation/deprecation\n const dialog = createElement(UiDataProvidedDialog, {\n uiDataProvider,\n title,\n isModal,\n id,\n ...optionalProps,\n });\n const modalType = isModal ? \"modal\" : \"modeless\";\n UiFramework.dialogs[modalType].open(dialog, id);\n return true;\n }\n\n /** Closes the Dialog with the specified dialogId.\n * @param dialogId Id of the dialog to close.\n * @internal\n */\n public static closeDialog(dialogId: string): boolean {\n const findFn = (info: DialogInfo) => info.id === dialogId;\n if (UiFramework.dialogs.modeless.dialogs.findIndex(findFn) !== -1) {\n UiFramework.dialogs.modeless.close(dialogId);\n return true;\n }\n\n if (UiFramework.dialogs.modal.dialogs.findIndex(findFn) !== -1) {\n UiFramework.dialogs.modal.close();\n return true;\n }\n\n return false;\n }\n\n /** Show the Key-in Palette to display key-in from all registered Tools.\n * @param keyinEntries A list of KeyinEntry to display in the palette. These can be gathered and filtered from iModelApp.tools.getToolList()\n * @param htmlElement The HTMLElement that anchors the Popup. If undefined, the location is relative to the overall window.\n * @return true if the Command Palette was displayed, false if it could not be displayed.\n */\n public static showKeyinPalette(\n keyinEntries: KeyinEntry[],\n htmlElement?: HTMLElement\n ): boolean {\n return PopupManager.showKeyinPalette(\n keyinEntries,\n UiFramework.resolveHtmlElement(htmlElement)\n );\n }\n\n /** Hides the Key-in Palette. */\n public static hideKeyinPalette(): boolean {\n return PopupManager.hideKeyinPalette();\n }\n\n private static resolveHtmlElement(htmlElement?: HTMLElement): HTMLElement {\n // eslint-disable-next-line deprecation/deprecation\n const el = htmlElement ?? UiFramework.controls.getWrapperElement();\n return el;\n }\n\n /* eslint-disable deprecation/deprecation */\n\n /** @deprecated in 4.15.0. Use your preferred state management library instead and {@link SyncUiEventDispatcher} to dispatch sync UI events. */\n public static dispatchActionToStore(\n type: string,\n payload: any,\n immediateSync = false\n ) {\n const reduxStore = UiFramework.reduxStore;\n const reduxState = reduxStore?.getState();\n const frameworkState = reduxState?.[UiFramework.frameworkStateKey];\n if (!frameworkState) return;\n reduxStore!.dispatch({ type, payload });\n dispatchSyncUiEvent(type, immediateSync);\n }\n\n /** Key used to access framework state from redux store.\n * @deprecated in 4.15.0. Use your preferred state management library instead.\n */\n public static get frameworkStateKey(): string {\n return UiFramework._frameworkStateKeyInStore;\n }\n\n /** The Redux store.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use your preferred state management library instead.\n */\n public static get store(): Store<any> {\n const reduxStore = this.reduxStore;\n if (!reduxStore) {\n throw new UiError(\n UiFramework.loggerCategory(\"UiFramework\"),\n `Error trying to access redux store before either store or StateManager has been initialized.`\n );\n }\n\n return reduxStore;\n }\n\n /** @internal */\n public static get reduxStore(): Store<any> | undefined {\n if (UiFramework._store) {\n return UiFramework._store;\n }\n\n if (StateManager.isInitialized(true)) {\n return StateManager.store;\n }\n\n return undefined;\n }\n\n /** The UiFramework state maintained by Redux.\n * @note Returned fields should not be modified. Use the appropriate action dispatchers to modify the state.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use your preferred state management library instead.\n */\n public static get frameworkState(): ReduxFrameworkState | undefined {\n const store = UiFramework.reduxStore;\n const state = store?.getState();\n const frameworkState = state?.[UiFramework.frameworkStateKey];\n return frameworkState;\n }\n\n /** Set the theme value used by the [[ThemeManager]] component.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `theme` as a prop.\n */\n public static getColorTheme(): ThemeId {\n return (\n UiFramework.frameworkState?.configurableUiState.theme ??\n SYSTEM_PREFERRED_COLOR_THEME\n );\n }\n\n /** Set the theme value used by the [[ThemeManager]] component.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use `theme` prop of {@link ThemeManager}.\n */\n public static setColorTheme(theme: ThemeId) {\n if (UiFramework.getColorTheme() === theme) return;\n\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.SetTheme,\n theme,\n true\n );\n }\n\n /** Returns the variable controlling whether the overlay is displayed in a Viewport.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `viewOverlay` as a prop.\n */\n public static get viewOverlayDisplay() {\n return (\n UiFramework.frameworkState?.configurableUiState.viewOverlayDisplay ?? true\n );\n }\n\n /** Set the variable that controls display of the view overlay. Applies to all viewports in the app.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use {@link ConfigurableUiContentProps.viewOverlay} prop of {@link ConfigurableUiContent}.\n */\n public static setViewOverlayDisplay(display: boolean) {\n if (UiFramework.viewOverlayDisplay === display) return;\n\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.SetViewOverlayDisplay,\n display\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `widgetOpacity` as a prop.\n */\n public static getWidgetOpacity(): number {\n return (\n UiFramework.frameworkState?.configurableUiState.widgetOpacity ??\n WIDGET_OPACITY_DEFAULT\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use {@link ConfigurableUiContentProps.widgetOpacity} prop of {@link ConfigurableUiContent}.\n */\n public static setWidgetOpacity(opacity: number) {\n if (UiFramework.getWidgetOpacity() === opacity) return;\n\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.SetWidgetOpacity,\n opacity,\n true\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `snapMode` as a prop.\n */\n public static getAccudrawSnapMode(): SnapMode {\n return (\n UiFramework.frameworkState?.configurableUiState.snapMode ??\n SnapMode.NearestKeypoint\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use `snapMode` prop of {@link SnapModeField}.\n */\n public static setAccudrawSnapMode(snapMode: SnapMode) {\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.SetSnapMode,\n snapMode,\n true\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `useDragInteraction` as a prop.\n */\n public static get useDragInteraction(): boolean {\n return (\n UiFramework.frameworkState?.configurableUiState.useDragInteraction ??\n false\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use `useDragInteraction` prop of {@link Toolbar}.\n */\n public static setUseDragInteraction(useDragInteraction: boolean) {\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.SetDragInteraction,\n useDragInteraction,\n true\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `widgetIcon` as a prop.\n */\n public static get showWidgetIcon(): boolean {\n return (\n UiFramework.frameworkState?.configurableUiState.showWidgetIcon ?? false\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use {@link ConfigurableUiContentProps.widgetIcon} prop of {@link ConfigurableUiContent}.\n */\n public static setShowWidgetIcon(value: boolean) {\n if (UiFramework.showWidgetIcon === value) return;\n\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.SetShowWidgetIcon,\n value,\n true\n );\n }\n\n /** When `true`, panels will close as soon as the mouse leave the panel.\n * When `false` (default), panels will close on next click outside the panel.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `collapsePanels` as a prop.\n */\n public static get autoCollapseUnpinnedPanels(): boolean {\n return (\n UiFramework.frameworkState?.configurableUiState\n .autoCollapseUnpinnedPanels ?? false\n );\n }\n\n /** Method used to enable the automatic closing of an unpinned widget panel as soon as the\n * mouse leaves the widget panel. The default behavior is to require a mouse click outside\n * the panel before it is closed.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use {@link ConfigurableUiContentProps.collapsePanels} prop of {@link ConfigurableUiContent}.\n */\n public static setAutoCollapseUnpinnedPanels(value: boolean) {\n if (UiFramework.autoCollapseUnpinnedPanels === value) return;\n\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.AutoCollapseUnpinnedPanels,\n value,\n true\n );\n }\n\n /** Animate Tool Settings on appear.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `animateToolSettings` as a prop.\n */\n public static get animateToolSettings(): boolean {\n return (\n UiFramework.frameworkState?.configurableUiState.animateToolSettings ??\n false\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use {@link ConfigurableUiContentProps.animateToolSettings} prop of {@link ConfigurableUiContent}.\n */\n public static setAnimateToolSettings(value: boolean) {\n if (UiFramework.animateToolSettings === value) return;\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.AnimateToolSettings,\n value,\n true\n );\n }\n\n /** Use Tool Name As Tool Settings Widget Tab Label.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `toolAsToolSettingsLabel` as a prop.\n */\n public static get useToolAsToolSettingsLabel(): boolean {\n return (\n UiFramework.frameworkState?.configurableUiState\n .useToolAsToolSettingsLabel ?? false\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use {@link ConfigurableUiContentProps.toolAsToolSettingsLabel} prop of {@link ConfigurableUiContent}.\n */\n public static setUseToolAsToolSettingsLabel(value: boolean) {\n if (UiFramework.useToolAsToolSettingsLabel === value) return;\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.UseToolAsToolSettingsLabel,\n value,\n true\n );\n }\n\n /** UiFramework.getToolbarOpacity() returns a number between 0 and 1 that is the non-hovered opacity for toolbars.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `opacity` as a prop.\n */\n public static getToolbarOpacity(): number {\n return (\n UiFramework.frameworkState?.configurableUiState.toolbarOpacity ??\n TOOLBAR_OPACITY_DEFAULT\n );\n }\n\n /** UiFramework.setToolbarOpacity() sets the non-hovered opacity to the value specified.\n * @param opacity a value between 0 and 1. The default value is 0.5. IT IS NOT ADVISED TO USE A VALUE BELOW 0.2\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use {@link ConfigurableUiContentProps.toolbarOpacity} prop of {@link ConfigurableUiContent}.\n */\n public static setToolbarOpacity(opacity: number) {\n if (UiFramework.getToolbarOpacity() === opacity) return;\n\n UiFramework.dispatchActionToStore(\n ConfigurableUiActionId.SetToolbarOpacity,\n opacity,\n true\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Get id from iModel connection.\n */\n public static getActiveIModelId(): string {\n return UiFramework.frameworkState?.sessionState.iModelId ?? \"\";\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Not used by AppUI components.\n */\n public static setActiveIModelId(iModelId: string): void {\n UiFramework.dispatchActionToStore(\n SessionStateActionId.SetActiveIModelId,\n iModelId\n );\n }\n\n /** Returns the stored active selection scope id.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `activeScope` as a prop.\n */\n public static getActiveSelectionScope(): string {\n return (\n UiFramework.frameworkState?.sessionState.activeSelectionScope ?? \"element\"\n );\n }\n /** This method stores the active selection scope to the supplied scope id, and triggers\n * a `SessionStateActionId.SetSelectionScope` event in the `SyncUiEventDispatcher`.\n * Note: As of 4.0, this method *does not change* the active selection scope in the `Presentation.selection.scopes.activeScope` property.\n * This event should be listened to and the change should typically be applied to\n * `Presentation.selection.scopes.activeScope` property from the `@itwin/presentation-frontend` package.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Use `activeScope` prop of {@link SelectionScopeField}.\n */\n public static setActiveSelectionScope(selectionScopeId: string): void {\n if (!UiFramework.frameworkState) return;\n\n const foundIndex =\n UiFramework.frameworkState.sessionState.availableSelectionScopes.findIndex(\n (selectionScope: PresentationSelectionScope) =>\n selectionScope.id === selectionScopeId\n );\n if (foundIndex < 0) return;\n\n UiFramework.dispatchActionToStore(\n SessionStateActionId.SetSelectionScope,\n selectionScopeId\n );\n }\n\n /** Returns the stored list of available selection scopes. This list should be set by the application\n * by dispatching the `setAvailableSelectionScopes` action.\n * The value for this action typically come from `Presentation.selection.scopes.getSelectionScopes()`\n * method found in the `@itwin/presentation-frontend` package.\n * @note Returned value is immutable.\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Components should take `selectionScopes` as a prop.\n */\n public static getAvailableSelectionScopes(): PresentationSelectionScope[] {\n return (\n UiFramework.frameworkState?.sessionState.availableSelectionScopes ?? [\n { id: \"element\", label: \"Element\" },\n ]\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Not used by AppUI components.\n */\n public static getDefaultIModelViewportControlId(): string | undefined {\n return (\n UiFramework.frameworkState?.sessionState.defaultIModelViewportControlId ??\n undefined\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Not used by AppUI components.\n */\n public static setDefaultIModelViewportControlId(\n iModelViewportControlId: string,\n immediateSync = false\n ) {\n UiFramework.dispatchActionToStore(\n SessionStateActionId.SetDefaultIModelViewportControlId,\n iModelViewportControlId,\n immediateSync\n );\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Not used by AppUI components.\n */\n public static getDefaultViewId(): string | undefined {\n return UiFramework.frameworkState?.sessionState.defaultViewId ?? undefined;\n }\n\n /**\n * @note Requires redux provider.\n * @deprecated in 4.15.0. Not used by AppUI components.\n */\n public static setDefaultViewId(viewId: string, immediateSync = false) {\n UiFramework.dispatchActionToStore(\n SessionStateActionId.SetDefaultViewId,\n viewId,\n immediateSync\n );\n }\n\n /* eslint-enable deprecation/deprecation */\n}\n\n/** @internal */\nexport const appUi = (() => {\n let _windowManager: InternalChildWindowManager | undefined;\n\n function getWindowManager() {\n if (!_windowManager) _windowManager = new InternalChildWindowManager();\n return _windowManager;\n }\n\n return {\n get windowManager() {\n return getWindowManager();\n },\n };\n})();\n\nfunction dispatchSyncUiEvent(eventId: string, immediateSync = false) {\n if (immediateSync) {\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(eventId);\n return;\n }\n SyncUiEventDispatcher.dispatchSyncUiEvent(eventId);\n}\n"]}
@@ -21,6 +21,10 @@
21
21
  "general": {
22
22
  "sheet": "Sheet",
23
23
  "alert": "Alert",
24
+ "error": "Error",
25
+ "warning": "Warning",
26
+ "information": "Information",
27
+ "success": "Success",
24
28
  "settings": "Settings",
25
29
  "minimize": "Minimize",
26
30
  "overflow": "Overflow",
@@ -1 +1 @@
1
- {"version":3,"file":"ChildWindowWidget.d.ts","sourceRoot":"","sources":["../../../src/appui-react/childwindow/ChildWindowWidget.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIzD,UAAU,sBAAsB;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,SAAS,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,iBAAiB,EACjB,SAAS,GACV,EAAE,sBAAsB,qBAaxB"}
1
+ {"version":3,"file":"ChildWindowWidget.d.ts","sourceRoot":"","sources":["../../../src/appui-react/childwindow/ChildWindowWidget.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMzD,UAAU,sBAAsB;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,SAAS,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,iBAAiB,EACjB,SAAS,GACV,EAAE,sBAAsB,qBAexB"}
@@ -9,6 +9,8 @@ import "./ChildWindowWidget.scss";
9
9
  import * as React from "react";
10
10
  import { useReparentPopoutWidget } from "../preview/reparent-popout-widgets/useReparentPopoutWidget.js";
11
11
  import { ReparentedPopoutWidget } from "../preview/reparent-popout-widgets/ReparentedPopoutWidget.js";
12
+ import { ErrorBoundary } from "react-error-boundary";
13
+ import { WidgetFallback } from "../widget-panels/Content.js";
12
14
  /** Component used to wrap a widget for use in a child window.
13
15
  * @internal
14
16
  */
@@ -17,6 +19,7 @@ export function ChildWindowWidget({ widgetContainerId, widgetDef, }) {
17
19
  if (reparent) {
18
20
  return React.createElement(ReparentedPopoutWidget, { widgetId: widgetContainerId });
19
21
  }
20
- return (React.createElement("div", { className: "uifw-popout-widget-filled-container", "data-widget-id": widgetContainerId }, widgetDef.reactNode));
22
+ return (React.createElement("div", { className: "uifw-popout-widget-filled-container", "data-widget-id": widgetContainerId },
23
+ React.createElement(ErrorBoundary, { FallbackComponent: WidgetFallback }, widgetDef.reactNode)));
21
24
  }
22
25
  //# sourceMappingURL=ChildWindowWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChildWindowWidget.js","sourceRoot":"","sources":["../../../src/appui-react/childwindow/ChildWindowWidget.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AACxG,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAC;AAOtG;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,iBAAiB,EACjB,SAAS,GACc;IACvB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,oBAAC,sBAAsB,IAAC,QAAQ,EAAE,iBAAiB,GAAI,CAAC;IACjE,CAAC;IACD,OAAO,CACL,6BACE,SAAS,EAAC,qCAAqC,oBAC/B,iBAAiB,IAEhC,SAAS,CAAC,SAAS,CAChB,CACP,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 ChildWindowManager\n */\n\nimport \"./ChildWindowWidget.scss\";\nimport * as React from \"react\";\nimport type { WidgetDef } from \"../widgets/WidgetDef.js\";\nimport { useReparentPopoutWidget } from \"../preview/reparent-popout-widgets/useReparentPopoutWidget.js\";\nimport { ReparentedPopoutWidget } from \"../preview/reparent-popout-widgets/ReparentedPopoutWidget.js\";\n\ninterface ChildWindowWidgetProps {\n widgetContainerId: string;\n widgetDef: WidgetDef;\n}\n\n/** Component used to wrap a widget for use in a child window.\n * @internal\n */\nexport function ChildWindowWidget({\n widgetContainerId,\n widgetDef,\n}: ChildWindowWidgetProps) {\n const reparent = useReparentPopoutWidget(widgetDef.id);\n if (reparent) {\n return <ReparentedPopoutWidget widgetId={widgetContainerId} />;\n }\n return (\n <div\n className=\"uifw-popout-widget-filled-container\"\n data-widget-id={widgetContainerId}\n >\n {widgetDef.reactNode}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"ChildWindowWidget.js","sourceRoot":"","sources":["../../../src/appui-react/childwindow/ChildWindowWidget.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AACxG,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAO7D;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,iBAAiB,EACjB,SAAS,GACc;IACvB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,oBAAC,sBAAsB,IAAC,QAAQ,EAAE,iBAAiB,GAAI,CAAC;IACjE,CAAC;IACD,OAAO,CACL,6BACE,SAAS,EAAC,qCAAqC,oBAC/B,iBAAiB;QAEjC,oBAAC,aAAa,IAAC,iBAAiB,EAAE,cAAc,IAC7C,SAAS,CAAC,SAAS,CACN,CACZ,CACP,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 ChildWindowManager\n */\n\nimport \"./ChildWindowWidget.scss\";\nimport * as React from \"react\";\nimport type { WidgetDef } from \"../widgets/WidgetDef.js\";\nimport { useReparentPopoutWidget } from \"../preview/reparent-popout-widgets/useReparentPopoutWidget.js\";\nimport { ReparentedPopoutWidget } from \"../preview/reparent-popout-widgets/ReparentedPopoutWidget.js\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { WidgetFallback } from \"../widget-panels/Content.js\";\n\ninterface ChildWindowWidgetProps {\n widgetContainerId: string;\n widgetDef: WidgetDef;\n}\n\n/** Component used to wrap a widget for use in a child window.\n * @internal\n */\nexport function ChildWindowWidget({\n widgetContainerId,\n widgetDef,\n}: ChildWindowWidgetProps) {\n const reparent = useReparentPopoutWidget(widgetDef.id);\n if (reparent) {\n return <ReparentedPopoutWidget widgetId={widgetContainerId} />;\n }\n return (\n <div\n className=\"uifw-popout-widget-filled-container\"\n data-widget-id={widgetContainerId}\n >\n <ErrorBoundary FallbackComponent={WidgetFallback}>\n {widgetDef.reactNode}\n </ErrorBoundary>\n </div>\n );\n}\n"]}
@@ -5,7 +5,7 @@ import "./ConfigurableUiContent.scss";
5
5
  import * as React from "react";
6
6
  import type { CommonProps } from "@itwin/core-react";
7
7
  /** @internal */
8
- export declare const ConfigurableUiContext: React.Context<Pick<ConfigurableUiContentProps, "viewOverlay" | "widgetOpacity" | "widgetIcon" | "collapsePanels" | "animateToolSettings" | "toolAsToolSettingsLabel" | "childWindow">>;
8
+ export declare const ConfigurableUiContext: React.Context<Pick<ConfigurableUiContentProps, "childWindow" | "viewOverlay" | "widgetOpacity" | "widgetIcon" | "collapsePanels" | "animateToolSettings" | "toolAsToolSettingsLabel">>;
9
9
  /** Properties for [[ConfigurableUiContent]]
10
10
  * @public
11
11
  * @deprecated in 4.17.0. Use `React.ComponentProps<typeof ConfigurableUiContent>`