@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":"PanelStateHelpers.js","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/PanelStateHelpers.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,0DAAgD;AAEhD,iCAA4B;AAE5B,qDAAkE;
|
|
1
|
+
{"version":3,"file":"PanelStateHelpers.js","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/PanelStateHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Base\n */\n\nimport { UiError } from \"@itwin/appui-abstract\";\nimport type { SizeProps } from \"@itwin/core-react\";\nimport produce from \"immer\";\nimport type { WritableDraft } from \"immer/dist/types/types-external\";\nimport { isHorizontalPanelSide } from \"../../widget-panels/Panel\";\nimport type {\n HorizontalPanelSide,\n PanelSide,\n VerticalPanelSide,\n} from \"../../widget-panels/PanelTypes\";\nimport type { NineZoneState } from \"../NineZoneState\";\nimport type {\n HorizontalPanelState,\n PanelsState,\n VerticalPanelState,\n} from \"../PanelState\";\nimport type { WidgetState } from \"../WidgetState\";\nimport { category } from \"./NineZoneStateHelpers\";\nimport { addWidgetState } from \"./WidgetStateHelpers\";\nimport type { StagePanelSizeSpec } from \"../../../stagepanels/StagePanelConfig\";\n\nfunction createPanelState(side: PanelSide) {\n return {\n collapseOffset: 100,\n collapsed: false,\n maxSize: 600,\n minSize: 200,\n pinned: true,\n resizable: true,\n side,\n size: undefined,\n widgets: [],\n maxWidgetCount: 2,\n splitterPercent: 50,\n };\n}\n\n/** @internal */\nexport function createVerticalPanelState(\n side: VerticalPanelSide,\n args?: Partial<VerticalPanelState>\n): VerticalPanelState {\n return {\n ...createPanelState(side),\n ...args,\n side,\n };\n}\n\n/** @internal */\nexport function createHorizontalPanelState(\n side: HorizontalPanelSide,\n args?: Partial<HorizontalPanelState>\n): HorizontalPanelState {\n return {\n ...createPanelState(side),\n minSize: 100,\n span: true,\n ...args,\n side,\n };\n}\n\n/** @internal */\nexport function createPanelsState(args?: Partial<PanelsState>): PanelsState {\n return {\n bottom: createHorizontalPanelState(\"bottom\"),\n left: createVerticalPanelState(\"left\"),\n right: createVerticalPanelState(\"right\"),\n top: createHorizontalPanelState(\"top\"),\n ...args,\n };\n}\n\n/** @internal */\nexport function updatePanelState<K extends keyof PanelsState>(\n state: NineZoneState,\n side: K,\n update: (draft: WritableDraft<PanelsState>[K]) => void\n) {\n return produce(state, (draft) => {\n const panel = draft.panels[side];\n update(panel);\n });\n}\n\n/** @internal */\nexport function getPanelPixelSizeFromSpec(\n side: PanelSide,\n appSize: SizeProps,\n panelSize: StagePanelSizeSpec\n) {\n if (typeof panelSize === \"number\") {\n return panelSize;\n }\n\n const fullSize = isHorizontalPanelSide(side) ? appSize.height : appSize.width;\n return (panelSize.percentage / 100) * fullSize;\n}\n\n/** @internal */\nexport function getPanelSize(\n preferredSizeSpec: StagePanelSizeSpec | undefined,\n side: PanelSide,\n minSizeSpec: StagePanelSizeSpec,\n maxSizeSpec: StagePanelSizeSpec,\n appSize: SizeProps\n) {\n if (preferredSizeSpec === undefined) return undefined;\n\n const maxSize = getPanelPixelSizeFromSpec(side, appSize, maxSizeSpec);\n const minSize = getPanelPixelSizeFromSpec(side, appSize, minSizeSpec);\n const preferredSize = getPanelPixelSizeFromSpec(\n side,\n appSize,\n preferredSizeSpec\n );\n\n return Math.min(Math.max(preferredSize, minSize), maxSize);\n}\n\n/** @internal */\nexport function addPanelWidget(\n state: NineZoneState,\n side: PanelSide,\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n return insertPanelWidget(state, side, id, tabs, Infinity, widgetArgs);\n}\n\n/** @internal */\nexport function insertPanelWidget(\n state: NineZoneState,\n side: PanelSide,\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n sectionIndex: number,\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n const panel = state.panels[side];\n const maxWidgetCount = panel.maxWidgetCount;\n if (panel.widgets.length >= maxWidgetCount)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Max widget count exceeded\", undefined, () => ({\n maxWidgetCount,\n }));\n\n state = addWidgetState(state, id, tabs, widgetArgs);\n return produce(state, (draft) => {\n const widgets = draft.panels[side].widgets;\n widgets.splice(sectionIndex, 0, id);\n });\n}\n"]}
|
|
@@ -146,8 +146,9 @@ function removeTab(state, tabId) {
|
|
|
146
146
|
throw new appui_abstract_1.UiError(NineZoneStateHelpers_1.category, "Tab does not exist");
|
|
147
147
|
state = removeTabFromWidget(state, tabId);
|
|
148
148
|
return (0, immer_1.default)(state, (draft) => {
|
|
149
|
+
var _a;
|
|
149
150
|
delete draft.tabs[tabId];
|
|
150
|
-
if (draft.toolSettings
|
|
151
|
+
if (((_a = draft.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId) === tabId) {
|
|
151
152
|
draft.toolSettings = undefined;
|
|
152
153
|
}
|
|
153
154
|
});
|
|
@@ -169,7 +170,7 @@ function addRemovedTab(state, tabId) {
|
|
|
169
170
|
tabId,
|
|
170
171
|
}));
|
|
171
172
|
const savedTab = state.savedTabs.byId[tabId];
|
|
172
|
-
const home = savedTab
|
|
173
|
+
const home = (savedTab === null || savedTab === void 0 ? void 0 : savedTab.home) || defaultHomeState;
|
|
173
174
|
const { tabIndex, widgetId } = home;
|
|
174
175
|
// Add to an existing widget (by widget id).
|
|
175
176
|
if (widgetId in state.widgets) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabStateHelpers.js","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/TabStateHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Base\n */\n\nimport produce, { castDraft } from \"immer\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport type { NineZoneState } from \"../NineZoneState\";\nimport type { DraggedTabState, TabState } from \"../TabState\";\nimport { category } from \"./NineZoneStateHelpers\";\nimport type { SavedTabState, TabHomeState } from \"../SavedTabState\";\nimport type { WritableDraft } from \"immer/dist/internal\";\nimport { getTabLocation } from \"../TabLocation\";\nimport {\n addFloatingWidget,\n assertWidgetState,\n getWidgetState,\n removeWidget,\n setWidgetActiveTabId,\n updateWidgetState,\n} from \"./WidgetStateHelpers\";\nimport type { WidgetState } from \"../WidgetState\";\nimport { isFloatingWidgetRestoreState } from \"../WidgetRestoreState\";\nimport { Rectangle } from \"@itwin/core-react\";\nimport { getUniqueId } from \"../../base/NineZone\";\nimport { insertPanelWidget } from \"./PanelStateHelpers\";\n\n/** @internal */\nexport function createTabState(\n id: TabState[\"id\"],\n args?: Partial<TabState>\n): TabState {\n return {\n label: \"\",\n ...args,\n id,\n unloaded: false,\n };\n}\n\n/** @internal */\nexport function createDraggedTabState(\n tabId: DraggedTabState[\"tabId\"],\n args?: Partial<DraggedTabState>\n): DraggedTabState {\n return {\n home: {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n },\n position: { x: 0, y: 0 },\n ...args,\n tabId,\n };\n}\n\n/** @internal */\nexport function updateTabState(\n state: NineZoneState,\n id: TabState[\"id\"],\n update: (draft: WritableDraft<TabState>) => void\n) {\n // eslint-disable-next-line deprecation/deprecation\n if (!(id in state.tabs)) throw new UiError(category, \"Tab does not exist\");\n\n return produce(state, (draft) => {\n const tab = draft.tabs[id];\n update(tab);\n });\n}\n\n/** @internal */\nexport function updateSavedTabState(\n state: NineZoneState,\n id: TabState[\"id\"],\n update: (draft: WritableDraft<SavedTabState>) => void\n) {\n return produce(state, (draft) => {\n const allIds = draft.savedTabs.allIds;\n const byId = draft.savedTabs.byId;\n let tab = byId[id];\n if (!tab) {\n allIds.push(id);\n tab = byId[id] = { id };\n } else {\n const index = allIds.indexOf(id);\n allIds.splice(index, 1);\n allIds.push(id);\n }\n\n update(tab);\n });\n}\n\n/** Adds a new `tab`.\n * @internal\n */\nexport function addTab(\n state: NineZoneState,\n id: TabState[\"id\"],\n tabArgs?: Partial<TabState>\n): NineZoneState {\n // eslint-disable-next-line deprecation/deprecation\n if (id in state.tabs) throw new UiError(category, \"Tab already exists\");\n const tab = {\n ...createTabState(id),\n ...tabArgs,\n };\n return produce(state, (stateDraft) => {\n stateDraft.tabs[id] = castDraft(tab);\n });\n}\n\n/** Adds an existing `tab` to a specified `widget`.\n * @internal\n */\nexport function addTabToWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"],\n widgetId: WidgetState[\"id\"]\n): NineZoneState {\n return insertTabToWidget(state, tabId, widgetId, Infinity);\n}\n\n/** Inserts an existing `tab` to a specified `widget` at a specified `tabIndex`.\n * @internal\n */\nexport function insertTabToWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"],\n widgetId: WidgetState[\"id\"],\n tabIndex: number\n): NineZoneState {\n if (!(tabId in state.tabs))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Tab does not exist\", undefined, () => ({\n tabId,\n }));\n assertWidgetState(state, widgetId);\n const location = getTabLocation(state, tabId);\n if (location)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n category,\n \"Tab is already in a widget\",\n undefined,\n () => ({ tabId, widgetId: location.widgetId })\n );\n\n return produce(state, (draft) => {\n const widget = getWidgetState(draft, widgetId);\n widget.tabs.splice(tabIndex, 0, tabId);\n });\n}\n\n/** Removes tab from the UI, but keeps the tab state.\n * @internal\n */\nexport function removeTabFromWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n const location = getTabLocation(state, tabId);\n if (!location) return state;\n\n const widgetId = location.widgetId;\n const widget = getWidgetState(state, widgetId);\n const tabs = [...widget.tabs];\n const tabIndex = tabs.indexOf(tabId);\n tabs.splice(tabIndex, 1);\n\n if (tabs.length === 0) {\n return removeWidget(state, widgetId);\n }\n\n if (tabId === widget.activeTabId) {\n state = setWidgetActiveTabId(state, widget.id, tabs[0]);\n }\n\n return updateWidgetState(state, widgetId, {\n tabs,\n });\n}\n\n/** Removes tab from the UI and deletes the tab state.\n * @internal\n */\nexport function removeTab(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n // eslint-disable-next-line deprecation/deprecation\n if (!(tabId in state.tabs)) throw new UiError(category, \"Tab does not exist\");\n\n state = removeTabFromWidget(state, tabId);\n return produce(state, (draft) => {\n delete draft.tabs[tabId];\n\n if (draft.toolSettings?.tabId === tabId) {\n draft.toolSettings = undefined;\n }\n });\n}\n\nconst defaultHomeState: TabHomeState = {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n tabIndex: 0,\n};\n\n/** Adds removed tab to the UI.\n * @internal\n */\nexport function addRemovedTab(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n if (!(tabId in state.tabs))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Tab does not exist\", undefined, () => ({\n tabId,\n }));\n\n const savedTab = state.savedTabs.byId[tabId];\n const home = savedTab?.home || defaultHomeState;\n const { tabIndex, widgetId } = home;\n\n // Add to an existing widget (by widget id).\n if (widgetId in state.widgets) {\n return insertTabToWidget(state, tabId, widgetId, tabIndex);\n }\n\n // Add to a floating widget.\n if (isFloatingWidgetRestoreState(home)) {\n // Add to a new floating widget.\n const nzBounds = Rectangle.createFromSize(state.size);\n const bounds = Rectangle.create(home.floatingWidget.bounds).containIn(\n nzBounds\n );\n return addFloatingWidget(state, widgetId, [tabId], {\n ...home.floatingWidget,\n bounds: bounds.toProps(),\n });\n }\n\n // Add to a panel section.\n const panel = state.panels[home.side];\n\n // Add to existing panel section.\n if (panel.widgets.length >= panel.maxWidgetCount) {\n const sectionIndex = Math.min(panel.maxWidgetCount - 1, home.widgetIndex);\n const sectionId = panel.widgets[sectionIndex];\n return insertTabToWidget(state, tabId, sectionId, home.tabIndex);\n }\n\n // Create a new panel section.\n const newSectionId = getUniqueId();\n return insertPanelWidget(\n state,\n panel.side,\n newSectionId,\n [tabId],\n home.widgetIndex\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"TabStateHelpers.js","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/TabStateHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Base\n */\n\nimport produce, { castDraft } from \"immer\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport type { NineZoneState } from \"../NineZoneState\";\nimport type { DraggedTabState, TabState } from \"../TabState\";\nimport { category } from \"./NineZoneStateHelpers\";\nimport type { SavedTabState, TabHomeState } from \"../SavedTabState\";\nimport type { WritableDraft } from \"immer/dist/internal\";\nimport { getTabLocation } from \"../TabLocation\";\nimport {\n addFloatingWidget,\n assertWidgetState,\n getWidgetState,\n removeWidget,\n setWidgetActiveTabId,\n updateWidgetState,\n} from \"./WidgetStateHelpers\";\nimport type { WidgetState } from \"../WidgetState\";\nimport { isFloatingWidgetRestoreState } from \"../WidgetRestoreState\";\nimport { Rectangle } from \"@itwin/core-react\";\nimport { getUniqueId } from \"../../base/NineZone\";\nimport { insertPanelWidget } from \"./PanelStateHelpers\";\n\n/** @internal */\nexport function createTabState(\n id: TabState[\"id\"],\n args?: Partial<TabState>\n): TabState {\n return {\n label: \"\",\n ...args,\n id,\n unloaded: false,\n };\n}\n\n/** @internal */\nexport function createDraggedTabState(\n tabId: DraggedTabState[\"tabId\"],\n args?: Partial<DraggedTabState>\n): DraggedTabState {\n return {\n home: {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n },\n position: { x: 0, y: 0 },\n ...args,\n tabId,\n };\n}\n\n/** @internal */\nexport function updateTabState(\n state: NineZoneState,\n id: TabState[\"id\"],\n update: (draft: WritableDraft<TabState>) => void\n) {\n // eslint-disable-next-line deprecation/deprecation\n if (!(id in state.tabs)) throw new UiError(category, \"Tab does not exist\");\n\n return produce(state, (draft) => {\n const tab = draft.tabs[id];\n update(tab);\n });\n}\n\n/** @internal */\nexport function updateSavedTabState(\n state: NineZoneState,\n id: TabState[\"id\"],\n update: (draft: WritableDraft<SavedTabState>) => void\n) {\n return produce(state, (draft) => {\n const allIds = draft.savedTabs.allIds;\n const byId = draft.savedTabs.byId;\n let tab = byId[id];\n if (!tab) {\n allIds.push(id);\n tab = byId[id] = { id };\n } else {\n const index = allIds.indexOf(id);\n allIds.splice(index, 1);\n allIds.push(id);\n }\n\n update(tab);\n });\n}\n\n/** Adds a new `tab`.\n * @internal\n */\nexport function addTab(\n state: NineZoneState,\n id: TabState[\"id\"],\n tabArgs?: Partial<TabState>\n): NineZoneState {\n // eslint-disable-next-line deprecation/deprecation\n if (id in state.tabs) throw new UiError(category, \"Tab already exists\");\n const tab = {\n ...createTabState(id),\n ...tabArgs,\n };\n return produce(state, (stateDraft) => {\n stateDraft.tabs[id] = castDraft(tab);\n });\n}\n\n/** Adds an existing `tab` to a specified `widget`.\n * @internal\n */\nexport function addTabToWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"],\n widgetId: WidgetState[\"id\"]\n): NineZoneState {\n return insertTabToWidget(state, tabId, widgetId, Infinity);\n}\n\n/** Inserts an existing `tab` to a specified `widget` at a specified `tabIndex`.\n * @internal\n */\nexport function insertTabToWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"],\n widgetId: WidgetState[\"id\"],\n tabIndex: number\n): NineZoneState {\n if (!(tabId in state.tabs))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Tab does not exist\", undefined, () => ({\n tabId,\n }));\n assertWidgetState(state, widgetId);\n const location = getTabLocation(state, tabId);\n if (location)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n category,\n \"Tab is already in a widget\",\n undefined,\n () => ({ tabId, widgetId: location.widgetId })\n );\n\n return produce(state, (draft) => {\n const widget = getWidgetState(draft, widgetId);\n widget.tabs.splice(tabIndex, 0, tabId);\n });\n}\n\n/** Removes tab from the UI, but keeps the tab state.\n * @internal\n */\nexport function removeTabFromWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n const location = getTabLocation(state, tabId);\n if (!location) return state;\n\n const widgetId = location.widgetId;\n const widget = getWidgetState(state, widgetId);\n const tabs = [...widget.tabs];\n const tabIndex = tabs.indexOf(tabId);\n tabs.splice(tabIndex, 1);\n\n if (tabs.length === 0) {\n return removeWidget(state, widgetId);\n }\n\n if (tabId === widget.activeTabId) {\n state = setWidgetActiveTabId(state, widget.id, tabs[0]);\n }\n\n return updateWidgetState(state, widgetId, {\n tabs,\n });\n}\n\n/** Removes tab from the UI and deletes the tab state.\n * @internal\n */\nexport function removeTab(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n // eslint-disable-next-line deprecation/deprecation\n if (!(tabId in state.tabs)) throw new UiError(category, \"Tab does not exist\");\n\n state = removeTabFromWidget(state, tabId);\n return produce(state, (draft) => {\n delete draft.tabs[tabId];\n\n if (draft.toolSettings?.tabId === tabId) {\n draft.toolSettings = undefined;\n }\n });\n}\n\nconst defaultHomeState: TabHomeState = {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n tabIndex: 0,\n};\n\n/** Adds removed tab to the UI.\n * @internal\n */\nexport function addRemovedTab(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n if (!(tabId in state.tabs))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Tab does not exist\", undefined, () => ({\n tabId,\n }));\n\n const savedTab = state.savedTabs.byId[tabId];\n const home = savedTab?.home || defaultHomeState;\n const { tabIndex, widgetId } = home;\n\n // Add to an existing widget (by widget id).\n if (widgetId in state.widgets) {\n return insertTabToWidget(state, tabId, widgetId, tabIndex);\n }\n\n // Add to a floating widget.\n if (isFloatingWidgetRestoreState(home)) {\n // Add to a new floating widget.\n const nzBounds = Rectangle.createFromSize(state.size);\n const bounds = Rectangle.create(home.floatingWidget.bounds).containIn(\n nzBounds\n );\n return addFloatingWidget(state, widgetId, [tabId], {\n ...home.floatingWidget,\n bounds: bounds.toProps(),\n });\n }\n\n // Add to a panel section.\n const panel = state.panels[home.side];\n\n // Add to existing panel section.\n if (panel.widgets.length >= panel.maxWidgetCount) {\n const sectionIndex = Math.min(panel.maxWidgetCount - 1, home.widgetIndex);\n const sectionId = panel.widgets[sectionIndex];\n return insertTabToWidget(state, tabId, sectionId, home.tabIndex);\n }\n\n // Create a new panel section.\n const newSectionId = getUniqueId();\n return insertPanelWidget(\n state,\n panel.side,\n newSectionId,\n [tabId],\n home.widgetIndex\n );\n}\n"]}
|
|
@@ -87,7 +87,7 @@ function removeWidgetState(state, id) {
|
|
|
87
87
|
exports.removeWidgetState = removeWidgetState;
|
|
88
88
|
/** @internal */
|
|
89
89
|
function createFloatingWidgetState(id, args) {
|
|
90
|
-
const bounds = (0, NineZoneStateHelpers_1.toRectangleProps)(args
|
|
90
|
+
const bounds = (0, NineZoneStateHelpers_1.toRectangleProps)(args === null || args === void 0 ? void 0 : args.bounds);
|
|
91
91
|
return {
|
|
92
92
|
home: {
|
|
93
93
|
side: "left",
|
|
@@ -102,8 +102,8 @@ function createFloatingWidgetState(id, args) {
|
|
|
102
102
|
exports.createFloatingWidgetState = createFloatingWidgetState;
|
|
103
103
|
/** @internal */
|
|
104
104
|
function createPopoutWidgetState(id, args) {
|
|
105
|
-
const bounds = (0, NineZoneStateHelpers_1.toRectangleProps)(args
|
|
106
|
-
const home = args
|
|
105
|
+
const bounds = (0, NineZoneStateHelpers_1.toRectangleProps)(args === null || args === void 0 ? void 0 : args.bounds);
|
|
106
|
+
const home = (args === null || args === void 0 ? void 0 : args.home)
|
|
107
107
|
? args.home
|
|
108
108
|
: {
|
|
109
109
|
side: "left",
|
|
@@ -278,7 +278,7 @@ function addFloatingWidget(state, id, tabs, floatingWidgetArgs, widgetArgs) {
|
|
|
278
278
|
// eslint-disable-next-line deprecation/deprecation
|
|
279
279
|
throw new appui_abstract_1.UiError(NineZoneStateHelpers_1.category, "Floating widget already exists");
|
|
280
280
|
state = addWidgetState(state, id, tabs, widgetArgs);
|
|
281
|
-
let bounds = floatingWidgetArgs
|
|
281
|
+
let bounds = floatingWidgetArgs === null || floatingWidgetArgs === void 0 ? void 0 : floatingWidgetArgs.bounds;
|
|
282
282
|
if (!bounds) {
|
|
283
283
|
bounds = getNewFloatingWidgetBounds(state);
|
|
284
284
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetStateHelpers.js","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/WidgetStateHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Base\n */\n\nimport { castDraft, produce } from \"immer\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { RectangleProps } from \"@itwin/core-react\";\nimport { Point, Rectangle } from \"@itwin/core-react\";\nimport type { NineZoneState } from \"../NineZoneState\";\nimport type {\n FloatingWidgetState,\n PopoutWidgetState,\n WidgetState,\n} from \"../WidgetState\";\nimport { getTabLocation } from \"../TabLocation\";\nimport type { PanelWidgetLocation } from \"../WidgetLocation\";\nimport {\n getWidgetLocation,\n isFloatingWidgetLocation,\n isPanelWidgetLocation,\n isPopoutWidgetLocation,\n} from \"../WidgetLocation\";\nimport {\n category,\n initSizeProps,\n setRectangleProps,\n toRectangleProps,\n} from \"./NineZoneStateHelpers\";\nimport { updatePanelState } from \"./PanelStateHelpers\";\nimport { updateTabState } from \"./TabStateHelpers\";\n\n/** @internal */\nexport function createWidgetState(\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n args?: Partial<WidgetState>\n): WidgetState {\n if (tabs.length === 0)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Widget must contain tabs\");\n return {\n activeTabId: tabs[0],\n minimized: false,\n ...args,\n id,\n tabs,\n };\n}\n\n/** @internal */\nexport function updateWidgetState(\n state: NineZoneState,\n id: WidgetState[\"id\"],\n args: Partial<WidgetState>\n) {\n return produce(state, (draft) => {\n const widget = getWidgetState(draft, id);\n draft.widgets[id] = {\n ...widget,\n ...castDraft(args),\n };\n });\n}\n\n/** @internal */\nexport function addWidgetState(\n state: NineZoneState,\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n args?: Partial<WidgetState>\n) {\n // eslint-disable-next-line deprecation/deprecation\n if (id in state.widgets) throw new UiError(category, \"Widget already exists\");\n\n const widget = createWidgetState(id, tabs, args);\n for (const tabId of widget.tabs) {\n if (!(tabId in state.tabs))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Tab does not exist\", undefined, () => ({\n tabId,\n }));\n\n const location = getTabLocation(state, tabId);\n if (location)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n category,\n \"Tab is already in a widget\",\n undefined,\n () => ({ tabId, widgetId: location.widgetId })\n );\n }\n return produce(state, (draft) => {\n draft.widgets[id] = castDraft(widget);\n });\n}\n\n/** @internal */\nexport function removeWidget(\n state: NineZoneState,\n id: WidgetState[\"id\"]\n): NineZoneState {\n const location = getWidgetLocation(state, id);\n // eslint-disable-next-line deprecation/deprecation\n if (!location) throw new UiError(category, \"Widget not found\");\n\n if (isFloatingWidgetLocation(location))\n return removeFloatingWidget(state, id);\n if (isPopoutWidgetLocation(location)) return removePopoutWidget(state, id);\n return removePanelWidget(state, id, location);\n}\n\n/** @internal */\nexport function removeWidgetState(\n state: NineZoneState,\n id: WidgetState[\"id\"]\n): NineZoneState {\n assertWidgetState(state, id);\n return produce(state, (draft) => {\n delete draft.widgets[id];\n });\n}\n\n/** @internal */\nexport function createFloatingWidgetState(\n id: FloatingWidgetState[\"id\"],\n args?: Partial<FloatingWidgetState>\n): FloatingWidgetState {\n const bounds = toRectangleProps(args?.bounds);\n return {\n home: {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n },\n ...args,\n bounds,\n id,\n };\n}\n\n/** @internal */\nexport function createPopoutWidgetState(\n id: PopoutWidgetState[\"id\"],\n args?: Partial<PopoutWidgetState>\n): PopoutWidgetState {\n const bounds = toRectangleProps(args?.bounds);\n const home: PopoutWidgetState[\"home\"] = args?.home\n ? args.home\n : {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n };\n return {\n ...args,\n home,\n bounds,\n id,\n };\n}\n\n/** @internal */\nexport function updateFloatingWidgetState(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"],\n args: Partial<FloatingWidgetState>\n) {\n if (!(id in state.floatingWidgets.byId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Floating widget does not exist\");\n\n return produce(state, (draft) => {\n const floatingWidget = draft.floatingWidgets.byId[id];\n const { bounds, ...other } = args;\n draft.floatingWidgets.byId[id] = {\n ...floatingWidget,\n ...other,\n };\n if (bounds) setRectangleProps(floatingWidget.bounds, bounds);\n });\n}\n\n/** Removes floating widget from the UI and deletes the widget state.\n * @internal\n */\nexport function removeFloatingWidget(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"]\n): NineZoneState {\n if (!(id in state.floatingWidgets.byId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Floating widget does not exist\");\n\n state = produce(state, (draft) => {\n delete draft.floatingWidgets.byId[id];\n const idIndex = draft.floatingWidgets.allIds.indexOf(id);\n draft.floatingWidgets.allIds.splice(idIndex, 1);\n });\n return removeWidgetState(state, id);\n}\n\n/** Removes popout widget from the UI and deletes the widget state.\n * @internal\n */\nexport function removePopoutWidget(\n state: NineZoneState,\n id: PopoutWidgetState[\"id\"]\n) {\n if (!(id in state.popoutWidgets.byId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Popout widget does not exist\");\n\n state = produce(state, (draft) => {\n delete draft.popoutWidgets.byId[id];\n const index = state.popoutWidgets.allIds.indexOf(id);\n draft.popoutWidgets.allIds.splice(index, 1);\n });\n return removeWidgetState(state, id);\n}\n\n/** @internal */\nexport function removePanelWidget(\n state: NineZoneState,\n id: WidgetState[\"id\"],\n location?: PanelWidgetLocation\n): NineZoneState {\n location = location || findPanelWidget(state, id);\n // eslint-disable-next-line deprecation/deprecation\n if (!location) throw new UiError(category, \"Panel widget not found\");\n\n state = updatePanelState(state, location.side, (draft) => {\n assert(!!location);\n draft.widgets.splice(location.index, 1);\n });\n\n const widgets = state.panels[location.side].widgets;\n const expandedWidget = widgets.find((widgetId) => {\n const widget = getWidgetState(state, widgetId);\n return !widget.minimized;\n });\n if (!expandedWidget && widgets.length > 0) {\n const firstWidgetId = widgets[0];\n state = updateWidgetState(state, firstWidgetId, {\n minimized: false,\n });\n }\n\n return removeWidgetState(state, id);\n}\n\nfunction findPanelWidget(state: NineZoneState, id: WidgetState[\"id\"]) {\n const location = getWidgetLocation(state, id);\n if (location && isPanelWidgetLocation(location)) return location;\n return undefined;\n}\n\n/** @internal */\nexport function assertWidgetState(state: NineZoneState, id: WidgetState[\"id\"]) {\n if (!(id in state.widgets))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Widget does not exist\", undefined, () => ({\n id,\n }));\n}\n\n/** @internal */\nexport function getWidgetState<T extends NineZoneState>(\n state: T,\n id: WidgetState[\"id\"]\n): T[\"widgets\"][0] {\n assertWidgetState(state, id);\n return state.widgets[id] as T[\"widgets\"][0];\n}\n\n/** @internal */\nexport function setWidgetActiveTabId(\n state: NineZoneState,\n widgetId: WidgetState[\"id\"],\n tabId: WidgetState[\"activeTabId\"]\n): NineZoneState {\n const widget = getWidgetState(state, widgetId);\n if (!widget.tabs.includes(tabId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Tab is not in a widget\");\n\n state = updateWidgetState(state, widgetId, {\n activeTabId: tabId,\n });\n\n const floatingWidget = state.floatingWidgets.byId[widgetId];\n if (floatingWidget) {\n const activeTab = state.tabs[tabId];\n const preferredFloatingWidgetSize = Rectangle.create(\n floatingWidget.bounds\n ).getSize();\n state = updateTabState(state, activeTab.id, (draft) => {\n initSizeProps(\n draft,\n \"preferredFloatingWidgetSize\",\n preferredFloatingWidgetSize\n );\n });\n }\n return state;\n}\n\n/** @internal */\nexport function getNewFloatingWidgetBounds(\n state: NineZoneState\n): RectangleProps {\n // Matches min size (to handle auto-sized floating widgets correctly).\n const size = { height: 120, width: 200 };\n const initialPosition = new Point(360, 340);\n\n const nzBounds = Rectangle.createFromSize(state.size);\n const widgetsBounds = nzBounds.inset(20, 20, 20, 20);\n const offset = new Point(40, 40);\n\n let bounds = Rectangle.createFromSize(size);\n if (state.floatingWidgets.allIds.length === 0) {\n // Initial floating widget position.\n bounds = bounds.offset(initialPosition);\n } else {\n // Position is relative to last floating widget if available.\n const widgetId =\n state.floatingWidgets.allIds[state.floatingWidgets.allIds.length - 1];\n const widget = state.floatingWidgets.byId[widgetId];\n const widgetBounds = Rectangle.create(widget.bounds);\n\n // Bounds relative to top left of a last floating widget.\n const topLeft = widgetBounds.topLeft().offset(offset);\n bounds = bounds.offset(topLeft);\n\n // Bottom right of new bounds should also be outside of a floating widget.\n const widgetBottomRight = new Point(\n widgetBounds.right,\n widgetBounds.bottom\n );\n const minBottomRight = widgetBottomRight.offset(offset);\n const x = Math.max(0, minBottomRight.x - bounds.right);\n const y = Math.max(0, minBottomRight.y - bounds.bottom);\n bounds = bounds.offset({ x, y });\n }\n\n // TODO: might still end up with a bunch of overlapping widgets.\n if (bounds.bottom >= widgetsBounds.bottom) {\n bounds = bounds.setPosition({ x: bounds.left, y: widgetsBounds.top });\n }\n if (bounds.right >= widgetsBounds.right) {\n bounds = bounds.setPosition({\n x: widgetsBounds.left,\n y: widgetsBounds.top,\n });\n }\n bounds = bounds.containIn(widgetsBounds);\n return bounds.toProps();\n}\n\n/** @internal */\nexport function addFloatingWidget(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n floatingWidgetArgs?: Partial<FloatingWidgetState>,\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n if (id in state.floatingWidgets.byId)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Floating widget already exists\");\n\n state = addWidgetState(state, id, tabs, widgetArgs);\n\n let bounds = floatingWidgetArgs?.bounds;\n if (!bounds) {\n bounds = getNewFloatingWidgetBounds(state);\n }\n\n const tabId = tabs[0];\n const tab = state.tabs[tabId];\n const resizable = tab.isFloatingWidgetResizable;\n\n const floatingWidget = createFloatingWidgetState(id, {\n bounds,\n resizable,\n ...floatingWidgetArgs,\n });\n return produce(state, (stateDraft) => {\n stateDraft.floatingWidgets.byId[id] = floatingWidget;\n stateDraft.floatingWidgets.allIds.push(id);\n });\n}\n\n/** @internal */\nexport function addPopoutWidget(\n state: NineZoneState,\n id: PopoutWidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n popoutWidgetArgs?: Partial<PopoutWidgetState>,\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n if (tabs.length !== 1)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n category,\n \"Popout widget should contain one tab only\",\n undefined,\n () => ({ tabs })\n );\n\n const popoutWidget = createPopoutWidgetState(id, popoutWidgetArgs);\n state = addWidgetState(state, id, tabs, widgetArgs);\n return produce(state, (stateDraft) => {\n stateDraft.popoutWidgets.byId[id] = popoutWidget;\n stateDraft.popoutWidgets.allIds.push(id);\n });\n}\n\n/** @internal */\nexport function floatingWidgetBringToFront(\n state: NineZoneState,\n floatingWidgetId: FloatingWidgetState[\"id\"]\n): NineZoneState {\n return produce(state, (draft) => {\n const idIndex = draft.floatingWidgets.allIds.indexOf(floatingWidgetId);\n const spliced = draft.floatingWidgets.allIds.splice(idIndex, 1);\n draft.floatingWidgets.allIds.push(spliced[0]);\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"WidgetStateHelpers.js","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/WidgetStateHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Base\n */\n\nimport { castDraft, produce } from \"immer\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { RectangleProps } from \"@itwin/core-react\";\nimport { Point, Rectangle } from \"@itwin/core-react\";\nimport type { NineZoneState } from \"../NineZoneState\";\nimport type {\n FloatingWidgetState,\n PopoutWidgetState,\n WidgetState,\n} from \"../WidgetState\";\nimport { getTabLocation } from \"../TabLocation\";\nimport type { PanelWidgetLocation } from \"../WidgetLocation\";\nimport {\n getWidgetLocation,\n isFloatingWidgetLocation,\n isPanelWidgetLocation,\n isPopoutWidgetLocation,\n} from \"../WidgetLocation\";\nimport {\n category,\n initSizeProps,\n setRectangleProps,\n toRectangleProps,\n} from \"./NineZoneStateHelpers\";\nimport { updatePanelState } from \"./PanelStateHelpers\";\nimport { updateTabState } from \"./TabStateHelpers\";\n\n/** @internal */\nexport function createWidgetState(\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n args?: Partial<WidgetState>\n): WidgetState {\n if (tabs.length === 0)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Widget must contain tabs\");\n return {\n activeTabId: tabs[0],\n minimized: false,\n ...args,\n id,\n tabs,\n };\n}\n\n/** @internal */\nexport function updateWidgetState(\n state: NineZoneState,\n id: WidgetState[\"id\"],\n args: Partial<WidgetState>\n) {\n return produce(state, (draft) => {\n const widget = getWidgetState(draft, id);\n draft.widgets[id] = {\n ...widget,\n ...castDraft(args),\n };\n });\n}\n\n/** @internal */\nexport function addWidgetState(\n state: NineZoneState,\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n args?: Partial<WidgetState>\n) {\n // eslint-disable-next-line deprecation/deprecation\n if (id in state.widgets) throw new UiError(category, \"Widget already exists\");\n\n const widget = createWidgetState(id, tabs, args);\n for (const tabId of widget.tabs) {\n if (!(tabId in state.tabs))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Tab does not exist\", undefined, () => ({\n tabId,\n }));\n\n const location = getTabLocation(state, tabId);\n if (location)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n category,\n \"Tab is already in a widget\",\n undefined,\n () => ({ tabId, widgetId: location.widgetId })\n );\n }\n return produce(state, (draft) => {\n draft.widgets[id] = castDraft(widget);\n });\n}\n\n/** @internal */\nexport function removeWidget(\n state: NineZoneState,\n id: WidgetState[\"id\"]\n): NineZoneState {\n const location = getWidgetLocation(state, id);\n // eslint-disable-next-line deprecation/deprecation\n if (!location) throw new UiError(category, \"Widget not found\");\n\n if (isFloatingWidgetLocation(location))\n return removeFloatingWidget(state, id);\n if (isPopoutWidgetLocation(location)) return removePopoutWidget(state, id);\n return removePanelWidget(state, id, location);\n}\n\n/** @internal */\nexport function removeWidgetState(\n state: NineZoneState,\n id: WidgetState[\"id\"]\n): NineZoneState {\n assertWidgetState(state, id);\n return produce(state, (draft) => {\n delete draft.widgets[id];\n });\n}\n\n/** @internal */\nexport function createFloatingWidgetState(\n id: FloatingWidgetState[\"id\"],\n args?: Partial<FloatingWidgetState>\n): FloatingWidgetState {\n const bounds = toRectangleProps(args?.bounds);\n return {\n home: {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n },\n ...args,\n bounds,\n id,\n };\n}\n\n/** @internal */\nexport function createPopoutWidgetState(\n id: PopoutWidgetState[\"id\"],\n args?: Partial<PopoutWidgetState>\n): PopoutWidgetState {\n const bounds = toRectangleProps(args?.bounds);\n const home: PopoutWidgetState[\"home\"] = args?.home\n ? args.home\n : {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n };\n return {\n ...args,\n home,\n bounds,\n id,\n };\n}\n\n/** @internal */\nexport function updateFloatingWidgetState(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"],\n args: Partial<FloatingWidgetState>\n) {\n if (!(id in state.floatingWidgets.byId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Floating widget does not exist\");\n\n return produce(state, (draft) => {\n const floatingWidget = draft.floatingWidgets.byId[id];\n const { bounds, ...other } = args;\n draft.floatingWidgets.byId[id] = {\n ...floatingWidget,\n ...other,\n };\n if (bounds) setRectangleProps(floatingWidget.bounds, bounds);\n });\n}\n\n/** Removes floating widget from the UI and deletes the widget state.\n * @internal\n */\nexport function removeFloatingWidget(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"]\n): NineZoneState {\n if (!(id in state.floatingWidgets.byId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Floating widget does not exist\");\n\n state = produce(state, (draft) => {\n delete draft.floatingWidgets.byId[id];\n const idIndex = draft.floatingWidgets.allIds.indexOf(id);\n draft.floatingWidgets.allIds.splice(idIndex, 1);\n });\n return removeWidgetState(state, id);\n}\n\n/** Removes popout widget from the UI and deletes the widget state.\n * @internal\n */\nexport function removePopoutWidget(\n state: NineZoneState,\n id: PopoutWidgetState[\"id\"]\n) {\n if (!(id in state.popoutWidgets.byId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Popout widget does not exist\");\n\n state = produce(state, (draft) => {\n delete draft.popoutWidgets.byId[id];\n const index = state.popoutWidgets.allIds.indexOf(id);\n draft.popoutWidgets.allIds.splice(index, 1);\n });\n return removeWidgetState(state, id);\n}\n\n/** @internal */\nexport function removePanelWidget(\n state: NineZoneState,\n id: WidgetState[\"id\"],\n location?: PanelWidgetLocation\n): NineZoneState {\n location = location || findPanelWidget(state, id);\n // eslint-disable-next-line deprecation/deprecation\n if (!location) throw new UiError(category, \"Panel widget not found\");\n\n state = updatePanelState(state, location.side, (draft) => {\n assert(!!location);\n draft.widgets.splice(location.index, 1);\n });\n\n const widgets = state.panels[location.side].widgets;\n const expandedWidget = widgets.find((widgetId) => {\n const widget = getWidgetState(state, widgetId);\n return !widget.minimized;\n });\n if (!expandedWidget && widgets.length > 0) {\n const firstWidgetId = widgets[0];\n state = updateWidgetState(state, firstWidgetId, {\n minimized: false,\n });\n }\n\n return removeWidgetState(state, id);\n}\n\nfunction findPanelWidget(state: NineZoneState, id: WidgetState[\"id\"]) {\n const location = getWidgetLocation(state, id);\n if (location && isPanelWidgetLocation(location)) return location;\n return undefined;\n}\n\n/** @internal */\nexport function assertWidgetState(state: NineZoneState, id: WidgetState[\"id\"]) {\n if (!(id in state.widgets))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Widget does not exist\", undefined, () => ({\n id,\n }));\n}\n\n/** @internal */\nexport function getWidgetState<T extends NineZoneState>(\n state: T,\n id: WidgetState[\"id\"]\n): T[\"widgets\"][0] {\n assertWidgetState(state, id);\n return state.widgets[id] as T[\"widgets\"][0];\n}\n\n/** @internal */\nexport function setWidgetActiveTabId(\n state: NineZoneState,\n widgetId: WidgetState[\"id\"],\n tabId: WidgetState[\"activeTabId\"]\n): NineZoneState {\n const widget = getWidgetState(state, widgetId);\n if (!widget.tabs.includes(tabId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Tab is not in a widget\");\n\n state = updateWidgetState(state, widgetId, {\n activeTabId: tabId,\n });\n\n const floatingWidget = state.floatingWidgets.byId[widgetId];\n if (floatingWidget) {\n const activeTab = state.tabs[tabId];\n const preferredFloatingWidgetSize = Rectangle.create(\n floatingWidget.bounds\n ).getSize();\n state = updateTabState(state, activeTab.id, (draft) => {\n initSizeProps(\n draft,\n \"preferredFloatingWidgetSize\",\n preferredFloatingWidgetSize\n );\n });\n }\n return state;\n}\n\n/** @internal */\nexport function getNewFloatingWidgetBounds(\n state: NineZoneState\n): RectangleProps {\n // Matches min size (to handle auto-sized floating widgets correctly).\n const size = { height: 120, width: 200 };\n const initialPosition = new Point(360, 340);\n\n const nzBounds = Rectangle.createFromSize(state.size);\n const widgetsBounds = nzBounds.inset(20, 20, 20, 20);\n const offset = new Point(40, 40);\n\n let bounds = Rectangle.createFromSize(size);\n if (state.floatingWidgets.allIds.length === 0) {\n // Initial floating widget position.\n bounds = bounds.offset(initialPosition);\n } else {\n // Position is relative to last floating widget if available.\n const widgetId =\n state.floatingWidgets.allIds[state.floatingWidgets.allIds.length - 1];\n const widget = state.floatingWidgets.byId[widgetId];\n const widgetBounds = Rectangle.create(widget.bounds);\n\n // Bounds relative to top left of a last floating widget.\n const topLeft = widgetBounds.topLeft().offset(offset);\n bounds = bounds.offset(topLeft);\n\n // Bottom right of new bounds should also be outside of a floating widget.\n const widgetBottomRight = new Point(\n widgetBounds.right,\n widgetBounds.bottom\n );\n const minBottomRight = widgetBottomRight.offset(offset);\n const x = Math.max(0, minBottomRight.x - bounds.right);\n const y = Math.max(0, minBottomRight.y - bounds.bottom);\n bounds = bounds.offset({ x, y });\n }\n\n // TODO: might still end up with a bunch of overlapping widgets.\n if (bounds.bottom >= widgetsBounds.bottom) {\n bounds = bounds.setPosition({ x: bounds.left, y: widgetsBounds.top });\n }\n if (bounds.right >= widgetsBounds.right) {\n bounds = bounds.setPosition({\n x: widgetsBounds.left,\n y: widgetsBounds.top,\n });\n }\n bounds = bounds.containIn(widgetsBounds);\n return bounds.toProps();\n}\n\n/** @internal */\nexport function addFloatingWidget(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n floatingWidgetArgs?: Partial<FloatingWidgetState>,\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n if (id in state.floatingWidgets.byId)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Floating widget already exists\");\n\n state = addWidgetState(state, id, tabs, widgetArgs);\n\n let bounds = floatingWidgetArgs?.bounds;\n if (!bounds) {\n bounds = getNewFloatingWidgetBounds(state);\n }\n\n const tabId = tabs[0];\n const tab = state.tabs[tabId];\n const resizable = tab.isFloatingWidgetResizable;\n\n const floatingWidget = createFloatingWidgetState(id, {\n bounds,\n resizable,\n ...floatingWidgetArgs,\n });\n return produce(state, (stateDraft) => {\n stateDraft.floatingWidgets.byId[id] = floatingWidget;\n stateDraft.floatingWidgets.allIds.push(id);\n });\n}\n\n/** @internal */\nexport function addPopoutWidget(\n state: NineZoneState,\n id: PopoutWidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n popoutWidgetArgs?: Partial<PopoutWidgetState>,\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n if (tabs.length !== 1)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n category,\n \"Popout widget should contain one tab only\",\n undefined,\n () => ({ tabs })\n );\n\n const popoutWidget = createPopoutWidgetState(id, popoutWidgetArgs);\n state = addWidgetState(state, id, tabs, widgetArgs);\n return produce(state, (stateDraft) => {\n stateDraft.popoutWidgets.byId[id] = popoutWidget;\n stateDraft.popoutWidgets.allIds.push(id);\n });\n}\n\n/** @internal */\nexport function floatingWidgetBringToFront(\n state: NineZoneState,\n floatingWidgetId: FloatingWidgetState[\"id\"]\n): NineZoneState {\n return produce(state, (draft) => {\n const idIndex = draft.floatingWidgets.allIds.indexOf(floatingWidgetId);\n const spliced = draft.floatingWidgets.allIds.splice(idIndex, 1);\n draft.floatingWidgets.allIds.push(spliced[0]);\n });\n}\n"]}
|
|
@@ -33,7 +33,7 @@ function TitleBarTarget() {
|
|
|
33
33
|
// istanbul ignore next
|
|
34
34
|
const hidden = !allowedTarget ||
|
|
35
35
|
(((!draggedTab && !draggedWidgetId) || draggedWidgetId === widgetId) &&
|
|
36
|
-
!(activeHomeState
|
|
36
|
+
!((activeHomeState === null || activeHomeState === void 0 ? void 0 : activeHomeState.widgetId) === widgetId));
|
|
37
37
|
const className = (0, classnames_1.default)("nz-target-titleBarTarget", hidden && "nz-hidden",
|
|
38
38
|
// istanbul ignore next
|
|
39
39
|
cursorType && (0, CursorOverlay_1.getCursorClassName)(cursorType));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TitleBarTarget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/target/TitleBarTarget.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,iCAA+B;AAC/B,2CAAoC;AACpC,+BAA+B;AAC/B,sDAA6C;AAC7C,qDAAwE;AACxE,+CAAqD;AACrD,kEAAoE;AAEpE,6CAAmD;AACnD,sDAAmD;AACnD,qEAAkE;AAElE,qDAAgD;AAChD,iDAA0D;AAE1D,gBAAgB;AAChB,SAAgB,cAAc;IAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,4BAAiB,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,oCAAsB,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAe,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,IAAA,+BAAoB,GAAE,CAAC;IAC/C,IAAA,qBAAM,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnB,MAAM,UAAU,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,uBAAS,EAAiB,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,IAAA,+CAAsB,EAAC,QAAQ,CAAC,CAAC;IAEvD,uBAAuB;IACvB,MAAM,MAAM,GACV,CAAC,aAAa;QACd,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,eAAe,CAAC,IAAI,eAAe,KAAK,QAAQ,CAAC;YAClE,CAAC,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"TitleBarTarget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/target/TitleBarTarget.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,iCAA+B;AAC/B,2CAAoC;AACpC,+BAA+B;AAC/B,sDAA6C;AAC7C,qDAAwE;AACxE,+CAAqD;AACrD,kEAAoE;AAEpE,6CAAmD;AACnD,sDAAmD;AACnD,qEAAkE;AAElE,qDAAgD;AAChD,iDAA0D;AAE1D,gBAAgB;AAChB,SAAgB,cAAc;IAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,4BAAiB,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,oCAAsB,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAe,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,IAAA,+BAAoB,GAAE,CAAC;IAC/C,IAAA,qBAAM,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnB,MAAM,UAAU,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,uBAAS,EAAiB,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,IAAA,+CAAsB,EAAC,QAAQ,CAAC,CAAC;IAEvD,uBAAuB;IACvB,MAAM,MAAM,GACV,CAAC,aAAa;QACd,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,eAAe,CAAC,IAAI,eAAe,KAAK,QAAQ,CAAC;YAClE,CAAC,CAAC,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,MAAK,QAAQ,CAAC,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,0BAA0B,EAC1B,MAAM,IAAI,WAAW;IACrB,uBAAuB;IACvB,UAAU,IAAI,IAAA,kCAAkB,EAAC,UAAU,CAAC,CAC7C,CAAC;IACF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG;QACjC,oBAAC,uBAAU,OAAG,CACV,CACP,CAAC;AACJ,CAAC;AA1BD,wCA0BC;AAED,SAAS,aAAa,CAAC,QAA2B;IAChD,OAAO,KAAK,CAAC,OAAO,CAAwB,GAAG,EAAE;QAC/C,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ;SACT,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./TitleBarTarget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { DraggedWidgetIdContext, useTarget } from \"../base/DragManager\";\nimport { CursorTypeContext } from \"../base/NineZone\";\nimport { getCursorClassName } from \"../widget-panels/CursorOverlay\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { WidgetIdContext } from \"../widget/Widget\";\nimport { TabOutline } from \"../outline/TabOutline\";\nimport { useAllowedWidgetTarget } from \"./useAllowedWidgetTarget\";\nimport type { WidgetDropTargetState } from \"../state/DropTargetState\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { useSendBackHomeState } from \"../widget/SendBack\";\n\n/** @internal */\nexport function TitleBarTarget() {\n const cursorType = React.useContext(CursorTypeContext);\n const draggedWidgetId = React.useContext(DraggedWidgetIdContext);\n const widgetId = React.useContext(WidgetIdContext);\n const activeHomeState = useSendBackHomeState();\n assert(!!widgetId);\n const draggedTab = useLayout((state) => !!state.draggedTab);\n const [ref] = useTarget<HTMLDivElement>(useTargetArgs(widgetId));\n const allowedTarget = useAllowedWidgetTarget(widgetId);\n\n // istanbul ignore next\n const hidden =\n !allowedTarget ||\n (((!draggedTab && !draggedWidgetId) || draggedWidgetId === widgetId) &&\n !(activeHomeState?.widgetId === widgetId));\n const className = classnames(\n \"nz-target-titleBarTarget\",\n hidden && \"nz-hidden\",\n // istanbul ignore next\n cursorType && getCursorClassName(cursorType)\n );\n return (\n <div className={className} ref={ref}>\n <TabOutline />\n </div>\n );\n}\n\nfunction useTargetArgs(widgetId: WidgetState[\"id\"]) {\n return React.useMemo<WidgetDropTargetState>(() => {\n return {\n type: \"widget\",\n widgetId,\n };\n }, [widgetId]);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Content.tsx"],"names":[],"mappings":"AAIA;;GAEG;
|
|
1
|
+
{"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Content.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,gBAAgB,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,gHAAgH;IAChH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,qBA2B1E"}
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.ScrollableWidgetContent = void 0;
|
|
11
|
-
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
11
|
const core_react_1 = require("@itwin/core-react");
|
|
13
12
|
const React = require("react");
|
|
14
13
|
const useTransientState_1 = require("../../widget-panels/useTransientState");
|
|
@@ -20,12 +19,13 @@ function ScrollableWidgetContent(props) {
|
|
|
20
19
|
const scrollPosition = React.useRef(new core_react_1.Point());
|
|
21
20
|
const ref = React.useRef(null);
|
|
22
21
|
const onSave = React.useCallback(() => {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
if (!ref.current)
|
|
23
|
+
return;
|
|
24
|
+
scrollPosition.current = new core_react_1.Point(ref.current.scrollLeft, ref.current.scrollTop);
|
|
26
25
|
}, []);
|
|
27
26
|
const onRestore = React.useCallback(() => {
|
|
28
|
-
|
|
27
|
+
if (!ref.current)
|
|
28
|
+
return;
|
|
29
29
|
ref.current.scrollLeft = scrollPosition.current.x;
|
|
30
30
|
ref.current.scrollTop = scrollPosition.current.y;
|
|
31
31
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Content.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Content.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,kDAA0C;AAC1C,+BAA+B;AAC/B,6EAA0E;AAC1E,0BAAwB;AAYxB;;GAEG;AACH,SAAgB,uBAAuB,CAAC,KAAmC;IACzE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,kBAAK,EAAE,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpC,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO;QACzB,cAAc,CAAC,OAAO,GAAG,IAAI,kBAAK,CAChC,GAAG,CAAC,OAAO,CAAC,UAAU,EACtB,GAAG,CAAC,OAAO,CAAC,SAAS,CACtB,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO;QACzB,GAAG,CAAC,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,IAAA,qCAAiB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC,OAAO,CACL,6CACgB,KAAK,CAAC,MAAM,2BACH,KAAK,CAAC,UAAU,oBACxB,gBAAgB,EAC/B,SAAS,EAAC,mBAAmB,EAC7B,GAAG,EAAE,GAAG,IAEP,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC;AA3BD,0DA2BC","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 Widget\n */\n\nimport { Point } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { useTransientState } from \"../../widget-panels/useTransientState\";\nimport \"./Content.scss\";\n\n/** Properties of [[ScrollableWidgetContent]] component.\n * @internal\n */\nexport interface ScrollableWidgetContentProps {\n /** Optional unique identifier for item. If defined it will be added to DOM Element attribute as data-item-id */\n itemId?: string;\n providerId?: string;\n children?: React.ReactNode;\n}\n\n/** Component that enables widget content scrolling.\n * @internal\n */\nexport function ScrollableWidgetContent(props: ScrollableWidgetContentProps) {\n const scrollPosition = React.useRef(new Point());\n const ref = React.useRef<HTMLDivElement>(null);\n const onSave = React.useCallback(() => {\n if (!ref.current) return;\n scrollPosition.current = new Point(\n ref.current.scrollLeft,\n ref.current.scrollTop\n );\n }, []);\n const onRestore = React.useCallback(() => {\n if (!ref.current) return;\n ref.current.scrollLeft = scrollPosition.current.x;\n ref.current.scrollTop = scrollPosition.current.y;\n }, []);\n useTransientState(onSave, onRestore);\n return (\n <div\n data-item-id={props.itemId}\n data-item-provider-id={props.providerId}\n data-item-type=\"widget-content\"\n className=\"nz-widget-content\"\n ref={ref}\n >\n {props.children}\n </div>\n );\n}\n"]}
|
|
@@ -21,7 +21,7 @@ function WidgetContentRenderers() {
|
|
|
21
21
|
const tabIds = (0, LayoutStore_1.useLayout)((state) => {
|
|
22
22
|
return Object.keys(state.tabs);
|
|
23
23
|
}, true);
|
|
24
|
-
const toolSettingsTabId = (0, LayoutStore_1.useLayout)((state) => state.toolSettings
|
|
24
|
+
const toolSettingsTabId = (0, LayoutStore_1.useLayout)((state) => { var _a; return (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId; });
|
|
25
25
|
return (React.createElement(React.Fragment, null, tabIds.map((tabId) => {
|
|
26
26
|
const children = tabId === toolSettingsTabId ? toolSettingsContent : widgetContent;
|
|
27
27
|
return (React.createElement(WidgetContentRenderer, { key: tabId, tabId: tabId }, children));
|
|
@@ -50,7 +50,7 @@ function WidgetContentRenderer(props) {
|
|
|
50
50
|
widgetContentManager.onRestoreTransientState.raiseEvent(props.tabId);
|
|
51
51
|
}
|
|
52
52
|
return () => {
|
|
53
|
-
for (const child of parent
|
|
53
|
+
for (const child of (parent === null || parent === void 0 ? void 0 : parent.children) || []) {
|
|
54
54
|
if (child === container.current) {
|
|
55
55
|
parent.removeChild(child);
|
|
56
56
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentRenderer.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentRenderer.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,kCAAgC;AAChC,+BAA+B;AAC/B,sCAAsC;AACtC,+CAG0B;AAE1B,qDAG0B;AAC1B,qDAAgD;AAEhD,gBAAgB;AAChB,SAAgB,sBAAsB;IACpC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,mCAAwB,CAAC,CAAC;IACjE,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAAC,kCAAuB,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QACjC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,MAAM,iBAAiB,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"ContentRenderer.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentRenderer.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 Widget\n */\n\nimport \"./ContentRenderer.scss\";\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport {\n ToolSettingsNodeContext,\n WidgetContentNodeContext,\n} from \"../base/NineZone\";\nimport type { TabState } from \"../state/TabState\";\nimport {\n useContainersStore,\n WidgetContentManagerContext,\n} from \"./ContentManager\";\nimport { useLayout } from \"../base/LayoutStore\";\n\n/** @internal */\nexport function WidgetContentRenderers() {\n const widgetContent = React.useContext(WidgetContentNodeContext);\n const toolSettingsContent = React.useContext(ToolSettingsNodeContext);\n const tabIds = useLayout((state) => {\n return Object.keys(state.tabs);\n }, true);\n const toolSettingsTabId = useLayout((state) => state.toolSettings?.tabId);\n return (\n <>\n {tabIds.map((tabId) => {\n const children =\n tabId === toolSettingsTabId ? toolSettingsContent : widgetContent;\n return (\n <WidgetContentRenderer key={tabId} tabId={tabId}>\n {children}\n </WidgetContentRenderer>\n );\n })}\n </>\n );\n}\n\ninterface WidgetContentRendererProps {\n children?: React.ReactNode;\n tabId: TabState[\"id\"];\n}\n\n/** @internal */\nexport function WidgetContentRenderer(props: WidgetContentRendererProps) {\n const renderTo = useContainersStore((state) => state.containers[props.tabId]);\n const unloaded = useLayout((state) => !!state.tabs[props.tabId].unloaded);\n const widgetContentManager = React.useContext(WidgetContentManagerContext);\n const container = React.useRef<HTMLDivElement>(undefined!);\n if (!container.current) {\n container.current = document.createElement(\"div\");\n container.current.classList.add(\"nz-widget-contentRenderer\");\n }\n React.useLayoutEffect(() => {\n if (!widgetContentManager) return;\n\n const parent = renderTo;\n if (parent) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild);\n }\n\n parent.appendChild(container.current);\n widgetContentManager.onRestoreTransientState.raiseEvent(props.tabId);\n }\n return () => {\n for (const child of parent?.children || []) {\n if (child === container.current) {\n parent!.removeChild(child);\n return;\n }\n }\n };\n }, [renderTo, widgetContentManager, props.tabId]);\n return ReactDOM.createPortal(\n <div\n style={{ height: \"100%\", width: \"100%\" }}\n id={`content-container:${props.tabId}`}\n >\n <TabIdContext.Provider value={props.tabId}>\n {unloaded ? null : props.children}\n </TabIdContext.Provider>\n </div>,\n container.current\n );\n}\n\n/** @internal */\nexport const TabIdContext = React.createContext<TabState[\"id\"] | undefined>(\n undefined\n);\nTabIdContext.displayName = \"nz:TabIdContext\";\n\n/** @internal */\nexport function useTabTransientState(\n tabId: string,\n onSave?: () => void,\n onRestore?: () => void\n) {\n const widgetContentManager = React.useContext(WidgetContentManagerContext);\n React.useEffect(() => {\n if (!widgetContentManager) return;\n\n return widgetContentManager.onSaveTransientState.addListener((id) => {\n tabId === id && onSave && onSave();\n });\n }, [widgetContentManager, onSave, tabId]);\n React.useEffect(() => {\n if (!widgetContentManager) return;\n\n return widgetContentManager.onRestoreTransientState.addListener((id) => {\n tabId === id && onRestore && onRestore();\n });\n }, [widgetContentManager, onRestore, tabId]);\n}\n"]}
|
|
@@ -22,16 +22,17 @@ function FloatingTab() {
|
|
|
22
22
|
const { id, position } = (0, LayoutStore_1.useLayout)((state) => {
|
|
23
23
|
const draggedTab = state.draggedTab;
|
|
24
24
|
return {
|
|
25
|
-
id: draggedTab
|
|
26
|
-
position: draggedTab
|
|
25
|
+
id: draggedTab === null || draggedTab === void 0 ? void 0 : draggedTab.tabId,
|
|
26
|
+
position: draggedTab === null || draggedTab === void 0 ? void 0 : draggedTab.position,
|
|
27
27
|
};
|
|
28
28
|
}, true);
|
|
29
29
|
const { iconSpec, label } = (0, LayoutStore_1.useLayout)((state) => {
|
|
30
|
-
|
|
30
|
+
var _a;
|
|
31
|
+
const tabId = (_a = state.draggedTab) === null || _a === void 0 ? void 0 : _a.tabId;
|
|
31
32
|
const tab = tabId ? state.tabs[tabId] : undefined;
|
|
32
33
|
return {
|
|
33
|
-
iconSpec: tab
|
|
34
|
-
label: tab
|
|
34
|
+
iconSpec: tab === null || tab === void 0 ? void 0 : tab.iconSpec,
|
|
35
|
+
label: tab === null || tab === void 0 ? void 0 : tab.label,
|
|
35
36
|
};
|
|
36
37
|
}, true);
|
|
37
38
|
const dispatch = React.useContext(NineZone_1.NineZoneDispatchContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingTab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/FloatingTab.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,8BAA4B;AAC5B,2CAAoC;AACpC,+BAA+B;AAC/B,kDAAyC;AAEzC,qDAAiD;AACjD,+CAG0B;AAC1B,qDAAgD;AAEhD;;GAEG;AACH,SAAgB,WAAW;IACzB,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACpC,OAAO;YACL,EAAE,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"FloatingTab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/FloatingTab.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,8BAA4B;AAC5B,2CAAoC;AACpC,+BAA+B;AAC/B,kDAAyC;AAEzC,qDAAiD;AACjD,+CAG0B;AAC1B,qDAAgD;AAEhD;;GAEG;AACH,SAAgB,WAAW;IACzB,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACpC,OAAO;YACL,EAAE,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK;YACrB,QAAQ,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ;SAC/B,CAAC;IACJ,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;;QAC9C,MAAM,KAAK,GAAG,MAAA,KAAK,CAAC,UAAU,0CAAE,KAAK,CAAC;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD,OAAO;YACL,QAAQ,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ;YACvB,KAAK,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK;SAClB,CAAC;IACJ,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,kCAAuB,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAC9B,CAAC,MAAM,EAAE,EAAE;QACT,EAAE;YACA,QAAQ,CAAC;gBACP,IAAI,EAAE,iBAAiB;gBACvB,MAAM;aACP,CAAC,CAAC;IACP,CAAC,EACD,CAAC,QAAQ,EAAE,EAAE,CAAC,CACf,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,MAAM,EAAE,EAAE;QACT,EAAE;YACA,QAAQ,CAAC;gBACP,IAAI,EAAE,qBAAqB;gBAC3B,EAAE;gBACF,MAAM;aACP,CAAC,CAAC;IACP,CAAC,EACD,CAAC,QAAQ,EAAE,EAAE,CAAC,CACf,CAAC;IACF,IAAA,wBAAU,EAAC;QACT,KAAK,EAAE,EAAE,IAAI,EAAE;QACf,MAAM;QACN,SAAS;KACV,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,gCAAqB,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,QAAQ,IAAI;QACxB,SAAS,EAAE,aAAa,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,KAAK;KACzD,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,uBAAuB,EACvB,CAAC,QAAQ,IAAI,WAAW,CACzB,CAAC;IACF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK;QACpC,cAAc,IAAI,QAAQ,IAAI,oBAAC,iBAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI;QAC3D,kCAAO,KAAK,CAAQ,CAChB,CACP,CAAC;AACJ,CAAC;AA1DD,kCA0DC","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 Widget\n */\n\nimport \"./FloatingTab.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Icon } from \"@itwin/core-react\";\nimport type { UseDragTabArgs } from \"../base/DragManager\";\nimport { useDragTab } from \"../base/DragManager\";\nimport {\n NineZoneDispatchContext,\n ShowWidgetIconContext,\n} from \"../base/NineZone\";\nimport { useLayout } from \"../base/LayoutStore\";\n\n/** Component that displays a floating tab.\n * @internal\n */\nexport function FloatingTab() {\n const { id, position } = useLayout((state) => {\n const draggedTab = state.draggedTab;\n return {\n id: draggedTab?.tabId,\n position: draggedTab?.position,\n };\n }, true);\n const { iconSpec, label } = useLayout((state) => {\n const tabId = state.draggedTab?.tabId;\n const tab = tabId ? state.tabs[tabId] : undefined;\n return {\n iconSpec: tab?.iconSpec,\n label: tab?.label,\n };\n }, true);\n\n const dispatch = React.useContext(NineZoneDispatchContext);\n const onDrag = React.useCallback<NonNullable<UseDragTabArgs[\"onDrag\"]>>(\n (dragBy) => {\n id &&\n dispatch({\n type: \"WIDGET_TAB_DRAG\",\n dragBy,\n });\n },\n [dispatch, id]\n );\n const onDragEnd = React.useCallback<NonNullable<UseDragTabArgs[\"onDragEnd\"]>>(\n (target) => {\n id &&\n dispatch({\n type: \"WIDGET_TAB_DRAG_END\",\n id,\n target,\n });\n },\n [dispatch, id]\n );\n useDragTab({\n tabId: id || \"\",\n onDrag,\n onDragEnd,\n });\n const showWidgetIcon = React.useContext(ShowWidgetIconContext);\n const style = position && {\n transform: `translate(${position.x}px, ${position.y}px)`,\n };\n const className = classnames(\n \"nz-widget-floatingTab\",\n !position && \"nz-hidden\"\n );\n return (\n <div className={className} style={style}>\n {showWidgetIcon && iconSpec && <Icon iconSpec={iconSpec} />}\n <span>{label}</span>\n </div>\n );\n}\n"]}
|
|
@@ -82,6 +82,7 @@ function useFloatingWidgetState() {
|
|
|
82
82
|
const id = useFloatingWidgetId();
|
|
83
83
|
(0, core_bentley_1.assert)(!!id);
|
|
84
84
|
return (0, LayoutStore_1.useLayout)((state) => {
|
|
85
|
+
var _a;
|
|
85
86
|
const widget = (0, WidgetStateHelpers_1.getWidgetState)(state, id);
|
|
86
87
|
const floatingWidget = state.floatingWidgets.byId[id];
|
|
87
88
|
const tabs = widget.tabs;
|
|
@@ -89,7 +90,7 @@ function useFloatingWidgetState() {
|
|
|
89
90
|
const activeTab = state.tabs[activeTabId];
|
|
90
91
|
const userSized = floatingWidget.userSized;
|
|
91
92
|
const singleTab = 1 === tabs.length;
|
|
92
|
-
const toolSettingsTabId = state.toolSettings
|
|
93
|
+
const toolSettingsTabId = (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId;
|
|
93
94
|
const isToolSettingsTab = widget.tabs[0] === toolSettingsTabId;
|
|
94
95
|
const resizable = !!floatingWidget.resizable && !isToolSettingsTab;
|
|
95
96
|
const autoSized = singleTab && !userSized;
|
|
@@ -260,10 +261,11 @@ exports.useFloatingWidgetId = useFloatingWidgetId;
|
|
|
260
261
|
function useWidgetAllowedToDock() {
|
|
261
262
|
const id = useFloatingWidgetId();
|
|
262
263
|
return (0, LayoutStore_1.useLayout)((state) => {
|
|
264
|
+
var _a;
|
|
263
265
|
if (id) {
|
|
264
266
|
const widget = (0, WidgetStateHelpers_1.getWidgetState)(state, id);
|
|
265
267
|
const activeTab = state.tabs[widget.activeTabId];
|
|
266
|
-
if (activeTab.allowedPanelTargets
|
|
268
|
+
if (((_a = activeTab.allowedPanelTargets) === null || _a === void 0 ? void 0 : _a.length) === 0) {
|
|
267
269
|
return false;
|
|
268
270
|
}
|
|
269
271
|
}
|