@widgetstools/react-dock-manager 0.1.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.
@@ -0,0 +1,50 @@
1
+ import * as _widgetstools_dock_manager_core from '@widgetstools/dock-manager-core';
2
+ import { DockManagerState, PanelConfig, PanelApi, PreventableDockEvent, DockPosition, DockTheme, DockResourceStrings, DockAction, DockviewComponent } from '@widgetstools/dock-manager-core';
3
+ export { AddPanelOptions, DockAction, DockEdge, DockManagerState, DockPosition, DockResourceStrings, DockTheme, DockThemeColors, DockviewApi, DockviewComponent, DockviewComponentOptions, EventEmitter, FloatPanelOptions, FloatingPanel, HeaderPosition, IDisposable, LayoutNode, MovePanelOptions, PanelConfig, PopoutPanel, PreventableDockEvent, SplitDirection, SplitNode, TabGroupNode, UnpinnedPanel, clearLocalStorage, createDefaultState, deserialize, dockReducer, draculaDark, exportToFile, findAllTabGroups, findFirstTabGroup, findTabGroupById, findTabGroupForPanel, forestDark, getThemeByName, getThemesByMode, githubLight, importFromFile, lavenderLight, loadFromLocalStorage, midnightDark, mintLight, nordDark, saveToLocalStorage, sepiaLight, serialize, slateDark, solarizedDark, solarizedLight, themes, validateState, vsCodeDark, vsCodeLight, warmLight } from '@widgetstools/dock-manager-core';
4
+ import React from 'react';
5
+
6
+ interface DockManagerCoreProps {
7
+ /** Initial state for the dock manager */
8
+ initialState: DockManagerState;
9
+ /** Render panel content. Called when a panel needs content mounted. */
10
+ renderPanel: (panelId: string, panel: PanelConfig, api: PanelApi) => React.ReactNode;
11
+ /** Optional custom tab renderer */
12
+ renderTab?: (panelId: string, panel: PanelConfig, isActive: boolean) => React.ReactNode;
13
+ /** Optional header action slots */
14
+ renderHeaderActions?: (slot: 'left' | 'right' | 'prefix', tabGroupId: string) => React.ReactNode;
15
+ /** Called when state changes */
16
+ onStateChange?: (state: DockManagerState) => void;
17
+ /** Called before a panel is closed (preventable) */
18
+ onWillClose?: (event: PreventableDockEvent, panelId: string) => void;
19
+ /** Called before a drop (preventable) */
20
+ onWillDrop?: (event: PreventableDockEvent, sourceId: string, targetId: string, position: DockPosition) => void;
21
+ /** Theme: 'light', 'dark', or a DockTheme object */
22
+ theme?: 'light' | 'dark' | DockTheme;
23
+ /** Whether to show edge dock indicators. Defaults to true. */
24
+ allowRootDock?: boolean;
25
+ /** Custom strings for UI elements (tooltips, context menu, etc.) */
26
+ resourceStrings?: Partial<DockResourceStrings>;
27
+ /** Additional className for the root container */
28
+ className?: string;
29
+ }
30
+ interface DockManagerCoreHandle {
31
+ /** Dispatch an action to the dock manager */
32
+ dispatch: (action: DockAction) => void;
33
+ /** Get current state */
34
+ getState: () => DockManagerState;
35
+ /** Get the underlying DockviewComponent instance */
36
+ getInstance: () => DockviewComponent | null;
37
+ /** Get the DockviewApi for high-level programmatic control */
38
+ getApi: () => _widgetstools_dock_manager_core.DockviewApi | null;
39
+ }
40
+ declare const DockManagerCore: React.ForwardRefExoticComponent<DockManagerCoreProps & React.RefAttributes<DockManagerCoreHandle>>;
41
+
42
+ type Theme = 'light' | 'dark' | 'system';
43
+ declare function useTheme(defaultTheme?: Theme): {
44
+ theme: Theme;
45
+ resolvedTheme: "light" | "dark";
46
+ setTheme: (t: Theme) => void;
47
+ toggleTheme: () => void;
48
+ };
49
+
50
+ export { DockManagerCore, type DockManagerCoreHandle, type DockManagerCoreProps, useTheme };
@@ -0,0 +1,50 @@
1
+ import * as _widgetstools_dock_manager_core from '@widgetstools/dock-manager-core';
2
+ import { DockManagerState, PanelConfig, PanelApi, PreventableDockEvent, DockPosition, DockTheme, DockResourceStrings, DockAction, DockviewComponent } from '@widgetstools/dock-manager-core';
3
+ export { AddPanelOptions, DockAction, DockEdge, DockManagerState, DockPosition, DockResourceStrings, DockTheme, DockThemeColors, DockviewApi, DockviewComponent, DockviewComponentOptions, EventEmitter, FloatPanelOptions, FloatingPanel, HeaderPosition, IDisposable, LayoutNode, MovePanelOptions, PanelConfig, PopoutPanel, PreventableDockEvent, SplitDirection, SplitNode, TabGroupNode, UnpinnedPanel, clearLocalStorage, createDefaultState, deserialize, dockReducer, draculaDark, exportToFile, findAllTabGroups, findFirstTabGroup, findTabGroupById, findTabGroupForPanel, forestDark, getThemeByName, getThemesByMode, githubLight, importFromFile, lavenderLight, loadFromLocalStorage, midnightDark, mintLight, nordDark, saveToLocalStorage, sepiaLight, serialize, slateDark, solarizedDark, solarizedLight, themes, validateState, vsCodeDark, vsCodeLight, warmLight } from '@widgetstools/dock-manager-core';
4
+ import React from 'react';
5
+
6
+ interface DockManagerCoreProps {
7
+ /** Initial state for the dock manager */
8
+ initialState: DockManagerState;
9
+ /** Render panel content. Called when a panel needs content mounted. */
10
+ renderPanel: (panelId: string, panel: PanelConfig, api: PanelApi) => React.ReactNode;
11
+ /** Optional custom tab renderer */
12
+ renderTab?: (panelId: string, panel: PanelConfig, isActive: boolean) => React.ReactNode;
13
+ /** Optional header action slots */
14
+ renderHeaderActions?: (slot: 'left' | 'right' | 'prefix', tabGroupId: string) => React.ReactNode;
15
+ /** Called when state changes */
16
+ onStateChange?: (state: DockManagerState) => void;
17
+ /** Called before a panel is closed (preventable) */
18
+ onWillClose?: (event: PreventableDockEvent, panelId: string) => void;
19
+ /** Called before a drop (preventable) */
20
+ onWillDrop?: (event: PreventableDockEvent, sourceId: string, targetId: string, position: DockPosition) => void;
21
+ /** Theme: 'light', 'dark', or a DockTheme object */
22
+ theme?: 'light' | 'dark' | DockTheme;
23
+ /** Whether to show edge dock indicators. Defaults to true. */
24
+ allowRootDock?: boolean;
25
+ /** Custom strings for UI elements (tooltips, context menu, etc.) */
26
+ resourceStrings?: Partial<DockResourceStrings>;
27
+ /** Additional className for the root container */
28
+ className?: string;
29
+ }
30
+ interface DockManagerCoreHandle {
31
+ /** Dispatch an action to the dock manager */
32
+ dispatch: (action: DockAction) => void;
33
+ /** Get current state */
34
+ getState: () => DockManagerState;
35
+ /** Get the underlying DockviewComponent instance */
36
+ getInstance: () => DockviewComponent | null;
37
+ /** Get the DockviewApi for high-level programmatic control */
38
+ getApi: () => _widgetstools_dock_manager_core.DockviewApi | null;
39
+ }
40
+ declare const DockManagerCore: React.ForwardRefExoticComponent<DockManagerCoreProps & React.RefAttributes<DockManagerCoreHandle>>;
41
+
42
+ type Theme = 'light' | 'dark' | 'system';
43
+ declare function useTheme(defaultTheme?: Theme): {
44
+ theme: Theme;
45
+ resolvedTheme: "light" | "dark";
46
+ setTheme: (t: Theme) => void;
47
+ toggleTheme: () => void;
48
+ };
49
+
50
+ export { DockManagerCore, type DockManagerCoreHandle, type DockManagerCoreProps, useTheme };