@juanddd/motion-canvas-table
Version:

75 lines (71 loc) • 2.71 kB
TypeScript
import * as _motion_canvas_core from '@motion-canvas/core';
import { SignalValue, PossibleColor, SimpleSignal, ColorSignal } from '@motion-canvas/core';
import { NodeProps, Node, FlexItems, FlexContent, ShapeProps, Shape, Rect } from '@motion-canvas/2d';
interface SwitchProps extends NodeProps {
initialState?: SignalValue<boolean>;
accent?: SignalValue<PossibleColor>;
}
declare class Switch extends Node {
readonly initialState: SimpleSignal<boolean, this>;
readonly accent: ColorSignal<this>;
private isOn;
private readonly indicatorPosition;
private readonly offColor;
private readonly indicator;
private readonly container;
constructor(props?: SwitchProps);
toggle(Duration: number): Generator<void | _motion_canvas_core.ThreadGenerator | Promise<any> | _motion_canvas_core.Promisable<any>, void, any>;
}
interface HeaderCell {
id: string;
label: Node | string | number;
}
interface RowCell {
group: string;
label: Node | string | number;
}
interface TableData {
headers: HeaderCell[];
rows: Array<RowCell[]>;
}
interface TableStyle {
background: string;
gap: number;
headerStyle?: {
fill?: string;
color?: string;
padding?: number;
alignItems?: FlexItems;
justifyContent?: FlexContent;
};
rowStyle?: {
fill?: string;
color?: string;
padding?: number;
alignItems?: FlexItems;
justifyContent?: FlexContent;
};
}
interface TableProps extends ShapeProps {
data: TableData;
style?: TableStyle;
x?: SignalValue<number>;
y?: SignalValue<number>;
}
declare class Table extends Shape {
rows: Array<RowCell[]>;
cols: Array<RowCell[]>;
container: _motion_canvas_core.Reference<Rect>;
colNodes: Node[];
cells: Rect[];
props: TableProps;
constructor(props: TableProps);
addRow(row: RowCell[], duration: number): Generator<void | _motion_canvas_core.ThreadGenerator | Promise<any> | _motion_canvas_core.Promisable<any>, void, any>;
removeRow(rowIndex: number, duration: number): Generator<never, void, unknown>;
addCol(col: Array<RowCell[]>, duration: number): Generator<never, void, unknown>;
removeCol(colIndex: number, duration: number): Generator<never, void, unknown>;
highlightRow(rowIndex: number, duration: number): Generator<never, void, unknown>;
highlightCol(colIndex: number, duration: number): Generator<never, void, unknown>;
highlightCell(colIndex: number, rowIndex: number, duration: number): Generator<never, void, unknown>;
}
export { type HeaderCell, type RowCell, Switch, type SwitchProps, Table, type TableData, type TableProps, type TableStyle };