1.2.0 • Published 6 years ago

svg-attachment v1.2.0

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

SVG Attachment

attachment image here

Tiny utility functions of SVG DOM.

Features

  • Simple, easy.
  • No dirty DOM. No append some extra attributes.

Usage

typescript:

import {svg} from "svg-attachment";

let root = svg(document.getElementById("svg")!);    // svg tag element
let circle = document.getElementById("circle");
console.log(JSON.stringify(
  root.svgof(circle).leftTop()     // print the position of circle
));

Full js file is dest/svg-attachment.js

Contents

svg function makes a RootManager instance. RootManager has some methods that derives more managers.

Functions of SvgManager

Below functions are methods derived by svgof(node: SVGElement). Many functions are getter and also setter.

name, argsreturndescription
attr(name: string, value?: string)string | undefinedGet or set attributes
attrFn(name: string, fn: (v: string | undefined) => string)string | undefinedAttributes setter which can use current value
getBBox()ClientRectGet bounding box
leftTop(vec2?: Vec2)Vec2Get or set left top position of shape
rightBottom(vec2?: Vec2)Vec2
center(vec2?: Vec2)Vec2
size(vec2?: Vec2)Vec2Get or set width and height, introduced by BoundingClientRect method.
zoom(ratio: Vec2)voidZoom the shape without transform attributes. If only raito fixed zoom is accepted, value of ratio[0] is applied.
color(fillstroke: "fill" | "stroke", colorInstance?: tinycolorInstance)tinycolorInstance | undefinedGet or set color of fill/stroke with opacity. In getter, source function is getComputedStyle. Return undefined if there is none color.
style(name: string, value?: string)string | undefinedGet computed style (undefined if value is undefined or "none") or set value to the style attribute
transform(transformfns?: TransformFn[])TransformFn[] | undefinedGet or set transform attribute
matrix(affine?: Affine)AffineGet or set as one matrix function
select(query: string)Element[]Return all matched elements that is a descendant of this element

Functions of CollectionManager

Below functions are methods derived by collectionof(node: SVGElement[]). It's to enable united processes for SVGElement set.

name, argsreturndescription
center(vec2?: Vec2)Vec2
zoom(ratio: Vec2)void
size(vec2?: Vec2)Vec2
getBox()BoxReturns an object represents merged ClientRect

Types

  • Vec2 = [number, number]
  • TransformFn = { kind: TransformKinds; args: number[]; }
  • TransformKinds = "matrix" | "translate" | "scale" | "rotate" | "skewX" | "skewY"
  • Box = { leftTop: Vec2; rightBottom: Vec2; }
  • tinycolorInstance is the instance by package tinycolor2.
1.2.0

6 years ago

1.1.0

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.3.0

6 years ago

0.2.0

6 years ago

0.1.0

6 years ago

0.0.1

6 years ago