@itwin/appui-react 4.10.0-dev.1 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -1
- package/lib/cjs/appui-react/UiFramework.d.ts +181 -10
- package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/cjs/appui-react/UiFramework.js +301 -21
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +3 -2
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +7 -9
- 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/Calculator.js +9 -9
- package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
- package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +2 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +2 -2
- package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +24 -17
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/TimeTracker.js +2 -1
- package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentGroup.js +2 -2
- package/lib/cjs/appui-react/content/ContentGroup.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 +10 -11
- 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/feedback/ValidationTextbox.js +2 -2
- package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +4 -2
- package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +0 -5
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js +20 -77
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +1 -3
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +1 -2
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +7 -6
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts +6 -0
- package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
- package/lib/cjs/appui-react/hooks/useActiveToolId.js +24 -0
- package/lib/cjs/appui-react/hooks/useActiveToolId.js.map +1 -0
- package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
- package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts +15 -0
- package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
- package/lib/cjs/appui-react/hooks/useConditionalValue.js +43 -0
- package/lib/cjs/appui-react/hooks/useConditionalValue.js.map +1 -0
- package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js +1 -1
- package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
- 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/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/cjs/appui-react/keyins/Keyins.d.ts +35 -0
- package/lib/cjs/appui-react/keyins/Keyins.d.ts.map +1 -0
- package/lib/cjs/appui-react/keyins/Keyins.js +54 -0
- package/lib/cjs/appui-react/keyins/Keyins.js.map +1 -0
- package/lib/cjs/appui-react/layers.scss +11 -0
- package/lib/cjs/appui-react/layout/StandardLayout.d.ts +24 -0
- package/lib/cjs/appui-react/layout/StandardLayout.d.ts.map +1 -0
- package/lib/cjs/appui-react/layout/StandardLayout.js +56 -0
- package/lib/cjs/appui-react/layout/StandardLayout.js.map +1 -0
- package/lib/cjs/appui-react/layout/StandardLayout.scss +94 -0
- package/lib/cjs/appui-react/layout/_widgetopacity.scss +3 -1
- package/lib/cjs/appui-react/layout/backstage/Backstage.js +1 -1
- package/lib/cjs/appui-react/layout/backstage/Backstage.js.map +1 -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/SafeAreaInsets.js +4 -4
- package/lib/cjs/appui-react/layout/base/SafeAreaInsets.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/PanelOutline.scss +1 -10
- package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
- package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
- package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
- package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +14 -12
- package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
- package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js +1 -0
- package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +8 -2
- package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -0
- package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +6 -4
- package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
- package/lib/cjs/appui-react/layout/target/PanelTargets.scss +2 -0
- 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/tool-settings/Docked.d.ts +12 -6
- package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/tool-settings/Docked.js +52 -21
- package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
- package/lib/cjs/appui-react/layout/tool-settings/Docked.scss +15 -23
- package/lib/cjs/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/tool-settings/Handle.js +3 -1
- package/lib/cjs/appui-react/layout/tool-settings/Handle.js.map +1 -1
- package/lib/cjs/appui-react/layout/tool-settings/Handle.scss +6 -12
- package/lib/cjs/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/tool-settings/Overflow.js +4 -5
- package/lib/cjs/appui-react/layout/tool-settings/Overflow.js.map +1 -1
- package/lib/cjs/appui-react/layout/tool-settings/Overflow.scss +0 -15
- package/lib/cjs/appui-react/layout/tool-settings/Setting.scss +1 -12
- package/lib/cjs/appui-react/layout/widget/Buttons.d.ts +4 -4
- package/lib/cjs/appui-react/layout/widget/Buttons.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget/Buttons.js +8 -31
- package/lib/cjs/appui-react/layout/widget/Buttons.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/ContentContainer.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget/ContentContainer.js +2 -0
- package/lib/cjs/appui-react/layout/widget/ContentContainer.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts +1 -1
- package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget/ContentManager.js +1 -1
- package/lib/cjs/appui-react/layout/widget/ContentManager.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/ContentRenderer.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +8 -2
- package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/Dock.d.ts +2 -0
- package/lib/cjs/appui-react/layout/widget/Dock.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget/Dock.js +10 -1
- package/lib/cjs/appui-react/layout/widget/Dock.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.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +19 -19
- package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/FloatingWidget.scss +92 -105
- 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/PinToggle.d.ts +2 -0
- package/lib/cjs/appui-react/layout/widget/PinToggle.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget/PinToggle.js +10 -1
- package/lib/cjs/appui-react/layout/widget/PinToggle.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/SendBack.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget/SendBack.js +4 -5
- package/lib/cjs/appui-react/layout/widget/SendBack.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/Tab.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget/Tab.js +9 -14
- package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/TabBar.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget/TabBar.js +4 -1
- package/lib/cjs/appui-react/layout/widget/TabBar.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/TabBar.scss +17 -19
- 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/usePanelWidgetId.d.ts +8 -0
- package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.d.ts.map +1 -0
- package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.js +39 -0
- package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.js.map +1 -0
- package/lib/cjs/appui-react/layout/widget-panels/Grip.d.ts +1 -1
- package/lib/cjs/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget-panels/Grip.js +4 -0
- package/lib/cjs/appui-react/layout/widget-panels/Grip.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget-panels/Grip.scss +106 -104
- package/lib/cjs/appui-react/layout/widget-panels/Panel.d.ts +1 -1
- package/lib/cjs/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget-panels/Panel.js +10 -16
- package/lib/cjs/appui-react/layout/widget-panels/Panel.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget-panels/Panel.scss +175 -243
- package/lib/cjs/appui-react/layout/widget-panels/PanelSections.d.ts +1 -0
- package/lib/cjs/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +42 -35
- package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget-panels/{Panels.scss → PanelSections.scss} +1 -11
- 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/layout/widget-panels/usePanelsAutoCollapse.d.ts +7 -0
- package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts.map +1 -0
- package/lib/cjs/appui-react/layout/widget-panels/{AppContent.js → usePanelsAutoCollapse.js} +3 -26
- package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -0
- 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 -7
- 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/messages/getToastCategory.d.ts +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 +2 -3
- 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 +13 -6
- 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 +25 -16
- 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 +10 -4
- 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/ToolSettingsPopup.js +1 -1
- package/lib/cjs/appui-react/popup/ToolSettingsPopup.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 +8 -3
- package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +9 -2
- package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
- package/lib/cjs/appui-react/preview/PreviewFeatures.js +3 -2
- package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
- package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
- package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
- package/lib/cjs/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
- package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
- package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
- package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +18 -0
- package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
- package/lib/cjs/appui-react/{layout/widget-panels/CenterContent.scss → preview/content-always-max-size/useContentAlwaysMaxSize.scss} +5 -2
- package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts +9 -0
- package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +51 -0
- package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -0
- package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +18 -0
- package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.js +27 -0
- package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -0
- package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +50 -0
- package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +115 -0
- package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -0
- package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
- package/lib/cjs/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.d.ts +4 -6
- package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -0
- package/lib/cjs/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.js +18 -22
- package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -0
- package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts +19 -0
- package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +30 -0
- package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -0
- package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js +25 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Badge.js +20 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Badge.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Badge.scss +13 -0
- package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
- package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +36 -0
- package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
- package/lib/cjs/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +8 -13
- package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
- package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
- package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +79 -0
- package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts +21 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Item.js +54 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
- package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +37 -0
- package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +85 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js +40 -0
- package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
- package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js +93 -0
- package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
- package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
- package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js +1 -1
- package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
- package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +3 -2
- package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
- package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +7 -6
- 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 +17 -5
- package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
- package/lib/cjs/appui-react/redux/SessionState.js +8 -1
- package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
- package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +40 -46
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/cjs/appui-react/shared/ConditionalValue.d.ts +17 -0
- package/lib/cjs/appui-react/shared/ConditionalValue.d.ts.map +1 -0
- package/lib/cjs/appui-react/shared/ConditionalValue.js +16 -0
- package/lib/cjs/appui-react/shared/ConditionalValue.js.map +1 -0
- package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
- package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
- package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/cjs/appui-react/shared/ItemProps.d.ts +13 -2
- package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
- package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/cjs/appui-react/shared/MenuItem.d.ts +21 -2
- package/lib/cjs/appui-react/shared/MenuItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +16 -11
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Indicator.js +2 -1
- package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Overflow.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/Overflow.js +3 -3
- package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.js +6 -4
- package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.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/{esm/appui-react/statusbar → cjs/appui-react/statusbar/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 +5 -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/tools/FrameworkToolAdmin.d.ts.map +1 -1
- package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js +2 -1
- package/lib/cjs/appui-react/tools/FrameworkToolAdmin.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/BaseUiItemsProvider.js +3 -3
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.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/uiprovider/DefaultDialogGridContainer.scss +0 -7
- package/lib/cjs/appui-react/useTranslation.d.ts +10 -0
- package/lib/cjs/appui-react/useTranslation.d.ts.map +1 -0
- package/lib/cjs/appui-react/useTranslation.js +20 -0
- package/lib/cjs/appui-react/useTranslation.js.map +1 -0
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
- package/lib/cjs/appui-react/utils/Placement.d.ts +35 -0
- package/lib/cjs/appui-react/utils/Placement.d.ts.map +1 -0
- package/lib/cjs/appui-react/utils/Placement.js +62 -0
- package/lib/cjs/appui-react/utils/Placement.js.map +1 -0
- package/lib/cjs/appui-react/utils/PropsHelper.js +4 -4
- package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/cjs/appui-react/utils/matchesWords.js +4 -4
- package/lib/cjs/appui-react/utils/matchesWords.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 +43 -39
- package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.scss +0 -23
- package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Tab.d.ts +1 -1
- package/lib/cjs/appui-react/widget-panels/Tab.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Tab.js +3 -4
- package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js +55 -68
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +0 -6
- 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 +9 -4
- 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 +4 -1
- package/lib/cjs/appui-react.d.ts.map +1 -1
- package/lib/cjs/appui-react.js +4 -3
- package/lib/cjs/appui-react.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.d.ts +181 -10
- package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +301 -21
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +3 -2
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +7 -9
- 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/Calculator.js +9 -9
- package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
- package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js +2 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItem.d.ts +2 -2
- package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +23 -16
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/TimeTracker.js +2 -1
- package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentGroup.js +2 -2
- package/lib/esm/appui-react/content/ContentGroup.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 +10 -11
- 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/feedback/ValidationTextbox.js +2 -2
- package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +4 -2
- package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +0 -5
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js +21 -78
- package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +1 -3
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
- package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalFrontstage.js +1 -2
- package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +7 -6
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveToolId.d.ts +6 -0
- package/lib/esm/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
- package/lib/esm/appui-react/hooks/useActiveToolId.js +20 -0
- package/lib/esm/appui-react/hooks/useActiveToolId.js.map +1 -0
- package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
- package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useConditionalValue.d.ts +15 -0
- package/lib/esm/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
- package/lib/esm/appui-react/hooks/useConditionalValue.js +39 -0
- package/lib/esm/appui-react/hooks/useConditionalValue.js.map +1 -0
- package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js +1 -1
- package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
- 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/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/esm/appui-react/keyins/Keyins.d.ts +35 -0
- package/lib/esm/appui-react/keyins/Keyins.d.ts.map +1 -0
- package/lib/esm/appui-react/keyins/Keyins.js +50 -0
- package/lib/esm/appui-react/keyins/Keyins.js.map +1 -0
- package/lib/esm/appui-react/layers.scss +11 -0
- package/lib/esm/appui-react/layout/StandardLayout.d.ts +24 -0
- package/lib/esm/appui-react/layout/StandardLayout.d.ts.map +1 -0
- package/lib/esm/appui-react/layout/StandardLayout.js +52 -0
- package/lib/esm/appui-react/layout/StandardLayout.js.map +1 -0
- package/lib/esm/appui-react/layout/StandardLayout.scss +94 -0
- package/lib/esm/appui-react/layout/_widgetopacity.scss +3 -1
- package/lib/esm/appui-react/layout/backstage/Backstage.js +1 -1
- package/lib/esm/appui-react/layout/backstage/Backstage.js.map +1 -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/SafeAreaInsets.js +4 -4
- package/lib/esm/appui-react/layout/base/SafeAreaInsets.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/PanelOutline.scss +1 -10
- package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
- package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
- package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
- package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
- package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +14 -12
- package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
- package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js +1 -0
- package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +8 -2
- package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -0
- package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +6 -4
- package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
- package/lib/esm/appui-react/layout/target/PanelTargets.scss +2 -0
- 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/tool-settings/Docked.d.ts +12 -6
- package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/tool-settings/Docked.js +53 -22
- package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
- package/lib/esm/appui-react/layout/tool-settings/Docked.scss +15 -23
- package/lib/esm/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/tool-settings/Handle.js +3 -1
- package/lib/esm/appui-react/layout/tool-settings/Handle.js.map +1 -1
- package/lib/esm/appui-react/layout/tool-settings/Handle.scss +6 -12
- package/lib/esm/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/tool-settings/Overflow.js +4 -5
- package/lib/esm/appui-react/layout/tool-settings/Overflow.js.map +1 -1
- package/lib/esm/appui-react/layout/tool-settings/Overflow.scss +0 -15
- package/lib/esm/appui-react/layout/tool-settings/Setting.scss +1 -12
- package/lib/esm/appui-react/layout/widget/Buttons.d.ts +4 -4
- package/lib/esm/appui-react/layout/widget/Buttons.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget/Buttons.js +8 -30
- package/lib/esm/appui-react/layout/widget/Buttons.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/ContentContainer.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget/ContentContainer.js +2 -0
- package/lib/esm/appui-react/layout/widget/ContentContainer.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/ContentManager.d.ts +1 -1
- package/lib/esm/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget/ContentManager.js +1 -1
- package/lib/esm/appui-react/layout/widget/ContentManager.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/ContentRenderer.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget/ContentRenderer.js +8 -2
- package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/Dock.d.ts +2 -0
- package/lib/esm/appui-react/layout/widget/Dock.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget/Dock.js +8 -0
- package/lib/esm/appui-react/layout/widget/Dock.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.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget/FloatingWidget.js +19 -19
- package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/FloatingWidget.scss +92 -105
- 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/PinToggle.d.ts +2 -0
- package/lib/esm/appui-react/layout/widget/PinToggle.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget/PinToggle.js +8 -0
- package/lib/esm/appui-react/layout/widget/PinToggle.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/SendBack.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget/SendBack.js +4 -5
- package/lib/esm/appui-react/layout/widget/SendBack.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/Tab.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget/Tab.js +9 -14
- package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/TabBar.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget/TabBar.js +4 -1
- package/lib/esm/appui-react/layout/widget/TabBar.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/TabBar.scss +17 -19
- 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/usePanelWidgetId.d.ts +8 -0
- package/lib/esm/appui-react/layout/widget/usePanelWidgetId.d.ts.map +1 -0
- package/lib/esm/appui-react/layout/widget/usePanelWidgetId.js +34 -0
- package/lib/esm/appui-react/layout/widget/usePanelWidgetId.js.map +1 -0
- package/lib/esm/appui-react/layout/widget-panels/Grip.d.ts +1 -1
- package/lib/esm/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget-panels/Grip.js +4 -0
- package/lib/esm/appui-react/layout/widget-panels/Grip.js.map +1 -1
- package/lib/esm/appui-react/layout/widget-panels/Grip.scss +106 -104
- package/lib/esm/appui-react/layout/widget-panels/Panel.d.ts +1 -1
- package/lib/esm/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget-panels/Panel.js +10 -16
- package/lib/esm/appui-react/layout/widget-panels/Panel.js.map +1 -1
- package/lib/esm/appui-react/layout/widget-panels/Panel.scss +175 -243
- package/lib/esm/appui-react/layout/widget-panels/PanelSections.d.ts +1 -0
- package/lib/esm/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +41 -34
- package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
- package/lib/esm/appui-react/layout/widget-panels/{Panels.scss → PanelSections.scss} +1 -11
- 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/layout/widget-panels/usePanelsAutoCollapse.d.ts +7 -0
- package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts.map +1 -0
- package/lib/esm/appui-react/layout/widget-panels/{AppContent.js → usePanelsAutoCollapse.js} +3 -25
- package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -0
- 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 -7
- 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/messages/getToastCategory.d.ts +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 +2 -3
- 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 +16 -8
- 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 +25 -16
- 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 +10 -4
- 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/ToolSettingsPopup.js +1 -1
- package/lib/esm/appui-react/popup/ToolSettingsPopup.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 +10 -4
- package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +9 -2
- package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
- package/lib/esm/appui-react/preview/PreviewFeatures.js +3 -2
- package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
- package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
- package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
- package/lib/esm/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
- package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
- package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
- package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +14 -0
- package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
- package/lib/esm/appui-react/{layout/widget-panels/CenterContent.scss → preview/content-always-max-size/useContentAlwaysMaxSize.scss} +5 -2
- package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts +9 -0
- package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +46 -0
- package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -0
- package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +18 -0
- package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.js +23 -0
- package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -0
- package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +50 -0
- package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +106 -0
- package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -0
- package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
- package/lib/esm/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.d.ts +4 -6
- package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -0
- package/lib/esm/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.js +16 -19
- package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -0
- package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts +19 -0
- package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +26 -0
- package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -0
- package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
- package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
- package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js +22 -0
- package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
- package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/Badge.js +16 -0
- package/lib/esm/appui-react/preview/new-toolbars/Badge.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/Badge.scss +13 -0
- package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
- package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +33 -0
- package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
- package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
- package/lib/esm/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +5 -10
- package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
- package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
- package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +74 -0
- package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts +21 -0
- package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/Item.js +49 -0
- package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
- package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +34 -0
- package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
- package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +81 -0
- package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
- package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
- package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js +36 -0
- package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
- package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js +89 -0
- package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
- package/lib/esm/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
- package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js +1 -1
- package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
- package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +3 -2
- package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
- package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +7 -6
- 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 +17 -5
- package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
- package/lib/esm/appui-react/redux/SessionState.js +8 -1
- package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
- package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +40 -46
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/esm/appui-react/shared/ConditionalValue.d.ts +17 -0
- package/lib/esm/appui-react/shared/ConditionalValue.d.ts.map +1 -0
- package/lib/esm/appui-react/shared/ConditionalValue.js +13 -0
- package/lib/esm/appui-react/shared/ConditionalValue.js.map +1 -0
- package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
- package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
- package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/esm/appui-react/shared/ItemProps.d.ts +13 -2
- package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
- package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/esm/appui-react/shared/MenuItem.d.ts +21 -2
- package/lib/esm/appui-react/shared/MenuItem.d.ts.map +1 -1
- package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js +16 -11
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Indicator.js +2 -1
- package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Overflow.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/Overflow.js +3 -3
- package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.js +6 -4
- package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarComposer.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/{cjs/appui-react/statusbar → esm/appui-react/statusbar/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 +5 -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/tools/FrameworkToolAdmin.d.ts.map +1 -1
- package/lib/esm/appui-react/tools/FrameworkToolAdmin.js +2 -1
- package/lib/esm/appui-react/tools/FrameworkToolAdmin.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/BaseUiItemsProvider.js +3 -3
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.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/uiprovider/DefaultDialogGridContainer.scss +0 -7
- package/lib/esm/appui-react/useTranslation.d.ts +10 -0
- package/lib/esm/appui-react/useTranslation.d.ts.map +1 -0
- package/lib/esm/appui-react/useTranslation.js +16 -0
- package/lib/esm/appui-react/useTranslation.js.map +1 -0
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
- package/lib/esm/appui-react/utils/Placement.d.ts +35 -0
- package/lib/esm/appui-react/utils/Placement.d.ts.map +1 -0
- package/lib/esm/appui-react/utils/Placement.js +57 -0
- package/lib/esm/appui-react/utils/Placement.js.map +1 -0
- package/lib/esm/appui-react/utils/PropsHelper.js +4 -4
- package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/esm/appui-react/utils/matchesWords.js +4 -4
- package/lib/esm/appui-react/utils/matchesWords.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 +45 -41
- package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.scss +0 -23
- package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Tab.d.ts +1 -1
- package/lib/esm/appui-react/widget-panels/Tab.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/Tab.js +2 -3
- package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.js +53 -66
- package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.scss +0 -6
- 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 +9 -4
- 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 +4 -1
- package/lib/esm/appui-react.d.ts.map +1 -1
- package/lib/esm/appui-react.js +4 -1
- package/lib/esm/appui-react.js.map +1 -1
- package/lib/public/locales/en/UiFramework.json +8 -2
- package/package.json +22 -20
- 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/layout/widget/PreviewHorizontalPanelAlign.d.ts.map +0 -1
- package/lib/cjs/appui-react/layout/widget/PreviewHorizontalPanelAlign.js.map +0 -1
- package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.d.ts +0 -30
- package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.d.ts.map +0 -1
- package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.js +0 -65
- package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.js.map +0 -1
- package/lib/cjs/appui-react/layout/widget-panels/AppContent.d.ts +0 -11
- package/lib/cjs/appui-react/layout/widget-panels/AppContent.d.ts.map +0 -1
- package/lib/cjs/appui-react/layout/widget-panels/AppContent.js.map +0 -1
- package/lib/cjs/appui-react/layout/widget-panels/CenterContent.d.ts +0 -10
- package/lib/cjs/appui-react/layout/widget-panels/CenterContent.d.ts.map +0 -1
- package/lib/cjs/appui-react/layout/widget-panels/CenterContent.js +0 -23
- package/lib/cjs/appui-react/layout/widget-panels/CenterContent.js.map +0 -1
- package/lib/cjs/appui-react/layout/widget-panels/Content.d.ts +0 -21
- package/lib/cjs/appui-react/layout/widget-panels/Content.d.ts.map +0 -1
- package/lib/cjs/appui-react/layout/widget-panels/Content.js +0 -21
- package/lib/cjs/appui-react/layout/widget-panels/Content.js.map +0 -1
- package/lib/cjs/appui-react/layout/widget-panels/Content.scss +0 -37
- package/lib/cjs/appui-react/layout/widget-panels/Panels.d.ts +0 -24
- package/lib/cjs/appui-react/layout/widget-panels/Panels.d.ts.map +0 -1
- package/lib/cjs/appui-react/layout/widget-panels/Panels.js +0 -48
- package/lib/cjs/appui-react/layout/widget-panels/Panels.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/layout/widget/PreviewHorizontalPanelAlign.d.ts.map +0 -1
- package/lib/esm/appui-react/layout/widget/PreviewHorizontalPanelAlign.js.map +0 -1
- package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.d.ts +0 -30
- package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.d.ts.map +0 -1
- package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.js +0 -58
- package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.js.map +0 -1
- package/lib/esm/appui-react/layout/widget-panels/AppContent.d.ts +0 -11
- package/lib/esm/appui-react/layout/widget-panels/AppContent.d.ts.map +0 -1
- package/lib/esm/appui-react/layout/widget-panels/AppContent.js.map +0 -1
- package/lib/esm/appui-react/layout/widget-panels/CenterContent.d.ts +0 -10
- package/lib/esm/appui-react/layout/widget-panels/CenterContent.d.ts.map +0 -1
- package/lib/esm/appui-react/layout/widget-panels/CenterContent.js +0 -19
- package/lib/esm/appui-react/layout/widget-panels/CenterContent.js.map +0 -1
- package/lib/esm/appui-react/layout/widget-panels/Content.d.ts +0 -21
- package/lib/esm/appui-react/layout/widget-panels/Content.d.ts.map +0 -1
- package/lib/esm/appui-react/layout/widget-panels/Content.js +0 -18
- package/lib/esm/appui-react/layout/widget-panels/Content.js.map +0 -1
- package/lib/esm/appui-react/layout/widget-panels/Content.scss +0 -37
- package/lib/esm/appui-react/layout/widget-panels/Panels.d.ts +0 -24
- package/lib/esm/appui-react/layout/widget-panels/Panels.d.ts.map +0 -1
- package/lib/esm/appui-react/layout/widget-panels/Panels.js +0 -44
- package/lib/esm/appui-react/layout/widget-panels/Panels.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":"Tab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Tab.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 \"./Tab.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport {\n Icon,\n Point,\n Rectangle,\n Timer,\n useRefs,\n useResizeObserver,\n} from \"@itwin/core-react\";\nimport { useDragTab } from \"../base/DragManager\";\nimport {\n MeasureContext,\n NineZoneDispatchContext,\n ShowWidgetIconContext,\n TabNodeContext,\n} from \"../base/NineZone\";\nimport type { TabState } from \"../state/TabState\";\nimport type {\n PointerCaptorArgs,\n PointerCaptorEvent,\n} from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { WidgetTabsEntryContext } from \"./Tabs\";\nimport {\n restrainInitialWidgetSize,\n WidgetContext,\n WidgetIdContext,\n} from \"./Widget\";\nimport { TabIdContext } from \"./ContentRenderer\";\nimport { TabTarget } from \"../target/TabTarget\";\nimport { WidgetMenuTab } from \"./MenuTab\";\nimport { WidgetOverflowContext } from \"./Overflow\";\nimport { useLayout, useLayoutStore } from \"../base/LayoutStore\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport { Key } from \"ts-key-enum\";\nimport { usePreviewMaximizedWidget } from \"./PreviewMaximizeToggle\";\n\n/** @internal */\nexport interface WidgetTabProviderProps extends TabPositionContextArgs {\n id: TabState[\"id\"];\n showOnlyTabIcon?: boolean;\n}\n\n/** @internal */\nexport function WidgetTabProvider({\n id,\n first,\n firstInactive,\n last,\n showOnlyTabIcon,\n}: WidgetTabProviderProps) {\n const tabNode = React.useContext(TabNodeContext);\n const position = React.useMemo<TabPositionContextArgs>(\n () => ({\n first,\n firstInactive,\n last,\n }),\n [first, firstInactive, last]\n );\n return (\n <TabIdContext.Provider value={id}>\n <TabPositionContext.Provider value={position}>\n <IconOnlyOnWidgetTabContext.Provider value={!!showOnlyTabIcon}>\n {tabNode}\n </IconOnlyOnWidgetTabContext.Provider>\n </TabPositionContext.Provider>\n </TabIdContext.Provider>\n );\n}\n\n/** Properties of [[WidgetTab]] component.\n * @internal\n */\nexport interface WidgetTabProps extends CommonProps {\n badge?: React.ReactNode;\n}\n\n/** Component that displays a tab in a side panel widget.\n * @internal\n */\nexport function WidgetTab(props: WidgetTabProps) {\n const widgetOverflow = React.useContext(WidgetOverflowContext);\n const overflown = !!widgetOverflow;\n if (overflown) return <WidgetMenuTab {...props} />;\n return <WidgetTabComponent {...props} />;\n}\n\nfunction WidgetTabComponent(props: WidgetTabProps) {\n const id = React.useContext(TabIdContext);\n const { first, firstInactive, last } = React.useContext(TabPositionContext);\n const widgetTabsEntryContext = React.useContext(WidgetTabsEntryContext);\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n const showIconOnly = React.useContext(IconOnlyOnWidgetTabContext);\n const showWidgetIcon = React.useContext(ShowWidgetIconContext);\n assert(!!id);\n assert(!!widgetId);\n\n const iconSpec = useLayout((state) => state.tabs[id].iconSpec);\n const label = useLayout((state) => state.tabs[id].label);\n const activeTabId = useLayout(\n (state) => getWidgetState(state, widgetId).activeTabId\n );\n const minimized = useLayout(\n (state) => getWidgetState(state, widgetId).minimized\n );\n\n const { enabled: enableMaximizedFloatingWidget, maximizedWidget } =\n usePreviewMaximizedWidget();\n const floatingWidgetId = useFloatingWidgetId();\n // istanbul ignore next (preview)\n const maximized =\n !!floatingWidgetId &&\n maximizedWidget === floatingWidgetId &&\n enableMaximizedFloatingWidget;\n\n const resizeObserverRef = useResizeObserver<HTMLDivElement>(\n widgetTabsEntryContext?.onResize\n );\n const pointerCaptorRef = useTabInteractions({ clickOnly: maximized });\n const refs = useRefs<HTMLDivElement>(resizeObserverRef, pointerCaptorRef);\n\n const active = activeTabId === id;\n const className = classnames(\n \"nz-widget-tab\",\n active && \"nz-active\",\n undefined === side && minimized && \"nz-minimized\",\n first && \"nz-first\",\n last && \"nz-last\",\n firstInactive && \"nz-first-inactive\",\n props.className\n );\n\n const showLabel =\n (showIconOnly && !iconSpec) ||\n (showWidgetIcon && !showIconOnly) ||\n !showWidgetIcon;\n return (\n <div\n data-item-id={id}\n data-item-type=\"widget-tab\"\n className={className}\n ref={refs}\n role=\"tab\"\n style={props.style}\n title={label}\n tabIndex={0}\n >\n {(showWidgetIcon || showIconOnly) && iconSpec && (\n <Icon iconSpec={iconSpec} />\n )}\n {showLabel && <span>{label}</span>}\n {props.badge && <div className=\"nz-badge\">{props.badge}</div>}\n <TabTarget />\n </div>\n );\n}\n\n/** @internal */\nexport interface UseTabInteractionsArgs {\n onClick?: () => void;\n onDoubleClick?: () => void;\n onDragStart?: () => void;\n clickOnly?: boolean;\n}\n\n/** @internal */\nexport function useTabInteractions<T extends HTMLElement>({\n onClick,\n onDoubleClick,\n onDragStart,\n clickOnly,\n}: UseTabInteractionsArgs) {\n const id = React.useContext(TabIdContext);\n const widgetContext = React.useContext(WidgetContext);\n const measure = React.useContext(MeasureContext);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n const widgetTabsEntryContext = React.useContext(WidgetTabsEntryContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n assert(!!widgetId);\n\n const layoutStore = useLayoutStore();\n const tabRef = React.useRef(layoutStore.getState().tabs[id]);\n const clickCount = React.useRef(0);\n const doubleClickTimer = React.useRef(new Timer(300));\n const initialPointerPosition = React.useRef<Point>();\n\n const overflown = !widgetTabsEntryContext;\n\n React.useEffect(\n () =>\n layoutStore.subscribe((state) => {\n tabRef.current = state.tabs[id];\n }),\n [layoutStore, id]\n );\n\n const handleClick = React.useCallback(() => {\n dispatch({\n type: \"WIDGET_TAB_CLICK\",\n side,\n widgetId,\n id,\n });\n onClick?.();\n }, [dispatch, widgetId, id, side, onClick]);\n const handleDoubleClick = React.useCallback(() => {\n // istanbul ignore next (preview)\n if (clickOnly) return;\n dispatch({\n type: \"WIDGET_TAB_DOUBLE_CLICK\",\n side,\n widgetId,\n floatingWidgetId,\n id,\n });\n onDoubleClick?.();\n }, [\n clickOnly,\n dispatch,\n floatingWidgetId,\n widgetId,\n id,\n side,\n onDoubleClick,\n ]);\n\n const handleDragTabStart = useDragTab({\n tabId: id,\n });\n const handleDragStart = React.useCallback(\n (pointerPosition: Point) => {\n // istanbul ignore next (preview)\n if (clickOnly) return;\n assert(!!ref.current);\n assert(!!initialPointerPosition.current);\n const nzBounds = measure();\n const nzOffset = new Point(-nzBounds.left, -nzBounds.top);\n let bounds = Rectangle.create(ref.current.getBoundingClientRect());\n bounds = bounds.offset(nzOffset);\n\n const tab = tabRef.current;\n const userSized =\n tab.userSized ||\n (tab.isFloatingWidgetResizable &&\n /* istanbul ignore next */ !!tab.preferredFloatingWidgetSize);\n let position = bounds.topLeft();\n const widgetBounds = widgetContext.measure();\n const widgetSize = restrainInitialWidgetSize(\n widgetBounds.getSize(),\n nzBounds.getSize()\n );\n if (overflown) {\n position = initialPointerPosition.current.offset(nzOffset);\n position = position.offset({ x: -7, y: -7 });\n }\n\n const dragOffset =\n initialPointerPosition.current.getOffsetTo(pointerPosition);\n position = position.offset(dragOffset);\n\n handleDragTabStart({\n initialPointerPosition: Point.create(initialPointerPosition.current),\n pointerPosition,\n widgetSize,\n });\n dispatch({\n type: \"WIDGET_TAB_DRAG_START\",\n floatingWidgetId,\n side,\n widgetId,\n id,\n position,\n userSized,\n });\n onDragStart?.();\n\n initialPointerPosition.current = undefined;\n },\n [\n clickOnly,\n measure,\n widgetContext,\n handleDragTabStart,\n dispatch,\n floatingWidgetId,\n side,\n widgetId,\n id,\n onDragStart,\n overflown,\n ]\n );\n const handlePointerDown = React.useCallback(\n (args: PointerCaptorArgs, e: PointerCaptorEvent) => {\n e.type === \"touchstart\" &&\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n },\n [dispatch, floatingWidgetId]\n );\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n // istanbul ignore next\n if (!initialPointerPosition.current) return;\n\n const pointerPosition = new Point(args.clientX, args.clientY);\n const distance =\n initialPointerPosition.current.getDistanceTo(pointerPosition);\n if (distance < 10) return;\n handleDragStart(pointerPosition);\n },\n [handleDragStart]\n );\n const handlePointerUp = React.useCallback(() => {\n clickCount.current++;\n initialPointerPosition.current = undefined;\n doubleClickTimer.current.start();\n }, []);\n\n const pointerCaptorRef = usePointerCaptor<T>(\n handlePointerDown,\n handlePointerMove,\n handlePointerUp\n );\n const ref = React.useRef<T>();\n const refs = useRefs(pointerCaptorRef, ref);\n\n React.useEffect(() => {\n const timer = doubleClickTimer.current;\n timer.setOnExecute(() => {\n if (clickCount.current === 1) handleClick();\n else handleDoubleClick();\n clickCount.current = 0;\n });\n const keydown = (e: KeyboardEvent) => {\n if (e.key === \" \" || e.key === Key.Enter) {\n handleClick();\n }\n };\n const instance = ref.current;\n instance && instance.addEventListener(\"keydown\", keydown);\n return () => {\n timer.setOnExecute(undefined);\n instance && instance.removeEventListener(\"keydown\", keydown);\n };\n }, [handleClick, handleDoubleClick]);\n return refs;\n}\n\n/** @internal */\nexport interface TabPositionContextArgs {\n first?: boolean;\n last?: boolean;\n firstInactive?: boolean;\n}\n\n/** @internal */\nexport const TabPositionContext = React.createContext<TabPositionContextArgs>(\n undefined!\n);\nTabPositionContext.displayName = \"nz:TabPositionContext\";\n\n/** @internal */\nexport const IconOnlyOnWidgetTabContext = React.createContext<boolean>(false);\nIconOnlyOnWidgetTabContext.displayName = \"nz:IconOnlyOnWidgetTabContext\";\n"]}
|
|
1
|
+
{"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Tab.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 \"./Tab.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport {\n Icon,\n Point,\n Rectangle,\n Timer,\n useRefs,\n useResizeObserver,\n} from \"@itwin/core-react\";\nimport { useDragTab } from \"../base/DragManager\";\nimport {\n MeasureContext,\n NineZoneDispatchContext,\n ShowWidgetIconContext,\n TabNodeContext,\n} from \"../base/NineZone\";\nimport type { TabState } from \"../state/TabState\";\nimport type {\n PointerCaptorArgs,\n PointerCaptorEvent,\n} from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { WidgetTabsEntryContext } from \"./Tabs\";\nimport {\n restrainInitialWidgetSize,\n WidgetContext,\n WidgetIdContext,\n} from \"./Widget\";\nimport { TabIdContext } from \"./ContentRenderer\";\nimport { TabTarget } from \"../target/TabTarget\";\nimport { WidgetMenuTab } from \"./MenuTab\";\nimport { WidgetOverflowContext } from \"./Overflow\";\nimport { useLayout, useLayoutStore } from \"../base/LayoutStore\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport { useIsMaximizedWidget } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** @internal */\nexport interface WidgetTabProviderProps extends TabPositionContextArgs {\n id: TabState[\"id\"];\n showOnlyTabIcon?: boolean;\n}\n\n/** @internal */\nexport function WidgetTabProvider({\n id,\n first,\n firstInactive,\n last,\n showOnlyTabIcon,\n}: WidgetTabProviderProps) {\n const tabNode = React.useContext(TabNodeContext);\n const position = React.useMemo<TabPositionContextArgs>(\n () => ({\n first,\n firstInactive,\n last,\n }),\n [first, firstInactive, last]\n );\n return (\n <TabIdContext.Provider value={id}>\n <TabPositionContext.Provider value={position}>\n <IconOnlyOnWidgetTabContext.Provider value={!!showOnlyTabIcon}>\n {tabNode}\n </IconOnlyOnWidgetTabContext.Provider>\n </TabPositionContext.Provider>\n </TabIdContext.Provider>\n );\n}\n\n/** Properties of [[WidgetTab]] component.\n * @internal\n */\nexport interface WidgetTabProps extends CommonProps {\n badge?: React.ReactNode;\n}\n\n/** Component that displays a tab in a side panel widget.\n * @internal\n */\nexport function WidgetTab(props: WidgetTabProps) {\n const widgetOverflow = React.useContext(WidgetOverflowContext);\n const overflown = !!widgetOverflow;\n if (overflown) return <WidgetMenuTab {...props} />;\n return <WidgetTabComponent {...props} />;\n}\n\nfunction WidgetTabComponent(props: WidgetTabProps) {\n const id = React.useContext(TabIdContext);\n const { first, firstInactive, last } = React.useContext(TabPositionContext);\n const widgetTabsEntryContext = React.useContext(WidgetTabsEntryContext);\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n const showIconOnly = React.useContext(IconOnlyOnWidgetTabContext);\n const showWidgetIcon = React.useContext(ShowWidgetIconContext);\n assert(!!id);\n assert(!!widgetId);\n\n const iconSpec = useLayout((state) => state.tabs[id].iconSpec);\n const label = useLayout((state) => state.tabs[id].label);\n const activeTabId = useLayout(\n (state) => getWidgetState(state, widgetId).activeTabId\n );\n const minimized = useLayout(\n (state) => getWidgetState(state, widgetId).minimized\n );\n\n const maximizedWidget = useIsMaximizedWidget();\n\n const resizeObserverRef = useResizeObserver<HTMLDivElement>(\n widgetTabsEntryContext?.onResize\n );\n const pointerCaptorRef = useTabInteractions({ clickOnly: maximizedWidget });\n const refs = useRefs<HTMLDivElement>(resizeObserverRef, pointerCaptorRef);\n\n const active = activeTabId === id;\n const className = classnames(\n \"nz-widget-tab\",\n active && \"nz-active\",\n undefined === side && minimized && \"nz-minimized\",\n first && \"nz-first\",\n last && \"nz-last\",\n firstInactive && \"nz-first-inactive\",\n props.className\n );\n\n const showLabel =\n (showIconOnly && !iconSpec) ||\n (showWidgetIcon && !showIconOnly) ||\n !showWidgetIcon;\n return (\n <div\n data-item-id={id}\n data-item-type=\"widget-tab\"\n className={className}\n ref={refs}\n role=\"tab\"\n style={props.style}\n title={label}\n tabIndex={0}\n >\n {(showWidgetIcon || showIconOnly) && iconSpec && (\n <Icon iconSpec={iconSpec} />\n )}\n {showLabel && <span>{label}</span>}\n {props.badge && <div className=\"nz-badge\">{props.badge}</div>}\n <TabTarget />\n </div>\n );\n}\n\n/** @internal */\nexport interface UseTabInteractionsArgs {\n onClick?: () => void;\n onDoubleClick?: () => void;\n onDragStart?: () => void;\n clickOnly?: boolean;\n}\n\n/** @internal */\nexport function useTabInteractions<T extends HTMLElement>({\n onClick,\n onDoubleClick,\n onDragStart,\n clickOnly,\n}: UseTabInteractionsArgs) {\n const id = React.useContext(TabIdContext);\n const widgetContext = React.useContext(WidgetContext);\n const measure = React.useContext(MeasureContext);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n const widgetTabsEntryContext = React.useContext(WidgetTabsEntryContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n assert(!!widgetId);\n\n const layoutStore = useLayoutStore();\n const tabRef = React.useRef(layoutStore.getState().tabs[id]);\n const clickCount = React.useRef(0);\n const doubleClickTimer = React.useRef(new Timer(300));\n const initialPointerPosition = React.useRef<Point>();\n\n const overflown = !widgetTabsEntryContext;\n\n React.useEffect(\n () =>\n layoutStore.subscribe((state) => {\n tabRef.current = state.tabs[id];\n }),\n [layoutStore, id]\n );\n\n const handleClick = React.useCallback(() => {\n dispatch({\n type: \"WIDGET_TAB_CLICK\",\n side,\n widgetId,\n id,\n });\n onClick?.();\n }, [dispatch, widgetId, id, side, onClick]);\n const handleDoubleClick = React.useCallback(() => {\n // istanbul ignore next (preview)\n if (clickOnly) return;\n dispatch({\n type: \"WIDGET_TAB_DOUBLE_CLICK\",\n side,\n widgetId,\n floatingWidgetId,\n id,\n });\n onDoubleClick?.();\n }, [\n clickOnly,\n dispatch,\n floatingWidgetId,\n widgetId,\n id,\n side,\n onDoubleClick,\n ]);\n\n const handleDragTabStart = useDragTab({\n tabId: id,\n });\n const handleDragStart = React.useCallback(\n (pointerPosition: Point) => {\n // istanbul ignore next (preview)\n if (clickOnly) return;\n assert(!!ref.current);\n assert(!!initialPointerPosition.current);\n const nzBounds = measure();\n const nzOffset = new Point(-nzBounds.left, -nzBounds.top);\n let bounds = Rectangle.create(ref.current.getBoundingClientRect());\n bounds = bounds.offset(nzOffset);\n\n const tab = tabRef.current;\n const userSized =\n tab.userSized ||\n (tab.isFloatingWidgetResizable &&\n /* istanbul ignore next */ !!tab.preferredFloatingWidgetSize);\n let position = bounds.topLeft();\n const widgetBounds = widgetContext.measure();\n const widgetSize = restrainInitialWidgetSize(\n widgetBounds.getSize(),\n nzBounds.getSize()\n );\n if (overflown) {\n position = initialPointerPosition.current.offset(nzOffset);\n position = position.offset({ x: -7, y: -7 });\n }\n\n const dragOffset =\n initialPointerPosition.current.getOffsetTo(pointerPosition);\n position = position.offset(dragOffset);\n\n handleDragTabStart({\n initialPointerPosition: Point.create(initialPointerPosition.current),\n pointerPosition,\n widgetSize,\n });\n dispatch({\n type: \"WIDGET_TAB_DRAG_START\",\n floatingWidgetId,\n side,\n widgetId,\n id,\n position,\n userSized,\n });\n onDragStart?.();\n\n initialPointerPosition.current = undefined;\n },\n [\n clickOnly,\n measure,\n widgetContext,\n handleDragTabStart,\n dispatch,\n floatingWidgetId,\n side,\n widgetId,\n id,\n onDragStart,\n overflown,\n ]\n );\n const handlePointerDown = React.useCallback(\n (args: PointerCaptorArgs, e: PointerCaptorEvent) => {\n e.type === \"touchstart\" &&\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n },\n [dispatch, floatingWidgetId]\n );\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n // istanbul ignore next\n if (!initialPointerPosition.current) return;\n\n const pointerPosition = new Point(args.clientX, args.clientY);\n const distance =\n initialPointerPosition.current.getDistanceTo(pointerPosition);\n if (distance < 10) return;\n handleDragStart(pointerPosition);\n },\n [handleDragStart]\n );\n const handlePointerUp = React.useCallback(() => {\n clickCount.current++;\n initialPointerPosition.current = undefined;\n doubleClickTimer.current.start();\n }, []);\n\n const pointerCaptorRef = usePointerCaptor<T>(\n handlePointerDown,\n handlePointerMove,\n handlePointerUp\n );\n const ref = React.useRef<T>();\n const refs = useRefs(pointerCaptorRef, ref);\n\n React.useEffect(() => {\n const timer = doubleClickTimer.current;\n timer.setOnExecute(() => {\n if (clickCount.current === 1) handleClick();\n else handleDoubleClick();\n clickCount.current = 0;\n });\n const keydown = (e: KeyboardEvent) => {\n if (e.key === \" \" || e.key === Key.Enter.valueOf()) {\n handleClick();\n }\n };\n const instance = ref.current;\n instance && instance.addEventListener(\"keydown\", keydown);\n return () => {\n timer.setOnExecute(undefined);\n instance && instance.removeEventListener(\"keydown\", keydown);\n };\n }, [handleClick, handleDoubleClick]);\n return refs;\n}\n\n/** @internal */\nexport interface TabPositionContextArgs {\n first?: boolean;\n last?: boolean;\n firstInactive?: boolean;\n}\n\n/** @internal */\nexport const TabPositionContext = React.createContext<TabPositionContextArgs>(\n undefined!\n);\nTabPositionContext.displayName = \"nz:TabPositionContext\";\n\n/** @internal */\nexport const IconOnlyOnWidgetTabContext = React.createContext<boolean>(false);\nIconOnlyOnWidgetTabContext.displayName = \"nz:IconOnlyOnWidgetTabContext\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/TabBar.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAS,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/TabBar.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAS,MAAM,mBAAmB,CAAC;AAgBjD,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,gBAAgB;AAChB,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAmFpD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,WAAW,EAC3C,WAAW,CAAC,EAAE,CAAC,sBAAsB,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,KAAK,IAAI,EAC7E,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,EAClC,SAAS,CAAC,EAAE,MAAM,IAAI,EACtB,YAAY,CAAC,EAAE,MAAM,IAAI,EACzB,aAAa,CAAC,EAAE,MAAM,IAAI,gCAqD3B"}
|
|
@@ -21,6 +21,7 @@ const Tabs_1 = require("./Tabs");
|
|
|
21
21
|
const Widget_1 = require("./Widget");
|
|
22
22
|
const Grip_1 = require("../widget-panels/Grip");
|
|
23
23
|
const FloatingWidget_1 = require("./FloatingWidget");
|
|
24
|
+
const useMaximizedWidget_1 = require("../../preview/enable-maximized-widget/useMaximizedWidget");
|
|
24
25
|
/** @internal */
|
|
25
26
|
function WidgetTabBar(props) {
|
|
26
27
|
const dispatch = React.useContext(NineZone_1.NineZoneDispatchContext);
|
|
@@ -73,9 +74,11 @@ function WidgetTabBar(props) {
|
|
|
73
74
|
});
|
|
74
75
|
}, [dispatch, floatingWidgetId]);
|
|
75
76
|
const ref = useDrag(handleDragStart, undefined, undefined, handleTouchStart, handleDoubleClick);
|
|
77
|
+
const maximizedWidgetHandle = (0, useMaximizedWidget_1.useMaximizedWidgetTabBarHandle)();
|
|
76
78
|
const className = (0, classnames_1.default)("nz-widget-tabBar", props.separator && "nz-separator");
|
|
79
|
+
const handleClassName = (0, classnames_1.default)("nz-handle", maximizedWidgetHandle);
|
|
77
80
|
return (React.createElement("div", { ref: containerRef, className: className },
|
|
78
|
-
React.createElement("div", { className:
|
|
81
|
+
React.createElement("div", { className: handleClassName, ref: ref }),
|
|
79
82
|
React.createElement(Tabs_1.WidgetTabs, null),
|
|
80
83
|
React.createElement(Buttons_1.TabBarButtons, null)));
|
|
81
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabBar.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/TabBar.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 \"./TabBar.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { Point, Timer } from \"@itwin/core-react\";\nimport type { UseDragWidgetArgs } from \"../base/DragManager\";\nimport { useDragWidget } from \"../base/DragManager\";\nimport { NineZoneDispatchContext } from \"../base/NineZone\";\nimport type {\n PointerCaptorArgs,\n PointerCaptorEvent,\n} from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { TabBarButtons } from \"./Buttons\";\nimport { WidgetTabs } from \"./Tabs\";\nimport { WidgetIdContext } from \"./Widget\";\nimport { useDoubleClick } from \"../widget-panels/Grip\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\n\n/** @internal */\nexport interface WidgetTabBarProps {\n separator?: boolean;\n}\n\n/** @internal */\nexport function WidgetTabBar(props: WidgetTabBarProps) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const id = React.useContext(WidgetIdContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n const widgetId = floatingWidgetId === undefined ? id : floatingWidgetId;\n const handleDoubleClick = React.useCallback(() => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_CLEAR_USER_SIZED\",\n id: floatingWidgetId,\n });\n }, [dispatch, floatingWidgetId]);\n const handleActionAreaClick = useDoubleClick(handleDoubleClick);\n\n const onDrag = React.useCallback<NonNullable<UseDragWidgetArgs[\"onDrag\"]>>(\n (dragBy) => {\n floatingWidgetId !== undefined &&\n dispatch({\n type: \"WIDGET_DRAG\",\n dragBy,\n floatingWidgetId,\n });\n },\n [dispatch, floatingWidgetId]\n );\n const onDragEnd = React.useCallback<\n NonNullable<UseDragWidgetArgs[\"onDragEnd\"]>\n >(\n (target) => {\n floatingWidgetId !== undefined && handleActionAreaClick();\n floatingWidgetId !== undefined &&\n dispatch({\n type: \"WIDGET_DRAG_END\",\n floatingWidgetId,\n target,\n });\n },\n [dispatch, floatingWidgetId, handleActionAreaClick]\n );\n const handleWidgetDragStart = useDragWidget({\n widgetId,\n onDrag,\n onDragEnd,\n });\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const handleDragStart = React.useCallback(\n (initialPointerPosition: Point, pointerPosition: Point) => {\n handleWidgetDragStart({\n initialPointerPosition,\n pointerPosition,\n });\n },\n [handleWidgetDragStart]\n );\n const handleTouchStart = React.useCallback(() => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n }, [dispatch, floatingWidgetId]);\n const ref = useDrag(\n handleDragStart,\n undefined,\n undefined,\n handleTouchStart,\n handleDoubleClick\n );\n const className = classnames(\n \"nz-widget-tabBar\",\n props.separator && \"nz-separator\"\n );\n\n return (\n <div ref={containerRef} className={className}>\n <div className=\"nz-handle\" ref={ref} />\n <WidgetTabs />\n <TabBarButtons />\n </div>\n );\n}\n\n/** Hook to control drag interactions.\n * Starts drag interaction after pointer moves or after timeout.\n * @internal\n */\nexport function useDrag<T extends HTMLElement>(\n onDragStart?: (initialPointerPosition: Point, pointerPosition: Point) => void,\n onDrag?: (position: Point) => void,\n onDragEnd?: () => void,\n onTouchStart?: () => void,\n onDoubleClick?: () => void\n) {\n const doubleClickTimer = React.useRef(new Timer(300));\n const clickCount = React.useRef(0);\n const initialPointerPosition = React.useRef<Point>();\n\n React.useEffect(() => {\n const handleExecute = () => {\n // istanbul ignore else\n if (clickCount.current === 2) onDoubleClick && onDoubleClick();\n clickCount.current = 0;\n };\n const timer = doubleClickTimer.current;\n timer.setOnExecute(handleExecute);\n return () => {\n timer.setOnExecute(undefined);\n };\n }, [onDoubleClick]);\n\n const handlePointerDown = React.useCallback(\n (args: PointerCaptorArgs, e: PointerCaptorEvent) => {\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n e.type === \"touchstart\" && onTouchStart && onTouchStart();\n },\n [onTouchStart]\n );\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n if (initialPointerPosition.current) {\n onDragStart &&\n onDragStart(\n initialPointerPosition.current,\n new Point(args.clientX, args.clientY)\n );\n initialPointerPosition.current = undefined;\n return;\n }\n onDrag && onDrag(new Point(args.clientX, args.clientY));\n },\n [onDragStart, onDrag]\n );\n const handlePointerUp = React.useCallback(() => {\n clickCount.current++;\n doubleClickTimer.current.start();\n initialPointerPosition.current = undefined;\n onDragEnd && onDragEnd();\n }, [onDragEnd]);\n const ref = usePointerCaptor<T>(\n handlePointerDown,\n handlePointerMove,\n handlePointerUp\n );\n return ref;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"TabBar.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/TabBar.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 \"./TabBar.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { Point, Timer } from \"@itwin/core-react\";\nimport type { UseDragWidgetArgs } from \"../base/DragManager\";\nimport { useDragWidget } from \"../base/DragManager\";\nimport { NineZoneDispatchContext } from \"../base/NineZone\";\nimport type {\n PointerCaptorArgs,\n PointerCaptorEvent,\n} from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { TabBarButtons } from \"./Buttons\";\nimport { WidgetTabs } from \"./Tabs\";\nimport { WidgetIdContext } from \"./Widget\";\nimport { useDoubleClick } from \"../widget-panels/Grip\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\nimport { useMaximizedWidgetTabBarHandle } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** @internal */\nexport interface WidgetTabBarProps {\n separator?: boolean;\n}\n\n/** @internal */\nexport function WidgetTabBar(props: WidgetTabBarProps) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const id = React.useContext(WidgetIdContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n const widgetId = floatingWidgetId === undefined ? id : floatingWidgetId;\n const handleDoubleClick = React.useCallback(() => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_CLEAR_USER_SIZED\",\n id: floatingWidgetId,\n });\n }, [dispatch, floatingWidgetId]);\n const handleActionAreaClick = useDoubleClick(handleDoubleClick);\n\n const onDrag = React.useCallback<NonNullable<UseDragWidgetArgs[\"onDrag\"]>>(\n (dragBy) => {\n floatingWidgetId !== undefined &&\n dispatch({\n type: \"WIDGET_DRAG\",\n dragBy,\n floatingWidgetId,\n });\n },\n [dispatch, floatingWidgetId]\n );\n const onDragEnd = React.useCallback<\n NonNullable<UseDragWidgetArgs[\"onDragEnd\"]>\n >(\n (target) => {\n floatingWidgetId !== undefined && handleActionAreaClick();\n floatingWidgetId !== undefined &&\n dispatch({\n type: \"WIDGET_DRAG_END\",\n floatingWidgetId,\n target,\n });\n },\n [dispatch, floatingWidgetId, handleActionAreaClick]\n );\n const handleWidgetDragStart = useDragWidget({\n widgetId,\n onDrag,\n onDragEnd,\n });\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const handleDragStart = React.useCallback(\n (initialPointerPosition: Point, pointerPosition: Point) => {\n handleWidgetDragStart({\n initialPointerPosition,\n pointerPosition,\n });\n },\n [handleWidgetDragStart]\n );\n const handleTouchStart = React.useCallback(() => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n }, [dispatch, floatingWidgetId]);\n const ref = useDrag(\n handleDragStart,\n undefined,\n undefined,\n handleTouchStart,\n handleDoubleClick\n );\n const maximizedWidgetHandle = useMaximizedWidgetTabBarHandle();\n const className = classnames(\n \"nz-widget-tabBar\",\n props.separator && \"nz-separator\"\n );\n const handleClassName = classnames(\"nz-handle\", maximizedWidgetHandle);\n return (\n <div ref={containerRef} className={className}>\n <div className={handleClassName} ref={ref} />\n <WidgetTabs />\n <TabBarButtons />\n </div>\n );\n}\n\n/** Hook to control drag interactions.\n * Starts drag interaction after pointer moves or after timeout.\n * @internal\n */\nexport function useDrag<T extends HTMLElement>(\n onDragStart?: (initialPointerPosition: Point, pointerPosition: Point) => void,\n onDrag?: (position: Point) => void,\n onDragEnd?: () => void,\n onTouchStart?: () => void,\n onDoubleClick?: () => void\n) {\n const doubleClickTimer = React.useRef(new Timer(300));\n const clickCount = React.useRef(0);\n const initialPointerPosition = React.useRef<Point>();\n\n React.useEffect(() => {\n const handleExecute = () => {\n // istanbul ignore else\n if (clickCount.current === 2) onDoubleClick && onDoubleClick();\n clickCount.current = 0;\n };\n const timer = doubleClickTimer.current;\n timer.setOnExecute(handleExecute);\n return () => {\n timer.setOnExecute(undefined);\n };\n }, [onDoubleClick]);\n\n const handlePointerDown = React.useCallback(\n (args: PointerCaptorArgs, e: PointerCaptorEvent) => {\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n e.type === \"touchstart\" && onTouchStart && onTouchStart();\n },\n [onTouchStart]\n );\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n if (initialPointerPosition.current) {\n onDragStart &&\n onDragStart(\n initialPointerPosition.current,\n new Point(args.clientX, args.clientY)\n );\n initialPointerPosition.current = undefined;\n return;\n }\n onDrag && onDrag(new Point(args.clientX, args.clientY));\n },\n [onDragStart, onDrag]\n );\n const handlePointerUp = React.useCallback(() => {\n clickCount.current++;\n doubleClickTimer.current.start();\n initialPointerPosition.current = undefined;\n onDragEnd && onDragEnd();\n }, [onDragEnd]);\n const ref = usePointerCaptor<T>(\n handlePointerDown,\n handlePointerMove,\n handlePointerUp\n );\n return ref;\n}\n"]}
|
|
@@ -4,27 +4,25 @@
|
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
@import "variables";
|
|
6
6
|
|
|
7
|
-
.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
@layer appui.component {
|
|
8
|
+
.nz-widget-tabBar {
|
|
9
|
+
background: var(--iui-color-background-backdrop);
|
|
10
|
+
display: flex;
|
|
11
|
+
border-radius: $nz-widget-tab-border-radius $nz-widget-tab-border-radius 0 0;
|
|
12
|
+
flex: 0 0 auto;
|
|
13
|
+
position: relative;
|
|
14
|
+
height: $nz-widget-tab-height;
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
> .nz-handle {
|
|
20
|
-
width: 100%;
|
|
21
|
-
height: 100%;
|
|
22
|
-
position: absolute;
|
|
23
|
-
cursor: auto;
|
|
24
|
-
user-select: none;
|
|
16
|
+
&.nz-separator {
|
|
17
|
+
border-bottom: 1px solid var(--iui-color-border);
|
|
18
|
+
}
|
|
25
19
|
|
|
26
|
-
.
|
|
27
|
-
|
|
20
|
+
> .nz-handle {
|
|
21
|
+
width: 100%;
|
|
22
|
+
height: 100%;
|
|
23
|
+
position: absolute;
|
|
24
|
+
cursor: auto;
|
|
25
|
+
user-select: none;
|
|
28
26
|
}
|
|
29
27
|
}
|
|
30
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Widget.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Widget.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAW,MAAM,mBAAmB,CAAC;AAQvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMxD,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,qBAMxD;AAED,gBAAgB;AAChB,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,eAAe,CAAC,IAAI,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,gBAAgB;AAChB,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"Widget.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Widget.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAW,MAAM,mBAAmB,CAAC;AAQvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMxD,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,qBAMxD;AAED,gBAAgB;AAChB,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,eAAe,CAAC,IAAI,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,gBAAgB;AAChB,eAAO,MAAM,MAAM,oFAgIlB,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,eAAe,mCAEhB,CAAC;AAGb,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,SAAS,CAAC;CAC1B;AAED,gBAAgB;AAChB,eAAO,MAAM,aAAa,kCAAgD,CAAC;AAM3E,gBAAgB;AAChB,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,SAAS,GAChB,SAAS,CAOX;AAED,gBAAgB;AAChB,wBAAgB,cAAc,WAO7B"}
|
|
@@ -98,10 +98,10 @@ exports.Widget = React.forwardRef(function Widget(props, forwardedRef) {
|
|
|
98
98
|
};
|
|
99
99
|
const element = elementRef.current;
|
|
100
100
|
// istanbul ignore next
|
|
101
|
-
element
|
|
101
|
+
element === null || element === void 0 ? void 0 : element.addEventListener("click", listener);
|
|
102
102
|
return () => {
|
|
103
103
|
// istanbul ignore next
|
|
104
|
-
element
|
|
104
|
+
element === null || element === void 0 ? void 0 : element.removeEventListener("click", listener);
|
|
105
105
|
};
|
|
106
106
|
}, [dispatch, floatingWidgetId]);
|
|
107
107
|
const measure = React.useCallback(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Widget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Widget.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 \"./Widget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps, SizeProps } from \"@itwin/core-react\";\nimport { Rectangle, useRefs } from \"@itwin/core-react\";\nimport type { UseDragWidgetArgs } from \"../base/DragManager\";\nimport { useDragWidget } from \"../base/DragManager\";\nimport {\n getUniqueId,\n MeasureContext,\n NineZoneDispatchContext,\n} from \"../base/NineZone\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\n\n/** @internal */\nexport interface WidgetProviderProps {\n id: WidgetState[\"id\"];\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetProvider(props: WidgetProviderProps) {\n return (\n <WidgetIdContext.Provider value={props.id}>\n {props.children}\n </WidgetIdContext.Provider>\n );\n}\n\n/** @internal */\nexport interface WidgetProps extends CommonProps {\n children?: React.ReactNode;\n onMouseEnter?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onTransitionEnd?(): void;\n widgetId?: string;\n}\n\n/** @internal */\nexport const Widget = React.forwardRef<HTMLDivElement, WidgetProps>(\n function Widget(props, forwardedRef) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n const id = React.useContext(WidgetIdContext);\n const measureNz = React.useContext(MeasureContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n const { preferredFloatingWidgetSize, userSized } = useLayout((state) => {\n const widget = getWidgetState(state, id);\n const tab = state.tabs[widget.activeTabId];\n // istanbul ignore next\n return {\n preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,\n userSized:\n tab.userSized ||\n (tab.isFloatingWidgetResizable && !!tab.preferredFloatingWidgetSize),\n };\n }, true);\n const elementRef = React.useRef<HTMLDivElement>(null);\n const widgetId = floatingWidgetId === undefined ? id : floatingWidgetId;\n const onDragStart = React.useCallback<\n NonNullable<UseDragWidgetArgs[\"onDragStart\"]>\n >(\n (updateId, initialPointerPosition, pointerPosition) => {\n assert(!!elementRef.current);\n if (floatingWidgetId !== undefined) return;\n const nzBounds = measureNz();\n let bounds = Rectangle.create(\n elementRef.current.getBoundingClientRect()\n );\n\n const size = restrainInitialWidgetSize(\n bounds.getSize(),\n nzBounds.getSize()\n );\n bounds = bounds.setSize(size);\n\n if (preferredFloatingWidgetSize) {\n bounds = bounds.setSize(preferredFloatingWidgetSize);\n }\n\n // Pointer is outside of tab area. Need to re-adjust widget bounds so that tab is behind pointer\n if (initialPointerPosition.x > bounds.right) {\n const offset = initialPointerPosition.x - bounds.right + 20;\n bounds = bounds.offsetX(offset);\n }\n\n const dragOffset = initialPointerPosition.getOffsetTo(pointerPosition);\n bounds = bounds.offset(dragOffset);\n\n // Adjust bounds to be relative to 9z origin\n bounds = bounds.offset({ x: -nzBounds.left, y: -nzBounds.top });\n\n const newFloatingWidgetId = getUniqueId();\n updateId(newFloatingWidgetId);\n\n assert(!!side);\n dispatch({\n type: \"PANEL_WIDGET_DRAG_START\",\n newFloatingWidgetId,\n id,\n bounds,\n side,\n userSized,\n });\n },\n [\n dispatch,\n floatingWidgetId,\n id,\n side,\n measureNz,\n preferredFloatingWidgetSize,\n userSized,\n ]\n );\n useDragWidget({\n widgetId,\n onDragStart,\n });\n React.useEffect(() => {\n const listener = () => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n };\n const element = elementRef.current;\n // istanbul ignore next\n element?.addEventListener(\"click\", listener);\n return () => {\n // istanbul ignore next\n element?.removeEventListener(\"click\", listener);\n };\n }, [dispatch, floatingWidgetId]);\n const measure = React.useCallback<WidgetContextArgs[\"measure\"]>(() => {\n // istanbul ignore next\n if (!elementRef.current) return new Rectangle();\n const bounds = elementRef.current.getBoundingClientRect();\n return Rectangle.create(bounds);\n }, []);\n const widgetContextValue = React.useMemo<WidgetContextArgs>(\n () => ({\n measure,\n }),\n [measure]\n );\n const ref = useRefs(forwardedRef, elementRef);\n const className = classnames(\"nz-widget-widget\", props.className);\n return (\n <WidgetContext.Provider value={widgetContextValue}>\n <div\n className={className}\n onMouseEnter={props.onMouseEnter}\n onMouseLeave={props.onMouseLeave}\n onTransitionEnd={props.onTransitionEnd}\n ref={ref}\n style={props.style}\n data-widget-id={props.widgetId}\n >\n {props.children}\n </div>\n </WidgetContext.Provider>\n );\n }\n);\n\n/** @internal */\nexport const WidgetIdContext = React.createContext<\n WidgetState[\"id\"] | undefined\n>(undefined);\nWidgetIdContext.displayName = \"nz:WidgetIdContext\";\n\n/** @internal */\nexport interface WidgetContextArgs {\n measure: () => Rectangle;\n}\n\n/** @internal */\nexport const WidgetContext = React.createContext<WidgetContextArgs>(null!);\nWidgetContext.displayName = \"nz:WidgetContext\";\n\nconst minWidth = 200;\nconst minHeight = 200;\n\n/** @internal */\nexport function restrainInitialWidgetSize(\n size: SizeProps,\n nzSize: SizeProps\n): SizeProps {\n const width = Math.max(Math.min(nzSize.width / 3, size.width), minWidth);\n const height = Math.max(Math.min(nzSize.height / 3, size.height), minHeight);\n return {\n width,\n height,\n };\n}\n\n/** @internal */\nexport function useActiveTabId() {\n const id = React.useContext(WidgetIdContext);\n assert(!!id);\n return useLayout((state) => {\n const widget = getWidgetState(state, id);\n return widget.activeTabId;\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Widget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Widget.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 \"./Widget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps, SizeProps } from \"@itwin/core-react\";\nimport { Rectangle, useRefs } from \"@itwin/core-react\";\nimport type { UseDragWidgetArgs } from \"../base/DragManager\";\nimport { useDragWidget } from \"../base/DragManager\";\nimport {\n getUniqueId,\n MeasureContext,\n NineZoneDispatchContext,\n} from \"../base/NineZone\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\n\n/** @internal */\nexport interface WidgetProviderProps {\n id: WidgetState[\"id\"];\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetProvider(props: WidgetProviderProps) {\n return (\n <WidgetIdContext.Provider value={props.id}>\n {props.children}\n </WidgetIdContext.Provider>\n );\n}\n\n/** @internal */\nexport interface WidgetProps extends CommonProps {\n children?: React.ReactNode;\n onMouseEnter?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onTransitionEnd?(): void;\n widgetId?: string;\n}\n\n/** @internal */\nexport const Widget = React.forwardRef<HTMLDivElement, WidgetProps>(\n function Widget(props, forwardedRef) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n const id = React.useContext(WidgetIdContext);\n const measureNz = React.useContext(MeasureContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n const { preferredFloatingWidgetSize, userSized } = useLayout((state) => {\n const widget = getWidgetState(state, id);\n const tab = state.tabs[widget.activeTabId];\n // istanbul ignore next\n return {\n preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,\n userSized:\n tab.userSized ||\n (tab.isFloatingWidgetResizable && !!tab.preferredFloatingWidgetSize),\n };\n }, true);\n const elementRef = React.useRef<HTMLDivElement>(null);\n const widgetId = floatingWidgetId === undefined ? id : floatingWidgetId;\n const onDragStart = React.useCallback<\n NonNullable<UseDragWidgetArgs[\"onDragStart\"]>\n >(\n (updateId, initialPointerPosition, pointerPosition) => {\n assert(!!elementRef.current);\n if (floatingWidgetId !== undefined) return;\n const nzBounds = measureNz();\n let bounds = Rectangle.create(\n elementRef.current.getBoundingClientRect()\n );\n\n const size = restrainInitialWidgetSize(\n bounds.getSize(),\n nzBounds.getSize()\n );\n bounds = bounds.setSize(size);\n\n if (preferredFloatingWidgetSize) {\n bounds = bounds.setSize(preferredFloatingWidgetSize);\n }\n\n // Pointer is outside of tab area. Need to re-adjust widget bounds so that tab is behind pointer\n if (initialPointerPosition.x > bounds.right) {\n const offset = initialPointerPosition.x - bounds.right + 20;\n bounds = bounds.offsetX(offset);\n }\n\n const dragOffset = initialPointerPosition.getOffsetTo(pointerPosition);\n bounds = bounds.offset(dragOffset);\n\n // Adjust bounds to be relative to 9z origin\n bounds = bounds.offset({ x: -nzBounds.left, y: -nzBounds.top });\n\n const newFloatingWidgetId = getUniqueId();\n updateId(newFloatingWidgetId);\n\n assert(!!side);\n dispatch({\n type: \"PANEL_WIDGET_DRAG_START\",\n newFloatingWidgetId,\n id,\n bounds,\n side,\n userSized,\n });\n },\n [\n dispatch,\n floatingWidgetId,\n id,\n side,\n measureNz,\n preferredFloatingWidgetSize,\n userSized,\n ]\n );\n useDragWidget({\n widgetId,\n onDragStart,\n });\n React.useEffect(() => {\n const listener = () => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n };\n const element = elementRef.current;\n // istanbul ignore next\n element?.addEventListener(\"click\", listener);\n return () => {\n // istanbul ignore next\n element?.removeEventListener(\"click\", listener);\n };\n }, [dispatch, floatingWidgetId]);\n const measure = React.useCallback<WidgetContextArgs[\"measure\"]>(() => {\n // istanbul ignore next\n if (!elementRef.current) return new Rectangle();\n const bounds = elementRef.current.getBoundingClientRect();\n return Rectangle.create(bounds);\n }, []);\n const widgetContextValue = React.useMemo<WidgetContextArgs>(\n () => ({\n measure,\n }),\n [measure]\n );\n\n const ref = useRefs(forwardedRef, elementRef);\n const className = classnames(\"nz-widget-widget\", props.className);\n return (\n <WidgetContext.Provider value={widgetContextValue}>\n <div\n className={className}\n onMouseEnter={props.onMouseEnter}\n onMouseLeave={props.onMouseLeave}\n onTransitionEnd={props.onTransitionEnd}\n ref={ref}\n style={props.style}\n data-widget-id={props.widgetId}\n >\n {props.children}\n </div>\n </WidgetContext.Provider>\n );\n }\n);\n\n/** @internal */\nexport const WidgetIdContext = React.createContext<\n WidgetState[\"id\"] | undefined\n>(undefined);\nWidgetIdContext.displayName = \"nz:WidgetIdContext\";\n\n/** @internal */\nexport interface WidgetContextArgs {\n measure: () => Rectangle;\n}\n\n/** @internal */\nexport const WidgetContext = React.createContext<WidgetContextArgs>(null!);\nWidgetContext.displayName = \"nz:WidgetContext\";\n\nconst minWidth = 200;\nconst minHeight = 200;\n\n/** @internal */\nexport function restrainInitialWidgetSize(\n size: SizeProps,\n nzSize: SizeProps\n): SizeProps {\n const width = Math.max(Math.min(nzSize.width / 3, size.width), minWidth);\n const height = Math.max(Math.min(nzSize.height / 3, size.height), minHeight);\n return {\n width,\n height,\n };\n}\n\n/** @internal */\nexport function useActiveTabId() {\n const id = React.useContext(WidgetIdContext);\n assert(!!id);\n return useLayout((state) => {\n const widget = getWidgetState(state, id);\n return widget.activeTabId;\n });\n}\n"]}
|
|
@@ -13,7 +13,7 @@ const Widget_1 = require("./Widget");
|
|
|
13
13
|
/** @internal */
|
|
14
14
|
function useIsToolSettingsTab() {
|
|
15
15
|
const activeTabId = (0, Widget_1.useActiveTabId)();
|
|
16
|
-
const toolSettingsTabId = (0, LayoutStore_1.useLayout)((state) => state.toolSettings
|
|
16
|
+
const toolSettingsTabId = (0, LayoutStore_1.useLayout)((state) => { var _a; return (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId; });
|
|
17
17
|
return activeTabId === toolSettingsTabId;
|
|
18
18
|
}
|
|
19
19
|
exports.useIsToolSettingsTab = useIsToolSettingsTab;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsToolSettingsTab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/useIsToolSettingsTab.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,qDAAgD;AAChD,qCAA0C;AAE1C,gBAAgB;AAChB,SAAgB,oBAAoB;IAClC,MAAM,WAAW,GAAG,IAAA,uBAAc,GAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"useIsToolSettingsTab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/useIsToolSettingsTab.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,qDAAgD;AAChD,qCAA0C;AAE1C,gBAAgB;AAChB,SAAgB,oBAAoB;IAClC,MAAM,WAAW,GAAG,IAAA,uBAAc,GAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,CAAC,YAAY,0CAAE,KAAK,CAAA,EAAA,CAAC,CAAC;IAC1E,OAAO,WAAW,KAAK,iBAAiB,CAAC;AAC3C,CAAC;AAJD,oDAIC","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 { useLayout } from \"../base/LayoutStore\";\nimport { useActiveTabId } from \"./Widget\";\n\n/** @internal */\nexport function useIsToolSettingsTab() {\n const activeTabId = useActiveTabId();\n const toolSettingsTabId = useLayout((state) => state.toolSettings?.tabId);\n return activeTabId === toolSettingsTabId;\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Widget
|
|
3
|
+
*/
|
|
4
|
+
/** @internal */
|
|
5
|
+
export declare function usePanelWidgetId(): string | undefined;
|
|
6
|
+
/** @internal */
|
|
7
|
+
export declare function useMainPanelWidgetId(): string | undefined;
|
|
8
|
+
//# sourceMappingURL=usePanelWidgetId.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePanelWidgetId.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/usePanelWidgetId.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAUH,gBAAgB;AAChB,wBAAgB,gBAAgB,uBAK/B;AAED,gBAAgB;AAChB,wBAAgB,oBAAoB,uBAWnC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module Widget
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.useMainPanelWidgetId = exports.usePanelWidgetId = void 0;
|
|
11
|
+
const React = require("react");
|
|
12
|
+
const LayoutStore_1 = require("../base/LayoutStore");
|
|
13
|
+
const Panel_1 = require("../widget-panels/Panel");
|
|
14
|
+
const Widget_1 = require("./Widget");
|
|
15
|
+
/** @internal */
|
|
16
|
+
function usePanelWidgetId() {
|
|
17
|
+
const side = React.useContext(Panel_1.PanelSideContext);
|
|
18
|
+
const widgetId = React.useContext(Widget_1.WidgetIdContext);
|
|
19
|
+
if (!side || widgetId === undefined)
|
|
20
|
+
return undefined;
|
|
21
|
+
return widgetId;
|
|
22
|
+
}
|
|
23
|
+
exports.usePanelWidgetId = usePanelWidgetId;
|
|
24
|
+
/** @internal */
|
|
25
|
+
function useMainPanelWidgetId() {
|
|
26
|
+
const side = React.useContext(Panel_1.PanelSideContext);
|
|
27
|
+
const widgetId = React.useContext(Widget_1.WidgetIdContext);
|
|
28
|
+
return (0, LayoutStore_1.useLayout)((state) => {
|
|
29
|
+
if (!side)
|
|
30
|
+
return undefined;
|
|
31
|
+
const widgets = state.panels[side].widgets;
|
|
32
|
+
const mainWidget = (0, Panel_1.isHorizontalPanelSide)(side)
|
|
33
|
+
? widgets[widgets.length - 1]
|
|
34
|
+
: widgets[0];
|
|
35
|
+
return mainWidget === widgetId ? widgetId : undefined;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
exports.useMainPanelWidgetId = useMainPanelWidgetId;
|
|
39
|
+
//# sourceMappingURL=usePanelWidgetId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePanelWidgetId.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/usePanelWidgetId.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,qDAAgD;AAChD,kDAGgC;AAChC,qCAA2C;AAE3C,gBAAgB;AAChB,SAAgB,gBAAgB;IAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAe,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACtD,OAAO,QAAQ,CAAC;AAClB,CAAC;AALD,4CAKC;AAED,gBAAgB;AAChB,SAAgB,oBAAoB;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAe,CAAC,CAAC;IACnD,OAAO,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QACzB,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAA,6BAAqB,EAAC,IAAI,CAAC;YAC5C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACf,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC;AAXD,oDAWC","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 * as React from \"react\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport {\n isHorizontalPanelSide,\n PanelSideContext,\n} from \"../widget-panels/Panel\";\nimport { WidgetIdContext } from \"./Widget\";\n\n/** @internal */\nexport function usePanelWidgetId() {\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n if (!side || widgetId === undefined) return undefined;\n return widgetId;\n}\n\n/** @internal */\nexport function useMainPanelWidgetId() {\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n return useLayout((state) => {\n if (!side) return undefined;\n const widgets = state.panels[side].widgets;\n const mainWidget = isHorizontalPanelSide(side)\n ? widgets[widgets.length - 1]\n : widgets[0];\n return mainWidget === widgetId ? widgetId : undefined;\n });\n}\n"]}
|
|
@@ -7,7 +7,7 @@ import type { CommonProps } from "@itwin/core-react";
|
|
|
7
7
|
/** Resize grip of [[WidgetPanel]] component.
|
|
8
8
|
* @internal
|
|
9
9
|
*/
|
|
10
|
-
export declare function WidgetPanelGrip(props: CommonProps): React.JSX.Element;
|
|
10
|
+
export declare function WidgetPanelGrip(props: CommonProps): React.JSX.Element | null;
|
|
11
11
|
/** @internal */
|
|
12
12
|
export declare const useResizeGrip: <T extends HTMLElement>() => [(instance: T | null) => void, boolean, boolean];
|
|
13
13
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grip.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/Grip.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Grip.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/Grip.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAerD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,4BA2CjD;AAED,gBAAgB;AAChB,eAAO,MAAM,aAAa,wDACA,IAAI,mBA+J7B,CAAC;AAEF,gBAAgB;AAChB,wBAAgB,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAgBrE"}
|
|
@@ -18,6 +18,7 @@ const NineZone_1 = require("../base/NineZone");
|
|
|
18
18
|
const Panel_1 = require("./Panel");
|
|
19
19
|
const usePointerCaptor_1 = require("../base/usePointerCaptor");
|
|
20
20
|
const LayoutStore_1 = require("../base/LayoutStore");
|
|
21
|
+
const useMaximizedWidget_1 = require("../../preview/enable-maximized-widget/useMaximizedWidget");
|
|
21
22
|
/** Resize grip of [[WidgetPanel]] component.
|
|
22
23
|
* @internal
|
|
23
24
|
*/
|
|
@@ -35,6 +36,9 @@ function WidgetPanelGrip(props) {
|
|
|
35
36
|
const [ref, resizing, active] = (0, exports.useResizeGrip)();
|
|
36
37
|
const className = (0, classnames_1.default)("nz-widgetPanels-grip", `nz-${side}`, active && "nz-active", resizing && "nz-resizing", props.className);
|
|
37
38
|
const resizeGripTitle = (0, NineZone_1.useLabel)("resizeGripTitle");
|
|
39
|
+
const isMaximizedPanel = !!(0, useMaximizedWidget_1.useMaximizedPanel)(side);
|
|
40
|
+
if (isMaximizedPanel)
|
|
41
|
+
return null;
|
|
38
42
|
return (React.createElement("div", { className: className, title: resizeGripTitle, style: props.style },
|
|
39
43
|
React.createElement("div", { className: "nz-line-grip" },
|
|
40
44
|
React.createElement("div", { className: "nz-line-grip-detail" })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grip.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/Grip.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 WidgetPanels\n */\n\nimport \"./Grip.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Point, Rectangle, Timer } from \"@itwin/core-react\";\nimport type { UseDragPanelGripArgs } from \"../base/DragManager\";\nimport { useDragPanelGrip } from \"../base/DragManager\";\nimport { NineZoneDispatchContext, useLabel } from \"../base/NineZone\";\nimport {\n isHorizontalPanelSide,\n PanelSideContext,\n WidgetPanelContext,\n} from \"./Panel\";\nimport type { PointerCaptorArgs } from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { useLayout, useLayoutStore } from \"../base/LayoutStore\";\n\n/** Resize grip of [[WidgetPanel]] component.\n * @internal\n */\nexport function WidgetPanelGrip(props: CommonProps) {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const { collapsed, pinned } = useLayout((state) => {\n const panel = state.panels[side];\n return {\n collapsed: panel.collapsed,\n pinned: panel.pinned,\n };\n }, true);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const [ref, resizing, active] = useResizeGrip<HTMLDivElement>();\n const className = classnames(\n \"nz-widgetPanels-grip\",\n `nz-${side}`,\n active && \"nz-active\",\n resizing && \"nz-resizing\",\n props.className\n );\n const resizeGripTitle = useLabel(\"resizeGripTitle\");\n return (\n <div className={className} title={resizeGripTitle} style={props.style}>\n <div className=\"nz-line-grip\">\n <div className=\"nz-line-grip-detail\" />\n </div>\n <div\n className=\"nz-handle\"\n ref={ref}\n onMouseOverCapture={() => {\n collapsed &&\n !pinned &&\n !resizing &&\n dispatch({\n side,\n collapsed: false,\n type: \"PANEL_SET_COLLAPSED\",\n });\n }}\n />\n </div>\n );\n}\n\n/** @internal */\nexport const useResizeGrip = <T extends HTMLElement>(): [\n (instance: T | null) => void,\n boolean,\n boolean\n] => {\n const widgetPanel = React.useContext(WidgetPanelContext);\n const side = React.useContext(PanelSideContext);\n const dispatch = React.useContext(NineZoneDispatchContext);\n assert(!!side);\n assert(!!widgetPanel);\n const [resizing, setResizing] = React.useState(false);\n const [active, setActive] = React.useState(false);\n const initialPointerPosition = React.useRef<Point>();\n const dragStartTimer = React.useRef(new Timer(300));\n const ref = React.useRef<T | null>(null);\n const relativePosition = React.useRef(new Point());\n const layoutStore = useLayoutStore();\n const panelStateRef = React.useRef(layoutStore.getState().panels[side]);\n React.useLayoutEffect(\n () =>\n layoutStore.subscribe((state) => {\n panelStateRef.current = state.panels[side];\n }),\n [layoutStore, side]\n );\n const handleDoubleClick = React.useCallback(() => {\n dispatch({\n type: \"PANEL_TOGGLE_COLLAPSED\",\n side,\n });\n }, [dispatch, side]);\n const handleClick = useDoubleClick(handleDoubleClick);\n const onDrag = React.useCallback<NonNullable<UseDragPanelGripArgs[\"onDrag\"]>>(\n (pointerPosition, lastPointerPosition) => {\n if (!ref.current) return;\n const direction = side === \"left\" || side === \"top\" ? 1 : -1;\n const dragOffset = lastPointerPosition.getOffsetTo(pointerPosition);\n const dragBy = isHorizontalPanelSide(side) ? dragOffset.y : dragOffset.x;\n const resizeBy = direction * dragBy;\n\n const bounds = widgetPanel.getBounds();\n const outerEdge = bounds[side];\n const innerEdge = isHorizontalPanelSide(side)\n ? pointerPosition.y\n : pointerPosition.x;\n const size = (innerEdge - outerEdge) * direction;\n\n const panel = panelStateRef.current;\n if (resizeBy === 0) return;\n if (panel.collapsed) {\n if (size >= panel.collapseOffset) {\n dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n side,\n collapsed: false,\n });\n return;\n }\n return;\n }\n\n if (panel.size === undefined) return;\n\n // New size should match drag direction (i.e. dragging `left` panel grip to the left should not increase left panel size).\n const sizeDiff = size - panel.size;\n if (sizeDiff * resizeBy < 0) return;\n const collapseThreshold = Math.max(\n panel.minSize - panel.collapseOffset,\n 0\n );\n if (size <= collapseThreshold) {\n dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n side,\n collapsed: true,\n });\n dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size: panel.minSize,\n });\n return;\n }\n\n dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size,\n });\n },\n [dispatch, side, widgetPanel]\n );\n const onDragEnd = React.useCallback(() => {\n setResizing(false);\n }, []);\n const handlePanelGripDragStart = useDragPanelGrip({\n side,\n onDrag,\n onDragEnd,\n });\n React.useEffect(() => {\n const timer = dragStartTimer.current;\n timer.setOnExecute(() => {\n if (initialPointerPosition.current && ref.current) {\n relativePosition.current = Rectangle.create(\n ref.current.getBoundingClientRect()\n )\n .topLeft()\n .getOffsetTo(initialPointerPosition.current);\n setResizing(true);\n handlePanelGripDragStart({\n initialPointerPosition: initialPointerPosition.current,\n pointerPosition: initialPointerPosition.current,\n });\n }\n initialPointerPosition.current = undefined;\n });\n return () => {\n timer.setOnExecute(undefined);\n };\n }, [handlePanelGripDragStart]);\n const handleDragEnd = React.useCallback(() => {\n initialPointerPosition.current = undefined;\n dragStartTimer.current.stop();\n handleClick();\n setActive(false);\n }, [handleClick]);\n const handlePointerDown = React.useCallback((args: PointerCaptorArgs) => {\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n dragStartTimer.current.start();\n setActive(true);\n }, []);\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n if (!initialPointerPosition.current) return;\n const position = new Point(args.clientX, args.clientY);\n setResizing(true);\n handlePanelGripDragStart({\n initialPointerPosition: position,\n pointerPosition: position,\n });\n onDrag(position, initialPointerPosition.current);\n initialPointerPosition.current = undefined;\n dragStartTimer.current.stop();\n },\n [handlePanelGripDragStart, onDrag]\n );\n const handlePointerCaptorRef = usePointerCaptor(\n handlePointerDown,\n handlePointerMove,\n handleDragEnd\n );\n const handleRef = React.useCallback(\n (instance: T | null) => {\n ref.current = instance;\n handlePointerCaptorRef(instance);\n },\n [handlePointerCaptorRef]\n );\n return [handleRef, resizing, active];\n};\n\n/** @internal */\nexport function useDoubleClick(onDoubleClick?: () => void): () => void {\n const timer = React.useRef(new Timer(300));\n const clickCount = React.useRef(0);\n timer.current.setOnExecute(() => {\n clickCount.current = 0;\n });\n const handleClick = React.useCallback(() => {\n timer.current.start();\n clickCount.current++;\n if (clickCount.current === 2) {\n onDoubleClick && onDoubleClick();\n clickCount.current = 0;\n timer.current.stop();\n }\n }, [onDoubleClick]);\n return handleClick;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Grip.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/Grip.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 WidgetPanels\n */\n\nimport \"./Grip.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Point, Rectangle, Timer } from \"@itwin/core-react\";\nimport type { UseDragPanelGripArgs } from \"../base/DragManager\";\nimport { useDragPanelGrip } from \"../base/DragManager\";\nimport { NineZoneDispatchContext, useLabel } from \"../base/NineZone\";\nimport {\n isHorizontalPanelSide,\n PanelSideContext,\n WidgetPanelContext,\n} from \"./Panel\";\nimport type { PointerCaptorArgs } from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { useLayout, useLayoutStore } from \"../base/LayoutStore\";\nimport { useMaximizedPanel } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** Resize grip of [[WidgetPanel]] component.\n * @internal\n */\nexport function WidgetPanelGrip(props: CommonProps) {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const { collapsed, pinned } = useLayout((state) => {\n const panel = state.panels[side];\n return {\n collapsed: panel.collapsed,\n pinned: panel.pinned,\n };\n }, true);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const [ref, resizing, active] = useResizeGrip<HTMLDivElement>();\n const className = classnames(\n \"nz-widgetPanels-grip\",\n `nz-${side}`,\n active && \"nz-active\",\n resizing && \"nz-resizing\",\n props.className\n );\n const resizeGripTitle = useLabel(\"resizeGripTitle\");\n const isMaximizedPanel = !!useMaximizedPanel(side);\n if (isMaximizedPanel) return null;\n return (\n <div className={className} title={resizeGripTitle} style={props.style}>\n <div className=\"nz-line-grip\">\n <div className=\"nz-line-grip-detail\" />\n </div>\n <div\n className=\"nz-handle\"\n ref={ref}\n onMouseOverCapture={() => {\n collapsed &&\n !pinned &&\n !resizing &&\n dispatch({\n side,\n collapsed: false,\n type: \"PANEL_SET_COLLAPSED\",\n });\n }}\n />\n </div>\n );\n}\n\n/** @internal */\nexport const useResizeGrip = <T extends HTMLElement>(): [\n (instance: T | null) => void,\n boolean,\n boolean\n] => {\n const widgetPanel = React.useContext(WidgetPanelContext);\n const side = React.useContext(PanelSideContext);\n const dispatch = React.useContext(NineZoneDispatchContext);\n assert(!!side);\n assert(!!widgetPanel);\n const [resizing, setResizing] = React.useState(false);\n const [active, setActive] = React.useState(false);\n const initialPointerPosition = React.useRef<Point>();\n const dragStartTimer = React.useRef(new Timer(300));\n const ref = React.useRef<T | null>(null);\n const relativePosition = React.useRef(new Point());\n const layoutStore = useLayoutStore();\n const panelStateRef = React.useRef(layoutStore.getState().panels[side]);\n React.useLayoutEffect(\n () =>\n layoutStore.subscribe((state) => {\n panelStateRef.current = state.panels[side];\n }),\n [layoutStore, side]\n );\n const handleDoubleClick = React.useCallback(() => {\n dispatch({\n type: \"PANEL_TOGGLE_COLLAPSED\",\n side,\n });\n }, [dispatch, side]);\n const handleClick = useDoubleClick(handleDoubleClick);\n const onDrag = React.useCallback<NonNullable<UseDragPanelGripArgs[\"onDrag\"]>>(\n (pointerPosition, lastPointerPosition) => {\n if (!ref.current) return;\n const direction = side === \"left\" || side === \"top\" ? 1 : -1;\n const dragOffset = lastPointerPosition.getOffsetTo(pointerPosition);\n const dragBy = isHorizontalPanelSide(side) ? dragOffset.y : dragOffset.x;\n const resizeBy = direction * dragBy;\n\n const bounds = widgetPanel.getBounds();\n const outerEdge = bounds[side];\n const innerEdge = isHorizontalPanelSide(side)\n ? pointerPosition.y\n : pointerPosition.x;\n const size = (innerEdge - outerEdge) * direction;\n\n const panel = panelStateRef.current;\n if (resizeBy === 0) return;\n if (panel.collapsed) {\n if (size >= panel.collapseOffset) {\n dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n side,\n collapsed: false,\n });\n return;\n }\n return;\n }\n\n if (panel.size === undefined) return;\n\n // New size should match drag direction (i.e. dragging `left` panel grip to the left should not increase left panel size).\n const sizeDiff = size - panel.size;\n if (sizeDiff * resizeBy < 0) return;\n const collapseThreshold = Math.max(\n panel.minSize - panel.collapseOffset,\n 0\n );\n if (size <= collapseThreshold) {\n dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n side,\n collapsed: true,\n });\n dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size: panel.minSize,\n });\n return;\n }\n\n dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size,\n });\n },\n [dispatch, side, widgetPanel]\n );\n const onDragEnd = React.useCallback(() => {\n setResizing(false);\n }, []);\n const handlePanelGripDragStart = useDragPanelGrip({\n side,\n onDrag,\n onDragEnd,\n });\n React.useEffect(() => {\n const timer = dragStartTimer.current;\n timer.setOnExecute(() => {\n if (initialPointerPosition.current && ref.current) {\n relativePosition.current = Rectangle.create(\n ref.current.getBoundingClientRect()\n )\n .topLeft()\n .getOffsetTo(initialPointerPosition.current);\n setResizing(true);\n handlePanelGripDragStart({\n initialPointerPosition: initialPointerPosition.current,\n pointerPosition: initialPointerPosition.current,\n });\n }\n initialPointerPosition.current = undefined;\n });\n return () => {\n timer.setOnExecute(undefined);\n };\n }, [handlePanelGripDragStart]);\n const handleDragEnd = React.useCallback(() => {\n initialPointerPosition.current = undefined;\n dragStartTimer.current.stop();\n handleClick();\n setActive(false);\n }, [handleClick]);\n const handlePointerDown = React.useCallback((args: PointerCaptorArgs) => {\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n dragStartTimer.current.start();\n setActive(true);\n }, []);\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n if (!initialPointerPosition.current) return;\n const position = new Point(args.clientX, args.clientY);\n setResizing(true);\n handlePanelGripDragStart({\n initialPointerPosition: position,\n pointerPosition: position,\n });\n onDrag(position, initialPointerPosition.current);\n initialPointerPosition.current = undefined;\n dragStartTimer.current.stop();\n },\n [handlePanelGripDragStart, onDrag]\n );\n const handlePointerCaptorRef = usePointerCaptor(\n handlePointerDown,\n handlePointerMove,\n handleDragEnd\n );\n const handleRef = React.useCallback(\n (instance: T | null) => {\n ref.current = instance;\n handlePointerCaptorRef(instance);\n },\n [handlePointerCaptorRef]\n );\n return [handleRef, resizing, active];\n};\n\n/** @internal */\nexport function useDoubleClick(onDoubleClick?: () => void): () => void {\n const timer = React.useRef(new Timer(300));\n const clickCount = React.useRef(0);\n timer.current.setOnExecute(() => {\n clickCount.current = 0;\n });\n const handleClick = React.useCallback(() => {\n timer.current.start();\n clickCount.current++;\n if (clickCount.current === 2) {\n onDoubleClick && onDoubleClick();\n clickCount.current = 0;\n timer.current.stop();\n }\n }, [onDoubleClick]);\n return handleClick;\n}\n"]}
|