UNPKG

@antv/x6

Version:

JavaScript diagramming library that uses SVG and HTML for rendering

64 lines (53 loc) 1.81 kB
import type { NumberExt, Size } from '../../common' import type { RectangleLike } from '../../geometry' import type { Graph } from '../../graph' export interface ExportEventArgs { 'before:export': ExportToSVGOptions 'after:export': ExportToSVGOptions } export type ExportToSVGCallback = (dataUri: string) => any export interface ExportToSVGOptions { /** * By default, the resulting SVG has set width and height to `100%`. * If you'd like to have the dimensions to be set to the actual content * width and height, set `preserveDimensions` to `true`. An object with * `width` and `height` properties can be also used here if you need to * define the export size explicitely. */ preserveDimensions?: boolean | Size viewBox?: RectangleLike /** * When set to `true` all the styles from external stylesheets are copied * to the resulting SVG export. Note this requires a lot of computations * and it might significantly affect the export time. */ copyStyles?: boolean stylesheet?: string /** * Converts all contained images into Data URI format. */ serializeImages?: boolean /** * A function called before the XML serialization. It may be used to * modify the exported SVG before it is converted to a string. The * function can also return a new SVGDocument. */ beforeSerialize?: (this: Graph, svg: SVGSVGElement) => any } export interface ExportToImageOptions extends ExportToSVGOptions { /** * The width of the image in pixels. */ width?: number /** * The height of the image in pixels. */ height?: number ratio?: number backgroundColor?: string padding?: NumberExt.SideOptions quality?: number } export interface ExportToDataURLOptions extends ExportToImageOptions { type: 'image/png' | 'image/jpeg' }