UNPKG

@cn-ui/core

Version:

The @cn-ui/core is a collection of UI components and utilities for building modern web applications with SolidJS.

46 lines (45 loc) 2.22 kB
import { type Atom } from "@cn-ui/reactive"; import type { Accessor } from "solid-js"; import type { JSX } from "solid-js"; import type { useScroll } from "solidjs-use"; import type { MagicTableProps } from "./interface"; import type { CellContext, RowSelectionState, Table } from "./solidTable"; import type { useStaticTableDefine } from "./useStaticTableDefine"; import type { useSticky } from "./useSticky"; export interface MagicTableCtxType<T = unknown> extends ReturnType<typeof useSticky>, ReturnType<typeof useStaticTableDefine<T>> { tableProps: MagicTableProps<T>; table: Table<T>; rowSelection: Atom<RowSelectionState>; tableScroll: ReturnType<typeof useScroll>; selection: Accessor<MagicTableProps<T>["selection"]>; estimateHeight: Accessor<number | undefined>; width: Accessor<number>; defaultCell?: <T, D>(props: CellContext<T, D>) => JSX.Element; } export declare const MagicTableCtx: { use<D = MagicTableCtxType<unknown>>(): D; id: symbol; Provider: import("solid-js").ContextProviderComponent<MagicTableCtxType<unknown> | undefined>; defaultValue: MagicTableCtxType<unknown> | undefined; }; export declare const MagicVirtualTableCtx: { use<D = { rowVirtualizer: import("./virtual").CNVirtualizer<HTMLDivElement, Element>; columnVirtualizer: import("./virtual").CNVirtualizer<HTMLDivElement, Element>; tableWidth(): number; rows: Accessor<import("@cn-ui/table-core/build/lib/types").Row<unknown>[]>; }>(): D; id: symbol; Provider: import("solid-js").ContextProviderComponent<{ rowVirtualizer: import("./virtual").CNVirtualizer<HTMLDivElement, Element>; columnVirtualizer: import("./virtual").CNVirtualizer<HTMLDivElement, Element>; tableWidth(): number; rows: Accessor<import("@cn-ui/table-core/build/lib/types").Row<unknown>[]>; } | undefined>; defaultValue: { rowVirtualizer: import("./virtual").CNVirtualizer<HTMLDivElement, Element>; columnVirtualizer: import("./virtual").CNVirtualizer<HTMLDivElement, Element>; tableWidth(): number; rows: Accessor<import("@cn-ui/table-core/build/lib/types").Row<unknown>[]>; } | undefined; };