@dynamix-layout/solid
Version:
A powerful SolidJS component for creating dynamic, resizable, and draggable layouts.
35 lines (34 loc) • 1.66 kB
TypeScript
import { LayoutTree, DynamixLayoutCore, NodeOptions } from '../../../core/src';
import { useDynamixLayoutOptions } from '../types';
import { Accessor, Setter } from 'solid-js';
export declare const useDynamixLayout: ({ tabOutput, rootId, layoutTree, updateJSON, dimensions, tabHeadHeight, enableTabbar, bondWidth, minTabHeight, minTabWidth, sliderUpdateTimeout, windowResizeTimeout, disableSliderTimeout, disableResizeTimeout, }: useDynamixLayoutOptions) => {
tabsets: Accessor<Map<string, NodeOptions>>;
sliders: Accessor<Map<string, NodeOptions>>;
tabsetsRef: Map<string, HTMLDivElement>;
panelsRef: Map<string, HTMLDivElement>;
tabsRef: Map<string, HTMLDivElement>;
slidersRef: Map<string, HTMLDivElement>;
layoutJSON: Accessor<LayoutTree | undefined>;
layoutInstance: DynamixLayoutCore;
hoverElementRef: {
current: HTMLDivElement | undefined;
};
rootSplitHoverEl: HTMLDivElement[];
dragging: Accessor<boolean>;
isUpdating: Accessor<boolean>;
setIsUpdating: Setter<boolean>;
setDragging: Setter<boolean>;
setTabsets: Setter<Map<string, NodeOptions>>;
setSliders: Setter<Map<string, NodeOptions>>;
setLayoutJSON: Setter<LayoutTree | undefined>;
onDragStart: (e: DragEvent) => void;
onDragOver: (e: DragEvent) => void;
onDragEnd: (e: DragEvent) => void;
onDragEnter: (e: DragEvent) => void;
onDragLeave: (e: DragEvent) => void;
onDrop: (e: DragEvent) => void;
onPointerDown: (e: PointerEvent) => void;
updateActiveTab: (e: MouseEvent) => void;
handleRootSplit: (e: DragEvent) => void;
handleNavbarDragOver: (e: DragEvent) => void;
};