UNPKG

organization-chart-vue3

Version:

A lightweight, interactive organization chart component for Vue 3 with collapsible nodes, TypeScript types, custom slots, and selection events

48 lines (47 loc) 1.31 kB
export interface OrganizationChartMember { id?: string; name?: string; add?: string; image_url?: string; [key: string]: unknown; } export interface OrganizationChartNode { id?: string; title: string; member?: OrganizationChartMember[]; children?: OrganizationChartNode[]; titleClass?: string | string[]; contentClass?: string | string[]; [key: string]: unknown; } export interface OrganizationChartProps { data: OrganizationChartNode; defaultExpandAll?: boolean; } export interface OrganizationChartSelectPayload { kind: "node" | "member"; node: OrganizationChartNode; member?: OrganizationChartMember; id?: string; path: string[]; } export interface OrganizationChartTogglePayload { node: OrganizationChartNode; path: string[]; value: boolean; } export interface OrganizationChartTitleSlotProps { node: OrganizationChartNode; depth: number; path: string[]; } export interface OrganizationChartMemberSlotProps { node: OrganizationChartNode; member: OrganizationChartMember; depth: number; path: string[]; } export interface OrganizationChartSlots { "node-title"?: (props: OrganizationChartTitleSlotProps) => unknown; member?: (props: OrganizationChartMemberSlotProps) => unknown; }