@dialpad/dialtone
Version:
Dialpad's Dialtone design system monorepo
25 lines • 1.22 kB
TypeScript
import { ComputedRef, Ref } from 'vue';
import { ResizablePanelConfig, ResizablePanelState, ResizableDirection } from '../resizable_constants';
import { LayoutResult } from './computeLayout';
import { SavedPanelData } from './useResizableStorage';
export interface UseResizableGroupOptions {
storageKey: string | null;
direction: ComputedRef<ResizableDirection>;
containerRef: Ref<HTMLElement | null>;
storageAdapter?: import('../resizable_constants').ResizableStorageAdapter;
}
export declare function useResizableGroup(options: UseResizableGroupOptions): {
layout: ComputedRef<LayoutResult>;
syncedPanels: ComputedRef<ResizablePanelState[]>;
panelMap: ComputedRef<Map<string, ResizablePanelState>>;
containerSize: Ref<number, number>;
isInitializing: Ref<boolean, boolean>;
registerPanel: (config: ResizablePanelConfig) => void;
unregisterPanel: (id: string) => void;
saveCurrentLayout: (panels: ResizablePanelState[]) => void;
updateSavedPanel: (panelId: string, updates: Partial<SavedPanelData>) => void;
reloadFromStorage: () => void;
clearSavedState: () => void;
disconnectObserver: () => void;
};
//# sourceMappingURL=useResizableGroup.d.ts.map