///
/**
* Interfaces for all components' props.
*
* Anders: is this the best way to do this? For me, this really helps documentation.
* I'm not sure about the parent Entity inheriting the props of it's children.
*/
export declare type GetNamespacedId = (input: string) => string;
export interface FilterProps {
filterName: string;
color?: string;
fill?: string;
strokeWidth?: number;
parentFill?: string;
}
export interface FilterRequestProps extends FilterProps {
getNamespacedId: GetNamespacedId;
}
export interface LatestFilterReferenced extends FilterProps {
fill: string;
strokeWidth: number;
parentFill: string;
}
export interface FilterResponseProps {
id: string;
filterUnits?: string;
width?: string;
height?: string;
x?: string;
y?: string;
filterRes?: number;
}
export declare type FilterResponse = {
filterProperties: FilterResponseProps;
filterPrimitives: JSX.Element[];
};
export declare type GetNamespacedFilter = (filterProps: FilterProps) => FilterResponse;
export declare type GetNamespacedFilterId = (filterProps: FilterProps) => string;
export interface FilterDefsProps {
pathway: Record;
entitiesById: Record;
highlights: [string, string, string][];
}
export declare type MarkerProperty = "markerStart" | "markerEnd" | "markerMid" | "marker";
export declare type StringReferenceValue = "none" | "inherit" | "currentColor";
export declare type GetNamespacedMarkerId = (latestMarkerReferenced: LatestMarkerReferenced) => string;
export interface MarkerComponentProps {
getNamespacedMarkerId: GetNamespacedMarkerId;
markerDrawerMap: Record;
markerLocationType: MarkerProperty;
markerName: StringReferenceValue & string;
}
export interface HighlightedNode {
target: string;
color: string;
}
export interface EntityProps extends NodeProps {
edges: Record;
kaavioType: string;
x: number;
y: number;
rotation: number;
fill: string;
drawAs: string;
getNamespacedFilterId: GetNamespacedFilterId;
getNamespacedMarkerId: GetNamespacedMarkerId;
entitiesById: any[];
type: string[];
textContent: string;
textAlign?: "left" | "center" | "right";
height: number;
width: number;
}
export interface NodeProps {
strokeWidth: number;
stroke: string;
height: number;
id: number;
width: number;
}
export interface LatestMarkerReferenced {
markerProperty: string;
markerName: string;
}