@itwin/appui-react 4.1.0-dev.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (627) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  3. package/lib/cjs/appui-react/_variables.scss +11 -11
  4. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  5. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  7. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  9. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  11. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  15. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/Calculator.scss +84 -84
  17. package/lib/cjs/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  19. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  21. package/lib/cjs/appui-react/accudraw/MenuButton.scss +18 -18
  22. package/lib/cjs/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  23. package/lib/cjs/appui-react/accudraw/SquareButton.js.map +1 -1
  24. package/lib/cjs/appui-react/accudraw/SquareButton.scss +29 -29
  25. package/lib/cjs/appui-react/accudraw/backspace.svg +9 -9
  26. package/lib/cjs/appui-react/accudraw/constraint-2d.svg +11 -11
  27. package/lib/cjs/appui-react/accudraw/height-2.svg +10 -10
  28. package/lib/cjs/appui-react/accudraw/height.svg +11 -11
  29. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  30. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  31. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  32. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  34. package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
  35. package/lib/cjs/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  36. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  37. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  38. package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
  39. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +21 -21
  40. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  41. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
  42. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +1 -1
  43. package/lib/cjs/appui-react/childwindow/PopoutWidget.scss +10 -10
  44. package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
  45. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  46. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  47. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  48. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  49. package/lib/cjs/appui-react/configurableui/configurableui.scss +74 -74
  50. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  51. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  52. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  53. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  54. package/lib/cjs/appui-react/content/ContentLayout.scss +127 -127
  55. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  56. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +46 -46
  57. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  58. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  59. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  60. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  61. package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -1
  62. package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -1
  63. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  64. package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -1
  65. package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -1
  66. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  67. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  68. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  69. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  70. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  71. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  72. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  73. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  74. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  75. package/lib/cjs/appui-react/dialog/ContentDialog.scss +25 -25
  76. package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -1
  77. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  78. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  79. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  80. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  81. package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
  82. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  83. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  84. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  85. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  86. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  87. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  88. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +50 -50
  89. package/lib/cjs/appui-react/framework/FrameworkBackstage.js.map +1 -1
  90. package/lib/cjs/appui-react/framework/FrameworkChildWindows.js.map +1 -1
  91. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
  92. package/lib/cjs/appui-react/framework/FrameworkControls.js.map +1 -1
  93. package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
  94. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  95. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  96. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  97. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  98. package/lib/cjs/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  99. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  100. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  101. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  102. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  103. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +80 -80
  104. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  105. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +11 -11
  106. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  107. package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
  108. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  109. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  110. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  111. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  112. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  113. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  114. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  115. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  116. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  117. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
  118. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  119. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  120. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  121. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  122. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  123. package/lib/cjs/appui-react/messages/HollowIcon.js.map +1 -1
  124. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  125. package/lib/cjs/appui-react/messages/InputField.scss +82 -82
  126. package/lib/cjs/appui-react/messages/MessageLabel.js.map +1 -1
  127. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  128. package/lib/cjs/appui-react/messages/MessageSpan.js.map +1 -1
  129. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  130. package/lib/cjs/appui-react/messages/Pointer.scss +42 -42
  131. package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  132. package/lib/cjs/appui-react/messages/StatusMessageManager.js.map +1 -1
  133. package/lib/cjs/appui-react/messages/getToastCategory.js.map +1 -1
  134. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  135. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  136. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  137. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  138. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
  139. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  140. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  141. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  142. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  143. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  144. package/lib/cjs/appui-react/pickers/ListPicker.scss +305 -305
  145. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  146. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  147. package/lib/cjs/appui-react/popup/CardPopup.scss +25 -25
  148. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  149. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  150. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  151. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +30 -30
  152. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  153. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  154. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  155. package/lib/cjs/appui-react/popup/PositionPopup.scss +28 -28
  156. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  157. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  158. package/lib/cjs/appui-react/redux/FrameworkState.js.map +1 -1
  159. package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
  160. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  161. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  162. package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
  163. package/lib/cjs/appui-react/redux/redux-ts.js.map +1 -1
  164. package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
  165. package/lib/cjs/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
  166. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  167. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  168. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  169. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  170. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
  171. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  172. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  173. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +65 -65
  174. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  175. package/lib/cjs/appui-react/shared/AnyItemDef.js.map +1 -1
  176. package/lib/cjs/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  177. package/lib/cjs/appui-react/shared/CommandItemDef.js.map +1 -1
  178. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  179. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  180. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  181. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  182. package/lib/cjs/appui-react/shared/ItemMap.js.map +1 -1
  183. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  184. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  185. package/lib/cjs/appui-react/shared/SelectionScope.js.map +1 -1
  186. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  187. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  188. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  189. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  190. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  191. package/lib/cjs/appui-react/statusbar/Field.js.map +1 -1
  192. package/lib/cjs/appui-react/statusbar/Field.scss +109 -109
  193. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  194. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  195. package/lib/cjs/appui-react/statusbar/LabelIndicator.scss +43 -43
  196. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  197. package/lib/cjs/appui-react/statusbar/Overflow.scss +27 -27
  198. package/lib/cjs/appui-react/statusbar/OverflowPanel.js.map +1 -1
  199. package/lib/cjs/appui-react/statusbar/OverflowPanel.scss +22 -22
  200. package/lib/cjs/appui-react/statusbar/Popup.js.map +1 -1
  201. package/lib/cjs/appui-react/statusbar/Separator.js.map +1 -1
  202. package/lib/cjs/appui-react/statusbar/Separator.scss +12 -12
  203. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  204. package/lib/cjs/appui-react/statusbar/StatusBar.scss +41 -41
  205. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  206. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  207. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  208. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  209. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  210. package/lib/cjs/appui-react/statusbar/dialog/Button.js.map +1 -1
  211. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  212. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  213. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  214. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  215. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  216. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  217. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  218. package/lib/cjs/appui-react/statusfields/SectionsField.scss +35 -35
  219. package/lib/cjs/appui-react/statusfields/SelectionCount.js.map +1 -1
  220. package/lib/cjs/appui-react/statusfields/SelectionCount.scss +12 -12
  221. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  222. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  223. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +46 -46
  224. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  225. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  226. package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +10 -10
  227. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  228. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
  229. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  230. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
  231. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  232. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  233. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  234. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  235. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  236. package/lib/cjs/appui-react/toolbar/DragInteraction.js.map +1 -1
  237. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  238. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  239. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  240. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  241. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  242. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  243. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  244. package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  245. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  246. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  247. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  248. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  249. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  250. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  251. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  252. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  253. package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
  254. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  255. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  256. package/lib/cjs/appui-react/toolsettings/ToolInformation.js.map +1 -1
  257. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  258. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  259. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  260. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  261. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  262. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  263. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  264. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  265. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  266. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  267. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  268. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  269. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
  270. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  271. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  272. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  273. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  274. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  275. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  276. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  277. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  278. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  279. package/lib/cjs/appui-react/utils/ViewUtilities.js.map +1 -1
  280. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  281. package/lib/cjs/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  282. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  283. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +19 -19
  284. package/lib/cjs/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  285. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  286. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  287. package/lib/cjs/appui-react/widget-panels/StatusBar.scss +10 -10
  288. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  289. package/lib/cjs/appui-react/widget-panels/Tab.scss +14 -14
  290. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  291. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +41 -41
  292. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  293. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +20 -20
  294. package/lib/cjs/appui-react/widget-panels/useTransientState.js.map +1 -1
  295. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  296. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  297. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  298. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  299. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  300. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  301. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  302. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  303. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  304. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  305. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  306. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  307. package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
  308. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  309. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  310. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  311. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  312. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
  313. package/lib/cjs/appui-react.js.map +1 -1
  314. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  315. package/lib/esm/appui-react/_variables.scss +11 -11
  316. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  317. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  318. package/lib/esm/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  319. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  320. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  321. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  322. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  323. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  324. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  325. package/lib/esm/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  326. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  327. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  328. package/lib/esm/appui-react/accudraw/Calculator.scss +84 -84
  329. package/lib/esm/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  330. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  331. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  332. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  333. package/lib/esm/appui-react/accudraw/MenuButton.scss +18 -18
  334. package/lib/esm/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  335. package/lib/esm/appui-react/accudraw/SquareButton.js.map +1 -1
  336. package/lib/esm/appui-react/accudraw/SquareButton.scss +29 -29
  337. package/lib/esm/appui-react/accudraw/backspace.svg +9 -9
  338. package/lib/esm/appui-react/accudraw/constraint-2d.svg +11 -11
  339. package/lib/esm/appui-react/accudraw/height-2.svg +10 -10
  340. package/lib/esm/appui-react/accudraw/height.svg +11 -11
  341. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  342. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  343. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  344. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  345. package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  346. package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
  347. package/lib/esm/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  348. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  349. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  350. package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
  351. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +21 -21
  352. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  353. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
  354. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +1 -1
  355. package/lib/esm/appui-react/childwindow/PopoutWidget.scss +10 -10
  356. package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
  357. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  358. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  359. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  360. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  361. package/lib/esm/appui-react/configurableui/configurableui.scss +74 -74
  362. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  363. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  364. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  365. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  366. package/lib/esm/appui-react/content/ContentLayout.scss +127 -127
  367. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  368. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +46 -46
  369. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  370. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  371. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  372. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  373. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -1
  374. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -1
  375. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  376. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -1
  377. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -1
  378. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  379. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  380. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  381. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  382. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  383. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  384. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  385. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  386. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  387. package/lib/esm/appui-react/dialog/ContentDialog.scss +25 -25
  388. package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -1
  389. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  390. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  391. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  392. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  393. package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
  394. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  395. package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  396. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  397. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  398. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  399. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  400. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +50 -50
  401. package/lib/esm/appui-react/framework/FrameworkBackstage.js.map +1 -1
  402. package/lib/esm/appui-react/framework/FrameworkChildWindows.js.map +1 -1
  403. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
  404. package/lib/esm/appui-react/framework/FrameworkControls.js.map +1 -1
  405. package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
  406. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  407. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  408. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  409. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  410. package/lib/esm/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  411. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  412. package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  413. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  414. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  415. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +80 -80
  416. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  417. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +11 -11
  418. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  419. package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -1
  420. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  421. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  422. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  423. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  424. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  425. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  426. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  427. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  428. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  429. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
  430. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  431. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  432. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  433. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  434. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  435. package/lib/esm/appui-react/messages/HollowIcon.js.map +1 -1
  436. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  437. package/lib/esm/appui-react/messages/InputField.scss +82 -82
  438. package/lib/esm/appui-react/messages/MessageLabel.js.map +1 -1
  439. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  440. package/lib/esm/appui-react/messages/MessageSpan.js.map +1 -1
  441. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  442. package/lib/esm/appui-react/messages/Pointer.scss +42 -42
  443. package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  444. package/lib/esm/appui-react/messages/StatusMessageManager.js.map +1 -1
  445. package/lib/esm/appui-react/messages/getToastCategory.js.map +1 -1
  446. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  447. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  448. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  449. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  450. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
  451. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  452. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  453. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  454. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  455. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  456. package/lib/esm/appui-react/pickers/ListPicker.scss +305 -305
  457. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  458. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  459. package/lib/esm/appui-react/popup/CardPopup.scss +25 -25
  460. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  461. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  462. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  463. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +30 -30
  464. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  465. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  466. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  467. package/lib/esm/appui-react/popup/PositionPopup.scss +28 -28
  468. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  469. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  470. package/lib/esm/appui-react/redux/FrameworkState.js.map +1 -1
  471. package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
  472. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  473. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  474. package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
  475. package/lib/esm/appui-react/redux/redux-ts.js.map +1 -1
  476. package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
  477. package/lib/esm/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
  478. package/lib/esm/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  479. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  480. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  481. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  482. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
  483. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  484. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  485. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +65 -65
  486. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  487. package/lib/esm/appui-react/shared/AnyItemDef.js.map +1 -1
  488. package/lib/esm/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  489. package/lib/esm/appui-react/shared/CommandItemDef.js.map +1 -1
  490. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  491. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  492. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  493. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  494. package/lib/esm/appui-react/shared/ItemMap.js.map +1 -1
  495. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  496. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  497. package/lib/esm/appui-react/shared/SelectionScope.js.map +1 -1
  498. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  499. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  500. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  501. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  502. package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  503. package/lib/esm/appui-react/statusbar/Field.js.map +1 -1
  504. package/lib/esm/appui-react/statusbar/Field.scss +109 -109
  505. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  506. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  507. package/lib/esm/appui-react/statusbar/LabelIndicator.scss +43 -43
  508. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  509. package/lib/esm/appui-react/statusbar/Overflow.scss +27 -27
  510. package/lib/esm/appui-react/statusbar/OverflowPanel.js.map +1 -1
  511. package/lib/esm/appui-react/statusbar/OverflowPanel.scss +22 -22
  512. package/lib/esm/appui-react/statusbar/Popup.js.map +1 -1
  513. package/lib/esm/appui-react/statusbar/Separator.js.map +1 -1
  514. package/lib/esm/appui-react/statusbar/Separator.scss +12 -12
  515. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  516. package/lib/esm/appui-react/statusbar/StatusBar.scss +41 -41
  517. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  518. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  519. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  520. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  521. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  522. package/lib/esm/appui-react/statusbar/dialog/Button.js.map +1 -1
  523. package/lib/esm/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  524. package/lib/esm/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  525. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  526. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  527. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  528. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  529. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  530. package/lib/esm/appui-react/statusfields/SectionsField.scss +35 -35
  531. package/lib/esm/appui-react/statusfields/SelectionCount.js.map +1 -1
  532. package/lib/esm/appui-react/statusfields/SelectionCount.scss +12 -12
  533. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  534. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  535. package/lib/esm/appui-react/statusfields/SelectionScope.scss +46 -46
  536. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  537. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  538. package/lib/esm/appui-react/statusfields/ViewAttributes.scss +10 -10
  539. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  540. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
  541. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  542. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
  543. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  544. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  545. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  546. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  547. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  548. package/lib/esm/appui-react/toolbar/DragInteraction.js.map +1 -1
  549. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  550. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  551. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  552. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  553. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  554. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  555. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  556. package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  557. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  558. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  559. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  560. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  561. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  562. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  563. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  564. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  565. package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
  566. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  567. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  568. package/lib/esm/appui-react/toolsettings/ToolInformation.js.map +1 -1
  569. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  570. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  571. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  572. package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  573. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  574. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  575. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  576. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  577. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  578. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  579. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  580. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  581. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
  582. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  583. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  584. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  585. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  586. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  587. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  588. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  589. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  590. package/lib/esm/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  591. package/lib/esm/appui-react/utils/ViewUtilities.js.map +1 -1
  592. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  593. package/lib/esm/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  594. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  595. package/lib/esm/appui-react/widget-panels/Frontstage.scss +19 -19
  596. package/lib/esm/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  597. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  598. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  599. package/lib/esm/appui-react/widget-panels/StatusBar.scss +10 -10
  600. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  601. package/lib/esm/appui-react/widget-panels/Tab.scss +14 -14
  602. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  603. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +41 -41
  604. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  605. package/lib/esm/appui-react/widget-panels/Toolbars.scss +20 -20
  606. package/lib/esm/appui-react/widget-panels/useTransientState.js.map +1 -1
  607. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  608. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  609. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  610. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  611. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  612. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  613. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  614. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  615. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  616. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  617. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  618. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  619. package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
  620. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  621. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  622. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  623. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  624. package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -1
  625. package/lib/esm/appui-react.js.map +1 -1
  626. package/lib/public/locales/en/UiFramework.json +333 -333
  627. package/package.json +9 -9
@@ -1,55 +1,55 @@
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/base/base";
6
- @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
7
-
8
- .uifw-accudraw-input-label {
9
- min-width: 16px;
10
- margin-right: 4px;
11
-
12
- display: flex;
13
- align-items: center;
14
-
15
- font-size: var(--iui-font-size-2);
16
- font-weight: var(--iui-font-weight-bold);
17
- line-height: var(--iui-size-l);
18
- color: var(--iui-color-text);
19
-
20
- &.uifw-label-centered {
21
- justify-content: center;
22
- }
23
-
24
- .icon {
25
- width: 16px;
26
- height: 16px;
27
-
28
- margin-top: 2px;
29
- @include uicore-centered;
30
- }
31
- }
32
-
33
- .uifw-accudraw-input-field {
34
- flex: 1;
35
- }
36
-
37
- .uifw-accudraw-lock {
38
- width: 22px;
39
- @include uicore-centered;
40
- }
41
-
42
- .uifw-accudraw-x-value {
43
- background-color: $buic-accessory-alert;
44
- color: var(--iui-color-white);
45
- }
46
-
47
- .uifw-accudraw-y-value {
48
- background-color: $buic-accessory-success;
49
- color: var(--iui-color-white);
50
- }
51
-
52
- .uifw-accudraw-z-value {
53
- background-color: $buic-accessory-primary;
54
- color: var(--iui-color-white);
55
- }
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/base/base";
6
+ @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
7
+
8
+ .uifw-accudraw-input-label {
9
+ min-width: 16px;
10
+ margin-right: 4px;
11
+
12
+ display: flex;
13
+ align-items: center;
14
+
15
+ font-size: var(--iui-font-size-2);
16
+ font-weight: var(--iui-font-weight-bold);
17
+ line-height: var(--iui-size-l);
18
+ color: var(--iui-color-text);
19
+
20
+ &.uifw-label-centered {
21
+ justify-content: center;
22
+ }
23
+
24
+ .icon {
25
+ width: 16px;
26
+ height: 16px;
27
+
28
+ margin-top: 2px;
29
+ @include uicore-centered;
30
+ }
31
+ }
32
+
33
+ .uifw-accudraw-input-field {
34
+ flex: 1;
35
+ }
36
+
37
+ .uifw-accudraw-lock {
38
+ width: 22px;
39
+ @include uicore-centered;
40
+ }
41
+
42
+ .uifw-accudraw-x-value {
43
+ background-color: $buic-accessory-alert;
44
+ color: var(--iui-color-white);
45
+ }
46
+
47
+ .uifw-accudraw-y-value {
48
+ background-color: $buic-accessory-success;
49
+ color: var(--iui-color-white);
50
+ }
51
+
52
+ .uifw-accudraw-z-value {
53
+ background-color: $buic-accessory-primary;
54
+ color: var(--iui-color-white);
55
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"AccuDrawKeyboardShortcuts.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawKeyboardShortcuts.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,iEAA8D;AAC9D,2DAAwD;AAExD;;GAEG;AACH,MAAa,yBAAyB;IACpC;OACG;IACI,MAAM,CAAC,mBAAmB;QAC/B,MAAM,oBAAoB,GAA4B;YACpD;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,8BAA8B;gBACxC,SAAS,EAAE;oBACT;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,SAAS;qBACrC;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,SAAS;qBACrC;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,iBAAiB;qBAC7C;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,KAAK;wBAChC,QAAQ,EAAE,qCAAiB,CAAC,sBAAsB;qBACnD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,KAAK;wBAChC,QAAQ,EAAE,qCAAiB,CAAC,sBAAsB;qBACnD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,KAAK;wBAChC,QAAQ,EAAE,qCAAiB,CAAC,sBAAsB;qBACnD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,SAAS;wBACpC,QAAQ,EAAE,qCAAiB,CAAC,4BAA4B;qBACzD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,YAAY;wBACvC,QAAQ,EAAE,qCAAiB,CAAC,4BAA4B;qBACzD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,eAAe;qBAC3C;iBACF;aACF;YACD;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,oCAAoC;gBAC9C,SAAS,EAAE;oBACT;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,SAAS;wBACpC,UAAU,EAAE,qCAAiB,CAAC,wBAAwB;qBACvD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,UAAU;wBACrC,UAAU,EAAE,qCAAiB,CAAC,yBAAyB;qBACxD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,WAAW;wBACtC,UAAU,EAAE,qCAAiB,CAAC,0BAA0B;qBACzD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,UAAU;wBACrC,UAAU,EAAE,qCAAiB,CAAC,yBAAyB;qBACxD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,WAAW;qBACvC;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,UAAU;qBACtC;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,eAAe;qBAC3C;iBACF;aACF;SACF,CAAC;QAEF,OAAO,oBAAoB,CAAC;IAC9B,CAAC;CACF;AA9FD,8DA8FC","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 type { KeyboardShortcutProps } from \"../framework/FrameworkKeyboardShortcuts\";\nimport { AccuDrawCommandItems } from \"./AccuDrawCommandItems\";\nimport { FrameworkAccuDraw } from \"./FrameworkAccuDraw\";\n\n/** Default AccuDraw Keyboard Shortcuts\n * @beta\n */\nexport class AccuDrawKeyboardShortcuts {\n /** Get default AccuDraw Keyboard Shortcuts list.\n */\n public static getDefaultShortcuts(): KeyboardShortcutProps[] {\n const keyboardShortcutList: KeyboardShortcutProps[] = [\n {\n key: \"a\",\n labelKey: \"UiFramework:accuDraw.subMenu\",\n shortcuts: [\n {\n key: \"s\",\n item: AccuDrawCommandItems.lockSmart,\n },\n {\n key: \"r\",\n item: AccuDrawCommandItems.setOrigin,\n },\n {\n key: \"t\",\n item: AccuDrawCommandItems.changeCompassMode,\n },\n {\n key: \"x\",\n item: AccuDrawCommandItems.lockX,\n isHidden: FrameworkAccuDraw.isPolarModeConditional,\n },\n {\n key: \"y\",\n item: AccuDrawCommandItems.lockY,\n isHidden: FrameworkAccuDraw.isPolarModeConditional,\n },\n {\n key: \"z\",\n item: AccuDrawCommandItems.lockZ,\n isHidden: FrameworkAccuDraw.isPolarModeConditional,\n },\n {\n key: \"a\",\n item: AccuDrawCommandItems.lockAngle,\n isHidden: FrameworkAccuDraw.isRectangularModeConditional,\n },\n {\n key: \"d\",\n item: AccuDrawCommandItems.lockDistance,\n isHidden: FrameworkAccuDraw.isRectangularModeConditional,\n },\n {\n key: \"b\",\n item: AccuDrawCommandItems.bumpToolSetting,\n },\n ],\n },\n {\n key: \"r\",\n labelKey: \"UiFramework:accuDraw.rotateSubMenu\",\n shortcuts: [\n {\n key: \"t\",\n item: AccuDrawCommandItems.rotateTop,\n isDisabled: FrameworkAccuDraw.isTopRotationConditional,\n },\n {\n key: \"s\",\n item: AccuDrawCommandItems.rotateSide,\n isDisabled: FrameworkAccuDraw.isSideRotationConditional,\n },\n {\n key: \"f\",\n item: AccuDrawCommandItems.rotateFront,\n isDisabled: FrameworkAccuDraw.isFrontRotationConditional,\n },\n {\n key: \"v\",\n item: AccuDrawCommandItems.rotateView,\n isDisabled: FrameworkAccuDraw.isViewRotationConditional,\n },\n {\n key: \"c\",\n item: AccuDrawCommandItems.rotateCycle,\n },\n {\n key: \"a\",\n item: AccuDrawCommandItems.rotateAxes,\n },\n {\n key: \"e\",\n item: AccuDrawCommandItems.rotateToElement,\n },\n ],\n },\n ];\n\n return keyboardShortcutList;\n }\n}\n"]}
1
+ {"version":3,"file":"AccuDrawKeyboardShortcuts.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawKeyboardShortcuts.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,iEAA8D;AAC9D,2DAAwD;AAExD;;GAEG;AACH,MAAa,yBAAyB;IACpC;OACG;IACI,MAAM,CAAC,mBAAmB;QAC/B,MAAM,oBAAoB,GAA4B;YACpD;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,8BAA8B;gBACxC,SAAS,EAAE;oBACT;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,SAAS;qBACrC;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,SAAS;qBACrC;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,iBAAiB;qBAC7C;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,KAAK;wBAChC,QAAQ,EAAE,qCAAiB,CAAC,sBAAsB;qBACnD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,KAAK;wBAChC,QAAQ,EAAE,qCAAiB,CAAC,sBAAsB;qBACnD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,KAAK;wBAChC,QAAQ,EAAE,qCAAiB,CAAC,sBAAsB;qBACnD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,SAAS;wBACpC,QAAQ,EAAE,qCAAiB,CAAC,4BAA4B;qBACzD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,YAAY;wBACvC,QAAQ,EAAE,qCAAiB,CAAC,4BAA4B;qBACzD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,eAAe;qBAC3C;iBACF;aACF;YACD;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,oCAAoC;gBAC9C,SAAS,EAAE;oBACT;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,SAAS;wBACpC,UAAU,EAAE,qCAAiB,CAAC,wBAAwB;qBACvD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,UAAU;wBACrC,UAAU,EAAE,qCAAiB,CAAC,yBAAyB;qBACxD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,WAAW;wBACtC,UAAU,EAAE,qCAAiB,CAAC,0BAA0B;qBACzD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,UAAU;wBACrC,UAAU,EAAE,qCAAiB,CAAC,yBAAyB;qBACxD;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,WAAW;qBACvC;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,UAAU;qBACtC;oBACD;wBACE,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,2CAAoB,CAAC,eAAe;qBAC3C;iBACF;aACF;SACF,CAAC;QAEF,OAAO,oBAAoB,CAAC;IAC9B,CAAC;CACF;AA9FD,8DA8FC","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 type { KeyboardShortcutProps } from \"../framework/FrameworkKeyboardShortcuts\";\r\nimport { AccuDrawCommandItems } from \"./AccuDrawCommandItems\";\r\nimport { FrameworkAccuDraw } from \"./FrameworkAccuDraw\";\r\n\r\n/** Default AccuDraw Keyboard Shortcuts\r\n * @beta\r\n */\r\nexport class AccuDrawKeyboardShortcuts {\r\n /** Get default AccuDraw Keyboard Shortcuts list.\r\n */\r\n public static getDefaultShortcuts(): KeyboardShortcutProps[] {\r\n const keyboardShortcutList: KeyboardShortcutProps[] = [\r\n {\r\n key: \"a\",\r\n labelKey: \"UiFramework:accuDraw.subMenu\",\r\n shortcuts: [\r\n {\r\n key: \"s\",\r\n item: AccuDrawCommandItems.lockSmart,\r\n },\r\n {\r\n key: \"r\",\r\n item: AccuDrawCommandItems.setOrigin,\r\n },\r\n {\r\n key: \"t\",\r\n item: AccuDrawCommandItems.changeCompassMode,\r\n },\r\n {\r\n key: \"x\",\r\n item: AccuDrawCommandItems.lockX,\r\n isHidden: FrameworkAccuDraw.isPolarModeConditional,\r\n },\r\n {\r\n key: \"y\",\r\n item: AccuDrawCommandItems.lockY,\r\n isHidden: FrameworkAccuDraw.isPolarModeConditional,\r\n },\r\n {\r\n key: \"z\",\r\n item: AccuDrawCommandItems.lockZ,\r\n isHidden: FrameworkAccuDraw.isPolarModeConditional,\r\n },\r\n {\r\n key: \"a\",\r\n item: AccuDrawCommandItems.lockAngle,\r\n isHidden: FrameworkAccuDraw.isRectangularModeConditional,\r\n },\r\n {\r\n key: \"d\",\r\n item: AccuDrawCommandItems.lockDistance,\r\n isHidden: FrameworkAccuDraw.isRectangularModeConditional,\r\n },\r\n {\r\n key: \"b\",\r\n item: AccuDrawCommandItems.bumpToolSetting,\r\n },\r\n ],\r\n },\r\n {\r\n key: \"r\",\r\n labelKey: \"UiFramework:accuDraw.rotateSubMenu\",\r\n shortcuts: [\r\n {\r\n key: \"t\",\r\n item: AccuDrawCommandItems.rotateTop,\r\n isDisabled: FrameworkAccuDraw.isTopRotationConditional,\r\n },\r\n {\r\n key: \"s\",\r\n item: AccuDrawCommandItems.rotateSide,\r\n isDisabled: FrameworkAccuDraw.isSideRotationConditional,\r\n },\r\n {\r\n key: \"f\",\r\n item: AccuDrawCommandItems.rotateFront,\r\n isDisabled: FrameworkAccuDraw.isFrontRotationConditional,\r\n },\r\n {\r\n key: \"v\",\r\n item: AccuDrawCommandItems.rotateView,\r\n isDisabled: FrameworkAccuDraw.isViewRotationConditional,\r\n },\r\n {\r\n key: \"c\",\r\n item: AccuDrawCommandItems.rotateCycle,\r\n },\r\n {\r\n key: \"a\",\r\n item: AccuDrawCommandItems.rotateAxes,\r\n },\r\n {\r\n key: \"e\",\r\n item: AccuDrawCommandItems.rotateToElement,\r\n },\r\n ],\r\n },\r\n ];\r\n\r\n return keyboardShortcutList;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AccuDrawPopupManager.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawPopupManager.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccuDraw\n */\n\nimport * as React from \"react\";\nimport type { XAndY } from \"@itwin/core-geometry\";\nimport { AngleDescription, LengthDescription } from \"@itwin/core-frontend\";\nimport type { AbstractMenuItemProps, OnCancelFunc, OnNumberCommitFunc, OnValueCommitFunc } from \"@itwin/appui-abstract\";\nimport { IconSpecUtilities } from \"@itwin/appui-abstract\";\n\nimport type { PopupInfo} from \"../popup/PopupManager\";\nimport { PopupManager } from \"../popup/PopupManager\";\nimport { MenuItemHelpers } from \"../shared/MenuItem\";\nimport { CalculatorPopup } from \"./CalculatorPopup\";\nimport { MenuButtonPopup } from \"./MenuButtonPopup\";\n\nimport angleIcon from \"./angle.svg\";\nimport lengthIcon from \"./distance.svg\";\nimport heightIcon from \"./height-2.svg\";\n\n/** AccuDraw Popup Manager class\n * @alpha\n */\nexport class AccuDrawPopupManager {\n private static _calculatorId = \"Calculator\";\n\n public static showMenuButton(id: string, el: HTMLElement, pt: XAndY, menuItemsProps: AbstractMenuItemProps[]): boolean {\n const menuItems = MenuItemHelpers.createMenuItems(menuItemsProps);\n const menuContent = MenuItemHelpers.createMenuItemNodes(menuItems);\n\n const component = (\n <MenuButtonPopup id={id} el={el} pt={pt} offset={PopupManager.defaultOffset}\n content={menuContent} />\n );\n\n const popupInfo: PopupInfo = {\n id, pt, component, parentDocument: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideMenuButton(id: string): boolean {\n return PopupManager.removePopup(id);\n }\n\n public static showCalculator(el: HTMLElement, pt: XAndY, initialValue: number, resultIcon: string, onOk: OnNumberCommitFunc, onCancel: OnCancelFunc): boolean {\n const id = AccuDrawPopupManager._calculatorId;\n const component = (\n <CalculatorPopup id={id} el={el} pt={pt} offset={PopupManager.defaultOffset}\n initialValue={initialValue} resultIcon={resultIcon} onOk={onOk} onCancel={onCancel} />\n );\n\n const popupInfo: PopupInfo = {\n id, pt, component, parentDocument: el.ownerDocument,\n };\n PopupManager.addOrUpdatePopup(popupInfo);\n\n return true;\n }\n\n public static hideCalculator(): boolean {\n return PopupManager.removePopup(AccuDrawPopupManager._calculatorId);\n }\n\n public static showAngleEditor(el: HTMLElement, pt: XAndY, value: number, onCommit: OnNumberCommitFunc, onCancel: OnCancelFunc): boolean {\n const propertyDescription = new AngleDescription(undefined, undefined, IconSpecUtilities.createWebComponentIconSpec(angleIcon));\n return PopupManager.showInputEditor(el, pt, value, propertyDescription, onCommit as OnValueCommitFunc, onCancel);\n }\n\n public static showLengthEditor(el: HTMLElement, pt: XAndY, value: number, onCommit: OnNumberCommitFunc, onCancel: OnCancelFunc): boolean {\n const propertyDescription = new LengthDescription(undefined, undefined, IconSpecUtilities.createWebComponentIconSpec(lengthIcon));\n return PopupManager.showInputEditor(el, pt, value, propertyDescription, onCommit as OnValueCommitFunc, onCancel);\n }\n\n public static showHeightEditor(el: HTMLElement, pt: XAndY, value: number, onCommit: OnNumberCommitFunc, onCancel: OnCancelFunc): boolean {\n const propertyDescription = new LengthDescription(undefined, undefined, IconSpecUtilities.createWebComponentIconSpec(heightIcon));\n return PopupManager.showInputEditor(el, pt, value, propertyDescription, onCommit as OnValueCommitFunc, onCancel);\n }\n}\n"]}
1
+ {"version":3,"file":"AccuDrawPopupManager.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawPopupManager.tsx"],"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 * as React from \"react\";\r\nimport type { XAndY } from \"@itwin/core-geometry\";\r\nimport { AngleDescription, LengthDescription } from \"@itwin/core-frontend\";\r\nimport type { AbstractMenuItemProps, OnCancelFunc, OnNumberCommitFunc, OnValueCommitFunc } from \"@itwin/appui-abstract\";\r\nimport { IconSpecUtilities } from \"@itwin/appui-abstract\";\r\n\r\nimport type { PopupInfo} from \"../popup/PopupManager\";\r\nimport { PopupManager } from \"../popup/PopupManager\";\r\nimport { MenuItemHelpers } from \"../shared/MenuItem\";\r\nimport { CalculatorPopup } from \"./CalculatorPopup\";\r\nimport { MenuButtonPopup } from \"./MenuButtonPopup\";\r\n\r\nimport angleIcon from \"./angle.svg\";\r\nimport lengthIcon from \"./distance.svg\";\r\nimport heightIcon from \"./height-2.svg\";\r\n\r\n/** AccuDraw Popup Manager class\r\n * @alpha\r\n */\r\nexport class AccuDrawPopupManager {\r\n private static _calculatorId = \"Calculator\";\r\n\r\n public static showMenuButton(id: string, el: HTMLElement, pt: XAndY, menuItemsProps: AbstractMenuItemProps[]): boolean {\r\n const menuItems = MenuItemHelpers.createMenuItems(menuItemsProps);\r\n const menuContent = MenuItemHelpers.createMenuItemNodes(menuItems);\r\n\r\n const component = (\r\n <MenuButtonPopup id={id} el={el} pt={pt} offset={PopupManager.defaultOffset}\r\n content={menuContent} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideMenuButton(id: string): boolean {\r\n return PopupManager.removePopup(id);\r\n }\r\n\r\n public static showCalculator(el: HTMLElement, pt: XAndY, initialValue: number, resultIcon: string, onOk: OnNumberCommitFunc, onCancel: OnCancelFunc): boolean {\r\n const id = AccuDrawPopupManager._calculatorId;\r\n const component = (\r\n <CalculatorPopup id={id} el={el} pt={pt} offset={PopupManager.defaultOffset}\r\n initialValue={initialValue} resultIcon={resultIcon} onOk={onOk} onCancel={onCancel} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideCalculator(): boolean {\r\n return PopupManager.removePopup(AccuDrawPopupManager._calculatorId);\r\n }\r\n\r\n public static showAngleEditor(el: HTMLElement, pt: XAndY, value: number, onCommit: OnNumberCommitFunc, onCancel: OnCancelFunc): boolean {\r\n const propertyDescription = new AngleDescription(undefined, undefined, IconSpecUtilities.createWebComponentIconSpec(angleIcon));\r\n return PopupManager.showInputEditor(el, pt, value, propertyDescription, onCommit as OnValueCommitFunc, onCancel);\r\n }\r\n\r\n public static showLengthEditor(el: HTMLElement, pt: XAndY, value: number, onCommit: OnNumberCommitFunc, onCancel: OnCancelFunc): boolean {\r\n const propertyDescription = new LengthDescription(undefined, undefined, IconSpecUtilities.createWebComponentIconSpec(lengthIcon));\r\n return PopupManager.showInputEditor(el, pt, value, propertyDescription, onCommit as OnValueCommitFunc, onCancel);\r\n }\r\n\r\n public static showHeightEditor(el: HTMLElement, pt: XAndY, value: number, onCommit: OnNumberCommitFunc, onCancel: OnCancelFunc): boolean {\r\n const propertyDescription = new LengthDescription(undefined, undefined, IconSpecUtilities.createWebComponentIconSpec(heightIcon));\r\n return PopupManager.showInputEditor(el, pt, value, propertyDescription, onCommit as OnValueCommitFunc, onCancel);\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AccuDrawUiSettings.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawUiSettings.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","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 type { ColorDef } from \"@itwin/core-common\";\nimport type { IconSpec } from \"@itwin/core-react\";\n\n/** AccuDraw User Interface Settings\n * @beta\n */\nexport interface AccuDrawUiSettings {\n /** X field style */\n xStyle?: React.CSSProperties;\n /** Y field style */\n yStyle?: React.CSSProperties;\n /** Z field style */\n zStyle?: React.CSSProperties;\n /** Angle field style */\n angleStyle?: React.CSSProperties;\n /** Distance field style */\n distanceStyle?: React.CSSProperties;\n\n /** X field background color */\n xBackgroundColor?: ColorDef | string;\n /** Y field background color */\n yBackgroundColor?: ColorDef | string;\n /** Z field background color */\n zBackgroundColor?: ColorDef | string;\n /** Angle field background color */\n angleBackgroundColor?: ColorDef | string;\n /** Distance field background color */\n distanceBackgroundColor?: ColorDef | string;\n\n /** X field foreground color */\n xForegroundColor?: ColorDef | string;\n /** Y field foreground color */\n yForegroundColor?: ColorDef | string;\n /** Z field foreground color */\n zForegroundColor?: ColorDef | string;\n /** Angle field foreground color */\n angleForegroundColor?: ColorDef | string;\n /** Distance field foreground color */\n distanceForegroundColor?: ColorDef | string;\n\n /** X field label */\n xLabel?: string;\n /** Y field label */\n yLabel?: string;\n /** Z field label */\n zLabel?: string;\n /** Angle field label */\n angleLabel?: string;\n /** Distance field label */\n distanceLabel?: string;\n\n /** X field icon */\n xIcon?: IconSpec;\n /** Y field icon */\n yIcon?: IconSpec;\n /** Z field icon */\n zIcon?: IconSpec;\n /** Angle field icon */\n angleIcon?: IconSpec;\n /** Distance field icon */\n distanceIcon?: IconSpec;\n}\n"]}
1
+ {"version":3,"file":"AccuDrawUiSettings.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawUiSettings.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","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 type { ColorDef } from \"@itwin/core-common\";\r\nimport type { IconSpec } from \"@itwin/core-react\";\r\n\r\n/** AccuDraw User Interface Settings\r\n * @beta\r\n */\r\nexport interface AccuDrawUiSettings {\r\n /** X field style */\r\n xStyle?: React.CSSProperties;\r\n /** Y field style */\r\n yStyle?: React.CSSProperties;\r\n /** Z field style */\r\n zStyle?: React.CSSProperties;\r\n /** Angle field style */\r\n angleStyle?: React.CSSProperties;\r\n /** Distance field style */\r\n distanceStyle?: React.CSSProperties;\r\n\r\n /** X field background color */\r\n xBackgroundColor?: ColorDef | string;\r\n /** Y field background color */\r\n yBackgroundColor?: ColorDef | string;\r\n /** Z field background color */\r\n zBackgroundColor?: ColorDef | string;\r\n /** Angle field background color */\r\n angleBackgroundColor?: ColorDef | string;\r\n /** Distance field background color */\r\n distanceBackgroundColor?: ColorDef | string;\r\n\r\n /** X field foreground color */\r\n xForegroundColor?: ColorDef | string;\r\n /** Y field foreground color */\r\n yForegroundColor?: ColorDef | string;\r\n /** Z field foreground color */\r\n zForegroundColor?: ColorDef | string;\r\n /** Angle field foreground color */\r\n angleForegroundColor?: ColorDef | string;\r\n /** Distance field foreground color */\r\n distanceForegroundColor?: ColorDef | string;\r\n\r\n /** X field label */\r\n xLabel?: string;\r\n /** Y field label */\r\n yLabel?: string;\r\n /** Z field label */\r\n zLabel?: string;\r\n /** Angle field label */\r\n angleLabel?: string;\r\n /** Distance field label */\r\n distanceLabel?: string;\r\n\r\n /** X field icon */\r\n xIcon?: IconSpec;\r\n /** Y field icon */\r\n yIcon?: IconSpec;\r\n /** Z field icon */\r\n zIcon?: IconSpec;\r\n /** Angle field icon */\r\n angleIcon?: IconSpec;\r\n /** Distance field icon */\r\n distanceIcon?: IconSpec;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AccuDrawWidget.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawWidget.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,kDAAmE;AAEnE,qEAAkE;AAElE,4DAAyD;AACzD,gDAA6C;AAE7C;;GAEG;AACH,MAAa,qBAAsB,SAAQ,6BAAa;IAI/C,MAAM,KAAK,KAAK;QACrB,OAAO,yBAAW,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IACvD,CAAC;IAED,YAAY,IAA4B,EAAE,OAAY;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAErB,IAAI,CAAC,SAAS,GAAG,oBAAC,cAAc,OAAG,CAAC;IACtC,CAAC;;AAVa,wBAAE,GAAG,gBAAgB,CAAC;AAFzB,sDAAqB;AAelC;;GAEG;AACH,SAAgB,cAAc;IAC5B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,wBAAW,CAAC,QAAQ,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,GAAG,CAAC;IAEvB,6EAA6E;IAC7E,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAS,EAAE,EAAU,EAAE,EAAE;QAC/D,cAAc,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,wBAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAW,CAAC,UAAU,CAAC,CAAC;IAClF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,GAAG,GAAG,IAAA,8BAAiB,EAAiB,YAAY,CAAC,CAAC;IAE5D,OAAO,CACL,6BAAK,GAAG,EAAE,GAAG;QACX,oBAAC,+CAAsB,IAAC,WAAW,EAAE,WAAW,GAAI,CAChD,CACP,CAAC;AACJ,CAAC;AAhBD,wCAgBC","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 { Orientation, useResizeObserver } from \"@itwin/core-react\";\n\nimport { AccuDrawFieldContainer } from \"./AccuDrawFieldContainer\";\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport { WidgetControl } from \"../widgets/WidgetControl\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** AccuDraw Widget Control\n * @beta\n */\nexport class AccuDrawWidgetControl extends WidgetControl {\n\n public static id = \"AccuDrawWidget\";\n\n public static get label(): string {\n return UiFramework.translate(\"accuDraw.dialogTitle\");\n }\n\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n\n this.reactNode = <AccuDrawWidget />;\n }\n}\n\n/** AccuDraw Widget displays [[AccuDrawFieldContainer]] for AccuDraw Ui\n * @beta\n */\nexport function AccuDrawWidget() {\n const [orientation, setOrientation] = React.useState(Orientation.Vertical);\n const breakpoint = 400;\n\n // istanbul ignore next - currently unable to replicate resizing in unit test\n const handleResize = React.useCallback((w: number, _h: number) => {\n setOrientation(w <= breakpoint ? Orientation.Vertical : Orientation.Horizontal);\n }, []);\n\n const ref = useResizeObserver<HTMLDivElement>(handleResize);\n\n return (\n <div ref={ref}>\n <AccuDrawFieldContainer orientation={orientation} />\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"AccuDrawWidget.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/AccuDrawWidget.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,kDAAmE;AAEnE,qEAAkE;AAElE,4DAAyD;AACzD,gDAA6C;AAE7C;;GAEG;AACH,MAAa,qBAAsB,SAAQ,6BAAa;IAI/C,MAAM,KAAK,KAAK;QACrB,OAAO,yBAAW,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IACvD,CAAC;IAED,YAAY,IAA4B,EAAE,OAAY;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAErB,IAAI,CAAC,SAAS,GAAG,oBAAC,cAAc,OAAG,CAAC;IACtC,CAAC;;AAVa,wBAAE,GAAG,gBAAgB,CAAC;AAFzB,sDAAqB;AAelC;;GAEG;AACH,SAAgB,cAAc;IAC5B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,wBAAW,CAAC,QAAQ,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,GAAG,CAAC;IAEvB,6EAA6E;IAC7E,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAS,EAAE,EAAU,EAAE,EAAE;QAC/D,cAAc,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,wBAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAW,CAAC,UAAU,CAAC,CAAC;IAClF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,GAAG,GAAG,IAAA,8BAAiB,EAAiB,YAAY,CAAC,CAAC;IAE5D,OAAO,CACL,6BAAK,GAAG,EAAE,GAAG;QACX,oBAAC,+CAAsB,IAAC,WAAW,EAAE,WAAW,GAAI,CAChD,CACP,CAAC;AACJ,CAAC;AAhBD,wCAgBC","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 { Orientation, useResizeObserver } from \"@itwin/core-react\";\r\n\r\nimport { AccuDrawFieldContainer } from \"./AccuDrawFieldContainer\";\r\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\r\nimport { WidgetControl } from \"../widgets/WidgetControl\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/** AccuDraw Widget Control\r\n * @beta\r\n */\r\nexport class AccuDrawWidgetControl extends WidgetControl {\r\n\r\n public static id = \"AccuDrawWidget\";\r\n\r\n public static get label(): string {\r\n return UiFramework.translate(\"accuDraw.dialogTitle\");\r\n }\r\n\r\n constructor(info: ConfigurableCreateInfo, options: any) {\r\n super(info, options);\r\n\r\n this.reactNode = <AccuDrawWidget />;\r\n }\r\n}\r\n\r\n/** AccuDraw Widget displays [[AccuDrawFieldContainer]] for AccuDraw Ui\r\n * @beta\r\n */\r\nexport function AccuDrawWidget() {\r\n const [orientation, setOrientation] = React.useState(Orientation.Vertical);\r\n const breakpoint = 400;\r\n\r\n // istanbul ignore next - currently unable to replicate resizing in unit test\r\n const handleResize = React.useCallback((w: number, _h: number) => {\r\n setOrientation(w <= breakpoint ? Orientation.Vertical : Orientation.Horizontal);\r\n }, []);\r\n\r\n const ref = useResizeObserver<HTMLDivElement>(handleResize);\r\n\r\n return (\r\n <div ref={ref}>\r\n <AccuDrawFieldContainer orientation={orientation} />\r\n </div>\r\n );\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Calculator.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/Calculator.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccuDraw\n */\n\nimport \"./Calculator.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { OnCancelFunc, OnNumberCommitFunc} from \"@itwin/appui-abstract\";\nimport { IconSpecUtilities, SpecialKey } from \"@itwin/appui-abstract\";\nimport type { CommonProps, Omit } from \"@itwin/core-react\";\nimport { Icon, IconInput } from \"@itwin/core-react\";\nimport { Button, Input } from \"@itwin/itwinui-react\";\nimport { CalculatorEngine, CalculatorOperator } from \"./CalculatorEngine\";\nimport type { SquareButtonProps } from \"./SquareButton\";\nimport { SquareButton } from \"./SquareButton\";\nimport { SvgCheckmark, SvgRemove } from \"@itwin/itwinui-icons-react\";\n\nimport backspaceIcon from \"./backspace.svg\";\n\n// cSpell:ignore plusmn\n\n/** @alpha */\nexport interface CalculatorProps extends CommonProps {\n /** Initial value */\n initialValue?: number;\n /** Icon to display beside the calculated result */\n resultIcon?: React.ReactNode;\n /** A function to be run when the OK button is clicked */\n onOk?: OnNumberCommitFunc;\n /** A function to be run when the Cancel button is clicked */\n onCancel?: OnCancelFunc;\n\n /** @internal Calculator state machine. */\n engine: CalculatorEngine;\n}\n\ninterface CalculatorState {\n displayValue: string;\n}\n\n/** @internal */\nexport type CalculatorPropsProps = Pick<CalculatorProps, \"engine\">;\n\n/** @alpha */\nexport class Calculator extends React.PureComponent<CalculatorProps, CalculatorState> {\n private _mainDiv = React.createRef<HTMLDivElement>();\n private _equalsClicked = false;\n\n /** @internal */\n public static readonly defaultProps: CalculatorPropsProps = {\n engine: new CalculatorEngine(),\n };\n\n constructor(props: CalculatorProps) {\n super(props);\n\n let displayValue = \"0\";\n if (this.props.initialValue)\n displayValue = this.props.engine.processValue(this.props.initialValue.toString());\n\n this.state = {\n displayValue,\n };\n }\n\n private _onValueButtonClick = (keyChar: string) => {\n const displayValue = this.props.engine.processValue(keyChar);\n this._mainDivFocus();\n this.setState({ displayValue });\n };\n\n private _onOperatorButtonClick = (operator: CalculatorOperator) => {\n if (operator === CalculatorOperator.Clear && this._equalsClicked)\n operator = CalculatorOperator.ClearAll;\n\n const displayValue = this.props.engine.processOperator(operator);\n this._mainDivFocus();\n this.setState({ displayValue });\n\n if (operator === CalculatorOperator.Equals)\n this._equalsClicked = true;\n else if (operator === CalculatorOperator.ClearAll)\n this._equalsClicked = false;\n };\n\n private _handleOk = (_event: React.MouseEvent): void => {\n this._ok();\n };\n\n private _ok() {\n // istanbul ignore else\n if (this.props.onOk) {\n this.props.onOk(this.props.engine.result);\n }\n this._clearAll();\n }\n\n private _handleCancel = (_event: React.MouseEvent): void => {\n this._cancel();\n };\n\n private _cancel() {\n // istanbul ignore else\n if (this.props.onCancel) {\n this.props.onCancel();\n }\n this._clearAll();\n }\n\n private _clearAll() {\n this.props.engine.clearAll();\n this._equalsClicked = false;\n }\n\n public override componentDidMount() {\n this._mainDivFocus();\n }\n\n private _mainDivFocus() {\n if (this._mainDiv.current)\n this._mainDiv.current.focus();\n }\n\n public override render() {\n const { className, resultIcon, onOk, onCancel, initialValue, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\n\n const classNames = classnames(\n \"uifw-calculator\",\n className,\n );\n\n const topSection = this.props.resultIcon ?\n <IconInput containerClassName=\"uifw-calculator-top-input\"\n value={this.state.displayValue} readOnly={true} icon={this.props.resultIcon} /> :\n <Input value={this.state.displayValue} readOnly={true} size=\"small\" />;\n\n return (\n // The event handler is only being used to capture bubbled events\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div {...props} ref={this._mainDiv} tabIndex={-1} className={classNames} onKeyDown={this._handleKeyDown}>\n <div className=\"uifw-calculator-top\">\n {topSection}\n </div>\n <CalculatorKeyPad onValueClick={this._onValueButtonClick} onOperatorClick={this._onOperatorButtonClick} />\n <div className=\"uifw-calculator-bottom-buttons\">\n <Button\n className={classnames(\"uifw-calculator-large-button\", \"uifw-calculator-ok-button\")}\n styleType=\"cta\"\n onClick={this._handleOk}\n >\n <Icon iconSpec={<SvgCheckmark />} />\n </Button>\n <Button\n className={classnames(\"uifw-calculator-large-button\", \"uifw-calculator-cancel-button\")}\n onClick={this._handleCancel}\n >\n <Icon iconSpec={<SvgRemove />} />\n </Button>\n </div>\n </div>\n );\n }\n\n private _handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n switch (event.key) {\n case \"0\":\n case \"1\":\n case \"2\":\n case \"3\":\n case \"4\":\n case \"5\":\n case \"6\":\n case \"7\":\n case \"8\":\n case \"9\":\n this._onValueButtonClick(event.key);\n break;\n case \"a\":\n case \"A\":\n this._onOperatorButtonClick(CalculatorOperator.ClearAll);\n break;\n case \"c\":\n case \"C\":\n case SpecialKey.Clear:\n this._onOperatorButtonClick(CalculatorOperator.Clear);\n break;\n case SpecialKey.Escape:\n this._cancel();\n break;\n case SpecialKey.Backspace:\n this._onOperatorButtonClick(CalculatorOperator.Backspace);\n break;\n case \"/\":\n case SpecialKey.Divide:\n this._onOperatorButtonClick(CalculatorOperator.Divide);\n break;\n case \"*\":\n case SpecialKey.Multiply:\n this._onOperatorButtonClick(CalculatorOperator.Multiply);\n break;\n case \"-\":\n case SpecialKey.Subtract:\n this._onOperatorButtonClick(CalculatorOperator.Subtract);\n break;\n case \"+\":\n case SpecialKey.Add:\n this._onOperatorButtonClick(CalculatorOperator.Add);\n break;\n case \".\":\n case SpecialKey.Decimal:\n this._onOperatorButtonClick(CalculatorOperator.Decimal);\n break;\n case \"=\":\n this._onOperatorButtonClick(CalculatorOperator.Equals);\n break;\n case SpecialKey.Enter:\n if (!this._equalsClicked)\n this._onOperatorButtonClick(CalculatorOperator.Equals);\n this._ok();\n break;\n }\n };\n\n}\n\ninterface CalculatorKeyPadProps extends CommonProps {\n /** A function to be run when a value is clicked */\n onValueClick: (key: string) => void;\n /** A function to be run when a value is clicked */\n onOperatorClick: (operator: CalculatorOperator) => void;\n}\n\nclass CalculatorKeyPad extends React.PureComponent<CalculatorKeyPadProps> {\n public override render() {\n const iconSpec = IconSpecUtilities.createWebComponentIconSpec(backspaceIcon);\n\n return (\n <div className={classnames(\"uifw-calculator-button-grid\")}>\n <OperatorButton operator={CalculatorOperator.ClearAll} onClick={this.props.onOperatorClick}>AC</OperatorButton>\n <OperatorButton operator={CalculatorOperator.Clear} onClick={this.props.onOperatorClick}>C</OperatorButton>\n <OperatorButton operator={CalculatorOperator.Backspace} onClick={this.props.onOperatorClick}>\n <div className=\"uifw-calculator-button-svg\">\n <Icon iconSpec={iconSpec} />\n </div>\n </OperatorButton>\n <OperatorButton operator={CalculatorOperator.Divide} onClick={this.props.onOperatorClick}\n className=\"uifw-calculator-large-font\">&divide;</OperatorButton>\n\n <ValueButton keyChar=\"7\" onClick={this.props.onValueClick} />\n <ValueButton keyChar=\"8\" onClick={this.props.onValueClick} />\n <ValueButton keyChar=\"9\" onClick={this.props.onValueClick} />\n <OperatorButton operator={CalculatorOperator.Multiply} onClick={this.props.onOperatorClick}\n className=\"uifw-calculator-large-font\">&times;</OperatorButton>\n\n <ValueButton keyChar=\"4\" onClick={this.props.onValueClick} />\n <ValueButton keyChar=\"5\" onClick={this.props.onValueClick} />\n <ValueButton keyChar=\"6\" onClick={this.props.onValueClick} />\n <OperatorButton operator={CalculatorOperator.Subtract} onClick={this.props.onOperatorClick}\n className=\"uifw-calculator-large-font\">&minus;</OperatorButton>\n\n <ValueButton keyChar=\"1\" onClick={this.props.onValueClick} />\n <ValueButton keyChar=\"2\" onClick={this.props.onValueClick} />\n <ValueButton keyChar=\"3\" onClick={this.props.onValueClick} />\n <OperatorButton operator={CalculatorOperator.Add} onClick={this.props.onOperatorClick}\n className=\"uifw-calculator-large-font\">&#43;</OperatorButton>\n\n <ValueButton keyChar=\"0\" onClick={this.props.onValueClick} />\n <OperatorButton operator={CalculatorOperator.NegPos} onClick={this.props.onOperatorClick}\n className=\"uifw-calculator-large-font\">&plusmn;</OperatorButton>\n <OperatorButton operator={CalculatorOperator.Decimal} onClick={this.props.onOperatorClick}\n className=\"uifw-calculator-large-font\">.</OperatorButton>\n <OperatorButton operator={CalculatorOperator.Equals} onClick={this.props.onOperatorClick}\n className=\"uifw-calculator-large-font\">&#61;</OperatorButton>\n <span />\n </div>\n );\n }\n}\n\ninterface ValueButtonProps extends Omit<SquareButtonProps, \"onClick\"> {\n /** Key to display */\n keyChar: string;\n /** A function to be run when the element is clicked */\n onClick: (key: string) => void;\n}\n\nclass ValueButton extends React.PureComponent<ValueButtonProps> {\n\n private _handleOnClick = (_event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n this.props.onClick(this.props.keyChar);\n };\n\n public override render() {\n const { className, keyChar, onClick, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\n\n const itemClassNames = classnames(\n \"uifw-calculator-item\",\n className,\n );\n\n return (\n <SquareButton {...props} className={itemClassNames} onClick={this._handleOnClick} >\n {keyChar}\n </SquareButton >\n );\n }\n}\n\ninterface OperatorButtonProps extends Omit<SquareButtonProps, \"onClick\"> {\n /** Key to display */\n operator: CalculatorOperator;\n /** A function to be run when the element is clicked */\n onClick: (operator: CalculatorOperator) => void;\n}\n\nclass OperatorButton extends React.PureComponent<OperatorButtonProps> {\n\n private _handleOnClick = (_event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n this.props.onClick(this.props.operator);\n };\n\n public override render() {\n const { className, children, operator, onClick, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\n\n const itemClassNames = classnames(\n \"uifw-calculator-item\",\n className,\n );\n\n return (\n <SquareButton {...props} className={itemClassNames} onClick={this._handleOnClick}>\n {children}\n </SquareButton>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"Calculator.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/Calculator.tsx"],"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 \"./Calculator.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport type { OnCancelFunc, OnNumberCommitFunc} from \"@itwin/appui-abstract\";\r\nimport { IconSpecUtilities, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport type { CommonProps, Omit } from \"@itwin/core-react\";\r\nimport { Icon, IconInput } from \"@itwin/core-react\";\r\nimport { Button, Input } from \"@itwin/itwinui-react\";\r\nimport { CalculatorEngine, CalculatorOperator } from \"./CalculatorEngine\";\r\nimport type { SquareButtonProps } from \"./SquareButton\";\r\nimport { SquareButton } from \"./SquareButton\";\r\nimport { SvgCheckmark, SvgRemove } from \"@itwin/itwinui-icons-react\";\r\n\r\nimport backspaceIcon from \"./backspace.svg\";\r\n\r\n// cSpell:ignore plusmn\r\n\r\n/** @alpha */\r\nexport interface CalculatorProps extends CommonProps {\r\n /** Initial value */\r\n initialValue?: number;\r\n /** Icon to display beside the calculated result */\r\n resultIcon?: React.ReactNode;\r\n /** A function to be run when the OK button is clicked */\r\n onOk?: OnNumberCommitFunc;\r\n /** A function to be run when the Cancel button is clicked */\r\n onCancel?: OnCancelFunc;\r\n\r\n /** @internal Calculator state machine. */\r\n engine: CalculatorEngine;\r\n}\r\n\r\ninterface CalculatorState {\r\n displayValue: string;\r\n}\r\n\r\n/** @internal */\r\nexport type CalculatorPropsProps = Pick<CalculatorProps, \"engine\">;\r\n\r\n/** @alpha */\r\nexport class Calculator extends React.PureComponent<CalculatorProps, CalculatorState> {\r\n private _mainDiv = React.createRef<HTMLDivElement>();\r\n private _equalsClicked = false;\r\n\r\n /** @internal */\r\n public static readonly defaultProps: CalculatorPropsProps = {\r\n engine: new CalculatorEngine(),\r\n };\r\n\r\n constructor(props: CalculatorProps) {\r\n super(props);\r\n\r\n let displayValue = \"0\";\r\n if (this.props.initialValue)\r\n displayValue = this.props.engine.processValue(this.props.initialValue.toString());\r\n\r\n this.state = {\r\n displayValue,\r\n };\r\n }\r\n\r\n private _onValueButtonClick = (keyChar: string) => {\r\n const displayValue = this.props.engine.processValue(keyChar);\r\n this._mainDivFocus();\r\n this.setState({ displayValue });\r\n };\r\n\r\n private _onOperatorButtonClick = (operator: CalculatorOperator) => {\r\n if (operator === CalculatorOperator.Clear && this._equalsClicked)\r\n operator = CalculatorOperator.ClearAll;\r\n\r\n const displayValue = this.props.engine.processOperator(operator);\r\n this._mainDivFocus();\r\n this.setState({ displayValue });\r\n\r\n if (operator === CalculatorOperator.Equals)\r\n this._equalsClicked = true;\r\n else if (operator === CalculatorOperator.ClearAll)\r\n this._equalsClicked = false;\r\n };\r\n\r\n private _handleOk = (_event: React.MouseEvent): void => {\r\n this._ok();\r\n };\r\n\r\n private _ok() {\r\n // istanbul ignore else\r\n if (this.props.onOk) {\r\n this.props.onOk(this.props.engine.result);\r\n }\r\n this._clearAll();\r\n }\r\n\r\n private _handleCancel = (_event: React.MouseEvent): void => {\r\n this._cancel();\r\n };\r\n\r\n private _cancel() {\r\n // istanbul ignore else\r\n if (this.props.onCancel) {\r\n this.props.onCancel();\r\n }\r\n this._clearAll();\r\n }\r\n\r\n private _clearAll() {\r\n this.props.engine.clearAll();\r\n this._equalsClicked = false;\r\n }\r\n\r\n public override componentDidMount() {\r\n this._mainDivFocus();\r\n }\r\n\r\n private _mainDivFocus() {\r\n if (this._mainDiv.current)\r\n this._mainDiv.current.focus();\r\n }\r\n\r\n public override render() {\r\n const { className, resultIcon, onOk, onCancel, initialValue, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n const classNames = classnames(\r\n \"uifw-calculator\",\r\n className,\r\n );\r\n\r\n const topSection = this.props.resultIcon ?\r\n <IconInput containerClassName=\"uifw-calculator-top-input\"\r\n value={this.state.displayValue} readOnly={true} icon={this.props.resultIcon} /> :\r\n <Input value={this.state.displayValue} readOnly={true} size=\"small\" />;\r\n\r\n return (\r\n // The event handler is only being used to capture bubbled events\r\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\r\n <div {...props} ref={this._mainDiv} tabIndex={-1} className={classNames} onKeyDown={this._handleKeyDown}>\r\n <div className=\"uifw-calculator-top\">\r\n {topSection}\r\n </div>\r\n <CalculatorKeyPad onValueClick={this._onValueButtonClick} onOperatorClick={this._onOperatorButtonClick} />\r\n <div className=\"uifw-calculator-bottom-buttons\">\r\n <Button\r\n className={classnames(\"uifw-calculator-large-button\", \"uifw-calculator-ok-button\")}\r\n styleType=\"cta\"\r\n onClick={this._handleOk}\r\n >\r\n <Icon iconSpec={<SvgCheckmark />} />\r\n </Button>\r\n <Button\r\n className={classnames(\"uifw-calculator-large-button\", \"uifw-calculator-cancel-button\")}\r\n onClick={this._handleCancel}\r\n >\r\n <Icon iconSpec={<SvgRemove />} />\r\n </Button>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private _handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\r\n switch (event.key) {\r\n case \"0\":\r\n case \"1\":\r\n case \"2\":\r\n case \"3\":\r\n case \"4\":\r\n case \"5\":\r\n case \"6\":\r\n case \"7\":\r\n case \"8\":\r\n case \"9\":\r\n this._onValueButtonClick(event.key);\r\n break;\r\n case \"a\":\r\n case \"A\":\r\n this._onOperatorButtonClick(CalculatorOperator.ClearAll);\r\n break;\r\n case \"c\":\r\n case \"C\":\r\n case SpecialKey.Clear:\r\n this._onOperatorButtonClick(CalculatorOperator.Clear);\r\n break;\r\n case SpecialKey.Escape:\r\n this._cancel();\r\n break;\r\n case SpecialKey.Backspace:\r\n this._onOperatorButtonClick(CalculatorOperator.Backspace);\r\n break;\r\n case \"/\":\r\n case SpecialKey.Divide:\r\n this._onOperatorButtonClick(CalculatorOperator.Divide);\r\n break;\r\n case \"*\":\r\n case SpecialKey.Multiply:\r\n this._onOperatorButtonClick(CalculatorOperator.Multiply);\r\n break;\r\n case \"-\":\r\n case SpecialKey.Subtract:\r\n this._onOperatorButtonClick(CalculatorOperator.Subtract);\r\n break;\r\n case \"+\":\r\n case SpecialKey.Add:\r\n this._onOperatorButtonClick(CalculatorOperator.Add);\r\n break;\r\n case \".\":\r\n case SpecialKey.Decimal:\r\n this._onOperatorButtonClick(CalculatorOperator.Decimal);\r\n break;\r\n case \"=\":\r\n this._onOperatorButtonClick(CalculatorOperator.Equals);\r\n break;\r\n case SpecialKey.Enter:\r\n if (!this._equalsClicked)\r\n this._onOperatorButtonClick(CalculatorOperator.Equals);\r\n this._ok();\r\n break;\r\n }\r\n };\r\n\r\n}\r\n\r\ninterface CalculatorKeyPadProps extends CommonProps {\r\n /** A function to be run when a value is clicked */\r\n onValueClick: (key: string) => void;\r\n /** A function to be run when a value is clicked */\r\n onOperatorClick: (operator: CalculatorOperator) => void;\r\n}\r\n\r\nclass CalculatorKeyPad extends React.PureComponent<CalculatorKeyPadProps> {\r\n public override render() {\r\n const iconSpec = IconSpecUtilities.createWebComponentIconSpec(backspaceIcon);\r\n\r\n return (\r\n <div className={classnames(\"uifw-calculator-button-grid\")}>\r\n <OperatorButton operator={CalculatorOperator.ClearAll} onClick={this.props.onOperatorClick}>AC</OperatorButton>\r\n <OperatorButton operator={CalculatorOperator.Clear} onClick={this.props.onOperatorClick}>C</OperatorButton>\r\n <OperatorButton operator={CalculatorOperator.Backspace} onClick={this.props.onOperatorClick}>\r\n <div className=\"uifw-calculator-button-svg\">\r\n <Icon iconSpec={iconSpec} />\r\n </div>\r\n </OperatorButton>\r\n <OperatorButton operator={CalculatorOperator.Divide} onClick={this.props.onOperatorClick}\r\n className=\"uifw-calculator-large-font\">&divide;</OperatorButton>\r\n\r\n <ValueButton keyChar=\"7\" onClick={this.props.onValueClick} />\r\n <ValueButton keyChar=\"8\" onClick={this.props.onValueClick} />\r\n <ValueButton keyChar=\"9\" onClick={this.props.onValueClick} />\r\n <OperatorButton operator={CalculatorOperator.Multiply} onClick={this.props.onOperatorClick}\r\n className=\"uifw-calculator-large-font\">&times;</OperatorButton>\r\n\r\n <ValueButton keyChar=\"4\" onClick={this.props.onValueClick} />\r\n <ValueButton keyChar=\"5\" onClick={this.props.onValueClick} />\r\n <ValueButton keyChar=\"6\" onClick={this.props.onValueClick} />\r\n <OperatorButton operator={CalculatorOperator.Subtract} onClick={this.props.onOperatorClick}\r\n className=\"uifw-calculator-large-font\">&minus;</OperatorButton>\r\n\r\n <ValueButton keyChar=\"1\" onClick={this.props.onValueClick} />\r\n <ValueButton keyChar=\"2\" onClick={this.props.onValueClick} />\r\n <ValueButton keyChar=\"3\" onClick={this.props.onValueClick} />\r\n <OperatorButton operator={CalculatorOperator.Add} onClick={this.props.onOperatorClick}\r\n className=\"uifw-calculator-large-font\">&#43;</OperatorButton>\r\n\r\n <ValueButton keyChar=\"0\" onClick={this.props.onValueClick} />\r\n <OperatorButton operator={CalculatorOperator.NegPos} onClick={this.props.onOperatorClick}\r\n className=\"uifw-calculator-large-font\">&plusmn;</OperatorButton>\r\n <OperatorButton operator={CalculatorOperator.Decimal} onClick={this.props.onOperatorClick}\r\n className=\"uifw-calculator-large-font\">.</OperatorButton>\r\n <OperatorButton operator={CalculatorOperator.Equals} onClick={this.props.onOperatorClick}\r\n className=\"uifw-calculator-large-font\">&#61;</OperatorButton>\r\n <span />\r\n </div>\r\n );\r\n }\r\n}\r\n\r\ninterface ValueButtonProps extends Omit<SquareButtonProps, \"onClick\"> {\r\n /** Key to display */\r\n keyChar: string;\r\n /** A function to be run when the element is clicked */\r\n onClick: (key: string) => void;\r\n}\r\n\r\nclass ValueButton extends React.PureComponent<ValueButtonProps> {\r\n\r\n private _handleOnClick = (_event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\r\n this.props.onClick(this.props.keyChar);\r\n };\r\n\r\n public override render() {\r\n const { className, keyChar, onClick, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n const itemClassNames = classnames(\r\n \"uifw-calculator-item\",\r\n className,\r\n );\r\n\r\n return (\r\n <SquareButton {...props} className={itemClassNames} onClick={this._handleOnClick} >\r\n {keyChar}\r\n </SquareButton >\r\n );\r\n }\r\n}\r\n\r\ninterface OperatorButtonProps extends Omit<SquareButtonProps, \"onClick\"> {\r\n /** Key to display */\r\n operator: CalculatorOperator;\r\n /** A function to be run when the element is clicked */\r\n onClick: (operator: CalculatorOperator) => void;\r\n}\r\n\r\nclass OperatorButton extends React.PureComponent<OperatorButtonProps> {\r\n\r\n private _handleOnClick = (_event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\r\n this.props.onClick(this.props.operator);\r\n };\r\n\r\n public override render() {\r\n const { className, children, operator, onClick, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n const itemClassNames = classnames(\r\n \"uifw-calculator-item\",\r\n className,\r\n );\r\n\r\n return (\r\n <SquareButton {...props} className={itemClassNames} onClick={this._handleOnClick}>\r\n {children}\r\n </SquareButton>\r\n );\r\n }\r\n}\r\n"]}
@@ -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;AAG/B,kDAAoE;AAEpE,wDAAqD;AACrD,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 type { OnCancelFunc, OnNumberCommitFunc } from \"@itwin/appui-abstract\";\nimport type { SizeProps } from \"@itwin/core-react\";\nimport { DivWithOutsideClick, Icon, Size } from \"@itwin/core-react\";\nimport type { PopupPropsBase } from \"../popup/PopupManager\";\nimport { PopupManager } 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;AAG/B,kDAAoE;AAEpE,wDAAqD;AACrD,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 type { OnCancelFunc, OnNumberCommitFunc } from \"@itwin/appui-abstract\";\r\nimport type { SizeProps } from \"@itwin/core-react\";\r\nimport { DivWithOutsideClick, Icon, Size } from \"@itwin/core-react\";\r\nimport type { PopupPropsBase } from \"../popup/PopupManager\";\r\nimport { PopupManager } 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"]}