From ede8e70b56fa1604d3971d8eafb38e71ddc50728 Mon Sep 17 00:00:00 2001 From: Gavin McDonald Date: Sun, 13 Jan 2019 15:18:33 -0500 Subject: [PATCH] v1.2.0 --- package.json | 2 +- public/js/tessellate.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 660abd1..f281a59 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tessellate", - "version": "1.1.0", + "version": "1.2.0", "description": "", "main": "./public/js/tessellate.js", "scripts": { diff --git a/public/js/tessellate.js b/public/js/tessellate.js index 8f3a8a2..5821f27 100644 --- a/public/js/tessellate.js +++ b/public/js/tessellate.js @@ -1 +1 @@ -!function(t,e){for(var i in e)t[i]=e[i]}(this,function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=19)}([function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.invSqrt2=e.sqrt3=e.sqrt2=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};e.noop=function(){},e.clone=function(t){return JSON.parse(JSON.stringify(t))},e.has=o,e.hypotenuse=function(t,e){null==e&&(e=t);return Math.sqrt(t*t+e*e)},e.isObject=s,e.random=function t(e,i){if(Array.isArray(e))return e[t(e.length-1)];if("object"===(void 0===e?"undefined":n(e)))return e[t(Object.keys(e))];null==i&&(i=e,e=0);return e+Math.floor(Math.random()*(i-e+1))},e.range=u,e.rangeInclusive=function(t,e){null==e&&(e=t,t=0);return u(Math.min(t,e),Math.max(t,e)+1)},e.getQueryStringParameters=l,e.getQueryStringObj=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.location.search,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"&",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"=";return(0,r.mapObj)(l(t,e,i),f)},e.parseString=f,e.toFixed=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:NaN;return"number"!=typeof t||isNaN(t)?i:Number(t.toFixed(e))},e.getColor=function(t){var e=t.red,i=t.green,n=t.blue,r=t.alpha;return null!=r?"rgba("+e+", "+i+", "+n+", "+r+")":"rgb("+e+", "+i+", "+n+")"},e.grayscale=function(t){var e=t.red,i=t.green,n=t.blue;return p.red*e+p.green*i+p.blue*n},e.extend=function t(e){var i=Object.assign({},e);for(var n=arguments.length,a=Array(n>1?n-1:0),u=1;u2&&void 0!==arguments[2]?arguments[2]:e,n=document.createElement("canvas");return n.height=e,n.width=i,t(n.getContext("2d"),n.height,n.width),n};var r=i(1);var a=e.sqrt2=Math.sqrt(2);e.sqrt3=Math.sqrt(3),e.invSqrt2=1/a;function o(t,e){return t&&(t.hasOwnProperty(e)||e in t)}function s(t){return!(!t||"object"!==(void 0===t?"undefined":n(t))||Array.isArray(t))}function u(t,e){if(null==e&&(e=t,t=0),t>e){var i=t;t=e,e=i}return Array.from(Array(Math.abs(e-t)),function(e,i){return i+t})}function l(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.location.search,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"&",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"=",n={};return t.replace(/(^\?)/,"").split(e).forEach(function(t){t=t.split(i),n[t[0]]=t[1]}),n}var h=/^{.*}$/,c=/^\[.*\]$/;function f(t){return"string"!=typeof t?t:"true"===t.toLowerCase()||"false"!==t.toLowerCase()&&("null"===t.toLowerCase()?null:"undefined"===t.toLowerCase()?void 0:isNaN(Number(t))?h.test(t)||c.test(t)?JSON.parse(decodeURIComponent(t)):t:Number(t))}var p={red:.299,green:.587,blue:.114}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function r(t){return o(t,function(t){return null!=t})}function a(t,e){if(Array.isArray(t)){for(var i=t.length,n=0;n0&&void 0!==arguments[0]?arguments[0]:[],e=arguments[1],i=-1/0;if(e){var n=-1/0;l(t,function(t,r,a){var o=e(t,r,a);(o>n||o===-1/0&&i===-1/0)&&(i=t,n=o)})}else l(t,function(t){return i=t>i?t:i});return i}function y(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments[1],i=1/0;if(e){var n=1/0;l(t,function(t,r,a){var o=e(t,r,a);(o1&&void 0!==arguments[1]?arguments[1]:c;return Array.from(Array(t),function(t,i){return e(i)})}function w(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null!=t[0]?t[0]:0;return Array.isArray(t)?t.reduce(e,i):(l(t,function(t,n,r){i=e(i,t,n,r)}),i)}function x(t,e){return o(t,function(t,i,n){return!e(t,i,n)})}function k(t){return!!s(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:c)}e.chain=function(t){var e={log:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!0};return i(t)&&console.log(t),e},value:function(){return t}};return l(O,function(i,n){e[n]=function(){return t=i.apply(void 0,[t].concat(Array.prototype.slice.call(arguments))),e}}),e},e.compact=r,e.contains=a,e.filter=o,e.find=s,e.flatten=u,e.forEach=l,e.groupBy=h,e.identity=c,e.map=f,e.mapObj=v,e.max=g,e.min=y,e.omit=m,e.pick=b,e.range=T,e.reduce=w,e.reject=x,e.some=k;var O=e._={compact:r,contains:a,filter:o,find:s,flatten:u,forEach:l,groupBy:h,identity:c,map:f,mapObj:v,max:g,min:y,omit:m,pick:b,range:T,reduce:w,reject:x,some:k}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r=function(){function t(t,e){for(var i=0;ithis.settings.scale?this.scaleMin:this.settings.scale}},{key:"setOriginX",value:function(t,e){this.originX=e?e-t/2:this.negativeTiles?parseInt(t/2):this.width?this.width*this.horizontalDistance()/-2+t/2+this.horizontalDistance()/2:this.tileWidth()/2}},{key:"setOriginY",value:function(t,e){var i=this.height*this.verticalDistance();this.originY=e?e+t/2:this.negativeTiles?parseInt(t/2):this.height?i-(i-t)/2-this.verticalDistance()/2:t-this.tileHeight()/2}},{key:"move",value:function(t){(0,r.has)(t,"height")||(t.height=t.target.offsetHeight),(0,r.has)(t,"width")||(t.width=t.target.offsetWidth);var e=this.originX+t.deltaX,i=this.originY+t.deltaY;return this.originX=e,this.originY=i,this._checkMove(t),this.originX===e&&this.originY===i}},{key:"_checkMove",value:function(t){this.negativeTiles?this._checkMoveNegativeTiles(t):this._checkMovePositiveTiles(t)}},{key:"_checkMovePositiveTiles",value:function(t){var e=t.width,i=t.height,n=this.horizontalDistance(),r=this.verticalDistance(),a=this.tileWidth()/2,o=i-this.tileHeight()/2;if(!this.wrap){if(this.originX=this.originX>a?a:this.originX,this.originY=this.originYu?u:this.originY}}}},{key:"_checkMoveNegativeTiles",value:function(t){var e=this.horizontalDistance(),i=this.verticalDistance();if(!this.wrap){if(this.width){var n=t.width,r=(this.width*e+this.horizontalOverhang())/2;this.originX=this.originX>r?r:n-this.originX>r?n-r:this.originX}if(this.height){var a=t.height,o=(this.height*i+this.verticalOverhang())/2;this.originY=this.originY>o?o:a-this.originY>o?a-o:this.originY}}}},{key:"pixelToTile",value:function(t){var e=this._pixelToTile(t);return this.wrap?this.teleport(e):e}},{key:"zoom",value:function(t){var e=this.scale,i=e*t.scaleStep;i=Math.max(i,this.scaleMin),e!==(i=Math.min(i,this.scaleMax))&&(this.scale=i,this.move({deltaX:(t.offsetX-this.originX)/e*(e-i),deltaY:(t.offsetY-this.originY)/e*(e-i),width:t.target.offsetWidth,height:t.target.offsetHeight}))}},{key:"remap",value:function(t){Object.assign(this,(0,a.pick)(t,["height","width","negativeTiles"])),this.checkScale(t.canvasHeight,t.canvasWidth),this.setOriginX(t.canvasWidth,t.centerX),this.setOriginY(t.canvasHeight,t.centerY)}}]),t}();e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;ia&&r>o?e=-i-n:a>o?i=-e-n:n=-e-i,t.x=-0===e?0:e,t.y=-0===i?0:i,t.z=-0===n?0:n}(t),t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,r.default),n(e,null,[{key:"qrToCube",value:function(t,e){return{x:t,y:a(t,e),z:e}}},{key:"cubeToEvenR",value:function(t){var e=t.x,i=(t.y,t.z);return{col:e+(i+(1&i))/2,row:i}}},{key:"evenRToCube",value:function(t,i){var n=t-(i+(1&i))/2;return new e(n,-n-i,i)}},{key:"cubeToEvenQ",value:function(t){var e=t.x;t.y;return{col:e,row:t.z+(e+(1&e))/2}}},{key:"evenQToCube",value:function(t,i){var n=i-(t+(1&t))/2;return new e(t,-t-n,n)}}]),n(e,[{key:"getX",value:function(){return this.x}},{key:"getY",value:function(){return this.y}},{key:"getZ",value:function(){return this.z}},{key:"setX",value:function(t){return this.x=t,this}},{key:"setY",value:function(t){return this.y=t,this}},{key:"setZ",value:function(t){return this.z=t,this}},{key:"moveX",value:function(t){return this.x+=t,this}},{key:"moveY",value:function(t){return this.y+=t,this}},{key:"moveZ",value:function(t){return this.z+=t,this}},{key:"getQ",value:function(){return this.x}},{key:"getR",value:function(){return this.z}},{key:"setQ",value:function(t){return this.x=t,this.y=a(this.x,this.z),this}},{key:"setR",value:function(t){return this.z=t,this.y=a(this.x,this.z),this}},{key:"moveQ",value:function(t){return this.x+=t,this.y=a(this.x,this.z),this}},{key:"moveR",value:function(t){return this.z+=t,this.y=a(this.x,this.z),this}},{key:"getPoint",value:function(){return{x:this.x,y:this.y,z:this.z}}},{key:"setHex",value:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}},{key:"moveHex",value:function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}},{key:"subtractHex",value:function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}},{key:"getAxial",value:function(){return{q:this.x,r:this.z}}},{key:"setAxial",value:function(t){return this.x=t.q,this.z=t.r,this.y=a(this.x,this.y),this}},{key:"moveAxial",value:function(t){return this.x+=t.q,this.z+=t.r,this.y=a(this.x,this.z),this}},{key:"distance",value:function(t){return Math.max(Math.abs(this.x-t.x),Math.abs(this.y-t.y),Math.abs(this.z-t.z))}}]),e}();e.default=o},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){return t&&t.__esModule?t:{default:t}}(i(2));var r=function(t){function e(t,i){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,i))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,n.default),e}();e.default=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i=0&&t.x=0&&e=0&&e=0&&i=0&&e=0&&i4&&void 0!==arguments[4]?arguments[4]:this.settings.mine;e!==this.mineCache.scale&&this.setMineCache(e),t.drawImage(this.mineCache.mine,i-e,n-e,2*e,2*e)}},{key:"setMineCache",value:function(t){var e=this;this.mineCache.scale=t,this.mineCache.mine=(0,a.quickCanvas)(function(i){e._mine(i,t,t,t,e.settings.mine.border),e._horns(i,t,t,t,e.settings.mine.border.horns,e.settings.mine.border.color),e._mine(i,t,t,t,e.settings.mine.body),e._horns(i,t,t,t,e.settings.mine.body.horns,e.settings.mine.body.color)},2*t)}},{key:"_mine",value:function(t,e,i,n,r){t.beginPath(),t.moveTo(i,n),t.arc(i,n,e*r.scale,0,2*Math.PI,!0),t.closePath(),t.fillStyle=(0,a.getColor)(r.color),t.fill()}},{key:"_horns",value:function(t,e,i,r,o,s){var u=this,l=e*o.scale,h=e*o.distance;t.beginPath(),this.horns.forEach(function(a){var o=n(a,2),s=o[0],c=o[1];return u.pip(t,e,i,r,s,c,l,h)}),t.closePath(),t.fillStyle=(0,a.getColor)(s),t.fill()}},{key:"explosion",value:function(t,e,i,n){var r=this,o=.667*e,s=.333*e;t.beginPath(),t.moveTo(i,n),t.moveTo(i+o*this.slicesX[0],n+o*this.slicesY[0]),(0,a.range)(this.settings.slices).filter(function(t){return t%2==1}).forEach(function(e){t.lineTo(i+s*r.slicesX[e],n+s*r.slicesY[e]),t.lineTo(i+o*r.slicesX[e+1],n+o*r.slicesY[e+1])}),t.closePath(),t.fillStyle="rgb(255,0,0)",t.fill()}}]),t}();e.default=l},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i1&&(this.state.scaleStart=(0,r.hypotenuse)(e[0].pageX-e[1].pageX,e[0].pageY-e[1].pageY),this.state.pinching=!0,this.state.lastPinch=1,clearTimeout(this.state.pressTO)),this.tapStart(t)}},{key:"pressStart",value:function(t){this.settings.pressStart(t)}},{key:"mouseup",value:function(t){if(Object.assign(t,{mobile:!1,duration:t.timeStampUTC-this.state.tapStartTime}),!this.state.moving){var e=t.which&&1!==t.which||t.altKey||t.ctrlKey||t.metaKey,i=this.settings.desktopPress&&t.duration>=this.settings.pressThreshold;e||i?this.settings.press(t):(clearTimeout(this.state.pressTO),this.settings.tap(t))}this.state.moving=null,this.state.lastX=null,this.state.lastY=null,this.state.tapStartTime=null,clearTimeout(this.state.pressTO)}},{key:"touchend",value:function(t){t.preventDefault(),Object.assign(t,{mobile:!0,duration:t.timeStampUTC-this.state.tapStartTime});var e=[].concat(a(t.touches));e.length?(t.offsetX=e.reduce(function(t,e){return t+e.pageX},0)/e.length,t.offsetY=e.reduce(function(t,e){return t+e.pageY},0)/e.length,this.state.lastX=t.offsetX,this.state.lastY=t.offsetY):(t.offsetX=this.state.lastX,t.offsetY=this.state.lastY),this.state.moving||this.state.pinching||(t.duration>=this.settings.pressThreshold?this.settings.press(t):(clearTimeout(this.state.pressTO),this.settings.tap(t))),t.touches.length<=1&&(this.state.pinching=!1,this.state.scaleStart=null,this.state.lastPinch=null),0===t.touches.length&&(this.state.moving=null,this.state.lastX=null,this.state.lastY=null,this.state.tapStartTime=null)}},{key:"mousemove",value:function(t){this.state.tapStartTime&&(this.state.moving||(Math.abs(t.offsetX-this.state.lastX)>this.settings.moveThreshold||Math.abs(t.offsetY-this.state.lastY)>this.settings.moveThreshold)&&(this.state.moving=!0,clearTimeout(this.state.pressTO)),this.state.moving&&(Object.assign(t,{mobile:!1,deltaX:t.offsetX-this.state.lastX,deltaY:t.offsetY-this.state.lastY}),this.settings.move(t),this.state.lastX=t.offsetX,this.state.lastY=t.offsetY))}},{key:"touchmove",value:function(t){if(t.preventDefault(),this.state.tapStartTime){var e=[].concat(a(t.touches));(0,r.has)(t,"scale")||(t.scale=e.length<2?1:(0,r.hypotenuse)(e[0].pageX-e[1].pageX,e[0].pageY-e[1].pageY)/this.state.scaleStart),Object.assign(t,{offsetX:e.reduce(function(t,e){return t+e.pageX},0)/e.length,offsetY:e.reduce(function(t,e){return t+e.pageY},0)/e.length,scaleStep:t.scale/this.state.lastPinch,mobile:!0}),this.state.pinching&&(this.settings.zoom(t),this.state.lastPinch=t.scale),this.state.moving||(Math.abs(t.offsetX-this.state.lastX)>this.settings.moveThreshold||Math.abs(t.offsetY-this.state.lastY)>this.settings.moveThreshold)&&(this.state.moving=!0,clearTimeout(this.state.pressTO)),this.state.moving&&(Object.assign(t,{deltaX:t.offsetX-this.state.lastX,deltaY:t.offsetY-this.state.lastY}),this.settings.move(t),this.state.lastX=t.offsetX,this.state.lastY=t.offsetY)}}},{key:"touchcancel",value:function(t){console.log("touchcancel",t)}},{key:"wheel",value:function(t){Object.assign(t,{scaleStep:1+t.deltaY/this.settings.wheelFactor,mobile:!1}),this.settings.zoom(t)}}]),t}();e.default=l},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Tessellate=void 0;var n,r=function(){function t(t,e){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:document.location.search,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"&",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"=";return(0,r.mapObj)(l(t,e,i),f)},e.parseString=f,e.toFixed=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:NaN;return"number"!=typeof t||isNaN(t)?i:Number(t.toFixed(e))},e.getColor=function(t){var e=t.red,i=t.green,n=t.blue,r=t.alpha;return null!=r?"rgba("+e+", "+i+", "+n+", "+r+")":"rgb("+e+", "+i+", "+n+")"},e.grayscale=function(t){var e=t.red,i=t.green,n=t.blue;return p.red*e+p.green*i+p.blue*n},e.extend=function t(e){var i=Object.assign({},e);for(var n=arguments.length,a=Array(n>1?n-1:0),u=1;u2&&void 0!==arguments[2]?arguments[2]:e,n=document.createElement("canvas");return n.height=e,n.width=i,t(n.getContext("2d"),n.height,n.width),n};var r=i(1);var a=e.sqrt2=Math.sqrt(2);e.sqrt3=Math.sqrt(3),e.invSqrt2=1/a;function o(t,e){return t&&(t.hasOwnProperty(e)||e in t)}function s(t){return!(!t||"object"!==(void 0===t?"undefined":n(t))||Array.isArray(t))}function u(t,e){if(null==e&&(e=t,t=0),t>e){var i=t;t=e,e=i}return Array.from(Array(Math.abs(e-t)),function(e,i){return i+t})}function l(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.location.search,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"&",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"=",n={};return t.replace(/(^\?)/,"").split(e).forEach(function(t){t=t.split(i),n[t[0]]=t[1]}),n}var h=/^{.*}$/,c=/^\[.*\]$/;function f(t){return"string"!=typeof t?t:"true"===t.toLowerCase()||"false"!==t.toLowerCase()&&("null"===t.toLowerCase()?null:"undefined"===t.toLowerCase()?void 0:isNaN(Number(t))?h.test(t)||c.test(t)?JSON.parse(decodeURIComponent(t)):t:Number(t))}var p={red:.299,green:.587,blue:.114}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function r(t){return o(t,function(t){return null!=t})}function a(t,e){if(Array.isArray(t)){for(var i=t.length,n=0;n0&&void 0!==arguments[0]?arguments[0]:[],e=arguments[1],i=-1/0;if(e){var n=-1/0;l(t,function(t,r,a){var o=e(t,r,a);(o>n||o===-1/0&&i===-1/0)&&(i=t,n=o)})}else l(t,function(t){return i=t>i?t:i});return i}function y(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments[1],i=1/0;if(e){var n=1/0;l(t,function(t,r,a){var o=e(t,r,a);(o1&&void 0!==arguments[1]?arguments[1]:c;return Array.from(Array(t),function(t,i){return e(i)})}function T(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null!=t[0]?t[0]:0;return Array.isArray(t)?t.reduce(e,i):(l(t,function(t,n,r){i=e(i,t,n,r)}),i)}function x(t,e){return o(t,function(t,i,n){return!e(t,i,n)})}function k(t){return!!s(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:c)}e.chain=function(t){var e={log:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!0};return i(t)&&console.log(t),e},value:function(){return t}};return l(P,function(i,n){e[n]=function(){return t=i.apply(void 0,[t].concat(Array.prototype.slice.call(arguments))),e}}),e},e.compact=r,e.contains=a,e.filter=o,e.find=s,e.flatten=u,e.forEach=l,e.groupBy=h,e.identity=c,e.map=f,e.mapObj=v,e.max=g,e.min=y,e.omit=m,e.pick=b,e.range=w,e.reduce=T,e.reject=x,e.some=k;var P=e._={compact:r,contains:a,filter:o,find:s,flatten:u,forEach:l,groupBy:h,identity:c,map:f,mapObj:v,max:g,min:y,omit:m,pick:b,range:w,reduce:T,reject:x,some:k}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r=function(){function t(t,e){for(var i=0;ithis.settings.scale?this.scaleMin:this.settings.scale}},{key:"setOriginX",value:function(t,e){this.originX=e?e-t/2:this.negativeTiles?parseInt(t/2):this.width?this.width*this.horizontalDistance()/-2+t/2+this.horizontalDistance()/2:this.tileWidth()/2}},{key:"setOriginY",value:function(t,e){var i=this.height*this.verticalDistance();this.originY=e?e+t/2:this.negativeTiles?parseInt(t/2):this.height?i-(i-t)/2-this.verticalDistance()/2:t-this.tileHeight()/2}},{key:"move",value:function(t){(0,r.has)(t,"height")||(t.height=t.target.offsetHeight),(0,r.has)(t,"width")||(t.width=t.target.offsetWidth);var e=this.originX+t.deltaX,i=this.originY+t.deltaY;return this.originX=e,this.originY=i,this._checkMove(t),this.originX===e&&this.originY===i}},{key:"_checkMove",value:function(t){this.negativeTiles?this._checkMoveNegativeTiles(t):this._checkMovePositiveTiles(t)}},{key:"_checkMovePositiveTiles",value:function(t){var e=t.width,i=t.height,n=this.horizontalDistance(),r=this.verticalDistance(),a=this.tileWidth()/2,o=i-this.tileHeight()/2;if(!this.wrap){if(this.originX=this.originX>a?a:this.originX,this.originY=this.originYu?u:this.originY}}}},{key:"_checkMoveNegativeTiles",value:function(t){var e=this.horizontalDistance(),i=this.verticalDistance();if(!this.wrap){if(this.width){var n=t.width,r=(this.width*e+this.horizontalOverhang())/2;this.originX=this.originX>r?r:n-this.originX>r?n-r:this.originX}if(this.height){var a=t.height,o=(this.height*i+this.verticalOverhang())/2;this.originY=this.originY>o?o:a-this.originY>o?a-o:this.originY}}}},{key:"zoom",value:function(t){var e=this.scale,i=e*t.scaleStep;i=Math.max(i,this.scaleMin),e!==(i=Math.min(i,this.scaleMax))&&(this.scale=i,this.move({deltaX:(t.offsetX-this.originX)/e*(e-i),deltaY:(t.offsetY-this.originY)/e*(e-i),width:t.target.offsetWidth,height:t.target.offsetHeight}))}},{key:"remap",value:function(t){Object.assign(this,(0,a.pick)(t,["height","width","negativeTiles"])),this.checkScale(t.canvasHeight,t.canvasWidth),this.setOriginX(t.canvasWidth,t.centerX),this.setOriginY(t.canvasHeight,t.centerY)}}]),t}();e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;ia&&r>o?e=-i-n:a>o?i=-e-n:n=-e-i,t.x=-0===e?0:e,t.y=-0===i?0:i,t.z=-0===n?0:n}(t),t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,r.default),n(e,null,[{key:"qrToCube",value:function(t,e){return{x:t,y:a(t,e),z:e}}},{key:"cubeToEvenR",value:function(t){var e=t.x,i=(t.y,t.z);return{col:e+(i+(1&i))/2,row:i}}},{key:"evenRToCube",value:function(t,i){var n=t-(i+(1&i))/2;return new e(n,-n-i,i)}},{key:"cubeToEvenQ",value:function(t){var e=t.x;t.y;return{col:e,row:t.z+(e+(1&e))/2}}},{key:"evenQToCube",value:function(t,i){var n=i-(t+(1&t))/2;return new e(t,-t-n,n)}}]),n(e,[{key:"getX",value:function(){return this.x}},{key:"getY",value:function(){return this.y}},{key:"getZ",value:function(){return this.z}},{key:"setX",value:function(t){return this.x=t,this}},{key:"setY",value:function(t){return this.y=t,this}},{key:"setZ",value:function(t){return this.z=t,this}},{key:"moveX",value:function(t){return this.x+=t,this}},{key:"moveY",value:function(t){return this.y+=t,this}},{key:"moveZ",value:function(t){return this.z+=t,this}},{key:"getQ",value:function(){return this.x}},{key:"getR",value:function(){return this.z}},{key:"setQ",value:function(t){return this.x=t,this.y=a(this.x,this.z),this}},{key:"setR",value:function(t){return this.z=t,this.y=a(this.x,this.z),this}},{key:"moveQ",value:function(t){return this.x+=t,this.y=a(this.x,this.z),this}},{key:"moveR",value:function(t){return this.z+=t,this.y=a(this.x,this.z),this}},{key:"getPoint",value:function(){return{x:this.x,y:this.y,z:this.z}}},{key:"setHex",value:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}},{key:"moveHex",value:function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}},{key:"subtractHex",value:function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}},{key:"getAxial",value:function(){return{q:this.x,r:this.z}}},{key:"setAxial",value:function(t){return this.x=t.q,this.z=t.r,this.y=a(this.x,this.y),this}},{key:"moveAxial",value:function(t){return this.x+=t.q,this.z+=t.r,this.y=a(this.x,this.z),this}},{key:"distance",value:function(t){return Math.max(Math.abs(this.x-t.x),Math.abs(this.y-t.y),Math.abs(this.z-t.z))}}]),e}();e.default=o},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){return t&&t.__esModule?t:{default:t}}(i(2));var r=function(t){function e(t,i){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,i))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,n.default),e}();e.default=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i=0&&t.x=0&&e=0&&e=0&&i=0&&e=0&&i4&&void 0!==arguments[4]?arguments[4]:this.settings.mine;e!==this.mineCache.scale&&this.setMineCache(e),t.drawImage(this.mineCache.mine,i-e,n-e,2*e,2*e)}},{key:"setMineCache",value:function(t){var e=this;this.mineCache.scale=t,this.mineCache.mine=(0,a.quickCanvas)(function(i){e._mine(i,t,t,t,e.settings.mine.border),e._horns(i,t,t,t,e.settings.mine.border.horns,e.settings.mine.border.color),e._mine(i,t,t,t,e.settings.mine.body),e._horns(i,t,t,t,e.settings.mine.body.horns,e.settings.mine.body.color)},2*t)}},{key:"_mine",value:function(t,e,i,n,r){t.beginPath(),t.moveTo(i,n),t.arc(i,n,e*r.scale,0,2*Math.PI,!0),t.closePath(),t.fillStyle=(0,a.getColor)(r.color),t.fill()}},{key:"_horns",value:function(t,e,i,r,o,s){var u=this,l=e*o.scale,h=e*o.distance;t.beginPath(),this.horns.forEach(function(a){var o=n(a,2),s=o[0],c=o[1];return u.pip(t,e,i,r,s,c,l,h)}),t.closePath(),t.fillStyle=(0,a.getColor)(s),t.fill()}},{key:"explosion",value:function(t,e,i,n){var r=this,o=.667*e,s=.333*e;t.beginPath(),t.moveTo(i,n),t.moveTo(i+o*this.slicesX[0],n+o*this.slicesY[0]),(0,a.range)(this.settings.slices).filter(function(t){return t%2==1}).forEach(function(e){t.lineTo(i+s*r.slicesX[e],n+s*r.slicesY[e]),t.lineTo(i+o*r.slicesX[e+1],n+o*r.slicesY[e+1])}),t.closePath(),t.fillStyle="rgb(255,0,0)",t.fill()}}]),t}();e.default=l},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i1&&(this.state.scaleStart=(0,r.hypotenuse)(e[0].pageX-e[1].pageX,e[0].pageY-e[1].pageY),this.state.pinching=!0,this.state.lastPinch=1,clearTimeout(this.state.pressTO)),this.tapStart(t)}},{key:"pressStart",value:function(t){this.settings.pressStart(t)}},{key:"mouseup",value:function(t){if(Object.assign(t,{mobile:!1,duration:t.timeStampUTC-this.state.tapStartTime}),!this.state.moving){var e=t.which&&1!==t.which||t.altKey||t.ctrlKey||t.metaKey,i=this.settings.desktopPress&&t.duration>=this.settings.pressThreshold;e||i?this.settings.press(t):(clearTimeout(this.state.pressTO),this.settings.tap(t))}this.state.moving=null,this.state.lastX=null,this.state.lastY=null,this.state.tapStartTime=null,clearTimeout(this.state.pressTO)}},{key:"touchend",value:function(t){t.preventDefault(),Object.assign(t,{mobile:!0,duration:t.timeStampUTC-this.state.tapStartTime});var e=[].concat(a(t.touches));e.length?(t.offsetX=e.reduce(function(t,e){return t+e.pageX},0)/e.length,t.offsetY=e.reduce(function(t,e){return t+e.pageY},0)/e.length,this.state.lastX=t.offsetX,this.state.lastY=t.offsetY):(t.offsetX=this.state.lastX,t.offsetY=this.state.lastY),this.state.moving||this.state.pinching||(t.duration>=this.settings.pressThreshold?this.settings.press(t):(clearTimeout(this.state.pressTO),this.settings.tap(t))),t.touches.length<=1&&(this.state.pinching=!1,this.state.scaleStart=null,this.state.lastPinch=null),0===t.touches.length&&(this.state.moving=null,this.state.lastX=null,this.state.lastY=null,this.state.tapStartTime=null)}},{key:"mousemove",value:function(t){this.state.tapStartTime&&(this.state.moving||(Math.abs(t.offsetX-this.state.lastX)>this.settings.moveThreshold||Math.abs(t.offsetY-this.state.lastY)>this.settings.moveThreshold)&&(this.state.moving=!0,clearTimeout(this.state.pressTO)),this.state.moving&&(Object.assign(t,{mobile:!1,deltaX:t.offsetX-this.state.lastX,deltaY:t.offsetY-this.state.lastY}),this.settings.move(t),this.state.lastX=t.offsetX,this.state.lastY=t.offsetY))}},{key:"touchmove",value:function(t){if(t.preventDefault(),this.state.tapStartTime){var e=[].concat(a(t.touches));(0,r.has)(t,"scale")||(t.scale=e.length<2?1:(0,r.hypotenuse)(e[0].pageX-e[1].pageX,e[0].pageY-e[1].pageY)/this.state.scaleStart),Object.assign(t,{offsetX:e.reduce(function(t,e){return t+e.pageX},0)/e.length,offsetY:e.reduce(function(t,e){return t+e.pageY},0)/e.length,scaleStep:t.scale/this.state.lastPinch,mobile:!0}),this.state.pinching&&(this.settings.zoom(t),this.state.lastPinch=t.scale),this.state.moving||(Math.abs(t.offsetX-this.state.lastX)>this.settings.moveThreshold||Math.abs(t.offsetY-this.state.lastY)>this.settings.moveThreshold)&&(this.state.moving=!0,clearTimeout(this.state.pressTO)),this.state.moving&&(Object.assign(t,{deltaX:t.offsetX-this.state.lastX,deltaY:t.offsetY-this.state.lastY}),this.settings.move(t),this.state.lastX=t.offsetX,this.state.lastY=t.offsetY)}}},{key:"touchcancel",value:function(t){console.log("touchcancel",t)}},{key:"wheel",value:function(t){Object.assign(t,{scaleStep:1+t.deltaY/this.settings.wheelFactor,mobile:!1}),this.settings.zoom(t)}}]),t}();e.default=l},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Tessellate=void 0;var n,r=function(){function t(t,e){for(var i=0;i