import { VueNode } from "../_util/type.js"; import { SemanticType } from "../_util/hooks/useMergeSemantic.js"; import { StyleValue } from "vue"; import { ListyClassNames, ListyProps as ListyProps$1, ListyStyles, ScrollAlign } from "@v-c/listy"; import { Key } from "@v-c/util/dist/type"; //#region src/listy/interface.d.ts interface ListyKeyScrollToConfig { key: Key; align?: ScrollAlign; offset?: number; } interface ListyGroupScrollToConfig { groupKey: Key; align?: ScrollAlign; offset?: number; } interface ListyPositionScrollToConfig { left?: number; top?: number; } type ListyScrollToConfig = number | null | ListyKeyScrollToConfig | ListyPositionScrollToConfig | ListyGroupScrollToConfig; interface ListyRef { scrollTo: (config?: ListyScrollToConfig) => void; } interface ListySemanticType { classes?: ListyClassNames; styles?: ListyStyles; } type ListyClassNamesType = SemanticType; type ListyStylesType = SemanticType; interface ListyProps extends Omit { rootClass?: string; class?: string; style?: StyleValue; classes?: ListyClassNamesType; styles?: ListyStylesType; itemRender?: (item: any, index: number) => VueNode; /** * Whether rows are hoverable * @default true */ rowHoverable?: boolean; } //#endregion export { type ListyClassNames, ListyGroupScrollToConfig, ListyKeyScrollToConfig, ListyPositionScrollToConfig, ListyProps, ListyRef, ListyScrollToConfig, ListySemanticType, type ListyStyles, type ScrollAlign };