@itwin/appui-react 4.10.0 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -1
- package/lib/cjs/appui-react/UiFramework.d.ts +181 -10
- package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/cjs/appui-react/UiFramework.js +301 -21
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +3 -2
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +5 -7
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
- package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
- package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
- package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +2 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +2 -2
- package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +24 -17
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/TimeTracker.js +2 -1
- package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.js +12 -9
- package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/cjs/appui-react/content/DefaultViewOverlay.js +4 -3
- package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +14 -19
- package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -1
- package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/IModelViewport.js +8 -9
- package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +2 -1
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentViewManager.js +2 -2
- package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/cjs/appui-react/content/split-pane/SplitPane.js +12 -10
- package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ContentDialog.js +6 -3
- package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/cjs/appui-react/dialog/DialogManagerBase.js +3 -2
- package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +4 -2
- package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +0 -5
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js +20 -77
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +1 -3
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +1 -2
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +7 -6
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts +6 -0
- package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
- package/lib/cjs/appui-react/hooks/useActiveToolId.js +24 -0
- package/lib/cjs/appui-react/hooks/useActiveToolId.js.map +1 -0
- package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
- package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts +15 -0
- package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
- package/lib/cjs/appui-react/hooks/useConditionalValue.js +43 -0
- package/lib/cjs/appui-react/hooks/useConditionalValue.js.map +1 -0
- package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
- package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +13 -8
- package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/keyins/Keyins.d.ts +35 -0
- package/lib/cjs/appui-react/keyins/Keyins.d.ts.map +1 -0
- package/lib/cjs/appui-react/keyins/Keyins.js +54 -0
- package/lib/cjs/appui-react/keyins/Keyins.js.map +1 -0
- package/lib/cjs/appui-react/layers.scss +1 -1
- package/lib/cjs/appui-react/layout/StandardLayout.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/StandardLayout.js +10 -10
- package/lib/cjs/appui-react/layout/StandardLayout.js.map +1 -1
- package/lib/cjs/appui-react/layout/_widgetopacity.scss +3 -1
- package/lib/cjs/appui-react/layout/base/DragManager.js +2 -1
- package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
- package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
- package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
- package/lib/cjs/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/base/usePointerCaptor.js +3 -0
- package/lib/cjs/appui-react/layout/base/usePointerCaptor.js.map +1 -1
- package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
- package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
- package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
- package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +14 -12
- package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
- package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +3 -2
- package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
- package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
- package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
- package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/Content.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget/Content.js +5 -5
- package/lib/cjs/appui-react/layout/widget/Content.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +2 -2
- package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/FloatingTab.js +6 -5
- package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +4 -2
- package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/NavigationArea.scss +4 -1
- package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
- package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/Tab.js +4 -4
- package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/ToolsArea.scss +2 -0
- package/lib/cjs/appui-react/layout/widget/Widget.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
- package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
- package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +8 -5
- package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
- package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
- package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
- package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
- package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
- package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/messages/MessageManager.js +6 -6
- package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/cjs/appui-react/messages/MessageRenderer.js +16 -10
- package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -6
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
- package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
- package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -2
- package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.js +6 -5
- package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/cjs/appui-react/popup/CardPopup.d.ts +21 -9
- package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/CardPopup.js +12 -5
- package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/ComponentPopup.d.ts +18 -0
- package/lib/cjs/appui-react/popup/ComponentPopup.d.ts.map +1 -0
- package/lib/cjs/appui-react/popup/ComponentPopup.js +35 -0
- package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -0
- package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts +4 -1
- package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/HTMLElementPopup.js +1 -0
- package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +4 -4
- package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +19 -12
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
- package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +9 -3
- package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/PopupManager.d.ts +45 -9
- package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/PopupManager.js +85 -13
- package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +16 -6
- package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/ToolbarPopup.js +7 -2
- package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +3 -1
- package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
- package/lib/cjs/appui-react/preview/PreviewFeatures.js +2 -2
- package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
- package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
- package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
- package/lib/cjs/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
- package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
- package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
- package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +18 -0
- package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
- package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.scss +10 -0
- package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +7 -7
- package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -1
- package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +7 -7
- package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
- package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +6 -6
- package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
- package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
- package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +1 -1
- package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -1
- package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +4 -4
- package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js +25 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Badge.js +20 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Badge.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Badge.scss +13 -0
- package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
- package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +36 -0
- package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
- package/lib/cjs/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +8 -13
- package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
- package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
- package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +79 -0
- package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts +21 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Item.js +54 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
- package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +37 -0
- package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +85 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js +40 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
- package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js +93 -0
- package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
- package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +2 -1
- package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
- package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
- package/lib/cjs/appui-react/redux/SessionState.d.ts +15 -3
- package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
- package/lib/cjs/appui-react/redux/SessionState.js +8 -1
- package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
- package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +40 -46
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/cjs/appui-react/shared/ConditionalValue.d.ts +17 -0
- package/lib/cjs/appui-react/shared/ConditionalValue.d.ts.map +1 -0
- package/lib/cjs/appui-react/shared/ConditionalValue.js +16 -0
- package/lib/cjs/appui-react/shared/ConditionalValue.js.map +1 -0
- package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
- package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
- package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/cjs/appui-react/shared/ItemProps.d.ts +13 -2
- package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
- package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/cjs/appui-react/shared/MenuItem.d.ts +21 -2
- package/lib/cjs/appui-react/shared/MenuItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +16 -11
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Indicator.js +2 -1
- package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Overflow.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/Overflow.js +3 -3
- package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.js +6 -4
- package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +2 -2
- package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/{Popup.d.ts → popup/Popup.d.ts} +2 -1
- package/lib/cjs/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
- package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.js +10 -11
- package/lib/cjs/appui-react/statusbar/popup/Popup.js.map +1 -0
- package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
- package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/ActivityCenter.js +4 -4
- package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +0 -1
- package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/MessageCenter.js +4 -4
- package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/SectionsField.js +7 -10
- package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/SelectionScope.js +4 -4
- package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/SnapMode.js +14 -12
- package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -2
- package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/ViewAttributes.js +12 -20
- package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -2
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/theme/ThemeManager.js +3 -2
- package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
- package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.d.ts +4 -3
- package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.js +28 -4
- package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +15 -12
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +5 -6
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +2 -2
- package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +18 -11
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
- package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
- package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +14 -8
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +102 -143
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
- package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/cjs/appui-react/useTranslation.d.ts +10 -0
- package/lib/cjs/appui-react/useTranslation.d.ts.map +1 -0
- package/lib/cjs/appui-react/useTranslation.js +20 -0
- package/lib/cjs/appui-react/useTranslation.js.map +1 -0
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
- package/lib/cjs/appui-react/utils/Placement.d.ts +35 -0
- package/lib/cjs/appui-react/utils/Placement.d.ts.map +1 -0
- package/lib/cjs/appui-react/utils/Placement.js +62 -0
- package/lib/cjs/appui-react/utils/Placement.js.map +1 -0
- package/lib/cjs/appui-react/utils/PropsHelper.js +4 -4
- package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Content.js +12 -11
- package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.js +30 -23
- package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Tab.d.ts +1 -1
- package/lib/cjs/appui-react/widget-panels/Tab.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Tab.js +3 -4
- package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js +55 -68
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Toolbars.js +3 -2
- package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Toolbars.scss +3 -1
- package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/BackstageAppButton.js +3 -1
- package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +5 -3
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/Widget.d.ts +2 -2
- package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +8 -3
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js +61 -18
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetHost.js +3 -2
- package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
- package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
- package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
- package/lib/cjs/appui-react.d.ts +3 -1
- package/lib/cjs/appui-react.d.ts.map +1 -1
- package/lib/cjs/appui-react.js +3 -3
- package/lib/cjs/appui-react.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.d.ts +181 -10
- package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +301 -21
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +3 -2
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +5 -7
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
- package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
- package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
- package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
- package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js +2 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItem.d.ts +2 -2
- package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +23 -16
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/TimeTracker.js +2 -1
- package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.js +12 -9
- package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/esm/appui-react/content/DefaultViewOverlay.js +4 -3
- package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/esm/appui-react/content/DefaultViewOverlay.scss +14 -19
- package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -1
- package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
- package/lib/esm/appui-react/content/IModelViewport.js +8 -9
- package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/esm/appui-react/content/InternalContentLayoutManager.js +2 -1
- package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/esm/appui-react/content/InternalContentViewManager.js +2 -2
- package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/esm/appui-react/content/split-pane/SplitPane.js +12 -10
- package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
- package/lib/esm/appui-react/dialog/ContentDialog.js +6 -3
- package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/esm/appui-react/dialog/DialogManagerBase.js +3 -2
- package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +4 -2
- package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +0 -5
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js +21 -78
- package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +1 -3
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
- package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalFrontstage.js +1 -2
- package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +7 -6
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveToolId.d.ts +6 -0
- package/lib/esm/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
- package/lib/esm/appui-react/hooks/useActiveToolId.js +20 -0
- package/lib/esm/appui-react/hooks/useActiveToolId.js.map +1 -0
- package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
- package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useConditionalValue.d.ts +15 -0
- package/lib/esm/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
- package/lib/esm/appui-react/hooks/useConditionalValue.js +39 -0
- package/lib/esm/appui-react/hooks/useConditionalValue.js.map +1 -0
- package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
- package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useSolarDataProvider.js +13 -8
- package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
- package/lib/esm/appui-react/keyins/Keyins.d.ts +35 -0
- package/lib/esm/appui-react/keyins/Keyins.d.ts.map +1 -0
- package/lib/esm/appui-react/keyins/Keyins.js +50 -0
- package/lib/esm/appui-react/keyins/Keyins.js.map +1 -0
- package/lib/esm/appui-react/layers.scss +1 -1
- package/lib/esm/appui-react/layout/StandardLayout.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/StandardLayout.js +10 -10
- package/lib/esm/appui-react/layout/StandardLayout.js.map +1 -1
- package/lib/esm/appui-react/layout/_widgetopacity.scss +3 -1
- package/lib/esm/appui-react/layout/base/DragManager.js +2 -1
- package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
- package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
- package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
- package/lib/esm/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/base/usePointerCaptor.js +3 -0
- package/lib/esm/appui-react/layout/base/usePointerCaptor.js.map +1 -1
- package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
- package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
- package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
- package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
- package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +14 -12
- package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
- package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +3 -2
- package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
- package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
- package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
- package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/Content.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget/Content.js +5 -5
- package/lib/esm/appui-react/layout/widget/Content.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/ContentRenderer.js +2 -2
- package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/FloatingTab.js +6 -5
- package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/FloatingWidget.js +4 -2
- package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/NavigationArea.scss +4 -1
- package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
- package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/Tab.js +4 -4
- package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/ToolsArea.scss +2 -0
- package/lib/esm/appui-react/layout/widget/Widget.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
- package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
- package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
- package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +8 -5
- package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
- package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
- package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
- package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
- package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
- package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
- package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/messages/MessageManager.js +6 -6
- package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/esm/appui-react/messages/MessageRenderer.js +17 -11
- package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -6
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -2
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
- package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
- package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -2
- package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
- package/lib/esm/appui-react/pickers/ViewSelector.js +6 -5
- package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/esm/appui-react/popup/CardPopup.d.ts +21 -9
- package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/CardPopup.js +15 -7
- package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/ComponentPopup.d.ts +18 -0
- package/lib/esm/appui-react/popup/ComponentPopup.d.ts.map +1 -0
- package/lib/esm/appui-react/popup/ComponentPopup.js +31 -0
- package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -0
- package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts +4 -1
- package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/HTMLElementPopup.js +1 -0
- package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +4 -4
- package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePanel.js +19 -12
- package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
- package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePopup.js +9 -3
- package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
- package/lib/esm/appui-react/popup/PopupManager.d.ts +45 -9
- package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/PopupManager.js +87 -14
- package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +16 -6
- package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/ToolbarPopup.js +9 -3
- package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +3 -1
- package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
- package/lib/esm/appui-react/preview/PreviewFeatures.js +2 -2
- package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
- package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
- package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
- package/lib/esm/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
- package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
- package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
- package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +14 -0
- package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
- package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.scss +10 -0
- package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +7 -7
- package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -1
- package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +7 -7
- package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
- package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +6 -6
- package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
- package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
- package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +1 -1
- package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -1
- package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +4 -4
- package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
- package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js +22 -0
- package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
- package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/Badge.js +16 -0
- package/lib/esm/appui-react/preview/new-toolbars/Badge.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/Badge.scss +13 -0
- package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
- package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +33 -0
- package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
- package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
- package/lib/esm/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +5 -10
- package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
- package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
- package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +74 -0
- package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts +21 -0
- package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/Item.js +49 -0
- package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
- package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +34 -0
- package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
- package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +81 -0
- package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
- package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
- package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js +36 -0
- package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
- package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js +89 -0
- package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
- package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +2 -1
- package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
- package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
- package/lib/esm/appui-react/redux/SessionState.d.ts +15 -3
- package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
- package/lib/esm/appui-react/redux/SessionState.js +8 -1
- package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
- package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +40 -46
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/esm/appui-react/shared/ConditionalValue.d.ts +17 -0
- package/lib/esm/appui-react/shared/ConditionalValue.d.ts.map +1 -0
- package/lib/esm/appui-react/shared/ConditionalValue.js +13 -0
- package/lib/esm/appui-react/shared/ConditionalValue.js.map +1 -0
- package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
- package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
- package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/esm/appui-react/shared/ItemProps.d.ts +13 -2
- package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
- package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/esm/appui-react/shared/MenuItem.d.ts +21 -2
- package/lib/esm/appui-react/shared/MenuItem.d.ts.map +1 -1
- package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js +16 -11
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Indicator.js +2 -1
- package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Overflow.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/Overflow.js +3 -3
- package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.js +6 -4
- package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +2 -2
- package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
- package/lib/esm/appui-react/statusbar/{Popup.d.ts → popup/Popup.d.ts} +2 -1
- package/lib/esm/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
- package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.js +8 -9
- package/lib/esm/appui-react/statusbar/popup/Popup.js.map +1 -0
- package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
- package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/ActivityCenter.js +4 -4
- package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +0 -1
- package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/MessageCenter.js +4 -4
- package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/SectionsField.js +7 -10
- package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/SelectionScope.js +4 -4
- package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/SnapMode.js +14 -12
- package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -2
- package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/ViewAttributes.js +12 -20
- package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +3 -3
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
- package/lib/esm/appui-react/theme/ThemeManager.js +3 -2
- package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
- package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.d.ts +4 -3
- package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.js +29 -5
- package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
- package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js +15 -12
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarHelper.js +5 -6
- package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +2 -2
- package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js +18 -11
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
- package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
- package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +14 -8
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +100 -141
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
- package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/esm/appui-react/useTranslation.d.ts +10 -0
- package/lib/esm/appui-react/useTranslation.d.ts.map +1 -0
- package/lib/esm/appui-react/useTranslation.js +16 -0
- package/lib/esm/appui-react/useTranslation.js.map +1 -0
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
- package/lib/esm/appui-react/utils/Placement.d.ts +35 -0
- package/lib/esm/appui-react/utils/Placement.d.ts.map +1 -0
- package/lib/esm/appui-react/utils/Placement.js +57 -0
- package/lib/esm/appui-react/utils/Placement.js.map +1 -0
- package/lib/esm/appui-react/utils/PropsHelper.js +4 -4
- package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/Content.js +12 -11
- package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.js +30 -23
- package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Tab.d.ts +1 -1
- package/lib/esm/appui-react/widget-panels/Tab.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/Tab.js +2 -3
- package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.js +53 -66
- package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Toolbars.js +3 -2
- package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Toolbars.scss +3 -1
- package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/BackstageAppButton.js +3 -1
- package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +5 -3
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/Widget.d.ts +2 -2
- package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts +8 -3
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js +59 -17
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetHost.js +3 -2
- package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
- package/lib/esm/appui-react/widgets/useWidget.js +1 -1
- package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
- package/lib/esm/appui-react.d.ts +3 -1
- package/lib/esm/appui-react.d.ts.map +1 -1
- package/lib/esm/appui-react.js +3 -1
- package/lib/esm/appui-react.js.map +1 -1
- package/lib/public/locales/en/UiFramework.json +7 -1
- package/package.json +10 -8
- package/lib/cjs/appui-react/layout/footer/Popup.d.ts +0 -12
- package/lib/cjs/appui-react/layout/footer/Popup.d.ts.map +0 -1
- package/lib/cjs/appui-react/layout/footer/Popup.js.map +0 -1
- package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
- package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
- package/lib/cjs/appui-react/layout/state/activateDroppedTab.js.map +0 -1
- package/lib/cjs/appui-react/statusbar/Popup.d.ts.map +0 -1
- package/lib/cjs/appui-react/statusbar/Popup.js.map +0 -1
- package/lib/esm/appui-react/layout/footer/Popup.d.ts +0 -12
- package/lib/esm/appui-react/layout/footer/Popup.d.ts.map +0 -1
- package/lib/esm/appui-react/layout/footer/Popup.js.map +0 -1
- package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
- package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
- package/lib/esm/appui-react/layout/state/activateDroppedTab.js.map +0 -1
- package/lib/esm/appui-react/statusbar/Popup.d.ts.map +0 -1
- package/lib/esm/appui-react/statusbar/Popup.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionState.js","sourceRoot":"","sources":["../../../../src/appui-react/redux/SessionState.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module State\n */\n\n// The following definitions are causing extract-api issues on linux so for now just using any until we can figure out the issue.\nimport type { XAndY } from \"@itwin/core-geometry\";\n// import { IModelConnection, ViewState } from \"@itwin/core-frontend\";\nimport type { MenuItemProps } from \"../shared/MenuItem\";\nimport type { ActionsUnion, DeepReadonly } from \"./redux-ts\";\nimport { createAction } from \"./redux-ts\";\n\n// cSpell:ignore configurableui snapmode toolprompt sessionstate imodelid viewid viewportid rulesetid\n\n/** PresentationSelectionScope holds the id and the localized label for a selection scope supported for a specific iModel.\n * Added to avoid an api-extract error caused by using SelectionScope.\n * @public\n */\nexport interface PresentationSelectionScope {\n id: string;\n label: string;\n}\n\n/** Definition of data added to Redux store to define cursor menu. If menuItems are empty the menu control is not displayed.\n * To close the menu clear the menuItems or pass in undefined as the CursorData.\n * @public\n */\nexport interface CursorMenuData {\n items: MenuItemProps[];\n position: XAndY;\n childWindowId?: string;\n}\n\n/** Action Ids used by Redux and to send sync UI components. Typically used to refresh visibility or enable state of control.\n * Since these are also used as sync ids they should be in lowercase.\n * @public\n */\nexport enum SessionStateActionId {\n SetNumItemsSelected = \"sessionstate:set-num-items-selected\",\n SetAvailableSelectionScopes = \"sessionstate:set-available-selection-scopes\",\n SetSelectionScope = \"sessionstate:set-selection-scope\",\n SetActiveIModelId = \"sessionstate:set-active-imodelid\",\n SetIModelConnection = \"sessionstate:set-imodel-connection\",\n SetDefaultIModelViewportControlId = \"sessionstate:set-default-viewportid\",\n SetDefaultViewId = \"sessionstate:set-default-viewid\",\n SetDefaultViewState = \"sessionstate:set-default-view-state\",\n UpdateCursorMenu = \"sessionstate:update-cursor-menu\",\n}\n\n/** The portion of state managed by the SessionStateReducer.\n * @public\n */\nexport interface SessionState {\n numItemsSelected: number;\n availableSelectionScopes: PresentationSelectionScope[];\n activeSelectionScope: string;\n iModelId: string;\n defaultIModelViewportControlId: string | undefined;\n defaultViewId: string | undefined;\n defaultViewState: any;\n iModelConnection: any;\n cursorMenuData: CursorMenuData | undefined;\n}\n\nconst defaultSelectionScope = {\n id: \"element\",\n label: \"Element\",\n} as PresentationSelectionScope;\n\n/** used on first call of SessionStateReducer */\nconst initialState: SessionState = {\n /** number of selected items in Presentation Selection */\n numItemsSelected: 0,\n /** initialize to only support \"Element\" scope, this will be overwritten when iModelConnection is established */\n availableSelectionScopes: [defaultSelectionScope],\n /** initialize to active selection scope to \"Element\", this will be overwritten when iModelConnection is established */\n activeSelectionScope: defaultSelectionScope.id,\n /** set to iModelId if an iModel is active else it is an empty string, so initialize to empty string */\n iModelId: \"\",\n defaultIModelViewportControlId: undefined,\n defaultViewId: undefined,\n defaultViewState: undefined,\n iModelConnection: undefined,\n cursorMenuData: undefined,\n};\n\n/** An interface that allows redux connected object to dispatch changes to the SessionState reducer.\n * @beta\n */\nexport interface SessionStateActionsProps {\n setActiveIModelId: typeof SessionStateActions.setActiveIModelId;\n setAvailableSelectionScopes: typeof SessionStateActions.setAvailableSelectionScopes;\n setDefaultIModelViewportControlId: typeof SessionStateActions.setDefaultIModelViewportControlId;\n setDefaultViewId: typeof SessionStateActions.setDefaultViewId;\n setDefaultViewState: typeof SessionStateActions.setDefaultViewState;\n setIModelConnection: typeof SessionStateActions.setIModelConnection;\n setNumItemsSelected: typeof SessionStateActions.setNumItemsSelected;\n setSelectionScope: typeof SessionStateActions.setSelectionScope;\n updateCursorMenu: typeof SessionStateActions.updateCursorMenu;\n}\n\n/** An object with a function that creates each SessionStateReducer that can be handled by our reducer.\n * @public\n */\nexport const SessionStateActions = {\n setActiveIModelId:\n // istanbul ignore next\n (iModelId: string) =>\n createAction(SessionStateActionId.SetActiveIModelId, iModelId),\n setAvailableSelectionScopes:\n // istanbul ignore next\n (availableSelectionScopes: PresentationSelectionScope[]) =>\n createAction(\n SessionStateActionId.SetAvailableSelectionScopes,\n availableSelectionScopes\n ),\n setDefaultIModelViewportControlId: (iModelViewportControlId: string) =>\n createAction(\n SessionStateActionId.SetDefaultIModelViewportControlId,\n iModelViewportControlId\n ),\n setDefaultViewId: (viewId: string) =>\n createAction(SessionStateActionId.SetDefaultViewId, viewId),\n setDefaultViewState:\n // istanbul ignore next\n (viewState: any) =>\n createAction(SessionStateActionId.SetDefaultViewState, viewState),\n setNumItemsSelected: (numSelected: number) =>\n createAction(SessionStateActionId.SetNumItemsSelected, numSelected),\n setIModelConnection:\n // istanbul ignore next\n (iModelConnection: any) =>\n createAction(SessionStateActionId.SetIModelConnection, iModelConnection),\n setSelectionScope:\n // istanbul ignore next\n (activeSelectionScope: string) =>\n createAction(\n SessionStateActionId.SetSelectionScope,\n activeSelectionScope\n ),\n updateCursorMenu:\n // istanbul ignore next\n (cursorMenuData: CursorMenuData) =>\n createAction(SessionStateActionId.UpdateCursorMenu, cursorMenuData),\n};\n\n/** Object that contains available actions that modify SessionState. Parent control's props should\n * extend from SessionStateActionsProps before using this in Redux 'connect' function.\n * @beta\n */\n// ...SessionStateActionsProps\nexport const sessionStateMapDispatchToProps = { ...SessionStateActions };\n\n/** Union of SessionState Redux actions\n * @public\n */\nexport type SessionStateActionsUnion = ActionsUnion<typeof SessionStateActions>;\n\n/** Handles actions to update SessionState.\n * @public\n */\nexport function SessionStateReducer(\n state: SessionState = initialState,\n action: SessionStateActionsUnion\n): DeepReadonly<SessionState> {\n switch (action.type) {\n case SessionStateActionId.SetNumItemsSelected: {\n // istanbul ignore else\n if (undefined !== action.payload)\n return { ...state, numItemsSelected: action.payload };\n else return { ...state, numItemsSelected: 0 };\n }\n case SessionStateActionId.SetAvailableSelectionScopes: {\n const payloadArray: PresentationSelectionScope[] = [];\n action.payload.forEach((scope) => payloadArray.push(scope));\n // istanbul ignore else\n if (undefined !== action.payload)\n return { ...state, availableSelectionScopes: payloadArray };\n else\n return { ...state, availableSelectionScopes: [defaultSelectionScope] };\n }\n case SessionStateActionId.SetSelectionScope: {\n // istanbul ignore else\n if (undefined !== action.payload)\n return { ...state, activeSelectionScope: action.payload };\n else return { ...state, activeSelectionScope: defaultSelectionScope.id };\n }\n case SessionStateActionId.SetActiveIModelId: {\n // istanbul ignore else\n if (undefined !== action.payload)\n return { ...state, iModelId: action.payload };\n else return { ...state, iModelId: \"\" };\n }\n case SessionStateActionId.SetDefaultIModelViewportControlId: {\n return { ...state, defaultIModelViewportControlId: action.payload };\n }\n case SessionStateActionId.SetDefaultViewId: {\n return { ...state, defaultViewId: action.payload };\n }\n case SessionStateActionId.SetDefaultViewState: {\n return { ...state, defaultViewState: action.payload };\n }\n case SessionStateActionId.SetIModelConnection: {\n return { ...state, iModelConnection: action.payload };\n }\n case SessionStateActionId.UpdateCursorMenu: {\n return { ...state, cursorMenuData: action.payload };\n }\n }\n\n return state;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SessionState.js","sourceRoot":"","sources":["../../../../src/appui-react/redux/SessionState.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module State\n */\n\n// The following definitions are causing extract-api issues on linux so for now just using any until we can figure out the issue.\nimport type { XAndY } from \"@itwin/core-geometry\";\n// import { IModelConnection, ViewState } from \"@itwin/core-frontend\";\nimport type { CursorMenuItemProps, MenuItemProps } from \"../shared/MenuItem\";\nimport type { ActionsUnion, DeepReadonly } from \"./redux-ts\";\nimport { createAction } from \"./redux-ts\";\n// cSpell:ignore configurableui snapmode toolprompt sessionstate imodelid viewid viewportid rulesetid\n\n/** PresentationSelectionScope holds the id and the localized label for a selection scope supported for a specific iModel.\n * Added to avoid an api-extract error caused by using SelectionScope.\n * @public\n */\nexport interface PresentationSelectionScope {\n id: string;\n label: string;\n}\n\n/** Definition of data added to Redux store to define cursor menu. If menuItems are empty the menu control is not displayed.\n * To close the menu clear the menuItems or pass in undefined as the CursorData.\n * @public\n * @deprecated in 4.11.x use {@link CursorMenuPayload} instead.\n */\nexport interface CursorMenuData {\n position: XAndY;\n childWindowId?: string;\n // eslint-disable-next-line deprecation/deprecation\n items: MenuItemProps[];\n}\n\n/**\n * Definition of data added to Redux store to define cursor menu. If menuItems are empty the menu control is not displayed.\n * To close the menu clear the menuItems or pass in undefined as the CursorData.\n * @public\n */\nexport interface CursorMenuPayload {\n position: XAndY;\n childWindowId?: string;\n items: CursorMenuItemProps[];\n}\n\n/** Action Ids used by Redux and to send sync UI components. Typically used to refresh visibility or enable state of control.\n * Since these are also used as sync ids they should be in lowercase.\n * @public\n */\nexport enum SessionStateActionId {\n SetNumItemsSelected = \"sessionstate:set-num-items-selected\",\n SetAvailableSelectionScopes = \"sessionstate:set-available-selection-scopes\",\n SetSelectionScope = \"sessionstate:set-selection-scope\",\n SetActiveIModelId = \"sessionstate:set-active-imodelid\",\n SetIModelConnection = \"sessionstate:set-imodel-connection\",\n SetDefaultIModelViewportControlId = \"sessionstate:set-default-viewportid\",\n SetDefaultViewId = \"sessionstate:set-default-viewid\",\n SetDefaultViewState = \"sessionstate:set-default-view-state\",\n UpdateCursorMenu = \"sessionstate:update-cursor-menu\",\n}\n\n/** The portion of state managed by the SessionStateReducer.\n * @public\n */\nexport interface SessionState {\n numItemsSelected: number;\n availableSelectionScopes: PresentationSelectionScope[];\n activeSelectionScope: string;\n iModelId: string;\n defaultIModelViewportControlId: string | undefined;\n defaultViewId: string | undefined;\n defaultViewState: any;\n iModelConnection: any;\n // eslint-disable-next-line deprecation/deprecation\n cursorMenuData: CursorMenuData | undefined; // @deprecated in 4.11.x use {@link CursorMenuPayload} instead\n cursorMenuPayload: CursorMenuPayload | undefined;\n}\n\nconst defaultSelectionScope = {\n id: \"element\",\n label: \"Element\",\n} as PresentationSelectionScope;\n\n/** used on first call of SessionStateReducer */\nconst initialState: SessionState = {\n /** number of selected items in Presentation Selection */\n numItemsSelected: 0,\n /** initialize to only support \"Element\" scope, this will be overwritten when iModelConnection is established */\n availableSelectionScopes: [defaultSelectionScope],\n /** initialize to active selection scope to \"Element\", this will be overwritten when iModelConnection is established */\n activeSelectionScope: defaultSelectionScope.id,\n /** set to iModelId if an iModel is active else it is an empty string, so initialize to empty string */\n iModelId: \"\",\n defaultIModelViewportControlId: undefined,\n defaultViewId: undefined,\n defaultViewState: undefined,\n iModelConnection: undefined,\n cursorMenuData: undefined, // @deprecated in 4.11.x use {@link SessionState.cursorMenuPayload} instead\n cursorMenuPayload: undefined,\n};\n\n/** An interface that allows redux connected object to dispatch changes to the SessionState reducer.\n * @beta\n */\nexport interface SessionStateActionsProps {\n setActiveIModelId: typeof SessionStateActions.setActiveIModelId;\n setAvailableSelectionScopes: typeof SessionStateActions.setAvailableSelectionScopes;\n setDefaultIModelViewportControlId: typeof SessionStateActions.setDefaultIModelViewportControlId;\n setDefaultViewId: typeof SessionStateActions.setDefaultViewId;\n setDefaultViewState: typeof SessionStateActions.setDefaultViewState;\n setIModelConnection: typeof SessionStateActions.setIModelConnection;\n setNumItemsSelected: typeof SessionStateActions.setNumItemsSelected;\n setSelectionScope: typeof SessionStateActions.setSelectionScope;\n updateCursorMenu: typeof SessionStateActions.updateCursorMenu;\n}\n\n/** An object with a function that creates each SessionStateReducer that can be handled by our reducer.\n * @public\n */\nexport const SessionStateActions = {\n setActiveIModelId:\n // istanbul ignore next\n (iModelId: string) =>\n createAction(SessionStateActionId.SetActiveIModelId, iModelId),\n setAvailableSelectionScopes:\n // istanbul ignore next\n (availableSelectionScopes: PresentationSelectionScope[]) =>\n createAction(\n SessionStateActionId.SetAvailableSelectionScopes,\n availableSelectionScopes\n ),\n setDefaultIModelViewportControlId: (iModelViewportControlId: string) =>\n createAction(\n SessionStateActionId.SetDefaultIModelViewportControlId,\n iModelViewportControlId\n ),\n setDefaultViewId: (viewId: string) =>\n createAction(SessionStateActionId.SetDefaultViewId, viewId),\n setDefaultViewState:\n // istanbul ignore next\n (viewState: any) =>\n createAction(SessionStateActionId.SetDefaultViewState, viewState),\n setNumItemsSelected: (numSelected: number) =>\n createAction(SessionStateActionId.SetNumItemsSelected, numSelected),\n setIModelConnection:\n // istanbul ignore next\n (iModelConnection: any) =>\n createAction(SessionStateActionId.SetIModelConnection, iModelConnection),\n setSelectionScope:\n // istanbul ignore next\n (activeSelectionScope: string) =>\n createAction(\n SessionStateActionId.SetSelectionScope,\n activeSelectionScope\n ),\n updateCursorMenu:\n // istanbul ignore next\n // eslint-disable-next-line deprecation/deprecation\n (cursorMenuData: CursorMenuData | CursorMenuPayload) =>\n createAction(SessionStateActionId.UpdateCursorMenu, cursorMenuData),\n};\n\n/** Object that contains available actions that modify SessionState. Parent control's props should\n * extend from SessionStateActionsProps before using this in Redux 'connect' function.\n * @beta\n */\n// ...SessionStateActionsProps\nexport const sessionStateMapDispatchToProps = { ...SessionStateActions };\n\n/** Union of SessionState Redux actions\n * @public\n */\nexport type SessionStateActionsUnion = ActionsUnion<typeof SessionStateActions>;\n\n/** Handles actions to update SessionState.\n * @public\n */\nexport function SessionStateReducer(\n state: SessionState = initialState,\n action: SessionStateActionsUnion\n): DeepReadonly<SessionState> {\n switch (action.type) {\n case SessionStateActionId.SetNumItemsSelected: {\n // istanbul ignore else\n if (undefined !== action.payload)\n return { ...state, numItemsSelected: action.payload };\n else return { ...state, numItemsSelected: 0 };\n }\n case SessionStateActionId.SetAvailableSelectionScopes: {\n const payloadArray: PresentationSelectionScope[] = [];\n action.payload.forEach((scope) => payloadArray.push(scope));\n // istanbul ignore else\n if (undefined !== action.payload)\n return { ...state, availableSelectionScopes: payloadArray };\n else\n return { ...state, availableSelectionScopes: [defaultSelectionScope] };\n }\n case SessionStateActionId.SetSelectionScope: {\n // istanbul ignore else\n if (undefined !== action.payload)\n return { ...state, activeSelectionScope: action.payload };\n else return { ...state, activeSelectionScope: defaultSelectionScope.id };\n }\n case SessionStateActionId.SetActiveIModelId: {\n // istanbul ignore else\n if (undefined !== action.payload)\n return { ...state, iModelId: action.payload };\n else return { ...state, iModelId: \"\" };\n }\n case SessionStateActionId.SetDefaultIModelViewportControlId: {\n return { ...state, defaultIModelViewportControlId: action.payload };\n }\n case SessionStateActionId.SetDefaultViewId: {\n return { ...state, defaultViewId: action.payload };\n }\n case SessionStateActionId.SetDefaultViewState: {\n return { ...state, defaultViewState: action.payload };\n }\n case SessionStateActionId.SetIModelConnection: {\n return { ...state, iModelConnection: action.payload };\n }\n case SessionStateActionId.UpdateCursorMenu: {\n return {\n ...state,\n cursorMenuPayload: action.payload as CursorMenuPayload,\n // eslint-disable-next-line deprecation/deprecation\n cursorMenuData: action.payload as CursorMenuData,\n };\n }\n }\n\n return state;\n}\n"]}
|
|
@@ -62,12 +62,12 @@ function isNoSelectionActive() {
|
|
|
62
62
|
UiFramework_1.UiFramework.store.getState()[UiFramework_1.UiFramework.frameworkStateKey].frameworkState
|
|
63
63
|
.sessionState.numItemsSelected;
|
|
64
64
|
// istanbul ignore if
|
|
65
|
-
if (activeContentControl
|
|
65
|
+
if (activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) {
|
|
66
66
|
const hiddenElementsSet = activeContentControl.viewport.neverDrawn;
|
|
67
67
|
const selectedElementsSet = activeContentControl.viewport.view.iModel.selectionSet.elements;
|
|
68
68
|
// TODO: add check for categories, subcategories and models
|
|
69
69
|
if (selectionCount > 0 ||
|
|
70
|
-
![...selectedElementsSet].every((value) => hiddenElementsSet
|
|
70
|
+
![...selectedElementsSet].every((value) => hiddenElementsSet === null || hiddenElementsSet === void 0 ? void 0 : hiddenElementsSet.has(value)))
|
|
71
71
|
return false;
|
|
72
72
|
}
|
|
73
73
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionContextItemDef.js","sourceRoot":"","sources":["../../../../src/appui-react/selection/SelectionContextItemDef.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport { SessionStateActionId } from \"../redux/SessionState\";\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\nimport type { BaseItemState } from \"../shared/ItemDefBase\";\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\nimport { GroupItemDef } from \"../toolbar/GroupItem\";\nimport { UiFramework } from \"../UiFramework\";\nimport svgModelIsolate from \"@bentley/icons-generic/icons/model-isolate.svg\";\nimport svgLayersIsolate from \"@bentley/icons-generic/icons/layers-isolate.svg\";\nimport svgAssetIsolate from \"@bentley/icons-generic/icons/asset-isolate.svg\";\nimport svgIsolate from \"@bentley/icons-generic/icons/isolate.svg\";\nimport svgModelHide from \"@bentley/icons-generic/icons/model-hide.svg\";\nimport svgLayersHide from \"@bentley/icons-generic/icons/layers-hide.svg\";\nimport svgAssetClassificationHide from \"@bentley/icons-generic/icons/asset-classification-hide.svg\";\nimport svgVisibilitySemiTransparent from \"@bentley/icons-generic/icons/visibility-semi-transparent.svg\";\nimport svgVisibilityHide from \"@bentley/icons-generic/icons/visibility-hide_2.svg\";\nimport svgVisibility from \"@bentley/icons-generic/icons/visibility.svg\";\n\n/** return SyncEventIds that trigger selection state function refresh.\n * @beta\n */\nexport function getFeatureOverrideSyncEventIds(): string[] {\n return [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.FeatureOverridesChanged,\n SyncUiEventId.ViewedModelsChanged,\n ];\n}\n\n/** return SyncEventIds that trigger selection state function refresh.\n * @beta\n */\nexport function getSelectionContextSyncEventIds(): string[] {\n return [\n SyncUiEventId.SelectionSetChanged,\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SessionStateActionId.SetNumItemsSelected,\n SyncUiEventId.FeatureOverridesChanged,\n SyncUiEventId.ViewedModelsChanged,\n ];\n}\n\n/** return SyncEventIds that trigger selection state function refresh.\n * @beta\n */\nexport function isNoSelectionActive(): boolean {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n let selectionCount = 0;\n // istanbul ignore if\n if (!UiFramework.frameworkStateKey)\n selectionCount =\n UiFramework.store.getState()[UiFramework.frameworkStateKey].frameworkState\n .sessionState.numItemsSelected;\n\n // istanbul ignore if\n if (activeContentControl?.viewport) {\n const hiddenElementsSet = activeContentControl.viewport.neverDrawn;\n const selectedElementsSet =\n activeContentControl.viewport.view.iModel.selectionSet.elements;\n // TODO: add check for categories, subcategories and models\n if (\n selectionCount > 0 ||\n ![...selectedElementsSet].every((value) => hiddenElementsSet?.has(value))\n )\n return false;\n }\n return true;\n}\n\n/** return ConditionalBooleanValue object used to show items if selection set is active.\n * @beta\n */\nexport function areNoFeatureOverridesActive(): boolean {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n // istanbul ignore next\n if (activeContentControl && activeContentControl.viewport)\n return !UiFramework.hideIsolateEmphasizeActionHandler.areFeatureOverridesActive(\n activeContentControl.viewport\n );\n\n return true;\n}\n\n/** return ConditionalBooleanValue object used to show item if feature overrides are active.\n * @beta\n */\nexport function getIsHiddenIfFeatureOverridesActive(): ConditionalBooleanValue {\n return new ConditionalBooleanValue(\n areNoFeatureOverridesActive,\n getFeatureOverrideSyncEventIds()\n );\n}\n\n/** return ConditionalBooleanValue object used to show items if selection set is active.\n * @beta\n */\nexport function getIsHiddenIfSelectionNotActive(): ConditionalBooleanValue {\n return new ConditionalBooleanValue(\n isNoSelectionActive,\n getSelectionContextSyncEventIds()\n );\n}\n\n/** return state with isVisible set to true is SectionSet is active.\n * @beta\n */\n// istanbul ignore next\nexport function featureOverridesActiveStateFunc(\n state: Readonly<BaseItemState>\n): BaseItemState {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n let isVisible = false;\n\n // istanbul ignore next\n if (activeContentControl && activeContentControl.viewport)\n isVisible =\n UiFramework.hideIsolateEmphasizeActionHandler.areFeatureOverridesActive(\n activeContentControl.viewport\n );\n\n return { ...state, isVisible };\n}\n\n/** return state with isVisible set to true is SectionSet is active.\n * @beta\n */\n// istanbul ignore next\nexport function selectionContextStateFunc(\n state: Readonly<BaseItemState>\n): BaseItemState {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n let isVisible = false;\n\n let selectionCount = 0;\n if (!UiFramework.frameworkStateKey)\n selectionCount =\n UiFramework.store.getState()[UiFramework.frameworkStateKey].frameworkState\n .sessionState.numItemsSelected;\n\n if (\n activeContentControl &&\n activeContentControl.viewport &&\n (activeContentControl.viewport.view.iModel.selectionSet.size > 0 ||\n selectionCount > 0)\n )\n isVisible = true;\n return { ...state, isVisible };\n}\n\n/** Utility Class that provides definitions for tools dependent on current selection. These definitions can be used to populate toolbars.\n * @public\n */\n// istanbul ignore next\nexport class SelectionContextToolDefinitions {\n public static get isolateModelsInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.IsolateModel\",\n iconSpec: svgModelIsolate,\n labelKey: \"UiFramework:tools.isolateModels\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelectedElementsModel(),\n });\n }\n\n public static get isolateCategoriesInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.IsolateCategory\",\n iconSpec: svgLayersIsolate,\n labelKey: \"UiFramework:tools.isolateCategories\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelectedElementsCategory(),\n });\n }\n\n public static get isolateElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.IsolateSelected\",\n iconSpec: svgAssetIsolate,\n labelKey: \"UiFramework:tools.isolateSelected\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelected(),\n });\n }\n\n public static get isolateSelectionToolGroup() {\n return new GroupItemDef({\n groupId: \"UiFramework.IsolateSelectionGroup\",\n labelKey: \"UiFramework:tools.isolate\",\n iconSpec: svgIsolate,\n isHidden: getIsHiddenIfSelectionNotActive(),\n items: [\n this.isolateElementsItemDef,\n this.isolateCategoriesInSelectionItemDef,\n this.isolateModelsInSelectionItemDef,\n ],\n itemsInColumn: 3,\n });\n }\n\n public static get hideModelsInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.HideModel\",\n iconSpec: svgModelHide,\n labelKey: \"UiFramework:tools.hideModels\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processHideSelectedElementsModel(),\n });\n }\n\n public static get hideCategoriesInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.HideCategory\",\n iconSpec: svgLayersHide,\n labelKey: \"UiFramework:tools.hideCategories\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processHideSelectedElementsCategory(),\n });\n }\n\n public static get hideElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.HideSelected\",\n iconSpec: svgAssetClassificationHide,\n labelKey: \"UiFramework:tools.hideSelected\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processHideSelected(),\n });\n }\n\n public static get hideSectionToolGroup() {\n return new GroupItemDef({\n groupId: \"UiFramework.HideSelectionGroup\",\n labelKey: \"UiFramework:tools.hide\",\n iconSpec: svgVisibilityHide,\n isHidden: getIsHiddenIfSelectionNotActive(),\n items: [\n this.hideElementsItemDef,\n this.hideCategoriesInSelectionItemDef,\n this.hideModelsInSelectionItemDef,\n ],\n itemsInColumn: 3,\n });\n }\n\n public static get emphasizeElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.EmphasizeSelected\",\n iconSpec: svgVisibilitySemiTransparent,\n labelKey: \"UiFramework:tools.emphasizeSelected\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processEmphasizeSelected(),\n });\n }\n\n public static get clearHideIsolateEmphasizeElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.ClearHideIsolateEmphasize\",\n iconSpec: svgVisibility,\n labelKey: \"UiFramework:tools.clearVisibility\",\n isHidden: getIsHiddenIfFeatureOverridesActive(),\n execute: async () => {\n await UiFramework.hideIsolateEmphasizeActionHandler.processClearEmphasize();\n await UiFramework.hideIsolateEmphasizeActionHandler.processClearOverrideModels();\n await UiFramework.hideIsolateEmphasizeActionHandler.processClearOverrideCategories();\n },\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SelectionContextItemDef.js","sourceRoot":"","sources":["../../../../src/appui-react/selection/SelectionContextItemDef.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,0DAAgE;AAChE,wDAA6D;AAC7D,6DAA0D;AAE1D,2EAAgE;AAChE,oDAAoD;AACpD,gDAA6C;AAC7C,sFAA6E;AAC7E,wFAA+E;AAC/E,sFAA6E;AAC7E,0EAAkE;AAClE,gFAAuE;AACvE,kFAAyE;AACzE,8GAAoG;AACpG,kHAAwG;AACxG,8FAAmF;AACnF,gFAAwE;AAExE;;GAEG;AACH,SAAgB,8BAA8B;IAC5C,OAAO;QACL,qCAAa,CAAC,oBAAoB;QAClC,qCAAa,CAAC,qBAAqB;QACnC,qCAAa,CAAC,uBAAuB;QACrC,qCAAa,CAAC,mBAAmB;KAClC,CAAC;AACJ,CAAC;AAPD,wEAOC;AAED;;GAEG;AACH,SAAgB,+BAA+B;IAC7C,OAAO;QACL,qCAAa,CAAC,mBAAmB;QACjC,qCAAa,CAAC,oBAAoB;QAClC,qCAAa,CAAC,qBAAqB;QACnC,mCAAoB,CAAC,mBAAmB;QACxC,qCAAa,CAAC,uBAAuB;QACrC,qCAAa,CAAC,mBAAmB;KAClC,CAAC;AACJ,CAAC;AATD,0EASC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,MAAM,oBAAoB,GAAG,yBAAW,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAC3E,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,qBAAqB;IACrB,IAAI,CAAC,yBAAW,CAAC,iBAAiB;QAChC,cAAc;YACZ,yBAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,yBAAW,CAAC,iBAAiB,CAAC,CAAC,cAAc;iBACvE,YAAY,CAAC,gBAAgB,CAAC;IAErC,qBAAqB;IACrB,IAAI,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,QAAQ,EAAE;QAClC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC;QACnE,MAAM,mBAAmB,GACvB,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;QAClE,2DAA2D;QAC3D,IACE,cAAc,GAAG,CAAC;YAClB,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAEzE,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAtBD,kDAsBC;AAED;;GAEG;AACH,SAAgB,2BAA2B;IACzC,MAAM,oBAAoB,GAAG,yBAAW,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAC3E,uBAAuB;IACvB,IAAI,oBAAoB,IAAI,oBAAoB,CAAC,QAAQ;QACvD,OAAO,CAAC,yBAAW,CAAC,iCAAiC,CAAC,yBAAyB,CAC7E,oBAAoB,CAAC,QAAQ,CAC9B,CAAC;IAEJ,OAAO,IAAI,CAAC;AACd,CAAC;AATD,kEASC;AAED;;GAEG;AACH,SAAgB,mCAAmC;IACjD,OAAO,IAAI,wCAAuB,CAChC,2BAA2B,EAC3B,8BAA8B,EAAE,CACjC,CAAC;AACJ,CAAC;AALD,kFAKC;AAED;;GAEG;AACH,SAAgB,+BAA+B;IAC7C,OAAO,IAAI,wCAAuB,CAChC,mBAAmB,EACnB,+BAA+B,EAAE,CAClC,CAAC;AACJ,CAAC;AALD,0EAKC;AAED;;GAEG;AACH,uBAAuB;AACvB,SAAgB,+BAA+B,CAC7C,KAA8B;IAE9B,MAAM,oBAAoB,GAAG,yBAAW,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAC3E,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,uBAAuB;IACvB,IAAI,oBAAoB,IAAI,oBAAoB,CAAC,QAAQ;QACvD,SAAS;YACP,yBAAW,CAAC,iCAAiC,CAAC,yBAAyB,CACrE,oBAAoB,CAAC,QAAQ,CAC9B,CAAC;IAEN,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAdD,0EAcC;AAED;;GAEG;AACH,uBAAuB;AACvB,SAAgB,yBAAyB,CACvC,KAA8B;IAE9B,MAAM,oBAAoB,GAAG,yBAAW,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAC3E,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,CAAC,yBAAW,CAAC,iBAAiB;QAChC,cAAc;YACZ,yBAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,yBAAW,CAAC,iBAAiB,CAAC,CAAC,cAAc;iBACvE,YAAY,CAAC,gBAAgB,CAAC;IAErC,IACE,oBAAoB;QACpB,oBAAoB,CAAC,QAAQ;QAC7B,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC;YAC9D,cAAc,GAAG,CAAC,CAAC;QAErB,SAAS,GAAG,IAAI,CAAC;IACnB,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AApBD,8DAoBC;AAED;;GAEG;AACH,uBAAuB;AACvB,MAAa,+BAA+B;IACnC,MAAM,KAAK,+BAA+B;QAC/C,OAAO,IAAI,+BAAc,CAAC;YACxB,SAAS,EAAE,0BAA0B;YACrC,QAAQ,EAAE,2BAAe;YACzB,QAAQ,EAAE,iCAAiC;YAC3C,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,yBAAW,CAAC,iCAAiC,CAAC,mCAAmC,EAAE;SACtF,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,mCAAmC;QACnD,OAAO,IAAI,+BAAc,CAAC;YACxB,SAAS,EAAE,6BAA6B;YACxC,QAAQ,EAAE,4BAAgB;YAC1B,QAAQ,EAAE,qCAAqC;YAC/C,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,yBAAW,CAAC,iCAAiC,CAAC,sCAAsC,EAAE;SACzF,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,sBAAsB;QACtC,OAAO,IAAI,+BAAc,CAAC;YACxB,SAAS,EAAE,6BAA6B;YACxC,QAAQ,EAAE,2BAAe;YACzB,QAAQ,EAAE,mCAAmC;YAC7C,QAAQ,EAAE,+BAA+B,EAAE;YAC3C,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,yBAAW,CAAC,iCAAiC,CAAC,sBAAsB,EAAE;SACzE,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,yBAAyB;QACzC,OAAO,IAAI,wBAAY,CAAC;YACtB,OAAO,EAAE,mCAAmC;YAC5C,QAAQ,EAAE,2BAA2B;YACrC,QAAQ,EAAE,qBAAU;YACpB,QAAQ,EAAE,+BAA+B,EAAE;YAC3C,KAAK,EAAE;gBACL,IAAI,CAAC,sBAAsB;gBAC3B,IAAI,CAAC,mCAAmC;gBACxC,IAAI,CAAC,+BAA+B;aACrC;YACD,aAAa,EAAE,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,4BAA4B;QAC5C,OAAO,IAAI,+BAAc,CAAC;YACxB,SAAS,EAAE,uBAAuB;YAClC,QAAQ,EAAE,wBAAY;YACtB,QAAQ,EAAE,8BAA8B;YACxC,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,yBAAW,CAAC,iCAAiC,CAAC,gCAAgC,EAAE;SACnF,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,gCAAgC;QAChD,OAAO,IAAI,+BAAc,CAAC;YACxB,SAAS,EAAE,0BAA0B;YACrC,QAAQ,EAAE,yBAAa;YACvB,QAAQ,EAAE,kCAAkC;YAC5C,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,yBAAW,CAAC,iCAAiC,CAAC,mCAAmC,EAAE;SACtF,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,mBAAmB;QACnC,OAAO,IAAI,+BAAc,CAAC;YACxB,SAAS,EAAE,0BAA0B;YACrC,QAAQ,EAAE,uCAA0B;YACpC,QAAQ,EAAE,gCAAgC;YAC1C,QAAQ,EAAE,+BAA+B,EAAE;YAC3C,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,yBAAW,CAAC,iCAAiC,CAAC,mBAAmB,EAAE;SACtE,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,oBAAoB;QACpC,OAAO,IAAI,wBAAY,CAAC;YACtB,OAAO,EAAE,gCAAgC;YACzC,QAAQ,EAAE,wBAAwB;YAClC,QAAQ,EAAE,+BAAiB;YAC3B,QAAQ,EAAE,+BAA+B,EAAE;YAC3C,KAAK,EAAE;gBACL,IAAI,CAAC,mBAAmB;gBACxB,IAAI,CAAC,gCAAgC;gBACrC,IAAI,CAAC,4BAA4B;aAClC;YACD,aAAa,EAAE,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,wBAAwB;QACxC,OAAO,IAAI,+BAAc,CAAC;YACxB,SAAS,EAAE,+BAA+B;YAC1C,QAAQ,EAAE,yCAA4B;YACtC,QAAQ,EAAE,qCAAqC;YAC/C,QAAQ,EAAE,+BAA+B,EAAE;YAC3C,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,yBAAW,CAAC,iCAAiC,CAAC,wBAAwB,EAAE;SAC3E,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,wCAAwC;QACxD,OAAO,IAAI,+BAAc,CAAC;YACxB,SAAS,EAAE,uCAAuC;YAClD,QAAQ,EAAE,wBAAa;YACvB,QAAQ,EAAE,mCAAmC;YAC7C,QAAQ,EAAE,mCAAmC,EAAE;YAC/C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,yBAAW,CAAC,iCAAiC,CAAC,qBAAqB,EAAE,CAAC;gBAC5E,MAAM,yBAAW,CAAC,iCAAiC,CAAC,0BAA0B,EAAE,CAAC;gBACjF,MAAM,yBAAW,CAAC,iCAAiC,CAAC,8BAA8B,EAAE,CAAC;YACvF,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AArHD,0EAqHC","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 Tools\n */\n\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\nimport { SessionStateActionId } from \"../redux/SessionState\";\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\nimport type { BaseItemState } from \"../shared/ItemDefBase\";\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\nimport { GroupItemDef } from \"../toolbar/GroupItem\";\nimport { UiFramework } from \"../UiFramework\";\nimport svgModelIsolate from \"@bentley/icons-generic/icons/model-isolate.svg\";\nimport svgLayersIsolate from \"@bentley/icons-generic/icons/layers-isolate.svg\";\nimport svgAssetIsolate from \"@bentley/icons-generic/icons/asset-isolate.svg\";\nimport svgIsolate from \"@bentley/icons-generic/icons/isolate.svg\";\nimport svgModelHide from \"@bentley/icons-generic/icons/model-hide.svg\";\nimport svgLayersHide from \"@bentley/icons-generic/icons/layers-hide.svg\";\nimport svgAssetClassificationHide from \"@bentley/icons-generic/icons/asset-classification-hide.svg\";\nimport svgVisibilitySemiTransparent from \"@bentley/icons-generic/icons/visibility-semi-transparent.svg\";\nimport svgVisibilityHide from \"@bentley/icons-generic/icons/visibility-hide_2.svg\";\nimport svgVisibility from \"@bentley/icons-generic/icons/visibility.svg\";\n\n/** return SyncEventIds that trigger selection state function refresh.\n * @beta\n */\nexport function getFeatureOverrideSyncEventIds(): string[] {\n return [\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SyncUiEventId.FeatureOverridesChanged,\n SyncUiEventId.ViewedModelsChanged,\n ];\n}\n\n/** return SyncEventIds that trigger selection state function refresh.\n * @beta\n */\nexport function getSelectionContextSyncEventIds(): string[] {\n return [\n SyncUiEventId.SelectionSetChanged,\n SyncUiEventId.ActiveContentChanged,\n SyncUiEventId.ActiveViewportChanged,\n SessionStateActionId.SetNumItemsSelected,\n SyncUiEventId.FeatureOverridesChanged,\n SyncUiEventId.ViewedModelsChanged,\n ];\n}\n\n/** return SyncEventIds that trigger selection state function refresh.\n * @beta\n */\nexport function isNoSelectionActive(): boolean {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n let selectionCount = 0;\n // istanbul ignore if\n if (!UiFramework.frameworkStateKey)\n selectionCount =\n UiFramework.store.getState()[UiFramework.frameworkStateKey].frameworkState\n .sessionState.numItemsSelected;\n\n // istanbul ignore if\n if (activeContentControl?.viewport) {\n const hiddenElementsSet = activeContentControl.viewport.neverDrawn;\n const selectedElementsSet =\n activeContentControl.viewport.view.iModel.selectionSet.elements;\n // TODO: add check for categories, subcategories and models\n if (\n selectionCount > 0 ||\n ![...selectedElementsSet].every((value) => hiddenElementsSet?.has(value))\n )\n return false;\n }\n return true;\n}\n\n/** return ConditionalBooleanValue object used to show items if selection set is active.\n * @beta\n */\nexport function areNoFeatureOverridesActive(): boolean {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n // istanbul ignore next\n if (activeContentControl && activeContentControl.viewport)\n return !UiFramework.hideIsolateEmphasizeActionHandler.areFeatureOverridesActive(\n activeContentControl.viewport\n );\n\n return true;\n}\n\n/** return ConditionalBooleanValue object used to show item if feature overrides are active.\n * @beta\n */\nexport function getIsHiddenIfFeatureOverridesActive(): ConditionalBooleanValue {\n return new ConditionalBooleanValue(\n areNoFeatureOverridesActive,\n getFeatureOverrideSyncEventIds()\n );\n}\n\n/** return ConditionalBooleanValue object used to show items if selection set is active.\n * @beta\n */\nexport function getIsHiddenIfSelectionNotActive(): ConditionalBooleanValue {\n return new ConditionalBooleanValue(\n isNoSelectionActive,\n getSelectionContextSyncEventIds()\n );\n}\n\n/** return state with isVisible set to true is SectionSet is active.\n * @beta\n */\n// istanbul ignore next\nexport function featureOverridesActiveStateFunc(\n state: Readonly<BaseItemState>\n): BaseItemState {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n let isVisible = false;\n\n // istanbul ignore next\n if (activeContentControl && activeContentControl.viewport)\n isVisible =\n UiFramework.hideIsolateEmphasizeActionHandler.areFeatureOverridesActive(\n activeContentControl.viewport\n );\n\n return { ...state, isVisible };\n}\n\n/** return state with isVisible set to true is SectionSet is active.\n * @beta\n */\n// istanbul ignore next\nexport function selectionContextStateFunc(\n state: Readonly<BaseItemState>\n): BaseItemState {\n const activeContentControl = UiFramework.content.getActiveContentControl();\n let isVisible = false;\n\n let selectionCount = 0;\n if (!UiFramework.frameworkStateKey)\n selectionCount =\n UiFramework.store.getState()[UiFramework.frameworkStateKey].frameworkState\n .sessionState.numItemsSelected;\n\n if (\n activeContentControl &&\n activeContentControl.viewport &&\n (activeContentControl.viewport.view.iModel.selectionSet.size > 0 ||\n selectionCount > 0)\n )\n isVisible = true;\n return { ...state, isVisible };\n}\n\n/** Utility Class that provides definitions for tools dependent on current selection. These definitions can be used to populate toolbars.\n * @public\n */\n// istanbul ignore next\nexport class SelectionContextToolDefinitions {\n public static get isolateModelsInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.IsolateModel\",\n iconSpec: svgModelIsolate,\n labelKey: \"UiFramework:tools.isolateModels\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelectedElementsModel(),\n });\n }\n\n public static get isolateCategoriesInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.IsolateCategory\",\n iconSpec: svgLayersIsolate,\n labelKey: \"UiFramework:tools.isolateCategories\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelectedElementsCategory(),\n });\n }\n\n public static get isolateElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.IsolateSelected\",\n iconSpec: svgAssetIsolate,\n labelKey: \"UiFramework:tools.isolateSelected\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelected(),\n });\n }\n\n public static get isolateSelectionToolGroup() {\n return new GroupItemDef({\n groupId: \"UiFramework.IsolateSelectionGroup\",\n labelKey: \"UiFramework:tools.isolate\",\n iconSpec: svgIsolate,\n isHidden: getIsHiddenIfSelectionNotActive(),\n items: [\n this.isolateElementsItemDef,\n this.isolateCategoriesInSelectionItemDef,\n this.isolateModelsInSelectionItemDef,\n ],\n itemsInColumn: 3,\n });\n }\n\n public static get hideModelsInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.HideModel\",\n iconSpec: svgModelHide,\n labelKey: \"UiFramework:tools.hideModels\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processHideSelectedElementsModel(),\n });\n }\n\n public static get hideCategoriesInSelectionItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.HideCategory\",\n iconSpec: svgLayersHide,\n labelKey: \"UiFramework:tools.hideCategories\",\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processHideSelectedElementsCategory(),\n });\n }\n\n public static get hideElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.HideSelected\",\n iconSpec: svgAssetClassificationHide,\n labelKey: \"UiFramework:tools.hideSelected\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processHideSelected(),\n });\n }\n\n public static get hideSectionToolGroup() {\n return new GroupItemDef({\n groupId: \"UiFramework.HideSelectionGroup\",\n labelKey: \"UiFramework:tools.hide\",\n iconSpec: svgVisibilityHide,\n isHidden: getIsHiddenIfSelectionNotActive(),\n items: [\n this.hideElementsItemDef,\n this.hideCategoriesInSelectionItemDef,\n this.hideModelsInSelectionItemDef,\n ],\n itemsInColumn: 3,\n });\n }\n\n public static get emphasizeElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.EmphasizeSelected\",\n iconSpec: svgVisibilitySemiTransparent,\n labelKey: \"UiFramework:tools.emphasizeSelected\",\n isHidden: getIsHiddenIfSelectionNotActive(),\n execute: async () =>\n UiFramework.hideIsolateEmphasizeActionHandler.processEmphasizeSelected(),\n });\n }\n\n public static get clearHideIsolateEmphasizeElementsItemDef() {\n return new CommandItemDef({\n commandId: \"UiFramework.ClearHideIsolateEmphasize\",\n iconSpec: svgVisibility,\n labelKey: \"UiFramework:tools.clearVisibility\",\n isHidden: getIsHiddenIfFeatureOverridesActive(),\n execute: async () => {\n await UiFramework.hideIsolateEmphasizeActionHandler.processClearEmphasize();\n await UiFramework.hideIsolateEmphasizeActionHandler.processClearOverrideModels();\n await UiFramework.hideIsolateEmphasizeActionHandler.processClearOverrideCategories();\n },\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuantityFormat.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/settings/quantityformatting/QuantityFormat.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EAGV,aAAa,EACd,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"QuantityFormat.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/settings/quantityformatting/QuantityFormat.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EAGV,aAAa,EACd,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAmB1D;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,mBAAmB,EAAE,eAAe,CAAC;IACrC,oBAAoB,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;CAC1C;AAED;;;;;GAKG;AACH,wBAAgB,sCAAsC,CACpD,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,OAAO,CAAC,gCAAgC,CAAC,GAC/C,gBAAgB,CAqBlB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,mBAAmB,EACnB,oBAAoB,GACrB,EAAE,gCAAgC,qBAkTlC"}
|
|
@@ -19,6 +19,7 @@ const UiFramework_1 = require("../../UiFramework");
|
|
|
19
19
|
const UnitSystemSelector_1 = require("./UnitSystemSelector");
|
|
20
20
|
const itwinui_react_1 = require("@itwin/itwinui-react");
|
|
21
21
|
const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
|
|
22
|
+
const useTranslation_1 = require("../../useTranslation");
|
|
22
23
|
function formatAreEqual(obj1, obj2) {
|
|
23
24
|
const compare = new core_geometry_1.DeepCompare();
|
|
24
25
|
return compare.compare(obj1, obj2);
|
|
@@ -36,8 +37,7 @@ function getQuantityFormatsSettingsManagerEntry(itemPriority, opts) {
|
|
|
36
37
|
tabId: "uifw:Quantity",
|
|
37
38
|
label: UiFramework_1.UiFramework.translate("settings.quantity-formatting.label"),
|
|
38
39
|
subLabel: UiFramework_1.UiFramework.translate("settings.quantity-formatting.subLabel"),
|
|
39
|
-
page: (React.createElement(QuantityFormatSettingsPage, { initialQuantityType: initialQuantityType
|
|
40
|
-
new Set(["metric", "imperial", "usCustomary", "usSurvey"]) })),
|
|
40
|
+
page: (React.createElement(QuantityFormatSettingsPage, { initialQuantityType: initialQuantityType !== null && initialQuantityType !== void 0 ? initialQuantityType : core_frontend_1.QuantityType.Length, availableUnitSystems: availableUnitSystems !== null && availableUnitSystems !== void 0 ? availableUnitSystems : new Set(["metric", "imperial", "usCustomary", "usSurvey"]) })),
|
|
41
41
|
isDisabled: false,
|
|
42
42
|
icon: React.createElement(itwinui_icons_react_1.SvgMeasure, null),
|
|
43
43
|
tooltip: UiFramework_1.UiFramework.translate("settings.quantity-formatting.tooltip"),
|
|
@@ -49,15 +49,13 @@ exports.getQuantityFormatsSettingsManagerEntry = getQuantityFormatsSettingsManag
|
|
|
49
49
|
* @beta
|
|
50
50
|
*/
|
|
51
51
|
function QuantityFormatSettingsPage({ initialQuantityType, availableUnitSystems, }) {
|
|
52
|
+
const { translate } = (0, useTranslation_1.useTranslation)();
|
|
52
53
|
const [activeUnitSystemKey, setActiveUnitSystemKey] = React.useState(core_frontend_1.IModelApp.quantityFormatter.activeUnitSystem);
|
|
53
54
|
const [activeQuantityType, setActiveQuantityType] = React.useState((0, core_frontend_1.getQuantityTypeKey)(initialQuantityType));
|
|
54
55
|
const [activeFormatterSpec, setActiveFormatterSpec] = React.useState(core_frontend_1.IModelApp.quantityFormatter.findFormatterSpecByQuantityType((0, core_frontend_1.getQuantityTypeKey)(activeQuantityType)));
|
|
55
56
|
const [saveEnabled, setSaveEnabled] = React.useState(false);
|
|
56
57
|
const [clearEnabled, setClearEnabled] = React.useState(core_frontend_1.IModelApp.quantityFormatter.hasActiveOverride(initialQuantityType, true));
|
|
57
58
|
const newQuantityTypeRef = React.useRef();
|
|
58
|
-
const formatSectionLabel = React.useRef(UiFramework_1.UiFramework.translate("settings.quantity-formatting.formatSectionLabel"));
|
|
59
|
-
const setButtonLabel = React.useRef(UiFramework_1.UiFramework.translate("settings.quantity-formatting.setButtonLabel"));
|
|
60
|
-
const clearButtonLabel = React.useRef(UiFramework_1.UiFramework.translate("settings.quantity-formatting.clearButtonLabel"));
|
|
61
59
|
React.useEffect(() => {
|
|
62
60
|
const handleUnitSystemChanged = () => {
|
|
63
61
|
// istanbul ignore else
|
|
@@ -164,7 +162,7 @@ function QuantityFormatSettingsPage({ initialQuantityType, availableUnitSystems,
|
|
|
164
162
|
}, [activeUnitSystemKey, processNewUnitSystem, saveChanges]);
|
|
165
163
|
return (React.createElement("div", { className: "quantity-formatting-container" },
|
|
166
164
|
React.createElement(UnitSystemSelector_1.UnitSystemSelector, { selectedUnitSystemKey: activeUnitSystemKey, availableUnitSystems: availableUnitSystems, onUnitSystemSelected: handleUnitSystemSelected }),
|
|
167
|
-
React.createElement("span", { className: "uifw-quantity-format-section-label" }, formatSectionLabel
|
|
165
|
+
React.createElement("span", { className: "uifw-quantity-format-section-label" }, translate("settings.quantity-formatting.formatSectionLabel")),
|
|
168
166
|
React.createElement("div", { className: "uifw-quantity-types-container" },
|
|
169
167
|
React.createElement("div", { className: "left-panel" },
|
|
170
168
|
React.createElement(core_react_1.Listbox, { id: "uifw-quantity-types-list", className: "uifw-quantity-types", onListboxValueChange: onListboxValueChange, selectedValue: activeQuantityType }, [...core_frontend_1.IModelApp.quantityFormatter.quantityTypesRegistry.keys()].map((key) => {
|
|
@@ -181,8 +179,8 @@ function QuantityFormatSettingsPage({ initialQuantityType, availableUnitSystems,
|
|
|
181
179
|
React.createElement("div", { className: "uifw-quantity-types-formats" },
|
|
182
180
|
React.createElement(imodel_components_react_1.QuantityFormatPanel, { onFormatChange: handleOnFormatChanged, quantityType: activeQuantityType })),
|
|
183
181
|
React.createElement("div", { className: "components-button-panel" },
|
|
184
|
-
React.createElement(itwinui_react_1.Button, { styleType: "cta", onClick: handleOnFormatSave, disabled: !saveEnabled }, setButtonLabel
|
|
185
|
-
React.createElement(itwinui_react_1.Button, { styleType: "default", onClick: handleOnFormatReset, disabled: !clearEnabled }, clearButtonLabel
|
|
182
|
+
React.createElement(itwinui_react_1.Button, { styleType: "cta", onClick: handleOnFormatSave, disabled: !saveEnabled }, translate("settings.quantity-formatting.setButtonLabel")),
|
|
183
|
+
React.createElement(itwinui_react_1.Button, { styleType: "default", onClick: handleOnFormatReset, disabled: !clearEnabled }, translate("settings.quantity-formatting.clearButtonLabel")))))))));
|
|
186
184
|
}
|
|
187
185
|
exports.QuantityFormatSettingsPage = QuantityFormatSettingsPage;
|
|
188
186
|
function SaveFormatModalDialog({ formatProps, quantityType, onDialogCloseArgs, onDialogClose, }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuantityFormat.js","sourceRoot":"","sources":["../../../../../src/appui-react/settings/quantityformatting/QuantityFormat.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 Settings\n */\n\nimport \"./QuantityFormat.scss\";\nimport * as React from \"react\";\nimport { DeepCompare } from \"@itwin/core-geometry\";\nimport type {\n QuantityFormatsChangedArgs,\n QuantityTypeArg,\n QuantityTypeKey,\n} from \"@itwin/core-frontend\";\nimport {\n getQuantityTypeKey,\n IModelApp,\n QuantityType,\n} from \"@itwin/core-frontend\";\nimport type {\n FormatProps,\n FormatterSpec,\n UnitSystemKey,\n} from \"@itwin/core-quantity\";\nimport { DialogButtonType } from \"@itwin/appui-abstract\";\nimport {\n FormatSample,\n QuantityFormatPanel,\n} from \"@itwin/imodel-components-react\";\nimport type { SettingsTabEntry } from \"@itwin/core-react\";\nimport {\n Dialog,\n Listbox,\n ListboxItem,\n useSaveBeforeActivatingNewSettingsTab,\n useSaveBeforeClosingSettingsContainer,\n} from \"@itwin/core-react\";\nimport { UiFramework } from \"../../UiFramework\";\nimport { UnitSystemSelector } from \"./UnitSystemSelector\";\nimport { Button } from \"@itwin/itwinui-react\";\nimport { SvgMeasure } from \"@itwin/itwinui-icons-react\";\n\nfunction formatAreEqual(obj1: FormatProps, obj2: FormatProps) {\n const compare = new DeepCompare();\n return compare.compare(obj1, obj2);\n}\n\n/** Options to initialize the settings page that allows users to set Quantity formatting overrides.\n * @beta\n */\nexport interface QuantityFormatterSettingsOptions {\n initialQuantityType: QuantityTypeArg;\n availableUnitSystems: Set<UnitSystemKey>;\n}\n\n/**\n * Return a SettingsTabEntry that can be used to define the available settings that can be set for an application.\n * @param itemPriority - Used to define the order of the entry in the Settings Stage\n * @param opts - Options to initialize the settings page that allows users to set Quantity formatting overrides.\n * @beta\n */\nexport function getQuantityFormatsSettingsManagerEntry(\n itemPriority: number,\n opts?: Partial<QuantityFormatterSettingsOptions>\n): SettingsTabEntry {\n const { availableUnitSystems, initialQuantityType } = { ...opts };\n return {\n itemPriority,\n tabId: \"uifw:Quantity\",\n label: UiFramework.translate(\"settings.quantity-formatting.label\"),\n subLabel: UiFramework.translate(\"settings.quantity-formatting.subLabel\"),\n page: (\n <QuantityFormatSettingsPage\n initialQuantityType={initialQuantityType ?? QuantityType.Length}\n availableUnitSystems={\n availableUnitSystems ??\n new Set([\"metric\", \"imperial\", \"usCustomary\", \"usSurvey\"])\n }\n />\n ),\n isDisabled: false,\n icon: <SvgMeasure />,\n tooltip: UiFramework.translate(\"settings.quantity-formatting.tooltip\"),\n pageWillHandleCloseRequest: true,\n };\n}\n\n/** UI Component shown in settings page to set the active Presentation Unit System and to set format overrides.\n * @beta\n */\nexport function QuantityFormatSettingsPage({\n initialQuantityType,\n availableUnitSystems,\n}: QuantityFormatterSettingsOptions) {\n const [activeUnitSystemKey, setActiveUnitSystemKey] = React.useState(\n IModelApp.quantityFormatter.activeUnitSystem\n );\n const [activeQuantityType, setActiveQuantityType] = React.useState(\n getQuantityTypeKey(initialQuantityType)\n );\n const [activeFormatterSpec, setActiveFormatterSpec] = React.useState<\n FormatterSpec | undefined\n >(\n IModelApp.quantityFormatter.findFormatterSpecByQuantityType(\n getQuantityTypeKey(activeQuantityType)\n )\n );\n const [saveEnabled, setSaveEnabled] = React.useState(false);\n const [clearEnabled, setClearEnabled] = React.useState(\n IModelApp.quantityFormatter.hasActiveOverride(initialQuantityType, true)\n );\n const newQuantityTypeRef = React.useRef<QuantityTypeKey>();\n const formatSectionLabel = React.useRef(\n UiFramework.translate(\"settings.quantity-formatting.formatSectionLabel\")\n );\n const setButtonLabel = React.useRef(\n UiFramework.translate(\"settings.quantity-formatting.setButtonLabel\")\n );\n const clearButtonLabel = React.useRef(\n UiFramework.translate(\"settings.quantity-formatting.clearButtonLabel\")\n );\n\n React.useEffect(() => {\n const handleUnitSystemChanged = (): void => {\n // istanbul ignore else\n if (\n activeUnitSystemKey !== IModelApp.quantityFormatter.activeUnitSystem\n ) {\n setActiveUnitSystemKey(IModelApp.quantityFormatter.activeUnitSystem);\n setActiveFormatterSpec(\n IModelApp.quantityFormatter.findFormatterSpecByQuantityType(\n activeQuantityType\n )\n );\n setSaveEnabled(false);\n setClearEnabled(\n IModelApp.quantityFormatter.hasActiveOverride(\n activeQuantityType,\n true\n )\n );\n }\n };\n\n IModelApp.quantityFormatter.onActiveFormattingUnitSystemChanged.addListener(\n handleUnitSystemChanged\n );\n return () => {\n IModelApp.quantityFormatter.onActiveFormattingUnitSystemChanged.removeListener(\n handleUnitSystemChanged\n );\n };\n }, [activeQuantityType, activeUnitSystemKey]);\n\n React.useEffect(() => {\n const handleFormatChanged = (args: QuantityFormatsChangedArgs): void => {\n if (!newQuantityTypeRef.current) {\n const quantityKey =\n IModelApp.quantityFormatter.getQuantityTypeKey(activeQuantityType);\n // istanbul ignore else\n if (args.quantityType === quantityKey) {\n setActiveFormatterSpec(\n IModelApp.quantityFormatter.findFormatterSpecByQuantityType(\n activeQuantityType\n )\n );\n setSaveEnabled(false);\n setClearEnabled(\n IModelApp.quantityFormatter.hasActiveOverride(\n activeQuantityType,\n true\n )\n );\n }\n }\n newQuantityTypeRef.current = undefined;\n };\n IModelApp.quantityFormatter.onQuantityFormatsChanged.addListener(\n handleFormatChanged\n );\n return () => {\n IModelApp.quantityFormatter.onQuantityFormatsChanged.removeListener(\n handleFormatChanged\n );\n };\n }, [activeQuantityType]);\n\n const saveChanges = React.useCallback(\n (afterSaveFunction: (args: any) => void, args?: any) => {\n // istanbul ignore else\n if (activeFormatterSpec) {\n const formatProps = activeFormatterSpec.format.toJSON();\n const formatPropsInUse = IModelApp.quantityFormatter\n .findFormatterSpecByQuantityType(activeQuantityType)!\n .format.toJSON();\n if (\n formatPropsInUse &&\n !formatAreEqual(formatProps, formatPropsInUse)\n ) {\n UiFramework.dialogs.modal.open(\n <SaveFormatModalDialog\n formatProps={formatProps}\n quantityType={activeQuantityType}\n onDialogCloseArgs={args}\n onDialogClose={afterSaveFunction}\n />,\n \"saveQuantityFormat\"\n );\n return;\n }\n }\n afterSaveFunction(args);\n },\n [activeFormatterSpec, activeQuantityType]\n );\n\n useSaveBeforeActivatingNewSettingsTab(\n UiFramework.settingsManager,\n saveChanges\n );\n useSaveBeforeClosingSettingsContainer(\n UiFramework.settingsManager,\n saveChanges\n );\n\n const processListboxValueChange = React.useCallback(\n (newQuantityType: QuantityTypeKey) => {\n const volumeFormatterSpec =\n IModelApp.quantityFormatter.findFormatterSpecByQuantityType(\n newQuantityType\n );\n setActiveFormatterSpec(volumeFormatterSpec);\n setActiveQuantityType(newQuantityType);\n setSaveEnabled(false);\n setClearEnabled(\n IModelApp.quantityFormatter.hasActiveOverride(newQuantityType, true)\n );\n },\n []\n );\n\n const onListboxValueChange = React.useCallback(\n (newQuantityType: string) => {\n // istanbul ignore else\n if (activeFormatterSpec) {\n const formatProps = activeFormatterSpec.format.toJSON();\n const formatPropsInUse = IModelApp.quantityFormatter\n .findFormatterSpecByQuantityType(activeQuantityType)!\n .format.toJSON();\n if (\n formatPropsInUse &&\n !formatAreEqual(formatProps, formatPropsInUse)\n ) {\n newQuantityTypeRef.current = newQuantityType;\n UiFramework.dialogs.modal.open(\n <SaveFormatModalDialog\n formatProps={formatProps}\n quantityType={activeQuantityType}\n onDialogCloseArgs={newQuantityType}\n onDialogClose={processListboxValueChange}\n />,\n \"saveQuantityFormat\"\n );\n return;\n }\n }\n processListboxValueChange(newQuantityType);\n },\n [activeFormatterSpec, activeQuantityType, processListboxValueChange]\n );\n\n const handleOnFormatChanged = React.useCallback(\n async (formatProps: FormatProps) => {\n // istanbul ignore else\n if (activeFormatterSpec) {\n const newSpec =\n await IModelApp.quantityFormatter.generateFormatterSpecByType(\n activeQuantityType,\n formatProps\n );\n const formatPropsInUse =\n IModelApp.quantityFormatter.getFormatPropsByQuantityType(\n activeQuantityType\n );\n // istanbul ignore else\n if (formatPropsInUse)\n setSaveEnabled(!formatAreEqual(formatProps, formatPropsInUse));\n setActiveFormatterSpec(newSpec);\n }\n },\n [activeFormatterSpec, activeQuantityType]\n );\n\n const handleOnFormatSave = React.useCallback(async () => {\n // istanbul ignore else\n if (activeFormatterSpec) {\n const format = activeFormatterSpec.format.toJSON();\n await IModelApp.quantityFormatter.setOverrideFormat(\n activeQuantityType,\n format\n );\n setClearEnabled(true);\n }\n }, [activeFormatterSpec, activeQuantityType]);\n\n const handleOnFormatReset = React.useCallback(async () => {\n await IModelApp.quantityFormatter.clearOverrideFormats(activeQuantityType);\n setClearEnabled(false);\n }, [activeQuantityType]);\n\n const processNewUnitSystem = React.useCallback(\n async (unitSystem: UnitSystemKey) => {\n await IModelApp.quantityFormatter.setActiveUnitSystem(unitSystem);\n },\n []\n );\n\n const handleUnitSystemSelected = React.useCallback(\n async (unitSystem: UnitSystemKey) => {\n if (unitSystem === activeUnitSystemKey) return;\n saveChanges(processNewUnitSystem, unitSystem);\n },\n [activeUnitSystemKey, processNewUnitSystem, saveChanges]\n );\n\n return (\n <div className=\"quantity-formatting-container\">\n <UnitSystemSelector\n selectedUnitSystemKey={activeUnitSystemKey}\n availableUnitSystems={availableUnitSystems}\n onUnitSystemSelected={handleUnitSystemSelected}\n />\n <span className=\"uifw-quantity-format-section-label\">\n {formatSectionLabel.current}\n </span>\n <div className=\"uifw-quantity-types-container\">\n <div className=\"left-panel\">\n <Listbox\n id=\"uifw-quantity-types-list\"\n className=\"uifw-quantity-types\"\n onListboxValueChange={onListboxValueChange}\n selectedValue={activeQuantityType}\n >\n {[...IModelApp.quantityFormatter.quantityTypesRegistry.keys()].map(\n (key) => {\n const entry =\n IModelApp.quantityFormatter.quantityTypesRegistry.get(key)!;\n const description = entry.description;\n const label = entry.label;\n return (\n <ListboxItem\n key={entry.key}\n className=\"quantity-type-list-entry\"\n value={entry.key}\n >\n <span\n className=\"map-source-list-entry-name\"\n title={description}\n >\n {label}\n </span>\n </ListboxItem>\n );\n }\n )}\n </Listbox>\n </div>\n <div className=\"right-panel\">\n {activeFormatterSpec && (\n <>\n <div className=\"uifw-quantity-types-right-top\">\n <div className=\"uifw-quantity-types-right-top-sample\">\n <FormatSample\n formatSpec={activeFormatterSpec}\n initialMagnitude={1234.56}\n hideLabels\n />\n </div>\n </div>\n <div className=\"uifw-quantity-types-formats\">\n <QuantityFormatPanel\n onFormatChange={handleOnFormatChanged}\n quantityType={activeQuantityType}\n />\n </div>\n <div className=\"components-button-panel\">\n <Button\n styleType=\"cta\"\n onClick={handleOnFormatSave}\n disabled={!saveEnabled}\n >\n {setButtonLabel.current}\n </Button>\n <Button\n styleType=\"default\"\n onClick={handleOnFormatReset}\n disabled={!clearEnabled}\n >\n {clearButtonLabel.current}\n </Button>\n </div>\n </>\n )}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SaveFormatModalDialog({\n formatProps,\n quantityType,\n onDialogCloseArgs,\n onDialogClose,\n}: {\n formatProps: FormatProps;\n quantityType: QuantityTypeKey;\n onDialogCloseArgs?: any;\n onDialogClose: (args?: any) => void;\n}) {\n const [isOpen, setIsOpen] = React.useState(true);\n\n const handleClose = React.useCallback(() => {\n setIsOpen(false);\n UiFramework.dialogs.modal.close();\n onDialogClose && onDialogClose(onDialogCloseArgs);\n }, [onDialogClose, onDialogCloseArgs]);\n\n const handleOK = React.useCallback(() => {\n void IModelApp.quantityFormatter.setOverrideFormat(\n quantityType,\n formatProps\n );\n handleClose();\n }, [formatProps, handleClose, quantityType]);\n\n const handleCancel = React.useCallback(() => {\n handleClose();\n }, [handleClose]);\n\n return (\n <Dialog\n title={\"Save Format Changes\"}\n opened={isOpen}\n resizable={false}\n movable={false}\n modal={true}\n buttonCluster={[\n { type: DialogButtonType.Yes, onClick: handleOK },\n { type: DialogButtonType.No, onClick: handleCancel },\n ]}\n onEscape={handleCancel}\n onClose={handleCancel}\n onOutsideClick={handleCancel}\n minHeight={150}\n maxHeight={400}\n maxWidth={400}\n minWidth={200}\n >\n <div className=\"modal-dialog2\">\n Do you want to save changes to format before changing to another type?\n </div>\n </Dialog>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"QuantityFormat.js","sourceRoot":"","sources":["../../../../../src/appui-react/settings/quantityformatting/QuantityFormat.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 Settings\n */\n\nimport \"./QuantityFormat.scss\";\nimport * as React from \"react\";\nimport { DeepCompare } from \"@itwin/core-geometry\";\nimport type {\n QuantityFormatsChangedArgs,\n QuantityTypeArg,\n QuantityTypeKey,\n} from \"@itwin/core-frontend\";\nimport {\n getQuantityTypeKey,\n IModelApp,\n QuantityType,\n} from \"@itwin/core-frontend\";\nimport type {\n FormatProps,\n FormatterSpec,\n UnitSystemKey,\n} from \"@itwin/core-quantity\";\nimport { DialogButtonType } from \"@itwin/appui-abstract\";\nimport {\n FormatSample,\n QuantityFormatPanel,\n} from \"@itwin/imodel-components-react\";\nimport type { SettingsTabEntry } from \"@itwin/core-react\";\nimport {\n Dialog,\n Listbox,\n ListboxItem,\n useSaveBeforeActivatingNewSettingsTab,\n useSaveBeforeClosingSettingsContainer,\n} from \"@itwin/core-react\";\nimport { UiFramework } from \"../../UiFramework\";\nimport { UnitSystemSelector } from \"./UnitSystemSelector\";\nimport { Button } from \"@itwin/itwinui-react\";\nimport { SvgMeasure } from \"@itwin/itwinui-icons-react\";\nimport { useTranslation } from \"../../useTranslation\";\n\nfunction formatAreEqual(obj1: FormatProps, obj2: FormatProps) {\n const compare = new DeepCompare();\n return compare.compare(obj1, obj2);\n}\n\n/** Options to initialize the settings page that allows users to set Quantity formatting overrides.\n * @beta\n */\nexport interface QuantityFormatterSettingsOptions {\n initialQuantityType: QuantityTypeArg;\n availableUnitSystems: Set<UnitSystemKey>;\n}\n\n/**\n * Return a SettingsTabEntry that can be used to define the available settings that can be set for an application.\n * @param itemPriority - Used to define the order of the entry in the Settings Stage\n * @param opts - Options to initialize the settings page that allows users to set Quantity formatting overrides.\n * @beta\n */\nexport function getQuantityFormatsSettingsManagerEntry(\n itemPriority: number,\n opts?: Partial<QuantityFormatterSettingsOptions>\n): SettingsTabEntry {\n const { availableUnitSystems, initialQuantityType } = { ...opts };\n return {\n itemPriority,\n tabId: \"uifw:Quantity\",\n label: UiFramework.translate(\"settings.quantity-formatting.label\"),\n subLabel: UiFramework.translate(\"settings.quantity-formatting.subLabel\"),\n page: (\n <QuantityFormatSettingsPage\n initialQuantityType={initialQuantityType ?? QuantityType.Length}\n availableUnitSystems={\n availableUnitSystems ??\n new Set([\"metric\", \"imperial\", \"usCustomary\", \"usSurvey\"])\n }\n />\n ),\n isDisabled: false,\n icon: <SvgMeasure />,\n tooltip: UiFramework.translate(\"settings.quantity-formatting.tooltip\"),\n pageWillHandleCloseRequest: true,\n };\n}\n\n/** UI Component shown in settings page to set the active Presentation Unit System and to set format overrides.\n * @beta\n */\nexport function QuantityFormatSettingsPage({\n initialQuantityType,\n availableUnitSystems,\n}: QuantityFormatterSettingsOptions) {\n const { translate } = useTranslation();\n const [activeUnitSystemKey, setActiveUnitSystemKey] = React.useState(\n IModelApp.quantityFormatter.activeUnitSystem\n );\n const [activeQuantityType, setActiveQuantityType] = React.useState(\n getQuantityTypeKey(initialQuantityType)\n );\n const [activeFormatterSpec, setActiveFormatterSpec] = React.useState<\n FormatterSpec | undefined\n >(\n IModelApp.quantityFormatter.findFormatterSpecByQuantityType(\n getQuantityTypeKey(activeQuantityType)\n )\n );\n const [saveEnabled, setSaveEnabled] = React.useState(false);\n const [clearEnabled, setClearEnabled] = React.useState(\n IModelApp.quantityFormatter.hasActiveOverride(initialQuantityType, true)\n );\n const newQuantityTypeRef = React.useRef<QuantityTypeKey>();\n\n React.useEffect(() => {\n const handleUnitSystemChanged = (): void => {\n // istanbul ignore else\n if (\n activeUnitSystemKey !== IModelApp.quantityFormatter.activeUnitSystem\n ) {\n setActiveUnitSystemKey(IModelApp.quantityFormatter.activeUnitSystem);\n setActiveFormatterSpec(\n IModelApp.quantityFormatter.findFormatterSpecByQuantityType(\n activeQuantityType\n )\n );\n setSaveEnabled(false);\n setClearEnabled(\n IModelApp.quantityFormatter.hasActiveOverride(\n activeQuantityType,\n true\n )\n );\n }\n };\n\n IModelApp.quantityFormatter.onActiveFormattingUnitSystemChanged.addListener(\n handleUnitSystemChanged\n );\n return () => {\n IModelApp.quantityFormatter.onActiveFormattingUnitSystemChanged.removeListener(\n handleUnitSystemChanged\n );\n };\n }, [activeQuantityType, activeUnitSystemKey]);\n\n React.useEffect(() => {\n const handleFormatChanged = (args: QuantityFormatsChangedArgs): void => {\n if (!newQuantityTypeRef.current) {\n const quantityKey =\n IModelApp.quantityFormatter.getQuantityTypeKey(activeQuantityType);\n // istanbul ignore else\n if (args.quantityType === quantityKey) {\n setActiveFormatterSpec(\n IModelApp.quantityFormatter.findFormatterSpecByQuantityType(\n activeQuantityType\n )\n );\n setSaveEnabled(false);\n setClearEnabled(\n IModelApp.quantityFormatter.hasActiveOverride(\n activeQuantityType,\n true\n )\n );\n }\n }\n newQuantityTypeRef.current = undefined;\n };\n IModelApp.quantityFormatter.onQuantityFormatsChanged.addListener(\n handleFormatChanged\n );\n return () => {\n IModelApp.quantityFormatter.onQuantityFormatsChanged.removeListener(\n handleFormatChanged\n );\n };\n }, [activeQuantityType]);\n\n const saveChanges = React.useCallback(\n (afterSaveFunction: (args: any) => void, args?: any) => {\n // istanbul ignore else\n if (activeFormatterSpec) {\n const formatProps = activeFormatterSpec.format.toJSON();\n const formatPropsInUse = IModelApp.quantityFormatter\n .findFormatterSpecByQuantityType(activeQuantityType)!\n .format.toJSON();\n if (\n formatPropsInUse &&\n !formatAreEqual(formatProps, formatPropsInUse)\n ) {\n UiFramework.dialogs.modal.open(\n <SaveFormatModalDialog\n formatProps={formatProps}\n quantityType={activeQuantityType}\n onDialogCloseArgs={args}\n onDialogClose={afterSaveFunction}\n />,\n \"saveQuantityFormat\"\n );\n return;\n }\n }\n afterSaveFunction(args);\n },\n [activeFormatterSpec, activeQuantityType]\n );\n\n useSaveBeforeActivatingNewSettingsTab(\n UiFramework.settingsManager,\n saveChanges\n );\n useSaveBeforeClosingSettingsContainer(\n UiFramework.settingsManager,\n saveChanges\n );\n\n const processListboxValueChange = React.useCallback(\n (newQuantityType: QuantityTypeKey) => {\n const volumeFormatterSpec =\n IModelApp.quantityFormatter.findFormatterSpecByQuantityType(\n newQuantityType\n );\n setActiveFormatterSpec(volumeFormatterSpec);\n setActiveQuantityType(newQuantityType);\n setSaveEnabled(false);\n setClearEnabled(\n IModelApp.quantityFormatter.hasActiveOverride(newQuantityType, true)\n );\n },\n []\n );\n\n const onListboxValueChange = React.useCallback(\n (newQuantityType: string) => {\n // istanbul ignore else\n if (activeFormatterSpec) {\n const formatProps = activeFormatterSpec.format.toJSON();\n const formatPropsInUse = IModelApp.quantityFormatter\n .findFormatterSpecByQuantityType(activeQuantityType)!\n .format.toJSON();\n if (\n formatPropsInUse &&\n !formatAreEqual(formatProps, formatPropsInUse)\n ) {\n newQuantityTypeRef.current = newQuantityType;\n UiFramework.dialogs.modal.open(\n <SaveFormatModalDialog\n formatProps={formatProps}\n quantityType={activeQuantityType}\n onDialogCloseArgs={newQuantityType}\n onDialogClose={processListboxValueChange}\n />,\n \"saveQuantityFormat\"\n );\n return;\n }\n }\n processListboxValueChange(newQuantityType);\n },\n [activeFormatterSpec, activeQuantityType, processListboxValueChange]\n );\n\n const handleOnFormatChanged = React.useCallback(\n async (formatProps: FormatProps) => {\n // istanbul ignore else\n if (activeFormatterSpec) {\n const newSpec =\n await IModelApp.quantityFormatter.generateFormatterSpecByType(\n activeQuantityType,\n formatProps\n );\n const formatPropsInUse =\n IModelApp.quantityFormatter.getFormatPropsByQuantityType(\n activeQuantityType\n );\n // istanbul ignore else\n if (formatPropsInUse)\n setSaveEnabled(!formatAreEqual(formatProps, formatPropsInUse));\n setActiveFormatterSpec(newSpec);\n }\n },\n [activeFormatterSpec, activeQuantityType]\n );\n\n const handleOnFormatSave = React.useCallback(async () => {\n // istanbul ignore else\n if (activeFormatterSpec) {\n const format = activeFormatterSpec.format.toJSON();\n await IModelApp.quantityFormatter.setOverrideFormat(\n activeQuantityType,\n format\n );\n setClearEnabled(true);\n }\n }, [activeFormatterSpec, activeQuantityType]);\n\n const handleOnFormatReset = React.useCallback(async () => {\n await IModelApp.quantityFormatter.clearOverrideFormats(activeQuantityType);\n setClearEnabled(false);\n }, [activeQuantityType]);\n\n const processNewUnitSystem = React.useCallback(\n async (unitSystem: UnitSystemKey) => {\n await IModelApp.quantityFormatter.setActiveUnitSystem(unitSystem);\n },\n []\n );\n\n const handleUnitSystemSelected = React.useCallback(\n async (unitSystem: UnitSystemKey) => {\n if (unitSystem === activeUnitSystemKey) return;\n saveChanges(processNewUnitSystem, unitSystem);\n },\n [activeUnitSystemKey, processNewUnitSystem, saveChanges]\n );\n\n return (\n <div className=\"quantity-formatting-container\">\n <UnitSystemSelector\n selectedUnitSystemKey={activeUnitSystemKey}\n availableUnitSystems={availableUnitSystems}\n onUnitSystemSelected={handleUnitSystemSelected}\n />\n <span className=\"uifw-quantity-format-section-label\">\n {translate(\"settings.quantity-formatting.formatSectionLabel\")}\n </span>\n <div className=\"uifw-quantity-types-container\">\n <div className=\"left-panel\">\n <Listbox\n id=\"uifw-quantity-types-list\"\n className=\"uifw-quantity-types\"\n onListboxValueChange={onListboxValueChange}\n selectedValue={activeQuantityType}\n >\n {[...IModelApp.quantityFormatter.quantityTypesRegistry.keys()].map(\n (key) => {\n const entry =\n IModelApp.quantityFormatter.quantityTypesRegistry.get(key)!;\n const description = entry.description;\n const label = entry.label;\n return (\n <ListboxItem\n key={entry.key}\n className=\"quantity-type-list-entry\"\n value={entry.key}\n >\n <span\n className=\"map-source-list-entry-name\"\n title={description}\n >\n {label}\n </span>\n </ListboxItem>\n );\n }\n )}\n </Listbox>\n </div>\n <div className=\"right-panel\">\n {activeFormatterSpec && (\n <>\n <div className=\"uifw-quantity-types-right-top\">\n <div className=\"uifw-quantity-types-right-top-sample\">\n <FormatSample\n formatSpec={activeFormatterSpec}\n initialMagnitude={1234.56}\n hideLabels\n />\n </div>\n </div>\n <div className=\"uifw-quantity-types-formats\">\n <QuantityFormatPanel\n onFormatChange={handleOnFormatChanged}\n quantityType={activeQuantityType}\n />\n </div>\n <div className=\"components-button-panel\">\n <Button\n styleType=\"cta\"\n onClick={handleOnFormatSave}\n disabled={!saveEnabled}\n >\n {translate(\"settings.quantity-formatting.setButtonLabel\")}\n </Button>\n <Button\n styleType=\"default\"\n onClick={handleOnFormatReset}\n disabled={!clearEnabled}\n >\n {translate(\"settings.quantity-formatting.clearButtonLabel\")}\n </Button>\n </div>\n </>\n )}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SaveFormatModalDialog({\n formatProps,\n quantityType,\n onDialogCloseArgs,\n onDialogClose,\n}: {\n formatProps: FormatProps;\n quantityType: QuantityTypeKey;\n onDialogCloseArgs?: any;\n onDialogClose: (args?: any) => void;\n}) {\n const [isOpen, setIsOpen] = React.useState(true);\n\n const handleClose = React.useCallback(() => {\n setIsOpen(false);\n UiFramework.dialogs.modal.close();\n onDialogClose && onDialogClose(onDialogCloseArgs);\n }, [onDialogClose, onDialogCloseArgs]);\n\n const handleOK = React.useCallback(() => {\n void IModelApp.quantityFormatter.setOverrideFormat(\n quantityType,\n formatProps\n );\n handleClose();\n }, [formatProps, handleClose, quantityType]);\n\n const handleCancel = React.useCallback(() => {\n handleClose();\n }, [handleClose]);\n\n return (\n <Dialog\n title={\"Save Format Changes\"}\n opened={isOpen}\n resizable={false}\n movable={false}\n modal={true}\n buttonCluster={[\n { type: DialogButtonType.Yes, onClick: handleOK },\n { type: DialogButtonType.No, onClick: handleCancel },\n ]}\n onEscape={handleCancel}\n onClose={handleCancel}\n onOutsideClick={handleCancel}\n minHeight={150}\n maxHeight={400}\n maxWidth={400}\n minWidth={200}\n >\n <div className=\"modal-dialog2\">\n Do you want to save changes to format before changing to another type?\n </div>\n </Dialog>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnitSystemSelector.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/settings/quantityformatting/UnitSystemSelector.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"UnitSystemSelector.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/settings/quantityformatting/UnitSystemSelector.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qBAAqB,EAAE,aAAa,CAAC;IACrC,oBAAoB,EAAE,CAAC,UAAU,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1D,oBAAoB,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,qBA0DhE"}
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.UnitSystemSelector = void 0;
|
|
11
11
|
const React = require("react");
|
|
12
|
-
const UiFramework_1 = require("../../UiFramework");
|
|
13
12
|
const itwinui_react_1 = require("@itwin/itwinui-react");
|
|
13
|
+
const useTranslation_1 = require("../../useTranslation");
|
|
14
14
|
/** Select control to set the "active" Presentation Unit System. This setting determine what units are display for quantity values (i.e. foot vs meter).
|
|
15
15
|
* @alpha
|
|
16
16
|
*/
|
|
17
17
|
function UnitSystemSelector(props) {
|
|
18
|
-
const
|
|
18
|
+
const { translate } = (0, useTranslation_1.useTranslation)();
|
|
19
19
|
const { selectedUnitSystemKey, onUnitSystemSelected, availableUnitSystems } = props;
|
|
20
20
|
const handleUnitSystemSelected = React.useCallback((newValue) => {
|
|
21
21
|
onUnitSystemSelected && onUnitSystemSelected(newValue);
|
|
@@ -27,23 +27,23 @@ function UnitSystemSelector(props) {
|
|
|
27
27
|
case "imperial":
|
|
28
28
|
return {
|
|
29
29
|
value: "imperial",
|
|
30
|
-
label:
|
|
30
|
+
label: translate("presentationUnitSystem.BritishImperial"),
|
|
31
31
|
};
|
|
32
32
|
case "usCustomary":
|
|
33
33
|
return {
|
|
34
34
|
value: "usCustomary",
|
|
35
|
-
label:
|
|
35
|
+
label: translate("presentationUnitSystem.USCustomary"),
|
|
36
36
|
};
|
|
37
37
|
case "usSurvey":
|
|
38
38
|
return {
|
|
39
39
|
value: "usSurvey",
|
|
40
|
-
label:
|
|
40
|
+
label: translate("presentationUnitSystem.USSurvey"),
|
|
41
41
|
};
|
|
42
42
|
case "metric":
|
|
43
43
|
default:
|
|
44
44
|
return {
|
|
45
45
|
value: "metric",
|
|
46
|
-
label:
|
|
46
|
+
label: translate("presentationUnitSystem.Metric"),
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
49
|
});
|
|
@@ -51,7 +51,7 @@ function UnitSystemSelector(props) {
|
|
|
51
51
|
? selectedUnitSystemKey
|
|
52
52
|
: displayUnitSystems[0].value;
|
|
53
53
|
return (React.createElement("div", { className: "quantity-unit-system-selector-container" },
|
|
54
|
-
React.createElement("span", { className: "uicore-label" }, label
|
|
54
|
+
React.createElement("span", { className: "uicore-label" }, translate("presentationUnitSystem.selector-label")),
|
|
55
55
|
React.createElement(itwinui_react_1.Select, { "data-testid": "unitSystemSelector", value: unitSystemKey, options: displayUnitSystems, onChange: handleUnitSystemSelected, size: "small" })));
|
|
56
56
|
}
|
|
57
57
|
exports.UnitSystemSelector = UnitSystemSelector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnitSystemSelector.js","sourceRoot":"","sources":["../../../../../src/appui-react/settings/quantityformatting/UnitSystemSelector.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;
|
|
1
|
+
{"version":3,"file":"UnitSystemSelector.js","sourceRoot":"","sources":["../../../../../src/appui-react/settings/quantityformatting/UnitSystemSelector.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAG/B,wDAA8C;AAC9C,yDAAsD;AAWtD;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAA8B;IAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAEvC,MAAM,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,GACzE,KAAK,CAAC;IACR,MAAM,wBAAwB,GAAG,KAAK,CAAC,WAAW,CAChD,CAAC,QAAuB,EAAE,EAAE;QAC1B,oBAAoB,IAAI,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC,EACD,CAAC,oBAAoB,CAAC,CACvB,CAAC;IAEF,MAAM,kBAAkB,GAAkC;QACxD,GAAG,oBAAoB,CAAC,MAAM,EAAE;KACjC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,QAAQ,GAAG,EAAE;YACX,KAAK,UAAU;gBACb,OAAO;oBACL,KAAK,EAAE,UAAU;oBACjB,KAAK,EAAE,SAAS,CAAC,wCAAwC,CAAC;iBAC3D,CAAC;YACJ,KAAK,aAAa;gBAChB,OAAO;oBACL,KAAK,EAAE,aAAa;oBACpB,KAAK,EAAE,SAAS,CAAC,oCAAoC,CAAC;iBACvD,CAAC;YACJ,KAAK,UAAU;gBACb,OAAO;oBACL,KAAK,EAAE,UAAU;oBACjB,KAAK,EAAE,SAAS,CAAC,iCAAiC,CAAC;iBACpD,CAAC;YACJ,KAAK,QAAQ,CAAC;YACd;gBACE,OAAO;oBACL,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,SAAS,CAAC,+BAA+B,CAAC;iBAClD,CAAC;SACL;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,oBAAoB,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACnE,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEhC,OAAO,CACL,6BAAK,SAAS,EAAC,yCAAyC;QACtD,8BAAM,SAAS,EAAE,cAAc,IAC5B,SAAS,CAAC,uCAAuC,CAAC,CAC9C;QACP,oBAAC,sBAAM,mBACO,oBAAoB,EAChC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,wBAAwB,EAClC,IAAI,EAAC,OAAO,GACZ,CACE,CACP,CAAC;AACJ,CAAC;AA1DD,gDA0DC","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 Settings\n */\n\nimport * as React from \"react\";\nimport type { UnitSystemKey } from \"@itwin/core-quantity\";\nimport type { SelectOption } from \"@itwin/itwinui-react\";\nimport { Select } from \"@itwin/itwinui-react\";\nimport { useTranslation } from \"../../useTranslation\";\n\n/** Props for [[UnitSystemSelector]]\n * @beta\n */\nexport interface UnitSystemSelectorProps {\n selectedUnitSystemKey: UnitSystemKey;\n onUnitSystemSelected: (unitSystem: UnitSystemKey) => void;\n availableUnitSystems: Set<UnitSystemKey>;\n}\n\n/** Select control to set the \"active\" Presentation Unit System. This setting determine what units are display for quantity values (i.e. foot vs meter).\n * @alpha\n */\nexport function UnitSystemSelector(props: UnitSystemSelectorProps) {\n const { translate } = useTranslation();\n\n const { selectedUnitSystemKey, onUnitSystemSelected, availableUnitSystems } =\n props;\n const handleUnitSystemSelected = React.useCallback(\n (newValue: UnitSystemKey) => {\n onUnitSystemSelected && onUnitSystemSelected(newValue);\n },\n [onUnitSystemSelected]\n );\n\n const displayUnitSystems: SelectOption<UnitSystemKey>[] = [\n ...availableUnitSystems.values(),\n ].map((sys) => {\n switch (sys) {\n case \"imperial\":\n return {\n value: \"imperial\",\n label: translate(\"presentationUnitSystem.BritishImperial\"),\n };\n case \"usCustomary\":\n return {\n value: \"usCustomary\",\n label: translate(\"presentationUnitSystem.USCustomary\"),\n };\n case \"usSurvey\":\n return {\n value: \"usSurvey\",\n label: translate(\"presentationUnitSystem.USSurvey\"),\n };\n case \"metric\":\n default:\n return {\n value: \"metric\",\n label: translate(\"presentationUnitSystem.Metric\"),\n };\n }\n });\n\n const unitSystemKey = availableUnitSystems.has(selectedUnitSystemKey)\n ? selectedUnitSystemKey\n : displayUnitSystems[0].value;\n\n return (\n <div className=\"quantity-unit-system-selector-container\">\n <span className={\"uicore-label\"}>\n {translate(\"presentationUnitSystem.selector-label\")}\n </span>\n <Select\n data-testid=\"unitSystemSelector\"\n value={unitSystemKey}\n options={displayUnitSystems}\n onChange={handleUnitSystemSelected}\n size=\"small\"\n />\n </div>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiSettingsPage.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/settings/ui/UiSettingsPage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"UiSettingsPage.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/settings/ui/UiSettingsPage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAe1D;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,sBAiV7B;AAsBD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,MAAM,GACnB,gBAAgB,CAUlB"}
|
|
@@ -16,6 +16,7 @@ const UiFramework_1 = require("../../UiFramework");
|
|
|
16
16
|
const ThemeManager_1 = require("../../theme/ThemeManager");
|
|
17
17
|
const SyncUiEventDispatcher_1 = require("../../syncui/SyncUiEventDispatcher");
|
|
18
18
|
const itwinui_react_1 = require("@itwin/itwinui-react");
|
|
19
|
+
const useTranslation_1 = require("../../useTranslation");
|
|
19
20
|
/** UiSettingsPage displaying the active UI settings. This page lets users set the following settings.
|
|
20
21
|
*
|
|
21
22
|
* - theme - Dark, Light, with or without High contrast, or based on OS preference.
|
|
@@ -30,34 +31,7 @@ const itwinui_react_1 = require("@itwin/itwinui-react");
|
|
|
30
31
|
* @beta
|
|
31
32
|
*/
|
|
32
33
|
function UiSettingsPage() {
|
|
33
|
-
const
|
|
34
|
-
const themeDescription = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.themeDescription"));
|
|
35
|
-
const autoHideTitle = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.autoHideTitle"));
|
|
36
|
-
const autoHideDescription = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.autoHideDescription"));
|
|
37
|
-
const dragInteractionTitle = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.dragInteractionTitle"));
|
|
38
|
-
const dragInteractionDescription = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.dragInteractionDescription"));
|
|
39
|
-
const useProximityOpacityTitle = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.useProximityOpacityTitle"));
|
|
40
|
-
const useProximityOpacityDescription = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.useProximityOpacityDescription"));
|
|
41
|
-
const snapWidgetOpacityTitle = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.snapWidgetOpacityTitle"));
|
|
42
|
-
const snapWidgetOpacityDescription = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.snapWidgetOpacityDescription"));
|
|
43
|
-
const darkLabel = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.dark"));
|
|
44
|
-
const lightLabel = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.light"));
|
|
45
|
-
const darkHCLabel = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.darkHighContrast"));
|
|
46
|
-
const lightHCLabel = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.lightHighContrast"));
|
|
47
|
-
const inheritLabel = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.inherit"));
|
|
48
|
-
const systemPreferredLabel = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.systemPreferred"));
|
|
49
|
-
const widgetOpacityTitle = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.widgetOpacityTitle"));
|
|
50
|
-
const widgetOpacityDescription = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.widgetOpacityDescription"));
|
|
51
|
-
const widgetIconTitle = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.widgetIconTitle"));
|
|
52
|
-
const widgetIconDescription = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.widgetIconDescription"));
|
|
53
|
-
const autoCollapseUnpinnedPanelsTitle = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.autoCollapseUnpinnedPanelsTitle"));
|
|
54
|
-
const autoCollapseUnpinnedPanelsDescription = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.autoCollapseUnpinnedPanelsDescription"));
|
|
55
|
-
const animateToolSettingsTitle = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.animateToolSettingsTitle"));
|
|
56
|
-
const animateToolSettingsDescription = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.animateToolSettingsDescription"));
|
|
57
|
-
const useToolAsToolSettingsLabelTitle = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.useToolAsToolSettingsLabelTitle"));
|
|
58
|
-
const useToolAsToolSettingsLabelDescription = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.useToolAsToolSettingsLabelDescription"));
|
|
59
|
-
const toolbarOpacityTitle = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.toolbarOpacityTitle"));
|
|
60
|
-
const toolbarOpacityDescription = React.useRef(UiFramework_1.UiFramework.translate("settings.uiSettingsPage.toolbarOpacityDescription"));
|
|
34
|
+
const { translate } = (0, useTranslation_1.useTranslation)();
|
|
61
35
|
const [theme, setTheme] = React.useState(() => UiFramework_1.UiFramework.getColorTheme());
|
|
62
36
|
const [useDragInteraction, setUseDragInteraction] = React.useState(() => UiFramework_1.UiFramework.useDragInteraction);
|
|
63
37
|
const [showWidgetIcon, setShowWidgetIcon] = React.useState(() => UiFramework_1.UiFramework.showWidgetIcon);
|
|
@@ -66,7 +40,9 @@ function UiSettingsPage() {
|
|
|
66
40
|
const [useToolAsToolSettingsLabel, setUseToolAsToolSettingsLabel] = React.useState(() => UiFramework_1.UiFramework.useToolAsToolSettingsLabel);
|
|
67
41
|
const [widgetOpacity, setWidgetOpacity] = React.useState(() => UiFramework_1.UiFramework.getWidgetOpacity());
|
|
68
42
|
const [autoHideUi, setAutoHideUi] = React.useState(() => UiFramework_1.UiFramework.visibility.autoHideUi);
|
|
69
|
-
const [useProximityOpacity, setUseProximityOpacity] = React.useState(
|
|
43
|
+
const [useProximityOpacity, setUseProximityOpacity] = React.useState(
|
|
44
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
45
|
+
() => UiFramework_1.UiFramework.visibility.useProximityOpacity);
|
|
70
46
|
const [snapWidgetOpacity, setSnapWidgetOpacity] = React.useState(() => UiFramework_1.UiFramework.visibility.snapWidgetOpacity);
|
|
71
47
|
const [toolbarOpacity, setToolbarOpacity] = React.useState(() => UiFramework_1.UiFramework.getToolbarOpacity());
|
|
72
48
|
React.useEffect(() => {
|
|
@@ -98,7 +74,9 @@ function UiSettingsPage() {
|
|
|
98
74
|
setWidgetOpacity(UiFramework_1.UiFramework.getWidgetOpacity());
|
|
99
75
|
if (UiFramework_1.UiFramework.visibility.autoHideUi !== autoHideUi)
|
|
100
76
|
setAutoHideUi(UiFramework_1.UiFramework.visibility.autoHideUi);
|
|
77
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
101
78
|
if (UiFramework_1.UiFramework.visibility.useProximityOpacity !== useProximityOpacity)
|
|
79
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
102
80
|
setUseProximityOpacity(UiFramework_1.UiFramework.visibility.useProximityOpacity);
|
|
103
81
|
if (UiFramework_1.UiFramework.visibility.snapWidgetOpacity !== snapWidgetOpacity)
|
|
104
82
|
setSnapWidgetOpacity(UiFramework_1.UiFramework.visibility.snapWidgetOpacity);
|
|
@@ -125,16 +103,31 @@ function UiSettingsPage() {
|
|
|
125
103
|
toolbarOpacity,
|
|
126
104
|
]);
|
|
127
105
|
const defaultThemeOption = {
|
|
128
|
-
label:
|
|
106
|
+
label: translate("settings.uiSettingsPage.systemPreferred"),
|
|
129
107
|
value: ThemeManager_1.SYSTEM_PREFERRED_COLOR_THEME,
|
|
130
108
|
};
|
|
131
109
|
const themeOptions = [
|
|
132
110
|
defaultThemeOption,
|
|
133
|
-
{
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
{
|
|
111
|
+
{
|
|
112
|
+
label: translate("settings.uiSettingsPage.light"),
|
|
113
|
+
value: ThemeManager_1.ColorTheme.Light,
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
label: translate("settings.uiSettingsPage.dark"),
|
|
117
|
+
value: ThemeManager_1.ColorTheme.Dark,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
label: translate("settings.uiSettingsPage.lightHighContrast"),
|
|
121
|
+
value: ThemeManager_1.ColorTheme.HighContrastLight,
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
label: translate("settings.uiSettingsPage.darkHighContrast"),
|
|
125
|
+
value: ThemeManager_1.ColorTheme.HighContrastDark,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
label: translate("settings.uiSettingsPage.inherit"),
|
|
129
|
+
value: ThemeManager_1.ColorTheme.Inherit,
|
|
130
|
+
},
|
|
138
131
|
];
|
|
139
132
|
const onThemeChange = React.useCallback((newValue) => {
|
|
140
133
|
UiFramework_1.UiFramework.setColorTheme(newValue);
|
|
@@ -143,6 +136,7 @@ function UiSettingsPage() {
|
|
|
143
136
|
UiFramework_1.UiFramework.visibility.autoHideUi = !autoHideUi;
|
|
144
137
|
}, [autoHideUi]);
|
|
145
138
|
const onUseProximityOpacityChange = React.useCallback(async () => {
|
|
139
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
146
140
|
UiFramework_1.UiFramework.visibility.useProximityOpacity = !useProximityOpacity;
|
|
147
141
|
}, [useProximityOpacity]);
|
|
148
142
|
const onSnapWidgetOpacityChange = React.useCallback(async () => {
|
|
@@ -177,18 +171,18 @@ function UiSettingsPage() {
|
|
|
177
171
|
}
|
|
178
172
|
}, []);
|
|
179
173
|
return (React.createElement("div", { className: "uifw-settings" },
|
|
180
|
-
React.createElement(SettingsItem, { title: themeTitle
|
|
174
|
+
React.createElement(SettingsItem, { title: translate("settings.uiSettingsPage.themeTitle"), description: translate("settings.uiSettingsPage.themeDescription"), settingUi: React.createElement("div", { "data-testid": "select-theme-container", className: "select-theme-container" },
|
|
181
175
|
React.createElement(itwinui_react_1.Select, { value: currentTheme, onChange: onThemeChange, options: themeOptions, "data-testid": "select-theme", size: "small" })) }),
|
|
182
|
-
React.createElement(SettingsItem, { title: autoHideTitle
|
|
183
|
-
React.createElement(SettingsItem, { title: dragInteractionTitle
|
|
184
|
-
React.createElement(SettingsItem, { title: useProximityOpacityTitle
|
|
185
|
-
React.createElement(SettingsItem, { title: snapWidgetOpacityTitle
|
|
186
|
-
React.createElement(SettingsItem, { title: widgetIconTitle
|
|
187
|
-
React.createElement(SettingsItem, { title: autoCollapseUnpinnedPanelsTitle
|
|
188
|
-
React.createElement(SettingsItem, { title: animateToolSettingsTitle
|
|
189
|
-
React.createElement(SettingsItem, { title: useToolAsToolSettingsLabelTitle
|
|
190
|
-
React.createElement(SettingsItem, { title: toolbarOpacityTitle
|
|
191
|
-
React.createElement(SettingsItem, { title: widgetOpacityTitle
|
|
176
|
+
React.createElement(SettingsItem, { title: translate("settings.uiSettingsPage.autoHideTitle"), description: translate("settings.uiSettingsPage.autoHideDescription"), settingUi: React.createElement(itwinui_react_1.ToggleSwitch, { checked: autoHideUi, onChange: onAutoHideChange }) }),
|
|
177
|
+
React.createElement(SettingsItem, { title: translate("settings.uiSettingsPage.dragInteractionTitle"), description: translate("settings.uiSettingsPage.dragInteractionDescription"), settingUi: React.createElement(itwinui_react_1.ToggleSwitch, { checked: useDragInteraction, onChange: onToggleDragInteraction }) }),
|
|
178
|
+
React.createElement(SettingsItem, { title: translate("settings.uiSettingsPage.useProximityOpacityTitle"), description: translate("settings.uiSettingsPage.useProximityOpacityDescription"), settingUi: React.createElement(itwinui_react_1.ToggleSwitch, { checked: useProximityOpacity, onChange: onUseProximityOpacityChange }) }),
|
|
179
|
+
React.createElement(SettingsItem, { title: translate("settings.uiSettingsPage.snapWidgetOpacityTitle"), description: translate("settings.uiSettingsPage.snapWidgetOpacityDescription"), settingUi: React.createElement(itwinui_react_1.ToggleSwitch, { checked: snapWidgetOpacity, onChange: onSnapWidgetOpacityChange }) }),
|
|
180
|
+
React.createElement(SettingsItem, { title: translate("settings.uiSettingsPage.widgetIconTitle"), description: translate("settings.uiSettingsPage.widgetIconDescription"), settingUi: React.createElement(itwinui_react_1.ToggleSwitch, { checked: showWidgetIcon, onChange: onWidgetIconChange }) }),
|
|
181
|
+
React.createElement(SettingsItem, { title: translate("settings.uiSettingsPage.autoCollapseUnpinnedPanelsTitle"), description: translate("settings.uiSettingsPage.autoCollapseUnpinnedPanelsDescription"), settingUi: React.createElement(itwinui_react_1.ToggleSwitch, { checked: autoCollapseUnpinnedPanels, onChange: onAutoCollapseUnpinnedPanelsChange }) }),
|
|
182
|
+
React.createElement(SettingsItem, { title: translate("settings.uiSettingsPage.animateToolSettingsTitle"), description: translate("settings.uiSettingsPage.animateToolSettingsDescription"), settingUi: React.createElement(itwinui_react_1.ToggleSwitch, { checked: animateToolSettings, onChange: OnToggleAnimateToolSettings }) }),
|
|
183
|
+
React.createElement(SettingsItem, { title: translate("settings.uiSettingsPage.useToolAsToolSettingsLabelTitle"), description: translate("settings.uiSettingsPage.useToolAsToolSettingsLabelDescription"), settingUi: React.createElement(itwinui_react_1.ToggleSwitch, { checked: useToolAsToolSettingsLabel, onChange: OnToggleUseToolAsToolSettingsLabel }) }),
|
|
184
|
+
React.createElement(SettingsItem, { title: translate("settings.uiSettingsPage.toolbarOpacityTitle"), description: translate("settings.uiSettingsPage.toolbarOpacityDescription"), settingUi: React.createElement(itwinui_react_1.Slider, { style: { flex: "1" }, values: [toolbarOpacity], step: 0.05, onChange: onToolbarOpacityChange, min: 0.2, max: 1.0, maxLabel: "1.0", tickLabels: ["", "", "", "", ""] }) }),
|
|
185
|
+
React.createElement(SettingsItem, { title: translate("settings.uiSettingsPage.widgetOpacityTitle"), description: translate("settings.uiSettingsPage.widgetOpacityDescription"), settingUi: React.createElement(itwinui_react_1.Slider, { style: { flex: "1" }, values: [widgetOpacity], step: 0.05, onChange: onWidgetOpacityChange, min: 0.2, max: 1.0, maxLabel: "1.0", tickLabels: ["", "", "", "", ""] }) })));
|
|
192
186
|
}
|
|
193
187
|
exports.UiSettingsPage = UiSettingsPage;
|
|
194
188
|
function SettingsItem(props) {
|