@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
@@ -12,10 +12,11 @@ import { Orientation } from "@itwin/core-react";
12
12
  import { UiFramework } from "../UiFramework";
13
13
  import { ModelessDialog } from "../dialog/ModelessDialog";
14
14
  import { AccuDrawFieldContainer } from "./AccuDrawFieldContainer";
15
+ import { useTranslation } from "../hooks/useTranslation";
15
16
  /** Dialog displays [[AccuDrawFieldContainer]] for AccuDraw Ui
16
17
  * @beta */
17
18
  export function AccuDrawDialog(props) {
18
- const title = React.useRef(UiFramework.translate("accuDraw.dialogTitle"));
19
+ const { translate } = useTranslation();
19
20
  const [opened, setOpened] = React.useState(props.opened);
20
21
  const closeDialog = React.useCallback(() => {
21
22
  setOpened(false);
@@ -30,7 +31,7 @@ export function AccuDrawDialog(props) {
30
31
  const classNames = classnames("uifw-accudraw-dialog", props.className);
31
32
  const orientation = props.orientation !== undefined ? props.orientation : Orientation.Vertical;
32
33
  const dialogWidth = orientation === Orientation.Horizontal ? 500 : 250;
33
- return (React.createElement(ModelessDialog, { className: classNames, style: props.style, title: title.current, opened: opened, dialogId: props.dialogId, width: dialogWidth, minHeight: 75, inset: false, movable: true, onClose: handleClose, onEscape: handleEscape },
34
+ return (React.createElement(ModelessDialog, { className: classNames, style: props.style, title: translate("accuDraw.dialogTitle"), opened: opened, dialogId: props.dialogId, width: dialogWidth, minHeight: 75, inset: false, movable: true, onClose: handleClose, onEscape: handleEscape },
34
35
  React.createElement(AccuDrawFieldContainer, { orientation: orientation })));
35
36
  }
36
37
  //# sourceMappingURL=AccuDrawDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccuDrawDialog.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawDialog.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAelE;WACW;AACX,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAC1E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEzD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,WAAW,EAAE,CAAC;IAChB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC1C,WAAW,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,UAAU,CAAC,sBAAsB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvE,MAAM,WAAW,GACf,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;IAC7E,MAAM,WAAW,GAAG,WAAW,KAAK,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAEvE,OAAO,CACL,oBAAC,cAAc,IACb,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,OAAO,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,EAAE,EACb,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,YAAY;QAEtB,oBAAC,sBAAsB,IAAC,WAAW,EAAE,WAAW,GAAI,CACrC,CAClB,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 AccuDraw\n */\n\nimport \"./AccuDrawDialog.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Orientation } from \"@itwin/core-react\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ModelessDialog } from \"../dialog/ModelessDialog\";\nimport { AccuDrawFieldContainer } from \"./AccuDrawFieldContainer\";\n\n/** Properties for [[AccuDrawDialog]]\n * @beta */\nexport interface AccuDrawDialogProps extends CommonProps {\n /** Indicates whether the dialog is open */\n opened: boolean;\n /** Unique id for the dialog */\n dialogId: string;\n /** Orientation of the fields */\n orientation?: Orientation;\n /** Callback for when the dialog closes */\n onClose?: () => void;\n}\n\n/** Dialog displays [[AccuDrawFieldContainer]] for AccuDraw Ui\n * @beta */\nexport function AccuDrawDialog(props: AccuDrawDialogProps) {\n const title = React.useRef(UiFramework.translate(\"accuDraw.dialogTitle\"));\n const [opened, setOpened] = React.useState(props.opened);\n\n const closeDialog = React.useCallback(() => {\n setOpened(false);\n props.onClose && props.onClose();\n }, [props]);\n\n const handleClose = React.useCallback(() => {\n closeDialog();\n }, [closeDialog]);\n\n const handleEscape = React.useCallback(() => {\n UiFramework.keyboardShortcuts.setFocusToHome();\n }, []);\n\n const classNames = classnames(\"uifw-accudraw-dialog\", props.className);\n const orientation =\n props.orientation !== undefined ? props.orientation : Orientation.Vertical;\n const dialogWidth = orientation === Orientation.Horizontal ? 500 : 250;\n\n return (\n <ModelessDialog\n className={classNames}\n style={props.style}\n title={title.current}\n opened={opened}\n dialogId={props.dialogId}\n width={dialogWidth}\n minHeight={75}\n inset={false}\n movable={true}\n onClose={handleClose}\n onEscape={handleEscape}\n >\n <AccuDrawFieldContainer orientation={orientation} />\n </ModelessDialog>\n );\n}\n"]}
1
+ {"version":3,"file":"AccuDrawDialog.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawDialog.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAezD;WACW;AACX,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IACvC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEzD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,WAAW,EAAE,CAAC;IAChB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC1C,WAAW,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,UAAU,CAAC,sBAAsB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvE,MAAM,WAAW,GACf,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;IAC7E,MAAM,WAAW,GAAG,WAAW,KAAK,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAEvE,OAAO,CACL,oBAAC,cAAc,IACb,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,SAAS,CAAC,sBAAsB,CAAC,EACxC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,EAAE,EACb,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,YAAY;QAEtB,oBAAC,sBAAsB,IAAC,WAAW,EAAE,WAAW,GAAI,CACrC,CAClB,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 AccuDraw\n */\n\nimport \"./AccuDrawDialog.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Orientation } from \"@itwin/core-react\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ModelessDialog } from \"../dialog/ModelessDialog\";\nimport { AccuDrawFieldContainer } from \"./AccuDrawFieldContainer\";\nimport { useTranslation } from \"../hooks/useTranslation\";\n\n/** Properties for [[AccuDrawDialog]]\n * @beta */\nexport interface AccuDrawDialogProps extends CommonProps {\n /** Indicates whether the dialog is open */\n opened: boolean;\n /** Unique id for the dialog */\n dialogId: string;\n /** Orientation of the fields */\n orientation?: Orientation;\n /** Callback for when the dialog closes */\n onClose?: () => void;\n}\n\n/** Dialog displays [[AccuDrawFieldContainer]] for AccuDraw Ui\n * @beta */\nexport function AccuDrawDialog(props: AccuDrawDialogProps) {\n const { translate } = useTranslation();\n const [opened, setOpened] = React.useState(props.opened);\n\n const closeDialog = React.useCallback(() => {\n setOpened(false);\n props.onClose && props.onClose();\n }, [props]);\n\n const handleClose = React.useCallback(() => {\n closeDialog();\n }, [closeDialog]);\n\n const handleEscape = React.useCallback(() => {\n UiFramework.keyboardShortcuts.setFocusToHome();\n }, []);\n\n const classNames = classnames(\"uifw-accudraw-dialog\", props.className);\n const orientation =\n props.orientation !== undefined ? props.orientation : Orientation.Vertical;\n const dialogWidth = orientation === Orientation.Horizontal ? 500 : 250;\n\n return (\n <ModelessDialog\n className={classNames}\n style={props.style}\n title={translate(\"accuDraw.dialogTitle\")}\n opened={opened}\n dialogId={props.dialogId}\n width={dialogWidth}\n minHeight={75}\n inset={false}\n movable={true}\n onClose={handleClose}\n onEscape={handleEscape}\n >\n <AccuDrawFieldContainer orientation={orientation} />\n </ModelessDialog>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AccuDrawFieldContainer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawFieldContainer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,+BAA+B,CAAC;AAEvC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,WAAW,EAAY,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAUhD;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,WAAW;IAC9D,gCAAgC;IAChC,WAAW,EAAE,WAAW,CAAC;IACzB,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC,gBAAgB;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAcD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,qBAoaxE"}
1
+ {"version":3,"file":"AccuDrawFieldContainer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawFieldContainer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,+BAA+B,CAAC;AAEvC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,WAAW,EAAY,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAUhD;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,WAAW;IAC9D,gCAAgC;IAChC,WAAW,EAAE,WAAW,CAAC;IACzB,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC,gBAAgB;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAcD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,qBAibxE"}
@@ -58,27 +58,52 @@ export function AccuDrawFieldContainer(props) {
58
58
  const [zStyle, setZStyle] = React.useState(undefined);
59
59
  const [angleStyle, setAngleStyle] = React.useState(undefined);
60
60
  const [distanceStyle, setDistanceStyle] = React.useState(undefined);
61
- const getInputRef = (field) => {
62
- let inputRef;
61
+ const getFieldInput = (field) => {
63
62
  switch (field) {
64
63
  case ItemField.X_Item:
65
- inputRef = xInputRef;
66
- break;
64
+ return getCurrent(xInputRef);
67
65
  case ItemField.Y_Item:
68
- inputRef = yInputRef;
69
- break;
66
+ return getCurrent(yInputRef);
70
67
  case ItemField.Z_Item:
71
- inputRef = zInputRef;
72
- break;
68
+ return getCurrent(zInputRef);
73
69
  case ItemField.ANGLE_Item:
74
- inputRef = angleInputRef;
75
- break;
70
+ return getCurrent(angleInputRef);
76
71
  case ItemField.DIST_Item:
77
- inputRef = distanceInputRef;
78
- break;
72
+ return getCurrent(distanceInputRef);
79
73
  }
80
- return inputRef;
81
74
  };
75
+ const getInputToFocus = React.useCallback((field) => {
76
+ const fieldInput = field === undefined ? undefined : getFieldInput(field);
77
+ if (fieldInput) {
78
+ if (document.activeElement === fieldInput)
79
+ return undefined;
80
+ return fieldInput;
81
+ }
82
+ const focusedInput = [
83
+ xInputRef,
84
+ yInputRef,
85
+ zInputRef,
86
+ angleInputRef,
87
+ distanceInputRef,
88
+ ].find((inputRef) => document.activeElement === inputRef.current);
89
+ // One of AccuDraw input fields is focused already.
90
+ if (focusedInput)
91
+ return undefined;
92
+ // Focus one of fallback fields.
93
+ let fallbackInput = getFieldInput(ItemField.DIST_Item);
94
+ if (fallbackInput)
95
+ return fallbackInput;
96
+ fallbackInput = getFieldInput(ItemField.X_Item);
97
+ return fallbackInput;
98
+ }, []);
99
+ // Moves focus to `field` input if not focused OR fallbacks to default field if none of accudraw fields are focused.
100
+ const setFocusToField = React.useCallback((field) => {
101
+ const input = getInputToFocus(field);
102
+ if (!input)
103
+ return;
104
+ input.focus();
105
+ input.select();
106
+ }, [getInputToFocus]);
82
107
  React.useEffect(() => {
83
108
  return FrameworkAccuDraw.onAccuDrawSetFieldLockEvent.addListener((args) => {
84
109
  switch (args.field) {
@@ -100,14 +125,6 @@ export function AccuDrawFieldContainer(props) {
100
125
  }
101
126
  });
102
127
  }, []);
103
- const setFocusToField = React.useCallback((field) => {
104
- const inputRef = getInputRef(field);
105
- // istanbul ignore else
106
- if (inputRef.current && document.activeElement !== inputRef.current) {
107
- inputRef.current.focus();
108
- inputRef.current.select();
109
- }
110
- }, []);
111
128
  React.useEffect(() => {
112
129
  return FrameworkAccuDraw.onAccuDrawSetFieldFocusEvent.addListener((args) => {
113
130
  focusField.current = args.field;
@@ -116,8 +133,7 @@ export function AccuDrawFieldContainer(props) {
116
133
  }, [setFocusToField]);
117
134
  React.useEffect(() => {
118
135
  return FrameworkAccuDraw.onAccuDrawGrabInputFocusEvent.addListener(() => {
119
- if (focusField.current)
120
- setFocusToField(focusField.current);
136
+ setFocusToField(focusField.current);
121
137
  });
122
138
  }, [setFocusToField]);
123
139
  React.useEffect(() => {
@@ -133,11 +149,9 @@ export function AccuDrawFieldContainer(props) {
133
149
  }, []);
134
150
  React.useEffect(() => {
135
151
  setShowZ(showZOverride || determineShowZ(IModelApp.viewManager.selectedView));
136
- // istanbul ignore next
137
- const handleSelectedViewportChanged = (args) => {
152
+ return IModelApp.viewManager.onSelectedViewportChanged.addListener((args) => {
138
153
  setShowZ(determineShowZ(args.current));
139
- };
140
- return IModelApp.viewManager.onSelectedViewportChanged.addListener(handleSelectedViewportChanged);
154
+ });
141
155
  }, [showZOverride]);
142
156
  React.useEffect(() => {
143
157
  const createFieldStyle = (inStyle, backgroundColor, foregroundColor) => {
@@ -205,11 +219,9 @@ export function AccuDrawFieldContainer(props) {
205
219
  };
206
220
  if (FrameworkAccuDraw.uiStateStorage)
207
221
  processAccuDrawUiSettings(FrameworkAccuDraw.uiStateStorage);
208
- // istanbul ignore next
209
- const handleAccuDrawUiSettingsChanged = () => {
222
+ return FrameworkAccuDraw.onAccuDrawUiSettingsChangedEvent.addListener(() => {
210
223
  processAccuDrawUiSettings(FrameworkAccuDraw.uiStateStorage);
211
- };
212
- return FrameworkAccuDraw.onAccuDrawUiSettingsChangedEvent.addListener(handleAccuDrawUiSettingsChanged);
224
+ });
213
225
  }, []);
214
226
  const classNames = classnames("uifw-accudraw-field-container", orientation === Orientation.Vertical ? "uifw-vertical" : "uifw-horizontal", className);
215
227
  const delay = 250;
@@ -225,7 +237,12 @@ export function AccuDrawFieldContainer(props) {
225
237
  React.createElement(AccuDrawInputField, { ref: yInputRef, isLocked: yLock, className: "uifw-accudraw-y-value", style: yStyle, field: ItemField.Y_Item, id: `uifw-accudraw-y-${containerIndex}`, "data-testid": "uifw-accudraw-y", label: yLabel, iconSpec: yIcon, labelCentered: labelCentered, valueChangedDelay: delay, onValueChanged: (stringValue) => handleValueChanged(ItemField.Y_Item, stringValue), onEscPressed: handleEscPressed }),
226
238
  showZ && (React.createElement(AccuDrawInputField, { ref: zInputRef, isLocked: zLock, className: "uifw-accudraw-z-value", style: zStyle, field: ItemField.Z_Item, id: `uifw-accudraw-z-${containerIndex}`, "data-testid": "uifw-accudraw-z", label: zLabel, iconSpec: zIcon, labelCentered: labelCentered, valueChangedDelay: delay, onValueChanged: (stringValue) => handleValueChanged(ItemField.Z_Item, stringValue), onEscPressed: handleEscPressed })))),
227
239
  mode === CompassMode.Polar && (React.createElement(React.Fragment, null,
228
- React.createElement(AccuDrawInputField, { ref: angleInputRef, isLocked: angleLock, className: "uifw-accudraw-angle-value", style: angleStyle, field: ItemField.ANGLE_Item, id: `uifw-accudraw-angle-${containerIndex}`, "data-testid": "uifw-accudraw-angle", label: angleLabel, iconSpec: angleIcon, valueChangedDelay: delay, onValueChanged: (stringValue) => handleValueChanged(ItemField.ANGLE_Item, stringValue), onEscPressed: handleEscPressed }),
229
- React.createElement(AccuDrawInputField, { ref: distanceInputRef, isLocked: distanceLock, className: "uifw-accudraw-distance-value", style: distanceStyle, field: ItemField.DIST_Item, id: `uifw-accudraw-distance-${containerIndex}`, "data-testid": "uifw-accudraw-distance", label: distanceLabel, iconSpec: distanceIcon, valueChangedDelay: delay, onValueChanged: (stringValue) => handleValueChanged(ItemField.DIST_Item, stringValue), onEscPressed: handleEscPressed })))));
240
+ React.createElement(AccuDrawInputField, { ref: distanceInputRef, isLocked: distanceLock, className: "uifw-accudraw-distance-value", style: distanceStyle, field: ItemField.DIST_Item, id: `uifw-accudraw-distance-${containerIndex}`, "data-testid": "uifw-accudraw-distance", label: distanceLabel, iconSpec: distanceIcon, valueChangedDelay: delay, onValueChanged: (stringValue) => handleValueChanged(ItemField.DIST_Item, stringValue), onEscPressed: handleEscPressed }),
241
+ React.createElement(AccuDrawInputField, { ref: angleInputRef, isLocked: angleLock, className: "uifw-accudraw-angle-value", style: angleStyle, field: ItemField.ANGLE_Item, id: `uifw-accudraw-angle-${containerIndex}`, "data-testid": "uifw-accudraw-angle", label: angleLabel, iconSpec: angleIcon, valueChangedDelay: delay, onValueChanged: (stringValue) => handleValueChanged(ItemField.ANGLE_Item, stringValue), onEscPressed: handleEscPressed })))));
242
+ }
243
+ function getCurrent(ref) {
244
+ if (ref.current === null)
245
+ return undefined;
246
+ return ref.current;
230
247
  }
231
248
  //# sourceMappingURL=AccuDrawFieldContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccuDrawFieldContainer.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawFieldContainer.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 AccuDraw\n */\n\nimport \"./AccuDrawFieldContainer.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { ColorDef } from \"@itwin/core-common\";\nimport type {\n ScreenViewport,\n SelectedViewportChangedArgs,\n} from \"@itwin/core-frontend\";\nimport { CompassMode, IModelApp, ItemField } from \"@itwin/core-frontend\";\nimport type { CommonProps, IconSpec, UiStateStorage } from \"@itwin/core-react\";\nimport { Orientation } from \"@itwin/core-react\";\nimport { getCSSColorFromDef } from \"@itwin/imodel-components-react\";\n\nimport { AccuDrawInputField } from \"./AccuDrawInputField\";\nimport { FrameworkAccuDraw } from \"./FrameworkAccuDraw\";\nimport type { AccuDrawUiSettings } from \"./AccuDrawUiSettings\";\nimport angleIconSvg from \"./angle.svg\";\nimport distanceIconSvg from \"./distance.svg\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** Properties for [[AccuDrawFieldContainer]] component\n * @beta\n */\nexport interface AccuDrawFieldContainerProps extends CommonProps {\n /** Orientation of the fields */\n orientation: Orientation;\n /** Optional parameter for persistent UI settings. Defaults to LocalStateStorage. */\n uiSettingsStorage?: UiStateStorage;\n /** @internal */\n showZOverride?: boolean;\n}\n\nlet AccuDrawContainerIndex = 0;\n\nfunction determineShowZ(vp?: ScreenViewport): boolean {\n const showZ =\n vp !== undefined ? /* istanbul ignore next */ vp.view.is3d() : false;\n return showZ;\n}\n\nconst defaultXLabel = \"X\";\nconst defaultYLabel = \"Y\";\nconst defaultZLabel = \"Z\";\n\n/** AccuDraw Ui Field Container displays [[AccuDrawInputField]] for each field\n * @beta\n */\nexport function AccuDrawFieldContainer(props: AccuDrawFieldContainerProps) {\n const {\n className,\n style,\n orientation,\n uiSettingsStorage,\n showZOverride,\n ...otherProps\n } = props;\n\n const [containerIndex] = React.useState(() => ++AccuDrawContainerIndex);\n const xInputRef = React.useRef<HTMLInputElement>(null);\n const yInputRef = React.useRef<HTMLInputElement>(null);\n const zInputRef = React.useRef<HTMLInputElement>(null);\n const angleInputRef = React.useRef<HTMLInputElement>(null);\n const distanceInputRef = React.useRef<HTMLInputElement>(null);\n const focusField = React.useRef<ItemField | undefined>(undefined);\n const [mode, setMode] = React.useState(() => IModelApp.accuDraw.compassMode);\n const [xLock, setXLock] = React.useState(() =>\n IModelApp.accuDraw.getFieldLock(ItemField.X_Item)\n );\n const [yLock, setYLock] = React.useState(() =>\n IModelApp.accuDraw.getFieldLock(ItemField.Y_Item)\n );\n const [zLock, setZLock] = React.useState(() =>\n IModelApp.accuDraw.getFieldLock(ItemField.Z_Item)\n );\n const [angleLock, setAngleLock] = React.useState(() =>\n IModelApp.accuDraw.getFieldLock(ItemField.ANGLE_Item)\n );\n const [distanceLock, setDistanceLock] = React.useState(() =>\n IModelApp.accuDraw.getFieldLock(ItemField.DIST_Item)\n );\n const [showZ, setShowZ] = React.useState(true);\n const [xLabel, setXLabel] = React.useState<string | undefined>(defaultXLabel);\n const [yLabel, setYLabel] = React.useState<string | undefined>(defaultYLabel);\n const [zLabel, setZLabel] = React.useState<string | undefined>(defaultZLabel);\n const [angleLabel, setAngleLabel] = React.useState<string | undefined>(\n undefined\n );\n const [distanceLabel, setDistanceLabel] = React.useState<string | undefined>(\n undefined\n );\n const [xIcon, setXIcon] = React.useState<IconSpec | undefined>(undefined);\n const [yIcon, setYIcon] = React.useState<IconSpec | undefined>(undefined);\n const [zIcon, setZIcon] = React.useState<IconSpec | undefined>(undefined);\n const [angleIcon, setAngleIcon] = React.useState<IconSpec | undefined>(\n angleIconSvg\n );\n const [distanceIcon, setDistanceIcon] = React.useState<IconSpec | undefined>(\n distanceIconSvg\n );\n const [xStyle, setXStyle] = React.useState<React.CSSProperties | undefined>(\n undefined\n );\n const [yStyle, setYStyle] = React.useState<React.CSSProperties | undefined>(\n undefined\n );\n const [zStyle, setZStyle] = React.useState<React.CSSProperties | undefined>(\n undefined\n );\n const [angleStyle, setAngleStyle] = React.useState<\n React.CSSProperties | undefined\n >(undefined);\n const [distanceStyle, setDistanceStyle] = React.useState<\n React.CSSProperties | undefined\n >(undefined);\n\n const getInputRef = (field: ItemField): React.RefObject<HTMLInputElement> => {\n let inputRef: React.RefObject<HTMLInputElement>;\n switch (field) {\n case ItemField.X_Item:\n inputRef = xInputRef;\n break;\n case ItemField.Y_Item:\n inputRef = yInputRef;\n break;\n case ItemField.Z_Item:\n inputRef = zInputRef;\n break;\n case ItemField.ANGLE_Item:\n inputRef = angleInputRef;\n break;\n case ItemField.DIST_Item:\n inputRef = distanceInputRef;\n break;\n }\n return inputRef;\n };\n\n React.useEffect(() => {\n return FrameworkAccuDraw.onAccuDrawSetFieldLockEvent.addListener((args) => {\n switch (args.field) {\n case ItemField.X_Item:\n setXLock(args.lock);\n break;\n case ItemField.Y_Item:\n setYLock(args.lock);\n break;\n case ItemField.Z_Item:\n setZLock(args.lock);\n break;\n case ItemField.ANGLE_Item:\n setAngleLock(args.lock);\n break;\n case ItemField.DIST_Item:\n setDistanceLock(args.lock);\n break;\n }\n });\n }, []);\n\n const setFocusToField = React.useCallback((field: ItemField) => {\n const inputRef = getInputRef(field);\n\n // istanbul ignore else\n if (inputRef.current && document.activeElement !== inputRef.current) {\n inputRef.current.focus();\n inputRef.current.select();\n }\n }, []);\n\n React.useEffect(() => {\n return FrameworkAccuDraw.onAccuDrawSetFieldFocusEvent.addListener(\n (args) => {\n focusField.current = args.field;\n setFocusToField(focusField.current);\n }\n );\n }, [setFocusToField]);\n\n React.useEffect(() => {\n return FrameworkAccuDraw.onAccuDrawGrabInputFocusEvent.addListener(() => {\n if (focusField.current) setFocusToField(focusField.current);\n });\n }, [setFocusToField]);\n\n React.useEffect(() => {\n return FrameworkAccuDraw.onAccuDrawSetCompassModeEvent.addListener(\n (args) => {\n setMode(args.mode);\n }\n );\n }, []);\n\n const handleValueChanged = React.useCallback(\n (field: ItemField, stringValue: string) => {\n FrameworkAccuDraw.setFieldValueFromUi(field, stringValue);\n },\n []\n );\n\n const handleEscPressed = React.useCallback(() => {\n UiFramework.keyboardShortcuts.setFocusToHome();\n }, []);\n\n React.useEffect(() => {\n setShowZ(\n showZOverride || determineShowZ(IModelApp.viewManager.selectedView)\n );\n\n // istanbul ignore next\n const handleSelectedViewportChanged = (\n args: SelectedViewportChangedArgs\n ) => {\n setShowZ(determineShowZ(args.current));\n };\n\n return IModelApp.viewManager.onSelectedViewportChanged.addListener(\n handleSelectedViewportChanged\n );\n }, [showZOverride]);\n\n React.useEffect(() => {\n const createFieldStyle = (\n inStyle: React.CSSProperties | undefined,\n backgroundColor: ColorDef | string | undefined,\n foregroundColor: ColorDef | string | undefined\n ): React.CSSProperties | undefined => {\n let fieldStyle: React.CSSProperties | undefined;\n let rgbaString = \"\";\n if (inStyle || backgroundColor || foregroundColor) {\n fieldStyle = inStyle ? inStyle : {};\n if (backgroundColor) {\n rgbaString =\n typeof backgroundColor === \"string\"\n ? backgroundColor\n : getCSSColorFromDef(backgroundColor);\n fieldStyle = { ...fieldStyle, backgroundColor: rgbaString };\n }\n if (foregroundColor) {\n rgbaString =\n typeof foregroundColor === \"string\"\n ? foregroundColor\n : getCSSColorFromDef(foregroundColor);\n fieldStyle = { ...fieldStyle, color: rgbaString };\n }\n }\n return fieldStyle;\n };\n\n const processAccuDrawUiSettings = (settings?: AccuDrawUiSettings) => {\n setXStyle(\n settings\n ? createFieldStyle(\n settings.xStyle,\n settings.xBackgroundColor,\n settings.xForegroundColor\n )\n : undefined\n );\n setYStyle(\n settings\n ? createFieldStyle(\n settings.yStyle,\n settings.yBackgroundColor,\n settings.yForegroundColor\n )\n : undefined\n );\n setZStyle(\n settings\n ? createFieldStyle(\n settings.zStyle,\n settings.zBackgroundColor,\n settings.zForegroundColor\n )\n : undefined\n );\n setAngleStyle(\n settings\n ? createFieldStyle(\n settings.angleStyle,\n settings.angleBackgroundColor,\n settings.angleForegroundColor\n )\n : undefined\n );\n setDistanceStyle(\n settings\n ? createFieldStyle(\n settings.distanceStyle,\n settings.distanceBackgroundColor,\n settings.distanceForegroundColor\n )\n : undefined\n );\n\n setXLabel(\n settings && settings.xLabel !== undefined\n ? settings.xLabel\n : defaultXLabel\n );\n setYLabel(\n settings && settings.yLabel !== undefined\n ? settings.yLabel\n : defaultYLabel\n );\n setZLabel(\n settings && settings.zLabel !== undefined\n ? settings.zLabel\n : defaultZLabel\n );\n setAngleLabel(\n settings && settings.angleLabel !== undefined\n ? settings.angleLabel\n : undefined\n );\n setDistanceLabel(\n settings && settings.distanceLabel !== undefined\n ? settings.distanceLabel\n : undefined\n );\n\n setXIcon(\n settings && settings.xIcon !== undefined ? settings.xIcon : undefined\n );\n setYIcon(\n settings && settings.yIcon !== undefined ? settings.yIcon : undefined\n );\n setZIcon(\n settings && settings.zIcon !== undefined ? settings.zIcon : undefined\n );\n setAngleIcon(\n settings && settings.angleIcon !== undefined\n ? settings.angleIcon\n : angleIconSvg\n );\n setDistanceIcon(\n settings && settings.distanceIcon !== undefined\n ? settings.distanceIcon\n : distanceIconSvg\n );\n };\n\n if (FrameworkAccuDraw.uiStateStorage)\n processAccuDrawUiSettings(FrameworkAccuDraw.uiStateStorage);\n\n // istanbul ignore next\n const handleAccuDrawUiSettingsChanged = () => {\n processAccuDrawUiSettings(FrameworkAccuDraw.uiStateStorage);\n };\n\n return FrameworkAccuDraw.onAccuDrawUiSettingsChangedEvent.addListener(\n handleAccuDrawUiSettingsChanged\n );\n }, []);\n\n const classNames = classnames(\n \"uifw-accudraw-field-container\",\n orientation === Orientation.Vertical ? \"uifw-vertical\" : \"uifw-horizontal\",\n className\n );\n\n const delay = 250;\n const labelCentered =\n xLabel !== undefined &&\n xLabel.length === 1 &&\n yLabel !== undefined &&\n yLabel.length === 1 &&\n zLabel !== undefined &&\n zLabel.length === 1;\n\n return (\n <div className={classNames} style={style} {...otherProps}>\n {mode === CompassMode.Rectangular && (\n <>\n <AccuDrawInputField\n ref={xInputRef}\n isLocked={xLock}\n className=\"uifw-accudraw-x-value\"\n style={xStyle}\n field={ItemField.X_Item}\n id={`uifw-accudraw-x-${containerIndex}`}\n data-testid=\"uifw-accudraw-x\"\n label={xLabel}\n iconSpec={xIcon}\n labelCentered={labelCentered}\n valueChangedDelay={delay}\n onValueChanged={(stringValue) =>\n handleValueChanged(ItemField.X_Item, stringValue)\n }\n onEscPressed={handleEscPressed}\n />\n <AccuDrawInputField\n ref={yInputRef}\n isLocked={yLock}\n className=\"uifw-accudraw-y-value\"\n style={yStyle}\n field={ItemField.Y_Item}\n id={`uifw-accudraw-y-${containerIndex}`}\n data-testid=\"uifw-accudraw-y\"\n label={yLabel}\n iconSpec={yIcon}\n labelCentered={labelCentered}\n valueChangedDelay={delay}\n onValueChanged={(stringValue) =>\n handleValueChanged(ItemField.Y_Item, stringValue)\n }\n onEscPressed={handleEscPressed}\n />\n {showZ && (\n <AccuDrawInputField\n ref={zInputRef}\n isLocked={zLock}\n className=\"uifw-accudraw-z-value\"\n style={zStyle}\n field={ItemField.Z_Item}\n id={`uifw-accudraw-z-${containerIndex}`}\n data-testid=\"uifw-accudraw-z\"\n label={zLabel}\n iconSpec={zIcon}\n labelCentered={labelCentered}\n valueChangedDelay={delay}\n onValueChanged={(stringValue) =>\n handleValueChanged(ItemField.Z_Item, stringValue)\n }\n onEscPressed={handleEscPressed}\n />\n )}\n </>\n )}\n {mode === CompassMode.Polar && (\n <>\n <AccuDrawInputField\n ref={angleInputRef}\n isLocked={angleLock}\n className=\"uifw-accudraw-angle-value\"\n style={angleStyle}\n field={ItemField.ANGLE_Item}\n id={`uifw-accudraw-angle-${containerIndex}`}\n data-testid=\"uifw-accudraw-angle\"\n label={angleLabel}\n iconSpec={angleIcon}\n valueChangedDelay={delay}\n onValueChanged={(stringValue) =>\n handleValueChanged(ItemField.ANGLE_Item, stringValue)\n }\n onEscPressed={handleEscPressed}\n />\n <AccuDrawInputField\n ref={distanceInputRef}\n isLocked={distanceLock}\n className=\"uifw-accudraw-distance-value\"\n style={distanceStyle}\n field={ItemField.DIST_Item}\n id={`uifw-accudraw-distance-${containerIndex}`}\n data-testid=\"uifw-accudraw-distance\"\n label={distanceLabel}\n iconSpec={distanceIcon}\n valueChangedDelay={delay}\n onValueChanged={(stringValue) =>\n handleValueChanged(ItemField.DIST_Item, stringValue)\n }\n onEscPressed={handleEscPressed}\n />\n </>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"AccuDrawFieldContainer.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawFieldContainer.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 AccuDraw\n */\n\nimport \"./AccuDrawFieldContainer.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { ColorDef } from \"@itwin/core-common\";\nimport type { ScreenViewport } from \"@itwin/core-frontend\";\nimport { CompassMode, IModelApp, ItemField } from \"@itwin/core-frontend\";\nimport type { CommonProps, IconSpec, UiStateStorage } from \"@itwin/core-react\";\nimport { Orientation } from \"@itwin/core-react\";\nimport { getCSSColorFromDef } from \"@itwin/imodel-components-react\";\n\nimport { AccuDrawInputField } from \"./AccuDrawInputField\";\nimport { FrameworkAccuDraw } from \"./FrameworkAccuDraw\";\nimport type { AccuDrawUiSettings } from \"./AccuDrawUiSettings\";\nimport angleIconSvg from \"./angle.svg\";\nimport distanceIconSvg from \"./distance.svg\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** Properties for [[AccuDrawFieldContainer]] component\n * @beta\n */\nexport interface AccuDrawFieldContainerProps extends CommonProps {\n /** Orientation of the fields */\n orientation: Orientation;\n /** Optional parameter for persistent UI settings. Defaults to LocalStateStorage. */\n uiSettingsStorage?: UiStateStorage;\n /** @internal */\n showZOverride?: boolean;\n}\n\nlet AccuDrawContainerIndex = 0;\n\nfunction determineShowZ(vp?: ScreenViewport): boolean {\n const showZ =\n vp !== undefined ? /* istanbul ignore next */ vp.view.is3d() : false;\n return showZ;\n}\n\nconst defaultXLabel = \"X\";\nconst defaultYLabel = \"Y\";\nconst defaultZLabel = \"Z\";\n\n/** AccuDraw Ui Field Container displays [[AccuDrawInputField]] for each field\n * @beta\n */\nexport function AccuDrawFieldContainer(props: AccuDrawFieldContainerProps) {\n const {\n className,\n style,\n orientation,\n uiSettingsStorage,\n showZOverride,\n ...otherProps\n } = props;\n\n const [containerIndex] = React.useState(() => ++AccuDrawContainerIndex);\n const xInputRef = React.useRef<HTMLInputElement>(null);\n const yInputRef = React.useRef<HTMLInputElement>(null);\n const zInputRef = React.useRef<HTMLInputElement>(null);\n const angleInputRef = React.useRef<HTMLInputElement>(null);\n const distanceInputRef = React.useRef<HTMLInputElement>(null);\n const focusField = React.useRef<ItemField | undefined>(undefined);\n const [mode, setMode] = React.useState(() => IModelApp.accuDraw.compassMode);\n const [xLock, setXLock] = React.useState(() =>\n IModelApp.accuDraw.getFieldLock(ItemField.X_Item)\n );\n const [yLock, setYLock] = React.useState(() =>\n IModelApp.accuDraw.getFieldLock(ItemField.Y_Item)\n );\n const [zLock, setZLock] = React.useState(() =>\n IModelApp.accuDraw.getFieldLock(ItemField.Z_Item)\n );\n const [angleLock, setAngleLock] = React.useState(() =>\n IModelApp.accuDraw.getFieldLock(ItemField.ANGLE_Item)\n );\n const [distanceLock, setDistanceLock] = React.useState(() =>\n IModelApp.accuDraw.getFieldLock(ItemField.DIST_Item)\n );\n const [showZ, setShowZ] = React.useState(true);\n const [xLabel, setXLabel] = React.useState<string | undefined>(defaultXLabel);\n const [yLabel, setYLabel] = React.useState<string | undefined>(defaultYLabel);\n const [zLabel, setZLabel] = React.useState<string | undefined>(defaultZLabel);\n const [angleLabel, setAngleLabel] = React.useState<string | undefined>(\n undefined\n );\n const [distanceLabel, setDistanceLabel] = React.useState<string | undefined>(\n undefined\n );\n const [xIcon, setXIcon] = React.useState<IconSpec | undefined>(undefined);\n const [yIcon, setYIcon] = React.useState<IconSpec | undefined>(undefined);\n const [zIcon, setZIcon] = React.useState<IconSpec | undefined>(undefined);\n const [angleIcon, setAngleIcon] = React.useState<IconSpec | undefined>(\n angleIconSvg\n );\n const [distanceIcon, setDistanceIcon] = React.useState<IconSpec | undefined>(\n distanceIconSvg\n );\n const [xStyle, setXStyle] = React.useState<React.CSSProperties | undefined>(\n undefined\n );\n const [yStyle, setYStyle] = React.useState<React.CSSProperties | undefined>(\n undefined\n );\n const [zStyle, setZStyle] = React.useState<React.CSSProperties | undefined>(\n undefined\n );\n const [angleStyle, setAngleStyle] = React.useState<\n React.CSSProperties | undefined\n >(undefined);\n const [distanceStyle, setDistanceStyle] = React.useState<\n React.CSSProperties | undefined\n >(undefined);\n\n const getFieldInput = (field: ItemField) => {\n switch (field) {\n case ItemField.X_Item:\n return getCurrent(xInputRef);\n case ItemField.Y_Item:\n return getCurrent(yInputRef);\n case ItemField.Z_Item:\n return getCurrent(zInputRef);\n case ItemField.ANGLE_Item:\n return getCurrent(angleInputRef);\n case ItemField.DIST_Item:\n return getCurrent(distanceInputRef);\n }\n };\n\n const getInputToFocus = React.useCallback((field: ItemField | undefined) => {\n const fieldInput = field === undefined ? undefined : getFieldInput(field);\n if (fieldInput) {\n if (document.activeElement === fieldInput) return undefined;\n return fieldInput;\n }\n\n const focusedInput = [\n xInputRef,\n yInputRef,\n zInputRef,\n angleInputRef,\n distanceInputRef,\n ].find((inputRef) => document.activeElement === inputRef.current);\n\n // One of AccuDraw input fields is focused already.\n if (focusedInput) return undefined;\n\n // Focus one of fallback fields.\n let fallbackInput = getFieldInput(ItemField.DIST_Item);\n if (fallbackInput) return fallbackInput;\n\n fallbackInput = getFieldInput(ItemField.X_Item);\n return fallbackInput;\n }, []);\n\n // Moves focus to `field` input if not focused OR fallbacks to default field if none of accudraw fields are focused.\n const setFocusToField = React.useCallback(\n (field: ItemField | undefined) => {\n const input = getInputToFocus(field);\n if (!input) return;\n\n input.focus();\n input.select();\n },\n [getInputToFocus]\n );\n\n React.useEffect(() => {\n return FrameworkAccuDraw.onAccuDrawSetFieldLockEvent.addListener((args) => {\n switch (args.field) {\n case ItemField.X_Item:\n setXLock(args.lock);\n break;\n case ItemField.Y_Item:\n setYLock(args.lock);\n break;\n case ItemField.Z_Item:\n setZLock(args.lock);\n break;\n case ItemField.ANGLE_Item:\n setAngleLock(args.lock);\n break;\n case ItemField.DIST_Item:\n setDistanceLock(args.lock);\n break;\n }\n });\n }, []);\n\n React.useEffect(() => {\n return FrameworkAccuDraw.onAccuDrawSetFieldFocusEvent.addListener(\n (args) => {\n focusField.current = args.field;\n setFocusToField(focusField.current);\n }\n );\n }, [setFocusToField]);\n\n React.useEffect(() => {\n return FrameworkAccuDraw.onAccuDrawGrabInputFocusEvent.addListener(() => {\n setFocusToField(focusField.current);\n });\n }, [setFocusToField]);\n\n React.useEffect(() => {\n return FrameworkAccuDraw.onAccuDrawSetCompassModeEvent.addListener(\n (args) => {\n setMode(args.mode);\n }\n );\n }, []);\n\n const handleValueChanged = React.useCallback(\n (field: ItemField, stringValue: string) => {\n FrameworkAccuDraw.setFieldValueFromUi(field, stringValue);\n },\n []\n );\n\n const handleEscPressed = React.useCallback(() => {\n UiFramework.keyboardShortcuts.setFocusToHome();\n }, []);\n\n React.useEffect(() => {\n setShowZ(\n showZOverride || determineShowZ(IModelApp.viewManager.selectedView)\n );\n\n return IModelApp.viewManager.onSelectedViewportChanged.addListener(\n (args) => {\n setShowZ(determineShowZ(args.current));\n }\n );\n }, [showZOverride]);\n\n React.useEffect(() => {\n const createFieldStyle = (\n inStyle: React.CSSProperties | undefined,\n backgroundColor: ColorDef | string | undefined,\n foregroundColor: ColorDef | string | undefined\n ): React.CSSProperties | undefined => {\n let fieldStyle: React.CSSProperties | undefined;\n let rgbaString = \"\";\n if (inStyle || backgroundColor || foregroundColor) {\n fieldStyle = inStyle ? inStyle : {};\n if (backgroundColor) {\n rgbaString =\n typeof backgroundColor === \"string\"\n ? backgroundColor\n : getCSSColorFromDef(backgroundColor);\n fieldStyle = { ...fieldStyle, backgroundColor: rgbaString };\n }\n if (foregroundColor) {\n rgbaString =\n typeof foregroundColor === \"string\"\n ? foregroundColor\n : getCSSColorFromDef(foregroundColor);\n fieldStyle = { ...fieldStyle, color: rgbaString };\n }\n }\n return fieldStyle;\n };\n\n const processAccuDrawUiSettings = (settings?: AccuDrawUiSettings) => {\n setXStyle(\n settings\n ? createFieldStyle(\n settings.xStyle,\n settings.xBackgroundColor,\n settings.xForegroundColor\n )\n : undefined\n );\n setYStyle(\n settings\n ? createFieldStyle(\n settings.yStyle,\n settings.yBackgroundColor,\n settings.yForegroundColor\n )\n : undefined\n );\n setZStyle(\n settings\n ? createFieldStyle(\n settings.zStyle,\n settings.zBackgroundColor,\n settings.zForegroundColor\n )\n : undefined\n );\n setAngleStyle(\n settings\n ? createFieldStyle(\n settings.angleStyle,\n settings.angleBackgroundColor,\n settings.angleForegroundColor\n )\n : undefined\n );\n setDistanceStyle(\n settings\n ? createFieldStyle(\n settings.distanceStyle,\n settings.distanceBackgroundColor,\n settings.distanceForegroundColor\n )\n : undefined\n );\n\n setXLabel(\n settings && settings.xLabel !== undefined\n ? settings.xLabel\n : defaultXLabel\n );\n setYLabel(\n settings && settings.yLabel !== undefined\n ? settings.yLabel\n : defaultYLabel\n );\n setZLabel(\n settings && settings.zLabel !== undefined\n ? settings.zLabel\n : defaultZLabel\n );\n setAngleLabel(\n settings && settings.angleLabel !== undefined\n ? settings.angleLabel\n : undefined\n );\n setDistanceLabel(\n settings && settings.distanceLabel !== undefined\n ? settings.distanceLabel\n : undefined\n );\n\n setXIcon(\n settings && settings.xIcon !== undefined ? settings.xIcon : undefined\n );\n setYIcon(\n settings && settings.yIcon !== undefined ? settings.yIcon : undefined\n );\n setZIcon(\n settings && settings.zIcon !== undefined ? settings.zIcon : undefined\n );\n setAngleIcon(\n settings && settings.angleIcon !== undefined\n ? settings.angleIcon\n : angleIconSvg\n );\n setDistanceIcon(\n settings && settings.distanceIcon !== undefined\n ? settings.distanceIcon\n : distanceIconSvg\n );\n };\n\n if (FrameworkAccuDraw.uiStateStorage)\n processAccuDrawUiSettings(FrameworkAccuDraw.uiStateStorage);\n\n return FrameworkAccuDraw.onAccuDrawUiSettingsChangedEvent.addListener(\n () => {\n processAccuDrawUiSettings(FrameworkAccuDraw.uiStateStorage);\n }\n );\n }, []);\n\n const classNames = classnames(\n \"uifw-accudraw-field-container\",\n orientation === Orientation.Vertical ? \"uifw-vertical\" : \"uifw-horizontal\",\n className\n );\n\n const delay = 250;\n const labelCentered =\n xLabel !== undefined &&\n xLabel.length === 1 &&\n yLabel !== undefined &&\n yLabel.length === 1 &&\n zLabel !== undefined &&\n zLabel.length === 1;\n\n return (\n <div className={classNames} style={style} {...otherProps}>\n {mode === CompassMode.Rectangular && (\n <>\n <AccuDrawInputField\n ref={xInputRef}\n isLocked={xLock}\n className=\"uifw-accudraw-x-value\"\n style={xStyle}\n field={ItemField.X_Item}\n id={`uifw-accudraw-x-${containerIndex}`}\n data-testid=\"uifw-accudraw-x\"\n label={xLabel}\n iconSpec={xIcon}\n labelCentered={labelCentered}\n valueChangedDelay={delay}\n onValueChanged={(stringValue) =>\n handleValueChanged(ItemField.X_Item, stringValue)\n }\n onEscPressed={handleEscPressed}\n />\n <AccuDrawInputField\n ref={yInputRef}\n isLocked={yLock}\n className=\"uifw-accudraw-y-value\"\n style={yStyle}\n field={ItemField.Y_Item}\n id={`uifw-accudraw-y-${containerIndex}`}\n data-testid=\"uifw-accudraw-y\"\n label={yLabel}\n iconSpec={yIcon}\n labelCentered={labelCentered}\n valueChangedDelay={delay}\n onValueChanged={(stringValue) =>\n handleValueChanged(ItemField.Y_Item, stringValue)\n }\n onEscPressed={handleEscPressed}\n />\n {showZ && (\n <AccuDrawInputField\n ref={zInputRef}\n isLocked={zLock}\n className=\"uifw-accudraw-z-value\"\n style={zStyle}\n field={ItemField.Z_Item}\n id={`uifw-accudraw-z-${containerIndex}`}\n data-testid=\"uifw-accudraw-z\"\n label={zLabel}\n iconSpec={zIcon}\n labelCentered={labelCentered}\n valueChangedDelay={delay}\n onValueChanged={(stringValue) =>\n handleValueChanged(ItemField.Z_Item, stringValue)\n }\n onEscPressed={handleEscPressed}\n />\n )}\n </>\n )}\n {mode === CompassMode.Polar && (\n <>\n <AccuDrawInputField\n ref={distanceInputRef}\n isLocked={distanceLock}\n className=\"uifw-accudraw-distance-value\"\n style={distanceStyle}\n field={ItemField.DIST_Item}\n id={`uifw-accudraw-distance-${containerIndex}`}\n data-testid=\"uifw-accudraw-distance\"\n label={distanceLabel}\n iconSpec={distanceIcon}\n valueChangedDelay={delay}\n onValueChanged={(stringValue) =>\n handleValueChanged(ItemField.DIST_Item, stringValue)\n }\n onEscPressed={handleEscPressed}\n />\n <AccuDrawInputField\n ref={angleInputRef}\n isLocked={angleLock}\n className=\"uifw-accudraw-angle-value\"\n style={angleStyle}\n field={ItemField.ANGLE_Item}\n id={`uifw-accudraw-angle-${containerIndex}`}\n data-testid=\"uifw-accudraw-angle\"\n label={angleLabel}\n iconSpec={angleIcon}\n valueChangedDelay={delay}\n onValueChanged={(stringValue) =>\n handleValueChanged(ItemField.ANGLE_Item, stringValue)\n }\n onEscPressed={handleEscPressed}\n />\n </>\n )}\n </div>\n );\n}\n\nfunction getCurrent<T>(ref: React.RefObject<T>) {\n if (ref.current === null) return undefined;\n return ref.current;\n}\n"]}
@@ -36,7 +36,7 @@ export interface AccuDrawInputFieldProps extends CommonProps {
36
36
  /** Provides ability to return reference to HTMLInputElement */
37
37
  ref?: React.Ref<HTMLInputElement>;
38
38
  }
39
- /** Input field for AccuDraw Ui
39
+ /** Input field for AccuDraw UI.
40
40
  * @beta
41
41
  */
42
42
  export declare const AccuDrawInputField: (props: AccuDrawInputFieldProps) => React.ReactElement | null;
@@ -1 +1 @@
1
- {"version":3,"file":"AccuDrawInputField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawInputField.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAe/D;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC1D,2CAA2C;IAC3C,KAAK,EAAE,SAAS,CAAC;IACjB,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,6BAA6B;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4CAA4C;IAC5C,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,+DAA+D;IAC/D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;CACnC;AAqKD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,CAC/B,KAAK,EAAE,uBAAuB,KAC3B,KAAK,CAAC,YAAY,GAAG,IAA8B,CAAC"}
1
+ {"version":3,"file":"AccuDrawInputField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawInputField.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAW/D;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC1D,2CAA2C;IAC3C,KAAK,EAAE,SAAS,CAAC;IACjB,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,6BAA6B;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4CAA4C;IAC5C,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,+DAA+D;IAC/D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;CACnC;AAiKD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,CAC/B,KAAK,EAAE,uBAAuB,KAC3B,KAAK,CAAC,YAAY,GAAG,IAA8B,CAAC"}
@@ -84,15 +84,14 @@ const ForwardRefAccuDrawInput = React.forwardRef(function ForwardRefAccuDrawInpu
84
84
  }
85
85
  }, [onEscPressed, onEnterPressed]);
86
86
  React.useEffect(() => {
87
- const handleSetFieldValueToUi = (args) => {
87
+ return FrameworkAccuDraw.onAccuDrawSetFieldValueToUiEvent.addListener((args) => {
88
88
  if (args.field === field && stringValue !== args.formattedValue) {
89
89
  setStringValue(args.formattedValue);
90
90
  // istanbul ignore else
91
91
  if (isFocusField)
92
92
  setNeedSelection(true);
93
93
  }
94
- };
95
- return FrameworkAccuDraw.onAccuDrawSetFieldValueToUiEvent.addListener(handleSetFieldValueToUi);
94
+ });
96
95
  }, [field, isFocusField, stringValue]);
97
96
  React.useEffect(() => {
98
97
  if (needSelection) {
@@ -103,10 +102,9 @@ const ForwardRefAccuDrawInput = React.forwardRef(function ForwardRefAccuDrawInpu
103
102
  }
104
103
  }, [needSelection]);
105
104
  React.useEffect(() => {
106
- const handleSetFieldFocus = (args) => {
105
+ return FrameworkAccuDraw.onAccuDrawSetFieldFocusEvent.addListener((args) => {
107
106
  setIsFocusField(args.field === field);
108
- };
109
- return FrameworkAccuDraw.onAccuDrawSetFieldFocusEvent.addListener(handleSetFieldFocus);
107
+ });
110
108
  }, [field]);
111
109
  const inputClassNames = classnames("uifw-accudraw-input-field", className);
112
110
  const labelClassNames = classnames("uifw-accudraw-input-label", labelCentered && "uifw-label-centered", labelClassName);
@@ -117,7 +115,7 @@ const ForwardRefAccuDrawInput = React.forwardRef(function ForwardRefAccuDrawInpu
117
115
  React.createElement(Input, { ...inputProps, ref: refs, id: id, value: stringValue, className: inputClassNames, style: style, autoComplete: "off", onChange: handleChange, onKeyDown: handleKeyDown, size: "small" }),
118
116
  React.createElement("span", { className: "uifw-accudraw-lock" }, isLocked && React.createElement(Icon, { iconSpec: React.createElement(SvgLock, null) }))));
119
117
  });
120
- /** Input field for AccuDraw Ui
118
+ /** Input field for AccuDraw UI.
121
119
  * @beta
122
120
  */
123
121
  export const AccuDrawInputField = ForwardRefAccuDrawInput;
@@ -1 +1 @@
1
- {"version":3,"file":"AccuDrawInputField.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawInputField.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 AccuDraw\n */\n\nimport \"./AccuDrawInputField.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport type { ItemField } from \"@itwin/core-frontend\";\nimport type { CommonProps, IconSpec } from \"@itwin/core-react\";\nimport { Icon, useRefs } from \"@itwin/core-react\";\nimport { Input } from \"@itwin/itwinui-react\";\nimport type {\n AccuDrawSetFieldFocusEventArgs,\n AccuDrawSetFieldValueToUiEventArgs,\n} from \"./FrameworkAccuDraw\";\nimport { FrameworkAccuDraw } from \"./FrameworkAccuDraw\";\nimport { UiFramework } from \"../UiFramework\";\nimport { SvgLock } from \"@itwin/itwinui-icons-react\";\n\nfunction isLetter(char: string): boolean {\n return char.length === 1 && char.toLowerCase() !== char.toUpperCase();\n}\n\n/** Properties for [[AccuDrawInputField]] component\n * @beta\n */\nexport interface AccuDrawInputFieldProps extends CommonProps {\n /** Which AccuDraw field this represents */\n field: ItemField;\n /** id for the input element */\n id: string;\n /** Indicates whether field is locked */\n isLocked?: boolean;\n /** label for the input element */\n label?: string;\n /** icon for the input element */\n iconSpec?: IconSpec;\n /** Custom CSS class name for the label */\n labelClassName?: string;\n /** Custom CSS Style for the label */\n labelStyle?: React.CSSProperties;\n /** Center justified label */\n labelCentered?: boolean;\n /** Triggered when the content is changed */\n onValueChanged: (stringValue: string) => void;\n /** Frequency to poll for changes in value, in milliseconds */\n valueChangedDelay?: number;\n /** Listens for <Enter> keypress */\n onEnterPressed?: () => void;\n /** Listens for <Esc> keypress */\n onEscPressed?: () => void;\n /** Provides ability to return reference to HTMLInputElement */\n ref?: React.Ref<HTMLInputElement>;\n}\n\nconst ForwardRefAccuDrawInput = React.forwardRef<\n HTMLInputElement,\n AccuDrawInputFieldProps\n>(function ForwardRefAccuDrawInputField(props: AccuDrawInputFieldProps, ref) {\n const {\n className,\n style,\n id,\n label,\n iconSpec,\n labelClassName,\n labelStyle,\n labelCentered,\n field,\n isLocked,\n onValueChanged,\n valueChangedDelay,\n onEnterPressed,\n onEscPressed,\n ...inputProps\n } = props;\n const [stringValue, setStringValue] = React.useState(\"\");\n const timeoutId = React.useRef(0);\n const [needValueChanged, setNeedValueChanged] = React.useState(false);\n const [needSelection, setNeedSelection] = React.useState(false);\n const [isFocusField, setIsFocusField] = React.useState(false);\n const inputElementRef = React.useRef<HTMLInputElement>(null);\n const refs = useRefs(inputElementRef, ref); // combine ref needed for target with the forwardRef needed by the Parent when parent is a Type Editor.\n\n React.useEffect(() => {\n const formattedValue = FrameworkAccuDraw.getFieldDisplayValue(field);\n setStringValue(formattedValue);\n }, [field]);\n\n const handleChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>): void => {\n const value = event.currentTarget.value;\n\n // istanbul ignore next\n if (value === undefined) return;\n\n // istanbul ignore else\n if (stringValue !== value) {\n setStringValue(value);\n setNeedValueChanged(true);\n }\n },\n [stringValue]\n );\n\n const unsetTimeout = (): void => {\n // istanbul ignore else\n if (timeoutId) {\n window.clearTimeout(timeoutId.current);\n timeoutId.current = 0;\n }\n };\n\n React.useEffect(() => {\n // After setStringValue & re-render\n // istanbul ignore else\n if (needValueChanged) {\n if (valueChangedDelay) {\n unsetTimeout();\n timeoutId.current = window.setTimeout(() => {\n onValueChanged(stringValue);\n }, valueChangedDelay);\n } else {\n onValueChanged(stringValue);\n }\n setNeedValueChanged(false);\n }\n }, [onValueChanged, valueChangedDelay, stringValue, needValueChanged]);\n\n React.useEffect(() => {\n // On unmount\n return () => unsetTimeout();\n }, []);\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent) => {\n switch (e.key) {\n case Key.Escape.valueOf():\n onEscPressed && onEscPressed();\n return;\n case Key.Enter.valueOf():\n onEnterPressed && onEnterPressed();\n return;\n }\n\n if (isLetter(e.key)) {\n e.preventDefault();\n UiFramework.keyboardShortcuts.processKey(e.key);\n return;\n }\n },\n [onEscPressed, onEnterPressed]\n );\n\n React.useEffect(() => {\n const handleSetFieldValueToUi = (\n args: AccuDrawSetFieldValueToUiEventArgs\n ) => {\n if (args.field === field && stringValue !== args.formattedValue) {\n setStringValue(args.formattedValue);\n // istanbul ignore else\n if (isFocusField) setNeedSelection(true);\n }\n };\n return FrameworkAccuDraw.onAccuDrawSetFieldValueToUiEvent.addListener(\n handleSetFieldValueToUi\n );\n }, [field, isFocusField, stringValue]);\n\n React.useEffect(() => {\n if (needSelection) {\n // istanbul ignore else\n if (inputElementRef.current) inputElementRef.current.select();\n setNeedSelection(false);\n }\n }, [needSelection]);\n\n React.useEffect(() => {\n const handleSetFieldFocus = (args: AccuDrawSetFieldFocusEventArgs) => {\n setIsFocusField(args.field === field);\n };\n return FrameworkAccuDraw.onAccuDrawSetFieldFocusEvent.addListener(\n handleSetFieldFocus\n );\n }, [field]);\n\n const inputClassNames = classnames(\"uifw-accudraw-input-field\", className);\n const labelClassNames = classnames(\n \"uifw-accudraw-input-label\",\n labelCentered && \"uifw-label-centered\",\n labelClassName\n );\n\n return (\n <>\n <label htmlFor={id} className={labelClassNames} style={labelStyle}>\n {label}\n {iconSpec && <Icon iconSpec={iconSpec} />}\n </label>\n <Input\n {...inputProps}\n ref={refs}\n id={id}\n value={stringValue}\n className={inputClassNames}\n style={style}\n autoComplete=\"off\"\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n size=\"small\"\n />\n <span className=\"uifw-accudraw-lock\">\n {isLocked && <Icon iconSpec={<SvgLock />} />}\n </span>\n </>\n );\n});\n\n/** Input field for AccuDraw Ui\n * @beta\n */\nexport const AccuDrawInputField: (\n props: AccuDrawInputFieldProps\n) => React.ReactElement | null = ForwardRefAccuDrawInput;\n"]}
1
+ {"version":3,"file":"AccuDrawInputField.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawInputField.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 AccuDraw\n */\n\nimport \"./AccuDrawInputField.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport type { ItemField } from \"@itwin/core-frontend\";\nimport type { CommonProps, IconSpec } from \"@itwin/core-react\";\nimport { Icon, useRefs } from \"@itwin/core-react\";\nimport { Input } from \"@itwin/itwinui-react\";\nimport { FrameworkAccuDraw } from \"./FrameworkAccuDraw\";\nimport { UiFramework } from \"../UiFramework\";\nimport { SvgLock } from \"@itwin/itwinui-icons-react\";\n\nfunction isLetter(char: string): boolean {\n return char.length === 1 && char.toLowerCase() !== char.toUpperCase();\n}\n\n/** Properties for [[AccuDrawInputField]] component\n * @beta\n */\nexport interface AccuDrawInputFieldProps extends CommonProps {\n /** Which AccuDraw field this represents */\n field: ItemField;\n /** id for the input element */\n id: string;\n /** Indicates whether field is locked */\n isLocked?: boolean;\n /** label for the input element */\n label?: string;\n /** icon for the input element */\n iconSpec?: IconSpec;\n /** Custom CSS class name for the label */\n labelClassName?: string;\n /** Custom CSS Style for the label */\n labelStyle?: React.CSSProperties;\n /** Center justified label */\n labelCentered?: boolean;\n /** Triggered when the content is changed */\n onValueChanged: (stringValue: string) => void;\n /** Frequency to poll for changes in value, in milliseconds */\n valueChangedDelay?: number;\n /** Listens for <Enter> keypress */\n onEnterPressed?: () => void;\n /** Listens for <Esc> keypress */\n onEscPressed?: () => void;\n /** Provides ability to return reference to HTMLInputElement */\n ref?: React.Ref<HTMLInputElement>;\n}\n\nconst ForwardRefAccuDrawInput = React.forwardRef<\n HTMLInputElement,\n AccuDrawInputFieldProps\n>(function ForwardRefAccuDrawInputField(props: AccuDrawInputFieldProps, ref) {\n const {\n className,\n style,\n id,\n label,\n iconSpec,\n labelClassName,\n labelStyle,\n labelCentered,\n field,\n isLocked,\n onValueChanged,\n valueChangedDelay,\n onEnterPressed,\n onEscPressed,\n ...inputProps\n } = props;\n const [stringValue, setStringValue] = React.useState(\"\");\n const timeoutId = React.useRef(0);\n const [needValueChanged, setNeedValueChanged] = React.useState(false);\n const [needSelection, setNeedSelection] = React.useState(false);\n const [isFocusField, setIsFocusField] = React.useState(false);\n const inputElementRef = React.useRef<HTMLInputElement>(null);\n const refs = useRefs(inputElementRef, ref); // combine ref needed for target with the forwardRef needed by the Parent when parent is a Type Editor.\n\n React.useEffect(() => {\n const formattedValue = FrameworkAccuDraw.getFieldDisplayValue(field);\n setStringValue(formattedValue);\n }, [field]);\n\n const handleChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>): void => {\n const value = event.currentTarget.value;\n\n // istanbul ignore next\n if (value === undefined) return;\n\n // istanbul ignore else\n if (stringValue !== value) {\n setStringValue(value);\n setNeedValueChanged(true);\n }\n },\n [stringValue]\n );\n\n const unsetTimeout = (): void => {\n // istanbul ignore else\n if (timeoutId) {\n window.clearTimeout(timeoutId.current);\n timeoutId.current = 0;\n }\n };\n\n React.useEffect(() => {\n // After setStringValue & re-render\n // istanbul ignore else\n if (needValueChanged) {\n if (valueChangedDelay) {\n unsetTimeout();\n timeoutId.current = window.setTimeout(() => {\n onValueChanged(stringValue);\n }, valueChangedDelay);\n } else {\n onValueChanged(stringValue);\n }\n setNeedValueChanged(false);\n }\n }, [onValueChanged, valueChangedDelay, stringValue, needValueChanged]);\n\n React.useEffect(() => {\n // On unmount\n return () => unsetTimeout();\n }, []);\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent) => {\n switch (e.key) {\n case Key.Escape.valueOf():\n onEscPressed && onEscPressed();\n return;\n case Key.Enter.valueOf():\n onEnterPressed && onEnterPressed();\n return;\n }\n\n if (isLetter(e.key)) {\n e.preventDefault();\n UiFramework.keyboardShortcuts.processKey(e.key);\n return;\n }\n },\n [onEscPressed, onEnterPressed]\n );\n\n React.useEffect(() => {\n return FrameworkAccuDraw.onAccuDrawSetFieldValueToUiEvent.addListener(\n (args) => {\n if (args.field === field && stringValue !== args.formattedValue) {\n setStringValue(args.formattedValue);\n // istanbul ignore else\n if (isFocusField) setNeedSelection(true);\n }\n }\n );\n }, [field, isFocusField, stringValue]);\n\n React.useEffect(() => {\n if (needSelection) {\n // istanbul ignore else\n if (inputElementRef.current) inputElementRef.current.select();\n setNeedSelection(false);\n }\n }, [needSelection]);\n\n React.useEffect(() => {\n return FrameworkAccuDraw.onAccuDrawSetFieldFocusEvent.addListener(\n (args) => {\n setIsFocusField(args.field === field);\n }\n );\n }, [field]);\n\n const inputClassNames = classnames(\"uifw-accudraw-input-field\", className);\n const labelClassNames = classnames(\n \"uifw-accudraw-input-label\",\n labelCentered && \"uifw-label-centered\",\n labelClassName\n );\n\n return (\n <>\n <label htmlFor={id} className={labelClassNames} style={labelStyle}>\n {label}\n {iconSpec && <Icon iconSpec={iconSpec} />}\n </label>\n <Input\n {...inputProps}\n ref={refs}\n id={id}\n value={stringValue}\n className={inputClassNames}\n style={style}\n autoComplete=\"off\"\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n size=\"small\"\n />\n <span className=\"uifw-accudraw-lock\">\n {isLocked && <Icon iconSpec={<SvgLock />} />}\n </span>\n </>\n );\n});\n\n/** Input field for AccuDraw UI.\n * @beta\n */\nexport const AccuDrawInputField: (\n props: AccuDrawInputFieldProps\n) => React.ReactElement | null = ForwardRefAccuDrawInput;\n"]}
@@ -2,18 +2,19 @@
2
2
  * @module AccuDraw
3
3
  */
4
4
  import type { XAndY } from "@itwin/core-geometry";
5
- import type { AbstractMenuItemProps, OnCancelFunc, OnNumberCommitFunc } from "@itwin/appui-abstract";
5
+ import type { CursorMenuItemProps } from "../shared/MenuItem";
6
6
  /** AccuDraw Popup Manager class
7
7
  * @alpha
8
8
  */
9
9
  export declare class AccuDrawPopupManager {
10
10
  private static _calculatorId;
11
- static showMenuButton(id: string, el: HTMLElement, pt: XAndY, menuItemsProps: AbstractMenuItemProps[]): boolean;
11
+ static showMenuButton(id: string, el: HTMLElement, pt: XAndY, menuItemsProps: CursorMenuItemProps[]): boolean;
12
12
  static hideMenuButton(id: string): boolean;
13
- static showCalculator(el: HTMLElement, pt: XAndY, initialValue: number, resultIcon: string, onOk: OnNumberCommitFunc, onCancel: OnCancelFunc): boolean;
13
+ static showCalculator(el: HTMLElement, pt: XAndY, initialValue: number, resultIcon: string, onOk: (value: number) => void, onCancel: () => void): boolean;
14
14
  static hideCalculator(): boolean;
15
- static showAngleEditor(el: HTMLElement, pt: XAndY, value: number, onCommit: OnNumberCommitFunc, onCancel: OnCancelFunc): boolean;
16
- static showLengthEditor(el: HTMLElement, pt: XAndY, value: number, onCommit: OnNumberCommitFunc, onCancel: OnCancelFunc): boolean;
17
- static showHeightEditor(el: HTMLElement, pt: XAndY, value: number, onCommit: OnNumberCommitFunc, onCancel: OnCancelFunc): boolean;
15
+ static showAngleEditor(el: HTMLElement, pt: XAndY, value: number, onCommit: (value: number) => void, onCancel: () => void): boolean;
16
+ static showDimensionEditor(dimension: "height" | "length", el: HTMLElement, pt: XAndY, value: number, onCommit: (value: number) => void, onCancel: () => void): boolean;
17
+ static showLengthEditor(el: HTMLElement, pt: XAndY, value: number, onCommit: (value: number) => void, onCancel: () => void): boolean;
18
+ static showHeightEditor(el: HTMLElement, pt: XAndY, value: number, onCommit: (value: number) => void, onCancel: () => void): boolean;
18
19
  }
19
20
  //# sourceMappingURL=AccuDrawPopupManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccuDrawPopupManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawPopupManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,KAAK,EACV,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAEnB,MAAM,uBAAuB,CAAC;AAW/B;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,aAAa,CAAgB;WAE9B,cAAc,CAC1B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,cAAc,EAAE,qBAAqB,EAAE,GACtC,OAAO;WAyBI,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;WAInC,cAAc,CAC1B,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,YAAY,GACrB,OAAO;WA0BI,cAAc,IAAI,OAAO;WAIzB,eAAe,CAC3B,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,YAAY,GACrB,OAAO;WAgBI,gBAAgB,CAC5B,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,YAAY,GACrB,OAAO;WAgBI,gBAAgB,CAC5B,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,YAAY,GACrB,OAAO;CAeX"}
1
+ {"version":3,"file":"AccuDrawPopupManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawPopupManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAKlD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAS9D;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,aAAa,CAAgB;WAE9B,cAAc,CAC1B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,cAAc,EAAE,mBAAmB,EAAE,GACpC,OAAO;WA0BI,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;WAInC,cAAc,CAC1B,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAC7B,QAAQ,EAAE,MAAM,IAAI,GACnB,OAAO;WA2BI,cAAc,IAAI,OAAO;WAIzB,eAAe,CAC3B,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACjC,QAAQ,EAAE,MAAM,IAAI,GACnB,OAAO;WAiBI,mBAAmB,CAC/B,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAC9B,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACjC,QAAQ,EAAE,MAAM,IAAI;WAqBR,gBAAgB,CAC5B,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACjC,QAAQ,EAAE,MAAM,IAAI,GACnB,OAAO;WAgBI,gBAAgB,CAC5B,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,KAAK,EACT,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACjC,QAAQ,EAAE,MAAM,IAAI,GACnB,OAAO;CAeX"}
@@ -27,6 +27,7 @@ class AccuDrawPopupManager {
27
27
  pt,
28
28
  component,
29
29
  parentDocument: el.ownerDocument,
30
+ parent: el.ownerDocument,
30
31
  };
31
32
  PopupManager.addOrUpdatePopup(popupInfo);
32
33
  return true;
@@ -42,6 +43,7 @@ class AccuDrawPopupManager {
42
43
  pt,
43
44
  component,
44
45
  parentDocument: el.ownerDocument,
46
+ parent: el.ownerDocument,
45
47
  };
46
48
  PopupManager.addOrUpdatePopup(popupInfo);
47
49
  return true;
@@ -53,6 +55,13 @@ class AccuDrawPopupManager {
53
55
  const propertyDescription = new AngleDescription(undefined, undefined, angleIcon);
54
56
  return PopupManager.showInputEditor(el, pt, value, propertyDescription, onCommit, onCancel);
55
57
  }
58
+ // @internal
59
+ static showDimensionEditor(dimension, el, pt, value, onCommit, onCancel) {
60
+ if (dimension === "height") {
61
+ return AccuDrawPopupManager.showHeightEditor(el, pt, value, onCommit, onCancel);
62
+ }
63
+ return AccuDrawPopupManager.showLengthEditor(el, pt, value, onCommit, onCancel);
64
+ }
56
65
  static showLengthEditor(el, pt, value, onCommit, onCancel) {
57
66
  const propertyDescription = new LengthDescription(undefined, undefined, lengthIcon);
58
67
  return PopupManager.showInputEditor(el, pt, value, propertyDescription, onCommit, onCancel);
@@ -1 +1 @@
1
- {"version":3,"file":"AccuDrawPopupManager.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawPopupManager.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 AccuDraw\n */\n\nimport * as React from \"react\";\nimport type { XAndY } from \"@itwin/core-geometry\";\nimport { AngleDescription, LengthDescription } from \"@itwin/core-frontend\";\nimport type {\n AbstractMenuItemProps,\n OnCancelFunc,\n OnNumberCommitFunc,\n OnValueCommitFunc,\n} from \"@itwin/appui-abstract\";\nimport type { PopupInfo } from \"../popup/PopupManager\";\nimport { PopupManager } from \"../popup/PopupManager\";\nimport { MenuItemHelpers } from \"../shared/MenuItem\";\nimport { CalculatorPopup } from \"./CalculatorPopup\";\nimport { MenuButtonPopup } from \"./MenuButtonPopup\";\n\nimport angleIcon from \"./angle.svg\";\nimport lengthIcon from \"./distance.svg\";\nimport heightIcon from \"./height-2.svg\";\n\n/** AccuDraw Popup Manager class\n * @alpha\n */\nexport class AccuDrawPopupManager {\n private static _calculatorId = \"Calculator\";\n\n public static showMenuButton(\n id: string,\n el: HTMLElement,\n pt: XAndY,\n menuItemsProps: AbstractMenuItemProps[]\n ): boolean {\n const menuItems = MenuItemHelpers.createMenuItems(menuItemsProps);\n const menuContent = MenuItemHelpers.createMenuItemNodes(menuItems);\n\n const component = (\n <MenuButtonPopup\n id={id}\n el={el}\n pt={pt}\n offset={PopupManager.defaultOffset}\n content={menuContent}\n />\n );\n\n const popupInfo: PopupInfo = {\n id,\n pt,\n component,\n parentDocument: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideMenuButton(id: string): boolean {\n return PopupManager.removePopup(id);\n }\n\n public static showCalculator(\n el: HTMLElement,\n pt: XAndY,\n initialValue: number,\n resultIcon: string,\n onOk: OnNumberCommitFunc,\n onCancel: OnCancelFunc\n ): boolean {\n const id = AccuDrawPopupManager._calculatorId;\n const component = (\n <CalculatorPopup\n id={id}\n el={el}\n pt={pt}\n offset={PopupManager.defaultOffset}\n initialValue={initialValue}\n resultIcon={resultIcon}\n onOk={onOk}\n onCancel={onCancel}\n />\n );\n\n const popupInfo: PopupInfo = {\n id,\n pt,\n component,\n parentDocument: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideCalculator(): boolean {\n return PopupManager.removePopup(AccuDrawPopupManager._calculatorId);\n }\n\n public static showAngleEditor(\n el: HTMLElement,\n pt: XAndY,\n value: number,\n onCommit: OnNumberCommitFunc,\n onCancel: OnCancelFunc\n ): boolean {\n const propertyDescription = new AngleDescription(\n undefined,\n undefined,\n angleIcon\n );\n return PopupManager.showInputEditor(\n el,\n pt,\n value,\n propertyDescription,\n onCommit as OnValueCommitFunc,\n onCancel\n );\n }\n\n public static showLengthEditor(\n el: HTMLElement,\n pt: XAndY,\n value: number,\n onCommit: OnNumberCommitFunc,\n onCancel: OnCancelFunc\n ): boolean {\n const propertyDescription = new LengthDescription(\n undefined,\n undefined,\n lengthIcon\n );\n return PopupManager.showInputEditor(\n el,\n pt,\n value,\n propertyDescription,\n onCommit as OnValueCommitFunc,\n onCancel\n );\n }\n\n public static showHeightEditor(\n el: HTMLElement,\n pt: XAndY,\n value: number,\n onCommit: OnNumberCommitFunc,\n onCancel: OnCancelFunc\n ): boolean {\n const propertyDescription = new LengthDescription(\n undefined,\n undefined,\n heightIcon\n );\n return PopupManager.showInputEditor(\n el,\n pt,\n value,\n propertyDescription,\n onCommit as OnValueCommitFunc,\n onCancel\n );\n }\n}\n"]}
1
+ {"version":3,"file":"AccuDrawPopupManager.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawPopupManager.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 AccuDraw\n */\n\nimport * as React from \"react\";\nimport type { XAndY } from \"@itwin/core-geometry\";\nimport { AngleDescription, LengthDescription } from \"@itwin/core-frontend\";\nimport type { OnValueCommitFunc } from \"@itwin/appui-abstract\";\nimport type { PopupInfo } from \"../popup/PopupManager\";\nimport { PopupManager } from \"../popup/PopupManager\";\nimport type { CursorMenuItemProps } from \"../shared/MenuItem\";\nimport { MenuItemHelpers } from \"../shared/MenuItem\";\nimport { CalculatorPopup } from \"./CalculatorPopup\";\nimport { MenuButtonPopup } from \"./MenuButtonPopup\";\n\nimport angleIcon from \"./angle.svg\";\nimport lengthIcon from \"./distance.svg\";\nimport heightIcon from \"./height-2.svg\";\n\n/** AccuDraw Popup Manager class\n * @alpha\n */\nexport class AccuDrawPopupManager {\n private static _calculatorId = \"Calculator\";\n\n public static showMenuButton(\n id: string,\n el: HTMLElement,\n pt: XAndY,\n menuItemsProps: CursorMenuItemProps[]\n ): boolean {\n const menuItems = MenuItemHelpers.createMenuItems(menuItemsProps);\n const menuContent = MenuItemHelpers.createMenuItemNodes(menuItems);\n\n const component = (\n <MenuButtonPopup\n id={id}\n el={el}\n pt={pt}\n offset={PopupManager.defaultOffset}\n content={menuContent}\n />\n );\n\n const popupInfo: PopupInfo = {\n id,\n pt,\n component,\n parentDocument: el.ownerDocument,\n parent: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideMenuButton(id: string): boolean {\n return PopupManager.removePopup(id);\n }\n\n public static showCalculator(\n el: HTMLElement,\n pt: XAndY,\n initialValue: number,\n resultIcon: string,\n onOk: (value: number) => void,\n onCancel: () => void\n ): boolean {\n const id = AccuDrawPopupManager._calculatorId;\n const component = (\n <CalculatorPopup\n id={id}\n el={el}\n pt={pt}\n offset={PopupManager.defaultOffset}\n initialValue={initialValue}\n resultIcon={resultIcon}\n onOk={onOk}\n onCancel={onCancel}\n />\n );\n\n const popupInfo: PopupInfo = {\n id,\n pt,\n component,\n parentDocument: el.ownerDocument,\n parent: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideCalculator(): boolean {\n return PopupManager.removePopup(AccuDrawPopupManager._calculatorId);\n }\n\n public static showAngleEditor(\n el: HTMLElement,\n pt: XAndY,\n value: number,\n onCommit: (value: number) => void,\n onCancel: () => void\n ): boolean {\n const propertyDescription = new AngleDescription(\n undefined,\n undefined,\n angleIcon\n );\n return PopupManager.showInputEditor(\n el,\n pt,\n value,\n propertyDescription,\n onCommit as OnValueCommitFunc,\n onCancel\n );\n }\n\n // @internal\n public static showDimensionEditor(\n dimension: \"height\" | \"length\",\n el: HTMLElement,\n pt: XAndY,\n value: number,\n onCommit: (value: number) => void,\n onCancel: () => void\n ) {\n if (dimension === \"height\") {\n return AccuDrawPopupManager.showHeightEditor(\n el,\n pt,\n value,\n onCommit,\n onCancel\n );\n }\n\n return AccuDrawPopupManager.showLengthEditor(\n el,\n pt,\n value,\n onCommit,\n onCancel\n );\n }\n\n public static showLengthEditor(\n el: HTMLElement,\n pt: XAndY,\n value: number,\n onCommit: (value: number) => void,\n onCancel: () => void\n ): boolean {\n const propertyDescription = new LengthDescription(\n undefined,\n undefined,\n lengthIcon\n );\n return PopupManager.showInputEditor(\n el,\n pt,\n value,\n propertyDescription,\n onCommit as OnValueCommitFunc,\n onCancel\n );\n }\n\n public static showHeightEditor(\n el: HTMLElement,\n pt: XAndY,\n value: number,\n onCommit: (value: number) => void,\n onCancel: () => void\n ): boolean {\n const propertyDescription = new LengthDescription(\n undefined,\n undefined,\n heightIcon\n );\n return PopupManager.showInputEditor(\n el,\n pt,\n value,\n propertyDescription,\n onCommit as OnValueCommitFunc,\n onCancel\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FrameworkAccuDraw.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/FrameworkAccuDraw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FrameworkAccuDraw.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/FrameworkAccuDraw.ts"],"names":[],"mappings":"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"}
@@ -189,24 +189,24 @@ class FrameworkAccuDraw extends AccuDraw {
189
189
  IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, message));
190
190
  }
191
191
  outputCompassModeMessage() {
192
+ var _a;
192
193
  if (FrameworkAccuDraw.displayNotifications) {
193
- let modeKey = compassModeToKeyMap.get(this.compassMode);
194
- // istanbul ignore if
195
- if (modeKey === undefined)
196
- modeKey = "polar";
194
+ const modeKey = (_a = compassModeToKeyMap.get(this.compassMode)) !== null && _a !== void 0 ? _a : "polar";
197
195
  const modeString = UiFramework.translate(`accuDraw.compassMode.${modeKey}`);
198
- const modeMessage = UiFramework.localization.getLocalizedString("accuDraw.compassModeSet", { modeString, ns: UiFramework.localizationNamespace });
196
+ const modeMessage = UiFramework.translate("accuDraw.compassModeSet", {
197
+ modeString,
198
+ });
199
199
  this.outputInfoMessage(modeMessage);
200
200
  }
201
201
  }
202
202
  outputRotationMessage() {
203
+ var _a;
203
204
  if (FrameworkAccuDraw.displayNotifications) {
204
- let rotationKey = rotationModeToKeyMap.get(this.rotationMode);
205
- // istanbul ignore if
206
- if (rotationKey === undefined)
207
- rotationKey = "top";
205
+ const rotationKey = (_a = rotationModeToKeyMap.get(this.rotationMode)) !== null && _a !== void 0 ? _a : "top";
208
206
  const rotationString = UiFramework.translate(`accuDraw.rotation.${rotationKey}`);
209
- const rotationMessage = UiFramework.localization.getLocalizedString("accuDraw.rotationSet", { rotationString, ns: UiFramework.localizationNamespace });
207
+ const rotationMessage = UiFramework.translate("accuDraw.rotationSet", {
208
+ rotationString,
209
+ });
210
210
  this.outputInfoMessage(rotationMessage);
211
211
  }
212
212
  }