@ws-ui/craftjs-layers
Version:
A Photoshop-like layers panel for your page editor
26 lines (25 loc) • 693 B
TypeScript
/// <reference types="react" />
import { NodeId, Indicator } from '@ws-ui/craftjs-core';
export type Layer = {
id: NodeId;
dom: HTMLElement;
headingDom: HTMLElement;
expanded: boolean;
event: LayerRefEvents;
};
export type LayerRefEvents = Record<LayerEvents, boolean>;
export type LayerEvents = 'selected' | 'hovered';
export type LayerOptions = {
expandRootOnLoad: boolean;
renderLayer: React.ElementType;
};
export type LayerIndicator = Indicator & {
onCanvas: boolean;
};
export type LayerState = {
layers: Record<NodeId, Layer>;
events: Record<LayerEvents, NodeId | null> & {
indicator: LayerIndicator;
};
options: LayerOptions;
};