UNPKG

@magicbe/design

Version:

React + Antd Drag Drop Visual design

54 lines (53 loc) 2.01 kB
import React from "react"; import { CopyInfo } from "./types"; import { Schema } from "../utils/schema"; type targetLocal = "leftTop" | "rightBottom"; export type HolderContextMenuAttr = { local: [number, number]; items: { label: React.ReactNode; onClick?: () => void; }[]; target?: string; }; export interface DesignViewsContextProps { /**容器 */ wapperRef: React.RefObject<HTMLDivElement>; /**复制信息 */ copyInfo?: CopyInfo; setCopyInfo: React.Dispatch<React.SetStateAction<CopyInfo | undefined>>; /**当前剪切对象 */ shearKey?: string; setShearKey: React.Dispatch<React.SetStateAction<string | undefined>>; /**根组件聚焦状态 */ holderToRoot: boolean; setHolderToRoot: React.Dispatch<React.SetStateAction<boolean>>; /**插槽聚焦状态 */ holderToDrop?: string; setHolderToDrop: React.Dispatch<React.SetStateAction<string | undefined>>; /**插槽容器聚焦状态 */ holderToDropWapper?: string; setHolderToDropWapper: React.Dispatch<React.SetStateAction<string | undefined>>; /**组件聚焦状态 */ holderToWidget?: string; setHolderToWidget: React.Dispatch<React.SetStateAction<string | undefined>>; /**组件聚焦的位置 */ holderToWidgetLocal?: targetLocal; setHolderToWidgetLocal: React.Dispatch<React.SetStateAction<targetLocal | undefined>>; /**右键菜单 */ holderContextMenuAttr?: HolderContextMenuAttr; setHolderContextMenuAttr: React.Dispatch<React.SetStateAction<HolderContextMenuAttr | undefined>>; } export declare const DesignViewsContextProvider: React.FC<{ children?: React.ReactNode; }>; export declare const useDesignViewsContext: () => DesignViewsContextProps; export interface SchemaContextProps { schema: Schema; } export declare const SchemaContextProvider: React.FC<{ children?: React.ReactNode; value: SchemaContextProps; }>; export declare const useSchemaContext: () => SchemaContextProps; export {};