@compodoc/compodoc
Advanced tools
Comparing version 1.0.0-beta.3 to 1.0.0-beta.4
@@ -0,1 +1,15 @@ | ||
<a name="1.0.0-beta.4"></a> | ||
# [1.0.0-beta.4](https://github.com/compodoc/compodoc/compare/1.0.0-beta.3...1.0.0-beta.4) (2017-04-20) | ||
### Bug Fixes | ||
* **directives:** "Implements" support for directives. ([6138070](https://github.com/compodoc/compodoc/commit/6138070)), closes [#155](https://github.com/compodoc/compodoc/issues/155) | ||
* **links:** Link to "Getting started" / "README" should be ./index.html ([8d30fd9](https://github.com/compodoc/compodoc/commit/8d30fd9)), closes [#158](https://github.com/compodoc/compodoc/issues/158) | ||
* **dependencies:** Main modules graph seems too confuse ([ef7b04f](https://github.com/compodoc/compodoc/commit/ef7b04f)), closes [#150](https://github.com/compodoc/compodoc/issues/150) | ||
### Features | ||
* **app:** Link directly to the README of a component ([3636ce3](https://github.com/compodoc/compodoc/commit/3636ce3)), closes [#154](https://github.com/compodoc/compodoc/issues/154) | ||
<a name="1.0.0-beta.3"></a> | ||
@@ -2,0 +16,0 @@ # [1.0.0-beta.3](https://github.com/compodoc/compodoc/compare/1.0.0-beta.2...1.0.0-beta.3) (2017-04-05) |
{ | ||
"name": "@compodoc/compodoc", | ||
"version": "1.0.0-beta.3", | ||
"version": "1.0.0-beta.4", | ||
"description": "The missing documentation tool for your Angular application", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -62,2 +62,3 @@ import * as _ from 'lodash'; | ||
this.routes = this.rawData.routesTree; | ||
this.cleanRawModules(); | ||
} | ||
@@ -145,2 +146,8 @@ find(type: string) { | ||
} | ||
cleanRawModules() { | ||
_.forEach(this.rawModules, (module) => { | ||
module.declarations = []; | ||
module.providers = []; | ||
}); | ||
} | ||
prepareMiscellaneous() { | ||
@@ -147,0 +154,0 @@ //group each subgoup by file |
@@ -138,12 +138,6 @@ import * as fs from 'fs-extra'; | ||
if (!this.isWatching) { | ||
console.log(` | ||
_ | ||
| | | ||
___ ___ _ __ ___ _ __ ___ __| | ___ ___ | ||
/ __| / _ \\ | '_ \` _ \\ | '_ \\ / _ \\ / _\` | / _ \\ / __| | ||
| (__ | (_) | | | | | | | | |_) | | (_) | | (_| | | (_) | | (__ ${pkg.version} | ||
\\___| \\___/ |_| |_| |_| | .__/ \\___/ \\__,_| \\___/ \\___| | ||
| | | ||
|_| | ||
`); | ||
console.log(__dirname); | ||
console.log(fs.readFileSync(path.join(__dirname, '../src/resources/banner')).toString()); | ||
console.log(pkg.version); | ||
console.log(''); | ||
} | ||
@@ -150,0 +144,0 @@ |
@@ -1,782 +0,3 @@ | ||
// svg-pan-zoom v3.2.5 | ||
// svg-pan-zoom v3.5.0 | ||
// https://github.com/ariutta/svg-pan-zoom | ||
! function t(e, o, n) { | ||
function i(r, a) { | ||
if (!o[r]) { | ||
if (!e[r]) { | ||
var l = "function" == typeof require && require; | ||
if (!a && l) return l(r, !0); | ||
if (s) return s(r, !0); | ||
var u = new Error("Cannot find module '" + r + "'"); | ||
throw u.code = "MODULE_NOT_FOUND", u | ||
} | ||
var h = o[r] = { | ||
exports: {} | ||
}; | ||
e[r][0].call(h.exports, function(t) { | ||
var o = e[r][1][t]; | ||
return i(o ? o : t) | ||
}, h, h.exports, t, e, o, n) | ||
} | ||
return o[r].exports | ||
} | ||
for (var s = "function" == typeof require && require, r = 0; r < n.length; r++) i(n[r]); | ||
return i | ||
}({ | ||
1: [function(t, e) { | ||
var o = t("./svg-pan-zoom.js"); | ||
! function(t) { | ||
"function" == typeof define && define.amd ? define("svg-pan-zoom", function() { | ||
return o | ||
}) : "undefined" != typeof e && e.exports && (e.exports = o, t.svgPanZoom = o) | ||
}(window, document) | ||
}, { | ||
"./svg-pan-zoom.js": 4 | ||
}], | ||
2: [function(t, e) { | ||
var o = t("./svg-utilities"); | ||
e.exports = { | ||
enable: function(t) { | ||
var e = t.svg.querySelector("defs"); | ||
e || (e = document.createElementNS(o.svgNS, "defs"), t.svg.appendChild(e)); | ||
var n = document.createElementNS(o.svgNS, "style"); | ||
n.setAttribute("type", "text/css"), n.textContent = ".svg-pan-zoom-control { cursor: pointer; fill: black; fill-opacity: 0.333; } .svg-pan-zoom-control:hover { fill-opacity: 0.8; } .svg-pan-zoom-control-background { fill: white; fill-opacity: 0.5; } .svg-pan-zoom-control-background { fill-opacity: 0.8; }", e.appendChild(n); | ||
var i = document.createElementNS(o.svgNS, "g"); | ||
i.setAttribute("id", "svg-pan-zoom-controls"), i.setAttribute("transform", "translate(" + (t.width - 70) + " " + (t.height - 76) + ") scale(0.75)"), i.setAttribute("class", "svg-pan-zoom-control"), i.appendChild(this._createZoomIn(t)), i.appendChild(this._createZoomReset(t)), i.appendChild(this._createZoomOut(t)), t.svg.appendChild(i), t.controlIcons = i | ||
}, | ||
_createZoomIn: function(t) { | ||
var e = document.createElementNS(o.svgNS, "g"); | ||
e.setAttribute("id", "svg-pan-zoom-zoom-in"), e.setAttribute("transform", "translate(30.5 5) scale(0.015)"), e.setAttribute("class", "svg-pan-zoom-control"), e.addEventListener("click", function() { | ||
t.getPublicInstance().zoomIn() | ||
}, !1), e.addEventListener("touchstart", function() { | ||
t.getPublicInstance().zoomIn() | ||
}, !1); | ||
var n = document.createElementNS(o.svgNS, "rect"); | ||
n.setAttribute("x", "0"), n.setAttribute("y", "0"), n.setAttribute("width", "1500"), n.setAttribute("height", "1400"), n.setAttribute("class", "svg-pan-zoom-control-background"), e.appendChild(n); | ||
var i = document.createElementNS(o.svgNS, "path"); | ||
return i.setAttribute("d", "M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z"), i.setAttribute("class", "svg-pan-zoom-control-element"), e.appendChild(i), e | ||
}, | ||
_createZoomReset: function(t) { | ||
var e = document.createElementNS(o.svgNS, "g"); | ||
e.setAttribute("id", "svg-pan-zoom-reset-pan-zoom"), e.setAttribute("transform", "translate(5 35) scale(0.4)"), e.setAttribute("class", "svg-pan-zoom-control"), e.addEventListener("click", function() { | ||
t.getPublicInstance().reset() | ||
}, !1), e.addEventListener("touchstart", function() { | ||
t.getPublicInstance().reset() | ||
}, !1); | ||
var n = document.createElementNS(o.svgNS, "rect"); | ||
n.setAttribute("x", "2"), n.setAttribute("y", "2"), n.setAttribute("width", "182"), n.setAttribute("height", "58"), n.setAttribute("class", "svg-pan-zoom-control-background"), e.appendChild(n); | ||
var i = document.createElementNS(o.svgNS, "path"); | ||
i.setAttribute("d", "M33.051,20.632c-0.742-0.406-1.854-0.609-3.338-0.609h-7.969v9.281h7.769c1.543,0,2.701-0.188,3.473-0.562c1.365-0.656,2.048-1.953,2.048-3.891C35.032,22.757,34.372,21.351,33.051,20.632z"), i.setAttribute("class", "svg-pan-zoom-control-element"), e.appendChild(i); | ||
var s = document.createElementNS(o.svgNS, "path"); | ||
return s.setAttribute("d", "M170.231,0.5H15.847C7.102,0.5,0.5,5.708,0.5,11.84v38.861C0.5,56.833,7.102,61.5,15.847,61.5h154.384c8.745,0,15.269-4.667,15.269-10.798V11.84C185.5,5.708,178.976,0.5,170.231,0.5z M42.837,48.569h-7.969c-0.219-0.766-0.375-1.383-0.469-1.852c-0.188-0.969-0.289-1.961-0.305-2.977l-0.047-3.211c-0.03-2.203-0.41-3.672-1.142-4.406c-0.732-0.734-2.103-1.102-4.113-1.102h-7.05v13.547h-7.055V14.022h16.524c2.361,0.047,4.178,0.344,5.45,0.891c1.272,0.547,2.351,1.352,3.234,2.414c0.731,0.875,1.31,1.844,1.737,2.906s0.64,2.273,0.64,3.633c0,1.641-0.414,3.254-1.242,4.84s-2.195,2.707-4.102,3.363c1.594,0.641,2.723,1.551,3.387,2.73s0.996,2.98,0.996,5.402v2.32c0,1.578,0.063,2.648,0.19,3.211c0.19,0.891,0.635,1.547,1.333,1.969V48.569z M75.579,48.569h-26.18V14.022h25.336v6.117H56.454v7.336h16.781v6H56.454v8.883h19.125V48.569z M104.497,46.331c-2.44,2.086-5.887,3.129-10.34,3.129c-4.548,0-8.125-1.027-10.731-3.082s-3.909-4.879-3.909-8.473h6.891c0.224,1.578,0.662,2.758,1.316,3.539c1.196,1.422,3.246,2.133,6.15,2.133c1.739,0,3.151-0.188,4.236-0.562c2.058-0.719,3.087-2.055,3.087-4.008c0-1.141-0.504-2.023-1.512-2.648c-1.008-0.609-2.607-1.148-4.796-1.617l-3.74-0.82c-3.676-0.812-6.201-1.695-7.576-2.648c-2.328-1.594-3.492-4.086-3.492-7.477c0-3.094,1.139-5.664,3.417-7.711s5.623-3.07,10.036-3.07c3.685,0,6.829,0.965,9.431,2.895c2.602,1.93,3.966,4.73,4.093,8.402h-6.938c-0.128-2.078-1.057-3.555-2.787-4.43c-1.154-0.578-2.587-0.867-4.301-0.867c-1.907,0-3.428,0.375-4.565,1.125c-1.138,0.75-1.706,1.797-1.706,3.141c0,1.234,0.561,2.156,1.682,2.766c0.721,0.406,2.25,0.883,4.589,1.43l6.063,1.43c2.657,0.625,4.648,1.461,5.975,2.508c2.059,1.625,3.089,3.977,3.089,7.055C108.157,41.624,106.937,44.245,104.497,46.331z M139.61,48.569h-26.18V14.022h25.336v6.117h-18.281v7.336h16.781v6h-16.781v8.883h19.125V48.569z M170.337,20.14h-10.336v28.43h-7.266V20.14h-10.383v-6.117h27.984V20.14z"), s.setAttribute("class", "svg-pan-zoom-control-element"), e.appendChild(s), e | ||
}, | ||
_createZoomOut: function(t) { | ||
var e = document.createElementNS(o.svgNS, "g"); | ||
e.setAttribute("id", "svg-pan-zoom-zoom-out"), e.setAttribute("transform", "translate(30.5 70) scale(0.015)"), e.setAttribute("class", "svg-pan-zoom-control"), e.addEventListener("click", function() { | ||
t.getPublicInstance().zoomOut() | ||
}, !1), e.addEventListener("touchstart", function() { | ||
t.getPublicInstance().zoomOut() | ||
}, !1); | ||
var n = document.createElementNS(o.svgNS, "rect"); | ||
n.setAttribute("x", "0"), n.setAttribute("y", "0"), n.setAttribute("width", "1500"), n.setAttribute("height", "1400"), n.setAttribute("class", "svg-pan-zoom-control-background"), e.appendChild(n); | ||
var i = document.createElementNS(o.svgNS, "path"); | ||
return i.setAttribute("d", "M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z"), i.setAttribute("class", "svg-pan-zoom-control-element"), e.appendChild(i), e | ||
}, | ||
disable: function(t) { | ||
t.controlIcons && (t.controlIcons.parentNode.removeChild(t.controlIcons), t.controlIcons = null) | ||
} | ||
} | ||
}, { | ||
"./svg-utilities": 5 | ||
}], | ||
3: [function(t, e) { | ||
var o = t("./svg-utilities"), | ||
n = t("./utilities"), | ||
i = function(t, e) { | ||
this.init(t, e) | ||
}; | ||
i.prototype.init = function(t, e) { | ||
this.viewport = t, this.options = e, this.originalState = { | ||
zoom: 1, | ||
x: 0, | ||
y: 0 | ||
}, this.activeState = { | ||
zoom: 1, | ||
x: 0, | ||
y: 0 | ||
}, this.updateCTMCached = n.proxy(this.updateCTM, this), this.requestAnimationFrame = n.createRequestAnimationFrame(this.options.refreshRate), this.viewBox = { | ||
x: 0, | ||
y: 0, | ||
width: 0, | ||
height: 0 | ||
}, this.cacheViewBox(), this.processCTM(), this.updateCTM() | ||
}, i.prototype.cacheViewBox = function() { | ||
var t = this.options.svg.getAttribute("viewBox"); | ||
if (t) { | ||
var e = t.split(/[\s\,]/).filter(function(t) { | ||
return t | ||
}).map(parseFloat); | ||
this.viewBox.x = e[0], this.viewBox.y = e[1], this.viewBox.width = e[2], this.viewBox.height = e[3]; | ||
var o = Math.min(this.options.width / this.viewBox.width, this.options.height / this.viewBox.height); | ||
this.activeState.zoom = o, this.activeState.x = (this.options.width - this.viewBox.width * o) / 2, this.activeState.y = (this.options.height - this.viewBox.height * o) / 2, this.updateCTMOnNextFrame(), this.options.svg.removeAttribute("viewBox") | ||
} else { | ||
var n = this.viewport.getBBox(); | ||
this.viewBox.x = n.x, this.viewBox.y = n.y, this.viewBox.width = n.width, this.viewBox.height = n.height | ||
} | ||
}, i.prototype.recacheViewBox = function() { | ||
var t = this.viewport.getBoundingClientRect(), | ||
e = t.width / this.getZoom(), | ||
o = t.height / this.getZoom(); | ||
this.viewBox.x = 0, this.viewBox.y = 0, this.viewBox.width = e, this.viewBox.height = o | ||
}, i.prototype.getViewBox = function() { | ||
return n.extend({}, this.viewBox) | ||
}, i.prototype.processCTM = function() { | ||
var t = this.getCTM(); | ||
if (this.options.fit || this.options.contain) { | ||
var e; | ||
e = this.options.fit ? Math.min(this.options.width / this.viewBox.width, this.options.height / this.viewBox.height) : Math.max(this.options.width / this.viewBox.width, this.options.height / this.viewBox.height), t.a = e, t.d = e, t.e = -this.viewBox.x * e, t.f = -this.viewBox.y * e | ||
} | ||
if (this.options.center) { | ||
var o = .5 * (this.options.width - (this.viewBox.width + 2 * this.viewBox.x) * t.a), | ||
n = .5 * (this.options.height - (this.viewBox.height + 2 * this.viewBox.y) * t.a); | ||
t.e = o, t.f = n | ||
} | ||
this.originalState.zoom = t.a, this.originalState.x = t.e, this.originalState.y = t.f, this.setCTM(t) | ||
}, i.prototype.getOriginalState = function() { | ||
return n.extend({}, this.originalState) | ||
}, i.prototype.getState = function() { | ||
return n.extend({}, this.activeState) | ||
}, i.prototype.getZoom = function() { | ||
return this.activeState.zoom | ||
}, i.prototype.getRelativeZoom = function() { | ||
return this.activeState.zoom / this.originalState.zoom | ||
}, i.prototype.computeRelativeZoom = function(t) { | ||
return t / this.originalState.zoom | ||
}, i.prototype.getPan = function() { | ||
return { | ||
x: this.activeState.x, | ||
y: this.activeState.y | ||
} | ||
}, i.prototype.getCTM = function() { | ||
var t = this.options.svg.createSVGMatrix(); | ||
return t.a = this.activeState.zoom, t.b = 0, t.c = 0, t.d = this.activeState.zoom, t.e = this.activeState.x, t.f = this.activeState.y, t | ||
}, i.prototype.setCTM = function(t) { | ||
var e = this.isZoomDifferent(t), | ||
o = this.isPanDifferent(t); | ||
if (e || o) { | ||
if (e && this.options.beforeZoom(this.getRelativeZoom(), this.computeRelativeZoom(t.a)) === !1 && (t.a = t.d = this.activeState.zoom, e = !1), o) { | ||
var i = this.options.beforePan(this.getPan(), { | ||
x: t.e, | ||
y: t.f | ||
}), | ||
s = !1, | ||
r = !1; | ||
i === !1 ? (t.e = this.getPan().x, t.f = this.getPan().y, s = r = !0) : n.isObject(i) && (i.x === !1 ? (t.e = this.getPan().x, s = !0) : n.isNumber(i.x) && (t.e = i.x), i.y === !1 ? (t.f = this.getPan().y, r = !0) : n.isNumber(i.y) && (t.f = i.y)), s && r && (o = !1) | ||
}(e || o) && (this.updateCache(t), this.updateCTMOnNextFrame(), e && this.options.onZoom(this.getRelativeZoom()), o && this.options.onPan(this.getPan())) | ||
} | ||
}, i.prototype.isZoomDifferent = function(t) { | ||
return this.activeState.zoom !== t.a | ||
}, i.prototype.isPanDifferent = function(t) { | ||
return this.activeState.x !== t.e || this.activeState.y !== t.f | ||
}, i.prototype.updateCache = function(t) { | ||
this.activeState.zoom = t.a, this.activeState.x = t.e, this.activeState.y = t.f | ||
}, i.prototype.pendingUpdate = !1, i.prototype.updateCTMOnNextFrame = function() { | ||
this.pendingUpdate || (this.pendingUpdate = !0, this.requestAnimationFrame.call(window, this.updateCTMCached)) | ||
}, i.prototype.updateCTM = function() { | ||
o.setCTM(this.viewport, this.getCTM(), this.defs), this.pendingUpdate = !1 | ||
}, e.exports = function(t, e) { | ||
return new i(t, e) | ||
} | ||
}, { | ||
"./svg-utilities": 5, | ||
"./utilities": 7 | ||
}], | ||
4: [function(t, e) { | ||
var o = t("./uniwheel"), | ||
n = t("./control-icons"), | ||
i = t("./utilities"), | ||
s = t("./svg-utilities"), | ||
r = t("./shadow-viewport"), | ||
a = function(t, e) { | ||
this.init(t, e) | ||
}, | ||
l = { | ||
viewportSelector: ".svg-pan-zoom_viewport", | ||
panEnabled: !0, | ||
controlIconsEnabled: !1, | ||
zoomEnabled: !0, | ||
dblClickZoomEnabled: !0, | ||
mouseWheelZoomEnabled: !0, | ||
preventMouseEventsDefault: !0, | ||
zoomScaleSensitivity: .1, | ||
minZoom: .5, | ||
maxZoom: 10, | ||
fit: !0, | ||
contain: !1, | ||
center: !0, | ||
refreshRate: "auto", | ||
beforeZoom: null, | ||
onZoom: null, | ||
beforePan: null, | ||
onPan: null, | ||
customEventsHandler: null, | ||
eventsListenerElement: null | ||
}; | ||
a.prototype.init = function(t, e) { | ||
var o = this; | ||
this.svg = t, this.defs = t.querySelector("defs"), s.setupSvgAttributes(this.svg), this.options = i.extend(i.extend({}, l), e), this.state = "none"; | ||
var a = s.getBoundingClientRectNormalized(t); | ||
this.width = a.width, this.height = a.height, this.viewport = r(s.getOrCreateViewport(this.svg, this.options.viewportSelector), { | ||
svg: this.svg, | ||
width: this.width, | ||
height: this.height, | ||
fit: this.options.fit, | ||
contain: this.options.contain, | ||
center: this.options.center, | ||
refreshRate: this.options.refreshRate, | ||
beforeZoom: function(t, e) { | ||
return o.viewport && o.options.beforeZoom ? o.options.beforeZoom(t, e) : void 0 | ||
}, | ||
onZoom: function(t) { | ||
return o.viewport && o.options.onZoom ? o.options.onZoom(t) : void 0 | ||
}, | ||
beforePan: function(t, e) { | ||
return o.viewport && o.options.beforePan ? o.options.beforePan(t, e) : void 0 | ||
}, | ||
onPan: function(t) { | ||
return o.viewport && o.options.onPan ? o.options.onPan(t) : void 0 | ||
} | ||
}); | ||
var u = this.getPublicInstance(); | ||
u.setBeforeZoom(this.options.beforeZoom), u.setOnZoom(this.options.onZoom), u.setBeforePan(this.options.beforePan), u.setOnPan(this.options.onPan), this.options.controlIconsEnabled && n.enable(this), this.lastMouseWheelEventTime = Date.now(), this.setupHandlers() | ||
}, a.prototype.setupHandlers = function() { | ||
var t = this, | ||
e = null; | ||
if (this.eventListeners = { | ||
mousedown: function(e) { | ||
return t.handleMouseDown(e, null) | ||
}, | ||
touchstart: function(o) { | ||
var n = t.handleMouseDown(o, e); | ||
return e = o, n | ||
}, | ||
mouseup: function(e) { | ||
return t.handleMouseUp(e) | ||
}, | ||
touchend: function(e) { | ||
return t.handleMouseUp(e) | ||
}, | ||
mousemove: function(e) { | ||
return t.handleMouseMove(e) | ||
}, | ||
touchmove: function(e) { | ||
return t.handleMouseMove(e) | ||
}, | ||
mouseleave: function(e) { | ||
return t.handleMouseUp(e) | ||
}, | ||
touchleave: function(e) { | ||
return t.handleMouseUp(e) | ||
}, | ||
touchcancel: function(e) { | ||
return t.handleMouseUp(e) | ||
} | ||
}, null != this.options.customEventsHandler) { | ||
this.options.customEventsHandler.init({ | ||
svgElement: this.svg, | ||
eventsListenerElement: this.options.eventsListenerElement, | ||
instance: this.getPublicInstance() | ||
}); | ||
var o = this.options.customEventsHandler.haltEventListeners; | ||
if (o && o.length) | ||
for (var n = o.length - 1; n >= 0; n--) this.eventListeners.hasOwnProperty(o[n]) && delete this.eventListeners[o[n]] | ||
} | ||
for (var i in this.eventListeners)(this.options.eventsListenerElement || this.svg).addEventListener(i, this.eventListeners[i], !1); | ||
this.options.mouseWheelZoomEnabled && (this.options.mouseWheelZoomEnabled = !1, this.enableMouseWheelZoom()) | ||
}, a.prototype.enableMouseWheelZoom = function() { | ||
if (!this.options.mouseWheelZoomEnabled) { | ||
var t = this; | ||
this.wheelListener = function(e) { | ||
return t.handleMouseWheel(e) | ||
}, o.on(this.options.eventsListenerElement || this.svg, this.wheelListener, !1), this.options.mouseWheelZoomEnabled = !0 | ||
} | ||
}, a.prototype.disableMouseWheelZoom = function() { | ||
this.options.mouseWheelZoomEnabled && (o.off(this.options.eventsListenerElement || this.svg, this.wheelListener, !1), this.options.mouseWheelZoomEnabled = !1) | ||
}, a.prototype.handleMouseWheel = function(t) { | ||
if (this.options.zoomEnabled && "none" === this.state) { | ||
this.options.preventMouseEventsDefault && (t.preventDefault ? t.preventDefault() : t.returnValue = !1); | ||
var e = t.deltaY || 1, | ||
o = Date.now() - this.lastMouseWheelEventTime, | ||
n = 3 + Math.max(0, 30 - o); | ||
this.lastMouseWheelEventTime = Date.now(), "deltaMode" in t && 0 === t.deltaMode && t.wheelDelta && (e = 0 === t.deltaY ? 0 : Math.abs(t.wheelDelta) / t.deltaY), e = e > -.3 && .3 > e ? e : (e > 0 ? 1 : -1) * Math.log(Math.abs(e) + 10) / n; | ||
var i = this.svg.getScreenCTM().inverse(), | ||
r = s.getEventPoint(t, this.svg).matrixTransform(i), | ||
a = Math.pow(1 + this.options.zoomScaleSensitivity, -1 * e); | ||
this.zoomAtPoint(a, r) | ||
} | ||
}, a.prototype.zoomAtPoint = function(t, e, o) { | ||
var n = this.viewport.getOriginalState(); | ||
o ? (t = Math.max(this.options.minZoom * n.zoom, Math.min(this.options.maxZoom * n.zoom, t)), t /= this.getZoom()) : this.getZoom() * t < this.options.minZoom * n.zoom ? t = this.options.minZoom * n.zoom / this.getZoom() : this.getZoom() * t > this.options.maxZoom * n.zoom && (t = this.options.maxZoom * n.zoom / this.getZoom()); | ||
var i = this.viewport.getCTM(), | ||
s = e.matrixTransform(i.inverse()), | ||
r = this.svg.createSVGMatrix().translate(s.x, s.y).scale(t).translate(-s.x, -s.y), | ||
a = i.multiply(r); | ||
a.a !== i.a && this.viewport.setCTM(a) | ||
}, a.prototype.zoom = function(t, e) { | ||
this.zoomAtPoint(t, s.getSvgCenterPoint(this.svg, this.width, this.height), e) | ||
}, a.prototype.publicZoom = function(t, e) { | ||
e && (t = this.computeFromRelativeZoom(t)), this.zoom(t, e) | ||
}, a.prototype.publicZoomAtPoint = function(t, e, o) { | ||
if (o && (t = this.computeFromRelativeZoom(t)), !("SVGPoint" !== i.getType(e) && "x" in e && "y" in e)) throw new Error("Given point is invalid"); | ||
e = s.createSVGPoint(this.svg, e.x, e.y), this.zoomAtPoint(t, e, o) | ||
}, a.prototype.getZoom = function() { | ||
return this.viewport.getZoom() | ||
}, a.prototype.getRelativeZoom = function() { | ||
return this.viewport.getRelativeZoom() | ||
}, a.prototype.computeFromRelativeZoom = function(t) { | ||
return t * this.viewport.getOriginalState().zoom | ||
}, a.prototype.resetZoom = function() { | ||
var t = this.viewport.getOriginalState(); | ||
this.zoom(t.zoom, !0) | ||
}, a.prototype.resetPan = function() { | ||
this.pan(this.viewport.getOriginalState()) | ||
}, a.prototype.reset = function() { | ||
this.resetZoom(), this.resetPan() | ||
}, a.prototype.handleDblClick = function(t) { | ||
if (this.options.preventMouseEventsDefault && (t.preventDefault ? t.preventDefault() : t.returnValue = !1), this.options.controlIconsEnabled) { | ||
var e = t.target.getAttribute("class") || ""; | ||
if (e.indexOf("svg-pan-zoom-control") > -1) return !1 | ||
} | ||
var o; | ||
o = t.shiftKey ? 1 / (2 * (1 + this.options.zoomScaleSensitivity)) : 2 * (1 + this.options.zoomScaleSensitivity); | ||
var n = s.getEventPoint(t, this.svg).matrixTransform(this.svg.getScreenCTM().inverse()); | ||
this.zoomAtPoint(o, n) | ||
}, a.prototype.handleMouseDown = function(t, e) { | ||
this.options.preventMouseEventsDefault && (t.preventDefault ? t.preventDefault() : t.returnValue = !1), i.mouseAndTouchNormalize(t, this.svg), this.options.dblClickZoomEnabled && i.isDblClick(t, e) ? this.handleDblClick(t) : (this.state = "pan", this.firstEventCTM = this.viewport.getCTM(), this.stateOrigin = s.getEventPoint(t, this.svg).matrixTransform(this.firstEventCTM.inverse())) | ||
}, a.prototype.handleMouseMove = function(t) { | ||
if (this.options.preventMouseEventsDefault && (t.preventDefault ? t.preventDefault() : t.returnValue = !1), "pan" === this.state && this.options.panEnabled) { | ||
var e = s.getEventPoint(t, this.svg).matrixTransform(this.firstEventCTM.inverse()), | ||
o = this.firstEventCTM.translate(e.x - this.stateOrigin.x, e.y - this.stateOrigin.y); | ||
this.viewport.setCTM(o) | ||
} | ||
}, a.prototype.handleMouseUp = function(t) { | ||
this.options.preventMouseEventsDefault && (t.preventDefault ? t.preventDefault() : t.returnValue = !1), "pan" === this.state && (this.state = "none") | ||
}, a.prototype.fit = function() { | ||
var t = this.viewport.getViewBox(), | ||
e = Math.min(this.width / t.width, this.height / t.height); | ||
this.zoom(e, !0) | ||
}, a.prototype.contain = function() { | ||
var t = this.viewport.getViewBox(), | ||
e = Math.max(this.width / t.width, this.height / t.height); | ||
this.zoom(e, !0) | ||
}, a.prototype.center = function() { | ||
var t = this.viewport.getViewBox(), | ||
e = .5 * (this.width - (t.width + 2 * t.x) * this.getZoom()), | ||
o = .5 * (this.height - (t.height + 2 * t.y) * this.getZoom()); | ||
this.getPublicInstance().pan({ | ||
x: e, | ||
y: o | ||
}) | ||
}, a.prototype.updateBBox = function() { | ||
this.viewport.recacheViewBox() | ||
}, a.prototype.pan = function(t) { | ||
var e = this.viewport.getCTM(); | ||
e.e = t.x, e.f = t.y, this.viewport.setCTM(e) | ||
}, a.prototype.panBy = function(t) { | ||
var e = this.viewport.getCTM(); | ||
e.e += t.x, e.f += t.y, this.viewport.setCTM(e) | ||
}, a.prototype.getPan = function() { | ||
var t = this.viewport.getState(); | ||
return { | ||
x: t.x, | ||
y: t.y | ||
} | ||
}, a.prototype.resize = function() { | ||
var t = s.getBoundingClientRectNormalized(this.svg); | ||
this.width = t.width, this.height = t.height, this.options.controlIconsEnabled && (this.getPublicInstance().disableControlIcons(), this.getPublicInstance().enableControlIcons()) | ||
}, a.prototype.destroy = function() { | ||
var t = this; | ||
this.beforeZoom = null, this.onZoom = null, this.beforePan = null, this.onPan = null, null != this.options.customEventsHandler && this.options.customEventsHandler.destroy({ | ||
svgElement: this.svg, | ||
eventsListenerElement: this.options.eventsListenerElement, | ||
instance: this.getPublicInstance() | ||
}); | ||
for (var e in this.eventListeners)(this.options.eventsListenerElement || this.svg).removeEventListener(e, this.eventListeners[e], !1); | ||
this.disableMouseWheelZoom(), this.getPublicInstance().disableControlIcons(), this.reset(), u = u.filter(function(e) { | ||
return e.svg !== t.svg | ||
}), delete this.options, delete this.publicInstance, delete this.pi, this.getPublicInstance = function() { | ||
return null | ||
} | ||
}, a.prototype.getPublicInstance = function() { | ||
var t = this; | ||
return this.publicInstance || (this.publicInstance = this.pi = { | ||
enablePan: function() { | ||
return t.options.panEnabled = !0, t.pi | ||
}, | ||
disablePan: function() { | ||
return t.options.panEnabled = !1, t.pi | ||
}, | ||
isPanEnabled: function() { | ||
return !!t.options.panEnabled | ||
}, | ||
pan: function(e) { | ||
return t.pan(e), t.pi | ||
}, | ||
panBy: function(e) { | ||
return t.panBy(e), t.pi | ||
}, | ||
getPan: function() { | ||
return t.getPan() | ||
}, | ||
setBeforePan: function(e) { | ||
return t.options.beforePan = null === e ? null : i.proxy(e, t.publicInstance), t.pi | ||
}, | ||
setOnPan: function(e) { | ||
return t.options.onPan = null === e ? null : i.proxy(e, t.publicInstance), t.pi | ||
}, | ||
enableZoom: function() { | ||
return t.options.zoomEnabled = !0, t.pi | ||
}, | ||
disableZoom: function() { | ||
return t.options.zoomEnabled = !1, t.pi | ||
}, | ||
isZoomEnabled: function() { | ||
return !!t.options.zoomEnabled | ||
}, | ||
enableControlIcons: function() { | ||
return t.options.controlIconsEnabled || (t.options.controlIconsEnabled = !0, n.enable(t)), t.pi | ||
}, | ||
disableControlIcons: function() { | ||
return t.options.controlIconsEnabled && (t.options.controlIconsEnabled = !1, n.disable(t)), t.pi | ||
}, | ||
isControlIconsEnabled: function() { | ||
return !!t.options.controlIconsEnabled | ||
}, | ||
enableDblClickZoom: function() { | ||
return t.options.dblClickZoomEnabled = !0, t.pi | ||
}, | ||
disableDblClickZoom: function() { | ||
return t.options.dblClickZoomEnabled = !1, t.pi | ||
}, | ||
isDblClickZoomEnabled: function() { | ||
return !!t.options.dblClickZoomEnabled | ||
}, | ||
enableMouseWheelZoom: function() { | ||
return t.enableMouseWheelZoom(), t.pi | ||
}, | ||
disableMouseWheelZoom: function() { | ||
return t.disableMouseWheelZoom(), t.pi | ||
}, | ||
isMouseWheelZoomEnabled: function() { | ||
return !!t.options.mouseWheelZoomEnabled | ||
}, | ||
setZoomScaleSensitivity: function(e) { | ||
return t.options.zoomScaleSensitivity = e, t.pi | ||
}, | ||
setMinZoom: function(e) { | ||
return t.options.minZoom = e, t.pi | ||
}, | ||
setMaxZoom: function(e) { | ||
return t.options.maxZoom = e, t.pi | ||
}, | ||
setBeforeZoom: function(e) { | ||
return t.options.beforeZoom = null === e ? null : i.proxy(e, t.publicInstance), t.pi | ||
}, | ||
setOnZoom: function(e) { | ||
return t.options.onZoom = null === e ? null : i.proxy(e, t.publicInstance), t.pi | ||
}, | ||
zoom: function(e) { | ||
return t.publicZoom(e, !0), t.pi | ||
}, | ||
zoomBy: function(e) { | ||
return t.publicZoom(e, !1), t.pi | ||
}, | ||
zoomAtPoint: function(e, o) { | ||
return t.publicZoomAtPoint(e, o, !0), t.pi | ||
}, | ||
zoomAtPointBy: function(e, o) { | ||
return t.publicZoomAtPoint(e, o, !1), t.pi | ||
}, | ||
zoomIn: function() { | ||
return this.zoomBy(1 + t.options.zoomScaleSensitivity), t.pi | ||
}, | ||
zoomOut: function() { | ||
return this.zoomBy(1 / (1 + t.options.zoomScaleSensitivity)), t.pi | ||
}, | ||
getZoom: function() { | ||
return t.getRelativeZoom() | ||
}, | ||
resetZoom: function() { | ||
return t.resetZoom(), t.pi | ||
}, | ||
resetPan: function() { | ||
return t.resetPan(), t.pi | ||
}, | ||
reset: function() { | ||
return t.reset(), t.pi | ||
}, | ||
fit: function() { | ||
return t.fit(), t.pi | ||
}, | ||
contain: function() { | ||
return t.contain(), t.pi | ||
}, | ||
center: function() { | ||
return t.center(), t.pi | ||
}, | ||
updateBBox: function() { | ||
return t.updateBBox(), t.pi | ||
}, | ||
resize: function() { | ||
return t.resize(), t.pi | ||
}, | ||
getSizes: function() { | ||
return { | ||
width: t.width, | ||
height: t.height, | ||
realZoom: t.getZoom(), | ||
viewBox: t.viewport.getViewBox() | ||
} | ||
}, | ||
destroy: function() { | ||
return t.destroy(), t.pi | ||
} | ||
}), this.publicInstance | ||
}; | ||
var u = [], | ||
h = function(t, e) { | ||
var o = i.getSvg(t); | ||
if (null === o) return null; | ||
for (var n = u.length - 1; n >= 0; n--) | ||
if (u[n].svg === o) return u[n].instance.getPublicInstance(); | ||
return u.push({ | ||
svg: o, | ||
instance: new a(o, e) | ||
}), u[u.length - 1].instance.getPublicInstance() | ||
}; | ||
e.exports = h | ||
}, { | ||
"./control-icons": 2, | ||
"./shadow-viewport": 3, | ||
"./svg-utilities": 5, | ||
"./uniwheel": 6, | ||
"./utilities": 7 | ||
}], | ||
5: [function(t, e) { | ||
var o = t("./utilities"), | ||
n = "unknown"; | ||
document.documentMode && (n = "ie"), e.exports = { | ||
svgNS: "http://www.w3.org/2000/svg", | ||
xmlNS: "http://www.w3.org/XML/1998/namespace", | ||
xmlnsNS: "http://www.w3.org/2000/xmlns/", | ||
xlinkNS: "http://www.w3.org/1999/xlink", | ||
evNS: "http://www.w3.org/2001/xml-events", | ||
getBoundingClientRectNormalized: function(t) { | ||
if (t.clientWidth && t.clientHeight) return { | ||
width: t.clientWidth, | ||
height: t.clientHeight | ||
}; | ||
if (t.getBoundingClientRect()) return t.getBoundingClientRect(); | ||
throw new Error("Cannot get BoundingClientRect for SVG.") | ||
}, | ||
getOrCreateViewport: function(t, e) { | ||
var n = null; | ||
if (n = o.isElement(e) ? e : t.querySelector(e), !n) { | ||
var i = Array.prototype.slice.call(t.childNodes || t.children).filter(function(t) { | ||
return "defs" !== t.nodeName && "#text" !== t.nodeName | ||
}); | ||
1 === i.length && "g" === i[0].nodeName && null === i[0].getAttribute("transform") && (n = i[0]) | ||
} | ||
if (!n) { | ||
var s = "viewport-" + (new Date).toISOString().replace(/\D/g, ""); | ||
n = document.createElementNS(this.svgNS, "g"), n.setAttribute("id", s); | ||
var r = t.childNodes || t.children; | ||
if (r && r.length > 0) | ||
for (var a = r.length; a > 0; a--) "defs" !== r[r.length - a].nodeName && n.appendChild(r[r.length - a]); | ||
t.appendChild(n) | ||
} | ||
var l = []; | ||
return n.getAttribute("class") && (l = n.getAttribute("class").split(" ")), ~l.indexOf("svg-pan-zoom_viewport") || (l.push("svg-pan-zoom_viewport"), n.setAttribute("class", l.join(" "))), n | ||
}, | ||
setupSvgAttributes: function(t) { | ||
if (t.setAttribute("xmlns", this.svgNS), t.setAttributeNS(this.xmlnsNS, "xmlns:xlink", this.xlinkNS), t.setAttributeNS(this.xmlnsNS, "xmlns:ev", this.evNS), null !== t.parentNode) { | ||
var e = t.getAttribute("style") || ""; - 1 === e.toLowerCase().indexOf("overflow") && t.setAttribute("style", "overflow: hidden; " + e) | ||
} | ||
}, | ||
internetExplorerRedisplayInterval: 300, | ||
refreshDefsGlobal: o.throttle(function() { | ||
for (var t = document.querySelectorAll("defs"), e = t.length, o = 0; e > o; o++) { | ||
var n = t[o]; | ||
n.parentNode.insertBefore(n, n) | ||
} | ||
}, this.internetExplorerRedisplayInterval), | ||
setCTM: function(t, e, o) { | ||
var i = this, | ||
s = "matrix(" + e.a + "," + e.b + "," + e.c + "," + e.d + "," + e.e + "," + e.f + ")"; | ||
t.setAttributeNS(null, "transform", s), "ie" === n && o && (o.parentNode.insertBefore(o, o), window.setTimeout(function() { | ||
i.refreshDefsGlobal() | ||
}, i.internetExplorerRedisplayInterval)) | ||
}, | ||
getEventPoint: function(t, e) { | ||
var n = e.createSVGPoint(); | ||
return o.mouseAndTouchNormalize(t, e), n.x = t.clientX, n.y = t.clientY, n | ||
}, | ||
getSvgCenterPoint: function(t, e, o) { | ||
return this.createSVGPoint(t, e / 2, o / 2) | ||
}, | ||
createSVGPoint: function(t, e, o) { | ||
var n = t.createSVGPoint(); | ||
return n.x = e, n.y = o, n | ||
} | ||
} | ||
}, { | ||
"./utilities": 7 | ||
}], | ||
6: [function(t, e) { | ||
e.exports = function() { | ||
function t(t, e, o) { | ||
var n = function(t) { | ||
!t && (t = window.event); | ||
var o = { | ||
originalEvent: t, | ||
target: t.target || t.srcElement, | ||
type: "wheel", | ||
deltaMode: "MozMousePixelScroll" == t.type ? 0 : 1, | ||
deltaX: 0, | ||
delatZ: 0, | ||
preventDefault: function() { | ||
t.preventDefault ? t.preventDefault() : t.returnValue = !1 | ||
} | ||
}; | ||
return "mousewheel" == u ? (o.deltaY = -1 / 40 * t.wheelDelta, t.wheelDeltaX && (o.deltaX = -1 / 40 * t.wheelDeltaX)) : o.deltaY = t.detail, e(o) | ||
}; | ||
return c.push({ | ||
element: t, | ||
fn: n, | ||
capture: o | ||
}), n | ||
} | ||
function e(t, e) { | ||
for (var o = 0; o < c.length; o++) | ||
if (c[o].element === t && c[o].capture === e) return c[o].fn; | ||
return function() {} | ||
} | ||
function o(t, e) { | ||
for (var o = 0; o < c.length; o++) | ||
if (c[o].element === t && c[o].capture === e) return c.splice(o, 1) | ||
} | ||
function n(e, o, n, i) { | ||
var s; | ||
s = "wheel" === u ? n : t(e, n, i), e[a](h + o, s, i || !1) | ||
} | ||
function i(t, n, i, s) { | ||
cb = "wheel" === u ? i : e(t, s), t[l](h + n, cb, s || !1), o(t, s) | ||
} | ||
function s(t, e, o) { | ||
n(t, u, e, o), "DOMMouseScroll" == u && n(t, "MozMousePixelScroll", e, o) | ||
} | ||
function r(t, e, o) { | ||
i(t, u, e, o), "DOMMouseScroll" == u && i(t, "MozMousePixelScroll", e, o) | ||
} | ||
var a, l, u, h = "", | ||
c = []; | ||
return window.addEventListener ? (a = "addEventListener", l = "removeEventListener") : (a = "attachEvent", l = "detachEvent", h = "on"), u = "onwheel" in document.createElement("div") ? "wheel" : void 0 !== document.onmousewheel ? "mousewheel" : "DOMMouseScroll", { | ||
on: s, | ||
off: r | ||
} | ||
}() | ||
}, {}], | ||
7: [function(t, e) { | ||
function o(t) { | ||
return function(e) { | ||
window.setTimeout(e, t) | ||
} | ||
} | ||
e.exports = { | ||
extend: function(t, e) { | ||
t = t || {}; | ||
for (var o in e) t[o] = this.isObject(e[o]) ? this.extend(t[o], e[o]) : e[o]; | ||
return t | ||
}, | ||
isElement: function(t) { | ||
return t instanceof HTMLElement || t instanceof SVGElement || t instanceof SVGSVGElement || t && "object" == typeof t && null !== t && 1 === t.nodeType && "string" == typeof t.nodeName | ||
}, | ||
isObject: function(t) { | ||
return "[object Object]" === Object.prototype.toString.call(t) | ||
}, | ||
isNumber: function(t) { | ||
return !isNaN(parseFloat(t)) && isFinite(t) | ||
}, | ||
getSvg: function(t) { | ||
var e, o; | ||
if (this.isElement(t)) e = t; | ||
else { | ||
if (!("string" == typeof t || t instanceof String)) throw new Error("Provided selector is not an HTML object nor String"); | ||
if (e = document.querySelector(t), !e) throw new Error("Provided selector did not find any elements. Selector: " + t) | ||
} | ||
if ("svg" === e.tagName.toLowerCase()) o = e; | ||
else if ("object" === e.tagName.toLowerCase()) o = e.contentDocument.documentElement; | ||
else { | ||
if ("embed" !== e.tagName.toLowerCase()) throw new Error("img" === e.tagName.toLowerCase() ? 'Cannot script an SVG in an "img" element. Please use an "object" element or an in-line SVG.' : "Cannot get SVG."); | ||
o = e.getSVGDocument().documentElement | ||
} | ||
return o | ||
}, | ||
proxy: function(t, e) { | ||
return function() { | ||
return t.apply(e, arguments) | ||
} | ||
}, | ||
getType: function(t) { | ||
return Object.prototype.toString.apply(t).replace(/^\[object\s/, "").replace(/\]$/, "") | ||
}, | ||
mouseAndTouchNormalize: function(t, e) { | ||
if (void 0 === t.clientX || null === t.clientX) | ||
if (t.clientX = 0, t.clientY = 0, void 0 !== t.changedTouches && t.changedTouches.length) { | ||
if (void 0 !== t.changedTouches[0].clientX) t.clientX = t.changedTouches[0].clientX, t.clientY = t.changedTouches[0].clientY; | ||
else if (void 0 !== t.changedTouches[0].pageX) { | ||
var o = e.getBoundingClientRect(); | ||
t.clientX = t.changedTouches[0].pageX - o.left, t.clientY = t.changedTouches[0].pageY - o.top | ||
} | ||
} else void 0 !== t.originalEvent && void 0 !== t.originalEvent.clientX && (t.clientX = t.originalEvent.clientX, t.clientY = t.originalEvent.clientY) | ||
}, | ||
isDblClick: function(t, e) { | ||
if (2 === t.detail) return !0; | ||
if (void 0 !== e && null !== e) { | ||
var o = t.timeStamp - e.timeStamp, | ||
n = Math.sqrt(Math.pow(t.clientX - e.clientX, 2) + Math.pow(t.clientY - e.clientY, 2)); | ||
return 250 > o && 10 > n | ||
} | ||
return !1 | ||
}, | ||
now: Date.now || function() { | ||
return (new Date).getTime() | ||
}, | ||
throttle: function(t, e, o) { | ||
var n, i, s, r = this, | ||
a = null, | ||
l = 0; | ||
o || (o = {}); | ||
var u = function() { | ||
l = o.leading === !1 ? 0 : r.now(), a = null, s = t.apply(n, i), a || (n = i = null) | ||
}; | ||
return function() { | ||
var h = r.now(); | ||
l || o.leading !== !1 || (l = h); | ||
var c = e - (h - l); | ||
return n = this, i = arguments, 0 >= c || c > e ? (clearTimeout(a), a = null, l = h, s = t.apply(n, i), a || (n = i = null)) : a || o.trailing === !1 || (a = setTimeout(u, c)), s | ||
} | ||
}, | ||
createRequestAnimationFrame: function(t) { | ||
var e = null; | ||
return "auto" !== t && 60 > t && t > 1 && (e = Math.floor(1e3 / t)), null === e ? window.requestAnimationFrame || o(33) : o(e) | ||
} | ||
} | ||
}, {}] | ||
}, {}, [1]); | ||
!function t(e,o,n){function i(r,a){if(!o[r]){if(!e[r]){var l="function"==typeof require&&require;if(!a&&l)return l(r,!0);if(s)return s(r,!0);var u=new Error("Cannot find module '"+r+"'");throw u.code="MODULE_NOT_FOUND",u}var h=o[r]={exports:{}};e[r][0].call(h.exports,function(t){var o=e[r][1][t];return i(o?o:t)},h,h.exports,t,e,o,n)}return o[r].exports}for(var s="function"==typeof require&&require,r=0;r<n.length;r++)i(n[r]);return i}({1:[function(t,e,o){var n=t("./svg-pan-zoom.js");!function(t,o){"function"==typeof define&&define.amd?define("svg-pan-zoom",function(){return n}):"undefined"!=typeof e&&e.exports&&(e.exports=n,t.svgPanZoom=n)}(window,document)},{"./svg-pan-zoom.js":4}],2:[function(t,e,o){var n=t("./svg-utilities");e.exports={enable:function(t){var e=t.svg.querySelector("defs");e||(e=document.createElementNS(n.svgNS,"defs"),t.svg.appendChild(e));var o=e.querySelector("style#svg-pan-zoom-controls-styles");if(!o){var i=document.createElementNS(n.svgNS,"style");i.setAttribute("id","svg-pan-zoom-controls-styles"),i.setAttribute("type","text/css"),i.textContent=".svg-pan-zoom-control { cursor: pointer; fill: black; fill-opacity: 0.333; } .svg-pan-zoom-control:hover { fill-opacity: 0.8; } .svg-pan-zoom-control-background { fill: white; fill-opacity: 0.5; } .svg-pan-zoom-control-background { fill-opacity: 0.8; }",e.appendChild(i)}var s=document.createElementNS(n.svgNS,"g");s.setAttribute("id","svg-pan-zoom-controls"),s.setAttribute("transform","translate("+(t.width-70)+" "+(t.height-76)+") scale(0.75)"),s.setAttribute("class","svg-pan-zoom-control"),s.appendChild(this._createZoomIn(t)),s.appendChild(this._createZoomReset(t)),s.appendChild(this._createZoomOut(t)),t.svg.appendChild(s),t.controlIcons=s},_createZoomIn:function(t){var e=document.createElementNS(n.svgNS,"g");e.setAttribute("id","svg-pan-zoom-zoom-in"),e.setAttribute("transform","translate(30.5 5) scale(0.015)"),e.setAttribute("class","svg-pan-zoom-control"),e.addEventListener("click",function(){t.getPublicInstance().zoomIn()},!1),e.addEventListener("touchstart",function(){t.getPublicInstance().zoomIn()},!1);var o=document.createElementNS(n.svgNS,"rect");o.setAttribute("x","0"),o.setAttribute("y","0"),o.setAttribute("width","1500"),o.setAttribute("height","1400"),o.setAttribute("class","svg-pan-zoom-control-background"),e.appendChild(o);var i=document.createElementNS(n.svgNS,"path");return i.setAttribute("d","M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z"),i.setAttribute("class","svg-pan-zoom-control-element"),e.appendChild(i),e},_createZoomReset:function(t){var e=document.createElementNS(n.svgNS,"g");e.setAttribute("id","svg-pan-zoom-reset-pan-zoom"),e.setAttribute("transform","translate(5 35) scale(0.4)"),e.setAttribute("class","svg-pan-zoom-control"),e.addEventListener("click",function(){t.getPublicInstance().reset()},!1),e.addEventListener("touchstart",function(){t.getPublicInstance().reset()},!1);var o=document.createElementNS(n.svgNS,"rect");o.setAttribute("x","2"),o.setAttribute("y","2"),o.setAttribute("width","182"),o.setAttribute("height","58"),o.setAttribute("class","svg-pan-zoom-control-background"),e.appendChild(o);var i=document.createElementNS(n.svgNS,"path");i.setAttribute("d","M33.051,20.632c-0.742-0.406-1.854-0.609-3.338-0.609h-7.969v9.281h7.769c1.543,0,2.701-0.188,3.473-0.562c1.365-0.656,2.048-1.953,2.048-3.891C35.032,22.757,34.372,21.351,33.051,20.632z"),i.setAttribute("class","svg-pan-zoom-control-element"),e.appendChild(i);var s=document.createElementNS(n.svgNS,"path");return s.setAttribute("d","M170.231,0.5H15.847C7.102,0.5,0.5,5.708,0.5,11.84v38.861C0.5,56.833,7.102,61.5,15.847,61.5h154.384c8.745,0,15.269-4.667,15.269-10.798V11.84C185.5,5.708,178.976,0.5,170.231,0.5z M42.837,48.569h-7.969c-0.219-0.766-0.375-1.383-0.469-1.852c-0.188-0.969-0.289-1.961-0.305-2.977l-0.047-3.211c-0.03-2.203-0.41-3.672-1.142-4.406c-0.732-0.734-2.103-1.102-4.113-1.102h-7.05v13.547h-7.055V14.022h16.524c2.361,0.047,4.178,0.344,5.45,0.891c1.272,0.547,2.351,1.352,3.234,2.414c0.731,0.875,1.31,1.844,1.737,2.906s0.64,2.273,0.64,3.633c0,1.641-0.414,3.254-1.242,4.84s-2.195,2.707-4.102,3.363c1.594,0.641,2.723,1.551,3.387,2.73s0.996,2.98,0.996,5.402v2.32c0,1.578,0.063,2.648,0.19,3.211c0.19,0.891,0.635,1.547,1.333,1.969V48.569z M75.579,48.569h-26.18V14.022h25.336v6.117H56.454v7.336h16.781v6H56.454v8.883h19.125V48.569z M104.497,46.331c-2.44,2.086-5.887,3.129-10.34,3.129c-4.548,0-8.125-1.027-10.731-3.082s-3.909-4.879-3.909-8.473h6.891c0.224,1.578,0.662,2.758,1.316,3.539c1.196,1.422,3.246,2.133,6.15,2.133c1.739,0,3.151-0.188,4.236-0.562c2.058-0.719,3.087-2.055,3.087-4.008c0-1.141-0.504-2.023-1.512-2.648c-1.008-0.609-2.607-1.148-4.796-1.617l-3.74-0.82c-3.676-0.812-6.201-1.695-7.576-2.648c-2.328-1.594-3.492-4.086-3.492-7.477c0-3.094,1.139-5.664,3.417-7.711s5.623-3.07,10.036-3.07c3.685,0,6.829,0.965,9.431,2.895c2.602,1.93,3.966,4.73,4.093,8.402h-6.938c-0.128-2.078-1.057-3.555-2.787-4.43c-1.154-0.578-2.587-0.867-4.301-0.867c-1.907,0-3.428,0.375-4.565,1.125c-1.138,0.75-1.706,1.797-1.706,3.141c0,1.234,0.561,2.156,1.682,2.766c0.721,0.406,2.25,0.883,4.589,1.43l6.063,1.43c2.657,0.625,4.648,1.461,5.975,2.508c2.059,1.625,3.089,3.977,3.089,7.055C108.157,41.624,106.937,44.245,104.497,46.331z M139.61,48.569h-26.18V14.022h25.336v6.117h-18.281v7.336h16.781v6h-16.781v8.883h19.125V48.569z M170.337,20.14h-10.336v28.43h-7.266V20.14h-10.383v-6.117h27.984V20.14z"),s.setAttribute("class","svg-pan-zoom-control-element"),e.appendChild(s),e},_createZoomOut:function(t){var e=document.createElementNS(n.svgNS,"g");e.setAttribute("id","svg-pan-zoom-zoom-out"),e.setAttribute("transform","translate(30.5 70) scale(0.015)"),e.setAttribute("class","svg-pan-zoom-control"),e.addEventListener("click",function(){t.getPublicInstance().zoomOut()},!1),e.addEventListener("touchstart",function(){t.getPublicInstance().zoomOut()},!1);var o=document.createElementNS(n.svgNS,"rect");o.setAttribute("x","0"),o.setAttribute("y","0"),o.setAttribute("width","1500"),o.setAttribute("height","1400"),o.setAttribute("class","svg-pan-zoom-control-background"),e.appendChild(o);var i=document.createElementNS(n.svgNS,"path");return i.setAttribute("d","M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z"),i.setAttribute("class","svg-pan-zoom-control-element"),e.appendChild(i),e},disable:function(t){t.controlIcons&&(t.controlIcons.parentNode.removeChild(t.controlIcons),t.controlIcons=null)}}},{"./svg-utilities":5}],3:[function(t,e,o){var n=t("./svg-utilities"),i=t("./utilities"),s=function(t,e){this.init(t,e)};s.prototype.init=function(t,e){this.viewport=t,this.options=e,this.originalState={zoom:1,x:0,y:0},this.activeState={zoom:1,x:0,y:0},this.updateCTMCached=i.proxy(this.updateCTM,this),this.requestAnimationFrame=i.createRequestAnimationFrame(this.options.refreshRate),this.viewBox={x:0,y:0,width:0,height:0},this.cacheViewBox();var o=this.processCTM();this.setCTM(o),this.updateCTM()},s.prototype.cacheViewBox=function(){var t=this.options.svg.getAttribute("viewBox");if(t){var e=t.split(/[\s\,]/).filter(function(t){return t}).map(parseFloat);this.viewBox.x=e[0],this.viewBox.y=e[1],this.viewBox.width=e[2],this.viewBox.height=e[3];var o=Math.min(this.options.width/this.viewBox.width,this.options.height/this.viewBox.height);this.activeState.zoom=o,this.activeState.x=(this.options.width-this.viewBox.width*o)/2,this.activeState.y=(this.options.height-this.viewBox.height*o)/2,this.updateCTMOnNextFrame(),this.options.svg.removeAttribute("viewBox")}else this.simpleViewBoxCache()},s.prototype.simpleViewBoxCache=function(){var t=this.viewport.getBBox();this.viewBox.x=t.x,this.viewBox.y=t.y,this.viewBox.width=t.width,this.viewBox.height=t.height},s.prototype.getViewBox=function(){return i.extend({},this.viewBox)},s.prototype.processCTM=function(){var t=this.getCTM();if(this.options.fit||this.options.contain){var e;e=this.options.fit?Math.min(this.options.width/this.viewBox.width,this.options.height/this.viewBox.height):Math.max(this.options.width/this.viewBox.width,this.options.height/this.viewBox.height),t.a=e,t.d=e,t.e=-this.viewBox.x*e,t.f=-this.viewBox.y*e}if(this.options.center){var o=.5*(this.options.width-(this.viewBox.width+2*this.viewBox.x)*t.a),n=.5*(this.options.height-(this.viewBox.height+2*this.viewBox.y)*t.a);t.e=o,t.f=n}return this.originalState.zoom=t.a,this.originalState.x=t.e,this.originalState.y=t.f,t},s.prototype.getOriginalState=function(){return i.extend({},this.originalState)},s.prototype.getState=function(){return i.extend({},this.activeState)},s.prototype.getZoom=function(){return this.activeState.zoom},s.prototype.getRelativeZoom=function(){return this.activeState.zoom/this.originalState.zoom},s.prototype.computeRelativeZoom=function(t){return t/this.originalState.zoom},s.prototype.getPan=function(){return{x:this.activeState.x,y:this.activeState.y}},s.prototype.getCTM=function(){var t=this.options.svg.createSVGMatrix();return t.a=this.activeState.zoom,t.b=0,t.c=0,t.d=this.activeState.zoom,t.e=this.activeState.x,t.f=this.activeState.y,t},s.prototype.setCTM=function(t){var e=this.isZoomDifferent(t),o=this.isPanDifferent(t);if(e||o){if(e&&(this.options.beforeZoom(this.getRelativeZoom(),this.computeRelativeZoom(t.a))===!1?(t.a=t.d=this.activeState.zoom,e=!1):(this.updateCache(t),this.options.onZoom(this.getRelativeZoom()))),o){var n=this.options.beforePan(this.getPan(),{x:t.e,y:t.f}),s=!1,r=!1;n===!1?(t.e=this.getPan().x,t.f=this.getPan().y,s=r=!0):i.isObject(n)&&(n.x===!1?(t.e=this.getPan().x,s=!0):i.isNumber(n.x)&&(t.e=n.x),n.y===!1?(t.f=this.getPan().y,r=!0):i.isNumber(n.y)&&(t.f=n.y)),s&&r?o=!1:(this.updateCache(t),this.options.onPan(this.getPan()))}(e||o)&&this.updateCTMOnNextFrame()}},s.prototype.isZoomDifferent=function(t){return this.activeState.zoom!==t.a},s.prototype.isPanDifferent=function(t){return this.activeState.x!==t.e||this.activeState.y!==t.f},s.prototype.updateCache=function(t){this.activeState.zoom=t.a,this.activeState.x=t.e,this.activeState.y=t.f},s.prototype.pendingUpdate=!1,s.prototype.updateCTMOnNextFrame=function(){this.pendingUpdate||(this.pendingUpdate=!0,this.requestAnimationFrame.call(window,this.updateCTMCached))},s.prototype.updateCTM=function(){var t=this.getCTM();n.setCTM(this.viewport,t,this.defs),this.pendingUpdate=!1,this.options.onUpdatedCTM&&this.options.onUpdatedCTM(t)},e.exports=function(t,e){return new s(t,e)}},{"./svg-utilities":5,"./utilities":7}],4:[function(t,e,o){var n=t("./uniwheel"),i=t("./control-icons"),s=t("./utilities"),r=t("./svg-utilities"),a=t("./shadow-viewport"),l=function(t,e){this.init(t,e)},u={viewportSelector:".svg-pan-zoom_viewport",panEnabled:!0,controlIconsEnabled:!1,zoomEnabled:!0,dblClickZoomEnabled:!0,mouseWheelZoomEnabled:!0,preventMouseEventsDefault:!0,zoomScaleSensitivity:.1,minZoom:.5,maxZoom:10,fit:!0,contain:!1,center:!0,refreshRate:"auto",beforeZoom:null,onZoom:null,beforePan:null,onPan:null,customEventsHandler:null,eventsListenerElement:null,onUpdatedCTM:null};l.prototype.init=function(t,e){var o=this;this.svg=t,this.defs=t.querySelector("defs"),r.setupSvgAttributes(this.svg),this.options=s.extend(s.extend({},u),e),this.state="none";var n=r.getBoundingClientRectNormalized(t);this.width=n.width,this.height=n.height,this.viewport=a(r.getOrCreateViewport(this.svg,this.options.viewportSelector),{svg:this.svg,width:this.width,height:this.height,fit:this.options.fit,contain:this.options.contain,center:this.options.center,refreshRate:this.options.refreshRate,beforeZoom:function(t,e){return o.viewport&&o.options.beforeZoom?o.options.beforeZoom(t,e):void 0},onZoom:function(t){return o.viewport&&o.options.onZoom?o.options.onZoom(t):void 0},beforePan:function(t,e){return o.viewport&&o.options.beforePan?o.options.beforePan(t,e):void 0},onPan:function(t){return o.viewport&&o.options.onPan?o.options.onPan(t):void 0},onUpdatedCTM:function(t){return o.viewport&&o.options.onUpdatedCTM?o.options.onUpdatedCTM(t):void 0}});var l=this.getPublicInstance();l.setBeforeZoom(this.options.beforeZoom),l.setOnZoom(this.options.onZoom),l.setBeforePan(this.options.beforePan),l.setOnPan(this.options.onPan),l.setOnUpdatedCTM(this.options.onUpdatedCTM),this.options.controlIconsEnabled&&i.enable(this),this.lastMouseWheelEventTime=Date.now(),this.setupHandlers()},l.prototype.setupHandlers=function(){var t=this,e=null;if(this.eventListeners={mousedown:function(o){var n=t.handleMouseDown(o,e);return e=o,n},touchstart:function(o){var n=t.handleMouseDown(o,e);return e=o,n},mouseup:function(e){return t.handleMouseUp(e)},touchend:function(e){return t.handleMouseUp(e)},mousemove:function(e){return t.handleMouseMove(e)},touchmove:function(e){return t.handleMouseMove(e)},mouseleave:function(e){return t.handleMouseUp(e)},touchleave:function(e){return t.handleMouseUp(e)},touchcancel:function(e){return t.handleMouseUp(e)}},null!=this.options.customEventsHandler){this.options.customEventsHandler.init({svgElement:this.svg,eventsListenerElement:this.options.eventsListenerElement,instance:this.getPublicInstance()});var o=this.options.customEventsHandler.haltEventListeners;if(o&&o.length)for(var n=o.length-1;n>=0;n--)this.eventListeners.hasOwnProperty(o[n])&&delete this.eventListeners[o[n]]}for(var i in this.eventListeners)(this.options.eventsListenerElement||this.svg).addEventListener(i,this.eventListeners[i],!1);this.options.mouseWheelZoomEnabled&&(this.options.mouseWheelZoomEnabled=!1,this.enableMouseWheelZoom())},l.prototype.enableMouseWheelZoom=function(){if(!this.options.mouseWheelZoomEnabled){var t=this;this.wheelListener=function(e){return t.handleMouseWheel(e)},n.on(this.options.eventsListenerElement||this.svg,this.wheelListener,!1),this.options.mouseWheelZoomEnabled=!0}},l.prototype.disableMouseWheelZoom=function(){this.options.mouseWheelZoomEnabled&&(n.off(this.options.eventsListenerElement||this.svg,this.wheelListener,!1),this.options.mouseWheelZoomEnabled=!1)},l.prototype.handleMouseWheel=function(t){if(this.options.zoomEnabled&&"none"===this.state){this.options.preventMouseEventsDefault&&(t.preventDefault?t.preventDefault():t.returnValue=!1);var e=t.deltaY||1,o=Date.now()-this.lastMouseWheelEventTime,n=3+Math.max(0,30-o);this.lastMouseWheelEventTime=Date.now(),"deltaMode"in t&&0===t.deltaMode&&t.wheelDelta&&(e=0===t.deltaY?0:Math.abs(t.wheelDelta)/t.deltaY),e=e>-.3&&.3>e?e:(e>0?1:-1)*Math.log(Math.abs(e)+10)/n;var i=this.svg.getScreenCTM().inverse(),s=r.getEventPoint(t,this.svg).matrixTransform(i),a=Math.pow(1+this.options.zoomScaleSensitivity,-1*e);this.zoomAtPoint(a,s)}},l.prototype.zoomAtPoint=function(t,e,o){var n=this.viewport.getOriginalState();o?(t=Math.max(this.options.minZoom*n.zoom,Math.min(this.options.maxZoom*n.zoom,t)),t/=this.getZoom()):this.getZoom()*t<this.options.minZoom*n.zoom?t=this.options.minZoom*n.zoom/this.getZoom():this.getZoom()*t>this.options.maxZoom*n.zoom&&(t=this.options.maxZoom*n.zoom/this.getZoom());var i=this.viewport.getCTM(),s=e.matrixTransform(i.inverse()),r=this.svg.createSVGMatrix().translate(s.x,s.y).scale(t).translate(-s.x,-s.y),a=i.multiply(r);a.a!==i.a&&this.viewport.setCTM(a)},l.prototype.zoom=function(t,e){this.zoomAtPoint(t,r.getSvgCenterPoint(this.svg,this.width,this.height),e)},l.prototype.publicZoom=function(t,e){e&&(t=this.computeFromRelativeZoom(t)),this.zoom(t,e)},l.prototype.publicZoomAtPoint=function(t,e,o){if(o&&(t=this.computeFromRelativeZoom(t)),"SVGPoint"!==s.getType(e)){if(!("x"in e&&"y"in e))throw new Error("Given point is invalid");e=r.createSVGPoint(this.svg,e.x,e.y)}this.zoomAtPoint(t,e,o)},l.prototype.getZoom=function(){return this.viewport.getZoom()},l.prototype.getRelativeZoom=function(){return this.viewport.getRelativeZoom()},l.prototype.computeFromRelativeZoom=function(t){return t*this.viewport.getOriginalState().zoom},l.prototype.resetZoom=function(){var t=this.viewport.getOriginalState();this.zoom(t.zoom,!0)},l.prototype.resetPan=function(){this.pan(this.viewport.getOriginalState())},l.prototype.reset=function(){this.resetZoom(),this.resetPan()},l.prototype.handleDblClick=function(t){if(this.options.preventMouseEventsDefault&&(t.preventDefault?t.preventDefault():t.returnValue=!1),this.options.controlIconsEnabled){var e=t.target.getAttribute("class")||"";if(e.indexOf("svg-pan-zoom-control")>-1)return!1}var o;o=t.shiftKey?1/(2*(1+this.options.zoomScaleSensitivity)):2*(1+this.options.zoomScaleSensitivity);var n=r.getEventPoint(t,this.svg).matrixTransform(this.svg.getScreenCTM().inverse());this.zoomAtPoint(o,n)},l.prototype.handleMouseDown=function(t,e){this.options.preventMouseEventsDefault&&(t.preventDefault?t.preventDefault():t.returnValue=!1),s.mouseAndTouchNormalize(t,this.svg),this.options.dblClickZoomEnabled&&s.isDblClick(t,e)?this.handleDblClick(t):(this.state="pan",this.firstEventCTM=this.viewport.getCTM(),this.stateOrigin=r.getEventPoint(t,this.svg).matrixTransform(this.firstEventCTM.inverse()))},l.prototype.handleMouseMove=function(t){if(this.options.preventMouseEventsDefault&&(t.preventDefault?t.preventDefault():t.returnValue=!1),"pan"===this.state&&this.options.panEnabled){var e=r.getEventPoint(t,this.svg).matrixTransform(this.firstEventCTM.inverse()),o=this.firstEventCTM.translate(e.x-this.stateOrigin.x,e.y-this.stateOrigin.y);this.viewport.setCTM(o)}},l.prototype.handleMouseUp=function(t){this.options.preventMouseEventsDefault&&(t.preventDefault?t.preventDefault():t.returnValue=!1),"pan"===this.state&&(this.state="none")},l.prototype.fit=function(){var t=this.viewport.getViewBox(),e=Math.min(this.width/t.width,this.height/t.height);this.zoom(e,!0)},l.prototype.contain=function(){var t=this.viewport.getViewBox(),e=Math.max(this.width/t.width,this.height/t.height);this.zoom(e,!0)},l.prototype.center=function(){var t=this.viewport.getViewBox(),e=.5*(this.width-(t.width+2*t.x)*this.getZoom()),o=.5*(this.height-(t.height+2*t.y)*this.getZoom());this.getPublicInstance().pan({x:e,y:o})},l.prototype.updateBBox=function(){this.viewport.simpleViewBoxCache()},l.prototype.pan=function(t){var e=this.viewport.getCTM();e.e=t.x,e.f=t.y,this.viewport.setCTM(e)},l.prototype.panBy=function(t){var e=this.viewport.getCTM();e.e+=t.x,e.f+=t.y,this.viewport.setCTM(e)},l.prototype.getPan=function(){var t=this.viewport.getState();return{x:t.x,y:t.y}},l.prototype.resize=function(){var t=r.getBoundingClientRectNormalized(this.svg);this.width=t.width,this.height=t.height;var e=this.viewport;e.options.width=this.width,e.options.height=this.height,e.processCTM(),this.options.controlIconsEnabled&&(this.getPublicInstance().disableControlIcons(),this.getPublicInstance().enableControlIcons())},l.prototype.destroy=function(){var t=this;this.beforeZoom=null,this.onZoom=null,this.beforePan=null,this.onPan=null,this.onUpdatedCTM=null,null!=this.options.customEventsHandler&&this.options.customEventsHandler.destroy({svgElement:this.svg,eventsListenerElement:this.options.eventsListenerElement,instance:this.getPublicInstance()});for(var e in this.eventListeners)(this.options.eventsListenerElement||this.svg).removeEventListener(e,this.eventListeners[e],!1);this.disableMouseWheelZoom(),this.getPublicInstance().disableControlIcons(),this.reset(),h=h.filter(function(e){return e.svg!==t.svg}),delete this.options,delete this.viewport,delete this.publicInstance,delete this.pi,this.getPublicInstance=function(){return null}},l.prototype.getPublicInstance=function(){var t=this;return this.publicInstance||(this.publicInstance=this.pi={enablePan:function(){return t.options.panEnabled=!0,t.pi},disablePan:function(){return t.options.panEnabled=!1,t.pi},isPanEnabled:function(){return!!t.options.panEnabled},pan:function(e){return t.pan(e),t.pi},panBy:function(e){return t.panBy(e),t.pi},getPan:function(){return t.getPan()},setBeforePan:function(e){return t.options.beforePan=null===e?null:s.proxy(e,t.publicInstance),t.pi},setOnPan:function(e){return t.options.onPan=null===e?null:s.proxy(e,t.publicInstance),t.pi},enableZoom:function(){return t.options.zoomEnabled=!0,t.pi},disableZoom:function(){return t.options.zoomEnabled=!1,t.pi},isZoomEnabled:function(){return!!t.options.zoomEnabled},enableControlIcons:function(){return t.options.controlIconsEnabled||(t.options.controlIconsEnabled=!0,i.enable(t)),t.pi},disableControlIcons:function(){return t.options.controlIconsEnabled&&(t.options.controlIconsEnabled=!1,i.disable(t)),t.pi},isControlIconsEnabled:function(){return!!t.options.controlIconsEnabled},enableDblClickZoom:function(){return t.options.dblClickZoomEnabled=!0,t.pi},disableDblClickZoom:function(){return t.options.dblClickZoomEnabled=!1,t.pi},isDblClickZoomEnabled:function(){return!!t.options.dblClickZoomEnabled},enableMouseWheelZoom:function(){return t.enableMouseWheelZoom(),t.pi},disableMouseWheelZoom:function(){return t.disableMouseWheelZoom(),t.pi},isMouseWheelZoomEnabled:function(){return!!t.options.mouseWheelZoomEnabled},setZoomScaleSensitivity:function(e){return t.options.zoomScaleSensitivity=e,t.pi},setMinZoom:function(e){return t.options.minZoom=e,t.pi},setMaxZoom:function(e){return t.options.maxZoom=e,t.pi},setBeforeZoom:function(e){return t.options.beforeZoom=null===e?null:s.proxy(e,t.publicInstance),t.pi},setOnZoom:function(e){return t.options.onZoom=null===e?null:s.proxy(e,t.publicInstance),t.pi},zoom:function(e){return t.publicZoom(e,!0),t.pi},zoomBy:function(e){return t.publicZoom(e,!1),t.pi},zoomAtPoint:function(e,o){return t.publicZoomAtPoint(e,o,!0),t.pi},zoomAtPointBy:function(e,o){return t.publicZoomAtPoint(e,o,!1),t.pi},zoomIn:function(){return this.zoomBy(1+t.options.zoomScaleSensitivity),t.pi},zoomOut:function(){return this.zoomBy(1/(1+t.options.zoomScaleSensitivity)),t.pi},getZoom:function(){return t.getRelativeZoom()},setOnUpdatedCTM:function(e){return t.options.onUpdatedCTM=null===e?null:s.proxy(e,t.publicInstance),t.pi},resetZoom:function(){return t.resetZoom(),t.pi},resetPan:function(){return t.resetPan(),t.pi},reset:function(){return t.reset(),t.pi},fit:function(){return t.fit(),t.pi},contain:function(){return t.contain(),t.pi},center:function(){return t.center(),t.pi},updateBBox:function(){return t.updateBBox(),t.pi},resize:function(){return t.resize(),t.pi},getSizes:function(){return{width:t.width,height:t.height,realZoom:t.getZoom(),viewBox:t.viewport.getViewBox()}},destroy:function(){return t.destroy(),t.pi}}),this.publicInstance};var h=[],c=function(t,e){var o=s.getSvg(t);if(null===o)return null;for(var n=h.length-1;n>=0;n--)if(h[n].svg===o)return h[n].instance.getPublicInstance();return h.push({svg:o,instance:new l(o,e)}),h[h.length-1].instance.getPublicInstance()};e.exports=c},{"./control-icons":2,"./shadow-viewport":3,"./svg-utilities":5,"./uniwheel":6,"./utilities":7}],5:[function(t,e,o){var n=t("./utilities"),i="unknown";document.documentMode&&(i="ie"),e.exports={svgNS:"http://www.w3.org/2000/svg",xmlNS:"http://www.w3.org/XML/1998/namespace",xmlnsNS:"http://www.w3.org/2000/xmlns/",xlinkNS:"http://www.w3.org/1999/xlink",evNS:"http://www.w3.org/2001/xml-events",getBoundingClientRectNormalized:function(t){if(t.clientWidth&&t.clientHeight)return{width:t.clientWidth,height:t.clientHeight};if(t.getBoundingClientRect())return t.getBoundingClientRect();throw new Error("Cannot get BoundingClientRect for SVG.")},getOrCreateViewport:function(t,e){var o=null;if(o=n.isElement(e)?e:t.querySelector(e),!o){var i=Array.prototype.slice.call(t.childNodes||t.children).filter(function(t){return"defs"!==t.nodeName&&"#text"!==t.nodeName});1===i.length&&"g"===i[0].nodeName&&null===i[0].getAttribute("transform")&&(o=i[0])}if(!o){var s="viewport-"+(new Date).toISOString().replace(/\D/g,"");o=document.createElementNS(this.svgNS,"g"),o.setAttribute("id",s);var r=t.childNodes||t.children;if(r&&r.length>0)for(var a=r.length;a>0;a--)"defs"!==r[r.length-a].nodeName&&o.appendChild(r[r.length-a]);t.appendChild(o)}var l=[];return o.getAttribute("class")&&(l=o.getAttribute("class").split(" ")),~l.indexOf("svg-pan-zoom_viewport")||(l.push("svg-pan-zoom_viewport"),o.setAttribute("class",l.join(" "))),o},setupSvgAttributes:function(t){if(t.setAttribute("xmlns",this.svgNS),t.setAttributeNS(this.xmlnsNS,"xmlns:xlink",this.xlinkNS),t.setAttributeNS(this.xmlnsNS,"xmlns:ev",this.evNS),null!==t.parentNode){var e=t.getAttribute("style")||"";-1===e.toLowerCase().indexOf("overflow")&&t.setAttribute("style","overflow: hidden; "+e)}},internetExplorerRedisplayInterval:300,refreshDefsGlobal:n.throttle(function(){for(var t=document.querySelectorAll("defs"),e=t.length,o=0;e>o;o++){var n=t[o];n.parentNode.insertBefore(n,n)}},this.internetExplorerRedisplayInterval),setCTM:function(t,e,o){var n=this,s="matrix("+e.a+","+e.b+","+e.c+","+e.d+","+e.e+","+e.f+")";t.setAttributeNS(null,"transform",s),"transform"in t.style?t.style.transform=s:"-ms-transform"in t.style?t.style["-ms-transform"]=s:"-webkit-transform"in t.style&&(t.style["-webkit-transform"]=s),"ie"===i&&o&&(o.parentNode.insertBefore(o,o),window.setTimeout(function(){n.refreshDefsGlobal()},n.internetExplorerRedisplayInterval))},getEventPoint:function(t,e){var o=e.createSVGPoint();return n.mouseAndTouchNormalize(t,e),o.x=t.clientX,o.y=t.clientY,o},getSvgCenterPoint:function(t,e,o){return this.createSVGPoint(t,e/2,o/2)},createSVGPoint:function(t,e,o){var n=t.createSVGPoint();return n.x=e,n.y=o,n}}},{"./utilities":7}],6:[function(t,e,o){e.exports=function(){function t(t,e,o){var n=function(t){!t&&(t=window.event);var o={originalEvent:t,target:t.target||t.srcElement,type:"wheel",deltaMode:"MozMousePixelScroll"==t.type?0:1,deltaX:0,delatZ:0,preventDefault:function(){t.preventDefault?t.preventDefault():t.returnValue=!1}};return"mousewheel"==u?(o.deltaY=-1/40*t.wheelDelta,t.wheelDeltaX&&(o.deltaX=-1/40*t.wheelDeltaX)):o.deltaY=t.detail,e(o)};return c.push({element:t,fn:n,capture:o}),n}function e(t,e){for(var o=0;o<c.length;o++)if(c[o].element===t&&c[o].capture===e)return c[o].fn;return function(){}}function o(t,e){for(var o=0;o<c.length;o++)if(c[o].element===t&&c[o].capture===e)return c.splice(o,1)}function n(e,o,n,i){var s;s="wheel"===u?n:t(e,n,i),e[a](h+o,s,i||!1)}function i(t,n,i,s){"wheel"===u?cb=i:cb=e(t,s),t[l](h+n,cb,s||!1),o(t,s)}function s(t,e,o){n(t,u,e,o),"DOMMouseScroll"==u&&n(t,"MozMousePixelScroll",e,o)}function r(t,e,o){i(t,u,e,o),"DOMMouseScroll"==u&&i(t,"MozMousePixelScroll",e,o)}var a,l,u,h="",c=[];return window.addEventListener?(a="addEventListener",l="removeEventListener"):(a="attachEvent",l="detachEvent",h="on"),u="onwheel"in document.createElement("div")?"wheel":void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll",{on:s,off:r}}()},{}],7:[function(t,e,o){function n(t){return function(e){window.setTimeout(e,t)}}e.exports={extend:function(t,e){t=t||{};for(var o in e)this.isObject(e[o])?t[o]=this.extend(t[o],e[o]):t[o]=e[o];return t},isElement:function(t){return t instanceof HTMLElement||t instanceof SVGElement||t instanceof SVGSVGElement||t&&"object"==typeof t&&null!==t&&1===t.nodeType&&"string"==typeof t.nodeName},isObject:function(t){return"[object Object]"===Object.prototype.toString.call(t)},isNumber:function(t){return!isNaN(parseFloat(t))&&isFinite(t)},getSvg:function(t){var e,o;if(this.isElement(t))e=t;else{if(!("string"==typeof t||t instanceof String))throw new Error("Provided selector is not an HTML object nor String");if(e=document.querySelector(t),!e)throw new Error("Provided selector did not find any elements. Selector: "+t)}if("svg"===e.tagName.toLowerCase())o=e;else if("object"===e.tagName.toLowerCase())o=e.contentDocument.documentElement;else{if("embed"!==e.tagName.toLowerCase())throw"img"===e.tagName.toLowerCase()?new Error('Cannot script an SVG in an "img" element. Please use an "object" element or an in-line SVG.'):new Error("Cannot get SVG.");o=e.getSVGDocument().documentElement}return o},proxy:function(t,e){return function(){return t.apply(e,arguments)}},getType:function(t){return Object.prototype.toString.apply(t).replace(/^\[object\s/,"").replace(/\]$/,"")},mouseAndTouchNormalize:function(t,e){if(void 0===t.clientX||null===t.clientX)if(t.clientX=0,t.clientY=0,void 0!==t.changedTouches&&t.changedTouches.length){if(void 0!==t.changedTouches[0].clientX)t.clientX=t.changedTouches[0].clientX,t.clientY=t.changedTouches[0].clientY;else if(void 0!==t.changedTouches[0].pageX){var o=e.getBoundingClientRect();t.clientX=t.changedTouches[0].pageX-o.left,t.clientY=t.changedTouches[0].pageY-o.top}}else void 0!==t.originalEvent&&void 0!==t.originalEvent.clientX&&(t.clientX=t.originalEvent.clientX,t.clientY=t.originalEvent.clientY)},isDblClick:function(t,e){if(2===t.detail)return!0;if(void 0!==e&&null!==e){var o=t.timeStamp-e.timeStamp,n=Math.sqrt(Math.pow(t.clientX-e.clientX,2)+Math.pow(t.clientY-e.clientY,2));return 250>o&&10>n}return!1},now:Date.now||function(){return(new Date).getTime()},throttle:function(t,e,o){var n,i,s,r=this,a=null,l=0;o||(o={});var u=function(){l=o.leading===!1?0:r.now(),a=null,s=t.apply(n,i),a||(n=i=null)};return function(){var h=r.now();l||o.leading!==!1||(l=h);var c=e-(h-l);return n=this,i=arguments,0>=c||c>e?(clearTimeout(a),a=null,l=h,s=t.apply(n,i),a||(n=i=null)):a||o.trailing===!1||(a=setTimeout(u,c)),s}},createRequestAnimationFrame:function(t){var e=null;return"auto"!==t&&60>t&&t>1&&(e=Math.floor(1e3/t)),null===e?window.requestAnimationFrame||n(33):n(e)}}},{}]},{},[1]); |
@@ -1,23 +0,25 @@ | ||
document.getElementById('demo-svg').addEventListener('load', function() { | ||
panZoom = svgPanZoom('#demo-svg', { | ||
zoomEnabled: true, | ||
minZoom: 1, | ||
maxZoom: 5 | ||
}); | ||
document.addEventListener('DOMContentLoaded', function() { | ||
document.getElementById('demo-svg').addEventListener('load', function() { | ||
panZoom = svgPanZoom('#demo-svg', { | ||
zoomEnabled: true, | ||
minZoom: 1, | ||
maxZoom: 5 | ||
}); | ||
document.getElementById('zoom-in').addEventListener('click', function(ev) { | ||
ev.preventDefault() | ||
panZoom.zoomIn() | ||
}); | ||
document.getElementById('zoom-in').addEventListener('click', function(ev) { | ||
ev.preventDefault(); | ||
panZoom.zoomIn(); | ||
}); | ||
document.getElementById('zoom-out').addEventListener('click', function(ev) { | ||
ev.preventDefault() | ||
panZoom.zoomOut() | ||
}); | ||
document.getElementById('zoom-out').addEventListener('click', function(ev) { | ||
ev.preventDefault(); | ||
panZoom.zoomOut(); | ||
}); | ||
document.getElementById('reset').addEventListener('click', function(ev) { | ||
ev.preventDefault() | ||
panZoom.resetZoom(); | ||
panZoom.resetPan(); | ||
document.getElementById('reset').addEventListener('click', function(ev) { | ||
ev.preventDefault(); | ||
panZoom.resetZoom(); | ||
panZoom.resetPan(); | ||
}); | ||
}); | ||
}); |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
4446065
137
30084