From 4d901ae4e8a77d44e8ce759b0e4dce6a2f494619 Mon Sep 17 00:00:00 2001 From: Braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Fri, 1 Apr 2022 16:21:49 +0200 Subject: [PATCH] chore(types): add element data typing --- package/src/types/changes.ts | 10 +++++----- package/src/types/components.ts | 12 ++++++------ package/src/types/node.ts | 8 ++++---- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package/src/types/changes.ts b/package/src/types/changes.ts index 057d2ff8..8ae463bf 100644 --- a/package/src/types/changes.ts +++ b/package/src/types/changes.ts @@ -1,4 +1,4 @@ -import { XYPosition, Dimensions } from './flow' +import { XYPosition, Dimensions, ElementData } from './flow' import { NodeHandleBounds, Node } from './node' import { Edge } from './edge' @@ -27,12 +27,12 @@ export type NodeRemoveChange = { type: 'remove' } -export type NodeAddChange = { +export type NodeAddChange = { item: Node type: 'add' } -export type NodeResetChange = { +export type NodeResetChange = { item: Node type: 'reset' } @@ -47,11 +47,11 @@ export type NodeChange = export type EdgeSelectionChange = NodeSelectionChange export type EdgeRemoveChange = NodeRemoveChange -export type EdgeAddChange = { +export type EdgeAddChange = { item: Edge type: 'add' } -export type EdgeResetChange = { +export type EdgeResetChange = { item: Edge type: 'reset' } diff --git a/package/src/types/components.ts b/package/src/types/components.ts index 0acc1d89..0f03f8f2 100644 --- a/package/src/types/components.ts +++ b/package/src/types/components.ts @@ -62,14 +62,14 @@ export interface ControlEvents { } /** expects a node and returns a color value */ -export type MiniMapNodeFunc = (node: Node | GraphNode) => string +export type MiniMapNodeFunc = (node: Node | GraphNode) => string // hack for vue-type imports -type MiniMapNodeFunc2 = (node: Node | GraphNode) => string -type MiniMapNodeFunc3 = (node: Node | GraphNode) => string +type MiniMapNodeFunc2 = (node: Node | GraphNode) => string +type MiniMapNodeFunc3 = (node: Node | GraphNode) => string -export type ShapeRendering = 'inherit' | 'auto' | 'geometricPrecision' | 'optimizeSpeed' | 'crispEdges' | undefined +export type ShapeRendering = CSSProperties['shapeRendering'] -export interface MiniMapProps { +export interface MiniMapProps { /** Node color, can be either a string or a string func that receives the current node */ nodeColor?: string | MiniMapNodeFunc /** Node stroke color, can be either a string or a string func that receives the current node */ @@ -90,7 +90,7 @@ export interface MiniMapNodeProps { dimensions: Dimensions borderRadius?: number color?: string - shapeRendering?: CSSProperties['shapeRendering'] + shapeRendering?: ShapeRendering strokeColor?: string strokeWidth?: number } diff --git a/package/src/types/node.ts b/package/src/types/node.ts index 44c3c87a..51e833e7 100644 --- a/package/src/types/node.ts +++ b/package/src/types/node.ts @@ -10,7 +10,7 @@ export type NodeHandleBounds = { target?: HandleElement[] } -export interface Node extends Element { +export interface Node extends Element { /** node position x, y */ position: XYPosition /** node type, can be a default type or a custom type */ @@ -37,7 +37,7 @@ export interface Node extends Element { parentNode?: string } -export interface GraphNode extends Node { +export interface GraphNode extends Node { /** absolute position in relation to parent elements + z-index */ computedPosition: XYZPosition handleBounds: NodeHandleBounds @@ -49,12 +49,12 @@ export interface GraphNode extends Node { } /** these props are passed to node components */ -export interface NodeProps { +export interface NodeProps { id: string /** node DOM-element */ nodeElement: HTMLDivElement type: string - data: T + data: Data selected: boolean connectable: boolean /** absolute position in relation to parent elements + z-index */