@gradient-js/svg
Version:
Gradient-js svg generation module
45 lines (44 loc) • 1.39 kB
TypeScript
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;
}