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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (627) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  3. package/lib/cjs/appui-react/_variables.scss +11 -11
  4. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  5. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  7. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  9. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  11. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  15. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/Calculator.scss +84 -84
  17. package/lib/cjs/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  19. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  21. package/lib/cjs/appui-react/accudraw/MenuButton.scss +18 -18
  22. package/lib/cjs/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  23. package/lib/cjs/appui-react/accudraw/SquareButton.js.map +1 -1
  24. package/lib/cjs/appui-react/accudraw/SquareButton.scss +29 -29
  25. package/lib/cjs/appui-react/accudraw/backspace.svg +9 -9
  26. package/lib/cjs/appui-react/accudraw/constraint-2d.svg +11 -11
  27. package/lib/cjs/appui-react/accudraw/height-2.svg +10 -10
  28. package/lib/cjs/appui-react/accudraw/height.svg +11 -11
  29. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  30. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  31. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  32. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  34. package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
  35. package/lib/cjs/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  36. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  37. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  38. package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
  39. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +21 -21
  40. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  41. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
  42. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +1 -1
  43. package/lib/cjs/appui-react/childwindow/PopoutWidget.scss +10 -10
  44. package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
  45. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  46. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  47. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  48. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  49. package/lib/cjs/appui-react/configurableui/configurableui.scss +74 -74
  50. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  51. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  52. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  53. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  54. package/lib/cjs/appui-react/content/ContentLayout.scss +127 -127
  55. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  56. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +46 -46
  57. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  58. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  59. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  60. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  61. package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -1
  62. package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -1
  63. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  64. package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -1
  65. package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -1
  66. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  67. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  68. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  69. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  70. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  71. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  72. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  73. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  74. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  75. package/lib/cjs/appui-react/dialog/ContentDialog.scss +25 -25
  76. package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -1
  77. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  78. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  79. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  80. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  81. package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
  82. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  83. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  84. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  85. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  86. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  87. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  88. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +50 -50
  89. package/lib/cjs/appui-react/framework/FrameworkBackstage.js.map +1 -1
  90. package/lib/cjs/appui-react/framework/FrameworkChildWindows.js.map +1 -1
  91. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
  92. package/lib/cjs/appui-react/framework/FrameworkControls.js.map +1 -1
  93. package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
  94. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  95. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  96. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  97. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  98. package/lib/cjs/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  99. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  100. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  101. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  102. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  103. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +80 -80
  104. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  105. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +11 -11
  106. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  107. package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
  108. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  109. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  110. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  111. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  112. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  113. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  114. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  115. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  116. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  117. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
  118. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  119. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  120. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  121. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  122. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  123. package/lib/cjs/appui-react/messages/HollowIcon.js.map +1 -1
  124. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  125. package/lib/cjs/appui-react/messages/InputField.scss +82 -82
  126. package/lib/cjs/appui-react/messages/MessageLabel.js.map +1 -1
  127. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  128. package/lib/cjs/appui-react/messages/MessageSpan.js.map +1 -1
  129. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  130. package/lib/cjs/appui-react/messages/Pointer.scss +42 -42
  131. package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  132. package/lib/cjs/appui-react/messages/StatusMessageManager.js.map +1 -1
  133. package/lib/cjs/appui-react/messages/getToastCategory.js.map +1 -1
  134. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  135. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  136. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  137. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  138. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
  139. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  140. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  141. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  142. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  143. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  144. package/lib/cjs/appui-react/pickers/ListPicker.scss +305 -305
  145. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  146. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  147. package/lib/cjs/appui-react/popup/CardPopup.scss +25 -25
  148. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  149. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  150. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  151. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +30 -30
  152. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  153. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  154. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  155. package/lib/cjs/appui-react/popup/PositionPopup.scss +28 -28
  156. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  157. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  158. package/lib/cjs/appui-react/redux/FrameworkState.js.map +1 -1
  159. package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
  160. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  161. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  162. package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
  163. package/lib/cjs/appui-react/redux/redux-ts.js.map +1 -1
  164. package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
  165. package/lib/cjs/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
  166. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  167. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  168. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  169. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  170. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
  171. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  172. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  173. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +65 -65
  174. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  175. package/lib/cjs/appui-react/shared/AnyItemDef.js.map +1 -1
  176. package/lib/cjs/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  177. package/lib/cjs/appui-react/shared/CommandItemDef.js.map +1 -1
  178. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  179. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  180. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  181. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  182. package/lib/cjs/appui-react/shared/ItemMap.js.map +1 -1
  183. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  184. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  185. package/lib/cjs/appui-react/shared/SelectionScope.js.map +1 -1
  186. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  187. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  188. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  189. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  190. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  191. package/lib/cjs/appui-react/statusbar/Field.js.map +1 -1
  192. package/lib/cjs/appui-react/statusbar/Field.scss +109 -109
  193. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  194. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  195. package/lib/cjs/appui-react/statusbar/LabelIndicator.scss +43 -43
  196. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  197. package/lib/cjs/appui-react/statusbar/Overflow.scss +27 -27
  198. package/lib/cjs/appui-react/statusbar/OverflowPanel.js.map +1 -1
  199. package/lib/cjs/appui-react/statusbar/OverflowPanel.scss +22 -22
  200. package/lib/cjs/appui-react/statusbar/Popup.js.map +1 -1
  201. package/lib/cjs/appui-react/statusbar/Separator.js.map +1 -1
  202. package/lib/cjs/appui-react/statusbar/Separator.scss +12 -12
  203. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  204. package/lib/cjs/appui-react/statusbar/StatusBar.scss +41 -41
  205. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  206. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  207. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  208. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  209. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  210. package/lib/cjs/appui-react/statusbar/dialog/Button.js.map +1 -1
  211. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  212. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  213. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  214. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  215. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  216. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  217. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  218. package/lib/cjs/appui-react/statusfields/SectionsField.scss +35 -35
  219. package/lib/cjs/appui-react/statusfields/SelectionCount.js.map +1 -1
  220. package/lib/cjs/appui-react/statusfields/SelectionCount.scss +12 -12
  221. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  222. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  223. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +46 -46
  224. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  225. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  226. package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +10 -10
  227. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  228. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
  229. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  230. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
  231. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  232. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  233. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  234. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  235. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  236. package/lib/cjs/appui-react/toolbar/DragInteraction.js.map +1 -1
  237. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  238. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  239. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  240. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  241. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  242. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  243. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  244. package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  245. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  246. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  247. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  248. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  249. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  250. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  251. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  252. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  253. package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
  254. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  255. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  256. package/lib/cjs/appui-react/toolsettings/ToolInformation.js.map +1 -1
  257. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  258. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  259. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  260. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  261. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  262. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  263. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  264. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  265. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  266. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  267. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  268. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  269. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
  270. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  271. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  272. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  273. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  274. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  275. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  276. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  277. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  278. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  279. package/lib/cjs/appui-react/utils/ViewUtilities.js.map +1 -1
  280. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  281. package/lib/cjs/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  282. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  283. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +19 -19
  284. package/lib/cjs/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  285. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  286. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  287. package/lib/cjs/appui-react/widget-panels/StatusBar.scss +10 -10
  288. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  289. package/lib/cjs/appui-react/widget-panels/Tab.scss +14 -14
  290. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  291. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +41 -41
  292. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  293. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +20 -20
  294. package/lib/cjs/appui-react/widget-panels/useTransientState.js.map +1 -1
  295. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  296. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  297. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  298. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  299. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  300. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  301. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  302. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  303. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  304. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  305. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  306. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  307. package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
  308. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  309. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  310. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  311. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  312. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
  313. package/lib/cjs/appui-react.js.map +1 -1
  314. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  315. package/lib/esm/appui-react/_variables.scss +11 -11
  316. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  317. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  318. package/lib/esm/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  319. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  320. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  321. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  322. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  323. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  324. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  325. package/lib/esm/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  326. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  327. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  328. package/lib/esm/appui-react/accudraw/Calculator.scss +84 -84
  329. package/lib/esm/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  330. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  331. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  332. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  333. package/lib/esm/appui-react/accudraw/MenuButton.scss +18 -18
  334. package/lib/esm/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  335. package/lib/esm/appui-react/accudraw/SquareButton.js.map +1 -1
  336. package/lib/esm/appui-react/accudraw/SquareButton.scss +29 -29
  337. package/lib/esm/appui-react/accudraw/backspace.svg +9 -9
  338. package/lib/esm/appui-react/accudraw/constraint-2d.svg +11 -11
  339. package/lib/esm/appui-react/accudraw/height-2.svg +10 -10
  340. package/lib/esm/appui-react/accudraw/height.svg +11 -11
  341. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  342. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  343. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  344. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  345. package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  346. package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
  347. package/lib/esm/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  348. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  349. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  350. package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
  351. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +21 -21
  352. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  353. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
  354. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +1 -1
  355. package/lib/esm/appui-react/childwindow/PopoutWidget.scss +10 -10
  356. package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
  357. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  358. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  359. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  360. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  361. package/lib/esm/appui-react/configurableui/configurableui.scss +74 -74
  362. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  363. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  364. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  365. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  366. package/lib/esm/appui-react/content/ContentLayout.scss +127 -127
  367. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  368. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +46 -46
  369. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  370. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  371. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  372. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  373. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -1
  374. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -1
  375. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  376. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -1
  377. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -1
  378. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  379. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  380. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  381. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  382. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  383. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  384. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  385. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  386. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  387. package/lib/esm/appui-react/dialog/ContentDialog.scss +25 -25
  388. package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -1
  389. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  390. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  391. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  392. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  393. package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
  394. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  395. package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  396. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  397. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  398. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  399. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  400. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +50 -50
  401. package/lib/esm/appui-react/framework/FrameworkBackstage.js.map +1 -1
  402. package/lib/esm/appui-react/framework/FrameworkChildWindows.js.map +1 -1
  403. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
  404. package/lib/esm/appui-react/framework/FrameworkControls.js.map +1 -1
  405. package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
  406. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  407. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  408. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  409. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  410. package/lib/esm/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  411. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  412. package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  413. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  414. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  415. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +80 -80
  416. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  417. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +11 -11
  418. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  419. package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -1
  420. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  421. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  422. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  423. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  424. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  425. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  426. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  427. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  428. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  429. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
  430. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  431. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  432. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  433. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  434. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  435. package/lib/esm/appui-react/messages/HollowIcon.js.map +1 -1
  436. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  437. package/lib/esm/appui-react/messages/InputField.scss +82 -82
  438. package/lib/esm/appui-react/messages/MessageLabel.js.map +1 -1
  439. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  440. package/lib/esm/appui-react/messages/MessageSpan.js.map +1 -1
  441. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  442. package/lib/esm/appui-react/messages/Pointer.scss +42 -42
  443. package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  444. package/lib/esm/appui-react/messages/StatusMessageManager.js.map +1 -1
  445. package/lib/esm/appui-react/messages/getToastCategory.js.map +1 -1
  446. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  447. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  448. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  449. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  450. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
  451. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  452. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  453. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  454. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  455. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  456. package/lib/esm/appui-react/pickers/ListPicker.scss +305 -305
  457. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  458. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  459. package/lib/esm/appui-react/popup/CardPopup.scss +25 -25
  460. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  461. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  462. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  463. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +30 -30
  464. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  465. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  466. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  467. package/lib/esm/appui-react/popup/PositionPopup.scss +28 -28
  468. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  469. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  470. package/lib/esm/appui-react/redux/FrameworkState.js.map +1 -1
  471. package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
  472. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  473. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  474. package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
  475. package/lib/esm/appui-react/redux/redux-ts.js.map +1 -1
  476. package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
  477. package/lib/esm/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
  478. package/lib/esm/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  479. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  480. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  481. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  482. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
  483. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  484. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  485. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +65 -65
  486. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  487. package/lib/esm/appui-react/shared/AnyItemDef.js.map +1 -1
  488. package/lib/esm/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  489. package/lib/esm/appui-react/shared/CommandItemDef.js.map +1 -1
  490. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  491. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  492. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  493. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  494. package/lib/esm/appui-react/shared/ItemMap.js.map +1 -1
  495. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  496. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  497. package/lib/esm/appui-react/shared/SelectionScope.js.map +1 -1
  498. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  499. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  500. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  501. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  502. package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  503. package/lib/esm/appui-react/statusbar/Field.js.map +1 -1
  504. package/lib/esm/appui-react/statusbar/Field.scss +109 -109
  505. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  506. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  507. package/lib/esm/appui-react/statusbar/LabelIndicator.scss +43 -43
  508. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  509. package/lib/esm/appui-react/statusbar/Overflow.scss +27 -27
  510. package/lib/esm/appui-react/statusbar/OverflowPanel.js.map +1 -1
  511. package/lib/esm/appui-react/statusbar/OverflowPanel.scss +22 -22
  512. package/lib/esm/appui-react/statusbar/Popup.js.map +1 -1
  513. package/lib/esm/appui-react/statusbar/Separator.js.map +1 -1
  514. package/lib/esm/appui-react/statusbar/Separator.scss +12 -12
  515. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  516. package/lib/esm/appui-react/statusbar/StatusBar.scss +41 -41
  517. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  518. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  519. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  520. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  521. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  522. package/lib/esm/appui-react/statusbar/dialog/Button.js.map +1 -1
  523. package/lib/esm/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  524. package/lib/esm/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  525. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  526. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  527. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  528. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  529. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  530. package/lib/esm/appui-react/statusfields/SectionsField.scss +35 -35
  531. package/lib/esm/appui-react/statusfields/SelectionCount.js.map +1 -1
  532. package/lib/esm/appui-react/statusfields/SelectionCount.scss +12 -12
  533. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  534. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  535. package/lib/esm/appui-react/statusfields/SelectionScope.scss +46 -46
  536. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  537. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  538. package/lib/esm/appui-react/statusfields/ViewAttributes.scss +10 -10
  539. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  540. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
  541. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  542. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
  543. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  544. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  545. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  546. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  547. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  548. package/lib/esm/appui-react/toolbar/DragInteraction.js.map +1 -1
  549. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  550. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  551. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  552. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  553. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  554. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  555. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  556. package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  557. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  558. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  559. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  560. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  561. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  562. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  563. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  564. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  565. package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
  566. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  567. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  568. package/lib/esm/appui-react/toolsettings/ToolInformation.js.map +1 -1
  569. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  570. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  571. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  572. package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  573. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  574. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  575. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  576. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  577. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  578. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  579. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  580. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  581. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
  582. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  583. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  584. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  585. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  586. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  587. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  588. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  589. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  590. package/lib/esm/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  591. package/lib/esm/appui-react/utils/ViewUtilities.js.map +1 -1
  592. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  593. package/lib/esm/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  594. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  595. package/lib/esm/appui-react/widget-panels/Frontstage.scss +19 -19
  596. package/lib/esm/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  597. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  598. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  599. package/lib/esm/appui-react/widget-panels/StatusBar.scss +10 -10
  600. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  601. package/lib/esm/appui-react/widget-panels/Tab.scss +14 -14
  602. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  603. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +41 -41
  604. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  605. package/lib/esm/appui-react/widget-panels/Toolbars.scss +20 -20
  606. package/lib/esm/appui-react/widget-panels/useTransientState.js.map +1 -1
  607. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  608. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  609. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  610. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  611. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  612. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  613. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  614. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  615. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  616. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  617. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  618. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  619. package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
  620. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  621. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  622. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  623. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  624. package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -1
  625. package/lib/esm/appui-react.js.map +1 -1
  626. package/lib/public/locales/en/UiFramework.json +333 -333
  627. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBarItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport { ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport type { StatusBarItem } from \"./StatusBarItem\";\n\ntype InstanceOrArray<T> = T | ReadonlyArray<T>;\n\nconst isInstance = <T>(args: InstanceOrArray<T>): args is T => {\n return !Array.isArray(args);\n};\n\n/** Arguments of [[StatusBarItemsManager.onChanged]] event.\n * @internal\n */\nexport interface StatusBarItemsChangedArgs {\n readonly items: ReadonlyArray<StatusBarItem>;\n}\n\n/**\n * Controls status bar items.\n * @internal\n */\nexport class StatusBarItemsManager {\n private _items: ReadonlyArray<StatusBarItem> = [];\n\n constructor(items?: ReadonlyArray<StatusBarItem>) {\n if (items)\n this.loadItemsInternal(items, true, false);\n }\n\n /** Event raised when StatusBar items are changed.\n * @internal\n */\n public readonly onItemsChanged = new BeEvent<(args: StatusBarItemsChangedArgs) => void>();\n\n private loadItemsInternal(items: ReadonlyArray<StatusBarItem>, processConditions: boolean, sendItemChanged: boolean) {\n if (processConditions && items) {\n const eventIds = StatusBarItemsManager.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<StatusBarItem>) {\n this.loadItemsInternal(items, true, false);\n }\n\n /** Get an array of the StatusBar items */\n public get items(): ReadonlyArray<StatusBarItem> {\n return this._items;\n }\n\n public set items(items: ReadonlyArray<StatusBarItem>) {\n // istanbul ignore else\n if (items !== this._items)\n this.loadItemsInternal(items, true, true);\n }\n\n public add(itemOrItems: StatusBarItem | ReadonlyArray<StatusBarItem>) {\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 StatusBar items based on id */\n public remove(itemIdOrItemIds: StatusBarItem[\"id\"] | ReadonlyArray<StatusBarItem[\"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 public static getSyncIdsOfInterest(items: readonly StatusBarItem[]): string[] {\n const eventIds = new Set<string>();\n items.forEach((item) => {\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 return [...eventIds.values()];\n }\n\n private internalRefreshAffectedItems(items: readonly StatusBarItem[], eventIds: Set<string>): { itemsUpdated: boolean, updatedItems: StatusBarItem[] } {\n // istanbul ignore next\n if (0 === eventIds.size)\n return { itemsUpdated: false, updatedItems: [] };\n\n let updateRequired = false;\n\n const newItems: StatusBarItem[] = [];\n for (const item of items) {\n const updatedItem = { ...item };\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"]}
1
+ {"version":3,"file":"StatusBarItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarItemsManager.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 StatusBar\r\n */\r\n\r\nimport { ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport type { StatusBarItem } from \"./StatusBarItem\";\r\n\r\ntype InstanceOrArray<T> = T | ReadonlyArray<T>;\r\n\r\nconst isInstance = <T>(args: InstanceOrArray<T>): args is T => {\r\n return !Array.isArray(args);\r\n};\r\n\r\n/** Arguments of [[StatusBarItemsManager.onChanged]] event.\r\n * @internal\r\n */\r\nexport interface StatusBarItemsChangedArgs {\r\n readonly items: ReadonlyArray<StatusBarItem>;\r\n}\r\n\r\n/**\r\n * Controls status bar items.\r\n * @internal\r\n */\r\nexport class StatusBarItemsManager {\r\n private _items: ReadonlyArray<StatusBarItem> = [];\r\n\r\n constructor(items?: ReadonlyArray<StatusBarItem>) {\r\n if (items)\r\n this.loadItemsInternal(items, true, false);\r\n }\r\n\r\n /** Event raised when StatusBar items are changed.\r\n * @internal\r\n */\r\n public readonly onItemsChanged = new BeEvent<(args: StatusBarItemsChangedArgs) => void>();\r\n\r\n private loadItemsInternal(items: ReadonlyArray<StatusBarItem>, processConditions: boolean, sendItemChanged: boolean) {\r\n if (processConditions && items) {\r\n const eventIds = StatusBarItemsManager.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<StatusBarItem>) {\r\n this.loadItemsInternal(items, true, false);\r\n }\r\n\r\n /** Get an array of the StatusBar items */\r\n public get items(): ReadonlyArray<StatusBarItem> {\r\n return this._items;\r\n }\r\n\r\n public set items(items: ReadonlyArray<StatusBarItem>) {\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: StatusBarItem | ReadonlyArray<StatusBarItem>) {\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 StatusBar items based on id */\r\n public remove(itemIdOrItemIds: StatusBarItem[\"id\"] | ReadonlyArray<StatusBarItem[\"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 public static getSyncIdsOfInterest(items: readonly StatusBarItem[]): string[] {\r\n const eventIds = new Set<string>();\r\n items.forEach((item) => {\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 return [...eventIds.values()];\r\n }\r\n\r\n private internalRefreshAffectedItems(items: readonly StatusBarItem[], eventIds: Set<string>): { itemsUpdated: boolean, updatedItems: StatusBarItem[] } {\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: StatusBarItem[] = [];\r\n for (const item of items) {\r\n const updatedItem = { ...item };\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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBarWidgetControl.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarWidgetControl.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAOzD;;GAEG;AACH,MAAM,OAAgB,sBAAuB,SAAQ,aAAa;IAChE,YAAY,IAA4B,EAAE,OAAY;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvB,CAAC;IAKD,sFAAsF;IACtE,OAAO,KAAgC,OAAO,yBAAyB,CAAC,eAAe,CAAC,CAAC,CAAC;CAC3G","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 StatusBar\n */\n\nimport type { ConfigurableCreateInfo} from \"../configurableui/ConfigurableUiControl\";\nimport { ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\nimport { WidgetControl } from \"../widgets/WidgetControl\";\n\n/** Status Bar Field type.\n * @public\n */\nexport type StatusBarFieldId = string | null;\n\n/** Status Bar Widget Control.\n * @public\n */\nexport abstract class StatusBarWidgetControl extends WidgetControl {\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n }\n\n /** Gets the React node associated with this StatusBar Widget Control */\n public abstract getReactNode(): React.ReactNode;\n\n /** Gets the type of ConfigurableUiControl, which is 'StatusBarWidget' in this case */\n public override getType(): ConfigurableUiControlType { return ConfigurableUiControlType.StatusBarWidget; }\n}\n"]}
1
+ {"version":3,"file":"StatusBarWidgetControl.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarWidgetControl.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAOzD;;GAEG;AACH,MAAM,OAAgB,sBAAuB,SAAQ,aAAa;IAChE,YAAY,IAA4B,EAAE,OAAY;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvB,CAAC;IAKD,sFAAsF;IACtE,OAAO,KAAgC,OAAO,yBAAyB,CAAC,eAAe,CAAC,CAAC,CAAC;CAC3G","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 StatusBar\r\n */\r\n\r\nimport type { ConfigurableCreateInfo} from \"../configurableui/ConfigurableUiControl\";\r\nimport { ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\r\nimport { WidgetControl } from \"../widgets/WidgetControl\";\r\n\r\n/** Status Bar Field type.\r\n * @public\r\n */\r\nexport type StatusBarFieldId = string | null;\r\n\r\n/** Status Bar Widget Control.\r\n * @public\r\n */\r\nexport abstract class StatusBarWidgetControl extends WidgetControl {\r\n constructor(info: ConfigurableCreateInfo, options: any) {\r\n super(info, options);\r\n }\r\n\r\n /** Gets the React node associated with this StatusBar Widget Control */\r\n public abstract getReactNode(): React.ReactNode;\r\n\r\n /** Gets the type of ConfigurableUiControl, which is 'StatusBarWidget' in this case */\r\n public override getType(): ConfigurableUiControlType { return ConfigurableUiControlType.StatusBarWidget; }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../../../src/appui-react/statusbar/dialog/Button.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAc3D;;EAEE;AACF,MAAM,UAAU,6BAA6B,CAAC,KAAyC;IACrF,OAAO,CACL,oBAAC,cAAc,OAAK,KAAK,GAAI,CAC9B,CAAC;AACJ,CAAC","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 StatusBar\n */\n\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { TitleBarButton } from \"@itwin/appui-layout-react\";\n\n/** Properties of [[StatusBarDialogTitleBarButton]] component.\n * @beta\n */\nexport interface StatusBarDialogTitleBarButtonProps extends CommonProps {\n /** Button content. */\n children?: React.ReactNode;\n /** Function called when button is clicked. */\n onClick?: () => void;\n /** Button title. */\n title?: string;\n}\n\n/** Dialog component used in a [[StatusBarDialog]] component.\n* @beta\n*/\nexport function StatusBarDialogTitleBarButton(props: StatusBarDialogTitleBarButtonProps) {\n return (\n <TitleBarButton {...props} />\n );\n}\n"]}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../../../src/appui-react/statusbar/dialog/Button.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAc3D;;EAEE;AACF,MAAM,UAAU,6BAA6B,CAAC,KAAyC;IACrF,OAAO,CACL,oBAAC,cAAc,OAAK,KAAK,GAAI,CAC9B,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport type { CommonProps } from \"@itwin/core-react\";\r\nimport { TitleBarButton } from \"@itwin/appui-layout-react\";\r\n\r\n/** Properties of [[StatusBarDialogTitleBarButton]] component.\r\n * @beta\r\n */\r\nexport interface StatusBarDialogTitleBarButtonProps extends CommonProps {\r\n /** Button content. */\r\n children?: React.ReactNode;\r\n /** Function called when button is clicked. */\r\n onClick?: () => void;\r\n /** Button title. */\r\n title?: string;\r\n}\r\n\r\n/** Dialog component used in a [[StatusBarDialog]] component.\r\n* @beta\r\n*/\r\nexport function StatusBarDialogTitleBarButton(props: StatusBarDialogTitleBarButtonProps) {\r\n return (\r\n <TitleBarButton {...props} />\r\n );\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../../src/appui-react/statusbar/dialog/Dialog.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAYzD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,OAAO,oBAAC,MAAM,OAAK,KAAK,GAAI,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,WAAiB,eAAe;IAC9B,0CAA0C;IAC7B,wBAAQ,GAAG,uBAAuB,CAAC;IAEhD,iDAAiD;IACpC,8BAAc,GAAG,6BAA6B,CAAC;AAC9D,CAAC,EANgB,eAAe,KAAf,eAAe,QAM/B","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 StatusBar\n */\n\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Dialog } from \"@itwin/appui-layout-react\";\nimport { StatusBarDialogTitleBar } from \"./TitleBar\";\nimport { StatusBarDialogTitleBarButton } from \"./Button\";\n\n/** Properties of [[StatusBarDialog]] component.\n * @beta\n */\nexport interface StatusBarDialogProps extends CommonProps {\n /** Dialog content. */\n children?: React.ReactNode;\n /** Dialog title bar. See [[StatusBarDialog.TitleBar]] */\n titleBar?: React.ReactNode;\n}\n\n/** Dialog component used in a [[StatusBarIndicator]] component.\n * @beta\n */\nexport function StatusBarDialog(props: StatusBarDialogProps) {\n return <Dialog {...props} />;\n}\n\n/** Components used in a [[StatusBarDialog]].\n * @beta\n */\nexport namespace StatusBarDialog {\n /** Title bar of a [[StatusBarDialog]]. */\n export const TitleBar = StatusBarDialogTitleBar;\n\n /** Title bar button of a [[StatusBarDialog]]. */\n export const TitleBarButton = StatusBarDialogTitleBarButton;\n}\n"]}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../../src/appui-react/statusbar/dialog/Dialog.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAYzD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,OAAO,oBAAC,MAAM,OAAK,KAAK,GAAI,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,WAAiB,eAAe;IAC9B,0CAA0C;IAC7B,wBAAQ,GAAG,uBAAuB,CAAC;IAEhD,iDAAiD;IACpC,8BAAc,GAAG,6BAA6B,CAAC;AAC9D,CAAC,EANgB,eAAe,KAAf,eAAe,QAM/B","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 StatusBar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport type { CommonProps } from \"@itwin/core-react\";\r\nimport { Dialog } from \"@itwin/appui-layout-react\";\r\nimport { StatusBarDialogTitleBar } from \"./TitleBar\";\r\nimport { StatusBarDialogTitleBarButton } from \"./Button\";\r\n\r\n/** Properties of [[StatusBarDialog]] component.\r\n * @beta\r\n */\r\nexport interface StatusBarDialogProps extends CommonProps {\r\n /** Dialog content. */\r\n children?: React.ReactNode;\r\n /** Dialog title bar. See [[StatusBarDialog.TitleBar]] */\r\n titleBar?: React.ReactNode;\r\n}\r\n\r\n/** Dialog component used in a [[StatusBarIndicator]] component.\r\n * @beta\r\n */\r\nexport function StatusBarDialog(props: StatusBarDialogProps) {\r\n return <Dialog {...props} />;\r\n}\r\n\r\n/** Components used in a [[StatusBarDialog]].\r\n * @beta\r\n */\r\nexport namespace StatusBarDialog {\r\n /** Title bar of a [[StatusBarDialog]]. */\r\n export const TitleBar = StatusBarDialogTitleBar;\r\n\r\n /** Title bar button of a [[StatusBarDialog]]. */\r\n export const TitleBarButton = StatusBarDialogTitleBarButton;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TitleBar.js","sourceRoot":"","sources":["../../../../../src/appui-react/statusbar/dialog/TitleBar.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAYrD;;EAEE;AACF,MAAM,UAAU,uBAAuB,CAAC,KAAmC;IACzE,OAAO,oBAAC,QAAQ,OAAK,KAAK,GAAI,CAAC;AACjC,CAAC","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 StatusBar\n */\n\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { TitleBar } from \"@itwin/appui-layout-react\";\n\n/** Properties of [[StatusBarDialogTitleBar]] component.\n * @beta\n */\nexport interface StatusBarDialogTitleBarProps extends CommonProps {\n /** Title bar buttons. */\n children?: React.ReactNode;\n /** Title bar title. */\n title?: string;\n}\n\n/** Dialog component used in a [[StatusBarDialog]] component.\n* @beta\n*/\nexport function StatusBarDialogTitleBar(props: StatusBarDialogTitleBarProps) {\n return <TitleBar {...props} />;\n}\n"]}
1
+ {"version":3,"file":"TitleBar.js","sourceRoot":"","sources":["../../../../../src/appui-react/statusbar/dialog/TitleBar.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAYrD;;EAEE;AACF,MAAM,UAAU,uBAAuB,CAAC,KAAmC;IACzE,OAAO,oBAAC,QAAQ,OAAK,KAAK,GAAI,CAAC;AACjC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport type { CommonProps } from \"@itwin/core-react\";\r\nimport { TitleBar } from \"@itwin/appui-layout-react\";\r\n\r\n/** Properties of [[StatusBarDialogTitleBar]] component.\r\n * @beta\r\n */\r\nexport interface StatusBarDialogTitleBarProps extends CommonProps {\r\n /** Title bar buttons. */\r\n children?: React.ReactNode;\r\n /** Title bar title. */\r\n title?: string;\r\n}\r\n\r\n/** Dialog component used in a [[StatusBarDialog]] component.\r\n* @beta\r\n*/\r\nexport function StatusBarDialogTitleBar(props: StatusBarDialogTitleBarProps) {\r\n return <TitleBar {...props} />;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useDefaultStatusBarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useDefaultStatusBarItems.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAA8B,EAA4B,EAAE;IACnG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,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,CAAC,CAAC,CAAC;IACd,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","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 StatusBar\n */\n\nimport * as React from \"react\";\nimport type { StatusBarItem } from \"./StatusBarItem\";\nimport type { StatusBarItemsManager } from \"./StatusBarItemsManager\";\n\n/** Hook that returns items from [[StatusBarItemsManager]].\n * @public\n */\nexport const useDefaultStatusBarItems = (manager: StatusBarItemsManager): readonly StatusBarItem[] => {\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]);\n React.useEffect(() => {\n return manager.onItemsChanged.addListener((args) => {\n setItems(args.items);\n });\n }, [manager]);\n return items;\n};\n"]}
1
+ {"version":3,"file":"useDefaultStatusBarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useDefaultStatusBarItems.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAA8B,EAA4B,EAAE;IACnG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,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,CAAC,CAAC,CAAC;IACd,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","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 StatusBar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport type { StatusBarItem } from \"./StatusBarItem\";\r\nimport type { StatusBarItemsManager } from \"./StatusBarItemsManager\";\r\n\r\n/** Hook that returns items from [[StatusBarItemsManager]].\r\n * @public\r\n */\r\nexport const useDefaultStatusBarItems = (manager: StatusBarItemsManager): readonly StatusBarItem[] => {\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]);\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 +1 @@
1
- {"version":3,"file":"useUiItemsProviderStatusBarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useUiItemsProviderStatusBarItems.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAIrE;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,OAA8B,EAA4B,EAAE;IAC3G,MAAM,iBAAiB,GAAG,4BAA4B,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,gBAAgB,EAAE,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,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,uBAAuB;QACvB,IAAI,YAAY,CAAC,OAAO,KAAK,WAAW,IAAI,eAAe,CAAC,OAAO,KAAK,OAAO,EAAE;YAC/E,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;YAClC,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;YAClE,uBAAuB;YACvB,IAAI,aAAa,EAAE;gBACjB,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC;gBACnC,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;gBACtF,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBAClC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACzB;SACF;IAEH,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,uFAAuF;IACvF,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","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 StatusBar\n */\n\nimport * as React from \"react\";\nimport { useActiveStageId } from \"../hooks/useActiveStageId\";\nimport { useAvailableUiItemsProviders } from \"../hooks/useAvailableUiItemsProviders\";\nimport { UiFramework } from \"../UiFramework\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport type { StatusBarItem } from \"./StatusBarItem\";\nimport type { StatusBarItemsManager } from \"./StatusBarItemsManager\";\n\n/** Hook that returns items from [[StatusBarItemsManager]].\n * @public\n */\nexport const useUiItemsProviderStatusBarItems = (manager: StatusBarItemsManager): readonly StatusBarItem[] => {\n const uiItemProviderIds = 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 = uiItemProviderIds.join(\"-\");\n // istanbul ignore else\n if (providersRef.current !== uiProviders || currentStageRef.current !== stageId) {\n currentStageRef.current = stageId;\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n // istanbul ignore else\n if (frontstageDef) {\n providersRef.current = uiProviders;\n const statusBarItems = UiItemsManager.getStatusBarItems(stageId, frontstageDef.usage);\n manager.loadItems(statusBarItems);\n setItems(manager.items);\n }\n }\n\n }, [manager, uiItemProviderIds, stageId]);\n // handle item changes caused by setter calls to UiFramework.addonStatusBarItemsManager\n React.useEffect(() => {\n return manager.onItemsChanged.addListener((args) => {\n setItems(args.items);\n });\n }, [manager]);\n return items;\n};\n"]}
1
+ {"version":3,"file":"useUiItemsProviderStatusBarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useUiItemsProviderStatusBarItems.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAIrE;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,OAA8B,EAA4B,EAAE;IAC3G,MAAM,iBAAiB,GAAG,4BAA4B,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,gBAAgB,EAAE,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,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,uBAAuB;QACvB,IAAI,YAAY,CAAC,OAAO,KAAK,WAAW,IAAI,eAAe,CAAC,OAAO,KAAK,OAAO,EAAE;YAC/E,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;YAClC,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;YAClE,uBAAuB;YACvB,IAAI,aAAa,EAAE;gBACjB,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC;gBACnC,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;gBACtF,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBAClC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACzB;SACF;IAEH,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,uFAAuF;IACvF,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","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 StatusBar\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 { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\r\nimport type { StatusBarItem } from \"./StatusBarItem\";\r\nimport type { StatusBarItemsManager } from \"./StatusBarItemsManager\";\r\n\r\n/** Hook that returns items from [[StatusBarItemsManager]].\r\n * @public\r\n */\r\nexport const useUiItemsProviderStatusBarItems = (manager: StatusBarItemsManager): readonly StatusBarItem[] => {\r\n const uiItemProviderIds = 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 = uiItemProviderIds.join(\"-\");\r\n // istanbul ignore else\r\n if (providersRef.current !== uiProviders || currentStageRef.current !== stageId) {\r\n currentStageRef.current = stageId;\r\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\r\n // istanbul ignore else\r\n if (frontstageDef) {\r\n providersRef.current = uiProviders;\r\n const statusBarItems = UiItemsManager.getStatusBarItems(stageId, frontstageDef.usage);\r\n manager.loadItems(statusBarItems);\r\n setItems(manager.items);\r\n }\r\n }\r\n\r\n }, [manager, uiItemProviderIds, stageId]);\r\n // handle item changes caused by setter calls to UiFramework.addonStatusBarItemsManager\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 +1 @@
1
- {"version":3,"file":"ActivityCenter.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/ActivityCenter.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IACpD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAoB,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC5B,WAAW,CAAC,SAAS,CAAC,gCAAgC,CAAC,CACxD,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,cAAc,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACvE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,cAAc,CAAC,+BAA+B,CAAC,WAAW,CAAC,GAAG,EAAE;YACrE,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,cAAc,CAAC,0BAA0B,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,GAAG,CAAC;IAC7D,IAAI,CAAC,SAAS,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAElD,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC;IAE5C,OAAO,CACL,oBAAC,QAAQ,IACP,SAAS,EAAE,UAAU,CAAC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC,EAC/D,KAAK,EAAE;YACL,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,GAAG;YACb,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,KAAK;YACjB,GAAG,KAAK,CAAC,KAAK;SACf,EACD,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,OAAO;QAEd,oBAAC,cAAc,IACb,KAAK,EAAE;gBACL,IAAI,EAAE,GAAG;aACV,EACD,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE;gBACN,oBAAC,IAAI,IAAC,OAAO,EAAC,OAAO,EAAC,GAAG,EAAE,CAAC;oBACzB,UAAU;;oBAAG,KAAK,CACd;aACR,GACD,CACO,CACZ,CAAC;AACJ,CAAC","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 Notification\n */\n\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Centered } from \"@itwin/core-react\";\nimport { MessageManager } from \"../messages/MessageManager\";\nimport type { NotifyMessageType } from \"../messages/ReactNotifyMessageDetails\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ProgressLinear, Text } from \"@itwin/itwinui-react\";\n\n/** Activity Center Field React component.\n * @public\n */\nexport function ActivityCenterField(props: CommonProps) {\n const [message, setMessage] = React.useState<NotifyMessageType>(\"\");\n const [percentage, setPercentage] = React.useState<number>(0);\n const [isVisible, setIsVisible] = React.useState<boolean>(true);\n const [label] = React.useState(\n UiFramework.translate(\"activityCenter.percentComplete\")\n );\n\n React.useEffect(() => {\n return MessageManager.onActivityMessageUpdatedEvent.addListener((args) => {\n setMessage(args.message);\n setPercentage(args.percentage);\n setIsVisible(true);\n });\n }, []);\n\n React.useEffect(() => {\n return MessageManager.onActivityMessageCancelledEvent.addListener(() => {\n setIsVisible(false);\n });\n }, []);\n\n const openActivityMessage = () => {\n MessageManager.setupActivityMessageValues(message, percentage, true);\n };\n\n const isPercentageValid = percentage > 0 && percentage < 100;\n if (!isVisible || !isPercentageValid) return null;\n\n const moreDetails = UiFramework.translate(\"activityCenter.moreDetails\");\n const tooltip = `${message}-${moreDetails}`;\n\n return (\n <Centered\n className={classnames(\"open-activity-message\", props.className)}\n style={{\n height: \"100%\",\n minWidth: 120,\n padding: \"0 8px\",\n alignItems: \"end\",\n ...props.style,\n }}\n onClick={openActivityMessage}\n title={tooltip}\n >\n <ProgressLinear\n style={{\n flex: \"1\",\n }}\n value={percentage}\n labels={[\n <Text variant=\"small\" key={0}>\n {percentage} {label}\n </Text>,\n ]}\n />\n </Centered>\n );\n}\n"]}
1
+ {"version":3,"file":"ActivityCenter.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/ActivityCenter.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IACpD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAoB,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC5B,WAAW,CAAC,SAAS,CAAC,gCAAgC,CAAC,CACxD,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,cAAc,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACvE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,cAAc,CAAC,+BAA+B,CAAC,WAAW,CAAC,GAAG,EAAE;YACrE,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,cAAc,CAAC,0BAA0B,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,GAAG,CAAC;IAC7D,IAAI,CAAC,SAAS,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAElD,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC;IAE5C,OAAO,CACL,oBAAC,QAAQ,IACP,SAAS,EAAE,UAAU,CAAC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC,EAC/D,KAAK,EAAE;YACL,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,GAAG;YACb,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,KAAK;YACjB,GAAG,KAAK,CAAC,KAAK;SACf,EACD,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,OAAO;QAEd,oBAAC,cAAc,IACb,KAAK,EAAE;gBACL,IAAI,EAAE,GAAG;aACV,EACD,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE;gBACN,oBAAC,IAAI,IAAC,OAAO,EAAC,OAAO,EAAC,GAAG,EAAE,CAAC;oBACzB,UAAU;;oBAAG,KAAK,CACd;aACR,GACD,CACO,CACZ,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Notification\r\n */\r\n\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport type { CommonProps } from \"@itwin/core-react\";\r\nimport { Centered } from \"@itwin/core-react\";\r\nimport { MessageManager } from \"../messages/MessageManager\";\r\nimport type { NotifyMessageType } from \"../messages/ReactNotifyMessageDetails\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ProgressLinear, Text } from \"@itwin/itwinui-react\";\r\n\r\n/** Activity Center Field React component.\r\n * @public\r\n */\r\nexport function ActivityCenterField(props: CommonProps) {\r\n const [message, setMessage] = React.useState<NotifyMessageType>(\"\");\r\n const [percentage, setPercentage] = React.useState<number>(0);\r\n const [isVisible, setIsVisible] = React.useState<boolean>(true);\r\n const [label] = React.useState(\r\n UiFramework.translate(\"activityCenter.percentComplete\")\r\n );\r\n\r\n React.useEffect(() => {\r\n return MessageManager.onActivityMessageUpdatedEvent.addListener((args) => {\r\n setMessage(args.message);\r\n setPercentage(args.percentage);\r\n setIsVisible(true);\r\n });\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n return MessageManager.onActivityMessageCancelledEvent.addListener(() => {\r\n setIsVisible(false);\r\n });\r\n }, []);\r\n\r\n const openActivityMessage = () => {\r\n MessageManager.setupActivityMessageValues(message, percentage, true);\r\n };\r\n\r\n const isPercentageValid = percentage > 0 && percentage < 100;\r\n if (!isVisible || !isPercentageValid) return null;\r\n\r\n const moreDetails = UiFramework.translate(\"activityCenter.moreDetails\");\r\n const tooltip = `${message}-${moreDetails}`;\r\n\r\n return (\r\n <Centered\r\n className={classnames(\"open-activity-message\", props.className)}\r\n style={{\r\n height: \"100%\",\r\n minWidth: 120,\r\n padding: \"0 8px\",\r\n alignItems: \"end\",\r\n ...props.style,\r\n }}\r\n onClick={openActivityMessage}\r\n title={tooltip}\r\n >\r\n <ProgressLinear\r\n style={{\r\n flex: \"1\",\r\n }}\r\n value={percentage}\r\n labels={[\r\n <Text variant=\"small\" key={0}>\r\n {percentage} {label}\r\n </Text>,\r\n ]}\r\n />\r\n </Centered>\r\n );\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageCenter.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/MessageCenter.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 Notification\n */\n\nimport * as React from \"react\";\nimport { OutputMessagePriority } from \"@itwin/core-frontend\";\nimport { FooterPopup, MessageCenter, MessageCenterDialog, MessageCenterMessage, MessageCenterTab } from \"@itwin/appui-layout-react\";\nimport { MessageManager } from \"../messages/MessageManager\";\nimport { MessageSpan } from \"../messages/MessageSpan\";\nimport type { NotifyMessageDetailsType } from \"../messages/ReactNotifyMessageDetails\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { CommonProps} from \"@itwin/core-react\";\nimport { Icon } from \"@itwin/core-react\";\nimport classnames from \"classnames\";\n\n/** Enum for the [[MessageCenterField]] active tab\n * @internal\n */\nenum MessageCenterActiveTab {\n AllMessages,\n Problems,\n}\n\n/** State for the [[MessageCenterField]] React component\n * @internal\n */\ninterface MessageCenterState {\n activeTab: MessageCenterActiveTab;\n target: HTMLDivElement | null;\n messageCount: number;\n isOpen: boolean;\n}\n\n/** Message Center Field React component.\n * @public\n */\nexport class MessageCenterField extends React.Component<CommonProps, MessageCenterState> {\n private _indicator = React.createRef<HTMLDivElement>();\n private _title = UiFramework.translate(\"messageCenter.messages\");\n private _unloadMessagesUpdatedHandler?: () => void;\n private _removeOpenMessagesCenterHandler?: () => void;\n\n constructor(p: CommonProps) {\n super(p);\n\n this.state = {\n activeTab: MessageCenterActiveTab.AllMessages,\n target: null,\n messageCount: MessageManager.messages.length,\n isOpen: false,\n };\n }\n\n /** @internal */\n public override componentDidMount() {\n this._unloadMessagesUpdatedHandler = MessageManager.onMessagesUpdatedEvent.addListener(this._handleMessagesUpdatedEvent, this);\n this._removeOpenMessagesCenterHandler = MessageManager.onOpenMessageCenterEvent.addListener(this._handleOpenMessageCenterEvent, this);\n MessageManager.registerAnimateOutToElement(this._indicator.current);\n }\n\n /** @internal */\n public override componentWillUnmount() {\n // istanbul ignore else\n if (this._unloadMessagesUpdatedHandler) {\n this._unloadMessagesUpdatedHandler();\n this._unloadMessagesUpdatedHandler = undefined;\n }\n // istanbul ignore else\n if (this._removeOpenMessagesCenterHandler) {\n this._removeOpenMessagesCenterHandler();\n this._removeOpenMessagesCenterHandler = undefined;\n }\n }\n\n private _handleMessagesUpdatedEvent = () => {\n // istanbul ignore else\n if (this._unloadMessagesUpdatedHandler)\n this.setState({ messageCount: MessageManager.messages.length });\n };\n\n private _handleOpenMessageCenterEvent = () => {\n this.setIsOpen(true);\n };\n\n public override render(): React.ReactNode {\n const tooltip = `${this.state.messageCount} ${this._title}`;\n const divStyle = { ...this.props.style, height: \"100%\" };\n const footerMessages = (\n <>\n <div\n className={this.props.className}\n style={divStyle}\n title={tooltip}\n >\n <MessageCenter\n indicatorRef={this._indicator}\n label={this._title}\n onClick={this._handleMessageIndicatorClick}\n >\n {this.state.messageCount.toString()}\n </MessageCenter>\n </div>\n <FooterPopup\n isOpen={this.state.isOpen}\n onClose={this._handleClose}\n onOutsideClick={this._handleOutsideClick}\n target={this._indicator.current}\n >\n <MessageCenterDialog\n prompt={UiFramework.translate(\"messageCenter.prompt\")}\n tabs={\n <>\n <MessageCenterTab\n isActive={this.state.activeTab === MessageCenterActiveTab.AllMessages}\n onClick={() => this._changeActiveTab(MessageCenterActiveTab.AllMessages)}\n >\n {UiFramework.translate(\"messageCenter.all\")}\n </MessageCenterTab>\n <MessageCenterTab\n isActive={this.state.activeTab === MessageCenterActiveTab.Problems}\n onClick={() => this._changeActiveTab(MessageCenterActiveTab.Problems)}\n >\n {UiFramework.translate(\"messageCenter.errors\")}\n </MessageCenterTab>\n </>\n }\n title={this._title}\n >\n {this.getMessages()}\n </MessageCenterDialog>\n </FooterPopup>\n </>\n );\n\n return footerMessages;\n }\n\n private _handleClose = () => {\n this.setIsOpen(false);\n };\n\n private _handleOutsideClick = (e: MouseEvent) => {\n if (!this._indicator.current ||\n !(e.target instanceof Node) ||\n this._indicator.current.contains(e.target))\n return;\n\n this._handleClose();\n };\n\n private _handleMessageIndicatorClick = () => {\n this.setIsOpen(!this.state.isOpen);\n };\n\n private _changeActiveTab = (tab: MessageCenterActiveTab) => {\n this.setState({ activeTab: tab });\n };\n\n private getMessages(): React.ReactChild[] {\n const messages = MessageManager.messages.slice(0).reverse();\n const tabRows: React.ReactChild[] = new Array<React.ReactChild>();\n\n messages.forEach((details: NotifyMessageDetailsType, index: number) => {\n /* istanbul ignore else */\n if (this.state.activeTab === MessageCenterActiveTab.AllMessages || this.isProblemStatus(details.priority)) {\n\n const iconClassName = classnames(\"icon\", \"notifymessage-icon\");\n const iconSpec = MessageManager.getIconSpecFromDetails(details);\n const message = details.briefMessage;\n\n tabRows.push(\n <MessageCenterMessage\n key={index.toString()}\n icon={<Icon iconSpec={iconSpec} className={iconClassName} />}\n >\n <MessageSpan message={message} />\n {details.detailedMessage &&\n <>\n <br />\n <MessageSpan className=\"iui-text-small\" message={details.detailedMessage} />\n </>\n }\n </MessageCenterMessage>,\n );\n }\n });\n\n return tabRows;\n }\n\n private isProblemStatus(priority: OutputMessagePriority): boolean {\n // See priority values in DgnPlatform defined in NotificationManager\n\n if (priority === OutputMessagePriority.Error || priority === OutputMessagePriority.Fatal)\n return true;\n\n return false;\n }\n\n private setIsOpen(isOpen: boolean) {\n this.setState({isOpen});\n }\n}\n"]}
1
+ {"version":3,"file":"MessageCenter.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/MessageCenter.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Notification\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { OutputMessagePriority } from \"@itwin/core-frontend\";\r\nimport { FooterPopup, MessageCenter, MessageCenterDialog, MessageCenterMessage, MessageCenterTab } from \"@itwin/appui-layout-react\";\r\nimport { MessageManager } from \"../messages/MessageManager\";\r\nimport { MessageSpan } from \"../messages/MessageSpan\";\r\nimport type { NotifyMessageDetailsType } from \"../messages/ReactNotifyMessageDetails\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport type { CommonProps} from \"@itwin/core-react\";\r\nimport { Icon } from \"@itwin/core-react\";\r\nimport classnames from \"classnames\";\r\n\r\n/** Enum for the [[MessageCenterField]] active tab\r\n * @internal\r\n */\r\nenum MessageCenterActiveTab {\r\n AllMessages,\r\n Problems,\r\n}\r\n\r\n/** State for the [[MessageCenterField]] React component\r\n * @internal\r\n */\r\ninterface MessageCenterState {\r\n activeTab: MessageCenterActiveTab;\r\n target: HTMLDivElement | null;\r\n messageCount: number;\r\n isOpen: boolean;\r\n}\r\n\r\n/** Message Center Field React component.\r\n * @public\r\n */\r\nexport class MessageCenterField extends React.Component<CommonProps, MessageCenterState> {\r\n private _indicator = React.createRef<HTMLDivElement>();\r\n private _title = UiFramework.translate(\"messageCenter.messages\");\r\n private _unloadMessagesUpdatedHandler?: () => void;\r\n private _removeOpenMessagesCenterHandler?: () => void;\r\n\r\n constructor(p: CommonProps) {\r\n super(p);\r\n\r\n this.state = {\r\n activeTab: MessageCenterActiveTab.AllMessages,\r\n target: null,\r\n messageCount: MessageManager.messages.length,\r\n isOpen: false,\r\n };\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._unloadMessagesUpdatedHandler = MessageManager.onMessagesUpdatedEvent.addListener(this._handleMessagesUpdatedEvent, this);\r\n this._removeOpenMessagesCenterHandler = MessageManager.onOpenMessageCenterEvent.addListener(this._handleOpenMessageCenterEvent, this);\r\n MessageManager.registerAnimateOutToElement(this._indicator.current);\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n // istanbul ignore else\r\n if (this._unloadMessagesUpdatedHandler) {\r\n this._unloadMessagesUpdatedHandler();\r\n this._unloadMessagesUpdatedHandler = undefined;\r\n }\r\n // istanbul ignore else\r\n if (this._removeOpenMessagesCenterHandler) {\r\n this._removeOpenMessagesCenterHandler();\r\n this._removeOpenMessagesCenterHandler = undefined;\r\n }\r\n }\r\n\r\n private _handleMessagesUpdatedEvent = () => {\r\n // istanbul ignore else\r\n if (this._unloadMessagesUpdatedHandler)\r\n this.setState({ messageCount: MessageManager.messages.length });\r\n };\r\n\r\n private _handleOpenMessageCenterEvent = () => {\r\n this.setIsOpen(true);\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n const tooltip = `${this.state.messageCount} ${this._title}`;\r\n const divStyle = { ...this.props.style, height: \"100%\" };\r\n const footerMessages = (\r\n <>\r\n <div\r\n className={this.props.className}\r\n style={divStyle}\r\n title={tooltip}\r\n >\r\n <MessageCenter\r\n indicatorRef={this._indicator}\r\n label={this._title}\r\n onClick={this._handleMessageIndicatorClick}\r\n >\r\n {this.state.messageCount.toString()}\r\n </MessageCenter>\r\n </div>\r\n <FooterPopup\r\n isOpen={this.state.isOpen}\r\n onClose={this._handleClose}\r\n onOutsideClick={this._handleOutsideClick}\r\n target={this._indicator.current}\r\n >\r\n <MessageCenterDialog\r\n prompt={UiFramework.translate(\"messageCenter.prompt\")}\r\n tabs={\r\n <>\r\n <MessageCenterTab\r\n isActive={this.state.activeTab === MessageCenterActiveTab.AllMessages}\r\n onClick={() => this._changeActiveTab(MessageCenterActiveTab.AllMessages)}\r\n >\r\n {UiFramework.translate(\"messageCenter.all\")}\r\n </MessageCenterTab>\r\n <MessageCenterTab\r\n isActive={this.state.activeTab === MessageCenterActiveTab.Problems}\r\n onClick={() => this._changeActiveTab(MessageCenterActiveTab.Problems)}\r\n >\r\n {UiFramework.translate(\"messageCenter.errors\")}\r\n </MessageCenterTab>\r\n </>\r\n }\r\n title={this._title}\r\n >\r\n {this.getMessages()}\r\n </MessageCenterDialog>\r\n </FooterPopup>\r\n </>\r\n );\r\n\r\n return footerMessages;\r\n }\r\n\r\n private _handleClose = () => {\r\n this.setIsOpen(false);\r\n };\r\n\r\n private _handleOutsideClick = (e: MouseEvent) => {\r\n if (!this._indicator.current ||\r\n !(e.target instanceof Node) ||\r\n this._indicator.current.contains(e.target))\r\n return;\r\n\r\n this._handleClose();\r\n };\r\n\r\n private _handleMessageIndicatorClick = () => {\r\n this.setIsOpen(!this.state.isOpen);\r\n };\r\n\r\n private _changeActiveTab = (tab: MessageCenterActiveTab) => {\r\n this.setState({ activeTab: tab });\r\n };\r\n\r\n private getMessages(): React.ReactChild[] {\r\n const messages = MessageManager.messages.slice(0).reverse();\r\n const tabRows: React.ReactChild[] = new Array<React.ReactChild>();\r\n\r\n messages.forEach((details: NotifyMessageDetailsType, index: number) => {\r\n /* istanbul ignore else */\r\n if (this.state.activeTab === MessageCenterActiveTab.AllMessages || this.isProblemStatus(details.priority)) {\r\n\r\n const iconClassName = classnames(\"icon\", \"notifymessage-icon\");\r\n const iconSpec = MessageManager.getIconSpecFromDetails(details);\r\n const message = details.briefMessage;\r\n\r\n tabRows.push(\r\n <MessageCenterMessage\r\n key={index.toString()}\r\n icon={<Icon iconSpec={iconSpec} className={iconClassName} />}\r\n >\r\n <MessageSpan message={message} />\r\n {details.detailedMessage &&\r\n <>\r\n <br />\r\n <MessageSpan className=\"iui-text-small\" message={details.detailedMessage} />\r\n </>\r\n }\r\n </MessageCenterMessage>,\r\n );\r\n }\r\n });\r\n\r\n return tabRows;\r\n }\r\n\r\n private isProblemStatus(priority: OutputMessagePriority): boolean {\r\n // See priority values in DgnPlatform defined in NotificationManager\r\n\r\n if (priority === OutputMessagePriority.Error || priority === OutputMessagePriority.Fatal)\r\n return true;\r\n\r\n return false;\r\n }\r\n\r\n private setIsOpen(isOpen: boolean) {\r\n this.setState({isOpen});\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SectionsField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SectionsField.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 StatusBar\n */\n\nimport \"./SectionsField.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Dialog, FooterPopup, TitleBar } from \"@itwin/appui-layout-react\";\nimport type { ClipEventType, Viewport } from \"@itwin/core-frontend\";\nimport { IModelApp, ViewClipClearTool, ViewClipDecoration, ViewClipDecorationProvider } from \"@itwin/core-frontend\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Button, ToggleSwitch } from \"@itwin/itwinui-react\";\nimport { useActiveViewport } from \"../hooks/useActiveViewport\";\nimport { UiFramework } from \"../UiFramework\";\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\nimport { IconSpecUtilities } from \"@itwin/appui-abstract\";\nimport svgSectionTool from \"@bentley/icons-generic/icons/section-tool.svg\";\n\n/** Sections Status Field Props\n * @beta\n */\nexport interface SectionsStatusFieldProps extends CommonProps {\n hideWhenUnused?: boolean;\n}\n\n/** Status Field for showing section extra tools for clearing and showing manipulators\n * @beta\n */\nexport function SectionsStatusField(props: SectionsStatusFieldProps) {\n const [toolTip, clearLabel, showHandlesLabel] = React.useMemo(() => [\n UiFramework.translate(\"tools.sectionTools\"),\n UiFramework.translate(\"tools.sectionClear\"),\n UiFramework.translate(\"tools.sectionShowHandles\")], []);\n const activeViewport = useActiveViewport();\n const [showIndicator, setShowIndicator] = React.useState(false);\n const [isPopupOpen, setPopupOpen] = React.useState(false);\n const targetDiv = React.useRef<HTMLDivElement>(null);\n const classes = (showIndicator) ? \"uifw-field-fade-in\" : \"uifw-field-fade-out\";\n const [hasManipulatorsShown, setHasManipulatorsShown] = React.useState(false);\n\n React.useEffect(() => {\n // istanbul ignore next\n const onClipChanged = (viewport: Viewport, _eventType: ClipEventType, _provider: ViewClipDecorationProvider) => {\n if (viewport !== activeViewport)\n return;\n\n setHasManipulatorsShown(!!ViewClipDecoration.get(activeViewport));\n const isClipActive = !!activeViewport.view.getViewClip();\n setShowIndicator(isClipActive || !props.hideWhenUnused);\n };\n\n const clipActive = !!activeViewport && /* istanbul ignore next */ !!activeViewport.view.getViewClip();\n setShowIndicator(clipActive || !props.hideWhenUnused);\n setHasManipulatorsShown(clipActive && /* istanbul ignore next */ !!activeViewport && /* istanbul ignore next */ !!ViewClipDecoration.get(activeViewport));\n\n ViewClipDecorationProvider.create().onActiveClipChanged.addListener(onClipChanged);\n return () => {\n // Get or create static ViewClipDecorationProvider\n ViewClipDecorationProvider.create().onActiveClipChanged.removeListener(onClipChanged);\n };\n }, [activeViewport, props.hideWhenUnused, isPopupOpen]);\n\n // istanbul ignore next\n const toggleManipulators = async (e: React.ChangeEvent<HTMLInputElement>) => {\n if (activeViewport) {\n setHasManipulatorsShown(e.target.checked);\n await ViewClipDecorationProvider.create().toggleDecoration(activeViewport);\n }\n };\n\n // istanbul ignore next\n const handleClear = async () => {\n await IModelApp.tools.run(ViewClipClearTool.toolId, ViewClipDecorationProvider.create());\n setPopupOpen(false);\n };\n const iconSpec = IconSpecUtilities.createWebComponentIconSpec(svgSectionTool);\n\n return (\n <div className=\"uifw-section-footer-popup-container\">\n {showIndicator &&\n <>\n <div ref={targetDiv} title={toolTip}>\n <StatusBarLabelIndicator\n className={classes}\n iconSpec={iconSpec}\n onClick={() => setPopupOpen(!isPopupOpen)}\n />\n </div>\n <FooterPopup\n target={targetDiv.current}\n onClose={() => setPopupOpen(false)}\n isOpen={isPopupOpen}>\n <Dialog\n titleBar={\n <TitleBar title={toolTip} />\n }>\n <div className=\"uifw-sections-footer-contents\">\n <Button onClick={handleClear}>{clearLabel}</Button>\n <div className=\"uifw-uifw-sections-toggle-container\">\n <div className={classnames(\"uifw-sections-label\")}>{showHandlesLabel}</div>\n <ToggleSwitch className=\"uifw-sections-toggle\" onChange={toggleManipulators} checked={hasManipulatorsShown} />\n </div>\n </div>\n </Dialog>\n </FooterPopup>\n </>\n }\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SectionsField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SectionsField.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 StatusBar\r\n */\r\n\r\nimport \"./SectionsField.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { Dialog, FooterPopup, TitleBar } from \"@itwin/appui-layout-react\";\r\nimport type { ClipEventType, Viewport } from \"@itwin/core-frontend\";\r\nimport { IModelApp, ViewClipClearTool, ViewClipDecoration, ViewClipDecorationProvider } from \"@itwin/core-frontend\";\r\nimport type { CommonProps } from \"@itwin/core-react\";\r\nimport { Button, ToggleSwitch } from \"@itwin/itwinui-react\";\r\nimport { useActiveViewport } from \"../hooks/useActiveViewport\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\r\nimport { IconSpecUtilities } from \"@itwin/appui-abstract\";\r\nimport svgSectionTool from \"@bentley/icons-generic/icons/section-tool.svg\";\r\n\r\n/** Sections Status Field Props\r\n * @beta\r\n */\r\nexport interface SectionsStatusFieldProps extends CommonProps {\r\n hideWhenUnused?: boolean;\r\n}\r\n\r\n/** Status Field for showing section extra tools for clearing and showing manipulators\r\n * @beta\r\n */\r\nexport function SectionsStatusField(props: SectionsStatusFieldProps) {\r\n const [toolTip, clearLabel, showHandlesLabel] = React.useMemo(() => [\r\n UiFramework.translate(\"tools.sectionTools\"),\r\n UiFramework.translate(\"tools.sectionClear\"),\r\n UiFramework.translate(\"tools.sectionShowHandles\")], []);\r\n const activeViewport = useActiveViewport();\r\n const [showIndicator, setShowIndicator] = React.useState(false);\r\n const [isPopupOpen, setPopupOpen] = React.useState(false);\r\n const targetDiv = React.useRef<HTMLDivElement>(null);\r\n const classes = (showIndicator) ? \"uifw-field-fade-in\" : \"uifw-field-fade-out\";\r\n const [hasManipulatorsShown, setHasManipulatorsShown] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const onClipChanged = (viewport: Viewport, _eventType: ClipEventType, _provider: ViewClipDecorationProvider) => {\r\n if (viewport !== activeViewport)\r\n return;\r\n\r\n setHasManipulatorsShown(!!ViewClipDecoration.get(activeViewport));\r\n const isClipActive = !!activeViewport.view.getViewClip();\r\n setShowIndicator(isClipActive || !props.hideWhenUnused);\r\n };\r\n\r\n const clipActive = !!activeViewport && /* istanbul ignore next */ !!activeViewport.view.getViewClip();\r\n setShowIndicator(clipActive || !props.hideWhenUnused);\r\n setHasManipulatorsShown(clipActive && /* istanbul ignore next */ !!activeViewport && /* istanbul ignore next */ !!ViewClipDecoration.get(activeViewport));\r\n\r\n ViewClipDecorationProvider.create().onActiveClipChanged.addListener(onClipChanged);\r\n return () => {\r\n // Get or create static ViewClipDecorationProvider\r\n ViewClipDecorationProvider.create().onActiveClipChanged.removeListener(onClipChanged);\r\n };\r\n }, [activeViewport, props.hideWhenUnused, isPopupOpen]);\r\n\r\n // istanbul ignore next\r\n const toggleManipulators = async (e: React.ChangeEvent<HTMLInputElement>) => {\r\n if (activeViewport) {\r\n setHasManipulatorsShown(e.target.checked);\r\n await ViewClipDecorationProvider.create().toggleDecoration(activeViewport);\r\n }\r\n };\r\n\r\n // istanbul ignore next\r\n const handleClear = async () => {\r\n await IModelApp.tools.run(ViewClipClearTool.toolId, ViewClipDecorationProvider.create());\r\n setPopupOpen(false);\r\n };\r\n const iconSpec = IconSpecUtilities.createWebComponentIconSpec(svgSectionTool);\r\n\r\n return (\r\n <div className=\"uifw-section-footer-popup-container\">\r\n {showIndicator &&\r\n <>\r\n <div ref={targetDiv} title={toolTip}>\r\n <StatusBarLabelIndicator\r\n className={classes}\r\n iconSpec={iconSpec}\r\n onClick={() => setPopupOpen(!isPopupOpen)}\r\n />\r\n </div>\r\n <FooterPopup\r\n target={targetDiv.current}\r\n onClose={() => setPopupOpen(false)}\r\n isOpen={isPopupOpen}>\r\n <Dialog\r\n titleBar={\r\n <TitleBar title={toolTip} />\r\n }>\r\n <div className=\"uifw-sections-footer-contents\">\r\n <Button onClick={handleClear}>{clearLabel}</Button>\r\n <div className=\"uifw-uifw-sections-toggle-container\">\r\n <div className={classnames(\"uifw-sections-label\")}>{showHandlesLabel}</div>\r\n <ToggleSwitch className=\"uifw-sections-toggle\" onChange={toggleManipulators} checked={hasManipulatorsShown} />\r\n </div>\r\n </div>\r\n </Dialog>\r\n </FooterPopup>\r\n </>\r\n }\r\n </div>\r\n );\r\n}\r\n"]}
@@ -1,35 +1,35 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
6
-
7
- .uifw-sections-footer-contents {
8
- display: flex;
9
- flex-direction: column;
10
- width: 200px;
11
- padding: 8px;
12
- }
13
-
14
- .uifw-uifw-sections-toggle-container {
15
- display: flex;
16
- margin: var(--iui-size-2xs);
17
- justify-content: center;
18
- }
19
-
20
- .uifw-sections-toggle {
21
- align-self: center;
22
- margin-right: var(--iui-size-xs);
23
- }
24
-
25
- .uifw-sections-label {
26
- font-family: var(--iui-font-sans);
27
- color: var(--iui-color-text);
28
- font-size: var(--iui-font-size-1);
29
- align-self: center;
30
- margin: var(--iui-size-xs);
31
-
32
- &.disabled {
33
- color: var(--iui-color-text-disabled);
34
- }
35
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
6
+
7
+ .uifw-sections-footer-contents {
8
+ display: flex;
9
+ flex-direction: column;
10
+ width: 200px;
11
+ padding: 8px;
12
+ }
13
+
14
+ .uifw-uifw-sections-toggle-container {
15
+ display: flex;
16
+ margin: var(--iui-size-2xs);
17
+ justify-content: center;
18
+ }
19
+
20
+ .uifw-sections-toggle {
21
+ align-self: center;
22
+ margin-right: var(--iui-size-xs);
23
+ }
24
+
25
+ .uifw-sections-label {
26
+ font-family: var(--iui-font-sans);
27
+ color: var(--iui-color-text);
28
+ font-size: var(--iui-font-size-1);
29
+ align-self: center;
30
+ margin: var(--iui-size-xs);
31
+
32
+ &.disabled {
33
+ color: var(--iui-color-text-disabled);
34
+ }
35
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionCount.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionCount.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AASvD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,SAAS,GAAG,UAAU,CAC1B,kCAAkC,EAClC,KAAK,CAAC,SAAS,CAChB,CAAC;IACF,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,oBAAC,IAAI,IAAC,QAAQ,EAAE,oBAAC,SAAS,OAAG,GAAI;QAChC,KAAK,CAAC,KAAK,CACI,CACnB,CAAC;AACJ,CAAC;AASD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAC/D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,CAAC,CAAC,CAAC;YACX,OAAO;SACR;QACD,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,MAAM;YACT,OAAO;QACT,OAAO,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE;YACtD,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC","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 StatusBar\n */\n\nimport \"./SelectionCount.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { FooterIndicator } from \"@itwin/appui-layout-react\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Icon } from \"@itwin/core-react\";\nimport { SvgCursor } from \"@itwin/itwinui-icons-react\";\n\n/** Properties for the [[SelectionCountField]] component.\n * @beta\n */\nexport interface SelectionCountFieldProps extends CommonProps {\n count: number;\n}\n\n/** Status field component used to display the number of selected items.\n * @note Use [[useSelectionSetSize]] hook to get the selection count.\n * @beta\n */\nexport function SelectionCountField(props: SelectionCountFieldProps) {\n const className = classnames(\n \"uifw-statusFields-selectionCount\",\n props.className,\n );\n return (\n <FooterIndicator\n className={className}\n style={props.style}\n >\n <Icon iconSpec={<SvgCursor />} />\n {props.count}\n </FooterIndicator>\n );\n}\n\n/** Arguments for [[useSelectionSetSize]] hook.\n * @beta\n */\nexport interface UseSelectionSetSizeArgs {\n iModel: IModelConnection | undefined;\n}\n\n/** React hook that returns element count of a selection set.\n * @beta\n */\nexport function useSelectionSetSize(args: UseSelectionSetSizeArgs): number {\n const [size, setSize] = React.useState(0);\n const { iModel } = args;\n React.useEffect(() => {\n if (!iModel) {\n setSize(0);\n return;\n }\n setSize(iModel.selectionSet.size);\n }, [iModel]);\n React.useEffect(() => {\n if (!iModel)\n return;\n return iModel.selectionSet.onChanged.addListener((ev) => {\n setSize(ev.set.size);\n });\n }, [iModel]);\n return size;\n}\n"]}
1
+ {"version":3,"file":"SelectionCount.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionCount.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AASvD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,SAAS,GAAG,UAAU,CAC1B,kCAAkC,EAClC,KAAK,CAAC,SAAS,CAChB,CAAC;IACF,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,oBAAC,IAAI,IAAC,QAAQ,EAAE,oBAAC,SAAS,OAAG,GAAI;QAChC,KAAK,CAAC,KAAK,CACI,CACnB,CAAC;AACJ,CAAC;AASD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAC/D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,CAAC,CAAC,CAAC;YACX,OAAO;SACR;QACD,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,MAAM;YACT,OAAO;QACT,OAAO,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE;YACtD,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport \"./SelectionCount.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { FooterIndicator } from \"@itwin/appui-layout-react\";\r\nimport type { IModelConnection } from \"@itwin/core-frontend\";\r\nimport type { CommonProps } from \"@itwin/core-react\";\r\nimport { Icon } from \"@itwin/core-react\";\r\nimport { SvgCursor } from \"@itwin/itwinui-icons-react\";\r\n\r\n/** Properties for the [[SelectionCountField]] component.\r\n * @beta\r\n */\r\nexport interface SelectionCountFieldProps extends CommonProps {\r\n count: number;\r\n}\r\n\r\n/** Status field component used to display the number of selected items.\r\n * @note Use [[useSelectionSetSize]] hook to get the selection count.\r\n * @beta\r\n */\r\nexport function SelectionCountField(props: SelectionCountFieldProps) {\r\n const className = classnames(\r\n \"uifw-statusFields-selectionCount\",\r\n props.className,\r\n );\r\n return (\r\n <FooterIndicator\r\n className={className}\r\n style={props.style}\r\n >\r\n <Icon iconSpec={<SvgCursor />} />\r\n {props.count}\r\n </FooterIndicator>\r\n );\r\n}\r\n\r\n/** Arguments for [[useSelectionSetSize]] hook.\r\n * @beta\r\n */\r\nexport interface UseSelectionSetSizeArgs {\r\n iModel: IModelConnection | undefined;\r\n}\r\n\r\n/** React hook that returns element count of a selection set.\r\n * @beta\r\n */\r\nexport function useSelectionSetSize(args: UseSelectionSetSizeArgs): number {\r\n const [size, setSize] = React.useState(0);\r\n const { iModel } = args;\r\n React.useEffect(() => {\r\n if (!iModel) {\r\n setSize(0);\r\n return;\r\n }\r\n setSize(iModel.selectionSet.size);\r\n }, [iModel]);\r\n React.useEffect(() => {\r\n if (!iModel)\r\n return;\r\n return iModel.selectionSet.onChanged.addListener((ev) => {\r\n setSize(ev.set.size);\r\n });\r\n }, [iModel]);\r\n return size;\r\n}\r\n"]}
@@ -1,12 +1,12 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- .uifw-statusFields-selectionCount {
6
- gap: 4px;
7
- min-width: 6em;
8
-
9
- .icon {
10
- color: var(--iui-color-icon);
11
- }
12
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ .uifw-statusFields-selectionCount {
6
+ gap: 4px;
7
+ min-width: 6em;
8
+
9
+ .icon {
10
+ color: var(--iui-color-icon);
11
+ }
12
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionInfo.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionInfo.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,KAAU,EAAE,EAAE;QACvC,MAAM,cAAc,GAA+B,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACxF,IAAI,CAAC,cAAc;YACjB,OAAO,CAAC,CAAC;QAEX,OAAO,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,OAAO,CACL,oBAAC,mBAAmB,IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC","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 StatusBar\n */\n\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { SelectionCountField } from \"./SelectionCount\";\nimport { useSelector } from \"react-redux\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { FrameworkState } from \"../redux/FrameworkState\";\n\n/**\n * SelectionInfo Status Field React component. This component is designed to be specified in a status bar definition.\n * It is used to display the number of items in a selection set.\n * This React component is Redux connected.\n * @note Use [[SelectionCountField]] to display custom selection count.\n * @public\n */\nexport function SelectionInfoField(props: CommonProps) {\n const count = useSelector((state: any) => {\n const frameworkState: FrameworkState | undefined = state[UiFramework.frameworkStateKey];\n if (!frameworkState)\n return 0;\n\n return frameworkState.sessionState.numItemsSelected;\n });\n return (\n <SelectionCountField\n className={props.className}\n style={props.style}\n count={count}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"SelectionInfo.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionInfo.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,KAAU,EAAE,EAAE;QACvC,MAAM,cAAc,GAA+B,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACxF,IAAI,CAAC,cAAc;YACjB,OAAO,CAAC,CAAC;QAEX,OAAO,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,OAAO,CACL,oBAAC,mBAAmB,IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport type { CommonProps } from \"@itwin/core-react\";\r\nimport { SelectionCountField } from \"./SelectionCount\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport type { FrameworkState } from \"../redux/FrameworkState\";\r\n\r\n/**\r\n * SelectionInfo Status Field React component. This component is designed to be specified in a status bar definition.\r\n * It is used to display the number of items in a selection set.\r\n * This React component is Redux connected.\r\n * @note Use [[SelectionCountField]] to display custom selection count.\r\n * @public\r\n */\r\nexport function SelectionInfoField(props: CommonProps) {\r\n const count = useSelector((state: any) => {\r\n const frameworkState: FrameworkState | undefined = state[UiFramework.frameworkStateKey];\r\n if (!frameworkState)\r\n return 0;\r\n\r\n return frameworkState.sessionState.numItemsSelected;\r\n });\r\n return (\r\n <SelectionCountField\r\n className={props.className}\r\n style={props.style}\r\n count={count}\r\n />\r\n );\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionScope.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionScope.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAW7C;;;;;;;GAOG;AACH,SAAS,4BAA4B,CAAC,KAA+B;IACnE,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;IAErE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/E,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAEtC,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC7C,uBAAuB;QACvB,IAAI,QAAQ,EAAE;YACZ,WAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;SAC/C;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,UAAU,CAAC,kCAAkC,EAAE,KAAK,CAAC,SAAS,CAAC,EAC1E,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,+BAAO,SAAS,EAAC,wCAAwC;YACtD,KAAK;gBACA;QACR,oBAAC,MAAM,IACL,SAAS,EAAC,2CAA2C,EACrD,KAAK,EAAE,KAAK,CAAC,oBAAoB,EACjC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,iBACf,oCAAoC,EAChD,KAAK,EAAE,OAAO,EACd,IAAI,EAAC,OAAO,GAAG,CACA,CACpB,CAAC;AACJ,CAAC;AAED,+GAA+G;AAC/G,SAAS,eAAe,CAAC,KAAU;IACjC,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAE,8CAA8C;IAC5G,0BAA0B;IAC1B,IAAI,CAAC,cAAc;QACjB,OAAO,SAAS,CAAC;IAEnB,OAAO,EAAE,oBAAoB,EAAE,cAAc,CAAC,YAAY,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,cAAc,CAAC,YAAY,CAAC,wBAAwB,EAAE,CAAC;AACpK,CAAC;AAED,4EAA4E;AAC5E;;;;;GAKG,CAAC,gEAAgE;AACpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,4BAA4B,CAAC,CAAC","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 StatusBar\n */\n\nimport \"./SelectionScope.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport { FooterIndicator } from \"@itwin/appui-layout-react\";\nimport { Select } from \"@itwin/itwinui-react\";\nimport type { PresentationSelectionScope } from \"../redux/SessionState\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Defines properties supported by the SelectionScopeField Component.\n * @public\n */\ninterface SelectionScopeFieldProps extends CommonProps {\n activeSelectionScope: string;\n availableSelectionScopes: PresentationSelectionScope[];\n}\n\n/**\n * Status Field React component. This component is designed to be specified in a status bar definition.\n * It is used to display the number of selected items based on the Presentation Rules Selection Manager.\n * The IModelApp should call either UiFramework.setIModelConnection or SyncUiEventDispatcher.initializeConnectionEvents\n * with the active iModelConnection each time a new iModel is opened so the selection scope data is properly updated\n * in the Redux state.\n * @public\n */\nfunction SelectionScopeFieldComponent(props: SelectionScopeFieldProps) {\n const label = UiFramework.translate(\"selectionScopeField.label\");\n const toolTip = UiFramework.translate(\"selectionScopeField.toolTip\");\n\n const options = React.useMemo(() => props.availableSelectionScopes.map((scope) => {\n return { value: scope.id, label: scope.label };\n }), [props.availableSelectionScopes]);\n\n const updateSelectValue = (newValue: string) => {\n // istanbul ignore else\n if (newValue) {\n UiFramework.setActiveSelectionScope(newValue);\n }\n };\n\n return (\n <FooterIndicator\n className={classnames(\"uifw-statusFields-selectionScope\", props.className)}\n style={props.style}\n >\n <label className=\"uifw-statusFields-selectionScope-label\">\n {label}:\n </label>\n <Select\n className=\"uifw-statusFields-selectionScope-selector\"\n value={props.activeSelectionScope}\n options={options}\n onChange={updateSelectValue}\n data-testid=\"components-selectionScope-selector\"\n title={toolTip}\n size=\"small\" />\n </FooterIndicator >\n );\n}\n\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\nfunction mapStateToProps(state: any) {\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\n /* istanbul ignore next */\n if (!frameworkState)\n return undefined;\n\n return { activeSelectionScope: frameworkState.sessionState.activeSelectionScope, availableSelectionScopes: frameworkState.sessionState.availableSelectionScopes };\n}\n\n// we declare the variable and export that rather than using export default.\n/**\n * SelectionScopeField React component. This component is designed to be specified in a status bar definition. It will\n * display the active selection scope that is used by the PresentationManager to determine what elements are added to the selection nap mode.\n * This React component is Redux connected.\n * @public\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\nexport const SelectionScopeField = connect(mapStateToProps)(SelectionScopeFieldComponent);\n"]}
1
+ {"version":3,"file":"SelectionScope.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionScope.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAW7C;;;;;;;GAOG;AACH,SAAS,4BAA4B,CAAC,KAA+B;IACnE,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;IAErE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/E,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAEtC,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC7C,uBAAuB;QACvB,IAAI,QAAQ,EAAE;YACZ,WAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;SAC/C;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,UAAU,CAAC,kCAAkC,EAAE,KAAK,CAAC,SAAS,CAAC,EAC1E,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,+BAAO,SAAS,EAAC,wCAAwC;YACtD,KAAK;gBACA;QACR,oBAAC,MAAM,IACL,SAAS,EAAC,2CAA2C,EACrD,KAAK,EAAE,KAAK,CAAC,oBAAoB,EACjC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,iBACf,oCAAoC,EAChD,KAAK,EAAE,OAAO,EACd,IAAI,EAAC,OAAO,GAAG,CACA,CACpB,CAAC;AACJ,CAAC;AAED,+GAA+G;AAC/G,SAAS,eAAe,CAAC,KAAU;IACjC,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAE,8CAA8C;IAC5G,0BAA0B;IAC1B,IAAI,CAAC,cAAc;QACjB,OAAO,SAAS,CAAC;IAEnB,OAAO,EAAE,oBAAoB,EAAE,cAAc,CAAC,YAAY,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,cAAc,CAAC,YAAY,CAAC,wBAAwB,EAAE,CAAC;AACpK,CAAC;AAED,4EAA4E;AAC5E;;;;;GAKG,CAAC,gEAAgE;AACpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,4BAA4B,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport \"./SelectionScope.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { FooterIndicator } from \"@itwin/appui-layout-react\";\r\nimport { Select } from \"@itwin/itwinui-react\";\r\nimport type { PresentationSelectionScope } from \"../redux/SessionState\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport type { CommonProps } from \"@itwin/core-react\";\r\n\r\n/** Defines properties supported by the SelectionScopeField Component.\r\n * @public\r\n */\r\ninterface SelectionScopeFieldProps extends CommonProps {\r\n activeSelectionScope: string;\r\n availableSelectionScopes: PresentationSelectionScope[];\r\n}\r\n\r\n/**\r\n * Status Field React component. This component is designed to be specified in a status bar definition.\r\n * It is used to display the number of selected items based on the Presentation Rules Selection Manager.\r\n * The IModelApp should call either UiFramework.setIModelConnection or SyncUiEventDispatcher.initializeConnectionEvents\r\n * with the active iModelConnection each time a new iModel is opened so the selection scope data is properly updated\r\n * in the Redux state.\r\n * @public\r\n */\r\nfunction SelectionScopeFieldComponent(props: SelectionScopeFieldProps) {\r\n const label = UiFramework.translate(\"selectionScopeField.label\");\r\n const toolTip = UiFramework.translate(\"selectionScopeField.toolTip\");\r\n\r\n const options = React.useMemo(() => props.availableSelectionScopes.map((scope) => {\r\n return { value: scope.id, label: scope.label };\r\n }), [props.availableSelectionScopes]);\r\n\r\n const updateSelectValue = (newValue: string) => {\r\n // istanbul ignore else\r\n if (newValue) {\r\n UiFramework.setActiveSelectionScope(newValue);\r\n }\r\n };\r\n\r\n return (\r\n <FooterIndicator\r\n className={classnames(\"uifw-statusFields-selectionScope\", props.className)}\r\n style={props.style}\r\n >\r\n <label className=\"uifw-statusFields-selectionScope-label\">\r\n {label}:\r\n </label>\r\n <Select\r\n className=\"uifw-statusFields-selectionScope-selector\"\r\n value={props.activeSelectionScope}\r\n options={options}\r\n onChange={updateSelectValue}\r\n data-testid=\"components-selectionScope-selector\"\r\n title={toolTip}\r\n size=\"small\" />\r\n </FooterIndicator >\r\n );\r\n}\r\n\r\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\r\nfunction mapStateToProps(state: any) {\r\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\r\n /* istanbul ignore next */\r\n if (!frameworkState)\r\n return undefined;\r\n\r\n return { activeSelectionScope: frameworkState.sessionState.activeSelectionScope, availableSelectionScopes: frameworkState.sessionState.availableSelectionScopes };\r\n}\r\n\r\n// we declare the variable and export that rather than using export default.\r\n/**\r\n * SelectionScopeField React component. This component is designed to be specified in a status bar definition. It will\r\n * display the active selection scope that is used by the PresentationManager to determine what elements are added to the selection nap mode.\r\n * This React component is Redux connected.\r\n * @public\r\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport const SelectionScopeField = connect(mapStateToProps)(SelectionScopeFieldComponent);\r\n"]}
@@ -1,46 +1,46 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/core-react/lib/cjs/core-react/style/breakpoints";
6
- @import "~@itwin/appui-layout-react/lib/cjs/appui-layout-react/footer/variables";
7
-
8
- .uifw-statusFields-selectionScope {
9
- $font-size-medium: var(--iui-font-size-0);
10
- $font-size-small: var(--iui-font-size-0) - 1px;
11
- overflow: hidden;
12
- padding-right: 0px;
13
-
14
- > .uifw-statusFields-selectionScope-label {
15
- display: inline;
16
- padding-right: 4px;
17
- text-overflow: ellipsis;
18
- overflow: hidden;
19
- white-space: nowrap;
20
-
21
- @include for-tablet-portrait-down {
22
- display: none;
23
- padding-right: 0px;
24
- }
25
- }
26
-
27
- > .uifw-statusFields-selectionScope-selector {
28
- min-width: 140px;
29
- &.iui-select[data-iui-size="small"] {
30
- width: auto;
31
- }
32
-
33
- @include for-tablet-portrait-down {
34
- font-size: $font-size-medium;
35
- }
36
-
37
- @include for-phone-only {
38
- font-size: $font-size-small;
39
- }
40
- }
41
- }
42
-
43
- .uifw-statusFields-selectionScope-label {
44
- text-overflow: ellipsis;
45
- overflow: hidden;
46
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "~@itwin/core-react/lib/cjs/core-react/style/breakpoints";
6
+ @import "~@itwin/appui-layout-react/lib/cjs/appui-layout-react/footer/variables";
7
+
8
+ .uifw-statusFields-selectionScope {
9
+ $font-size-medium: var(--iui-font-size-0);
10
+ $font-size-small: var(--iui-font-size-0) - 1px;
11
+ overflow: hidden;
12
+ padding-right: 0px;
13
+
14
+ > .uifw-statusFields-selectionScope-label {
15
+ display: inline;
16
+ padding-right: 4px;
17
+ text-overflow: ellipsis;
18
+ overflow: hidden;
19
+ white-space: nowrap;
20
+
21
+ @include for-tablet-portrait-down {
22
+ display: none;
23
+ padding-right: 0px;
24
+ }
25
+ }
26
+
27
+ > .uifw-statusFields-selectionScope-selector {
28
+ min-width: 140px;
29
+ &.iui-select[data-iui-size="small"] {
30
+ width: auto;
31
+ }
32
+
33
+ @include for-tablet-portrait-down {
34
+ font-size: $font-size-medium;
35
+ }
36
+
37
+ @include for-phone-only {
38
+ font-size: $font-size-small;
39
+ }
40
+ }
41
+ }
42
+
43
+ .uifw-statusFields-selectionScope-label {
44
+ text-overflow: ellipsis;
45
+ overflow: hidden;
46
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"SnapMode.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SnapMode.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 StatusBar\n */\n\nimport * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport { SnapMode } from \"@itwin/core-frontend\";\nimport { Snap, SnapModePanel } from \"@itwin/appui-layout-react\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { CommonProps, IconSpec } from \"@itwin/core-react\";\nimport { Icon } from \"@itwin/core-react\";\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\nimport { IconSpecUtilities } from \"@itwin/appui-abstract\";\nimport snapModeKeypoint from \"@bentley/icons-generic/icons/snaps.svg\";\nimport snapModeIntersection from \"@bentley/icons-generic/icons/snaps-intersection.svg\";\nimport snapModeCenter from \"@bentley/icons-generic/icons/snaps-center.svg\";\nimport snapModeNearest from \"@bentley/icons-generic/icons/snaps-nearest.svg\";\nimport snapModeOrigin from \"@bentley/icons-generic/icons/snaps-origin.svg\";\nimport snapModeMidpoint from \"@bentley/icons-generic/icons/snaps-midpoint.svg\";\nimport snapModeBisector from \"@bentley/icons-generic/icons/snaps-bisector.svg\";\n\n// cSpell:ignore multione\n\n/** Defines properties supported by the SnapMode Field Component.\n */\ninterface SnapModeFieldProps extends CommonProps {\n snapMode: number;\n}\n\n/** Define the properties that will be used to represent the available snap modes. */\ninterface SnapModeFieldEntry {\n label: string;\n value: number;\n iconName: string;\n}\n\nfunction getIconFromIconName(iconName: string): IconSpec {\n let iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeKeypoint);\n switch (iconName) {\n case \"snaps\":\n iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeKeypoint);\n break;\n case \"snaps-intersection\":\n iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeIntersection);\n break;\n case \"snaps-center\":\n iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeCenter);\n break;\n case \"snaps-nearest\":\n iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeNearest);\n break;\n case \"snaps-origin\":\n iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeOrigin);\n break;\n case \"snaps-midpoint\":\n iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeMidpoint);\n break;\n case \"snaps-bisector\":\n iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeBisector);\n break;\n }\n return iconSpec;\n}\n\n/**\n * Snap Mode Field React component. This component is designed to be specified in a status bar definition. It will\n * display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.\n */\nfunction SnapModeFieldComponent(props: SnapModeFieldProps) {\n const snapModes: SnapModeFieldEntry[] = React.useMemo(() => [\n { label: UiFramework.translate(\"snapModeField.keypoint\"), value: SnapMode.NearestKeypoint as number, iconName: \"snaps\" },\n { label: UiFramework.translate(\"snapModeField.intersection\"), value: SnapMode.Intersection as number, iconName: \"snaps-intersection\" },\n { label: UiFramework.translate(\"snapModeField.center\"), value: SnapMode.Center as number, iconName: \"snaps-center\" },\n { label: UiFramework.translate(\"snapModeField.nearest\"), value: SnapMode.Nearest as number, iconName: \"snaps-nearest\" },\n { label: UiFramework.translate(\"snapModeField.origin\"), value: SnapMode.Origin as number, iconName: \"snaps-origin\" },\n { label: UiFramework.translate(\"snapModeField.midpoint\"), value: SnapMode.MidPoint as number, iconName: \"snaps-midpoint\" },\n { label: UiFramework.translate(\"snapModeField.bisector\"), value: SnapMode.Bisector as number, iconName: \"snaps-bisector\" },\n ], []);\n\n /** Return icon class name for a specific snapMode. */\n const getSnapModeIconNameFromMode = React.useCallback(function (snapMode: number): string {\n for (const mode of snapModes) {\n if (mode.value === snapMode)\n return mode.iconName;\n }\n\n /* istanbul ignore else */\n if (snapMode > 0)\n return \"snaps-multione\";\n\n /* istanbul ignore next */\n return \"placeholder\";\n }, [snapModes]);\n\n const title = UiFramework.translate(\"snapModeField.snapMode\");\n return (\n <StatusBarLabelIndicator\n iconSpec={getIconFromIconName(getSnapModeIconNameFromMode(props.snapMode))}\n title={title}\n label={title}\n popup={\n <SnapModePanel title={title}>\n {snapModes.map((item, index) => <Snap\n key={`SM_${index}`}\n onClick={() => UiFramework.setAccudrawSnapMode(item.value)}\n isActive={(props.snapMode & item.value) === item.value}\n icon={\n <Icon className={`icon`} iconSpec={getIconFromIconName(item.iconName)} />\n }\n >\n {item.label}\n </Snap >\n )}\n </SnapModePanel>\n }\n />\n );\n}\n\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\nfunction mapStateToProps(state: any) {\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\n /* istanbul ignore next */\n if (!frameworkState)\n return undefined;\n\n return { snapMode: frameworkState.configurableUiState.snapMode };\n}\n\n// we declare the variable and export that rather than using export default.\n/**\n * Snap Mode Field React component. This component is designed to be specified in a status bar definition. It will\n * display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.\n * This Field React component is Redux connected.\n * @public\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\nexport const SnapModeField = connect(mapStateToProps)(SnapModeFieldComponent);\n"]}
1
+ {"version":3,"file":"SnapMode.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SnapMode.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 StatusBar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { SnapMode } from \"@itwin/core-frontend\";\r\nimport { Snap, SnapModePanel } from \"@itwin/appui-layout-react\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport type { CommonProps, IconSpec } from \"@itwin/core-react\";\r\nimport { Icon } from \"@itwin/core-react\";\r\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\r\nimport { IconSpecUtilities } from \"@itwin/appui-abstract\";\r\nimport snapModeKeypoint from \"@bentley/icons-generic/icons/snaps.svg\";\r\nimport snapModeIntersection from \"@bentley/icons-generic/icons/snaps-intersection.svg\";\r\nimport snapModeCenter from \"@bentley/icons-generic/icons/snaps-center.svg\";\r\nimport snapModeNearest from \"@bentley/icons-generic/icons/snaps-nearest.svg\";\r\nimport snapModeOrigin from \"@bentley/icons-generic/icons/snaps-origin.svg\";\r\nimport snapModeMidpoint from \"@bentley/icons-generic/icons/snaps-midpoint.svg\";\r\nimport snapModeBisector from \"@bentley/icons-generic/icons/snaps-bisector.svg\";\r\n\r\n// cSpell:ignore multione\r\n\r\n/** Defines properties supported by the SnapMode Field Component.\r\n */\r\ninterface SnapModeFieldProps extends CommonProps {\r\n snapMode: number;\r\n}\r\n\r\n/** Define the properties that will be used to represent the available snap modes. */\r\ninterface SnapModeFieldEntry {\r\n label: string;\r\n value: number;\r\n iconName: string;\r\n}\r\n\r\nfunction getIconFromIconName(iconName: string): IconSpec {\r\n let iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeKeypoint);\r\n switch (iconName) {\r\n case \"snaps\":\r\n iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeKeypoint);\r\n break;\r\n case \"snaps-intersection\":\r\n iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeIntersection);\r\n break;\r\n case \"snaps-center\":\r\n iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeCenter);\r\n break;\r\n case \"snaps-nearest\":\r\n iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeNearest);\r\n break;\r\n case \"snaps-origin\":\r\n iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeOrigin);\r\n break;\r\n case \"snaps-midpoint\":\r\n iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeMidpoint);\r\n break;\r\n case \"snaps-bisector\":\r\n iconSpec = IconSpecUtilities.createWebComponentIconSpec(snapModeBisector);\r\n break;\r\n }\r\n return iconSpec;\r\n}\r\n\r\n/**\r\n * Snap Mode Field React component. This component is designed to be specified in a status bar definition. It will\r\n * display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.\r\n */\r\nfunction SnapModeFieldComponent(props: SnapModeFieldProps) {\r\n const snapModes: SnapModeFieldEntry[] = React.useMemo(() => [\r\n { label: UiFramework.translate(\"snapModeField.keypoint\"), value: SnapMode.NearestKeypoint as number, iconName: \"snaps\" },\r\n { label: UiFramework.translate(\"snapModeField.intersection\"), value: SnapMode.Intersection as number, iconName: \"snaps-intersection\" },\r\n { label: UiFramework.translate(\"snapModeField.center\"), value: SnapMode.Center as number, iconName: \"snaps-center\" },\r\n { label: UiFramework.translate(\"snapModeField.nearest\"), value: SnapMode.Nearest as number, iconName: \"snaps-nearest\" },\r\n { label: UiFramework.translate(\"snapModeField.origin\"), value: SnapMode.Origin as number, iconName: \"snaps-origin\" },\r\n { label: UiFramework.translate(\"snapModeField.midpoint\"), value: SnapMode.MidPoint as number, iconName: \"snaps-midpoint\" },\r\n { label: UiFramework.translate(\"snapModeField.bisector\"), value: SnapMode.Bisector as number, iconName: \"snaps-bisector\" },\r\n ], []);\r\n\r\n /** Return icon class name for a specific snapMode. */\r\n const getSnapModeIconNameFromMode = React.useCallback(function (snapMode: number): string {\r\n for (const mode of snapModes) {\r\n if (mode.value === snapMode)\r\n return mode.iconName;\r\n }\r\n\r\n /* istanbul ignore else */\r\n if (snapMode > 0)\r\n return \"snaps-multione\";\r\n\r\n /* istanbul ignore next */\r\n return \"placeholder\";\r\n }, [snapModes]);\r\n\r\n const title = UiFramework.translate(\"snapModeField.snapMode\");\r\n return (\r\n <StatusBarLabelIndicator\r\n iconSpec={getIconFromIconName(getSnapModeIconNameFromMode(props.snapMode))}\r\n title={title}\r\n label={title}\r\n popup={\r\n <SnapModePanel title={title}>\r\n {snapModes.map((item, index) => <Snap\r\n key={`SM_${index}`}\r\n onClick={() => UiFramework.setAccudrawSnapMode(item.value)}\r\n isActive={(props.snapMode & item.value) === item.value}\r\n icon={\r\n <Icon className={`icon`} iconSpec={getIconFromIconName(item.iconName)} />\r\n }\r\n >\r\n {item.label}\r\n </Snap >\r\n )}\r\n </SnapModePanel>\r\n }\r\n />\r\n );\r\n}\r\n\r\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\r\nfunction mapStateToProps(state: any) {\r\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\r\n /* istanbul ignore next */\r\n if (!frameworkState)\r\n return undefined;\r\n\r\n return { snapMode: frameworkState.configurableUiState.snapMode };\r\n}\r\n\r\n// we declare the variable and export that rather than using export default.\r\n/**\r\n * Snap Mode Field React component. This component is designed to be specified in a status bar definition. It will\r\n * display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.\r\n * This Field React component is Redux connected.\r\n * @public\r\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport const SnapModeField = connect(mapStateToProps)(SnapModeFieldComponent);\r\n"]}