/// /** * 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; }