@fabiomdf/vue-hierarchy-tree
Version:
A Vue 3 component for creating interactive hierarchy trees with drag-and-drop functionality
101 lines (100 loc) • 4.2 kB
TypeScript
import { App } from 'vue';
export { default as HierarchyTree } from './components/HierarchyTree/HierarchyTree.vue';
export type { FlowData, BoxData, ConnectionData, Position, BoxSize, BoxElement, HierarchyTreeProps } from './components/HierarchyTree/types/flow';
export { useLabelEdit } from './components/HierarchyTree/composables/useLabelEdit';
export { useDrag } from './components/HierarchyTree/composables/useDrag';
export { useFlowData } from './components/HierarchyTree/composables/useFlowData';
export declare function install(app: App): void;
declare const plugin: {
install: typeof install;
HierarchyTree: import('vue').DefineComponent<{
initialData: import('.').FlowData;
showAddButton?: boolean;
showRemoveButton?: boolean;
allowLabelEdit?: boolean;
boxWidth?: number;
boxHeight?: number;
enableShadow?: boolean;
boxBackgroundColor?: string;
boxLabelColor?: string;
editFieldBorderColor?: string;
editFieldBackgroundColor?: string;
editFieldTextColor?: string;
addButtonBackgroundColor?: string;
addButtonBorderColor?: string;
addButtonContent?: string;
addButtonSize?: number;
addButtonShape?: "circle" | "square" | "rounded";
removeButtonBackgroundColor?: string;
removeButtonBorderColor?: string;
removeButtonContent?: string;
removeButtonSize?: number;
removeButtonShape?: "circle" | "square" | "rounded";
enableCollisionAvoidance?: boolean;
enableConsoleLog?: boolean;
highlightSelectedBox?: boolean;
selectedBoxBorderColor?: string;
selectedBoxBorderWidth?: number;
showButtonsOnlyOnSelected?: boolean;
}, {
flowData: import('.').FlowData;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
initialData: import('.').FlowData;
showAddButton?: boolean;
showRemoveButton?: boolean;
allowLabelEdit?: boolean;
boxWidth?: number;
boxHeight?: number;
enableShadow?: boolean;
boxBackgroundColor?: string;
boxLabelColor?: string;
editFieldBorderColor?: string;
editFieldBackgroundColor?: string;
editFieldTextColor?: string;
addButtonBackgroundColor?: string;
addButtonBorderColor?: string;
addButtonContent?: string;
addButtonSize?: number;
addButtonShape?: "circle" | "square" | "rounded";
removeButtonBackgroundColor?: string;
removeButtonBorderColor?: string;
removeButtonContent?: string;
removeButtonSize?: number;
removeButtonShape?: "circle" | "square" | "rounded";
enableCollisionAvoidance?: boolean;
enableConsoleLog?: boolean;
highlightSelectedBox?: boolean;
selectedBoxBorderColor?: string;
selectedBoxBorderWidth?: number;
showButtonsOnlyOnSelected?: boolean;
}> & Readonly<{}>, {
showAddButton: boolean;
showRemoveButton: boolean;
allowLabelEdit: boolean;
enableShadow: boolean;
boxBackgroundColor: string;
boxLabelColor: string;
editFieldBorderColor: string;
editFieldBackgroundColor: string;
editFieldTextColor: string;
addButtonBackgroundColor: string;
addButtonBorderColor: string;
addButtonContent: string;
addButtonSize: number;
addButtonShape: "circle" | "square" | "rounded";
removeButtonBackgroundColor: string;
removeButtonBorderColor: string;
removeButtonContent: string;
removeButtonSize: number;
removeButtonShape: "circle" | "square" | "rounded";
boxWidth: number;
boxHeight: number;
enableCollisionAvoidance: boolean;
enableConsoleLog: boolean;
highlightSelectedBox: boolean;
selectedBoxBorderColor: string;
selectedBoxBorderWidth: number;
showButtonsOnlyOnSelected: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
};
export default plugin;