@itwin/appui-react 4.10.0 → 4.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (893) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +181 -10
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +301 -21
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +3 -2
  8. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +5 -7
  15. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  17. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  19. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  21. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  22. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  23. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +2 -1
  24. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +2 -2
  26. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  27. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  28. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  29. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  30. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  31. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  32. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +24 -17
  33. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  34. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  35. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  36. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  37. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  38. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  39. package/lib/cjs/appui-react/configurableui/TimeTracker.js +2 -1
  40. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  41. package/lib/cjs/appui-react/content/ContentLayout.js +12 -9
  42. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  43. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +4 -3
  44. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  45. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +14 -19
  46. package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -1
  47. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  48. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  49. package/lib/cjs/appui-react/content/IModelViewport.js +8 -9
  50. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  51. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +2 -1
  52. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  53. package/lib/cjs/appui-react/content/InternalContentViewManager.js +2 -2
  54. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  55. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +12 -10
  56. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  57. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  58. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  59. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  60. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  61. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  62. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  63. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  64. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  65. package/lib/cjs/appui-react/dialog/ContentDialog.js +6 -3
  66. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  67. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +3 -2
  68. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  69. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  70. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  71. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  72. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  73. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  74. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +20 -77
  75. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  76. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  77. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  78. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  79. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  80. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +1 -2
  82. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  83. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +7 -6
  85. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  86. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
  87. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  88. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts +6 -0
  89. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  90. package/lib/cjs/appui-react/hooks/useActiveToolId.js +24 -0
  91. package/lib/cjs/appui-react/hooks/useActiveToolId.js.map +1 -0
  92. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  93. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  94. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts +15 -0
  95. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  96. package/lib/cjs/appui-react/hooks/useConditionalValue.js +43 -0
  97. package/lib/cjs/appui-react/hooks/useConditionalValue.js.map +1 -0
  98. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  99. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  100. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +13 -8
  101. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  102. package/lib/cjs/appui-react/keyins/Keyins.d.ts +35 -0
  103. package/lib/cjs/appui-react/keyins/Keyins.d.ts.map +1 -0
  104. package/lib/cjs/appui-react/keyins/Keyins.js +54 -0
  105. package/lib/cjs/appui-react/keyins/Keyins.js.map +1 -0
  106. package/lib/cjs/appui-react/layers.scss +1 -1
  107. package/lib/cjs/appui-react/layout/StandardLayout.d.ts.map +1 -1
  108. package/lib/cjs/appui-react/layout/StandardLayout.js +10 -10
  109. package/lib/cjs/appui-react/layout/StandardLayout.js.map +1 -1
  110. package/lib/cjs/appui-react/layout/_widgetopacity.scss +3 -1
  111. package/lib/cjs/appui-react/layout/base/DragManager.js +2 -1
  112. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  113. package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
  114. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  115. package/lib/cjs/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  116. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js +3 -0
  117. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  118. package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
  119. package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
  120. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
  121. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  122. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +14 -12
  123. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  124. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  125. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  126. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +3 -2
  127. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  128. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  129. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  130. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
  131. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  132. package/lib/cjs/appui-react/layout/widget/Content.d.ts.map +1 -1
  133. package/lib/cjs/appui-react/layout/widget/Content.js +5 -5
  134. package/lib/cjs/appui-react/layout/widget/Content.js.map +1 -1
  135. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +2 -2
  136. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  137. package/lib/cjs/appui-react/layout/widget/FloatingTab.js +6 -5
  138. package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
  139. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +4 -2
  140. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  141. package/lib/cjs/appui-react/layout/widget/NavigationArea.scss +4 -1
  142. package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
  143. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  144. package/lib/cjs/appui-react/layout/widget/Tab.js +4 -4
  145. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  146. package/lib/cjs/appui-react/layout/widget/ToolsArea.scss +2 -0
  147. package/lib/cjs/appui-react/layout/widget/Widget.d.ts.map +1 -1
  148. package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
  149. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  150. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  151. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  152. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +8 -5
  153. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  154. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  155. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  156. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  157. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
  158. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  159. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/messages/MessageManager.js +6 -6
  161. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  162. package/lib/cjs/appui-react/messages/MessageRenderer.js +16 -10
  163. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  164. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  165. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  166. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  167. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  168. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +1 -1
  169. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  170. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  171. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  172. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -2
  173. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  174. package/lib/cjs/appui-react/pickers/ViewSelector.js +6 -5
  175. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  176. package/lib/cjs/appui-react/popup/CardPopup.d.ts +21 -9
  177. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  178. package/lib/cjs/appui-react/popup/CardPopup.js +12 -5
  179. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  180. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts +18 -0
  181. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  182. package/lib/cjs/appui-react/popup/ComponentPopup.js +35 -0
  183. package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -0
  184. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  185. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  186. package/lib/cjs/appui-react/popup/HTMLElementPopup.js +1 -0
  187. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  188. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +4 -4
  189. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  190. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  191. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  192. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  193. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +19 -12
  194. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  195. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  196. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  197. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +9 -3
  198. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  199. package/lib/cjs/appui-react/popup/PopupManager.d.ts +45 -9
  200. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  201. package/lib/cjs/appui-react/popup/PopupManager.js +85 -13
  202. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  203. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +16 -6
  204. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  205. package/lib/cjs/appui-react/popup/ToolbarPopup.js +7 -2
  206. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  207. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +3 -1
  208. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  209. package/lib/cjs/appui-react/preview/PreviewFeatures.js +2 -2
  210. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  211. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  212. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  213. package/lib/cjs/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  214. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  215. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  216. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  217. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +18 -0
  218. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  219. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.scss +10 -0
  220. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +7 -7
  221. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -1
  222. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +7 -7
  223. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  224. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +6 -6
  225. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  226. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  227. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +1 -1
  228. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -1
  229. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +4 -4
  230. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  231. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  232. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js +25 -0
  233. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  234. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  235. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  236. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js +20 -0
  237. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  238. package/lib/cjs/appui-react/preview/new-toolbars/Badge.scss +13 -0
  239. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  240. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  241. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +36 -0
  242. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  243. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  244. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  245. package/lib/cjs/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +8 -13
  246. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  247. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  248. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  249. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  250. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +79 -0
  251. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  252. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  253. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  254. package/lib/cjs/appui-react/preview/new-toolbars/Item.js +54 -0
  255. package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -0
  256. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  257. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  258. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +37 -0
  259. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  260. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  261. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  262. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +85 -0
  263. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  264. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  265. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  266. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  267. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js +40 -0
  268. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  269. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  270. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  271. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js +93 -0
  272. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  273. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +2 -1
  274. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  275. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  276. package/lib/cjs/appui-react/redux/SessionState.d.ts +15 -3
  277. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/redux/SessionState.js +8 -1
  279. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  280. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
  281. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  282. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  283. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  284. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  285. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  286. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  287. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  288. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  289. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +40 -46
  290. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  291. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts +17 -0
  292. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  293. package/lib/cjs/appui-react/shared/ConditionalValue.js +16 -0
  294. package/lib/cjs/appui-react/shared/ConditionalValue.js.map +1 -0
  295. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
  296. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  297. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  298. package/lib/cjs/appui-react/shared/ItemProps.d.ts +13 -2
  299. package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
  300. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  301. package/lib/cjs/appui-react/shared/MenuItem.d.ts +21 -2
  302. package/lib/cjs/appui-react/shared/MenuItem.d.ts.map +1 -1
  303. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  304. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +16 -11
  305. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  306. package/lib/cjs/appui-react/statusbar/Indicator.js +2 -1
  307. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  308. package/lib/cjs/appui-react/statusbar/Overflow.d.ts.map +1 -1
  309. package/lib/cjs/appui-react/statusbar/Overflow.js +3 -3
  310. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  311. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -1
  312. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  313. package/lib/cjs/appui-react/statusbar/StatusBar.js +6 -4
  314. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  315. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  316. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  317. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  318. package/lib/cjs/appui-react/statusbar/{Popup.d.ts → popup/Popup.d.ts} +2 -1
  319. package/lib/cjs/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  320. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.js +10 -11
  321. package/lib/cjs/appui-react/statusbar/popup/Popup.js.map +1 -0
  322. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  323. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  324. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +4 -4
  325. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  326. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +0 -1
  327. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/statusfields/MessageCenter.js +4 -4
  329. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  330. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  331. package/lib/cjs/appui-react/statusfields/SectionsField.js +7 -10
  332. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  333. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  334. package/lib/cjs/appui-react/statusfields/SelectionScope.js +4 -4
  335. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  336. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  337. package/lib/cjs/appui-react/statusfields/SnapMode.js +14 -12
  338. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  339. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  340. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  341. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +12 -20
  342. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  343. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  344. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -2
  345. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  346. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  347. package/lib/cjs/appui-react/theme/ThemeManager.js +3 -2
  348. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  349. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  350. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  351. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  352. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts +4 -3
  353. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  354. package/lib/cjs/appui-react/toolbar/Toolbar.js +28 -4
  355. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  356. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  357. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  358. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +15 -12
  359. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  360. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  361. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +5 -6
  362. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  363. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  364. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  365. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  366. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  367. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  368. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  369. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +18 -11
  370. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  371. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  372. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  373. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  374. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  375. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  376. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  377. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  378. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  379. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  380. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  381. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  382. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  383. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +102 -143
  384. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  385. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
  386. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  387. package/lib/cjs/appui-react/useTranslation.d.ts +10 -0
  388. package/lib/cjs/appui-react/useTranslation.d.ts.map +1 -0
  389. package/lib/cjs/appui-react/useTranslation.js +20 -0
  390. package/lib/cjs/appui-react/useTranslation.js.map +1 -0
  391. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  392. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  393. package/lib/cjs/appui-react/utils/Placement.d.ts +35 -0
  394. package/lib/cjs/appui-react/utils/Placement.d.ts.map +1 -0
  395. package/lib/cjs/appui-react/utils/Placement.js +62 -0
  396. package/lib/cjs/appui-react/utils/Placement.js.map +1 -0
  397. package/lib/cjs/appui-react/utils/PropsHelper.js +4 -4
  398. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  399. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  400. package/lib/cjs/appui-react/widget-panels/Content.js +12 -11
  401. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  402. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  403. package/lib/cjs/appui-react/widget-panels/Frontstage.js +30 -23
  404. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  405. package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
  406. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  407. package/lib/cjs/appui-react/widget-panels/Tab.d.ts +1 -1
  408. package/lib/cjs/appui-react/widget-panels/Tab.d.ts.map +1 -1
  409. package/lib/cjs/appui-react/widget-panels/Tab.js +3 -4
  410. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  411. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  412. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  413. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +55 -68
  414. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  415. package/lib/cjs/appui-react/widget-panels/Toolbars.js +3 -2
  416. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  417. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +3 -1
  418. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  419. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +3 -1
  420. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  421. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  422. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  423. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  424. package/lib/cjs/appui-react/widgets/Widget.d.ts +2 -2
  425. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -1
  426. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  427. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +8 -3
  428. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  429. package/lib/cjs/appui-react/widgets/WidgetDef.js +61 -18
  430. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  431. package/lib/cjs/appui-react/widgets/WidgetHost.js +3 -2
  432. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  433. package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
  434. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  435. package/lib/cjs/appui-react.d.ts +3 -1
  436. package/lib/cjs/appui-react.d.ts.map +1 -1
  437. package/lib/cjs/appui-react.js +3 -3
  438. package/lib/cjs/appui-react.js.map +1 -1
  439. package/lib/esm/appui-react/UiFramework.d.ts +181 -10
  440. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  441. package/lib/esm/appui-react/UiFramework.js +301 -21
  442. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  443. package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  444. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +3 -2
  445. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  446. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  447. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  448. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  449. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  450. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  451. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +5 -7
  452. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  453. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  454. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  455. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  456. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  457. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  458. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  459. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  460. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +2 -1
  461. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  462. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +2 -2
  463. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  464. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  465. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  466. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  467. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  468. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  469. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +23 -16
  470. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  471. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  472. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  473. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  474. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  475. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  476. package/lib/esm/appui-react/configurableui/TimeTracker.js +2 -1
  477. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  478. package/lib/esm/appui-react/content/ContentLayout.js +12 -9
  479. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  480. package/lib/esm/appui-react/content/DefaultViewOverlay.js +4 -3
  481. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  482. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +14 -19
  483. package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -1
  484. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  485. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  486. package/lib/esm/appui-react/content/IModelViewport.js +8 -9
  487. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  488. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +2 -1
  489. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  490. package/lib/esm/appui-react/content/InternalContentViewManager.js +2 -2
  491. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  492. package/lib/esm/appui-react/content/split-pane/SplitPane.js +12 -10
  493. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  494. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  495. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  496. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  497. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  498. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  499. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  500. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  501. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  502. package/lib/esm/appui-react/dialog/ContentDialog.js +6 -3
  503. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  504. package/lib/esm/appui-react/dialog/DialogManagerBase.js +3 -2
  505. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  506. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  507. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  508. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  509. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  510. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  511. package/lib/esm/appui-react/frontstage/FrontstageDef.js +21 -78
  512. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  513. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  514. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  515. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  516. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  517. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  518. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +1 -2
  519. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  520. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  521. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +7 -6
  522. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  523. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
  524. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  525. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts +6 -0
  526. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  527. package/lib/esm/appui-react/hooks/useActiveToolId.js +20 -0
  528. package/lib/esm/appui-react/hooks/useActiveToolId.js.map +1 -0
  529. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  530. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  531. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts +15 -0
  532. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  533. package/lib/esm/appui-react/hooks/useConditionalValue.js +39 -0
  534. package/lib/esm/appui-react/hooks/useConditionalValue.js.map +1 -0
  535. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  536. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  537. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +13 -8
  538. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  539. package/lib/esm/appui-react/keyins/Keyins.d.ts +35 -0
  540. package/lib/esm/appui-react/keyins/Keyins.d.ts.map +1 -0
  541. package/lib/esm/appui-react/keyins/Keyins.js +50 -0
  542. package/lib/esm/appui-react/keyins/Keyins.js.map +1 -0
  543. package/lib/esm/appui-react/layers.scss +1 -1
  544. package/lib/esm/appui-react/layout/StandardLayout.d.ts.map +1 -1
  545. package/lib/esm/appui-react/layout/StandardLayout.js +10 -10
  546. package/lib/esm/appui-react/layout/StandardLayout.js.map +1 -1
  547. package/lib/esm/appui-react/layout/_widgetopacity.scss +3 -1
  548. package/lib/esm/appui-react/layout/base/DragManager.js +2 -1
  549. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  550. package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
  551. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  552. package/lib/esm/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  553. package/lib/esm/appui-react/layout/base/usePointerCaptor.js +3 -0
  554. package/lib/esm/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  555. package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
  556. package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
  557. package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
  558. package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  559. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +14 -12
  560. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  561. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  562. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  563. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +3 -2
  564. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  565. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  566. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  567. package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
  568. package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  569. package/lib/esm/appui-react/layout/widget/Content.d.ts.map +1 -1
  570. package/lib/esm/appui-react/layout/widget/Content.js +5 -5
  571. package/lib/esm/appui-react/layout/widget/Content.js.map +1 -1
  572. package/lib/esm/appui-react/layout/widget/ContentRenderer.js +2 -2
  573. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  574. package/lib/esm/appui-react/layout/widget/FloatingTab.js +6 -5
  575. package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
  576. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +4 -2
  577. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  578. package/lib/esm/appui-react/layout/widget/NavigationArea.scss +4 -1
  579. package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
  580. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  581. package/lib/esm/appui-react/layout/widget/Tab.js +4 -4
  582. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  583. package/lib/esm/appui-react/layout/widget/ToolsArea.scss +2 -0
  584. package/lib/esm/appui-react/layout/widget/Widget.d.ts.map +1 -1
  585. package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
  586. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  587. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  588. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  589. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +8 -5
  590. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  591. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  592. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  593. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  594. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
  595. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  596. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  597. package/lib/esm/appui-react/messages/MessageManager.js +6 -6
  598. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  599. package/lib/esm/appui-react/messages/MessageRenderer.js +17 -11
  600. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  601. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  602. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  603. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  604. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  605. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -2
  606. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  607. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  608. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  609. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -2
  610. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  611. package/lib/esm/appui-react/pickers/ViewSelector.js +6 -5
  612. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  613. package/lib/esm/appui-react/popup/CardPopup.d.ts +21 -9
  614. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  615. package/lib/esm/appui-react/popup/CardPopup.js +15 -7
  616. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  617. package/lib/esm/appui-react/popup/ComponentPopup.d.ts +18 -0
  618. package/lib/esm/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  619. package/lib/esm/appui-react/popup/ComponentPopup.js +31 -0
  620. package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -0
  621. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  622. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  623. package/lib/esm/appui-react/popup/HTMLElementPopup.js +1 -0
  624. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  625. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +4 -4
  626. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  627. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  628. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  629. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  630. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +19 -12
  631. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  632. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  633. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  634. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +9 -3
  635. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  636. package/lib/esm/appui-react/popup/PopupManager.d.ts +45 -9
  637. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  638. package/lib/esm/appui-react/popup/PopupManager.js +87 -14
  639. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  640. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +16 -6
  641. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  642. package/lib/esm/appui-react/popup/ToolbarPopup.js +9 -3
  643. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  644. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +3 -1
  645. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  646. package/lib/esm/appui-react/preview/PreviewFeatures.js +2 -2
  647. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  648. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  649. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  650. package/lib/esm/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  651. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  652. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  653. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  654. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +14 -0
  655. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  656. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.scss +10 -0
  657. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +7 -7
  658. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -1
  659. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +7 -7
  660. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  661. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +6 -6
  662. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  663. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  664. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +1 -1
  665. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -1
  666. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +4 -4
  667. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  668. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  669. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js +22 -0
  670. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  671. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  672. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  673. package/lib/esm/appui-react/preview/new-toolbars/Badge.js +16 -0
  674. package/lib/esm/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  675. package/lib/esm/appui-react/preview/new-toolbars/Badge.scss +13 -0
  676. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  677. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  678. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +33 -0
  679. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  680. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  681. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  682. package/lib/esm/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +5 -10
  683. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  684. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  685. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  686. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  687. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +74 -0
  688. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  689. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  690. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  691. package/lib/esm/appui-react/preview/new-toolbars/Item.js +49 -0
  692. package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -0
  693. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  694. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  695. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +34 -0
  696. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  697. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  698. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  699. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +81 -0
  700. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  701. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  702. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  703. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  704. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js +36 -0
  705. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  706. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  707. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  708. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js +89 -0
  709. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  710. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +2 -1
  711. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  712. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  713. package/lib/esm/appui-react/redux/SessionState.d.ts +15 -3
  714. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  715. package/lib/esm/appui-react/redux/SessionState.js +8 -1
  716. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  717. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
  718. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  719. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  720. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  721. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  722. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  723. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  724. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  725. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  726. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +40 -46
  727. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  728. package/lib/esm/appui-react/shared/ConditionalValue.d.ts +17 -0
  729. package/lib/esm/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  730. package/lib/esm/appui-react/shared/ConditionalValue.js +13 -0
  731. package/lib/esm/appui-react/shared/ConditionalValue.js.map +1 -0
  732. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
  733. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  734. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  735. package/lib/esm/appui-react/shared/ItemProps.d.ts +13 -2
  736. package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
  737. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  738. package/lib/esm/appui-react/shared/MenuItem.d.ts +21 -2
  739. package/lib/esm/appui-react/shared/MenuItem.d.ts.map +1 -1
  740. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  741. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +16 -11
  742. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  743. package/lib/esm/appui-react/statusbar/Indicator.js +2 -1
  744. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  745. package/lib/esm/appui-react/statusbar/Overflow.d.ts.map +1 -1
  746. package/lib/esm/appui-react/statusbar/Overflow.js +3 -3
  747. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  748. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -1
  749. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  750. package/lib/esm/appui-react/statusbar/StatusBar.js +6 -4
  751. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  752. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  753. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  754. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  755. package/lib/esm/appui-react/statusbar/{Popup.d.ts → popup/Popup.d.ts} +2 -1
  756. package/lib/esm/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  757. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.js +8 -9
  758. package/lib/esm/appui-react/statusbar/popup/Popup.js.map +1 -0
  759. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  760. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  761. package/lib/esm/appui-react/statusfields/ActivityCenter.js +4 -4
  762. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  763. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +0 -1
  764. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  765. package/lib/esm/appui-react/statusfields/MessageCenter.js +4 -4
  766. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  767. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  768. package/lib/esm/appui-react/statusfields/SectionsField.js +7 -10
  769. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  770. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  771. package/lib/esm/appui-react/statusfields/SelectionScope.js +4 -4
  772. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  773. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  774. package/lib/esm/appui-react/statusfields/SnapMode.js +14 -12
  775. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  776. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  777. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  778. package/lib/esm/appui-react/statusfields/ViewAttributes.js +12 -20
  779. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  780. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  781. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +3 -3
  782. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  783. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  784. package/lib/esm/appui-react/theme/ThemeManager.js +3 -2
  785. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  786. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  787. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  788. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  789. package/lib/esm/appui-react/toolbar/Toolbar.d.ts +4 -3
  790. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  791. package/lib/esm/appui-react/toolbar/Toolbar.js +29 -5
  792. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  793. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  794. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  795. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +15 -12
  796. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  797. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  798. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +5 -6
  799. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  800. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  801. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  802. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  803. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  804. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  805. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  806. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +18 -11
  807. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  808. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  809. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  810. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  811. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  812. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  813. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  814. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  815. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  816. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  817. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  818. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  819. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  820. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +100 -141
  821. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  822. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
  823. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  824. package/lib/esm/appui-react/useTranslation.d.ts +10 -0
  825. package/lib/esm/appui-react/useTranslation.d.ts.map +1 -0
  826. package/lib/esm/appui-react/useTranslation.js +16 -0
  827. package/lib/esm/appui-react/useTranslation.js.map +1 -0
  828. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  829. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  830. package/lib/esm/appui-react/utils/Placement.d.ts +35 -0
  831. package/lib/esm/appui-react/utils/Placement.d.ts.map +1 -0
  832. package/lib/esm/appui-react/utils/Placement.js +57 -0
  833. package/lib/esm/appui-react/utils/Placement.js.map +1 -0
  834. package/lib/esm/appui-react/utils/PropsHelper.js +4 -4
  835. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  836. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  837. package/lib/esm/appui-react/widget-panels/Content.js +12 -11
  838. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  839. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  840. package/lib/esm/appui-react/widget-panels/Frontstage.js +30 -23
  841. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  842. package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
  843. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  844. package/lib/esm/appui-react/widget-panels/Tab.d.ts +1 -1
  845. package/lib/esm/appui-react/widget-panels/Tab.d.ts.map +1 -1
  846. package/lib/esm/appui-react/widget-panels/Tab.js +2 -3
  847. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  848. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  849. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  850. package/lib/esm/appui-react/widget-panels/ToolSettings.js +53 -66
  851. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  852. package/lib/esm/appui-react/widget-panels/Toolbars.js +3 -2
  853. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  854. package/lib/esm/appui-react/widget-panels/Toolbars.scss +3 -1
  855. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  856. package/lib/esm/appui-react/widgets/BackstageAppButton.js +3 -1
  857. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  858. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  859. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  860. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  861. package/lib/esm/appui-react/widgets/Widget.d.ts +2 -2
  862. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -1
  863. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  864. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +8 -3
  865. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  866. package/lib/esm/appui-react/widgets/WidgetDef.js +59 -17
  867. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  868. package/lib/esm/appui-react/widgets/WidgetHost.js +3 -2
  869. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  870. package/lib/esm/appui-react/widgets/useWidget.js +1 -1
  871. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  872. package/lib/esm/appui-react.d.ts +3 -1
  873. package/lib/esm/appui-react.d.ts.map +1 -1
  874. package/lib/esm/appui-react.js +3 -1
  875. package/lib/esm/appui-react.js.map +1 -1
  876. package/lib/public/locales/en/UiFramework.json +7 -1
  877. package/package.json +10 -8
  878. package/lib/cjs/appui-react/layout/footer/Popup.d.ts +0 -12
  879. package/lib/cjs/appui-react/layout/footer/Popup.d.ts.map +0 -1
  880. package/lib/cjs/appui-react/layout/footer/Popup.js.map +0 -1
  881. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  882. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  883. package/lib/cjs/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  884. package/lib/cjs/appui-react/statusbar/Popup.d.ts.map +0 -1
  885. package/lib/cjs/appui-react/statusbar/Popup.js.map +0 -1
  886. package/lib/esm/appui-react/layout/footer/Popup.d.ts +0 -12
  887. package/lib/esm/appui-react/layout/footer/Popup.d.ts.map +0 -1
  888. package/lib/esm/appui-react/layout/footer/Popup.js.map +0 -1
  889. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  890. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  891. package/lib/esm/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  892. package/lib/esm/appui-react/statusbar/Popup.d.ts.map +0 -1
  893. package/lib/esm/appui-react/statusbar/Popup.js.map +0 -1
@@ -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":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,+BAA+B,CAAC;AACvC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,eAAe,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAc7C,IAAI,sBAAsB,GAAG,CAAC,CAAC;AAE/B,SAAS,cAAc,CAAC,EAAmB;IACzC,MAAM,KAAK,GACT,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACvE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAkC;IACvE,MAAM,EACJ,SAAS,EACT,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,GAAG,UAAU,EACd,GAAG,KAAK,CAAC;IAEV,MAAM,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,sBAAsB,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAwB,SAAS,CAAC,CAAC;IAClE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC7E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAC5C,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAClD,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAC5C,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAClD,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAC5C,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAClD,CAAC;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CACpD,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CACtD,CAAC;IACF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAC1D,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CACrD,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAqB,aAAa,CAAC,CAAC;IAC9E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAqB,aAAa,CAAC,CAAC;IAC9E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAqB,aAAa,CAAC,CAAC;IAC9E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAChD,SAAS,CACV,CAAC;IACF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CACtD,SAAS,CACV,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAuB,SAAS,CAAC,CAAC;IAC1E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAuB,SAAS,CAAC,CAAC;IAC1E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAuB,SAAS,CAAC,CAAC;IAC1E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC9C,YAAY,CACb,CAAC;IACF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CACpD,eAAe,CAChB,CAAC;IACF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CACxC,SAAS,CACV,CAAC;IACF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CACxC,SAAS,CACV,CAAC;IACF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CACxC,SAAS,CACV,CAAC;IACF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAEhD,SAAS,CAAC,CAAC;IACb,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAEtD,SAAS,CAAC,CAAC;IAEb,MAAM,aAAa,GAAG,CAAC,KAAgB,EAAE,EAAE;QACzC,QAAQ,KAAK,EAAE;YACb,KAAK,SAAS,CAAC,MAAM;gBACnB,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;YAC/B,KAAK,SAAS,CAAC,MAAM;gBACnB,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;YAC/B,KAAK,SAAS,CAAC,MAAM;gBACnB,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;YAC/B,KAAK,SAAS,CAAC,UAAU;gBACvB,OAAO,UAAU,CAAC,aAAa,CAAC,CAAC;YACnC,KAAK,SAAS,CAAC,SAAS;gBACtB,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC;SACvC;IACH,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAA4B,EAAE,EAAE;QACzE,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1E,IAAI,UAAU,EAAE;YACd,IAAI,QAAQ,CAAC,aAAa,KAAK,UAAU;gBAAE,OAAO,SAAS,CAAC;YAC5D,OAAO,UAAU,CAAC;SACnB;QAED,MAAM,YAAY,GAAG;YACnB,SAAS;YACT,SAAS;YACT,SAAS;YACT,aAAa;YACb,gBAAgB;SACjB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC;QAElE,mDAAmD;QACnD,IAAI,YAAY;YAAE,OAAO,SAAS,CAAC;QAEnC,gCAAgC;QAChC,IAAI,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,aAAa;YAAE,OAAO,aAAa,CAAC;QAExC,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,aAAa,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,oHAAoH;IACpH,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CACvC,CAAC,KAA4B,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,MAAM,EAAE,CAAC;IACjB,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,iBAAiB,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACxE,QAAQ,IAAI,CAAC,KAAK,EAAE;gBAClB,KAAK,SAAS,CAAC,MAAM;oBACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,MAAM;gBACR,KAAK,SAAS,CAAC,MAAM;oBACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,MAAM;gBACR,KAAK,SAAS,CAAC,MAAM;oBACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,MAAM;gBACR,KAAK,SAAS,CAAC,UAAU;oBACvB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,SAAS,CAAC,SAAS;oBACtB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,MAAM;aACT;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,iBAAiB,CAAC,4BAA4B,CAAC,WAAW,CAC/D,CAAC,IAAI,EAAE,EAAE;YACP,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;YAChC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,CACF,CAAC;IACJ,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,iBAAiB,CAAC,6BAA6B,CAAC,WAAW,CAAC,GAAG,EAAE;YACtE,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,iBAAiB,CAAC,6BAA6B,CAAC,WAAW,CAChE,CAAC,IAAI,EAAE,EAAE;YACP,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAC1C,CAAC,KAAgB,EAAE,WAAmB,EAAE,EAAE;QACxC,iBAAiB,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC9C,WAAW,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,QAAQ,CACN,aAAa,IAAI,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CACpE,CAAC;QAEF,OAAO,SAAS,CAAC,WAAW,CAAC,yBAAyB,CAAC,WAAW,CAChE,CAAC,IAAI,EAAE,EAAE;YACP,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACzC,CAAC,CACF,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,gBAAgB,GAAG,CACvB,OAAwC,EACxC,eAA8C,EAC9C,eAA8C,EACb,EAAE;YACnC,IAAI,UAA2C,CAAC;YAChD,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,OAAO,IAAI,eAAe,IAAI,eAAe,EAAE;gBACjD,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,IAAI,eAAe,EAAE;oBACnB,UAAU;wBACR,OAAO,eAAe,KAAK,QAAQ;4BACjC,CAAC,CAAC,eAAe;4BACjB,CAAC,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;oBAC1C,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;iBAC7D;gBACD,IAAI,eAAe,EAAE;oBACnB,UAAU;wBACR,OAAO,eAAe,KAAK,QAAQ;4BACjC,CAAC,CAAC,eAAe;4BACjB,CAAC,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;oBAC1C,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;iBACnD;aACF;YACD,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;QAEF,MAAM,yBAAyB,GAAG,CAAC,QAA6B,EAAE,EAAE;YAClE,SAAS,CACP,QAAQ;gBACN,CAAC,CAAC,gBAAgB,CACd,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,gBAAgB,EACzB,QAAQ,CAAC,gBAAgB,CAC1B;gBACH,CAAC,CAAC,SAAS,CACd,CAAC;YACF,SAAS,CACP,QAAQ;gBACN,CAAC,CAAC,gBAAgB,CACd,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,gBAAgB,EACzB,QAAQ,CAAC,gBAAgB,CAC1B;gBACH,CAAC,CAAC,SAAS,CACd,CAAC;YACF,SAAS,CACP,QAAQ;gBACN,CAAC,CAAC,gBAAgB,CACd,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,gBAAgB,EACzB,QAAQ,CAAC,gBAAgB,CAC1B;gBACH,CAAC,CAAC,SAAS,CACd,CAAC;YACF,aAAa,CACX,QAAQ;gBACN,CAAC,CAAC,gBAAgB,CACd,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,oBAAoB,EAC7B,QAAQ,CAAC,oBAAoB,CAC9B;gBACH,CAAC,CAAC,SAAS,CACd,CAAC;YACF,gBAAgB,CACd,QAAQ;gBACN,CAAC,CAAC,gBAAgB,CACd,QAAQ,CAAC,aAAa,EACtB,QAAQ,CAAC,uBAAuB,EAChC,QAAQ,CAAC,uBAAuB,CACjC;gBACH,CAAC,CAAC,SAAS,CACd,CAAC;YAEF,SAAS,CACP,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;gBACvC,CAAC,CAAC,QAAQ,CAAC,MAAM;gBACjB,CAAC,CAAC,aAAa,CAClB,CAAC;YACF,SAAS,CACP,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;gBACvC,CAAC,CAAC,QAAQ,CAAC,MAAM;gBACjB,CAAC,CAAC,aAAa,CAClB,CAAC;YACF,SAAS,CACP,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;gBACvC,CAAC,CAAC,QAAQ,CAAC,MAAM;gBACjB,CAAC,CAAC,aAAa,CAClB,CAAC;YACF,aAAa,CACX,QAAQ,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS;gBAC3C,CAAC,CAAC,QAAQ,CAAC,UAAU;gBACrB,CAAC,CAAC,SAAS,CACd,CAAC;YACF,gBAAgB,CACd,QAAQ,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS;gBAC9C,CAAC,CAAC,QAAQ,CAAC,aAAa;gBACxB,CAAC,CAAC,SAAS,CACd,CAAC;YAEF,QAAQ,CACN,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CACtE,CAAC;YACF,QAAQ,CACN,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CACtE,CAAC;YACF,QAAQ,CACN,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CACtE,CAAC;YACF,YAAY,CACV,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;gBAC1C,CAAC,CAAC,QAAQ,CAAC,SAAS;gBACpB,CAAC,CAAC,YAAY,CACjB,CAAC;YACF,eAAe,CACb,QAAQ,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS;gBAC7C,CAAC,CAAC,QAAQ,CAAC,YAAY;gBACvB,CAAC,CAAC,eAAe,CACpB,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,iBAAiB,CAAC,cAAc;YAClC,yBAAyB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAE9D,OAAO,iBAAiB,CAAC,gCAAgC,CAAC,WAAW,CACnE,GAAG,EAAE;YACH,yBAAyB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAC9D,CAAC,CACF,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,UAAU,CAC3B,+BAA+B,EAC/B,WAAW,KAAK,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,EAC1E,SAAS,CACV,CAAC;IAEF,MAAM,KAAK,GAAG,GAAG,CAAC;IAClB,MAAM,aAAa,GACjB,MAAM,KAAK,SAAS;QACpB,MAAM,CAAC,MAAM,KAAK,CAAC;QACnB,MAAM,KAAK,SAAS;QACpB,MAAM,CAAC,MAAM,KAAK,CAAC;QACnB,MAAM,KAAK,SAAS;QACpB,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAEtB,OAAO,CACL,6BAAK,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,KAAM,UAAU;QACrD,IAAI,KAAK,WAAW,CAAC,WAAW,IAAI,CACnC;YACE,oBAAC,kBAAkB,IACjB,GAAG,EAAE,SAAS,EACd,QAAQ,EAAE,KAAK,EACf,SAAS,EAAC,uBAAuB,EACjC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,CAAC,MAAM,EACvB,EAAE,EAAE,mBAAmB,cAAc,EAAE,iBAC3B,iBAAiB,EAC7B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,KAAK,EACxB,cAAc,EAAE,CAAC,WAAW,EAAE,EAAE,CAC9B,kBAAkB,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,EAEnD,YAAY,EAAE,gBAAgB,GAC9B;YACF,oBAAC,kBAAkB,IACjB,GAAG,EAAE,SAAS,EACd,QAAQ,EAAE,KAAK,EACf,SAAS,EAAC,uBAAuB,EACjC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,CAAC,MAAM,EACvB,EAAE,EAAE,mBAAmB,cAAc,EAAE,iBAC3B,iBAAiB,EAC7B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,KAAK,EACxB,cAAc,EAAE,CAAC,WAAW,EAAE,EAAE,CAC9B,kBAAkB,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,EAEnD,YAAY,EAAE,gBAAgB,GAC9B;YACD,KAAK,IAAI,CACR,oBAAC,kBAAkB,IACjB,GAAG,EAAE,SAAS,EACd,QAAQ,EAAE,KAAK,EACf,SAAS,EAAC,uBAAuB,EACjC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,CAAC,MAAM,EACvB,EAAE,EAAE,mBAAmB,cAAc,EAAE,iBAC3B,iBAAiB,EAC7B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,KAAK,EACxB,cAAc,EAAE,CAAC,WAAW,EAAE,EAAE,CAC9B,kBAAkB,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,EAEnD,YAAY,EAAE,gBAAgB,GAC9B,CACH,CACA,CACJ;QACA,IAAI,KAAK,WAAW,CAAC,KAAK,IAAI,CAC7B;YACE,oBAAC,kBAAkB,IACjB,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAC,8BAA8B,EACxC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,SAAS,CAAC,SAAS,EAC1B,EAAE,EAAE,0BAA0B,cAAc,EAAE,iBAClC,wBAAwB,EACpC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,YAAY,EACtB,iBAAiB,EAAE,KAAK,EACxB,cAAc,EAAE,CAAC,WAAW,EAAE,EAAE,CAC9B,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,EAEtD,YAAY,EAAE,gBAAgB,GAC9B;YACF,oBAAC,kBAAkB,IACjB,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAC,2BAA2B,EACrC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,SAAS,CAAC,UAAU,EAC3B,EAAE,EAAE,uBAAuB,cAAc,EAAE,iBAC/B,qBAAqB,EACjC,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,SAAS,EACnB,iBAAiB,EAAE,KAAK,EACxB,cAAc,EAAE,CAAC,WAAW,EAAE,EAAE,CAC9B,kBAAkB,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,EAEvD,YAAY,EAAE,gBAAgB,GAC9B,CACD,CACJ,CACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAI,GAAuB;IAC5C,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,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 \"./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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FrameworkAccuDraw.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/FrameworkAccuDraw.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccuDraw\n */\n\nimport { BeUiEvent } from \"@itwin/core-bentley\";\nimport type { BeButtonEvent } from \"@itwin/core-frontend\";\nimport {\n AccuDraw,\n CompassMode,\n IModelApp,\n ItemField,\n NotifyMessageDetails,\n OutputMessagePriority,\n QuantityType,\n RotationMode,\n} from \"@itwin/core-frontend\";\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport type { UiStateStorage } from \"@itwin/core-react\";\nimport { UiStateStorageStatus } from \"@itwin/core-react\";\nimport type { UserSettingsProvider } from \"../UiFramework\";\nimport { UiFramework } from \"../UiFramework\";\nimport {\n SyncUiEventDispatcher,\n SyncUiEventId,\n} from \"../syncui/SyncUiEventDispatcher\";\nimport type { AccuDrawUiSettings } from \"./AccuDrawUiSettings\";\n\n// cspell:ignore dont\n\nconst compassModeToKeyMap = new Map<CompassMode, string>([\n [CompassMode.Polar, \"polar\"],\n [CompassMode.Rectangular, \"rectangular\"],\n]);\n\nconst rotationModeToKeyMap = new Map<RotationMode, string>([\n [RotationMode.Top, \"top\"],\n [RotationMode.Front, \"front\"],\n [RotationMode.Side, \"side\"],\n [RotationMode.View, \"view\"],\n [RotationMode.ACS, \"ACS\"],\n [RotationMode.Context, \"context\"],\n]);\n\n/** Arguments for [[AccuDrawSetFieldFocusEvent]]\n * @beta */\nexport interface AccuDrawSetFieldFocusEventArgs {\n field: ItemField;\n}\n\n/** AccuDraw Set Field Focus event\n * @beta */\nexport class AccuDrawSetFieldFocusEvent extends BeUiEvent<AccuDrawSetFieldFocusEventArgs> {}\n\n/** Arguments for [[AccuDrawSetFieldValueToUiEvent]]\n * @beta */\nexport interface AccuDrawSetFieldValueToUiEventArgs {\n field: ItemField;\n value: number;\n formattedValue: string;\n}\n\n/** AccuDraw Set Field Value to Ui event\n * @beta */\nexport class AccuDrawSetFieldValueToUiEvent extends BeUiEvent<AccuDrawSetFieldValueToUiEventArgs> {}\n\n/** Arguments for [[AccuDrawSetFieldValueFromUiEvent]]\n * @beta */\nexport interface AccuDrawSetFieldValueFromUiEventArgs {\n field: ItemField;\n stringValue: string;\n}\n\n/** AccuDraw Set Field Value from Ui event\n * @beta */\nexport class AccuDrawSetFieldValueFromUiEvent extends BeUiEvent<AccuDrawSetFieldValueFromUiEventArgs> {}\n\n/** Arguments for [[AccuDrawSetFieldLockEvent]]\n * @beta */\nexport interface AccuDrawSetFieldLockEventArgs {\n field: ItemField;\n lock: boolean;\n}\n\n/** AccuDraw Set Field Lock event\n * @beta */\nexport class AccuDrawSetFieldLockEvent extends BeUiEvent<AccuDrawSetFieldLockEventArgs> {}\n\n/** Arguments for [[AccuDrawSetCompassModeEvent]]\n * @beta */\nexport interface AccuDrawSetCompassModeEventArgs {\n mode: CompassMode;\n}\n\n/** AccuDraw Set Compass Mode event\n * @beta */\nexport class AccuDrawSetCompassModeEvent extends BeUiEvent<AccuDrawSetCompassModeEventArgs> {}\n\n/** AccuDraw Grab Input Focus event\n * @beta */\nexport class AccuDrawGrabInputFocusEvent extends BeUiEvent<{}> {}\n\n/** AccuDraw Ui Settings Changed event\n * @beta */\nexport class AccuDrawUiSettingsChangedEvent extends BeUiEvent<{}> {}\n\n/** Subclass of `AccuDraw` in `@itwin/core-frontend` to be used to initialize `IModelApp`.\n *\n * This implementation will generate the required events for the AppUI provided UI to update correctly.\n *\n * ```ts\n * await IModelApp.startup({\n * accuDraw: new FrameworkAccuDraw()\n * });\n * ```\n * @beta\n */\nexport class FrameworkAccuDraw\n extends AccuDraw\n implements UserSettingsProvider\n{\n private static _displayNotifications = false;\n private static _uiSettings: AccuDrawUiSettings | undefined;\n private static _settingsNamespace = \"AppUiSettings\";\n private static _notificationsKey = \"AccuDrawNotifications\";\n public readonly providerId = \"FrameworkAccuDraw\";\n\n /** AccuDraw Set Field Focus event. */\n public static readonly onAccuDrawSetFieldFocusEvent =\n new AccuDrawSetFieldFocusEvent();\n /** AccuDraw Set Field Value to Ui event. */\n public static readonly onAccuDrawSetFieldValueToUiEvent =\n new AccuDrawSetFieldValueToUiEvent();\n /** AccuDraw Set Field Value from Ui event. */\n public static readonly onAccuDrawSetFieldValueFromUiEvent =\n new AccuDrawSetFieldValueFromUiEvent();\n /** AccuDraw Set Field Lock event. */\n public static readonly onAccuDrawSetFieldLockEvent =\n new AccuDrawSetFieldLockEvent();\n /** AccuDraw Set Mode event. */\n public static readonly onAccuDrawSetCompassModeEvent =\n new AccuDrawSetCompassModeEvent();\n /** AccuDraw Grab Input Focus event. */\n public static readonly onAccuDrawGrabInputFocusEvent =\n new AccuDrawGrabInputFocusEvent();\n\n /** Determines if AccuDraw.rotationMode === RotationMode.Top */\n public static readonly isTopRotationConditional = new ConditionalBooleanValue(\n () => IModelApp.accuDraw.rotationMode === RotationMode.Top,\n [SyncUiEventId.AccuDrawRotationChanged]\n );\n /** Determines if AccuDraw.rotationMode === RotationMode.Front */\n public static readonly isFrontRotationConditional =\n new ConditionalBooleanValue(\n () => IModelApp.accuDraw.rotationMode === RotationMode.Front,\n [SyncUiEventId.AccuDrawRotationChanged]\n );\n /** Determines if AccuDraw.rotationMode === RotationMode.Side */\n public static readonly isSideRotationConditional =\n new ConditionalBooleanValue(\n () => IModelApp.accuDraw.rotationMode === RotationMode.Side,\n [SyncUiEventId.AccuDrawRotationChanged]\n );\n /** Determines if AccuDraw.rotationMode === RotationMode.View */\n public static readonly isViewRotationConditional =\n new ConditionalBooleanValue(\n () => IModelApp.accuDraw.rotationMode === RotationMode.View,\n [SyncUiEventId.AccuDrawRotationChanged]\n );\n /** Determines if AccuDraw.rotationMode === RotationMode.ACS */\n public static readonly isACSRotationConditional = new ConditionalBooleanValue(\n () => IModelApp.accuDraw.rotationMode === RotationMode.ACS,\n [SyncUiEventId.AccuDrawRotationChanged]\n );\n /** Determines if AccuDraw.rotationMode === RotationMode.Context */\n public static readonly isContextRotationConditional =\n new ConditionalBooleanValue(\n () => IModelApp.accuDraw.rotationMode === RotationMode.Context,\n [SyncUiEventId.AccuDrawRotationChanged]\n );\n /** Determines if AccuDraw.compassMode === CompassMode.Polar */\n public static readonly isPolarModeConditional = new ConditionalBooleanValue(\n () => IModelApp.accuDraw.compassMode === CompassMode.Polar,\n [SyncUiEventId.AccuDrawCompassModeChanged]\n );\n /** Determines if AccuDraw.compassMode === CompassMode.Rectangular */\n public static readonly isRectangularModeConditional =\n new ConditionalBooleanValue(\n () => IModelApp.accuDraw.compassMode === CompassMode.Rectangular,\n [SyncUiEventId.AccuDrawCompassModeChanged]\n );\n\n /** AccuDraw Grab Input Focus event. */\n public static readonly onAccuDrawUiSettingsChangedEvent =\n new AccuDrawUiSettingsChangedEvent();\n\n /** Determines if notifications should be displayed for AccuDraw changes */\n public static get displayNotifications(): boolean {\n return FrameworkAccuDraw._displayNotifications;\n }\n public static set displayNotifications(v: boolean) {\n FrameworkAccuDraw._displayNotifications = v;\n void UiFramework.getUiStateStorage().saveSetting(\n this._settingsNamespace,\n this._notificationsKey,\n v\n );\n }\n\n /* @internal */\n public async loadUserSettings(storage: UiStateStorage): Promise<void> {\n const result = await storage.getSetting(\n FrameworkAccuDraw._settingsNamespace,\n FrameworkAccuDraw._notificationsKey\n );\n if (result.status === UiStateStorageStatus.Success)\n FrameworkAccuDraw._displayNotifications = result.setting;\n }\n\n /** AccuDraw User Interface settings */\n public static get uiStateStorage(): AccuDrawUiSettings | undefined {\n return FrameworkAccuDraw._uiSettings;\n }\n public static set uiStateStorage(v: AccuDrawUiSettings | undefined) {\n FrameworkAccuDraw._uiSettings = v;\n FrameworkAccuDraw.onAccuDrawUiSettingsChangedEvent.emit({});\n }\n\n constructor() {\n super();\n FrameworkAccuDraw.onAccuDrawSetFieldValueFromUiEvent.addListener(\n this.handleSetFieldValueFromUiEvent\n );\n UiFramework.registerUserSettingsProvider(this);\n }\n\n private handleSetFieldValueFromUiEvent = async (\n args: AccuDrawSetFieldValueFromUiEventArgs\n ) => {\n return this.processFieldInput(args.field, args.stringValue, false);\n };\n\n /** @internal */\n public override onCompassModeChange(): void {\n FrameworkAccuDraw.onAccuDrawSetCompassModeEvent.emit({\n mode: this.compassMode,\n });\n SyncUiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.AccuDrawCompassModeChanged\n );\n\n this.outputCompassModeMessage();\n }\n\n /** @internal */\n public override onRotationModeChange(): void {\n SyncUiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.AccuDrawRotationChanged\n );\n\n this.outputRotationMessage();\n }\n\n /** @internal */\n public override onFieldLockChange(index: ItemField): void {\n FrameworkAccuDraw.onAccuDrawSetFieldLockEvent.emit({\n field: index,\n lock: this.getFieldLock(index),\n });\n }\n\n /** @internal */\n public override onFieldValueChange(index: ItemField): void {\n const value = this.getValueByIndex(index);\n const formattedValue = FrameworkAccuDraw.getFieldDisplayValue(index);\n FrameworkAccuDraw.onAccuDrawSetFieldValueToUiEvent.emit({\n field: index,\n value,\n formattedValue,\n });\n }\n\n private fieldValuesChanged(): void {\n this.onFieldValueChange(ItemField.X_Item);\n this.onFieldValueChange(ItemField.Y_Item);\n this.onFieldValueChange(ItemField.Z_Item);\n this.onFieldValueChange(ItemField.ANGLE_Item);\n this.onFieldValueChange(ItemField.DIST_Item);\n }\n\n /** @internal */\n public override setFocusItem(index: ItemField): void {\n FrameworkAccuDraw.onAccuDrawSetFieldFocusEvent.emit({ field: index });\n }\n\n /** Implemented by sub-classes to update ui fields to show current deltas or coordinates when inactive.\n * Should also choose active x or y input field in rectangular mode based on cursor position when\n * axis isn't locked to support \"smart lock\".\n * @internal\n */\n public override onMotion(_ev: BeButtonEvent): void {\n if (!this.isEnabled || this.isDeactivated || UiFramework.isContextMenuOpen)\n return;\n\n this.fieldValuesChanged();\n\n if (!this.dontMoveFocus) this.setFocusItem(this.newFocus);\n }\n\n /** Determine if the AccuDraw UI has focus\n * @internal\n */\n public override get hasInputFocus(): boolean {\n let hasFocus = false;\n const el = document.querySelector(\"div.uifw-accudraw-field-container\");\n if (el) hasFocus = el.contains(document.activeElement);\n return hasFocus;\n }\n\n /** Implement this method to set focus to the AccuDraw UI.\n * @internal\n */\n public override grabInputFocus(): void {\n FrameworkAccuDraw.onAccuDrawGrabInputFocusEvent.emit({});\n }\n\n /** Gets the display value for an AccuDraw field */\n public static getFieldDisplayValue(index: ItemField): string {\n const value = IModelApp.accuDraw.getValueByIndex(index);\n let formattedValue = value.toString();\n\n const formatterSpec =\n IModelApp.quantityFormatter.findFormatterSpecByQuantityType(\n ItemField.ANGLE_Item === index\n ? QuantityType.Angle\n : QuantityType.Length\n );\n // istanbul ignore else\n if (formatterSpec)\n formattedValue = IModelApp.quantityFormatter.formatQuantity(\n value,\n formatterSpec\n );\n\n return formattedValue;\n }\n\n /** AccuDraw Set Field Value from Ui. */\n public static setFieldValueFromUi(\n field: ItemField,\n stringValue: string\n ): void {\n FrameworkAccuDraw.onAccuDrawSetFieldValueFromUiEvent.emit({\n field,\n stringValue,\n });\n }\n\n private outputInfoMessage(message: string): void {\n // istanbul ignore else\n if (FrameworkAccuDraw.displayNotifications)\n IModelApp.notifications.outputMessage(\n new NotifyMessageDetails(OutputMessagePriority.Info, message)\n );\n }\n\n private outputCompassModeMessage(): void {\n if (FrameworkAccuDraw.displayNotifications) {\n let modeKey = compassModeToKeyMap.get(this.compassMode);\n // istanbul ignore if\n if (modeKey === undefined) modeKey = \"polar\";\n const modeString = UiFramework.translate(\n `accuDraw.compassMode.${modeKey}`\n );\n const modeMessage = UiFramework.localization.getLocalizedString(\n \"accuDraw.compassModeSet\",\n { modeString, ns: UiFramework.localizationNamespace }\n );\n this.outputInfoMessage(modeMessage);\n }\n }\n\n private outputRotationMessage(): void {\n if (FrameworkAccuDraw.displayNotifications) {\n let rotationKey = rotationModeToKeyMap.get(this.rotationMode);\n // istanbul ignore if\n if (rotationKey === undefined) rotationKey = \"top\";\n const rotationString = UiFramework.translate(\n `accuDraw.rotation.${rotationKey}`\n );\n const rotationMessage = UiFramework.localization.getLocalizedString(\n \"accuDraw.rotationSet\",\n { rotationString, ns: UiFramework.localizationNamespace }\n );\n this.outputInfoMessage(rotationMessage);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"FrameworkAccuDraw.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/FrameworkAccuDraw.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccuDraw\n */\n\nimport { BeUiEvent } from \"@itwin/core-bentley\";\nimport type { BeButtonEvent } from \"@itwin/core-frontend\";\nimport {\n AccuDraw,\n CompassMode,\n IModelApp,\n ItemField,\n NotifyMessageDetails,\n OutputMessagePriority,\n QuantityType,\n RotationMode,\n} from \"@itwin/core-frontend\";\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport type { UiStateStorage } from \"@itwin/core-react\";\nimport { UiStateStorageStatus } from \"@itwin/core-react\";\nimport type { UserSettingsProvider } from \"../UiFramework\";\nimport { UiFramework } from \"../UiFramework\";\nimport {\n SyncUiEventDispatcher,\n SyncUiEventId,\n} from \"../syncui/SyncUiEventDispatcher\";\nimport type { AccuDrawUiSettings } from \"./AccuDrawUiSettings\";\n\n// cspell:ignore dont\n\nconst compassModeToKeyMap = new Map<CompassMode, string>([\n [CompassMode.Polar, \"polar\"],\n [CompassMode.Rectangular, \"rectangular\"],\n]);\n\nconst rotationModeToKeyMap = new Map<RotationMode, string>([\n [RotationMode.Top, \"top\"],\n [RotationMode.Front, \"front\"],\n [RotationMode.Side, \"side\"],\n [RotationMode.View, \"view\"],\n [RotationMode.ACS, \"ACS\"],\n [RotationMode.Context, \"context\"],\n]);\n\n/** Arguments for [[AccuDrawSetFieldFocusEvent]]\n * @beta */\nexport interface AccuDrawSetFieldFocusEventArgs {\n field: ItemField;\n}\n\n/** AccuDraw Set Field Focus event\n * @beta */\nexport class AccuDrawSetFieldFocusEvent extends BeUiEvent<AccuDrawSetFieldFocusEventArgs> {}\n\n/** Arguments for [[AccuDrawSetFieldValueToUiEvent]]\n * @beta */\nexport interface AccuDrawSetFieldValueToUiEventArgs {\n field: ItemField;\n value: number;\n formattedValue: string;\n}\n\n/** AccuDraw Set Field Value to Ui event\n * @beta */\nexport class AccuDrawSetFieldValueToUiEvent extends BeUiEvent<AccuDrawSetFieldValueToUiEventArgs> {}\n\n/** Arguments for [[AccuDrawSetFieldValueFromUiEvent]]\n * @beta */\nexport interface AccuDrawSetFieldValueFromUiEventArgs {\n field: ItemField;\n stringValue: string;\n}\n\n/** AccuDraw Set Field Value from Ui event\n * @beta */\nexport class AccuDrawSetFieldValueFromUiEvent extends BeUiEvent<AccuDrawSetFieldValueFromUiEventArgs> {}\n\n/** Arguments for [[AccuDrawSetFieldLockEvent]]\n * @beta */\nexport interface AccuDrawSetFieldLockEventArgs {\n field: ItemField;\n lock: boolean;\n}\n\n/** AccuDraw Set Field Lock event\n * @beta */\nexport class AccuDrawSetFieldLockEvent extends BeUiEvent<AccuDrawSetFieldLockEventArgs> {}\n\n/** Arguments for [[AccuDrawSetCompassModeEvent]]\n * @beta */\nexport interface AccuDrawSetCompassModeEventArgs {\n mode: CompassMode;\n}\n\n/** AccuDraw Set Compass Mode event\n * @beta */\nexport class AccuDrawSetCompassModeEvent extends BeUiEvent<AccuDrawSetCompassModeEventArgs> {}\n\n/** AccuDraw Grab Input Focus event\n * @beta */\nexport class AccuDrawGrabInputFocusEvent extends BeUiEvent<{}> {}\n\n/** AccuDraw Ui Settings Changed event\n * @beta */\nexport class AccuDrawUiSettingsChangedEvent extends BeUiEvent<{}> {}\n\n/** Subclass of `AccuDraw` in `@itwin/core-frontend` to be used to initialize `IModelApp`.\n *\n * This implementation will generate the required events for the AppUI provided UI to update correctly.\n *\n * ```ts\n * await IModelApp.startup({\n * accuDraw: new FrameworkAccuDraw()\n * });\n * ```\n * @beta\n */\nexport class FrameworkAccuDraw\n extends AccuDraw\n implements UserSettingsProvider\n{\n private static _displayNotifications = false;\n private static _uiSettings: AccuDrawUiSettings | undefined;\n private static _settingsNamespace = \"AppUiSettings\";\n private static _notificationsKey = \"AccuDrawNotifications\";\n public readonly providerId = \"FrameworkAccuDraw\";\n\n /** AccuDraw Set Field Focus event. */\n public static readonly onAccuDrawSetFieldFocusEvent =\n new AccuDrawSetFieldFocusEvent();\n /** AccuDraw Set Field Value to Ui event. */\n public static readonly onAccuDrawSetFieldValueToUiEvent =\n new AccuDrawSetFieldValueToUiEvent();\n /** AccuDraw Set Field Value from Ui event. */\n public static readonly onAccuDrawSetFieldValueFromUiEvent =\n new AccuDrawSetFieldValueFromUiEvent();\n /** AccuDraw Set Field Lock event. */\n public static readonly onAccuDrawSetFieldLockEvent =\n new AccuDrawSetFieldLockEvent();\n /** AccuDraw Set Mode event. */\n public static readonly onAccuDrawSetCompassModeEvent =\n new AccuDrawSetCompassModeEvent();\n /** AccuDraw Grab Input Focus event. */\n public static readonly onAccuDrawGrabInputFocusEvent =\n new AccuDrawGrabInputFocusEvent();\n\n /** Determines if AccuDraw.rotationMode === RotationMode.Top */\n public static readonly isTopRotationConditional = new ConditionalBooleanValue(\n () => IModelApp.accuDraw.rotationMode === RotationMode.Top,\n [SyncUiEventId.AccuDrawRotationChanged]\n );\n /** Determines if AccuDraw.rotationMode === RotationMode.Front */\n public static readonly isFrontRotationConditional =\n new ConditionalBooleanValue(\n () => IModelApp.accuDraw.rotationMode === RotationMode.Front,\n [SyncUiEventId.AccuDrawRotationChanged]\n );\n /** Determines if AccuDraw.rotationMode === RotationMode.Side */\n public static readonly isSideRotationConditional =\n new ConditionalBooleanValue(\n () => IModelApp.accuDraw.rotationMode === RotationMode.Side,\n [SyncUiEventId.AccuDrawRotationChanged]\n );\n /** Determines if AccuDraw.rotationMode === RotationMode.View */\n public static readonly isViewRotationConditional =\n new ConditionalBooleanValue(\n () => IModelApp.accuDraw.rotationMode === RotationMode.View,\n [SyncUiEventId.AccuDrawRotationChanged]\n );\n /** Determines if AccuDraw.rotationMode === RotationMode.ACS */\n public static readonly isACSRotationConditional = new ConditionalBooleanValue(\n () => IModelApp.accuDraw.rotationMode === RotationMode.ACS,\n [SyncUiEventId.AccuDrawRotationChanged]\n );\n /** Determines if AccuDraw.rotationMode === RotationMode.Context */\n public static readonly isContextRotationConditional =\n new ConditionalBooleanValue(\n () => IModelApp.accuDraw.rotationMode === RotationMode.Context,\n [SyncUiEventId.AccuDrawRotationChanged]\n );\n /** Determines if AccuDraw.compassMode === CompassMode.Polar */\n public static readonly isPolarModeConditional = new ConditionalBooleanValue(\n () => IModelApp.accuDraw.compassMode === CompassMode.Polar,\n [SyncUiEventId.AccuDrawCompassModeChanged]\n );\n /** Determines if AccuDraw.compassMode === CompassMode.Rectangular */\n public static readonly isRectangularModeConditional =\n new ConditionalBooleanValue(\n () => IModelApp.accuDraw.compassMode === CompassMode.Rectangular,\n [SyncUiEventId.AccuDrawCompassModeChanged]\n );\n\n /** AccuDraw Grab Input Focus event. */\n public static readonly onAccuDrawUiSettingsChangedEvent =\n new AccuDrawUiSettingsChangedEvent();\n\n /** Determines if notifications should be displayed for AccuDraw changes */\n public static get displayNotifications(): boolean {\n return FrameworkAccuDraw._displayNotifications;\n }\n public static set displayNotifications(v: boolean) {\n FrameworkAccuDraw._displayNotifications = v;\n void UiFramework.getUiStateStorage().saveSetting(\n this._settingsNamespace,\n this._notificationsKey,\n v\n );\n }\n\n /* @internal */\n public async loadUserSettings(storage: UiStateStorage): Promise<void> {\n const result = await storage.getSetting(\n FrameworkAccuDraw._settingsNamespace,\n FrameworkAccuDraw._notificationsKey\n );\n if (result.status === UiStateStorageStatus.Success)\n FrameworkAccuDraw._displayNotifications = result.setting;\n }\n\n /** AccuDraw User Interface settings */\n public static get uiStateStorage(): AccuDrawUiSettings | undefined {\n return FrameworkAccuDraw._uiSettings;\n }\n public static set uiStateStorage(v: AccuDrawUiSettings | undefined) {\n FrameworkAccuDraw._uiSettings = v;\n FrameworkAccuDraw.onAccuDrawUiSettingsChangedEvent.emit({});\n }\n\n constructor() {\n super();\n FrameworkAccuDraw.onAccuDrawSetFieldValueFromUiEvent.addListener(\n this.handleSetFieldValueFromUiEvent\n );\n UiFramework.registerUserSettingsProvider(this);\n }\n\n private handleSetFieldValueFromUiEvent = async (\n args: AccuDrawSetFieldValueFromUiEventArgs\n ) => {\n return this.processFieldInput(args.field, args.stringValue, false);\n };\n\n /** @internal */\n public override onCompassModeChange(): void {\n FrameworkAccuDraw.onAccuDrawSetCompassModeEvent.emit({\n mode: this.compassMode,\n });\n SyncUiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.AccuDrawCompassModeChanged\n );\n\n this.outputCompassModeMessage();\n }\n\n /** @internal */\n public override onRotationModeChange(): void {\n SyncUiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.AccuDrawRotationChanged\n );\n\n this.outputRotationMessage();\n }\n\n /** @internal */\n public override onFieldLockChange(index: ItemField): void {\n FrameworkAccuDraw.onAccuDrawSetFieldLockEvent.emit({\n field: index,\n lock: this.getFieldLock(index),\n });\n }\n\n /** @internal */\n public override onFieldValueChange(index: ItemField): void {\n const value = this.getValueByIndex(index);\n const formattedValue = FrameworkAccuDraw.getFieldDisplayValue(index);\n FrameworkAccuDraw.onAccuDrawSetFieldValueToUiEvent.emit({\n field: index,\n value,\n formattedValue,\n });\n }\n\n private fieldValuesChanged(): void {\n this.onFieldValueChange(ItemField.X_Item);\n this.onFieldValueChange(ItemField.Y_Item);\n this.onFieldValueChange(ItemField.Z_Item);\n this.onFieldValueChange(ItemField.ANGLE_Item);\n this.onFieldValueChange(ItemField.DIST_Item);\n }\n\n /** @internal */\n public override setFocusItem(index: ItemField): void {\n FrameworkAccuDraw.onAccuDrawSetFieldFocusEvent.emit({ field: index });\n }\n\n /** Implemented by sub-classes to update ui fields to show current deltas or coordinates when inactive.\n * Should also choose active x or y input field in rectangular mode based on cursor position when\n * axis isn't locked to support \"smart lock\".\n * @internal\n */\n public override onMotion(_ev: BeButtonEvent): void {\n if (!this.isEnabled || this.isDeactivated || UiFramework.isContextMenuOpen)\n return;\n\n this.fieldValuesChanged();\n\n if (!this.dontMoveFocus) this.setFocusItem(this.newFocus);\n }\n\n /** Determine if the AccuDraw UI has focus\n * @internal\n */\n public override get hasInputFocus(): boolean {\n let hasFocus = false;\n const el = document.querySelector(\"div.uifw-accudraw-field-container\");\n if (el) hasFocus = el.contains(document.activeElement);\n return hasFocus;\n }\n\n /** Implement this method to set focus to the AccuDraw UI.\n * @internal\n */\n public override grabInputFocus(): void {\n FrameworkAccuDraw.onAccuDrawGrabInputFocusEvent.emit({});\n }\n\n /** Gets the display value for an AccuDraw field */\n public static getFieldDisplayValue(index: ItemField): string {\n const value = IModelApp.accuDraw.getValueByIndex(index);\n let formattedValue = value.toString();\n\n const formatterSpec =\n IModelApp.quantityFormatter.findFormatterSpecByQuantityType(\n ItemField.ANGLE_Item === index\n ? QuantityType.Angle\n : QuantityType.Length\n );\n // istanbul ignore else\n if (formatterSpec)\n formattedValue = IModelApp.quantityFormatter.formatQuantity(\n value,\n formatterSpec\n );\n\n return formattedValue;\n }\n\n /** AccuDraw Set Field Value from Ui. */\n public static setFieldValueFromUi(\n field: ItemField,\n stringValue: string\n ): void {\n FrameworkAccuDraw.onAccuDrawSetFieldValueFromUiEvent.emit({\n field,\n stringValue,\n });\n }\n\n private outputInfoMessage(message: string): void {\n // istanbul ignore else\n if (FrameworkAccuDraw.displayNotifications)\n IModelApp.notifications.outputMessage(\n new NotifyMessageDetails(OutputMessagePriority.Info, message)\n );\n }\n\n private outputCompassModeMessage(): void {\n if (FrameworkAccuDraw.displayNotifications) {\n const modeKey = compassModeToKeyMap.get(this.compassMode) ?? \"polar\";\n const modeString = UiFramework.translate(\n `accuDraw.compassMode.${modeKey}`\n );\n const modeMessage = UiFramework.translate(\"accuDraw.compassModeSet\", {\n modeString,\n });\n this.outputInfoMessage(modeMessage);\n }\n }\n\n private outputRotationMessage(): void {\n if (FrameworkAccuDraw.displayNotifications) {\n const rotationKey = rotationModeToKeyMap.get(this.rotationMode) ?? \"top\";\n const rotationString = UiFramework.translate(\n `accuDraw.rotation.${rotationKey}`\n );\n const rotationMessage = UiFramework.translate(\"accuDraw.rotationSet\", {\n rotationString,\n });\n this.outputInfoMessage(rotationMessage);\n }\n }\n}\n"]}
@@ -26,6 +26,7 @@ export function BackstageComposerActionItem({ item, }) {
26
26
  }
27
27
  /** @internal */
28
28
  export function BackstageComposerStageLauncher({ item, }) {
29
+ var _a;
29
30
  const manager = useBackstageManager();
30
31
  const handleClick = React.useCallback(() => {
31
32
  manager.close();
@@ -34,7 +35,7 @@ export function BackstageComposerStageLauncher({ item, }) {
34
35
  void UiFramework.frontstages.setActiveFrontstage(item.stageId);
35
36
  }, [manager, item.stageId]);
36
37
  const activeFrontstageId = useActiveFrontstageId();
37
- const isActive = ConditionalBooleanValue.getValue(item.isActive ?? item.stageId === activeFrontstageId);
38
+ const isActive = ConditionalBooleanValue.getValue((_a = item.isActive) !== null && _a !== void 0 ? _a : item.stageId === activeFrontstageId);
38
39
  return (React.createElement(NZ_BackstageItem, { itemId: item.id, providerId: isProviderItem(item) ? item.providerId : undefined, itemPriority: item.itemPriority, groupPriority: item.groupPriority, icon: React.createElement(Icon, { iconSpec: item.icon }), isActive: isActive, isDisabled: ConditionalBooleanValue.getValue(item.isDisabled), onClick: handleClick, subtitle: ConditionalStringValue.getValue(item.subtitle), badge: BadgeUtilities.getComponentForBadgeType(item.badge) }, ConditionalStringValue.getValue(item.label)));
39
40
  }
40
41
  /** Item of [[BackstageComposer]].
@@ -1 +1 @@
1
- {"version":3,"file":"BackstageComposerItem.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposerItem.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 Backstage\n */\n\nimport {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"@itwin/appui-abstract\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport { BadgeUtilities, Icon } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { UiFramework } from \"../UiFramework\";\nimport { useActiveFrontstageId } from \"../frontstage/FrontstageDef\";\nimport { BackstageItem as NZ_BackstageItem } from \"../layout/backstage/Item\";\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem\";\nimport type {\n BackstageActionItem,\n BackstageItem,\n BackstageStageLauncher,\n} from \"./BackstageItem\";\nimport { isBackstageStageLauncher } from \"./BackstageItem\";\nimport { useBackstageManager } from \"./BackstageManager\";\n\n/** @internal */\nexport interface BackstageComposerActionItemProps {\n readonly item: BackstageActionItem;\n}\n\n/** @internal */\nexport function BackstageComposerActionItem({\n item,\n}: BackstageComposerActionItemProps) {\n const manager = useBackstageManager();\n const handleClick = React.useCallback(() => {\n manager.close();\n item.execute();\n }, [manager, item]);\n return (\n <NZ_BackstageItem\n itemId={item.id}\n providerId={isProviderItem(item) ? item.providerId : undefined}\n itemPriority={item.itemPriority}\n groupPriority={item.groupPriority}\n icon={<Icon iconSpec={item.icon} />}\n isActive={ConditionalBooleanValue.getValue(item.isActive)}\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\n onClick={handleClick}\n subtitle={ConditionalStringValue.getValue(item.subtitle)}\n badge={BadgeUtilities.getComponentForBadgeType(item.badge)}\n >\n {ConditionalStringValue.getValue(item.label)}\n </NZ_BackstageItem>\n );\n}\n\n/** @internal */\nexport interface BackstageComposerStageLauncherProps {\n readonly item: BackstageStageLauncher;\n}\n\n/** @internal */\nexport function BackstageComposerStageLauncher({\n item,\n}: BackstageComposerStageLauncherProps) {\n const manager = useBackstageManager();\n const handleClick = React.useCallback(() => {\n manager.close();\n if (!UiFramework.frontstages.hasFrontstage(item.stageId))\n return Logger.logError(\n \"BackstageComposerStageLauncher\",\n `Frontstage with id '${item.stageId}' not found`\n );\n void UiFramework.frontstages.setActiveFrontstage(item.stageId);\n }, [manager, item.stageId]);\n const activeFrontstageId = useActiveFrontstageId();\n const isActive = ConditionalBooleanValue.getValue(\n item.isActive ?? item.stageId === activeFrontstageId\n );\n return (\n <NZ_BackstageItem\n itemId={item.id}\n providerId={isProviderItem(item) ? item.providerId : undefined}\n itemPriority={item.itemPriority}\n groupPriority={item.groupPriority}\n icon={<Icon iconSpec={item.icon} />}\n isActive={isActive}\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\n onClick={handleClick}\n subtitle={ConditionalStringValue.getValue(item.subtitle)}\n badge={BadgeUtilities.getComponentForBadgeType(item.badge)}\n >\n {ConditionalStringValue.getValue(item.label)}\n </NZ_BackstageItem>\n );\n}\n\n/** Props of [[BackstageComposerItem]] component.\n * @internal\n */\nexport interface BackstageComposerItemProps {\n /** Backstage item to render */\n readonly item: BackstageItem;\n}\n\n/** Item of [[BackstageComposer]].\n * @internal\n */\nexport function BackstageComposerItem({ item }: BackstageComposerItemProps) {\n if (isBackstageStageLauncher(item)) {\n return <BackstageComposerStageLauncher item={item} />;\n }\n return <BackstageComposerActionItem item={item} />;\n}\n"]}
1
+ {"version":3,"file":"BackstageComposerItem.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposerItem.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 Backstage\n */\n\nimport {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"@itwin/appui-abstract\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport { BadgeUtilities, Icon } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { UiFramework } from \"../UiFramework\";\nimport { useActiveFrontstageId } from \"../frontstage/FrontstageDef\";\nimport { BackstageItem as NZ_BackstageItem } from \"../layout/backstage/Item\";\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem\";\nimport type {\n BackstageActionItem,\n BackstageItem,\n BackstageStageLauncher,\n} from \"./BackstageItem\";\nimport { isBackstageStageLauncher } from \"./BackstageItem\";\nimport { useBackstageManager } from \"./BackstageManager\";\n\n/** @internal */\nexport interface BackstageComposerActionItemProps {\n readonly item: BackstageActionItem;\n}\n\n/** @internal */\nexport function BackstageComposerActionItem({\n item,\n}: BackstageComposerActionItemProps) {\n const manager = useBackstageManager();\n const handleClick = React.useCallback(() => {\n manager.close();\n item.execute();\n }, [manager, item]);\n return (\n <NZ_BackstageItem\n itemId={item.id}\n providerId={isProviderItem(item) ? item.providerId : undefined}\n itemPriority={item.itemPriority}\n groupPriority={item.groupPriority}\n icon={<Icon iconSpec={item.icon} />}\n isActive={ConditionalBooleanValue.getValue(item.isActive)}\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\n onClick={handleClick}\n subtitle={ConditionalStringValue.getValue(item.subtitle)}\n badge={BadgeUtilities.getComponentForBadgeType(item.badge)}\n >\n {ConditionalStringValue.getValue(item.label)}\n </NZ_BackstageItem>\n );\n}\n\n/** @internal */\nexport interface BackstageComposerStageLauncherProps {\n readonly item: BackstageStageLauncher;\n}\n\n/** @internal */\nexport function BackstageComposerStageLauncher({\n item,\n}: BackstageComposerStageLauncherProps) {\n const manager = useBackstageManager();\n const handleClick = React.useCallback(() => {\n manager.close();\n if (!UiFramework.frontstages.hasFrontstage(item.stageId))\n return Logger.logError(\n \"BackstageComposerStageLauncher\",\n `Frontstage with id '${item.stageId}' not found`\n );\n void UiFramework.frontstages.setActiveFrontstage(item.stageId);\n }, [manager, item.stageId]);\n const activeFrontstageId = useActiveFrontstageId();\n const isActive = ConditionalBooleanValue.getValue(\n item.isActive ?? item.stageId === activeFrontstageId\n );\n return (\n <NZ_BackstageItem\n itemId={item.id}\n providerId={isProviderItem(item) ? item.providerId : undefined}\n itemPriority={item.itemPriority}\n groupPriority={item.groupPriority}\n icon={<Icon iconSpec={item.icon} />}\n isActive={isActive}\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\n onClick={handleClick}\n subtitle={ConditionalStringValue.getValue(item.subtitle)}\n badge={BadgeUtilities.getComponentForBadgeType(item.badge)}\n >\n {ConditionalStringValue.getValue(item.label)}\n </NZ_BackstageItem>\n );\n}\n\n/** Props of [[BackstageComposerItem]] component.\n * @internal\n */\nexport interface BackstageComposerItemProps {\n /** Backstage item to render */\n readonly item: BackstageItem;\n}\n\n/** Item of [[BackstageComposer]].\n * @internal\n */\nexport function BackstageComposerItem({ item }: BackstageComposerItemProps) {\n if (isBackstageStageLauncher(item)) {\n return <BackstageComposerStageLauncher item={item} />;\n }\n return <BackstageComposerActionItem item={item} />;\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  /** @packageDocumentation
2
2
  * @module Backstage
3
3
  */
4
- import type { BadgeType, ConditionalBooleanValue, ConditionalStringValue } from "@itwin/appui-abstract";
5
- import type { IconSpec } from "@itwin/core-react";
4
+ import type { ConditionalBooleanValue, ConditionalStringValue } from "@itwin/appui-abstract";
5
+ import type { BadgeType, IconSpec } from "@itwin/core-react";
6
6
  /** Describes the data needed to insert a button into the backstage menu.
7
7
  * @public
8
8
  */