UNPKG

hongluan-ui

Version:
250 lines (249 loc) 10.4 kB
import type { Alignment as ScrollStrategy } from 'hongluan-ui/es/components/virtual-list'; import type { SetupContext } from 'vue'; import type { treeEmits } from '../virtual-tree'; import type { CheckboxValueType } from 'hongluan-ui/es/components/checkbox'; import type { TreeProps, TreeNodeData, TreeKey, TreeNode, TreeData, Tree } from '../types'; export declare function useTree(props: TreeProps, emit: SetupContext<typeof treeEmits>['emit']): { tree: import("vue").ShallowRef<Tree>; flattenTree: import("vue").ComputedRef<TreeNode[]>; isNotEmpty: import("vue").ComputedRef<boolean>; listRef: import("vue").Ref<import("vue").DefineComponent<{ className: { type: (ObjectConstructor | StringConstructor | ArrayConstructor)[]; default: string; }; containerElement: { type: (ObjectConstructor | StringConstructor)[]; default: string; }; containerProps: { type: import("vue").PropType<import("hongluan-ui/es/utils").Indexable<any>>; default: () => {}; }; data: { type: import("vue").PropType<any[]>; default: () => any[]; }; direction: { type: import("vue").PropType<import("hongluan-ui/es/components/virtual-list").Direction>; default: string; validator: (val: import("hongluan-ui/es/components/virtual-list").Direction) => boolean; }; height: { readonly type: import("vue").PropType<import("hongluan-ui/es/utils").EpPropMergeType<(StringConstructor | NumberConstructor)[], never, never>>; readonly required: true; readonly validator: (val: unknown) => boolean; __epPropKey: true; }; innerElement: { type: (ObjectConstructor | StringConstructor)[]; default: string; }; innerElementProps: { type: import("vue").PropType<import("hongluan-ui/es/utils").Indexable<any>>; default: () => {}; }; style: { type: import("vue").PropType<import("hongluan-ui/es/utils").StyleValue>; }; useIsScrolling: { type: BooleanConstructor; default: boolean; }; width: { readonly type: import("vue").PropType<import("hongluan-ui/es/utils").EpPropMergeType<(StringConstructor | NumberConstructor)[], never, never>>; readonly required: false; readonly validator: (val: unknown) => boolean; __epPropKey: true; }; perfMode: { type: BooleanConstructor; default: boolean; }; scrollbarAlwaysOn: { type: BooleanConstructor; default: boolean; }; cache: { type: import("vue").PropType<number>; default: number; }; estimatedItemSize: { type: import("vue").PropType<number>; }; layout: { type: import("vue").PropType<import("hongluan-ui/es/components/virtual-list").LayoutDirection>; default: string; }; initScrollOffset: { type: NumberConstructor; default: number; }; total: { readonly type: import("vue").PropType<number>; readonly required: true; readonly validator: (val: unknown) => boolean; __epPropKey: true; }; itemSize: { type: import("vue").PropType<number | import("hongluan-ui/es/components/virtual-list").ItemSize>; required: boolean; }; }, { clientSize: import("vue").ComputedRef<import("hongluan-ui/es/utils").EpPropMergeType<(StringConstructor | NumberConstructor)[], never, never>>; estimatedTotalSize: import("vue").ComputedRef<number>; windowStyle: import("vue").ComputedRef<unknown[]>; windowRef: import("vue").Ref<HTMLElement>; innerRef: import("vue").Ref<HTMLElement>; innerStyle: import("vue").ComputedRef<{ height: string; pointerEvents: string; width: string; }>; itemsToRender: import("vue").ComputedRef<number[]>; scrollbarRef: import("vue").Ref<any>; states: import("vue").Ref<{ isScrolling: boolean; scrollDir: string; scrollOffset: number; updateRequested: boolean; isScrollbarDragging: boolean; scrollbarAlwaysOn: boolean; }>; getItemStyle: (idx: number) => import("vue").CSSProperties; onScroll: (e: Event) => void; onScrollbarScroll: (distanceToGo: number, totalSteps: number) => void; onWheel: (e: WheelEvent) => void; scrollTo: (offset: number) => void; scrollToItem: (idx: number, alignment?: ScrollStrategy) => void; resetScrollTop: () => void; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("scroll" | "itemRendered")[], "scroll" | "itemRendered", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{ className: { type: (ObjectConstructor | StringConstructor | ArrayConstructor)[]; default: string; }; containerElement: { type: (ObjectConstructor | StringConstructor)[]; default: string; }; containerProps: { type: import("vue").PropType<import("hongluan-ui/es/utils").Indexable<any>>; default: () => {}; }; data: { type: import("vue").PropType<any[]>; default: () => any[]; }; direction: { type: import("vue").PropType<import("hongluan-ui/es/components/virtual-list").Direction>; default: string; validator: (val: import("hongluan-ui/es/components/virtual-list").Direction) => boolean; }; height: { readonly type: import("vue").PropType<import("hongluan-ui/es/utils").EpPropMergeType<(StringConstructor | NumberConstructor)[], never, never>>; readonly required: true; readonly validator: (val: unknown) => boolean; __epPropKey: true; }; innerElement: { type: (ObjectConstructor | StringConstructor)[]; default: string; }; innerElementProps: { type: import("vue").PropType<import("hongluan-ui/es/utils").Indexable<any>>; default: () => {}; }; style: { type: import("vue").PropType<import("hongluan-ui/es/utils").StyleValue>; }; useIsScrolling: { type: BooleanConstructor; default: boolean; }; width: { readonly type: import("vue").PropType<import("hongluan-ui/es/utils").EpPropMergeType<(StringConstructor | NumberConstructor)[], never, never>>; readonly required: false; readonly validator: (val: unknown) => boolean; __epPropKey: true; }; perfMode: { type: BooleanConstructor; default: boolean; }; scrollbarAlwaysOn: { type: BooleanConstructor; default: boolean; }; cache: { type: import("vue").PropType<number>; default: number; }; estimatedItemSize: { type: import("vue").PropType<number>; }; layout: { type: import("vue").PropType<import("hongluan-ui/es/components/virtual-list").LayoutDirection>; default: string; }; initScrollOffset: { type: NumberConstructor; default: number; }; total: { readonly type: import("vue").PropType<number>; readonly required: true; readonly validator: (val: unknown) => boolean; __epPropKey: true; }; itemSize: { type: import("vue").PropType<number | import("hongluan-ui/es/components/virtual-list").ItemSize>; required: boolean; }; }>> & { onScroll?: (...args: any[]) => any; onItemRendered?: (...args: any[]) => any; }, { data: any[]; className: string | Record<string, any> | unknown[]; layout: import("hongluan-ui/es/components/virtual-list").LayoutDirection; direction: import("hongluan-ui/es/components/virtual-list").Direction; scrollbarAlwaysOn: boolean; cache: number; useIsScrolling: boolean; perfMode: boolean; containerElement: string | Record<string, any>; containerProps: {}; innerElement: string | Record<string, any>; innerElementProps: {}; initScrollOffset: number; }>>; getKey: (node: TreeNodeData) => TreeKey; getChildren: (node: TreeNodeData) => TreeNodeData[]; toggleExpand: (node: TreeNode) => void; toggleCheckbox: (node: TreeNode, isChecked: CheckboxValueType, nodeClick?: boolean) => void; isExpanded: (node: TreeNode) => boolean; isChecked: (node: TreeNode) => boolean; isIndeterminate: (node: TreeNode) => boolean; isDisabled: (node: TreeNode) => boolean; isCurrent: (node: TreeNode) => boolean; isForceHiddenExpandIcon: (node: TreeNode) => boolean; handleNodeClick: (node: TreeNode, e: MouseEvent) => void; handleNodeCheck: (node: TreeNode, checked: CheckboxValueType) => void; getCurrentNode: () => TreeNodeData | undefined; getCurrentKey: () => TreeKey | undefined; setCurrentKey: (key: TreeKey) => void; getCheckedKeys: (leafOnly?: boolean) => TreeKey[]; getCheckedNodes: (leafOnly?: boolean) => TreeNodeData[]; getHalfCheckedKeys: () => TreeKey[]; getHalfCheckedNodes: () => TreeNodeData[]; setChecked: (key: TreeKey, isChecked: boolean) => void; setCheckedKeys: (keys: TreeKey[]) => void; filter: (query: string) => void; setData: (data: TreeData) => void; getNode: (data: TreeKey | TreeNodeData) => TreeNode; expandNode: (node: TreeNode) => void; collapseNode: (node: TreeNode) => void; setExpandedKeys: (keys: TreeKey[]) => void; scrollToNode: (key: TreeKey, strategy?: ScrollStrategy) => void; scrollTo: (offset: number) => void; };