@itwin/appui-react 4.0.0-dev.13 → 4.0.0-dev.15

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 (646) hide show
  1. package/CHANGELOG.md +154 -1
  2. package/README.md +2 -2
  3. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  4. package/lib/cjs/appui-react/_variables.scss +11 -11
  5. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  8. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  10. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  11. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  12. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  15. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  17. package/lib/cjs/appui-react/accudraw/Calculator.scss +84 -84
  18. package/lib/cjs/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  19. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  21. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/MenuButton.scss +18 -18
  23. package/lib/cjs/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  24. package/lib/cjs/appui-react/accudraw/SquareButton.js.map +1 -1
  25. package/lib/cjs/appui-react/accudraw/SquareButton.scss +29 -29
  26. package/lib/cjs/appui-react/accudraw/backspace.svg +9 -9
  27. package/lib/cjs/appui-react/accudraw/constraint-2d.svg +11 -11
  28. package/lib/cjs/appui-react/accudraw/height-2.svg +10 -10
  29. package/lib/cjs/appui-react/accudraw/height.svg +11 -11
  30. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  31. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  32. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  34. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  35. package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
  36. package/lib/cjs/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  37. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  38. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  39. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  40. package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
  41. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +21 -21
  42. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  43. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
  44. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +1 -1
  45. package/lib/cjs/appui-react/childwindow/PopoutWidget.scss +10 -10
  46. package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
  47. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  48. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  49. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  50. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  51. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  52. package/lib/cjs/appui-react/configurableui/configurableui.scss +74 -74
  53. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  54. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  55. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  56. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  57. package/lib/cjs/appui-react/content/ContentLayout.scss +99 -99
  58. package/lib/cjs/appui-react/content/ContentLayoutManager.js.map +1 -1
  59. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  60. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  61. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +46 -46
  62. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  63. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  64. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  65. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  66. package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -1
  67. package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -1
  68. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  69. package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -1
  70. package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -1
  71. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  72. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  73. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  74. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  75. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  76. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  77. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  78. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  79. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  80. package/lib/cjs/appui-react/dialog/ContentDialog.scss +25 -25
  81. package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -1
  82. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  83. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  84. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  85. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  86. package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
  87. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  88. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  89. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  90. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  91. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  92. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  93. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +50 -50
  94. package/lib/cjs/appui-react/framework/FrameworkBackstage.js.map +1 -1
  95. package/lib/cjs/appui-react/framework/FrameworkChildWindows.js.map +1 -1
  96. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
  97. package/lib/cjs/appui-react/framework/FrameworkControls.js.map +1 -1
  98. package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
  99. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  100. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  101. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  102. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  103. package/lib/cjs/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  104. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  105. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  106. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  107. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  108. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  109. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +80 -80
  110. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  111. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +11 -11
  112. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  113. package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
  114. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  115. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  116. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  117. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  118. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  119. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  120. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  121. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  122. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  123. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
  124. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  125. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  126. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  127. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  128. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  129. package/lib/cjs/appui-react/messages/HollowIcon.js.map +1 -1
  130. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  131. package/lib/cjs/appui-react/messages/InputField.scss +82 -82
  132. package/lib/cjs/appui-react/messages/MessageLabel.js.map +1 -1
  133. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  134. package/lib/cjs/appui-react/messages/MessageSpan.js.map +1 -1
  135. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  136. package/lib/cjs/appui-react/messages/Pointer.scss +42 -42
  137. package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  138. package/lib/cjs/appui-react/messages/StatusMessageManager.js.map +1 -1
  139. package/lib/cjs/appui-react/messages/getToastCategory.js.map +1 -1
  140. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  141. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  142. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  143. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  144. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
  145. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  146. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  147. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  148. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  149. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +3 -0
  150. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  151. package/lib/cjs/appui-react/pickers/ListPicker.js +3 -1
  152. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  153. package/lib/cjs/appui-react/pickers/ListPicker.scss +306 -299
  154. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +6 -1
  155. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  156. package/lib/cjs/appui-react/pickers/ViewSelector.js +24 -9
  157. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  158. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  159. package/lib/cjs/appui-react/popup/CardPopup.scss +25 -25
  160. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  161. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  162. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  163. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +30 -30
  164. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  165. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  166. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  167. package/lib/cjs/appui-react/popup/PositionPopup.scss +28 -28
  168. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  169. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  170. package/lib/cjs/appui-react/redux/FrameworkState.js.map +1 -1
  171. package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
  172. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  173. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  174. package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
  175. package/lib/cjs/appui-react/redux/redux-ts.js.map +1 -1
  176. package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
  177. package/lib/cjs/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
  178. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  179. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  180. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  181. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  182. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
  183. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  184. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  185. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +65 -65
  186. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  187. package/lib/cjs/appui-react/shared/AnyItemDef.js.map +1 -1
  188. package/lib/cjs/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  189. package/lib/cjs/appui-react/shared/CommandItemDef.js.map +1 -1
  190. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  191. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  192. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  193. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  194. package/lib/cjs/appui-react/shared/ItemMap.js.map +1 -1
  195. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  196. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  197. package/lib/cjs/appui-react/shared/SelectionScope.js.map +1 -1
  198. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  199. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  200. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  201. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  202. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  203. package/lib/cjs/appui-react/statusbar/Field.js.map +1 -1
  204. package/lib/cjs/appui-react/statusbar/Field.scss +109 -109
  205. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  206. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  207. package/lib/cjs/appui-react/statusbar/LabelIndicator.scss +43 -43
  208. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  209. package/lib/cjs/appui-react/statusbar/Overflow.scss +27 -27
  210. package/lib/cjs/appui-react/statusbar/OverflowPanel.js.map +1 -1
  211. package/lib/cjs/appui-react/statusbar/OverflowPanel.scss +22 -22
  212. package/lib/cjs/appui-react/statusbar/Popup.js.map +1 -1
  213. package/lib/cjs/appui-react/statusbar/Separator.js.map +1 -1
  214. package/lib/cjs/appui-react/statusbar/Separator.scss +12 -12
  215. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  216. package/lib/cjs/appui-react/statusbar/StatusBar.scss +41 -41
  217. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  218. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  219. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  220. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  221. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  222. package/lib/cjs/appui-react/statusbar/dialog/Button.js.map +1 -1
  223. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  224. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  225. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  226. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  227. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  228. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  229. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  230. package/lib/cjs/appui-react/statusfields/SectionsField.scss +35 -35
  231. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  232. package/lib/cjs/appui-react/statusfields/SelectionInfo.scss +14 -14
  233. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  234. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +46 -46
  235. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  236. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  237. package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +10 -10
  238. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  239. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
  240. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  241. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
  242. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  243. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  244. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  245. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  246. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  247. package/lib/cjs/appui-react/toolbar/DragInteraction.js.map +1 -1
  248. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  249. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  250. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  251. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  252. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  253. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  254. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  255. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  256. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  257. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  258. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  259. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  260. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  261. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  262. package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
  263. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  264. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  265. package/lib/cjs/appui-react/toolsettings/ToolInformation.js.map +1 -1
  266. package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.js.map +1 -1
  267. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  268. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  269. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  270. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  271. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  272. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  273. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  274. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  275. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  276. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  277. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  278. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
  279. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  280. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  281. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  282. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  283. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  284. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  285. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  286. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  287. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  288. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  289. package/lib/cjs/appui-react/utils/ViewUtilities.js.map +1 -1
  290. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  291. package/lib/cjs/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  292. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  293. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +19 -19
  294. package/lib/cjs/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  295. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  296. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  297. package/lib/cjs/appui-react/widget-panels/StatusBar.scss +10 -10
  298. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  299. package/lib/cjs/appui-react/widget-panels/Tab.scss +14 -14
  300. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  301. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +41 -41
  302. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  303. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +20 -20
  304. package/lib/cjs/appui-react/widget-panels/useTransientState.js.map +1 -1
  305. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  306. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  307. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  308. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  309. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  310. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  311. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  312. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  313. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  314. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  315. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  316. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  317. package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
  318. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  319. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  320. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  321. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  322. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
  323. package/lib/cjs/appui-react.js.map +1 -1
  324. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  325. package/lib/esm/appui-react/_variables.scss +11 -11
  326. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  327. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  328. package/lib/esm/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  329. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  330. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  331. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  332. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  333. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  334. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  335. package/lib/esm/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  336. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  337. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  338. package/lib/esm/appui-react/accudraw/Calculator.scss +84 -84
  339. package/lib/esm/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  340. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  341. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  342. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  343. package/lib/esm/appui-react/accudraw/MenuButton.scss +18 -18
  344. package/lib/esm/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  345. package/lib/esm/appui-react/accudraw/SquareButton.js.map +1 -1
  346. package/lib/esm/appui-react/accudraw/SquareButton.scss +29 -29
  347. package/lib/esm/appui-react/accudraw/backspace.svg +9 -9
  348. package/lib/esm/appui-react/accudraw/constraint-2d.svg +11 -11
  349. package/lib/esm/appui-react/accudraw/height-2.svg +10 -10
  350. package/lib/esm/appui-react/accudraw/height.svg +11 -11
  351. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  352. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  353. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  354. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  355. package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  356. package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
  357. package/lib/esm/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  358. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  359. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  360. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  361. package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
  362. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +21 -21
  363. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  364. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
  365. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +1 -1
  366. package/lib/esm/appui-react/childwindow/PopoutWidget.scss +10 -10
  367. package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
  368. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  369. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  370. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  371. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  372. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  373. package/lib/esm/appui-react/configurableui/configurableui.scss +74 -74
  374. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  375. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  376. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  377. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  378. package/lib/esm/appui-react/content/ContentLayout.scss +99 -99
  379. package/lib/esm/appui-react/content/ContentLayoutManager.js.map +1 -1
  380. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  381. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  382. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +46 -46
  383. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  384. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  385. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  386. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  387. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -1
  388. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -1
  389. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  390. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -1
  391. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -1
  392. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  393. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  394. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  395. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  396. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  397. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  398. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  399. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  400. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  401. package/lib/esm/appui-react/dialog/ContentDialog.scss +25 -25
  402. package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -1
  403. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  404. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  405. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  406. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  407. package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
  408. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  409. package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  410. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  411. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  412. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  413. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  414. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +50 -50
  415. package/lib/esm/appui-react/framework/FrameworkBackstage.js.map +1 -1
  416. package/lib/esm/appui-react/framework/FrameworkChildWindows.js.map +1 -1
  417. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
  418. package/lib/esm/appui-react/framework/FrameworkControls.js.map +1 -1
  419. package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
  420. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  421. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  422. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  423. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  424. package/lib/esm/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  425. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  426. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  427. package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  428. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  429. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  430. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +80 -80
  431. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  432. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +11 -11
  433. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  434. package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -1
  435. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  436. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  437. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  438. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  439. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  440. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  441. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  442. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  443. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  444. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
  445. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  446. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  447. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  448. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  449. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  450. package/lib/esm/appui-react/messages/HollowIcon.js.map +1 -1
  451. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  452. package/lib/esm/appui-react/messages/InputField.scss +82 -82
  453. package/lib/esm/appui-react/messages/MessageLabel.js.map +1 -1
  454. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  455. package/lib/esm/appui-react/messages/MessageSpan.js.map +1 -1
  456. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  457. package/lib/esm/appui-react/messages/Pointer.scss +42 -42
  458. package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  459. package/lib/esm/appui-react/messages/StatusMessageManager.js.map +1 -1
  460. package/lib/esm/appui-react/messages/getToastCategory.js.map +1 -1
  461. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  462. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  463. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  464. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  465. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
  466. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  467. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  468. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  469. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  470. package/lib/esm/appui-react/pickers/ListPicker.d.ts +3 -0
  471. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  472. package/lib/esm/appui-react/pickers/ListPicker.js +4 -2
  473. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  474. package/lib/esm/appui-react/pickers/ListPicker.scss +306 -299
  475. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +6 -1
  476. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  477. package/lib/esm/appui-react/pickers/ViewSelector.js +24 -9
  478. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  479. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  480. package/lib/esm/appui-react/popup/CardPopup.scss +25 -25
  481. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  482. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  483. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  484. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +30 -30
  485. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  486. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  487. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  488. package/lib/esm/appui-react/popup/PositionPopup.scss +28 -28
  489. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  490. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  491. package/lib/esm/appui-react/redux/FrameworkState.js.map +1 -1
  492. package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
  493. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  494. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  495. package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
  496. package/lib/esm/appui-react/redux/redux-ts.js.map +1 -1
  497. package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
  498. package/lib/esm/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
  499. package/lib/esm/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  500. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  501. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  502. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  503. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
  504. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  505. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  506. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +65 -65
  507. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  508. package/lib/esm/appui-react/shared/AnyItemDef.js.map +1 -1
  509. package/lib/esm/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  510. package/lib/esm/appui-react/shared/CommandItemDef.js.map +1 -1
  511. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  512. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  513. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  514. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  515. package/lib/esm/appui-react/shared/ItemMap.js.map +1 -1
  516. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  517. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  518. package/lib/esm/appui-react/shared/SelectionScope.js.map +1 -1
  519. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  520. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  521. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  522. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  523. package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  524. package/lib/esm/appui-react/statusbar/Field.js.map +1 -1
  525. package/lib/esm/appui-react/statusbar/Field.scss +109 -109
  526. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  527. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  528. package/lib/esm/appui-react/statusbar/LabelIndicator.scss +43 -43
  529. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  530. package/lib/esm/appui-react/statusbar/Overflow.scss +27 -27
  531. package/lib/esm/appui-react/statusbar/OverflowPanel.js.map +1 -1
  532. package/lib/esm/appui-react/statusbar/OverflowPanel.scss +22 -22
  533. package/lib/esm/appui-react/statusbar/Popup.js.map +1 -1
  534. package/lib/esm/appui-react/statusbar/Separator.js.map +1 -1
  535. package/lib/esm/appui-react/statusbar/Separator.scss +12 -12
  536. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  537. package/lib/esm/appui-react/statusbar/StatusBar.scss +41 -41
  538. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  539. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  540. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  541. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  542. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  543. package/lib/esm/appui-react/statusbar/dialog/Button.js.map +1 -1
  544. package/lib/esm/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  545. package/lib/esm/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  546. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  547. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  548. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  549. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  550. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  551. package/lib/esm/appui-react/statusfields/SectionsField.scss +35 -35
  552. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  553. package/lib/esm/appui-react/statusfields/SelectionInfo.scss +14 -14
  554. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  555. package/lib/esm/appui-react/statusfields/SelectionScope.scss +46 -46
  556. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  557. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  558. package/lib/esm/appui-react/statusfields/ViewAttributes.scss +10 -10
  559. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  560. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
  561. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  562. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
  563. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  564. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  565. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  566. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  567. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  568. package/lib/esm/appui-react/toolbar/DragInteraction.js.map +1 -1
  569. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  570. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  571. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  572. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  573. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  574. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  575. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  576. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  577. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  578. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  579. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  580. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  581. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  582. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  583. package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
  584. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  585. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  586. package/lib/esm/appui-react/toolsettings/ToolInformation.js.map +1 -1
  587. package/lib/esm/appui-react/toolsettings/ToolSettingsManager.js.map +1 -1
  588. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  589. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  590. package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  591. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  592. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  593. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  594. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  595. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  596. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  597. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  598. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  599. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
  600. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  601. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  602. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  603. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  604. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  605. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  606. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  607. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  608. package/lib/esm/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  609. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  610. package/lib/esm/appui-react/utils/ViewUtilities.js.map +1 -1
  611. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  612. package/lib/esm/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  613. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  614. package/lib/esm/appui-react/widget-panels/Frontstage.scss +19 -19
  615. package/lib/esm/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  616. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  617. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  618. package/lib/esm/appui-react/widget-panels/StatusBar.scss +10 -10
  619. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  620. package/lib/esm/appui-react/widget-panels/Tab.scss +14 -14
  621. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  622. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +41 -41
  623. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  624. package/lib/esm/appui-react/widget-panels/Toolbars.scss +20 -20
  625. package/lib/esm/appui-react/widget-panels/useTransientState.js.map +1 -1
  626. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  627. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  628. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  629. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  630. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  631. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  632. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  633. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  634. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  635. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  636. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  637. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  638. package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
  639. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  640. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  641. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  642. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  643. package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -1
  644. package/lib/esm/appui-react.js.map +1 -1
  645. package/lib/public/locales/en/UiFramework.json +381 -381
  646. package/package.json +31 -29
@@ -1,85 +1,85 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/core-react/lib/cjs/core-react/style/index";
6
-
7
- $button-size: 36px;
8
- $button-operator-size: $button-size + 10px;
9
-
10
- .uifw-position-popup.uifw-calculator-host {
11
- background-color: $buic-background-window;
12
- }
13
-
14
- .uifw-calculator {
15
- max-width: 173px;
16
-
17
- &:focus {
18
- border-color: transparent;
19
- outline: 0px;
20
- }
21
-
22
- > .uifw-calculator-top {
23
- margin-bottom: 8px;
24
-
25
- > .uifw-calculator-top-input {
26
- width: 100%;
27
- }
28
-
29
- input {
30
- text-align: right;
31
- color: var(--iui-color-text);
32
- background-color: $buic-background-control;
33
- cursor: default;
34
- }
35
- }
36
-
37
- > .uifw-calculator-button-grid {
38
- display: grid;
39
- grid-template-columns: $button-size $button-size $button-size $button-operator-size;
40
- grid-gap: 6px;
41
- gap: 6px;
42
- justify-items: end;
43
-
44
- .uifw-calculator-item {
45
- width: $button-size;
46
- height: $button-size;
47
- }
48
- }
49
-
50
- > .uifw-calculator-bottom-buttons {
51
- display: flex;
52
- justify-content: space-between;
53
- margin-top: 0;
54
-
55
- > .uifw-calculator-large-button {
56
- width: 70px;
57
- font-size: 20px;
58
- }
59
-
60
- > .uifw-calculator-cancel-button {
61
- &,
62
- &:active,
63
- &:focus {
64
- border: none;
65
- background-color: var(--iui-color-background-negative);
66
- color: var(--iui-color-white);
67
- }
68
-
69
- &:hover {
70
- background-color: var(--iui-color-background-negative-hover);
71
- color: var(--iui-color-white);
72
- }
73
- }
74
- }
75
-
76
- .uifw-calculator-button-svg {
77
- width: 100%;
78
- height: 18px;
79
- }
80
-
81
- .uifw-calculator-large-font {
82
- font-size: 22px;
83
- }
84
-
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "~@itwin/core-react/lib/cjs/core-react/style/index";
6
+
7
+ $button-size: 36px;
8
+ $button-operator-size: $button-size + 10px;
9
+
10
+ .uifw-position-popup.uifw-calculator-host {
11
+ background-color: $buic-background-window;
12
+ }
13
+
14
+ .uifw-calculator {
15
+ max-width: 173px;
16
+
17
+ &:focus {
18
+ border-color: transparent;
19
+ outline: 0px;
20
+ }
21
+
22
+ > .uifw-calculator-top {
23
+ margin-bottom: 8px;
24
+
25
+ > .uifw-calculator-top-input {
26
+ width: 100%;
27
+ }
28
+
29
+ input {
30
+ text-align: right;
31
+ color: var(--iui-color-text);
32
+ background-color: $buic-background-control;
33
+ cursor: default;
34
+ }
35
+ }
36
+
37
+ > .uifw-calculator-button-grid {
38
+ display: grid;
39
+ grid-template-columns: $button-size $button-size $button-size $button-operator-size;
40
+ grid-gap: 6px;
41
+ gap: 6px;
42
+ justify-items: end;
43
+
44
+ .uifw-calculator-item {
45
+ width: $button-size;
46
+ height: $button-size;
47
+ }
48
+ }
49
+
50
+ > .uifw-calculator-bottom-buttons {
51
+ display: flex;
52
+ justify-content: space-between;
53
+ margin-top: 0;
54
+
55
+ > .uifw-calculator-large-button {
56
+ width: 70px;
57
+ font-size: 20px;
58
+ }
59
+
60
+ > .uifw-calculator-cancel-button {
61
+ &,
62
+ &:active,
63
+ &:focus {
64
+ border: none;
65
+ background-color: var(--iui-color-background-negative);
66
+ color: var(--iui-color-white);
67
+ }
68
+
69
+ &:hover {
70
+ background-color: var(--iui-color-background-negative-hover);
71
+ color: var(--iui-color-white);
72
+ }
73
+ }
74
+ }
75
+
76
+ .uifw-calculator-button-svg {
77
+ width: 100%;
78
+ height: 18px;
79
+ }
80
+
81
+ .uifw-calculator-large-font {
82
+ font-size: 22px;
83
+ }
84
+
85
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CalculatorEngine.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/CalculatorEngine.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\n/** @internal */\nexport enum CalculatorOperator { // eslint-disable-line: completed-docs\n None,\n Clear,\n ClearAll,\n Backspace,\n Add,\n Subtract,\n Multiply,\n Divide,\n NegPos,\n Decimal,\n Equals,\n}\n\n/** @internal */\nexport enum CalculatorKeyType {\n None,\n Operator,\n Equals,\n}\n\n/** @internal */\nexport class CalculatorEngine {\n private _displayValue: string = \"0\";\n private _operator?: CalculatorOperator;\n private _previousKeyType: CalculatorKeyType = CalculatorKeyType.None;\n private _firstValue: string = \"\";\n private _modValue: string = \"\";\n\n constructor() {\n this.clearAll();\n }\n\n public clearAll(): void {\n this._displayValue = \"0\";\n this._previousKeyType = CalculatorKeyType.None;\n this._firstValue = \"\";\n this._modValue = \"\";\n this._operator = undefined;\n }\n\n public get result(): number {\n return parseFloat(this._displayValue);\n }\n\n public get displayValue(): string {\n return this._displayValue;\n }\n\n public processValue(value: string): string {\n let resultString: string;\n\n if (\n this._displayValue === \"0\" ||\n this._previousKeyType === CalculatorKeyType.Operator ||\n this._previousKeyType === CalculatorKeyType.Equals\n ) {\n resultString = value;\n } else {\n resultString = this._displayValue + value;\n }\n\n this._displayValue = resultString;\n this._previousKeyType = CalculatorKeyType.None;\n\n return resultString;\n }\n\n public processOperator(operator: CalculatorOperator): string {\n const displayedNum = this._displayValue;\n const resultString = this._createResultString(operator, displayedNum);\n\n this._displayValue = resultString;\n\n this._updateCalculatorState(operator, resultString, displayedNum);\n\n return resultString;\n }\n\n private _createResultString = (operator: CalculatorOperator, displayedNum: string) => {\n let resultString = displayedNum;\n\n if (this._isMathOperator(operator)) {\n const firstValue = this._firstValue;\n const savedOperator = this._operator;\n\n resultString = (firstValue && savedOperator &&\n this._previousKeyType !== CalculatorKeyType.Operator && this._previousKeyType !== CalculatorKeyType.Equals)\n ? this._calculate(firstValue, savedOperator, displayedNum)\n : displayedNum;\n\n } else {\n switch (operator) {\n case CalculatorOperator.Clear:\n resultString = \"0\";\n break;\n\n case CalculatorOperator.ClearAll:\n resultString = \"0\";\n break;\n\n case CalculatorOperator.Backspace:\n resultString = resultString.slice(0, -1);\n if (resultString.length === 0)\n resultString = \"0\";\n break;\n\n case CalculatorOperator.Decimal:\n if (!resultString.includes(\".\"))\n resultString = `${displayedNum}.`;\n else if (this._previousKeyType === CalculatorKeyType.Operator || this._previousKeyType === CalculatorKeyType.Equals)\n resultString = \"0.\";\n break;\n\n case CalculatorOperator.NegPos:\n if (displayedNum.length > 0 && displayedNum[0] === \"-\")\n resultString = displayedNum.substring(1);\n else\n resultString = `-${displayedNum}`;\n break;\n\n case CalculatorOperator.Equals: {\n const firstValue = this._firstValue;\n const savedOperator = this._operator;\n const modValue = this._modValue;\n\n if (firstValue && savedOperator) {\n resultString = this._previousKeyType === CalculatorKeyType.Equals\n ? this._calculate(displayedNum, savedOperator, modValue)\n : this._calculate(firstValue, savedOperator, displayedNum);\n } else {\n resultString = displayedNum;\n }\n break;\n }\n }\n }\n\n return resultString;\n };\n\n private _isMathOperator = (operator: CalculatorOperator): boolean => {\n switch (operator) {\n case CalculatorOperator.Add:\n case CalculatorOperator.Subtract:\n case CalculatorOperator.Multiply:\n case CalculatorOperator.Divide:\n return true;\n }\n return false;\n };\n\n private _calculate = (n1Str: string, operator: CalculatorOperator, n2Str: string): string => {\n let result = 0;\n const n1 = parseFloat(n1Str);\n const n2 = parseFloat(n2Str);\n\n switch (operator) {\n case CalculatorOperator.Add:\n result = n1 + n2;\n break;\n case CalculatorOperator.Subtract:\n result = n1 - n2;\n break;\n case CalculatorOperator.Multiply:\n result = n1 * n2;\n break;\n case CalculatorOperator.Divide:\n const displayValue = n2;\n if (displayValue !== 0)\n result = n1 / displayValue;\n else\n result = 0;\n break;\n }\n\n return result.toString();\n };\n\n private _updateCalculatorState = (operator: CalculatorOperator, resultString: string, displayedNum: string): void => {\n let keyType = CalculatorKeyType.None;\n\n if (this._isMathOperator(operator)) {\n if (this._firstValue && this._operator && this._previousKeyType === CalculatorKeyType.None) {\n this._firstValue = resultString;\n } else {\n this._firstValue = displayedNum;\n }\n\n this._operator = operator;\n keyType = CalculatorKeyType.Operator;\n\n } else {\n switch (operator) {\n case CalculatorOperator.ClearAll:\n this.clearAll();\n break;\n\n case CalculatorOperator.Equals: {\n let secondValue = displayedNum;\n\n if (this._firstValue) {\n if (this._previousKeyType === CalculatorKeyType.Equals) {\n secondValue = this._modValue;\n }\n }\n\n this._modValue = secondValue;\n\n keyType = CalculatorKeyType.Equals;\n }\n }\n }\n\n this._previousKeyType = keyType;\n };\n}\n"]}
1
+ {"version":3,"file":"CalculatorEngine.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/CalculatorEngine.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccuDraw\r\n */\r\n\r\n/** @internal */\r\nexport enum CalculatorOperator { // eslint-disable-line: completed-docs\r\n None,\r\n Clear,\r\n ClearAll,\r\n Backspace,\r\n Add,\r\n Subtract,\r\n Multiply,\r\n Divide,\r\n NegPos,\r\n Decimal,\r\n Equals,\r\n}\r\n\r\n/** @internal */\r\nexport enum CalculatorKeyType {\r\n None,\r\n Operator,\r\n Equals,\r\n}\r\n\r\n/** @internal */\r\nexport class CalculatorEngine {\r\n private _displayValue: string = \"0\";\r\n private _operator?: CalculatorOperator;\r\n private _previousKeyType: CalculatorKeyType = CalculatorKeyType.None;\r\n private _firstValue: string = \"\";\r\n private _modValue: string = \"\";\r\n\r\n constructor() {\r\n this.clearAll();\r\n }\r\n\r\n public clearAll(): void {\r\n this._displayValue = \"0\";\r\n this._previousKeyType = CalculatorKeyType.None;\r\n this._firstValue = \"\";\r\n this._modValue = \"\";\r\n this._operator = undefined;\r\n }\r\n\r\n public get result(): number {\r\n return parseFloat(this._displayValue);\r\n }\r\n\r\n public get displayValue(): string {\r\n return this._displayValue;\r\n }\r\n\r\n public processValue(value: string): string {\r\n let resultString: string;\r\n\r\n if (\r\n this._displayValue === \"0\" ||\r\n this._previousKeyType === CalculatorKeyType.Operator ||\r\n this._previousKeyType === CalculatorKeyType.Equals\r\n ) {\r\n resultString = value;\r\n } else {\r\n resultString = this._displayValue + value;\r\n }\r\n\r\n this._displayValue = resultString;\r\n this._previousKeyType = CalculatorKeyType.None;\r\n\r\n return resultString;\r\n }\r\n\r\n public processOperator(operator: CalculatorOperator): string {\r\n const displayedNum = this._displayValue;\r\n const resultString = this._createResultString(operator, displayedNum);\r\n\r\n this._displayValue = resultString;\r\n\r\n this._updateCalculatorState(operator, resultString, displayedNum);\r\n\r\n return resultString;\r\n }\r\n\r\n private _createResultString = (operator: CalculatorOperator, displayedNum: string) => {\r\n let resultString = displayedNum;\r\n\r\n if (this._isMathOperator(operator)) {\r\n const firstValue = this._firstValue;\r\n const savedOperator = this._operator;\r\n\r\n resultString = (firstValue && savedOperator &&\r\n this._previousKeyType !== CalculatorKeyType.Operator && this._previousKeyType !== CalculatorKeyType.Equals)\r\n ? this._calculate(firstValue, savedOperator, displayedNum)\r\n : displayedNum;\r\n\r\n } else {\r\n switch (operator) {\r\n case CalculatorOperator.Clear:\r\n resultString = \"0\";\r\n break;\r\n\r\n case CalculatorOperator.ClearAll:\r\n resultString = \"0\";\r\n break;\r\n\r\n case CalculatorOperator.Backspace:\r\n resultString = resultString.slice(0, -1);\r\n if (resultString.length === 0)\r\n resultString = \"0\";\r\n break;\r\n\r\n case CalculatorOperator.Decimal:\r\n if (!resultString.includes(\".\"))\r\n resultString = `${displayedNum}.`;\r\n else if (this._previousKeyType === CalculatorKeyType.Operator || this._previousKeyType === CalculatorKeyType.Equals)\r\n resultString = \"0.\";\r\n break;\r\n\r\n case CalculatorOperator.NegPos:\r\n if (displayedNum.length > 0 && displayedNum[0] === \"-\")\r\n resultString = displayedNum.substring(1);\r\n else\r\n resultString = `-${displayedNum}`;\r\n break;\r\n\r\n case CalculatorOperator.Equals: {\r\n const firstValue = this._firstValue;\r\n const savedOperator = this._operator;\r\n const modValue = this._modValue;\r\n\r\n if (firstValue && savedOperator) {\r\n resultString = this._previousKeyType === CalculatorKeyType.Equals\r\n ? this._calculate(displayedNum, savedOperator, modValue)\r\n : this._calculate(firstValue, savedOperator, displayedNum);\r\n } else {\r\n resultString = displayedNum;\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return resultString;\r\n };\r\n\r\n private _isMathOperator = (operator: CalculatorOperator): boolean => {\r\n switch (operator) {\r\n case CalculatorOperator.Add:\r\n case CalculatorOperator.Subtract:\r\n case CalculatorOperator.Multiply:\r\n case CalculatorOperator.Divide:\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n private _calculate = (n1Str: string, operator: CalculatorOperator, n2Str: string): string => {\r\n let result = 0;\r\n const n1 = parseFloat(n1Str);\r\n const n2 = parseFloat(n2Str);\r\n\r\n switch (operator) {\r\n case CalculatorOperator.Add:\r\n result = n1 + n2;\r\n break;\r\n case CalculatorOperator.Subtract:\r\n result = n1 - n2;\r\n break;\r\n case CalculatorOperator.Multiply:\r\n result = n1 * n2;\r\n break;\r\n case CalculatorOperator.Divide:\r\n const displayValue = n2;\r\n if (displayValue !== 0)\r\n result = n1 / displayValue;\r\n else\r\n result = 0;\r\n break;\r\n }\r\n\r\n return result.toString();\r\n };\r\n\r\n private _updateCalculatorState = (operator: CalculatorOperator, resultString: string, displayedNum: string): void => {\r\n let keyType = CalculatorKeyType.None;\r\n\r\n if (this._isMathOperator(operator)) {\r\n if (this._firstValue && this._operator && this._previousKeyType === CalculatorKeyType.None) {\r\n this._firstValue = resultString;\r\n } else {\r\n this._firstValue = displayedNum;\r\n }\r\n\r\n this._operator = operator;\r\n keyType = CalculatorKeyType.Operator;\r\n\r\n } else {\r\n switch (operator) {\r\n case CalculatorOperator.ClearAll:\r\n this.clearAll();\r\n break;\r\n\r\n case CalculatorOperator.Equals: {\r\n let secondValue = displayedNum;\r\n\r\n if (this._firstValue) {\r\n if (this._previousKeyType === CalculatorKeyType.Equals) {\r\n secondValue = this._modValue;\r\n }\r\n }\r\n\r\n this._modValue = secondValue;\r\n\r\n keyType = CalculatorKeyType.Equals;\r\n }\r\n }\r\n }\r\n\r\n this._previousKeyType = keyType;\r\n };\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CalculatorPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/CalculatorPopup.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAE/B,kDAA+E;AAC/E,wDAAqE;AACrE,0DAA6E;AAC7E,6CAA0C;AAe1C;;GAEG;AACH,MAAa,eAAgB,SAAQ,KAAK,CAAC,aAAyD;IAApG;;QACE,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,iBAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB,CAAC;QAEM,iBAAY,GAAG,CAAC,OAAkB,EAAE,EAAE;YAC5C,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;IAyBJ,CAAC;IAvBC,gBAAgB;IACA,MAAM;QACpB,MAAM,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9G,OAAO,CACL,oBAAC,6BAAa,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAC/B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAC,sBAAsB,EAChC,WAAW,EAAE,IAAI,CAAC,YAAY;YAE9B,oBAAC,gCAAmB,IAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBACtD,oBAAC,oCAAoB;oBACnB,oBAAC,uBAAU,IACT,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EACrC,UAAU,EAAE,oBAAC,iBAAI,IAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAI,EACrD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EACrB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAI,CACd,CACH,CACR,CACjB,CAAC;IACJ,CAAC;CAEF;AAnCD,0CAmCC","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 { OnCancelFunc, OnNumberCommitFunc } from \"@itwin/appui-abstract\";\nimport { DivWithOutsideClick, Icon, Size, SizeProps } from \"@itwin/core-react\";\nimport { PopupManager, PopupPropsBase } from \"../popup/PopupManager\";\nimport { PositionPopup, PositionPopupContent } from \"../popup/PositionPopup\";\nimport { Calculator } from \"./Calculator\";\n\n/** @alpha */\nexport interface CalculatorPopupProps extends PopupPropsBase {\n initialValue: number;\n resultIcon: string;\n onOk: OnNumberCommitFunc;\n onCancel: OnCancelFunc;\n}\n\n/** @internal */\ninterface CalculatorPopupState {\n size: Size;\n}\n\n/** Popup component for Calculator\n * @alpha\n */\nexport class CalculatorPopup extends React.PureComponent<CalculatorPopupProps, CalculatorPopupState> {\n /** @internal */\n public override readonly state = {\n size: new Size(-1, -1),\n };\n\n private _onSizeKnown = (newSize: SizeProps) => {\n // istanbul ignore else\n if (!this.state.size.equals(newSize))\n this.setState({ size: Size.create(newSize) });\n };\n\n /** @internal */\n public override render() {\n const point = PopupManager.getPopupPosition(this.props.el, this.props.pt, this.props.offset, this.state.size);\n\n return (\n <PositionPopup key={this.props.id}\n point={point}\n className=\"uifw-calculator-host\"\n onSizeKnown={this._onSizeKnown}\n >\n <DivWithOutsideClick onOutsideClick={this.props.onCancel}>\n <PositionPopupContent>\n <Calculator\n initialValue={this.props.initialValue}\n resultIcon={<Icon iconSpec={this.props.resultIcon} />}\n onOk={this.props.onOk}\n onCancel={this.props.onCancel} />\n </PositionPopupContent>\n </DivWithOutsideClick>\n </PositionPopup>\n );\n }\n\n}\n"]}
1
+ {"version":3,"file":"CalculatorPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/CalculatorPopup.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAE/B,kDAA+E;AAC/E,wDAAqE;AACrE,0DAA6E;AAC7E,6CAA0C;AAe1C;;GAEG;AACH,MAAa,eAAgB,SAAQ,KAAK,CAAC,aAAyD;IAApG;;QACE,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,iBAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB,CAAC;QAEM,iBAAY,GAAG,CAAC,OAAkB,EAAE,EAAE;YAC5C,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;IAyBJ,CAAC;IAvBC,gBAAgB;IACA,MAAM;QACpB,MAAM,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9G,OAAO,CACL,oBAAC,6BAAa,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAC/B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAC,sBAAsB,EAChC,WAAW,EAAE,IAAI,CAAC,YAAY;YAE9B,oBAAC,gCAAmB,IAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBACtD,oBAAC,oCAAoB;oBACnB,oBAAC,uBAAU,IACT,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EACrC,UAAU,EAAE,oBAAC,iBAAI,IAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAI,EACrD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EACrB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAI,CACd,CACH,CACR,CACjB,CAAC;IACJ,CAAC;CAEF;AAnCD,0CAmCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccuDraw\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { OnCancelFunc, OnNumberCommitFunc } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, Icon, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { PopupManager, PopupPropsBase } from \"../popup/PopupManager\";\r\nimport { PositionPopup, PositionPopupContent } from \"../popup/PositionPopup\";\r\nimport { Calculator } from \"./Calculator\";\r\n\r\n/** @alpha */\r\nexport interface CalculatorPopupProps extends PopupPropsBase {\r\n initialValue: number;\r\n resultIcon: string;\r\n onOk: OnNumberCommitFunc;\r\n onCancel: OnCancelFunc;\r\n}\r\n\r\n/** @internal */\r\ninterface CalculatorPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Calculator\r\n * @alpha\r\n */\r\nexport class CalculatorPopup extends React.PureComponent<CalculatorPopupProps, CalculatorPopupState> {\r\n /** @internal */\r\n public override readonly state = {\r\n size: new Size(-1, -1),\r\n };\r\n\r\n private _onSizeKnown = (newSize: SizeProps) => {\r\n // istanbul ignore else\r\n if (!this.state.size.equals(newSize))\r\n this.setState({ size: Size.create(newSize) });\r\n };\r\n\r\n /** @internal */\r\n public override render() {\r\n const point = PopupManager.getPopupPosition(this.props.el, this.props.pt, this.props.offset, this.state.size);\r\n\r\n return (\r\n <PositionPopup key={this.props.id}\r\n point={point}\r\n className=\"uifw-calculator-host\"\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel}>\r\n <PositionPopupContent>\r\n <Calculator\r\n initialValue={this.props.initialValue}\r\n resultIcon={<Icon iconSpec={this.props.resultIcon} />}\r\n onOk={this.props.onOk}\r\n onCancel={this.props.onCancel} />\r\n </PositionPopupContent>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n\r\n}\r\n"]}
@@ -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 {\n AccuDraw, BeButtonEvent, CompassMode, IModelApp, ItemField,\n NotifyMessageDetails, OutputMessagePriority, QuantityType, RotationMode,\n} from \"@itwin/core-frontend\";\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport { UiStateStorage, UiStateStorageStatus } from \"@itwin/core-react\";\nimport { UiFramework, UserSettingsProvider } from \"../UiFramework\";\nimport { SyncUiEventDispatcher, SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\nimport { 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/** Implementation of AccuDraw that sends events for UI and status changes\n * @beta\n */\nexport class FrameworkAccuDraw extends AccuDraw implements UserSettingsProvider {\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 = new AccuDrawSetFieldFocusEvent();\n /** AccuDraw Set Field Value to Ui event. */\n public static readonly onAccuDrawSetFieldValueToUiEvent = new AccuDrawSetFieldValueToUiEvent();\n /** AccuDraw Set Field Value from Ui event. */\n public static readonly onAccuDrawSetFieldValueFromUiEvent = new AccuDrawSetFieldValueFromUiEvent();\n /** AccuDraw Set Field Lock event. */\n public static readonly onAccuDrawSetFieldLockEvent = new AccuDrawSetFieldLockEvent();\n /** AccuDraw Set Mode event. */\n public static readonly onAccuDrawSetCompassModeEvent = new AccuDrawSetCompassModeEvent();\n /** AccuDraw Grab Input Focus event. */\n public static readonly onAccuDrawGrabInputFocusEvent = new AccuDrawGrabInputFocusEvent();\n\n /** Determines if AccuDraw.rotationMode === RotationMode.Top */\n public static readonly isTopRotationConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.rotationMode === RotationMode.Top, [SyncUiEventId.AccuDrawRotationChanged]);\n /** Determines if AccuDraw.rotationMode === RotationMode.Front */\n public static readonly isFrontRotationConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.rotationMode === RotationMode.Front, [SyncUiEventId.AccuDrawRotationChanged]);\n /** Determines if AccuDraw.rotationMode === RotationMode.Side */\n public static readonly isSideRotationConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.rotationMode === RotationMode.Side, [SyncUiEventId.AccuDrawRotationChanged]);\n /** Determines if AccuDraw.rotationMode === RotationMode.View */\n public static readonly isViewRotationConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.rotationMode === RotationMode.View, [SyncUiEventId.AccuDrawRotationChanged]);\n /** Determines if AccuDraw.rotationMode === RotationMode.ACS */\n public static readonly isACSRotationConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.rotationMode === RotationMode.ACS, [SyncUiEventId.AccuDrawRotationChanged]);\n /** Determines if AccuDraw.rotationMode === RotationMode.Context */\n public static readonly isContextRotationConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.rotationMode === RotationMode.Context, [SyncUiEventId.AccuDrawRotationChanged]);\n /** Determines if AccuDraw.compassMode === CompassMode.Polar */\n public static readonly isPolarModeConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.compassMode === CompassMode.Polar, [SyncUiEventId.AccuDrawCompassModeChanged]);\n /** Determines if AccuDraw.compassMode === CompassMode.Rectangular */\n public static readonly isRectangularModeConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.compassMode === CompassMode.Rectangular, [SyncUiEventId.AccuDrawCompassModeChanged]);\n\n /** AccuDraw Grab Input Focus event. */\n public static readonly onAccuDrawUiSettingsChangedEvent = new AccuDrawUiSettingsChangedEvent();\n\n /** Determines if notifications should be displayed for AccuDraw changes */\n public static get displayNotifications(): boolean { return FrameworkAccuDraw._displayNotifications; }\n public static set displayNotifications(v: boolean) {\n FrameworkAccuDraw._displayNotifications = v;\n UiFramework.getUiStateStorage().saveSetting(this._settingsNamespace, this._notificationsKey, v); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n\n /* @internal */\n public async loadUserSettings(storage: UiStateStorage): Promise<void> {\n const result = await storage.getSetting(FrameworkAccuDraw._settingsNamespace, FrameworkAccuDraw._notificationsKey);\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 { return FrameworkAccuDraw._uiSettings; }\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(this.handleSetFieldValueFromUiEvent);\n UiFramework.registerUserSettingsProvider(this);\n }\n\n private handleSetFieldValueFromUiEvent = async (args: AccuDrawSetFieldValueFromUiEventArgs) => {\n return this.processFieldInput(args.field, args.stringValue, false);\n };\n\n /** @internal */\n public override onCompassModeChange(): void {\n FrameworkAccuDraw.onAccuDrawSetCompassModeEvent.emit({ mode: this.compassMode });\n SyncUiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.AccuDrawCompassModeChanged);\n\n this.outputCompassModeMessage();\n }\n\n /** @internal */\n public override onRotationModeChange(): void {\n SyncUiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.AccuDrawRotationChanged);\n\n this.outputRotationMessage();\n }\n\n /** @internal */\n public override onFieldLockChange(index: ItemField): void {\n FrameworkAccuDraw.onAccuDrawSetFieldLockEvent.emit({ field: index, lock: this.getFieldLock(index) });\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({ field: index, value, formattedValue });\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)\n 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)\n 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 = IModelApp.quantityFormatter.findFormatterSpecByQuantityType(ItemField.ANGLE_Item === index ? QuantityType.Angle : QuantityType.Length);\n // istanbul ignore else\n if (formatterSpec)\n formattedValue = IModelApp.quantityFormatter.formatQuantity(value, formatterSpec);\n\n return formattedValue;\n }\n\n /** AccuDraw Set Field Value from Ui. */\n public static setFieldValueFromUi(field: ItemField, stringValue: string): void {\n FrameworkAccuDraw.onAccuDrawSetFieldValueFromUiEvent.emit({ field, stringValue });\n }\n\n private outputInfoMessage(message: string): void {\n // istanbul ignore else\n if (FrameworkAccuDraw.displayNotifications)\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, message));\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)\n modeKey = \"polar\";\n const modeString = UiFramework.translate(`accuDraw.compassMode.${modeKey}`);\n const modeMessage = UiFramework.localization.getLocalizedString(\"accuDraw.compassModeSet\", { modeString, ns: UiFramework.localizationNamespace });\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)\n rotationKey = \"top\";\n const rotationString = UiFramework.translate(`accuDraw.rotation.${rotationKey}`);\n const rotationMessage = UiFramework.localization.getLocalizedString(\"accuDraw.rotationSet\", { rotationString, ns: UiFramework.localizationNamespace });\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":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccuDraw\r\n */\r\n\r\nimport { BeUiEvent } from \"@itwin/core-bentley\";\r\nimport {\r\n AccuDraw, BeButtonEvent, CompassMode, IModelApp, ItemField,\r\n NotifyMessageDetails, OutputMessagePriority, QuantityType, RotationMode,\r\n} from \"@itwin/core-frontend\";\r\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\r\nimport { UiStateStorage, UiStateStorageStatus } from \"@itwin/core-react\";\r\nimport { UiFramework, UserSettingsProvider } from \"../UiFramework\";\r\nimport { SyncUiEventDispatcher, SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { AccuDrawUiSettings } from \"./AccuDrawUiSettings\";\r\n\r\n// cspell:ignore dont\r\n\r\nconst compassModeToKeyMap = new Map<CompassMode, string>([\r\n [CompassMode.Polar, \"polar\"],\r\n [CompassMode.Rectangular, \"rectangular\"],\r\n]);\r\n\r\nconst rotationModeToKeyMap = new Map<RotationMode, string>([\r\n [RotationMode.Top, \"top\"],\r\n [RotationMode.Front, \"front\"],\r\n [RotationMode.Side, \"side\"],\r\n [RotationMode.View, \"view\"],\r\n [RotationMode.ACS, \"ACS\"],\r\n [RotationMode.Context, \"context\"],\r\n]);\r\n\r\n/** Arguments for [[AccuDrawSetFieldFocusEvent]]\r\n * @beta */\r\nexport interface AccuDrawSetFieldFocusEventArgs {\r\n field: ItemField;\r\n}\r\n\r\n/** AccuDraw Set Field Focus event\r\n * @beta */\r\nexport class AccuDrawSetFieldFocusEvent extends BeUiEvent<AccuDrawSetFieldFocusEventArgs> { }\r\n\r\n/** Arguments for [[AccuDrawSetFieldValueToUiEvent]]\r\n * @beta */\r\nexport interface AccuDrawSetFieldValueToUiEventArgs {\r\n field: ItemField;\r\n value: number;\r\n formattedValue: string;\r\n}\r\n\r\n/** AccuDraw Set Field Value to Ui event\r\n * @beta */\r\nexport class AccuDrawSetFieldValueToUiEvent extends BeUiEvent<AccuDrawSetFieldValueToUiEventArgs> { }\r\n\r\n/** Arguments for [[AccuDrawSetFieldValueFromUiEvent]]\r\n * @beta */\r\nexport interface AccuDrawSetFieldValueFromUiEventArgs {\r\n field: ItemField;\r\n stringValue: string;\r\n}\r\n\r\n/** AccuDraw Set Field Value from Ui event\r\n * @beta */\r\nexport class AccuDrawSetFieldValueFromUiEvent extends BeUiEvent<AccuDrawSetFieldValueFromUiEventArgs> { }\r\n\r\n/** Arguments for [[AccuDrawSetFieldLockEvent]]\r\n * @beta */\r\nexport interface AccuDrawSetFieldLockEventArgs {\r\n field: ItemField;\r\n lock: boolean;\r\n}\r\n\r\n/** AccuDraw Set Field Lock event\r\n * @beta */\r\nexport class AccuDrawSetFieldLockEvent extends BeUiEvent<AccuDrawSetFieldLockEventArgs> { }\r\n\r\n/** Arguments for [[AccuDrawSetCompassModeEvent]]\r\n * @beta */\r\nexport interface AccuDrawSetCompassModeEventArgs {\r\n mode: CompassMode;\r\n}\r\n\r\n/** AccuDraw Set Compass Mode event\r\n * @beta */\r\nexport class AccuDrawSetCompassModeEvent extends BeUiEvent<AccuDrawSetCompassModeEventArgs> { }\r\n\r\n/** AccuDraw Grab Input Focus event\r\n * @beta */\r\nexport class AccuDrawGrabInputFocusEvent extends BeUiEvent<{}> { }\r\n\r\n/** AccuDraw Ui Settings Changed event\r\n * @beta */\r\nexport class AccuDrawUiSettingsChangedEvent extends BeUiEvent<{}> { }\r\n\r\n/** Implementation of AccuDraw that sends events for UI and status changes\r\n * @beta\r\n */\r\nexport class FrameworkAccuDraw extends AccuDraw implements UserSettingsProvider {\r\n private static _displayNotifications = false;\r\n private static _uiSettings: AccuDrawUiSettings | undefined;\r\n private static _settingsNamespace = \"AppUiSettings\";\r\n private static _notificationsKey = \"AccuDrawNotifications\";\r\n public readonly providerId = \"FrameworkAccuDraw\";\r\n\r\n /** AccuDraw Set Field Focus event. */\r\n public static readonly onAccuDrawSetFieldFocusEvent = new AccuDrawSetFieldFocusEvent();\r\n /** AccuDraw Set Field Value to Ui event. */\r\n public static readonly onAccuDrawSetFieldValueToUiEvent = new AccuDrawSetFieldValueToUiEvent();\r\n /** AccuDraw Set Field Value from Ui event. */\r\n public static readonly onAccuDrawSetFieldValueFromUiEvent = new AccuDrawSetFieldValueFromUiEvent();\r\n /** AccuDraw Set Field Lock event. */\r\n public static readonly onAccuDrawSetFieldLockEvent = new AccuDrawSetFieldLockEvent();\r\n /** AccuDraw Set Mode event. */\r\n public static readonly onAccuDrawSetCompassModeEvent = new AccuDrawSetCompassModeEvent();\r\n /** AccuDraw Grab Input Focus event. */\r\n public static readonly onAccuDrawGrabInputFocusEvent = new AccuDrawGrabInputFocusEvent();\r\n\r\n /** Determines if AccuDraw.rotationMode === RotationMode.Top */\r\n public static readonly isTopRotationConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.rotationMode === RotationMode.Top, [SyncUiEventId.AccuDrawRotationChanged]);\r\n /** Determines if AccuDraw.rotationMode === RotationMode.Front */\r\n public static readonly isFrontRotationConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.rotationMode === RotationMode.Front, [SyncUiEventId.AccuDrawRotationChanged]);\r\n /** Determines if AccuDraw.rotationMode === RotationMode.Side */\r\n public static readonly isSideRotationConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.rotationMode === RotationMode.Side, [SyncUiEventId.AccuDrawRotationChanged]);\r\n /** Determines if AccuDraw.rotationMode === RotationMode.View */\r\n public static readonly isViewRotationConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.rotationMode === RotationMode.View, [SyncUiEventId.AccuDrawRotationChanged]);\r\n /** Determines if AccuDraw.rotationMode === RotationMode.ACS */\r\n public static readonly isACSRotationConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.rotationMode === RotationMode.ACS, [SyncUiEventId.AccuDrawRotationChanged]);\r\n /** Determines if AccuDraw.rotationMode === RotationMode.Context */\r\n public static readonly isContextRotationConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.rotationMode === RotationMode.Context, [SyncUiEventId.AccuDrawRotationChanged]);\r\n /** Determines if AccuDraw.compassMode === CompassMode.Polar */\r\n public static readonly isPolarModeConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.compassMode === CompassMode.Polar, [SyncUiEventId.AccuDrawCompassModeChanged]);\r\n /** Determines if AccuDraw.compassMode === CompassMode.Rectangular */\r\n public static readonly isRectangularModeConditional = new ConditionalBooleanValue(() => IModelApp.accuDraw.compassMode === CompassMode.Rectangular, [SyncUiEventId.AccuDrawCompassModeChanged]);\r\n\r\n /** AccuDraw Grab Input Focus event. */\r\n public static readonly onAccuDrawUiSettingsChangedEvent = new AccuDrawUiSettingsChangedEvent();\r\n\r\n /** Determines if notifications should be displayed for AccuDraw changes */\r\n public static get displayNotifications(): boolean { return FrameworkAccuDraw._displayNotifications; }\r\n public static set displayNotifications(v: boolean) {\r\n FrameworkAccuDraw._displayNotifications = v;\r\n UiFramework.getUiStateStorage().saveSetting(this._settingsNamespace, this._notificationsKey, v); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n /* @internal */\r\n public async loadUserSettings(storage: UiStateStorage): Promise<void> {\r\n const result = await storage.getSetting(FrameworkAccuDraw._settingsNamespace, FrameworkAccuDraw._notificationsKey);\r\n if (result.status === UiStateStorageStatus.Success)\r\n FrameworkAccuDraw._displayNotifications = result.setting;\r\n }\r\n\r\n /** AccuDraw User Interface settings */\r\n public static get uiStateStorage(): AccuDrawUiSettings | undefined { return FrameworkAccuDraw._uiSettings; }\r\n public static set uiStateStorage(v: AccuDrawUiSettings | undefined) {\r\n FrameworkAccuDraw._uiSettings = v;\r\n FrameworkAccuDraw.onAccuDrawUiSettingsChangedEvent.emit({});\r\n }\r\n\r\n constructor() {\r\n super();\r\n FrameworkAccuDraw.onAccuDrawSetFieldValueFromUiEvent.addListener(this.handleSetFieldValueFromUiEvent);\r\n UiFramework.registerUserSettingsProvider(this);\r\n }\r\n\r\n private handleSetFieldValueFromUiEvent = async (args: AccuDrawSetFieldValueFromUiEventArgs) => {\r\n return this.processFieldInput(args.field, args.stringValue, false);\r\n };\r\n\r\n /** @internal */\r\n public override onCompassModeChange(): void {\r\n FrameworkAccuDraw.onAccuDrawSetCompassModeEvent.emit({ mode: this.compassMode });\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.AccuDrawCompassModeChanged);\r\n\r\n this.outputCompassModeMessage();\r\n }\r\n\r\n /** @internal */\r\n public override onRotationModeChange(): void {\r\n SyncUiEventDispatcher.dispatchSyncUiEvent(SyncUiEventId.AccuDrawRotationChanged);\r\n\r\n this.outputRotationMessage();\r\n }\r\n\r\n /** @internal */\r\n public override onFieldLockChange(index: ItemField): void {\r\n FrameworkAccuDraw.onAccuDrawSetFieldLockEvent.emit({ field: index, lock: this.getFieldLock(index) });\r\n }\r\n\r\n /** @internal */\r\n public override onFieldValueChange(index: ItemField): void {\r\n const value = this.getValueByIndex(index);\r\n const formattedValue = FrameworkAccuDraw.getFieldDisplayValue(index);\r\n FrameworkAccuDraw.onAccuDrawSetFieldValueToUiEvent.emit({ field: index, value, formattedValue });\r\n }\r\n\r\n private fieldValuesChanged(): void {\r\n this.onFieldValueChange(ItemField.X_Item);\r\n this.onFieldValueChange(ItemField.Y_Item);\r\n this.onFieldValueChange(ItemField.Z_Item);\r\n this.onFieldValueChange(ItemField.ANGLE_Item);\r\n this.onFieldValueChange(ItemField.DIST_Item);\r\n }\r\n\r\n /** @internal */\r\n public override setFocusItem(index: ItemField): void {\r\n FrameworkAccuDraw.onAccuDrawSetFieldFocusEvent.emit({ field: index });\r\n }\r\n\r\n /** Implemented by sub-classes to update ui fields to show current deltas or coordinates when inactive.\r\n * Should also choose active x or y input field in rectangular mode based on cursor position when\r\n * axis isn't locked to support \"smart lock\".\r\n * @internal\r\n */\r\n public override onMotion(_ev: BeButtonEvent): void {\r\n if (!this.isEnabled || this.isDeactivated || UiFramework.isContextMenuOpen)\r\n return;\r\n\r\n this.fieldValuesChanged();\r\n\r\n if (!this.dontMoveFocus)\r\n this.setFocusItem(this.newFocus);\r\n }\r\n\r\n /** Determine if the AccuDraw UI has focus\r\n * @internal\r\n */\r\n public override get hasInputFocus(): boolean {\r\n let hasFocus = false;\r\n const el = document.querySelector(\"div.uifw-accudraw-field-container\");\r\n if (el)\r\n hasFocus = el.contains(document.activeElement);\r\n return hasFocus;\r\n }\r\n\r\n /** Implement this method to set focus to the AccuDraw UI.\r\n * @internal\r\n */\r\n public override grabInputFocus(): void {\r\n FrameworkAccuDraw.onAccuDrawGrabInputFocusEvent.emit({});\r\n }\r\n\r\n /** Gets the display value for an AccuDraw field */\r\n public static getFieldDisplayValue(index: ItemField): string {\r\n const value = IModelApp.accuDraw.getValueByIndex(index);\r\n let formattedValue = value.toString();\r\n\r\n const formatterSpec = IModelApp.quantityFormatter.findFormatterSpecByQuantityType(ItemField.ANGLE_Item === index ? QuantityType.Angle : QuantityType.Length);\r\n // istanbul ignore else\r\n if (formatterSpec)\r\n formattedValue = IModelApp.quantityFormatter.formatQuantity(value, formatterSpec);\r\n\r\n return formattedValue;\r\n }\r\n\r\n /** AccuDraw Set Field Value from Ui. */\r\n public static setFieldValueFromUi(field: ItemField, stringValue: string): void {\r\n FrameworkAccuDraw.onAccuDrawSetFieldValueFromUiEvent.emit({ field, stringValue });\r\n }\r\n\r\n private outputInfoMessage(message: string): void {\r\n // istanbul ignore else\r\n if (FrameworkAccuDraw.displayNotifications)\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, message));\r\n }\r\n\r\n private outputCompassModeMessage(): void {\r\n if (FrameworkAccuDraw.displayNotifications) {\r\n let modeKey = compassModeToKeyMap.get(this.compassMode);\r\n // istanbul ignore if\r\n if (modeKey === undefined)\r\n modeKey = \"polar\";\r\n const modeString = UiFramework.translate(`accuDraw.compassMode.${modeKey}`);\r\n const modeMessage = UiFramework.localization.getLocalizedString(\"accuDraw.compassModeSet\", { modeString, ns: UiFramework.localizationNamespace });\r\n this.outputInfoMessage(modeMessage);\r\n }\r\n }\r\n\r\n private outputRotationMessage(): void {\r\n if (FrameworkAccuDraw.displayNotifications) {\r\n let rotationKey = rotationModeToKeyMap.get(this.rotationMode);\r\n // istanbul ignore if\r\n if (rotationKey === undefined)\r\n rotationKey = \"top\";\r\n const rotationString = UiFramework.translate(`accuDraw.rotation.${rotationKey}`);\r\n const rotationMessage = UiFramework.localization.getLocalizedString(\"accuDraw.rotationSet\", { rotationString, ns: UiFramework.localizationNamespace });\r\n this.outputInfoMessage(rotationMessage);\r\n }\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuButton.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/MenuButton.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,6BAA2B;AAC3B,+BAA+B;AAE/B,kDAAuE;AACvE,iDAAiE;AACjE,oEAAqD;AAerD,aAAa;AACb,MAAa,UAAW,SAAQ,KAAK,CAAC,aAA+C;IAGnF,YAAY,KAAsB;QAChC,KAAK,CAAC,KAAK,CAAC,CAAC;QAHP,UAAK,GAAuB,IAAI,CAAC;QAiDjC,UAAK,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,QAAQ,CACX,EAAE,QAAQ,EAAE,IAAI,EAAE,EAClB,GAAG,EAAE;gBACH,uBAAuB;gBACvB,IAAI,IAAI,CAAC,KAAK;oBACZ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEM,iBAAY,GAAG,CAAC,KAAU,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;aACpC;iBAAM;gBACL,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;QACH,CAAC,CAAC;QAEF,uBAAuB;QACf,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC;QAlEA,IAAI,CAAC,KAAK,GAAG;YACX,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAEe,MAAM;QACpB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,wDAAwD;QAErI,MAAM,QAAQ,GAAwB;YACpC,GAAG,EAAE,KAAK,CAAC,CAAC;YACZ,IAAI,EAAE,KAAK,CAAC,CAAC;SACd,CAAC;QAEF,OAAO,CACL,6BAAK,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9E,oBAAC,2BAAY,OAAK,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC3F,oBAAC,iBAAI,IAAC,QAAQ,EAAE,oBAAC,6BAAO,OAAG,GAAI,CAClB;YACf,oBAAC,wBAAW,IACV,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EACjC,aAAa,EAAE,CAAC,EAChB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,cAAc,EAAE,IAAI,CAAC,YAAY,EACjC,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC3B,QAAQ,EAAE,KAAK,IACd,IAAI,CAAC,KAAK,CAAC,QAAQ,CACR,CACV,CACP,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,GAA0B;QAC1C,uBAAuB;QACvB,IAAI,GAAG,EAAE;YACP,MAAM,IAAI,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,iBAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/C,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW;gBACxB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAChC;IACH,CAAC;CA0BF;AA1ED,gCA0EC","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 \"./MenuButton.scss\";\nimport * as React from \"react\";\nimport { PointProps } from \"@itwin/appui-abstract\";\nimport { ContextMenu, Icon, Size, SizeProps } from \"@itwin/core-react\";\nimport { SquareButton, SquareButtonProps } from \"./SquareButton\";\nimport { SvgMore } from \"@itwin/itwinui-icons-react\";\n\n/** @alpha */\nexport interface MenuButtonProps extends SquareButtonProps {\n /** Center point */\n point: PointProps;\n /** Function called when size is known. */\n onSizeKnown?: (size: SizeProps) => void;\n}\n\n/** @internal */\ninterface MenuButtonState {\n expanded: boolean;\n}\n\n/** @alpha */\nexport class MenuButton extends React.PureComponent<MenuButtonProps, MenuButtonState> {\n private _menu: ContextMenu | null = null;\n\n constructor(props: MenuButtonProps) {\n super(props);\n\n this.state = {\n expanded: false,\n };\n }\n\n public override render() {\n const { point, className, style, onSizeKnown, ...buttonProps } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\n\n const divStyle: React.CSSProperties = {\n top: point.y,\n left: point.x,\n };\n\n return (\n <div className=\"uifw-menu-button\" style={divStyle} ref={(e) => this.setDivRef(e)}>\n <SquareButton {...buttonProps} className={className} style={style} onClick={this._handleClick}>\n <Icon iconSpec={<SvgMore />} />\n </SquareButton>\n <ContextMenu\n ref={(el) => { this._menu = el; }}\n selectedIndex={0}\n onSelect={this._handleClose}\n onOutsideClick={this._handleClose}\n onEsc={this._handleClose}\n opened={this.state.expanded}\n autoflip={false}>\n {this.props.children}\n </ContextMenu>\n </div>\n );\n }\n\n private setDivRef(div: HTMLDivElement | null) {\n // istanbul ignore else\n if (div) {\n const rect = div.getBoundingClientRect();\n const size = new Size(rect.width, rect.height);\n\n // istanbul ignore else\n if (this.props.onSizeKnown)\n this.props.onSizeKnown(size);\n }\n }\n\n private _open = () => {\n this.setState(\n { expanded: true },\n () => {\n // istanbul ignore else\n if (this._menu)\n this._menu.focus();\n });\n };\n\n private _handleClick = (event: any) => {\n if (this.state.expanded) {\n event.stopPropagation();\n this.setState({ expanded: false });\n } else {\n this._open();\n }\n };\n\n // istanbul ignore next\n private _handleClose = () => {\n this.setState({ expanded: false });\n };\n\n}\n"]}
1
+ {"version":3,"file":"MenuButton.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/MenuButton.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,6BAA2B;AAC3B,+BAA+B;AAE/B,kDAAuE;AACvE,iDAAiE;AACjE,oEAAqD;AAerD,aAAa;AACb,MAAa,UAAW,SAAQ,KAAK,CAAC,aAA+C;IAGnF,YAAY,KAAsB;QAChC,KAAK,CAAC,KAAK,CAAC,CAAC;QAHP,UAAK,GAAuB,IAAI,CAAC;QAiDjC,UAAK,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,QAAQ,CACX,EAAE,QAAQ,EAAE,IAAI,EAAE,EAClB,GAAG,EAAE;gBACH,uBAAuB;gBACvB,IAAI,IAAI,CAAC,KAAK;oBACZ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEM,iBAAY,GAAG,CAAC,KAAU,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;aACpC;iBAAM;gBACL,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;QACH,CAAC,CAAC;QAEF,uBAAuB;QACf,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC;QAlEA,IAAI,CAAC,KAAK,GAAG;YACX,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAEe,MAAM;QACpB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,wDAAwD;QAErI,MAAM,QAAQ,GAAwB;YACpC,GAAG,EAAE,KAAK,CAAC,CAAC;YACZ,IAAI,EAAE,KAAK,CAAC,CAAC;SACd,CAAC;QAEF,OAAO,CACL,6BAAK,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9E,oBAAC,2BAAY,OAAK,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC3F,oBAAC,iBAAI,IAAC,QAAQ,EAAE,oBAAC,6BAAO,OAAG,GAAI,CAClB;YACf,oBAAC,wBAAW,IACV,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EACjC,aAAa,EAAE,CAAC,EAChB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,cAAc,EAAE,IAAI,CAAC,YAAY,EACjC,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC3B,QAAQ,EAAE,KAAK,IACd,IAAI,CAAC,KAAK,CAAC,QAAQ,CACR,CACV,CACP,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,GAA0B;QAC1C,uBAAuB;QACvB,IAAI,GAAG,EAAE;YACP,MAAM,IAAI,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,iBAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/C,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW;gBACxB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAChC;IACH,CAAC;CA0BF;AA1ED,gCA0EC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccuDraw\r\n */\r\n\r\nimport \"./MenuButton.scss\";\r\nimport * as React from \"react\";\r\nimport { PointProps } from \"@itwin/appui-abstract\";\r\nimport { ContextMenu, Icon, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { SquareButton, SquareButtonProps } from \"./SquareButton\";\r\nimport { SvgMore } from \"@itwin/itwinui-icons-react\";\r\n\r\n/** @alpha */\r\nexport interface MenuButtonProps extends SquareButtonProps {\r\n /** Center point */\r\n point: PointProps;\r\n /** Function called when size is known. */\r\n onSizeKnown?: (size: SizeProps) => void;\r\n}\r\n\r\n/** @internal */\r\ninterface MenuButtonState {\r\n expanded: boolean;\r\n}\r\n\r\n/** @alpha */\r\nexport class MenuButton extends React.PureComponent<MenuButtonProps, MenuButtonState> {\r\n private _menu: ContextMenu | null = null;\r\n\r\n constructor(props: MenuButtonProps) {\r\n super(props);\r\n\r\n this.state = {\r\n expanded: false,\r\n };\r\n }\r\n\r\n public override render() {\r\n const { point, className, style, onSizeKnown, ...buttonProps } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n const divStyle: React.CSSProperties = {\r\n top: point.y,\r\n left: point.x,\r\n };\r\n\r\n return (\r\n <div className=\"uifw-menu-button\" style={divStyle} ref={(e) => this.setDivRef(e)}>\r\n <SquareButton {...buttonProps} className={className} style={style} onClick={this._handleClick}>\r\n <Icon iconSpec={<SvgMore />} />\r\n </SquareButton>\r\n <ContextMenu\r\n ref={(el) => { this._menu = el; }}\r\n selectedIndex={0}\r\n onSelect={this._handleClose}\r\n onOutsideClick={this._handleClose}\r\n onEsc={this._handleClose}\r\n opened={this.state.expanded}\r\n autoflip={false}>\r\n {this.props.children}\r\n </ContextMenu>\r\n </div>\r\n );\r\n }\r\n\r\n private setDivRef(div: HTMLDivElement | null) {\r\n // istanbul ignore else\r\n if (div) {\r\n const rect = div.getBoundingClientRect();\r\n const size = new Size(rect.width, rect.height);\r\n\r\n // istanbul ignore else\r\n if (this.props.onSizeKnown)\r\n this.props.onSizeKnown(size);\r\n }\r\n }\r\n\r\n private _open = () => {\r\n this.setState(\r\n { expanded: true },\r\n () => {\r\n // istanbul ignore else\r\n if (this._menu)\r\n this._menu.focus();\r\n });\r\n };\r\n\r\n private _handleClick = (event: any) => {\r\n if (this.state.expanded) {\r\n event.stopPropagation();\r\n this.setState({ expanded: false });\r\n } else {\r\n this._open();\r\n }\r\n };\r\n\r\n // istanbul ignore next\r\n private _handleClose = () => {\r\n this.setState({ expanded: false });\r\n };\r\n\r\n}\r\n"]}
@@ -1,19 +1,19 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/core-react/lib/cjs/core-react/inputs/variables";
6
-
7
- .uifw-menu-button {
8
- position: absolute;
9
- pointer-events: auto;
10
-
11
- .icon {
12
- line-height: 2.0;
13
- }
14
-
15
- >.context-menu {
16
- top: $uicore-inputs-padding-bordered;
17
- }
18
-
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "~@itwin/core-react/lib/cjs/core-react/inputs/variables";
6
+
7
+ .uifw-menu-button {
8
+ position: absolute;
9
+ pointer-events: auto;
10
+
11
+ .icon {
12
+ line-height: 2.0;
13
+ }
14
+
15
+ >.context-menu {
16
+ top: $uicore-inputs-padding-bordered;
17
+ }
18
+
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MenuButtonPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/MenuButtonPopup.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,kDAAoD;AACpD,wDAAqE;AACrE,6CAA0C;AAY1C;;GAEG;AACH,MAAa,eAAgB,SAAQ,KAAK,CAAC,aAAyD;IAApG;;QACE,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,iBAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB,CAAC;QAEM,iBAAY,GAAG,CAAC,OAAkB,EAAE,EAAE;YAC5C,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;IAeJ,CAAC;IAbC,gBAAgB;IACA,MAAM;QACpB,MAAM,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9G,OAAO,CACL,oBAAC,uBAAU,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAC5B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,YAAY,IAE7B,IAAI,CAAC,KAAK,CAAC,OAAO,CACR,CACd,CAAC;IACJ,CAAC;CACF;AAzBD,0CAyBC","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 { Size, SizeProps } from \"@itwin/core-react\";\nimport { PopupManager, PopupPropsBase } from \"../popup/PopupManager\";\nimport { MenuButton } from \"./MenuButton\";\n\n/** @alpha */\nexport interface MenuButtonPopupProps extends PopupPropsBase {\n content: React.ReactNode;\n}\n\n/** @internal */\ninterface MenuButtonPopupState {\n size: Size;\n}\n\n/** Popup component for Menu Buttons\n * @alpha\n */\nexport class MenuButtonPopup extends React.PureComponent<MenuButtonPopupProps, MenuButtonPopupState> {\n /** @internal */\n public override readonly state = {\n size: new Size(-1, -1),\n };\n\n private _onSizeKnown = (newSize: SizeProps) => {\n // istanbul ignore else\n if (!this.state.size.equals(newSize))\n this.setState({ size: Size.create(newSize) });\n };\n\n /** @internal */\n public override render() {\n const point = PopupManager.getPopupPosition(this.props.el, this.props.pt, this.props.offset, this.state.size);\n\n return (\n <MenuButton key={this.props.id}\n point={point}\n onSizeKnown={this._onSizeKnown}\n >\n {this.props.content}\n </MenuButton>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"MenuButtonPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/MenuButtonPopup.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,kDAAoD;AACpD,wDAAqE;AACrE,6CAA0C;AAY1C;;GAEG;AACH,MAAa,eAAgB,SAAQ,KAAK,CAAC,aAAyD;IAApG;;QACE,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,iBAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB,CAAC;QAEM,iBAAY,GAAG,CAAC,OAAkB,EAAE,EAAE;YAC5C,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;IAeJ,CAAC;IAbC,gBAAgB;IACA,MAAM;QACpB,MAAM,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9G,OAAO,CACL,oBAAC,uBAAU,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAC5B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,YAAY,IAE7B,IAAI,CAAC,KAAK,CAAC,OAAO,CACR,CACd,CAAC;IACJ,CAAC;CACF;AAzBD,0CAyBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccuDraw\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Size, SizeProps } from \"@itwin/core-react\";\r\nimport { PopupManager, PopupPropsBase } from \"../popup/PopupManager\";\r\nimport { MenuButton } from \"./MenuButton\";\r\n\r\n/** @alpha */\r\nexport interface MenuButtonPopupProps extends PopupPropsBase {\r\n content: React.ReactNode;\r\n}\r\n\r\n/** @internal */\r\ninterface MenuButtonPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Menu Buttons\r\n * @alpha\r\n */\r\nexport class MenuButtonPopup extends React.PureComponent<MenuButtonPopupProps, MenuButtonPopupState> {\r\n /** @internal */\r\n public override readonly state = {\r\n size: new Size(-1, -1),\r\n };\r\n\r\n private _onSizeKnown = (newSize: SizeProps) => {\r\n // istanbul ignore else\r\n if (!this.state.size.equals(newSize))\r\n this.setState({ size: Size.create(newSize) });\r\n };\r\n\r\n /** @internal */\r\n public override render() {\r\n const point = PopupManager.getPopupPosition(this.props.el, this.props.pt, this.props.offset, this.state.size);\r\n\r\n return (\r\n <MenuButton key={this.props.id}\r\n point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n {this.props.content}\r\n </MenuButton>\r\n );\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SquareButton.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/SquareButton.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA6B;AAC7B,2CAAoC;AACpC,+BAA+B;AAE/B,wDAA2D;AAK3D,aAAa;AACb,MAAa,YAAa,SAAQ,KAAK,CAAC,aAAgC;IACtD,MAAM;QACpB,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAExD,MAAM,gBAAgB,GAAG,IAAA,oBAAU,EACjC,oBAAoB,EACpB,SAAS,CACV,CAAC;QACF,MAAM,WAAW,GAAwB;YACvC,GAAG,KAAK;SACT,CAAC;QAEF,OAAO,CACL,oBAAC,sBAAM,OAAK,WAAW,EAAE,IAAI,EAAC,OAAO,EAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,GAAI,CAC1F,CAAC;IACJ,CAAC;CACF;AAhBD,oCAgBC","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 \"./SquareButton.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Omit } from \"@itwin/core-react\";\nimport { Button, ButtonProps } from \"@itwin/itwinui-react\";\n\n/** @alpha */\nexport interface SquareButtonProps extends Omit<ButtonProps, \"size\" | \"styleType\"> { } // eslint-disable-line @typescript-eslint/no-empty-interface\n\n/** @alpha */\nexport class SquareButton extends React.PureComponent<SquareButtonProps> {\n public override render() {\n const { className, style, ...buttonProps } = this.props;\n\n const buttonClassNames = classnames(\n \"uifw-square-button\",\n className,\n );\n const buttonStyle: React.CSSProperties = {\n ...style,\n };\n\n return (\n <Button {...buttonProps} size=\"small\" className={buttonClassNames} style={buttonStyle} />\n );\n }\n}\n"]}
1
+ {"version":3,"file":"SquareButton.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/SquareButton.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA6B;AAC7B,2CAAoC;AACpC,+BAA+B;AAE/B,wDAA2D;AAK3D,aAAa;AACb,MAAa,YAAa,SAAQ,KAAK,CAAC,aAAgC;IACtD,MAAM;QACpB,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAExD,MAAM,gBAAgB,GAAG,IAAA,oBAAU,EACjC,oBAAoB,EACpB,SAAS,CACV,CAAC;QACF,MAAM,WAAW,GAAwB;YACvC,GAAG,KAAK;SACT,CAAC;QAEF,OAAO,CACL,oBAAC,sBAAM,OAAK,WAAW,EAAE,IAAI,EAAC,OAAO,EAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,GAAI,CAC1F,CAAC;IACJ,CAAC;CACF;AAhBD,oCAgBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccuDraw\r\n */\r\n\r\nimport \"./SquareButton.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { Omit } from \"@itwin/core-react\";\r\nimport { Button, ButtonProps } from \"@itwin/itwinui-react\";\r\n\r\n/** @alpha */\r\nexport interface SquareButtonProps extends Omit<ButtonProps, \"size\" | \"styleType\"> { } // eslint-disable-line @typescript-eslint/no-empty-interface\r\n\r\n/** @alpha */\r\nexport class SquareButton extends React.PureComponent<SquareButtonProps> {\r\n public override render() {\r\n const { className, style, ...buttonProps } = this.props;\r\n\r\n const buttonClassNames = classnames(\r\n \"uifw-square-button\",\r\n className,\r\n );\r\n const buttonStyle: React.CSSProperties = {\r\n ...style,\r\n };\r\n\r\n return (\r\n <Button {...buttonProps} size=\"small\" className={buttonClassNames} style={buttonStyle} />\r\n );\r\n }\r\n}\r\n"]}
@@ -1,30 +1,30 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
-
6
- $button-size: 32px;
7
-
8
- .uifw-square-button {
9
- display: flex;
10
- justify-content: center;
11
- background-color: var(--iui-color-background);
12
- color: var(--iui-color-text);
13
- border-color: var(--iui-color-border-foreground);
14
- border-radius: var(--iui-border-radius-1);
15
- border-width: 1px;
16
- border-style: solid;
17
- opacity: var(--iui-opacity-2);
18
- pointer-events: auto;
19
- margin: 0;
20
- width: $button-size;
21
- height: $button-size;
22
-
23
- &:focus,
24
- &:hover {
25
- background-color: var(--iui-color-background-hover);
26
- color: var(--iui-color-text-hover);
27
- border-color: var(--iui-color-border-foreground-hover);
28
- opacity: var(--iui-opacity-1);
29
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ $button-size: 32px;
7
+
8
+ .uifw-square-button {
9
+ display: flex;
10
+ justify-content: center;
11
+ background-color: var(--iui-color-background);
12
+ color: var(--iui-color-text);
13
+ border-color: var(--iui-color-border-foreground);
14
+ border-radius: var(--iui-border-radius-1);
15
+ border-width: 1px;
16
+ border-style: solid;
17
+ opacity: var(--iui-opacity-2);
18
+ pointer-events: auto;
19
+ margin: 0;
20
+ width: $button-size;
21
+ height: $button-size;
22
+
23
+ &:focus,
24
+ &:hover {
25
+ background-color: var(--iui-color-background-hover);
26
+ color: var(--iui-color-text-hover);
27
+ border-color: var(--iui-color-border-foreground-hover);
28
+ opacity: var(--iui-opacity-1);
29
+ }
30
30
  }
@@ -1,9 +1,9 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
- <svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
- viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
5
- <path d="M5,2L0,7.5L5,13h11V2H5z M12.21,8.79c0.39,0.39,0.39,1.03,0,1.42c-0.19,0.19-0.44,0.29-0.71,0.29
6
- c-0.27,0-0.52-0.1-0.71-0.29L9.5,8.91l-1.29,1.3c-0.38,0.37-1.04,0.37-1.42,0c-0.39-0.39-0.39-1.03,0-1.42l1.3-1.29l-1.3-1.29
7
- c-0.39-0.39-0.39-1.03,0-1.42c0.39-0.39,1.03-0.39,1.42,0l1.29,1.3l1.29-1.3c0.39-0.39,1.03-0.39,1.42,0c0.39,0.39,0.39,1.03,0,1.42
8
- l-1.3,1.29L12.21,8.79z"/>
9
- </svg>
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
5
+ <path d="M5,2L0,7.5L5,13h11V2H5z M12.21,8.79c0.39,0.39,0.39,1.03,0,1.42c-0.19,0.19-0.44,0.29-0.71,0.29
6
+ c-0.27,0-0.52-0.1-0.71-0.29L9.5,8.91l-1.29,1.3c-0.38,0.37-1.04,0.37-1.42,0c-0.39-0.39-0.39-1.03,0-1.42l1.3-1.29l-1.3-1.29
7
+ c-0.39-0.39-0.39-1.03,0-1.42c0.39-0.39,1.03-0.39,1.42,0l1.29,1.3l1.29-1.3c0.39-0.39,1.03-0.39,1.42,0c0.39,0.39,0.39,1.03,0,1.42
8
+ l-1.3,1.29L12.21,8.79z"/>
9
+ </svg>
@@ -1,11 +1,11 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
- <svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
- viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
5
- <g>
6
- <polygon points="7,15 7,1 0,15 "/>
7
- <g>
8
- <path d="M10,5.2361L14.382,14H10V5.2361 M9,1v14h7L9,1L9,1z"/>
9
- </g>
10
- </g>
11
- </svg>
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
5
+ <g>
6
+ <polygon points="7,15 7,1 0,15 "/>
7
+ <g>
8
+ <path d="M10,5.2361L14.382,14H10V5.2361 M9,1v14h7L9,1L9,1z"/>
9
+ </g>
10
+ </g>
11
+ </svg>
@@ -1,10 +1,10 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
- <svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
- viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
5
- <title>distance</title>
6
- <g>
7
- <polygon points="16,15 14.125,15 16,12 14,12 14,4 16,4 14.125,1 16,1 16,0 11,0 11,1 12.875,1 11,4 13,4 13,12 11,12 12.875,15
8
- 0,15 0,16 16,16 "/>
9
- </g>
10
- </svg>
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
5
+ <title>distance</title>
6
+ <g>
7
+ <polygon points="16,15 14.125,15 16,12 14,12 14,4 16,4 14.125,1 16,1 16,0 11,0 11,1 12.875,1 11,4 13,4 13,12 11,12 12.875,15
8
+ 0,15 0,16 16,16 "/>
9
+ </g>
10
+ </svg>
@@ -1,11 +1,11 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
- <svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
- viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
5
- <title>distance</title>
6
- <g>
7
- <rect x="4" width="1" height="16"/>
8
- <polygon points="12,15 10.125,15 12,12 10,12 10,4 12,4 10.125,1 12,1 12,0 7,0 7,1 8.875,1 7,4 9,4 9,12 7,12 8.875,15 7,15 7,16
9
- 12,16 "/>
10
- </g>
11
- </svg>
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
5
+ <title>distance</title>
6
+ <g>
7
+ <rect x="4" width="1" height="16"/>
8
+ <polygon points="12,15 10.125,15 12,12 10,12 10,4 12,4 10.125,1 12,1 12,0 7,0 7,1 8.875,1 7,4 9,4 9,12 7,12 8.875,15 7,15 7,16
9
+ 12,16 "/>
10
+ </g>
11
+ </svg>