diff --git a/src/shapes/Arrow.ts b/src/shapes/Arrow.ts index 2f75115e..1488e7f6 100644 --- a/src/shapes/Arrow.ts +++ b/src/shapes/Arrow.ts @@ -6,7 +6,7 @@ import { _registerNode } from '../Global'; import { Path } from './Path'; export interface ArrowConfig extends LineConfig { - points: number[]; + points: [number, number, number, number, number, number]; tension?: number; closed?: boolean; pointerLength?: number; diff --git a/src/shapes/Label.ts b/src/shapes/Label.ts index d4c3128c..60b24c8e 100644 --- a/src/shapes/Label.ts +++ b/src/shapes/Label.ts @@ -176,10 +176,10 @@ Label.prototype.className = 'Label'; _registerNode(Label); export interface TagConfig extends ShapeConfig { - pointerDirection?: string; + pointerDirection?: "up" | "right" | "left" | "down" | "none"; pointerWidth?: number; pointerHeight?: number; - cornerRadius?: number | Array; + cornerRadius?: number | [number] | [number, number] | [number, number, number] | [number, number, number, number]; } /** diff --git a/src/shapes/Line.ts b/src/shapes/Line.ts index df80694c..3be8d7df 100644 --- a/src/shapes/Line.ts +++ b/src/shapes/Line.ts @@ -51,7 +51,7 @@ function expandPoints(p, tension) { } export interface LineConfig extends ShapeConfig { - points?: number[]; + points?: [number, number, number, number, number, number]; tension?: number; closed?: boolean; bezier?: boolean; diff --git a/src/shapes/Rect.ts b/src/shapes/Rect.ts index 27549e7f..3e26f256 100644 --- a/src/shapes/Rect.ts +++ b/src/shapes/Rect.ts @@ -5,7 +5,7 @@ import { _registerNode } from '../Global'; import { GetSet } from '../types'; import { getNumberOrArrayOfNumbersValidator } from '../Validators'; export interface RectConfig extends ShapeConfig { - cornerRadius?: number | number[]; + cornerRadius?: number | [number] | [number, number] | [number, number, number] | [number, number, number, number]; } /** diff --git a/src/shapes/Text.ts b/src/shapes/Text.ts index 753d6de7..8edfb1f7 100644 --- a/src/shapes/Text.ts +++ b/src/shapes/Text.ts @@ -24,15 +24,15 @@ export interface TextConfig extends ShapeConfig { text?: string; fontFamily?: string; fontSize?: number; - fontStyle?: string; - fontVariant?: string; - textDecoration?: string; - align?: string; - verticalAlign?: string; + fontStyle?: "normal" | "bold" | "italic" | "italic bold" | "bold italic"; + fontVariant?: "normal" | "small-caps"; + textDecoration?: "line-through" | "underline" | "line-through underline" | "underline line-through"; + align?: "left" | "center" | "right"; + verticalAlign?: "top" | "middle" | "bottom"; padding?: number; lineHeight?: number; letterSpacing?: number; - wrap?: string; + wrap?: "word" | "char" | "none"; ellipsis?: boolean; } diff --git a/src/shapes/TextPath.ts b/src/shapes/TextPath.ts index c9732c15..41749ed5 100644 --- a/src/shapes/TextPath.ts +++ b/src/shapes/TextPath.ts @@ -13,7 +13,7 @@ export interface TextPathConfig extends ShapeConfig { data?: string; fontFamily?: string; fontSize?: number; - fontStyle?: string; + fontStyle?: "normal" | "bold" | "italic" | "italic bold" | "bold italic"; letterSpacing?: number; }