@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
@@ -10,7 +10,7 @@ import classnames from "classnames";
10
10
  import * as React from "react";
11
11
  import { OutputMessagePriority } from "@itwin/core-frontend";
12
12
  import { MessageSeverity, RelativePosition, UiEvent } from "@itwin/appui-abstract";
13
- import { MessageContainer, Point, Rectangle } from "@itwin/core-react";
13
+ import { Icon, MessageContainer, Point, Rectangle } from "@itwin/core-react";
14
14
  import { offsetAndContainInContainer, Tooltip } from "@itwin/appui-layout-react";
15
15
  import { MessageManager } from "./MessageManager";
16
16
  import { MessageDiv, MessageSpan } from "./MessageSpan";
@@ -100,7 +100,7 @@ export class PointerMessage extends React.Component {
100
100
  React.createElement("div", { className: "uifw-pointer-message-content" },
101
101
  (severity !== MessageSeverity.None) &&
102
102
  React.createElement("span", { className: "uifw-pointer-message-icon" },
103
- React.createElement("i", { className: `icon ${MessageContainer.getIconClassName(severity, false)}` })),
103
+ React.createElement(Icon, { className: "icon", iconSpec: `${MessageContainer.getIcon(severity, false)}` })),
104
104
  React.createElement("span", { className: "uifw-pointer-message-text" },
105
105
  React.createElement(MessageSpan, { className: "uifw-pointer-message-brief", message: this.state.message }),
106
106
  this.state.detailedMessage &&
@@ -1 +1 @@
1
- {"version":3,"file":"Pointer.js","sourceRoot":"","sources":["../../../../src/appui-react/messages/Pointer.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 Notification\r\n */\r\n\r\nimport \"./Pointer.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\nimport { OutputMessagePriority } from \"@itwin/core-frontend\";\r\nimport { MessageSeverity, PointProps, RelativePosition, UiEvent } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, MessageContainer, Point, Rectangle, SizeProps } from \"@itwin/core-react\";\r\nimport { offsetAndContainInContainer, Tooltip } from \"@itwin/appui-layout-react\";\r\nimport { MessageManager } from \"./MessageManager\";\r\nimport { MessageDiv, MessageSpan } from \"./MessageSpan\";\r\nimport { NotifyMessageDetailsType, NotifyMessageType } from \"./ReactNotifyMessageDetails\";\r\n\r\n// cSpell:ignore noicon\r\n\r\n/** Properties of [[PointerMessage]] component.\r\n * @public\r\n */\r\nexport interface PointerMessageProps extends CommonProps {\r\n /** Text to display */\r\n message?: string;\r\n}\r\n\r\n/** [[PointerMessage]] state.\r\n * @internal\r\n */\r\ninterface PointerMessageState {\r\n isVisible: boolean;\r\n message: NotifyMessageType;\r\n detailedMessage?: NotifyMessageType;\r\n position: PointProps;\r\n messageDetails?: NotifyMessageDetailsType;\r\n}\r\n\r\n/** [[PointerMessageChangedEvent]] arguments.\r\n * @public\r\n */\r\nexport interface PointerMessageChangedEventArgs {\r\n isVisible: boolean;\r\n priority: OutputMessagePriority;\r\n message: NotifyMessageType;\r\n detailedMessage?: NotifyMessageType;\r\n relativePosition?: RelativePosition;\r\n viewport?: HTMLElement;\r\n pt?: XAndY;\r\n messageDetails?: NotifyMessageDetailsType;\r\n}\r\n\r\n/** Pointer Message Changed Event emitted by the [[PointerMessage]] component\r\n * @public\r\n */\r\nexport class PointerMessageChangedEvent extends UiEvent<PointerMessageChangedEventArgs> { }\r\n\r\n/** [[PointerMessagePositionChangedEvent]] arguments.\r\n * @internal\r\n */\r\ninterface PointerMessagePositionChangedEventArgs {\r\n pt: XAndY;\r\n relativePosition: RelativePosition;\r\n}\r\n\r\n/** Pointer Message Position Changed Event emitted by the [[PointerMessage]] component\r\n * @internal\r\n */\r\nclass PointerMessagePositionChangedEvent extends UiEvent<PointerMessagePositionChangedEventArgs> { }\r\n\r\n/** Pointer message pops up near pointer when attempting an invalid interaction.\r\n * @public\r\n */\r\nexport class PointerMessage extends React.Component<PointerMessageProps, PointerMessageState> {\r\n private static _pointerMessageChangedEvent: PointerMessageChangedEvent = new PointerMessageChangedEvent();\r\n private static readonly _onPointerMessagePositionChangedEvent = new PointerMessagePositionChangedEvent();\r\n\r\n public static get onPointerMessageChangedEvent(): PointerMessageChangedEvent { return PointerMessage._pointerMessageChangedEvent; }\r\n\r\n public static showMessage(message: NotifyMessageDetailsType): void {\r\n PointerMessage.onPointerMessageChangedEvent.emit({\r\n isVisible: true,\r\n priority: message.priority,\r\n message: message.briefMessage,\r\n detailedMessage: message.detailedMessage,\r\n relativePosition: message.relativePosition,\r\n viewport: message.viewport,\r\n pt: message.displayPoint,\r\n messageDetails: message,\r\n });\r\n }\r\n\r\n public static updateMessage(displayPoint: XAndY, relativePosition: RelativePosition): void {\r\n PointerMessage._onPointerMessagePositionChangedEvent.emit({\r\n pt: displayPoint,\r\n relativePosition,\r\n });\r\n }\r\n\r\n public static hideMessage(): void {\r\n PointerMessage.onPointerMessageChangedEvent.emit({\r\n isVisible: false,\r\n priority: OutputMessagePriority.None,\r\n message: \"\",\r\n });\r\n }\r\n\r\n public override readonly state: Readonly<PointerMessageState> = {\r\n message: \"\",\r\n isVisible: false,\r\n position: {\r\n x: 0,\r\n y: 0,\r\n },\r\n };\r\n\r\n private _relativePosition?: RelativePosition;\r\n private _viewport?: HTMLElement;\r\n private _position?: XAndY;\r\n private _size: SizeProps = {\r\n height: 0,\r\n width: 0,\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n if (!this.state.isVisible)\r\n return null;\r\n\r\n const className = classnames(\r\n \"uifw-pointer-message\",\r\n this.props.className);\r\n const severity = MessageManager.getSeverity(this.state.messageDetails!);\r\n\r\n return (\r\n <Tooltip\r\n className={className}\r\n onSizeChanged={this._handleSizeChanged}\r\n position={this.state.position}\r\n style={this.props.style}\r\n >\r\n <div className=\"uifw-pointer-message-content\">\r\n {(severity !== MessageSeverity.None) &&\r\n <span className=\"uifw-pointer-message-icon\"><i className={`icon ${MessageContainer.getIconClassName(severity, false)}`} /></span>\r\n }\r\n <span className=\"uifw-pointer-message-text\">\r\n <MessageSpan className=\"uifw-pointer-message-brief\" message={this.state.message} />\r\n {this.state.detailedMessage &&\r\n <MessageDiv className=\"uifw-pointer-message-detailed\" message={this.state.detailedMessage} />\r\n }\r\n </span>\r\n </div>\r\n </Tooltip>\r\n );\r\n }\r\n\r\n public override componentDidMount(): void {\r\n PointerMessage.onPointerMessageChangedEvent.addListener(this._handlePointerMessageChangedEvent);\r\n PointerMessage._onPointerMessagePositionChangedEvent.addListener(this._handlePointerMessagePositionChangedEvent);\r\n }\r\n\r\n public override componentWillUnmount(): void {\r\n PointerMessage.onPointerMessageChangedEvent.removeListener(this._handlePointerMessageChangedEvent);\r\n PointerMessage._onPointerMessagePositionChangedEvent.removeListener(this._handlePointerMessagePositionChangedEvent);\r\n }\r\n\r\n // istanbul ignore next\r\n private _handleSizeChanged = (size: SizeProps) => {\r\n this._size = size;\r\n this.updatePosition();\r\n };\r\n\r\n private _handlePointerMessageChangedEvent = (args: PointerMessageChangedEventArgs) => {\r\n this._relativePosition = args.relativePosition;\r\n this._viewport = args.viewport;\r\n this._position = args.pt;\r\n this.setState(() => ({\r\n isVisible: args.isVisible,\r\n message: args.message,\r\n detailedMessage: args.detailedMessage,\r\n messageDetails: args.messageDetails,\r\n }));\r\n this.updatePosition();\r\n };\r\n\r\n private _handlePointerMessagePositionChangedEvent = (args: PointerMessagePositionChangedEventArgs) => {\r\n this._relativePosition = args.relativePosition;\r\n this._position = args.pt;\r\n this.updatePosition();\r\n };\r\n\r\n private updatePosition() {\r\n const adjustmentOffset = 20;\r\n let offset: PointProps | undefined;\r\n switch (this._relativePosition) {\r\n case RelativePosition.Top:\r\n offset = { x: 0, y: -adjustmentOffset };\r\n break;\r\n case RelativePosition.TopRight:\r\n offset = { x: adjustmentOffset, y: -adjustmentOffset };\r\n break;\r\n case RelativePosition.Right:\r\n offset = { x: adjustmentOffset, y: 0 };\r\n break;\r\n case RelativePosition.BottomRight:\r\n offset = { x: adjustmentOffset, y: adjustmentOffset };\r\n break;\r\n case RelativePosition.Bottom:\r\n offset = { x: 0, y: adjustmentOffset };\r\n break;\r\n case RelativePosition.BottomLeft:\r\n offset = { x: -adjustmentOffset, y: adjustmentOffset };\r\n break;\r\n case RelativePosition.Left:\r\n offset = { x: -adjustmentOffset, y: 0 };\r\n break;\r\n case RelativePosition.TopLeft:\r\n offset = { x: -adjustmentOffset, y: -adjustmentOffset };\r\n break;\r\n }\r\n\r\n this.setState((prevState) => {\r\n if (!this._viewport)\r\n return null;\r\n // istanbul ignore if\r\n if (!this._position)\r\n return null;\r\n\r\n const containerBounds = Rectangle.create(this._viewport.getBoundingClientRect());\r\n const relativeBounds = Rectangle.createFromSize(this._size).offset(this._position);\r\n const viewportOffset = new Point().getOffsetTo(containerBounds.topLeft());\r\n\r\n const adjustedPosition = offsetAndContainInContainer(relativeBounds, containerBounds.getSize(), offset);\r\n const position = adjustedPosition.offset(viewportOffset);\r\n\r\n // istanbul ignore else\r\n if (position.equals(prevState.position))\r\n return null;\r\n\r\n // istanbul ignore next\r\n return {\r\n position,\r\n };\r\n });\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Pointer.js","sourceRoot":"","sources":["../../../../src/appui-react/messages/Pointer.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,gBAAgB,CAAC;AACxB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAc,gBAAgB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAe,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAa,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAsCxD;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,OAAuC;CAAI;AAU3F;;GAEG;AACH,MAAM,kCAAmC,SAAQ,OAA+C;CAAI;AAEpG;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK,CAAC,SAAmD;IAA7F;;QAkC2B,UAAK,GAAkC;YAC9D,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACL;SACF,CAAC;QAKM,UAAK,GAAc;YACzB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;SACT,CAAC;QA2CF,uBAAuB;QACf,uBAAkB,GAAG,CAAC,IAAe,EAAE,EAAE;YAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC;QAEM,sCAAiC,GAAG,CAAC,IAAoC,EAAE,EAAE;YACnF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC;QAEM,8CAAyC,GAAG,CAAC,IAA4C,EAAE,EAAE;YACnG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC;IAwDJ,CAAC;IAvKQ,MAAM,KAAK,4BAA4B,KAAiC,OAAO,cAAc,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAE5H,MAAM,CAAC,WAAW,CAAC,OAAiC;QACzD,cAAc,CAAC,4BAA4B,CAAC,IAAI,CAAC;YAC/C,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,EAAE,EAAE,OAAO,CAAC,YAAY;YACxB,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,YAAmB,EAAE,gBAAkC;QACjF,cAAc,CAAC,qCAAqC,CAAC,IAAI,CAAC;YACxD,EAAE,EAAE,YAAY;YAChB,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,cAAc,CAAC,4BAA4B,CAAC,IAAI,CAAC;YAC/C,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,qBAAqB,CAAC,IAAI;YACpC,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;IACL,CAAC;IAmBe,MAAM;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS;YACvB,OAAO,IAAI,CAAC;QAEd,MAAM,SAAS,GAAG,UAAU,CAC1B,sBAAsB,EACtB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACxB,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,cAAe,CAAC,CAAC;QAExE,OAAO,CACL,oBAAC,OAAO,IACN,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,IAAI,CAAC,kBAAkB,EACtC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAEvB,6BAAK,SAAS,EAAC,8BAA8B;gBAC1C,CAAC,QAAQ,KAAK,eAAe,CAAC,IAAI,CAAC;oBAClC,8BAAM,SAAS,EAAC,2BAA2B;wBAAC,oBAAC,IAAI,IAAC,SAAS,EAAC,MAAM,EAAC,QAAQ,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,GAAI,CAAO;gBAExI,8BAAM,SAAS,EAAC,2BAA2B;oBACzC,oBAAC,WAAW,IAAC,SAAS,EAAC,4BAA4B,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAI;oBAClF,IAAI,CAAC,KAAK,CAAC,eAAe;wBACzB,oBAAC,UAAU,IAAC,SAAS,EAAC,+BAA+B,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,GAAI,CAE1F,CACH,CACE,CACX,CAAC;IACJ,CAAC;IAEe,iBAAiB;QAC/B,cAAc,CAAC,4BAA4B,CAAC,WAAW,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAChG,cAAc,CAAC,qCAAqC,CAAC,WAAW,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACnH,CAAC;IAEe,oBAAoB;QAClC,cAAc,CAAC,4BAA4B,CAAC,cAAc,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACnG,cAAc,CAAC,qCAAqC,CAAC,cAAc,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACtH,CAAC;IA2BO,cAAc;QACpB,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,IAAI,MAA8B,CAAC;QACnC,QAAQ,IAAI,CAAC,iBAAiB,EAAE;YAC9B,KAAK,gBAAgB,CAAC,GAAG;gBACvB,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;gBACxC,MAAM;YACR,KAAK,gBAAgB,CAAC,QAAQ;gBAC5B,MAAM,GAAG,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;gBACvD,MAAM;YACR,KAAK,gBAAgB,CAAC,KAAK;gBACzB,MAAM,GAAG,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvC,MAAM;YACR,KAAK,gBAAgB,CAAC,WAAW;gBAC/B,MAAM,GAAG,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC;gBACtD,MAAM;YACR,KAAK,gBAAgB,CAAC,MAAM;gBAC1B,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC;gBACvC,MAAM;YACR,KAAK,gBAAgB,CAAC,UAAU;gBAC9B,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC;gBACvD,MAAM;YACR,KAAK,gBAAgB,CAAC,IAAI;gBACxB,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxC,MAAM;YACR,KAAK,gBAAgB,CAAC,OAAO;gBAC3B,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;gBACxD,MAAM;SACT;QAED,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,SAAS;gBACjB,OAAO,IAAI,CAAC;YACd,qBAAqB;YACrB,IAAI,CAAC,IAAI,CAAC,SAAS;gBACjB,OAAO,IAAI,CAAC;YAEd,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACjF,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnF,MAAM,cAAc,GAAG,IAAI,KAAK,EAAE,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAE1E,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,cAAc,EAAE,eAAe,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;YACxG,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAEzD,uBAAuB;YACvB,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACrC,OAAO,IAAI,CAAC;YAEd,uBAAuB;YACvB,OAAO;gBACL,QAAQ;aACT,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;;AAzKc,0CAA2B,GAA+B,IAAI,0BAA0B,EAAE,CAAC;AAClF,oDAAqC,GAAG,IAAI,kCAAkC,EAAE,CAAC","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 Notification\r\n */\r\n\r\nimport \"./Pointer.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\nimport { OutputMessagePriority } from \"@itwin/core-frontend\";\r\nimport { MessageSeverity, PointProps, RelativePosition, UiEvent } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Icon, MessageContainer, Point, Rectangle, SizeProps } from \"@itwin/core-react\";\r\nimport { offsetAndContainInContainer, Tooltip } from \"@itwin/appui-layout-react\";\r\nimport { MessageManager } from \"./MessageManager\";\r\nimport { MessageDiv, MessageSpan } from \"./MessageSpan\";\r\nimport { NotifyMessageDetailsType, NotifyMessageType } from \"./ReactNotifyMessageDetails\";\r\n\r\n// cSpell:ignore noicon\r\n\r\n/** Properties of [[PointerMessage]] component.\r\n * @public\r\n */\r\nexport interface PointerMessageProps extends CommonProps {\r\n /** Text to display */\r\n message?: string;\r\n}\r\n\r\n/** [[PointerMessage]] state.\r\n * @internal\r\n */\r\ninterface PointerMessageState {\r\n isVisible: boolean;\r\n message: NotifyMessageType;\r\n detailedMessage?: NotifyMessageType;\r\n position: PointProps;\r\n messageDetails?: NotifyMessageDetailsType;\r\n}\r\n\r\n/** [[PointerMessageChangedEvent]] arguments.\r\n * @public\r\n */\r\nexport interface PointerMessageChangedEventArgs {\r\n isVisible: boolean;\r\n priority: OutputMessagePriority;\r\n message: NotifyMessageType;\r\n detailedMessage?: NotifyMessageType;\r\n relativePosition?: RelativePosition;\r\n viewport?: HTMLElement;\r\n pt?: XAndY;\r\n messageDetails?: NotifyMessageDetailsType;\r\n}\r\n\r\n/** Pointer Message Changed Event emitted by the [[PointerMessage]] component\r\n * @public\r\n */\r\nexport class PointerMessageChangedEvent extends UiEvent<PointerMessageChangedEventArgs> { }\r\n\r\n/** [[PointerMessagePositionChangedEvent]] arguments.\r\n * @internal\r\n */\r\ninterface PointerMessagePositionChangedEventArgs {\r\n pt: XAndY;\r\n relativePosition: RelativePosition;\r\n}\r\n\r\n/** Pointer Message Position Changed Event emitted by the [[PointerMessage]] component\r\n * @internal\r\n */\r\nclass PointerMessagePositionChangedEvent extends UiEvent<PointerMessagePositionChangedEventArgs> { }\r\n\r\n/** Pointer message pops up near pointer when attempting an invalid interaction.\r\n * @public\r\n */\r\nexport class PointerMessage extends React.Component<PointerMessageProps, PointerMessageState> {\r\n private static _pointerMessageChangedEvent: PointerMessageChangedEvent = new PointerMessageChangedEvent();\r\n private static readonly _onPointerMessagePositionChangedEvent = new PointerMessagePositionChangedEvent();\r\n\r\n public static get onPointerMessageChangedEvent(): PointerMessageChangedEvent { return PointerMessage._pointerMessageChangedEvent; }\r\n\r\n public static showMessage(message: NotifyMessageDetailsType): void {\r\n PointerMessage.onPointerMessageChangedEvent.emit({\r\n isVisible: true,\r\n priority: message.priority,\r\n message: message.briefMessage,\r\n detailedMessage: message.detailedMessage,\r\n relativePosition: message.relativePosition,\r\n viewport: message.viewport,\r\n pt: message.displayPoint,\r\n messageDetails: message,\r\n });\r\n }\r\n\r\n public static updateMessage(displayPoint: XAndY, relativePosition: RelativePosition): void {\r\n PointerMessage._onPointerMessagePositionChangedEvent.emit({\r\n pt: displayPoint,\r\n relativePosition,\r\n });\r\n }\r\n\r\n public static hideMessage(): void {\r\n PointerMessage.onPointerMessageChangedEvent.emit({\r\n isVisible: false,\r\n priority: OutputMessagePriority.None,\r\n message: \"\",\r\n });\r\n }\r\n\r\n public override readonly state: Readonly<PointerMessageState> = {\r\n message: \"\",\r\n isVisible: false,\r\n position: {\r\n x: 0,\r\n y: 0,\r\n },\r\n };\r\n\r\n private _relativePosition?: RelativePosition;\r\n private _viewport?: HTMLElement;\r\n private _position?: XAndY;\r\n private _size: SizeProps = {\r\n height: 0,\r\n width: 0,\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n if (!this.state.isVisible)\r\n return null;\r\n\r\n const className = classnames(\r\n \"uifw-pointer-message\",\r\n this.props.className);\r\n const severity = MessageManager.getSeverity(this.state.messageDetails!);\r\n\r\n return (\r\n <Tooltip\r\n className={className}\r\n onSizeChanged={this._handleSizeChanged}\r\n position={this.state.position}\r\n style={this.props.style}\r\n >\r\n <div className=\"uifw-pointer-message-content\">\r\n {(severity !== MessageSeverity.None) &&\r\n <span className=\"uifw-pointer-message-icon\"><Icon className=\"icon\" iconSpec={`${MessageContainer.getIcon(severity, false)}`} /></span>\r\n }\r\n <span className=\"uifw-pointer-message-text\">\r\n <MessageSpan className=\"uifw-pointer-message-brief\" message={this.state.message} />\r\n {this.state.detailedMessage &&\r\n <MessageDiv className=\"uifw-pointer-message-detailed\" message={this.state.detailedMessage} />\r\n }\r\n </span>\r\n </div>\r\n </Tooltip>\r\n );\r\n }\r\n\r\n public override componentDidMount(): void {\r\n PointerMessage.onPointerMessageChangedEvent.addListener(this._handlePointerMessageChangedEvent);\r\n PointerMessage._onPointerMessagePositionChangedEvent.addListener(this._handlePointerMessagePositionChangedEvent);\r\n }\r\n\r\n public override componentWillUnmount(): void {\r\n PointerMessage.onPointerMessageChangedEvent.removeListener(this._handlePointerMessageChangedEvent);\r\n PointerMessage._onPointerMessagePositionChangedEvent.removeListener(this._handlePointerMessagePositionChangedEvent);\r\n }\r\n\r\n // istanbul ignore next\r\n private _handleSizeChanged = (size: SizeProps) => {\r\n this._size = size;\r\n this.updatePosition();\r\n };\r\n\r\n private _handlePointerMessageChangedEvent = (args: PointerMessageChangedEventArgs) => {\r\n this._relativePosition = args.relativePosition;\r\n this._viewport = args.viewport;\r\n this._position = args.pt;\r\n this.setState(() => ({\r\n isVisible: args.isVisible,\r\n message: args.message,\r\n detailedMessage: args.detailedMessage,\r\n messageDetails: args.messageDetails,\r\n }));\r\n this.updatePosition();\r\n };\r\n\r\n private _handlePointerMessagePositionChangedEvent = (args: PointerMessagePositionChangedEventArgs) => {\r\n this._relativePosition = args.relativePosition;\r\n this._position = args.pt;\r\n this.updatePosition();\r\n };\r\n\r\n private updatePosition() {\r\n const adjustmentOffset = 20;\r\n let offset: PointProps | undefined;\r\n switch (this._relativePosition) {\r\n case RelativePosition.Top:\r\n offset = { x: 0, y: -adjustmentOffset };\r\n break;\r\n case RelativePosition.TopRight:\r\n offset = { x: adjustmentOffset, y: -adjustmentOffset };\r\n break;\r\n case RelativePosition.Right:\r\n offset = { x: adjustmentOffset, y: 0 };\r\n break;\r\n case RelativePosition.BottomRight:\r\n offset = { x: adjustmentOffset, y: adjustmentOffset };\r\n break;\r\n case RelativePosition.Bottom:\r\n offset = { x: 0, y: adjustmentOffset };\r\n break;\r\n case RelativePosition.BottomLeft:\r\n offset = { x: -adjustmentOffset, y: adjustmentOffset };\r\n break;\r\n case RelativePosition.Left:\r\n offset = { x: -adjustmentOffset, y: 0 };\r\n break;\r\n case RelativePosition.TopLeft:\r\n offset = { x: -adjustmentOffset, y: -adjustmentOffset };\r\n break;\r\n }\r\n\r\n this.setState((prevState) => {\r\n if (!this._viewport)\r\n return null;\r\n // istanbul ignore if\r\n if (!this._position)\r\n return null;\r\n\r\n const containerBounds = Rectangle.create(this._viewport.getBoundingClientRect());\r\n const relativeBounds = Rectangle.createFromSize(this._size).offset(this._position);\r\n const viewportOffset = new Point().getOffsetTo(containerBounds.topLeft());\r\n\r\n const adjustedPosition = offsetAndContainInContainer(relativeBounds, containerBounds.getSize(), offset);\r\n const position = adjustedPosition.offset(viewportOffset);\r\n\r\n // istanbul ignore else\r\n if (position.equals(prevState.position))\r\n return null;\r\n\r\n // istanbul ignore next\r\n return {\r\n position,\r\n };\r\n });\r\n }\r\n}\r\n"]}
@@ -14,28 +14,28 @@
14
14
  width: $uifw-popup-border-width;
15
15
  }
16
16
 
17
- background-color: rgba($buic-background-2-rgb, $uifw-popup-opacity);
17
+ background-color: hsl(var(--iui-color-background-hsl) / $uifw-popup-opacity);
18
18
 
19
19
  .uifw-pointer-message-content {
20
20
  display: flex;
21
21
  flex-direction: row;
22
22
  align-items: center;
23
23
 
24
- >.uifw-pointer-message-icon {
24
+ > .uifw-pointer-message-icon {
25
25
  padding-left: 3px;
26
26
  padding-right: 3px;
27
27
  }
28
28
 
29
- >.uifw-pointer-message-text {
30
- color: $buic-foreground-body;
29
+ > .uifw-pointer-message-text {
30
+ color: var(--iui-color-text);
31
31
  padding-left: 3px;
32
32
  padding-right: 3px;
33
33
 
34
- >.uifw-pointer-message-brief {
34
+ > .uifw-pointer-message-brief {
35
35
  @include uicore-text(body);
36
36
  }
37
37
 
38
- >.uifw-pointer-message-detailed {
38
+ > .uifw-pointer-message-detailed {
39
39
  @include uicore-text(small);
40
40
  }
41
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SheetNavigationAid.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetNavigationAid.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAa,gBAAgB,EAA+C,MAAM,sBAAsB,CAAC;AAGhH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAIjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,oBAAoB;IACjE,OAAc,eAAe,SAAwB;gBAEzC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG;IAMtC,OAAO,IAAI,MAAM,GAAG,SAAS;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,gBAAgB;AAChB,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK,CAAC,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACjG,OAAO,CAAC,UAAU,CAAS;IAE3B,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAG5D;IAEF,OAAO,CAAC,SAAS,CAA6B;gBAElC,KAAK,EAAE,oBAAoB;IAMvC,4CAA4C;IACtB,iBAAiB;IAcvC,oDAAoD;IACpC,oBAAoB;IASpC,mDAAmD;YACrC,YAAY;IA8B1B,gBAAgB;IACA,MAAM,IAAI,KAAK,CAAC,SAAS;IA2CzC,wCAAwC;IACxC,OAAO,CAAC,mBAAmB,CAIzB;IAEF,yDAAyD;IAEzD,OAAO,CAAC,uBAAuB,CAI7B;IAEF,sDAAsD;IAEtD,OAAO,CAAC,wBAAwB,CAI9B;IAEF,mDAAmD;IAEnD,OAAO,CAAC,8BAA8B,CAIpC;IAGF,OAAO,CAAC,oBAAoB,CAG1B;IAEF,mDAAmD;IAEnD,OAAO,CAAC,sBAAsB,CAe5B;IAEF,0CAA0C;YAE5B,WAAW;IAMzB,0CAA0C;IAE1C,OAAO,CAAC,eAAe;IAIvB,2DAA2D;IAE3D,OAAO,CAAC,uBAAuB,CAE7B;CACH"}
1
+ {"version":3,"file":"SheetNavigationAid.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetNavigationAid.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAa,gBAAgB,EAA+C,MAAM,sBAAsB,CAAC;AAGhH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAIjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAK9D;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,oBAAoB;IACjE,OAAc,eAAe,SAAwB;gBAEzC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG;IAMtC,OAAO,IAAI,MAAM,GAAG,SAAS;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,gBAAgB;AAChB,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK,CAAC,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACjG,OAAO,CAAC,UAAU,CAAS;IAE3B,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAG5D;IAEF,OAAO,CAAC,SAAS,CAA6B;gBAElC,KAAK,EAAE,oBAAoB;IAMvC,4CAA4C;IACtB,iBAAiB;IAcvC,oDAAoD;IACpC,oBAAoB;IASpC,mDAAmD;YACrC,YAAY;IA8B1B,gBAAgB;IACA,MAAM,IAAI,KAAK,CAAC,SAAS;IA2CzC,wCAAwC;IACxC,OAAO,CAAC,mBAAmB,CAIzB;IAEF,yDAAyD;IAEzD,OAAO,CAAC,uBAAuB,CAI7B;IAEF,sDAAsD;IAEtD,OAAO,CAAC,wBAAwB,CAI9B;IAEF,mDAAmD;IAEnD,OAAO,CAAC,8BAA8B,CAIpC;IAGF,OAAO,CAAC,oBAAoB,CAG1B;IAEF,mDAAmD;IAEnD,OAAO,CAAC,sBAAsB,CAe5B;IAEF,0CAA0C;YAE5B,WAAW;IAMzB,0CAA0C;IAE1C,OAAO,CAAC,eAAe;IAIvB,2DAA2D;IAE3D,OAAO,CAAC,uBAAuB,CAE7B;CACH"}
@@ -15,7 +15,8 @@ import { UiFramework } from "../UiFramework";
15
15
  import { ViewUtilities } from "../utils/ViewUtilities";
16
16
  import { NavigationAidControl } from "./NavigationAidControl";
17
17
  import { CardContainer, SheetsModalFrontstage } from "./SheetsModalFrontstage";
18
- import { ProgressRadial } from "@itwin/itwinui-react";
18
+ import { IconButton, ProgressRadial } from "@itwin/itwinui-react";
19
+ import { SvgChevronLeft, SvgChevronRight } from "@itwin/itwinui-icons-react";
19
20
  /** A Sheet Navigation Aid control.
20
21
  * @alpha
21
22
  */
@@ -148,14 +149,16 @@ export class SheetNavigationAid extends React.Component {
148
149
  React.createElement("div", { className: "sheet-title" }, sheet),
149
150
  React.createElement("div", { className: "sheet-name", title: name, onClick: this._handleOnClickSheetName, role: "button", tabIndex: -1 }, name),
150
151
  React.createElement("div", { className: "sheet-container" },
151
- React.createElement("div", { className: "sheet-caret icon icon-caret-left", onClick: this._handleOnClickLeftArrow, role: "button", tabIndex: -1, title: leftTitle }),
152
+ React.createElement(IconButton, { size: "small", styleType: "borderless", onClick: this._handleOnClickLeftArrow, tabIndex: -1, title: leftTitle },
153
+ React.createElement(SvgChevronLeft, null)),
152
154
  React.createElement("div", null,
153
155
  this.state.index + 1,
154
156
  " ",
155
157
  ofStr,
156
158
  " ",
157
159
  this.state.sheetData.length),
158
- React.createElement("div", { className: "sheet-caret icon icon-caret-right", onClick: this._handleOnClickRightArrow, role: "button", tabIndex: -1, title: rightTitle }))));
160
+ React.createElement(IconButton, { size: "small", styleType: "borderless", onClick: this._handleOnClickRightArrow, role: "button", tabIndex: -1, title: rightTitle },
161
+ React.createElement(SvgChevronRight, null)))));
159
162
  }
160
163
  else {
161
164
  content = React.createElement(ProgressRadial, { size: "x-small", indeterminate: true });
@@ -1 +1 @@
1
- {"version":3,"file":"SheetNavigationAid.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetNavigationAid.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 NavigationAids\r\n */\r\n\r\nimport \"./SheetNavigationAid.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { IModelApp, IModelConnection, ScreenViewport, SelectedViewportChangedArgs } from \"@itwin/core-frontend\";\r\nimport { UiComponents } from \"@itwin/components-react\";\r\nimport { ViewIdChangedEventArgs, ViewportComponentEvents } from \"@itwin/imodel-components-react\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\r\nimport { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\r\nimport { NavigationAidControl } from \"./NavigationAidControl\";\r\nimport { CardContainer, CardSelectedEventArgs, SheetsModalFrontstage } from \"./SheetsModalFrontstage\";\r\nimport { ProgressRadial } from \"@itwin/itwinui-react\";\r\n\r\n/** A Sheet Navigation Aid control.\r\n * @alpha\r\n */\r\nexport class SheetNavigationAidControl extends NavigationAidControl {\r\n public static navigationAidId = \"SheetNavigationAid\";\r\n\r\n constructor(info: ConfigurableCreateInfo, options: any) {\r\n super(info, options);\r\n this.reactNode = <SheetNavigationAid iModelConnection={options.imodel} />;\r\n }\r\n\r\n // istanbul ignore next\r\n public override getSize(): string | undefined { return \"96px\"; }\r\n}\r\n\r\n/** Data displayed about sheet\r\n * @alpha\r\n */\r\nexport interface SheetData {\r\n name: string;\r\n viewId: string;\r\n}\r\n\r\n/** Properties for the [[SheetNavigationAid]] component\r\n * @alpha\r\n */\r\nexport interface SheetNavigationProps extends CommonProps {\r\n iModelConnection: IModelConnection;\r\n}\r\n\r\n/** @internal */\r\ninterface SheetNavigationState {\r\n index: number;\r\n sheetData: SheetData[];\r\n}\r\n\r\n/** A Sheet Navigation Aid.\r\n * @alpha\r\n */\r\nexport class SheetNavigationAid extends React.Component<SheetNavigationProps, SheetNavigationState> {\r\n private _isMounted = false;\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<SheetNavigationState> = {\r\n index: 0,\r\n sheetData: [],\r\n };\r\n\r\n private _viewport: ScreenViewport | undefined;\r\n\r\n constructor(props: SheetNavigationProps) {\r\n super(props);\r\n\r\n this._viewport = IModelApp.viewManager.selectedView;\r\n }\r\n\r\n /** Adds listeners when components mounts */\r\n public override async componentDidMount() {\r\n this._isMounted = true;\r\n\r\n CardContainer.onCardSelectedEvent.addListener(this._handleCardSelected);\r\n ViewportComponentEvents.onViewIdChangedEvent.addListener(this._handleViewIdChanged);\r\n\r\n IModelApp.viewManager.onSelectedViewportChanged.addListener(this._handleSelectedViewportChanged);\r\n\r\n const stateData = await this._setupSheets();\r\n\r\n if (this._isMounted)\r\n this.setState(stateData);\r\n }\r\n\r\n /** Removes listeners when component will unmount */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n\r\n CardContainer.onCardSelectedEvent.removeListener(this._handleCardSelected);\r\n ViewportComponentEvents.onViewIdChangedEvent.removeListener(this._handleViewIdChanged);\r\n\r\n IModelApp.viewManager.onSelectedViewportChanged.removeListener(this._handleSelectedViewportChanged);\r\n }\r\n\r\n /** Queries for sheet info and sets as sheetData */\r\n private async _setupSheets(): Promise<SheetNavigationState> {\r\n const stateData: SheetNavigationState = {\r\n index: 0,\r\n sheetData: [],\r\n };\r\n\r\n // istanbul ignore else\r\n if (!this.props.iModelConnection || !this.props.iModelConnection.views.getViewList)\r\n return stateData;\r\n\r\n // istanbul ignore next\r\n let viewId = \"\";\r\n // istanbul ignore next\r\n if (this._viewport) {\r\n viewId = this._viewport.view.id.toString();\r\n }\r\n\r\n // istanbul ignore next\r\n const sheets = await this.props.iModelConnection.views.getViewList({ from: \"BisCore.SheetViewDefinition\" });\r\n // istanbul ignore next\r\n sheets.forEach((viewSpec: IModelConnection.ViewSpec, index: number) => {\r\n stateData.sheetData.push({ name: viewSpec.name, viewId: viewSpec.id });\r\n if (viewSpec.id === viewId)\r\n stateData.index = index;\r\n });\r\n\r\n // istanbul ignore next\r\n return stateData;\r\n }\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const name = (this.state.sheetData.length > 0) ? /* istanbul ignore next */ this.state.sheetData[this.state.index].name : \"\";\r\n const sheet = UiFramework.translate(\"general.sheet\");\r\n const ofStr = UiComponents.translate(\"general.of\");\r\n const leftIndex = this.state.index === 0 ? this.state.sheetData.length - 1 : /* istanbul ignore next */ this.state.index - 1;\r\n const rightIndex = this.state.index >= this.state.sheetData.length - 1 ? 0 : /* istanbul ignore next */this.state.index + 1;\r\n const leftTitle = this.state.sheetData[leftIndex] ? /* istanbul ignore next */ this.state.sheetData[leftIndex].name : undefined;\r\n const rightTitle = this.state.sheetData[rightIndex] ? /* istanbul ignore next */ this.state.sheetData[rightIndex].name : undefined;\r\n\r\n let content: React.ReactNode;\r\n // istanbul ignore if\r\n if (this.state.sheetData.length > 0) {\r\n content = (\r\n <>\r\n <div className=\"sheet-title\">{sheet}</div>\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div className=\"sheet-name\" title={name} onClick={this._handleOnClickSheetName}\r\n role=\"button\" tabIndex={-1}>\r\n {name}\r\n </div>\r\n <div className=\"sheet-container\">\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div className=\"sheet-caret icon icon-caret-left\" onClick={this._handleOnClickLeftArrow}\r\n role=\"button\" tabIndex={-1} title={leftTitle} />\r\n <div>{this.state.index + 1} {ofStr} {this.state.sheetData.length}</div>\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div className=\"sheet-caret icon icon-caret-right\" onClick={this._handleOnClickRightArrow}\r\n role=\"button\" tabIndex={-1} title={rightTitle} />\r\n </div>\r\n </>\r\n );\r\n } else {\r\n content = <ProgressRadial size=\"x-small\" indeterminate />;\r\n }\r\n\r\n return (\r\n <div className={classnames(\"uifw-sheet-navigation\", this.props.className)} style={this.props.style}>\r\n <div className=\"gradient\"></div>\r\n {content}\r\n </div>\r\n );\r\n }\r\n\r\n /** Sets index of newly selected card */\r\n private _handleCardSelected = (event: CardSelectedEventArgs) => {\r\n event && this.setState({\r\n index: event.index,\r\n });\r\n };\r\n\r\n /** Updates view to the next lowest index in sheetData */\r\n // istanbul ignore next\r\n private _handleOnClickLeftArrow = () => {\r\n this.setState(\r\n (prevState) => ({ index: prevState.index <= 0 ? prevState.sheetData.length - 1 : prevState.index - 1 }),\r\n async () => this._updateView());\r\n };\r\n\r\n /** Updates view to next highest index in sheetData */\r\n // istanbul ignore next\r\n private _handleOnClickRightArrow = () => {\r\n this.setState(\r\n (prevState) => ({ index: (prevState.index + 1) % prevState.sheetData.length }),\r\n async () => this._updateView());\r\n };\r\n\r\n /** Handles a Viewport change & synchs the index */\r\n // istanbul ignore next\r\n private _handleSelectedViewportChanged = (args: SelectedViewportChangedArgs) => {\r\n if (args.current) {\r\n this._handleViewportChanged(args.current);\r\n }\r\n };\r\n\r\n // istanbul ignore next\r\n private _handleViewIdChanged = (args: ViewIdChangedEventArgs) => {\r\n if (this._viewport === args.viewport)\r\n this._handleViewportChanged(args.viewport as ScreenViewport);\r\n };\r\n\r\n /** Handles a Viewport change & synchs the index */\r\n // istanbul ignore next\r\n private _handleViewportChanged = (viewport: ScreenViewport) => {\r\n const className = ViewUtilities.getBisBaseClass(viewport.view.classFullName);\r\n\r\n if (ViewUtilities.isSheet(className)) {\r\n this._viewport = viewport;\r\n\r\n const viewId = this._viewport.view.id.toString();\r\n\r\n const index = this.state.sheetData.findIndex((sheetData: SheetData) => {\r\n return (viewId === sheetData.viewId);\r\n });\r\n\r\n if (index >= 0)\r\n this.setState({ index });\r\n }\r\n };\r\n\r\n /** Updates view to currently set sheet */\r\n // istanbul ignore next\r\n private async _updateView() {\r\n const viewState = await this.props.iModelConnection.views.load(this.state.sheetData[this.state.index].viewId);\r\n if (this._viewport)\r\n this._viewport.changeView(viewState);\r\n }\r\n\r\n /** Creates a new SheetsModalFrontstage */\r\n // istanbul ignore next\r\n private modalFrontstage(): ModalFrontstageInfo {\r\n return new SheetsModalFrontstage(this.state.sheetData, this.props.iModelConnection, this.state.index);\r\n }\r\n\r\n /** Opens a new SheetsModelFrontstage on sheetName click */\r\n // istanbul ignore next\r\n private _handleOnClickSheetName = () => {\r\n UiFramework.frontstages.openModalFrontstage(this.modalFrontstage());\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"SheetNavigationAid.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetNavigationAid.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 NavigationAids\r\n */\r\n\r\nimport \"./SheetNavigationAid.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { IModelApp, IModelConnection, ScreenViewport, SelectedViewportChangedArgs } from \"@itwin/core-frontend\";\r\nimport { UiComponents } from \"@itwin/components-react\";\r\nimport { ViewIdChangedEventArgs, ViewportComponentEvents } from \"@itwin/imodel-components-react\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\r\nimport { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\r\nimport { NavigationAidControl } from \"./NavigationAidControl\";\r\nimport { CardContainer, CardSelectedEventArgs, SheetsModalFrontstage } from \"./SheetsModalFrontstage\";\r\nimport { IconButton, ProgressRadial } from \"@itwin/itwinui-react\";\r\nimport { SvgChevronLeft, SvgChevronRight } from \"@itwin/itwinui-icons-react\";\r\n\r\n/** A Sheet Navigation Aid control.\r\n * @alpha\r\n */\r\nexport class SheetNavigationAidControl extends NavigationAidControl {\r\n public static navigationAidId = \"SheetNavigationAid\";\r\n\r\n constructor(info: ConfigurableCreateInfo, options: any) {\r\n super(info, options);\r\n this.reactNode = <SheetNavigationAid iModelConnection={options.imodel} />;\r\n }\r\n\r\n // istanbul ignore next\r\n public override getSize(): string | undefined { return \"96px\"; }\r\n}\r\n\r\n/** Data displayed about sheet\r\n * @alpha\r\n */\r\nexport interface SheetData {\r\n name: string;\r\n viewId: string;\r\n}\r\n\r\n/** Properties for the [[SheetNavigationAid]] component\r\n * @alpha\r\n */\r\nexport interface SheetNavigationProps extends CommonProps {\r\n iModelConnection: IModelConnection;\r\n}\r\n\r\n/** @internal */\r\ninterface SheetNavigationState {\r\n index: number;\r\n sheetData: SheetData[];\r\n}\r\n\r\n/** A Sheet Navigation Aid.\r\n * @alpha\r\n */\r\nexport class SheetNavigationAid extends React.Component<SheetNavigationProps, SheetNavigationState> {\r\n private _isMounted = false;\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<SheetNavigationState> = {\r\n index: 0,\r\n sheetData: [],\r\n };\r\n\r\n private _viewport: ScreenViewport | undefined;\r\n\r\n constructor(props: SheetNavigationProps) {\r\n super(props);\r\n\r\n this._viewport = IModelApp.viewManager.selectedView;\r\n }\r\n\r\n /** Adds listeners when components mounts */\r\n public override async componentDidMount() {\r\n this._isMounted = true;\r\n\r\n CardContainer.onCardSelectedEvent.addListener(this._handleCardSelected);\r\n ViewportComponentEvents.onViewIdChangedEvent.addListener(this._handleViewIdChanged);\r\n\r\n IModelApp.viewManager.onSelectedViewportChanged.addListener(this._handleSelectedViewportChanged);\r\n\r\n const stateData = await this._setupSheets();\r\n\r\n if (this._isMounted)\r\n this.setState(stateData);\r\n }\r\n\r\n /** Removes listeners when component will unmount */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n\r\n CardContainer.onCardSelectedEvent.removeListener(this._handleCardSelected);\r\n ViewportComponentEvents.onViewIdChangedEvent.removeListener(this._handleViewIdChanged);\r\n\r\n IModelApp.viewManager.onSelectedViewportChanged.removeListener(this._handleSelectedViewportChanged);\r\n }\r\n\r\n /** Queries for sheet info and sets as sheetData */\r\n private async _setupSheets(): Promise<SheetNavigationState> {\r\n const stateData: SheetNavigationState = {\r\n index: 0,\r\n sheetData: [],\r\n };\r\n\r\n // istanbul ignore else\r\n if (!this.props.iModelConnection || !this.props.iModelConnection.views.getViewList)\r\n return stateData;\r\n\r\n // istanbul ignore next\r\n let viewId = \"\";\r\n // istanbul ignore next\r\n if (this._viewport) {\r\n viewId = this._viewport.view.id.toString();\r\n }\r\n\r\n // istanbul ignore next\r\n const sheets = await this.props.iModelConnection.views.getViewList({ from: \"BisCore.SheetViewDefinition\" });\r\n // istanbul ignore next\r\n sheets.forEach((viewSpec: IModelConnection.ViewSpec, index: number) => {\r\n stateData.sheetData.push({ name: viewSpec.name, viewId: viewSpec.id });\r\n if (viewSpec.id === viewId)\r\n stateData.index = index;\r\n });\r\n\r\n // istanbul ignore next\r\n return stateData;\r\n }\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const name = (this.state.sheetData.length > 0) ? /* istanbul ignore next */ this.state.sheetData[this.state.index].name : \"\";\r\n const sheet = UiFramework.translate(\"general.sheet\");\r\n const ofStr = UiComponents.translate(\"general.of\");\r\n const leftIndex = this.state.index === 0 ? this.state.sheetData.length - 1 : /* istanbul ignore next */ this.state.index - 1;\r\n const rightIndex = this.state.index >= this.state.sheetData.length - 1 ? 0 : /* istanbul ignore next */this.state.index + 1;\r\n const leftTitle = this.state.sheetData[leftIndex] ? /* istanbul ignore next */ this.state.sheetData[leftIndex].name : undefined;\r\n const rightTitle = this.state.sheetData[rightIndex] ? /* istanbul ignore next */ this.state.sheetData[rightIndex].name : undefined;\r\n\r\n let content: React.ReactNode;\r\n // istanbul ignore if\r\n if (this.state.sheetData.length > 0) {\r\n content = (\r\n <>\r\n <div className=\"sheet-title\">{sheet}</div>\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div className=\"sheet-name\" title={name} onClick={this._handleOnClickSheetName}\r\n role=\"button\" tabIndex={-1}>\r\n {name}\r\n </div>\r\n <div className=\"sheet-container\">\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <IconButton size=\"small\" styleType=\"borderless\" onClick={this._handleOnClickLeftArrow}\r\n tabIndex={-1} title={leftTitle}><SvgChevronLeft /></IconButton>\r\n <div>{this.state.index + 1} {ofStr} {this.state.sheetData.length}</div>\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <IconButton size=\"small\" styleType=\"borderless\" onClick={this._handleOnClickRightArrow}\r\n role=\"button\" tabIndex={-1} title={rightTitle}><SvgChevronRight /></IconButton>\r\n </div>\r\n </>\r\n );\r\n } else {\r\n content = <ProgressRadial size=\"x-small\" indeterminate />;\r\n }\r\n\r\n return (\r\n <div className={classnames(\"uifw-sheet-navigation\", this.props.className)} style={this.props.style}>\r\n <div className=\"gradient\"></div>\r\n {content}\r\n </div>\r\n );\r\n }\r\n\r\n /** Sets index of newly selected card */\r\n private _handleCardSelected = (event: CardSelectedEventArgs) => {\r\n event && this.setState({\r\n index: event.index,\r\n });\r\n };\r\n\r\n /** Updates view to the next lowest index in sheetData */\r\n // istanbul ignore next\r\n private _handleOnClickLeftArrow = () => {\r\n this.setState(\r\n (prevState) => ({ index: prevState.index <= 0 ? prevState.sheetData.length - 1 : prevState.index - 1 }),\r\n async () => this._updateView());\r\n };\r\n\r\n /** Updates view to next highest index in sheetData */\r\n // istanbul ignore next\r\n private _handleOnClickRightArrow = () => {\r\n this.setState(\r\n (prevState) => ({ index: (prevState.index + 1) % prevState.sheetData.length }),\r\n async () => this._updateView());\r\n };\r\n\r\n /** Handles a Viewport change & synchs the index */\r\n // istanbul ignore next\r\n private _handleSelectedViewportChanged = (args: SelectedViewportChangedArgs) => {\r\n if (args.current) {\r\n this._handleViewportChanged(args.current);\r\n }\r\n };\r\n\r\n // istanbul ignore next\r\n private _handleViewIdChanged = (args: ViewIdChangedEventArgs) => {\r\n if (this._viewport === args.viewport)\r\n this._handleViewportChanged(args.viewport as ScreenViewport);\r\n };\r\n\r\n /** Handles a Viewport change & synchs the index */\r\n // istanbul ignore next\r\n private _handleViewportChanged = (viewport: ScreenViewport) => {\r\n const className = ViewUtilities.getBisBaseClass(viewport.view.classFullName);\r\n\r\n if (ViewUtilities.isSheet(className)) {\r\n this._viewport = viewport;\r\n\r\n const viewId = this._viewport.view.id.toString();\r\n\r\n const index = this.state.sheetData.findIndex((sheetData: SheetData) => {\r\n return (viewId === sheetData.viewId);\r\n });\r\n\r\n if (index >= 0)\r\n this.setState({ index });\r\n }\r\n };\r\n\r\n /** Updates view to currently set sheet */\r\n // istanbul ignore next\r\n private async _updateView() {\r\n const viewState = await this.props.iModelConnection.views.load(this.state.sheetData[this.state.index].viewId);\r\n if (this._viewport)\r\n this._viewport.changeView(viewState);\r\n }\r\n\r\n /** Creates a new SheetsModalFrontstage */\r\n // istanbul ignore next\r\n private modalFrontstage(): ModalFrontstageInfo {\r\n return new SheetsModalFrontstage(this.state.sheetData, this.props.iModelConnection, this.state.index);\r\n }\r\n\r\n /** Opens a new SheetsModelFrontstage on sheetName click */\r\n // istanbul ignore next\r\n private _handleOnClickSheetName = () => {\r\n UiFramework.frontstages.openModalFrontstage(this.modalFrontstage());\r\n };\r\n}\r\n"]}
@@ -12,7 +12,7 @@
12
12
  border-width: 1px;
13
13
  border-radius: var(--iui-border-radius-1);
14
14
  border-style: solid;
15
- color: $buic-foreground-body;
15
+ color: var(--iui-color-text);
16
16
  background: $buic-background-window;
17
17
  position: relative;
18
18
  display: flex;
@@ -48,26 +48,6 @@
48
48
  > * {
49
49
  text-align: center;
50
50
  }
51
-
52
- > .sheet-caret {
53
- cursor: pointer;
54
- font-size: 15px;
55
- filter: drop-shadow(0 1px 0 $buic-foreground-body-reverse);
56
- z-index: 1;
57
-
58
- &:active {
59
- color: $buic-foreground-body-reverse;
60
- filter: drop-shadow(0 0 0 transparent);
61
- }
62
-
63
- &:hover {
64
- color: $buic-foreground-primary;
65
- }
66
-
67
- &:focus {
68
- outline: none;
69
- }
70
- }
71
51
  }
72
52
 
73
53
  > .gradient {
@@ -5,7 +5,7 @@ import "./SheetsModalFrontstage.scss";
5
5
  import * as React from "react";
6
6
  import { IModelConnection } from "@itwin/core-frontend";
7
7
  import { UiEvent } from "@itwin/appui-abstract";
8
- import { CommonProps } from "@itwin/core-react";
8
+ import { CommonProps, IconSpec } from "@itwin/core-react";
9
9
  import { ModalFrontstageInfo } from "../framework/FrameworkFrontstages";
10
10
  import { SheetData } from "./SheetNavigationAid";
11
11
  /** Data about a sheet card
@@ -14,7 +14,7 @@ import { SheetData } from "./SheetNavigationAid";
14
14
  export interface CardInfo {
15
15
  index: number;
16
16
  label: string;
17
- iconSpec: string;
17
+ iconSpec: IconSpec;
18
18
  isActive: boolean;
19
19
  viewId: any;
20
20
  }
@@ -93,7 +93,7 @@ export declare class CardContainer extends React.Component<CardContainerProps> {
93
93
  export interface SheetCardProps {
94
94
  label: string;
95
95
  index: number;
96
- iconSpec: string;
96
+ iconSpec: IconSpec;
97
97
  isActive: boolean;
98
98
  onClick: () => void;
99
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SheetsModalFrontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetsModalFrontstage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,8BAA8B,CAAC;AAEtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAa,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAoD,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,GAAG,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,GAAG,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,qBAAqB,CAAC;CAAI;AAEzE;;GAEG;AACH,qBAAa,qBAAsB,YAAW,mBAAmB;IACxD,KAAK,EAAE,MAAM,CAAgE;IACpF,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAc;IAElC;;;;OAIG;gBACS,MAAM,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM;IAMnF;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAM3B,wBAAwB;IACxB,IAAW,OAAO,IAAI,KAAK,CAAC,SAAS,CAEpC;IAED,kDAAkD;IAClD,IAAW,WAAW,IAAI,KAAK,CAAC,SAAS,CAIxC;IAED,0CAA0C;IAE1C,OAAO,CAAC,yBAAyB,CAG/B;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;IACpE,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA8C;IAE/E,kCAAkC;IAClC,WAAkB,mBAAmB,IAAI,iBAAiB,CAA6C;IAEvG,gBAAgB;IACA,MAAM;IA2BtB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAUhB;;;OAGG;YACW,mBAAmB;CAYlC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;gBAChE,KAAK,EAAE,cAAc;IAKjC,OAAO,CAAC,QAAQ,CAEd;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,aAAa,CAGnB;IAEc,MAAM;CAyBvB"}
1
+ {"version":3,"file":"SheetsModalFrontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetsModalFrontstage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,8BAA8B,CAAC;AAEtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAa,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,WAAW,EAA2B,QAAQ,EAAiC,MAAM,mBAAmB,CAAC;AAClH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,GAAG,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,GAAG,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,qBAAqB,CAAC;CAAI;AAEzE;;GAEG;AACH,qBAAa,qBAAsB,YAAW,mBAAmB;IACxD,KAAK,EAAE,MAAM,CAAgE;IACpF,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAc;IAElC;;;;OAIG;gBACS,MAAM,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM;IAMnF;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAM3B,wBAAwB;IACxB,IAAW,OAAO,IAAI,KAAK,CAAC,SAAS,CAEpC;IAED,kDAAkD;IAClD,IAAW,WAAW,IAAI,KAAK,CAAC,SAAS,CAIxC;IAED,0CAA0C;IAE1C,OAAO,CAAC,yBAAyB,CAG/B;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;IACpE,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA8C;IAE/E,kCAAkC;IAClC,WAAkB,mBAAmB,IAAI,iBAAiB,CAA6C;IAEvG,gBAAgB;IACA,MAAM;IAyBtB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAUhB;;;OAGG;YACW,mBAAmB;CAYlC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;gBAChE,KAAK,EAAE,cAAc;IAKjC,OAAO,CAAC,QAAQ,CAEd;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,aAAa,CAGnB;IAEc,MAAM;CAsBvB"}
@@ -10,8 +10,9 @@ import classnames from "classnames";
10
10
  import * as React from "react";
11
11
  import { IModelApp } from "@itwin/core-frontend";
12
12
  import { UiEvent } from "@itwin/appui-abstract";
13
- import { FlexWrapContainer, ScrollView, SearchBox, UiCore } from "@itwin/core-react";
13
+ import { FlexWrapContainer, Icon, ScrollView, SearchBox, UiCore } from "@itwin/core-react";
14
14
  import { UiFramework } from "../UiFramework";
15
+ import { SvgDocument, SvgPlaceholder } from "@itwin/itwinui-icons-react";
15
16
  /** Class for CardSelectedEvent
16
17
  * @alpha
17
18
  */
@@ -46,7 +47,7 @@ export class SheetsModalFrontstage {
46
47
  */
47
48
  _storeSheetsAsCards(sheets) {
48
49
  sheets.forEach((sheet, index) => {
49
- this._cards.push({ index, label: sheet.name, iconSpec: "icon-document", viewId: sheet.viewId, isActive: index === this._currentIndex });
50
+ this._cards.push({ index, label: sheet.name, iconSpec: React.createElement(SvgDocument, null), viewId: sheet.viewId, isActive: index === this._currentIndex });
50
51
  });
51
52
  }
52
53
  /** Gets set of cards */
@@ -69,12 +70,11 @@ export class CardContainer extends React.Component {
69
70
  return (React.createElement(ScrollView, { className: this.props.className, style: this.props.style },
70
71
  React.createElement(FlexWrapContainer, null, this.props.cards.map((card, _index) => {
71
72
  let includeCard = true;
72
- const iconClassName = (typeof card.iconSpec === "string") ? card.iconSpec : /* istanbul ignore next */ "icon-placeholder";
73
73
  if (this.props.searchValue) {
74
74
  includeCard = this.contains(card.label, this.props.searchValue);
75
75
  }
76
76
  if (includeCard) {
77
- return (React.createElement(SheetCard, { key: card.label, label: card.label, index: card.index, iconSpec: iconClassName, isActive: card.isActive, onClick: async () => this._handleCardSelected(card) }));
77
+ return (React.createElement(SheetCard, { key: card.label, label: card.label, index: card.index, iconSpec: card.iconSpec, isActive: card.isActive, onClick: async () => this._handleCardSelected(card) }));
78
78
  }
79
79
  return null;
80
80
  }))));
@@ -128,15 +128,17 @@ export class SheetCard extends React.Component {
128
128
  this.state = { isActive: this.props.isActive, isPressed: false };
129
129
  }
130
130
  render() {
131
- const { label, index, iconSpec } = this.props;
131
+ const { label, index } = this.props;
132
132
  const className = classnames("uifw-sheet-card", this.state.isActive && "is-active", this.state.isPressed && "is-pressed");
133
- const iconClassName = classnames("icon", (typeof iconSpec === "string") ? iconSpec : /* istanbul ignore next */ "icon-placeholder");
133
+ const iconSpec = this.props.iconSpec ? this.props.iconSpec : SvgPlaceholder;
134
134
  return (
135
135
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events
136
136
  React.createElement("div", { className: className, onClick: this._onClick, onMouseDown: this._onMouseDown, onMouseLeave: this._onMouseLeave, role: "button", tabIndex: -1 },
137
137
  label,
138
138
  React.createElement("div", { className: "sheet-image-container" },
139
- React.createElement("div", { className: iconClassName })),
139
+ React.createElement("div", { className: "icon" },
140
+ " ",
141
+ React.createElement(Icon, { iconSpec: iconSpec }))),
140
142
  React.createElement("div", { className: "sheet-index" }, index + 1)));
141
143
  }
142
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SheetsModalFrontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetsModalFrontstage.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 NavigationAids\r\n */\r\n\r\nimport \"./SheetsModalFrontstage.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { IModelApp, IModelConnection } from \"@itwin/core-frontend\";\r\nimport { UiEvent } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, FlexWrapContainer, ScrollView, SearchBox, UiCore } from \"@itwin/core-react\";\r\nimport { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { SheetData } from \"./SheetNavigationAid\";\r\n\r\n/** Data about a sheet card\r\n * @alpha\r\n */\r\nexport interface CardInfo {\r\n index: number;\r\n label: string;\r\n iconSpec: string;\r\n isActive: boolean;\r\n viewId: any;\r\n}\r\n\r\n/** Arguments for CardSelectedEvent\r\n * @alpha\r\n */\r\nexport interface CardSelectedEventArgs {\r\n id: any;\r\n index: number;\r\n}\r\n\r\n/** Class for CardSelectedEvent\r\n * @alpha\r\n */\r\nexport class CardSelectedEvent extends UiEvent<CardSelectedEventArgs> { }\r\n\r\n/** Modal frontstage displaying sheet information in cards.\r\n * @alpha\r\n */\r\nexport class SheetsModalFrontstage implements ModalFrontstageInfo {\r\n public title: string = UiFramework.translate(\"navigationAid.sheetsModalFrontstage\");\r\n private _cards: CardInfo[] = [];\r\n private _connection: IModelConnection;\r\n private _currentIndex: number;\r\n private _searchValue: string = \"\";\r\n\r\n /**\r\n * Creates a SheetsModalFrontstage\r\n * @param sheets Collection of sheets available in SheetNavigationAid\r\n * @param connection IModelConnection to query for sheet ViewState\r\n */\r\n constructor(sheets: SheetData[], connection: IModelConnection, currentIndex: number) {\r\n this._connection = connection;\r\n this._currentIndex = currentIndex;\r\n this._storeSheetsAsCards(sheets);\r\n }\r\n\r\n /**\r\n * Gathers card info from available sheets\r\n * @param sheets SheetData from available sheets\r\n */\r\n private _storeSheetsAsCards(sheets: SheetData[]) {\r\n sheets.forEach((sheet: SheetData, index: number) => {\r\n this._cards.push({ index, label: sheet.name, iconSpec: \"icon-document\", viewId: sheet.viewId, isActive: index === this._currentIndex });\r\n });\r\n }\r\n\r\n /** Gets set of cards */\r\n public get content(): React.ReactNode {\r\n return <CardContainer cards={this._cards} searchValue={this._searchValue} connection={this._connection} />;\r\n }\r\n\r\n /** Gets components to be placed in the app bar */\r\n public get appBarRight(): React.ReactNode {\r\n return (\r\n <SearchBox placeholder={UiCore.translate(\"general.search\")} onValueChanged={this._handleSearchValueChanged} valueChangedDelay={250} />\r\n );\r\n }\r\n\r\n /** Updates stage based on search value */\r\n // istanbul ignore next\r\n private _handleSearchValueChanged = (value: string): void => {\r\n this._searchValue = value;\r\n UiFramework.frontstages.updateModalFrontstage();\r\n };\r\n}\r\n\r\n/** Properties for [[CardContainer]]\r\n * @alpha\r\n */\r\nexport interface CardContainerProps extends CommonProps {\r\n cards: CardInfo[];\r\n searchValue: string;\r\n connection: IModelConnection;\r\n}\r\n\r\n/** Displays cards in SheetModalFrontstage\r\n * @alpha\r\n */\r\nexport class CardContainer extends React.Component<CardContainerProps> {\r\n private static _cardSelectedEvent: CardSelectedEvent = new CardSelectedEvent();\r\n\r\n /** Get CardSelectedEvent event */\r\n public static get onCardSelectedEvent(): CardSelectedEvent { return CardContainer._cardSelectedEvent; }\r\n\r\n /** @internal */\r\n public override render() {\r\n return (\r\n <ScrollView className={this.props.className} style={this.props.style}>\r\n <FlexWrapContainer>\r\n {\r\n this.props.cards.map((card: CardInfo, _index: number) => {\r\n let includeCard = true;\r\n const iconClassName = (typeof card.iconSpec === \"string\") ? card.iconSpec : /* istanbul ignore next */ \"icon-placeholder\";\r\n\r\n if (this.props.searchValue) {\r\n includeCard = this.contains(card.label, this.props.searchValue);\r\n }\r\n\r\n if (includeCard) {\r\n return (\r\n <SheetCard key={card.label} label={card.label} index={card.index} iconSpec={iconClassName} isActive={card.isActive} onClick={async () => this._handleCardSelected(card)} />\r\n );\r\n }\r\n\r\n return null;\r\n })\r\n }\r\n </FlexWrapContainer>\r\n </ScrollView>\r\n );\r\n }\r\n\r\n /**\r\n * Determines if string contains a substring\r\n * @param valueA The string to search through\r\n * @param valueB The value to search for\r\n * @return True if valueB can be found in valueA, false otherwise\r\n */\r\n private contains(valueA: string, valueB: string): boolean {\r\n if (!valueA || !valueB)\r\n return false;\r\n\r\n if (valueB.length > valueA.length)\r\n return false;\r\n\r\n return valueA.toLocaleUpperCase().indexOf(valueB.toLocaleUpperCase(), 0) !== -1;\r\n }\r\n\r\n /**\r\n * Updates view with ViewState for selected card.\r\n * @param card Data about the sheet card selected.\r\n */\r\n private async _handleCardSelected(card: CardInfo) {\r\n // istanbul ignore if\r\n if (IModelApp.viewManager && IModelApp.viewManager.selectedView) {\r\n const vp = IModelApp.viewManager.selectedView;\r\n const viewState = await this.props.connection.views.load(card.viewId);\r\n vp.changeView(viewState);\r\n }\r\n\r\n card.isActive = true;\r\n UiFramework.frontstages.closeModalFrontstage();\r\n CardContainer.onCardSelectedEvent.emit({ id: card.viewId, index: card.index });\r\n }\r\n}\r\n\r\n/** Properties for [[SheetCard]]\r\n * @alpha\r\n */\r\nexport interface SheetCardProps {\r\n label: string;\r\n index: number;\r\n iconSpec: string;\r\n isActive: boolean;\r\n onClick: () => void;\r\n}\r\n\r\n/** State for [[SheetCard]]\r\n * @internal\r\n */\r\ninterface SheetCardState {\r\n isActive: boolean;\r\n isPressed: boolean;\r\n}\r\n\r\n/** Displays information about an individual sheet\r\n * @alpha\r\n */\r\nexport class SheetCard extends React.Component<SheetCardProps, SheetCardState> {\r\n constructor(props: SheetCardProps) {\r\n super(props);\r\n this.state = { isActive: this.props.isActive, isPressed: false };\r\n }\r\n\r\n private _onClick = () => {\r\n this.setState({ isActive: true }, () => this.props.onClick());\r\n };\r\n\r\n private _onMouseDown = () => {\r\n this.setState({ isPressed: true });\r\n };\r\n\r\n private _onMouseLeave = () => {\r\n if (this.state.isPressed)\r\n this.setState({ isPressed: false });\r\n };\r\n\r\n public override render() {\r\n const { label, index, iconSpec } = this.props;\r\n\r\n const className = classnames(\r\n \"uifw-sheet-card\",\r\n this.state.isActive && \"is-active\",\r\n this.state.isPressed && \"is-pressed\",\r\n );\r\n\r\n const iconClassName = classnames(\r\n \"icon\",\r\n (typeof iconSpec === \"string\") ? iconSpec : /* istanbul ignore next */ \"icon-placeholder\",\r\n );\r\n\r\n return (\r\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\r\n <div className={className} onClick={this._onClick} onMouseDown={this._onMouseDown} onMouseLeave={this._onMouseLeave} role=\"button\" tabIndex={-1} >\r\n {label}\r\n <div className=\"sheet-image-container\">\r\n <div className={iconClassName} />\r\n </div >\r\n <div className=\"sheet-index\">{index + 1}</div>\r\n </div >\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"SheetsModalFrontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetsModalFrontstage.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 NavigationAids\r\n */\r\n\r\nimport \"./SheetsModalFrontstage.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { IModelApp, IModelConnection } from \"@itwin/core-frontend\";\r\nimport { UiEvent } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, FlexWrapContainer, Icon, IconSpec, ScrollView, SearchBox, UiCore } from \"@itwin/core-react\";\r\nimport { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { SheetData } from \"./SheetNavigationAid\";\r\nimport { SvgDocument, SvgPlaceholder } from \"@itwin/itwinui-icons-react\";\r\n\r\n/** Data about a sheet card\r\n * @alpha\r\n */\r\nexport interface CardInfo {\r\n index: number;\r\n label: string;\r\n iconSpec: IconSpec;\r\n isActive: boolean;\r\n viewId: any;\r\n}\r\n\r\n/** Arguments for CardSelectedEvent\r\n * @alpha\r\n */\r\nexport interface CardSelectedEventArgs {\r\n id: any;\r\n index: number;\r\n}\r\n\r\n/** Class for CardSelectedEvent\r\n * @alpha\r\n */\r\nexport class CardSelectedEvent extends UiEvent<CardSelectedEventArgs> { }\r\n\r\n/** Modal frontstage displaying sheet information in cards.\r\n * @alpha\r\n */\r\nexport class SheetsModalFrontstage implements ModalFrontstageInfo {\r\n public title: string = UiFramework.translate(\"navigationAid.sheetsModalFrontstage\");\r\n private _cards: CardInfo[] = [];\r\n private _connection: IModelConnection;\r\n private _currentIndex: number;\r\n private _searchValue: string = \"\";\r\n\r\n /**\r\n * Creates a SheetsModalFrontstage\r\n * @param sheets Collection of sheets available in SheetNavigationAid\r\n * @param connection IModelConnection to query for sheet ViewState\r\n */\r\n constructor(sheets: SheetData[], connection: IModelConnection, currentIndex: number) {\r\n this._connection = connection;\r\n this._currentIndex = currentIndex;\r\n this._storeSheetsAsCards(sheets);\r\n }\r\n\r\n /**\r\n * Gathers card info from available sheets\r\n * @param sheets SheetData from available sheets\r\n */\r\n private _storeSheetsAsCards(sheets: SheetData[]) {\r\n sheets.forEach((sheet: SheetData, index: number) => {\r\n this._cards.push({ index, label: sheet.name, iconSpec: <SvgDocument />, viewId: sheet.viewId, isActive: index === this._currentIndex });\r\n });\r\n }\r\n\r\n /** Gets set of cards */\r\n public get content(): React.ReactNode {\r\n return <CardContainer cards={this._cards} searchValue={this._searchValue} connection={this._connection} />;\r\n }\r\n\r\n /** Gets components to be placed in the app bar */\r\n public get appBarRight(): React.ReactNode {\r\n return (\r\n <SearchBox placeholder={UiCore.translate(\"general.search\")} onValueChanged={this._handleSearchValueChanged} valueChangedDelay={250} />\r\n );\r\n }\r\n\r\n /** Updates stage based on search value */\r\n // istanbul ignore next\r\n private _handleSearchValueChanged = (value: string): void => {\r\n this._searchValue = value;\r\n UiFramework.frontstages.updateModalFrontstage();\r\n };\r\n}\r\n\r\n/** Properties for [[CardContainer]]\r\n * @alpha\r\n */\r\nexport interface CardContainerProps extends CommonProps {\r\n cards: CardInfo[];\r\n searchValue: string;\r\n connection: IModelConnection;\r\n}\r\n\r\n/** Displays cards in SheetModalFrontstage\r\n * @alpha\r\n */\r\nexport class CardContainer extends React.Component<CardContainerProps> {\r\n private static _cardSelectedEvent: CardSelectedEvent = new CardSelectedEvent();\r\n\r\n /** Get CardSelectedEvent event */\r\n public static get onCardSelectedEvent(): CardSelectedEvent { return CardContainer._cardSelectedEvent; }\r\n\r\n /** @internal */\r\n public override render() {\r\n return (\r\n <ScrollView className={this.props.className} style={this.props.style}>\r\n <FlexWrapContainer>\r\n {\r\n this.props.cards.map((card: CardInfo, _index: number) => {\r\n let includeCard = true;\r\n if (this.props.searchValue) {\r\n includeCard = this.contains(card.label, this.props.searchValue);\r\n }\r\n\r\n if (includeCard) {\r\n return (\r\n <SheetCard key={card.label} label={card.label} index={card.index} iconSpec={card.iconSpec} isActive={card.isActive} onClick={async () => this._handleCardSelected(card)} />\r\n );\r\n }\r\n\r\n return null;\r\n })\r\n }\r\n </FlexWrapContainer>\r\n </ScrollView>\r\n );\r\n }\r\n\r\n /**\r\n * Determines if string contains a substring\r\n * @param valueA The string to search through\r\n * @param valueB The value to search for\r\n * @return True if valueB can be found in valueA, false otherwise\r\n */\r\n private contains(valueA: string, valueB: string): boolean {\r\n if (!valueA || !valueB)\r\n return false;\r\n\r\n if (valueB.length > valueA.length)\r\n return false;\r\n\r\n return valueA.toLocaleUpperCase().indexOf(valueB.toLocaleUpperCase(), 0) !== -1;\r\n }\r\n\r\n /**\r\n * Updates view with ViewState for selected card.\r\n * @param card Data about the sheet card selected.\r\n */\r\n private async _handleCardSelected(card: CardInfo) {\r\n // istanbul ignore if\r\n if (IModelApp.viewManager && IModelApp.viewManager.selectedView) {\r\n const vp = IModelApp.viewManager.selectedView;\r\n const viewState = await this.props.connection.views.load(card.viewId);\r\n vp.changeView(viewState);\r\n }\r\n\r\n card.isActive = true;\r\n UiFramework.frontstages.closeModalFrontstage();\r\n CardContainer.onCardSelectedEvent.emit({ id: card.viewId, index: card.index });\r\n }\r\n}\r\n\r\n/** Properties for [[SheetCard]]\r\n * @alpha\r\n */\r\nexport interface SheetCardProps {\r\n label: string;\r\n index: number;\r\n iconSpec: IconSpec;\r\n isActive: boolean;\r\n onClick: () => void;\r\n}\r\n\r\n/** State for [[SheetCard]]\r\n * @internal\r\n */\r\ninterface SheetCardState {\r\n isActive: boolean;\r\n isPressed: boolean;\r\n}\r\n\r\n/** Displays information about an individual sheet\r\n * @alpha\r\n */\r\nexport class SheetCard extends React.Component<SheetCardProps, SheetCardState> {\r\n constructor(props: SheetCardProps) {\r\n super(props);\r\n this.state = { isActive: this.props.isActive, isPressed: false };\r\n }\r\n\r\n private _onClick = () => {\r\n this.setState({ isActive: true }, () => this.props.onClick());\r\n };\r\n\r\n private _onMouseDown = () => {\r\n this.setState({ isPressed: true });\r\n };\r\n\r\n private _onMouseLeave = () => {\r\n if (this.state.isPressed)\r\n this.setState({ isPressed: false });\r\n };\r\n\r\n public override render() {\r\n const { label, index } = this.props;\r\n\r\n const className = classnames(\r\n \"uifw-sheet-card\",\r\n this.state.isActive && \"is-active\",\r\n this.state.isPressed && \"is-pressed\",\r\n );\r\n\r\n const iconSpec = this.props.iconSpec ? this.props.iconSpec : SvgPlaceholder;\r\n\r\n return (\r\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\r\n <div className={className} onClick={this._onClick} onMouseDown={this._onMouseDown} onMouseLeave={this._onMouseLeave} role=\"button\" tabIndex={-1} >\r\n {label}\r\n <div className=\"sheet-image-container\">\r\n <div className=\"icon\"> <Icon iconSpec={iconSpec} /></div>\r\n </div >\r\n <div className=\"sheet-index\">{index + 1}</div>\r\n </div >\r\n );\r\n }\r\n}\r\n"]}
@@ -4,7 +4,7 @@
4
4
  import "./StandardRotationNavigationAid.scss";
5
5
  import * as React from "react";
6
6
  import { StandardViewId } from "@itwin/core-frontend";
7
- import { CommonProps } from "@itwin/core-react";
7
+ import { CommonProps, IconSpec } from "@itwin/core-react";
8
8
  import { ConfigurableCreateInfo } from "../configurableui/ConfigurableUiControl";
9
9
  import { NavigationAidControl } from "./NavigationAidControl";
10
10
  /** A 3D Standard Rotation Navigation Aid control.
@@ -17,7 +17,7 @@ export declare class StandardRotationNavigationAidControl extends NavigationAidC
17
17
  /** @internal */
18
18
  export interface RotationData {
19
19
  label: string;
20
- iconClassName: string;
20
+ iconsSpec?: IconSpec;
21
21
  }
22
22
  /** @internal */
23
23
  interface StandardRotationNavigationAidState {
@@ -1 +1 @@
1
- {"version":3,"file":"StandardRotationNavigationAid.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/StandardRotationNavigationAid.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,sCAAsC,CAAC;AAE9C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAe,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D;;GAEG;AACH,qBAAa,oCAAqC,SAAQ,oBAAoB;IAC5E,OAAc,eAAe,SAAmC;gBAEpD,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG;CAIvD;AAED,gBAAgB;AAChB,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,gBAAgB;AAChB,UAAU,kCAAkC;IAC1C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,kCAAkC,CAAC;IACjH,OAAO,CAAC,MAAM,CAAgE;IAE9E,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,kCAAkC,CAAC,CAAC;gBAEjE,KAAK,EAAE,GAAG;IAqCN,MAAM,IAAI,KAAK,CAAC,SAAS;IAoCzC,OAAO,CAAC,UAAU,CAEhB;IAEF,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,sBAAsB,CAO5B;IAEF,OAAO,CAAC,kBAAkB;CAyB3B"}
1
+ {"version":3,"file":"StandardRotationNavigationAid.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/StandardRotationNavigationAid.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,sCAAsC,CAAC;AAE9C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAQ,QAAQ,EAAS,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAW9D;;GAEG;AACH,qBAAa,oCAAqC,SAAQ,oBAAoB;IAC5E,OAAc,eAAe,SAAmC;gBAEpD,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG;CAIvD;AAED,gBAAgB;AAChB,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,QAAQ,CAAC;CACtB;AAED,gBAAgB;AAChB,UAAU,kCAAkC;IAC1C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,kCAAkC,CAAC;IACjH,OAAO,CAAC,MAAM,CAAgE;IAE9E,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,kCAAkC,CAAC,CAAC;gBAEjE,KAAK,EAAE,GAAG;IAqCN,MAAM,IAAI,KAAK,CAAC,SAAS;IAoCzC,OAAO,CAAC,UAAU,CAEhB;IAEF,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,sBAAsB,CAO5B;IAEF,OAAO,CAAC,kBAAkB;CAyB3B"}
@@ -9,13 +9,21 @@ import "./StandardRotationNavigationAid.scss";
9
9
  import classnames from "classnames";
10
10
  import * as React from "react";
11
11
  import { StandardViewId } from "@itwin/core-frontend";
12
- import { RelativePosition, ToolbarItemUtilities } from "@itwin/appui-abstract";
12
+ import { IconSpecUtilities, RelativePosition, ToolbarItemUtilities } from "@itwin/appui-abstract";
13
13
  import { ViewportComponentEvents } from "@itwin/imodel-components-react";
14
14
  import { Icon, Popup } from "@itwin/core-react";
15
15
  import { ExpandableButton as NZ_Expandable, ToolbarIcon as NZ_Icon } from "@itwin/appui-layout-react";
16
16
  import { UiFramework } from "../UiFramework";
17
17
  import { NavigationAidControl } from "./NavigationAidControl";
18
18
  import { Columns, GroupColumn, GroupTool, Panel } from "@itwin/components-react";
19
+ import svgCubeFacesTop from "@bentley/icons-generic/icons/cube-faces/top.svg";
20
+ import svgCubeFacesBottom from "@bentley/icons-generic/icons/cube-faces/bottom.svg";
21
+ import svgCubeFacesLeft from "@bentley/icons-generic/icons/cube-faces/left.svg";
22
+ import svgCubeFacesRight from "@bentley/icons-generic/icons/cube-faces/right.svg";
23
+ import svgCubeFacesFront from "@bentley/icons-generic/icons/cube-faces/front.svg";
24
+ import svgCubeFacesRear from "@bentley/icons-generic/icons/cube-faces/rear.svg";
25
+ import svgCubeFacesIsoLeft from "@bentley/icons-generic/icons/cube-faces/iso-left.svg";
26
+ import svgCubeFacesIsoRight from "@bentley/icons-generic/icons/cube-faces/iso-right.svg";
19
27
  /** A 3D Standard Rotation Navigation Aid control.
20
28
  * @alpha
21
29
  */
@@ -49,28 +57,28 @@ export class StandardRotationNavigationAid extends React.Component {
49
57
  const list = [
50
58
  {
51
59
  label: UiFramework.translate("rotations.top"),
52
- iconClassName: "icon-cube-faces-top",
60
+ iconsSpec: IconSpecUtilities.createWebComponentIconSpec(svgCubeFacesTop),
53
61
  }, {
54
62
  label: UiFramework.translate("rotations.bottom"),
55
- iconClassName: "icon-cube-faces-bottom",
63
+ iconsSpec: IconSpecUtilities.createWebComponentIconSpec(svgCubeFacesBottom),
56
64
  }, {
57
65
  label: UiFramework.translate("rotations.left"),
58
- iconClassName: "icon-cube-faces-left",
66
+ iconsSpec: IconSpecUtilities.createWebComponentIconSpec(svgCubeFacesLeft),
59
67
  }, {
60
68
  label: UiFramework.translate("rotations.right"),
61
- iconClassName: "icon-cube-faces-right",
69
+ iconsSpec: IconSpecUtilities.createWebComponentIconSpec(svgCubeFacesRight),
62
70
  }, {
63
71
  label: UiFramework.translate("rotations.front"),
64
- iconClassName: "icon-cube-faces-front",
72
+ iconsSpec: IconSpecUtilities.createWebComponentIconSpec(svgCubeFacesFront),
65
73
  }, {
66
74
  label: UiFramework.translate("rotations.rear"),
67
- iconClassName: "icon-cube-faces-rear",
75
+ iconsSpec: IconSpecUtilities.createWebComponentIconSpec(svgCubeFacesRear),
68
76
  }, {
69
77
  label: UiFramework.translate("rotations.isoLeft"),
70
- iconClassName: "icon-cube-faces-iso-left",
78
+ iconsSpec: IconSpecUtilities.createWebComponentIconSpec(svgCubeFacesIsoLeft),
71
79
  }, {
72
80
  label: UiFramework.translate("rotations.isoRight"),
73
- iconClassName: "icon-cube-faces-iso-right",
81
+ iconsSpec: IconSpecUtilities.createWebComponentIconSpec(svgCubeFacesIsoRight),
74
82
  },
75
83
  ];
76
84
  this.state = {
@@ -84,7 +92,8 @@ export class StandardRotationNavigationAid extends React.Component {
84
92
  const className = classnames("uifw-standard-rotation-navigation", this.props.className);
85
93
  return (React.createElement("div", { className: className, style: this.props.style, ref: this._handleRef },
86
94
  React.createElement(NZ_Expandable, { className: "expandable" },
87
- React.createElement(NZ_Icon, { className: "icon-button", icon: React.createElement("span", { className: classnames("three-d-icon", "icon", this.state.list[this.state.selected].iconClassName) }), onClick: this._toggleIsExpanded, title: this._title })),
95
+ React.createElement(NZ_Icon, { className: "icon-button", icon: React.createElement("span", { className: classnames("three-d-icon", "icon") },
96
+ React.createElement(Icon, { iconSpec: this.state.list[this.state.selected].iconsSpec })), onClick: this._toggleIsExpanded, title: this._title })),
88
97
  React.createElement(Popup, { isOpen: this.state.isExpanded, offset: 0, onClose: this._handlePopupClose, position: RelativePosition.Bottom, target: this.state.element }, this.getExpandedContent())));
89
98
  }
90
99
  getExpandedContent() {
@@ -93,7 +102,7 @@ export class StandardRotationNavigationAid extends React.Component {
93
102
  return (React.createElement(Panel, null,
94
103
  React.createElement(Columns, null,
95
104
  React.createElement(GroupColumn, null, this.state.list.map((item, itemIndex) => {
96
- return (React.createElement(GroupTool, { key: itemIndex.toString(), label: item.label, icon: React.createElement(Icon, { iconSpec: item.iconClassName }), isActive: this.state.selected === itemIndex, onClick: () => this._handleListItemClicked(itemIndex), item: ToolbarItemUtilities.createActionButton("", 0, "", "", () => { }) }));
105
+ return (React.createElement(GroupTool, { key: itemIndex.toString(), label: item.label, icon: React.createElement(Icon, { iconSpec: item.iconsSpec }), isActive: this.state.selected === itemIndex, onClick: () => this._handleListItemClicked(itemIndex), item: ToolbarItemUtilities.createActionButton("", 0, "", "", () => { }) }));
97
106
  })))));
98
107
  }
99
108
  }