forked from bpmn-io/tiny-svg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.d.ts
170 lines (145 loc) · 7.36 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
/**
* Append a node to an element
*
* @param {SVGElement} element
* @param {SVGElement} node
*
* @return {SVGElement} the element
*/
export function append(element: Element, node: SVGElement): typeof element;
/**
* Append a node to a target element and return the appended node.
*
* @param {SVGElement} element
* @param {SVGElement} node
*
* @return {SVGElement} the appended node
*/
export function appendTo(element: Element, target: SVGElement): typeof element;
export interface KeyValue {
[key: string]: any;
}
export function attr(node: SVGElement, name: string): string;
export function attr(node: SVGElement, name: string, value: number | string): typeof node;
export function attr(node: SVGElement, attrs: KeyValue): typeof node;
export function attr(node: SVGElement, name: string, value: number | string): typeof node | string;
/**
* Wrap `el` in a `ClassList`.
*
* @param {Element} el
* @return {ClassList}
* @api public
*/
export function classes<T extends Element>(el: T): ClassList<T>;
export class ClassList<T extends Element> {
public list: T["classList"];
public el: T;
constructor(el: T);
add(name: string): this;
remove(name: string | RegExp): this;
removeMatching(re: RegExp): this;
toggle(name: string, force?: boolean): this;
array(): string[];
has(name: string): boolean;
contains(name: string): boolean;
}
/**
* Removes all children from the given element
*
* @param {DOMElement} element
* @return {DOMElement} the element (for chaining)
*/
export function clear<T extends Element>(element: T): T;
export function clone<T extends Node>(element: T): T;
/**
* Create a specific type from name or SVG markup.
*
* @param {String} name the name or markup of the element
* @param {Object} [attrs] attributes to set on the element
*
* @returns {SVGElement}
*/
export function create(name: "a"): SVGAElement;
export function create(name: "circle"): SVGCircleElement;
export function create(name: "clipPath"): SVGClipPathElement;
export function create(name: "componentTransferFunction"): SVGComponentTransferFunctionElement;
export function create(name: "defs"): SVGDefsElement;
export function create(name: "desc"): SVGDescElement;
export function create(name: "ellipse"): SVGEllipseElement;
export function create(name: "feBlend"): SVGFEBlendElement;
export function create(name: "feColorMatrix"): SVGFEColorMatrixElement;
export function create(name: "feComponentTransfer"): SVGFEComponentTransferElement;
export function create(name: "feComposite"): SVGFECompositeElement;
export function create(name: "feConvolveMatrix"): SVGFEConvolveMatrixElement;
export function create(name: "feDiffuseLighting"): SVGFEDiffuseLightingElement;
export function create(name: "feDisplacementMap"): SVGFEDisplacementMapElement;
export function create(name: "feDistantLight"): SVGFEDistantLightElement;
export function create(name: "feFlood"): SVGFEFloodElement;
export function create(name: "feFuncA"): SVGFEFuncAElement;
export function create(name: "feFuncB"): SVGFEFuncBElement;
export function create(name: "feFuncG"): SVGFEFuncGElement;
export function create(name: "feFuncR"): SVGFEFuncRElement;
export function create(name: "feGaussianBlur"): SVGFEGaussianBlurElement;
export function create(name: "feImage"): SVGFEImageElement;
export function create(name: "feMerge"): SVGFEMergeElement;
export function create(name: "feMergeNode"): SVGFEMergeNodeElement;
export function create(name: "feMorphology"): SVGFEMorphologyElement;
export function create(name: "feOffset"): SVGFEOffsetElement;
export function create(name: "fePointLight"): SVGFEPointLightElement;
export function create(name: "feSpecularLighting"): SVGFESpecularLightingElement;
export function create(name: "feSpotLight"): SVGFESpotLightElement;
export function create(name: "feTile"): SVGFETileElement;
export function create(name: "feTurbulence"): SVGFETurbulenceElement;
export function create(name: "filter"): SVGFilterElement;
export function create(name: "foreignObject"): SVGForeignObjectElement;
export function create(name: "g"): SVGGElement;
export function create(name: "image"): SVGImageElement;
export function create(name: "gradient"): SVGGradientElement;
export function create(name: "line"): SVGLineElement;
export function create(name: "linearGradient"): SVGLinearGradientElement;
export function create(name: "marker"): SVGMarkerElement;
export function create(name: "mask"): SVGMaskElement;
export function create(name: "path"): SVGPathElement;
export function create(name: "metadata"): SVGMetadataElement;
export function create(name: "pattern"): SVGPatternElement;
export function create(name: "polygon"): SVGPolygonElement;
export function create(name: "polyline"): SVGPolylineElement;
export function create(name: "radialGradient"): SVGRadialGradientElement;
export function create(name: "rect"): SVGRectElement;
export function create(name: "svg"): SVGSVGElement;
export function create(name: "script"): SVGScriptElement;
export function create(name: "stop"): SVGStopElement;
export function create(name: "style"): SVGStyleElement;
export function create(name: "switch"): SVGSwitchElement;
export function create(name: "symbol"): SVGSymbolElement;
export function create(name: "tspan"): SVGTSpanElement;
export function create(name: "textContent"): SVGTextContentElement;
export function create(name: "text"): SVGTextElement;
export function create(name: "textPath"): SVGTextPathElement;
export function create(name: "textPositioning"): SVGTextPositioningElement;
export function create(name: "title"): SVGTitleElement;
export function create(name: "use"): SVGUseElement;
export function create(name: "view"): SVGViewElement;
export function create(name: string): SVGElement;
export function create(name: string, attrs?: KeyValue): Element;
export function on(node: Node, event: string, listener: Function, useCapture?: boolean): void;
export function off(node: Node, event: string, listener: Function, useCapture?: boolean): void;
export function createPoint(): SVGPoint;
export function createPoint(x: number, y: number): SVGPoint;
export function createMatrix(): SVGMatrix;
export function createMatrix(a: number, b: number, c: number, d: number, e: number, f: number): SVGMatrix;
export function createTransform(matrix?: SVGMatrix): SVGTransform;
export function innerSVG(element: Element, svg: string): typeof element;
export function innerSVG(element: Element): string;
export function innerSVG(element: Element, svg?: string): typeof element | string;
export function select(node: Node, selector: string): Node | null;
export function select<K extends keyof HTMLElementTagNameMap>(node: K, selector: string): HTMLElementTagNameMap[K] | null;
export function select<K extends keyof SVGElementTagNameMap>(node: K, selector: string): SVGElementTagNameMap[K] | null;
export function select<E extends Element = Element>(node: E, selector: string): E | null;
export function selectAll<K extends keyof HTMLElementTagNameMap>(node: K, selector: string): HTMLElementTagNameMap[K][];
export function selectAll<K extends keyof SVGElementTagNameMap>(node: K, selector: string): SVGElementTagNameMap[K][];
export function selectAll<E extends Element = Element>(node: E, selector: string): E[];
export function remove(el: Node): void;
export function replace(element: Node, replacement: Node): typeof replacement;
export function transform(node: Node): SVGTransform;
export function transform(node: Node, transforms?: SVGTransform | SVGTransform[]): SVGTransform | void;