@itwin/appui-react 4.10.0 → 4.12.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 +27 -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/UiFramework.json +345 -0
- 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 +4 -3
- 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 +23 -78
- 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.d.ts +4 -4
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +5 -4
- 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/hooks/useTranslation.d.ts +7 -0
- package/lib/cjs/appui-react/hooks/useTranslation.d.ts.map +1 -0
- package/lib/cjs/appui-react/hooks/useTranslation.js +29 -0
- package/lib/cjs/appui-react/hooks/useTranslation.js.map +1 -0
- 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/StandardLayout.scss +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/NineZoneAction.d.ts +3 -2
- package/lib/cjs/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/state/NineZoneAction.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +16 -13
- package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/PanelState.d.ts +2 -5
- package/lib/cjs/appui-react/layout/state/PanelState.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/state/PanelState.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/PanelStateHelpers.d.ts +4 -3
- package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js +12 -10
- package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.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 +8 -7
- 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/{statusbar/Popup.js → preview/new-toolbars/Badge.js} +10 -10
- 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/preview/new-toolbars/ExpandIndicator.js +15 -0
- 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/StagePanelConfig.d.ts +23 -3
- package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +7 -4
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +42 -16
- 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/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 +32 -24
- 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 +4 -6
- 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/UiFramework.json +345 -0
- 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 +5 -4
- 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 +24 -79
- 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.d.ts +4 -4
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +5 -4
- 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/hooks/useTranslation.d.ts +7 -0
- package/lib/esm/appui-react/hooks/useTranslation.d.ts.map +1 -0
- package/lib/esm/appui-react/hooks/useTranslation.js +25 -0
- package/lib/esm/appui-react/hooks/useTranslation.js.map +1 -0
- 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/StandardLayout.scss +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/NineZoneAction.d.ts +3 -2
- package/lib/esm/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/state/NineZoneAction.js.map +1 -1
- package/lib/esm/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +17 -14
- package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
- package/lib/esm/appui-react/layout/state/PanelState.d.ts +2 -5
- package/lib/esm/appui-react/layout/state/PanelState.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/state/PanelState.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/PanelStateHelpers.d.ts +4 -3
- package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js +10 -8
- package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.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 +8 -7
- 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/{statusbar/Popup.js → preview/new-toolbars/Badge.js} +8 -8
- 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/preview/new-toolbars/ExpandIndicator.js +11 -0
- 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/StagePanelConfig.d.ts +23 -3
- package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +7 -4
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js +42 -16
- 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/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 +32 -24
- 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 +3 -5
- 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 +11 -10
- 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":"SheetNavigationAid.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetNavigationAid.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 NavigationAids\n */\n\nimport \"./SheetNavigationAid.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type {\n IModelConnection,\n ScreenViewport,\n SelectedViewportChangedArgs,\n} from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { UiComponents } from \"@itwin/components-react\";\nimport type { ViewIdChangedEventArgs } from \"@itwin/imodel-components-react\";\nimport { ViewportComponentEvents } from \"@itwin/imodel-components-react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport type { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\nimport { NavigationAidControl } from \"./NavigationAidControl\";\nimport type { CardSelectedEventArgs } from \"./SheetsModalFrontstage\";\nimport { CardContainer, SheetsModalFrontstage } from \"./SheetsModalFrontstage\";\nimport { IconButton, ProgressRadial } from \"@itwin/itwinui-react\";\nimport { SvgChevronLeft, SvgChevronRight } from \"@itwin/itwinui-icons-react\";\n\n/** A Sheet Navigation Aid control.\n * @alpha\n */\nexport class SheetNavigationAidControl extends NavigationAidControl {\n public static navigationAidId = \"SheetNavigationAid\";\n\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n this.reactNode = <SheetNavigationAid iModelConnection={options.imodel} />;\n }\n\n // istanbul ignore next\n public override getSize(): string | undefined {\n return \"96px\";\n }\n}\n\n/** Data displayed about sheet\n * @alpha\n */\nexport interface SheetData {\n name: string;\n viewId: string;\n}\n\n/** Properties for the [[SheetNavigationAid]] component\n * @alpha\n */\nexport interface SheetNavigationProps extends CommonProps {\n iModelConnection: IModelConnection;\n}\n\n/** @internal */\ninterface SheetNavigationState {\n index: number;\n sheetData: SheetData[];\n}\n\n/** A Sheet Navigation Aid.\n * @alpha\n */\nexport class SheetNavigationAid extends React.Component<\n SheetNavigationProps,\n SheetNavigationState\n> {\n private _isMounted = false;\n\n /** @internal */\n public override readonly state: Readonly<SheetNavigationState> = {\n index: 0,\n sheetData: [],\n };\n\n private _viewport: ScreenViewport | undefined;\n\n constructor(props: SheetNavigationProps) {\n super(props);\n\n this._viewport = IModelApp.viewManager.selectedView;\n }\n\n /** Adds listeners when components mounts */\n public override async componentDidMount() {\n this._isMounted = true;\n\n CardContainer.onCardSelectedEvent.addListener(this._handleCardSelected);\n ViewportComponentEvents.onViewIdChangedEvent.addListener(\n this._handleViewIdChanged\n );\n\n IModelApp.viewManager.onSelectedViewportChanged.addListener(\n this._handleSelectedViewportChanged\n );\n\n const stateData = await this._setupSheets();\n\n if (this._isMounted) this.setState(stateData);\n }\n\n /** Removes listeners when component will unmount */\n public override componentWillUnmount() {\n this._isMounted = false;\n\n CardContainer.onCardSelectedEvent.removeListener(this._handleCardSelected);\n ViewportComponentEvents.onViewIdChangedEvent.removeListener(\n this._handleViewIdChanged\n );\n\n IModelApp.viewManager.onSelectedViewportChanged.removeListener(\n this._handleSelectedViewportChanged\n );\n }\n\n /** Queries for sheet info and sets as sheetData */\n private async _setupSheets(): Promise<SheetNavigationState> {\n const stateData: SheetNavigationState = {\n index: 0,\n sheetData: [],\n };\n\n // istanbul ignore else\n if (\n !this.props.iModelConnection ||\n !this.props.iModelConnection.views.getViewList\n )\n return stateData;\n\n // istanbul ignore next\n let viewId = \"\";\n // istanbul ignore next\n if (this._viewport) {\n viewId = this._viewport.view.id.toString();\n }\n\n // istanbul ignore next\n const sheets = await this.props.iModelConnection.views.getViewList({\n from: \"BisCore.SheetViewDefinition\",\n });\n // istanbul ignore next\n sheets.forEach((viewSpec: IModelConnection.ViewSpec, index: number) => {\n stateData.sheetData.push({ name: viewSpec.name, viewId: viewSpec.id });\n if (viewSpec.id === viewId) stateData.index = index;\n });\n\n // istanbul ignore next\n return stateData;\n }\n\n /** @internal */\n public override render(): React.ReactNode {\n const name =\n this.state.sheetData.length > 0\n ? /* istanbul ignore next */ this.state.sheetData[this.state.index].name\n : \"\";\n const sheet = UiFramework.translate(\"general.sheet\");\n const ofStr = UiComponents.translate(\"general.of\");\n const leftIndex =\n this.state.index === 0\n ? this.state.sheetData.length - 1\n : /* istanbul ignore next */ this.state.index - 1;\n const rightIndex =\n this.state.index >= this.state.sheetData.length - 1\n ? 0\n : /* istanbul ignore next */ this.state.index + 1;\n const leftTitle = this.state.sheetData[leftIndex]\n ? /* istanbul ignore next */ this.state.sheetData[leftIndex].name\n : undefined;\n const rightTitle = this.state.sheetData[rightIndex]\n ? /* istanbul ignore next */ this.state.sheetData[rightIndex].name\n : undefined;\n\n let content: React.ReactNode;\n // istanbul ignore if\n if (this.state.sheetData.length > 0) {\n content = (\n <>\n <div className=\"sheet-title\">{sheet}</div>\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <div\n className=\"sheet-name\"\n title={name}\n onClick={this._handleOnClickSheetName}\n role=\"button\"\n tabIndex={-1}\n >\n {name}\n </div>\n <div className=\"sheet-container\">\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <IconButton\n size=\"small\"\n styleType=\"borderless\"\n onClick={this._handleOnClickLeftArrow}\n tabIndex={-1}\n title={leftTitle}\n >\n <SvgChevronLeft />\n </IconButton>\n <div>\n {this.state.index + 1} {ofStr} {this.state.sheetData.length}\n </div>\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <IconButton\n size=\"small\"\n styleType=\"borderless\"\n onClick={this._handleOnClickRightArrow}\n role=\"button\"\n tabIndex={-1}\n title={rightTitle}\n >\n <SvgChevronRight />\n </IconButton>\n </div>\n </>\n );\n } else {\n content = <ProgressRadial size=\"x-small\" indeterminate />;\n }\n\n return (\n <div\n className={classnames(\"uifw-sheet-navigation\", this.props.className)}\n style={this.props.style}\n >\n {content}\n </div>\n );\n }\n\n /** Sets index of newly selected card */\n private _handleCardSelected = (event: CardSelectedEventArgs) => {\n event &&\n this.setState({\n index: event.index,\n });\n };\n\n /** Updates view to the next lowest index in sheetData */\n // istanbul ignore next\n private _handleOnClickLeftArrow = () => {\n this.setState(\n (prevState) => ({\n index:\n prevState.index <= 0\n ? prevState.sheetData.length - 1\n : prevState.index - 1,\n }),\n async () => this._updateView()\n );\n };\n\n /** Updates view to next highest index in sheetData */\n // istanbul ignore next\n private _handleOnClickRightArrow = () => {\n this.setState(\n (prevState) => ({\n index: (prevState.index + 1) % prevState.sheetData.length,\n }),\n async () => this._updateView()\n );\n };\n\n /** Handles a Viewport change & synchs the index */\n // istanbul ignore next\n private _handleSelectedViewportChanged = (\n args: SelectedViewportChangedArgs\n ) => {\n if (args.current) {\n this._handleViewportChanged(args.current);\n }\n };\n\n // istanbul ignore next\n private _handleViewIdChanged = (args: ViewIdChangedEventArgs) => {\n if (this._viewport === args.viewport)\n this._handleViewportChanged(args.viewport as ScreenViewport);\n };\n\n /** Handles a Viewport change & synchs the index */\n // istanbul ignore next\n private _handleViewportChanged = (viewport: ScreenViewport) => {\n const className = ViewUtilities.getBisBaseClass(\n viewport.view.classFullName\n );\n\n if (ViewUtilities.isSheet(className)) {\n this._viewport = viewport;\n\n const viewId = this._viewport.view.id.toString();\n\n const index = this.state.sheetData.findIndex((sheetData: SheetData) => {\n return viewId === sheetData.viewId;\n });\n\n if (index >= 0) this.setState({ index });\n }\n };\n\n /** Updates view to currently set sheet */\n // istanbul ignore next\n private async _updateView() {\n const viewState = await this.props.iModelConnection.views.load(\n this.state.sheetData[this.state.index].viewId\n );\n if (this._viewport) this._viewport.changeView(viewState);\n }\n\n /** Creates a new SheetsModalFrontstage */\n // istanbul ignore next\n private modalFrontstage(): ModalFrontstageInfo {\n return new SheetsModalFrontstage(\n this.state.sheetData,\n this.props.iModelConnection,\n this.state.index\n );\n }\n\n /** Opens a new SheetsModelFrontstage on sheetName click */\n // istanbul ignore next\n private _handleOnClickSheetName = () => {\n UiFramework.frontstages.openModalFrontstage(this.modalFrontstage());\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SheetNavigationAid.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetNavigationAid.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 NavigationAids\n */\n\nimport \"./SheetNavigationAid.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type {\n IModelConnection,\n ScreenViewport,\n SelectedViewportChangedArgs,\n} from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { ViewIdChangedEventArgs } from \"@itwin/imodel-components-react\";\nimport { ViewportComponentEvents } from \"@itwin/imodel-components-react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport type { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\nimport { NavigationAidControl } from \"./NavigationAidControl\";\nimport type { CardSelectedEventArgs } from \"./SheetsModalFrontstage\";\nimport { CardContainer, SheetsModalFrontstage } from \"./SheetsModalFrontstage\";\nimport { IconButton, ProgressRadial } from \"@itwin/itwinui-react\";\nimport { SvgChevronLeft, SvgChevronRight } from \"@itwin/itwinui-icons-react\";\n\n/** A Sheet Navigation Aid control.\n * @alpha\n */\nexport class SheetNavigationAidControl extends NavigationAidControl {\n public static navigationAidId = \"SheetNavigationAid\";\n\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n this.reactNode = <SheetNavigationAid iModelConnection={options.imodel} />;\n }\n\n // istanbul ignore next\n public override getSize(): string | undefined {\n return \"96px\";\n }\n}\n\n/** Data displayed about sheet\n * @alpha\n */\nexport interface SheetData {\n name: string;\n viewId: string;\n}\n\n/** Properties for the [[SheetNavigationAid]] component\n * @alpha\n */\nexport interface SheetNavigationProps extends CommonProps {\n iModelConnection: IModelConnection;\n}\n\n/** @internal */\ninterface SheetNavigationState {\n index: number;\n sheetData: SheetData[];\n}\n\n/** A Sheet Navigation Aid.\n * @alpha\n */\nexport class SheetNavigationAid extends React.Component<\n SheetNavigationProps,\n SheetNavigationState\n> {\n private _isMounted = false;\n\n /** @internal */\n public override readonly state: Readonly<SheetNavigationState> = {\n index: 0,\n sheetData: [],\n };\n\n private _viewport: ScreenViewport | undefined;\n\n constructor(props: SheetNavigationProps) {\n super(props);\n\n this._viewport = IModelApp.viewManager.selectedView;\n }\n\n /** Adds listeners when components mounts */\n public override async componentDidMount() {\n this._isMounted = true;\n\n CardContainer.onCardSelectedEvent.addListener(this._handleCardSelected);\n ViewportComponentEvents.onViewIdChangedEvent.addListener(\n this._handleViewIdChanged\n );\n\n IModelApp.viewManager.onSelectedViewportChanged.addListener(\n this._handleSelectedViewportChanged\n );\n\n const stateData = await this._setupSheets();\n\n if (this._isMounted) this.setState(stateData);\n }\n\n /** Removes listeners when component will unmount */\n public override componentWillUnmount() {\n this._isMounted = false;\n\n CardContainer.onCardSelectedEvent.removeListener(this._handleCardSelected);\n ViewportComponentEvents.onViewIdChangedEvent.removeListener(\n this._handleViewIdChanged\n );\n\n IModelApp.viewManager.onSelectedViewportChanged.removeListener(\n this._handleSelectedViewportChanged\n );\n }\n\n /** Queries for sheet info and sets as sheetData */\n private async _setupSheets(): Promise<SheetNavigationState> {\n const stateData: SheetNavigationState = {\n index: 0,\n sheetData: [],\n };\n\n // istanbul ignore else\n if (\n !this.props.iModelConnection ||\n !this.props.iModelConnection.views.getViewList\n )\n return stateData;\n\n // istanbul ignore next\n let viewId = \"\";\n // istanbul ignore next\n if (this._viewport) {\n viewId = this._viewport.view.id.toString();\n }\n\n // istanbul ignore next\n const sheets = await this.props.iModelConnection.views.getViewList({\n from: \"BisCore.SheetViewDefinition\",\n });\n // istanbul ignore next\n sheets.forEach((viewSpec: IModelConnection.ViewSpec, index: number) => {\n stateData.sheetData.push({ name: viewSpec.name, viewId: viewSpec.id });\n if (viewSpec.id === viewId) stateData.index = index;\n });\n\n // istanbul ignore next\n return stateData;\n }\n\n /** @internal */\n public override render(): React.ReactNode {\n const name =\n this.state.sheetData.length > 0\n ? /* istanbul ignore next */ this.state.sheetData[this.state.index].name\n : \"\";\n const leftIndex =\n this.state.index === 0\n ? this.state.sheetData.length - 1\n : /* istanbul ignore next */ this.state.index - 1;\n const rightIndex =\n this.state.index >= this.state.sheetData.length - 1\n ? 0\n : /* istanbul ignore next */ this.state.index + 1;\n const leftTitle = this.state.sheetData[leftIndex]\n ? /* istanbul ignore next */ this.state.sheetData[leftIndex].name\n : undefined;\n const rightTitle = this.state.sheetData[rightIndex]\n ? /* istanbul ignore next */ this.state.sheetData[rightIndex].name\n : undefined;\n\n let content: React.ReactNode;\n // istanbul ignore if\n if (this.state.sheetData.length > 0) {\n content = (\n <>\n <div className=\"sheet-title\">\n {UiFramework.translate(\"general.sheet\")}\n </div>\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <div\n className=\"sheet-name\"\n title={name}\n onClick={this._handleOnClickSheetName}\n role=\"button\"\n tabIndex={-1}\n >\n {name}\n </div>\n <div className=\"sheet-container\">\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <IconButton\n size=\"small\"\n styleType=\"borderless\"\n onClick={this._handleOnClickLeftArrow}\n tabIndex={-1}\n title={leftTitle}\n >\n <SvgChevronLeft />\n </IconButton>\n <div>\n {this.state.index + 1} {UiFramework.translate(\"general.of\")}\n {this.state.sheetData.length}\n </div>\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <IconButton\n size=\"small\"\n styleType=\"borderless\"\n onClick={this._handleOnClickRightArrow}\n role=\"button\"\n tabIndex={-1}\n title={rightTitle}\n >\n <SvgChevronRight />\n </IconButton>\n </div>\n </>\n );\n } else {\n content = <ProgressRadial size=\"x-small\" indeterminate />;\n }\n\n return (\n <div\n className={classnames(\"uifw-sheet-navigation\", this.props.className)}\n style={this.props.style}\n >\n {content}\n </div>\n );\n }\n\n /** Sets index of newly selected card */\n private _handleCardSelected = (event: CardSelectedEventArgs) => {\n event &&\n this.setState({\n index: event.index,\n });\n };\n\n /** Updates view to the next lowest index in sheetData */\n // istanbul ignore next\n private _handleOnClickLeftArrow = () => {\n this.setState(\n (prevState) => ({\n index:\n prevState.index <= 0\n ? prevState.sheetData.length - 1\n : prevState.index - 1,\n }),\n async () => this._updateView()\n );\n };\n\n /** Updates view to next highest index in sheetData */\n // istanbul ignore next\n private _handleOnClickRightArrow = () => {\n this.setState(\n (prevState) => ({\n index: (prevState.index + 1) % prevState.sheetData.length,\n }),\n async () => this._updateView()\n );\n };\n\n /** Handles a Viewport change & synchs the index */\n // istanbul ignore next\n private _handleSelectedViewportChanged = (\n args: SelectedViewportChangedArgs\n ) => {\n if (args.current) {\n this._handleViewportChanged(args.current);\n }\n };\n\n // istanbul ignore next\n private _handleViewIdChanged = (args: ViewIdChangedEventArgs) => {\n if (this._viewport === args.viewport)\n this._handleViewportChanged(args.viewport as ScreenViewport);\n };\n\n /** Handles a Viewport change & synchs the index */\n // istanbul ignore next\n private _handleViewportChanged = (viewport: ScreenViewport) => {\n const className = ViewUtilities.getBisBaseClass(\n viewport.view.classFullName\n );\n\n if (ViewUtilities.isSheet(className)) {\n this._viewport = viewport;\n\n const viewId = this._viewport.view.id.toString();\n\n const index = this.state.sheetData.findIndex((sheetData: SheetData) => {\n return viewId === sheetData.viewId;\n });\n\n if (index >= 0) this.setState({ index });\n }\n };\n\n /** Updates view to currently set sheet */\n // istanbul ignore next\n private async _updateView() {\n const viewState = await this.props.iModelConnection.views.load(\n this.state.sheetData[this.state.index].viewId\n );\n if (this._viewport) this._viewport.changeView(viewState);\n }\n\n /** Creates a new SheetsModalFrontstage */\n // istanbul ignore next\n private modalFrontstage(): ModalFrontstageInfo {\n return new SheetsModalFrontstage(\n this.state.sheetData,\n this.props.iModelConnection,\n this.state.index\n );\n }\n\n /** Opens a new SheetsModelFrontstage on sheetName click */\n // istanbul ignore next\n private _handleOnClickSheetName = () => {\n UiFramework.frontstages.openModalFrontstage(this.modalFrontstage());\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetsModalFrontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetsModalFrontstage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,8BAA8B,CAAC;AAEtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"SheetsModalFrontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetsModalFrontstage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,8BAA8B,CAAC;AAEtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAO/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,GAAG,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,GAAG,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AAEH,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,qBAAqB,CAAC;CAAG;AAExE;;GAEG;AACH,qBAAa,qBAAsB,YAAW,mBAAmB;IACxD,KAAK,SAAgE;IAC5E,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAc;IAElC;;;;OAIG;gBAED,MAAM,EAAE,SAAS,EAAE,EACnB,UAAU,EAAE,gBAAgB,EAC5B,YAAY,EAAE,MAAM;IAOtB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAY3B,wBAAwB;IACxB,IAAW,OAAO,IAAI,KAAK,CAAC,SAAS,CAQpC;IAED,kDAAkD;IAClD,IAAW,WAAW,IAAI,KAAK,CAAC,SAAS,CAQxC;IAED,0CAA0C;IAE1C,OAAO,CAAC,yBAAyB,CAG/B;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;IACpE,OAAO,CAAC,MAAM,CAAC,kBAAkB,CACP;IAE1B,kCAAkC;IAClC,WAAkB,mBAAmB,IAAI,iBAAiB,CAEzD;IAED,gBAAgB;IACA,MAAM;IA8BtB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAUhB;;;OAGG;YACW,mBAAmB;CAelC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;gBAChE,KAAK,EAAE,cAAc;IAKjC,OAAO,CAAC,QAAQ,CAEd;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,aAAa,CAEnB;IAEc,MAAM;CAoCvB"}
|
|
@@ -10,7 +10,7 @@ import classnames from "classnames";
|
|
|
10
10
|
import * as React from "react";
|
|
11
11
|
import { IModelApp } from "@itwin/core-frontend";
|
|
12
12
|
import { UiEvent } from "@itwin/appui-abstract";
|
|
13
|
-
import { FlexWrapContainer, Icon, ScrollView, SearchBox,
|
|
13
|
+
import { FlexWrapContainer, Icon, ScrollView, SearchBox, } from "@itwin/core-react";
|
|
14
14
|
import { UiFramework } from "../UiFramework";
|
|
15
15
|
import { SvgDocument, SvgPlaceholder } from "@itwin/itwinui-icons-react";
|
|
16
16
|
/** Class for CardSelectedEvent
|
|
@@ -63,7 +63,7 @@ export class SheetsModalFrontstage {
|
|
|
63
63
|
}
|
|
64
64
|
/** Gets components to be placed in the app bar */
|
|
65
65
|
get appBarRight() {
|
|
66
|
-
return (React.createElement(SearchBox, { placeholder:
|
|
66
|
+
return (React.createElement(SearchBox, { placeholder: UiFramework.translate("general.search"), onValueChanged: this._handleSearchValueChanged, valueChangedDelay: 250 }));
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
/** Displays cards in SheetModalFrontstage
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetsModalFrontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetsModalFrontstage.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 NavigationAids\n */\n\nimport \"./SheetsModalFrontstage.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { CommonProps, IconSpec } from \"@itwin/core-react\";\nimport {\n FlexWrapContainer,\n Icon,\n ScrollView,\n SearchBox,\n UiCore,\n} from \"@itwin/core-react\";\nimport type { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { SheetData } from \"./SheetNavigationAid\";\nimport { SvgDocument, SvgPlaceholder } from \"@itwin/itwinui-icons-react\";\n\n/** Data about a sheet card\n * @alpha\n */\nexport interface CardInfo {\n index: number;\n label: string;\n iconSpec: IconSpec;\n isActive: boolean;\n viewId: any;\n}\n\n/** Arguments for CardSelectedEvent\n * @alpha\n */\nexport interface CardSelectedEventArgs {\n id: any;\n index: number;\n}\n\n/** Class for CardSelectedEvent\n * @alpha\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class CardSelectedEvent extends UiEvent<CardSelectedEventArgs> {}\n\n/** Modal frontstage displaying sheet information in cards.\n * @alpha\n */\nexport class SheetsModalFrontstage implements ModalFrontstageInfo {\n public title: string = UiFramework.translate(\n \"navigationAid.sheetsModalFrontstage\"\n );\n private _cards: CardInfo[] = [];\n private _connection: IModelConnection;\n private _currentIndex: number;\n private _searchValue: string = \"\";\n\n /**\n * Creates a SheetsModalFrontstage\n * @param sheets Collection of sheets available in SheetNavigationAid\n * @param connection IModelConnection to query for sheet ViewState\n */\n constructor(\n sheets: SheetData[],\n connection: IModelConnection,\n currentIndex: number\n ) {\n this._connection = connection;\n this._currentIndex = currentIndex;\n this._storeSheetsAsCards(sheets);\n }\n\n /**\n * Gathers card info from available sheets\n * @param sheets SheetData from available sheets\n */\n private _storeSheetsAsCards(sheets: SheetData[]) {\n sheets.forEach((sheet: SheetData, index: number) => {\n this._cards.push({\n index,\n label: sheet.name,\n iconSpec: <SvgDocument />,\n viewId: sheet.viewId,\n isActive: index === this._currentIndex,\n });\n });\n }\n\n /** Gets set of cards */\n public get content(): React.ReactNode {\n return (\n <CardContainer\n cards={this._cards}\n searchValue={this._searchValue}\n connection={this._connection}\n />\n );\n }\n\n /** Gets components to be placed in the app bar */\n public get appBarRight(): React.ReactNode {\n return (\n <SearchBox\n placeholder={UiCore.translate(\"general.search\")}\n onValueChanged={this._handleSearchValueChanged}\n valueChangedDelay={250}\n />\n );\n }\n\n /** Updates stage based on search value */\n // istanbul ignore next\n private _handleSearchValueChanged = (value: string): void => {\n this._searchValue = value;\n UiFramework.frontstages.updateModalFrontstage();\n };\n}\n\n/** Properties for [[CardContainer]]\n * @alpha\n */\nexport interface CardContainerProps extends CommonProps {\n cards: CardInfo[];\n searchValue: string;\n connection: IModelConnection;\n}\n\n/** Displays cards in SheetModalFrontstage\n * @alpha\n */\nexport class CardContainer extends React.Component<CardContainerProps> {\n private static _cardSelectedEvent: CardSelectedEvent =\n new CardSelectedEvent();\n\n /** Get CardSelectedEvent event */\n public static get onCardSelectedEvent(): CardSelectedEvent {\n return CardContainer._cardSelectedEvent;\n }\n\n /** @internal */\n public override render() {\n return (\n <ScrollView className={this.props.className} style={this.props.style}>\n <FlexWrapContainer>\n {this.props.cards.map((card: CardInfo, _index: number) => {\n let includeCard = true;\n if (this.props.searchValue) {\n includeCard = this.contains(card.label, this.props.searchValue);\n }\n\n if (includeCard) {\n return (\n <SheetCard\n key={card.label}\n label={card.label}\n index={card.index}\n iconSpec={card.iconSpec}\n isActive={card.isActive}\n onClick={async () => this._handleCardSelected(card)}\n />\n );\n }\n\n return null;\n })}\n </FlexWrapContainer>\n </ScrollView>\n );\n }\n\n /**\n * Determines if string contains a substring\n * @param valueA The string to search through\n * @param valueB The value to search for\n * @return True if valueB can be found in valueA, false otherwise\n */\n private contains(valueA: string, valueB: string): boolean {\n if (!valueA || !valueB) return false;\n\n if (valueB.length > valueA.length) return false;\n\n return (\n valueA.toLocaleUpperCase().indexOf(valueB.toLocaleUpperCase(), 0) !== -1\n );\n }\n\n /**\n * Updates view with ViewState for selected card.\n * @param card Data about the sheet card selected.\n */\n private async _handleCardSelected(card: CardInfo) {\n // istanbul ignore if\n if (IModelApp.viewManager && IModelApp.viewManager.selectedView) {\n const vp = IModelApp.viewManager.selectedView;\n const viewState = await this.props.connection.views.load(card.viewId);\n vp.changeView(viewState);\n }\n\n card.isActive = true;\n UiFramework.frontstages.closeModalFrontstage();\n CardContainer.onCardSelectedEvent.emit({\n id: card.viewId,\n index: card.index,\n });\n }\n}\n\n/** Properties for [[SheetCard]]\n * @alpha\n */\nexport interface SheetCardProps {\n label: string;\n index: number;\n iconSpec: IconSpec;\n isActive: boolean;\n onClick: () => void;\n}\n\n/** State for [[SheetCard]]\n * @internal\n */\ninterface SheetCardState {\n isActive: boolean;\n isPressed: boolean;\n}\n\n/** Displays information about an individual sheet\n * @alpha\n */\nexport class SheetCard extends React.Component<SheetCardProps, SheetCardState> {\n constructor(props: SheetCardProps) {\n super(props);\n this.state = { isActive: this.props.isActive, isPressed: false };\n }\n\n private _onClick = () => {\n this.setState({ isActive: true }, () => this.props.onClick());\n };\n\n private _onMouseDown = () => {\n this.setState({ isPressed: true });\n };\n\n private _onMouseLeave = () => {\n if (this.state.isPressed) this.setState({ isPressed: false });\n };\n\n public override render() {\n const { label, index } = this.props;\n\n const className = classnames(\n \"uifw-sheet-card\",\n this.state.isActive && \"is-active\",\n this.state.isPressed && \"is-pressed\"\n );\n\n const iconSpec = this.props.iconSpec ? (\n this.props.iconSpec\n ) : (\n <SvgPlaceholder />\n );\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <div\n className={className}\n onClick={this._onClick}\n onMouseDown={this._onMouseDown}\n onMouseLeave={this._onMouseLeave}\n role=\"button\"\n tabIndex={-1}\n >\n {label}\n <div className=\"sheet-image-container\">\n <div className=\"icon\">\n {\" \"}\n <Icon iconSpec={iconSpec} />\n </div>\n </div>\n <div className=\"sheet-index\">{index + 1}</div>\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SheetsModalFrontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetsModalFrontstage.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 NavigationAids\n */\n\nimport \"./SheetsModalFrontstage.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { CommonProps, IconSpec } from \"@itwin/core-react\";\nimport {\n FlexWrapContainer,\n Icon,\n ScrollView,\n SearchBox,\n} from \"@itwin/core-react\";\nimport type { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { SheetData } from \"./SheetNavigationAid\";\nimport { SvgDocument, SvgPlaceholder } from \"@itwin/itwinui-icons-react\";\n\n/** Data about a sheet card\n * @alpha\n */\nexport interface CardInfo {\n index: number;\n label: string;\n iconSpec: IconSpec;\n isActive: boolean;\n viewId: any;\n}\n\n/** Arguments for CardSelectedEvent\n * @alpha\n */\nexport interface CardSelectedEventArgs {\n id: any;\n index: number;\n}\n\n/** Class for CardSelectedEvent\n * @alpha\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class CardSelectedEvent extends UiEvent<CardSelectedEventArgs> {}\n\n/** Modal frontstage displaying sheet information in cards.\n * @alpha\n */\nexport class SheetsModalFrontstage implements ModalFrontstageInfo {\n public title = UiFramework.translate(\"navigationAid.sheetsModalFrontstage\");\n private _cards: CardInfo[] = [];\n private _connection: IModelConnection;\n private _currentIndex: number;\n private _searchValue: string = \"\";\n\n /**\n * Creates a SheetsModalFrontstage\n * @param sheets Collection of sheets available in SheetNavigationAid\n * @param connection IModelConnection to query for sheet ViewState\n */\n constructor(\n sheets: SheetData[],\n connection: IModelConnection,\n currentIndex: number\n ) {\n this._connection = connection;\n this._currentIndex = currentIndex;\n this._storeSheetsAsCards(sheets);\n }\n\n /**\n * Gathers card info from available sheets\n * @param sheets SheetData from available sheets\n */\n private _storeSheetsAsCards(sheets: SheetData[]) {\n sheets.forEach((sheet: SheetData, index: number) => {\n this._cards.push({\n index,\n label: sheet.name,\n iconSpec: <SvgDocument />,\n viewId: sheet.viewId,\n isActive: index === this._currentIndex,\n });\n });\n }\n\n /** Gets set of cards */\n public get content(): React.ReactNode {\n return (\n <CardContainer\n cards={this._cards}\n searchValue={this._searchValue}\n connection={this._connection}\n />\n );\n }\n\n /** Gets components to be placed in the app bar */\n public get appBarRight(): React.ReactNode {\n return (\n <SearchBox\n placeholder={UiFramework.translate(\"general.search\")}\n onValueChanged={this._handleSearchValueChanged}\n valueChangedDelay={250}\n />\n );\n }\n\n /** Updates stage based on search value */\n // istanbul ignore next\n private _handleSearchValueChanged = (value: string): void => {\n this._searchValue = value;\n UiFramework.frontstages.updateModalFrontstage();\n };\n}\n\n/** Properties for [[CardContainer]]\n * @alpha\n */\nexport interface CardContainerProps extends CommonProps {\n cards: CardInfo[];\n searchValue: string;\n connection: IModelConnection;\n}\n\n/** Displays cards in SheetModalFrontstage\n * @alpha\n */\nexport class CardContainer extends React.Component<CardContainerProps> {\n private static _cardSelectedEvent: CardSelectedEvent =\n new CardSelectedEvent();\n\n /** Get CardSelectedEvent event */\n public static get onCardSelectedEvent(): CardSelectedEvent {\n return CardContainer._cardSelectedEvent;\n }\n\n /** @internal */\n public override render() {\n return (\n <ScrollView className={this.props.className} style={this.props.style}>\n <FlexWrapContainer>\n {this.props.cards.map((card: CardInfo, _index: number) => {\n let includeCard = true;\n if (this.props.searchValue) {\n includeCard = this.contains(card.label, this.props.searchValue);\n }\n\n if (includeCard) {\n return (\n <SheetCard\n key={card.label}\n label={card.label}\n index={card.index}\n iconSpec={card.iconSpec}\n isActive={card.isActive}\n onClick={async () => this._handleCardSelected(card)}\n />\n );\n }\n\n return null;\n })}\n </FlexWrapContainer>\n </ScrollView>\n );\n }\n\n /**\n * Determines if string contains a substring\n * @param valueA The string to search through\n * @param valueB The value to search for\n * @return True if valueB can be found in valueA, false otherwise\n */\n private contains(valueA: string, valueB: string): boolean {\n if (!valueA || !valueB) return false;\n\n if (valueB.length > valueA.length) return false;\n\n return (\n valueA.toLocaleUpperCase().indexOf(valueB.toLocaleUpperCase(), 0) !== -1\n );\n }\n\n /**\n * Updates view with ViewState for selected card.\n * @param card Data about the sheet card selected.\n */\n private async _handleCardSelected(card: CardInfo) {\n // istanbul ignore if\n if (IModelApp.viewManager && IModelApp.viewManager.selectedView) {\n const vp = IModelApp.viewManager.selectedView;\n const viewState = await this.props.connection.views.load(card.viewId);\n vp.changeView(viewState);\n }\n\n card.isActive = true;\n UiFramework.frontstages.closeModalFrontstage();\n CardContainer.onCardSelectedEvent.emit({\n id: card.viewId,\n index: card.index,\n });\n }\n}\n\n/** Properties for [[SheetCard]]\n * @alpha\n */\nexport interface SheetCardProps {\n label: string;\n index: number;\n iconSpec: IconSpec;\n isActive: boolean;\n onClick: () => void;\n}\n\n/** State for [[SheetCard]]\n * @internal\n */\ninterface SheetCardState {\n isActive: boolean;\n isPressed: boolean;\n}\n\n/** Displays information about an individual sheet\n * @alpha\n */\nexport class SheetCard extends React.Component<SheetCardProps, SheetCardState> {\n constructor(props: SheetCardProps) {\n super(props);\n this.state = { isActive: this.props.isActive, isPressed: false };\n }\n\n private _onClick = () => {\n this.setState({ isActive: true }, () => this.props.onClick());\n };\n\n private _onMouseDown = () => {\n this.setState({ isPressed: true });\n };\n\n private _onMouseLeave = () => {\n if (this.state.isPressed) this.setState({ isPressed: false });\n };\n\n public override render() {\n const { label, index } = this.props;\n\n const className = classnames(\n \"uifw-sheet-card\",\n this.state.isActive && \"is-active\",\n this.state.isPressed && \"is-pressed\"\n );\n\n const iconSpec = this.props.iconSpec ? (\n this.props.iconSpec\n ) : (\n <SvgPlaceholder />\n );\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <div\n className={className}\n onClick={this._onClick}\n onMouseDown={this._onMouseDown}\n onMouseLeave={this._onMouseLeave}\n role=\"button\"\n tabIndex={-1}\n >\n {label}\n <div className=\"sheet-image-container\">\n <div className=\"icon\">\n {\" \"}\n <Icon iconSpec={iconSpec} />\n </div>\n </div>\n <div className=\"sheet-index\">{index + 1}</div>\n </div>\n );\n }\n}\n"]}
|
|
@@ -30,7 +30,6 @@ interface StandardRotationNavigationAidState {
|
|
|
30
30
|
* @alpha
|
|
31
31
|
*/
|
|
32
32
|
export declare class StandardRotationNavigationAid extends React.Component<CommonProps, StandardRotationNavigationAidState> {
|
|
33
|
-
private _title;
|
|
34
33
|
/** @internal */
|
|
35
34
|
readonly state: Readonly<StandardRotationNavigationAidState>;
|
|
36
35
|
constructor(props: any);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardRotationNavigationAid.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/StandardRotationNavigationAid.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAiBH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAGtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,sCAAsC,CAAC;AAE9C;;GAEG;AACH,qBAAa,oCAAqC,SAAQ,oBAAoB;IAC5E,OAAc,eAAe,SAAmC;gBAEpD,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG;CAIvD;AAED,gBAAgB;AAChB,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,QAAQ,CAAC;CACtB;AAED,gBAAgB;AAChB,UAAU,kCAAkC;IAC1C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,KAAK,CAAC,SAAS,CAChE,WAAW,EACX,kCAAkC,CACnC;IACC,
|
|
1
|
+
{"version":3,"file":"StandardRotationNavigationAid.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/StandardRotationNavigationAid.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAiBH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAGtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,sCAAsC,CAAC;AAE9C;;GAEG;AACH,qBAAa,oCAAqC,SAAQ,oBAAoB;IAC5E,OAAc,eAAe,SAAmC;gBAEpD,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG;CAIvD;AAED,gBAAgB;AAChB,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,QAAQ,CAAC;CACtB;AAED,gBAAgB;AAChB,UAAU,kCAAkC;IAC1C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,KAAK,CAAC,SAAS,CAChE,WAAW,EACX,kCAAkC,CACnC;IACC,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,kCAAkC,CAAC,CAAC;gBAEjE,KAAK,EAAE,GAAG;IA4CN,MAAM,IAAI,KAAK,CAAC,SAAS;IAmCzC,OAAO,CAAC,UAAU,CAEhB;IAEF,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,sBAAsB,CAO5B;IAEF,OAAO,CAAC,kBAAkB;CA8B3B"}
|
|
@@ -42,7 +42,6 @@ export { StandardRotationNavigationAidControl };
|
|
|
42
42
|
export class StandardRotationNavigationAid extends React.Component {
|
|
43
43
|
constructor(props) {
|
|
44
44
|
super(props);
|
|
45
|
-
this._title = UiFramework.translate("standardRotationNavigationAid.title");
|
|
46
45
|
this._handleRef = (element) => {
|
|
47
46
|
this.setState(() => ({ element }));
|
|
48
47
|
};
|
|
@@ -102,7 +101,7 @@ export class StandardRotationNavigationAid extends React.Component {
|
|
|
102
101
|
return (React.createElement("div", { className: className, style: this.props.style, ref: this._handleRef },
|
|
103
102
|
React.createElement(NZ_Expandable, { className: "expandable" },
|
|
104
103
|
React.createElement(NZ_Icon, { className: "icon-button", icon: React.createElement("span", { className: classnames("three-d-icon", "icon") },
|
|
105
|
-
React.createElement(Icon, { iconSpec: this.state.list[this.state.selected].iconsSpec })), onClick: this._toggleIsExpanded, title:
|
|
104
|
+
React.createElement(Icon, { iconSpec: this.state.list[this.state.selected].iconsSpec })), onClick: this._toggleIsExpanded, title: UiFramework.translate("standardRotationNavigationAid.title") })),
|
|
106
105
|
React.createElement(Popup, { isOpen: this.state.isExpanded, offset: 0, onClose: this._handlePopupClose, position: RelativePosition.Bottom, target: this.state.element }, this.getExpandedContent())));
|
|
107
106
|
}
|
|
108
107
|
getExpandedContent() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardRotationNavigationAid.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/StandardRotationNavigationAid.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 NavigationAids\n */\n\nimport svgCubeFacesBottom from \"@bentley/icons-generic/icons/cube-faces/bottom.svg\";\nimport svgCubeFacesFront from \"@bentley/icons-generic/icons/cube-faces/front.svg\";\nimport svgCubeFacesIsoLeft from \"@bentley/icons-generic/icons/cube-faces/iso-left.svg\";\nimport svgCubeFacesIsoRight from \"@bentley/icons-generic/icons/cube-faces/iso-right.svg\";\nimport svgCubeFacesLeft from \"@bentley/icons-generic/icons/cube-faces/left.svg\";\nimport svgCubeFacesRear from \"@bentley/icons-generic/icons/cube-faces/rear.svg\";\nimport svgCubeFacesRight from \"@bentley/icons-generic/icons/cube-faces/right.svg\";\nimport svgCubeFacesTop from \"@bentley/icons-generic/icons/cube-faces/top.svg\";\nimport { RelativePosition, ToolbarItemUtilities } from \"@itwin/appui-abstract\";\nimport {\n Columns,\n GroupColumn,\n GroupTool,\n Panel,\n} from \"@itwin/components-react\";\nimport { StandardViewId } from \"@itwin/core-frontend\";\nimport type { CommonProps, IconSpec } from \"@itwin/core-react\";\nimport { Icon, Popup } from \"@itwin/core-react\";\nimport { ViewportComponentEvents } from \"@itwin/imodel-components-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport { ExpandableButton as NZ_Expandable } from \"../layout/widget/tools/button/Expandable\";\nimport { ToolbarIcon as NZ_Icon } from \"../layout/widget/tools/button/Icon\";\nimport { NavigationAidControl } from \"./NavigationAidControl\";\nimport \"./StandardRotationNavigationAid.scss\";\n\n/** A 3D Standard Rotation Navigation Aid control.\n * @alpha\n */\nexport class StandardRotationNavigationAidControl extends NavigationAidControl {\n public static navigationAidId = \"StandardRotationNavigationAid\";\n\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n this.reactNode = <StandardRotationNavigationAid />;\n }\n}\n\n/** @internal */\nexport interface RotationData {\n label: string;\n iconsSpec?: IconSpec;\n}\n\n/** @internal */\ninterface StandardRotationNavigationAidState {\n element: HTMLDivElement | null;\n isExpanded: boolean;\n list: RotationData[];\n selected: StandardViewId;\n}\n\n/** A 3D Standard Rotation Navigation Aid.\n * @alpha\n */\nexport class StandardRotationNavigationAid extends React.Component<\n CommonProps,\n StandardRotationNavigationAidState\n> {\n private _title = UiFramework.translate(\"standardRotationNavigationAid.title\");\n\n /** @internal */\n public override readonly state: Readonly<StandardRotationNavigationAidState>;\n\n constructor(props: any) {\n super(props);\n const list: RotationData[] = [\n {\n label: UiFramework.translate(\"rotations.top\"),\n iconsSpec: svgCubeFacesTop,\n },\n {\n label: UiFramework.translate(\"rotations.bottom\"),\n iconsSpec: svgCubeFacesBottom,\n },\n {\n label: UiFramework.translate(\"rotations.left\"),\n iconsSpec: svgCubeFacesLeft,\n },\n {\n label: UiFramework.translate(\"rotations.right\"),\n iconsSpec: svgCubeFacesRight,\n },\n {\n label: UiFramework.translate(\"rotations.front\"),\n iconsSpec: svgCubeFacesFront,\n },\n {\n label: UiFramework.translate(\"rotations.rear\"),\n iconsSpec: svgCubeFacesRear,\n },\n {\n label: UiFramework.translate(\"rotations.isoLeft\"),\n iconsSpec: svgCubeFacesIsoLeft,\n },\n {\n label: UiFramework.translate(\"rotations.isoRight\"),\n iconsSpec: svgCubeFacesIsoRight,\n },\n ];\n this.state = {\n element: null,\n isExpanded: false,\n list,\n selected: StandardViewId.Top,\n };\n }\n\n public override render(): React.ReactNode {\n const className = classnames(\n \"uifw-standard-rotation-navigation\",\n this.props.className\n );\n\n return (\n <div className={className} style={this.props.style} ref={this._handleRef}>\n <NZ_Expandable className={\"expandable\"}>\n <NZ_Icon\n className={\"icon-button\"}\n icon={\n <span className={classnames(\"three-d-icon\", \"icon\")}>\n <Icon\n iconSpec={this.state.list[this.state.selected].iconsSpec}\n />\n </span>\n }\n onClick={this._toggleIsExpanded}\n title={this._title}\n ></NZ_Icon>\n </NZ_Expandable>\n <Popup\n isOpen={this.state.isExpanded}\n offset={0}\n onClose={this._handlePopupClose}\n position={RelativePosition.Bottom}\n target={this.state.element}\n >\n {this.getExpandedContent()}\n </Popup>\n </div>\n );\n }\n\n private _handleRef = (element: HTMLDivElement | null) => {\n this.setState(() => ({ element }));\n };\n\n private _handlePopupClose = () => {\n this.setState(() => ({ isExpanded: false }));\n };\n\n private _toggleIsExpanded = () => {\n this.setState((prevState) => ({ isExpanded: !prevState.isExpanded }));\n };\n\n private _handleListItemClicked = (item: number) => {\n const selected = item;\n\n this.setState(\n () => ({ isExpanded: false, selected }),\n () => ViewportComponentEvents.setStandardRotation(selected)\n );\n };\n\n private getExpandedContent(): React.ReactNode {\n if (!this.state.isExpanded) return undefined;\n\n return (\n <Panel>\n <Columns>\n <GroupColumn>\n {this.state.list.map((item, itemIndex) => {\n return (\n <GroupTool\n key={itemIndex.toString()}\n label={item.label}\n icon={<Icon iconSpec={item.iconsSpec} />}\n isActive={this.state.selected.valueOf() === itemIndex}\n onClick={() => this._handleListItemClicked(itemIndex)}\n item={ToolbarItemUtilities.createActionButton(\n \"\",\n 0,\n \"\",\n \"\",\n () => {}\n )}\n />\n );\n })}\n </GroupColumn>\n </Columns>\n </Panel>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StandardRotationNavigationAid.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/StandardRotationNavigationAid.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 NavigationAids\n */\n\nimport svgCubeFacesBottom from \"@bentley/icons-generic/icons/cube-faces/bottom.svg\";\nimport svgCubeFacesFront from \"@bentley/icons-generic/icons/cube-faces/front.svg\";\nimport svgCubeFacesIsoLeft from \"@bentley/icons-generic/icons/cube-faces/iso-left.svg\";\nimport svgCubeFacesIsoRight from \"@bentley/icons-generic/icons/cube-faces/iso-right.svg\";\nimport svgCubeFacesLeft from \"@bentley/icons-generic/icons/cube-faces/left.svg\";\nimport svgCubeFacesRear from \"@bentley/icons-generic/icons/cube-faces/rear.svg\";\nimport svgCubeFacesRight from \"@bentley/icons-generic/icons/cube-faces/right.svg\";\nimport svgCubeFacesTop from \"@bentley/icons-generic/icons/cube-faces/top.svg\";\nimport { RelativePosition, ToolbarItemUtilities } from \"@itwin/appui-abstract\";\nimport {\n Columns,\n GroupColumn,\n GroupTool,\n Panel,\n} from \"@itwin/components-react\";\nimport { StandardViewId } from \"@itwin/core-frontend\";\nimport type { CommonProps, IconSpec } from \"@itwin/core-react\";\nimport { Icon, Popup } from \"@itwin/core-react\";\nimport { ViewportComponentEvents } from \"@itwin/imodel-components-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport { ExpandableButton as NZ_Expandable } from \"../layout/widget/tools/button/Expandable\";\nimport { ToolbarIcon as NZ_Icon } from \"../layout/widget/tools/button/Icon\";\nimport { NavigationAidControl } from \"./NavigationAidControl\";\nimport \"./StandardRotationNavigationAid.scss\";\n\n/** A 3D Standard Rotation Navigation Aid control.\n * @alpha\n */\nexport class StandardRotationNavigationAidControl extends NavigationAidControl {\n public static navigationAidId = \"StandardRotationNavigationAid\";\n\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n this.reactNode = <StandardRotationNavigationAid />;\n }\n}\n\n/** @internal */\nexport interface RotationData {\n label: string;\n iconsSpec?: IconSpec;\n}\n\n/** @internal */\ninterface StandardRotationNavigationAidState {\n element: HTMLDivElement | null;\n isExpanded: boolean;\n list: RotationData[];\n selected: StandardViewId;\n}\n\n/** A 3D Standard Rotation Navigation Aid.\n * @alpha\n */\nexport class StandardRotationNavigationAid extends React.Component<\n CommonProps,\n StandardRotationNavigationAidState\n> {\n /** @internal */\n public override readonly state: Readonly<StandardRotationNavigationAidState>;\n\n constructor(props: any) {\n super(props);\n const list: RotationData[] = [\n {\n label: UiFramework.translate(\"rotations.top\"),\n iconsSpec: svgCubeFacesTop,\n },\n {\n label: UiFramework.translate(\"rotations.bottom\"),\n iconsSpec: svgCubeFacesBottom,\n },\n {\n label: UiFramework.translate(\"rotations.left\"),\n iconsSpec: svgCubeFacesLeft,\n },\n {\n label: UiFramework.translate(\"rotations.right\"),\n iconsSpec: svgCubeFacesRight,\n },\n {\n label: UiFramework.translate(\"rotations.front\"),\n iconsSpec: svgCubeFacesFront,\n },\n {\n label: UiFramework.translate(\"rotations.rear\"),\n iconsSpec: svgCubeFacesRear,\n },\n {\n label: UiFramework.translate(\"rotations.isoLeft\"),\n iconsSpec: svgCubeFacesIsoLeft,\n },\n {\n label: UiFramework.translate(\"rotations.isoRight\"),\n iconsSpec: svgCubeFacesIsoRight,\n },\n ];\n this.state = {\n element: null,\n isExpanded: false,\n list,\n selected: StandardViewId.Top,\n };\n }\n\n public override render(): React.ReactNode {\n const className = classnames(\n \"uifw-standard-rotation-navigation\",\n this.props.className\n );\n\n return (\n <div className={className} style={this.props.style} ref={this._handleRef}>\n <NZ_Expandable className={\"expandable\"}>\n <NZ_Icon\n className={\"icon-button\"}\n icon={\n <span className={classnames(\"three-d-icon\", \"icon\")}>\n <Icon\n iconSpec={this.state.list[this.state.selected].iconsSpec}\n />\n </span>\n }\n onClick={this._toggleIsExpanded}\n title={UiFramework.translate(\"standardRotationNavigationAid.title\")}\n ></NZ_Icon>\n </NZ_Expandable>\n <Popup\n isOpen={this.state.isExpanded}\n offset={0}\n onClose={this._handlePopupClose}\n position={RelativePosition.Bottom}\n target={this.state.element}\n >\n {this.getExpandedContent()}\n </Popup>\n </div>\n );\n }\n\n private _handleRef = (element: HTMLDivElement | null) => {\n this.setState(() => ({ element }));\n };\n\n private _handlePopupClose = () => {\n this.setState(() => ({ isExpanded: false }));\n };\n\n private _toggleIsExpanded = () => {\n this.setState((prevState) => ({ isExpanded: !prevState.isExpanded }));\n };\n\n private _handleListItemClicked = (item: number) => {\n const selected = item;\n\n this.setState(\n () => ({ isExpanded: false, selected }),\n () => ViewportComponentEvents.setStandardRotation(selected)\n );\n };\n\n private getExpandedContent(): React.ReactNode {\n if (!this.state.isExpanded) return undefined;\n\n return (\n <Panel>\n <Columns>\n <GroupColumn>\n {this.state.list.map((item, itemIndex) => {\n return (\n <GroupTool\n key={itemIndex.toString()}\n label={item.label}\n icon={<Icon iconSpec={item.iconsSpec} />}\n isActive={this.state.selected.valueOf() === itemIndex}\n onClick={() => this._handleListItemClicked(itemIndex)}\n item={ToolbarItemUtilities.createActionButton(\n \"\",\n 0,\n \"\",\n \"\",\n () => {}\n )}\n />\n );\n })}\n </GroupColumn>\n </Columns>\n </Panel>\n );\n }\n}\n"]}
|
|
@@ -201,10 +201,11 @@ class ViewSelector extends React.Component {
|
|
|
201
201
|
const query = { wantPrivate: false };
|
|
202
202
|
const specs = await this.props.imodel.views.getViewList(query);
|
|
203
203
|
specs.forEach((spec) => {
|
|
204
|
+
var _a;
|
|
204
205
|
const viewItem = {
|
|
205
206
|
key: spec.id,
|
|
206
207
|
name: spec.name,
|
|
207
|
-
enabled: spec.id === IModelApp.viewManager.selectedView
|
|
208
|
+
enabled: spec.id === ((_a = IModelApp.viewManager.selectedView) === null || _a === void 0 ? void 0 : _a.view.id)
|
|
208
209
|
? true
|
|
209
210
|
: false,
|
|
210
211
|
type: ListItemType.Item,
|
|
@@ -229,16 +230,16 @@ class ViewSelector extends React.Component {
|
|
|
229
230
|
sheetsFiltered = [];
|
|
230
231
|
unknownFiltered = [];
|
|
231
232
|
views3dFuzzySearchResults.forEach(function (result) {
|
|
232
|
-
views3dFiltered
|
|
233
|
+
views3dFiltered === null || views3dFiltered === void 0 ? void 0 : views3dFiltered.push(result.item);
|
|
233
234
|
});
|
|
234
235
|
views2dFuzzySearchResults.forEach(function (result) {
|
|
235
|
-
views2dFiltered
|
|
236
|
+
views2dFiltered === null || views2dFiltered === void 0 ? void 0 : views2dFiltered.push(result.item);
|
|
236
237
|
});
|
|
237
238
|
sheetsFuzzySearchResults.forEach(function (result) {
|
|
238
|
-
sheetsFiltered
|
|
239
|
+
sheetsFiltered === null || sheetsFiltered === void 0 ? void 0 : sheetsFiltered.push(result.item);
|
|
239
240
|
});
|
|
240
241
|
unknownFuzzySearchResults.forEach(function (result) {
|
|
241
|
-
unknownFiltered
|
|
242
|
+
unknownFiltered === null || unknownFiltered === void 0 ? void 0 : unknownFiltered.push(result.item);
|
|
242
243
|
});
|
|
243
244
|
}
|
|
244
245
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewSelector.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ViewSelector.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 Picker\n */\n\nimport * as React from \"react\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { Id64String } from \"@itwin/core-bentley\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport type { IModelConnection, ViewState } from \"@itwin/core-frontend\";\nimport { FuzzySearch, IModelApp } from \"@itwin/core-frontend\";\nimport type { SupportsViewSelectorChange } from \"../content/ContentControl\";\nimport { connectIModelConnection } from \"../redux/connectIModel\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\nimport type { ListItem } from \"./ListPicker\";\nimport { ListItemType, ListPicker } from \"./ListPicker\";\nimport { debounce } from \"lodash\";\nimport svgSavedView from \"@bentley/icons-generic/icons/saved-view.svg\";\n\n// cSpell:ignore Spatials\n\n/** [[ViewSelectorChangedEvent]] Args interface.\n * @beta\n */\nexport interface ViewSelectorChangedEventArgs {\n iModelConnection: IModelConnection;\n viewDefinitionId: Id64String;\n viewState: ViewState;\n name: string;\n}\n\n/** ViewSelector Changed Event class.\n * @beta\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class ViewSelectorChangedEvent extends UiEvent<ViewSelectorChangedEventArgs> {}\n\n/** Properties for the [[ViewSelector]] component\n * @beta\n */\nexport interface ViewSelectorProps {\n imodel?: IModelConnection;\n listenForShowUpdates?: boolean;\n\n showSpatials: boolean;\n showDrawings: boolean;\n showSheets: boolean;\n showUnknown: boolean;\n searchBox?: boolean;\n panelOnly?: boolean;\n}\n\n/** State for the [[ViewSelector]] component\n * @beta\n */\ninterface ViewSelectorState {\n items: ListItem[];\n title: string;\n initialized: boolean;\n showSpatials: boolean;\n showDrawings: boolean;\n showSheets: boolean;\n showUnknown: boolean;\n searchBox: boolean;\n panelOnly: boolean;\n expand: boolean;\n}\n\n/** Default properties of [[ViewSelector]] component.\n * @beta\n */\nexport type ViewSelectorDefaultProps = Pick<\n ViewSelectorProps,\n \"showSpatials\" | \"showDrawings\" | \"showSheets\" | \"showUnknown\"\n>;\n\n/** ViewSelector Show Update Event Args interface.\n */\ninterface ViewSelectorShowUpdateEventArgs {\n showSpatials: boolean;\n showDrawings: boolean;\n showSheets: boolean;\n showUnknown: boolean;\n}\n\n/** ViewSelector Show Update Event class.\n */\n// eslint-disable-next-line deprecation/deprecation\nclass ViewSelectorShowUpdateEvent extends UiEvent<ViewSelectorShowUpdateEventArgs> {}\n\n/** View Selector React component\n * @beta\n */\nexport class ViewSelector extends React.Component<\n ViewSelectorProps,\n ViewSelectorState\n> {\n private static readonly _onViewSelectorShowUpdateEvent =\n new ViewSelectorShowUpdateEvent();\n private _removeShowUpdateListener?: () => void;\n private _isMounted = false;\n private _searchInput = \"\";\n\n public static readonly defaultProps: ViewSelectorDefaultProps = {\n showSpatials: true,\n showDrawings: true,\n showSheets: true,\n showUnknown: true,\n };\n\n /** Gets the [[ViewSelectorChangedEvent]] */\n public static readonly onViewSelectorChangedEvent =\n new ViewSelectorChangedEvent();\n\n /** Updates the ViewSelector show settings.\n */\n public static updateShowSettings(\n showSpatials: boolean,\n showDrawings: boolean,\n showSheets: boolean,\n showUnknown: boolean\n ): void {\n ViewSelector._onViewSelectorShowUpdateEvent.emit({\n showSpatials,\n showDrawings,\n showSheets,\n showUnknown,\n });\n }\n\n /** Creates a ViewSelector */\n constructor(props: ViewSelectorProps) {\n super(props);\n\n this.state = {\n items: new Array<ListItem>(),\n title: UiFramework.translate(\"viewTypes.views\"),\n initialized: false,\n showSpatials: props.showSpatials,\n showDrawings: props.showDrawings,\n showSheets: props.showSheets,\n showUnknown: props.showUnknown,\n searchBox: props.searchBox ? props.searchBox : true,\n panelOnly: props.panelOnly ? props.panelOnly : false,\n expand: false,\n };\n }\n\n public override async componentDidMount() {\n this._isMounted = true;\n if (this.props.listenForShowUpdates)\n this._removeShowUpdateListener =\n ViewSelector._onViewSelectorShowUpdateEvent.addListener(\n this._handleViewSelectorShowUpdateEvent\n );\n\n await this.loadViews();\n }\n\n public override async componentDidUpdate(prevProps: ViewSelectorProps) {\n if (this.props.imodel !== prevProps.imodel) {\n await this.loadViews();\n }\n }\n\n public override componentWillUnmount() {\n this._isMounted = false;\n // istanbul ignore else\n if (this._removeShowUpdateListener) this._removeShowUpdateListener();\n }\n\n private _handleViewSelectorShowUpdateEvent = (\n args: ViewSelectorShowUpdateEventArgs\n ): void => {\n // istanbul ignore next\n if (!this._isMounted) return;\n\n this.setState(args, async () => this.loadViews());\n };\n\n private setStateContainers(\n views3d: ListItem[],\n views2d: ListItem[],\n sheets: ListItem[],\n unknown?: ListItem[],\n views3dFiltered?: ListItem[],\n views2dFiltered?: ListItem[],\n sheetsFiltered?: ListItem[],\n unknownFiltered?: ListItem[]\n ) {\n const views3dContainer: ListItem = {\n key: \"views3dContainer\",\n name: UiFramework.translate(\"viewTypes.spatialViews\"),\n enabled: false,\n type: ListItemType.Container,\n children: views3dFiltered ? views3dFiltered : views3d,\n };\n\n const views2dContainer: ListItem = {\n key: \"views2dContainer\",\n name: UiFramework.translate(\"viewTypes.drawings\"),\n enabled: false,\n type: ListItemType.Container,\n children: views2dFiltered ? views2dFiltered : views2d,\n };\n\n const sheetContainer: ListItem = {\n key: \"sheetContainer\",\n name: UiFramework.translate(\"viewTypes.sheets\"),\n enabled: false,\n type: ListItemType.Container,\n children: sheetsFiltered ? sheetsFiltered : sheets,\n };\n\n const containers = [views3dContainer, views2dContainer, sheetContainer];\n\n // istanbul ignore if\n if (unknown && unknown.length > 0) {\n // This should never show, but just in case we missed a type of view state\n const unknownContainer: ListItem = {\n key: \"unknownContainer\",\n name: UiFramework.translate(\"viewTypes.others\"),\n enabled: false,\n type: ListItemType.Container,\n children: unknownFiltered ? unknownFiltered : unknown,\n };\n\n if (unknown.length !== 0) containers.push(unknownContainer);\n }\n\n // istanbul ignore next\n if (!this._isMounted) return;\n\n this.setState({\n items: containers,\n title: UiFramework.translate(\"viewTypes.views\"),\n initialized: true,\n });\n }\n /**\n * Query the views and set the initial state with the iModel's views.\n */\n public async loadViews(): Promise<void> {\n // Query views and add them to state\n const views3d: ListItem[] = [];\n const views2d: ListItem[] = [];\n const sheets: ListItem[] = [];\n const unknown: ListItem[] = [];\n let views3dFiltered: ListItem[] | undefined;\n let views2dFiltered: ListItem[] | undefined;\n let sheetsFiltered: ListItem[] | undefined;\n let unknownFiltered: ListItem[] | undefined;\n const fuzzy = new FuzzySearch<ListItem>();\n\n if (this.props.imodel && this.props.imodel.views.getViewList) {\n const query = { wantPrivate: false };\n const specs = await this.props.imodel.views.getViewList(query);\n\n specs.forEach((spec: IModelConnection.ViewSpec) => {\n const viewItem: ListItem = {\n key: spec.id,\n name: spec.name,\n enabled:\n spec.id === IModelApp.viewManager.selectedView?.view.id\n ? true\n : false,\n type: ListItemType.Item,\n };\n\n const className = ViewUtilities.getBisBaseClass(spec.class);\n\n if (ViewUtilities.isSpatial(className) && this.state.showSpatials)\n views3d.push(viewItem);\n else if (ViewUtilities.isDrawing(className) && this.state.showDrawings)\n views2d.push(viewItem);\n else if (ViewUtilities.isSheet(className) && this.state.showSheets)\n sheets.push(viewItem);\n else if (this.state.showUnknown) unknown.push(viewItem);\n });\n\n if (this._searchInput.length > 0) {\n const views3dFuzzySearchResults = fuzzy.search(\n views3d,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n const views2dFuzzySearchResults = fuzzy.search(\n views2d,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n const sheetsFuzzySearchResults = fuzzy.search(\n sheets,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n const unknownFuzzySearchResults = fuzzy.search(\n unknown,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n views3dFiltered = [];\n views2dFiltered = [];\n sheetsFiltered = [];\n unknownFiltered = [];\n views3dFuzzySearchResults.forEach(function (result) {\n views3dFiltered?.push(result.item);\n });\n views2dFuzzySearchResults.forEach(function (result) {\n views2dFiltered?.push(result.item);\n });\n sheetsFuzzySearchResults.forEach(function (result) {\n sheetsFiltered?.push(result.item);\n });\n unknownFuzzySearchResults.forEach(function (result) {\n unknownFiltered?.push(result.item);\n });\n }\n }\n\n this.setStateContainers(\n views3d,\n views2d,\n sheets,\n unknown,\n views3dFiltered,\n views2dFiltered,\n sheetsFiltered,\n unknownFiltered\n );\n }\n\n /**\n * Update state of the entries in the widget.\n * @param viewId Identifier for the relevant view\n */\n // istanbul ignore next\n public async updateState(viewId?: any): Promise<void> {\n // Wait for initialization finished\n if (!this.state.initialized) return;\n\n // Query views and add them to state\n const views3d: ListItem[] = this.state.items[0].children!;\n const views2d: ListItem[] = this.state.items[1].children!;\n const sheets: ListItem[] = this.state.items[2].children!;\n const unknown: ListItem[] =\n this.state.items.length > 3 ? this.state.items[3].children! : [];\n\n const updateChildren = (item: ListItem) => {\n if (item.key === viewId) return { ...item, enabled: true };\n else return { ...item, enabled: false };\n };\n\n this.setStateContainers(\n views3d.map(updateChildren),\n views2d.map(updateChildren),\n sheets.map(updateChildren),\n unknown.map(updateChildren)\n );\n }\n\n // enable/disable the models\n // istanbul ignore next\n private _setEnabled = async (item: ListItem, _enabled: boolean) => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl() as unknown as SupportsViewSelectorChange;\n if (\n !activeContentControl ||\n !activeContentControl.supportsViewSelectorChange\n ) {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `No active ContentControl for ViewSelector change`\n );\n return;\n }\n\n // Enable the item temporarily to let user see that their click was registered\n // while we query for view state and change the current view which may take a bit\n if (_enabled && item.type !== ListItemType.Container) {\n // This itemMapper simply looks through all the list items and their nested children and enables the one\n // that we have registered to enable\n // Also disable all other items\n const itemMapper: (tempItem: ListItem) => ListItem = (\n tempItem: ListItem\n ) => {\n if (tempItem.type === ListItemType.Container) {\n return { ...tempItem, children: tempItem.children!.map(itemMapper) };\n } else if (tempItem.key === item.key) {\n return { ...tempItem, enabled: true };\n } else {\n return { ...tempItem, enabled: false };\n }\n };\n\n // Create the new array with the current item enabled\n const itemsWithEnabled = this.state.items.map(itemMapper);\n\n // istanbul ignore next\n if (!this._isMounted) return;\n\n // Update the state so that we show the user it was enabled while we work in the background\n this.setState({ items: itemsWithEnabled });\n }\n\n // Load the view state using the viewSpec's ID\n const viewState = await this.props.imodel!.views.load(item.key);\n\n // Let activeContentControl process the ViewSelector change\n await activeContentControl.processViewSelectorChange(\n this.props.imodel!,\n item.key,\n viewState,\n item.name!\n );\n\n // Emit a change event\n ViewSelector.onViewSelectorChangedEvent.emit({\n iModelConnection: this.props.imodel!,\n viewDefinitionId: item.key,\n viewState,\n name: item.name!,\n });\n\n // Set state to show enabled the view that got selected\n void this.updateState(item.key);\n };\n\n // Hook on the category selector being expanded so that we may initialize if needed\n // istanbul ignore next\n private _onExpanded = (expand: boolean) => {\n if (expand)\n void this.updateState(\n IModelApp.viewManager.selectedView\n ? IModelApp.viewManager.selectedView.view.id\n : undefined\n );\n };\n\n /**\n * Renders ViewSelector component\n */\n public override render() {\n const { imodel, ...props } = this.props;\n\n return (\n <ListPicker\n {...props}\n title={this.state.title}\n setEnabled={this._setEnabled}\n items={this.state.items}\n iconSpec={svgSavedView}\n onExpanded={this._onExpanded}\n searchBox={this.state.searchBox}\n onSearchValueChange={debounce((search: string) => {\n this._searchInput = search;\n if (\n this._isMounted &&\n this.state.expand === false &&\n this._searchInput.length > 0\n )\n this.setState({ expand: true });\n void this.loadViews();\n }, 300)}\n panelOnly={this.state.panelOnly}\n expanded={this.state.expand}\n />\n );\n }\n}\n\n/** ViewSelector that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.\n * @beta\n */\nexport const IModelConnectedViewSelector = connectIModelConnection(\n null,\n null\n)(ViewSelector);\n"]}
|
|
1
|
+
{"version":3,"file":"ViewSelector.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ViewSelector.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 Picker\n */\n\nimport * as React from \"react\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { Id64String } from \"@itwin/core-bentley\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport type { IModelConnection, ViewState } from \"@itwin/core-frontend\";\nimport { FuzzySearch, IModelApp } from \"@itwin/core-frontend\";\nimport type { SupportsViewSelectorChange } from \"../content/ContentControl\";\nimport { connectIModelConnection } from \"../redux/connectIModel\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\nimport type { ListItem } from \"./ListPicker\";\nimport { ListItemType, ListPicker } from \"./ListPicker\";\nimport { debounce } from \"lodash\";\nimport svgSavedView from \"@bentley/icons-generic/icons/saved-view.svg\";\n\n// cSpell:ignore Spatials\n\n/** [[ViewSelectorChangedEvent]] Args interface.\n * @beta\n */\nexport interface ViewSelectorChangedEventArgs {\n iModelConnection: IModelConnection;\n viewDefinitionId: Id64String;\n viewState: ViewState;\n name: string;\n}\n\n/** ViewSelector Changed Event class.\n * @beta\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class ViewSelectorChangedEvent extends UiEvent<ViewSelectorChangedEventArgs> {}\n\n/** Properties for the [[ViewSelector]] component\n * @beta\n */\nexport interface ViewSelectorProps {\n imodel?: IModelConnection;\n listenForShowUpdates?: boolean;\n\n showSpatials: boolean;\n showDrawings: boolean;\n showSheets: boolean;\n showUnknown: boolean;\n searchBox?: boolean;\n panelOnly?: boolean;\n}\n\n/** State for the [[ViewSelector]] component\n * @beta\n */\ninterface ViewSelectorState {\n items: ListItem[];\n title: string;\n initialized: boolean;\n showSpatials: boolean;\n showDrawings: boolean;\n showSheets: boolean;\n showUnknown: boolean;\n searchBox: boolean;\n panelOnly: boolean;\n expand: boolean;\n}\n\n/** Default properties of [[ViewSelector]] component.\n * @beta\n */\nexport type ViewSelectorDefaultProps = Pick<\n ViewSelectorProps,\n \"showSpatials\" | \"showDrawings\" | \"showSheets\" | \"showUnknown\"\n>;\n\n/** ViewSelector Show Update Event Args interface.\n */\ninterface ViewSelectorShowUpdateEventArgs {\n showSpatials: boolean;\n showDrawings: boolean;\n showSheets: boolean;\n showUnknown: boolean;\n}\n\n/** ViewSelector Show Update Event class.\n */\n// eslint-disable-next-line deprecation/deprecation\nclass ViewSelectorShowUpdateEvent extends UiEvent<ViewSelectorShowUpdateEventArgs> {}\n\n/** View Selector React component\n * @beta\n */\nexport class ViewSelector extends React.Component<\n ViewSelectorProps,\n ViewSelectorState\n> {\n private static readonly _onViewSelectorShowUpdateEvent =\n new ViewSelectorShowUpdateEvent();\n private _removeShowUpdateListener?: () => void;\n private _isMounted = false;\n private _searchInput = \"\";\n\n public static readonly defaultProps: ViewSelectorDefaultProps = {\n showSpatials: true,\n showDrawings: true,\n showSheets: true,\n showUnknown: true,\n };\n\n /** Gets the [[ViewSelectorChangedEvent]] */\n public static readonly onViewSelectorChangedEvent =\n new ViewSelectorChangedEvent();\n\n /** Updates the ViewSelector show settings.\n */\n public static updateShowSettings(\n showSpatials: boolean,\n showDrawings: boolean,\n showSheets: boolean,\n showUnknown: boolean\n ): void {\n ViewSelector._onViewSelectorShowUpdateEvent.emit({\n showSpatials,\n showDrawings,\n showSheets,\n showUnknown,\n });\n }\n\n /** Creates a ViewSelector */\n constructor(props: ViewSelectorProps) {\n super(props);\n\n this.state = {\n items: new Array<ListItem>(),\n title: UiFramework.translate(\"viewTypes.views\"),\n initialized: false,\n showSpatials: props.showSpatials,\n showDrawings: props.showDrawings,\n showSheets: props.showSheets,\n showUnknown: props.showUnknown,\n searchBox: props.searchBox ? props.searchBox : true,\n panelOnly: props.panelOnly ? props.panelOnly : false,\n expand: false,\n };\n }\n\n public override async componentDidMount() {\n this._isMounted = true;\n if (this.props.listenForShowUpdates)\n this._removeShowUpdateListener =\n ViewSelector._onViewSelectorShowUpdateEvent.addListener(\n this._handleViewSelectorShowUpdateEvent\n );\n\n await this.loadViews();\n }\n\n public override async componentDidUpdate(prevProps: ViewSelectorProps) {\n if (this.props.imodel !== prevProps.imodel) {\n await this.loadViews();\n }\n }\n\n public override componentWillUnmount() {\n this._isMounted = false;\n // istanbul ignore else\n if (this._removeShowUpdateListener) this._removeShowUpdateListener();\n }\n\n private _handleViewSelectorShowUpdateEvent = (\n args: ViewSelectorShowUpdateEventArgs\n ): void => {\n // istanbul ignore next\n if (!this._isMounted) return;\n\n this.setState(args, async () => this.loadViews());\n };\n\n private setStateContainers(\n views3d: ListItem[],\n views2d: ListItem[],\n sheets: ListItem[],\n unknown?: ListItem[],\n views3dFiltered?: ListItem[],\n views2dFiltered?: ListItem[],\n sheetsFiltered?: ListItem[],\n unknownFiltered?: ListItem[]\n ) {\n const views3dContainer: ListItem = {\n key: \"views3dContainer\",\n name: UiFramework.translate(\"viewTypes.spatialViews\"),\n enabled: false,\n type: ListItemType.Container,\n children: views3dFiltered ? views3dFiltered : views3d,\n };\n\n const views2dContainer: ListItem = {\n key: \"views2dContainer\",\n name: UiFramework.translate(\"viewTypes.drawings\"),\n enabled: false,\n type: ListItemType.Container,\n children: views2dFiltered ? views2dFiltered : views2d,\n };\n\n const sheetContainer: ListItem = {\n key: \"sheetContainer\",\n name: UiFramework.translate(\"viewTypes.sheets\"),\n enabled: false,\n type: ListItemType.Container,\n children: sheetsFiltered ? sheetsFiltered : sheets,\n };\n\n const containers = [views3dContainer, views2dContainer, sheetContainer];\n\n // istanbul ignore if\n if (unknown && unknown.length > 0) {\n // This should never show, but just in case we missed a type of view state\n const unknownContainer: ListItem = {\n key: \"unknownContainer\",\n name: UiFramework.translate(\"viewTypes.others\"),\n enabled: false,\n type: ListItemType.Container,\n children: unknownFiltered ? unknownFiltered : unknown,\n };\n\n if (unknown.length !== 0) containers.push(unknownContainer);\n }\n\n // istanbul ignore next\n if (!this._isMounted) return;\n\n this.setState({\n items: containers,\n title: UiFramework.translate(\"viewTypes.views\"),\n initialized: true,\n });\n }\n /**\n * Query the views and set the initial state with the iModel's views.\n */\n public async loadViews(): Promise<void> {\n // Query views and add them to state\n const views3d: ListItem[] = [];\n const views2d: ListItem[] = [];\n const sheets: ListItem[] = [];\n const unknown: ListItem[] = [];\n let views3dFiltered: ListItem[] | undefined;\n let views2dFiltered: ListItem[] | undefined;\n let sheetsFiltered: ListItem[] | undefined;\n let unknownFiltered: ListItem[] | undefined;\n const fuzzy = new FuzzySearch<ListItem>();\n\n if (this.props.imodel && this.props.imodel.views.getViewList) {\n const query = { wantPrivate: false };\n const specs = await this.props.imodel.views.getViewList(query);\n\n specs.forEach((spec: IModelConnection.ViewSpec) => {\n const viewItem: ListItem = {\n key: spec.id,\n name: spec.name,\n enabled:\n spec.id === IModelApp.viewManager.selectedView?.view.id\n ? true\n : false,\n type: ListItemType.Item,\n };\n\n const className = ViewUtilities.getBisBaseClass(spec.class);\n\n if (ViewUtilities.isSpatial(className) && this.state.showSpatials)\n views3d.push(viewItem);\n else if (ViewUtilities.isDrawing(className) && this.state.showDrawings)\n views2d.push(viewItem);\n else if (ViewUtilities.isSheet(className) && this.state.showSheets)\n sheets.push(viewItem);\n else if (this.state.showUnknown) unknown.push(viewItem);\n });\n\n if (this._searchInput.length > 0) {\n const views3dFuzzySearchResults = fuzzy.search(\n views3d,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n const views2dFuzzySearchResults = fuzzy.search(\n views2d,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n const sheetsFuzzySearchResults = fuzzy.search(\n sheets,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n const unknownFuzzySearchResults = fuzzy.search(\n unknown,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n views3dFiltered = [];\n views2dFiltered = [];\n sheetsFiltered = [];\n unknownFiltered = [];\n views3dFuzzySearchResults.forEach(function (result) {\n views3dFiltered?.push(result.item);\n });\n views2dFuzzySearchResults.forEach(function (result) {\n views2dFiltered?.push(result.item);\n });\n sheetsFuzzySearchResults.forEach(function (result) {\n sheetsFiltered?.push(result.item);\n });\n unknownFuzzySearchResults.forEach(function (result) {\n unknownFiltered?.push(result.item);\n });\n }\n }\n\n this.setStateContainers(\n views3d,\n views2d,\n sheets,\n unknown,\n views3dFiltered,\n views2dFiltered,\n sheetsFiltered,\n unknownFiltered\n );\n }\n\n /**\n * Update state of the entries in the widget.\n * @param viewId Identifier for the relevant view\n */\n // istanbul ignore next\n public async updateState(viewId?: any): Promise<void> {\n // Wait for initialization finished\n if (!this.state.initialized) return;\n\n // Query views and add them to state\n const views3d: ListItem[] = this.state.items[0].children!;\n const views2d: ListItem[] = this.state.items[1].children!;\n const sheets: ListItem[] = this.state.items[2].children!;\n const unknown: ListItem[] =\n this.state.items.length > 3 ? this.state.items[3].children! : [];\n\n const updateChildren = (item: ListItem) => {\n if (item.key === viewId) return { ...item, enabled: true };\n else return { ...item, enabled: false };\n };\n\n this.setStateContainers(\n views3d.map(updateChildren),\n views2d.map(updateChildren),\n sheets.map(updateChildren),\n unknown.map(updateChildren)\n );\n }\n\n // enable/disable the models\n // istanbul ignore next\n private _setEnabled = async (item: ListItem, _enabled: boolean) => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl() as unknown as SupportsViewSelectorChange;\n if (\n !activeContentControl ||\n !activeContentControl.supportsViewSelectorChange\n ) {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `No active ContentControl for ViewSelector change`\n );\n return;\n }\n\n // Enable the item temporarily to let user see that their click was registered\n // while we query for view state and change the current view which may take a bit\n if (_enabled && item.type !== ListItemType.Container) {\n // This itemMapper simply looks through all the list items and their nested children and enables the one\n // that we have registered to enable\n // Also disable all other items\n const itemMapper: (tempItem: ListItem) => ListItem = (\n tempItem: ListItem\n ) => {\n if (tempItem.type === ListItemType.Container) {\n return { ...tempItem, children: tempItem.children!.map(itemMapper) };\n } else if (tempItem.key === item.key) {\n return { ...tempItem, enabled: true };\n } else {\n return { ...tempItem, enabled: false };\n }\n };\n\n // Create the new array with the current item enabled\n const itemsWithEnabled = this.state.items.map(itemMapper);\n\n // istanbul ignore next\n if (!this._isMounted) return;\n\n // Update the state so that we show the user it was enabled while we work in the background\n this.setState({ items: itemsWithEnabled });\n }\n\n // Load the view state using the viewSpec's ID\n const viewState = await this.props.imodel!.views.load(item.key);\n\n // Let activeContentControl process the ViewSelector change\n await activeContentControl.processViewSelectorChange(\n this.props.imodel!,\n item.key,\n viewState,\n item.name!\n );\n\n // Emit a change event\n ViewSelector.onViewSelectorChangedEvent.emit({\n iModelConnection: this.props.imodel!,\n viewDefinitionId: item.key,\n viewState,\n name: item.name!,\n });\n\n // Set state to show enabled the view that got selected\n void this.updateState(item.key);\n };\n\n // Hook on the category selector being expanded so that we may initialize if needed\n // istanbul ignore next\n private _onExpanded = (expand: boolean) => {\n if (expand)\n void this.updateState(\n IModelApp.viewManager.selectedView\n ? IModelApp.viewManager.selectedView.view.id\n : undefined\n );\n };\n\n /**\n * Renders ViewSelector component\n */\n public override render() {\n const { imodel, ...props } = this.props;\n\n return (\n <ListPicker\n {...props}\n title={this.state.title}\n setEnabled={this._setEnabled}\n items={this.state.items}\n iconSpec={svgSavedView}\n onExpanded={this._onExpanded}\n searchBox={this.state.searchBox}\n onSearchValueChange={debounce((search: string) => {\n this._searchInput = search;\n if (\n this._isMounted &&\n this.state.expand === false &&\n this._searchInput.length > 0\n )\n this.setState({ expand: true });\n void this.loadViews();\n }, 300)}\n panelOnly={this.state.panelOnly}\n expanded={this.state.expand}\n />\n );\n }\n}\n\n/** ViewSelector that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.\n * @beta\n */\nexport const IModelConnectedViewSelector = connectIModelConnection(\n null,\n null\n)(ViewSelector);\n"]}
|
|
@@ -3,21 +3,29 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import "./CardPopup.scss";
|
|
5
5
|
import * as React from "react";
|
|
6
|
-
import type { CommonToolbarItem,
|
|
6
|
+
import type { CommonToolbarItem, PropertyRecord } from "@itwin/appui-abstract";
|
|
7
|
+
import type { RelativePosition } from "@itwin/appui-abstract";
|
|
7
8
|
import type { Orientation } from "@itwin/core-react";
|
|
8
9
|
import { Size } from "@itwin/core-react";
|
|
9
10
|
import type { PopupContentType, PopupPropsBase } from "./PopupManager";
|
|
11
|
+
import type { ToolbarItem } from "../toolbar/ToolbarItem";
|
|
12
|
+
import { type Placement } from "../utils/Placement";
|
|
13
|
+
import { WrapperContext } from "../configurableui/ConfigurableUiContent";
|
|
14
|
+
import type { RequireAtLeastOne } from "@itwin/core-bentley";
|
|
10
15
|
/** Props for defining a CardPopup editor
|
|
11
16
|
* @beta */
|
|
12
|
-
export
|
|
17
|
+
export type CardPopupProps = Omit<PopupPropsBase, "el"> & {
|
|
13
18
|
content: PopupContentType;
|
|
14
19
|
title: string | PropertyRecord | undefined;
|
|
15
|
-
items: CommonToolbarItem[] | undefined;
|
|
16
|
-
relativePosition: RelativePosition;
|
|
20
|
+
items: CommonToolbarItem[] | ToolbarItem[] | undefined;
|
|
17
21
|
orientation: Orientation;
|
|
18
|
-
onCancel:
|
|
19
|
-
onItemExecuted:
|
|
20
|
-
|
|
22
|
+
onCancel: () => void;
|
|
23
|
+
onItemExecuted: (item: any) => void;
|
|
24
|
+
el?: HTMLElement;
|
|
25
|
+
} & RequireAtLeastOne<{
|
|
26
|
+
relativePosition: RelativePosition;
|
|
27
|
+
placement: Placement;
|
|
28
|
+
}>;
|
|
21
29
|
/** @internal */
|
|
22
30
|
interface CardPopupState {
|
|
23
31
|
size: Size;
|
|
@@ -26,6 +34,10 @@ interface CardPopupState {
|
|
|
26
34
|
* @beta
|
|
27
35
|
*/
|
|
28
36
|
export declare class CardPopup extends React.PureComponent<CardPopupProps, CardPopupState> {
|
|
37
|
+
/** @internal */
|
|
38
|
+
static contextType: React.Context<HTMLElement>;
|
|
39
|
+
/** @internal */
|
|
40
|
+
context: React.ContextType<typeof WrapperContext>;
|
|
29
41
|
/** @internal */
|
|
30
42
|
readonly state: {
|
|
31
43
|
size: Size;
|
|
@@ -40,8 +52,8 @@ export declare class CardPopup extends React.PureComponent<CardPopupProps, CardP
|
|
|
40
52
|
export interface CardProps {
|
|
41
53
|
content: PopupContentType;
|
|
42
54
|
title: string | PropertyRecord | undefined;
|
|
43
|
-
items
|
|
44
|
-
onItemExecuted:
|
|
55
|
+
items?: CommonToolbarItem[] | ToolbarItem[] | undefined;
|
|
56
|
+
onItemExecuted: (item: any) => void;
|
|
45
57
|
}
|
|
46
58
|
/** Card component
|
|
47
59
|
* @beta */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/CardPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"CardPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/CardPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAKL,IAAI,EACL,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAUvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;WACW;AACX,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG;IACxD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAC3C,KAAK,EAAE,iBAAiB,EAAE,GAAG,WAAW,EAAE,GAAG,SAAS,CAAC;IACvD,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACpC,EAAE,CAAC,EAAE,WAAW,CAAC;CAClB,GAAG,iBAAiB,CAAC;IAClB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC,CAAC;AAEL,gBAAgB;AAChB,UAAU,cAAc;IACtB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,aAAa,CAChD,cAAc,EACd,cAAc,CACf;IACC,gBAAgB;IAChB,OAAuB,WAAW,6BAAkB;IACpD,gBAAgB;IACD,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC;IACjE,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,cAAc,CAMpB;IAEF,OAAO,CAAC,OAAO;IAOC,MAAM;CAuCvB;AAED;WACW;AACX,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,iBAAiB,EAAE,GAAG,WAAW,EAAE,GAAG,SAAS,CAAC;IACxD,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CACrC;AAED;WACW;AACX,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,qBA8CpC"}
|
|
@@ -14,11 +14,14 @@ import { Text } from "@itwin/itwinui-react";
|
|
|
14
14
|
import { CursorPopup } from "../cursor/cursorpopup/CursorPopup";
|
|
15
15
|
import { isReactContent, PopupManager } from "./PopupManager";
|
|
16
16
|
import { PositionPopup } from "./PositionPopup";
|
|
17
|
-
import { Direction, PropertyValueRendererManager, ToolbarOpacitySetting, ToolbarPanelAlignment,
|
|
17
|
+
import { Direction, PropertyValueRendererManager, ToolbarOpacitySetting, ToolbarPanelAlignment, } from "@itwin/components-react";
|
|
18
|
+
import { ToolbarWithOverflow } from "../toolbar/ToolbarWithOverflow";
|
|
19
|
+
import { mapToPlacement } from "../utils/Placement";
|
|
20
|
+
import { WrapperContext } from "../configurableui/ConfigurableUiContent";
|
|
18
21
|
/** Popup component for Input Editor
|
|
19
22
|
* @beta
|
|
20
23
|
*/
|
|
21
|
-
|
|
24
|
+
class CardPopup extends React.PureComponent {
|
|
22
25
|
constructor() {
|
|
23
26
|
super(...arguments);
|
|
24
27
|
/** @internal */
|
|
@@ -45,15 +48,21 @@ export class CardPopup extends React.PureComponent {
|
|
|
45
48
|
}
|
|
46
49
|
}
|
|
47
50
|
render() {
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
var _a, _b;
|
|
52
|
+
let point = PopupManager.getPopupPosition((_a = this.props.el) !== null && _a !== void 0 ? _a : this.context, this.props.pt, new Point(), this.state.size);
|
|
53
|
+
const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, (_b = this.props.placement) !== null && _b !== void 0 ? _b : mapToPlacement(this.props.relativePosition));
|
|
50
54
|
point = new Point(popupRect.left, popupRect.top);
|
|
51
55
|
return (React.createElement(PositionPopup, { key: this.props.id, className: classnames("uifw-no-border", "uifw-card"), point: point, onSizeKnown: this._onSizeKnown },
|
|
52
56
|
React.createElement(DivWithOutsideClick, { onOutsideClick: this.props.onCancel, onKeyDown: this._handleKeyDown },
|
|
53
57
|
React.createElement(FocusTrap, { active: true, returnFocusOnDeactivate: true },
|
|
54
|
-
React.createElement(Card, { content: this.props.content, title: this.props.title, items: this.props.items,
|
|
58
|
+
React.createElement(Card, { content: this.props.content, title: this.props.title, items: this.props.items,
|
|
59
|
+
// toolbarItems={this.props.toolbarItems}
|
|
60
|
+
onItemExecuted: this.props.onItemExecuted })))));
|
|
55
61
|
}
|
|
56
62
|
}
|
|
63
|
+
/** @internal */
|
|
64
|
+
CardPopup.contextType = WrapperContext;
|
|
65
|
+
export { CardPopup };
|
|
57
66
|
/** Card component
|
|
58
67
|
* @beta */
|
|
59
68
|
export function Card(props) {
|
|
@@ -77,7 +86,6 @@ export function Card(props) {
|
|
|
77
86
|
content),
|
|
78
87
|
props.items && (React.createElement(React.Fragment, null,
|
|
79
88
|
React.createElement("div", { className: "uifw-card-separator" }),
|
|
80
|
-
React.createElement(ToolbarWithOverflow
|
|
81
|
-
, { expandsTo: Direction.Bottom, panelAlignment: ToolbarPanelAlignment.Start, items: props.items, useDragInteraction: true, toolbarOpacitySetting: ToolbarOpacitySetting.Transparent, onItemExecuted: props.onItemExecuted })))));
|
|
89
|
+
React.createElement(ToolbarWithOverflow, { expandsTo: Direction.Bottom, panelAlignment: ToolbarPanelAlignment.Start, items: props.items, useDragInteraction: true, toolbarOpacitySetting: ToolbarOpacitySetting.Transparent, onItemExecuted: props.onItemExecuted })))));
|
|
82
90
|
}
|
|
83
91
|
//# sourceMappingURL=CardPopup.js.map
|