@itwin/appui-react 4.10.0-dev.1 → 4.11.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 (1183) hide show
  1. package/CHANGELOG.md +28 -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/accudraw/AccuDrawDialog.d.ts.map +1 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +3 -2
  8. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +7 -9
  15. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  17. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  19. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/Calculator.js +9 -9
  21. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  23. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  24. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +2 -1
  26. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  27. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +2 -2
  28. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  29. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  30. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  31. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  32. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  33. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  34. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +24 -17
  35. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  36. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  37. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  38. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  39. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  40. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  41. package/lib/cjs/appui-react/configurableui/TimeTracker.js +2 -1
  42. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  43. package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
  44. package/lib/cjs/appui-react/content/ContentGroup.js +2 -2
  45. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  46. package/lib/cjs/appui-react/content/ContentLayout.js +12 -9
  47. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  48. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +4 -3
  49. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  50. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +14 -19
  51. package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -1
  52. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  53. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  54. package/lib/cjs/appui-react/content/IModelViewport.js +10 -11
  55. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  56. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +2 -1
  57. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  58. package/lib/cjs/appui-react/content/InternalContentViewManager.js +2 -2
  59. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  60. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +12 -10
  61. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  62. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  63. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  65. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  66. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  67. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  69. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  70. package/lib/cjs/appui-react/dialog/ContentDialog.js +6 -3
  71. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  72. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +3 -2
  73. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  74. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +2 -2
  75. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  76. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  77. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  78. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  79. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  80. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +20 -77
  82. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  83. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  85. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  86. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  87. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +1 -2
  89. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  90. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  91. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +7 -6
  92. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  93. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
  94. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  95. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts +6 -0
  96. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  97. package/lib/cjs/appui-react/hooks/useActiveToolId.js +24 -0
  98. package/lib/cjs/appui-react/hooks/useActiveToolId.js.map +1 -0
  99. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  100. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  101. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts +15 -0
  102. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  103. package/lib/cjs/appui-react/hooks/useConditionalValue.js +43 -0
  104. package/lib/cjs/appui-react/hooks/useConditionalValue.js.map +1 -0
  105. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js +1 -1
  106. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  107. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  108. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  109. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +13 -8
  110. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  111. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  112. package/lib/cjs/appui-react/keyins/Keyins.d.ts +35 -0
  113. package/lib/cjs/appui-react/keyins/Keyins.d.ts.map +1 -0
  114. package/lib/cjs/appui-react/keyins/Keyins.js +54 -0
  115. package/lib/cjs/appui-react/keyins/Keyins.js.map +1 -0
  116. package/lib/cjs/appui-react/layers.scss +11 -0
  117. package/lib/cjs/appui-react/layout/StandardLayout.d.ts +24 -0
  118. package/lib/cjs/appui-react/layout/StandardLayout.d.ts.map +1 -0
  119. package/lib/cjs/appui-react/layout/StandardLayout.js +56 -0
  120. package/lib/cjs/appui-react/layout/StandardLayout.js.map +1 -0
  121. package/lib/cjs/appui-react/layout/StandardLayout.scss +94 -0
  122. package/lib/cjs/appui-react/layout/_widgetopacity.scss +3 -1
  123. package/lib/cjs/appui-react/layout/backstage/Backstage.js +1 -1
  124. package/lib/cjs/appui-react/layout/backstage/Backstage.js.map +1 -1
  125. package/lib/cjs/appui-react/layout/base/DragManager.js +2 -1
  126. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  127. package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
  128. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  129. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js +4 -4
  130. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  131. package/lib/cjs/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  132. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js +3 -0
  133. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  134. package/lib/cjs/appui-react/layout/outline/PanelOutline.scss +1 -10
  135. package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
  136. package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
  137. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
  138. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  139. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +14 -12
  140. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  141. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  142. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  143. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  144. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js +1 -0
  145. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  146. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.d.ts.map +1 -1
  147. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +8 -2
  148. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  149. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.d.ts.map +1 -1
  150. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -0
  151. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  152. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.d.ts.map +1 -1
  153. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +6 -4
  154. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  155. package/lib/cjs/appui-react/layout/target/PanelTargets.scss +2 -0
  156. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
  157. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  158. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts +12 -6
  159. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/layout/tool-settings/Docked.js +52 -21
  161. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  162. package/lib/cjs/appui-react/layout/tool-settings/Docked.scss +15 -23
  163. package/lib/cjs/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
  164. package/lib/cjs/appui-react/layout/tool-settings/Handle.js +3 -1
  165. package/lib/cjs/appui-react/layout/tool-settings/Handle.js.map +1 -1
  166. package/lib/cjs/appui-react/layout/tool-settings/Handle.scss +6 -12
  167. package/lib/cjs/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
  168. package/lib/cjs/appui-react/layout/tool-settings/Overflow.js +4 -5
  169. package/lib/cjs/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  170. package/lib/cjs/appui-react/layout/tool-settings/Overflow.scss +0 -15
  171. package/lib/cjs/appui-react/layout/tool-settings/Setting.scss +1 -12
  172. package/lib/cjs/appui-react/layout/widget/Buttons.d.ts +4 -4
  173. package/lib/cjs/appui-react/layout/widget/Buttons.d.ts.map +1 -1
  174. package/lib/cjs/appui-react/layout/widget/Buttons.js +8 -31
  175. package/lib/cjs/appui-react/layout/widget/Buttons.js.map +1 -1
  176. package/lib/cjs/appui-react/layout/widget/Content.d.ts.map +1 -1
  177. package/lib/cjs/appui-react/layout/widget/Content.js +5 -5
  178. package/lib/cjs/appui-react/layout/widget/Content.js.map +1 -1
  179. package/lib/cjs/appui-react/layout/widget/ContentContainer.d.ts.map +1 -1
  180. package/lib/cjs/appui-react/layout/widget/ContentContainer.js +2 -0
  181. package/lib/cjs/appui-react/layout/widget/ContentContainer.js.map +1 -1
  182. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts +1 -1
  183. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  184. package/lib/cjs/appui-react/layout/widget/ContentManager.js +1 -1
  185. package/lib/cjs/appui-react/layout/widget/ContentManager.js.map +1 -1
  186. package/lib/cjs/appui-react/layout/widget/ContentRenderer.d.ts.map +1 -1
  187. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +8 -2
  188. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  189. package/lib/cjs/appui-react/layout/widget/Dock.d.ts +2 -0
  190. package/lib/cjs/appui-react/layout/widget/Dock.d.ts.map +1 -1
  191. package/lib/cjs/appui-react/layout/widget/Dock.js +10 -1
  192. package/lib/cjs/appui-react/layout/widget/Dock.js.map +1 -1
  193. package/lib/cjs/appui-react/layout/widget/FloatingTab.js +6 -5
  194. package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
  195. package/lib/cjs/appui-react/layout/widget/FloatingWidget.d.ts.map +1 -1
  196. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +19 -19
  197. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  198. package/lib/cjs/appui-react/layout/widget/FloatingWidget.scss +92 -105
  199. package/lib/cjs/appui-react/layout/widget/NavigationArea.scss +4 -1
  200. package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
  201. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  202. package/lib/cjs/appui-react/layout/widget/PinToggle.d.ts +2 -0
  203. package/lib/cjs/appui-react/layout/widget/PinToggle.d.ts.map +1 -1
  204. package/lib/cjs/appui-react/layout/widget/PinToggle.js +10 -1
  205. package/lib/cjs/appui-react/layout/widget/PinToggle.js.map +1 -1
  206. package/lib/cjs/appui-react/layout/widget/SendBack.d.ts.map +1 -1
  207. package/lib/cjs/appui-react/layout/widget/SendBack.js +4 -5
  208. package/lib/cjs/appui-react/layout/widget/SendBack.js.map +1 -1
  209. package/lib/cjs/appui-react/layout/widget/Tab.d.ts.map +1 -1
  210. package/lib/cjs/appui-react/layout/widget/Tab.js +9 -14
  211. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  212. package/lib/cjs/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  213. package/lib/cjs/appui-react/layout/widget/TabBar.js +4 -1
  214. package/lib/cjs/appui-react/layout/widget/TabBar.js.map +1 -1
  215. package/lib/cjs/appui-react/layout/widget/TabBar.scss +17 -19
  216. package/lib/cjs/appui-react/layout/widget/ToolsArea.scss +2 -0
  217. package/lib/cjs/appui-react/layout/widget/Widget.d.ts.map +1 -1
  218. package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
  219. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  220. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  221. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  222. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.d.ts +8 -0
  223. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.d.ts.map +1 -0
  224. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.js +39 -0
  225. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.js.map +1 -0
  226. package/lib/cjs/appui-react/layout/widget-panels/Grip.d.ts +1 -1
  227. package/lib/cjs/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  228. package/lib/cjs/appui-react/layout/widget-panels/Grip.js +4 -0
  229. package/lib/cjs/appui-react/layout/widget-panels/Grip.js.map +1 -1
  230. package/lib/cjs/appui-react/layout/widget-panels/Grip.scss +106 -104
  231. package/lib/cjs/appui-react/layout/widget-panels/Panel.d.ts +1 -1
  232. package/lib/cjs/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  233. package/lib/cjs/appui-react/layout/widget-panels/Panel.js +10 -16
  234. package/lib/cjs/appui-react/layout/widget-panels/Panel.js.map +1 -1
  235. package/lib/cjs/appui-react/layout/widget-panels/Panel.scss +175 -243
  236. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.d.ts +1 -0
  237. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
  238. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +42 -35
  239. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  240. package/lib/cjs/appui-react/layout/widget-panels/{Panels.scss → PanelSections.scss} +1 -11
  241. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  242. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  243. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  244. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts +7 -0
  245. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts.map +1 -0
  246. package/lib/cjs/appui-react/layout/widget-panels/{AppContent.js → usePanelsAutoCollapse.js} +3 -26
  247. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -0
  248. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
  249. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  250. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/messages/MessageManager.js +6 -7
  252. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  253. package/lib/cjs/appui-react/messages/MessageRenderer.js +16 -10
  254. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  255. package/lib/cjs/appui-react/messages/getToastCategory.d.ts +1 -1
  256. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  257. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  258. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  259. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  260. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +1 -1
  261. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  262. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  263. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  264. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +2 -3
  265. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  266. package/lib/cjs/appui-react/pickers/ViewSelector.js +6 -5
  267. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  268. package/lib/cjs/appui-react/popup/CardPopup.d.ts +21 -9
  269. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  270. package/lib/cjs/appui-react/popup/CardPopup.js +13 -6
  271. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  272. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts +18 -0
  273. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  274. package/lib/cjs/appui-react/popup/ComponentPopup.js +35 -0
  275. package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -0
  276. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  277. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/popup/HTMLElementPopup.js +1 -0
  279. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  280. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +4 -4
  281. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  282. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  283. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  284. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  285. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +25 -16
  286. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  287. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  288. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  289. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +10 -4
  290. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  291. package/lib/cjs/appui-react/popup/PopupManager.d.ts +45 -9
  292. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  293. package/lib/cjs/appui-react/popup/PopupManager.js +85 -13
  294. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  295. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +1 -1
  296. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  297. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +16 -6
  298. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  299. package/lib/cjs/appui-react/popup/ToolbarPopup.js +8 -3
  300. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  301. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +9 -2
  302. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  303. package/lib/cjs/appui-react/preview/PreviewFeatures.js +3 -2
  304. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  305. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  306. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  307. package/lib/cjs/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  308. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  309. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  310. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  311. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +18 -0
  312. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  313. package/lib/cjs/appui-react/{layout/widget-panels/CenterContent.scss → preview/content-always-max-size/useContentAlwaysMaxSize.scss} +5 -2
  314. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts +9 -0
  315. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts.map +1 -0
  316. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +51 -0
  317. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -0
  318. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +18 -0
  319. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -0
  320. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.js +27 -0
  321. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -0
  322. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +50 -0
  323. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -0
  324. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +115 -0
  325. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -0
  326. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
  327. package/lib/cjs/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.d.ts +4 -6
  328. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -0
  329. package/lib/cjs/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.js +18 -22
  330. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -0
  331. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts +19 -0
  332. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts.map +1 -0
  333. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +30 -0
  334. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -0
  335. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
  336. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  337. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  338. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js +25 -0
  339. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  340. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  341. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  342. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js +20 -0
  343. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  344. package/lib/cjs/appui-react/preview/new-toolbars/Badge.scss +13 -0
  345. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  346. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  347. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +36 -0
  348. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  349. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  350. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  351. package/lib/cjs/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +8 -13
  352. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  353. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  354. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  355. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  356. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +79 -0
  357. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  358. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  359. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  360. package/lib/cjs/appui-react/preview/new-toolbars/Item.js +54 -0
  361. package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -0
  362. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  363. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  364. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +37 -0
  365. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  366. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  367. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  368. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +85 -0
  369. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  370. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  371. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  372. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  373. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js +40 -0
  374. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  375. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  376. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  377. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js +93 -0
  378. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  379. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
  380. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js +1 -1
  381. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  382. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +3 -2
  383. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  384. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +7 -6
  385. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  386. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  387. package/lib/cjs/appui-react/redux/SessionState.d.ts +17 -5
  388. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  389. package/lib/cjs/appui-react/redux/SessionState.js +8 -1
  390. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  391. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
  392. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  393. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  394. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  395. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  396. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  397. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  398. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  399. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  400. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +40 -46
  401. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  402. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts +17 -0
  403. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  404. package/lib/cjs/appui-react/shared/ConditionalValue.js +16 -0
  405. package/lib/cjs/appui-react/shared/ConditionalValue.js.map +1 -0
  406. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
  407. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  408. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  409. package/lib/cjs/appui-react/shared/ItemProps.d.ts +13 -2
  410. package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
  411. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  412. package/lib/cjs/appui-react/shared/MenuItem.d.ts +21 -2
  413. package/lib/cjs/appui-react/shared/MenuItem.d.ts.map +1 -1
  414. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  415. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +16 -11
  416. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  417. package/lib/cjs/appui-react/statusbar/Indicator.js +2 -1
  418. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  419. package/lib/cjs/appui-react/statusbar/Overflow.d.ts.map +1 -1
  420. package/lib/cjs/appui-react/statusbar/Overflow.js +3 -3
  421. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  422. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -1
  423. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  424. package/lib/cjs/appui-react/statusbar/StatusBar.js +6 -4
  425. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  426. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -1
  427. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  428. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  429. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  430. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  431. package/lib/{esm/appui-react/statusbar → cjs/appui-react/statusbar/popup}/Popup.d.ts +2 -1
  432. package/lib/cjs/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  433. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.js +10 -11
  434. package/lib/cjs/appui-react/statusbar/popup/Popup.js.map +1 -0
  435. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  436. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  437. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +5 -4
  438. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  439. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +0 -1
  440. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  441. package/lib/cjs/appui-react/statusfields/MessageCenter.js +4 -4
  442. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  443. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  444. package/lib/cjs/appui-react/statusfields/SectionsField.js +7 -10
  445. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  446. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  447. package/lib/cjs/appui-react/statusfields/SelectionScope.js +4 -4
  448. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  449. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  450. package/lib/cjs/appui-react/statusfields/SnapMode.js +14 -12
  451. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  452. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  453. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  454. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +12 -20
  455. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  456. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  457. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -2
  458. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  459. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  460. package/lib/cjs/appui-react/theme/ThemeManager.js +3 -2
  461. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  462. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  463. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  464. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  465. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts +4 -3
  466. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  467. package/lib/cjs/appui-react/toolbar/Toolbar.js +28 -4
  468. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  469. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  470. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  471. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +15 -12
  472. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  473. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  474. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +5 -6
  475. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  476. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  477. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  478. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  479. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  480. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  481. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  482. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +18 -11
  483. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  484. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  485. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js +2 -1
  486. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  487. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  488. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  489. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  490. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  491. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +3 -3
  492. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  493. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  494. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  495. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  496. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  497. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  498. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  499. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  500. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  501. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +102 -143
  502. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  503. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
  504. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  505. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +0 -7
  506. package/lib/cjs/appui-react/useTranslation.d.ts +10 -0
  507. package/lib/cjs/appui-react/useTranslation.d.ts.map +1 -0
  508. package/lib/cjs/appui-react/useTranslation.js +20 -0
  509. package/lib/cjs/appui-react/useTranslation.js.map +1 -0
  510. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  511. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  512. package/lib/cjs/appui-react/utils/Placement.d.ts +35 -0
  513. package/lib/cjs/appui-react/utils/Placement.d.ts.map +1 -0
  514. package/lib/cjs/appui-react/utils/Placement.js +62 -0
  515. package/lib/cjs/appui-react/utils/Placement.js.map +1 -0
  516. package/lib/cjs/appui-react/utils/PropsHelper.js +4 -4
  517. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  518. package/lib/cjs/appui-react/utils/matchesWords.js +4 -4
  519. package/lib/cjs/appui-react/utils/matchesWords.js.map +1 -1
  520. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  521. package/lib/cjs/appui-react/widget-panels/Content.js +12 -11
  522. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  523. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  524. package/lib/cjs/appui-react/widget-panels/Frontstage.js +43 -39
  525. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  526. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +0 -23
  527. package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
  528. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  529. package/lib/cjs/appui-react/widget-panels/Tab.d.ts +1 -1
  530. package/lib/cjs/appui-react/widget-panels/Tab.d.ts.map +1 -1
  531. package/lib/cjs/appui-react/widget-panels/Tab.js +3 -4
  532. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  533. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  534. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  535. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +55 -68
  536. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  537. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +0 -6
  538. package/lib/cjs/appui-react/widget-panels/Toolbars.js +3 -2
  539. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  540. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +3 -1
  541. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  542. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +3 -1
  543. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  544. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  545. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  546. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  547. package/lib/cjs/appui-react/widgets/Widget.d.ts +2 -2
  548. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -1
  549. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  550. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +9 -4
  551. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  552. package/lib/cjs/appui-react/widgets/WidgetDef.js +61 -18
  553. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  554. package/lib/cjs/appui-react/widgets/WidgetHost.js +3 -2
  555. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  556. package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
  557. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  558. package/lib/cjs/appui-react.d.ts +4 -1
  559. package/lib/cjs/appui-react.d.ts.map +1 -1
  560. package/lib/cjs/appui-react.js +4 -3
  561. package/lib/cjs/appui-react.js.map +1 -1
  562. package/lib/esm/appui-react/UiFramework.d.ts +181 -10
  563. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  564. package/lib/esm/appui-react/UiFramework.js +301 -21
  565. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  566. package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  567. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +3 -2
  568. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  569. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  570. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  571. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  572. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  573. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  574. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +7 -9
  575. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  576. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  577. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  578. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  579. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  580. package/lib/esm/appui-react/accudraw/Calculator.js +9 -9
  581. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  582. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  583. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  584. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  585. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +2 -1
  586. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  587. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +2 -2
  588. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  589. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  590. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  591. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  592. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  593. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  594. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +23 -16
  595. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  596. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  597. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  598. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  599. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  600. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  601. package/lib/esm/appui-react/configurableui/TimeTracker.js +2 -1
  602. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  603. package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
  604. package/lib/esm/appui-react/content/ContentGroup.js +2 -2
  605. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  606. package/lib/esm/appui-react/content/ContentLayout.js +12 -9
  607. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  608. package/lib/esm/appui-react/content/DefaultViewOverlay.js +4 -3
  609. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  610. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +14 -19
  611. package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -1
  612. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  613. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  614. package/lib/esm/appui-react/content/IModelViewport.js +10 -11
  615. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  616. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +2 -1
  617. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  618. package/lib/esm/appui-react/content/InternalContentViewManager.js +2 -2
  619. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  620. package/lib/esm/appui-react/content/split-pane/SplitPane.js +12 -10
  621. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  622. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  623. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  624. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  625. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  626. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  627. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  628. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  629. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  630. package/lib/esm/appui-react/dialog/ContentDialog.js +6 -3
  631. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  632. package/lib/esm/appui-react/dialog/DialogManagerBase.js +3 -2
  633. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  634. package/lib/esm/appui-react/feedback/ValidationTextbox.js +2 -2
  635. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  636. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  637. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  638. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  639. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  640. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  641. package/lib/esm/appui-react/frontstage/FrontstageDef.js +21 -78
  642. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  643. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  644. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  645. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  646. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  647. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  648. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +1 -2
  649. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  650. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  651. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +7 -6
  652. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  653. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
  654. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  655. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts +6 -0
  656. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  657. package/lib/esm/appui-react/hooks/useActiveToolId.js +20 -0
  658. package/lib/esm/appui-react/hooks/useActiveToolId.js.map +1 -0
  659. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  660. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  661. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts +15 -0
  662. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  663. package/lib/esm/appui-react/hooks/useConditionalValue.js +39 -0
  664. package/lib/esm/appui-react/hooks/useConditionalValue.js.map +1 -0
  665. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js +1 -1
  666. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  667. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  668. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  669. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +13 -8
  670. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  671. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  672. package/lib/esm/appui-react/keyins/Keyins.d.ts +35 -0
  673. package/lib/esm/appui-react/keyins/Keyins.d.ts.map +1 -0
  674. package/lib/esm/appui-react/keyins/Keyins.js +50 -0
  675. package/lib/esm/appui-react/keyins/Keyins.js.map +1 -0
  676. package/lib/esm/appui-react/layers.scss +11 -0
  677. package/lib/esm/appui-react/layout/StandardLayout.d.ts +24 -0
  678. package/lib/esm/appui-react/layout/StandardLayout.d.ts.map +1 -0
  679. package/lib/esm/appui-react/layout/StandardLayout.js +52 -0
  680. package/lib/esm/appui-react/layout/StandardLayout.js.map +1 -0
  681. package/lib/esm/appui-react/layout/StandardLayout.scss +94 -0
  682. package/lib/esm/appui-react/layout/_widgetopacity.scss +3 -1
  683. package/lib/esm/appui-react/layout/backstage/Backstage.js +1 -1
  684. package/lib/esm/appui-react/layout/backstage/Backstage.js.map +1 -1
  685. package/lib/esm/appui-react/layout/base/DragManager.js +2 -1
  686. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  687. package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
  688. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  689. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js +4 -4
  690. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  691. package/lib/esm/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  692. package/lib/esm/appui-react/layout/base/usePointerCaptor.js +3 -0
  693. package/lib/esm/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  694. package/lib/esm/appui-react/layout/outline/PanelOutline.scss +1 -10
  695. package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
  696. package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
  697. package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
  698. package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  699. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +14 -12
  700. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  701. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  702. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  703. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  704. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js +1 -0
  705. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  706. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.d.ts.map +1 -1
  707. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +8 -2
  708. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  709. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.d.ts.map +1 -1
  710. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -0
  711. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  712. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.d.ts.map +1 -1
  713. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +6 -4
  714. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  715. package/lib/esm/appui-react/layout/target/PanelTargets.scss +2 -0
  716. package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
  717. package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  718. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts +12 -6
  719. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  720. package/lib/esm/appui-react/layout/tool-settings/Docked.js +53 -22
  721. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  722. package/lib/esm/appui-react/layout/tool-settings/Docked.scss +15 -23
  723. package/lib/esm/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
  724. package/lib/esm/appui-react/layout/tool-settings/Handle.js +3 -1
  725. package/lib/esm/appui-react/layout/tool-settings/Handle.js.map +1 -1
  726. package/lib/esm/appui-react/layout/tool-settings/Handle.scss +6 -12
  727. package/lib/esm/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
  728. package/lib/esm/appui-react/layout/tool-settings/Overflow.js +4 -5
  729. package/lib/esm/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  730. package/lib/esm/appui-react/layout/tool-settings/Overflow.scss +0 -15
  731. package/lib/esm/appui-react/layout/tool-settings/Setting.scss +1 -12
  732. package/lib/esm/appui-react/layout/widget/Buttons.d.ts +4 -4
  733. package/lib/esm/appui-react/layout/widget/Buttons.d.ts.map +1 -1
  734. package/lib/esm/appui-react/layout/widget/Buttons.js +8 -30
  735. package/lib/esm/appui-react/layout/widget/Buttons.js.map +1 -1
  736. package/lib/esm/appui-react/layout/widget/Content.d.ts.map +1 -1
  737. package/lib/esm/appui-react/layout/widget/Content.js +5 -5
  738. package/lib/esm/appui-react/layout/widget/Content.js.map +1 -1
  739. package/lib/esm/appui-react/layout/widget/ContentContainer.d.ts.map +1 -1
  740. package/lib/esm/appui-react/layout/widget/ContentContainer.js +2 -0
  741. package/lib/esm/appui-react/layout/widget/ContentContainer.js.map +1 -1
  742. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts +1 -1
  743. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  744. package/lib/esm/appui-react/layout/widget/ContentManager.js +1 -1
  745. package/lib/esm/appui-react/layout/widget/ContentManager.js.map +1 -1
  746. package/lib/esm/appui-react/layout/widget/ContentRenderer.d.ts.map +1 -1
  747. package/lib/esm/appui-react/layout/widget/ContentRenderer.js +8 -2
  748. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  749. package/lib/esm/appui-react/layout/widget/Dock.d.ts +2 -0
  750. package/lib/esm/appui-react/layout/widget/Dock.d.ts.map +1 -1
  751. package/lib/esm/appui-react/layout/widget/Dock.js +8 -0
  752. package/lib/esm/appui-react/layout/widget/Dock.js.map +1 -1
  753. package/lib/esm/appui-react/layout/widget/FloatingTab.js +6 -5
  754. package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
  755. package/lib/esm/appui-react/layout/widget/FloatingWidget.d.ts.map +1 -1
  756. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +19 -19
  757. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  758. package/lib/esm/appui-react/layout/widget/FloatingWidget.scss +92 -105
  759. package/lib/esm/appui-react/layout/widget/NavigationArea.scss +4 -1
  760. package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
  761. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  762. package/lib/esm/appui-react/layout/widget/PinToggle.d.ts +2 -0
  763. package/lib/esm/appui-react/layout/widget/PinToggle.d.ts.map +1 -1
  764. package/lib/esm/appui-react/layout/widget/PinToggle.js +8 -0
  765. package/lib/esm/appui-react/layout/widget/PinToggle.js.map +1 -1
  766. package/lib/esm/appui-react/layout/widget/SendBack.d.ts.map +1 -1
  767. package/lib/esm/appui-react/layout/widget/SendBack.js +4 -5
  768. package/lib/esm/appui-react/layout/widget/SendBack.js.map +1 -1
  769. package/lib/esm/appui-react/layout/widget/Tab.d.ts.map +1 -1
  770. package/lib/esm/appui-react/layout/widget/Tab.js +9 -14
  771. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  772. package/lib/esm/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  773. package/lib/esm/appui-react/layout/widget/TabBar.js +4 -1
  774. package/lib/esm/appui-react/layout/widget/TabBar.js.map +1 -1
  775. package/lib/esm/appui-react/layout/widget/TabBar.scss +17 -19
  776. package/lib/esm/appui-react/layout/widget/ToolsArea.scss +2 -0
  777. package/lib/esm/appui-react/layout/widget/Widget.d.ts.map +1 -1
  778. package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
  779. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  780. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  781. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  782. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.d.ts +8 -0
  783. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.d.ts.map +1 -0
  784. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.js +34 -0
  785. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.js.map +1 -0
  786. package/lib/esm/appui-react/layout/widget-panels/Grip.d.ts +1 -1
  787. package/lib/esm/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  788. package/lib/esm/appui-react/layout/widget-panels/Grip.js +4 -0
  789. package/lib/esm/appui-react/layout/widget-panels/Grip.js.map +1 -1
  790. package/lib/esm/appui-react/layout/widget-panels/Grip.scss +106 -104
  791. package/lib/esm/appui-react/layout/widget-panels/Panel.d.ts +1 -1
  792. package/lib/esm/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  793. package/lib/esm/appui-react/layout/widget-panels/Panel.js +10 -16
  794. package/lib/esm/appui-react/layout/widget-panels/Panel.js.map +1 -1
  795. package/lib/esm/appui-react/layout/widget-panels/Panel.scss +175 -243
  796. package/lib/esm/appui-react/layout/widget-panels/PanelSections.d.ts +1 -0
  797. package/lib/esm/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
  798. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +41 -34
  799. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  800. package/lib/esm/appui-react/layout/widget-panels/{Panels.scss → PanelSections.scss} +1 -11
  801. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  802. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  803. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  804. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts +7 -0
  805. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts.map +1 -0
  806. package/lib/esm/appui-react/layout/widget-panels/{AppContent.js → usePanelsAutoCollapse.js} +3 -25
  807. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -0
  808. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
  809. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  810. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  811. package/lib/esm/appui-react/messages/MessageManager.js +6 -7
  812. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  813. package/lib/esm/appui-react/messages/MessageRenderer.js +17 -11
  814. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  815. package/lib/esm/appui-react/messages/getToastCategory.d.ts +1 -1
  816. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  817. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  818. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  819. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  820. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -2
  821. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  822. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  823. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  824. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +2 -3
  825. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  826. package/lib/esm/appui-react/pickers/ViewSelector.js +6 -5
  827. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  828. package/lib/esm/appui-react/popup/CardPopup.d.ts +21 -9
  829. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  830. package/lib/esm/appui-react/popup/CardPopup.js +16 -8
  831. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  832. package/lib/esm/appui-react/popup/ComponentPopup.d.ts +18 -0
  833. package/lib/esm/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  834. package/lib/esm/appui-react/popup/ComponentPopup.js +31 -0
  835. package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -0
  836. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  837. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  838. package/lib/esm/appui-react/popup/HTMLElementPopup.js +1 -0
  839. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  840. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +4 -4
  841. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  842. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  843. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  844. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  845. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +25 -16
  846. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  847. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  848. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  849. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +10 -4
  850. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  851. package/lib/esm/appui-react/popup/PopupManager.d.ts +45 -9
  852. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  853. package/lib/esm/appui-react/popup/PopupManager.js +87 -14
  854. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  855. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +1 -1
  856. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  857. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +16 -6
  858. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  859. package/lib/esm/appui-react/popup/ToolbarPopup.js +10 -4
  860. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  861. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +9 -2
  862. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  863. package/lib/esm/appui-react/preview/PreviewFeatures.js +3 -2
  864. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  865. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  866. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  867. package/lib/esm/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  868. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  869. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  870. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  871. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +14 -0
  872. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  873. package/lib/esm/appui-react/{layout/widget-panels/CenterContent.scss → preview/content-always-max-size/useContentAlwaysMaxSize.scss} +5 -2
  874. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts +9 -0
  875. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts.map +1 -0
  876. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +46 -0
  877. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -0
  878. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +18 -0
  879. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -0
  880. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.js +23 -0
  881. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -0
  882. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +50 -0
  883. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -0
  884. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +106 -0
  885. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -0
  886. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
  887. package/lib/esm/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.d.ts +4 -6
  888. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -0
  889. package/lib/esm/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.js +16 -19
  890. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -0
  891. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts +19 -0
  892. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts.map +1 -0
  893. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +26 -0
  894. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -0
  895. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
  896. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  897. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  898. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js +22 -0
  899. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  900. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  901. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  902. package/lib/esm/appui-react/preview/new-toolbars/Badge.js +16 -0
  903. package/lib/esm/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  904. package/lib/esm/appui-react/preview/new-toolbars/Badge.scss +13 -0
  905. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  906. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  907. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +33 -0
  908. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  909. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  910. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  911. package/lib/esm/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +5 -10
  912. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  913. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  914. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  915. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  916. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +74 -0
  917. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  918. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  919. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  920. package/lib/esm/appui-react/preview/new-toolbars/Item.js +49 -0
  921. package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -0
  922. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  923. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  924. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +34 -0
  925. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  926. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  927. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  928. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +81 -0
  929. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  930. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  931. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  932. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  933. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js +36 -0
  934. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  935. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  936. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  937. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js +89 -0
  938. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  939. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
  940. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js +1 -1
  941. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  942. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +3 -2
  943. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  944. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +7 -6
  945. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  946. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  947. package/lib/esm/appui-react/redux/SessionState.d.ts +17 -5
  948. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  949. package/lib/esm/appui-react/redux/SessionState.js +8 -1
  950. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  951. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
  952. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  953. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  954. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  955. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  956. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  957. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  958. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  959. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  960. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +40 -46
  961. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  962. package/lib/esm/appui-react/shared/ConditionalValue.d.ts +17 -0
  963. package/lib/esm/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  964. package/lib/esm/appui-react/shared/ConditionalValue.js +13 -0
  965. package/lib/esm/appui-react/shared/ConditionalValue.js.map +1 -0
  966. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
  967. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  968. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  969. package/lib/esm/appui-react/shared/ItemProps.d.ts +13 -2
  970. package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
  971. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  972. package/lib/esm/appui-react/shared/MenuItem.d.ts +21 -2
  973. package/lib/esm/appui-react/shared/MenuItem.d.ts.map +1 -1
  974. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  975. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +16 -11
  976. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  977. package/lib/esm/appui-react/statusbar/Indicator.js +2 -1
  978. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  979. package/lib/esm/appui-react/statusbar/Overflow.d.ts.map +1 -1
  980. package/lib/esm/appui-react/statusbar/Overflow.js +3 -3
  981. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  982. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -1
  983. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  984. package/lib/esm/appui-react/statusbar/StatusBar.js +6 -4
  985. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  986. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -1
  987. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  988. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  989. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  990. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  991. package/lib/{cjs/appui-react/statusbar → esm/appui-react/statusbar/popup}/Popup.d.ts +2 -1
  992. package/lib/esm/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  993. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.js +8 -9
  994. package/lib/esm/appui-react/statusbar/popup/Popup.js.map +1 -0
  995. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  996. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  997. package/lib/esm/appui-react/statusfields/ActivityCenter.js +5 -4
  998. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  999. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +0 -1
  1000. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  1001. package/lib/esm/appui-react/statusfields/MessageCenter.js +4 -4
  1002. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  1003. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  1004. package/lib/esm/appui-react/statusfields/SectionsField.js +7 -10
  1005. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  1006. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  1007. package/lib/esm/appui-react/statusfields/SelectionScope.js +4 -4
  1008. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  1009. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  1010. package/lib/esm/appui-react/statusfields/SnapMode.js +14 -12
  1011. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  1012. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  1013. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  1014. package/lib/esm/appui-react/statusfields/ViewAttributes.js +12 -20
  1015. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  1016. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  1017. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +3 -3
  1018. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  1019. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  1020. package/lib/esm/appui-react/theme/ThemeManager.js +3 -2
  1021. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  1022. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  1023. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  1024. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  1025. package/lib/esm/appui-react/toolbar/Toolbar.d.ts +4 -3
  1026. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  1027. package/lib/esm/appui-react/toolbar/Toolbar.js +29 -5
  1028. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  1029. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  1030. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  1031. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +15 -12
  1032. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  1033. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  1034. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +5 -6
  1035. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  1036. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  1037. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  1038. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  1039. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  1040. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  1041. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  1042. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +18 -11
  1043. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  1044. package/lib/esm/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  1045. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js +2 -1
  1046. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  1047. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  1048. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  1049. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  1050. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  1051. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +3 -3
  1052. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  1053. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  1054. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  1055. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  1056. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  1057. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  1058. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  1059. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  1060. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  1061. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +100 -141
  1062. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  1063. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
  1064. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  1065. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +0 -7
  1066. package/lib/esm/appui-react/useTranslation.d.ts +10 -0
  1067. package/lib/esm/appui-react/useTranslation.d.ts.map +1 -0
  1068. package/lib/esm/appui-react/useTranslation.js +16 -0
  1069. package/lib/esm/appui-react/useTranslation.js.map +1 -0
  1070. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  1071. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  1072. package/lib/esm/appui-react/utils/Placement.d.ts +35 -0
  1073. package/lib/esm/appui-react/utils/Placement.d.ts.map +1 -0
  1074. package/lib/esm/appui-react/utils/Placement.js +57 -0
  1075. package/lib/esm/appui-react/utils/Placement.js.map +1 -0
  1076. package/lib/esm/appui-react/utils/PropsHelper.js +4 -4
  1077. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  1078. package/lib/esm/appui-react/utils/matchesWords.js +4 -4
  1079. package/lib/esm/appui-react/utils/matchesWords.js.map +1 -1
  1080. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  1081. package/lib/esm/appui-react/widget-panels/Content.js +12 -11
  1082. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  1083. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  1084. package/lib/esm/appui-react/widget-panels/Frontstage.js +45 -41
  1085. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  1086. package/lib/esm/appui-react/widget-panels/Frontstage.scss +0 -23
  1087. package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
  1088. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  1089. package/lib/esm/appui-react/widget-panels/Tab.d.ts +1 -1
  1090. package/lib/esm/appui-react/widget-panels/Tab.d.ts.map +1 -1
  1091. package/lib/esm/appui-react/widget-panels/Tab.js +2 -3
  1092. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  1093. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  1094. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  1095. package/lib/esm/appui-react/widget-panels/ToolSettings.js +53 -66
  1096. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  1097. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +0 -6
  1098. package/lib/esm/appui-react/widget-panels/Toolbars.js +3 -2
  1099. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  1100. package/lib/esm/appui-react/widget-panels/Toolbars.scss +3 -1
  1101. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  1102. package/lib/esm/appui-react/widgets/BackstageAppButton.js +3 -1
  1103. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  1104. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  1105. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  1106. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  1107. package/lib/esm/appui-react/widgets/Widget.d.ts +2 -2
  1108. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -1
  1109. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  1110. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +9 -4
  1111. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  1112. package/lib/esm/appui-react/widgets/WidgetDef.js +59 -17
  1113. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  1114. package/lib/esm/appui-react/widgets/WidgetHost.js +3 -2
  1115. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  1116. package/lib/esm/appui-react/widgets/useWidget.js +1 -1
  1117. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  1118. package/lib/esm/appui-react.d.ts +4 -1
  1119. package/lib/esm/appui-react.d.ts.map +1 -1
  1120. package/lib/esm/appui-react.js +4 -1
  1121. package/lib/esm/appui-react.js.map +1 -1
  1122. package/lib/public/locales/en/UiFramework.json +8 -2
  1123. package/package.json +22 -20
  1124. package/lib/cjs/appui-react/layout/footer/Popup.d.ts +0 -12
  1125. package/lib/cjs/appui-react/layout/footer/Popup.d.ts.map +0 -1
  1126. package/lib/cjs/appui-react/layout/footer/Popup.js.map +0 -1
  1127. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  1128. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  1129. package/lib/cjs/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  1130. package/lib/cjs/appui-react/layout/widget/PreviewHorizontalPanelAlign.d.ts.map +0 -1
  1131. package/lib/cjs/appui-react/layout/widget/PreviewHorizontalPanelAlign.js.map +0 -1
  1132. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.d.ts +0 -30
  1133. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.d.ts.map +0 -1
  1134. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.js +0 -65
  1135. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.js.map +0 -1
  1136. package/lib/cjs/appui-react/layout/widget-panels/AppContent.d.ts +0 -11
  1137. package/lib/cjs/appui-react/layout/widget-panels/AppContent.d.ts.map +0 -1
  1138. package/lib/cjs/appui-react/layout/widget-panels/AppContent.js.map +0 -1
  1139. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.d.ts +0 -10
  1140. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.d.ts.map +0 -1
  1141. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.js +0 -23
  1142. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.js.map +0 -1
  1143. package/lib/cjs/appui-react/layout/widget-panels/Content.d.ts +0 -21
  1144. package/lib/cjs/appui-react/layout/widget-panels/Content.d.ts.map +0 -1
  1145. package/lib/cjs/appui-react/layout/widget-panels/Content.js +0 -21
  1146. package/lib/cjs/appui-react/layout/widget-panels/Content.js.map +0 -1
  1147. package/lib/cjs/appui-react/layout/widget-panels/Content.scss +0 -37
  1148. package/lib/cjs/appui-react/layout/widget-panels/Panels.d.ts +0 -24
  1149. package/lib/cjs/appui-react/layout/widget-panels/Panels.d.ts.map +0 -1
  1150. package/lib/cjs/appui-react/layout/widget-panels/Panels.js +0 -48
  1151. package/lib/cjs/appui-react/layout/widget-panels/Panels.js.map +0 -1
  1152. package/lib/cjs/appui-react/statusbar/Popup.d.ts.map +0 -1
  1153. package/lib/cjs/appui-react/statusbar/Popup.js.map +0 -1
  1154. package/lib/esm/appui-react/layout/footer/Popup.d.ts +0 -12
  1155. package/lib/esm/appui-react/layout/footer/Popup.d.ts.map +0 -1
  1156. package/lib/esm/appui-react/layout/footer/Popup.js.map +0 -1
  1157. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  1158. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  1159. package/lib/esm/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  1160. package/lib/esm/appui-react/layout/widget/PreviewHorizontalPanelAlign.d.ts.map +0 -1
  1161. package/lib/esm/appui-react/layout/widget/PreviewHorizontalPanelAlign.js.map +0 -1
  1162. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.d.ts +0 -30
  1163. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.d.ts.map +0 -1
  1164. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.js +0 -58
  1165. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.js.map +0 -1
  1166. package/lib/esm/appui-react/layout/widget-panels/AppContent.d.ts +0 -11
  1167. package/lib/esm/appui-react/layout/widget-panels/AppContent.d.ts.map +0 -1
  1168. package/lib/esm/appui-react/layout/widget-panels/AppContent.js.map +0 -1
  1169. package/lib/esm/appui-react/layout/widget-panels/CenterContent.d.ts +0 -10
  1170. package/lib/esm/appui-react/layout/widget-panels/CenterContent.d.ts.map +0 -1
  1171. package/lib/esm/appui-react/layout/widget-panels/CenterContent.js +0 -19
  1172. package/lib/esm/appui-react/layout/widget-panels/CenterContent.js.map +0 -1
  1173. package/lib/esm/appui-react/layout/widget-panels/Content.d.ts +0 -21
  1174. package/lib/esm/appui-react/layout/widget-panels/Content.d.ts.map +0 -1
  1175. package/lib/esm/appui-react/layout/widget-panels/Content.js +0 -18
  1176. package/lib/esm/appui-react/layout/widget-panels/Content.js.map +0 -1
  1177. package/lib/esm/appui-react/layout/widget-panels/Content.scss +0 -37
  1178. package/lib/esm/appui-react/layout/widget-panels/Panels.d.ts +0 -24
  1179. package/lib/esm/appui-react/layout/widget-panels/Panels.d.ts.map +0 -1
  1180. package/lib/esm/appui-react/layout/widget-panels/Panels.js +0 -44
  1181. package/lib/esm/appui-react/layout/widget-panels/Panels.js.map +0 -1
  1182. package/lib/esm/appui-react/statusbar/Popup.d.ts.map +0 -1
  1183. package/lib/esm/appui-react/statusbar/Popup.js.map +0 -1
@@ -20,6 +20,10 @@ const InputEditorPopup_1 = require("./InputEditorPopup");
20
20
  const KeyinPalettePopup_1 = require("./KeyinPalettePopup");
21
21
  const ToolbarPopup_1 = require("./ToolbarPopup");
22
22
  const ToolSettingsPopup_1 = require("./ToolSettingsPopup");
23
+ const ComponentPopup_1 = require("./ComponentPopup");
24
+ const ConfigurableUiContent_1 = require("../configurableui/ConfigurableUiContent");
25
+ const Placement_1 = require("../utils/Placement");
26
+ const InternalConfigurableUiManager_1 = require("../configurableui/InternalConfigurableUiManager");
23
27
  /** Popups Changed Event class.
24
28
  * @public
25
29
  */
@@ -112,6 +116,7 @@ class PopupManager {
112
116
  pt,
113
117
  component,
114
118
  parentDocument: el.ownerDocument,
119
+ parent: el.ownerDocument,
115
120
  };
116
121
  PopupManager.addOrUpdatePopup(popupInfo);
117
122
  return true;
@@ -121,7 +126,8 @@ class PopupManager {
121
126
  }
122
127
  static showKeyinPalette(keyins, el, onItemExecuted, onCancel) {
123
128
  const id = PopupManager._keyPalettePopupId;
124
- const component = (React.createElement(KeyinPalettePopup_1.KeyinPalettePopup, { keyins: keyins, id: id, el: el, onCancel: onCancel, onItemExecuted: onItemExecuted }));
129
+ const cancelFn = onCancel !== null && onCancel !== void 0 ? onCancel : (() => PopupManager.hideKeyinPalette());
130
+ const component = (React.createElement(KeyinPalettePopup_1.KeyinPalettePopup, { keyins: keyins, id: id, el: el, onItemExecuted: onItemExecuted, onCancel: cancelFn }));
125
131
  // since the command palette popup is always at top center of specified HTML element and it does not need to move like
126
132
  // cursor popups just set pt to 0,0.
127
133
  const pt = { x: 0, y: 0 };
@@ -129,7 +135,7 @@ class PopupManager {
129
135
  id,
130
136
  pt,
131
137
  component,
132
- parentDocument: el.ownerDocument,
138
+ parentDocument: el === null || el === void 0 ? void 0 : el.ownerDocument,
133
139
  };
134
140
  PopupManager.addOrUpdatePopup(popupInfo);
135
141
  return true;
@@ -137,14 +143,29 @@ class PopupManager {
137
143
  static hideKeyinPalette() {
138
144
  return PopupManager.removePopup(PopupManager._keyPalettePopupId);
139
145
  }
146
+ // @deprecated in 4.11.x. Use {@link PopupManager.displayToolbar} instead.
140
147
  static showToolbar(toolbarProps, el, pt, offset, onItemExecuted, onCancel, relativePosition) {
141
- const id = PopupManager._toolbarId;
142
- const component = (React.createElement(ToolbarPopup_1.ToolbarPopup, { id: id, el: el, pt: pt, offset: offset, items: toolbarProps.items, relativePosition: relativePosition, orientation: core_react_1.Orientation.Horizontal, onCancel: onCancel, onItemExecuted: onItemExecuted }));
148
+ PopupManager.displayToolbar(toolbarProps.items, {
149
+ anchor: el,
150
+ location: pt,
151
+ offset,
152
+ onCancel,
153
+ placement: (0, Placement_1.mapToPlacement)(relativePosition),
154
+ onItemExecuted,
155
+ });
156
+ return true;
157
+ }
158
+ static displayToolbar(items, options) {
159
+ var _a, _b;
160
+ const id = (_a = options.id) !== null && _a !== void 0 ? _a : PopupManager._toolbarId;
161
+ const { anchor, location, offset, onCancel, placement, onItemExecuted } = options;
162
+ const component = (React.createElement(ToolbarPopup_1.ToolbarPopup, { id: id, el: anchor, pt: location, offset: offset, items: items, placement: placement, orientation: core_react_1.Orientation.Horizontal, onCancel: onCancel, onItemExecuted: onItemExecuted }));
143
163
  const popupInfo = {
144
164
  id,
145
- pt,
165
+ pt: location,
146
166
  component,
147
- parentDocument: el.ownerDocument,
167
+ parentDocument: (_b = anchor === null || anchor === void 0 ? void 0 : anchor.ownerDocument) !== null && _b !== void 0 ? _b : InternalConfigurableUiManager_1.InternalConfigurableUiManager.getWrapperDocument(),
168
+ parent: anchor === null || anchor === void 0 ? void 0 : anchor.ownerDocument,
148
169
  };
149
170
  PopupManager.addOrUpdatePopup(popupInfo);
150
171
  return true;
@@ -152,9 +173,12 @@ class PopupManager {
152
173
  static hideToolbar() {
153
174
  return PopupManager.removePopup(PopupManager._toolbarId);
154
175
  }
176
+ // @deprecated in 4.11.x. Use {@link PopupManager.showComponent} instead.
155
177
  static showHTMLElement(displayElement, el, pt, offset, onCancel, relativePosition) {
156
178
  const id = PopupManager._htmlElementId;
157
- const component = (React.createElement(HTMLElementPopup_1.HTMLElementPopup, { id: id, el: el, pt: pt, offset: offset, element: displayElement, relativePosition: relativePosition, orientation: core_react_1.Orientation.Horizontal, onCancel: onCancel }));
179
+ const component = (
180
+ // eslint-disable-next-line deprecation/deprecation
181
+ React.createElement(HTMLElementPopup_1.HTMLElementPopup, { id: id, el: el, pt: pt, offset: offset, element: displayElement, relativePosition: relativePosition, orientation: core_react_1.Orientation.Horizontal, onCancel: onCancel }));
158
182
  const popupInfo = {
159
183
  id,
160
184
  pt,
@@ -164,25 +188,66 @@ class PopupManager {
164
188
  PopupManager.addOrUpdatePopup(popupInfo);
165
189
  return true;
166
190
  }
191
+ // @deprecated in 4.11.x. Use {@link PopupManager.hideComponent} instead.
167
192
  static hideHTMLElement() {
168
193
  return PopupManager.removePopup(PopupManager._htmlElementId);
169
194
  }
195
+ /**
196
+ * Displays a React component as a popup.
197
+ * @param displayElement The React component to display.
198
+ * @param options for displaying the component.
199
+ */
200
+ static showComponent(displayElement, options) {
201
+ var _a;
202
+ const { onCancel, location, offset, placement, anchor, id } = options;
203
+ const _id = PopupManager._htmlElementId;
204
+ const component = (React.createElement(ComponentPopup_1.ComponentPopup, { id: id !== null && id !== void 0 ? id : _id, anchor: anchor !== null && anchor !== void 0 ? anchor : undefined, pt: location, offset: offset, placement: placement, orientation: core_react_1.Orientation.Horizontal, onCancel: onCancel }, displayElement));
205
+ const popupInfo = {
206
+ id: id !== null && id !== void 0 ? id : _id,
207
+ pt: location,
208
+ component,
209
+ parentDocument: (_a = anchor === null || anchor === void 0 ? void 0 : anchor.ownerDocument) !== null && _a !== void 0 ? _a : InternalConfigurableUiManager_1.InternalConfigurableUiManager.getWrapperDocument(),
210
+ };
211
+ PopupManager.addOrUpdatePopup(popupInfo);
212
+ return true;
213
+ }
214
+ static hideComponent(id) {
215
+ return PopupManager.removePopup(id !== null && id !== void 0 ? id : PopupManager._htmlElementId);
216
+ }
217
+ // @deprecated in 4.11.x. Use {@link PopupManager.displayCard} instead.
170
218
  static showCard(content, title, toolbarProps, el, pt, offset, onItemExecuted, onCancel, relativePosition) {
171
219
  const id = PopupManager._cardId;
220
+ const placement = (0, Placement_1.mapToPlacement)(relativePosition);
172
221
  const component = (React.createElement(CardPopup_1.CardPopup, { id: id, el: el, pt: pt, offset: offset, content: content, title: title, items: toolbarProps
173
222
  ? toolbarProps.items
174
- : /* istanbul ignore next */ undefined, relativePosition: relativePosition, orientation: core_react_1.Orientation.Horizontal, onCancel: onCancel, onItemExecuted: onItemExecuted }));
223
+ : /* istanbul ignore next */ undefined, placement: placement, orientation: core_react_1.Orientation.Horizontal, onCancel: onCancel, onItemExecuted: onItemExecuted }));
175
224
  const popupInfo = {
176
225
  id,
177
226
  pt,
178
227
  component,
179
228
  parentDocument: el.ownerDocument,
229
+ parent: el.ownerDocument,
230
+ };
231
+ PopupManager.addOrUpdatePopup(popupInfo);
232
+ return true;
233
+ }
234
+ static displayCard(content, options) {
235
+ var _a, _b;
236
+ const id = (_a = options.id) !== null && _a !== void 0 ? _a : PopupManager._cardId;
237
+ const { onCancel, location, placement, offset, anchor, title, toolbarProps, onItemExecuted, } = options;
238
+ const component = (React.createElement(CardPopup_1.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: core_react_1.Orientation.Horizontal, onCancel: onCancel, onItemExecuted: onItemExecuted }));
239
+ const popupInfo = {
240
+ id,
241
+ pt: location,
242
+ component,
243
+ parentDocument: (_b = anchor === null || anchor === void 0 ? void 0 : anchor.ownerDocument) !== null && _b !== void 0 ? _b : InternalConfigurableUiManager_1.InternalConfigurableUiManager.getWrapperDocument(),
244
+ parent: anchor === null || anchor === void 0 ? void 0 : anchor.ownerDocument,
180
245
  };
181
246
  PopupManager.addOrUpdatePopup(popupInfo);
182
247
  return true;
183
248
  }
184
- static hideCard() {
185
- const index = PopupManager._popups.findIndex((info) => PopupManager._cardId === info.id);
249
+ static hideCard(id) {
250
+ const index = PopupManager._popups.findIndex((info) => id !== null && id !== void 0 ? id : PopupManager._cardId === info.id);
186
251
  if (index >= 0)
187
252
  return PopupManager.removePopup(PopupManager._cardId);
188
253
  return false;
@@ -226,13 +291,13 @@ exports.PopupManager = PopupManager;
226
291
  class PopupRenderer extends React.Component {
227
292
  constructor() {
228
293
  super(...arguments);
229
- /** @internal */
230
294
  this.state = {
231
295
  parentDocument: null,
232
296
  popups: PopupManager.popups,
233
297
  };
234
298
  this._handleRefSet = (popupDiv) => {
235
- this.setState({ parentDocument: popupDiv?.ownerDocument ?? null });
299
+ var _a;
300
+ this.setState({ parentDocument: (_a = popupDiv === null || popupDiv === void 0 ? void 0 : popupDiv.ownerDocument) !== null && _a !== void 0 ? _a : null });
236
301
  };
237
302
  this._handlePopupsChangedEvent = (args) => {
238
303
  this.setState({ popups: args.popups });
@@ -251,11 +316,18 @@ class PopupRenderer extends React.Component {
251
316
  return null;
252
317
  return (React.createElement("div", { className: "appui-react-popup-render-container", ref: this._handleRefSet }, this.state.parentDocument &&
253
318
  this.state.popups
254
- .filter((info) => info.parentDocument === this.state.parentDocument)
319
+ .filter((info) => {
320
+ var _a, _b;
321
+ return ((_b = (_a = info.parent) !== null && _a !== void 0 ? _a :
322
+ // eslint-disable-next-line deprecation/deprecation
323
+ info.parentDocument) !== null && _b !== void 0 ? _b : this.context.ownerDocument) === this.state.parentDocument;
324
+ })
255
325
  .map((popupInfo) => {
256
326
  return (React.createElement(React.Fragment, { key: popupInfo.id }, popupInfo.component));
257
327
  })));
258
328
  }
259
329
  }
330
+ /** @internal */
331
+ PopupRenderer.contextType = ConfigurableUiContent_1.WrapperContext;
260
332
  exports.PopupRenderer = PopupRenderer;
261
333
  //# 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"]}
@@ -33,7 +33,7 @@ class ToolSettingsPopup extends React.PureComponent {
33
33
  };
34
34
  this._handleKeyDown = (e) => {
35
35
  switch (e.key) {
36
- case ts_key_enum_1.Key.Escape:
36
+ case ts_key_enum_1.Key.Escape.valueOf():
37
37
  // istanbul ignore else
38
38
  if (this.props.onCancel)
39
39
  this.props.onCancel();
@@ -1 +1 @@
1
- {"version":3,"file":"ToolSettingsPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolSettingsPopup.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,6CAAkC;AAOlC,kDAAgF;AAChF,mEAAgE;AAEhE,iDAA8C;AAC9C,mDAAsE;AACtE,yEAAsE;AACtE,yFAA+E;AAgB/E;;GAEG;AACH,MAAa,iBAAkB,SAAQ,KAAK,CAAC,aAG5C;IAMC,YAAY,KAA6B;QACvC,KAAK,CAAC,KAAK,CAAC,CAAC;QANf,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,iBAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB,CAAC;QAMM,iBAAY,GAAG,CAAC,OAAkB,EAAE,EAAE;YAC5C,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;QAEM,mBAAc,GAAG,CAAC,CAAsB,EAAE,EAAE;YAClD,QAAQ,CAAC,CAAC,GAAG,EAAE;gBACb,KAAK,iBAAG,CAAC,MAAM;oBACb,uBAAuB;oBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;wBAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAC/C,MAAM;aACT;QACH,CAAC,CAAC;IAfF,CAAC;IAiBe,MAAM;QACpB,MAAM,kBAAkB,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CACvC,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,kBAAK,EAAE,EACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB,CAAC;QACF,MAAM,SAAS,GAAG,yBAAW,CAAC,YAAY,CACxC,KAAK,EACL,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC5B,CAAC;QACF,KAAK,GAAG,IAAI,kBAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAEjD,OAAO,CACL,oBAAC,6BAAa,IACZ,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,YAAY;YAE9B,oBAAC,gCAAmB,IAClB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnC,SAAS,EAAE,IAAI,CAAC,cAAc;gBAE9B,oBAAC,oCAAoB;oBACnB,oBAAC,sBAAS,IAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,IACnD,kBAAkB,IAAI,CACrB,oBAAC,gDAAmB,IAAC,kBAAkB,EAAE,kBAAkB,GAAI,CAChE,CACS,CACS,CACH,CACR,CACjB,CAAC;IACJ,CAAC;CACF;AAjED,8CAiEC","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 DialogLayoutDataProvider,\n OnCancelFunc,\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 { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\nimport type { PopupPropsBase } from \"./PopupManager\";\nimport { PopupManager } from \"./PopupManager\";\nimport { PositionPopup, PositionPopupContent } from \"./PositionPopup\";\nimport { ComponentGenerator } from \"../uiprovider/ComponentGenerator\";\nimport { DialogGridContainer } from \"../uiprovider/DefaultDialogGridContainer\";\n\n/** Props for defining a popup tool settings component\n * @beta */\nexport interface ToolSettingsPopupProps extends PopupPropsBase {\n dataProvider: DialogLayoutDataProvider;\n relativePosition: RelativePosition;\n orientation: Orientation;\n onCancel: OnCancelFunc;\n}\n\n/** @internal */\ninterface ToolSettingsPopupState {\n size: Size;\n}\n\n/** Popup component for Tool Settings\n * @beta\n */\nexport class ToolSettingsPopup extends React.PureComponent<\n ToolSettingsPopupProps,\n ToolSettingsPopupState\n> {\n /** @internal */\n public override readonly state = {\n size: new Size(-1, -1),\n };\n\n constructor(props: ToolSettingsPopupProps) {\n super(props);\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 = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case Key.Escape:\n // istanbul ignore else\n if (this.props.onCancel) this.props.onCancel();\n break;\n }\n };\n\n public override render() {\n const componentGenerator = new ComponentGenerator(this.props.dataProvider);\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\n return (\n <PositionPopup\n key={this.props.id}\n point={point}\n onSizeKnown={this._onSizeKnown}\n >\n <DivWithOutsideClick\n onOutsideClick={this.props.onCancel}\n onKeyDown={this._handleKeyDown}\n >\n <PositionPopupContent>\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\n {componentGenerator && (\n <DialogGridContainer componentGenerator={componentGenerator} />\n )}\n </FocusTrap>\n </PositionPopupContent>\n </DivWithOutsideClick>\n </PositionPopup>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ToolSettingsPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolSettingsPopup.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,6CAAkC;AAOlC,kDAAgF;AAChF,mEAAgE;AAEhE,iDAA8C;AAC9C,mDAAsE;AACtE,yEAAsE;AACtE,yFAA+E;AAgB/E;;GAEG;AACH,MAAa,iBAAkB,SAAQ,KAAK,CAAC,aAG5C;IAMC,YAAY,KAA6B;QACvC,KAAK,CAAC,KAAK,CAAC,CAAC;QANf,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,iBAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB,CAAC;QAMM,iBAAY,GAAG,CAAC,OAAkB,EAAE,EAAE;YAC5C,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;QAEM,mBAAc,GAAG,CAAC,CAAsB,EAAE,EAAE;YAClD,QAAQ,CAAC,CAAC,GAAG,EAAE;gBACb,KAAK,iBAAG,CAAC,MAAM,CAAC,OAAO,EAAE;oBACvB,uBAAuB;oBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;wBAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAC/C,MAAM;aACT;QACH,CAAC,CAAC;IAfF,CAAC;IAiBe,MAAM;QACpB,MAAM,kBAAkB,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CACvC,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,kBAAK,EAAE,EACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB,CAAC;QACF,MAAM,SAAS,GAAG,yBAAW,CAAC,YAAY,CACxC,KAAK,EACL,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC5B,CAAC;QACF,KAAK,GAAG,IAAI,kBAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAEjD,OAAO,CACL,oBAAC,6BAAa,IACZ,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,YAAY;YAE9B,oBAAC,gCAAmB,IAClB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnC,SAAS,EAAE,IAAI,CAAC,cAAc;gBAE9B,oBAAC,oCAAoB;oBACnB,oBAAC,sBAAS,IAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,IACnD,kBAAkB,IAAI,CACrB,oBAAC,gDAAmB,IAAC,kBAAkB,EAAE,kBAAkB,GAAI,CAChE,CACS,CACS,CACH,CACR,CACjB,CAAC;IACJ,CAAC;CACF;AAjED,8CAiEC","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 DialogLayoutDataProvider,\n OnCancelFunc,\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 { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\nimport type { PopupPropsBase } from \"./PopupManager\";\nimport { PopupManager } from \"./PopupManager\";\nimport { PositionPopup, PositionPopupContent } from \"./PositionPopup\";\nimport { ComponentGenerator } from \"../uiprovider/ComponentGenerator\";\nimport { DialogGridContainer } from \"../uiprovider/DefaultDialogGridContainer\";\n\n/** Props for defining a popup tool settings component\n * @beta */\nexport interface ToolSettingsPopupProps extends PopupPropsBase {\n dataProvider: DialogLayoutDataProvider;\n relativePosition: RelativePosition;\n orientation: Orientation;\n onCancel: OnCancelFunc;\n}\n\n/** @internal */\ninterface ToolSettingsPopupState {\n size: Size;\n}\n\n/** Popup component for Tool Settings\n * @beta\n */\nexport class ToolSettingsPopup extends React.PureComponent<\n ToolSettingsPopupProps,\n ToolSettingsPopupState\n> {\n /** @internal */\n public override readonly state = {\n size: new Size(-1, -1),\n };\n\n constructor(props: ToolSettingsPopupProps) {\n super(props);\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 = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case Key.Escape.valueOf():\n // istanbul ignore else\n if (this.props.onCancel) this.props.onCancel();\n break;\n }\n };\n\n public override render() {\n const componentGenerator = new ComponentGenerator(this.props.dataProvider);\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\n return (\n <PositionPopup\n key={this.props.id}\n point={point}\n onSizeKnown={this._onSizeKnown}\n >\n <DivWithOutsideClick\n onOutsideClick={this.props.onCancel}\n onKeyDown={this._handleKeyDown}\n >\n <PositionPopupContent>\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\n {componentGenerator && (\n <DialogGridContainer componentGenerator={componentGenerator} />\n )}\n </FocusTrap>\n </PositionPopupContent>\n </DivWithOutsideClick>\n </PositionPopup>\n );\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"}
@@ -16,6 +16,8 @@ const CursorPopup_1 = require("../cursor/cursorpopup/CursorPopup");
16
16
  const PopupManager_1 = require("./PopupManager");
17
17
  const PositionPopup_1 = require("./PositionPopup");
18
18
  const Toolbar_1 = require("../toolbar/Toolbar");
19
+ const ConfigurableUiContent_1 = require("../configurableui/ConfigurableUiContent");
20
+ const Placement_1 = require("../utils/Placement");
19
21
  /** Popup component for Toolbar
20
22
  * @beta
21
23
  */
@@ -33,7 +35,7 @@ class ToolbarPopup extends React.PureComponent {
33
35
  };
34
36
  this._handleKeyDown = (event) => {
35
37
  switch (event.key) {
36
- case ts_key_enum_1.Key.Escape:
38
+ case ts_key_enum_1.Key.Escape.valueOf():
37
39
  this._cancel();
38
40
  break;
39
41
  }
@@ -46,8 +48,9 @@ class ToolbarPopup extends React.PureComponent {
46
48
  }
47
49
  }
48
50
  render() {
49
- let point = PopupManager_1.PopupManager.getPopupPosition(this.props.el, this.props.pt, new core_react_1.Point(), this.state.size);
50
- const popupRect = CursorPopup_1.CursorPopup.getPopupRect(point, this.props.offset, this.state.size, this.props.relativePosition);
51
+ var _a, _b;
52
+ let point = PopupManager_1.PopupManager.getPopupPosition((_a = this.props.el) !== null && _a !== void 0 ? _a : this.context, this.props.pt, new core_react_1.Point(), this.state.size);
53
+ const popupRect = CursorPopup_1.CursorPopup.getPopupRect(point, this.props.offset, this.state.size, (_b = this.props.placement) !== null && _b !== void 0 ? _b : (0, Placement_1.mapToPlacement)(this.props.relativePosition));
51
54
  point = new core_react_1.Point(popupRect.left, popupRect.top);
52
55
  return (React.createElement(PositionPopup_1.PositionPopup, { key: this.props.id, className: "uifw-no-border", point: point, onSizeKnown: this._onSizeKnown },
53
56
  React.createElement(core_react_1.DivWithOutsideClick, { onOutsideClick: this.props.onCancel, onKeyDown: this._handleKeyDown },
@@ -55,5 +58,7 @@ class ToolbarPopup extends React.PureComponent {
55
58
  React.createElement(Toolbar_1.Toolbar, { expandsTo: components_react_1.Direction.Bottom, panelAlignment: components_react_1.ToolbarPanelAlignment.Start, items: this.props.items, useDragInteraction: true, toolbarOpacitySetting: components_react_1.ToolbarOpacitySetting.Defaults, onItemExecuted: this.props.onItemExecuted })))));
56
59
  }
57
60
  }
61
+ /** @internal */
62
+ ToolbarPopup.contextType = ConfigurableUiContent_1.WrapperContext;
58
63
  exports.ToolbarPopup = ToolbarPopup;
59
64
  //# sourceMappingURL=ToolbarPopup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,6CAAkC;AAOlC,kDAAgF;AAChF,8DAIiC;AACjC,mEAAgE;AAEhE,iDAA8C;AAC9C,mDAAgD;AAEhD,gDAA6C;AAiB7C;;GAEG;AACH,MAAa,YAAa,SAAQ,KAAK,CAAC,aAGvC;IAHD;;QAIE,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,iBAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB,CAAC;QAEM,iBAAY,GAAG,CAAC,OAAkB,EAAE,EAAE;YAC5C,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;QAEM,mBAAc,GAAG,CACvB,KAA0C,EACpC,EAAE;YACR,QAAQ,KAAK,CAAC,GAAG,EAAE;gBACjB,KAAK,iBAAG,CAAC,MAAM;oBACb,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,MAAM;aACT;QACH,CAAC,CAAC;IAgDJ,CAAC;IA9CS,OAAO;QACb,uBAAuB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SACvB;IACH,CAAC;IAEe,MAAM;QACpB,IAAI,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CACvC,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,kBAAK,EAAE,EACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB,CAAC;QACF,MAAM,SAAS,GAAG,yBAAW,CAAC,YAAY,CACxC,KAAK,EACL,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC5B,CAAC;QACF,KAAK,GAAG,IAAI,kBAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACjD,OAAO,CACL,oBAAC,6BAAa,IACZ,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,SAAS,EAAC,gBAAgB,EAC1B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,YAAY;YAE9B,oBAAC,gCAAmB,IAClB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnC,SAAS,EAAE,IAAI,CAAC,cAAc;gBAE9B,oBAAC,sBAAS,IAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI;oBACpD,oBAAC,iBAAO,IACN,SAAS,EAAE,4BAAS,CAAC,MAAM,EAC3B,cAAc,EAAE,wCAAqB,CAAC,KAAK,EAC3C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,kBAAkB,EAAE,IAAI,EACxB,qBAAqB,EAAE,wCAAqB,CAAC,QAAQ,EACrD,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GACzC,CACQ,CACQ,CACR,CACjB,CAAC;IACJ,CAAC;CACF;AAvED,oCAuEC","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:\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":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,6CAAkC;AAIlC,kDAAgF;AAChF,8DAIiC;AACjC,mEAAgE;AAEhE,iDAA8C;AAC9C,mDAAgD;AAEhD,gDAA6C;AAC7C,mFAAyE;AACzE,kDAAoE;AAoBpE;;GAEG;AACH,MAAa,YAAa,SAAQ,KAAK,CAAC,aAGvC;IAHD;;QASE,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,iBAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB,CAAC;QAEM,iBAAY,GAAG,CAAC,OAAkB,EAAE,EAAE;YAC5C,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;QAEM,mBAAc,GAAG,CACvB,KAA0C,EACpC,EAAE;YACR,QAAQ,KAAK,CAAC,GAAG,EAAE;gBACjB,KAAK,iBAAG,CAAC,MAAM,CAAC,OAAO,EAAE;oBACvB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,MAAM;aACT;QACH,CAAC,CAAC;IAgDJ,CAAC;IA9CS,OAAO;QACb,uBAAuB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SACvB;IACH,CAAC;IAEe,MAAM;;QACpB,IAAI,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CACvC,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,IAAI,CAAC,OAAO,EAC7B,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,kBAAK,EAAE,EACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB,CAAC;QACF,MAAM,SAAS,GAAG,yBAAW,CAAC,YAAY,CACxC,KAAK,EACL,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,IAAA,0BAAc,EAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CACpE,CAAC;QACF,KAAK,GAAG,IAAI,kBAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACjD,OAAO,CACL,oBAAC,6BAAa,IACZ,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,SAAS,EAAC,gBAAgB,EAC1B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,YAAY;YAE9B,oBAAC,gCAAmB,IAClB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnC,SAAS,EAAE,IAAI,CAAC,cAAc;gBAE9B,oBAAC,sBAAS,IAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI;oBACpD,oBAAC,iBAAO,IACN,SAAS,EAAE,4BAAS,CAAC,MAAM,EAC3B,cAAc,EAAE,wCAAqB,CAAC,KAAK,EAC3C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,kBAAkB,EAAE,IAAI,EACxB,qBAAqB,EAAE,wCAAqB,CAAC,QAAQ,EACrD,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GACzC,CACQ,CACQ,CACR,CACjB,CAAC;IACJ,CAAC;;AAvED,gBAAgB;AACO,wBAAW,GAAG,sCAAc,AAAjB,CAAkB;AALzC,oCAAY","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"]}
@@ -10,12 +10,17 @@ interface KnownPreviewFeatures {
10
10
  * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/672
11
11
  */
12
12
  contentAlwaysMaxSize: boolean;
13
- /** If true, the floating widget will have a "maximize" button.
13
+ /** If true, the floating widget will have a "maximize" button. Use `enableMaximizedPanelWidget` to enable the feature for panel widgets.
14
14
  *
15
15
  * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/673
16
16
  */
17
17
  enableMaximizedFloatingWidget: boolean;
18
- /** If true, a tab, or the active tab of a group of widget will become active when dropped in a container.
18
+ /** If true, the panel widget will have a "maximize" button. Use `enableMaximizedFloatingWidget` to enable the feature for floating widgets.
19
+ *
20
+ * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/673
21
+ */
22
+ enableMaximizedPanelWidget: boolean;
23
+ /** If true, the active tab of a dragged widget will become active when dropped in a container.
19
24
  *
20
25
  * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/679
21
26
  */
@@ -32,6 +37,8 @@ interface KnownPreviewFeatures {
32
37
  widgetActionDropdown: {
33
38
  threshold: number;
34
39
  };
40
+ /** If true, the [[Toolbar]] component will be replaced by a new iTwinUI based toolbar. */
41
+ newToolbars: boolean;
35
42
  }
36
43
  /** List of preview features that can be enabled/disabled.
37
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,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,oBAAoB,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAcD;;;;;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;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;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;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"}
@@ -17,9 +17,10 @@ const knownFeaturesObject = {
17
17
  activateDroppedTab: undefined,
18
18
  contentAlwaysMaxSize: undefined,
19
19
  enableMaximizedFloatingWidget: undefined,
20
+ enableMaximizedPanelWidget: undefined,
20
21
  horizontalPanelAlignment: undefined,
21
22
  widgetActionDropdown: undefined,
22
- ...{ newToolbars: undefined }, // Hidden feature used in storybook only (to avoid trimming).
23
+ newToolbars: undefined,
23
24
  };
24
25
  /** Trim an object to only contain known feature keys.
25
26
  * @param previewFeatures object potentially containing unknown features
@@ -87,7 +88,7 @@ exports.usePreviewFeatures = usePreviewFeatures;
87
88
  function PreviewFeaturesProvider({ children, features, }) {
88
89
  const setPreviewFeatures = usePreviewFeaturesStore((state) => state.setPreviewFeatures);
89
90
  React.useEffect(() => {
90
- setPreviewFeatures(features ?? {});
91
+ setPreviewFeatures(features !== null && features !== void 0 ? features : {});
91
92
  }, [features, setPreviewFeatures]);
92
93
  // Clear preview features when unmounting.
93
94
  React.useEffect(() => () => {
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewFeatures.js","sourceRoot":"","sources":["../../../../src/appui-react/preview/PreviewFeatures.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,qCAAiC;AAgCjC;;GAEG;AACH,MAAM,mBAAmB,GAAkD;IACzE,kBAAkB,EAAE,SAAS;IAC7B,oBAAoB,EAAE,SAAS;IAC/B,6BAA6B,EAAE,SAAS;IACxC,wBAAwB,EAAE,SAAS;IACnC,oBAAoB,EAAE,SAAS;IAC/B,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,6DAA6D;CAC7F,CAAC;AAYF;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,eAAgC;IAC/D,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1D,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,MAAM,CAAC,OAAO,CACrD,eAAe,CAChB,CAAC,MAAM,CACN,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACjC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAClC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SACpB;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACnB;QACD,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC,EACD,CAAC,EAAE,EAAE,EAAE,CAAgC,CACxC,CAAC;IACF,IACE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EACtC;QACA,sCAAsC;QACtC,OAAO,CAAC,IAAI,CACV,6FAA6F,eAAe,CAAC,QAAQ,EAAE;uDACtE,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAChF,CAAC;KACH;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAOD;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG,IAAA,gBAAM,EAAuB,CAAC,GAAG,EAAE,EAAE;IACnE,OAAO;QACL,eAAe,EAAE,EAAE;QACnB,kBAAkB,EAAE,CAAC,kBAAmC,EAAE,EAAE;YAC1D,MAAM,eAAe,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;YACpE,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,SAAgB,kBAAkB;IAChC,OAAO,uBAAuB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AACnE,CAAC;AAFD,gDAEC;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,QAAQ,GACqB;IAC7B,MAAM,kBAAkB,GAAG,uBAAuB,CAChD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,kBAAkB,CACpC,CAAC;IACF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,kBAAkB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEnC,0CAA0C;IAC1C,KAAK,CAAC,SAAS,CACb,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,EACD,CAAC,kBAAkB,CAAC,CACrB,CAAC;IACF,OAAO,0CAAG,QAAQ,CAAI,CAAC;AACzB,CAAC;AAnBD,0DAmBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Utilities\n */\n\nimport * as React from \"react\";\nimport { create } from \"zustand\";\n\n/** List of known preview features. */\ninterface KnownPreviewFeatures {\n /** If true, the panels and tool settings will always be rendered over the content.\n * The content will never change size.\n *\n * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/672\n */\n contentAlwaysMaxSize: boolean;\n /** If true, the floating widget will have a \"maximize\" button.\n *\n * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/673\n */\n enableMaximizedFloatingWidget: boolean;\n /** If true, a tab, or the active tab of a group of widget will become active when dropped in a container.\n *\n * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/679\n */\n activateDroppedTab: boolean;\n /** If true, the horizontal panels will have an additional \"Align\" button.\n *\n * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/706\n */\n horizontalPanelAlignment: boolean;\n /** If enabled, a dropdown menu will be rendered for widgets that exceed the specified threshold of title bar buttons.\n *\n * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/723\n */\n widgetActionDropdown: { threshold: number };\n}\n\n/** Object used trim to only known features at runtime.\n * @internal\n */\nconst knownFeaturesObject: Record<keyof KnownPreviewFeatures, undefined> = {\n activateDroppedTab: undefined,\n contentAlwaysMaxSize: undefined,\n enableMaximizedFloatingWidget: undefined,\n horizontalPanelAlignment: undefined,\n widgetActionDropdown: undefined,\n ...{ newToolbars: undefined }, // Hidden feature used in storybook only (to avoid trimming).\n};\n\n/** List of preview features that can be enabled/disabled.\n * This list is expected to change over time, the interface is made\n * so that new features can be added or removed without breaking existing code.\n * A console warning will simply appear if unknown features are passed.\n * @beta\n */\nexport interface PreviewFeatures extends Partial<KnownPreviewFeatures> {\n [featureName: string]: any;\n}\n\n/** Trim an object to only contain known feature keys.\n * @param previewFeatures object potentially containing unknown features\n * @returns object containing only known features\n * @internal\n */\nfunction trimToKnownFeaturesOnly(previewFeatures: PreviewFeatures) {\n const knownFeatureKeys = Object.keys(knownFeaturesObject);\n const [knownFeatures, unknownFeatures] = Object.entries(\n previewFeatures\n ).reduce(\n ([known, unknown], [key, value]) => {\n if (knownFeatureKeys.includes(key)) {\n known[key] = value;\n } else {\n unknown.push(key);\n }\n return [known, unknown];\n },\n [{}, []] as [PreviewFeatures, string[]]\n );\n if (\n Object.keys(unknownFeatures).length > 0 &&\n process.env.NODE_ENV === \"development\"\n ) {\n // eslint-disable-next-line no-console\n console.warn(\n `The following features used in \"setPreviewFeatures\" are unknown or no longer in preview: [${unknownFeatures.toString()}]\n Here is the list of currently known features: [${knownFeatureKeys.toString()}]`\n );\n }\n return knownFeatures;\n}\n\ninterface PreviewFeaturesState {\n previewFeatures: PreviewFeatures;\n setPreviewFeatures: (previewFeatures: PreviewFeatures) => void;\n}\n\n/** Preview features store used by `UiFramework.previewFeatures` and `UiFramework.setPreviewFeatures()` APIs to manage the preview features.\n * Use `usePreviewFeatures` hook to access the preview features set from a react component.\n * Use `usePreviewFeaturesStore.getState().previewFeatures` to access the preview features set from a non-react component.\n * Use `usePreviewFeaturesStore.subscribe()` to subscribe to changes to the preview features set from a non-react component.\n * @internal\n */\nconst usePreviewFeaturesStore = create<PreviewFeaturesState>((set) => {\n return {\n previewFeatures: {},\n setPreviewFeatures: (newPreviewFeatures: PreviewFeatures) => {\n const previewFeatures = trimToKnownFeaturesOnly(newPreviewFeatures);\n set({ previewFeatures });\n },\n };\n});\n\n/** Hook to access the preview features set.\n * @internal\n */\nexport function usePreviewFeatures() {\n return usePreviewFeaturesStore((state) => state.previewFeatures);\n}\n\n/** Props for PreviewFeaturesProvider.\n * @beta\n */\nexport interface PreviewFeaturesProviderProps {\n children?: React.ReactNode;\n features?: PreviewFeatures;\n}\n\n/** Set which preview features are enabled. These features are not yet ready for production use nor have\n * a proper API defined yet.\n * The available set of features are defined in the [[PreviewFeatures]] interface.\n *\n * This component should wrap the Provider component.\n *\n * ```tsx\n * <PreviewFeaturesProvider features={{ enableMaximizedFloatingWidget: true }}>\n * <Provider store={UiFramework.store}>\n * [...]\n * <ConfigurableUIContent />\n * [/...]\n * </Provider>\n * </PreviewFeaturesProvider>\n * ```\n * @beta\n */\nexport function PreviewFeaturesProvider({\n children,\n features,\n}: PreviewFeaturesProviderProps) {\n const setPreviewFeatures = usePreviewFeaturesStore(\n (state) => state.setPreviewFeatures\n );\n React.useEffect(() => {\n setPreviewFeatures(features ?? {});\n }, [features, setPreviewFeatures]);\n\n // Clear preview features when unmounting.\n React.useEffect(\n () => () => {\n setPreviewFeatures({});\n },\n [setPreviewFeatures]\n );\n return <>{children}</>;\n}\n"]}
1
+ {"version":3,"file":"PreviewFeatures.js","sourceRoot":"","sources":["../../../../src/appui-react/preview/PreviewFeatures.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,qCAAiC;AAuCjC;;GAEG;AACH,MAAM,mBAAmB,GAAkD;IACzE,kBAAkB,EAAE,SAAS;IAC7B,oBAAoB,EAAE,SAAS;IAC/B,6BAA6B,EAAE,SAAS;IACxC,0BAA0B,EAAE,SAAS;IACrC,wBAAwB,EAAE,SAAS;IACnC,oBAAoB,EAAE,SAAS;IAC/B,WAAW,EAAE,SAAS;CACvB,CAAC;AAYF;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,eAAgC;IAC/D,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1D,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,MAAM,CAAC,OAAO,CACrD,eAAe,CAChB,CAAC,MAAM,CACN,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACjC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAClC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SACpB;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACnB;QACD,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC,EACD,CAAC,EAAE,EAAE,EAAE,CAAgC,CACxC,CAAC;IACF,IACE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EACtC;QACA,sCAAsC;QACtC,OAAO,CAAC,IAAI,CACV,6FAA6F,eAAe,CAAC,QAAQ,EAAE;uDACtE,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAChF,CAAC;KACH;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAOD;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG,IAAA,gBAAM,EAAuB,CAAC,GAAG,EAAE,EAAE;IACnE,OAAO;QACL,eAAe,EAAE,EAAE;QACnB,kBAAkB,EAAE,CAAC,kBAAmC,EAAE,EAAE;YAC1D,MAAM,eAAe,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;YACpE,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,SAAgB,kBAAkB;IAChC,OAAO,uBAAuB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AACnE,CAAC;AAFD,gDAEC;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,QAAQ,GACqB;IAC7B,MAAM,kBAAkB,GAAG,uBAAuB,CAChD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,kBAAkB,CACpC,CAAC;IACF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,kBAAkB,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEnC,0CAA0C;IAC1C,KAAK,CAAC,SAAS,CACb,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,EACD,CAAC,kBAAkB,CAAC,CACrB,CAAC;IACF,OAAO,0CAAG,QAAQ,CAAI,CAAC;AACzB,CAAC;AAnBD,0DAmBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Utilities\n */\n\nimport * as React from \"react\";\nimport { create } from \"zustand\";\n\n/** List of known preview features. */\ninterface KnownPreviewFeatures {\n /** If true, the panels and tool settings will always be rendered over the content.\n * The content will never change size.\n *\n * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/672\n */\n contentAlwaysMaxSize: boolean;\n /** If true, the floating widget will have a \"maximize\" button. Use `enableMaximizedPanelWidget` to enable the feature for panel widgets.\n *\n * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/673\n */\n enableMaximizedFloatingWidget: boolean;\n /** If true, the panel widget will have a \"maximize\" button. Use `enableMaximizedFloatingWidget` to enable the feature for floating widgets.\n *\n * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/673\n */\n enableMaximizedPanelWidget: boolean;\n /** If true, the active tab of a dragged widget will become active when dropped in a container.\n *\n * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/679\n */\n activateDroppedTab: boolean;\n /** If true, the horizontal panels will have an additional \"Align\" button.\n *\n * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/706\n */\n horizontalPanelAlignment: boolean;\n /** If enabled, a dropdown menu will be rendered for widgets that exceed the specified threshold of title bar buttons.\n *\n * Discuss or upvote this feature: https://github.com/iTwin/appui/discussions/723\n */\n widgetActionDropdown: { threshold: number };\n /** If true, the [[Toolbar]] component will be replaced by a new iTwinUI based toolbar. */\n newToolbars: boolean;\n}\n\n/** Object used trim to only known features at runtime.\n * @internal\n */\nconst knownFeaturesObject: Record<keyof KnownPreviewFeatures, undefined> = {\n activateDroppedTab: undefined,\n contentAlwaysMaxSize: undefined,\n enableMaximizedFloatingWidget: undefined,\n enableMaximizedPanelWidget: undefined,\n horizontalPanelAlignment: undefined,\n widgetActionDropdown: undefined,\n newToolbars: undefined,\n};\n\n/** List of preview features that can be enabled/disabled.\n * This list is expected to change over time, the interface is made\n * so that new features can be added or removed without breaking existing code.\n * A console warning will simply appear if unknown features are passed.\n * @beta\n */\nexport interface PreviewFeatures extends Partial<KnownPreviewFeatures> {\n [featureName: string]: any;\n}\n\n/** Trim an object to only contain known feature keys.\n * @param previewFeatures object potentially containing unknown features\n * @returns object containing only known features\n * @internal\n */\nfunction trimToKnownFeaturesOnly(previewFeatures: PreviewFeatures) {\n const knownFeatureKeys = Object.keys(knownFeaturesObject);\n const [knownFeatures, unknownFeatures] = Object.entries(\n previewFeatures\n ).reduce(\n ([known, unknown], [key, value]) => {\n if (knownFeatureKeys.includes(key)) {\n known[key] = value;\n } else {\n unknown.push(key);\n }\n return [known, unknown];\n },\n [{}, []] as [PreviewFeatures, string[]]\n );\n if (\n Object.keys(unknownFeatures).length > 0 &&\n process.env.NODE_ENV === \"development\"\n ) {\n // eslint-disable-next-line no-console\n console.warn(\n `The following features used in \"setPreviewFeatures\" are unknown or no longer in preview: [${unknownFeatures.toString()}]\n Here is the list of currently known features: [${knownFeatureKeys.toString()}]`\n );\n }\n return knownFeatures;\n}\n\ninterface PreviewFeaturesState {\n previewFeatures: PreviewFeatures;\n setPreviewFeatures: (previewFeatures: PreviewFeatures) => void;\n}\n\n/** Preview features store used by `UiFramework.previewFeatures` and `UiFramework.setPreviewFeatures()` APIs to manage the preview features.\n * Use `usePreviewFeatures` hook to access the preview features set from a react component.\n * Use `usePreviewFeaturesStore.getState().previewFeatures` to access the preview features set from a non-react component.\n * Use `usePreviewFeaturesStore.subscribe()` to subscribe to changes to the preview features set from a non-react component.\n * @internal\n */\nconst usePreviewFeaturesStore = create<PreviewFeaturesState>((set) => {\n return {\n previewFeatures: {},\n setPreviewFeatures: (newPreviewFeatures: PreviewFeatures) => {\n const previewFeatures = trimToKnownFeaturesOnly(newPreviewFeatures);\n set({ previewFeatures });\n },\n };\n});\n\n/** Hook to access the preview features set.\n * @internal\n */\nexport function usePreviewFeatures() {\n return usePreviewFeaturesStore((state) => state.previewFeatures);\n}\n\n/** Props for PreviewFeaturesProvider.\n * @beta\n */\nexport interface PreviewFeaturesProviderProps {\n children?: React.ReactNode;\n features?: PreviewFeatures;\n}\n\n/** Set which preview features are enabled. These features are not yet ready for production use nor have\n * a proper API defined yet.\n * The available set of features are defined in the [[PreviewFeatures]] interface.\n *\n * This component should wrap the Provider component.\n *\n * ```tsx\n * <PreviewFeaturesProvider features={{ enableMaximizedFloatingWidget: true }}>\n * <Provider store={UiFramework.store}>\n * [...]\n * <ConfigurableUIContent />\n * [/...]\n * </Provider>\n * </PreviewFeaturesProvider>\n * ```\n * @beta\n */\nexport function PreviewFeaturesProvider({\n children,\n features,\n}: PreviewFeaturesProviderProps) {\n const setPreviewFeatures = usePreviewFeaturesStore(\n (state) => state.setPreviewFeatures\n );\n React.useEffect(() => {\n setPreviewFeatures(features ?? {});\n }, [features, setPreviewFeatures]);\n\n // Clear preview features when unmounting.\n React.useEffect(\n () => () => {\n setPreviewFeatures({});\n },\n [setPreviewFeatures]\n );\n return <>{children}</>;\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import type { NineZoneStateReducer } from "../../layout/state/NineZoneStateReducer";
2
+ /** Reducer factory to activate tab of a dragged widget when dropped in a container.
3
+ * @internal
4
+ */
5
+ export declare const activateDroppedTab: (reducer: typeof NineZoneStateReducer) => typeof NineZoneStateReducer;
6
+ //# sourceMappingURL=activateDroppedTab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activateDroppedTab.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/preview/activate-dropped-tab/activateDroppedTab.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAOpF;;GAEG;AACH,eAAO,MAAM,kBAAkB,YACnB,2BAA2B,KAAG,2BAkBvC,CAAC"}
@@ -6,10 +6,11 @@ exports.activateDroppedTab = void 0;
6
6
  * See LICENSE.md in the project root for license terms and full copyright notice.
7
7
  *--------------------------------------------------------------------------------------------*/
8
8
  const core_bentley_1 = require("@itwin/core-bentley");
9
- const TabLocation_1 = require("./TabLocation");
10
- const WidgetStateHelpers_1 = require("./internal/WidgetStateHelpers");
11
- /** Changes widget active tab after drag & drop
12
- * @internal */
9
+ const TabLocation_1 = require("../../layout/state/TabLocation");
10
+ const WidgetStateHelpers_1 = require("../../layout/state/internal/WidgetStateHelpers");
11
+ /** Reducer factory to activate tab of a dragged widget when dropped in a container.
12
+ * @internal
13
+ */
13
14
  const activateDroppedTab = (reducer) => (state, action) => {
14
15
  if (action.type === "WIDGET_TAB_DRAG_END") {
15
16
  const draggedTabId = action.id;