@itwin/appui-react 4.0.0-dev.10 → 4.0.0-dev.11

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 (693) hide show
  1. package/lib/cjs/appui-react/_variables.scss +4 -5
  2. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +2 -1
  3. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  4. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +4 -10
  5. package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/Calculator.js +3 -2
  7. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/Calculator.scss +12 -14
  9. package/lib/cjs/appui-react/accudraw/MenuButton.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/MenuButton.js +2 -1
  11. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/SquareButton.scss +10 -25
  13. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts +1 -1
  14. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  15. package/lib/cjs/appui-react/backstage/BackstageComposer.js +16 -19
  16. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  17. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts +1 -2
  18. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
  19. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +5 -5
  20. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  21. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +44 -13
  22. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  23. package/lib/cjs/appui-react/backstage/BackstageItem.js +4 -5
  24. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageItemsManager.d.ts +39 -0
  26. package/lib/cjs/appui-react/backstage/BackstageItemsManager.d.ts.map +1 -0
  27. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js +130 -0
  28. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -0
  29. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.d.ts +2 -1
  30. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.d.ts.map +1 -1
  31. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js +2 -6
  32. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +1 -1
  34. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  35. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -6
  36. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  37. package/lib/cjs/appui-react/configurableui/configurableui.scss +0 -3
  38. package/lib/cjs/appui-react/content/ContentLayout.scss +4 -4
  39. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +10 -7
  40. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -3
  41. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  42. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js +2 -1
  43. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  44. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +1 -1
  45. package/lib/cjs/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  46. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +2 -1
  47. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  48. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +3 -6
  49. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  50. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +4 -2
  51. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  52. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +9 -12
  53. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
  54. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  55. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +2 -2
  56. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  57. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +1 -3
  58. package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts +1 -0
  59. package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
  60. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js +4 -1
  61. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  62. package/lib/cjs/appui-react/frontstage/StageUsage.d.ts +9 -8
  63. package/lib/cjs/appui-react/frontstage/StageUsage.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/frontstage/StageUsage.js +10 -3
  65. package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
  66. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +3 -3
  67. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +4 -4
  69. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  70. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.d.ts.map +1 -1
  71. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js +5 -9
  72. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  73. package/lib/cjs/appui-react/messages/ActivityMessage.js +1 -1
  74. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  75. package/lib/cjs/appui-react/messages/InputField.d.ts.map +1 -1
  76. package/lib/cjs/appui-react/messages/InputField.js +8 -7
  77. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  78. package/lib/cjs/appui-react/messages/InputField.scss +8 -8
  79. package/lib/cjs/appui-react/messages/MessageManager.d.ts +10 -1
  80. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/messages/MessageManager.js +28 -3
  82. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  83. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/messages/Pointer.js +1 -1
  85. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  86. package/lib/cjs/appui-react/messages/Pointer.scss +6 -6
  87. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +5 -2
  89. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  90. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +1 -21
  91. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +3 -3
  92. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  93. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +8 -6
  94. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  95. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +2 -2
  96. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  97. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +19 -10
  98. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  99. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  100. package/lib/cjs/appui-react/pickers/ListPicker.js +3 -2
  101. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  102. package/lib/cjs/appui-react/pickers/ListPicker.scss +5 -5
  103. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  104. package/lib/cjs/appui-react/pickers/ViewSelector.js +3 -1
  105. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  106. package/lib/cjs/appui-react/popup/CardPopup.js +2 -2
  107. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  108. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +1 -1
  109. package/lib/cjs/appui-react/popup/PositionPopup.scss +1 -1
  110. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +3 -2
  111. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  112. package/lib/cjs/appui-react/popup/ToolbarPopup.js +3 -1
  113. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  114. package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  115. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +20 -10
  116. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  117. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  118. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
  119. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  120. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +2 -2
  121. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +3 -4
  122. package/lib/cjs/appui-react/shared/ItemProps.d.ts +2 -2
  123. package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
  124. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  125. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts +1 -1
  126. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  127. package/lib/cjs/appui-react/shared/ToolItemDef.js +2 -2
  128. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  129. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +27 -0
  130. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  131. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts +7 -7
  132. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -1
  133. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js +8 -3
  134. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  135. package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts +5 -7
  136. package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -1
  137. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js +6 -3
  138. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  139. package/lib/cjs/appui-react/statusbar/Indicator.scss +14 -15
  140. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts +1 -1
  141. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts.map +1 -1
  142. package/lib/cjs/appui-react/statusbar/LabelIndicator.js +2 -3
  143. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  144. package/lib/cjs/appui-react/statusbar/Separator.scss +1 -3
  145. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -0
  146. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  147. package/lib/cjs/appui-react/statusbar/StatusBar.js +2 -1
  148. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  149. package/lib/cjs/appui-react/statusbar/StatusBar.scss +1 -3
  150. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts +2 -2
  151. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  152. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +34 -35
  153. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  154. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +71 -39
  155. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  156. package/lib/cjs/appui-react/statusbar/StatusBarItem.js +33 -20
  157. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  158. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts +5 -14
  159. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js +28 -20
  161. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  162. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +40 -0
  163. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts.map +1 -0
  164. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +135 -0
  165. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -0
  166. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.d.ts +3 -2
  167. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.d.ts.map +1 -1
  168. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js +2 -7
  169. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  170. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +3 -3
  171. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  172. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  173. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  174. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +5 -3
  175. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  176. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  177. package/lib/cjs/appui-react/statusfields/MessageCenter.js +5 -2
  178. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  179. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  180. package/lib/cjs/appui-react/statusfields/SectionsField.js +4 -1
  181. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  182. package/lib/cjs/appui-react/statusfields/SectionsField.scss +3 -4
  183. package/lib/cjs/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  184. package/lib/cjs/appui-react/statusfields/SelectionInfo.js +2 -1
  185. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  186. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +1 -1
  187. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +2 -0
  188. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  189. package/lib/cjs/appui-react/statusfields/SnapMode.js +40 -2
  190. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  191. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  192. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +2 -1
  193. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  194. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  195. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +5 -4
  196. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  197. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +12 -12
  198. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  199. package/lib/cjs/appui-react/theme/ThemeManager.js +1 -2
  200. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  201. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +2 -3
  202. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  203. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +29 -32
  204. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  205. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts +6 -10
  206. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  207. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +8 -18
  208. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  209. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +77 -26
  210. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  211. package/lib/cjs/appui-react/toolbar/ToolbarItem.js +22 -11
  212. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  213. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts +6 -4
  214. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
  215. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js +31 -6
  216. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  217. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts +46 -0
  218. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -0
  219. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js +248 -0
  220. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -0
  221. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.d.ts +8 -0
  222. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.d.ts.map +1 -0
  223. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js +26 -0
  224. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -0
  225. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts +3 -2
  226. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
  227. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js +2 -6
  228. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  229. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +3 -3
  230. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  231. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -7
  232. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  233. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  234. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +13 -8
  235. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  236. package/lib/cjs/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  237. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js +3 -1
  238. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  239. package/lib/cjs/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  240. package/lib/cjs/appui-react/tools/OpenSettingsTool.js +3 -1
  241. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  242. package/lib/cjs/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  243. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +4 -2
  244. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  245. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +20 -3
  246. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
  247. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +58 -4
  248. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  249. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts +4 -3
  250. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  252. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +6 -4
  253. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  254. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +9 -65
  255. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  256. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +5 -3
  257. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  258. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +6 -5
  259. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  260. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +4 -3
  261. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  262. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +8 -34
  263. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  264. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +3 -2
  265. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  266. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +4 -4
  267. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  268. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +4 -3
  269. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  270. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +7 -43
  271. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  272. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +3 -2
  273. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +10 -17
  275. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  276. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +73 -5
  277. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +162 -3
  279. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  280. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts +21 -3
  281. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
  282. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  283. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.d.ts +7 -0
  284. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.d.ts.map +1 -0
  285. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js +16 -0
  286. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js.map +1 -0
  287. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +2 -3
  288. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +1 -1
  289. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  290. package/lib/cjs/appui-react/utils/PropsHelper.d.ts +3 -2
  291. package/lib/cjs/appui-react/utils/PropsHelper.d.ts.map +1 -1
  292. package/lib/cjs/appui-react/utils/PropsHelper.js +2 -1
  293. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  294. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  295. package/lib/cjs/appui-react/widget-panels/Content.js +10 -12
  296. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  297. package/lib/cjs/appui-react/widget-panels/Frontstage.js +7 -5
  298. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  299. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  300. package/lib/cjs/appui-react/widget-panels/StatusBar.js +3 -2
  301. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  302. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts +2 -1
  303. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  304. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  305. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts +3 -3
  306. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  307. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +2 -2
  308. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  309. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +3 -3
  310. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  311. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +2 -2
  312. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  313. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +2 -2
  314. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +4 -4
  315. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  316. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  317. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +2 -2
  318. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  319. package/lib/cjs/appui-react/widgets/Widget.d.ts +39 -0
  320. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -0
  321. package/lib/cjs/appui-react/widgets/{WidgetProps.js → Widget.js} +1 -1
  322. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -0
  323. package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts +4 -14
  324. package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts.map +1 -1
  325. package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
  326. package/lib/cjs/appui-react/widgets/WidgetControl.d.ts +1 -1
  327. package/lib/cjs/appui-react/widgets/WidgetControl.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  329. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +7 -5
  330. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  331. package/lib/cjs/appui-react/widgets/WidgetDef.js +30 -42
  332. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  333. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  334. package/lib/cjs/appui-react/widgets/WidgetManager.js +2 -15
  335. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  336. package/lib/cjs/appui-react/widgets/WidgetState.d.ts +8 -7
  337. package/lib/cjs/appui-react/widgets/WidgetState.d.ts.map +1 -1
  338. package/lib/cjs/appui-react/widgets/WidgetState.js +9 -3
  339. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
  340. package/lib/cjs/appui-react.d.ts +4 -4
  341. package/lib/cjs/appui-react.d.ts.map +1 -1
  342. package/lib/cjs/appui-react.js +4 -4
  343. package/lib/cjs/appui-react.js.map +1 -1
  344. package/lib/esm/appui-react/_variables.scss +4 -5
  345. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +2 -1
  346. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  347. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +4 -10
  348. package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
  349. package/lib/esm/appui-react/accudraw/Calculator.js +3 -2
  350. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  351. package/lib/esm/appui-react/accudraw/Calculator.scss +12 -14
  352. package/lib/esm/appui-react/accudraw/MenuButton.d.ts.map +1 -1
  353. package/lib/esm/appui-react/accudraw/MenuButton.js +2 -1
  354. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  355. package/lib/esm/appui-react/accudraw/SquareButton.scss +10 -25
  356. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +1 -1
  357. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  358. package/lib/esm/appui-react/backstage/BackstageComposer.js +12 -15
  359. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  360. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +1 -2
  361. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
  362. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +7 -7
  363. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  364. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +44 -13
  365. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  366. package/lib/esm/appui-react/backstage/BackstageItem.js +4 -5
  367. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  368. package/lib/esm/appui-react/backstage/BackstageItemsManager.d.ts +39 -0
  369. package/lib/esm/appui-react/backstage/BackstageItemsManager.d.ts.map +1 -0
  370. package/lib/esm/appui-react/backstage/BackstageItemsManager.js +126 -0
  371. package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -0
  372. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.d.ts +2 -1
  373. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.d.ts.map +1 -1
  374. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js +2 -6
  375. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  376. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +1 -1
  377. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  378. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -6
  379. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  380. package/lib/esm/appui-react/configurableui/configurableui.scss +0 -3
  381. package/lib/esm/appui-react/content/ContentLayout.scss +4 -4
  382. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +10 -7
  383. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -3
  384. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  385. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js +3 -2
  386. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  387. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +1 -1
  388. package/lib/esm/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  389. package/lib/esm/appui-react/feedback/ValidationTextbox.js +2 -1
  390. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  391. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +3 -6
  392. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  393. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +5 -3
  394. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  395. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +9 -12
  396. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
  397. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  398. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +3 -3
  399. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  400. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +1 -3
  401. package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts +1 -0
  402. package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
  403. package/lib/esm/appui-react/frontstage/NestedFrontstage.js +4 -1
  404. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  405. package/lib/esm/appui-react/frontstage/StageUsage.d.ts +9 -8
  406. package/lib/esm/appui-react/frontstage/StageUsage.d.ts.map +1 -1
  407. package/lib/esm/appui-react/frontstage/StageUsage.js +10 -3
  408. package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -1
  409. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +3 -3
  410. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  411. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +4 -4
  412. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  413. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.d.ts.map +1 -1
  414. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js +5 -9
  415. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  416. package/lib/esm/appui-react/messages/ActivityMessage.js +2 -2
  417. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  418. package/lib/esm/appui-react/messages/InputField.d.ts.map +1 -1
  419. package/lib/esm/appui-react/messages/InputField.js +9 -8
  420. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  421. package/lib/esm/appui-react/messages/InputField.scss +8 -8
  422. package/lib/esm/appui-react/messages/MessageManager.d.ts +10 -1
  423. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  424. package/lib/esm/appui-react/messages/MessageManager.js +29 -4
  425. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  426. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  427. package/lib/esm/appui-react/messages/Pointer.js +2 -2
  428. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  429. package/lib/esm/appui-react/messages/Pointer.scss +6 -6
  430. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  431. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +6 -3
  432. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  433. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +1 -21
  434. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +3 -3
  435. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  436. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +9 -7
  437. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  438. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +2 -2
  439. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  440. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +20 -11
  441. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  442. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  443. package/lib/esm/appui-react/pickers/ListPicker.js +3 -2
  444. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  445. package/lib/esm/appui-react/pickers/ListPicker.scss +5 -5
  446. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  447. package/lib/esm/appui-react/pickers/ViewSelector.js +4 -2
  448. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  449. package/lib/esm/appui-react/popup/CardPopup.js +3 -3
  450. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  451. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +1 -1
  452. package/lib/esm/appui-react/popup/PositionPopup.scss +1 -1
  453. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +3 -2
  454. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  455. package/lib/esm/appui-react/popup/ToolbarPopup.js +3 -1
  456. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  457. package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  458. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +21 -11
  459. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  460. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  461. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
  462. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  463. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +2 -2
  464. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +3 -4
  465. package/lib/esm/appui-react/shared/ItemProps.d.ts +2 -2
  466. package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
  467. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  468. package/lib/esm/appui-react/shared/ToolItemDef.d.ts +1 -1
  469. package/lib/esm/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  470. package/lib/esm/appui-react/shared/ToolItemDef.js +2 -2
  471. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  472. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +27 -0
  473. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  474. package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts +7 -7
  475. package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -1
  476. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js +8 -3
  477. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  478. package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts +5 -7
  479. package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -1
  480. package/lib/esm/appui-react/stagepanels/StagePanelSection.js +6 -3
  481. package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  482. package/lib/esm/appui-react/statusbar/Indicator.scss +14 -15
  483. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts +1 -1
  484. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts.map +1 -1
  485. package/lib/esm/appui-react/statusbar/LabelIndicator.js +2 -3
  486. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  487. package/lib/esm/appui-react/statusbar/Separator.scss +1 -3
  488. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -0
  489. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  490. package/lib/esm/appui-react/statusbar/StatusBar.js +2 -1
  491. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  492. package/lib/esm/appui-react/statusbar/StatusBar.scss +1 -3
  493. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts +2 -2
  494. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  495. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +17 -18
  496. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  497. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +71 -39
  498. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  499. package/lib/esm/appui-react/statusbar/StatusBarItem.js +32 -18
  500. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  501. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts +5 -14
  502. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
  503. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js +28 -19
  504. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  505. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +40 -0
  506. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts.map +1 -0
  507. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +131 -0
  508. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -0
  509. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.d.ts +3 -2
  510. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.d.ts.map +1 -1
  511. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js +2 -7
  512. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  513. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +3 -3
  514. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  515. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  516. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  517. package/lib/esm/appui-react/statusfields/ActivityCenter.js +6 -4
  518. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  519. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  520. package/lib/esm/appui-react/statusfields/MessageCenter.js +5 -2
  521. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  522. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  523. package/lib/esm/appui-react/statusfields/SectionsField.js +4 -1
  524. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  525. package/lib/esm/appui-react/statusfields/SectionsField.scss +3 -4
  526. package/lib/esm/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  527. package/lib/esm/appui-react/statusfields/SelectionInfo.js +2 -1
  528. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  529. package/lib/esm/appui-react/statusfields/SelectionScope.scss +1 -1
  530. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +2 -0
  531. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  532. package/lib/esm/appui-react/statusfields/SnapMode.js +40 -2
  533. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  534. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  535. package/lib/esm/appui-react/statusfields/ViewAttributes.js +2 -1
  536. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  537. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  538. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +6 -5
  539. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  540. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +12 -12
  541. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  542. package/lib/esm/appui-react/theme/ThemeManager.js +1 -2
  543. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  544. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +2 -3
  545. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  546. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +25 -28
  547. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  548. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts +6 -10
  549. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  550. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +9 -19
  551. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  552. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +77 -26
  553. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  554. package/lib/esm/appui-react/toolbar/ToolbarItem.js +22 -11
  555. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  556. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts +6 -4
  557. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
  558. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js +31 -6
  559. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  560. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts +46 -0
  561. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -0
  562. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js +244 -0
  563. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -0
  564. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.d.ts +8 -0
  565. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.d.ts.map +1 -0
  566. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js +22 -0
  567. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -0
  568. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts +3 -2
  569. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
  570. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js +2 -6
  571. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  572. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +3 -3
  573. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  574. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -7
  575. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  576. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  577. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +13 -8
  578. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  579. package/lib/esm/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  580. package/lib/esm/appui-react/tools/KeyinPaletteTools.js +3 -1
  581. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  582. package/lib/esm/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  583. package/lib/esm/appui-react/tools/OpenSettingsTool.js +3 -1
  584. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  585. package/lib/esm/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  586. package/lib/esm/appui-react/tools/RestoreLayoutTool.js +4 -2
  587. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  588. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +20 -3
  589. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
  590. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +58 -4
  591. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  592. package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts +4 -3
  593. package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -1
  594. package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  595. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +6 -4
  596. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  597. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +7 -63
  598. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  599. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +5 -3
  600. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  601. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +4 -3
  602. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  603. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +4 -3
  604. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  605. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +6 -32
  606. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  607. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +3 -2
  608. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  609. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +4 -4
  610. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  611. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +4 -3
  612. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  613. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +5 -41
  614. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  615. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +3 -2
  616. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  617. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +10 -17
  618. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  619. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +73 -5
  620. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  621. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +162 -3
  622. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  623. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts +21 -3
  624. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
  625. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  626. package/lib/esm/appui-react/ui-items-provider/isProviderItem.d.ts +7 -0
  627. package/lib/esm/appui-react/ui-items-provider/isProviderItem.d.ts.map +1 -0
  628. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js +12 -0
  629. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js.map +1 -0
  630. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +2 -3
  631. package/lib/esm/appui-react/uistate/useUiStateStorage.js +1 -1
  632. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  633. package/lib/esm/appui-react/utils/PropsHelper.d.ts +3 -2
  634. package/lib/esm/appui-react/utils/PropsHelper.d.ts.map +1 -1
  635. package/lib/esm/appui-react/utils/PropsHelper.js +2 -1
  636. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  637. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  638. package/lib/esm/appui-react/widget-panels/Content.js +10 -12
  639. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  640. package/lib/esm/appui-react/widget-panels/Frontstage.js +7 -5
  641. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  642. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  643. package/lib/esm/appui-react/widget-panels/StatusBar.js +3 -2
  644. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  645. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts +2 -1
  646. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  647. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  648. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts +3 -3
  649. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  650. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +1 -1
  651. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  652. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +3 -3
  653. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  654. package/lib/esm/appui-react/widgets/BasicToolWidget.js +1 -1
  655. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  656. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +2 -2
  657. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +3 -3
  658. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  659. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  660. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  661. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  662. package/lib/esm/appui-react/widgets/Widget.d.ts +39 -0
  663. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -0
  664. package/lib/esm/appui-react/widgets/{WidgetProps.js → Widget.js} +1 -1
  665. package/lib/esm/appui-react/widgets/Widget.js.map +1 -0
  666. package/lib/esm/appui-react/widgets/WidgetConfig.d.ts +4 -14
  667. package/lib/esm/appui-react/widgets/WidgetConfig.d.ts.map +1 -1
  668. package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
  669. package/lib/esm/appui-react/widgets/WidgetControl.d.ts +1 -1
  670. package/lib/esm/appui-react/widgets/WidgetControl.d.ts.map +1 -1
  671. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  672. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +7 -5
  673. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  674. package/lib/esm/appui-react/widgets/WidgetDef.js +22 -34
  675. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  676. package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  677. package/lib/esm/appui-react/widgets/WidgetManager.js +2 -15
  678. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  679. package/lib/esm/appui-react/widgets/WidgetState.d.ts +8 -7
  680. package/lib/esm/appui-react/widgets/WidgetState.d.ts.map +1 -1
  681. package/lib/esm/appui-react/widgets/WidgetState.js +9 -3
  682. package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -1
  683. package/lib/esm/appui-react.d.ts +4 -4
  684. package/lib/esm/appui-react.d.ts.map +1 -1
  685. package/lib/esm/appui-react.js +4 -4
  686. package/lib/esm/appui-react.js.map +1 -1
  687. package/package.json +19 -31
  688. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts +0 -12
  689. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts.map +0 -1
  690. package/lib/cjs/appui-react/widgets/WidgetProps.js.map +0 -1
  691. package/lib/esm/appui-react/widgets/WidgetProps.d.ts +0 -12
  692. package/lib/esm/appui-react/widgets/WidgetProps.d.ts.map +0 -1
  693. package/lib/esm/appui-react/widgets/WidgetProps.js.map +0 -1
@@ -15,7 +15,7 @@
15
15
  font-size: var(--iui-font-size-2);
16
16
  font-weight: var(--iui-font-weight-bold);
17
17
  line-height: var(--iui-size-l);
18
- color: $buic-text-color;
18
+ color: var(--iui-color-text);
19
19
 
20
20
  &.uifw-label-centered {
21
21
  justify-content: center;
@@ -41,21 +41,15 @@
41
41
 
42
42
  .uifw-accudraw-x-value {
43
43
  background-color: $buic-accessory-alert;
44
- color: $buic-accessory-hollow;
44
+ color: var(--iui-color-white);
45
45
  }
46
46
 
47
47
  .uifw-accudraw-y-value {
48
48
  background-color: $buic-accessory-success;
49
- color: $buic-accessory-hollow;
49
+ color: var(--iui-color-white);
50
50
  }
51
51
 
52
52
  .uifw-accudraw-z-value {
53
53
  background-color: $buic-accessory-primary;
54
- color: $buic-accessory-hollow;
55
- }
56
-
57
- .uifw-accudraw-angle-value {
58
- }
59
-
60
- .uifw-accudraw-distance-value {
54
+ color: var(--iui-color-white);
61
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Calculator.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/Calculator.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAqB,YAAY,EAAE,kBAAkB,EAAc,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,WAAW,EAAyB,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAsB,MAAM,oBAAoB,CAAC;AAO1E,aAAa;AACb,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,yDAAyD;IACzD,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB,2CAA2C;IAC3C,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,UAAU,eAAe;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,gBAAgB;AAChB,oBAAY,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAEnE,aAAa;AACb,qBAAa,UAAW,SAAQ,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE,eAAe,CAAC;IACnF,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,cAAc,CAAS;IAE/B,gBAAgB;IAChB,gBAAuB,YAAY,EAAE,oBAAoB,CAEvD;gBAEU,KAAK,EAAE,eAAe;IAYlC,OAAO,CAAC,mBAAmB,CAIzB;IAEF,OAAO,CAAC,sBAAsB,CAY5B;IAEF,OAAO,CAAC,SAAS,CAEf;IAEF,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,aAAa,CAEnB;IAEF,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,SAAS;IAKD,iBAAiB;IAIjC,OAAO,CAAC,aAAa;IAKL,MAAM;IAwCtB,OAAO,CAAC,cAAc,CA0DpB;CAEH"}
1
+ {"version":3,"file":"Calculator.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/Calculator.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAqB,YAAY,EAAE,kBAAkB,EAAc,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,WAAW,EAAyB,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAsB,MAAM,oBAAoB,CAAC;AAQ1E,aAAa;AACb,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,yDAAyD;IACzD,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB,2CAA2C;IAC3C,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,UAAU,eAAe;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,gBAAgB;AAChB,oBAAY,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAEnE,aAAa;AACb,qBAAa,UAAW,SAAQ,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE,eAAe,CAAC;IACnF,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,cAAc,CAAS;IAE/B,gBAAgB;IAChB,gBAAuB,YAAY,EAAE,oBAAoB,CAEvD;gBAEU,KAAK,EAAE,eAAe;IAYlC,OAAO,CAAC,mBAAmB,CAIzB;IAEF,OAAO,CAAC,sBAAsB,CAY5B;IAEF,OAAO,CAAC,SAAS,CAEf;IAEF,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,aAAa,CAEnB;IAEF,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,SAAS;IAKD,iBAAiB;IAIjC,OAAO,CAAC,aAAa;IAKL,MAAM;IAwCtB,OAAO,CAAC,cAAc,CA0DpB;CAEH"}
@@ -13,6 +13,7 @@ import { Icon, IconInput } from "@itwin/core-react";
13
13
  import { Button, Input } from "@itwin/itwinui-react";
14
14
  import { CalculatorEngine, CalculatorOperator } from "./CalculatorEngine";
15
15
  import { SquareButton } from "./SquareButton";
16
+ import { SvgCheckmark, SvgRemove } from "@itwin/itwinui-icons-react";
16
17
  import backspaceIcon from "./backspace.svg";
17
18
  /** @alpha */
18
19
  export class Calculator extends React.PureComponent {
@@ -147,9 +148,9 @@ export class Calculator extends React.PureComponent {
147
148
  React.createElement(CalculatorKeyPad, { onValueClick: this._onValueButtonClick, onOperatorClick: this._onOperatorButtonClick }),
148
149
  React.createElement("div", { className: "uifw-calculator-bottom-buttons" },
149
150
  React.createElement(Button, { className: classnames("uifw-calculator-large-button", "uifw-calculator-ok-button"), styleType: "cta", onClick: this._handleOk },
150
- React.createElement(Icon, { iconSpec: "icon-checkmark" })),
151
+ React.createElement(Icon, { iconSpec: React.createElement(SvgCheckmark, null) })),
151
152
  React.createElement(Button, { className: classnames("uifw-calculator-large-button", "uifw-calculator-cancel-button"), onClick: this._handleCancel },
152
- React.createElement(Icon, { iconSpec: "icon-remove" })))));
153
+ React.createElement(Icon, { iconSpec: React.createElement(SvgRemove, null) })))));
153
154
  }
154
155
  }
155
156
  /** @internal */
@@ -1 +1 @@
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 { IconSpecUtilities, OnCancelFunc, OnNumberCommitFunc, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Icon, IconInput, Omit } from \"@itwin/core-react\";\r\nimport { Button, Input } from \"@itwin/itwinui-react\";\r\nimport { CalculatorEngine, CalculatorOperator } from \"./CalculatorEngine\";\r\nimport { SquareButton, SquareButtonProps } from \"./SquareButton\";\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=\"icon-checkmark\" />\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=\"icon-remove\" />\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
+ {"version":3,"file":"Calculator.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/Calculator.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAC3B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAoC,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAe,IAAI,EAAE,SAAS,EAAQ,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAqB,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,aAAa,MAAM,iBAAiB,CAAC;AA0B5C,aAAa;AACb,MAAM,OAAO,UAAW,SAAQ,KAAK,CAAC,aAA+C;IASnF,YAAY,KAAsB;QAChC,KAAK,CAAC,KAAK,CAAC,CAAC;QATP,aAAQ,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;QAC7C,mBAAc,GAAG,KAAK,CAAC;QAmBvB,wBAAmB,GAAG,CAAC,OAAe,EAAE,EAAE;YAChD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC7D,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC;QAEM,2BAAsB,GAAG,CAAC,QAA4B,EAAE,EAAE;YAChE,IAAI,QAAQ,KAAK,kBAAkB,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc;gBAC9D,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC;YAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACjE,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;YAEhC,IAAI,QAAQ,KAAK,kBAAkB,CAAC,MAAM;gBACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;iBACxB,IAAI,QAAQ,KAAK,kBAAkB,CAAC,QAAQ;gBAC/C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAChC,CAAC,CAAC;QAEM,cAAS,GAAG,CAAC,MAAwB,EAAQ,EAAE;YACrD,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,CAAC,CAAC;QAUM,kBAAa,GAAG,CAAC,MAAwB,EAAQ,EAAE;YACzD,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC;QAgEM,mBAAc,GAAG,CAAC,KAA0C,EAAQ,EAAE;YAC5E,QAAQ,KAAK,CAAC,GAAG,EAAE;gBACjB,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG;oBACN,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG;oBACN,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;oBACzD,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,UAAU,CAAC,KAAK;oBACnB,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBACtD,MAAM;gBACR,KAAK,UAAU,CAAC,MAAM;oBACpB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,MAAM;gBACR,KAAK,UAAU,CAAC,SAAS;oBACvB,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;oBAC1D,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,KAAK,UAAU,CAAC,MAAM;oBACpB,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBACvD,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,KAAK,UAAU,CAAC,QAAQ;oBACtB,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;oBACzD,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,KAAK,UAAU,CAAC,QAAQ;oBACtB,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;oBACzD,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,KAAK,UAAU,CAAC,GAAG;oBACjB,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBACpD,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,KAAK,UAAU,CAAC,OAAO;oBACrB,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBACxD,MAAM;gBACR,KAAK,GAAG;oBACN,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBACvD,MAAM;gBACR,KAAK,UAAU,CAAC,KAAK;oBACnB,IAAI,CAAC,IAAI,CAAC,cAAc;wBACtB,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBACzD,IAAI,CAAC,GAAG,EAAE,CAAC;oBACX,MAAM;aACT;QACH,CAAC,CAAC;QArKA,IAAI,YAAY,GAAG,GAAG,CAAC;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY;YACzB,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEpF,IAAI,CAAC,KAAK,GAAG;YACX,YAAY;SACb,CAAC;IACJ,CAAC;IA0BO,GAAG;QACT,uBAAuB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAMO,OAAO;QACb,uBAAuB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SACvB;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAEe,iBAAiB;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO;YACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAEe,MAAM;QACpB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,wDAAwD;QAE9I,MAAM,UAAU,GAAG,UAAU,CAC3B,iBAAiB,EACjB,SAAS,CACV,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACxC,oBAAC,SAAS,IAAC,kBAAkB,EAAC,2BAA2B,EACvD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAI,CAAC,CAAC;YACnF,oBAAC,KAAK,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAC,OAAO,GAAG,CAAC;QAEzE,OAAO;QACL,iEAAiE;QACjE,mEAAmE;QACnE,gCAAS,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc;YACrG,6BAAK,SAAS,EAAC,qBAAqB,IACjC,UAAU,CACP;YACN,oBAAC,gBAAgB,IAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,EAAE,IAAI,CAAC,sBAAsB,GAAI;YAC1G,6BAAK,SAAS,EAAC,gCAAgC;gBAC7C,oBAAC,MAAM,IACL,SAAS,EAAE,UAAU,CAAC,8BAA8B,EAAE,2BAA2B,CAAC,EAClF,SAAS,EAAC,KAAK,EACf,OAAO,EAAE,IAAI,CAAC,SAAS;oBAEvB,oBAAC,IAAI,IAAC,QAAQ,EAAE,oBAAC,YAAY,OAAG,GAAI,CAC7B;gBACT,oBAAC,MAAM,IACL,SAAS,EAAE,UAAU,CAAC,8BAA8B,EAAE,+BAA+B,CAAC,EACtF,OAAO,EAAE,IAAI,CAAC,aAAa;oBAE3B,oBAAC,IAAI,IAAC,QAAQ,EAAE,oBAAC,SAAS,OAAG,GAAI,CAC1B,CACL,CACF,CACP,CAAC;IACJ,CAAC;;AAjHD,gBAAgB;AACO,uBAAY,GAAyB;IAC1D,MAAM,EAAE,IAAI,gBAAgB,EAAE;CAC/B,CAAC;AAqLJ,MAAM,gBAAiB,SAAQ,KAAK,CAAC,aAAoC;IACvD,MAAM;QACpB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC;QAE7E,OAAO,CACL,6BAAK,SAAS,EAAE,UAAU,CAAC,6BAA6B,CAAC;YACvD,oBAAC,cAAc,IAAC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,SAAqB;YAC/G,oBAAC,cAAc,IAAC,QAAQ,EAAE,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,QAAoB;YAC3G,oBAAC,cAAc,IAAC,QAAQ,EAAE,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;gBACzF,6BAAK,SAAS,EAAC,4BAA4B;oBACzC,oBAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI,CACxB,CACS;YACjB,oBAAC,cAAc,IAAC,QAAQ,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EACtF,SAAS,EAAC,4BAA4B,aAA0B;YAElE,oBAAC,WAAW,IAAC,OAAO,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAI;YAC7D,oBAAC,WAAW,IAAC,OAAO,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAI;YAC7D,oBAAC,WAAW,IAAC,OAAO,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAI;YAC7D,oBAAC,cAAc,IAAC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EACxF,SAAS,EAAC,4BAA4B,aAAyB;YAEjE,oBAAC,WAAW,IAAC,OAAO,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAI;YAC7D,oBAAC,WAAW,IAAC,OAAO,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAI;YAC7D,oBAAC,WAAW,IAAC,OAAO,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAI;YAC7D,oBAAC,cAAc,IAAC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EACxF,SAAS,EAAC,4BAA4B,aAAyB;YAEjE,oBAAC,WAAW,IAAC,OAAO,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAI;YAC7D,oBAAC,WAAW,IAAC,OAAO,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAI;YAC7D,oBAAC,WAAW,IAAC,OAAO,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAI;YAC7D,oBAAC,cAAc,IAAC,QAAQ,EAAE,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EACnF,SAAS,EAAC,4BAA4B,QAAuB;YAE/D,oBAAC,WAAW,IAAC,OAAO,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAI;YAC7D,oBAAC,cAAc,IAAC,QAAQ,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EACtF,SAAS,EAAC,4BAA4B,aAA0B;YAClE,oBAAC,cAAc,IAAC,QAAQ,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EACvF,SAAS,EAAC,4BAA4B,QAAmB;YAC3D,oBAAC,cAAc,IAAC,QAAQ,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EACtF,SAAS,EAAC,4BAA4B,QAAuB;YAC/D,iCAAQ,CACJ,CACP,CAAC;IACJ,CAAC;CACF;AASD,MAAM,WAAY,SAAQ,KAAK,CAAC,aAA+B;IAA/D;;QAEU,mBAAc,GAAG,CAAC,MAAuD,EAAE,EAAE;YACnF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC;IAgBJ,CAAC;IAdiB,MAAM;QACpB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,wDAAwD;QAEtH,MAAM,cAAc,GAAG,UAAU,CAC/B,sBAAsB,EACtB,SAAS,CACV,CAAC;QAEF,OAAO,CACL,oBAAC,YAAY,OAAK,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,IAC7E,OAAO,CACM,CACjB,CAAC;IACJ,CAAC;CACF;AASD,MAAM,cAAe,SAAQ,KAAK,CAAC,aAAkC;IAArE;;QAEU,mBAAc,GAAG,CAAC,MAAuD,EAAE,EAAE;YACnF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC;IAgBJ,CAAC;IAdiB,MAAM;QACpB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,wDAAwD;QAEjI,MAAM,cAAc,GAAG,UAAU,CAC/B,sBAAsB,EACtB,SAAS,CACV,CAAC;QAEF,OAAO,CACL,oBAAC,YAAY,OAAK,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,IAC7E,QAAQ,CACI,CAChB,CAAC;IACJ,CAAC;CACF","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 { IconSpecUtilities, OnCancelFunc, OnNumberCommitFunc, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Icon, IconInput, Omit } from \"@itwin/core-react\";\r\nimport { Button, Input } from \"@itwin/itwinui-react\";\r\nimport { CalculatorEngine, CalculatorOperator } from \"./CalculatorEngine\";\r\nimport { SquareButton, SquareButtonProps } 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"]}
@@ -5,7 +5,7 @@
5
5
  @import "~@itwin/core-react/lib/cjs/core-react/style/index";
6
6
 
7
7
  $button-size: 36px;
8
- $button-operator-size: $button-size+10px;
8
+ $button-operator-size: $button-size + 10px;
9
9
 
10
10
  .uifw-position-popup.uifw-calculator-host {
11
11
  background-color: $buic-background-window;
@@ -19,22 +19,22 @@ $button-operator-size: $button-size+10px;
19
19
  outline: 0px;
20
20
  }
21
21
 
22
- >.uifw-calculator-top {
22
+ > .uifw-calculator-top {
23
23
  margin-bottom: 8px;
24
24
 
25
- >.uifw-calculator-top-input {
25
+ > .uifw-calculator-top-input {
26
26
  width: 100%;
27
27
  }
28
28
 
29
29
  input {
30
30
  text-align: right;
31
- color: $buic-text-color;
31
+ color: var(--iui-color-text);
32
32
  background-color: $buic-background-control;
33
33
  cursor: default;
34
34
  }
35
35
  }
36
36
 
37
- >.uifw-calculator-button-grid {
37
+ > .uifw-calculator-button-grid {
38
38
  display: grid;
39
39
  grid-template-columns: $button-size $button-size $button-size $button-operator-size;
40
40
  grid-gap: 6px;
@@ -47,31 +47,29 @@ $button-operator-size: $button-size+10px;
47
47
  }
48
48
  }
49
49
 
50
- >.uifw-calculator-bottom-buttons {
50
+ > .uifw-calculator-bottom-buttons {
51
51
  display: flex;
52
52
  justify-content: space-between;
53
53
  margin-top: 0;
54
54
 
55
- >.uifw-calculator-large-button {
55
+ > .uifw-calculator-large-button {
56
56
  width: 70px;
57
57
  font-size: 20px;
58
58
  }
59
59
 
60
- >.uifw-calculator-cancel-button {
61
-
60
+ > .uifw-calculator-cancel-button {
62
61
  &,
63
62
  &:active,
64
63
  &:focus {
65
64
  border: none;
66
- background-color: $uicore-gray;
67
- color: $uicore-white;
65
+ background-color: var(--iui-color-background-negative);
66
+ color: var(--iui-color-white);
68
67
  }
69
68
 
70
69
  &:hover {
71
- background-color: $uicore-gray-5;
72
- color: $uicore-white;
70
+ background-color: var(--iui-color-background-negative-hover);
71
+ color: var(--iui-color-white);
73
72
  }
74
-
75
73
  }
76
74
  }
77
75
 
@@ -1 +1 @@
1
- {"version":3,"file":"MenuButton.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/MenuButton.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAC3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAA2B,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAgB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEjE,aAAa;AACb,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,mBAAmB;IACnB,KAAK,EAAE,UAAU,CAAC;IAClB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACzC;AAED,gBAAgB;AAChB,UAAU,eAAe;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,aAAa;AACb,qBAAa,UAAW,SAAQ,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE,eAAe,CAAC;IACnF,OAAO,CAAC,KAAK,CAA4B;gBAE7B,KAAK,EAAE,eAAe;IAQlB,MAAM;IA2BtB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,KAAK,CAQX;IAEF,OAAO,CAAC,YAAY,CAOlB;IAGF,OAAO,CAAC,YAAY,CAElB;CAEH"}
1
+ {"version":3,"file":"MenuButton.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/MenuButton.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAC3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAA2B,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAgB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGjE,aAAa;AACb,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,mBAAmB;IACnB,KAAK,EAAE,UAAU,CAAC;IAClB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACzC;AAED,gBAAgB;AAChB,UAAU,eAAe;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,aAAa;AACb,qBAAa,UAAW,SAAQ,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE,eAAe,CAAC;IACnF,OAAO,CAAC,KAAK,CAA4B;gBAE7B,KAAK,EAAE,eAAe;IAQlB,MAAM;IA2BtB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,KAAK,CAQX;IAEF,OAAO,CAAC,YAAY,CAOlB;IAGF,OAAO,CAAC,YAAY,CAElB;CAEH"}
@@ -9,6 +9,7 @@ import "./MenuButton.scss";
9
9
  import * as React from "react";
10
10
  import { ContextMenu, Icon, Size } from "@itwin/core-react";
11
11
  import { SquareButton } from "./SquareButton";
12
+ import { SvgMore } from "@itwin/itwinui-icons-react";
12
13
  /** @alpha */
13
14
  export class MenuButton extends React.PureComponent {
14
15
  constructor(props) {
@@ -46,7 +47,7 @@ export class MenuButton extends React.PureComponent {
46
47
  };
47
48
  return (React.createElement("div", { className: "uifw-menu-button", style: divStyle, ref: (e) => this.setDivRef(e) },
48
49
  React.createElement(SquareButton, { ...buttonProps, className: className, style: style, onClick: this._handleClick },
49
- React.createElement(Icon, { iconSpec: "icon-more-2" })),
50
+ React.createElement(Icon, { iconSpec: React.createElement(SvgMore, null) })),
50
51
  React.createElement(ContextMenu, { ref: (el) => { this._menu = el; }, selectedIndex: 0, onSelect: this._handleClose, onOutsideClick: this._handleClose, onEsc: this._handleClose, opened: this.state.expanded, autoflip: false }, this.props.children)));
51
52
  }
52
53
  setDivRef(div) {
@@ -1 +1 @@
1
- {"version":3,"file":"MenuButton.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/MenuButton.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 \"./MenuButton.scss\";\r\nimport * as React from \"react\";\r\nimport { PointProps } from \"@itwin/appui-abstract\";\r\nimport { ContextMenu, Icon, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { SquareButton, SquareButtonProps } from \"./SquareButton\";\r\n\r\n/** @alpha */\r\nexport interface MenuButtonProps extends SquareButtonProps {\r\n /** Center point */\r\n point: PointProps;\r\n /** Function called when size is known. */\r\n onSizeKnown?: (size: SizeProps) => void;\r\n}\r\n\r\n/** @internal */\r\ninterface MenuButtonState {\r\n expanded: boolean;\r\n}\r\n\r\n/** @alpha */\r\nexport class MenuButton extends React.PureComponent<MenuButtonProps, MenuButtonState> {\r\n private _menu: ContextMenu | null = null;\r\n\r\n constructor(props: MenuButtonProps) {\r\n super(props);\r\n\r\n this.state = {\r\n expanded: false,\r\n };\r\n }\r\n\r\n public override render() {\r\n const { point, className, style, onSizeKnown, ...buttonProps } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n const divStyle: React.CSSProperties = {\r\n top: point.y,\r\n left: point.x,\r\n };\r\n\r\n return (\r\n <div className=\"uifw-menu-button\" style={divStyle} ref={(e) => this.setDivRef(e)}>\r\n <SquareButton {...buttonProps} className={className} style={style} onClick={this._handleClick}>\r\n <Icon iconSpec=\"icon-more-2\" />\r\n </SquareButton>\r\n <ContextMenu\r\n ref={(el) => { this._menu = el; }}\r\n selectedIndex={0}\r\n onSelect={this._handleClose}\r\n onOutsideClick={this._handleClose}\r\n onEsc={this._handleClose}\r\n opened={this.state.expanded}\r\n autoflip={false}>\r\n {this.props.children}\r\n </ContextMenu>\r\n </div>\r\n );\r\n }\r\n\r\n private setDivRef(div: HTMLDivElement | null) {\r\n // istanbul ignore else\r\n if (div) {\r\n const rect = div.getBoundingClientRect();\r\n const size = new Size(rect.width, rect.height);\r\n\r\n // istanbul ignore else\r\n if (this.props.onSizeKnown)\r\n this.props.onSizeKnown(size);\r\n }\r\n }\r\n\r\n private _open = () => {\r\n this.setState(\r\n { expanded: true },\r\n () => {\r\n // istanbul ignore else\r\n if (this._menu)\r\n this._menu.focus();\r\n });\r\n };\r\n\r\n private _handleClick = (event: any) => {\r\n if (this.state.expanded) {\r\n event.stopPropagation();\r\n this.setState({ expanded: false });\r\n } else {\r\n this._open();\r\n }\r\n };\r\n\r\n // istanbul ignore next\r\n private _handleClose = () => {\r\n this.setState({ expanded: false });\r\n };\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"MenuButton.js","sourceRoot":"","sources":["../../../../src/appui-react/accudraw/MenuButton.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAC3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAa,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAqB,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAerD,aAAa;AACb,MAAM,OAAO,UAAW,SAAQ,KAAK,CAAC,aAA+C;IAGnF,YAAY,KAAsB;QAChC,KAAK,CAAC,KAAK,CAAC,CAAC;QAHP,UAAK,GAAuB,IAAI,CAAC;QAiDjC,UAAK,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,QAAQ,CACX,EAAE,QAAQ,EAAE,IAAI,EAAE,EAClB,GAAG,EAAE;gBACH,uBAAuB;gBACvB,IAAI,IAAI,CAAC,KAAK;oBACZ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEM,iBAAY,GAAG,CAAC,KAAU,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;aACpC;iBAAM;gBACL,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;QACH,CAAC,CAAC;QAEF,uBAAuB;QACf,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC;QAlEA,IAAI,CAAC,KAAK,GAAG;YACX,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAEe,MAAM;QACpB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,wDAAwD;QAErI,MAAM,QAAQ,GAAwB;YACpC,GAAG,EAAE,KAAK,CAAC,CAAC;YACZ,IAAI,EAAE,KAAK,CAAC,CAAC;SACd,CAAC;QAEF,OAAO,CACL,6BAAK,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9E,oBAAC,YAAY,OAAK,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC3F,oBAAC,IAAI,IAAC,QAAQ,EAAE,oBAAC,OAAO,OAAG,GAAI,CAClB;YACf,oBAAC,WAAW,IACV,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EACjC,aAAa,EAAE,CAAC,EAChB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,cAAc,EAAE,IAAI,CAAC,YAAY,EACjC,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC3B,QAAQ,EAAE,KAAK,IACd,IAAI,CAAC,KAAK,CAAC,QAAQ,CACR,CACV,CACP,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,GAA0B;QAC1C,uBAAuB;QACvB,IAAI,GAAG,EAAE;YACP,MAAM,IAAI,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/C,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW;gBACxB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAChC;IACH,CAAC;CA0BF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccuDraw\r\n */\r\n\r\nimport \"./MenuButton.scss\";\r\nimport * as React from \"react\";\r\nimport { PointProps } from \"@itwin/appui-abstract\";\r\nimport { ContextMenu, Icon, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { SquareButton, SquareButtonProps } from \"./SquareButton\";\r\nimport { SvgMore } from \"@itwin/itwinui-icons-react\";\r\n\r\n/** @alpha */\r\nexport interface MenuButtonProps extends SquareButtonProps {\r\n /** Center point */\r\n point: PointProps;\r\n /** Function called when size is known. */\r\n onSizeKnown?: (size: SizeProps) => void;\r\n}\r\n\r\n/** @internal */\r\ninterface MenuButtonState {\r\n expanded: boolean;\r\n}\r\n\r\n/** @alpha */\r\nexport class MenuButton extends React.PureComponent<MenuButtonProps, MenuButtonState> {\r\n private _menu: ContextMenu | null = null;\r\n\r\n constructor(props: MenuButtonProps) {\r\n super(props);\r\n\r\n this.state = {\r\n expanded: false,\r\n };\r\n }\r\n\r\n public override render() {\r\n const { point, className, style, onSizeKnown, ...buttonProps } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n const divStyle: React.CSSProperties = {\r\n top: point.y,\r\n left: point.x,\r\n };\r\n\r\n return (\r\n <div className=\"uifw-menu-button\" style={divStyle} ref={(e) => this.setDivRef(e)}>\r\n <SquareButton {...buttonProps} className={className} style={style} onClick={this._handleClick}>\r\n <Icon iconSpec={<SvgMore />} />\r\n </SquareButton>\r\n <ContextMenu\r\n ref={(el) => { this._menu = el; }}\r\n selectedIndex={0}\r\n onSelect={this._handleClose}\r\n onOutsideClick={this._handleClose}\r\n onEsc={this._handleClose}\r\n opened={this.state.expanded}\r\n autoflip={false}>\r\n {this.props.children}\r\n </ContextMenu>\r\n </div>\r\n );\r\n }\r\n\r\n private setDivRef(div: HTMLDivElement | null) {\r\n // istanbul ignore else\r\n if (div) {\r\n const rect = div.getBoundingClientRect();\r\n const size = new Size(rect.width, rect.height);\r\n\r\n // istanbul ignore else\r\n if (this.props.onSizeKnown)\r\n this.props.onSizeKnown(size);\r\n }\r\n }\r\n\r\n private _open = () => {\r\n this.setState(\r\n { expanded: true },\r\n () => {\r\n // istanbul ignore else\r\n if (this._menu)\r\n this._menu.focus();\r\n });\r\n };\r\n\r\n private _handleClick = (event: any) => {\r\n if (this.state.expanded) {\r\n event.stopPropagation();\r\n this.setState({ expanded: false });\r\n } else {\r\n this._open();\r\n }\r\n };\r\n\r\n // istanbul ignore next\r\n private _handleClose = () => {\r\n this.setState({ expanded: false });\r\n };\r\n\r\n}\r\n"]}
@@ -2,44 +2,29 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
6
5
 
7
6
  $button-size: 32px;
8
7
 
9
8
  .uifw-square-button {
10
9
  display: flex;
11
10
  justify-content: center;
12
- background-color: $buic-background-tab-inactive;
13
- color: $buic-foreground-body;
14
- border-color: $buic-background-toolbutton-stroke;
15
- border-radius: 5px;
11
+ background-color: var(--iui-color-background);
12
+ color: var(--iui-color-text);
13
+ border-color: var(--iui-color-border-foreground);
14
+ border-radius: var(--iui-border-radius-1);
16
15
  border-width: 1px;
17
16
  border-style: solid;
18
- opacity: 0.95;
17
+ opacity: var(--iui-opacity-2);
19
18
  pointer-events: auto;
20
19
  margin: 0;
21
20
  width: $button-size;
22
21
  height: $button-size;
23
22
 
24
- &:focus {
25
- background-color: $buic-background-tab-active;
26
- color: $buic-foreground-body;
27
- border-color: $buic-background-toolbutton-stroke;
28
- opacity: 1.0;
29
- }
30
-
23
+ &:focus,
31
24
  &:hover {
32
- background-color: $buic-background-tab-active;
33
- color: $buic-foreground-primary;
34
- border-color: $buic-background-toolbutton-stroke;
35
- opacity: 1.0;
25
+ background-color: var(--iui-color-background-hover);
26
+ color: var(--iui-color-text-hover);
27
+ border-color: var(--iui-color-border-foreground-hover);
28
+ opacity: var(--iui-opacity-1);
36
29
  }
37
-
38
- &:active {
39
- background-color: $buic-background-4;
40
- color: $buic-foreground-primary;
41
- border-color: $buic-background-toolbutton-stroke;
42
- opacity: 1.0;
43
- }
44
-
45
30
  }
@@ -2,8 +2,8 @@
2
2
  * @module Backstage
3
3
  */
4
4
  import * as React from "react";
5
- import { BackstageItem } from "@itwin/appui-abstract";
6
5
  import { CommonProps } from "@itwin/core-react";
6
+ import { BackstageItem } from "./BackstageItem";
7
7
  /** @internal */
8
8
  export declare type GroupedItems = ReadonlyArray<ReadonlyArray<BackstageItem>>;
9
9
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"BackstageComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAoF,MAAM,uBAAuB,CAAC;AACxI,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAyEhD,gBAAgB;AAChB,oBAAY,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;AAEvE,gBAAgB;AAChB,eAAO,MAAM,eAAe,UAAW,cAAc,aAAa,CAAC,iBA+BlE,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACzD,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,gGAAgG;IAChG,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,mHAAmH;IACnH,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,wFAAwF;IACxF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CACvC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,eA0D9D"}
1
+ {"version":3,"file":"BackstageComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAShD,OAAO,EAAE,aAAa,EAA4B,MAAM,iBAAiB,CAAC;AA2D1E,gBAAgB;AAChB,oBAAY,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;AAEvE,gBAAgB;AAChB,eAAO,MAAM,eAAe,UAAW,cAAc,aAAa,CAAC,iBA+BlE,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACzD,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,gGAAgG;IAChG,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,mHAAmH;IACnH,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,wFAAwF;IACxF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CACvC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,eAyD9D"}
@@ -6,7 +6,7 @@
6
6
  * @module Backstage
7
7
  */
8
8
  import * as React from "react";
9
- import { BackstageItemsManager, ConditionalBooleanValue, isStageLauncher } from "@itwin/appui-abstract";
9
+ import { ConditionalBooleanValue } from "@itwin/appui-abstract";
10
10
  import { BackstageSeparator, Backstage as NZ_Backstage } from "@itwin/appui-layout-react";
11
11
  import { SafeAreaContext } from "../safearea/SafeAreaContext";
12
12
  import { SyncUiEventDispatcher } from "../syncui/SyncUiEventDispatcher";
@@ -15,13 +15,19 @@ import { useBackstageManager, useIsBackstageOpen } from "./BackstageManager";
15
15
  import { useDefaultBackstageItems } from "./useDefaultBackstageItems";
16
16
  import { useUiItemsProviderBackstageItems } from "./useUiItemsProviderBackstageItems";
17
17
  import { toLayoutSafeAreaInsets } from "../safearea/SafeAreaHelpers";
18
+ import { isBackstageStageLauncher } from "./BackstageItem";
19
+ import { BackstageItemsManager } from "./BackstageItemsManager";
18
20
  // cSpell:ignore safearea
19
- /* eslint-disable deprecation/deprecation */
20
21
  /** Private function to set up sync event monitoring of backstage items */
21
22
  function useBackstageItemSyncEffect(itemsManager, syncIdsOfInterest) {
22
23
  const isInitialMount = React.useRef(true);
23
24
  React.useEffect(() => {
24
- const handleSyncUiEvent = (args) => {
25
+ if (isInitialMount.current) {
26
+ isInitialMount.current = false;
27
+ // initialize the display state of any items with syncIds/condition defined
28
+ itemsManager.refreshAffectedItems(new Set(syncIdsOfInterest));
29
+ }
30
+ return SyncUiEventDispatcher.onSyncUiEvent.addListener((args) => {
25
31
  if (0 === syncIdsOfInterest.length)
26
32
  return;
27
33
  // istanbul ignore else
@@ -29,16 +35,7 @@ function useBackstageItemSyncEffect(itemsManager, syncIdsOfInterest) {
29
35
  // process each item that has interest
30
36
  itemsManager.refreshAffectedItems(args.eventIds);
31
37
  }
32
- };
33
- if (isInitialMount.current) {
34
- isInitialMount.current = false;
35
- // initialize the display state of any items with syncIds/condition defined
36
- itemsManager.refreshAffectedItems(new Set(syncIdsOfInterest));
37
- }
38
- SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);
39
- return () => {
40
- SyncUiEventDispatcher.onSyncUiEvent.removeListener(handleSyncUiEvent);
41
- };
38
+ });
42
39
  }, [itemsManager, itemsManager.items, syncIdsOfInterest]);
43
40
  }
44
41
  /** local function to combine items from Stage and from Extensions */
@@ -62,9 +59,9 @@ function combineItems(stageItems, addonItems, hideSoloStageEntry) {
62
59
  }
63
60
  if (hideSoloStageEntry) {
64
61
  // per user request don't show stage launcher if only one stage is available
65
- const numberOfFrontstageItems = items.reduce((accumulator, item) => accumulator + (isStageLauncher(item) ? 1 : 0), 0);
62
+ const numberOfFrontstageItems = items.reduce((accumulator, item) => accumulator + (isBackstageStageLauncher(item) ? 1 : 0), 0);
66
63
  if (1 === numberOfFrontstageItems)
67
- items = items.filter((item) => !isStageLauncher(item));
64
+ items = items.filter((item) => !isBackstageStageLauncher(item));
68
65
  }
69
66
  return items;
70
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BackstageComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposer.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 Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { BackstageItem, BackstageItemsManager, ConditionalBooleanValue, isStageLauncher, UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { BackstageSeparator, Backstage as NZ_Backstage } from \"@itwin/appui-layout-react\";\r\nimport { SafeAreaContext } from \"../safearea/SafeAreaContext\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { BackstageComposerItem } from \"./BackstageComposerItem\";\r\nimport { useBackstageManager, useIsBackstageOpen } from \"./BackstageManager\";\r\nimport { useDefaultBackstageItems } from \"./useDefaultBackstageItems\";\r\nimport { useUiItemsProviderBackstageItems } from \"./useUiItemsProviderBackstageItems\";\r\nimport { toLayoutSafeAreaInsets } from \"../safearea/SafeAreaHelpers\";\r\n\r\n// cSpell:ignore safearea\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Private function to set up sync event monitoring of backstage items */\r\nfunction useBackstageItemSyncEffect(itemsManager: BackstageItemsManager, syncIdsOfInterest: string[]) {\r\n const isInitialMount = React.useRef(true);\r\n\r\n React.useEffect(() => {\r\n const handleSyncUiEvent = (args: UiSyncEventArgs) => {\r\n if (0 === syncIdsOfInterest.length)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\r\n // process each item that has interest\r\n itemsManager.refreshAffectedItems(args.eventIds);\r\n }\r\n };\r\n\r\n if (isInitialMount.current) {\r\n isInitialMount.current = false;\r\n // initialize the display state of any items with syncIds/condition defined\r\n itemsManager.refreshAffectedItems(new Set(syncIdsOfInterest));\r\n }\r\n\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\r\n return () => {\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(handleSyncUiEvent);\r\n };\r\n }, [itemsManager, itemsManager.items, syncIdsOfInterest]);\r\n}\r\n\r\n/** local function to combine items from Stage and from Extensions */\r\nfunction combineItems(stageItems: ReadonlyArray<BackstageItem>, addonItems: ReadonlyArray<BackstageItem>, hideSoloStageEntry: boolean) {\r\n let items: BackstageItem[] = [];\r\n if (stageItems.length) {\r\n // Walk through each and ensure no duplicate ids are added.\r\n stageItems.forEach((srcItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n items.push(srcItem);\r\n }\r\n });\r\n }\r\n if (addonItems.length) {\r\n // Walk through each and ensure no duplicate ids are added.\r\n addonItems.forEach((srcItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n items.push(srcItem);\r\n }\r\n });\r\n }\r\n\r\n if (hideSoloStageEntry) {\r\n // per user request don't show stage launcher if only one stage is available\r\n const numberOfFrontstageItems = items.reduce((accumulator, item) => accumulator + (isStageLauncher(item) ? 1 : 0), 0);\r\n if (1 === numberOfFrontstageItems)\r\n items = items.filter((item) => !isStageLauncher(item));\r\n }\r\n\r\n return items;\r\n}\r\n\r\n/** @internal */\r\nexport type GroupedItems = ReadonlyArray<ReadonlyArray<BackstageItem>>;\r\n\r\n/** @internal */\r\nexport const useGroupedItems = (items: ReadonlyArray<BackstageItem>): GroupedItems => {\r\n return React.useMemo(() => {\r\n const grouped = items.reduce<GroupedItems>((acc, item) => {\r\n if (ConditionalBooleanValue.getValue(item.isHidden))\r\n return acc;\r\n const groupIndex = acc.findIndex((group) => group[0].groupPriority === item.groupPriority);\r\n if (groupIndex >= 0)\r\n return [\r\n ...acc.slice(0, groupIndex),\r\n [\r\n ...acc[groupIndex],\r\n item,\r\n ],\r\n ...acc.slice(groupIndex + 1),\r\n ];\r\n return [\r\n ...acc,\r\n [\r\n item,\r\n ],\r\n ];\r\n }, []);\r\n const sortedGroups = grouped.reduce<GroupedItems>((acc, group) => {\r\n const sortedGroup = [...group].sort((a, b) => a.itemPriority - b.itemPriority);\r\n return [\r\n ...acc,\r\n sortedGroup,\r\n ];\r\n }, []);\r\n return [...sortedGroups].sort((a, b) => a[0].groupPriority - b[0].groupPriority);\r\n }, [items]);\r\n};\r\n\r\n/** Props of [[BackstageComposer]] component.\r\n * @public\r\n */\r\nexport interface BackstageComposerProps extends CommonProps {\r\n /** React node for an optional header item */\r\n readonly header?: React.ReactNode;\r\n /** Indicates whether to place an overlay over the frontstage when the backstage is displayed */\r\n readonly showOverlay?: boolean;\r\n /** List of static backstage items to show. Can be undefined in UiItemsProviders are used to populate backstage. */\r\n readonly items?: BackstageItem[];\r\n /** If true and only one stage launcher item is found, do not show entry in backstage */\r\n readonly hideSoloStageEntry?: boolean;\r\n}\r\n\r\n/** Backstage component composed from [[UiFramework.backstage]] items.\r\n * @public\r\n */\r\nexport function BackstageComposer(props: BackstageComposerProps) {\r\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(new BackstageItemsManager(props.items));\r\n const initialItems = React.useRef(props.items);\r\n\r\n React.useEffect(() => {\r\n if (initialItems.current !== props.items) {\r\n initialItems.current = props.items;\r\n setDefaultItemsManager(new BackstageItemsManager(props.items));\r\n }\r\n }, [props.items]);\r\n\r\n const manager = useBackstageManager();\r\n const isOpen = useIsBackstageOpen(manager);\r\n const safeAreaInsets = React.useContext(SafeAreaContext);\r\n const handleClose = React.useCallback(() => {\r\n manager.close();\r\n }, [manager]);\r\n\r\n const defaultItems = useDefaultBackstageItems(defaultItemsManager);\r\n const syncIdsOfInterest = React.useMemo(() => BackstageItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\r\n useBackstageItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\r\n\r\n const [addonItemsManager] = React.useState(new BackstageItemsManager());\r\n const addonItems = useUiItemsProviderBackstageItems(addonItemsManager);\r\n const addonSyncIdsOfInterest = React.useMemo(() => BackstageItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\r\n useBackstageItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\r\n\r\n const combinedBackstageItems = React.useMemo(() => combineItems(defaultItems, addonItems, !!props.hideSoloStageEntry), [defaultItems, addonItems, props.hideSoloStageEntry]);\r\n const groups = useGroupedItems(combinedBackstageItems);\r\n\r\n return (\r\n <NZ_Backstage\r\n className={props.className}\r\n header={props.header}\r\n isOpen={isOpen}\r\n onClose={handleClose}\r\n safeAreaInsets={toLayoutSafeAreaInsets(safeAreaInsets)}\r\n showOverlay={props.showOverlay}\r\n style={props.style}\r\n >\r\n {groups.map((group, groupIndex) => (\r\n group.map((item, itemIndex) => {\r\n const composerItem = (\r\n <BackstageComposerItem\r\n item={item}\r\n key={item.id}\r\n />\r\n );\r\n return itemIndex === 0 && groupIndex > 0 ? (\r\n <React.Fragment key={groupIndex}>\r\n <BackstageSeparator />\r\n {composerItem}\r\n </React.Fragment>\r\n ) : composerItem;\r\n })\r\n ))}\r\n </NZ_Backstage>\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"BackstageComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposer.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 Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { BackstageSeparator, Backstage as NZ_Backstage } from \"@itwin/appui-layout-react\";\r\nimport { SafeAreaContext } from \"../safearea/SafeAreaContext\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { BackstageComposerItem } from \"./BackstageComposerItem\";\r\nimport { useBackstageManager, useIsBackstageOpen } from \"./BackstageManager\";\r\nimport { useDefaultBackstageItems } from \"./useDefaultBackstageItems\";\r\nimport { useUiItemsProviderBackstageItems } from \"./useUiItemsProviderBackstageItems\";\r\nimport { toLayoutSafeAreaInsets } from \"../safearea/SafeAreaHelpers\";\r\nimport { BackstageItem, isBackstageStageLauncher } from \"./BackstageItem\";\r\nimport { BackstageItemsManager } from \"./BackstageItemsManager\";\r\n\r\n// cSpell:ignore safearea\r\n\r\n/** Private function to set up sync event monitoring of backstage items */\r\nfunction useBackstageItemSyncEffect(itemsManager: BackstageItemsManager, syncIdsOfInterest: string[]) {\r\n const isInitialMount = React.useRef(true);\r\n\r\n React.useEffect(() => {\r\n if (isInitialMount.current) {\r\n isInitialMount.current = false;\r\n // initialize the display state of any items with syncIds/condition defined\r\n itemsManager.refreshAffectedItems(new Set(syncIdsOfInterest));\r\n }\r\n\r\n return SyncUiEventDispatcher.onSyncUiEvent.addListener((args) => {\r\n if (0 === syncIdsOfInterest.length)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\r\n // process each item that has interest\r\n itemsManager.refreshAffectedItems(args.eventIds);\r\n }\r\n });\r\n }, [itemsManager, itemsManager.items, syncIdsOfInterest]);\r\n}\r\n\r\n/** local function to combine items from Stage and from Extensions */\r\nfunction combineItems(stageItems: ReadonlyArray<BackstageItem>, addonItems: ReadonlyArray<BackstageItem>, hideSoloStageEntry: boolean): ReadonlyArray<BackstageItem> {\r\n let items: Array<BackstageItem> = [];\r\n if (stageItems.length) {\r\n // Walk through each and ensure no duplicate ids are added.\r\n stageItems.forEach((srcItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n items.push(srcItem);\r\n }\r\n });\r\n }\r\n if (addonItems.length) {\r\n // Walk through each and ensure no duplicate ids are added.\r\n addonItems.forEach((srcItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n items.push(srcItem);\r\n }\r\n });\r\n }\r\n\r\n if (hideSoloStageEntry) {\r\n // per user request don't show stage launcher if only one stage is available\r\n const numberOfFrontstageItems = items.reduce((accumulator, item) => accumulator + (isBackstageStageLauncher(item) ? 1 : 0), 0);\r\n if (1 === numberOfFrontstageItems)\r\n items = items.filter((item) => !isBackstageStageLauncher(item));\r\n }\r\n\r\n return items;\r\n}\r\n\r\n/** @internal */\r\nexport type GroupedItems = ReadonlyArray<ReadonlyArray<BackstageItem>>;\r\n\r\n/** @internal */\r\nexport const useGroupedItems = (items: ReadonlyArray<BackstageItem>): GroupedItems => {\r\n return React.useMemo(() => {\r\n const grouped = items.reduce<GroupedItems>((acc, item) => {\r\n if (ConditionalBooleanValue.getValue(item.isHidden))\r\n return acc;\r\n const groupIndex = acc.findIndex((group) => group[0].groupPriority === item.groupPriority);\r\n if (groupIndex >= 0)\r\n return [\r\n ...acc.slice(0, groupIndex),\r\n [\r\n ...acc[groupIndex],\r\n item,\r\n ],\r\n ...acc.slice(groupIndex + 1),\r\n ];\r\n return [\r\n ...acc,\r\n [\r\n item,\r\n ],\r\n ];\r\n }, []);\r\n const sortedGroups = grouped.reduce<GroupedItems>((acc, group) => {\r\n const sortedGroup = [...group].sort((a, b) => a.itemPriority - b.itemPriority);\r\n return [\r\n ...acc,\r\n sortedGroup,\r\n ];\r\n }, []);\r\n return [...sortedGroups].sort((a, b) => a[0].groupPriority - b[0].groupPriority);\r\n }, [items]);\r\n};\r\n\r\n/** Props of [[BackstageComposer]] component.\r\n * @public\r\n */\r\nexport interface BackstageComposerProps extends CommonProps {\r\n /** React node for an optional header item */\r\n readonly header?: React.ReactNode;\r\n /** Indicates whether to place an overlay over the frontstage when the backstage is displayed */\r\n readonly showOverlay?: boolean;\r\n /** List of static backstage items to show. Can be undefined in UiItemsProviders are used to populate backstage. */\r\n readonly items?: BackstageItem[];\r\n /** If true and only one stage launcher item is found, do not show entry in backstage */\r\n readonly hideSoloStageEntry?: boolean;\r\n}\r\n\r\n/** Backstage component composed from [[UiFramework.backstage]] items.\r\n * @public\r\n */\r\nexport function BackstageComposer(props: BackstageComposerProps) {\r\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(new BackstageItemsManager(props.items));\r\n const initialItems = React.useRef(props.items);\r\n\r\n React.useEffect(() => {\r\n if (initialItems.current !== props.items) {\r\n initialItems.current = props.items;\r\n setDefaultItemsManager(new BackstageItemsManager(props.items));\r\n }\r\n }, [props.items]);\r\n\r\n const manager = useBackstageManager();\r\n const isOpen = useIsBackstageOpen(manager);\r\n const safeAreaInsets = React.useContext(SafeAreaContext);\r\n const handleClose = React.useCallback(() => {\r\n manager.close();\r\n }, [manager]);\r\n\r\n const defaultItems = useDefaultBackstageItems(defaultItemsManager);\r\n const syncIdsOfInterest = React.useMemo(() => BackstageItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\r\n useBackstageItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\r\n\r\n const [addonItemsManager] = React.useState(new BackstageItemsManager());\r\n const addonItems = useUiItemsProviderBackstageItems(addonItemsManager);\r\n const addonSyncIdsOfInterest = React.useMemo(() => BackstageItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\r\n useBackstageItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\r\n\r\n const combinedBackstageItems = React.useMemo(() => combineItems(defaultItems, addonItems, !!props.hideSoloStageEntry), [defaultItems, addonItems, props.hideSoloStageEntry]);\r\n const groups = useGroupedItems(combinedBackstageItems);\r\n return (\r\n <NZ_Backstage\r\n className={props.className}\r\n header={props.header}\r\n isOpen={isOpen}\r\n onClose={handleClose}\r\n safeAreaInsets={toLayoutSafeAreaInsets(safeAreaInsets)}\r\n showOverlay={props.showOverlay}\r\n style={props.style}\r\n >\r\n {groups.map((group, groupIndex) => (\r\n group.map((item, itemIndex) => {\r\n const composerItem = (\r\n <BackstageComposerItem\r\n item={item}\r\n key={item.id}\r\n />\r\n );\r\n return itemIndex === 0 && groupIndex > 0 ? (\r\n <React.Fragment key={groupIndex}>\r\n <BackstageSeparator />\r\n {composerItem}\r\n </React.Fragment>\r\n ) : composerItem;\r\n })\r\n ))}\r\n </NZ_Backstage>\r\n );\r\n}\r\n"]}
@@ -2,7 +2,7 @@
2
2
  * @module Backstage
3
3
  */
4
4
  /// <reference types="react" />
5
- import { BackstageActionItem, BackstageItem, BackstageStageLauncher } from "@itwin/appui-abstract";
5
+ import { BackstageActionItem, BackstageItem, BackstageStageLauncher } from "./BackstageItem";
6
6
  /** @internal */
7
7
  export interface BackstageComposerActionItemProps {
8
8
  readonly item: BackstageActionItem;
@@ -21,7 +21,6 @@ export declare function BackstageComposerStageLauncher({ item }: BackstageCompos
21
21
  export interface BackstageComposerItemProps {
22
22
  /** Backstage item to render */
23
23
  readonly item: BackstageItem;
24
- readonly providerId?: string;
25
24
  }
26
25
  /** Item of [[BackstageComposer]].
27
26
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"BackstageComposerItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposerItem.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAIH,OAAO,EACL,mBAAmB,EAAE,aAAa,EAAE,sBAAsB,EAC3D,MAAM,uBAAuB,CAAC;AAO/B,gBAAgB;AAChB,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAED,gBAAgB;AAChB,wBAAgB,2BAA2B,CAAC,EAAE,IAAI,EAAE,EAAE,gCAAgC,eAuBrF;AAED,gBAAgB;AAChB,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;CACvC;AAED,gBAAgB;AAChB,wBAAgB,8BAA8B,CAAC,EAAE,IAAI,EAAE,EAAE,mCAAmC,eA2B3F;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,0BAA0B,eAazE"}
1
+ {"version":3,"file":"BackstageComposerItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposerItem.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAUH,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,sBAAsB,EAA4B,MAAM,iBAAiB,CAAC;AAGvH,gBAAgB;AAChB,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAED,gBAAgB;AAChB,wBAAgB,2BAA2B,CAAC,EAAE,IAAI,EAAE,EAAE,gCAAgC,eAsBrF;AAED,gBAAgB;AAChB,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;CACvC;AAED,gBAAgB;AAChB,wBAAgB,8BAA8B,CAAC,EAAE,IAAI,EAAE,EAAE,mCAAmC,eA0B3F;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,0BAA0B,eAazE"}
@@ -7,21 +7,22 @@
7
7
  */
8
8
  import * as React from "react";
9
9
  import { Logger } from "@itwin/core-bentley";
10
- import { ConditionalBooleanValue, ConditionalStringValue, isStageLauncher, } from "@itwin/appui-abstract";
11
- import { BadgeUtilities, Icon, IconHelper } from "@itwin/core-react";
10
+ import { ConditionalBooleanValue, ConditionalStringValue } from "@itwin/appui-abstract";
11
+ import { BadgeUtilities, Icon } from "@itwin/core-react";
12
12
  import { BackstageItem as NZ_BackstageItem } from "@itwin/appui-layout-react";
13
13
  import { useBackstageManager } from "./BackstageManager";
14
14
  import { UiFramework } from "../UiFramework";
15
15
  import { useActiveFrontstageId } from "../frontstage/FrontstageDef";
16
+ import { isBackstageStageLauncher } from "./BackstageItem";
17
+ import { isProviderItem } from "../ui-items-provider/isProviderItem";
16
18
  /** @internal */
17
19
  export function BackstageComposerActionItem({ item }) {
18
20
  const manager = useBackstageManager();
19
- const iconSpec = IconHelper.getIconReactNode(item.icon, item.internalData);
20
21
  const handleClick = React.useCallback(() => {
21
22
  manager.close();
22
23
  item.execute();
23
24
  }, [manager, item]);
24
- return (React.createElement(NZ_BackstageItem, { itemId: item.id, providerId: item.providerId, itemPriority: item.itemPriority, groupPriority: item.groupPriority, icon: React.createElement(Icon, { iconSpec: iconSpec }), isActive: ConditionalBooleanValue.getValue(item.isActive), isDisabled: ConditionalBooleanValue.getValue(item.isDisabled), onClick: handleClick, subtitle: ConditionalStringValue.getValue(item.subtitle), badge: BadgeUtilities.getComponentForBadgeType(item.badgeType) }, ConditionalStringValue.getValue(item.label)));
25
+ return (React.createElement(NZ_BackstageItem, { itemId: item.id, providerId: isProviderItem(item) ? item.providerId : undefined, itemPriority: item.itemPriority, groupPriority: item.groupPriority, icon: React.createElement(Icon, { iconSpec: item.icon }), isActive: ConditionalBooleanValue.getValue(item.isActive), isDisabled: ConditionalBooleanValue.getValue(item.isDisabled), onClick: handleClick, subtitle: ConditionalStringValue.getValue(item.subtitle), badge: BadgeUtilities.getComponentForBadgeType(item.badge) }, ConditionalStringValue.getValue(item.label)));
25
26
  }
26
27
  /** @internal */
27
28
  export function BackstageComposerStageLauncher({ item }) {
@@ -35,14 +36,13 @@ export function BackstageComposerStageLauncher({ item }) {
35
36
  }, [manager, item.stageId]);
36
37
  const activeFrontstageId = useActiveFrontstageId();
37
38
  const isActive = ConditionalBooleanValue.getValue((_a = item.isActive) !== null && _a !== void 0 ? _a : item.stageId === activeFrontstageId);
38
- const iconSpec = IconHelper.getIconReactNode(item.icon, item.internalData);
39
- return (React.createElement(NZ_BackstageItem, { itemId: item.id, providerId: item.providerId, itemPriority: item.itemPriority, groupPriority: item.groupPriority, icon: React.createElement(Icon, { iconSpec: iconSpec }), isActive: isActive, isDisabled: ConditionalBooleanValue.getValue(item.isDisabled), onClick: handleClick, subtitle: ConditionalStringValue.getValue(item.subtitle), badge: BadgeUtilities.getComponentForBadgeType(item.badgeType) }, ConditionalStringValue.getValue(item.label)));
39
+ return (React.createElement(NZ_BackstageItem, { itemId: item.id, providerId: isProviderItem(item) ? item.providerId : undefined, itemPriority: item.itemPriority, groupPriority: item.groupPriority, icon: React.createElement(Icon, { iconSpec: item.icon }), isActive: isActive, isDisabled: ConditionalBooleanValue.getValue(item.isDisabled), onClick: handleClick, subtitle: ConditionalStringValue.getValue(item.subtitle), badge: BadgeUtilities.getComponentForBadgeType(item.badge) }, ConditionalStringValue.getValue(item.label)));
40
40
  }
41
41
  /** Item of [[BackstageComposer]].
42
42
  * @internal
43
43
  */
44
44
  export function BackstageComposerItem({ item }) {
45
- if (isStageLauncher(item)) { // eslint-disable-line deprecation/deprecation
45
+ if (isBackstageStageLauncher(item)) {
46
46
  return (React.createElement(BackstageComposerStageLauncher, { item: item }));
47
47
  }
48
48
  return (React.createElement(BackstageComposerActionItem, { item: item }));