UNPKG

@gradient-js/svg

Version:

Gradient-js svg generation module

45 lines (44 loc) 1.39 kB
import { CoreOptions } from '@gradient-js/core'; export declare type SvgLinearGradientOptions = { angle: number; x1: number; y1: number; x2: number; y2: number; }; export declare type SvgRadialGradientOptions = { cx: number; cy: number; r: number; fx: number; fy: number; spreadMethod: 'pad' | 'repeat' | 'reflect'; }; export declare type RawSvgGradient = { id: string; type: 'linear' | 'radial'; attributes: { gradientUnits?: 'objectBoundingBox' | 'userSpaceOnUse'; } & (Partial<SvgRadialGradientOptions> | Partial<SvgLinearGradientOptions>); stops: SVGStopElement[]; }; export declare type SvgOptions = CoreOptions & { [key: string]: ('linear' | 'radial') | ('objectBoundingBox' | 'userSpaceOnUse') | SvgLinearGradientOptions | SvgRadialGradientOptions | string | boolean | number | undefined; id: string; type: 'linear' | 'radial'; gradientUnits?: 'objectBoundingBox' | 'userSpaceOnUse'; linearOptions?: SvgLinearGradientOptions; radialOptions?: SvgRadialGradientOptions; }; export declare class Svg { private core; private options?; private colors?; constructor(); get(colors: string[], options: SvgOptions): SVGElement; private createSvgElement; private createColorStop; private colorsToStops; private createGradientElement; private createGradient; }