UNPKG

@zag-js/splitter

Version:

Core logic for the splitter widget implemented as a state machine

37 lines (33 loc) 1.56 kB
import { Style } from '@zag-js/types'; import { PanelData, PanelSize, DragState } from '../splitter.types.js'; import '@zag-js/core'; import './registry.js'; /** * This code was modified from react-resizable-panels by Brian Vaughn * @see https://github.com/bvaughn/react-resizable-panels */ declare function getPanelById<T extends PanelData>(panels: T[], id: string): T; declare function findPanelDataIndex(panels: PanelData[], panel: PanelData): number; declare function findPanelIndex(panels: PanelData[], id: string): number; declare function panelDataHelper<T extends PanelData>(panels: T[], panel: T, sizes: number[]): T & { panelSize: number; pivotIndices: number[]; }; declare function sortPanels(panels: PanelData[]): PanelData[]; declare function getPanelLayout(panels: PanelData[]): string; declare function serializePanels(panels: PanelData[]): string; declare function getPanelFlexBoxStyle({ size, defaultSize, dragState, resolvedSizes, panels, panelIndex, horizontal, precision, }: { size: PanelSize | undefined; defaultSize: PanelSize | undefined; resolvedSizes: number[]; dragState: DragState | null; panels: PanelData[]; panelIndex: number; horizontal: boolean; precision?: number | undefined; }): Style; declare function getUnsafeDefaultSize({ panels, size: sizes }: { panels: PanelData[]; size: number[]; }): number[]; export { findPanelDataIndex, findPanelIndex, getPanelById, getPanelFlexBoxStyle, getPanelLayout, getUnsafeDefaultSize, panelDataHelper, serializePanels, sortPanels };