@craftjs/layers
Version:
A Photoshop-like layers panel for your page editor
65 lines (64 loc) • 3.1 kB
TypeScript
import { Layer } from '../interfaces';
export declare function useLayer<S = null>(collect?: (layer: Layer) => S): {
id: string;
depth: number;
children: string[];
actions: {
toggleLayer: () => void;
setExpandedState: (expanded: boolean) => void;
};
connectors: import("@craftjs/utils").ChainableConnectors<{
layer: (el: HTMLElement) => HTMLElement;
drag: (el: HTMLElement) => HTMLElement;
layerHeader: (el: HTMLElement) => HTMLElement;
}, HTMLElement | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>>;
} & Omit<{
store: import("../manager").LayerStore;
} & import("@craftjs/utils").ConditionallyMergeRecordTypes<S, {
actions: {
setDOM: (id: string, domCollection: Partial<Record<"dom" | "headingDom", HTMLElement>>) => void;
setIndicator: (indicator: any) => void;
setLayerEvent: (eventType: import("../interfaces").LayerEvents, id: string) => void;
registerLayer: (id: string) => void;
toggleLayer: (id: string) => void;
setExpandedState: (id: string, expanded: boolean) => void;
} & {
history: {
undo: () => void;
redo: () => void;
clear: () => void;
throttle: (rate?: number) => import("@craftjs/utils").Delete<{
setDOM: (id: string, domCollection: Partial<Record<"dom" | "headingDom", HTMLElement>>) => void;
setIndicator: (indicator: any) => void;
setLayerEvent: (eventType: import("../interfaces").LayerEvents, id: string) => void;
registerLayer: (id: string) => void;
toggleLayer: (id: string) => void;
setExpandedState: (id: string, expanded: boolean) => void;
}, never>;
merge: () => import("@craftjs/utils").Delete<{
setDOM: (id: string, domCollection: Partial<Record<"dom" | "headingDom", HTMLElement>>) => void;
setIndicator: (indicator: any) => void;
setLayerEvent: (eventType: import("../interfaces").LayerEvents, id: string) => void;
registerLayer: (id: string) => void;
toggleLayer: (id: string) => void;
setExpandedState: (id: string, expanded: boolean) => void;
}, never>;
ignore: () => import("@craftjs/utils").Delete<{
setDOM: (id: string, domCollection: Partial<Record<"dom" | "headingDom", HTMLElement>>) => void;
setIndicator: (indicator: any) => void;
setLayerEvent: (eventType: import("../interfaces").LayerEvents, id: string) => void;
registerLayer: (id: string) => void;
toggleLayer: (id: string) => void;
setExpandedState: (id: string, expanded: boolean) => void;
}, never>;
};
};
query: {} | ({
[x: string]: (...payload: any[]) => any;
} & {
history: {
canUndo: () => boolean;
canRedo: () => boolean;
};
});
}>, "actions">;