@itwin/appui-react 4.0.0 → 4.0.1

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 (731) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/lib/cjs/appui-react/UiFramework.js +5 -9
  3. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  4. package/lib/cjs/appui-react/_variables.scss +11 -11
  5. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  8. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  10. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  11. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +4 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  14. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  15. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  17. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  19. package/lib/cjs/appui-react/accudraw/Calculator.scss +84 -84
  20. package/lib/cjs/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  21. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  23. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  24. package/lib/cjs/appui-react/accudraw/MenuButton.scss +18 -18
  25. package/lib/cjs/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  26. package/lib/cjs/appui-react/accudraw/SquareButton.js.map +1 -1
  27. package/lib/cjs/appui-react/accudraw/SquareButton.scss +29 -29
  28. package/lib/cjs/appui-react/accudraw/backspace.svg +9 -9
  29. package/lib/cjs/appui-react/accudraw/constraint-2d.svg +11 -11
  30. package/lib/cjs/appui-react/accudraw/height-2.svg +10 -10
  31. package/lib/cjs/appui-react/accudraw/height.svg +11 -11
  32. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +1 -2
  34. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  35. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  36. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  37. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  38. package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
  39. package/lib/cjs/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  40. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  41. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  42. package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
  43. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +24 -25
  44. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  45. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
  46. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +1 -1
  47. package/lib/cjs/appui-react/childwindow/PopoutWidget.scss +10 -10
  48. package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
  49. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  50. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  51. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  52. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  53. package/lib/cjs/appui-react/configurableui/TimeTracker.js +1 -2
  54. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  55. package/lib/cjs/appui-react/configurableui/configurableui.scss +74 -74
  56. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  57. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  58. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  59. package/lib/cjs/appui-react/content/ContentLayout.js +6 -11
  60. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  61. package/lib/cjs/appui-react/content/ContentLayout.scss +99 -99
  62. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +3 -4
  63. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  64. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +46 -46
  65. package/lib/cjs/appui-react/content/FloatingViewportContent.js +1 -2
  66. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  67. package/lib/cjs/appui-react/content/IModelViewport.js +3 -6
  68. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  69. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +1 -2
  70. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  71. package/lib/cjs/appui-react/content/InternalContentViewManager.js +1 -1
  72. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  73. package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -1
  74. package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -1
  75. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  76. package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -1
  77. package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -1
  78. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +8 -12
  79. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  80. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  81. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +2 -3
  82. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  83. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  84. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  85. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  86. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  87. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  88. package/lib/cjs/appui-react/dialog/ContentDialog.js +3 -6
  89. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  90. package/lib/cjs/appui-react/dialog/ContentDialog.scss +25 -25
  91. package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -1
  92. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +2 -3
  93. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  94. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  95. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  96. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  97. package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
  98. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  99. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  100. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  101. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  102. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  103. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  104. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +50 -50
  105. package/lib/cjs/appui-react/framework/FrameworkBackstage.js.map +1 -1
  106. package/lib/cjs/appui-react/framework/FrameworkChildWindows.js.map +1 -1
  107. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
  108. package/lib/cjs/appui-react/framework/FrameworkControls.js.map +1 -1
  109. package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
  110. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  111. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  112. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  113. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  114. package/lib/cjs/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  115. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +3 -4
  116. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  117. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  118. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  119. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  120. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +80 -80
  121. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +2 -3
  122. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  123. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +11 -11
  124. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  125. package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
  126. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
  127. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  128. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  129. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  130. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  131. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  132. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  133. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  134. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  135. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  136. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  137. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +8 -13
  138. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  139. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
  140. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  141. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  142. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  143. package/lib/cjs/appui-react/messages/ActivityMessage.js +5 -7
  144. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  145. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  146. package/lib/cjs/appui-react/messages/HollowIcon.js.map +1 -1
  147. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  148. package/lib/cjs/appui-react/messages/InputField.scss +82 -82
  149. package/lib/cjs/appui-react/messages/MessageLabel.js.map +1 -1
  150. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  151. package/lib/cjs/appui-react/messages/MessageSpan.js.map +1 -1
  152. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  153. package/lib/cjs/appui-react/messages/Pointer.scss +42 -42
  154. package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  155. package/lib/cjs/appui-react/messages/StatusMessageManager.js.map +1 -1
  156. package/lib/cjs/appui-react/messages/getToastCategory.js.map +1 -1
  157. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  158. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  159. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  160. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  161. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
  162. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  163. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  164. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  165. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  166. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  167. package/lib/cjs/appui-react/pickers/ListPicker.scss +305 -305
  168. package/lib/cjs/appui-react/pickers/ViewSelector.js +4 -4
  169. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  170. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  171. package/lib/cjs/appui-react/popup/CardPopup.scss +25 -25
  172. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  173. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  174. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +1 -2
  175. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  176. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +30 -30
  177. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  178. package/lib/cjs/appui-react/popup/PopupManager.js +1 -2
  179. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  180. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  181. package/lib/cjs/appui-react/popup/PositionPopup.scss +28 -28
  182. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  183. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  184. package/lib/cjs/appui-react/redux/FrameworkState.js.map +1 -1
  185. package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
  186. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  187. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  188. package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
  189. package/lib/cjs/appui-react/redux/redux-ts.js.map +1 -1
  190. package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
  191. package/lib/cjs/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
  192. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  193. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  194. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  195. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +1 -1
  196. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  197. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
  198. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  199. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  200. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +65 -65
  201. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  202. package/lib/cjs/appui-react/shared/AnyItemDef.js.map +1 -1
  203. package/lib/cjs/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  204. package/lib/cjs/appui-react/shared/CommandItemDef.js.map +1 -1
  205. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  206. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  207. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  208. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  209. package/lib/cjs/appui-react/shared/ItemMap.js.map +1 -1
  210. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  211. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  212. package/lib/cjs/appui-react/shared/SelectionScope.js.map +1 -1
  213. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  214. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  215. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +5 -7
  216. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  217. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  218. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  219. package/lib/cjs/appui-react/statusbar/Field.js.map +1 -1
  220. package/lib/cjs/appui-react/statusbar/Field.scss +109 -109
  221. package/lib/cjs/appui-react/statusbar/Indicator.js +1 -2
  222. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  223. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  224. package/lib/cjs/appui-react/statusbar/LabelIndicator.scss +43 -43
  225. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  226. package/lib/cjs/appui-react/statusbar/Overflow.scss +27 -27
  227. package/lib/cjs/appui-react/statusbar/OverflowPanel.js.map +1 -1
  228. package/lib/cjs/appui-react/statusbar/OverflowPanel.scss +22 -22
  229. package/lib/cjs/appui-react/statusbar/Popup.js.map +1 -1
  230. package/lib/cjs/appui-react/statusbar/Separator.js.map +1 -1
  231. package/lib/cjs/appui-react/statusbar/Separator.scss +12 -12
  232. package/lib/cjs/appui-react/statusbar/StatusBar.js +3 -5
  233. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  234. package/lib/cjs/appui-react/statusbar/StatusBar.scss +41 -41
  235. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  236. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  237. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  238. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  239. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  240. package/lib/cjs/appui-react/statusbar/dialog/Button.js.map +1 -1
  241. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  242. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  243. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  244. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  245. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  246. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  247. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  248. package/lib/cjs/appui-react/statusfields/SectionsField.scss +35 -35
  249. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  250. package/lib/cjs/appui-react/statusfields/SelectionInfo.scss +14 -14
  251. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  252. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +46 -46
  253. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  254. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  255. package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +10 -10
  256. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  257. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
  258. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -1
  259. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  260. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
  261. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  262. package/lib/cjs/appui-react/theme/ThemeManager.js +1 -2
  263. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  264. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  265. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  266. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  267. package/lib/cjs/appui-react/toolbar/DragInteraction.js.map +1 -1
  268. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  269. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  270. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  271. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  272. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  273. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  274. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  275. package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  276. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  277. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  278. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  279. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +7 -14
  280. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  281. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  282. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  283. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  284. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  285. package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
  286. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +1 -2
  287. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  288. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  289. package/lib/cjs/appui-react/toolsettings/ToolInformation.js.map +1 -1
  290. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  291. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts.map +1 -1
  292. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +25 -18
  293. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  294. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  295. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  296. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  297. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +8 -10
  298. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  299. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  300. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  301. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  302. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -2
  303. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  304. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +8 -14
  305. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  306. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  307. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
  308. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +1 -1
  309. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  310. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
  311. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  312. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  313. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  314. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  315. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  316. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  317. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  318. package/lib/cjs/appui-react/utils/PropsHelper.d.ts.map +1 -1
  319. package/lib/cjs/appui-react/utils/PropsHelper.js +2 -1
  320. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  321. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  322. package/lib/cjs/appui-react/utils/ViewUtilities.js.map +1 -1
  323. package/lib/cjs/appui-react/widget-panels/Content.js +7 -8
  324. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  325. package/lib/cjs/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  326. package/lib/cjs/appui-react/widget-panels/Frontstage.js +30 -39
  327. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  328. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +19 -19
  329. package/lib/cjs/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  330. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  331. package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
  332. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  333. package/lib/cjs/appui-react/widget-panels/StatusBar.scss +10 -10
  334. package/lib/cjs/appui-react/widget-panels/Tab.js +1 -1
  335. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  336. package/lib/cjs/appui-react/widget-panels/Tab.scss +14 -14
  337. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +9 -17
  338. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  339. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +41 -41
  340. package/lib/cjs/appui-react/widget-panels/Toolbars.js +2 -3
  341. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  342. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +20 -20
  343. package/lib/cjs/appui-react/widget-panels/useTransientState.js.map +1 -1
  344. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  345. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  346. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  347. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  348. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  349. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +2 -2
  350. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  351. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  352. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  353. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  354. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  355. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  356. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  357. package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
  358. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  359. package/lib/cjs/appui-react/widgets/WidgetDef.js +1 -1
  360. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  361. package/lib/cjs/appui-react/widgets/WidgetHost.js +2 -3
  362. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  363. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  364. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
  365. package/lib/cjs/appui-react.js.map +1 -1
  366. package/lib/esm/appui-react/UiFramework.js +5 -9
  367. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  368. package/lib/esm/appui-react/_variables.scss +11 -11
  369. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  370. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  371. package/lib/esm/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  372. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  373. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  374. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  375. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +4 -1
  376. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  377. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  378. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  379. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  380. package/lib/esm/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  381. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  382. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  383. package/lib/esm/appui-react/accudraw/Calculator.scss +84 -84
  384. package/lib/esm/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  385. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  386. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  387. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  388. package/lib/esm/appui-react/accudraw/MenuButton.scss +18 -18
  389. package/lib/esm/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  390. package/lib/esm/appui-react/accudraw/SquareButton.js.map +1 -1
  391. package/lib/esm/appui-react/accudraw/SquareButton.scss +29 -29
  392. package/lib/esm/appui-react/accudraw/backspace.svg +9 -9
  393. package/lib/esm/appui-react/accudraw/constraint-2d.svg +11 -11
  394. package/lib/esm/appui-react/accudraw/height-2.svg +10 -10
  395. package/lib/esm/appui-react/accudraw/height.svg +11 -11
  396. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  397. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -2
  398. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  399. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  400. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  401. package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  402. package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
  403. package/lib/esm/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  404. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  405. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  406. package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
  407. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +24 -25
  408. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  409. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
  410. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +1 -1
  411. package/lib/esm/appui-react/childwindow/PopoutWidget.scss +10 -10
  412. package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
  413. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  414. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  415. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  416. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  417. package/lib/esm/appui-react/configurableui/TimeTracker.js +1 -2
  418. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  419. package/lib/esm/appui-react/configurableui/configurableui.scss +74 -74
  420. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  421. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  422. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  423. package/lib/esm/appui-react/content/ContentLayout.js +6 -11
  424. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  425. package/lib/esm/appui-react/content/ContentLayout.scss +99 -99
  426. package/lib/esm/appui-react/content/DefaultViewOverlay.js +3 -4
  427. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  428. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +46 -46
  429. package/lib/esm/appui-react/content/FloatingViewportContent.js +1 -2
  430. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  431. package/lib/esm/appui-react/content/IModelViewport.js +3 -6
  432. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  433. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +1 -2
  434. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  435. package/lib/esm/appui-react/content/InternalContentViewManager.js +1 -1
  436. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  437. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -1
  438. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -1
  439. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  440. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -1
  441. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -1
  442. package/lib/esm/appui-react/content/split-pane/SplitPane.js +8 -12
  443. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  444. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  445. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +2 -3
  446. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  447. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  448. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  449. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  450. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  451. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  452. package/lib/esm/appui-react/dialog/ContentDialog.js +3 -6
  453. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  454. package/lib/esm/appui-react/dialog/ContentDialog.scss +25 -25
  455. package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -1
  456. package/lib/esm/appui-react/dialog/DialogManagerBase.js +2 -3
  457. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  458. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  459. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  460. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  461. package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
  462. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  463. package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  464. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  465. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  466. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  467. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  468. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +50 -50
  469. package/lib/esm/appui-react/framework/FrameworkBackstage.js.map +1 -1
  470. package/lib/esm/appui-react/framework/FrameworkChildWindows.js.map +1 -1
  471. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
  472. package/lib/esm/appui-react/framework/FrameworkControls.js.map +1 -1
  473. package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
  474. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  475. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  476. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  477. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  478. package/lib/esm/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  479. package/lib/esm/appui-react/frontstage/FrontstageDef.js +3 -4
  480. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  481. package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  482. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  483. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  484. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +80 -80
  485. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +2 -3
  486. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  487. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +11 -11
  488. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  489. package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -1
  490. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
  491. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  492. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  493. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  494. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  495. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  496. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  497. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  498. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  499. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  500. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  501. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +8 -13
  502. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  503. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
  504. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  505. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  506. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  507. package/lib/esm/appui-react/messages/ActivityMessage.js +5 -7
  508. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  509. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  510. package/lib/esm/appui-react/messages/HollowIcon.js.map +1 -1
  511. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  512. package/lib/esm/appui-react/messages/InputField.scss +82 -82
  513. package/lib/esm/appui-react/messages/MessageLabel.js.map +1 -1
  514. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  515. package/lib/esm/appui-react/messages/MessageSpan.js.map +1 -1
  516. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  517. package/lib/esm/appui-react/messages/Pointer.scss +42 -42
  518. package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  519. package/lib/esm/appui-react/messages/StatusMessageManager.js.map +1 -1
  520. package/lib/esm/appui-react/messages/getToastCategory.js.map +1 -1
  521. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  522. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  523. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  524. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  525. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
  526. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  527. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  528. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  529. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  530. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  531. package/lib/esm/appui-react/pickers/ListPicker.scss +305 -305
  532. package/lib/esm/appui-react/pickers/ViewSelector.js +4 -4
  533. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  534. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  535. package/lib/esm/appui-react/popup/CardPopup.scss +25 -25
  536. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  537. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  538. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +1 -2
  539. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  540. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +30 -30
  541. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  542. package/lib/esm/appui-react/popup/PopupManager.js +1 -2
  543. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  544. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  545. package/lib/esm/appui-react/popup/PositionPopup.scss +28 -28
  546. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  547. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  548. package/lib/esm/appui-react/redux/FrameworkState.js.map +1 -1
  549. package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
  550. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  551. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  552. package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
  553. package/lib/esm/appui-react/redux/redux-ts.js.map +1 -1
  554. package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
  555. package/lib/esm/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
  556. package/lib/esm/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  557. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  558. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  559. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +1 -1
  560. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  561. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
  562. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  563. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  564. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +65 -65
  565. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  566. package/lib/esm/appui-react/shared/AnyItemDef.js.map +1 -1
  567. package/lib/esm/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  568. package/lib/esm/appui-react/shared/CommandItemDef.js.map +1 -1
  569. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  570. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  571. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  572. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  573. package/lib/esm/appui-react/shared/ItemMap.js.map +1 -1
  574. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  575. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  576. package/lib/esm/appui-react/shared/SelectionScope.js.map +1 -1
  577. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  578. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  579. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +5 -7
  580. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  581. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  582. package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  583. package/lib/esm/appui-react/statusbar/Field.js.map +1 -1
  584. package/lib/esm/appui-react/statusbar/Field.scss +109 -109
  585. package/lib/esm/appui-react/statusbar/Indicator.js +1 -2
  586. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  587. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  588. package/lib/esm/appui-react/statusbar/LabelIndicator.scss +43 -43
  589. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  590. package/lib/esm/appui-react/statusbar/Overflow.scss +27 -27
  591. package/lib/esm/appui-react/statusbar/OverflowPanel.js.map +1 -1
  592. package/lib/esm/appui-react/statusbar/OverflowPanel.scss +22 -22
  593. package/lib/esm/appui-react/statusbar/Popup.js.map +1 -1
  594. package/lib/esm/appui-react/statusbar/Separator.js.map +1 -1
  595. package/lib/esm/appui-react/statusbar/Separator.scss +12 -12
  596. package/lib/esm/appui-react/statusbar/StatusBar.js +3 -5
  597. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  598. package/lib/esm/appui-react/statusbar/StatusBar.scss +41 -41
  599. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  600. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  601. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  602. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  603. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  604. package/lib/esm/appui-react/statusbar/dialog/Button.js.map +1 -1
  605. package/lib/esm/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  606. package/lib/esm/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  607. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  608. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  609. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  610. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  611. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  612. package/lib/esm/appui-react/statusfields/SectionsField.scss +35 -35
  613. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  614. package/lib/esm/appui-react/statusfields/SelectionInfo.scss +14 -14
  615. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  616. package/lib/esm/appui-react/statusfields/SelectionScope.scss +46 -46
  617. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  618. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  619. package/lib/esm/appui-react/statusfields/ViewAttributes.scss +10 -10
  620. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  621. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
  622. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -1
  623. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  624. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
  625. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  626. package/lib/esm/appui-react/theme/ThemeManager.js +1 -2
  627. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  628. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  629. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  630. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  631. package/lib/esm/appui-react/toolbar/DragInteraction.js.map +1 -1
  632. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  633. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  634. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  635. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  636. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  637. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  638. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  639. package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  640. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  641. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  642. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  643. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +7 -14
  644. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  645. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  646. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  647. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  648. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  649. package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
  650. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +1 -2
  651. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  652. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  653. package/lib/esm/appui-react/toolsettings/ToolInformation.js.map +1 -1
  654. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  655. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts.map +1 -1
  656. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +25 -18
  657. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  658. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  659. package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  660. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  661. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +8 -10
  662. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  663. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  664. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  665. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  666. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -2
  667. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  668. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +8 -14
  669. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  670. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  671. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
  672. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +1 -1
  673. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  674. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
  675. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  676. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  677. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  678. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  679. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  680. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  681. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  682. package/lib/esm/appui-react/utils/PropsHelper.d.ts.map +1 -1
  683. package/lib/esm/appui-react/utils/PropsHelper.js +2 -1
  684. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  685. package/lib/esm/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  686. package/lib/esm/appui-react/utils/ViewUtilities.js.map +1 -1
  687. package/lib/esm/appui-react/widget-panels/Content.js +7 -8
  688. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  689. package/lib/esm/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  690. package/lib/esm/appui-react/widget-panels/Frontstage.js +30 -39
  691. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  692. package/lib/esm/appui-react/widget-panels/Frontstage.scss +19 -19
  693. package/lib/esm/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  694. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  695. package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
  696. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  697. package/lib/esm/appui-react/widget-panels/StatusBar.scss +10 -10
  698. package/lib/esm/appui-react/widget-panels/Tab.js +1 -1
  699. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  700. package/lib/esm/appui-react/widget-panels/Tab.scss +14 -14
  701. package/lib/esm/appui-react/widget-panels/ToolSettings.js +9 -17
  702. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  703. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +41 -41
  704. package/lib/esm/appui-react/widget-panels/Toolbars.js +2 -3
  705. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  706. package/lib/esm/appui-react/widget-panels/Toolbars.scss +20 -20
  707. package/lib/esm/appui-react/widget-panels/useTransientState.js.map +1 -1
  708. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  709. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  710. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  711. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  712. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  713. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +2 -2
  714. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  715. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  716. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  717. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  718. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  719. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  720. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  721. package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
  722. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  723. package/lib/esm/appui-react/widgets/WidgetDef.js +1 -1
  724. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  725. package/lib/esm/appui-react/widgets/WidgetHost.js +2 -3
  726. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  727. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  728. package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -1
  729. package/lib/esm/appui-react.js.map +1 -1
  730. package/lib/public/locales/en/UiFramework.json +331 -331
  731. package/package.json +16 -16
@@ -1 +1 @@
1
- {"version":3,"file":"GroupItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/GroupItem.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,uEAAoE;AAIpE,+CAAsD;AACtD,sDAAmD;AAEnD,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;GAEG;AACH,MAAa,YAAa,SAAQ,yCAAmB;IAgBnD,YAAY,cAA8B,EAAE,cAAmC;QAC7E,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QARxC,gBAAgB;QACT,aAAQ,GAAY,KAAK,CAAC;QAIzB,gBAAW,GAAmD,EAAE,CAAC;QAKvE,IAAI,CAAC,OAAO,GAAG,CAAC,cAAc,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,IAAI,cAAc,CAAC,OAAO;YACxB,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;aACnC;YACH,YAAY,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC;SAC/D;QAED,IAAI,CAAC,aAAa,GAAG,CAAC,cAAc,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,WAAW,GAAG,yBAAW,CAAC,aAAa,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;QACtG,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,CAAC;IAChE,CAAC;IAED,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,gCAAgC;IAChC,IAAW,UAAU;QACnB,OAAO,yBAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,CAAiD;QACpE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAEM,YAAY,CAAC,KAAe;QACjC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK;YAC1B,OAAO;QAET,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAO,EAAE,CAAC;QAE9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAgB,EAAE,EAAE;YAClC,MAAM,EAAE,GAAW,IAAI,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,EAAU;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAEM,cAAc,CAAC,KAAa;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;IACrC,CAAC;IAEe,OAAO;IACvB,CAAC;;AA3Ec,iBAAI,GAAG,CAAC,AAAJ,CAAK;AACV,0BAAa,GAAG,QAAQ,AAAX,CAAY;AAF5B,oCAAY","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 Item\r\n */\r\n\r\nimport { ConditionalStringValue, OnItemExecutedFunc, StringGetter } from \"@itwin/appui-abstract\";\r\nimport { ActionButtonItemDef } from \"../shared/ActionButtonItemDef\";\r\nimport { AnyItemDef } from \"../shared/AnyItemDef\";\r\nimport { GroupItemProps } from \"../shared/GroupItemProps\";\r\nimport { ItemDefBase } from \"../shared/ItemDefBase\";\r\nimport { ItemList, ItemMap } from \"../shared/ItemMap\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\n\r\n// -----------------------------------------------------------------------------\r\n// GroupItemDef class\r\n// -----------------------------------------------------------------------------\r\n\r\n/** An Item that opens a group of items.\r\n * @public\r\n */\r\nexport class GroupItemDef extends ActionButtonItemDef {\r\n private static _sId = 0;\r\n public static groupIdPrefix = \"Group-\";\r\n\r\n public groupId: string;\r\n public itemsInColumn: number;\r\n public items: AnyItemDef[];\r\n public defaultActiveItemId?: string;\r\n\r\n /** @internal */\r\n public overflow: boolean = false;\r\n\r\n private _itemList!: ItemList;\r\n private _itemMap!: ItemMap;\r\n private _panelLabel: string | StringGetter | ConditionalStringValue = \"\";\r\n\r\n constructor(groupItemProps: GroupItemProps, onItemExecuted?: OnItemExecutedFunc) {\r\n super(groupItemProps, onItemExecuted);\r\n\r\n this.groupId = (groupItemProps.groupId !== undefined) ? groupItemProps.groupId : \"\";\r\n if (groupItemProps.groupId)\r\n this.groupId = groupItemProps.groupId;\r\n else {\r\n GroupItemDef._sId++;\r\n this.groupId = GroupItemDef.groupIdPrefix + GroupItemDef._sId;\r\n }\r\n\r\n this.itemsInColumn = (groupItemProps.itemsInColumn !== undefined) ? groupItemProps.itemsInColumn : 7;\r\n this._panelLabel = PropsHelper.getStringSpec(groupItemProps.panelLabel, groupItemProps.panelLabelKey);\r\n this.items = groupItemProps.items;\r\n this.defaultActiveItemId = groupItemProps.defaultActiveItemId;\r\n }\r\n\r\n public get id(): string {\r\n return this.groupId;\r\n }\r\n\r\n /** Get the panelLabel string */\r\n public get panelLabel(): string {\r\n return PropsHelper.getStringFromSpec(this._panelLabel);\r\n }\r\n\r\n /** Set the panelLabel.\r\n * @param v A string or a function to get the string.\r\n */\r\n public setPanelLabel(v: string | StringGetter | ConditionalStringValue) {\r\n this._panelLabel = v;\r\n }\r\n\r\n public resolveItems(force?: boolean): void {\r\n if (this._itemList && !force)\r\n return;\r\n\r\n this._itemList = new ItemList();\r\n this._itemMap = new ItemMap();\r\n\r\n this.items.map((item: AnyItemDef) => {\r\n const id: string = item.id;\r\n this._itemList.addItem(item);\r\n this._itemMap.set(id, item);\r\n });\r\n }\r\n\r\n public getItemById(id: string): ItemDefBase | undefined {\r\n return this._itemMap.get(id);\r\n }\r\n\r\n public getItemByIndex(index: number): ItemDefBase | undefined {\r\n return this._itemList.items[index];\r\n }\r\n\r\n public get itemCount(): number {\r\n return this._itemList.items.length;\r\n }\r\n\r\n public override execute(): void {\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"GroupItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/GroupItem.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,uEAAoE;AAIpE,+CAAsD;AACtD,sDAAmD;AAEnD,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;GAEG;AACH,MAAa,YAAa,SAAQ,yCAAmB;IAgBnD,YAAY,cAA8B,EAAE,cAAmC;QAC7E,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QARxC,gBAAgB;QACT,aAAQ,GAAY,KAAK,CAAC;QAIzB,gBAAW,GAAmD,EAAE,CAAC;QAKvE,IAAI,CAAC,OAAO,GAAG,CAAC,cAAc,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,IAAI,cAAc,CAAC,OAAO;YACxB,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;aACnC;YACH,YAAY,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC;SAC/D;QAED,IAAI,CAAC,aAAa,GAAG,CAAC,cAAc,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,WAAW,GAAG,yBAAW,CAAC,aAAa,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;QACtG,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,CAAC;IAChE,CAAC;IAED,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,gCAAgC;IAChC,IAAW,UAAU;QACnB,OAAO,yBAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,CAAiD;QACpE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAEM,YAAY,CAAC,KAAe;QACjC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK;YAC1B,OAAO;QAET,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAO,EAAE,CAAC;QAE9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAgB,EAAE,EAAE;YAClC,MAAM,EAAE,GAAW,IAAI,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,EAAU;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAEM,cAAc,CAAC,KAAa;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;IACrC,CAAC;IAEe,OAAO;IACvB,CAAC;;AA3Ec,iBAAI,GAAG,CAAC,AAAJ,CAAK;AACV,0BAAa,GAAG,QAAQ,AAAX,CAAY;AAF5B,oCAAY","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Item\n */\n\nimport { ConditionalStringValue, OnItemExecutedFunc, StringGetter } from \"@itwin/appui-abstract\";\nimport { ActionButtonItemDef } from \"../shared/ActionButtonItemDef\";\nimport { AnyItemDef } from \"../shared/AnyItemDef\";\nimport { GroupItemProps } from \"../shared/GroupItemProps\";\nimport { ItemDefBase } from \"../shared/ItemDefBase\";\nimport { ItemList, ItemMap } from \"../shared/ItemMap\";\nimport { PropsHelper } from \"../utils/PropsHelper\";\n\n// -----------------------------------------------------------------------------\n// GroupItemDef class\n// -----------------------------------------------------------------------------\n\n/** An Item that opens a group of items.\n * @public\n */\nexport class GroupItemDef extends ActionButtonItemDef {\n private static _sId = 0;\n public static groupIdPrefix = \"Group-\";\n\n public groupId: string;\n public itemsInColumn: number;\n public items: AnyItemDef[];\n public defaultActiveItemId?: string;\n\n /** @internal */\n public overflow: boolean = false;\n\n private _itemList!: ItemList;\n private _itemMap!: ItemMap;\n private _panelLabel: string | StringGetter | ConditionalStringValue = \"\";\n\n constructor(groupItemProps: GroupItemProps, onItemExecuted?: OnItemExecutedFunc) {\n super(groupItemProps, onItemExecuted);\n\n this.groupId = (groupItemProps.groupId !== undefined) ? groupItemProps.groupId : \"\";\n if (groupItemProps.groupId)\n this.groupId = groupItemProps.groupId;\n else {\n GroupItemDef._sId++;\n this.groupId = GroupItemDef.groupIdPrefix + GroupItemDef._sId;\n }\n\n this.itemsInColumn = (groupItemProps.itemsInColumn !== undefined) ? groupItemProps.itemsInColumn : 7;\n this._panelLabel = PropsHelper.getStringSpec(groupItemProps.panelLabel, groupItemProps.panelLabelKey);\n this.items = groupItemProps.items;\n this.defaultActiveItemId = groupItemProps.defaultActiveItemId;\n }\n\n public get id(): string {\n return this.groupId;\n }\n\n /** Get the panelLabel string */\n public get panelLabel(): string {\n return PropsHelper.getStringFromSpec(this._panelLabel);\n }\n\n /** Set the panelLabel.\n * @param v A string or a function to get the string.\n */\n public setPanelLabel(v: string | StringGetter | ConditionalStringValue) {\n this._panelLabel = v;\n }\n\n public resolveItems(force?: boolean): void {\n if (this._itemList && !force)\n return;\n\n this._itemList = new ItemList();\n this._itemMap = new ItemMap();\n\n this.items.map((item: AnyItemDef) => {\n const id: string = item.id;\n this._itemList.addItem(item);\n this._itemMap.set(id, item);\n });\n }\n\n public getItemById(id: string): ItemDefBase | undefined {\n return this._itemMap.get(id);\n }\n\n public getItemByIndex(index: number): ItemDefBase | undefined {\n return this._itemList.items[index];\n }\n\n public get itemCount(): number {\n return this._itemList.items.length;\n }\n\n public override execute(): void {\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/Toolbar.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAG/B,8DAAyH;AAEzH,yDAAsD;AAsBtD;;GAEG;AACH,SAAgB,OAAO,CAAC,KAAmB;IACzC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,mCAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,OAAO,CACL,oBAAC,0BAAU,CAAC,8CAA8C;QACxD,KAAK,EAAE,QAAQ,KACX,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAXD,0BAWC","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 Toolbar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { OnItemExecutedFunc } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, NoChildrenProps } from \"@itwin/core-react\";\r\nimport { Toolbar as CR_Toolbar, Direction, ToolbarOpacitySetting, ToolbarPanelAlignment } from \"@itwin/components-react\";\r\nimport { ToolbarItem } from \"./ToolbarItem\";\r\nimport { toUIAToolbarItem } from \"./toUIAToolbarItem\";\r\n\r\n/** Properties of [[Toolbar]] component.\r\n * @beta\r\n */\r\nexport interface ToolbarProps extends CommonProps, NoChildrenProps {\r\n /** Describes to which direction the popup panels are expanded. Defaults to: [[Direction.Bottom]] */\r\n expandsTo?: Direction;\r\n /** Definitions for items of the toolbar. Items are expected to be already sorted by group and item. */\r\n items: ToolbarItem[];\r\n /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */\r\n panelAlignment?: ToolbarPanelAlignment;\r\n /** Use Drag Interaction to open popups with nest action buttons */\r\n useDragInteraction?: boolean;\r\n /** Determines whether to use mouse proximity to alter the opacity of the toolbar */\r\n toolbarOpacitySetting?: ToolbarOpacitySetting;\r\n /** Optional function to call on any item execution */\r\n onItemExecuted?: OnItemExecutedFunc;\r\n /** Optional function to call on any KeyDown events processed by toolbar */\r\n onKeyDown?: (e: React.KeyboardEvent) => void;\r\n}\r\n\r\n/** Component that displays toolbar items.\r\n * @beta\r\n */\r\nexport function Toolbar(props: ToolbarProps) {\r\n const { items, ...other } = props;\r\n const uiaItems = React.useMemo(() => {\r\n return items.map((item) => toUIAToolbarItem(item));\r\n }, [items]);\r\n return (\r\n <CR_Toolbar // eslint-disable-line deprecation/deprecation\r\n items={uiaItems}\r\n {...other}\r\n />\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/Toolbar.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAG/B,8DAAyH;AAEzH,yDAAsD;AAsBtD;;GAEG;AACH,SAAgB,OAAO,CAAC,KAAmB;IACzC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,mCAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,OAAO,CACL,oBAAC,0BAAU,CAAC,8CAA8C;QACxD,KAAK,EAAE,QAAQ,KACX,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAXD,0BAWC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Toolbar\n */\n\nimport * as React from \"react\";\nimport { OnItemExecutedFunc } from \"@itwin/appui-abstract\";\nimport { CommonProps, NoChildrenProps } from \"@itwin/core-react\";\nimport { Toolbar as CR_Toolbar, Direction, ToolbarOpacitySetting, ToolbarPanelAlignment } from \"@itwin/components-react\";\nimport { ToolbarItem } from \"./ToolbarItem\";\nimport { toUIAToolbarItem } from \"./toUIAToolbarItem\";\n\n/** Properties of [[Toolbar]] component.\n * @beta\n */\nexport interface ToolbarProps extends CommonProps, NoChildrenProps {\n /** Describes to which direction the popup panels are expanded. Defaults to: [[Direction.Bottom]] */\n expandsTo?: Direction;\n /** Definitions for items of the toolbar. Items are expected to be already sorted by group and item. */\n items: ToolbarItem[];\n /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */\n panelAlignment?: ToolbarPanelAlignment;\n /** Use Drag Interaction to open popups with nest action buttons */\n useDragInteraction?: boolean;\n /** Determines whether to use mouse proximity to alter the opacity of the toolbar */\n toolbarOpacitySetting?: ToolbarOpacitySetting;\n /** Optional function to call on any item execution */\n onItemExecuted?: OnItemExecutedFunc;\n /** Optional function to call on any KeyDown events processed by toolbar */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\n/** Component that displays toolbar items.\n * @beta\n */\nexport function Toolbar(props: ToolbarProps) {\n const { items, ...other } = props;\n const uiaItems = React.useMemo(() => {\n return items.map((item) => toUIAToolbarItem(item));\n }, [items]);\n return (\n <CR_Toolbar // eslint-disable-line deprecation/deprecation\n items={uiaItems}\n {...other}\n />\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.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 Toolbar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\r\nimport { Direction, ToolbarOpacitySetting, ToolbarPanelAlignment } from \"@itwin/components-react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { Orientation } from \"@itwin/core-react\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\nimport { useDefaultToolbarItems } from \"./useDefaultToolbarItems\";\r\nimport { useUiItemsProviderToolbarItems } from \"./useUiItemsProviderToolbarItems\";\r\nimport { isToolbarActionItem, isToolbarGroupItem, ToolbarActionItem, ToolbarGroupItem, ToolbarItem, ToolbarOrientation, ToolbarUsage } from \"./ToolbarItem\";\r\nimport { ToolbarItemsManager } from \"./ToolbarItemsManager\";\r\nimport { ToolbarWithOverflow } from \"./ToolbarWithOverflow\";\r\n\r\n/** Private function to set up sync event monitoring of toolbar items */\r\nfunction useToolbarItemSyncEffect(uiDataProvider: ToolbarItemsManager, syncIdsOfInterest: string[]) {\r\n React.useEffect(() => {\r\n return SyncUiEventDispatcher.onSyncUiEvent.addListener((args) => {\r\n if (0 === syncIdsOfInterest.length)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\r\n // process each item that has interest\r\n uiDataProvider.refreshAffectedItems(args.eventIds);\r\n }\r\n });\r\n }, [uiDataProvider, syncIdsOfInterest, uiDataProvider.items]);\r\n\r\n React.useEffect(() => {\r\n return UiFramework.frontstages.onToolActivatedEvent.addListener(({ toolId }) => {\r\n uiDataProvider.setActiveToolId(toolId);\r\n });\r\n }, [uiDataProvider, uiDataProvider.items]);\r\n}\r\n\r\nfunction nestedAddItemToSpecifiedParentGroup(items: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>, groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>): Array<ToolbarActionItem | ToolbarGroupItem> {\r\n const outItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n for (const toolbarItem of items) {\r\n if (!isToolbarGroupItem(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentGroupItemId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction addItemToSpecifiedParentGroup(items: readonly ToolbarItem[], groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>): ToolbarItem[] {\r\n const outItems: ToolbarItem[] = [];\r\n for (const toolbarItem of items) {\r\n if (!isToolbarGroupItem(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentGroupItemId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction cloneGroup(inGroup: ToolbarGroupItem): ToolbarGroupItem {\r\n const childItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n inGroup.items.forEach((item) => {\r\n if (isToolbarGroupItem(item))\r\n childItems.push(cloneGroup(item));\r\n else\r\n childItems.push(item);\r\n });\r\n\r\n const clonedGroup = { ...inGroup, items: childItems };\r\n return clonedGroup;\r\n}\r\n\r\nfunction getItemSortValue(item: ToolbarItem) {\r\n const groupValue = undefined === item.groupPriority ? 0 : /* istanbul ignore next */ item.groupPriority;\r\n return groupValue * 10000 + item.itemPriority;\r\n}\r\n\r\nfunction getSortedChildren(group: ToolbarGroupItem): ReadonlyArray<ToolbarActionItem | ToolbarGroupItem> {\r\n const sortedChildren = group.items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (isToolbarGroupItem(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n return sortedChildren;\r\n}\r\n\r\n/** local function to combine items from Stage and from Extensions */\r\nfunction combineItems(defaultItems: ReadonlyArray<ToolbarItem>, addonItems: ReadonlyArray<ToolbarItem>): ToolbarItem[] {\r\n let items: ToolbarItem[] = [];\r\n const groupChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n\r\n // istanbul ignore else\r\n if (defaultItems.length) {\r\n defaultItems.forEach((srcItem: ToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = isToolbarGroupItem(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if ((isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) && toolbarItem.parentGroupItemId)\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n // istanbul ignore else\r\n if (addonItems.length) {\r\n addonItems.forEach((srcItem: ToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = isToolbarGroupItem(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if ((isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) && toolbarItem.parentGroupItemId)\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n\r\n // if an item from an addon has specified a parent group then try to find it and insert it. If no parent is found, add item at root level.\r\n if (groupChildren.length) {\r\n items = addItemToSpecifiedParentGroup(items, groupChildren);\r\n\r\n if (groupChildren.length) {\r\n groupChildren.forEach((toolbarItem) => {\r\n Logger.logWarning(\"ToolbarComposer\", `Requested Parent Group [${toolbarItem.parentGroupItemId!}] not found, so item [${toolbarItem.id}] is added directly to toolbar.`);\r\n items.push(toolbarItem);\r\n });\r\n }\r\n }\r\n\r\n const availableItems = items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (isToolbarGroupItem(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n\r\n return availableItems;\r\n}\r\n\r\nconst useProximityOpacitySetting = () => {\r\n const [proximityOpacity, setProximityOpacity] = React.useState(UiFramework.visibility.useProximityOpacity);\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handleUiVisibilityChanged = () => {\r\n setProximityOpacity(UiFramework.visibility.useProximityOpacity);\r\n };\r\n UiFramework.onUiVisibilityChanged.addListener(handleUiVisibilityChanged);\r\n return () => {\r\n UiFramework.onUiVisibilityChanged.removeListener(handleUiVisibilityChanged);\r\n };\r\n }, []);\r\n return proximityOpacity;\r\n};\r\n\r\n/** Properties for the [[ToolbarComposer]] React components\r\n * @public\r\n */\r\nexport interface ExtensibleToolbarProps {\r\n items: ToolbarItem[];\r\n usage: ToolbarUsage;\r\n /** Toolbar orientation. */\r\n orientation: ToolbarOrientation;\r\n}\r\n\r\n/**\r\n * Toolbar that is populated and maintained by item managers.\r\n * @public\r\n */\r\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\r\n const { usage, orientation } = props;\r\n\r\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(() => new ToolbarItemsManager(props.items));\r\n React.useEffect(() => {\r\n setDefaultItemsManager(new ToolbarItemsManager(props.items));\r\n }, [props.items]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n // process default items\r\n const defaultItems = useDefaultToolbarItems(defaultItemsManager);\r\n const syncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\r\n useToolbarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\r\n\r\n // process items from addon UI providers\r\n const [addonItemsManager] = React.useState(() => new ToolbarItemsManager());\r\n const addonItems = useUiItemsProviderToolbarItems(addonItemsManager, usage, orientation);\r\n const addonSyncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\r\n useToolbarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\r\n\r\n const items = React.useMemo(() => {\r\n return combineItems(defaultItems, addonItems);\r\n }, [defaultItems, addonItems]);\r\n\r\n const toolbarOrientation = orientation === ToolbarOrientation.Horizontal ? Orientation.Horizontal : Orientation.Vertical;\r\n const expandsTo = toolbarOrientation === Orientation.Horizontal ? Direction.Bottom : usage === ToolbarUsage.ViewNavigation ? Direction.Left : Direction.Right;\r\n const panelAlignment = (toolbarOrientation === Orientation.Horizontal && usage === ToolbarUsage.ViewNavigation) ? ToolbarPanelAlignment.End : ToolbarPanelAlignment.Start;\r\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\r\n const useProximityOpacity = useProximityOpacitySetting();\r\n\r\n return <ToolbarWithOverflow\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n items={items}\r\n useDragInteraction={isDragEnabled}\r\n toolbarOpacitySetting={useProximityOpacity && !UiFramework.isMobile() ? ToolbarOpacitySetting.Proximity : /* istanbul ignore next */ ToolbarOpacitySetting.Defaults}\r\n />;\r\n}\r\n"]}
1
+ {"version":3,"file":"ToolbarComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Toolbar\n */\n\nimport * as React from \"react\";\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport { Direction, ToolbarOpacitySetting, ToolbarPanelAlignment } from \"@itwin/components-react\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport { Orientation } from \"@itwin/core-react\";\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\nimport { useDefaultToolbarItems } from \"./useDefaultToolbarItems\";\nimport { useUiItemsProviderToolbarItems } from \"./useUiItemsProviderToolbarItems\";\nimport { isToolbarActionItem, isToolbarGroupItem, ToolbarActionItem, ToolbarGroupItem, ToolbarItem, ToolbarOrientation, ToolbarUsage } from \"./ToolbarItem\";\nimport { ToolbarItemsManager } from \"./ToolbarItemsManager\";\nimport { ToolbarWithOverflow } from \"./ToolbarWithOverflow\";\n\n/** Private function to set up sync event monitoring of toolbar items */\nfunction useToolbarItemSyncEffect(uiDataProvider: ToolbarItemsManager, syncIdsOfInterest: string[]) {\n React.useEffect(() => {\n return SyncUiEventDispatcher.onSyncUiEvent.addListener((args) => {\n if (0 === syncIdsOfInterest.length)\n return;\n\n // istanbul ignore else\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\n // process each item that has interest\n uiDataProvider.refreshAffectedItems(args.eventIds);\n }\n });\n }, [uiDataProvider, syncIdsOfInterest, uiDataProvider.items]);\n\n React.useEffect(() => {\n return UiFramework.frontstages.onToolActivatedEvent.addListener(({ toolId }) => {\n uiDataProvider.setActiveToolId(toolId);\n });\n }, [uiDataProvider, uiDataProvider.items]);\n}\n\nfunction nestedAddItemToSpecifiedParentGroup(items: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>, groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>): Array<ToolbarActionItem | ToolbarGroupItem> {\n const outItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n for (const toolbarItem of items) {\n if (!isToolbarGroupItem(toolbarItem)) {\n outItems.push(toolbarItem);\n continue;\n }\n\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\n const foundIndices: number[] = [];\n\n groupChildren.forEach((entry, index) => {\n if (entry.parentGroupItemId === toolbarItem.id) {\n foundIndices.push(index);\n }\n });\n\n // istanbul ignore else\n if (foundIndices.length) {\n // process in reverse order so groupChildren can be reduced as we find matches\n foundIndices.sort(\n // istanbul ignore next\n (a, b) => a - b,\n ).reverse().forEach((foundIndex) => {\n newChildren.push(groupChildren[foundIndex]);\n groupChildren.splice(foundIndex);\n });\n }\n\n outItems.push({ ...toolbarItem, items: newChildren });\n }\n return outItems;\n}\n\nfunction addItemToSpecifiedParentGroup(items: readonly ToolbarItem[], groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>): ToolbarItem[] {\n const outItems: ToolbarItem[] = [];\n for (const toolbarItem of items) {\n if (!isToolbarGroupItem(toolbarItem)) {\n outItems.push(toolbarItem);\n continue;\n }\n\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\n const foundIndices: number[] = [];\n\n groupChildren.forEach((entry, index) => {\n if (entry.parentGroupItemId === toolbarItem.id) {\n foundIndices.push(index);\n }\n });\n\n // istanbul ignore else\n if (foundIndices.length) {\n // process in reverse order so groupChildren can be reduced as we find matches\n foundIndices.sort(\n // istanbul ignore next\n (a, b) => a - b,\n ).reverse().forEach((foundIndex) => {\n newChildren.push(groupChildren[foundIndex]);\n groupChildren.splice(foundIndex);\n });\n }\n\n outItems.push({ ...toolbarItem, items: newChildren });\n }\n return outItems;\n}\n\nfunction cloneGroup(inGroup: ToolbarGroupItem): ToolbarGroupItem {\n const childItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n inGroup.items.forEach((item) => {\n if (isToolbarGroupItem(item))\n childItems.push(cloneGroup(item));\n else\n childItems.push(item);\n });\n\n const clonedGroup = { ...inGroup, items: childItems };\n return clonedGroup;\n}\n\nfunction getItemSortValue(item: ToolbarItem) {\n const groupValue = undefined === item.groupPriority ? 0 : /* istanbul ignore next */ item.groupPriority;\n return groupValue * 10000 + item.itemPriority;\n}\n\nfunction getSortedChildren(group: ToolbarGroupItem): ReadonlyArray<ToolbarActionItem | ToolbarGroupItem> {\n const sortedChildren = group.items\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\n .map((i) => {\n if (isToolbarGroupItem(i)) {\n return { ...i, items: getSortedChildren(i) };\n }\n return i;\n });\n return sortedChildren;\n}\n\n/** local function to combine items from Stage and from Extensions */\nfunction combineItems(defaultItems: ReadonlyArray<ToolbarItem>, addonItems: ReadonlyArray<ToolbarItem>): ToolbarItem[] {\n let items: ToolbarItem[] = [];\n const groupChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n\n // istanbul ignore else\n if (defaultItems.length) {\n defaultItems.forEach((srcItem: ToolbarItem) => {\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\n const toolbarItem = isToolbarGroupItem(srcItem) ? cloneGroup(srcItem) : srcItem;\n if ((isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) && toolbarItem.parentGroupItemId)\n groupChildren.push(toolbarItem);\n else\n items.push(toolbarItem);\n }\n });\n }\n // istanbul ignore else\n if (addonItems.length) {\n addonItems.forEach((srcItem: ToolbarItem) => {\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\n const toolbarItem = isToolbarGroupItem(srcItem) ? cloneGroup(srcItem) : srcItem;\n if ((isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) && toolbarItem.parentGroupItemId)\n groupChildren.push(toolbarItem);\n else\n items.push(toolbarItem);\n }\n });\n }\n\n // if an item from an addon has specified a parent group then try to find it and insert it. If no parent is found, add item at root level.\n if (groupChildren.length) {\n items = addItemToSpecifiedParentGroup(items, groupChildren);\n\n if (groupChildren.length) {\n groupChildren.forEach((toolbarItem) => {\n Logger.logWarning(\"ToolbarComposer\", `Requested Parent Group [${toolbarItem.parentGroupItemId!}] not found, so item [${toolbarItem.id}] is added directly to toolbar.`);\n items.push(toolbarItem);\n });\n }\n }\n\n const availableItems = items\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\n .map((i) => {\n if (isToolbarGroupItem(i)) {\n return { ...i, items: getSortedChildren(i) };\n }\n return i;\n });\n\n return availableItems;\n}\n\nconst useProximityOpacitySetting = () => {\n const [proximityOpacity, setProximityOpacity] = React.useState(UiFramework.visibility.useProximityOpacity);\n React.useEffect(() => {\n // istanbul ignore next\n const handleUiVisibilityChanged = () => {\n setProximityOpacity(UiFramework.visibility.useProximityOpacity);\n };\n UiFramework.onUiVisibilityChanged.addListener(handleUiVisibilityChanged);\n return () => {\n UiFramework.onUiVisibilityChanged.removeListener(handleUiVisibilityChanged);\n };\n }, []);\n return proximityOpacity;\n};\n\n/** Properties for the [[ToolbarComposer]] React components\n * @public\n */\nexport interface ExtensibleToolbarProps {\n items: ToolbarItem[];\n usage: ToolbarUsage;\n /** Toolbar orientation. */\n orientation: ToolbarOrientation;\n}\n\n/**\n * Toolbar that is populated and maintained by item managers.\n * @public\n */\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\n const { usage, orientation } = props;\n\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(() => new ToolbarItemsManager(props.items));\n React.useEffect(() => {\n setDefaultItemsManager(new ToolbarItemsManager(props.items));\n }, [props.items]); // eslint-disable-line react-hooks/exhaustive-deps\n\n // process default items\n const defaultItems = useDefaultToolbarItems(defaultItemsManager);\n const syncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\n useToolbarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\n\n // process items from addon UI providers\n const [addonItemsManager] = React.useState(() => new ToolbarItemsManager());\n const addonItems = useUiItemsProviderToolbarItems(addonItemsManager, usage, orientation);\n const addonSyncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\n useToolbarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\n\n const items = React.useMemo(() => {\n return combineItems(defaultItems, addonItems);\n }, [defaultItems, addonItems]);\n\n const toolbarOrientation = orientation === ToolbarOrientation.Horizontal ? Orientation.Horizontal : Orientation.Vertical;\n const expandsTo = toolbarOrientation === Orientation.Horizontal ? Direction.Bottom : usage === ToolbarUsage.ViewNavigation ? Direction.Left : Direction.Right;\n const panelAlignment = (toolbarOrientation === Orientation.Horizontal && usage === ToolbarUsage.ViewNavigation) ? ToolbarPanelAlignment.End : ToolbarPanelAlignment.Start;\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\n const useProximityOpacity = useProximityOpacitySetting();\n\n return <ToolbarWithOverflow\n expandsTo={expandsTo}\n panelAlignment={panelAlignment}\n items={items}\n useDragInteraction={isDragEnabled}\n toolbarOpacitySetting={useProximityOpacity && !UiFramework.isMobile() ? ToolbarOpacitySetting.Proximity : /* istanbul ignore next */ ToolbarOpacitySetting.Defaults}\n />;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarHelper.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarHelper.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 Toolbar\r\n */\r\nimport * as React from \"react\";\r\nimport {\r\n ActionButton, CommonToolbarItem, ConditionalStringValue, CustomButtonDefinition, GroupButton, StringGetter,\r\n} from \"@itwin/appui-abstract\";\r\nimport { IconHelper } from \"@itwin/core-react\";\r\nimport { AnyItemDef } from \"../shared/AnyItemDef\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { CustomItemDef } from \"../shared/CustomItemDef\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { GroupItemDef } from \"./GroupItem\";\r\nimport { isToolbarActionItem, isToolbarGroupItem, ToolbarActionItem, ToolbarCustomItem, ToolbarGroupItem, ToolbarItem } from \"./ToolbarItem\";\r\n\r\n/** Helper functions for defining an ToolbarComposer.\r\n * @public\r\n */\r\nexport class ToolbarHelper {\r\n /** Construct CustomToolbarItem definitions given a CustomItemDef. */\r\n public static createCustomDefinitionToolbarItem(itemPriority: number, itemDef: CustomItemDef, overrides?: Partial<CustomButtonDefinition>): ToolbarCustomItem {\r\n const isHidden = itemDef.isHidden;\r\n const isDisabled = itemDef.isDisabled;\r\n const internalData = new Map<string, any>(); // used to store ReactNode if iconSpec hold a ReactNode\r\n const icon = IconHelper.getIconData(itemDef.iconSpec, internalData);\r\n const label = this.getStringOrConditionalString(itemDef.rawLabel);\r\n const badgeType = itemDef.badgeType;\r\n\r\n // istanbul ignore else\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n isCustom: true,\r\n isHidden,\r\n isDisabled,\r\n internalData,\r\n badgeType,\r\n panelContent: itemDef.popupPanelNode,\r\n ...overrides,\r\n };\r\n }\r\n\r\n /** Construct ActionButton and GroupButton definitions given an array to ItemDefs. */\r\n public static constructChildToolbarItems(itemDefs: AnyItemDef[]): Array<ToolbarActionItem | ToolbarGroupItem> {\r\n let count = 10;\r\n const items: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n for (const itemDef of itemDefs) {\r\n const item = this.createToolbarItemFromItemDef(count, itemDef);\r\n count = count + 10;\r\n // istanbul ignore else\r\n if (isToolbarActionItem(item) || isToolbarGroupItem(item))\r\n items.push(item);\r\n }\r\n return items;\r\n }\r\n\r\n private static getStringOrConditionalString(inString: string | StringGetter | ConditionalStringValue): string | ConditionalStringValue {\r\n if (inString instanceof ConditionalStringValue || typeof inString === \"string\")\r\n return inString;\r\n\r\n return inString();\r\n }\r\n\r\n public static getIconReactNode(item: ActionButton | GroupButton): React.ReactNode {\r\n return IconHelper.getIconReactNode(item.icon, item.internalData);\r\n }\r\n\r\n /** Helper method to creates a generic toolbar item entry */\r\n public static createToolbarItemFromItemDef(itemPriority: number, itemDef: AnyItemDef, overrides?: Partial<CommonToolbarItem>): ToolbarItem {\r\n const isHidden = itemDef.isHidden;\r\n const isDisabled = itemDef.isDisabled;\r\n const icon = itemDef.iconSpec;\r\n const label = this.getStringOrConditionalString(itemDef.rawLabel);\r\n const badge = itemDef.badgeType;\r\n\r\n // istanbul ignore else\r\n if (itemDef instanceof CommandItemDef) {\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n isHidden,\r\n isDisabled,\r\n isActive: itemDef.isActive,\r\n execute: itemDef.execute,\r\n badge,\r\n ...overrides,\r\n };\r\n } else if (itemDef instanceof CustomItemDef) {\r\n return ToolbarHelper.createCustomDefinitionToolbarItem(itemPriority, itemDef, overrides);\r\n } else if (itemDef instanceof GroupItemDef) {\r\n const children: Array<ToolbarActionItem | ToolbarGroupItem> = this.constructChildToolbarItems(itemDef.items);\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n panelLabel: itemDef.panelLabel,\r\n isHidden,\r\n isDisabled,\r\n items: children,\r\n isActive: false,\r\n badge,\r\n ...overrides,\r\n };\r\n } else if (itemDef instanceof ToolItemDef) {\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n isHidden,\r\n isDisabled,\r\n isActive: itemDef.isActive,\r\n execute: itemDef.execute,\r\n badge,\r\n ...overrides,\r\n };\r\n } else {\r\n throw new Error(`Invalid Item type encountered, item id=${itemDef.id}`);\r\n }\r\n }\r\n\r\n public static createToolbarItemsFromItemDefs(itemDefs: AnyItemDef[], startingItemPriority = 10, overrides?: Partial<CommonToolbarItem>): ToolbarItem[] {\r\n let itemPriority = startingItemPriority;\r\n const items = itemDefs.map((itemDef: AnyItemDef) => {\r\n const item = ToolbarHelper.createToolbarItemFromItemDef(itemPriority, itemDef, overrides);\r\n itemPriority = itemPriority + 10;\r\n return item;\r\n });\r\n return items;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ToolbarHelper.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarHelper.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Toolbar\n */\nimport * as React from \"react\";\nimport {\n ActionButton, CommonToolbarItem, ConditionalStringValue, CustomButtonDefinition, GroupButton, StringGetter,\n} from \"@itwin/appui-abstract\";\nimport { IconHelper } from \"@itwin/core-react\";\nimport { AnyItemDef } from \"../shared/AnyItemDef\";\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\nimport { CustomItemDef } from \"../shared/CustomItemDef\";\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\nimport { GroupItemDef } from \"./GroupItem\";\nimport { isToolbarActionItem, isToolbarGroupItem, ToolbarActionItem, ToolbarCustomItem, ToolbarGroupItem, ToolbarItem } from \"./ToolbarItem\";\n\n/** Helper functions for defining an ToolbarComposer.\n * @public\n */\nexport class ToolbarHelper {\n /** Construct CustomToolbarItem definitions given a CustomItemDef. */\n public static createCustomDefinitionToolbarItem(itemPriority: number, itemDef: CustomItemDef, overrides?: Partial<CustomButtonDefinition>): ToolbarCustomItem {\n const isHidden = itemDef.isHidden;\n const isDisabled = itemDef.isDisabled;\n const internalData = new Map<string, any>(); // used to store ReactNode if iconSpec hold a ReactNode\n const icon = IconHelper.getIconData(itemDef.iconSpec, internalData);\n const label = this.getStringOrConditionalString(itemDef.rawLabel);\n const badgeType = itemDef.badgeType;\n\n // istanbul ignore else\n return {\n id: itemDef.id,\n itemPriority,\n icon,\n label,\n isCustom: true,\n isHidden,\n isDisabled,\n internalData,\n badgeType,\n panelContent: itemDef.popupPanelNode,\n ...overrides,\n };\n }\n\n /** Construct ActionButton and GroupButton definitions given an array to ItemDefs. */\n public static constructChildToolbarItems(itemDefs: AnyItemDef[]): Array<ToolbarActionItem | ToolbarGroupItem> {\n let count = 10;\n const items: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n for (const itemDef of itemDefs) {\n const item = this.createToolbarItemFromItemDef(count, itemDef);\n count = count + 10;\n // istanbul ignore else\n if (isToolbarActionItem(item) || isToolbarGroupItem(item))\n items.push(item);\n }\n return items;\n }\n\n private static getStringOrConditionalString(inString: string | StringGetter | ConditionalStringValue): string | ConditionalStringValue {\n if (inString instanceof ConditionalStringValue || typeof inString === \"string\")\n return inString;\n\n return inString();\n }\n\n public static getIconReactNode(item: ActionButton | GroupButton): React.ReactNode {\n return IconHelper.getIconReactNode(item.icon, item.internalData);\n }\n\n /** Helper method to creates a generic toolbar item entry */\n public static createToolbarItemFromItemDef(itemPriority: number, itemDef: AnyItemDef, overrides?: Partial<CommonToolbarItem>): ToolbarItem {\n const isHidden = itemDef.isHidden;\n const isDisabled = itemDef.isDisabled;\n const icon = itemDef.iconSpec;\n const label = this.getStringOrConditionalString(itemDef.rawLabel);\n const badge = itemDef.badgeType;\n\n // istanbul ignore else\n if (itemDef instanceof CommandItemDef) {\n return {\n id: itemDef.id,\n itemPriority,\n icon,\n label,\n isHidden,\n isDisabled,\n isActive: itemDef.isActive,\n execute: itemDef.execute,\n badge,\n ...overrides,\n };\n } else if (itemDef instanceof CustomItemDef) {\n return ToolbarHelper.createCustomDefinitionToolbarItem(itemPriority, itemDef, overrides);\n } else if (itemDef instanceof GroupItemDef) {\n const children: Array<ToolbarActionItem | ToolbarGroupItem> = this.constructChildToolbarItems(itemDef.items);\n return {\n id: itemDef.id,\n itemPriority,\n icon,\n label,\n panelLabel: itemDef.panelLabel,\n isHidden,\n isDisabled,\n items: children,\n isActive: false,\n badge,\n ...overrides,\n };\n } else if (itemDef instanceof ToolItemDef) {\n return {\n id: itemDef.id,\n itemPriority,\n icon,\n label,\n isHidden,\n isDisabled,\n isActive: itemDef.isActive,\n execute: itemDef.execute,\n badge,\n ...overrides,\n };\n } else {\n throw new Error(`Invalid Item type encountered, item id=${itemDef.id}`);\n }\n }\n\n public static createToolbarItemsFromItemDefs(itemDefs: AnyItemDef[], startingItemPriority = 10, overrides?: Partial<CommonToolbarItem>): ToolbarItem[] {\n let itemPriority = startingItemPriority;\n const items = itemDefs.map((itemDef: AnyItemDef) => {\n const item = ToolbarHelper.createToolbarItemFromItemDef(itemPriority, itemDef, overrides);\n itemPriority = itemPriority + 10;\n return item;\n });\n return items;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAKH;;GAEG;AACH,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,4GAA4G;IAC5G,6EAAuB,CAAA;IACvB,iFAAiF;IACjF,mEAAkB,CAAA;AACpB,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB;AAED;;GAEG;AACH,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,0BAA0B;IAC1B,uEAAc,CAAA;IACd,wBAAwB;IACxB,mEAAY,CAAA;AACd,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B;AA0ED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAFD,kDAEC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,IAAiB;IAClD,OAAO,OAAO,IAAI,IAAI,CAAC;AACzB,CAAC;AAFD,gDAEC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAFD,kDAEC","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 Toolbar\r\n */\r\n\r\nimport { BadgeType, ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\r\nimport { IconSpec } from \"@itwin/core-react\";\r\n\r\n/** Used to specify the usage of the toolbar which determine the toolbar position.\r\n * @public\r\n */\r\nexport enum ToolbarUsage {\r\n /** Contains tools to Create Update and Delete content - in ninezone this is in top left of content area. */\r\n ContentManipulation = 0,\r\n /** Manipulate view/camera - in ninezone this is in top right of content area. */\r\n ViewNavigation = 1,\r\n}\r\n\r\n/** Used to specify the orientation of the toolbar.\r\n * @public\r\n */\r\nexport enum ToolbarOrientation {\r\n /** Horizontal toolbar. */\r\n Horizontal = 0,\r\n /** Vertical toolbar. */\r\n Vertical = 1,\r\n}\r\n\r\n/** Describes the data needed to insert a UI items into an existing set of UI items.\r\n * @public\r\n */\r\nexport interface CommonToolbarItem {\r\n /** Require uniqueId for the item. To ensure uniqueness it is suggested that a namespace prefix of the extension name be used. */\r\n readonly id: string;\r\n /** Describes badge. Renders no badge if not specified. */\r\n readonly badge?: BadgeType;\r\n /** Optional description */\r\n readonly description?: string | ConditionalStringValue;\r\n /** Defines if the item is active (shown with an active stripe/bar). */\r\n readonly isActive?: boolean;\r\n /** Describes if the item is visible or hidden. The default is for the item to be visible. */\r\n readonly isHidden?: boolean | ConditionalBooleanValue;\r\n /** Describes if the item is enabled or disabled. The default is for the item to be enabled. */\r\n readonly isDisabled?: boolean | ConditionalBooleanValue;\r\n /** Specifies the item's grouping value. Items are sorted by group and then item priority. When\r\n * group priority changes a separator is inserted. It is recommended using values 10 through 100, incrementing by 10. This\r\n * allows extensions enough gaps to insert their own groups. If the value is not specified a groupPriority of 0 is used.\r\n */\r\n readonly groupPriority?: number;\r\n /** Priority within a toolbar or group. */\r\n readonly itemPriority: number;\r\n}\r\n\r\n/** Describes the data needed to insert an action button into a toolbar.\r\n * @public\r\n */\r\nexport interface ToolbarActionItem extends CommonToolbarItem {\r\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\r\n readonly icon: IconSpec;\r\n /** label, shown as tool tip on a button or an item label in a group. */\r\n readonly label: string | ConditionalStringValue;\r\n /** function to run when the button is pressed. */\r\n readonly execute: () => void;\r\n /** Optional parent tool group to add the tool to. */\r\n readonly parentGroupItemId?: string;\r\n}\r\n\r\n/** Describes the data needed to insert a group button into a toolbar.\r\n * @public\r\n */\r\nexport interface ToolbarGroupItem extends CommonToolbarItem {\r\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\r\n readonly icon: IconSpec;\r\n /** label, shown as tool tip on group button or a group button label in a group panel. */\r\n readonly label: string | ConditionalStringValue;\r\n /** label shown as the title in at top of group panel. */\r\n readonly panelLabel?: string | ConditionalStringValue;\r\n /** children of the group */\r\n readonly items: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>;\r\n /** Optional parent tool group to add the tool to. */\r\n readonly parentGroupItemId?: string;\r\n}\r\n\r\n/** Describes the data needed to insert a custom button into a toolbar.\r\n * @public\r\n */\r\nexport interface ToolbarCustomItem extends CommonToolbarItem {\r\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\r\n readonly icon?: IconSpec;\r\n /** label, shown as tool tip on group button or a group button label in a group panel. */\r\n readonly label?: string | ConditionalStringValue;\r\n /** defines the content to display in popup panel */\r\n readonly panelContent?: React.ReactNode;\r\n}\r\n\r\n/** Any Button Type that can be inserted into a toolbar.\r\n * @public\r\n */\r\nexport type ToolbarItem = ToolbarActionItem | ToolbarGroupItem | ToolbarCustomItem;\r\n\r\n/** ToolbarActionItem type guard.\r\n * @public\r\n */\r\nexport function isToolbarActionItem(item: ToolbarItem): item is ToolbarActionItem {\r\n return \"execute\" in item;\r\n}\r\n\r\n/** ToolbarGroupItem type guard.\r\n * @public\r\n */\r\nexport function isToolbarGroupItem(item: ToolbarItem): item is ToolbarGroupItem {\r\n return \"items\" in item;\r\n}\r\n\r\n/** ToolbarCustomItem type guard.\r\n * @public\r\n */\r\nexport function isToolbarCustomItem(item: ToolbarItem): item is ToolbarCustomItem {\r\n return !isToolbarActionItem(item) && !isToolbarGroupItem(item);\r\n}\r\n"]}
1
+ {"version":3,"file":"ToolbarItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAKH;;GAEG;AACH,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,4GAA4G;IAC5G,6EAAuB,CAAA;IACvB,iFAAiF;IACjF,mEAAkB,CAAA;AACpB,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB;AAED;;GAEG;AACH,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,0BAA0B;IAC1B,uEAAc,CAAA;IACd,wBAAwB;IACxB,mEAAY,CAAA;AACd,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B;AA0ED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAFD,kDAEC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,IAAiB;IAClD,OAAO,OAAO,IAAI,IAAI,CAAC;AACzB,CAAC;AAFD,gDAEC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAFD,kDAEC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Toolbar\n */\n\nimport { BadgeType, ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\nimport { IconSpec } from \"@itwin/core-react\";\n\n/** Used to specify the usage of the toolbar which determine the toolbar position.\n * @public\n */\nexport enum ToolbarUsage {\n /** Contains tools to Create Update and Delete content - in ninezone this is in top left of content area. */\n ContentManipulation = 0,\n /** Manipulate view/camera - in ninezone this is in top right of content area. */\n ViewNavigation = 1,\n}\n\n/** Used to specify the orientation of the toolbar.\n * @public\n */\nexport enum ToolbarOrientation {\n /** Horizontal toolbar. */\n Horizontal = 0,\n /** Vertical toolbar. */\n Vertical = 1,\n}\n\n/** Describes the data needed to insert a UI items into an existing set of UI items.\n * @public\n */\nexport interface CommonToolbarItem {\n /** Require uniqueId for the item. To ensure uniqueness it is suggested that a namespace prefix of the extension name be used. */\n readonly id: string;\n /** Describes badge. Renders no badge if not specified. */\n readonly badge?: BadgeType;\n /** Optional description */\n readonly description?: string | ConditionalStringValue;\n /** Defines if the item is active (shown with an active stripe/bar). */\n readonly isActive?: boolean;\n /** Describes if the item is visible or hidden. The default is for the item to be visible. */\n readonly isHidden?: boolean | ConditionalBooleanValue;\n /** Describes if the item is enabled or disabled. The default is for the item to be enabled. */\n readonly isDisabled?: boolean | ConditionalBooleanValue;\n /** Specifies the item's grouping value. Items are sorted by group and then item priority. When\n * group priority changes a separator is inserted. It is recommended using values 10 through 100, incrementing by 10. This\n * allows extensions enough gaps to insert their own groups. If the value is not specified a groupPriority of 0 is used.\n */\n readonly groupPriority?: number;\n /** Priority within a toolbar or group. */\n readonly itemPriority: number;\n}\n\n/** Describes the data needed to insert an action button into a toolbar.\n * @public\n */\nexport interface ToolbarActionItem extends CommonToolbarItem {\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\n readonly icon: IconSpec;\n /** label, shown as tool tip on a button or an item label in a group. */\n readonly label: string | ConditionalStringValue;\n /** function to run when the button is pressed. */\n readonly execute: () => void;\n /** Optional parent tool group to add the tool to. */\n readonly parentGroupItemId?: string;\n}\n\n/** Describes the data needed to insert a group button into a toolbar.\n * @public\n */\nexport interface ToolbarGroupItem extends CommonToolbarItem {\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\n readonly icon: IconSpec;\n /** label, shown as tool tip on group button or a group button label in a group panel. */\n readonly label: string | ConditionalStringValue;\n /** label shown as the title in at top of group panel. */\n readonly panelLabel?: string | ConditionalStringValue;\n /** children of the group */\n readonly items: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>;\n /** Optional parent tool group to add the tool to. */\n readonly parentGroupItemId?: string;\n}\n\n/** Describes the data needed to insert a custom button into a toolbar.\n * @public\n */\nexport interface ToolbarCustomItem extends CommonToolbarItem {\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\n readonly icon?: IconSpec;\n /** label, shown as tool tip on group button or a group button label in a group panel. */\n readonly label?: string | ConditionalStringValue;\n /** defines the content to display in popup panel */\n readonly panelContent?: React.ReactNode;\n}\n\n/** Any Button Type that can be inserted into a toolbar.\n * @public\n */\nexport type ToolbarItem = ToolbarActionItem | ToolbarGroupItem | ToolbarCustomItem;\n\n/** ToolbarActionItem type guard.\n * @public\n */\nexport function isToolbarActionItem(item: ToolbarItem): item is ToolbarActionItem {\n return \"execute\" in item;\n}\n\n/** ToolbarGroupItem type guard.\n * @public\n */\nexport function isToolbarGroupItem(item: ToolbarItem): item is ToolbarGroupItem {\n return \"items\" in item;\n}\n\n/** ToolbarCustomItem type guard.\n * @public\n */\nexport function isToolbarCustomItem(item: ToolbarItem): item is ToolbarCustomItem {\n return !isToolbarActionItem(item) && !isToolbarGroupItem(item);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarItemUtilities.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItemUtilities.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH;;GAEG;AACH,IAAiB,oBAAoB,CAoCpC;AApCD,WAAiB,oBAAoB;IACnC,8BAA8B;IAC9B,SAAgB,gBAAgB,CAAC,EAA2B,EAAE,YAA+C,EAAE,IAA+B,EAAE,KAAiC,EAAE,OAAqC,EAAE,SAAsC;QAC9P,OAAO;YACL,EAAE;YACF,YAAY;YACZ,IAAI;YACJ,KAAK;YACL,OAAO;YACP,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IATe,qCAAgB,mBAS/B,CAAA;IAED,4BAA4B;IAC5B,SAAgB,eAAe,CAAC,EAAU,EAAE,YAAoB,EAAE,IAA8B,EAAE,KAAgC,EAAE,KAAgC,EAAE,SAAqC;QACzM,OAAO;YACL,EAAE;YACF,YAAY;YACZ,IAAI;YACJ,KAAK;YACL,KAAK;YACL,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IATe,oCAAe,kBAS9B,CAAA;IAED,6BAA6B;IAC7B,SAAgB,gBAAgB,CAAC,EAAU,EAAE,YAAoB,EAAE,IAA+B,EAAE,KAAiC,EAAE,YAAgD,EAAE,SAAsC;QAC7N,OAAO;YACL,EAAE;YACF,YAAY;YACZ,IAAI;YACJ,KAAK;YACL,YAAY;YACZ,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IATe,qCAAgB,mBAS/B,CAAA;AACH,CAAC,EApCgB,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAoCpC","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 Toolbar\r\n */\r\n\r\nimport { ToolbarActionItem, ToolbarCustomItem, ToolbarGroupItem } from \"./ToolbarItem\";\r\n\r\n/** Helper class to create toolbar items.\r\n * @beta\r\n */\r\nexport namespace ToolbarItemUtilities {\r\n /** Creates an action item. */\r\n export function createActionItem(id: ToolbarActionItem[\"id\"], itemPriority: ToolbarActionItem[\"itemPriority\"], icon: ToolbarActionItem[\"icon\"], label: ToolbarActionItem[\"label\"], execute: ToolbarActionItem[\"execute\"], overrides?: Partial<ToolbarActionItem>): ToolbarActionItem {\r\n return {\r\n id,\r\n itemPriority,\r\n icon,\r\n label,\r\n execute,\r\n ...overrides,\r\n };\r\n }\r\n\r\n /** Creates a group item. */\r\n export function createGroupItem(id: string, itemPriority: number, icon: ToolbarGroupItem[\"icon\"], label: ToolbarGroupItem[\"label\"], items: ToolbarGroupItem[\"items\"], overrides?: Partial<ToolbarGroupItem>): ToolbarGroupItem {\r\n return {\r\n id,\r\n itemPriority,\r\n icon,\r\n label,\r\n items,\r\n ...overrides,\r\n };\r\n }\r\n\r\n /** Creates a custom item. */\r\n export function createCustomItem(id: string, itemPriority: number, icon: ToolbarCustomItem[\"icon\"], label: ToolbarCustomItem[\"label\"], panelContent?: ToolbarCustomItem[\"panelContent\"], overrides?: Partial<ToolbarCustomItem>): ToolbarCustomItem {\r\n return {\r\n id,\r\n itemPriority,\r\n icon,\r\n label,\r\n panelContent,\r\n ...overrides,\r\n };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ToolbarItemUtilities.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItemUtilities.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH;;GAEG;AACH,IAAiB,oBAAoB,CAoCpC;AApCD,WAAiB,oBAAoB;IACnC,8BAA8B;IAC9B,SAAgB,gBAAgB,CAAC,EAA2B,EAAE,YAA+C,EAAE,IAA+B,EAAE,KAAiC,EAAE,OAAqC,EAAE,SAAsC;QAC9P,OAAO;YACL,EAAE;YACF,YAAY;YACZ,IAAI;YACJ,KAAK;YACL,OAAO;YACP,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IATe,qCAAgB,mBAS/B,CAAA;IAED,4BAA4B;IAC5B,SAAgB,eAAe,CAAC,EAAU,EAAE,YAAoB,EAAE,IAA8B,EAAE,KAAgC,EAAE,KAAgC,EAAE,SAAqC;QACzM,OAAO;YACL,EAAE;YACF,YAAY;YACZ,IAAI;YACJ,KAAK;YACL,KAAK;YACL,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IATe,oCAAe,kBAS9B,CAAA;IAED,6BAA6B;IAC7B,SAAgB,gBAAgB,CAAC,EAAU,EAAE,YAAoB,EAAE,IAA+B,EAAE,KAAiC,EAAE,YAAgD,EAAE,SAAsC;QAC7N,OAAO;YACL,EAAE;YACF,YAAY;YACZ,IAAI;YACJ,KAAK;YACL,YAAY;YACZ,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IATe,qCAAgB,mBAS/B,CAAA;AACH,CAAC,EApCgB,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAoCpC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Toolbar\n */\n\nimport { ToolbarActionItem, ToolbarCustomItem, ToolbarGroupItem } from \"./ToolbarItem\";\n\n/** Helper class to create toolbar items.\n * @beta\n */\nexport namespace ToolbarItemUtilities {\n /** Creates an action item. */\n export function createActionItem(id: ToolbarActionItem[\"id\"], itemPriority: ToolbarActionItem[\"itemPriority\"], icon: ToolbarActionItem[\"icon\"], label: ToolbarActionItem[\"label\"], execute: ToolbarActionItem[\"execute\"], overrides?: Partial<ToolbarActionItem>): ToolbarActionItem {\n return {\n id,\n itemPriority,\n icon,\n label,\n execute,\n ...overrides,\n };\n }\n\n /** Creates a group item. */\n export function createGroupItem(id: string, itemPriority: number, icon: ToolbarGroupItem[\"icon\"], label: ToolbarGroupItem[\"label\"], items: ToolbarGroupItem[\"items\"], overrides?: Partial<ToolbarGroupItem>): ToolbarGroupItem {\n return {\n id,\n itemPriority,\n icon,\n label,\n items,\n ...overrides,\n };\n }\n\n /** Creates a custom item. */\n export function createCustomItem(id: string, itemPriority: number, icon: ToolbarCustomItem[\"icon\"], label: ToolbarCustomItem[\"label\"], panelContent?: ToolbarCustomItem[\"panelContent\"], overrides?: Partial<ToolbarCustomItem>): ToolbarCustomItem {\n return {\n id,\n itemPriority,\n icon,\n label,\n panelContent,\n ...overrides,\n };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport { ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport { isToolbarGroupItem, ToolbarActionItem, ToolbarGroupItem, ToolbarItem } from \"./ToolbarItem\";\r\n\r\nfunction isInstance<T>(args: T | ReadonlyArray<T>): args is T {\r\n return !Array.isArray(args);\r\n}\r\n\r\n/** Arguments of [[ToolbarItemsManager.onChanged]] event.\r\n * @internal\r\n */\r\nexport interface ToolbarItemsChangedArgs {\r\n readonly items: ReadonlyArray<ToolbarItem>;\r\n}\r\n\r\n/**\r\n * Controls status bar items.\r\n * @internal\r\n */\r\nexport class ToolbarItemsManager {\r\n protected _items: ReadonlyArray<ToolbarItem> = [];\r\n\r\n constructor(items?: ReadonlyArray<ToolbarItem>) {\r\n if (items)\r\n this.loadItemsInternal(items, true, false);\r\n }\r\n\r\n /** Event raised when Toolbar items are changed.\r\n * @internal\r\n */\r\n public readonly onItemsChanged = new BeEvent<(args: ToolbarItemsChangedArgs) => void>();\r\n\r\n private loadItemsInternal(items: ReadonlyArray<ToolbarItem>, processConditions: boolean, sendItemChanged: boolean) {\r\n if (processConditions && items) {\r\n const eventIds = ToolbarItemsManager.getSyncIdsOfInterest(items);\r\n if (0 !== eventIds.length) {\r\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));\r\n\r\n // istanbul ignore else\r\n if (itemsUpdated)\r\n items = updatedItems;\r\n }\r\n }\r\n\r\n this._items = items;\r\n if (sendItemChanged)\r\n this.onItemsChanged.raiseEvent({ items });\r\n }\r\n\r\n /** load items but do not fire onItemsChanged\r\n * @internal\r\n */\r\n public loadItems(items: ReadonlyArray<ToolbarItem>) {\r\n this.loadItemsInternal(items, true, false);\r\n }\r\n\r\n /** Get an array of the Toolbar items */\r\n public get items(): ReadonlyArray<ToolbarItem> {\r\n return this._items;\r\n }\r\n\r\n public set items(items: ReadonlyArray<ToolbarItem>) {\r\n // istanbul ignore else\r\n if (items !== this._items)\r\n this.loadItemsInternal(items, true, true);\r\n }\r\n\r\n public add(itemOrItems: ToolbarItem | ReadonlyArray<ToolbarItem>) {\r\n let itemsToAdd;\r\n if (isInstance(itemOrItems))\r\n itemsToAdd = [itemOrItems];\r\n else {\r\n itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);\r\n }\r\n itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);\r\n if (itemsToAdd.length === 0)\r\n return;\r\n const items = [\r\n ...this._items,\r\n ...itemsToAdd,\r\n ];\r\n this.items = items;\r\n }\r\n\r\n /** Remove Toolbar items based on id */\r\n public remove(itemIdOrItemIds: ToolbarItem[\"id\"] | ReadonlyArray<ToolbarItem[\"id\"]>) {\r\n const items = this._items.filter((item) => {\r\n return isInstance(itemIdOrItemIds) ? item.id !== itemIdOrItemIds : !itemIdOrItemIds.find((itemId) => itemId === item.id);\r\n });\r\n this.items = items;\r\n }\r\n\r\n /** @internal */\r\n public removeAll() {\r\n this._items = [];\r\n }\r\n\r\n private static gatherSyncIds(eventIds: Set<string>, items: readonly ToolbarItem[]) {\r\n for (const item of items) {\r\n for (const [, entry] of Object.entries(item)) {\r\n if (entry instanceof ConditionalBooleanValue) {\r\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\r\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\r\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\r\n }\r\n }\r\n\r\n // istanbul ignore else\r\n if (isToolbarGroupItem(item)) {\r\n this.gatherSyncIds(eventIds, item.items);\r\n }\r\n }\r\n }\r\n\r\n public static getSyncIdsOfInterest(items: readonly ToolbarItem[]): string[] {\r\n const eventIds = new Set<string>();\r\n this.gatherSyncIds(eventIds, items);\r\n return [...eventIds.values()];\r\n }\r\n\r\n private static refreshChildItems(parentItem: ToolbarGroupItem, eventIds: Set<string>): { childrenUpdated: boolean, childItems: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem> } {\r\n const updatedItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n let itemsUpdated = false;\r\n\r\n for (const item of parentItem.items) {\r\n let updatedItem;\r\n if (isToolbarGroupItem(item)) {\r\n updatedItem = { ...item };\r\n const { childrenUpdated, childItems } = this.refreshChildItems(updatedItem, eventIds);\r\n // istanbul ignore else\r\n if (childrenUpdated) {\r\n updatedItem.items = childItems;\r\n itemsUpdated = true;\r\n }\r\n } else {\r\n updatedItem = { ...item };\r\n }\r\n\r\n for (const [, entry] of Object.entries(updatedItem)) {\r\n if (entry instanceof ConditionalBooleanValue) {\r\n // istanbul ignore else\r\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\r\n itemsUpdated = true;\r\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\r\n // istanbul ignore else\r\n if (ConditionalStringValue.refreshValue(entry, eventIds))\r\n itemsUpdated = true;\r\n }\r\n }\r\n\r\n updatedItems.push(updatedItem);\r\n }\r\n return { childrenUpdated: itemsUpdated, childItems: updatedItems };\r\n }\r\n\r\n private internalRefreshAffectedItems(items: readonly ToolbarItem[], eventIds: Set<string>): { itemsUpdated: boolean, updatedItems: ToolbarItem[] } {\r\n // istanbul ignore next\r\n if (0 === eventIds.size)\r\n return { itemsUpdated: false, updatedItems: [] };\r\n\r\n let updateRequired = false;\r\n\r\n const newItems: ToolbarItem[] = [];\r\n for (const item of items) {\r\n let updatedItem = { ...item };\r\n if (isToolbarGroupItem(updatedItem)) {\r\n const { childrenUpdated, childItems } = ToolbarItemsManager.refreshChildItems(updatedItem, eventIds);\r\n // istanbul ignore else\r\n if (childrenUpdated) {\r\n updatedItem = {\r\n ...updatedItem,\r\n items: childItems,\r\n };\r\n updateRequired = true;\r\n }\r\n }\r\n\r\n for (const [, entry] of Object.entries(updatedItem)) {\r\n if (entry instanceof ConditionalBooleanValue) {\r\n // istanbul ignore else\r\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\r\n updateRequired = true;\r\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\r\n // istanbul ignore else\r\n if (ConditionalStringValue.refreshValue(entry, eventIds))\r\n updateRequired = true;\r\n }\r\n }\r\n\r\n newItems.push(updatedItem);\r\n }\r\n\r\n return { itemsUpdated: updateRequired, updatedItems: newItems };\r\n }\r\n\r\n public refreshAffectedItems(eventIds: Set<string>) {\r\n // istanbul ignore next\r\n if (0 === eventIds.size)\r\n return;\r\n\r\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);\r\n\r\n // istanbul ignore else\r\n if (itemsUpdated)\r\n this.loadItemsInternal(updatedItems, false, true);\r\n }\r\n\r\n private static isActiveToolIdRefreshRequiredForChildren(children: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>, toolId: string): boolean {\r\n for (const item of children) {\r\n if (isToolbarGroupItem(item)) {\r\n if (this.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))\r\n return true;\r\n } else {\r\n const isActive = !!item.isActive;\r\n if ((isActive && item.id !== toolId) || (!isActive && item.id === toolId))\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private isActiveToolIdRefreshRequired(toolId: string): boolean {\r\n for (const item of this.items) {\r\n if (isToolbarGroupItem(item)) {\r\n if (ToolbarItemsManager.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))\r\n return true;\r\n } else {\r\n const isActive = !!item.isActive;\r\n if ((isActive && item.id !== toolId) || (!isActive && item.id === toolId))\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private static refreshActiveToolIdInChildItems(parentItem: ToolbarGroupItem, toolId: string): Array<ToolbarActionItem | ToolbarGroupItem> {\r\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n for (const item of parentItem.items) {\r\n let updatedItem = { ...item };\r\n\r\n if (isToolbarGroupItem(updatedItem)) {\r\n updatedItem = {\r\n ...updatedItem,\r\n items: ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId),\r\n };\r\n }\r\n\r\n updatedItem.isActive = (updatedItem.id === toolId);\r\n newChildren.push(updatedItem);\r\n }\r\n return newChildren;\r\n }\r\n\r\n public setActiveToolId(toolId: string) {\r\n // first see if any updates are really necessary\r\n if (!this.isActiveToolIdRefreshRequired(toolId))\r\n return;\r\n\r\n const newItems: ToolbarItem[] = [];\r\n for (const item of this.items) {\r\n let updatedItem = { ...item };\r\n\r\n if (isToolbarGroupItem(updatedItem)) {\r\n updatedItem = {\r\n ...updatedItem,\r\n items: ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId),\r\n };\r\n }\r\n\r\n updatedItem.isActive = (updatedItem.id === toolId);\r\n newItems.push(updatedItem);\r\n }\r\n\r\n this.items = newItems;\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"ToolbarItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItemsManager.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,0DAAwF;AACxF,sDAA8C;AAC9C,+CAAqG;AAErG,SAAS,UAAU,CAAI,IAA0B;IAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AASD;;;GAGG;AACH,MAAa,mBAAmB;IAG9B,YAAY,KAAkC;QAFpC,WAAM,GAA+B,EAAE,CAAC;QAOlD;;WAEG;QACa,mBAAc,GAAG,IAAI,sBAAO,EAA2C,CAAC;QAPtF,IAAI,KAAK;YACP,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAOO,iBAAiB,CAAC,KAAiC,EAAE,iBAA0B,EAAE,eAAwB;QAC/G,IAAI,iBAAiB,IAAI,KAAK,EAAE;YAC9B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE;gBACzB,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAEnG,uBAAuB;gBACvB,IAAI,YAAY;oBACd,KAAK,GAAG,YAAY,CAAC;aACxB;SACF;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,eAAe;YACjB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,KAAiC;QAChD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,yCAAyC;IACzC,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAW,KAAK,CAAC,KAAiC;QAChD,uBAAuB;QACvB,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM;YACvB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEM,GAAG,CAAC,WAAqD;QAC9D,IAAI,UAAU,CAAC;QACf,IAAI,UAAU,CAAC,WAAW,CAAC;YACzB,UAAU,GAAG,CAAC,WAAW,CAAC,CAAC;aACxB;YACH,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC;SAC5H;QACD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC;QAClH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YACzB,OAAO;QACT,MAAM,KAAK,GAAG;YACZ,GAAG,IAAI,CAAC,MAAM;YACd,GAAG,UAAU;SACd,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,uCAAuC;IAChC,MAAM,CAAC,eAAqE;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACxC,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3H,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,gBAAgB;IACT,SAAS;QACd,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,QAAqB,EAAE,KAA6B;QAC/E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC5C,IAAI,KAAK,YAAY,wCAAuB,EAAE;oBAC5C,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;iBACtF;qBAAM,0BAA0B,CAAC,IAAI,KAAK,YAAY,uCAAsB,EAAE;oBAC7E,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;iBACtF;aACF;YAED,uBAAuB;YACvB,IAAI,IAAA,gCAAkB,EAAC,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;aAC1C;SACF;IACH,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,KAA6B;QAC9D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAChC,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,UAA4B,EAAE,QAAqB;QAClF,MAAM,YAAY,GAAgD,EAAE,CAAC;QACrE,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE;YACnC,IAAI,WAAW,CAAC;YAChB,IAAI,IAAA,gCAAkB,EAAC,IAAI,CAAC,EAAE;gBAC5B,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;gBAC1B,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACtF,uBAAuB;gBACvB,IAAI,eAAe,EAAE;oBACnB,WAAW,CAAC,KAAK,GAAG,UAAU,CAAC;oBAC/B,YAAY,GAAG,IAAI,CAAC;iBACrB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;aAC3B;YAED,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACnD,IAAI,KAAK,YAAY,wCAAuB,EAAE;oBAC5C,uBAAuB;oBACvB,IAAI,wCAAuB,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;wBACvD,YAAY,GAAG,IAAI,CAAC;iBACvB;qBAAM,0BAA0B,CAAC,IAAI,KAAK,YAAY,uCAAsB,EAAE;oBAC7E,uBAAuB;oBACvB,IAAI,uCAAsB,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;wBACtD,YAAY,GAAG,IAAI,CAAC;iBACvB;aACF;YAED,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAChC;QACD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IACrE,CAAC;IAEO,4BAA4B,CAAC,KAA6B,EAAE,QAAqB;QACvF,uBAAuB;QACvB,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI;YACrB,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;QAEnD,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YAC9B,IAAI,IAAA,gCAAkB,EAAC,WAAW,CAAC,EAAE;gBACnC,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACrG,uBAAuB;gBACvB,IAAI,eAAe,EAAE;oBACnB,WAAW,GAAG;wBACZ,GAAG,WAAW;wBACd,KAAK,EAAE,UAAU;qBAClB,CAAC;oBACF,cAAc,GAAG,IAAI,CAAC;iBACvB;aACF;YAED,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACnD,IAAI,KAAK,YAAY,wCAAuB,EAAE;oBAC5C,uBAAuB;oBACvB,IAAI,wCAAuB,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;wBACvD,cAAc,GAAG,IAAI,CAAC;iBACzB;qBAAM,0BAA0B,CAAC,IAAI,KAAK,YAAY,uCAAsB,EAAE;oBAC7E,uBAAuB;oBACvB,IAAI,uCAAsB,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;wBACtD,cAAc,GAAG,IAAI,CAAC;iBACzB;aACF;YAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC5B;QAED,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IAClE,CAAC;IAEM,oBAAoB,CAAC,QAAqB;QAC/C,uBAAuB;QACvB,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI;YACrB,OAAO;QAET,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE/F,uBAAuB;QACvB,IAAI,YAAY;YACd,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAEO,MAAM,CAAC,wCAAwC,CAAC,QAA6D,EAAE,MAAc;QACnI,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;YAC3B,IAAI,IAAA,gCAAkB,EAAC,IAAI,CAAC,EAAE;gBAC5B,IAAI,IAAI,CAAC,wCAAwC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;oBACnE,OAAO,IAAI,CAAC;aACf;iBAAM;gBACL,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACjC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC;oBACvE,OAAO,IAAI,CAAC;aACf;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,6BAA6B,CAAC,MAAc;QAClD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,IAAI,IAAA,gCAAkB,EAAC,IAAI,CAAC,EAAE;gBAC5B,IAAI,mBAAmB,CAAC,wCAAwC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;oBAClF,OAAO,IAAI,CAAC;aACf;iBAAM;gBACL,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACjC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC;oBACvE,OAAO,IAAI,CAAC;aACf;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,+BAA+B,CAAC,UAA4B,EAAE,MAAc;QACzF,MAAM,WAAW,GAAgD,EAAE,CAAC;QACpE,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE;YACnC,IAAI,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YAE9B,IAAI,IAAA,gCAAkB,EAAC,WAAW,CAAC,EAAE;gBACnC,WAAW,GAAG;oBACZ,GAAG,WAAW;oBACd,KAAK,EAAE,mBAAmB,CAAC,+BAA+B,CAAC,WAAW,EAAE,MAAM,CAAC;iBAChF,CAAC;aACH;YAED,WAAW,CAAC,QAAQ,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YACnD,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC/B;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,eAAe,CAAC,MAAc;QACnC,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC;YAC7C,OAAO;QAET,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,IAAI,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YAE9B,IAAI,IAAA,gCAAkB,EAAC,WAAW,CAAC,EAAE;gBACnC,WAAW,GAAG;oBACZ,GAAG,WAAW;oBACd,KAAK,EAAE,mBAAmB,CAAC,+BAA+B,CAAC,WAAW,EAAE,MAAM,CAAC;iBAChF,CAAC;aACH;YAED,WAAW,CAAC,QAAQ,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YACnD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC5B;QAED,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;IACxB,CAAC;CAEF;AAlQD,kDAkQC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Toolbar\n */\n\nimport { ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { isToolbarGroupItem, ToolbarActionItem, ToolbarGroupItem, ToolbarItem } from \"./ToolbarItem\";\n\nfunction isInstance<T>(args: T | ReadonlyArray<T>): args is T {\n return !Array.isArray(args);\n}\n\n/** Arguments of [[ToolbarItemsManager.onChanged]] event.\n * @internal\n */\nexport interface ToolbarItemsChangedArgs {\n readonly items: ReadonlyArray<ToolbarItem>;\n}\n\n/**\n * Controls status bar items.\n * @internal\n */\nexport class ToolbarItemsManager {\n protected _items: ReadonlyArray<ToolbarItem> = [];\n\n constructor(items?: ReadonlyArray<ToolbarItem>) {\n if (items)\n this.loadItemsInternal(items, true, false);\n }\n\n /** Event raised when Toolbar items are changed.\n * @internal\n */\n public readonly onItemsChanged = new BeEvent<(args: ToolbarItemsChangedArgs) => void>();\n\n private loadItemsInternal(items: ReadonlyArray<ToolbarItem>, processConditions: boolean, sendItemChanged: boolean) {\n if (processConditions && items) {\n const eventIds = ToolbarItemsManager.getSyncIdsOfInterest(items);\n if (0 !== eventIds.length) {\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));\n\n // istanbul ignore else\n if (itemsUpdated)\n items = updatedItems;\n }\n }\n\n this._items = items;\n if (sendItemChanged)\n this.onItemsChanged.raiseEvent({ items });\n }\n\n /** load items but do not fire onItemsChanged\n * @internal\n */\n public loadItems(items: ReadonlyArray<ToolbarItem>) {\n this.loadItemsInternal(items, true, false);\n }\n\n /** Get an array of the Toolbar items */\n public get items(): ReadonlyArray<ToolbarItem> {\n return this._items;\n }\n\n public set items(items: ReadonlyArray<ToolbarItem>) {\n // istanbul ignore else\n if (items !== this._items)\n this.loadItemsInternal(items, true, true);\n }\n\n public add(itemOrItems: ToolbarItem | ReadonlyArray<ToolbarItem>) {\n let itemsToAdd;\n if (isInstance(itemOrItems))\n itemsToAdd = [itemOrItems];\n else {\n itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);\n }\n itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);\n if (itemsToAdd.length === 0)\n return;\n const items = [\n ...this._items,\n ...itemsToAdd,\n ];\n this.items = items;\n }\n\n /** Remove Toolbar items based on id */\n public remove(itemIdOrItemIds: ToolbarItem[\"id\"] | ReadonlyArray<ToolbarItem[\"id\"]>) {\n const items = this._items.filter((item) => {\n return isInstance(itemIdOrItemIds) ? item.id !== itemIdOrItemIds : !itemIdOrItemIds.find((itemId) => itemId === item.id);\n });\n this.items = items;\n }\n\n /** @internal */\n public removeAll() {\n this._items = [];\n }\n\n private static gatherSyncIds(eventIds: Set<string>, items: readonly ToolbarItem[]) {\n for (const item of items) {\n for (const [, entry] of Object.entries(item)) {\n if (entry instanceof ConditionalBooleanValue) {\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\n }\n }\n\n // istanbul ignore else\n if (isToolbarGroupItem(item)) {\n this.gatherSyncIds(eventIds, item.items);\n }\n }\n }\n\n public static getSyncIdsOfInterest(items: readonly ToolbarItem[]): string[] {\n const eventIds = new Set<string>();\n this.gatherSyncIds(eventIds, items);\n return [...eventIds.values()];\n }\n\n private static refreshChildItems(parentItem: ToolbarGroupItem, eventIds: Set<string>): { childrenUpdated: boolean, childItems: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem> } {\n const updatedItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n let itemsUpdated = false;\n\n for (const item of parentItem.items) {\n let updatedItem;\n if (isToolbarGroupItem(item)) {\n updatedItem = { ...item };\n const { childrenUpdated, childItems } = this.refreshChildItems(updatedItem, eventIds);\n // istanbul ignore else\n if (childrenUpdated) {\n updatedItem.items = childItems;\n itemsUpdated = true;\n }\n } else {\n updatedItem = { ...item };\n }\n\n for (const [, entry] of Object.entries(updatedItem)) {\n if (entry instanceof ConditionalBooleanValue) {\n // istanbul ignore else\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\n itemsUpdated = true;\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\n // istanbul ignore else\n if (ConditionalStringValue.refreshValue(entry, eventIds))\n itemsUpdated = true;\n }\n }\n\n updatedItems.push(updatedItem);\n }\n return { childrenUpdated: itemsUpdated, childItems: updatedItems };\n }\n\n private internalRefreshAffectedItems(items: readonly ToolbarItem[], eventIds: Set<string>): { itemsUpdated: boolean, updatedItems: ToolbarItem[] } {\n // istanbul ignore next\n if (0 === eventIds.size)\n return { itemsUpdated: false, updatedItems: [] };\n\n let updateRequired = false;\n\n const newItems: ToolbarItem[] = [];\n for (const item of items) {\n let updatedItem = { ...item };\n if (isToolbarGroupItem(updatedItem)) {\n const { childrenUpdated, childItems } = ToolbarItemsManager.refreshChildItems(updatedItem, eventIds);\n // istanbul ignore else\n if (childrenUpdated) {\n updatedItem = {\n ...updatedItem,\n items: childItems,\n };\n updateRequired = true;\n }\n }\n\n for (const [, entry] of Object.entries(updatedItem)) {\n if (entry instanceof ConditionalBooleanValue) {\n // istanbul ignore else\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\n updateRequired = true;\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\n // istanbul ignore else\n if (ConditionalStringValue.refreshValue(entry, eventIds))\n updateRequired = true;\n }\n }\n\n newItems.push(updatedItem);\n }\n\n return { itemsUpdated: updateRequired, updatedItems: newItems };\n }\n\n public refreshAffectedItems(eventIds: Set<string>) {\n // istanbul ignore next\n if (0 === eventIds.size)\n return;\n\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);\n\n // istanbul ignore else\n if (itemsUpdated)\n this.loadItemsInternal(updatedItems, false, true);\n }\n\n private static isActiveToolIdRefreshRequiredForChildren(children: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>, toolId: string): boolean {\n for (const item of children) {\n if (isToolbarGroupItem(item)) {\n if (this.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))\n return true;\n } else {\n const isActive = !!item.isActive;\n if ((isActive && item.id !== toolId) || (!isActive && item.id === toolId))\n return true;\n }\n }\n return false;\n }\n\n private isActiveToolIdRefreshRequired(toolId: string): boolean {\n for (const item of this.items) {\n if (isToolbarGroupItem(item)) {\n if (ToolbarItemsManager.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))\n return true;\n } else {\n const isActive = !!item.isActive;\n if ((isActive && item.id !== toolId) || (!isActive && item.id === toolId))\n return true;\n }\n }\n\n return false;\n }\n\n private static refreshActiveToolIdInChildItems(parentItem: ToolbarGroupItem, toolId: string): Array<ToolbarActionItem | ToolbarGroupItem> {\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n for (const item of parentItem.items) {\n let updatedItem = { ...item };\n\n if (isToolbarGroupItem(updatedItem)) {\n updatedItem = {\n ...updatedItem,\n items: ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId),\n };\n }\n\n updatedItem.isActive = (updatedItem.id === toolId);\n newChildren.push(updatedItem);\n }\n return newChildren;\n }\n\n public setActiveToolId(toolId: string) {\n // first see if any updates are really necessary\n if (!this.isActiveToolIdRefreshRequired(toolId))\n return;\n\n const newItems: ToolbarItem[] = [];\n for (const item of this.items) {\n let updatedItem = { ...item };\n\n if (isToolbarGroupItem(updatedItem)) {\n updatedItem = {\n ...updatedItem,\n items: ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId),\n };\n }\n\n updatedItem.isActive = (updatedItem.id === toolId);\n newItems.push(updatedItem);\n }\n\n this.items = newItems;\n }\n\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarWithOverflow.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarWithOverflow.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAG/B,8DAAiJ;AAEjJ,yDAAsD;AAwBtD;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,mCAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,OAAO,CACL,oBAAC,sCAAsB,CAAC,8CAA8C;QACpE,KAAK,EAAE,QAAQ,KACX,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAXD,kDAWC","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 Toolbar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { OnItemExecutedFunc } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, NoChildrenProps } from \"@itwin/core-react\";\r\nimport { ToolbarWithOverflow as CR_ToolbarWithOverflow, Direction, ToolbarOpacitySetting, ToolbarPanelAlignment } from \"@itwin/components-react\";\r\nimport { ToolbarItem } from \"./ToolbarItem\";\r\nimport { toUIAToolbarItem } from \"./toUIAToolbarItem\";\r\n\r\n/** Component that displays toolbar items.\r\n * @beta\r\n */\r\nexport interface ToolbarWithOverflowProps extends CommonProps, NoChildrenProps {\r\n /** Describes to which direction the popup panels are expanded. Defaults to: [[Direction.Bottom]] */\r\n expandsTo?: Direction;\r\n /** Describes to which direction the overflow popup panels are expanded. Defaults to: [[Direction.Right]] */\r\n overflowExpandsTo?: Direction;\r\n /** Definitions for items of the toolbar. Items are expected to be already sorted by group and item. */\r\n items: ToolbarItem[];\r\n /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */\r\n panelAlignment?: ToolbarPanelAlignment;\r\n /** Use Drag Interaction to open popups with nest action buttons */\r\n useDragInteraction?: boolean;\r\n /** Determines whether to use mouse proximity to alter the opacity of the toolbar */\r\n toolbarOpacitySetting?: ToolbarOpacitySetting;\r\n /** Optional function to call on any item execution */\r\n onItemExecuted?: OnItemExecutedFunc;\r\n /** Optional function to call on any KeyDown events processed by toolbar */\r\n onKeyDown?: (e: React.KeyboardEvent) => void;\r\n}\r\n\r\n/** Component that displays toolbar items.\r\n * @beta\r\n */\r\nexport function ToolbarWithOverflow(props: ToolbarWithOverflowProps) {\r\n const { items, ...other } = props;\r\n const uiaItems = React.useMemo(() => {\r\n return items.map((item) => toUIAToolbarItem(item));\r\n }, [items]);\r\n return (\r\n <CR_ToolbarWithOverflow // eslint-disable-line deprecation/deprecation\r\n items={uiaItems}\r\n {...other}\r\n />\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"ToolbarWithOverflow.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarWithOverflow.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAG/B,8DAAiJ;AAEjJ,yDAAsD;AAwBtD;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,mCAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,OAAO,CACL,oBAAC,sCAAsB,CAAC,8CAA8C;QACpE,KAAK,EAAE,QAAQ,KACX,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAXD,kDAWC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Toolbar\n */\n\nimport * as React from \"react\";\nimport { OnItemExecutedFunc } from \"@itwin/appui-abstract\";\nimport { CommonProps, NoChildrenProps } from \"@itwin/core-react\";\nimport { ToolbarWithOverflow as CR_ToolbarWithOverflow, Direction, ToolbarOpacitySetting, ToolbarPanelAlignment } from \"@itwin/components-react\";\nimport { ToolbarItem } from \"./ToolbarItem\";\nimport { toUIAToolbarItem } from \"./toUIAToolbarItem\";\n\n/** Component that displays toolbar items.\n * @beta\n */\nexport interface ToolbarWithOverflowProps extends CommonProps, NoChildrenProps {\n /** Describes to which direction the popup panels are expanded. Defaults to: [[Direction.Bottom]] */\n expandsTo?: Direction;\n /** Describes to which direction the overflow popup panels are expanded. Defaults to: [[Direction.Right]] */\n overflowExpandsTo?: Direction;\n /** Definitions for items of the toolbar. Items are expected to be already sorted by group and item. */\n items: ToolbarItem[];\n /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */\n panelAlignment?: ToolbarPanelAlignment;\n /** Use Drag Interaction to open popups with nest action buttons */\n useDragInteraction?: boolean;\n /** Determines whether to use mouse proximity to alter the opacity of the toolbar */\n toolbarOpacitySetting?: ToolbarOpacitySetting;\n /** Optional function to call on any item execution */\n onItemExecuted?: OnItemExecutedFunc;\n /** Optional function to call on any KeyDown events processed by toolbar */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\n/** Component that displays toolbar items.\n * @beta\n */\nexport function ToolbarWithOverflow(props: ToolbarWithOverflowProps) {\n const { items, ...other } = props;\n const uiaItems = React.useMemo(() => {\n return items.map((item) => toUIAToolbarItem(item));\n }, [items]);\n return (\n <CR_ToolbarWithOverflow // eslint-disable-line deprecation/deprecation\n items={uiaItems}\n {...other}\n />\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"toUIAToolbarItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/toUIAToolbarItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH,+CAAiE;AAEjE,gBAAgB;AAChB,SAAgB,gBAAgB,CAAC,IAAiB;IAChD,IAAI,IAAA,iCAAmB,EAAC,IAAI,CAAC,EAAE;QAC7B,MAAM,UAAU,GAAsB;YACpC,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI,CAAC,IAAc;YACzB,gBAAgB,EAAE,IAAI,CAAC,YAAY;SACpC,CAAC;QACF,OAAO,UAAU,CAAC;KACnB;IACD,OAAO,IAA6B,CAAC;AACvC,CAAC;AAXD,4CAWC","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 Toolbar\r\n */\r\n\r\nimport { CommonToolbarItem as UIA_CommonToolbarItem } from \"@itwin/appui-abstract\";\r\nimport { CustomToolbarItem } from \"@itwin/components-react\";\r\nimport { isToolbarCustomItem, ToolbarItem } from \"./ToolbarItem\";\r\n\r\n/** @internal */\r\nexport function toUIAToolbarItem(item: ToolbarItem): UIA_CommonToolbarItem {\r\n if (isToolbarCustomItem(item)) {\r\n const customItem: CustomToolbarItem = { // eslint-disable-line deprecation/deprecation\r\n ...item,\r\n isCustom: true,\r\n icon: item.icon as string,\r\n panelContentNode: item.panelContent,\r\n };\r\n return customItem;\r\n }\r\n return item as UIA_CommonToolbarItem;\r\n}\r\n"]}
1
+ {"version":3,"file":"toUIAToolbarItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/toUIAToolbarItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH,+CAAiE;AAEjE,gBAAgB;AAChB,SAAgB,gBAAgB,CAAC,IAAiB;IAChD,IAAI,IAAA,iCAAmB,EAAC,IAAI,CAAC,EAAE;QAC7B,MAAM,UAAU,GAAsB;YACpC,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI,CAAC,IAAc;YACzB,gBAAgB,EAAE,IAAI,CAAC,YAAY;SACpC,CAAC;QACF,OAAO,UAAU,CAAC;KACnB;IACD,OAAO,IAA6B,CAAC;AACvC,CAAC;AAXD,4CAWC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Toolbar\n */\n\nimport { CommonToolbarItem as UIA_CommonToolbarItem } from \"@itwin/appui-abstract\";\nimport { CustomToolbarItem } from \"@itwin/components-react\";\nimport { isToolbarCustomItem, ToolbarItem } from \"./ToolbarItem\";\n\n/** @internal */\nexport function toUIAToolbarItem(item: ToolbarItem): UIA_CommonToolbarItem {\n if (isToolbarCustomItem(item)) {\n const customItem: CustomToolbarItem = { // eslint-disable-line deprecation/deprecation\n ...item,\n isCustom: true,\n icon: item.icon as string,\n panelContentNode: item.panelContent,\n };\n return customItem;\n }\n return item as UIA_CommonToolbarItem;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useDefaultToolbarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/useDefaultToolbarItems.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAI/B;;GAEG;AACI,MAAM,sBAAsB,GAAG,CAAC,OAA4B,EAA0B,EAAE;IAC7F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO;YACxB,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;aAC5B;YACH,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAhBW,QAAA,sBAAsB,0BAgBjC","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 Toolbar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ToolbarItem } from \"./ToolbarItem\";\r\nimport { ToolbarItemsManager } from \"./ToolbarItemsManager\";\r\n\r\n/** Hook that returns items from [[ToolbarItemsManager]].\r\n * @public\r\n */\r\nexport const useDefaultToolbarItems = (manager: ToolbarItemsManager): readonly ToolbarItem[] => {\r\n const [items, setItems] = React.useState(() => manager.items);\r\n const isInitialMount = React.useRef(true);\r\n React.useEffect(() => {\r\n if (isInitialMount.current)\r\n isInitialMount.current = false;\r\n else {\r\n setItems(manager.items);\r\n }\r\n }, [manager, manager.items]);\r\n React.useEffect(() => {\r\n return manager.onItemsChanged.addListener((args) => {\r\n setItems(args.items);\r\n });\r\n }, [manager]);\r\n return items;\r\n};\r\n"]}
1
+ {"version":3,"file":"useDefaultToolbarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/useDefaultToolbarItems.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAI/B;;GAEG;AACI,MAAM,sBAAsB,GAAG,CAAC,OAA4B,EAA0B,EAAE;IAC7F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO;YACxB,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;aAC5B;YACH,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAhBW,QAAA,sBAAsB,0BAgBjC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Toolbar\n */\n\nimport * as React from \"react\";\nimport { ToolbarItem } from \"./ToolbarItem\";\nimport { ToolbarItemsManager } from \"./ToolbarItemsManager\";\n\n/** Hook that returns items from [[ToolbarItemsManager]].\n * @public\n */\nexport const useDefaultToolbarItems = (manager: ToolbarItemsManager): readonly ToolbarItem[] => {\n const [items, setItems] = React.useState(() => manager.items);\n const isInitialMount = React.useRef(true);\n React.useEffect(() => {\n if (isInitialMount.current)\n isInitialMount.current = false;\n else {\n setItems(manager.items);\n }\n }, [manager, manager.items]);\n React.useEffect(() => {\n return manager.onItemsChanged.addListener((args) => {\n setItems(args.items);\n });\n }, [manager]);\n return items;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useUiItemsProviderToolbarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/useUiItemsProviderToolbarItems.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,gEAA6D;AAC7D,wFAAqF;AACrF,gDAA6C;AAE7C,wEAAqE;AAGrE;;GAEG;AACI,MAAM,8BAA8B,GAAG,CAAC,OAA4B,EAAE,YAA0B,EAAE,kBAAsC,EAA0B,EAAE;IACzK,MAAM,kBAAkB,GAAG,IAAA,2DAA4B,GAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAA,mCAAgB,GAAE,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,wHAAwH;IACxH,2DAA2D;IAC3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEjD,uBAAuB;QACvB,IAAI,YAAY,CAAC,OAAO,KAAK,WAAW,IAAI,eAAe,CAAC,OAAO,KAAK,OAAO,EAAE;YAC/E,MAAM,aAAa,GAAG,yBAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;YAClE,uBAAuB;YACvB,IAAI,aAAa,EAAE;gBACjB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;gBAClC,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;gBAClC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC;gBACnC,MAAM,YAAY,GAAG,+BAAc,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;gBAC5G,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBAChC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACzB;SACF;QACD,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC7E,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA7BW,QAAA,8BAA8B,kCA6BzC","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 Toolbar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useActiveStageId } from \"../hooks/useActiveStageId\";\r\nimport { useAvailableUiItemsProviders } from \"../hooks/useAvailableUiItemsProviders\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ToolbarItem, ToolbarOrientation, ToolbarUsage } from \"./ToolbarItem\";\r\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\r\nimport { ToolbarItemsManager } from \"./ToolbarItemsManager\";\r\n\r\n/** Hook that returns items from [[ToolbarItemsManager]].\r\n * @public\r\n */\r\nexport const useUiItemsProviderToolbarItems = (manager: ToolbarItemsManager, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation): readonly ToolbarItem[] => {\r\n const uiItemsProviderIds = useAvailableUiItemsProviders();\r\n const stageId = useActiveStageId();\r\n const [items, setItems] = React.useState(manager.items);\r\n const providersRef = React.useRef(\"\");\r\n const currentStageRef = React.useRef(\"\");\r\n // gathers items from registered extensions - dependent on when a uiItemsProvider is register or unregistered and if the\r\n // current stage's composer allows entries from extensions.\r\n React.useEffect(() => {\r\n const uiProviders = uiItemsProviderIds.join(\"-\");\r\n\r\n // istanbul ignore else\r\n if (providersRef.current !== uiProviders || currentStageRef.current !== stageId) {\r\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n // istanbul ignore else\r\n if (frontstageDef) {\r\n const usage = frontstageDef.usage;\r\n currentStageRef.current = stageId;\r\n providersRef.current = uiProviders;\r\n const toolbarItems = UiItemsManager.getToolbarButtonItems(stageId, usage, toolbarUsage, toolbarOrientation);\r\n manager.loadItems(toolbarItems);\r\n setItems(manager.items);\r\n }\r\n }\r\n return manager.onItemsChanged.addListener((args) => {\r\n setItems(args.items);\r\n });\r\n }, [uiItemsProviderIds, stageId, manager, toolbarUsage, toolbarOrientation]);\r\n return items;\r\n};\r\n"]}
1
+ {"version":3,"file":"useUiItemsProviderToolbarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/useUiItemsProviderToolbarItems.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,gEAA6D;AAC7D,wFAAqF;AACrF,gDAA6C;AAE7C,wEAAqE;AAGrE;;GAEG;AACI,MAAM,8BAA8B,GAAG,CAAC,OAA4B,EAAE,YAA0B,EAAE,kBAAsC,EAA0B,EAAE;IACzK,MAAM,kBAAkB,GAAG,IAAA,2DAA4B,GAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAA,mCAAgB,GAAE,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,wHAAwH;IACxH,2DAA2D;IAC3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEjD,uBAAuB;QACvB,IAAI,YAAY,CAAC,OAAO,KAAK,WAAW,IAAI,eAAe,CAAC,OAAO,KAAK,OAAO,EAAE;YAC/E,MAAM,aAAa,GAAG,yBAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;YAClE,uBAAuB;YACvB,IAAI,aAAa,EAAE;gBACjB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;gBAClC,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;gBAClC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC;gBACnC,MAAM,YAAY,GAAG,+BAAc,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;gBAC5G,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBAChC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACzB;SACF;QACD,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC7E,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA7BW,QAAA,8BAA8B,kCA6BzC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Toolbar\n */\n\nimport * as React from \"react\";\nimport { useActiveStageId } from \"../hooks/useActiveStageId\";\nimport { useAvailableUiItemsProviders } from \"../hooks/useAvailableUiItemsProviders\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ToolbarItem, ToolbarOrientation, ToolbarUsage } from \"./ToolbarItem\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport { ToolbarItemsManager } from \"./ToolbarItemsManager\";\n\n/** Hook that returns items from [[ToolbarItemsManager]].\n * @public\n */\nexport const useUiItemsProviderToolbarItems = (manager: ToolbarItemsManager, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation): readonly ToolbarItem[] => {\n const uiItemsProviderIds = useAvailableUiItemsProviders();\n const stageId = useActiveStageId();\n const [items, setItems] = React.useState(manager.items);\n const providersRef = React.useRef(\"\");\n const currentStageRef = React.useRef(\"\");\n // gathers items from registered extensions - dependent on when a uiItemsProvider is register or unregistered and if the\n // current stage's composer allows entries from extensions.\n React.useEffect(() => {\n const uiProviders = uiItemsProviderIds.join(\"-\");\n\n // istanbul ignore else\n if (providersRef.current !== uiProviders || currentStageRef.current !== stageId) {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n // istanbul ignore else\n if (frontstageDef) {\n const usage = frontstageDef.usage;\n currentStageRef.current = stageId;\n providersRef.current = uiProviders;\n const toolbarItems = UiItemsManager.getToolbarButtonItems(stageId, usage, toolbarUsage, toolbarOrientation);\n manager.loadItems(toolbarItems);\n setItems(manager.items);\n }\n }\n return manager.onItemsChanged.addListener((args) => {\n setItems(args.items);\n });\n }, [uiItemsProviderIds, stageId, manager, toolbarUsage, toolbarOrientation]);\n return items;\n};\n"]}
@@ -78,9 +78,8 @@ class CoreTools {
78
78
  return new ToolItemDef_1.ToolItemDef({
79
79
  toolId: core_frontend_1.RotateViewTool.toolId,
80
80
  iconSpec: new appui_abstract_1.ConditionalStringValue(() => {
81
- var _a;
82
81
  const activeContentControl = UiFramework_1.UiFramework.content.getActiveContentControl();
83
- if ((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is2d())
82
+ if (activeContentControl?.viewport?.view.is2d())
84
83
  return appui_abstract_1.IconSpecUtilities.createWebComponentIconSpec(rotate_left_svg_1.default);
85
84
  return appui_abstract_1.IconSpecUtilities.createWebComponentIconSpec(gyroscope_svg_1.default);
86
85
  }, [SyncUiEventDispatcher_1.SyncUiEventId.ActiveContentChanged, SyncUiEventDispatcher_1.SyncUiEventId.ActiveViewportChanged, SyncUiEventDispatcher_1.SyncUiEventId.ViewStateChanged]),
@@ -96,9 +95,8 @@ class CoreTools {
96
95
  label: core_frontend_1.WalkViewTool.flyover,
97
96
  description: core_frontend_1.WalkViewTool.description,
98
97
  isHidden: new appui_abstract_1.ConditionalBooleanValue(() => {
99
- var _a;
100
98
  const activeContentControl = UiFramework_1.UiFramework.content.getActiveContentControl();
101
- return !!((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is2d());
99
+ return !!activeContentControl?.viewport?.view.is2d();
102
100
  }, [SyncUiEventDispatcher_1.SyncUiEventId.ActiveContentChanged, SyncUiEventDispatcher_1.SyncUiEventId.ActiveViewportChanged, SyncUiEventDispatcher_1.SyncUiEventId.ViewStateChanged]),
103
101
  execute: async () => core_frontend_1.IModelApp.tools.run(core_frontend_1.WalkViewTool.toolId, core_frontend_1.IModelApp.viewManager.selectedView),
104
102
  });
@@ -125,26 +123,23 @@ class CoreTools {
125
123
  return new ToolItemDef_1.ToolItemDef({
126
124
  toolId: core_frontend_1.ViewToggleCameraTool.toolId,
127
125
  iconSpec: new appui_abstract_1.ConditionalStringValue(() => {
128
- var _a, _b;
129
126
  const activeContentControl = UiFramework_1.UiFramework.content.getActiveContentControl();
130
- if (((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is3d()) && ((_b = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _b === void 0 ? void 0 : _b.isCameraOn)) {
127
+ if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn) {
131
128
  return appui_abstract_1.IconSpecUtilities.createWebComponentIconSpec(camera_animation_svg_1.default);
132
129
  }
133
130
  return appui_abstract_1.IconSpecUtilities.createWebComponentIconSpec(camera_animation_disabled_svg_1.default);
134
131
  }, [SyncUiEventDispatcher_1.SyncUiEventId.ActiveContentChanged, SyncUiEventDispatcher_1.SyncUiEventId.ActiveViewportChanged, SyncUiEventDispatcher_1.SyncUiEventId.ViewStateChanged]),
135
132
  label: new appui_abstract_1.ConditionalStringValue(() => {
136
- var _a, _b;
137
133
  const activeContentControl = UiFramework_1.UiFramework.content.getActiveContentControl();
138
- if (((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is3d()) && ((_b = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _b === void 0 ? void 0 : _b.isCameraOn)) {
134
+ if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn) {
139
135
  return UiFramework_1.UiFramework.translate("tools.View.ToggleCamera.turnOffFlyover");
140
136
  }
141
137
  return UiFramework_1.UiFramework.translate("tools.View.ToggleCamera.turnOnFlyover");
142
138
  }, [SyncUiEventDispatcher_1.SyncUiEventId.ActiveContentChanged, SyncUiEventDispatcher_1.SyncUiEventId.ActiveViewportChanged, SyncUiEventDispatcher_1.SyncUiEventId.ViewStateChanged]),
143
139
  description: core_frontend_1.ViewToggleCameraTool.description,
144
140
  isHidden: new appui_abstract_1.ConditionalBooleanValue(() => {
145
- var _a, _b;
146
141
  const activeContentControl = UiFramework_1.UiFramework.content.getActiveContentControl();
147
- return !(((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is3d()) && ((_b = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _b === void 0 ? void 0 : _b.view.supportsCamera()));
142
+ return !(activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.view.supportsCamera());
148
143
  }, [SyncUiEventDispatcher_1.SyncUiEventId.ActiveContentChanged, SyncUiEventDispatcher_1.SyncUiEventId.ActiveViewportChanged, SyncUiEventDispatcher_1.SyncUiEventId.ViewStateChanged]),
149
144
  execute: async () => core_frontend_1.IModelApp.tools.run(core_frontend_1.ViewToggleCameraTool.toolId, core_frontend_1.IModelApp.viewManager.selectedView),
150
145
  });
@@ -259,9 +254,8 @@ class CoreTools {
259
254
  labelKey: "UiFramework:tools.sectionTools",
260
255
  iconSpec: appui_abstract_1.IconSpecUtilities.createWebComponentIconSpec(section_tool_svg_1.default),
261
256
  isHidden: new appui_abstract_1.ConditionalBooleanValue(() => {
262
- var _a;
263
257
  const activeContentControl = UiFramework_1.UiFramework.content.getActiveContentControl();
264
- return !!((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is2d());
258
+ return !!activeContentControl?.viewport?.view.is2d();
265
259
  }, [SyncUiEventDispatcher_1.SyncUiEventId.ActiveContentChanged, SyncUiEventDispatcher_1.SyncUiEventId.ActiveViewportChanged, SyncUiEventDispatcher_1.SyncUiEventId.ViewStateChanged]),
266
260
  items: [this.sectionByPlaneCommandItemDef, this.sectionByElementCommandItemDef, this.sectionByRangeCommandItemDef, this.sectionByShapeCommandItemDef],
267
261
  itemsInColumn: 4,
@@ -278,9 +272,8 @@ class CoreTools {
278
272
  panelLabelKey: "UiFramework:tools.sectionPanelLabel",
279
273
  iconSpec: appui_abstract_1.IconSpecUtilities.createWebComponentIconSpec(section_tool_svg_1.default),
280
274
  isHidden: new appui_abstract_1.ConditionalBooleanValue(() => {
281
- var _a;
282
275
  const activeContentControl = UiFramework_1.UiFramework.content.getActiveContentControl();
283
- return !!((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is2d());
276
+ return !!activeContentControl?.viewport?.view.is2d();
284
277
  }, [SyncUiEventDispatcher_1.SyncUiEventId.ActiveContentChanged, SyncUiEventDispatcher_1.SyncUiEventId.ActiveViewportChanged, SyncUiEventDispatcher_1.SyncUiEventId.ViewStateChanged]),
285
278
  items: [
286
279
  new ToolItemDef_1.ToolItemDef({