- make transform-methods relative as default (breaking change)
- added
'random'
option andrandomize()
method toSVG.Color
-> TODO! - added
enqueue()
method toSVG.FX
-> TODO! - fixed a bug in clipping and masking where empty nodes persists after removal -> TODO!
- fixed a bug in IE11 with
mouseenter
andmouseleave
-> TODO! - added
precision()
method to round numeric element attributes -> TODO! - added specs for
SVG.FX
-> TODO!
- added
SVG.Point
which serves as Wrapper to the nativeSVGPoint
(#437) - added
element.point(x,y)
which transforms a point from screen coordinates to the elements space (#403)
- added check for existence of node (#431)
group.move()
now allows string numbers as input (#433)matrixify()
will not apply the calculated matrix to the node anymore
- fixed
transform()
which returns the matrix values (a-f) now, too (#423) - double newlines (\n\n) are correctly handled as blank line from
text()
- fixed use of scrollX vs pageXOffset in
rbox()
(#425) - fixed target array in mask and clip which was removed instead of reinitialized (#429)
- fixed null check in image (see 2.2.2)
- fixed bug related to the new path parser (see 2.2.2)
- fixed amd loader (#412)
- fixed leading point bug in path parsing (#416)
- added null check in image onload callback (#415)
- documentation rework (#407) [thanks @snowyplover]
- added workaround for
SvgPathSeg
which is removed in Chrome 48 (#409) - added
gbox()
to group to get bbox with translation included (#405) - fixed dom data which was not cleaned up properly (#398)
- fixed pattern and gradient animation (#385)
- fixed mask animation in Firefox (#287)
- fixed return value of
text()
after import/clone (#393) - svgjs now saves crucial data in the dom before export and restores them when element is adopted
- added
ungroup()/flatten()
(#238),toParent()
andtoDoc()
- added UMD-Wrapper with possibility to pass custom window object (#352)
- added
morph()
method for paths via plugin svg.pathmorphing.js - added support for css selectors within the
parent()
method - added
parents()
method to get an array of all parenting elements
- added custom context binding to event callback (default is the element the event is bound to)
- added transform to pattern and gradients (#383)
- fixed clone of textnodes (#369)
- fixed transformlists in IE (#372)
- fixed typo that leads to broken gradients (#370)
- fixed animate radius for circles (#367)
- Fixed zoom consideration in circle and ellipse
- fixed bug with
doc()
which always should return root svg - removed target reference from use which caused bugs in
dmove()
anduse()
with external file - added possibility to remove all events from a certain namespace
- fixed bug in
SVG.FX
when animating withplot()
- removed scale consideration in
move()
duo to incompatibilities with other move-functions e.g. inSVG.PointArray
- implemented an SVG adoption system to be able to manipulate existing SVG's not created with svg.js
- changed
parent
reference on elements toparent()
method - using
CustomEvent
instead ofEvent
to be able to fire events with adetail
object [thanks @Fuzzyma] - added polyfill for IE9 and IE10 custom events [thanks @Fuzzyma]
- added DOM query selector with the
select()
method globally or on parent elements - added the intentionally neglected
SVG.Circle
element - fixed bug in
radius()
method wheny
value equals0
- renamed
SVG.TSpan
class toSVG.Tspan
to play nice with the adoption system - added
rx()
andry()
toSVG.Rect
,SVG.Circle
,SVG.Ellispe
andSVG.FX
- changed
array
reference toarray()
method onSVG.Polyline
,SVG.Polygon
andSVG.Path
- completely reworked
clone()
method to use the adoption system - added support to clone manually built text elements
- added
svg.wiml.js
plugin to plugins list - added
ctm()
method to for matrix-centric transformations - added
morph()
method toSVG.Matrix
- added support for new matrix system to
SVG.FX
- completely reworked transformations to be chainable and more true to their nature
- changed
lines
reference tolines()
onSVG.Text
- changed
track
reference totrack()
onSVG.Text
- changed
textPath
reference totextPath()
onSVG.Text
- added raw svg import functionality with the
svg()
method - reworked sup-pixel offset implementation to be more compact
- added
native()
method to elements and matrix to get to the native api - added
untransform()
method to remove all transformations - switched from Ruby's
rake
to Node'sgulp
for building [thanks to Alex Ewerlöf] - added coding style description to README
- changed
to()
method toat()
method inSVG.FX
- added reverse functionality for animations
- documented the
situation
object inSVG.FX
- renamed
SVG.SetFX
toSVG.FX.Set
- added distinction between relative and absolute matrix transformations
- implemented the
element()
method using theSVG.Bare
class to create elements that are not described by SVG.js - removed
SVG.Symbol
but kept thesymbol()
method using the newelement()
method - reworked
SVG.Number
to return new instances with calculations rather than itself - added
w
andh
properties as shorthand forwidth
andheight
toSVG.BBox
- added
SVG.TBox
to get a bounding box that is affected by transformation values - reworked animatable matrix rotations
- fixed a bug where events are not detached properly
- added event-based or complete detaching of event listeners in
off()
method
- added
SVG.Marker
- added
SVG.Symbol
- added
first()
andlast()
methods toSVG.Set
- added
length()
method toSVG.Text
andSVG.TSpan
to calculate total text length SVG.get()
will now also fetch elements with axlink:href="#elementId"
orurl(#elementId)
value given- added
reference()
method to get referenced elements from a given attribute value - fixed infinite loop in viewbox when element has a percentage width / height [thanks @shabegger]
- fixed bug in
SVG.off
- fixed offset by window scroll position in
rbox()
[thanks @bryhoyt]
- calling
after()
when callingstop(true)
(fulfill flag) [thanks @vird] - added
classes()
,hasClass()
,addClass()
,removeClass()
andtoggleClass()
[thanks @pklingem] - fixed a bug where
Element#style()
would not save empty values in IE11 [thanks @Shtong] - fixed
SVG is not defined error
[thanks @anvaka] - fixed a bug in
move()
on text elements with a string based value - binding events listeners to svg.js instance
- text element fires
rebuild
event whenever therebuild()
method is called - fix for
text()
method on text element when acting as getter [thanks @Lochemage] - fix in
style()
method with a css string [thanks @TobiasHeckel]
- fine-tuned text element positioning
- fixed a bug in text
dy()
method - added
leading()
method toSVG.FX
- removed internal representation for
style
- added
reverse()
method toSVG.Array
(and thereby also toSVG.PointArray
andSVG.PathArray
) - added
fulfill
option tostop()
method inSVG.FX
to finalise animations - calling
at()
method directly on morphable svg.js instances inSVG.FX
module - moved most
_private
methods to local named functions - moved helpers to a separate file
- added more output values to
bbox()
andrbox()
methods
- added
plain()
method toSVG.Text
element to add plain text content, without tspans - added
plain()
method to parent elements to create a text element without tspans - updated
SVG.TSpan
to accept nested tspan elements, not unlike thetext()
method inSVG.Text
- removed the
relative()
method in favour ofdx()
,dy()
anddmove()
- switched form objects to arrays in
SVG.PathArray
for compatibility with other libraries and better performance on parsing and rendering (up-to 48% faster than 1.0.0-rc.4) - refined docs on element-specific methods and
SVG.PathArray
structure - added
build()
to enable/disable build mode - removed verbose style application to tspans
- reworked
leading()
implementation to be more font-size "aware" - refactored the
attr
method onSVG.Element
- applied Helvetica as default font
- building
SVG.FX
class withSVG.invent()
function
- switched to
MAJOR
.MINOR
.PATCH
versioning format to play nice with package managers - made svg.pattern.js part of the core library
- automatic pattern creation by passing an image url or instance as
fill
attribute on elements - added
loaded()
method to image tag - fix in
animate('=').to()
- added
pointAt()
method toSVG.Path
, wrapping the nativegetPointAtLength()
- moved
length()
method to sugar module - fix for arcs in patharray
toString()
method [thanks @dotnetCarpenter]
- fix for html-less documents
- added the
SVG.invent
function to ease invention of new elements - using
SVG.invent
to generate core shapes as well for leaner code - added second values for
animate('2s')
- fix for arcs in patharray
toString()
method - added
length()
mehtod to path, wrapping the nativegetTotalLength()
- added
index()
method toSVG.Parent
andSVG.Set
- modified
cx()
andcy()
methods on elements with nativex
,y
,width
andheight
attributes for better performance - added
morph()
andat()
methods toSVG.Number
for unit morphing
- added
SVG.PathArray
for real path transformations - removed
unbiased
system for paths - enabled proportional resizing on
size()
method withnull
for eitherwidth
orheight
values - moved data module to separate file
data()
method now accepts object for for multiple key / value assignments- added
bbox()
method toSVG.Set
- added
relative()
method for moves relative to the current position - added
morph()
andat()
methods toSVG.Color
for color morphing
- added
loop()
method toSVG.FX
- switched from
setInterval
torequestAnimFrame
for animations
- added
get()
toSVG.Set
- moved
SVG.PointArray
to a separate file
- added
linkTo()
,addTo()
andputIn()
methods onSVG.Element
- provided more detailed documentation on parent elements
- added
SVG.A
element with thelink()
- added
pause()
andplay()
toSVG.FX
- storing animation values in
situation
object
- added
has()
method toSVG.Set
- added
width()
andheight()
as setter and getter methods on all shapes - moved sub-pixel offset fix to be an optional method (e.g.
SVG('drawing').fixSubPixelOffset()
) - added
replace()
method to elements - added
radius()
method toSVG.Rect
andSVG.Ellipse
- added reference to parent node in defs
- merged plotable.js and path.js
- added library to cdnjs