@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
TypeScript
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;
};