@itwin/appui-react 4.10.0 → 4.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (933) hide show
  1. package/CHANGELOG.md +27 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +181 -10
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +301 -21
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/UiFramework.json +345 -0
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +3 -2
  9. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  12. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  15. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +5 -7
  16. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  17. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  18. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  19. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  20. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  21. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  23. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  24. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +4 -3
  25. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  26. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +2 -2
  27. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  28. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  29. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  30. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  31. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  32. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  33. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +24 -17
  34. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  35. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  36. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  37. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  38. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  39. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  40. package/lib/cjs/appui-react/configurableui/TimeTracker.js +2 -1
  41. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  42. package/lib/cjs/appui-react/content/ContentLayout.js +12 -9
  43. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  44. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +4 -3
  45. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  46. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +14 -19
  47. package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -1
  48. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  49. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  50. package/lib/cjs/appui-react/content/IModelViewport.js +8 -9
  51. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  52. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +2 -1
  53. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  54. package/lib/cjs/appui-react/content/InternalContentViewManager.js +2 -2
  55. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  56. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +12 -10
  57. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  58. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  59. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  60. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  61. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  62. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  63. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  65. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  66. package/lib/cjs/appui-react/dialog/ContentDialog.js +6 -3
  67. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  68. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +3 -2
  69. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  70. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  71. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  72. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  73. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  74. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  75. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +23 -78
  76. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  77. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  78. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  79. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  80. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  81. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  82. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +1 -2
  83. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  84. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  85. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +7 -6
  86. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  87. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +4 -4
  88. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  89. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +5 -4
  90. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  91. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts +6 -0
  92. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  93. package/lib/cjs/appui-react/hooks/useActiveToolId.js +24 -0
  94. package/lib/cjs/appui-react/hooks/useActiveToolId.js.map +1 -0
  95. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  96. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  97. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts +15 -0
  98. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  99. package/lib/cjs/appui-react/hooks/useConditionalValue.js +43 -0
  100. package/lib/cjs/appui-react/hooks/useConditionalValue.js.map +1 -0
  101. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  102. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  103. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +13 -8
  104. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  105. package/lib/cjs/appui-react/hooks/useTranslation.d.ts +7 -0
  106. package/lib/cjs/appui-react/hooks/useTranslation.d.ts.map +1 -0
  107. package/lib/cjs/appui-react/hooks/useTranslation.js +29 -0
  108. package/lib/cjs/appui-react/hooks/useTranslation.js.map +1 -0
  109. package/lib/cjs/appui-react/keyins/Keyins.d.ts +35 -0
  110. package/lib/cjs/appui-react/keyins/Keyins.d.ts.map +1 -0
  111. package/lib/cjs/appui-react/keyins/Keyins.js +54 -0
  112. package/lib/cjs/appui-react/keyins/Keyins.js.map +1 -0
  113. package/lib/cjs/appui-react/layers.scss +1 -1
  114. package/lib/cjs/appui-react/layout/StandardLayout.d.ts.map +1 -1
  115. package/lib/cjs/appui-react/layout/StandardLayout.js +10 -10
  116. package/lib/cjs/appui-react/layout/StandardLayout.js.map +1 -1
  117. package/lib/cjs/appui-react/layout/StandardLayout.scss +1 -1
  118. package/lib/cjs/appui-react/layout/_widgetopacity.scss +3 -1
  119. package/lib/cjs/appui-react/layout/base/DragManager.js +2 -1
  120. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  121. package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
  122. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  123. package/lib/cjs/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  124. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js +3 -0
  125. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  126. package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
  127. package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
  128. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
  129. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  130. package/lib/cjs/appui-react/layout/state/NineZoneAction.d.ts +3 -2
  131. package/lib/cjs/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
  132. package/lib/cjs/appui-react/layout/state/NineZoneAction.js.map +1 -1
  133. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
  134. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +16 -13
  135. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  136. package/lib/cjs/appui-react/layout/state/PanelState.d.ts +2 -5
  137. package/lib/cjs/appui-react/layout/state/PanelState.d.ts.map +1 -1
  138. package/lib/cjs/appui-react/layout/state/PanelState.js.map +1 -1
  139. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  140. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  141. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts +4 -3
  142. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  143. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js +12 -10
  144. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  145. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +3 -2
  146. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  147. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  148. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  149. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
  150. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  151. package/lib/cjs/appui-react/layout/widget/Content.d.ts.map +1 -1
  152. package/lib/cjs/appui-react/layout/widget/Content.js +5 -5
  153. package/lib/cjs/appui-react/layout/widget/Content.js.map +1 -1
  154. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +2 -2
  155. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  156. package/lib/cjs/appui-react/layout/widget/FloatingTab.js +6 -5
  157. package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
  158. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +4 -2
  159. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  160. package/lib/cjs/appui-react/layout/widget/NavigationArea.scss +4 -1
  161. package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
  162. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  163. package/lib/cjs/appui-react/layout/widget/Tab.js +4 -4
  164. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  165. package/lib/cjs/appui-react/layout/widget/ToolsArea.scss +2 -0
  166. package/lib/cjs/appui-react/layout/widget/Widget.d.ts.map +1 -1
  167. package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
  168. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  169. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  170. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  171. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +8 -5
  172. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  173. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  174. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  175. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  176. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
  177. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  178. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  179. package/lib/cjs/appui-react/messages/MessageManager.js +6 -6
  180. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  181. package/lib/cjs/appui-react/messages/MessageRenderer.js +16 -10
  182. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  183. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  184. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  185. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  186. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  187. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +1 -1
  188. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  189. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  190. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  191. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -2
  192. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  193. package/lib/cjs/appui-react/pickers/ViewSelector.js +6 -5
  194. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  195. package/lib/cjs/appui-react/popup/CardPopup.d.ts +21 -9
  196. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  197. package/lib/cjs/appui-react/popup/CardPopup.js +12 -5
  198. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  199. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts +18 -0
  200. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  201. package/lib/cjs/appui-react/popup/ComponentPopup.js +35 -0
  202. package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -0
  203. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  204. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  205. package/lib/cjs/appui-react/popup/HTMLElementPopup.js +1 -0
  206. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  207. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +4 -4
  208. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  209. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  210. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  211. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  212. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +19 -12
  213. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  214. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  215. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  216. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +9 -3
  217. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  218. package/lib/cjs/appui-react/popup/PopupManager.d.ts +45 -9
  219. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  220. package/lib/cjs/appui-react/popup/PopupManager.js +85 -13
  221. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  222. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +16 -6
  223. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  224. package/lib/cjs/appui-react/popup/ToolbarPopup.js +7 -2
  225. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  226. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +3 -1
  227. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  228. package/lib/cjs/appui-react/preview/PreviewFeatures.js +8 -7
  229. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  230. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  231. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  232. package/lib/cjs/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  233. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  234. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  235. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  236. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +18 -0
  237. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  238. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.scss +10 -0
  239. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +7 -7
  240. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -1
  241. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +7 -7
  242. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  243. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +6 -6
  244. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  245. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  246. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +1 -1
  247. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -1
  248. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +4 -4
  249. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  250. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  251. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js +25 -0
  252. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  253. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  254. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  255. package/lib/cjs/appui-react/{statusbar/Popup.js → preview/new-toolbars/Badge.js} +10 -10
  256. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  257. package/lib/cjs/appui-react/preview/new-toolbars/Badge.scss +13 -0
  258. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  259. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  260. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +36 -0
  261. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  262. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  263. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  264. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.js +15 -0
  265. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  266. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  267. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  268. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  269. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +79 -0
  270. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  271. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  272. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  273. package/lib/cjs/appui-react/preview/new-toolbars/Item.js +54 -0
  274. package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -0
  275. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  276. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  277. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +37 -0
  278. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  279. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  280. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  281. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +85 -0
  282. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  283. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  284. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  285. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  286. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js +40 -0
  287. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  288. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  289. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  290. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js +93 -0
  291. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  292. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +2 -1
  293. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  294. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  295. package/lib/cjs/appui-react/redux/SessionState.d.ts +15 -3
  296. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  297. package/lib/cjs/appui-react/redux/SessionState.js +8 -1
  298. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  299. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
  300. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  301. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  302. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  303. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  304. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  305. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  306. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  307. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  308. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +40 -46
  309. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  310. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts +17 -0
  311. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  312. package/lib/cjs/appui-react/shared/ConditionalValue.js +16 -0
  313. package/lib/cjs/appui-react/shared/ConditionalValue.js.map +1 -0
  314. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
  315. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  316. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  317. package/lib/cjs/appui-react/shared/ItemProps.d.ts +13 -2
  318. package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
  319. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  320. package/lib/cjs/appui-react/shared/MenuItem.d.ts +21 -2
  321. package/lib/cjs/appui-react/shared/MenuItem.d.ts.map +1 -1
  322. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  323. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts +23 -3
  324. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
  325. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  326. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +7 -4
  327. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +42 -16
  329. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  330. package/lib/cjs/appui-react/statusbar/Indicator.js +2 -1
  331. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  332. package/lib/cjs/appui-react/statusbar/Overflow.d.ts.map +1 -1
  333. package/lib/cjs/appui-react/statusbar/Overflow.js +3 -3
  334. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  335. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -1
  336. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  337. package/lib/cjs/appui-react/statusbar/StatusBar.js +6 -4
  338. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  339. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  340. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  341. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  342. package/lib/cjs/appui-react/statusbar/{Popup.d.ts → popup/Popup.d.ts} +2 -1
  343. package/lib/cjs/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  344. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.js +10 -11
  345. package/lib/cjs/appui-react/statusbar/popup/Popup.js.map +1 -0
  346. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  347. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  348. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +4 -4
  349. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  350. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +0 -1
  351. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  352. package/lib/cjs/appui-react/statusfields/MessageCenter.js +4 -4
  353. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  354. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  355. package/lib/cjs/appui-react/statusfields/SectionsField.js +7 -10
  356. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  357. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  358. package/lib/cjs/appui-react/statusfields/SelectionScope.js +4 -4
  359. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  360. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  361. package/lib/cjs/appui-react/statusfields/SnapMode.js +14 -12
  362. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  363. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  364. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  365. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +12 -20
  366. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  367. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  368. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -2
  369. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  370. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  371. package/lib/cjs/appui-react/theme/ThemeManager.js +3 -2
  372. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  373. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  374. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  375. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  376. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts +4 -3
  377. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  378. package/lib/cjs/appui-react/toolbar/Toolbar.js +28 -4
  379. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  380. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  381. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  382. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +15 -12
  383. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  384. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  385. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +5 -6
  386. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  387. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  388. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  389. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  390. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  391. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  392. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  393. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +18 -11
  394. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  395. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  396. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  397. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  398. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  399. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  400. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  401. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  402. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  403. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  404. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  405. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  406. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  407. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +102 -143
  408. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  409. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
  410. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  411. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  412. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  413. package/lib/cjs/appui-react/utils/Placement.d.ts +35 -0
  414. package/lib/cjs/appui-react/utils/Placement.d.ts.map +1 -0
  415. package/lib/cjs/appui-react/utils/Placement.js +62 -0
  416. package/lib/cjs/appui-react/utils/Placement.js.map +1 -0
  417. package/lib/cjs/appui-react/utils/PropsHelper.js +4 -4
  418. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  419. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  420. package/lib/cjs/appui-react/widget-panels/Content.js +12 -11
  421. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  422. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  423. package/lib/cjs/appui-react/widget-panels/Frontstage.js +32 -24
  424. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  425. package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
  426. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  427. package/lib/cjs/appui-react/widget-panels/Tab.d.ts +1 -1
  428. package/lib/cjs/appui-react/widget-panels/Tab.d.ts.map +1 -1
  429. package/lib/cjs/appui-react/widget-panels/Tab.js +4 -6
  430. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  431. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  432. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  433. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +55 -68
  434. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  435. package/lib/cjs/appui-react/widget-panels/Toolbars.js +3 -2
  436. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  437. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +3 -1
  438. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  439. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +3 -1
  440. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  441. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  442. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  443. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  444. package/lib/cjs/appui-react/widgets/Widget.d.ts +2 -2
  445. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -1
  446. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  447. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +8 -3
  448. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  449. package/lib/cjs/appui-react/widgets/WidgetDef.js +61 -18
  450. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  451. package/lib/cjs/appui-react/widgets/WidgetHost.js +3 -2
  452. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  453. package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
  454. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  455. package/lib/cjs/appui-react.d.ts +3 -1
  456. package/lib/cjs/appui-react.d.ts.map +1 -1
  457. package/lib/cjs/appui-react.js +3 -3
  458. package/lib/cjs/appui-react.js.map +1 -1
  459. package/lib/esm/appui-react/UiFramework.d.ts +181 -10
  460. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  461. package/lib/esm/appui-react/UiFramework.js +301 -21
  462. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  463. package/lib/esm/appui-react/UiFramework.json +345 -0
  464. package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  465. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +3 -2
  466. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  467. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  468. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  469. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  470. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  471. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  472. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +5 -7
  473. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  474. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  475. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  476. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  477. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  478. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  479. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  480. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  481. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +5 -4
  482. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  483. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +2 -2
  484. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  485. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  486. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  487. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  488. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  489. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  490. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +23 -16
  491. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  492. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  493. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  494. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  495. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  496. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  497. package/lib/esm/appui-react/configurableui/TimeTracker.js +2 -1
  498. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  499. package/lib/esm/appui-react/content/ContentLayout.js +12 -9
  500. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  501. package/lib/esm/appui-react/content/DefaultViewOverlay.js +4 -3
  502. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  503. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +14 -19
  504. package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -1
  505. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  506. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  507. package/lib/esm/appui-react/content/IModelViewport.js +8 -9
  508. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  509. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +2 -1
  510. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  511. package/lib/esm/appui-react/content/InternalContentViewManager.js +2 -2
  512. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  513. package/lib/esm/appui-react/content/split-pane/SplitPane.js +12 -10
  514. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  515. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  516. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  517. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  518. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  519. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  520. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  521. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  522. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  523. package/lib/esm/appui-react/dialog/ContentDialog.js +6 -3
  524. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  525. package/lib/esm/appui-react/dialog/DialogManagerBase.js +3 -2
  526. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  527. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  528. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  529. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  530. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  531. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  532. package/lib/esm/appui-react/frontstage/FrontstageDef.js +24 -79
  533. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  534. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  535. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  536. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  537. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  538. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  539. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +1 -2
  540. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  541. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  542. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +7 -6
  543. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  544. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +4 -4
  545. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  546. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +5 -4
  547. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  548. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts +6 -0
  549. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  550. package/lib/esm/appui-react/hooks/useActiveToolId.js +20 -0
  551. package/lib/esm/appui-react/hooks/useActiveToolId.js.map +1 -0
  552. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  553. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  554. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts +15 -0
  555. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  556. package/lib/esm/appui-react/hooks/useConditionalValue.js +39 -0
  557. package/lib/esm/appui-react/hooks/useConditionalValue.js.map +1 -0
  558. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  559. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  560. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +13 -8
  561. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  562. package/lib/esm/appui-react/hooks/useTranslation.d.ts +7 -0
  563. package/lib/esm/appui-react/hooks/useTranslation.d.ts.map +1 -0
  564. package/lib/esm/appui-react/hooks/useTranslation.js +25 -0
  565. package/lib/esm/appui-react/hooks/useTranslation.js.map +1 -0
  566. package/lib/esm/appui-react/keyins/Keyins.d.ts +35 -0
  567. package/lib/esm/appui-react/keyins/Keyins.d.ts.map +1 -0
  568. package/lib/esm/appui-react/keyins/Keyins.js +50 -0
  569. package/lib/esm/appui-react/keyins/Keyins.js.map +1 -0
  570. package/lib/esm/appui-react/layers.scss +1 -1
  571. package/lib/esm/appui-react/layout/StandardLayout.d.ts.map +1 -1
  572. package/lib/esm/appui-react/layout/StandardLayout.js +10 -10
  573. package/lib/esm/appui-react/layout/StandardLayout.js.map +1 -1
  574. package/lib/esm/appui-react/layout/StandardLayout.scss +1 -1
  575. package/lib/esm/appui-react/layout/_widgetopacity.scss +3 -1
  576. package/lib/esm/appui-react/layout/base/DragManager.js +2 -1
  577. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  578. package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
  579. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  580. package/lib/esm/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  581. package/lib/esm/appui-react/layout/base/usePointerCaptor.js +3 -0
  582. package/lib/esm/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  583. package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
  584. package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
  585. package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
  586. package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  587. package/lib/esm/appui-react/layout/state/NineZoneAction.d.ts +3 -2
  588. package/lib/esm/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
  589. package/lib/esm/appui-react/layout/state/NineZoneAction.js.map +1 -1
  590. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
  591. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +17 -14
  592. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  593. package/lib/esm/appui-react/layout/state/PanelState.d.ts +2 -5
  594. package/lib/esm/appui-react/layout/state/PanelState.d.ts.map +1 -1
  595. package/lib/esm/appui-react/layout/state/PanelState.js.map +1 -1
  596. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  597. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  598. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts +4 -3
  599. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  600. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js +10 -8
  601. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  602. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +3 -2
  603. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  604. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  605. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  606. package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
  607. package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  608. package/lib/esm/appui-react/layout/widget/Content.d.ts.map +1 -1
  609. package/lib/esm/appui-react/layout/widget/Content.js +5 -5
  610. package/lib/esm/appui-react/layout/widget/Content.js.map +1 -1
  611. package/lib/esm/appui-react/layout/widget/ContentRenderer.js +2 -2
  612. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  613. package/lib/esm/appui-react/layout/widget/FloatingTab.js +6 -5
  614. package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
  615. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +4 -2
  616. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  617. package/lib/esm/appui-react/layout/widget/NavigationArea.scss +4 -1
  618. package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
  619. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  620. package/lib/esm/appui-react/layout/widget/Tab.js +4 -4
  621. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  622. package/lib/esm/appui-react/layout/widget/ToolsArea.scss +2 -0
  623. package/lib/esm/appui-react/layout/widget/Widget.d.ts.map +1 -1
  624. package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
  625. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  626. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  627. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  628. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +8 -5
  629. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  630. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  631. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  632. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  633. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
  634. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  635. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  636. package/lib/esm/appui-react/messages/MessageManager.js +6 -6
  637. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  638. package/lib/esm/appui-react/messages/MessageRenderer.js +17 -11
  639. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  640. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  641. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  642. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  643. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  644. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -2
  645. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  646. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  647. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  648. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -2
  649. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  650. package/lib/esm/appui-react/pickers/ViewSelector.js +6 -5
  651. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  652. package/lib/esm/appui-react/popup/CardPopup.d.ts +21 -9
  653. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  654. package/lib/esm/appui-react/popup/CardPopup.js +15 -7
  655. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  656. package/lib/esm/appui-react/popup/ComponentPopup.d.ts +18 -0
  657. package/lib/esm/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  658. package/lib/esm/appui-react/popup/ComponentPopup.js +31 -0
  659. package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -0
  660. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  661. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  662. package/lib/esm/appui-react/popup/HTMLElementPopup.js +1 -0
  663. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  664. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +4 -4
  665. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  666. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  667. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  668. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  669. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +19 -12
  670. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  671. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  672. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  673. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +9 -3
  674. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  675. package/lib/esm/appui-react/popup/PopupManager.d.ts +45 -9
  676. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  677. package/lib/esm/appui-react/popup/PopupManager.js +87 -14
  678. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  679. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +16 -6
  680. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  681. package/lib/esm/appui-react/popup/ToolbarPopup.js +9 -3
  682. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  683. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +3 -1
  684. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  685. package/lib/esm/appui-react/preview/PreviewFeatures.js +8 -7
  686. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  687. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  688. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  689. package/lib/esm/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  690. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  691. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  692. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  693. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +14 -0
  694. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  695. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.scss +10 -0
  696. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +7 -7
  697. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -1
  698. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +7 -7
  699. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  700. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +6 -6
  701. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  702. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  703. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +1 -1
  704. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -1
  705. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +4 -4
  706. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  707. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  708. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js +22 -0
  709. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  710. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  711. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  712. package/lib/esm/appui-react/{statusbar/Popup.js → preview/new-toolbars/Badge.js} +8 -8
  713. package/lib/esm/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  714. package/lib/esm/appui-react/preview/new-toolbars/Badge.scss +13 -0
  715. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  716. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  717. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +33 -0
  718. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  719. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  720. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  721. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.js +11 -0
  722. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  723. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  724. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  725. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  726. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +74 -0
  727. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  728. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  729. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  730. package/lib/esm/appui-react/preview/new-toolbars/Item.js +49 -0
  731. package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -0
  732. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  733. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  734. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +34 -0
  735. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  736. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  737. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  738. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +81 -0
  739. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  740. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  741. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  742. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  743. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js +36 -0
  744. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  745. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  746. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  747. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js +89 -0
  748. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  749. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +2 -1
  750. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  751. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  752. package/lib/esm/appui-react/redux/SessionState.d.ts +15 -3
  753. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  754. package/lib/esm/appui-react/redux/SessionState.js +8 -1
  755. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  756. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
  757. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  758. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  759. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  760. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  761. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  762. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  763. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  764. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  765. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +40 -46
  766. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  767. package/lib/esm/appui-react/shared/ConditionalValue.d.ts +17 -0
  768. package/lib/esm/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  769. package/lib/esm/appui-react/shared/ConditionalValue.js +13 -0
  770. package/lib/esm/appui-react/shared/ConditionalValue.js.map +1 -0
  771. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
  772. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  773. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  774. package/lib/esm/appui-react/shared/ItemProps.d.ts +13 -2
  775. package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
  776. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  777. package/lib/esm/appui-react/shared/MenuItem.d.ts +21 -2
  778. package/lib/esm/appui-react/shared/MenuItem.d.ts.map +1 -1
  779. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  780. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts +23 -3
  781. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
  782. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  783. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +7 -4
  784. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  785. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +42 -16
  786. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  787. package/lib/esm/appui-react/statusbar/Indicator.js +2 -1
  788. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  789. package/lib/esm/appui-react/statusbar/Overflow.d.ts.map +1 -1
  790. package/lib/esm/appui-react/statusbar/Overflow.js +3 -3
  791. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  792. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -1
  793. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  794. package/lib/esm/appui-react/statusbar/StatusBar.js +6 -4
  795. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  796. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  797. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  798. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  799. package/lib/esm/appui-react/statusbar/{Popup.d.ts → popup/Popup.d.ts} +2 -1
  800. package/lib/esm/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  801. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.js +8 -9
  802. package/lib/esm/appui-react/statusbar/popup/Popup.js.map +1 -0
  803. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  804. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  805. package/lib/esm/appui-react/statusfields/ActivityCenter.js +4 -4
  806. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  807. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +0 -1
  808. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  809. package/lib/esm/appui-react/statusfields/MessageCenter.js +4 -4
  810. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  811. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  812. package/lib/esm/appui-react/statusfields/SectionsField.js +7 -10
  813. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  814. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  815. package/lib/esm/appui-react/statusfields/SelectionScope.js +4 -4
  816. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  817. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  818. package/lib/esm/appui-react/statusfields/SnapMode.js +14 -12
  819. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  820. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  821. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  822. package/lib/esm/appui-react/statusfields/ViewAttributes.js +12 -20
  823. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  824. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  825. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +3 -3
  826. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  827. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  828. package/lib/esm/appui-react/theme/ThemeManager.js +3 -2
  829. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  830. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  831. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  832. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  833. package/lib/esm/appui-react/toolbar/Toolbar.d.ts +4 -3
  834. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  835. package/lib/esm/appui-react/toolbar/Toolbar.js +29 -5
  836. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  837. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  838. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  839. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +15 -12
  840. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  841. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  842. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +5 -6
  843. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  844. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  845. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  846. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  847. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  848. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  849. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  850. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +18 -11
  851. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  852. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  853. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  854. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  855. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  856. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  857. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  858. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  859. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  860. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  861. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  862. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  863. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  864. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +100 -141
  865. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  866. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
  867. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  868. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  869. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  870. package/lib/esm/appui-react/utils/Placement.d.ts +35 -0
  871. package/lib/esm/appui-react/utils/Placement.d.ts.map +1 -0
  872. package/lib/esm/appui-react/utils/Placement.js +57 -0
  873. package/lib/esm/appui-react/utils/Placement.js.map +1 -0
  874. package/lib/esm/appui-react/utils/PropsHelper.js +4 -4
  875. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  876. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  877. package/lib/esm/appui-react/widget-panels/Content.js +12 -11
  878. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  879. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  880. package/lib/esm/appui-react/widget-panels/Frontstage.js +32 -24
  881. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  882. package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
  883. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  884. package/lib/esm/appui-react/widget-panels/Tab.d.ts +1 -1
  885. package/lib/esm/appui-react/widget-panels/Tab.d.ts.map +1 -1
  886. package/lib/esm/appui-react/widget-panels/Tab.js +3 -5
  887. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  888. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  889. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  890. package/lib/esm/appui-react/widget-panels/ToolSettings.js +53 -66
  891. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  892. package/lib/esm/appui-react/widget-panels/Toolbars.js +3 -2
  893. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  894. package/lib/esm/appui-react/widget-panels/Toolbars.scss +3 -1
  895. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  896. package/lib/esm/appui-react/widgets/BackstageAppButton.js +3 -1
  897. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  898. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  899. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  900. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  901. package/lib/esm/appui-react/widgets/Widget.d.ts +2 -2
  902. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -1
  903. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  904. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +8 -3
  905. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  906. package/lib/esm/appui-react/widgets/WidgetDef.js +59 -17
  907. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  908. package/lib/esm/appui-react/widgets/WidgetHost.js +3 -2
  909. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  910. package/lib/esm/appui-react/widgets/useWidget.js +1 -1
  911. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  912. package/lib/esm/appui-react.d.ts +3 -1
  913. package/lib/esm/appui-react.d.ts.map +1 -1
  914. package/lib/esm/appui-react.js +3 -1
  915. package/lib/esm/appui-react.js.map +1 -1
  916. package/lib/public/locales/en/UiFramework.json +7 -1
  917. package/package.json +11 -10
  918. package/lib/cjs/appui-react/layout/footer/Popup.d.ts +0 -12
  919. package/lib/cjs/appui-react/layout/footer/Popup.d.ts.map +0 -1
  920. package/lib/cjs/appui-react/layout/footer/Popup.js.map +0 -1
  921. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  922. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  923. package/lib/cjs/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  924. package/lib/cjs/appui-react/statusbar/Popup.d.ts.map +0 -1
  925. package/lib/cjs/appui-react/statusbar/Popup.js.map +0 -1
  926. package/lib/esm/appui-react/layout/footer/Popup.d.ts +0 -12
  927. package/lib/esm/appui-react/layout/footer/Popup.d.ts.map +0 -1
  928. package/lib/esm/appui-react/layout/footer/Popup.js.map +0 -1
  929. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  930. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  931. package/lib/esm/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  932. package/lib/esm/appui-react/statusbar/Popup.d.ts.map +0 -1
  933. package/lib/esm/appui-react/statusbar/Popup.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CardPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/CardPopup.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 \"./CardPopup.scss\";\nimport * as React from \"react\";\nimport classnames from \"classnames\";\nimport { Key } from \"ts-key-enum\";\nimport type {\n CommonToolbarItem,\n OnCancelFunc,\n OnItemExecutedFunc,\n PropertyRecord,\n RelativePosition,\n} from \"@itwin/appui-abstract\";\nimport type { Orientation, SizeProps } from \"@itwin/core-react\";\nimport {\n DivWithOutsideClick,\n FocusTrap,\n MessageRenderer,\n Point,\n Size,\n} from \"@itwin/core-react\";\nimport { Text } from \"@itwin/itwinui-react\";\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\nimport type { PopupContentType, PopupPropsBase } from \"./PopupManager\";\nimport { isReactContent, PopupManager } from \"./PopupManager\";\nimport { PositionPopup } from \"./PositionPopup\";\nimport {\n Direction,\n PropertyValueRendererManager,\n ToolbarOpacitySetting,\n ToolbarPanelAlignment,\n ToolbarWithOverflow,\n} from \"@itwin/components-react\";\n\n/** Props for defining a CardPopup editor\n * @beta */\nexport interface CardPopupProps extends PopupPropsBase {\n content: PopupContentType;\n title: string | PropertyRecord | undefined;\n items: CommonToolbarItem[] | undefined;\n relativePosition: RelativePosition;\n orientation: Orientation;\n onCancel: OnCancelFunc;\n onItemExecuted: OnItemExecutedFunc;\n}\n\n/** @internal */\ninterface CardPopupState {\n size: Size;\n}\n\n/** Popup component for Input Editor\n * @beta\n */\nexport class CardPopup extends React.PureComponent<\n CardPopupProps,\n CardPopupState\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 = (event: React.KeyboardEvent): void => {\n switch (event.key) {\n case Key.Escape.valueOf():\n this._cancel();\n break;\n }\n };\n\n private _cancel() {\n // istanbul ignore else\n if (this.props.onCancel) {\n this.props.onCancel();\n }\n }\n\n public override render() {\n let point = PopupManager.getPopupPosition(\n this.props.el,\n this.props.pt,\n new Point(),\n this.state.size\n );\n const popupRect = CursorPopup.getPopupRect(\n point,\n this.props.offset,\n this.state.size,\n this.props.relativePosition\n );\n point = new Point(popupRect.left, popupRect.top);\n\n return (\n <PositionPopup\n key={this.props.id}\n className={classnames(\"uifw-no-border\", \"uifw-card\")}\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 <Card\n content={this.props.content}\n title={this.props.title}\n items={this.props.items}\n onItemExecuted={this.props.onItemExecuted}\n />\n </FocusTrap>\n </DivWithOutsideClick>\n </PositionPopup>\n );\n }\n}\n\n/** Props defining a Card component\n * @beta */\nexport interface CardProps {\n content: PopupContentType;\n title: string | PropertyRecord | undefined;\n items: CommonToolbarItem[] | undefined;\n onItemExecuted: OnItemExecutedFunc;\n}\n\n/** Card component\n * @beta */\nexport function Card(props: CardProps) {\n let titleNode: React.ReactNode;\n // istanbul ignore else\n if (props.title) {\n if (typeof props.title === \"string\")\n titleNode = <Text variant=\"leading\">{props.title}</Text>;\n else {\n const propertyValueRendererManager =\n PropertyValueRendererManager.defaultManager;\n const titleValue = propertyValueRendererManager.render(props.title);\n titleNode = <Text variant=\"leading\">{titleValue}</Text>;\n }\n }\n\n const content = isReactContent(props.content) ? (\n props.content.reactNode\n ) : (\n <MessageRenderer message={props.content} />\n );\n\n return (\n <>\n <div className=\"uifw-card-content\">\n {props.title && (\n <>\n {titleNode}\n <div className=\"uifw-card-gap\" />\n </>\n )}\n {content}\n </div>\n {props.items && (\n <>\n <div className=\"uifw-card-separator\" />\n <ToolbarWithOverflow // eslint-disable-line deprecation/deprecation\n expandsTo={Direction.Bottom}\n panelAlignment={ToolbarPanelAlignment.Start}\n items={props.items}\n useDragInteraction={true}\n toolbarOpacitySetting={ToolbarOpacitySetting.Transparent}\n onItemExecuted={props.onItemExecuted}\n />\n </>\n )}\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"CardPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/CardPopup.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 \"./CardPopup.scss\";\nimport * as React from \"react\";\nimport classnames from \"classnames\";\nimport { Key } from \"ts-key-enum\";\nimport type { CommonToolbarItem, PropertyRecord } from \"@itwin/appui-abstract\";\nimport type { RelativePosition } from \"@itwin/appui-abstract\";\nimport type { Orientation, SizeProps } from \"@itwin/core-react\";\nimport {\n DivWithOutsideClick,\n FocusTrap,\n MessageRenderer,\n Point,\n Size,\n} from \"@itwin/core-react\";\nimport { Text } from \"@itwin/itwinui-react\";\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\nimport type { PopupContentType, PopupPropsBase } from \"./PopupManager\";\nimport { isReactContent, PopupManager } from \"./PopupManager\";\nimport { PositionPopup } from \"./PositionPopup\";\nimport {\n Direction,\n PropertyValueRendererManager,\n ToolbarOpacitySetting,\n ToolbarPanelAlignment,\n} from \"@itwin/components-react\";\nimport { ToolbarWithOverflow } from \"../toolbar/ToolbarWithOverflow\";\nimport type { ToolbarItem } from \"../toolbar/ToolbarItem\";\nimport { mapToPlacement, type Placement } from \"../utils/Placement\";\nimport { WrapperContext } from \"../configurableui/ConfigurableUiContent\";\nimport type { RequireAtLeastOne } from \"@itwin/core-bentley\";\n\n/** Props for defining a CardPopup editor\n * @beta */\nexport type CardPopupProps = Omit<PopupPropsBase, \"el\"> & {\n content: PopupContentType;\n title: string | PropertyRecord | undefined;\n items: CommonToolbarItem[] | ToolbarItem[] | undefined; // {@link @itwin/appui-abstract#CommonToolbarItem} will be deprecated in 4.11.x. Please use {@link ToolbarItem[]} instead.\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 CardPopupState {\n size: Size;\n}\n\n/** Popup component for Input Editor\n * @beta\n */\nexport class CardPopup extends React.PureComponent<\n CardPopupProps,\n CardPopupState\n> {\n /** @internal */\n public static override contextType = WrapperContext;\n /** @internal */\n public declare context: React.ContextType<typeof WrapperContext>;\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 = (event: React.KeyboardEvent): 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\n return (\n <PositionPopup\n key={this.props.id}\n className={classnames(\"uifw-no-border\", \"uifw-card\")}\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 <Card\n content={this.props.content}\n title={this.props.title}\n items={this.props.items}\n // toolbarItems={this.props.toolbarItems}\n onItemExecuted={this.props.onItemExecuted}\n />\n </FocusTrap>\n </DivWithOutsideClick>\n </PositionPopup>\n );\n }\n}\n\n/** Props defining a Card component\n * @beta */\nexport interface CardProps {\n content: PopupContentType;\n title: string | PropertyRecord | undefined;\n items?: CommonToolbarItem[] | ToolbarItem[] | undefined; // @deprecated in 4.11.x. Please use {@link CardProps.toolbarItems}\n onItemExecuted: (item: any) => void;\n}\n\n/** Card component\n * @beta */\nexport function Card(props: CardProps) {\n let titleNode: React.ReactNode;\n // istanbul ignore else\n if (props.title) {\n if (typeof props.title === \"string\")\n titleNode = <Text variant=\"leading\">{props.title}</Text>;\n else {\n const propertyValueRendererManager =\n PropertyValueRendererManager.defaultManager;\n const titleValue = propertyValueRendererManager.render(props.title);\n titleNode = <Text variant=\"leading\">{titleValue}</Text>;\n }\n }\n\n const content = isReactContent(props.content) ? (\n props.content.reactNode\n ) : (\n <MessageRenderer message={props.content} />\n );\n\n return (\n <>\n <div className=\"uifw-card-content\">\n {props.title && (\n <>\n {titleNode}\n <div className=\"uifw-card-gap\" />\n </>\n )}\n {content}\n </div>\n {props.items && (\n <>\n <div className=\"uifw-card-separator\" />\n <ToolbarWithOverflow\n expandsTo={Direction.Bottom}\n panelAlignment={ToolbarPanelAlignment.Start}\n items={props.items}\n useDragInteraction={true}\n toolbarOpacitySetting={ToolbarOpacitySetting.Transparent}\n onItemExecuted={props.onItemExecuted}\n />\n </>\n )}\n </>\n );\n}\n"]}
@@ -0,0 +1,18 @@
1
+ import type { Orientation } from "@itwin/core-react";
2
+ import * as React from "react";
3
+ import type { PopupPropsBase } from "./PopupManager";
4
+ import { type Placement } from "../utils/Placement";
5
+ interface ComponentPopupProps extends Omit<PopupPropsBase, "el"> {
6
+ children?: React.ReactNode;
7
+ placement: Placement;
8
+ orientation: Orientation;
9
+ onCancel: () => void;
10
+ anchor?: HTMLElement;
11
+ }
12
+ /**
13
+ * Displays a React Component inside a popup. The user-facing API is the {@link PopupManager} and should be used instead of this component.
14
+ * @internal
15
+ */
16
+ export declare const ComponentPopup: React.FC<ComponentPopupProps>;
17
+ export {};
18
+ //# sourceMappingURL=ComponentPopup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComponentPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/ComponentPopup.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKrD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,UAAU,mBAAoB,SAAQ,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;IAC9D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA6CxD,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { DivWithOutsideClick, Point, Size } from "@itwin/core-react";
2
+ import * as React from "react";
3
+ import { CursorPopup } from "../cursor/cursorpopup/CursorPopup";
4
+ import { PopupManager } from "./PopupManager";
5
+ import { PositionPopup } from "./PositionPopup";
6
+ import { useEffect, useState } from "react";
7
+ import { WrapperContext } from "../configurableui/ConfigurableUiContent";
8
+ /**
9
+ * Displays a React Component inside a popup. The user-facing API is the {@link PopupManager} and should be used instead of this component.
10
+ * @internal
11
+ */
12
+ export const ComponentPopup = ({ pt, children, offset, placement, id, onCancel, anchor, }) => {
13
+ const wrapper = React.useContext(WrapperContext);
14
+ const [size, setSize] = useState(new Size(-1, -1));
15
+ useEffect(() => {
16
+ const newSize = Size.create(size);
17
+ if (!size.equals(newSize)) {
18
+ setSize(newSize);
19
+ }
20
+ }, [size]);
21
+ let point = PopupManager.getPopupPosition(anchor !== null && anchor !== void 0 ? anchor : wrapper, pt, new Point(), size);
22
+ const popupRect = CursorPopup.getPopupRect(point, offset, size, placement);
23
+ point = new Point(popupRect.left, popupRect.top);
24
+ const handleSizeKnown = (newSize) => {
25
+ if (!size.equals(newSize))
26
+ setSize(Size.create(newSize));
27
+ };
28
+ return (React.createElement(PositionPopup, { key: id, className: "uifw-no-border", point: point, onSizeKnown: handleSizeKnown },
29
+ React.createElement(DivWithOutsideClick, { onOutsideClick: onCancel }, children)));
30
+ };
31
+ //# sourceMappingURL=ComponentPopup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComponentPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ComponentPopup.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAYzE;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAC5D,EAAE,EACF,QAAQ,EACR,MAAM,EACN,SAAS,EACT,EAAE,EACF,QAAQ,EACR,MAAM,GACP,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC;SAClB;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,IAAI,KAAK,GAAG,YAAY,CAAC,gBAAgB,CACvC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,OAAO,EACjB,EAAE,EACF,IAAI,KAAK,EAAE,EACX,IAAI,CACL,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3E,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IAEjD,MAAM,eAAe,GAAG,CAAC,OAAkB,EAAE,EAAE;QAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,aAAa,IACZ,GAAG,EAAE,EAAE,EACP,SAAS,EAAC,gBAAgB,EAC1B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,eAAe;QAE5B,oBAAC,mBAAmB,IAAC,cAAc,EAAE,QAAQ,IAC1C,QAAQ,CACW,CACR,CACjB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport type { Orientation, SizeProps } from \"@itwin/core-react\";\nimport { DivWithOutsideClick, Point, Size } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\nimport type { PopupPropsBase } from \"./PopupManager\";\nimport { PopupManager } from \"./PopupManager\";\nimport { PositionPopup } from \"./PositionPopup\";\nimport { useEffect, useState } from \"react\";\nimport { WrapperContext } from \"../configurableui/ConfigurableUiContent\";\nimport { type Placement } from \"../utils/Placement\";\n\n// Props used for the ComponentPopup.\ninterface ComponentPopupProps extends Omit<PopupPropsBase, \"el\"> {\n children?: React.ReactNode;\n placement: Placement;\n orientation: Orientation;\n onCancel: () => void;\n anchor?: HTMLElement;\n}\n\n/**\n * Displays a React Component inside a popup. The user-facing API is the {@link PopupManager} and should be used instead of this component.\n * @internal\n */\nexport const ComponentPopup: React.FC<ComponentPopupProps> = ({\n pt,\n children,\n offset,\n placement,\n id,\n onCancel,\n anchor,\n}) => {\n const wrapper = React.useContext(WrapperContext);\n const [size, setSize] = useState<Size>(new Size(-1, -1));\n\n useEffect(() => {\n const newSize = Size.create(size);\n if (!size.equals(newSize)) {\n setSize(newSize);\n }\n }, [size]);\n\n let point = PopupManager.getPopupPosition(\n anchor ?? wrapper,\n pt,\n new Point(),\n size\n );\n\n const popupRect = CursorPopup.getPopupRect(point, offset, size, placement);\n point = new Point(popupRect.left, popupRect.top);\n\n const handleSizeKnown = (newSize: SizeProps) => {\n if (!size.equals(newSize)) setSize(Size.create(newSize));\n };\n\n return (\n <PositionPopup\n key={id}\n className=\"uifw-no-border\"\n point={point}\n onSizeKnown={handleSizeKnown}\n >\n <DivWithOutsideClick onOutsideClick={onCancel}>\n {children}\n </DivWithOutsideClick>\n </PositionPopup>\n );\n};\n"]}
@@ -6,7 +6,9 @@ import type { OnCancelFunc, RelativePosition } from "@itwin/appui-abstract";
6
6
  import type { Orientation } from "@itwin/core-react";
7
7
  import { Size } from "@itwin/core-react";
8
8
  import type { PopupPropsBase } from "./PopupManager";
9
- /** @alpha */
9
+ /** @alpha
10
+ * @deprecated in 4.11.x. Please use {@link @itwin/appui-react#UiFramework.showComponent}.
11
+ */
10
12
  export interface HTMLElementPopupProps extends PopupPropsBase {
11
13
  element: HTMLElement;
12
14
  relativePosition: RelativePosition;
@@ -19,6 +21,7 @@ interface HTMLElementPopupState {
19
21
  }
20
22
  /** Popup component for HTMLElement
21
23
  * @alpha
24
+ * @deprecated in 4.11.x. Though this is alpha, the main interface to using it is not. Please use {@link @itwin/appui-react#UiFramework.showComponent}.
22
25
  */
23
26
  export declare class HTMLElementPopup extends React.PureComponent<HTMLElementPopupProps, HTMLElementPopupState> {
24
27
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLElementPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/HTMLElementPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAIL,IAAI,EACL,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIrD,aAAa;AACb,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,OAAO,EAAE,WAAW,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,gBAAgB;AAChB,UAAU,qBAAqB;IAC7B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK,CAAC,aAAa,CACvD,qBAAqB,EACrB,qBAAqB,CACtB;IACC,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEc,MAAM;CA4BvB"}
1
+ {"version":3,"file":"HTMLElementPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/HTMLElementPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAIL,IAAI,EACL,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIrD;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,OAAO,EAAE,WAAW,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,gBAAgB;AAChB,UAAU,qBAAqB;IAC7B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,KAAK,CAAC,aAAa,CAEvD,qBAAqB,EACrB,qBAAqB,CACtB;IACC,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEc,MAAM;CA4BvB"}
@@ -12,6 +12,7 @@ import { PopupManager } from "./PopupManager";
12
12
  import { PositionPopup } from "./PositionPopup";
13
13
  /** Popup component for HTMLElement
14
14
  * @alpha
15
+ * @deprecated in 4.11.x. Though this is alpha, the main interface to using it is not. Please use {@link @itwin/appui-react#UiFramework.showComponent}.
15
16
  */
16
17
  export class HTMLElementPopup extends React.PureComponent {
17
18
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLElementPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/HTMLElementPopup.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,KAAK,EACL,IAAI,GACL,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAehD;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK,CAAC,aAG3C;IAHD;;QAIE,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,IAAI,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,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;IA8BJ,CAAC;IA5BiB,MAAM;QACpB,IAAI,KAAK,GAAG,YAAY,CAAC,gBAAgB,CACvC,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,KAAK,EAAE,EACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB,CAAC;QACF,MAAM,SAAS,GAAG,WAAW,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,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAEjD,OAAO,CACL,oBAAC,aAAa,IACZ,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,SAAS,EAAC,gBAAgB,EAC1B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,YAAY;YAE9B,oBAAC,mBAAmB,IAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBACtD,oBAAC,eAAe,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAI,CAC5B,CACR,CACjB,CAAC;IACJ,CAAC;CACF","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 type { OnCancelFunc, RelativePosition } from \"@itwin/appui-abstract\";\nimport type { Orientation, SizeProps } from \"@itwin/core-react\";\nimport {\n DivWithOutsideClick,\n MessageRenderer,\n Point,\n Size,\n} from \"@itwin/core-react\";\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\nimport type { PopupPropsBase } from \"./PopupManager\";\nimport { PopupManager } from \"./PopupManager\";\nimport { PositionPopup } from \"./PositionPopup\";\n\n/** @alpha */\nexport interface HTMLElementPopupProps extends PopupPropsBase {\n element: HTMLElement;\n relativePosition: RelativePosition;\n orientation: Orientation;\n onCancel: OnCancelFunc;\n}\n\n/** @internal */\ninterface HTMLElementPopupState {\n size: Size;\n}\n\n/** Popup component for HTMLElement\n * @alpha\n */\nexport class HTMLElementPopup extends React.PureComponent<\n HTMLElementPopupProps,\n HTMLElementPopupState\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 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\n return (\n <PositionPopup\n key={this.props.id}\n className=\"uifw-no-border\"\n point={point}\n onSizeKnown={this._onSizeKnown}\n >\n <DivWithOutsideClick onOutsideClick={this.props.onCancel}>\n <MessageRenderer message={this.props.element} />\n </DivWithOutsideClick>\n </PositionPopup>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"HTMLElementPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/HTMLElementPopup.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,KAAK,EACL,IAAI,GACL,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiBhD;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK,CAAC,aAI3C;IAJD;;QAKE,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,IAAI,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,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;IA8BJ,CAAC;IA5BiB,MAAM;QACpB,IAAI,KAAK,GAAG,YAAY,CAAC,gBAAgB,CACvC,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,KAAK,EAAE,EACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB,CAAC;QACF,MAAM,SAAS,GAAG,WAAW,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,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAEjD,OAAO,CACL,oBAAC,aAAa,IACZ,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,SAAS,EAAC,gBAAgB,EAC1B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,YAAY;YAE9B,oBAAC,mBAAmB,IAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBACtD,oBAAC,eAAe,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAI,CAC5B,CACR,CACjB,CAAC;IACJ,CAAC;CACF","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 type { OnCancelFunc, RelativePosition } from \"@itwin/appui-abstract\";\nimport type { Orientation, SizeProps } from \"@itwin/core-react\";\nimport {\n DivWithOutsideClick,\n MessageRenderer,\n Point,\n Size,\n} from \"@itwin/core-react\";\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\nimport type { PopupPropsBase } from \"./PopupManager\";\nimport { PopupManager } from \"./PopupManager\";\nimport { PositionPopup } from \"./PositionPopup\";\n\n/** @alpha\n * @deprecated in 4.11.x. Please use {@link @itwin/appui-react#UiFramework.showComponent}.\n */\nexport interface HTMLElementPopupProps extends PopupPropsBase {\n element: HTMLElement;\n relativePosition: RelativePosition;\n orientation: Orientation;\n onCancel: OnCancelFunc;\n}\n\n/** @internal */\ninterface HTMLElementPopupState {\n size: Size;\n}\n\n/** Popup component for HTMLElement\n * @alpha\n * @deprecated in 4.11.x. Though this is alpha, the main interface to using it is not. Please use {@link @itwin/appui-react#UiFramework.showComponent}.\n */\nexport class HTMLElementPopup extends React.PureComponent<\n // eslint-disable-next-line deprecation/deprecation\n HTMLElementPopupProps,\n HTMLElementPopupState\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 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\n return (\n <PositionPopup\n key={this.props.id}\n className=\"uifw-no-border\"\n point={point}\n onSizeKnown={this._onSizeKnown}\n >\n <DivWithOutsideClick onOutsideClick={this.props.onCancel}>\n <MessageRenderer message={this.props.element} />\n </DivWithOutsideClick>\n </PositionPopup>\n );\n }\n}\n"]}
@@ -2,21 +2,21 @@
2
2
  * @module Popup
3
3
  */
4
4
  import * as React from "react";
5
- import type { OnCancelFunc, OnValueCommitFunc, PropertyRecord } from "@itwin/appui-abstract";
5
+ import type { Primitives, PropertyRecord } from "@itwin/appui-abstract";
6
6
  import type { PropertyUpdatedArgs } from "@itwin/components-react";
7
7
  import { Size } from "@itwin/core-react";
8
8
  import type { PopupPropsBase } from "./PopupManager";
9
9
  /** @beta */
10
10
  export declare class InputEditorCommitHandler {
11
- readonly onCommit: OnValueCommitFunc;
12
- constructor(onCommit: OnValueCommitFunc);
11
+ readonly onCommit: (value: Primitives.Value) => void;
12
+ constructor(onCommit: (value: Primitives.Value) => void);
13
13
  handleCommit: (args: PropertyUpdatedArgs) => void;
14
14
  }
15
15
  /** Props for popup editor
16
16
  * @beta */
17
17
  export interface InputEditorPopupProps extends PopupPropsBase {
18
18
  record: PropertyRecord;
19
- onCancel: OnCancelFunc;
19
+ onCancel: () => void;
20
20
  commitHandler: InputEditorCommitHandler;
21
21
  }
22
22
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"InputEditorPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/InputEditorPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EAEjB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAuB,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIrD,YAAY;AACZ,qBAAa,wBAAwB;aACP,QAAQ,EAAE,iBAAiB;gBAA3B,QAAQ,EAAE,iBAAiB;IAEhD,YAAY,SAAU,mBAAmB,UAU9C;CACH;AAED;WACW;AACX,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,aAAa,EAAE,wBAAwB,CAAC;CACzC;AAED,gBAAgB;AAChB,UAAU,qBAAqB;IAC7B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK,CAAC,aAAa,CACvD,qBAAqB,EACrB,qBAAqB,CACtB;IACC,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,gBAAgB;IACA,MAAM;CA2BvB"}
1
+ {"version":3,"file":"InputEditorPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/InputEditorPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAuB,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIrD,YAAY;AACZ,qBAAa,wBAAwB;aACP,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,KAAK,IAAI;gBAA3C,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,KAAK,IAAI;IAEhE,YAAY,SAAU,mBAAmB,UAU9C;CACH;AAED;WACW;AACX,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,EAAE,wBAAwB,CAAC;CACzC;AAED,gBAAgB;AAChB,UAAU,qBAAqB;IAC7B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK,CAAC,aAAa,CACvD,qBAAqB,EACrB,qBAAqB,CACtB;IACC,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,gBAAgB;IACA,MAAM;CA2BvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputEditorPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/InputEditorPopup.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,YAAY;AACZ,MAAM,OAAO,wBAAwB;IACnC,YAA4B,QAA2B;QAA3B,aAAQ,GAAR,QAAQ,CAAmB;QAEhD,iBAAY,GAAG,CAAC,IAAyB,EAAE,EAAE;YAClD,IAAI,QAAQ,GAAqB,CAAC,CAAC;YACnC,uBAAuB;YACvB,IACE,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS;gBAC3D,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,EACjC;gBACA,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;aAChC;YACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC;IAZwD,CAAC;CAa5D;AAeD;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK,CAAC,aAG3C;IAHD;;QAIE,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,IAAI,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,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;IA8BJ,CAAC;IA5BC,gBAAgB;IACA,MAAM;QACpB,MAAM,KAAK,GAAG,YAAY,CAAC,gBAAgB,CACzC,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB,CAAC;QAEF,OAAO,CACL,oBAAC,aAAa,IACZ,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,YAAY;YAE9B,oBAAC,mBAAmB,IAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBACtD,oBAAC,oBAAoB;oBACnB,oBAAC,eAAe,IACd,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACjC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,EAC/C,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,QAAQ,EAAE,IAAI,GACd,CACmB,CACH,CACR,CACjB,CAAC;IACJ,CAAC;CACF","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 type {\n OnCancelFunc,\n OnValueCommitFunc,\n Primitives,\n PropertyRecord,\n} from \"@itwin/appui-abstract\";\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport type { PropertyUpdatedArgs } from \"@itwin/components-react\";\nimport { EditorContainer } from \"@itwin/components-react\";\nimport type { SizeProps } from \"@itwin/core-react\";\nimport { DivWithOutsideClick, Size } from \"@itwin/core-react\";\nimport type { PopupPropsBase } from \"./PopupManager\";\nimport { PopupManager } from \"./PopupManager\";\nimport { PositionPopup, PositionPopupContent } from \"./PositionPopup\";\n\n/** @beta */\nexport class InputEditorCommitHandler {\n constructor(public readonly onCommit: OnValueCommitFunc) {}\n\n public handleCommit = (args: PropertyUpdatedArgs) => {\n let newValue: Primitives.Value = 0;\n // istanbul ignore else\n if (\n args.newValue.valueFormat === PropertyValueFormat.Primitive &&\n args.newValue.value !== undefined\n ) {\n newValue = args.newValue.value;\n }\n this.onCommit(newValue);\n };\n}\n\n/** Props for popup editor\n * @beta */\nexport interface InputEditorPopupProps extends PopupPropsBase {\n record: PropertyRecord;\n onCancel: OnCancelFunc;\n commitHandler: InputEditorCommitHandler;\n}\n\n/** @internal */\ninterface InputEditorPopupState {\n size: Size;\n}\n\n/** Popup component for Input Editor\n * @alpha\n */\nexport class InputEditorPopup extends React.PureComponent<\n InputEditorPopupProps,\n InputEditorPopupState\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 /** @internal */\n public override render() {\n const point = PopupManager.getPopupPosition(\n this.props.el,\n this.props.pt,\n this.props.offset,\n this.state.size\n );\n\n return (\n <PositionPopup\n key={this.props.id}\n point={point}\n onSizeKnown={this._onSizeKnown}\n >\n <DivWithOutsideClick onOutsideClick={this.props.onCancel}>\n <PositionPopupContent>\n <EditorContainer\n propertyRecord={this.props.record}\n onCommit={this.props.commitHandler.handleCommit}\n onCancel={this.props.onCancel}\n setFocus={true}\n />\n </PositionPopupContent>\n </DivWithOutsideClick>\n </PositionPopup>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"InputEditorPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/InputEditorPopup.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,YAAY;AACZ,MAAM,OAAO,wBAAwB;IACnC,YAA4B,QAA2C;QAA3C,aAAQ,GAAR,QAAQ,CAAmC;QAEhE,iBAAY,GAAG,CAAC,IAAyB,EAAE,EAAE;YAClD,IAAI,QAAQ,GAAqB,CAAC,CAAC;YACnC,uBAAuB;YACvB,IACE,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS;gBAC3D,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,EACjC;gBACA,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;aAChC;YACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC;IAZwE,CAAC;CAa5E;AAeD;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK,CAAC,aAG3C;IAHD;;QAIE,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,IAAI,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,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;IA8BJ,CAAC;IA5BC,gBAAgB;IACA,MAAM;QACpB,MAAM,KAAK,GAAG,YAAY,CAAC,gBAAgB,CACzC,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB,CAAC;QAEF,OAAO,CACL,oBAAC,aAAa,IACZ,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,YAAY;YAE9B,oBAAC,mBAAmB,IAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBACtD,oBAAC,oBAAoB;oBACnB,oBAAC,eAAe,IACd,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACjC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,EAC/C,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,QAAQ,EAAE,IAAI,GACd,CACmB,CACH,CACR,CACjB,CAAC;IACJ,CAAC;CACF","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 type { Primitives, PropertyRecord } from \"@itwin/appui-abstract\";\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport type { PropertyUpdatedArgs } from \"@itwin/components-react\";\nimport { EditorContainer } from \"@itwin/components-react\";\nimport type { SizeProps } from \"@itwin/core-react\";\nimport { DivWithOutsideClick, Size } from \"@itwin/core-react\";\nimport type { PopupPropsBase } from \"./PopupManager\";\nimport { PopupManager } from \"./PopupManager\";\nimport { PositionPopup, PositionPopupContent } from \"./PositionPopup\";\n\n/** @beta */\nexport class InputEditorCommitHandler {\n constructor(public readonly onCommit: (value: Primitives.Value) => void) {}\n\n public handleCommit = (args: PropertyUpdatedArgs) => {\n let newValue: Primitives.Value = 0;\n // istanbul ignore else\n if (\n args.newValue.valueFormat === PropertyValueFormat.Primitive &&\n args.newValue.value !== undefined\n ) {\n newValue = args.newValue.value;\n }\n this.onCommit(newValue);\n };\n}\n\n/** Props for popup editor\n * @beta */\nexport interface InputEditorPopupProps extends PopupPropsBase {\n record: PropertyRecord;\n onCancel: () => void;\n commitHandler: InputEditorCommitHandler;\n}\n\n/** @internal */\ninterface InputEditorPopupState {\n size: Size;\n}\n\n/** Popup component for Input Editor\n * @alpha\n */\nexport class InputEditorPopup extends React.PureComponent<\n InputEditorPopupProps,\n InputEditorPopupState\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 /** @internal */\n public override render() {\n const point = PopupManager.getPopupPosition(\n this.props.el,\n this.props.pt,\n this.props.offset,\n this.state.size\n );\n\n return (\n <PositionPopup\n key={this.props.id}\n point={point}\n onSizeKnown={this._onSizeKnown}\n >\n <DivWithOutsideClick onOutsideClick={this.props.onCancel}>\n <PositionPopupContent>\n <EditorContainer\n propertyRecord={this.props.record}\n onCommit={this.props.commitHandler.handleCommit}\n onCancel={this.props.onCancel}\n setFocus={true}\n />\n </PositionPopupContent>\n </DivWithOutsideClick>\n </PositionPopup>\n );\n }\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  import * as React from "react";
5
5
  import "./KeyinPalettePanel.scss";
6
6
  import type { OnItemExecutedFunc } from "@itwin/appui-abstract";
7
- import type { KeyinEntry } from "../uiadmin/FrameworkUiAdmin";
7
+ import type { KeyinEntry } from "../keyins/Keyins";
8
8
  /** @internal */
9
9
  export declare function clearKeyinPaletteHistory(): void;
10
10
  interface KeyinPalettePanelProps {
@@ -1 +1 @@
1
- {"version":3,"file":"KeyinPalettePanel.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/KeyinPalettePanel.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,0BAA0B,CAAC;AAelC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAO9D,gBAAgB;AAChB,wBAAgB,wBAAwB,SASvC;AAED,UAAU,sBAAsB;IAC9B,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,eAAe,EACf,aAAa,EAAE,oBAAwB,GACxC,EAAE,sBAAsB,qBAgUxB"}
1
+ {"version":3,"file":"KeyinPalettePanel.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/KeyinPalettePanel.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,0BAA0B,CAAC;AAelC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQnD,gBAAgB;AAChB,wBAAgB,wBAAwB,SASvC;AAED,UAAU,sBAAsB;IAC9B,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,eAAe,EACf,aAAa,EAAE,oBAAwB,GACxC,EAAE,sBAAsB,qBAkUxB"}
@@ -16,6 +16,7 @@ import { ClearKeyinPaletteHistoryTool } from "../tools/KeyinPaletteTools";
16
16
  import { useUiStateStorageHandler } from "../uistate/useUiStateStorage";
17
17
  import { Input } from "@itwin/itwinui-react";
18
18
  import { matchesWords } from "../utils/matchesWords";
19
+ import { useTranslation } from "../hooks/useTranslation";
19
20
  const KEYIN_PALETTE_NAMESPACE = "KeyinPalettePanel";
20
21
  const KEYIN_HISTORY_KEY = "historyArray";
21
22
  /** @internal */
@@ -30,8 +31,8 @@ export function clearKeyinPaletteHistory() {
30
31
  * @internal
31
32
  */
32
33
  export function KeyinPalettePanel({ keyins, onKeyinExecuted, historyLength: allowedHistoryLength = 6, }) {
34
+ const { translate } = useTranslation();
33
35
  const [currentKeyin, setCurrentKeyin] = React.useState("");
34
- const placeholderLabel = React.useRef(UiFramework.translate("keyinbrowser.placeholder"));
35
36
  const inputRef = React.useRef(null);
36
37
  const keyinSeparator = "--#--";
37
38
  const [historyKeyins, setHistoryKeyins] = React.useState([]);
@@ -57,11 +58,10 @@ export function KeyinPalettePanel({ keyins, onKeyinExecuted, historyLength: allo
57
58
  const storeHistoryKeyins = React.useCallback(async (value) => {
58
59
  const result = await uiSettingsStorage.saveSetting(KEYIN_PALETTE_NAMESPACE, KEYIN_HISTORY_KEY, value);
59
60
  if (result.status !== UiStateStorageStatus.Success) {
60
- const briefMessage = UiFramework.translate("keyinbrowser.couldNotSaveHistory");
61
- const errorDetails = new NotifyMessageDetails(OutputMessagePriority.Error, briefMessage);
61
+ const errorDetails = new NotifyMessageDetails(OutputMessagePriority.Error, translate("keyinbrowser.couldNotSaveHistory"));
62
62
  IModelApp.notifications.outputMessage(errorDetails);
63
63
  }
64
- }, [uiSettingsStorage]);
64
+ }, [translate, uiSettingsStorage]);
65
65
  const allKeyins = React.useMemo(() => {
66
66
  const availableKeyins = [];
67
67
  historyKeyins.forEach((value) => {
@@ -76,23 +76,23 @@ export function KeyinPalettePanel({ keyins, onKeyinExecuted, historyLength: allo
76
76
  try {
77
77
  switch (await IModelApp.tools.parseAndRun(value)) {
78
78
  case ParseAndRunResult.ToolNotFound:
79
- message = `UiFramework.translate("keyinbrowser.couldNotFindTool")} ${value}`;
79
+ message = `translate("keyinbrowser.couldNotFindTool")} ${value}`;
80
80
  break;
81
81
  // istanbul ignore next
82
82
  case ParseAndRunResult.BadArgumentCount:
83
- message = UiFramework.translate("keyinbrowser.incorrectArgs");
83
+ message = translate("keyinbrowser.incorrectArgs");
84
84
  break;
85
85
  // istanbul ignore next
86
86
  case ParseAndRunResult.FailedToRun:
87
- message = UiFramework.translate("keyinbrowser.failedToRun");
87
+ message = translate("keyinbrowser.failedToRun");
88
88
  break;
89
89
  }
90
90
  }
91
91
  catch (ex) {
92
92
  // istanbul ignore next
93
93
  {
94
- message = UiFramework.translate("keyinbrowser.exceptionOccurred");
95
- detailedMessage = `${UiFramework.translate("keyinbrowser.exceptionOccurred")}: ${ex}`;
94
+ message = translate("keyinbrowser.exceptionOccurred");
95
+ detailedMessage = `${translate("keyinbrowser.exceptionOccurred")}: ${ex}`;
96
96
  }
97
97
  }
98
98
  // istanbul ignore else
@@ -119,7 +119,13 @@ export function KeyinPalettePanel({ keyins, onKeyinExecuted, historyLength: allo
119
119
  if (onKeyinExecuted)
120
120
  onKeyinExecuted(value);
121
121
  }
122
- }, [storeHistoryKeyins, onKeyinExecuted, historyKeyins, allowedHistoryLength]);
122
+ }, [
123
+ translate,
124
+ onKeyinExecuted,
125
+ storeHistoryKeyins,
126
+ historyKeyins,
127
+ allowedHistoryLength,
128
+ ]);
123
129
  const selectKeyin = React.useCallback(() => {
124
130
  // istanbul ignore else
125
131
  if (inputRef.current) {
@@ -143,6 +149,7 @@ export function KeyinPalettePanel({ keyins, onKeyinExecuted, historyLength: allo
143
149
  return undefined;
144
150
  };
145
151
  const handleKeypressOnKeyinsList = React.useCallback(async (event) => {
152
+ var _a, _b;
146
153
  const key = event.key;
147
154
  // built into listbox a "Space" key will trigger the selection of a entry so if an Enter key is pressed
148
155
  // assume user wants to execute the entry.
@@ -150,7 +157,7 @@ export function KeyinPalettePanel({ keyins, onKeyinExecuted, historyLength: allo
150
157
  if (key === Key.Enter.valueOf()) {
151
158
  event.preventDefault();
152
159
  // istanbul ignore next
153
- const keyinToSend = getKeyinFromListboxValue(event.currentTarget?.dataset?.focusvalue);
160
+ const keyinToSend = getKeyinFromListboxValue((_b = (_a = event.currentTarget) === null || _a === void 0 ? void 0 : _a.dataset) === null || _b === void 0 ? void 0 : _b.focusvalue);
154
161
  // istanbul ignore else
155
162
  if (keyinToSend) {
156
163
  if (event.ctrlKey)
@@ -241,7 +248,7 @@ export function KeyinPalettePanel({ keyins, onKeyinExecuted, historyLength: allo
241
248
  }, [filteredKeyins, submitKeyin, currentKeyin, updateKeyin]);
242
249
  const lastHistoryIndex = filteredKeyins.findIndex((entry) => true !== entry.isHistory) - 1;
243
250
  return (React.createElement("div", { className: "uifw-command-palette-panel" },
244
- React.createElement(Input, { ref: inputRef, type: "text", onKeyDown: onInputValueKeyDown, className: "uifw-command-palette-input", "data-testid": "command-palette-input", onChange: onInputValueChange, placeholder: placeholderLabel.current, value: currentKeyin, size: "small" }),
251
+ React.createElement(Input, { ref: inputRef, type: "text", onKeyDown: onInputValueKeyDown, className: "uifw-command-palette-input", "data-testid": "command-palette-input", onChange: onInputValueChange, placeholder: translate("keyinbrowser.placeholder"), value: currentKeyin, size: "small" }),
245
252
  filteredKeyins.length > 0 && (React.createElement(Listbox, { id: "uifw-command-sources", className: "map-manager-source-list", onKeyDown: handleKeypressOnKeyinsList, onListboxValueChange: onListboxValueChange }, filteredKeyins.map((entry, index) => {
246
253
  const value = `${entry.value}${keyinSeparator}${entry.isHistory ? "history" : "registry"}`;
247
254
  const itemClass = `uifw-command-palette-value-entry${index === lastHistoryIndex ? " uifw-history-bottom-border" : ""}`;
@@ -1 +1 @@
1
- {"version":3,"file":"KeyinPalettePanel.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/KeyinPalettePanel.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\n// cSpell:ignore focusvalue uiadmin\n\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport \"./KeyinPalettePanel.scss\";\nimport {\n FilteredText,\n Listbox,\n ListboxItem,\n UiStateStorageStatus,\n} from \"@itwin/core-react\";\nimport {\n IModelApp,\n NotifyMessageDetails,\n OutputMessagePriority,\n OutputMessageType,\n ParseAndRunResult,\n} from \"@itwin/core-frontend\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { OnItemExecutedFunc } from \"@itwin/appui-abstract\";\nimport { ClearKeyinPaletteHistoryTool } from \"../tools/KeyinPaletteTools\";\nimport { useUiStateStorageHandler } from \"../uistate/useUiStateStorage\";\nimport type { KeyinEntry } from \"../uiadmin/FrameworkUiAdmin\";\nimport { Input } from \"@itwin/itwinui-react\";\nimport { matchesWords } from \"../utils/matchesWords\";\n\nconst KEYIN_PALETTE_NAMESPACE = \"KeyinPalettePanel\";\nconst KEYIN_HISTORY_KEY = \"historyArray\";\n\n/** @internal */\nexport function clearKeyinPaletteHistory() {\n const uiSettingsStorage = UiFramework.getUiStateStorage();\n // istanbul ignore else\n if (uiSettingsStorage) {\n void uiSettingsStorage.deleteSetting(\n KEYIN_PALETTE_NAMESPACE,\n KEYIN_HISTORY_KEY\n );\n }\n}\n\ninterface KeyinPalettePanelProps {\n keyins: KeyinEntry[];\n onKeyinExecuted?: OnItemExecutedFunc;\n historyLength?: number;\n}\n\n/**\n * @internal\n */\nexport function KeyinPalettePanel({\n keyins,\n onKeyinExecuted,\n historyLength: allowedHistoryLength = 6,\n}: KeyinPalettePanelProps) {\n const [currentKeyin, setCurrentKeyin] = React.useState<string>(\"\");\n const placeholderLabel = React.useRef(\n UiFramework.translate(\"keyinbrowser.placeholder\")\n );\n const inputRef = React.useRef<HTMLInputElement>(null);\n const keyinSeparator = \"--#--\";\n const [historyKeyins, setHistoryKeyins] = React.useState<string[]>([]);\n const uiSettingsStorage = useUiStateStorageHandler();\n\n React.useEffect(() => {\n async function fetchState() {\n const settingsResult = await uiSettingsStorage.getSetting(\n KEYIN_PALETTE_NAMESPACE,\n KEYIN_HISTORY_KEY\n );\n // istanbul ignore else\n if (UiStateStorageStatus.Success === settingsResult.status) {\n const filteredHistory = (settingsResult.setting as string[]).filter(\n (keyin) => {\n const result = IModelApp.tools.parseKeyin(keyin);\n return result.ok;\n }\n );\n setHistoryKeyins(filteredHistory);\n } else {\n setHistoryKeyins([]);\n }\n }\n\n void fetchState();\n }, [uiSettingsStorage]);\n\n // istanbul ignore next\n const storeHistoryKeyins = React.useCallback(\n async (value: string[]) => {\n const result = await uiSettingsStorage.saveSetting(\n KEYIN_PALETTE_NAMESPACE,\n KEYIN_HISTORY_KEY,\n value\n );\n if (result.status !== UiStateStorageStatus.Success) {\n const briefMessage = UiFramework.translate(\n \"keyinbrowser.couldNotSaveHistory\"\n );\n const errorDetails = new NotifyMessageDetails(\n OutputMessagePriority.Error,\n briefMessage\n );\n IModelApp.notifications.outputMessage(errorDetails);\n }\n },\n [uiSettingsStorage]\n );\n\n const allKeyins = React.useMemo(() => {\n const availableKeyins = [];\n historyKeyins.forEach((value: string) => {\n availableKeyins.push({ value, isHistory: true });\n });\n availableKeyins.push(\n ...keyins.sort((a, b) =>\n a.value.toLowerCase().localeCompare(b.value.toLowerCase())\n )\n );\n return availableKeyins;\n }, [historyKeyins, keyins]);\n\n const submitKeyin = React.useCallback(\n async (value: string) => {\n let detailedMessage: string | undefined;\n let message: string | undefined;\n try {\n switch (await IModelApp.tools.parseAndRun(value)) {\n case ParseAndRunResult.ToolNotFound:\n message = `UiFramework.translate(\"keyinbrowser.couldNotFindTool\")} ${value}`;\n break;\n // istanbul ignore next\n case ParseAndRunResult.BadArgumentCount:\n message = UiFramework.translate(\"keyinbrowser.incorrectArgs\");\n break;\n // istanbul ignore next\n case ParseAndRunResult.FailedToRun:\n message = UiFramework.translate(\"keyinbrowser.failedToRun\");\n break;\n }\n } catch (ex) {\n // istanbul ignore next\n {\n message = UiFramework.translate(\"keyinbrowser.exceptionOccurred\");\n detailedMessage = `${UiFramework.translate(\n \"keyinbrowser.exceptionOccurred\"\n )}: ${ex}`;\n }\n }\n\n // istanbul ignore else\n if (undefined !== message) {\n const errorDetails = new NotifyMessageDetails(\n OutputMessagePriority.Error,\n message,\n detailedMessage,\n OutputMessageType.Sticky\n );\n IModelApp.notifications.outputMessage(errorDetails);\n } else {\n // istanbul ignore next\n if (\n value.length < 400 &&\n value !== ClearKeyinPaletteHistoryTool.keyin &&\n value !== ClearKeyinPaletteHistoryTool.englishKeyin\n ) {\n const newHistoryEntries: string[] = [value];\n for (const entry of historyKeyins) {\n if (entry !== value) {\n newHistoryEntries.push(entry);\n if (newHistoryEntries.length >= allowedHistoryLength) break;\n }\n }\n await storeHistoryKeyins(newHistoryEntries);\n }\n\n // close the popup by processing the supplied onKeyinExecuted function\n if (onKeyinExecuted) onKeyinExecuted(value);\n }\n },\n [storeHistoryKeyins, onKeyinExecuted, historyKeyins, allowedHistoryLength]\n );\n\n const selectKeyin = React.useCallback(() => {\n // istanbul ignore else\n if (inputRef.current) {\n inputRef.current.focus();\n inputRef.current.setSelectionRange(\n inputRef.current.value.length,\n inputRef.current.value.length\n );\n }\n }, [inputRef]);\n\n const updateKeyin = React.useCallback(\n (value: string) => {\n setCurrentKeyin(value);\n selectKeyin();\n },\n [selectKeyin]\n );\n\n const getKeyinFromListboxValue = (value: string | undefined) => {\n // istanbul ignore else\n if (value) {\n const indexSeparator = value.search(keyinSeparator);\n // istanbul ignore else\n if (indexSeparator) return value.substring(0, indexSeparator);\n }\n // istanbul ignore next\n return undefined;\n };\n\n const handleKeypressOnKeyinsList = React.useCallback(\n async (event: React.KeyboardEvent<HTMLUListElement>) => {\n const key = event.key;\n // built into listbox a \"Space\" key will trigger the selection of a entry so if an Enter key is pressed\n // assume user wants to execute the entry.\n // istanbul ignore else\n if (key === Key.Enter.valueOf()) {\n event.preventDefault();\n // istanbul ignore next\n const keyinToSend = getKeyinFromListboxValue(\n event.currentTarget?.dataset?.focusvalue\n );\n // istanbul ignore else\n if (keyinToSend) {\n if (event.ctrlKey) updateKeyin(keyinToSend);\n else await submitKeyin(keyinToSend);\n }\n }\n },\n [submitKeyin, updateKeyin]\n );\n\n const onListboxValueChange = React.useCallback(\n async (value: string, isControlOrCommandPressed?: boolean) => {\n const keyin = getKeyinFromListboxValue(value);\n // istanbul ignore else\n if (keyin) {\n if (isControlOrCommandPressed) updateKeyin(keyin);\n else await submitKeyin(keyin);\n }\n },\n [submitKeyin, updateKeyin]\n );\n\n const onInputValueChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setCurrentKeyin(event.target.value);\n },\n []\n );\n\n const filteredKeyins = React.useMemo(() => {\n const filteredHistory: KeyinEntry[] = [];\n if (undefined === currentKeyin || 0 === currentKeyin.length) {\n return allKeyins;\n } else {\n const newKeyinSet: KeyinEntry[] = [];\n allKeyins.forEach((value) => {\n if (value.value.length >= currentKeyin.length) {\n // Force contiguous searches if key-in is over 60 characters long for performance.\n const matches = matchesWords(\n currentKeyin,\n value.value,\n currentKeyin.length > 60\n );\n if (matches && matches.length) {\n // istanbul ignore else\n if (value.isHistory) {\n filteredHistory.push(value);\n newKeyinSet.push({ ...value, matches });\n } else {\n // only add entry if no match in filtered history\n // istanbul ignore else\n if (\n -1 ===\n filteredHistory.findIndex(\n (historyEntry: KeyinEntry) =>\n historyEntry.value === value.value\n )\n )\n newKeyinSet.push({ ...value, matches });\n }\n }\n }\n });\n return newKeyinSet;\n }\n }, [allKeyins, currentKeyin]);\n\n const onInputValueKeyDown = React.useCallback(\n async (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (Key.Enter.valueOf() === event.key) {\n event.preventDefault();\n event.stopPropagation();\n // istanbul ignore else\n if (1 === filteredKeyins.length) {\n if (event.ctrlKey) updateKeyin(filteredKeyins[0].value);\n else await submitKeyin(filteredKeyins[0].value);\n } else {\n if (currentKeyin) await submitKeyin(currentKeyin);\n }\n } else if (\n Key.Tab.valueOf() === event.key &&\n 1 === filteredKeyins.length\n ) {\n event.preventDefault();\n event.stopPropagation();\n updateKeyin(filteredKeyins[0].value);\n } else {\n if (\n event.key === Key.ArrowDown.valueOf() &&\n filteredKeyins.length > 0\n ) {\n event.preventDefault();\n event.stopPropagation();\n // istanbul ignore else\n if (inputRef.current) {\n const nextElement = inputRef.current\n .nextElementSibling as HTMLElement;\n nextElement && nextElement.focus();\n }\n }\n }\n },\n [filteredKeyins, submitKeyin, currentKeyin, updateKeyin]\n );\n\n const lastHistoryIndex =\n filteredKeyins.findIndex((entry) => true !== entry.isHistory) - 1;\n\n return (\n <div className=\"uifw-command-palette-panel\">\n <Input\n ref={inputRef}\n type=\"text\"\n onKeyDown={onInputValueKeyDown}\n className={\"uifw-command-palette-input\"}\n data-testid=\"command-palette-input\"\n onChange={onInputValueChange}\n placeholder={placeholderLabel.current}\n value={currentKeyin}\n size=\"small\"\n />\n {filteredKeyins.length > 0 && (\n <Listbox\n id=\"uifw-command-sources\"\n className=\"map-manager-source-list\"\n onKeyDown={handleKeypressOnKeyinsList}\n onListboxValueChange={onListboxValueChange}\n >\n {filteredKeyins.map((entry, index) => {\n const value = `${entry.value}${keyinSeparator}${\n entry.isHistory ? \"history\" : \"registry\"\n }`;\n const itemClass = `uifw-command-palette-value-entry${\n index === lastHistoryIndex ? \" uifw-history-bottom-border\" : \"\"\n }`;\n return (\n <ListboxItem\n key={`${entry.value}-${index}`}\n className={itemClass}\n value={value}\n >\n <FilteredText value={entry.value} matches={entry.matches} />\n </ListboxItem>\n );\n })}\n </Listbox>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"KeyinPalettePanel.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/KeyinPalettePanel.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\n// cSpell:ignore focusvalue uiadmin\n\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport \"./KeyinPalettePanel.scss\";\nimport {\n FilteredText,\n Listbox,\n ListboxItem,\n UiStateStorageStatus,\n} from \"@itwin/core-react\";\nimport {\n IModelApp,\n NotifyMessageDetails,\n OutputMessagePriority,\n OutputMessageType,\n ParseAndRunResult,\n} from \"@itwin/core-frontend\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { OnItemExecutedFunc } from \"@itwin/appui-abstract\";\nimport { ClearKeyinPaletteHistoryTool } from \"../tools/KeyinPaletteTools\";\nimport { useUiStateStorageHandler } from \"../uistate/useUiStateStorage\";\nimport type { KeyinEntry } from \"../keyins/Keyins\";\nimport { Input } from \"@itwin/itwinui-react\";\nimport { matchesWords } from \"../utils/matchesWords\";\nimport { useTranslation } from \"../hooks/useTranslation\";\n\nconst KEYIN_PALETTE_NAMESPACE = \"KeyinPalettePanel\";\nconst KEYIN_HISTORY_KEY = \"historyArray\";\n\n/** @internal */\nexport function clearKeyinPaletteHistory() {\n const uiSettingsStorage = UiFramework.getUiStateStorage();\n // istanbul ignore else\n if (uiSettingsStorage) {\n void uiSettingsStorage.deleteSetting(\n KEYIN_PALETTE_NAMESPACE,\n KEYIN_HISTORY_KEY\n );\n }\n}\n\ninterface KeyinPalettePanelProps {\n keyins: KeyinEntry[];\n onKeyinExecuted?: OnItemExecutedFunc;\n historyLength?: number;\n}\n\n/**\n * @internal\n */\nexport function KeyinPalettePanel({\n keyins,\n onKeyinExecuted,\n historyLength: allowedHistoryLength = 6,\n}: KeyinPalettePanelProps) {\n const { translate } = useTranslation();\n const [currentKeyin, setCurrentKeyin] = React.useState<string>(\"\");\n\n const inputRef = React.useRef<HTMLInputElement>(null);\n const keyinSeparator = \"--#--\";\n const [historyKeyins, setHistoryKeyins] = React.useState<string[]>([]);\n const uiSettingsStorage = useUiStateStorageHandler();\n\n React.useEffect(() => {\n async function fetchState() {\n const settingsResult = await uiSettingsStorage.getSetting(\n KEYIN_PALETTE_NAMESPACE,\n KEYIN_HISTORY_KEY\n );\n // istanbul ignore else\n if (UiStateStorageStatus.Success === settingsResult.status) {\n const filteredHistory = (settingsResult.setting as string[]).filter(\n (keyin) => {\n const result = IModelApp.tools.parseKeyin(keyin);\n return result.ok;\n }\n );\n setHistoryKeyins(filteredHistory);\n } else {\n setHistoryKeyins([]);\n }\n }\n\n void fetchState();\n }, [uiSettingsStorage]);\n\n // istanbul ignore next\n const storeHistoryKeyins = React.useCallback(\n async (value: string[]) => {\n const result = await uiSettingsStorage.saveSetting(\n KEYIN_PALETTE_NAMESPACE,\n KEYIN_HISTORY_KEY,\n value\n );\n if (result.status !== UiStateStorageStatus.Success) {\n const errorDetails = new NotifyMessageDetails(\n OutputMessagePriority.Error,\n translate(\"keyinbrowser.couldNotSaveHistory\")\n );\n IModelApp.notifications.outputMessage(errorDetails);\n }\n },\n [translate, uiSettingsStorage]\n );\n\n const allKeyins = React.useMemo(() => {\n const availableKeyins = [];\n historyKeyins.forEach((value: string) => {\n availableKeyins.push({ value, isHistory: true });\n });\n availableKeyins.push(\n ...keyins.sort((a, b) =>\n a.value.toLowerCase().localeCompare(b.value.toLowerCase())\n )\n );\n return availableKeyins;\n }, [historyKeyins, keyins]);\n\n const submitKeyin = React.useCallback(\n async (value: string) => {\n let detailedMessage: string | undefined;\n let message: string | undefined;\n try {\n switch (await IModelApp.tools.parseAndRun(value)) {\n case ParseAndRunResult.ToolNotFound:\n message = `translate(\"keyinbrowser.couldNotFindTool\")} ${value}`;\n break;\n // istanbul ignore next\n case ParseAndRunResult.BadArgumentCount:\n message = translate(\"keyinbrowser.incorrectArgs\");\n break;\n // istanbul ignore next\n case ParseAndRunResult.FailedToRun:\n message = translate(\"keyinbrowser.failedToRun\");\n break;\n }\n } catch (ex) {\n // istanbul ignore next\n {\n message = translate(\"keyinbrowser.exceptionOccurred\");\n detailedMessage = `${translate(\n \"keyinbrowser.exceptionOccurred\"\n )}: ${ex}`;\n }\n }\n\n // istanbul ignore else\n if (undefined !== message) {\n const errorDetails = new NotifyMessageDetails(\n OutputMessagePriority.Error,\n message,\n detailedMessage,\n OutputMessageType.Sticky\n );\n IModelApp.notifications.outputMessage(errorDetails);\n } else {\n // istanbul ignore next\n if (\n value.length < 400 &&\n value !== ClearKeyinPaletteHistoryTool.keyin &&\n value !== ClearKeyinPaletteHistoryTool.englishKeyin\n ) {\n const newHistoryEntries: string[] = [value];\n for (const entry of historyKeyins) {\n if (entry !== value) {\n newHistoryEntries.push(entry);\n if (newHistoryEntries.length >= allowedHistoryLength) break;\n }\n }\n await storeHistoryKeyins(newHistoryEntries);\n }\n\n // close the popup by processing the supplied onKeyinExecuted function\n if (onKeyinExecuted) onKeyinExecuted(value);\n }\n },\n [\n translate,\n onKeyinExecuted,\n storeHistoryKeyins,\n historyKeyins,\n allowedHistoryLength,\n ]\n );\n\n const selectKeyin = React.useCallback(() => {\n // istanbul ignore else\n if (inputRef.current) {\n inputRef.current.focus();\n inputRef.current.setSelectionRange(\n inputRef.current.value.length,\n inputRef.current.value.length\n );\n }\n }, [inputRef]);\n\n const updateKeyin = React.useCallback(\n (value: string) => {\n setCurrentKeyin(value);\n selectKeyin();\n },\n [selectKeyin]\n );\n\n const getKeyinFromListboxValue = (value: string | undefined) => {\n // istanbul ignore else\n if (value) {\n const indexSeparator = value.search(keyinSeparator);\n // istanbul ignore else\n if (indexSeparator) return value.substring(0, indexSeparator);\n }\n // istanbul ignore next\n return undefined;\n };\n\n const handleKeypressOnKeyinsList = React.useCallback(\n async (event: React.KeyboardEvent<HTMLUListElement>) => {\n const key = event.key;\n // built into listbox a \"Space\" key will trigger the selection of a entry so if an Enter key is pressed\n // assume user wants to execute the entry.\n // istanbul ignore else\n if (key === Key.Enter.valueOf()) {\n event.preventDefault();\n // istanbul ignore next\n const keyinToSend = getKeyinFromListboxValue(\n event.currentTarget?.dataset?.focusvalue\n );\n // istanbul ignore else\n if (keyinToSend) {\n if (event.ctrlKey) updateKeyin(keyinToSend);\n else await submitKeyin(keyinToSend);\n }\n }\n },\n [submitKeyin, updateKeyin]\n );\n\n const onListboxValueChange = React.useCallback(\n async (value: string, isControlOrCommandPressed?: boolean) => {\n const keyin = getKeyinFromListboxValue(value);\n // istanbul ignore else\n if (keyin) {\n if (isControlOrCommandPressed) updateKeyin(keyin);\n else await submitKeyin(keyin);\n }\n },\n [submitKeyin, updateKeyin]\n );\n\n const onInputValueChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setCurrentKeyin(event.target.value);\n },\n []\n );\n\n const filteredKeyins = React.useMemo(() => {\n const filteredHistory: KeyinEntry[] = [];\n if (undefined === currentKeyin || 0 === currentKeyin.length) {\n return allKeyins;\n } else {\n const newKeyinSet: KeyinEntry[] = [];\n allKeyins.forEach((value) => {\n if (value.value.length >= currentKeyin.length) {\n // Force contiguous searches if key-in is over 60 characters long for performance.\n const matches = matchesWords(\n currentKeyin,\n value.value,\n currentKeyin.length > 60\n );\n if (matches && matches.length) {\n // istanbul ignore else\n if (value.isHistory) {\n filteredHistory.push(value);\n newKeyinSet.push({ ...value, matches });\n } else {\n // only add entry if no match in filtered history\n // istanbul ignore else\n if (\n -1 ===\n filteredHistory.findIndex(\n (historyEntry: KeyinEntry) =>\n historyEntry.value === value.value\n )\n )\n newKeyinSet.push({ ...value, matches });\n }\n }\n }\n });\n return newKeyinSet;\n }\n }, [allKeyins, currentKeyin]);\n\n const onInputValueKeyDown = React.useCallback(\n async (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (Key.Enter.valueOf() === event.key) {\n event.preventDefault();\n event.stopPropagation();\n // istanbul ignore else\n if (1 === filteredKeyins.length) {\n if (event.ctrlKey) updateKeyin(filteredKeyins[0].value);\n else await submitKeyin(filteredKeyins[0].value);\n } else {\n if (currentKeyin) await submitKeyin(currentKeyin);\n }\n } else if (\n Key.Tab.valueOf() === event.key &&\n 1 === filteredKeyins.length\n ) {\n event.preventDefault();\n event.stopPropagation();\n updateKeyin(filteredKeyins[0].value);\n } else {\n if (\n event.key === Key.ArrowDown.valueOf() &&\n filteredKeyins.length > 0\n ) {\n event.preventDefault();\n event.stopPropagation();\n // istanbul ignore else\n if (inputRef.current) {\n const nextElement = inputRef.current\n .nextElementSibling as HTMLElement;\n nextElement && nextElement.focus();\n }\n }\n }\n },\n [filteredKeyins, submitKeyin, currentKeyin, updateKeyin]\n );\n\n const lastHistoryIndex =\n filteredKeyins.findIndex((entry) => true !== entry.isHistory) - 1;\n\n return (\n <div className=\"uifw-command-palette-panel\">\n <Input\n ref={inputRef}\n type=\"text\"\n onKeyDown={onInputValueKeyDown}\n className={\"uifw-command-palette-input\"}\n data-testid=\"command-palette-input\"\n onChange={onInputValueChange}\n placeholder={translate(\"keyinbrowser.placeholder\")}\n value={currentKeyin}\n size=\"small\"\n />\n {filteredKeyins.length > 0 && (\n <Listbox\n id=\"uifw-command-sources\"\n className=\"map-manager-source-list\"\n onKeyDown={handleKeypressOnKeyinsList}\n onListboxValueChange={onListboxValueChange}\n >\n {filteredKeyins.map((entry, index) => {\n const value = `${entry.value}${keyinSeparator}${\n entry.isHistory ? \"history\" : \"registry\"\n }`;\n const itemClass = `uifw-command-palette-value-entry${\n index === lastHistoryIndex ? \" uifw-history-bottom-border\" : \"\"\n }`;\n return (\n <ListboxItem\n key={`${entry.value}-${index}`}\n className={itemClass}\n value={value}\n >\n <FilteredText value={entry.value} matches={entry.matches} />\n </ListboxItem>\n );\n })}\n </Listbox>\n )}\n </div>\n );\n}\n"]}
@@ -3,18 +3,20 @@
3
3
  */
4
4
  import * as React from "react";
5
5
  import type { OnCancelFunc, OnItemExecutedFunc } from "@itwin/appui-abstract";
6
- import type { KeyinEntry } from "../uiadmin/FrameworkUiAdmin";
6
+ import type { KeyinEntry } from "../keyins/Keyins";
7
7
  /** Props defining KeyinPalettePopup component
8
8
  * @public */
9
9
  export interface KeyinPalettePopupProps {
10
10
  id: string;
11
+ /** @deprecated in 4.11.x. Please use the optional `anchorEl` property moving forward. */
11
12
  el: HTMLElement;
12
13
  keyins: KeyinEntry[];
14
+ anchorEl?: HTMLElement;
13
15
  onCancel?: OnCancelFunc;
14
16
  onItemExecuted?: OnItemExecutedFunc;
15
17
  }
16
18
  /** Keyin Palette Popup Component
17
19
  * @public
18
20
  */
19
- export declare function KeyinPalettePopup({ el, id, keyins, onCancel, onItemExecuted, }: KeyinPalettePopupProps): React.JSX.Element;
21
+ export declare function KeyinPalettePopup({ el, id, keyins, onCancel, onItemExecuted, anchorEl, }: KeyinPalettePopupProps): React.JSX.Element;
20
22
  //# sourceMappingURL=KeyinPalettePopup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeyinPalettePopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/KeyinPalettePopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAK9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D;aACa;AACb,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,WAAW,CAAC;IAChB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,EAAE,EACF,MAAM,EACN,QAAQ,EACR,cAAc,GACf,EAAE,sBAAsB,qBA+CxB"}
1
+ {"version":3,"file":"KeyinPalettePopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/KeyinPalettePopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAK9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;aACa;AACb,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,yFAAyF;IACzF,EAAE,EAAE,WAAW,CAAC;IAChB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAEhC,EAAE,EACF,EAAE,EACF,MAAM,EACN,QAAQ,EACR,cAAc,EACd,QAAQ,GACT,EAAE,sBAAsB,qBAqDxB"}
@@ -13,7 +13,13 @@ import { KeyinPalettePanel } from "./KeyinPalettePanel";
13
13
  /** Keyin Palette Popup Component
14
14
  * @public
15
15
  */
16
- export function KeyinPalettePopup({ el, id, keyins, onCancel, onItemExecuted, }) {
16
+ export function KeyinPalettePopup({
17
+ // eslint-disable-next-line deprecation/deprecation
18
+ el, id, keyins, onCancel, onItemExecuted, anchorEl, }) {
19
+ // due to deprecation policy, the context won't be used as fallback
20
+ // until we replace `el` with the optional `anchorEl` property.
21
+ // const wrapper = React.useContext(WrapperContext);
22
+ const _el = anchorEl !== null && anchorEl !== void 0 ? anchorEl : el;
17
23
  const [popupSize, setPopupSize] = React.useState(new Size(-1, -1));
18
24
  const onSizeKnown = React.useCallback((newSize) => {
19
25
  // istanbul ignore else
@@ -31,8 +37,8 @@ export function KeyinPalettePopup({ el, id, keyins, onCancel, onItemExecuted, })
31
37
  break;
32
38
  }
33
39
  }, [cancel]);
34
- const xMid = el.getBoundingClientRect().left + el.getBoundingClientRect().width / 2;
35
- let point = new Point(xMid, el.getBoundingClientRect().top);
40
+ const xMid = _el.getBoundingClientRect().left + _el.getBoundingClientRect().width / 2;
41
+ let point = new Point(xMid, _el.getBoundingClientRect().top);
36
42
  // istanbul ignore next
37
43
  if (popupSize.width > 0)
38
44
  point = point.offsetX(popupSize.width / -2);
@@ -1 +1 @@
1
- {"version":3,"file":"KeyinPalettePopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/KeyinPalettePopup.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAaxD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,EAAE,EACF,EAAE,EACF,MAAM,EACN,QAAQ,EACR,cAAc,GACS;IACvB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnE,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,OAAkB,EAAE,EAAE;QACrB,uBAAuB;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpC,QAAQ,IAAI,QAAQ,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,KAA0C,EAAQ,EAAE;QACnD,QAAQ,KAAK,CAAC,GAAG,EAAE;YACjB,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;gBACvB,MAAM,EAAE,CAAC;gBACT,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;SACT;IACH,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,IAAI,GACR,EAAE,CAAC,qBAAqB,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;IACzE,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5D,uBAAuB;IACvB,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC;QAAE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAErE,OAAO,CACL,oBAAC,aAAa,IACZ,GAAG,EAAE,EAAE,EACP,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW;QAExB,oBAAC,mBAAmB,IAAC,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa;YACrE,oBAAC,SAAS,IAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI;gBACpD,oBAAC,iBAAiB,IAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,GAAI,CAC5D,CACQ,CACR,CACjB,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Popup\n */\n\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport type { OnCancelFunc, OnItemExecutedFunc } from \"@itwin/appui-abstract\";\nimport type { SizeProps } from \"@itwin/core-react\";\nimport { DivWithOutsideClick, FocusTrap, Point, Size } from \"@itwin/core-react\";\nimport { PositionPopup } from \"./PositionPopup\";\nimport { KeyinPalettePanel } from \"./KeyinPalettePanel\";\nimport type { KeyinEntry } from \"../uiadmin/FrameworkUiAdmin\";\n\n/** Props defining KeyinPalettePopup component\n * @public */\nexport interface KeyinPalettePopupProps {\n id: string;\n el: HTMLElement;\n keyins: KeyinEntry[];\n onCancel?: OnCancelFunc;\n onItemExecuted?: OnItemExecutedFunc;\n}\n\n/** Keyin Palette Popup Component\n * @public\n */\nexport function KeyinPalettePopup({\n el,\n id,\n keyins,\n onCancel,\n onItemExecuted,\n}: KeyinPalettePopupProps) {\n const [popupSize, setPopupSize] = React.useState(new Size(-1, -1));\n\n const onSizeKnown = React.useCallback(\n (newSize: SizeProps) => {\n // istanbul ignore else\n if (!popupSize.equals(newSize)) setPopupSize(Size.create(newSize));\n },\n [popupSize]\n );\n\n const cancel = React.useCallback(() => {\n onCancel && onCancel();\n }, [onCancel]);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>): void => {\n switch (event.key) {\n case Key.Escape.valueOf():\n cancel();\n event.preventDefault();\n break;\n }\n },\n [cancel]\n );\n\n const xMid =\n el.getBoundingClientRect().left + el.getBoundingClientRect().width / 2;\n let point = new Point(xMid, el.getBoundingClientRect().top);\n // istanbul ignore next\n if (popupSize.width > 0) point = point.offsetX(popupSize.width / -2);\n\n return (\n <PositionPopup\n key={id}\n className=\"uifw-command-palette-popup-container\"\n point={point}\n onSizeKnown={onSizeKnown}\n >\n <DivWithOutsideClick onOutsideClick={onCancel} onKeyDown={handleKeyDown}>\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\n <KeyinPalettePanel keyins={keyins} onKeyinExecuted={onItemExecuted} />\n </FocusTrap>\n </DivWithOutsideClick>\n </PositionPopup>\n );\n}\n"]}
1
+ {"version":3,"file":"KeyinPalettePopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/KeyinPalettePopup.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAexD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC;AAChC,mDAAmD;AACnD,EAAE,EACF,EAAE,EACF,MAAM,EACN,QAAQ,EACR,cAAc,EACd,QAAQ,GACe;IACvB,mEAAmE;IACnE,+DAA+D;IAC/D,oDAAoD;IAEpD,MAAM,GAAG,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC;IAE3B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnE,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,OAAkB,EAAE,EAAE;QACrB,uBAAuB;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpC,QAAQ,IAAI,QAAQ,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,KAA0C,EAAQ,EAAE;QACnD,QAAQ,KAAK,CAAC,GAAG,EAAE;YACjB,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;gBACvB,MAAM,EAAE,CAAC;gBACT,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;SACT;IACH,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,IAAI,GACR,GAAG,CAAC,qBAAqB,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;IAC3E,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC;IAC7D,uBAAuB;IACvB,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC;QAAE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAErE,OAAO,CACL,oBAAC,aAAa,IACZ,GAAG,EAAE,EAAE,EACP,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW;QAExB,oBAAC,mBAAmB,IAAC,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa;YACrE,oBAAC,SAAS,IAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI;gBACpD,oBAAC,iBAAiB,IAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,GAAI,CAC5D,CACQ,CACR,CACjB,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Popup\n */\n\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport type { OnCancelFunc, OnItemExecutedFunc } from \"@itwin/appui-abstract\";\nimport type { SizeProps } from \"@itwin/core-react\";\nimport { DivWithOutsideClick, FocusTrap, Point, Size } from \"@itwin/core-react\";\nimport { PositionPopup } from \"./PositionPopup\";\nimport { KeyinPalettePanel } from \"./KeyinPalettePanel\";\nimport type { KeyinEntry } from \"../keyins/Keyins\";\n\n/** Props defining KeyinPalettePopup component\n * @public */\nexport interface KeyinPalettePopupProps {\n id: string;\n /** @deprecated in 4.11.x. Please use the optional `anchorEl` property moving forward. */\n el: HTMLElement;\n keyins: KeyinEntry[];\n anchorEl?: HTMLElement;\n onCancel?: OnCancelFunc;\n onItemExecuted?: OnItemExecutedFunc;\n}\n\n/** Keyin Palette Popup Component\n * @public\n */\nexport function KeyinPalettePopup({\n // eslint-disable-next-line deprecation/deprecation\n el,\n id,\n keyins,\n onCancel,\n onItemExecuted,\n anchorEl,\n}: KeyinPalettePopupProps) {\n // due to deprecation policy, the context won't be used as fallback\n // until we replace `el` with the optional `anchorEl` property.\n // const wrapper = React.useContext(WrapperContext);\n\n const _el = anchorEl ?? el;\n\n const [popupSize, setPopupSize] = React.useState(new Size(-1, -1));\n\n const onSizeKnown = React.useCallback(\n (newSize: SizeProps) => {\n // istanbul ignore else\n if (!popupSize.equals(newSize)) setPopupSize(Size.create(newSize));\n },\n [popupSize]\n );\n\n const cancel = React.useCallback(() => {\n onCancel && onCancel();\n }, [onCancel]);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>): void => {\n switch (event.key) {\n case Key.Escape.valueOf():\n cancel();\n event.preventDefault();\n break;\n }\n },\n [cancel]\n );\n\n const xMid =\n _el.getBoundingClientRect().left + _el.getBoundingClientRect().width / 2;\n let point = new Point(xMid, _el.getBoundingClientRect().top);\n // istanbul ignore next\n if (popupSize.width > 0) point = point.offsetX(popupSize.width / -2);\n\n return (\n <PositionPopup\n key={id}\n className=\"uifw-command-palette-popup-container\"\n point={point}\n onSizeKnown={onSizeKnown}\n >\n <DivWithOutsideClick onOutsideClick={onCancel} onKeyDown={handleKeyDown}>\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\n <KeyinPalettePanel keyins={keyins} onKeyinExecuted={onItemExecuted} />\n </FocusTrap>\n </DivWithOutsideClick>\n </PositionPopup>\n );\n}\n"]}