@gravity-ui/graph
Version:
Modern graph editor component
23 lines (22 loc) • 823 B
TypeScript
import { Group } from "../../components/canvas/groups";
import { TRect } from "../../utils/types/shapes";
import { ESelectionStrategy } from "../../utils/types/types";
import { GroupsListStore } from "./GroupsList";
export type TGroupId = string;
export interface TGroup {
id: TGroupId;
rect: TRect;
selected?: boolean;
component?: typeof Group;
}
export declare class GroupState {
protected store: GroupsListStore;
$state: import("@preact/signals-core").Signal<TGroup>;
constructor(store: GroupsListStore, state: TGroup);
get id(): string;
get selected(): boolean;
updateGroup(group: Partial<TGroup>): void;
setSelection(selected: boolean, strategy?: ESelectionStrategy): void;
asTGroup(): TGroup;
static fromTGroup(store: GroupsListStore, group: TGroup): GroupState;
}