@itwin/appui-react 4.10.0 → 4.12.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 (933) hide show
  1. package/CHANGELOG.md +27 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +181 -10
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +301 -21
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/UiFramework.json +345 -0
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +3 -2
  9. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  12. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  15. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +5 -7
  16. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  17. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  18. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  19. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  20. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  21. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  23. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  24. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +4 -3
  25. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  26. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +2 -2
  27. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  28. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  29. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  30. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  31. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  32. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  33. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +24 -17
  34. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  35. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  36. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  37. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  38. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  39. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  40. package/lib/cjs/appui-react/configurableui/TimeTracker.js +2 -1
  41. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  42. package/lib/cjs/appui-react/content/ContentLayout.js +12 -9
  43. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  44. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +4 -3
  45. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  46. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +14 -19
  47. package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -1
  48. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  49. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  50. package/lib/cjs/appui-react/content/IModelViewport.js +8 -9
  51. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  52. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +2 -1
  53. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  54. package/lib/cjs/appui-react/content/InternalContentViewManager.js +2 -2
  55. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  56. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +12 -10
  57. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  58. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  59. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  60. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  61. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  62. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  63. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  65. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  66. package/lib/cjs/appui-react/dialog/ContentDialog.js +6 -3
  67. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  68. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +3 -2
  69. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  70. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  71. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  72. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  73. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  74. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  75. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +23 -78
  76. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  77. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  78. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  79. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  80. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  81. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  82. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +1 -2
  83. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  84. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  85. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +7 -6
  86. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  87. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +4 -4
  88. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  89. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +5 -4
  90. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  91. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts +6 -0
  92. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  93. package/lib/cjs/appui-react/hooks/useActiveToolId.js +24 -0
  94. package/lib/cjs/appui-react/hooks/useActiveToolId.js.map +1 -0
  95. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  96. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  97. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts +15 -0
  98. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  99. package/lib/cjs/appui-react/hooks/useConditionalValue.js +43 -0
  100. package/lib/cjs/appui-react/hooks/useConditionalValue.js.map +1 -0
  101. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  102. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  103. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +13 -8
  104. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  105. package/lib/cjs/appui-react/hooks/useTranslation.d.ts +7 -0
  106. package/lib/cjs/appui-react/hooks/useTranslation.d.ts.map +1 -0
  107. package/lib/cjs/appui-react/hooks/useTranslation.js +29 -0
  108. package/lib/cjs/appui-react/hooks/useTranslation.js.map +1 -0
  109. package/lib/cjs/appui-react/keyins/Keyins.d.ts +35 -0
  110. package/lib/cjs/appui-react/keyins/Keyins.d.ts.map +1 -0
  111. package/lib/cjs/appui-react/keyins/Keyins.js +54 -0
  112. package/lib/cjs/appui-react/keyins/Keyins.js.map +1 -0
  113. package/lib/cjs/appui-react/layers.scss +1 -1
  114. package/lib/cjs/appui-react/layout/StandardLayout.d.ts.map +1 -1
  115. package/lib/cjs/appui-react/layout/StandardLayout.js +10 -10
  116. package/lib/cjs/appui-react/layout/StandardLayout.js.map +1 -1
  117. package/lib/cjs/appui-react/layout/StandardLayout.scss +1 -1
  118. package/lib/cjs/appui-react/layout/_widgetopacity.scss +3 -1
  119. package/lib/cjs/appui-react/layout/base/DragManager.js +2 -1
  120. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  121. package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
  122. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  123. package/lib/cjs/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  124. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js +3 -0
  125. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  126. package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
  127. package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
  128. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
  129. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  130. package/lib/cjs/appui-react/layout/state/NineZoneAction.d.ts +3 -2
  131. package/lib/cjs/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
  132. package/lib/cjs/appui-react/layout/state/NineZoneAction.js.map +1 -1
  133. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
  134. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +16 -13
  135. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  136. package/lib/cjs/appui-react/layout/state/PanelState.d.ts +2 -5
  137. package/lib/cjs/appui-react/layout/state/PanelState.d.ts.map +1 -1
  138. package/lib/cjs/appui-react/layout/state/PanelState.js.map +1 -1
  139. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  140. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  141. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts +4 -3
  142. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  143. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js +12 -10
  144. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  145. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +3 -2
  146. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  147. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  148. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  149. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
  150. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  151. package/lib/cjs/appui-react/layout/widget/Content.d.ts.map +1 -1
  152. package/lib/cjs/appui-react/layout/widget/Content.js +5 -5
  153. package/lib/cjs/appui-react/layout/widget/Content.js.map +1 -1
  154. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +2 -2
  155. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  156. package/lib/cjs/appui-react/layout/widget/FloatingTab.js +6 -5
  157. package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
  158. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +4 -2
  159. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  160. package/lib/cjs/appui-react/layout/widget/NavigationArea.scss +4 -1
  161. package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
  162. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  163. package/lib/cjs/appui-react/layout/widget/Tab.js +4 -4
  164. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  165. package/lib/cjs/appui-react/layout/widget/ToolsArea.scss +2 -0
  166. package/lib/cjs/appui-react/layout/widget/Widget.d.ts.map +1 -1
  167. package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
  168. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  169. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  170. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  171. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +8 -5
  172. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  173. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  174. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  175. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  176. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
  177. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  178. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  179. package/lib/cjs/appui-react/messages/MessageManager.js +6 -6
  180. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  181. package/lib/cjs/appui-react/messages/MessageRenderer.js +16 -10
  182. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  183. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  184. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  185. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  186. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  187. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +1 -1
  188. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  189. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  190. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  191. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -2
  192. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  193. package/lib/cjs/appui-react/pickers/ViewSelector.js +6 -5
  194. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  195. package/lib/cjs/appui-react/popup/CardPopup.d.ts +21 -9
  196. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  197. package/lib/cjs/appui-react/popup/CardPopup.js +12 -5
  198. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  199. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts +18 -0
  200. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  201. package/lib/cjs/appui-react/popup/ComponentPopup.js +35 -0
  202. package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -0
  203. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  204. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  205. package/lib/cjs/appui-react/popup/HTMLElementPopup.js +1 -0
  206. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  207. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +4 -4
  208. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  209. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  210. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  211. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  212. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +19 -12
  213. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  214. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  215. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  216. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +9 -3
  217. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  218. package/lib/cjs/appui-react/popup/PopupManager.d.ts +45 -9
  219. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  220. package/lib/cjs/appui-react/popup/PopupManager.js +85 -13
  221. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  222. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +16 -6
  223. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  224. package/lib/cjs/appui-react/popup/ToolbarPopup.js +7 -2
  225. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  226. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +3 -1
  227. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  228. package/lib/cjs/appui-react/preview/PreviewFeatures.js +8 -7
  229. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  230. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  231. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  232. package/lib/cjs/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  233. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  234. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  235. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  236. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +18 -0
  237. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  238. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.scss +10 -0
  239. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +7 -7
  240. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -1
  241. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +7 -7
  242. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  243. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +6 -6
  244. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  245. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  246. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +1 -1
  247. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -1
  248. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +4 -4
  249. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  250. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  251. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js +25 -0
  252. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  253. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  254. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  255. package/lib/cjs/appui-react/{statusbar/Popup.js → preview/new-toolbars/Badge.js} +10 -10
  256. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  257. package/lib/cjs/appui-react/preview/new-toolbars/Badge.scss +13 -0
  258. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  259. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  260. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +36 -0
  261. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  262. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  263. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  264. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.js +15 -0
  265. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  266. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  267. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  268. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  269. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +79 -0
  270. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  271. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  272. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  273. package/lib/cjs/appui-react/preview/new-toolbars/Item.js +54 -0
  274. package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -0
  275. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  276. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  277. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +37 -0
  278. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  279. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  280. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  281. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +85 -0
  282. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  283. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  284. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  285. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  286. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js +40 -0
  287. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  288. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  289. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  290. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js +93 -0
  291. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  292. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +2 -1
  293. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  294. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  295. package/lib/cjs/appui-react/redux/SessionState.d.ts +15 -3
  296. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  297. package/lib/cjs/appui-react/redux/SessionState.js +8 -1
  298. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  299. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
  300. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  301. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  302. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  303. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  304. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  305. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  306. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  307. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  308. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +40 -46
  309. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  310. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts +17 -0
  311. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  312. package/lib/cjs/appui-react/shared/ConditionalValue.js +16 -0
  313. package/lib/cjs/appui-react/shared/ConditionalValue.js.map +1 -0
  314. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
  315. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  316. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  317. package/lib/cjs/appui-react/shared/ItemProps.d.ts +13 -2
  318. package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
  319. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  320. package/lib/cjs/appui-react/shared/MenuItem.d.ts +21 -2
  321. package/lib/cjs/appui-react/shared/MenuItem.d.ts.map +1 -1
  322. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  323. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts +23 -3
  324. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
  325. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  326. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +7 -4
  327. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +42 -16
  329. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  330. package/lib/cjs/appui-react/statusbar/Indicator.js +2 -1
  331. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  332. package/lib/cjs/appui-react/statusbar/Overflow.d.ts.map +1 -1
  333. package/lib/cjs/appui-react/statusbar/Overflow.js +3 -3
  334. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  335. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -1
  336. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  337. package/lib/cjs/appui-react/statusbar/StatusBar.js +6 -4
  338. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  339. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  340. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  341. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  342. package/lib/cjs/appui-react/statusbar/{Popup.d.ts → popup/Popup.d.ts} +2 -1
  343. package/lib/cjs/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  344. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.js +10 -11
  345. package/lib/cjs/appui-react/statusbar/popup/Popup.js.map +1 -0
  346. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  347. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  348. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +4 -4
  349. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  350. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +0 -1
  351. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  352. package/lib/cjs/appui-react/statusfields/MessageCenter.js +4 -4
  353. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  354. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  355. package/lib/cjs/appui-react/statusfields/SectionsField.js +7 -10
  356. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  357. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  358. package/lib/cjs/appui-react/statusfields/SelectionScope.js +4 -4
  359. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  360. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  361. package/lib/cjs/appui-react/statusfields/SnapMode.js +14 -12
  362. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  363. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  364. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  365. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +12 -20
  366. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  367. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  368. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -2
  369. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  370. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  371. package/lib/cjs/appui-react/theme/ThemeManager.js +3 -2
  372. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  373. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  374. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  375. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  376. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts +4 -3
  377. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  378. package/lib/cjs/appui-react/toolbar/Toolbar.js +28 -4
  379. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  380. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  381. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  382. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +15 -12
  383. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  384. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  385. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +5 -6
  386. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  387. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  388. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  389. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  390. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  391. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  392. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  393. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +18 -11
  394. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  395. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  396. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  397. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  398. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  399. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  400. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  401. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  402. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  403. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  404. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  405. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  406. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  407. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +102 -143
  408. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  409. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
  410. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  411. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  412. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  413. package/lib/cjs/appui-react/utils/Placement.d.ts +35 -0
  414. package/lib/cjs/appui-react/utils/Placement.d.ts.map +1 -0
  415. package/lib/cjs/appui-react/utils/Placement.js +62 -0
  416. package/lib/cjs/appui-react/utils/Placement.js.map +1 -0
  417. package/lib/cjs/appui-react/utils/PropsHelper.js +4 -4
  418. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  419. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  420. package/lib/cjs/appui-react/widget-panels/Content.js +12 -11
  421. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  422. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  423. package/lib/cjs/appui-react/widget-panels/Frontstage.js +32 -24
  424. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  425. package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
  426. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  427. package/lib/cjs/appui-react/widget-panels/Tab.d.ts +1 -1
  428. package/lib/cjs/appui-react/widget-panels/Tab.d.ts.map +1 -1
  429. package/lib/cjs/appui-react/widget-panels/Tab.js +4 -6
  430. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  431. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  432. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  433. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +55 -68
  434. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  435. package/lib/cjs/appui-react/widget-panels/Toolbars.js +3 -2
  436. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  437. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +3 -1
  438. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  439. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +3 -1
  440. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  441. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  442. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  443. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  444. package/lib/cjs/appui-react/widgets/Widget.d.ts +2 -2
  445. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -1
  446. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  447. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +8 -3
  448. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  449. package/lib/cjs/appui-react/widgets/WidgetDef.js +61 -18
  450. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  451. package/lib/cjs/appui-react/widgets/WidgetHost.js +3 -2
  452. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  453. package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
  454. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  455. package/lib/cjs/appui-react.d.ts +3 -1
  456. package/lib/cjs/appui-react.d.ts.map +1 -1
  457. package/lib/cjs/appui-react.js +3 -3
  458. package/lib/cjs/appui-react.js.map +1 -1
  459. package/lib/esm/appui-react/UiFramework.d.ts +181 -10
  460. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  461. package/lib/esm/appui-react/UiFramework.js +301 -21
  462. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  463. package/lib/esm/appui-react/UiFramework.json +345 -0
  464. package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  465. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +3 -2
  466. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  467. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  468. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  469. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  470. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  471. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  472. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +5 -7
  473. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  474. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  475. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  476. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  477. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  478. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  479. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  480. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  481. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +5 -4
  482. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  483. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +2 -2
  484. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  485. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  486. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  487. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  488. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  489. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  490. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +23 -16
  491. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  492. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  493. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  494. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  495. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  496. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  497. package/lib/esm/appui-react/configurableui/TimeTracker.js +2 -1
  498. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  499. package/lib/esm/appui-react/content/ContentLayout.js +12 -9
  500. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  501. package/lib/esm/appui-react/content/DefaultViewOverlay.js +4 -3
  502. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  503. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +14 -19
  504. package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -1
  505. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  506. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  507. package/lib/esm/appui-react/content/IModelViewport.js +8 -9
  508. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  509. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +2 -1
  510. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  511. package/lib/esm/appui-react/content/InternalContentViewManager.js +2 -2
  512. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  513. package/lib/esm/appui-react/content/split-pane/SplitPane.js +12 -10
  514. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  515. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  516. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  517. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  518. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  519. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  520. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  521. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  522. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  523. package/lib/esm/appui-react/dialog/ContentDialog.js +6 -3
  524. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  525. package/lib/esm/appui-react/dialog/DialogManagerBase.js +3 -2
  526. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  527. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  528. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  529. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  530. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  531. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  532. package/lib/esm/appui-react/frontstage/FrontstageDef.js +24 -79
  533. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  534. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  535. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  536. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  537. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  538. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  539. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +1 -2
  540. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  541. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  542. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +7 -6
  543. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  544. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +4 -4
  545. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  546. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +5 -4
  547. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  548. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts +6 -0
  549. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  550. package/lib/esm/appui-react/hooks/useActiveToolId.js +20 -0
  551. package/lib/esm/appui-react/hooks/useActiveToolId.js.map +1 -0
  552. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  553. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  554. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts +15 -0
  555. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  556. package/lib/esm/appui-react/hooks/useConditionalValue.js +39 -0
  557. package/lib/esm/appui-react/hooks/useConditionalValue.js.map +1 -0
  558. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  559. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  560. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +13 -8
  561. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  562. package/lib/esm/appui-react/hooks/useTranslation.d.ts +7 -0
  563. package/lib/esm/appui-react/hooks/useTranslation.d.ts.map +1 -0
  564. package/lib/esm/appui-react/hooks/useTranslation.js +25 -0
  565. package/lib/esm/appui-react/hooks/useTranslation.js.map +1 -0
  566. package/lib/esm/appui-react/keyins/Keyins.d.ts +35 -0
  567. package/lib/esm/appui-react/keyins/Keyins.d.ts.map +1 -0
  568. package/lib/esm/appui-react/keyins/Keyins.js +50 -0
  569. package/lib/esm/appui-react/keyins/Keyins.js.map +1 -0
  570. package/lib/esm/appui-react/layers.scss +1 -1
  571. package/lib/esm/appui-react/layout/StandardLayout.d.ts.map +1 -1
  572. package/lib/esm/appui-react/layout/StandardLayout.js +10 -10
  573. package/lib/esm/appui-react/layout/StandardLayout.js.map +1 -1
  574. package/lib/esm/appui-react/layout/StandardLayout.scss +1 -1
  575. package/lib/esm/appui-react/layout/_widgetopacity.scss +3 -1
  576. package/lib/esm/appui-react/layout/base/DragManager.js +2 -1
  577. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  578. package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
  579. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  580. package/lib/esm/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  581. package/lib/esm/appui-react/layout/base/usePointerCaptor.js +3 -0
  582. package/lib/esm/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  583. package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
  584. package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
  585. package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
  586. package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  587. package/lib/esm/appui-react/layout/state/NineZoneAction.d.ts +3 -2
  588. package/lib/esm/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
  589. package/lib/esm/appui-react/layout/state/NineZoneAction.js.map +1 -1
  590. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
  591. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +17 -14
  592. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  593. package/lib/esm/appui-react/layout/state/PanelState.d.ts +2 -5
  594. package/lib/esm/appui-react/layout/state/PanelState.d.ts.map +1 -1
  595. package/lib/esm/appui-react/layout/state/PanelState.js.map +1 -1
  596. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  597. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  598. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts +4 -3
  599. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  600. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js +10 -8
  601. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  602. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +3 -2
  603. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  604. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  605. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  606. package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
  607. package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  608. package/lib/esm/appui-react/layout/widget/Content.d.ts.map +1 -1
  609. package/lib/esm/appui-react/layout/widget/Content.js +5 -5
  610. package/lib/esm/appui-react/layout/widget/Content.js.map +1 -1
  611. package/lib/esm/appui-react/layout/widget/ContentRenderer.js +2 -2
  612. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  613. package/lib/esm/appui-react/layout/widget/FloatingTab.js +6 -5
  614. package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
  615. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +4 -2
  616. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  617. package/lib/esm/appui-react/layout/widget/NavigationArea.scss +4 -1
  618. package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
  619. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  620. package/lib/esm/appui-react/layout/widget/Tab.js +4 -4
  621. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  622. package/lib/esm/appui-react/layout/widget/ToolsArea.scss +2 -0
  623. package/lib/esm/appui-react/layout/widget/Widget.d.ts.map +1 -1
  624. package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
  625. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  626. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  627. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  628. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +8 -5
  629. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  630. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  631. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  632. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  633. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
  634. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  635. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  636. package/lib/esm/appui-react/messages/MessageManager.js +6 -6
  637. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  638. package/lib/esm/appui-react/messages/MessageRenderer.js +17 -11
  639. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  640. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  641. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  642. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  643. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  644. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -2
  645. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  646. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  647. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  648. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -2
  649. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  650. package/lib/esm/appui-react/pickers/ViewSelector.js +6 -5
  651. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  652. package/lib/esm/appui-react/popup/CardPopup.d.ts +21 -9
  653. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  654. package/lib/esm/appui-react/popup/CardPopup.js +15 -7
  655. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  656. package/lib/esm/appui-react/popup/ComponentPopup.d.ts +18 -0
  657. package/lib/esm/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  658. package/lib/esm/appui-react/popup/ComponentPopup.js +31 -0
  659. package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -0
  660. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  661. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  662. package/lib/esm/appui-react/popup/HTMLElementPopup.js +1 -0
  663. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  664. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +4 -4
  665. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  666. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  667. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  668. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  669. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +19 -12
  670. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  671. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  672. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  673. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +9 -3
  674. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  675. package/lib/esm/appui-react/popup/PopupManager.d.ts +45 -9
  676. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  677. package/lib/esm/appui-react/popup/PopupManager.js +87 -14
  678. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  679. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +16 -6
  680. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  681. package/lib/esm/appui-react/popup/ToolbarPopup.js +9 -3
  682. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  683. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +3 -1
  684. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  685. package/lib/esm/appui-react/preview/PreviewFeatures.js +8 -7
  686. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  687. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  688. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  689. package/lib/esm/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  690. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  691. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  692. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  693. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +14 -0
  694. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  695. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.scss +10 -0
  696. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +7 -7
  697. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -1
  698. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +7 -7
  699. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  700. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +6 -6
  701. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  702. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  703. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +1 -1
  704. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -1
  705. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +4 -4
  706. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  707. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  708. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js +22 -0
  709. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  710. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  711. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  712. package/lib/esm/appui-react/{statusbar/Popup.js → preview/new-toolbars/Badge.js} +8 -8
  713. package/lib/esm/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  714. package/lib/esm/appui-react/preview/new-toolbars/Badge.scss +13 -0
  715. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  716. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  717. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +33 -0
  718. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  719. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  720. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  721. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.js +11 -0
  722. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  723. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  724. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  725. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  726. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +74 -0
  727. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  728. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  729. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  730. package/lib/esm/appui-react/preview/new-toolbars/Item.js +49 -0
  731. package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -0
  732. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  733. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  734. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +34 -0
  735. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  736. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  737. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  738. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +81 -0
  739. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  740. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  741. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  742. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  743. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js +36 -0
  744. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  745. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  746. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  747. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js +89 -0
  748. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  749. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +2 -1
  750. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  751. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  752. package/lib/esm/appui-react/redux/SessionState.d.ts +15 -3
  753. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  754. package/lib/esm/appui-react/redux/SessionState.js +8 -1
  755. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  756. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
  757. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  758. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  759. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  760. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  761. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  762. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  763. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  764. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  765. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +40 -46
  766. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  767. package/lib/esm/appui-react/shared/ConditionalValue.d.ts +17 -0
  768. package/lib/esm/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  769. package/lib/esm/appui-react/shared/ConditionalValue.js +13 -0
  770. package/lib/esm/appui-react/shared/ConditionalValue.js.map +1 -0
  771. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
  772. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  773. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  774. package/lib/esm/appui-react/shared/ItemProps.d.ts +13 -2
  775. package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
  776. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  777. package/lib/esm/appui-react/shared/MenuItem.d.ts +21 -2
  778. package/lib/esm/appui-react/shared/MenuItem.d.ts.map +1 -1
  779. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  780. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts +23 -3
  781. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
  782. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  783. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +7 -4
  784. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  785. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +42 -16
  786. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  787. package/lib/esm/appui-react/statusbar/Indicator.js +2 -1
  788. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  789. package/lib/esm/appui-react/statusbar/Overflow.d.ts.map +1 -1
  790. package/lib/esm/appui-react/statusbar/Overflow.js +3 -3
  791. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  792. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -1
  793. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  794. package/lib/esm/appui-react/statusbar/StatusBar.js +6 -4
  795. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  796. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  797. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  798. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  799. package/lib/esm/appui-react/statusbar/{Popup.d.ts → popup/Popup.d.ts} +2 -1
  800. package/lib/esm/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  801. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.js +8 -9
  802. package/lib/esm/appui-react/statusbar/popup/Popup.js.map +1 -0
  803. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  804. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  805. package/lib/esm/appui-react/statusfields/ActivityCenter.js +4 -4
  806. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  807. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +0 -1
  808. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  809. package/lib/esm/appui-react/statusfields/MessageCenter.js +4 -4
  810. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  811. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  812. package/lib/esm/appui-react/statusfields/SectionsField.js +7 -10
  813. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  814. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  815. package/lib/esm/appui-react/statusfields/SelectionScope.js +4 -4
  816. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  817. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  818. package/lib/esm/appui-react/statusfields/SnapMode.js +14 -12
  819. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  820. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  821. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  822. package/lib/esm/appui-react/statusfields/ViewAttributes.js +12 -20
  823. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  824. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  825. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +3 -3
  826. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  827. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  828. package/lib/esm/appui-react/theme/ThemeManager.js +3 -2
  829. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  830. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  831. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  832. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  833. package/lib/esm/appui-react/toolbar/Toolbar.d.ts +4 -3
  834. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  835. package/lib/esm/appui-react/toolbar/Toolbar.js +29 -5
  836. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  837. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  838. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  839. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +15 -12
  840. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  841. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  842. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +5 -6
  843. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  844. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  845. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  846. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  847. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  848. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  849. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  850. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +18 -11
  851. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  852. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  853. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  854. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  855. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  856. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  857. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  858. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  859. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  860. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  861. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  862. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  863. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  864. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +100 -141
  865. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  866. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
  867. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  868. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  869. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  870. package/lib/esm/appui-react/utils/Placement.d.ts +35 -0
  871. package/lib/esm/appui-react/utils/Placement.d.ts.map +1 -0
  872. package/lib/esm/appui-react/utils/Placement.js +57 -0
  873. package/lib/esm/appui-react/utils/Placement.js.map +1 -0
  874. package/lib/esm/appui-react/utils/PropsHelper.js +4 -4
  875. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  876. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  877. package/lib/esm/appui-react/widget-panels/Content.js +12 -11
  878. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  879. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  880. package/lib/esm/appui-react/widget-panels/Frontstage.js +32 -24
  881. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  882. package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
  883. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  884. package/lib/esm/appui-react/widget-panels/Tab.d.ts +1 -1
  885. package/lib/esm/appui-react/widget-panels/Tab.d.ts.map +1 -1
  886. package/lib/esm/appui-react/widget-panels/Tab.js +3 -5
  887. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  888. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  889. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  890. package/lib/esm/appui-react/widget-panels/ToolSettings.js +53 -66
  891. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  892. package/lib/esm/appui-react/widget-panels/Toolbars.js +3 -2
  893. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  894. package/lib/esm/appui-react/widget-panels/Toolbars.scss +3 -1
  895. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  896. package/lib/esm/appui-react/widgets/BackstageAppButton.js +3 -1
  897. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  898. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  899. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  900. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  901. package/lib/esm/appui-react/widgets/Widget.d.ts +2 -2
  902. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -1
  903. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  904. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +8 -3
  905. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  906. package/lib/esm/appui-react/widgets/WidgetDef.js +59 -17
  907. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  908. package/lib/esm/appui-react/widgets/WidgetHost.js +3 -2
  909. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  910. package/lib/esm/appui-react/widgets/useWidget.js +1 -1
  911. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  912. package/lib/esm/appui-react.d.ts +3 -1
  913. package/lib/esm/appui-react.d.ts.map +1 -1
  914. package/lib/esm/appui-react.js +3 -1
  915. package/lib/esm/appui-react.js.map +1 -1
  916. package/lib/public/locales/en/UiFramework.json +7 -1
  917. package/package.json +11 -10
  918. package/lib/cjs/appui-react/layout/footer/Popup.d.ts +0 -12
  919. package/lib/cjs/appui-react/layout/footer/Popup.d.ts.map +0 -1
  920. package/lib/cjs/appui-react/layout/footer/Popup.js.map +0 -1
  921. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  922. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  923. package/lib/cjs/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  924. package/lib/cjs/appui-react/statusbar/Popup.d.ts.map +0 -1
  925. package/lib/cjs/appui-react/statusbar/Popup.js.map +0 -1
  926. package/lib/esm/appui-react/layout/footer/Popup.d.ts +0 -12
  927. package/lib/esm/appui-react/layout/footer/Popup.d.ts.map +0 -1
  928. package/lib/esm/appui-react/layout/footer/Popup.js.map +0 -1
  929. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  930. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  931. package/lib/esm/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  932. package/lib/esm/appui-react/statusbar/Popup.d.ts.map +0 -1
  933. package/lib/esm/appui-react/statusbar/Popup.js.map +0 -1
@@ -1,12 +1,17 @@
1
1
  /** @packageDocumentation
2
2
  * @module Popup
3
3
  */
4
- import type { AbstractToolbarProps, DialogLayoutDataProvider, OnCancelFunc, OnItemExecutedFunc, OnValueCommitFunc, Primitives, PropertyDescription, RelativePosition } from "@itwin/appui-abstract";
4
+ import type { AbstractToolbarProps, DialogLayoutDataProvider, OnValueCommitFunc, Primitives, PropertyDescription, RelativePosition } from "@itwin/appui-abstract";
5
5
  import { PropertyRecord, UiEvent } from "@itwin/appui-abstract";
6
6
  import type { XAndY } from "@itwin/core-geometry";
7
7
  import type { Point, SizeProps } from "@itwin/core-react";
8
8
  import * as React from "react";
9
- import type { KeyinEntry } from "../uiadmin/FrameworkUiAdmin";
9
+ import type { ReactElement } from "react";
10
+ import type { KeyinEntry } from "../keyins/Keyins";
11
+ import { WrapperContext } from "../configurableui/ConfigurableUiContent";
12
+ import { type Placement } from "../utils/Placement";
13
+ import type { ToolbarItem } from "../toolbar/ToolbarItem";
14
+ import type { ToolbarProps } from "../toolbar/Toolbar";
10
15
  /** Information maintained by PopupManager about a Popup
11
16
  * @public
12
17
  */
@@ -14,7 +19,24 @@ export interface PopupInfo {
14
19
  id: string;
15
20
  pt: XAndY;
16
21
  component: React.ReactNode;
22
+ /** @deprecated in 4.x.11. Please use the optional `parent` property moving forward. */
17
23
  parentDocument: Document;
24
+ /** will become standard once `parentDocument` is removed. */
25
+ parent?: Document;
26
+ }
27
+ /** @internal */
28
+ interface CommonPopupOptions {
29
+ onCancel: () => void;
30
+ location: XAndY;
31
+ offset: XAndY;
32
+ placement: Placement;
33
+ anchor?: HTMLElement;
34
+ id?: string;
35
+ }
36
+ interface DisplayCardPopupOptions extends CommonPopupOptions {
37
+ title: string | PropertyRecord | undefined;
38
+ toolbarProps?: ToolbarProps;
39
+ onItemExecuted: (item: any) => void;
18
40
  }
19
41
  /** @public */
20
42
  export interface PopupsChangedEventArgs {
@@ -72,17 +94,28 @@ export declare class PopupManager {
72
94
  static removePopup(id: string): boolean;
73
95
  static get defaultOffset(): XAndY;
74
96
  static set defaultOffset(offset: XAndY);
75
- static showInputEditor(el: HTMLElement, pt: XAndY, value: Primitives.Value, propertyDescription: PropertyDescription, onCommit: OnValueCommitFunc, onCancel: OnCancelFunc): boolean;
97
+ static showInputEditor(el: HTMLElement, pt: XAndY, value: Primitives.Value, propertyDescription: PropertyDescription, onCommit: OnValueCommitFunc, onCancel: () => void): boolean;
76
98
  static hideInputEditor(): boolean;
77
- static showKeyinPalette(keyins: KeyinEntry[], el: HTMLElement, onItemExecuted?: OnItemExecutedFunc, onCancel?: OnCancelFunc): boolean;
99
+ static showKeyinPalette(keyins: KeyinEntry[], el: HTMLElement, onItemExecuted?: (item: any) => void, onCancel?: () => void): boolean;
78
100
  static hideKeyinPalette(): boolean;
79
- static showToolbar(toolbarProps: AbstractToolbarProps, el: HTMLElement, pt: XAndY, offset: XAndY, onItemExecuted: OnItemExecutedFunc, onCancel: OnCancelFunc, relativePosition: RelativePosition): boolean;
101
+ static showToolbar(toolbarProps: AbstractToolbarProps, el: HTMLElement, pt: XAndY, offset: XAndY, onItemExecuted: (item: any) => void, onCancel: () => void, relativePosition: RelativePosition): boolean;
102
+ static displayToolbar(items: ToolbarItem[], options: CommonPopupOptions & {
103
+ onItemExecuted: (item: any) => void;
104
+ }): boolean;
80
105
  static hideToolbar(): boolean;
81
- static showHTMLElement(displayElement: HTMLElement, el: HTMLElement, pt: XAndY, offset: XAndY, onCancel: OnCancelFunc, relativePosition: RelativePosition): boolean;
106
+ static showHTMLElement(displayElement: HTMLElement, el: HTMLElement, pt: XAndY, offset: XAndY, onCancel: () => void, relativePosition: RelativePosition): boolean;
82
107
  static hideHTMLElement(): boolean;
83
- static showCard(content: PopupContentType, title: string | PropertyRecord | undefined, toolbarProps: AbstractToolbarProps | undefined, el: HTMLElement, pt: XAndY, offset: XAndY, onItemExecuted: OnItemExecutedFunc, onCancel: OnCancelFunc, relativePosition: RelativePosition): boolean;
84
- static hideCard(): boolean;
85
- static openToolSettings(dataProvider: DialogLayoutDataProvider, el: HTMLElement, pt: XAndY, offset: XAndY, onCancel: OnCancelFunc, relativePosition: RelativePosition): boolean;
108
+ /**
109
+ * Displays a React component as a popup.
110
+ * @param displayElement The React component to display.
111
+ * @param options for displaying the component.
112
+ */
113
+ static showComponent(displayElement: ReactElement, options: CommonPopupOptions): boolean;
114
+ static hideComponent(id?: string): boolean;
115
+ static showCard(content: PopupContentType, title: string | PropertyRecord | undefined, toolbarProps: AbstractToolbarProps | undefined, el: HTMLElement, pt: XAndY, offset: XAndY, onItemExecuted: (item: any) => void, onCancel: () => void, relativePosition: RelativePosition): boolean;
116
+ static displayCard(content: React.ReactNode, options: DisplayCardPopupOptions): boolean;
117
+ static hideCard(id?: string): boolean;
118
+ static openToolSettings(dataProvider: DialogLayoutDataProvider, el: HTMLElement, pt: XAndY, offset: XAndY, onCancel: () => void, relativePosition: RelativePosition): boolean;
86
119
  static closeToolSettings(): boolean;
87
120
  static getPopupPosition(el: HTMLElement, pt: XAndY, offset: XAndY, size: SizeProps): Point;
88
121
  }
@@ -96,6 +129,9 @@ interface PopupRendererState {
96
129
  */
97
130
  export declare class PopupRenderer extends React.Component<{}, PopupRendererState> {
98
131
  /** @internal */
132
+ static contextType: React.Context<HTMLElement>;
133
+ /** @internal */
134
+ context: React.ContextType<typeof WrapperContext>;
99
135
  readonly state: PopupRendererState;
100
136
  componentDidMount(): void;
101
137
  componentWillUnmount(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"PopupManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/PopupManager.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PopupManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/PopupManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EAEV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EAEd,OAAO,EACR,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnD,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKvD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,KAAK,CAAC;IACV,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,uFAAuF;IACvF,cAAc,EAAE,QAAQ,CAAC;IACzB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB;AAED,gBAAgB;AAChB,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,UAAU,uBAAwB,SAAQ,kBAAkB;IAC1D,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAC3C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CACrC;AAED,cAAc;AACd,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CAClC;AAED;;GAEG;AAEH,qBAAa,kBAAmB,SAAQ,OAAO,CAAC,sBAAsB,CAAC;CAAG;AAE1E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,WAAW,CAAC;IAChB,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,YAAY,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,cAAc,YAChB,gBAAgB,4BAG1B,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgC;IACtD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAiB;IACzC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAa;IACtC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAiB;IAC9C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAU;IAChC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAkB;IAChD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAkB;IAEnD,OAAO,CAAC,MAAM,CAAC,cAAc,CAAkB;IAE/C,gBAAuB,oBAAoB,qBAA4B;IAEvE,WAAkB,UAAU,WAE3B;IACD,WAAkB,MAAM,IAIS,aAAa,CAAC,SAAS,CAAC,CAFxD;IAED,WAAkB,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,EAKxD;IAED,gBAAgB;WACF,WAAW;IAIzB,OAAO,CAAC,MAAM,CAAC,QAAQ;IAKvB,OAAO,CAAC,MAAM,CAAC,WAAW;WAYZ,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;WAQ5C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAsB9C,WAAkB,aAAa,IAAI,KAAK,CAEvC;IACD,WAAkB,aAAa,CAAC,MAAM,EAAE,KAAK,EAE5C;WAEa,eAAe,CAC3B,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,KAAK,EAAE,UAAU,CAAC,KAAK,EACvB,mBAAmB,EAAE,mBAAmB,EACxC,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,MAAM,IAAI,GACnB,OAAO;WAgCI,eAAe,IAAI,OAAO;WAI1B,gBAAgB,CAC5B,MAAM,EAAE,UAAU,EAAE,EACpB,EAAE,EAAE,WAAW,EACf,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EACpC,QAAQ,CAAC,EAAE,MAAM,IAAI,GACpB,OAAO;WA2BI,gBAAgB,IAAI,OAAO;WAK3B,WAAW,CACvB,YAAY,EAAE,oBAAoB,EAClC,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,MAAM,EAAE,KAAK,EACb,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EACnC,QAAQ,EAAE,MAAM,IAAI,EACpB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO;WAYI,cAAc,CAC1B,KAAK,EAAE,WAAW,EAAE,EACpB,OAAO,EAAE,kBAAkB,GAAG;QAAE,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;KAAE,GACpE,OAAO;WAiCI,WAAW,IAAI,OAAO;WAKtB,eAAe,CAC3B,cAAc,EAAE,WAAW,EAC3B,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,MAAM,IAAI,EACpB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO;WA4BI,eAAe,IAAI,OAAO;IAIxC;;;;OAIG;WACW,aAAa,CACzB,cAAc,EAAE,YAAY,EAC5B,OAAO,EAAE,kBAAkB,GAC1B,OAAO;WA+BI,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;WAKnC,QAAQ,CACpB,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,EAC1C,YAAY,EAAE,oBAAoB,GAAG,SAAS,EAC9C,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,MAAM,EAAE,KAAK,EACb,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EACnC,QAAQ,EAAE,MAAM,IAAI,EACpB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO;WAmCI,WAAW,CACvB,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,OAAO,EAAE,uBAAuB,GAC/B,OAAO;WA0CI,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;WAQ9B,gBAAgB,CAC5B,YAAY,EAAE,wBAAwB,EACtC,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,MAAM,IAAI,EACpB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO;WA0BI,iBAAiB,IAAI,OAAO;WAI5B,gBAAgB,CAC5B,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,SAAS,GACd,KAAK;CAYT;AAED,gBAAgB;AAChB,UAAU,kBAAkB;IAC1B,cAAc,EAAE,QAAQ,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,kBAAkB,CAAC;IACxE,gBAAgB;IAChB,OAAuB,WAAW,6BAAkB;IACpD,gBAAgB;IACD,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC;IAEjE,SAAyB,KAAK,EAAE,kBAAkB,CAGhD;IAEc,iBAAiB,IAAI,IAAI;IAOzB,oBAAoB,IAAI,IAAI;IAO5C,OAAO,CAAC,aAAa,CAEnB;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;IA2BzC,OAAO,CAAC,yBAAyB,CAE/B;CACH"}
@@ -17,6 +17,10 @@ import { InputEditorCommitHandler, InputEditorPopup } from "./InputEditorPopup";
17
17
  import { KeyinPalettePopup } from "./KeyinPalettePopup";
18
18
  import { ToolbarPopup } from "./ToolbarPopup";
19
19
  import { ToolSettingsPopup } from "./ToolSettingsPopup";
20
+ import { ComponentPopup } from "./ComponentPopup";
21
+ import { WrapperContext } from "../configurableui/ConfigurableUiContent";
22
+ import { mapToPlacement } from "../utils/Placement";
23
+ import { InternalConfigurableUiManager } from "../configurableui/InternalConfigurableUiManager";
20
24
  /** Popups Changed Event class.
21
25
  * @public
22
26
  */
@@ -107,6 +111,7 @@ class PopupManager {
107
111
  pt,
108
112
  component,
109
113
  parentDocument: el.ownerDocument,
114
+ parent: el.ownerDocument,
110
115
  };
111
116
  PopupManager.addOrUpdatePopup(popupInfo);
112
117
  return true;
@@ -116,7 +121,8 @@ class PopupManager {
116
121
  }
117
122
  static showKeyinPalette(keyins, el, onItemExecuted, onCancel) {
118
123
  const id = PopupManager._keyPalettePopupId;
119
- const component = (React.createElement(KeyinPalettePopup, { keyins: keyins, id: id, el: el, onCancel: onCancel, onItemExecuted: onItemExecuted }));
124
+ const cancelFn = onCancel !== null && onCancel !== void 0 ? onCancel : (() => PopupManager.hideKeyinPalette());
125
+ const component = (React.createElement(KeyinPalettePopup, { keyins: keyins, id: id, el: el, onItemExecuted: onItemExecuted, onCancel: cancelFn }));
120
126
  // since the command palette popup is always at top center of specified HTML element and it does not need to move like
121
127
  // cursor popups just set pt to 0,0.
122
128
  const pt = { x: 0, y: 0 };
@@ -124,7 +130,7 @@ class PopupManager {
124
130
  id,
125
131
  pt,
126
132
  component,
127
- parentDocument: el.ownerDocument,
133
+ parentDocument: el === null || el === void 0 ? void 0 : el.ownerDocument,
128
134
  };
129
135
  PopupManager.addOrUpdatePopup(popupInfo);
130
136
  return true;
@@ -132,14 +138,29 @@ class PopupManager {
132
138
  static hideKeyinPalette() {
133
139
  return PopupManager.removePopup(PopupManager._keyPalettePopupId);
134
140
  }
141
+ // @deprecated in 4.11.x. Use {@link PopupManager.displayToolbar} instead.
135
142
  static showToolbar(toolbarProps, el, pt, offset, onItemExecuted, onCancel, relativePosition) {
136
- const id = PopupManager._toolbarId;
137
- const component = (React.createElement(ToolbarPopup, { id: id, el: el, pt: pt, offset: offset, items: toolbarProps.items, relativePosition: relativePosition, orientation: Orientation.Horizontal, onCancel: onCancel, onItemExecuted: onItemExecuted }));
143
+ PopupManager.displayToolbar(toolbarProps.items, {
144
+ anchor: el,
145
+ location: pt,
146
+ offset,
147
+ onCancel,
148
+ placement: mapToPlacement(relativePosition),
149
+ onItemExecuted,
150
+ });
151
+ return true;
152
+ }
153
+ static displayToolbar(items, options) {
154
+ var _a, _b;
155
+ const id = (_a = options.id) !== null && _a !== void 0 ? _a : PopupManager._toolbarId;
156
+ const { anchor, location, offset, onCancel, placement, onItemExecuted } = options;
157
+ const component = (React.createElement(ToolbarPopup, { id: id, el: anchor, pt: location, offset: offset, items: items, placement: placement, orientation: Orientation.Horizontal, onCancel: onCancel, onItemExecuted: onItemExecuted }));
138
158
  const popupInfo = {
139
159
  id,
140
- pt,
160
+ pt: location,
141
161
  component,
142
- parentDocument: el.ownerDocument,
162
+ parentDocument: (_b = anchor === null || anchor === void 0 ? void 0 : anchor.ownerDocument) !== null && _b !== void 0 ? _b : InternalConfigurableUiManager.getWrapperDocument(),
163
+ parent: anchor === null || anchor === void 0 ? void 0 : anchor.ownerDocument,
143
164
  };
144
165
  PopupManager.addOrUpdatePopup(popupInfo);
145
166
  return true;
@@ -147,9 +168,12 @@ class PopupManager {
147
168
  static hideToolbar() {
148
169
  return PopupManager.removePopup(PopupManager._toolbarId);
149
170
  }
171
+ // @deprecated in 4.11.x. Use {@link PopupManager.showComponent} instead.
150
172
  static showHTMLElement(displayElement, el, pt, offset, onCancel, relativePosition) {
151
173
  const id = PopupManager._htmlElementId;
152
- const component = (React.createElement(HTMLElementPopup, { id: id, el: el, pt: pt, offset: offset, element: displayElement, relativePosition: relativePosition, orientation: Orientation.Horizontal, onCancel: onCancel }));
174
+ const component = (
175
+ // eslint-disable-next-line deprecation/deprecation
176
+ React.createElement(HTMLElementPopup, { id: id, el: el, pt: pt, offset: offset, element: displayElement, relativePosition: relativePosition, orientation: Orientation.Horizontal, onCancel: onCancel }));
153
177
  const popupInfo = {
154
178
  id,
155
179
  pt,
@@ -159,25 +183,66 @@ class PopupManager {
159
183
  PopupManager.addOrUpdatePopup(popupInfo);
160
184
  return true;
161
185
  }
186
+ // @deprecated in 4.11.x. Use {@link PopupManager.hideComponent} instead.
162
187
  static hideHTMLElement() {
163
188
  return PopupManager.removePopup(PopupManager._htmlElementId);
164
189
  }
190
+ /**
191
+ * Displays a React component as a popup.
192
+ * @param displayElement The React component to display.
193
+ * @param options for displaying the component.
194
+ */
195
+ static showComponent(displayElement, options) {
196
+ var _a;
197
+ const { onCancel, location, offset, placement, anchor, id } = options;
198
+ const _id = PopupManager._htmlElementId;
199
+ const component = (React.createElement(ComponentPopup, { id: id !== null && id !== void 0 ? id : _id, anchor: anchor !== null && anchor !== void 0 ? anchor : undefined, pt: location, offset: offset, placement: placement, orientation: Orientation.Horizontal, onCancel: onCancel }, displayElement));
200
+ const popupInfo = {
201
+ id: id !== null && id !== void 0 ? id : _id,
202
+ pt: location,
203
+ component,
204
+ parentDocument: (_a = anchor === null || anchor === void 0 ? void 0 : anchor.ownerDocument) !== null && _a !== void 0 ? _a : InternalConfigurableUiManager.getWrapperDocument(),
205
+ };
206
+ PopupManager.addOrUpdatePopup(popupInfo);
207
+ return true;
208
+ }
209
+ static hideComponent(id) {
210
+ return PopupManager.removePopup(id !== null && id !== void 0 ? id : PopupManager._htmlElementId);
211
+ }
212
+ // @deprecated in 4.11.x. Use {@link PopupManager.displayCard} instead.
165
213
  static showCard(content, title, toolbarProps, el, pt, offset, onItemExecuted, onCancel, relativePosition) {
166
214
  const id = PopupManager._cardId;
215
+ const placement = mapToPlacement(relativePosition);
167
216
  const component = (React.createElement(CardPopup, { id: id, el: el, pt: pt, offset: offset, content: content, title: title, items: toolbarProps
168
217
  ? toolbarProps.items
169
- : /* istanbul ignore next */ undefined, relativePosition: relativePosition, orientation: Orientation.Horizontal, onCancel: onCancel, onItemExecuted: onItemExecuted }));
218
+ : /* istanbul ignore next */ undefined, placement: placement, orientation: Orientation.Horizontal, onCancel: onCancel, onItemExecuted: onItemExecuted }));
170
219
  const popupInfo = {
171
220
  id,
172
221
  pt,
173
222
  component,
174
223
  parentDocument: el.ownerDocument,
224
+ parent: el.ownerDocument,
225
+ };
226
+ PopupManager.addOrUpdatePopup(popupInfo);
227
+ return true;
228
+ }
229
+ static displayCard(content, options) {
230
+ var _a, _b;
231
+ const id = (_a = options.id) !== null && _a !== void 0 ? _a : PopupManager._cardId;
232
+ const { onCancel, location, placement, offset, anchor, title, toolbarProps, onItemExecuted, } = options;
233
+ const component = (React.createElement(CardPopup, { id: id, el: anchor, pt: location, offset: offset, content: { reactNode: content }, title: title, items: toolbarProps === null || toolbarProps === void 0 ? void 0 : toolbarProps.items, placement: placement, orientation: Orientation.Horizontal, onCancel: onCancel, onItemExecuted: onItemExecuted }));
234
+ const popupInfo = {
235
+ id,
236
+ pt: location,
237
+ component,
238
+ parentDocument: (_b = anchor === null || anchor === void 0 ? void 0 : anchor.ownerDocument) !== null && _b !== void 0 ? _b : InternalConfigurableUiManager.getWrapperDocument(),
239
+ parent: anchor === null || anchor === void 0 ? void 0 : anchor.ownerDocument,
175
240
  };
176
241
  PopupManager.addOrUpdatePopup(popupInfo);
177
242
  return true;
178
243
  }
179
- static hideCard() {
180
- const index = PopupManager._popups.findIndex((info) => PopupManager._cardId === info.id);
244
+ static hideCard(id) {
245
+ const index = PopupManager._popups.findIndex((info) => id !== null && id !== void 0 ? id : PopupManager._cardId === info.id);
181
246
  if (index >= 0)
182
247
  return PopupManager.removePopup(PopupManager._cardId);
183
248
  return false;
@@ -218,16 +283,16 @@ export { PopupManager };
218
283
  /** Popup Renderer
219
284
  * @public
220
285
  */
221
- export class PopupRenderer extends React.Component {
286
+ class PopupRenderer extends React.Component {
222
287
  constructor() {
223
288
  super(...arguments);
224
- /** @internal */
225
289
  this.state = {
226
290
  parentDocument: null,
227
291
  popups: PopupManager.popups,
228
292
  };
229
293
  this._handleRefSet = (popupDiv) => {
230
- this.setState({ parentDocument: popupDiv?.ownerDocument ?? null });
294
+ var _a;
295
+ this.setState({ parentDocument: (_a = popupDiv === null || popupDiv === void 0 ? void 0 : popupDiv.ownerDocument) !== null && _a !== void 0 ? _a : null });
231
296
  };
232
297
  this._handlePopupsChangedEvent = (args) => {
233
298
  this.setState({ popups: args.popups });
@@ -246,10 +311,18 @@ export class PopupRenderer extends React.Component {
246
311
  return null;
247
312
  return (React.createElement("div", { className: "appui-react-popup-render-container", ref: this._handleRefSet }, this.state.parentDocument &&
248
313
  this.state.popups
249
- .filter((info) => info.parentDocument === this.state.parentDocument)
314
+ .filter((info) => {
315
+ var _a, _b;
316
+ return ((_b = (_a = info.parent) !== null && _a !== void 0 ? _a :
317
+ // eslint-disable-next-line deprecation/deprecation
318
+ info.parentDocument) !== null && _b !== void 0 ? _b : this.context.ownerDocument) === this.state.parentDocument;
319
+ })
250
320
  .map((popupInfo) => {
251
321
  return (React.createElement(React.Fragment, { key: popupInfo.id }, popupInfo.component));
252
322
  })));
253
323
  }
254
324
  }
325
+ /** @internal */
326
+ PopupRenderer.contextType = WrapperContext;
327
+ export { PopupRenderer };
255
328
  //# sourceMappingURL=PopupManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PopupManager.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/PopupManager.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Popup\n */\n\nimport type {\n AbstractToolbarProps,\n DialogLayoutDataProvider,\n OnCancelFunc,\n OnItemExecutedFunc,\n OnValueCommitFunc,\n Primitives,\n PrimitiveValue,\n PropertyDescription,\n RelativePosition,\n} from \"@itwin/appui-abstract\";\nimport {\n PropertyRecord,\n PropertyValueFormat,\n UiEvent,\n} from \"@itwin/appui-abstract\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport type { XAndY } from \"@itwin/core-geometry\";\nimport type { Point, SizeProps } from \"@itwin/core-react\";\nimport { Orientation, Rectangle } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { offsetAndContainInContainer } from \"../layout/popup/Tooltip\";\nimport type { KeyinEntry } from \"../uiadmin/FrameworkUiAdmin\";\nimport { UiFramework } from \"../UiFramework\";\nimport { CardPopup } from \"./CardPopup\";\nimport { HTMLElementPopup } from \"./HTMLElementPopup\";\nimport { InputEditorCommitHandler, InputEditorPopup } from \"./InputEditorPopup\";\nimport { KeyinPalettePopup } from \"./KeyinPalettePopup\";\nimport { ToolbarPopup } from \"./ToolbarPopup\";\nimport { ToolSettingsPopup } from \"./ToolSettingsPopup\";\n\n// cSpell:ignore uiadmin\n\n/** Information maintained by PopupManager about a Popup\n * @public\n */\nexport interface PopupInfo {\n id: string;\n pt: XAndY;\n component: React.ReactNode;\n parentDocument: Document;\n}\n\n/** @public */\nexport interface PopupsChangedEventArgs {\n popups: ReadonlyArray<PopupInfo>;\n}\n\n/** Popups Changed Event class.\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class PopupsChangedEvent extends UiEvent<PopupsChangedEventArgs> {}\n\n/** Props for each popup managed by the PopupManager\n * @public\n */\nexport interface PopupPropsBase {\n id: string;\n el: HTMLElement;\n pt: XAndY;\n offset: XAndY;\n}\n\n/** Describes React based content\n * @public\n */\nexport interface ReactContent {\n reactNode: React.ReactNode;\n}\n\n/** Type for Popup Content\n * @public\n */\nexport type PopupContentType = HTMLElement | ReactContent;\n\n/** ReactContent type guard.\n * @internal\n */\nexport const isReactContent = (\n content: PopupContentType\n): content is ReactContent => {\n return (content as ReactContent).reactNode !== undefined;\n};\n\n/** Popup Manager class\n * @public\n */\nexport class PopupManager {\n private static _popups: ReadonlyArray<PopupInfo> = [];\n private static _editorId = \"InputEditor\";\n private static _toolbarId = \"Toolbar\";\n private static _htmlElementId = \"HTMLElement\";\n private static _cardId = \"Card\";\n private static _toolSettingsId = \"ToolSettings\";\n private static _keyPalettePopupId = \"KeyinPalette\";\n\n private static _defaultOffset = { x: 8, y: 8 };\n\n public static readonly onPopupsChangedEvent = new PopupsChangedEvent();\n\n public static get popupCount() {\n return this._popups.length;\n }\n public static get popups() {\n return this._popups;\n }\n\n public static set popups(popups: ReadonlyArray<PopupInfo>) {\n // istanbul ignore if\n if (this._popups === popups) return;\n this._popups = popups;\n this.onPopupsChangedEvent.emit({ popups });\n }\n\n /** @internal */\n public static clearPopups() {\n this.popups = [];\n }\n\n private static addPopup(popupInfo: PopupInfo): void {\n const popups = [...PopupManager._popups, popupInfo];\n this.popups = popups;\n }\n\n private static updatePopup(popupInfo: PopupInfo, itemIndex: number): void {\n // istanbul ignore if\n if (itemIndex < 0) return;\n\n const popups = [\n ...PopupManager._popups.slice(0, itemIndex),\n popupInfo,\n ...PopupManager._popups.slice(itemIndex + 1),\n ];\n this.popups = popups;\n }\n\n public static addOrUpdatePopup(popupInfo: PopupInfo): void {\n const itemIndex = PopupManager._popups.findIndex(\n (info: PopupInfo) => info.id === popupInfo.id\n );\n if (itemIndex >= 0) PopupManager.updatePopup(popupInfo, itemIndex);\n else PopupManager.addPopup(popupInfo);\n }\n\n public static removePopup(id: string): boolean {\n const index = PopupManager._popups.findIndex(\n (info: PopupInfo) => id === info.id\n );\n let result = true;\n\n if (index >= 0) {\n const popups = PopupManager._popups.filter((info: PopupInfo) => {\n return info.id !== id;\n });\n this.popups = popups;\n } else {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `removePopup: Could not find popup with id of '${id}'`\n );\n result = false;\n }\n\n return result;\n }\n\n public static get defaultOffset(): XAndY {\n return PopupManager._defaultOffset;\n }\n public static set defaultOffset(offset: XAndY) {\n PopupManager._defaultOffset = offset;\n }\n\n public static showInputEditor(\n el: HTMLElement,\n pt: XAndY,\n value: Primitives.Value,\n propertyDescription: PropertyDescription,\n onCommit: OnValueCommitFunc,\n onCancel: OnCancelFunc\n ): boolean {\n const primitiveValue: PrimitiveValue = {\n value,\n valueFormat: PropertyValueFormat.Primitive,\n };\n const record = new PropertyRecord(primitiveValue, propertyDescription);\n const commitHandler = new InputEditorCommitHandler(onCommit);\n const id = PopupManager._editorId;\n const component = (\n <InputEditorPopup\n id={id}\n el={el}\n pt={pt}\n offset={PopupManager.defaultOffset}\n record={record}\n onCancel={onCancel}\n commitHandler={commitHandler}\n />\n );\n\n const popupInfo: PopupInfo = {\n id,\n pt,\n component,\n parentDocument: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideInputEditor(): boolean {\n return PopupManager.removePopup(PopupManager._editorId);\n }\n\n public static showKeyinPalette(\n keyins: KeyinEntry[],\n el: HTMLElement,\n onItemExecuted?: OnItemExecutedFunc,\n onCancel?: OnCancelFunc\n ): boolean {\n const id = PopupManager._keyPalettePopupId;\n const component = (\n <KeyinPalettePopup\n keyins={keyins}\n id={id}\n el={el}\n onCancel={onCancel}\n onItemExecuted={onItemExecuted}\n />\n );\n\n // since the command palette popup is always at top center of specified HTML element and it does not need to move like\n // cursor popups just set pt to 0,0.\n const pt = { x: 0, y: 0 };\n const popupInfo: PopupInfo = {\n id,\n pt,\n component,\n parentDocument: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideKeyinPalette(): boolean {\n return PopupManager.removePopup(PopupManager._keyPalettePopupId);\n }\n\n public static showToolbar(\n toolbarProps: AbstractToolbarProps,\n el: HTMLElement,\n pt: XAndY,\n offset: XAndY,\n onItemExecuted: OnItemExecutedFunc,\n onCancel: OnCancelFunc,\n relativePosition: RelativePosition\n ): boolean {\n const id = PopupManager._toolbarId;\n const component = (\n <ToolbarPopup\n id={id}\n el={el}\n pt={pt}\n offset={offset}\n items={toolbarProps.items}\n relativePosition={relativePosition}\n orientation={Orientation.Horizontal}\n onCancel={onCancel}\n onItemExecuted={onItemExecuted}\n />\n );\n\n const popupInfo: PopupInfo = {\n id,\n pt,\n component,\n parentDocument: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideToolbar(): boolean {\n return PopupManager.removePopup(PopupManager._toolbarId);\n }\n\n public static showHTMLElement(\n displayElement: HTMLElement,\n el: HTMLElement,\n pt: XAndY,\n offset: XAndY,\n onCancel: OnCancelFunc,\n relativePosition: RelativePosition\n ): boolean {\n const id = PopupManager._htmlElementId;\n const component = (\n <HTMLElementPopup\n id={id}\n el={el}\n pt={pt}\n offset={offset}\n element={displayElement}\n relativePosition={relativePosition}\n orientation={Orientation.Horizontal}\n onCancel={onCancel}\n />\n );\n\n const popupInfo: PopupInfo = {\n id,\n pt,\n component,\n parentDocument: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideHTMLElement(): boolean {\n return PopupManager.removePopup(PopupManager._htmlElementId);\n }\n\n public static showCard(\n content: PopupContentType,\n title: string | PropertyRecord | undefined,\n toolbarProps: AbstractToolbarProps | undefined,\n el: HTMLElement,\n pt: XAndY,\n offset: XAndY,\n onItemExecuted: OnItemExecutedFunc,\n onCancel: OnCancelFunc,\n relativePosition: RelativePosition\n ): boolean {\n const id = PopupManager._cardId;\n const component = (\n <CardPopup\n id={id}\n el={el}\n pt={pt}\n offset={offset}\n content={content}\n title={title}\n items={\n toolbarProps\n ? toolbarProps.items\n : /* istanbul ignore next */ undefined\n }\n relativePosition={relativePosition}\n orientation={Orientation.Horizontal}\n onCancel={onCancel}\n onItemExecuted={onItemExecuted}\n />\n );\n\n const popupInfo: PopupInfo = {\n id,\n pt,\n component,\n parentDocument: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideCard(): boolean {\n const index = PopupManager._popups.findIndex(\n (info: PopupInfo) => PopupManager._cardId === info.id\n );\n if (index >= 0) return PopupManager.removePopup(PopupManager._cardId);\n return false;\n }\n\n public static openToolSettings(\n dataProvider: DialogLayoutDataProvider,\n el: HTMLElement,\n pt: XAndY,\n offset: XAndY,\n onCancel: OnCancelFunc,\n relativePosition: RelativePosition\n ): boolean {\n const id = PopupManager._toolSettingsId;\n const component = (\n <ToolSettingsPopup\n id={id}\n el={el}\n pt={pt}\n offset={offset}\n dataProvider={dataProvider}\n relativePosition={relativePosition}\n orientation={Orientation.Horizontal}\n onCancel={onCancel}\n />\n );\n\n const popupInfo: PopupInfo = {\n id,\n pt,\n component,\n parentDocument: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static closeToolSettings(): boolean {\n return PopupManager.removePopup(PopupManager._toolSettingsId);\n }\n\n public static getPopupPosition(\n el: HTMLElement,\n pt: XAndY,\n offset: XAndY,\n size: SizeProps\n ): Point {\n const containerBounds = Rectangle.create(el.getBoundingClientRect());\n const relativeBounds = Rectangle.createFromSize(size).offset(pt);\n const adjustedPosition: Point = offsetAndContainInContainer(\n relativeBounds,\n containerBounds.getSize(),\n offset\n );\n const position = adjustedPosition.offset(containerBounds.topLeft());\n\n return position;\n }\n}\n\n/** @internal */\ninterface PopupRendererState {\n parentDocument: Document | null;\n popups: ReadonlyArray<PopupInfo>;\n}\n\n/** Popup Renderer\n * @public\n */\nexport class PopupRenderer extends React.Component<{}, PopupRendererState> {\n /** @internal */\n public override readonly state: PopupRendererState = {\n parentDocument: null,\n popups: PopupManager.popups,\n };\n\n public override componentDidMount(): void {\n Logger.logInfo(\"PopupManager\", `mounting PopupManager`);\n PopupManager.onPopupsChangedEvent.addListener(\n this._handlePopupsChangedEvent\n );\n }\n\n public override componentWillUnmount(): void {\n Logger.logInfo(\"PopupManager\", `un-mounting PopupManager`);\n PopupManager.onPopupsChangedEvent.removeListener(\n this._handlePopupsChangedEvent\n );\n }\n\n private _handleRefSet = (popupDiv: HTMLElement | null) => {\n this.setState({ parentDocument: popupDiv?.ownerDocument ?? null });\n };\n\n public override render(): React.ReactNode {\n if (PopupManager.popupCount <= 0) return null;\n\n return (\n <div\n className=\"appui-react-popup-render-container\"\n ref={this._handleRefSet}\n >\n {this.state.parentDocument &&\n this.state.popups\n .filter((info) => info.parentDocument === this.state.parentDocument)\n .map((popupInfo: PopupInfo) => {\n return (\n <React.Fragment key={popupInfo.id}>\n {popupInfo.component}\n </React.Fragment>\n );\n })}\n </div>\n );\n }\n\n private _handlePopupsChangedEvent = (args: PopupsChangedEventArgs) => {\n this.setState({ popups: args.popups });\n };\n}\n"]}
1
+ {"version":3,"file":"PopupManager.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/PopupManager.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Popup\n */\n\nimport type {\n AbstractToolbarProps,\n DialogLayoutDataProvider,\n OnValueCommitFunc,\n Primitives,\n PrimitiveValue,\n PropertyDescription,\n RelativePosition,\n} from \"@itwin/appui-abstract\";\nimport {\n PropertyRecord,\n PropertyValueFormat,\n UiEvent,\n} from \"@itwin/appui-abstract\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport type { XAndY } from \"@itwin/core-geometry\";\nimport type { Point, SizeProps } from \"@itwin/core-react\";\nimport { Orientation, Rectangle } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport type { ReactElement } from \"react\";\nimport { offsetAndContainInContainer } from \"../layout/popup/Tooltip\";\nimport type { KeyinEntry } from \"../keyins/Keyins\";\nimport { UiFramework } from \"../UiFramework\";\nimport { CardPopup } from \"./CardPopup\";\nimport { HTMLElementPopup } from \"./HTMLElementPopup\";\nimport { InputEditorCommitHandler, InputEditorPopup } from \"./InputEditorPopup\";\nimport { KeyinPalettePopup } from \"./KeyinPalettePopup\";\nimport { ToolbarPopup } from \"./ToolbarPopup\";\nimport { ToolSettingsPopup } from \"./ToolSettingsPopup\";\nimport { ComponentPopup } from \"./ComponentPopup\";\nimport { WrapperContext } from \"../configurableui/ConfigurableUiContent\";\nimport { mapToPlacement, type Placement } from \"../utils/Placement\";\nimport type { ToolbarItem } from \"../toolbar/ToolbarItem\";\nimport type { ToolbarProps } from \"../toolbar/Toolbar\";\nimport { InternalConfigurableUiManager } from \"../configurableui/InternalConfigurableUiManager\";\n\n// cSpell:ignore uiadmin\n\n/** Information maintained by PopupManager about a Popup\n * @public\n */\nexport interface PopupInfo {\n id: string;\n pt: XAndY;\n component: React.ReactNode;\n /** @deprecated in 4.x.11. Please use the optional `parent` property moving forward. */\n parentDocument: Document;\n /** will become standard once `parentDocument` is removed. */\n parent?: Document;\n}\n\n/** @internal */\ninterface CommonPopupOptions {\n onCancel: () => void;\n location: XAndY;\n offset: XAndY;\n placement: Placement;\n anchor?: HTMLElement;\n id?: string;\n}\n\ninterface DisplayCardPopupOptions extends CommonPopupOptions {\n title: string | PropertyRecord | undefined;\n toolbarProps?: ToolbarProps;\n onItemExecuted: (item: any) => void;\n}\n\n/** @public */\nexport interface PopupsChangedEventArgs {\n popups: ReadonlyArray<PopupInfo>;\n}\n\n/** Popups Changed Event class.\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class PopupsChangedEvent extends UiEvent<PopupsChangedEventArgs> {}\n\n/** Props for each popup managed by the PopupManager\n * @public\n */\nexport interface PopupPropsBase {\n id: string;\n el: HTMLElement;\n pt: XAndY;\n offset: XAndY;\n}\n\n/** Describes React based content\n * @public\n */\nexport interface ReactContent {\n reactNode: React.ReactNode;\n}\n\n/** Type for Popup Content\n * @public\n */\nexport type PopupContentType = HTMLElement | ReactContent;\n\n/** ReactContent type guard.\n * @internal\n */\nexport const isReactContent = (\n content: PopupContentType\n): content is ReactContent => {\n return (content as ReactContent).reactNode !== undefined;\n};\n\n/** Popup Manager class\n * @public\n */\nexport class PopupManager {\n private static _popups: ReadonlyArray<PopupInfo> = [];\n private static _editorId = \"InputEditor\";\n private static _toolbarId = \"Toolbar\";\n private static _htmlElementId = \"HTMLElement\";\n private static _cardId = \"Card\";\n private static _toolSettingsId = \"ToolSettings\";\n private static _keyPalettePopupId = \"KeyinPalette\";\n\n private static _defaultOffset = { x: 8, y: 8 };\n\n public static readonly onPopupsChangedEvent = new PopupsChangedEvent();\n\n public static get popupCount() {\n return this._popups.length;\n }\n public static get popups() {\n return this._popups;\n }\n\n public static set popups(popups: ReadonlyArray<PopupInfo>) {\n // istanbul ignore if\n if (this._popups === popups) return;\n this._popups = popups;\n this.onPopupsChangedEvent.emit({ popups });\n }\n\n /** @internal */\n public static clearPopups() {\n this.popups = [];\n }\n\n private static addPopup(popupInfo: PopupInfo): void {\n const popups = [...PopupManager._popups, popupInfo];\n this.popups = popups;\n }\n\n private static updatePopup(popupInfo: PopupInfo, itemIndex: number): void {\n // istanbul ignore if\n if (itemIndex < 0) return;\n\n const popups = [\n ...PopupManager._popups.slice(0, itemIndex),\n popupInfo,\n ...PopupManager._popups.slice(itemIndex + 1),\n ];\n this.popups = popups;\n }\n\n public static addOrUpdatePopup(popupInfo: PopupInfo): void {\n const itemIndex = PopupManager._popups.findIndex(\n (info: PopupInfo) => info.id === popupInfo.id\n );\n if (itemIndex >= 0) PopupManager.updatePopup(popupInfo, itemIndex);\n else PopupManager.addPopup(popupInfo);\n }\n\n public static removePopup(id: string): boolean {\n const index = PopupManager._popups.findIndex(\n (info: PopupInfo) => id === info.id\n );\n let result = true;\n\n if (index >= 0) {\n const popups = PopupManager._popups.filter((info: PopupInfo) => {\n return info.id !== id;\n });\n this.popups = popups;\n } else {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `removePopup: Could not find popup with id of '${id}'`\n );\n result = false;\n }\n\n return result;\n }\n\n public static get defaultOffset(): XAndY {\n return PopupManager._defaultOffset;\n }\n public static set defaultOffset(offset: XAndY) {\n PopupManager._defaultOffset = offset;\n }\n\n public static showInputEditor(\n el: HTMLElement,\n pt: XAndY,\n value: Primitives.Value,\n propertyDescription: PropertyDescription,\n onCommit: OnValueCommitFunc,\n onCancel: () => void\n ): boolean {\n const primitiveValue: PrimitiveValue = {\n value,\n valueFormat: PropertyValueFormat.Primitive,\n };\n const record = new PropertyRecord(primitiveValue, propertyDescription);\n const commitHandler = new InputEditorCommitHandler(onCommit);\n const id = PopupManager._editorId;\n const component = (\n <InputEditorPopup\n id={id}\n el={el}\n pt={pt}\n offset={PopupManager.defaultOffset}\n record={record}\n onCancel={onCancel}\n commitHandler={commitHandler}\n />\n );\n\n const popupInfo: PopupInfo = {\n id,\n pt,\n component,\n parentDocument: el.ownerDocument,\n parent: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideInputEditor(): boolean {\n return PopupManager.removePopup(PopupManager._editorId);\n }\n\n public static showKeyinPalette(\n keyins: KeyinEntry[],\n el: HTMLElement,\n onItemExecuted?: (item: any) => void,\n onCancel?: () => void\n ): boolean {\n const id = PopupManager._keyPalettePopupId;\n const cancelFn = onCancel ?? (() => PopupManager.hideKeyinPalette());\n const component = (\n <KeyinPalettePopup\n keyins={keyins}\n id={id}\n el={el}\n onItemExecuted={onItemExecuted}\n onCancel={cancelFn}\n />\n );\n\n // since the command palette popup is always at top center of specified HTML element and it does not need to move like\n // cursor popups just set pt to 0,0.\n const pt = { x: 0, y: 0 };\n const popupInfo: PopupInfo = {\n id,\n pt,\n component,\n parentDocument: el?.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideKeyinPalette(): boolean {\n return PopupManager.removePopup(PopupManager._keyPalettePopupId);\n }\n\n // @deprecated in 4.11.x. Use {@link PopupManager.displayToolbar} instead.\n public static showToolbar(\n toolbarProps: AbstractToolbarProps,\n el: HTMLElement,\n pt: XAndY,\n offset: XAndY,\n onItemExecuted: (item: any) => void,\n onCancel: () => void,\n relativePosition: RelativePosition\n ): boolean {\n PopupManager.displayToolbar(toolbarProps.items, {\n anchor: el,\n location: pt,\n offset,\n onCancel,\n placement: mapToPlacement(relativePosition),\n onItemExecuted,\n });\n return true;\n }\n\n public static displayToolbar(\n items: ToolbarItem[],\n options: CommonPopupOptions & { onItemExecuted: (item: any) => void }\n ): boolean {\n const id = options.id ?? PopupManager._toolbarId;\n const { anchor, location, offset, onCancel, placement, onItemExecuted } =\n options;\n\n const component = (\n <ToolbarPopup\n id={id}\n el={anchor}\n pt={location}\n offset={offset}\n items={items}\n placement={placement}\n orientation={Orientation.Horizontal}\n onCancel={onCancel}\n onItemExecuted={onItemExecuted}\n />\n );\n\n const popupInfo: PopupInfo = {\n id,\n pt: location,\n component,\n parentDocument:\n anchor?.ownerDocument ??\n InternalConfigurableUiManager.getWrapperDocument(),\n parent: anchor?.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideToolbar(): boolean {\n return PopupManager.removePopup(PopupManager._toolbarId);\n }\n\n // @deprecated in 4.11.x. Use {@link PopupManager.showComponent} instead.\n public static showHTMLElement(\n displayElement: HTMLElement,\n el: HTMLElement,\n pt: XAndY,\n offset: XAndY,\n onCancel: () => void,\n relativePosition: RelativePosition\n ): boolean {\n const id = PopupManager._htmlElementId;\n const component = (\n // eslint-disable-next-line deprecation/deprecation\n <HTMLElementPopup\n id={id}\n el={el}\n pt={pt}\n offset={offset}\n element={displayElement}\n relativePosition={relativePosition}\n orientation={Orientation.Horizontal}\n onCancel={onCancel}\n />\n );\n\n const popupInfo: PopupInfo = {\n id,\n pt,\n component,\n parentDocument: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n // @deprecated in 4.11.x. Use {@link PopupManager.hideComponent} instead.\n public static hideHTMLElement(): boolean {\n return PopupManager.removePopup(PopupManager._htmlElementId);\n }\n\n /**\n * Displays a React component as a popup.\n * @param displayElement The React component to display.\n * @param options for displaying the component.\n */\n public static showComponent(\n displayElement: ReactElement,\n options: CommonPopupOptions\n ): boolean {\n const { onCancel, location, offset, placement, anchor, id } = options;\n const _id = PopupManager._htmlElementId;\n\n const component = (\n <ComponentPopup\n id={id ?? _id}\n anchor={anchor ?? undefined}\n pt={location}\n offset={offset}\n placement={placement}\n orientation={Orientation.Horizontal}\n onCancel={onCancel}\n >\n {displayElement}\n </ComponentPopup>\n );\n\n const popupInfo: PopupInfo = {\n id: id ?? _id,\n pt: location,\n component,\n parentDocument:\n anchor?.ownerDocument ??\n InternalConfigurableUiManager.getWrapperDocument(),\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideComponent(id?: string): boolean {\n return PopupManager.removePopup(id ?? PopupManager._htmlElementId);\n }\n\n // @deprecated in 4.11.x. Use {@link PopupManager.displayCard} instead.\n public static showCard(\n content: PopupContentType,\n title: string | PropertyRecord | undefined,\n toolbarProps: AbstractToolbarProps | undefined,\n el: HTMLElement,\n pt: XAndY,\n offset: XAndY,\n onItemExecuted: (item: any) => void,\n onCancel: () => void,\n relativePosition: RelativePosition\n ): boolean {\n const id = PopupManager._cardId;\n const placement = mapToPlacement(relativePosition);\n const component = (\n <CardPopup\n id={id}\n el={el}\n pt={pt}\n offset={offset}\n content={content}\n title={title}\n items={\n toolbarProps\n ? toolbarProps.items\n : /* istanbul ignore next */ undefined\n }\n placement={placement}\n orientation={Orientation.Horizontal}\n onCancel={onCancel}\n onItemExecuted={onItemExecuted}\n />\n );\n\n const popupInfo: PopupInfo = {\n id,\n pt,\n component,\n parentDocument: el.ownerDocument,\n parent: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static displayCard(\n content: React.ReactNode,\n options: DisplayCardPopupOptions\n ): boolean {\n const id = options.id ?? PopupManager._cardId;\n const {\n onCancel,\n location,\n placement,\n offset,\n anchor,\n title,\n toolbarProps,\n onItemExecuted,\n } = options;\n const component = (\n <CardPopup\n id={id}\n el={anchor}\n pt={location}\n offset={offset}\n content={{ reactNode: content }}\n title={title}\n items={toolbarProps?.items}\n placement={placement}\n orientation={Orientation.Horizontal}\n onCancel={onCancel}\n onItemExecuted={onItemExecuted}\n />\n );\n\n const popupInfo: PopupInfo = {\n id,\n pt: location,\n component,\n parentDocument:\n anchor?.ownerDocument ??\n InternalConfigurableUiManager.getWrapperDocument(),\n parent: anchor?.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideCard(id?: string): boolean {\n const index = PopupManager._popups.findIndex(\n (info: PopupInfo) => id ?? PopupManager._cardId === info.id\n );\n if (index >= 0) return PopupManager.removePopup(PopupManager._cardId);\n return false;\n }\n\n public static openToolSettings(\n dataProvider: DialogLayoutDataProvider,\n el: HTMLElement,\n pt: XAndY,\n offset: XAndY,\n onCancel: () => void,\n relativePosition: RelativePosition\n ): boolean {\n const id = PopupManager._toolSettingsId;\n const component = (\n <ToolSettingsPopup\n id={id}\n el={el}\n pt={pt}\n offset={offset}\n dataProvider={dataProvider}\n relativePosition={relativePosition}\n orientation={Orientation.Horizontal}\n onCancel={onCancel}\n />\n );\n\n const popupInfo: PopupInfo = {\n id,\n pt,\n component,\n parentDocument: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static closeToolSettings(): boolean {\n return PopupManager.removePopup(PopupManager._toolSettingsId);\n }\n\n public static getPopupPosition(\n el: HTMLElement,\n pt: XAndY,\n offset: XAndY,\n size: SizeProps\n ): Point {\n const containerBounds = Rectangle.create(el.getBoundingClientRect());\n const relativeBounds = Rectangle.createFromSize(size).offset(pt);\n const adjustedPosition: Point = offsetAndContainInContainer(\n relativeBounds,\n containerBounds.getSize(),\n offset\n );\n const position = adjustedPosition.offset(containerBounds.topLeft());\n\n return position;\n }\n}\n\n/** @internal */\ninterface PopupRendererState {\n parentDocument: Document | null;\n popups: ReadonlyArray<PopupInfo>;\n}\n\n/** Popup Renderer\n * @public\n */\nexport class PopupRenderer extends React.Component<{}, PopupRendererState> {\n /** @internal */\n public static override contextType = WrapperContext;\n /** @internal */\n public declare context: React.ContextType<typeof WrapperContext>;\n\n public override readonly state: PopupRendererState = {\n parentDocument: null,\n popups: PopupManager.popups,\n };\n\n public override componentDidMount(): void {\n Logger.logInfo(\"PopupManager\", `mounting PopupManager`);\n PopupManager.onPopupsChangedEvent.addListener(\n this._handlePopupsChangedEvent\n );\n }\n\n public override componentWillUnmount(): void {\n Logger.logInfo(\"PopupManager\", `un-mounting PopupManager`);\n PopupManager.onPopupsChangedEvent.removeListener(\n this._handlePopupsChangedEvent\n );\n }\n\n private _handleRefSet = (popupDiv: HTMLElement | null) => {\n this.setState({ parentDocument: popupDiv?.ownerDocument ?? null });\n };\n\n public override render(): React.ReactNode {\n if (PopupManager.popupCount <= 0) return null;\n return (\n <div\n className=\"appui-react-popup-render-container\"\n ref={this._handleRefSet}\n >\n {this.state.parentDocument &&\n this.state.popups\n .filter(\n (info) =>\n (info.parent ??\n // eslint-disable-next-line deprecation/deprecation\n info.parentDocument ??\n this.context.ownerDocument) === this.state.parentDocument\n )\n .map((popupInfo: PopupInfo) => {\n return (\n <React.Fragment key={popupInfo.id}>\n {popupInfo.component}\n </React.Fragment>\n );\n })}\n </div>\n );\n }\n\n private _handlePopupsChangedEvent = (args: PopupsChangedEventArgs) => {\n this.setState({ popups: args.popups });\n };\n}\n"]}
@@ -2,20 +2,26 @@
2
2
  * @module Popup
3
3
  */
4
4
  import * as React from "react";
5
- import type { OnCancelFunc, OnItemExecutedFunc, RelativePosition } from "@itwin/appui-abstract";
5
+ import type { RelativePosition } from "@itwin/appui-abstract";
6
+ import type { RequireAtLeastOne } from "@itwin/core-bentley";
6
7
  import type { Orientation } from "@itwin/core-react";
7
8
  import { Size } from "@itwin/core-react";
8
9
  import type { PopupPropsBase } from "./PopupManager";
9
10
  import type { ToolbarItem } from "../toolbar/ToolbarItem";
11
+ import { WrapperContext } from "../configurableui/ConfigurableUiContent";
12
+ import { type Placement } from "../utils/Placement";
10
13
  /** Props for a popup toolbar
11
14
  * @beta */
12
- export interface ToolbarPopupProps extends PopupPropsBase {
15
+ export type ToolbarPopupProps = Omit<PopupPropsBase, "el"> & {
13
16
  items: ToolbarItem[];
14
- relativePosition: RelativePosition;
15
17
  orientation: Orientation;
16
- onCancel: OnCancelFunc;
17
- onItemExecuted: OnItemExecutedFunc;
18
- }
18
+ onCancel: () => void;
19
+ onItemExecuted: (item: any) => void;
20
+ el?: HTMLElement;
21
+ } & RequireAtLeastOne<{
22
+ relativePosition: RelativePosition;
23
+ placement: Placement;
24
+ }>;
19
25
  /** @internal */
20
26
  interface ToolbarPopupState {
21
27
  size: Size;
@@ -24,6 +30,10 @@ interface ToolbarPopupState {
24
30
  * @beta
25
31
  */
26
32
  export declare class ToolbarPopup extends React.PureComponent<ToolbarPopupProps, ToolbarPopupState> {
33
+ /** @internal */
34
+ static contextType: React.Context<HTMLElement>;
35
+ /** @internal */
36
+ context: React.ContextType<typeof WrapperContext>;
27
37
  /** @internal */
28
38
  readonly state: {
29
39
  size: Size;
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAyC,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAOhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D;WACW;AACX,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,gBAAgB;AAChB,UAAU,iBAAiB;IACzB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,aAAa,CACnD,iBAAiB,EACjB,iBAAiB,CAClB;IACC,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,cAAc,CAQpB;IAEF,OAAO,CAAC,OAAO;IAOC,MAAM;CAuCvB"}
1
+ {"version":3,"file":"ToolbarPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAyC,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAOhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpE;WACW;AACX,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG;IAC3D,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACpC,EAAE,CAAC,EAAE,WAAW,CAAC;CAClB,GAAG,iBAAiB,CAAC;IAClB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC,CAAC;AAEL,gBAAgB;AAChB,UAAU,iBAAiB;IACzB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,aAAa,CACnD,iBAAiB,EACjB,iBAAiB,CAClB;IACC,gBAAgB;IAChB,OAAuB,WAAW,6BAAkB;IACpD,gBAAgB;IACD,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC;IAEjE,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,cAAc,CAQpB;IAEF,OAAO,CAAC,OAAO;IAOC,MAAM;CAuCvB"}
@@ -13,10 +13,12 @@ import { CursorPopup } from "../cursor/cursorpopup/CursorPopup";
13
13
  import { PopupManager } from "./PopupManager";
14
14
  import { PositionPopup } from "./PositionPopup";
15
15
  import { Toolbar } from "../toolbar/Toolbar";
16
+ import { WrapperContext } from "../configurableui/ConfigurableUiContent";
17
+ import { mapToPlacement } from "../utils/Placement";
16
18
  /** Popup component for Toolbar
17
19
  * @beta
18
20
  */
19
- export class ToolbarPopup extends React.PureComponent {
21
+ class ToolbarPopup extends React.PureComponent {
20
22
  constructor() {
21
23
  super(...arguments);
22
24
  /** @internal */
@@ -43,8 +45,9 @@ export class ToolbarPopup extends React.PureComponent {
43
45
  }
44
46
  }
45
47
  render() {
46
- let point = PopupManager.getPopupPosition(this.props.el, this.props.pt, new Point(), this.state.size);
47
- const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, this.props.relativePosition);
48
+ var _a, _b;
49
+ let point = PopupManager.getPopupPosition((_a = this.props.el) !== null && _a !== void 0 ? _a : this.context, this.props.pt, new Point(), this.state.size);
50
+ const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, (_b = this.props.placement) !== null && _b !== void 0 ? _b : mapToPlacement(this.props.relativePosition));
48
51
  point = new Point(popupRect.left, popupRect.top);
49
52
  return (React.createElement(PositionPopup, { key: this.props.id, className: "uifw-no-border", point: point, onSizeKnown: this._onSizeKnown },
50
53
  React.createElement(DivWithOutsideClick, { onOutsideClick: this.props.onCancel, onKeyDown: this._handleKeyDown },
@@ -52,4 +55,7 @@ export class ToolbarPopup extends React.PureComponent {
52
55
  React.createElement(Toolbar, { expandsTo: Direction.Bottom, panelAlignment: ToolbarPanelAlignment.Start, items: this.props.items, useDragInteraction: true, toolbarOpacitySetting: ToolbarOpacitySetting.Defaults, onItemExecuted: this.props.onItemExecuted })))));
53
56
  }
54
57
  }
58
+ /** @internal */
59
+ ToolbarPopup.contextType = WrapperContext;
60
+ export { ToolbarPopup };
55
61
  //# sourceMappingURL=ToolbarPopup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Popup\n */\n\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport type {\n OnCancelFunc,\n OnItemExecutedFunc,\n RelativePosition,\n} from \"@itwin/appui-abstract\";\nimport type { Orientation, SizeProps } from \"@itwin/core-react\";\nimport { DivWithOutsideClick, FocusTrap, Point, Size } from \"@itwin/core-react\";\nimport {\n Direction,\n ToolbarOpacitySetting,\n ToolbarPanelAlignment,\n} from \"@itwin/components-react\";\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\nimport type { PopupPropsBase } from \"./PopupManager\";\nimport { PopupManager } from \"./PopupManager\";\nimport { PositionPopup } from \"./PositionPopup\";\nimport type { ToolbarItem } from \"../toolbar/ToolbarItem\";\nimport { Toolbar } from \"../toolbar/Toolbar\";\n\n/** Props for a popup toolbar\n * @beta */\nexport interface ToolbarPopupProps extends PopupPropsBase {\n items: ToolbarItem[];\n relativePosition: RelativePosition;\n orientation: Orientation;\n onCancel: OnCancelFunc;\n onItemExecuted: OnItemExecutedFunc;\n}\n\n/** @internal */\ninterface ToolbarPopupState {\n size: Size;\n}\n\n/** Popup component for Toolbar\n * @beta\n */\nexport class ToolbarPopup extends React.PureComponent<\n ToolbarPopupProps,\n ToolbarPopupState\n> {\n /** @internal */\n public override readonly state = {\n size: new Size(-1, -1),\n };\n\n private _onSizeKnown = (newSize: SizeProps) => {\n // istanbul ignore else\n if (!this.state.size.equals(newSize))\n this.setState({ size: Size.create(newSize) });\n };\n\n private _handleKeyDown = (\n event: React.KeyboardEvent<HTMLDivElement>\n ): void => {\n switch (event.key) {\n case Key.Escape.valueOf():\n this._cancel();\n break;\n }\n };\n\n private _cancel() {\n // istanbul ignore else\n if (this.props.onCancel) {\n this.props.onCancel();\n }\n }\n\n public override render() {\n let point = PopupManager.getPopupPosition(\n this.props.el,\n this.props.pt,\n new Point(),\n this.state.size\n );\n const popupRect = CursorPopup.getPopupRect(\n point,\n this.props.offset,\n this.state.size,\n this.props.relativePosition\n );\n point = new Point(popupRect.left, popupRect.top);\n return (\n <PositionPopup\n key={this.props.id}\n className=\"uifw-no-border\"\n point={point}\n onSizeKnown={this._onSizeKnown}\n >\n <DivWithOutsideClick\n onOutsideClick={this.props.onCancel}\n onKeyDown={this._handleKeyDown}\n >\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\n <Toolbar\n expandsTo={Direction.Bottom}\n panelAlignment={ToolbarPanelAlignment.Start}\n items={this.props.items}\n useDragInteraction={true}\n toolbarOpacitySetting={ToolbarOpacitySetting.Defaults}\n onItemExecuted={this.props.onItemExecuted}\n />\n </FocusTrap>\n </DivWithOutsideClick>\n </PositionPopup>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ToolbarPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Popup\n */\n\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport type { RelativePosition } from \"@itwin/appui-abstract\";\nimport type { RequireAtLeastOne } from \"@itwin/core-bentley\";\nimport type { Orientation, SizeProps } from \"@itwin/core-react\";\nimport { DivWithOutsideClick, FocusTrap, Point, Size } from \"@itwin/core-react\";\nimport {\n Direction,\n ToolbarOpacitySetting,\n ToolbarPanelAlignment,\n} from \"@itwin/components-react\";\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\nimport type { PopupPropsBase } from \"./PopupManager\";\nimport { PopupManager } from \"./PopupManager\";\nimport { PositionPopup } from \"./PositionPopup\";\nimport type { ToolbarItem } from \"../toolbar/ToolbarItem\";\nimport { Toolbar } from \"../toolbar/Toolbar\";\nimport { WrapperContext } from \"../configurableui/ConfigurableUiContent\";\nimport { mapToPlacement, type Placement } from \"../utils/Placement\";\n\n/** Props for a popup toolbar\n * @beta */\nexport type ToolbarPopupProps = Omit<PopupPropsBase, \"el\"> & {\n items: ToolbarItem[];\n orientation: Orientation;\n onCancel: () => void;\n onItemExecuted: (item: any) => void;\n el?: HTMLElement;\n} & RequireAtLeastOne<{\n relativePosition: RelativePosition; // @deprecated in 4.11.x. Please use placement instead.\n placement: Placement;\n }>;\n\n/** @internal */\ninterface ToolbarPopupState {\n size: Size;\n}\n\n/** Popup component for Toolbar\n * @beta\n */\nexport class ToolbarPopup extends React.PureComponent<\n ToolbarPopupProps,\n ToolbarPopupState\n> {\n /** @internal */\n public static override contextType = WrapperContext;\n /** @internal */\n public declare context: React.ContextType<typeof WrapperContext>;\n\n /** @internal */\n public override readonly state = {\n size: new Size(-1, -1),\n };\n\n private _onSizeKnown = (newSize: SizeProps) => {\n // istanbul ignore else\n if (!this.state.size.equals(newSize))\n this.setState({ size: Size.create(newSize) });\n };\n\n private _handleKeyDown = (\n event: React.KeyboardEvent<HTMLDivElement>\n ): void => {\n switch (event.key) {\n case Key.Escape.valueOf():\n this._cancel();\n break;\n }\n };\n\n private _cancel() {\n // istanbul ignore else\n if (this.props.onCancel) {\n this.props.onCancel();\n }\n }\n\n public override render() {\n let point = PopupManager.getPopupPosition(\n this.props.el ?? this.context,\n this.props.pt,\n new Point(),\n this.state.size\n );\n const popupRect = CursorPopup.getPopupRect(\n point,\n this.props.offset,\n this.state.size,\n this.props.placement ?? mapToPlacement(this.props.relativePosition)\n );\n point = new Point(popupRect.left, popupRect.top);\n return (\n <PositionPopup\n key={this.props.id}\n className=\"uifw-no-border\"\n point={point}\n onSizeKnown={this._onSizeKnown}\n >\n <DivWithOutsideClick\n onOutsideClick={this.props.onCancel}\n onKeyDown={this._handleKeyDown}\n >\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\n <Toolbar\n expandsTo={Direction.Bottom}\n panelAlignment={ToolbarPanelAlignment.Start}\n items={this.props.items}\n useDragInteraction={true}\n toolbarOpacitySetting={ToolbarOpacitySetting.Defaults}\n onItemExecuted={this.props.onItemExecuted}\n />\n </FocusTrap>\n </DivWithOutsideClick>\n </PositionPopup>\n );\n }\n}\n"]}
@@ -20,7 +20,7 @@ interface KnownPreviewFeatures {
20
20
  * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/673
21
21
  */
22
22
  enableMaximizedPanelWidget: boolean;
23
- /** If true, a tab, or the active tab of a group of widget will become active when dropped in a container.
23
+ /** If true, the active tab of a dragged widget will become active when dropped in a container.
24
24
  *
25
25
  * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/679
26
26
  */
@@ -37,6 +37,8 @@ interface KnownPreviewFeatures {
37
37
  widgetActionDropdown: {
38
38
  threshold: number;
39
39
  };
40
+ /** If true, the [[Toolbar]] component will be replaced by a new iTwinUI based toolbar. */
41
+ newToolbars: boolean;
40
42
  }
41
43
  /** List of preview features that can be enabled/disabled.
42
44
  * This list is expected to change over time, the interface is made
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewFeatures.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/preview/PreviewFeatures.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,sCAAsC;AACtC,UAAU,oBAAoB;IAC5B;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,6BAA6B,EAAE,OAAO,CAAC;IACvC;;;OAGG;IACH,0BAA0B,EAAE,OAAO,CAAC;IACpC;;;OAGG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,oBAAoB,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAeD;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,OAAO,CAAC,oBAAoB,CAAC;IACpE,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC;CAC5B;AAwDD;;GAEG;AACH,wBAAgB,kBAAkB,oBAEjC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,QAAQ,GACT,EAAE,4BAA4B,qBAgB9B"}
1
+ {"version":3,"file":"PreviewFeatures.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/preview/PreviewFeatures.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,sCAAsC;AACtC,UAAU,oBAAoB;IAC5B;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,6BAA6B,EAAE,OAAO,CAAC;IACvC;;;OAGG;IACH,0BAA0B,EAAE,OAAO,CAAC;IACpC;;;OAGG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,oBAAoB,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,0FAA0F;IAC1F,WAAW,EAAE,OAAO,CAAC;CACtB;AAeD;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,OAAO,CAAC,oBAAoB,CAAC;IACpE,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC;CAC5B;AAuDD;;GAEG;AACH,wBAAgB,kBAAkB,oBAEjC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,QAAQ,GACT,EAAE,4BAA4B,qBAgB9B"}