Interface Theme

GoJS® Diagramming Components
version 3.0.2
by Northwoods Software®

An interface describing a theme.

The various optional properties this interface provides are the default object names used to lookup some binding target properties. For example, Panel.padding is looked up in the margins object and Shape.strokeWidth and GraphObject.opacity are looked up in the numbers object.

While the indexer can be used for other arbitrary objects, we suggest using the optional named properties here for their respective purposes.




[index: string]: ThemeValues<any> | undefined

The string index, allowing for any other ThemeValues object



The arrowheads used for Link shapes. Values should correspond with valid arrowhead names for Shape.fromArrow and Shape.toArrow.

Built-in themes provide a toArrow value for the default link template.

The colors used by the theme. See ThemeColors.

The fonts used by the theme.

Built-in themes provide values for normal and bold fonts.

The Margins used by the theme.

Built-in themes provide a group value for the default Group template's Placeholder.padding.

The numbers used by the theme, most commonly specifying stroke widths.

Built-in themes provide values for group and selection stroke widths.

The Points used by the theme.

The Rects used by the theme.

The Sizes used by the theme.

The Spots used by the theme.

A map of GraphObject target properties to Theme objects. This determines where a lookup will occur for a given property. For example, one might map Shape.fill to the colors object via "fill" -> "colors".

If not defined, or a target property is missing, some sensible defaults are provided.