@itwin/appui-react 4.0.0-dev.13 → 4.0.0-dev.14
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.
- package/CHANGELOG.md +154 -1
- package/README.md +2 -2
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/_variables.scss +11 -11
- package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.scss +14 -14
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +55 -55
- package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/Calculator.scss +84 -84
- package/lib/cjs/appui-react/accudraw/CalculatorEngine.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/MenuButton.scss +18 -18
- package/lib/cjs/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/SquareButton.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/SquareButton.scss +29 -29
- package/lib/cjs/appui-react/accudraw/backspace.svg +9 -9
- package/lib/cjs/appui-react/accudraw/constraint-2d.svg +11 -11
- package/lib/cjs/appui-react/accudraw/height-2.svg +10 -10
- package/lib/cjs/appui-react/accudraw/height.svg +11 -11
- package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
- package/lib/cjs/appui-react/backstage/InternalBackstageManager.js.map +1 -1
- package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
- package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +21 -21
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
- package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/PopoutWidget.scss +10 -10
- package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/configurableui.scss +74 -74
- package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.scss +99 -99
- package/lib/cjs/appui-react/content/ContentLayoutManager.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
- package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +46 -46
- package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -1
- package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -1
- package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
- package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -1
- package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -1
- package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
- package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ContentDialog.scss +25 -25
- package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
- package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
- package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
- package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
- package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +50 -50
- package/lib/cjs/appui-react/framework/FrameworkBackstage.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkChildWindows.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkControls.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageConfig.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +80 -80
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +11 -11
- package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
- package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
- package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
- package/lib/cjs/appui-react/messages/HollowIcon.js.map +1 -1
- package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
- package/lib/cjs/appui-react/messages/InputField.scss +82 -82
- package/lib/cjs/appui-react/messages/MessageLabel.js.map +1 -1
- package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/cjs/appui-react/messages/MessageSpan.js.map +1 -1
- package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
- package/lib/cjs/appui-react/messages/Pointer.scss +42 -42
- package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
- package/lib/cjs/appui-react/messages/StatusMessageManager.js.map +1 -1
- package/lib/cjs/appui-react/messages/getToastCategory.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
- package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
- package/lib/cjs/appui-react/pickers/ListPicker.d.ts +3 -0
- package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
- package/lib/cjs/appui-react/pickers/ListPicker.js +3 -1
- package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
- package/lib/cjs/appui-react/pickers/ListPicker.scss +306 -299
- package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +6 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.js +24 -9
- package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/CardPopup.scss +25 -25
- package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +30 -30
- package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/PositionPopup.scss +28 -28
- package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/cjs/appui-react/redux/FrameworkState.js.map +1 -1
- package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
- package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
- package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
- package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
- package/lib/cjs/appui-react/redux/redux-ts.js.map +1 -1
- package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
- package/lib/cjs/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
- package/lib/cjs/appui-react/safearea/SafeAreaInsets.js.map +1 -1
- package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
- package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +65 -65
- package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
- package/lib/cjs/appui-react/shared/AnyItemDef.js.map +1 -1
- package/lib/cjs/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
- package/lib/cjs/appui-react/shared/CommandItemDef.js.map +1 -1
- package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
- package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
- package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
- package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/cjs/appui-react/shared/ItemMap.js.map +1 -1
- package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
- package/lib/cjs/appui-react/shared/SelectionScope.js.map +1 -1
- package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Field.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Field.scss +109 -109
- package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/LabelIndicator.scss +43 -43
- package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Overflow.scss +27 -27
- package/lib/cjs/appui-react/statusbar/OverflowPanel.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/OverflowPanel.scss +22 -22
- package/lib/cjs/appui-react/statusbar/Popup.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Separator.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Separator.scss +12 -12
- package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.scss +41 -41
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/dialog/Button.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/dialog/Dialog.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SectionsField.scss +35 -35
- package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SelectionInfo.scss +14 -14
- package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SelectionScope.scss +46 -46
- package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +10 -10
- package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
- package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
- package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/DragInteraction.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
- package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
- package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
- package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
- package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/ToolInformation.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
- package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
- package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
- package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
- package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
- package/lib/cjs/appui-react/utils/ViewUtilities.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/FloatingWidget.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.scss +19 -19
- package/lib/cjs/appui-react/widget-panels/FrontstageContent.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.scss +10 -10
- package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Tab.scss +14 -14
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +41 -41
- package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Toolbars.scss +20 -20
- package/lib/cjs/appui-react/widget-panels/useTransientState.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
- package/lib/cjs/appui-react.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/_variables.scss +11 -11
- package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.scss +14 -14
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +55 -55
- package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
- package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/esm/appui-react/accudraw/Calculator.scss +84 -84
- package/lib/esm/appui-react/accudraw/CalculatorEngine.js.map +1 -1
- package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
- package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
- package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
- package/lib/esm/appui-react/accudraw/MenuButton.scss +18 -18
- package/lib/esm/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
- package/lib/esm/appui-react/accudraw/SquareButton.js.map +1 -1
- package/lib/esm/appui-react/accudraw/SquareButton.scss +29 -29
- package/lib/esm/appui-react/accudraw/backspace.svg +9 -9
- package/lib/esm/appui-react/accudraw/constraint-2d.svg +11 -11
- package/lib/esm/appui-react/accudraw/height-2.svg +10 -10
- package/lib/esm/appui-react/accudraw/height.svg +11 -11
- package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
- package/lib/esm/appui-react/backstage/InternalBackstageManager.js.map +1 -1
- package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
- package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
- package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
- package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +21 -21
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.scss +14 -14
- package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +1 -1
- package/lib/esm/appui-react/childwindow/PopoutWidget.scss +10 -10
- package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/esm/appui-react/configurableui/configurableui.scss +74 -74
- package/lib/esm/appui-react/configurableui/state.js.map +1 -1
- package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
- package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.scss +99 -99
- package/lib/esm/appui-react/content/ContentLayoutManager.js.map +1 -1
- package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
- package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/esm/appui-react/content/DefaultViewOverlay.scss +46 -46
- package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -1
- package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -1
- package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
- package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -1
- package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -1
- package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
- package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/esm/appui-react/dialog/ContentDialog.scss +25 -25
- package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
- package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
- package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
- package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
- package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
- package/lib/esm/appui-react/feedback/ValidationTextbox.scss +50 -50
- package/lib/esm/appui-react/framework/FrameworkBackstage.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkChildWindows.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkControls.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageConfig.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +80 -80
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +11 -11
- package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
- package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
- package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
- package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
- package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
- package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
- package/lib/esm/appui-react/messages/HollowIcon.js.map +1 -1
- package/lib/esm/appui-react/messages/InputField.js.map +1 -1
- package/lib/esm/appui-react/messages/InputField.scss +82 -82
- package/lib/esm/appui-react/messages/MessageLabel.js.map +1 -1
- package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/esm/appui-react/messages/MessageSpan.js.map +1 -1
- package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
- package/lib/esm/appui-react/messages/Pointer.scss +42 -42
- package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
- package/lib/esm/appui-react/messages/StatusMessageManager.js.map +1 -1
- package/lib/esm/appui-react/messages/getToastCategory.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +67 -67
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
- package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
- package/lib/esm/appui-react/pickers/ListPicker.d.ts +3 -0
- package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
- package/lib/esm/appui-react/pickers/ListPicker.js +4 -2
- package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
- package/lib/esm/appui-react/pickers/ListPicker.scss +306 -299
- package/lib/esm/appui-react/pickers/ViewSelector.d.ts +6 -1
- package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/esm/appui-react/pickers/ViewSelector.js +24 -9
- package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/CardPopup.scss +25 -25
- package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +30 -30
- package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
- package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/PositionPopup.scss +28 -28
- package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/esm/appui-react/redux/FrameworkState.js.map +1 -1
- package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
- package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
- package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
- package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
- package/lib/esm/appui-react/redux/redux-ts.js.map +1 -1
- package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
- package/lib/esm/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
- package/lib/esm/appui-react/safearea/SafeAreaInsets.js.map +1 -1
- package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
- package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +65 -65
- package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
- package/lib/esm/appui-react/shared/AnyItemDef.js.map +1 -1
- package/lib/esm/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
- package/lib/esm/appui-react/shared/CommandItemDef.js.map +1 -1
- package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
- package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
- package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
- package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/esm/appui-react/shared/ItemMap.js.map +1 -1
- package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
- package/lib/esm/appui-react/shared/SelectionScope.js.map +1 -1
- package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Field.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Field.scss +109 -109
- package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
- package/lib/esm/appui-react/statusbar/LabelIndicator.scss +43 -43
- package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Overflow.scss +27 -27
- package/lib/esm/appui-react/statusbar/OverflowPanel.js.map +1 -1
- package/lib/esm/appui-react/statusbar/OverflowPanel.scss +22 -22
- package/lib/esm/appui-react/statusbar/Popup.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Separator.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Separator.scss +12 -12
- package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.scss +41 -41
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
- package/lib/esm/appui-react/statusbar/dialog/Button.js.map +1 -1
- package/lib/esm/appui-react/statusbar/dialog/Dialog.js.map +1 -1
- package/lib/esm/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
- package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
- package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
- package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SectionsField.scss +35 -35
- package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SelectionInfo.scss +14 -14
- package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SelectionScope.scss +46 -46
- package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
- package/lib/esm/appui-react/statusfields/ViewAttributes.scss +10 -10
- package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
- package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
- package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
- package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
- package/lib/esm/appui-react/toolbar/DragInteraction.js.map +1 -1
- package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
- package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
- package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
- package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
- package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
- package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/ToolInformation.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/ToolSettingsManager.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/isProviderItem.js.map +1 -1
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
- package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
- package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
- package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/esm/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
- package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
- package/lib/esm/appui-react/utils/ViewUtilities.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/FloatingWidget.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.scss +19 -19
- package/lib/esm/appui-react/widget-panels/FrontstageContent.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.scss +10 -10
- package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Tab.scss +14 -14
- package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.scss +41 -41
- package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Toolbars.scss +20 -20
- package/lib/esm/appui-react/widget-panels/useTransientState.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
- package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
- package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
- package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
- package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -1
- package/lib/esm/appui-react.js.map +1 -1
- package/lib/public/locales/en/UiFramework.json +381 -381
- package/package.json +31 -29
|
@@ -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 { 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 { 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 { 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 { 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 { StatusBarItem } from \"./StatusBarItem\";\nimport { 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 { StatusBarItem } from \"./StatusBarItem\";\r\nimport { 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 { StatusBarItem } from \"./StatusBarItem\";\nimport { 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 { StatusBarItem } from \"./StatusBarItem\";\r\nimport { 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;AAC/B,OAAO,EAAE,QAAQ,EAAe,MAAM,mBAAmB,CAAC;AAC1D,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 { Centered, CommonProps } from \"@itwin/core-react\";\nimport { MessageManager } from \"../messages/MessageManager\";\nimport { 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;AAC/B,OAAO,EAAE,QAAQ,EAAe,MAAM,mBAAmB,CAAC;AAC1D,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 { Centered, CommonProps } from \"@itwin/core-react\";\r\nimport { MessageManager } from \"../messages/MessageManager\";\r\nimport { 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 { NotifyMessageDetailsType } from \"../messages/ReactNotifyMessageDetails\";\nimport { UiFramework } from \"../UiFramework\";\nimport { CommonProps, 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 { NotifyMessageDetailsType } from \"../messages/ReactNotifyMessageDetails\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { CommonProps, 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 { ClipEventType, IModelApp, ViewClipClearTool, ViewClipDecoration, ViewClipDecorationProvider, Viewport } from \"@itwin/core-frontend\";\nimport { 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 { ClipEventType, IModelApp, ViewClipClearTool, ViewClipDecoration, ViewClipDecorationProvider, Viewport } from \"@itwin/core-frontend\";\r\nimport { 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":"SelectionInfo.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionInfo.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAC9B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAQvD;;;GAGG;AACH,MAAM,2BAA4B,SAAQ,KAAK,CAAC,SAAkC;IAEhF,YAAY,KAA8B;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,UAAU,CAAC,iCAAiC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAC9E,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAEtB,oBAAC,IAAI,IAAC,QAAQ,EAAE,oBAAC,SAAS,OAAG,GAAI;YACjC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CACrB,CACnB,CAAC;IACJ,CAAC;CACF;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,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;AAC1E,CAAC;AAED,4EAA4E;AAC5E;;;;;GAKG,CAAC,gEAAgE;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,2BAA2B,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 \"./SelectionInfo.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport { CommonProps, Icon } from \"@itwin/core-react\";\nimport { FooterIndicator } from \"@itwin/appui-layout-react\";\nimport { UiFramework } from \"../UiFramework\";\nimport { SvgCursor } from \"@itwin/itwinui-icons-react\";\n\n/** Defines properties supported by the SelectionInfo Field Component.\n */\ninterface SelectionInfoFieldProps extends CommonProps {\n selectionCount: number;\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 */\nclass SelectionInfoFieldComponent extends React.Component<SelectionInfoFieldProps> {\n\n constructor(props: SelectionInfoFieldProps) {\n super(props);\n }\n\n public override render(): React.ReactNode {\n return (\n <FooterIndicator\n className={classnames(\"uifw-statusFields-selectionInfo\", this.props.className)}\n style={this.props.style}\n >\n {<Icon iconSpec={<SvgCursor />} />}\n {this.props.selectionCount.toString()}\n </FooterIndicator>\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 { selectionCount: frameworkState.sessionState.numItemsSelected };\n}\n\n// we declare the variable and export that rather than using export default.\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 selected items based on the Presentation Rules Selection Manager.\n * This React component is Redux connected.\n * @public\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\nexport const SelectionInfoField = connect(mapStateToProps)(SelectionInfoFieldComponent);\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,sBAAsB,CAAC;AAC9B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAQvD;;;GAGG;AACH,MAAM,2BAA4B,SAAQ,KAAK,CAAC,SAAkC;IAEhF,YAAY,KAA8B;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,UAAU,CAAC,iCAAiC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAC9E,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAEtB,oBAAC,IAAI,IAAC,QAAQ,EAAE,oBAAC,SAAS,OAAG,GAAI;YACjC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CACrB,CACnB,CAAC;IACJ,CAAC;CACF;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,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;AAC1E,CAAC;AAED,4EAA4E;AAC5E;;;;;GAKG,CAAC,gEAAgE;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,2BAA2B,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 \"./SelectionInfo.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { CommonProps, Icon } from \"@itwin/core-react\";\r\nimport { FooterIndicator } from \"@itwin/appui-layout-react\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { SvgCursor } from \"@itwin/itwinui-icons-react\";\r\n\r\n/** Defines properties supported by the SelectionInfo Field Component.\r\n */\r\ninterface SelectionInfoFieldProps extends CommonProps {\r\n selectionCount: number;\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 */\r\nclass SelectionInfoFieldComponent extends React.Component<SelectionInfoFieldProps> {\r\n\r\n constructor(props: SelectionInfoFieldProps) {\r\n super(props);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n return (\r\n <FooterIndicator\r\n className={classnames(\"uifw-statusFields-selectionInfo\", this.props.className)}\r\n style={this.props.style}\r\n >\r\n {<Icon iconSpec={<SvgCursor />} />}\r\n {this.props.selectionCount.toString()}\r\n </FooterIndicator>\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 { selectionCount: frameworkState.sessionState.numItemsSelected };\r\n}\r\n\r\n// we declare the variable and export that rather than using export default.\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 selected items based on the Presentation Rules Selection Manager.\r\n * This React component is Redux connected.\r\n * @public\r\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport const SelectionInfoField = connect(mapStateToProps)(SelectionInfoFieldComponent);\r\n"]}
|
|
@@ -1,15 +1,15 @@
|
|
|
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/appui-layout-react/lib/cjs/appui-layout-react/footer/_variables";
|
|
6
|
-
|
|
7
|
-
.uifw-statusFields-selectionInfo {
|
|
8
|
-
.icon {
|
|
9
|
-
color: $icon-color;
|
|
10
|
-
font-size: $icon-size;
|
|
11
|
-
padding-right: 4px;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
min-width: 6em;
|
|
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/appui-layout-react/lib/cjs/appui-layout-react/footer/_variables";
|
|
6
|
+
|
|
7
|
+
.uifw-statusFields-selectionInfo {
|
|
8
|
+
.icon {
|
|
9
|
+
color: $icon-color;
|
|
10
|
+
font-size: $icon-size;
|
|
11
|
+
padding-right: 4px;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
min-width: 6em;
|
|
15
15
|
}
|
|
@@ -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,EAAgB,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAY7C;;;;;;;GAOG;AACH,MAAM,4BAA6B,SAAQ,KAAK,CAAC,SAAmC;IAKlF,YAAY,KAA+B;QACzC,KAAK,CAAC,KAAK,CAAC,CAAC;QALP,WAAM,GAAG,WAAW,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAC5D,aAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QAChE,kBAAa,GAA2B,EAAE,CAAC;QAU3C,uBAAkB,GAAG,CAAC,QAAgB,EAAE,EAAE;YAChD,uBAAuB;YACvB,IAAI,QAAQ,EAAE;gBACZ,WAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC;QAXA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAiC,EAAE,EAAE;YACjG,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,wBAAwB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACtG,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IASe,MAAM;QAEpB,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,UAAU,CAAC,kCAAkC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAC/E,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAEvB,+BAAO,SAAS,EAAC,wCAAwC;gBACtD,IAAI,CAAC,MAAM;oBACN;YACR,oBAAC,MAAM,IACL,SAAS,EAAC,2CAA2C,EACrD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EACtC,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,QAAQ,EAAE,IAAI,CAAC,kBAAkB,iBACrB,oCAAoC,EAChD,KAAK,EAAE,IAAI,CAAC,QAAQ,EACpB,IAAI,EAAC,OAAO,GAAG,CACA,CACpB,CAAC;IACJ,CAAC;CACF;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, SelectOption } from \"@itwin/itwinui-react\";\nimport { PresentationSelectionScope } from \"../redux/SessionState\";\nimport { UiFramework } from \"../UiFramework\";\nimport { CommonProps } from \"@itwin/core-react\";\n\n/** Defines properties supported by the SelectionScopeField Component.\n * @public\n */\ninterface SelectionScopeFieldProps extends CommonProps {\n\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 */\nclass SelectionScopeFieldComponent extends React.Component<SelectionScopeFieldProps> {\n private _label = UiFramework.translate(\"selectionScopeField.label\");\n private _toolTip = UiFramework.translate(\"selectionScopeField.toolTip\");\n private _scopeOptions: SelectOption<string>[] = [];\n\n constructor(props: SelectionScopeFieldProps) {\n super(props);\n this._scopeOptions = this.props.availableSelectionScopes.map((scope: PresentationSelectionScope) => {\n const label = !!scope.label ? scope.label : UiFramework.translate(`selectionScopeLabels.${scope.id}`);\n return { value: scope.id, label };\n });\n }\n\n private _updateSelectValue = (newValue: string) => {\n // istanbul ignore else\n if (newValue) {\n UiFramework.setActiveSelectionScope(newValue);\n }\n };\n\n public override render(): React.ReactNode {\n\n return (\n <FooterIndicator\n className={classnames(\"uifw-statusFields-selectionScope\", this.props.className)}\n style={this.props.style}\n >\n <label className=\"uifw-statusFields-selectionScope-label\">\n {this._label}:\n </label>\n <Select\n className=\"uifw-statusFields-selectionScope-selector\"\n value={this.props.activeSelectionScope}\n options={this._scopeOptions}\n onChange={this._updateSelectValue}\n data-testid=\"components-selectionScope-selector\"\n title={this._toolTip}\n size=\"small\" />\n </FooterIndicator >\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 { 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,EAAgB,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAY7C;;;;;;;GAOG;AACH,MAAM,4BAA6B,SAAQ,KAAK,CAAC,SAAmC;IAKlF,YAAY,KAA+B;QACzC,KAAK,CAAC,KAAK,CAAC,CAAC;QALP,WAAM,GAAG,WAAW,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAC5D,aAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QAChE,kBAAa,GAA2B,EAAE,CAAC;QAU3C,uBAAkB,GAAG,CAAC,QAAgB,EAAE,EAAE;YAChD,uBAAuB;YACvB,IAAI,QAAQ,EAAE;gBACZ,WAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC;QAXA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAiC,EAAE,EAAE;YACjG,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,wBAAwB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACtG,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IASe,MAAM;QAEpB,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,UAAU,CAAC,kCAAkC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAC/E,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAEvB,+BAAO,SAAS,EAAC,wCAAwC;gBACtD,IAAI,CAAC,MAAM;oBACN;YACR,oBAAC,MAAM,IACL,SAAS,EAAC,2CAA2C,EACrD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EACtC,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,QAAQ,EAAE,IAAI,CAAC,kBAAkB,iBACrB,oCAAoC,EAChD,KAAK,EAAE,IAAI,CAAC,QAAQ,EACpB,IAAI,EAAC,OAAO,GAAG,CACA,CACpB,CAAC;IACJ,CAAC;CACF;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, SelectOption } from \"@itwin/itwinui-react\";\r\nimport { PresentationSelectionScope } from \"../redux/SessionState\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { 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\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\nclass SelectionScopeFieldComponent extends React.Component<SelectionScopeFieldProps> {\r\n private _label = UiFramework.translate(\"selectionScopeField.label\");\r\n private _toolTip = UiFramework.translate(\"selectionScopeField.toolTip\");\r\n private _scopeOptions: SelectOption<string>[] = [];\r\n\r\n constructor(props: SelectionScopeFieldProps) {\r\n super(props);\r\n this._scopeOptions = this.props.availableSelectionScopes.map((scope: PresentationSelectionScope) => {\r\n const label = !!scope.label ? scope.label : UiFramework.translate(`selectionScopeLabels.${scope.id}`);\r\n return { value: scope.id, label };\r\n });\r\n }\r\n\r\n private _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 public override render(): React.ReactNode {\r\n\r\n return (\r\n <FooterIndicator\r\n className={classnames(\"uifw-statusFields-selectionScope\", this.props.className)}\r\n style={this.props.style}\r\n >\r\n <label className=\"uifw-statusFields-selectionScope-label\">\r\n {this._label}:\r\n </label>\r\n <Select\r\n className=\"uifw-statusFields-selectionScope-selector\"\r\n value={this.props.activeSelectionScope}\r\n options={this._scopeOptions}\r\n onChange={this._updateSelectValue}\r\n data-testid=\"components-selectionScope-selector\"\r\n title={this._toolTip}\r\n size=\"small\" />\r\n </FooterIndicator >\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 { 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 { ConfigurableUiActions } from \"../configurableui/state\";\nimport { UiFramework } from \"../UiFramework\";\nimport { CommonProps, Icon, IconSpec } 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 setSnapMode: (mode: number) => any;\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\ninterface SnapModeFieldState {\n target: HTMLElement | null;\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 */\nclass SnapModeFieldComponent extends React.Component<SnapModeFieldProps, SnapModeFieldState> {\n private _snapModeFieldArray: SnapModeFieldEntry[] = [\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 private _title = UiFramework.translate(\"snapModeField.snapMode\");\n\n public override readonly state: SnapModeFieldState = {\n target: null,\n };\n\n constructor(props: SnapModeFieldProps) {\n super(props);\n }\n\n /** Return icon class name for a specific snapMode. */\n private getSnapModeIconNameFromMode(snapMode: number): string {\n for (const mode of this._snapModeFieldArray) {\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 }\n\n /** Standard React render method. */\n public override render(): React.ReactNode {\n return (\n <>\n <StatusBarLabelIndicator\n iconSpec={`${this.getIconFromIconName(`${this.getSnapModeIconNameFromMode(this.props.snapMode)}`)}`}\n title={this._title}\n label={this._title}\n popup={\n <SnapModePanel title={this._title}>\n {this.getSnapEntries()}\n </SnapModePanel>\n }\n />\n </>\n );\n }\n\n /** Return an IconSpec with a web component icon to replace the icons that we used to load from the webfont */\n private 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 /** Return array of SnapRow elements, one for each support snap mode. This array will populate the pop-up used\n * to select a SnapMode.\n */\n private getSnapEntries(): JSX.Element[] {\n return this._snapModeFieldArray.map((item: SnapModeFieldEntry, index: number) => {\n const iconSpec = this.getIconFromIconName(item.iconName);\n return (\n <Snap\n key={`SM_${index}`}\n onClick={() => this._handleSnapModeFieldClick(item.value)}\n isActive={(this.props.snapMode & item.value) === item.value}\n icon={\n <Icon className={`icon`} iconSpec={iconSpec} />\n }\n >\n {item.label}\n </Snap >\n );\n });\n }\n\n /** Called when user clicks on a Snap Mode entry in the pop-up window. */\n private _handleSnapModeFieldClick = (snapModeField: number) => {\n this.props.setSnapMode(snapModeField);\n };\n\n}\n\n// Used by Redux to map dispatch functions to props entry. This requires SnapModeFieldProps interface above to include a setSnapMode entry */\nconst mapDispatch = {\n setSnapMode: ConfigurableUiActions.setSnapMode,\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, mapDispatch)(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 { ConfigurableUiActions } from \"../configurableui/state\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { CommonProps, Icon, IconSpec } 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 setSnapMode: (mode: number) => any;\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\ninterface SnapModeFieldState {\r\n target: HTMLElement | null;\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\nclass SnapModeFieldComponent extends React.Component<SnapModeFieldProps, SnapModeFieldState> {\r\n private _snapModeFieldArray: SnapModeFieldEntry[] = [\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 private _title = UiFramework.translate(\"snapModeField.snapMode\");\r\n\r\n public override readonly state: SnapModeFieldState = {\r\n target: null,\r\n };\r\n\r\n constructor(props: SnapModeFieldProps) {\r\n super(props);\r\n }\r\n\r\n /** Return icon class name for a specific snapMode. */\r\n private getSnapModeIconNameFromMode(snapMode: number): string {\r\n for (const mode of this._snapModeFieldArray) {\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 }\r\n\r\n /** Standard React render method. */\r\n public override render(): React.ReactNode {\r\n return (\r\n <>\r\n <StatusBarLabelIndicator\r\n iconSpec={`${this.getIconFromIconName(`${this.getSnapModeIconNameFromMode(this.props.snapMode)}`)}`}\r\n title={this._title}\r\n label={this._title}\r\n popup={\r\n <SnapModePanel title={this._title}>\r\n {this.getSnapEntries()}\r\n </SnapModePanel>\r\n }\r\n />\r\n </>\r\n );\r\n }\r\n\r\n /** Return an IconSpec with a web component icon to replace the icons that we used to load from the webfont */\r\n private 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 /** Return array of SnapRow elements, one for each support snap mode. This array will populate the pop-up used\r\n * to select a SnapMode.\r\n */\r\n private getSnapEntries(): JSX.Element[] {\r\n return this._snapModeFieldArray.map((item: SnapModeFieldEntry, index: number) => {\r\n const iconSpec = this.getIconFromIconName(item.iconName);\r\n return (\r\n <Snap\r\n key={`SM_${index}`}\r\n onClick={() => this._handleSnapModeFieldClick(item.value)}\r\n isActive={(this.props.snapMode & item.value) === item.value}\r\n icon={\r\n <Icon className={`icon`} iconSpec={iconSpec} />\r\n }\r\n >\r\n {item.label}\r\n </Snap >\r\n );\r\n });\r\n }\r\n\r\n /** Called when user clicks on a Snap Mode entry in the pop-up window. */\r\n private _handleSnapModeFieldClick = (snapModeField: number) => {\r\n this.props.setSnapMode(snapModeField);\r\n };\r\n\r\n}\r\n\r\n// Used by Redux to map dispatch functions to props entry. This requires SnapModeFieldProps interface above to include a setSnapMode entry */\r\nconst mapDispatch = {\r\n setSnapMode: ConfigurableUiActions.setSnapMode,\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, mapDispatch)(SnapModeFieldComponent);\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewAttributes.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/ViewAttributes.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 \"./ViewAttributes.scss\";\nimport * as React from \"react\";\nimport { ViewFlagProps, ViewFlags } from \"@itwin/core-common\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { Checkbox } from \"@itwin/itwinui-react\";\nimport { UiFramework } from \"../UiFramework\";\nimport { CommonProps } from \"@itwin/core-react\";\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\nimport { StatusBarDialog } from \"../statusbar/dialog/Dialog\";\nimport { SvgWindowSettings } from \"@itwin/itwinui-icons-react\";\n\ninterface ViewAttributesStatusFieldState {\n viewFlags: ViewFlagProps;\n cameraOn: boolean;\n target: HTMLElement | null;\n}\n\n/** Widget for showing Checkboxes for View Attributes\n * @beta\n */\nexport class ViewAttributesStatusField extends React.Component<CommonProps, ViewAttributesStatusFieldState> {\n private _title = UiFramework.translate(\"listTools.viewAttributes\");\n\n constructor(props: CommonProps) {\n super(props);\n\n this.state = {\n cameraOn: false,\n viewFlags: {},\n target: null,\n };\n }\n\n public override componentDidMount() {\n this.updateState();\n }\n\n // istanbul ignore next\n private updateState() {\n if (IModelApp.viewManager.selectedView) {\n const viewFlags: ViewFlagProps = { ...IModelApp.viewManager.selectedView.view.viewFlags.toJSON() };\n const cameraOn = IModelApp.viewManager.selectedView.isCameraOn;\n\n this.setState({\n viewFlags,\n cameraOn,\n });\n }\n }\n\n // istanbul ignore next\n private _handleViewFlagClick = (flagName: string) => {\n if (IModelApp.viewManager.selectedView) {\n const props: ViewFlagProps = IModelApp.viewManager.selectedView.viewFlags.toJSON();\n (props as any)[flagName] = (props as any)[flagName] === undefined ? true : !(props as any)[flagName];\n const viewFlags = ViewFlags.fromJSON(props);\n IModelApp.viewManager.selectedView.viewFlags = viewFlags;\n this.updateState();\n }\n };\n\n private _handleToggleCamera = async () => {\n await IModelApp.tools.run(\"View.ToggleCamera\", IModelApp.viewManager.selectedView);\n this.updateState();\n };\n\n // istanbul ignore next\n private stylizeName(name: string) {\n name = name.charAt(0).toUpperCase() + name.slice(1);\n name = name.replace(/([A-Z])/g, \" $1\").trim();\n return name;\n }\n\n private getViewFlagItem(flagName: string, value: boolean, labelKey?: string) {\n return <Checkbox key={flagName} label={labelKey ? IModelApp.localization.getLocalizedString(labelKey) : /* istanbul ignore next */ this.stylizeName(flagName)} onClick={() => this._handleViewFlagClick(flagName)} defaultChecked={value} />;\n }\n\n private getFlagState(flagName: string) {\n return this.state.viewFlags.hasOwnProperty(flagName) ? /* istanbul ignore next */ (this.state.viewFlags as any)[flagName] : false;\n }\n\n private getToggleCameraItem() {\n return <Checkbox key={\"toggleCamera\"} label={IModelApp.localization.getLocalizedString(\"UiFramework:listTools.camera\")} onClick={this._handleToggleCamera} defaultChecked={this.state.cameraOn} />;\n }\n\n private getViewFlags() {\n const items: JSX.Element[] = [];\n items.push(this.getViewFlagItem(\"acs\", this.getFlagState(\"acs\"), \"UiFramework:listTools.acs\"));\n items.push(this.getToggleCameraItem());\n items.push(this.getViewFlagItem(\"noConstruct\", !this.getFlagState(\"noConstruct\"), \"UiFramework:listTools.constructions\"));\n items.push(this.getViewFlagItem(\"hidEdges\", this.getFlagState(\"hidEdges\"), \"UiFramework:listTools.hidEdges\"));\n items.push(this.getViewFlagItem(\"monochrome\", this.getFlagState(\"monochrome\"), \"UiFramework:listTools.monochrome\"));\n items.push(this.getViewFlagItem(\"visEdges\", this.getFlagState(\"visEdges\"), \"UiFramework:listTools.visEdges\"));\n items.push(this.getViewFlagItem(\"ambientOcclusion\", this.getFlagState(\"ambientOcclusion\"), \"UiFramework:listTools.ambientOcclusion\"));\n items.push(this.getViewFlagItem(\"shadows\", this.getFlagState(\"shadows\"), \"UiFramework:listTools.shadows\"));\n items.push(this.getViewFlagItem(\"backgroundMap\", this.getFlagState(\"backgroundMap\"), \"UiFramework:listTools.backgroundMap\"));\n return <div className=\"uifw-view-attributes-contents\">{items}</div>;\n }\n\n public override render() {\n return (\n <StatusBarLabelIndicator\n iconSpec={<SvgWindowSettings />}\n title={this._title}\n popup={<StatusBarDialog\n titleBar={\n <StatusBarDialog.TitleBar title={this._title} />\n }>\n {this.getViewFlags()}\n </StatusBarDialog>}\n />\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ViewAttributes.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/ViewAttributes.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 \"./ViewAttributes.scss\";\r\nimport * as React from \"react\";\r\nimport { ViewFlagProps, ViewFlags } from \"@itwin/core-common\";\r\nimport { IModelApp } from \"@itwin/core-frontend\";\r\nimport { Checkbox } from \"@itwin/itwinui-react\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\r\nimport { StatusBarDialog } from \"../statusbar/dialog/Dialog\";\r\nimport { SvgWindowSettings } from \"@itwin/itwinui-icons-react\";\r\n\r\ninterface ViewAttributesStatusFieldState {\r\n viewFlags: ViewFlagProps;\r\n cameraOn: boolean;\r\n target: HTMLElement | null;\r\n}\r\n\r\n/** Widget for showing Checkboxes for View Attributes\r\n * @beta\r\n */\r\nexport class ViewAttributesStatusField extends React.Component<CommonProps, ViewAttributesStatusFieldState> {\r\n private _title = UiFramework.translate(\"listTools.viewAttributes\");\r\n\r\n constructor(props: CommonProps) {\r\n super(props);\r\n\r\n this.state = {\r\n cameraOn: false,\r\n viewFlags: {},\r\n target: null,\r\n };\r\n }\r\n\r\n public override componentDidMount() {\r\n this.updateState();\r\n }\r\n\r\n // istanbul ignore next\r\n private updateState() {\r\n if (IModelApp.viewManager.selectedView) {\r\n const viewFlags: ViewFlagProps = { ...IModelApp.viewManager.selectedView.view.viewFlags.toJSON() };\r\n const cameraOn = IModelApp.viewManager.selectedView.isCameraOn;\r\n\r\n this.setState({\r\n viewFlags,\r\n cameraOn,\r\n });\r\n }\r\n }\r\n\r\n // istanbul ignore next\r\n private _handleViewFlagClick = (flagName: string) => {\r\n if (IModelApp.viewManager.selectedView) {\r\n const props: ViewFlagProps = IModelApp.viewManager.selectedView.viewFlags.toJSON();\r\n (props as any)[flagName] = (props as any)[flagName] === undefined ? true : !(props as any)[flagName];\r\n const viewFlags = ViewFlags.fromJSON(props);\r\n IModelApp.viewManager.selectedView.viewFlags = viewFlags;\r\n this.updateState();\r\n }\r\n };\r\n\r\n private _handleToggleCamera = async () => {\r\n await IModelApp.tools.run(\"View.ToggleCamera\", IModelApp.viewManager.selectedView);\r\n this.updateState();\r\n };\r\n\r\n // istanbul ignore next\r\n private stylizeName(name: string) {\r\n name = name.charAt(0).toUpperCase() + name.slice(1);\r\n name = name.replace(/([A-Z])/g, \" $1\").trim();\r\n return name;\r\n }\r\n\r\n private getViewFlagItem(flagName: string, value: boolean, labelKey?: string) {\r\n return <Checkbox key={flagName} label={labelKey ? IModelApp.localization.getLocalizedString(labelKey) : /* istanbul ignore next */ this.stylizeName(flagName)} onClick={() => this._handleViewFlagClick(flagName)} defaultChecked={value} />;\r\n }\r\n\r\n private getFlagState(flagName: string) {\r\n return this.state.viewFlags.hasOwnProperty(flagName) ? /* istanbul ignore next */ (this.state.viewFlags as any)[flagName] : false;\r\n }\r\n\r\n private getToggleCameraItem() {\r\n return <Checkbox key={\"toggleCamera\"} label={IModelApp.localization.getLocalizedString(\"UiFramework:listTools.camera\")} onClick={this._handleToggleCamera} defaultChecked={this.state.cameraOn} />;\r\n }\r\n\r\n private getViewFlags() {\r\n const items: JSX.Element[] = [];\r\n items.push(this.getViewFlagItem(\"acs\", this.getFlagState(\"acs\"), \"UiFramework:listTools.acs\"));\r\n items.push(this.getToggleCameraItem());\r\n items.push(this.getViewFlagItem(\"noConstruct\", !this.getFlagState(\"noConstruct\"), \"UiFramework:listTools.constructions\"));\r\n items.push(this.getViewFlagItem(\"hidEdges\", this.getFlagState(\"hidEdges\"), \"UiFramework:listTools.hidEdges\"));\r\n items.push(this.getViewFlagItem(\"monochrome\", this.getFlagState(\"monochrome\"), \"UiFramework:listTools.monochrome\"));\r\n items.push(this.getViewFlagItem(\"visEdges\", this.getFlagState(\"visEdges\"), \"UiFramework:listTools.visEdges\"));\r\n items.push(this.getViewFlagItem(\"ambientOcclusion\", this.getFlagState(\"ambientOcclusion\"), \"UiFramework:listTools.ambientOcclusion\"));\r\n items.push(this.getViewFlagItem(\"shadows\", this.getFlagState(\"shadows\"), \"UiFramework:listTools.shadows\"));\r\n items.push(this.getViewFlagItem(\"backgroundMap\", this.getFlagState(\"backgroundMap\"), \"UiFramework:listTools.backgroundMap\"));\r\n return <div className=\"uifw-view-attributes-contents\">{items}</div>;\r\n }\r\n\r\n public override render() {\r\n return (\r\n <StatusBarLabelIndicator\r\n iconSpec={<SvgWindowSettings />}\r\n title={this._title}\r\n popup={<StatusBarDialog\r\n titleBar={\r\n <StatusBarDialog.TitleBar title={this._title} />\r\n }>\r\n {this.getViewFlags()}\r\n </StatusBarDialog>}\r\n />\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
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-view-attributes-contents {
|
|
6
|
-
display: flex;
|
|
7
|
-
flex-direction: column;
|
|
8
|
-
padding: 8px;
|
|
9
|
-
overflow-y: auto;
|
|
10
|
-
}
|
|
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-view-attributes-contents {
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
padding: 8px;
|
|
9
|
+
overflow-y: auto;
|
|
10
|
+
}
|