UNPKG

react-box-selection

Version:

React component for making box selections on elements

14 lines 22.2 kB
module.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=14)}([function(e,t,n){e.exports=n(6)()},function(e,t,n){"use strict";e.exports=n(3)},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict"; /** @license React v16.2.0 * react.production.min.js * * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var r=n(4),o=n(5),i=n(2),a="function"==typeof Symbol&&Symbol.for,s=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.call"):60104,l=a?Symbol.for("react.return"):60105,u=a?Symbol.for("react.portal"):60106,f=a?Symbol.for("react.fragment"):60107,p="function"==typeof Symbol&&Symbol.iterator;function d(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);throw(t=Error(n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.")).name="Invariant Violation",t.framesToPop=1,t}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};function y(e,t,n){this.props=e,this.context=t,this.refs=o,this.updater=n||h}function m(e,t,n){this.props=e,this.context=t,this.refs=o,this.updater=n||h}function v(){}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){"object"!=typeof e&&"function"!=typeof e&&null!=e&&d("85"),this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=y.prototype;var b=m.prototype=new v;function g(e,t,n){this.props=e,this.context=t,this.refs=o,this.updater=n||h}b.constructor=m,r(b,y.prototype),b.isPureReactComponent=!0;var w=g.prototype=new v;w.constructor=g,r(w,y.prototype),w.unstable_isAsyncReactComponent=!0,w.render=function(){return this.props.children};var O={current:null},S=Object.prototype.hasOwnProperty,j={key:!0,ref:!0,__self:!0,__source:!0};function _(e,t,n){var r,o={},i=null,a=null;if(null!=t)for(r in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(i=""+t.key),t)S.call(t,r)&&!j.hasOwnProperty(r)&&(o[r]=t[r]);var c=arguments.length-2;if(1===c)o.children=n;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];o.children=l}if(e&&e.defaultProps)for(r in c=e.defaultProps)void 0===o[r]&&(o[r]=c[r]);return{$$typeof:s,type:e,key:i,ref:a,props:o,_owner:O.current}}function x(e){return"object"==typeof e&&null!==e&&e.$$typeof===s}var T=/\/+/g,E=[];function P(e,t,n,r){if(E.length){var o=E.pop();return o.result=e,o.keyPrefix=t,o.func=n,o.context=r,o.count=0,o}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function k(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>E.length&&E.push(e)}function C(e,t,n,r){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var i=!1;if(null===e)i=!0;else switch(o){case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case s:case c:case l:case u:i=!0}}if(i)return n(r,e,""===t?"."+R(e,0):t),1;if(i=0,t=""===t?".":t+":",Array.isArray(e))for(var a=0;a<e.length;a++){var f=t+R(o=e[a],a);i+=C(o,f,n,r)}else if(null==e?f=null:f="function"==typeof(f=p&&e[p]||e["@@iterator"])?f:null,"function"==typeof f)for(e=f.call(e),a=0;!(o=e.next()).done;)i+=C(o=o.value,f=t+R(o,a++),n,r);else"object"===o&&d("31","[object Object]"===(n=""+e)?"object with keys {"+Object.keys(e).join(", ")+"}":n,"");return i}function R(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}(e.key):t.toString(36)}function A(e,t){e.func.call(e.context,t,e.count++)}function L(e,t,n){var r=e.result,o=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?M(e,r,n,i.thatReturnsArgument):null!=e&&(x(e)&&(t=o+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(T,"$&/")+"/")+n,e={$$typeof:s,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}),r.push(e))}function M(e,t,n,r,o){var i="";null!=n&&(i=(""+n).replace(T,"$&/")+"/"),t=P(t,i,r,o),null==e||C(e,"",L,t),k(t)}var U={Children:{map:function(e,t,n){if(null==e)return e;var r=[];return M(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;t=P(null,null,t,n),null==e||C(e,"",A,t),k(t)},count:function(e){return null==e?0:C(e,"",i.thatReturnsNull,null)},toArray:function(e){var t=[];return M(e,t,null,i.thatReturnsArgument),t},only:function(e){return x(e)||d("143"),e}},Component:y,PureComponent:m,unstable_AsyncComponent:g,Fragment:f,createElement:_,cloneElement:function(e,t,n){var o=r({},e.props),i=e.key,a=e.ref,c=e._owner;if(null!=t){if(void 0!==t.ref&&(a=t.ref,c=O.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(u in t)S.call(t,u)&&!j.hasOwnProperty(u)&&(o[u]=void 0===t[u]&&void 0!==l?l[u]:t[u])}var u=arguments.length-2;if(1===u)o.children=n;else if(1<u){l=Array(u);for(var f=0;f<u;f++)l[f]=arguments[f+2];o.children=l}return{$$typeof:s,type:e.type,key:i,ref:a,props:o,_owner:c}},createFactory:function(e){var t=_.bind(null,e);return t.type=e,t},isValidElement:x,version:"16.2.0",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:O,assign:r}},I=Object.freeze({default:U}),N=I&&U||I;e.exports=N.default?N.default:N},function(e,t,n){"use strict"; /* object-assign (c) Sindre Sorhus @license MIT */var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),c=1;c<arguments.length;c++){for(var l in n=Object(arguments[c]))o.call(n,l)&&(s[l]=n[l]);if(r){a=r(n);for(var u=0;u<a.length;u++)i.call(n,a[u])&&(s[a[u]]=n[a[u]])}}return s}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var r=n(2),o=n(7),i=n(8);e.exports=function(){function e(e,t,n,r,a,s){s!==i&&o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict";var r=function(e){};e.exports=function(e,t,n,o,i,a,s,c){if(r(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,o,i,a,s,c],f=0;(l=new Error(t.replace(/%s/g,function(){return u[f++]}))).name="Invariant Violation"}throw l.framesToPop=1,l}}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){var r=n(10);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(12)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(11)(!1)).push([e.i,".selection_wrapper {\r\n position: relative;\r\n}\r\n\r\n.selection_wrapper .selection_element {\r\n position: absolute;\r\n z-index: 1;\r\n top: 0;\r\n left: 0;\r\n height: 0;\r\n width: 0;\r\n border: 1px dashed #eee;\r\n background-color: #aaa;\r\n opacity: 0.6;\r\n}\r\n\r\n.selection_wrapper .selection_content {\r\n position: absolute;\r\n height: 100%;\r\n width: 100%;\r\n border: 1px solid #eee;\r\n}\r\n\r\n.selection_wrapper .selection_content tr {\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n\r\n.selection_wrapper .selection_content .selection_item {\r\n box-sizing: border-box;\r\n border-left: 1px solid #eee;\r\n border-top: 1px solid #eee;\r\n transition: all .2s ease-out;\r\n -webkit-transition: all .2s ease-out;\r\n -moz-transition: all .2s ease-out;\r\n -ms-transition: all .2s ease-out;\r\n -o-transition: all .2s ease-out;\r\n}\r\n\r\n.selection_wrapper .selection_content .selection_item_active {\r\n background: #ffdea2;\r\n}",""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var o=(a=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */"),i=r.sources.map(function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"});return[n].concat(i).concat([o]).join("\n")}var a;return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},o=0;o<this.length;o++){var i=this[o][0];"number"==typeof i&&(r[i]=!0)}for(o=0;o<e.length;o++){var a=e[o];"number"==typeof a[0]&&r[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]="("+a[2]+") and ("+n+")"),t.push(a))}},t}},function(e,t,n){var r,o,i={},a=(r=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===o&&(o=r.apply(this,arguments)),o}),s=function(e){var t={};return function(e){if("function"==typeof e)return e();if(void 0===t[e]){var n=function(e){return document.querySelector(e)}.call(this,e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}}(),c=null,l=0,u=[],f=n(13);function p(e,t){for(var n=0;n<e.length;n++){var r=e[n],o=i[r.id];if(o){o.refs++;for(var a=0;a<o.parts.length;a++)o.parts[a](r.parts[a]);for(;a<r.parts.length;a++)o.parts.push(b(r.parts[a],t))}else{var s=[];for(a=0;a<r.parts.length;a++)s.push(b(r.parts[a],t));i[r.id]={id:r.id,refs:1,parts:s}}}}function d(e,t){for(var n=[],r={},o=0;o<e.length;o++){var i=e[o],a=t.base?i[0]+t.base:i[0],s={css:i[1],media:i[2],sourceMap:i[3]};r[a]?r[a].parts.push(s):n.push(r[a]={id:a,parts:[s]})}return n}function h(e,t){var n=s(e.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var r=u[u.length-1];if("top"===e.insertAt)r?r.nextSibling?n.insertBefore(t,r.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),u.push(t);else if("bottom"===e.insertAt)n.appendChild(t);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var o=s(e.insertInto+" "+e.insertAt.before);n.insertBefore(t,o)}}function y(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=u.indexOf(e);t>=0&&u.splice(t,1)}function m(e){var t=document.createElement("style");return e.attrs.type="text/css",v(t,e.attrs),h(e,t),t}function v(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function b(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=l++;n=c||(c=m(t)),r=O.bind(null,n,a,!1),o=O.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return e.attrs.type="text/css",e.attrs.rel="stylesheet",v(t,e.attrs),h(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=f(r));o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){y(n),n.href&&URL.revokeObjectURL(n.href)}):(n=m(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){y(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=d(e,t);return p(n,t),function(e){for(var r=[],o=0;o<n.length;o++){var a=n[o];(s=i[a.id]).refs--,r.push(s)}e&&p(d(e,t),t);for(o=0;o<r.length;o++){var s;if(0===(s=r[o]).refs){for(var c=0;c<s.parts.length;c++)s.parts[c]();delete i[s.id]}}}};var g,w=(g=[],function(e,t){return g[e]=t,g.filter(Boolean).join("\n")});function O(e,t,n,r){var o=n?"":r.css;if(e.styleSheet)e.styleSheet.cssText=w(t,o);else{var i=document.createTextNode(o),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(i,a[t]):e.appendChild(i)}}},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,r=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var o,i=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i)?e:(o=0===i.indexOf("//")?i:0===i.indexOf("/")?n+i:r+i.replace(/^\.\//,""),"url("+JSON.stringify(o)+")")})}},function(e,t,n){"use strict";n.r(t);var r=n(1),o=n.n(r),i=n(0),a=n.n(i);n(9);function s(e){var t=e.offsetTop;return null!=e.offsetParent&&(t+=s(e.offsetParent)),t}function c(e){var t=e.offsetLeft;return null!=e.offsetParent&&(t+=c(e.offsetParent)),t}function l(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,e.preventDefault?e.preventDefault():e.returnValue=!1}function u(){return window.pageYOffset?{scrollLeft:window.pageXOffset,scrollTop:window.pageYOffset}:"CSS1Compat"===document.compatMode?{scrollLeft:document.documentElement.scrollLeft,scrollTop:document.documentElement.scrollTop}:{scrollLeft:document.body.scrollLeft,scrollTop:document.body.scrollTop}}function f(e,t){if(void 0===t)return e.parentNode;for(var n=e.parentNode;n.tagName!==t;){n=n.parentNode}return n}function p(e){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){g(e,t,n[t])})}return e}function h(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function y(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function m(e){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function b(e,t){return(b=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function g(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var w=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=m(t).call(this,e),n=!o||"object"!==p(o)&&"function"!=typeof o?v(r):o,g(v(n),"addActiveClass",function(e){var t=n.props.activeClass;e.classList.add(t||"selection_item_active")}),g(v(n),"removeActiveClass",function(e){var t=n.props.activeClass;e.classList.remove(t||"selection_item_active")}),g(v(n),"down",function(e){l(e);var t=n.state.selectEle,r=n.props.wrapperScroll,o=e.clientX,i=e.clientY,a=s(e.currentTarget),f=c(e.currentTarget),p=r||u(),d=p.scrollTop,h=o-f+p.scrollLeft,y=i-a+d;t.left=h,t.top=y,n.setState({isMouseDown:!0,startX:h,startY:y,selectEle:t})}),g(v(n),"move",function(e){l(e);var t=n.state,r=t.isMouseDown,o=t.selectEle,i=t.startX,a=t.startY,f=t.selectedItems,p=t.selectedPostions,d=n.props.wrapperScroll;if(r){var y=s(e.currentTarget),m=c(e.currentTarget),v=d||u(),b=v.scrollTop,g=v.scrollLeft,w=e.clientX-m+g,O=e.clientY-y+b;o.left=Math.min(w,i),o.top=Math.min(O,a),o.width=Math.abs(w-i),o.height=Math.abs(O-a),o.display="block";var S=h(e.currentTarget.getElementsByTagName("td"));p.length=0,f.length=0,S.forEach(function(e){var t,r,i,a,s,c;n.removeActiveClass(e),r=o,i=(t=e).offsetLeft,a=t.offsetTop,s=t.offsetWidth+i,c=t.offsetHeight+a,s>r.left&&c>r.top&&i<r.left+r.width&&a<r.top+r.height&&(n.addActiveClass(e),p.push(e.dataset.position),f.push(e))}),n.setState({selectEle:o,selectedItems:f,selectedPostions:p})}}),g(v(n),"up",function(e){l(e);var t=n.state,r=t.allItems,o=t.selectEle,i=t.selectedPostions,a=t.selectedItems,s=n.props,c=s.onSelected,u=s.onSingleSelected,p="TD"===e.target.tagName?e.target:f(e.target,"TD");o.left=0,o.top=0,o.width=0,o.height=0,o.display="none",r.forEach(function(e){n.removeActiveClass(e)}),0===i.length?u&&u(p.dataset.position,p,r):1===i.length?u&&u(i[0],a,r):c&&c(i,a,r),n.setState({isMouseDown:!1,selectEle:o,selectedPostions:[]})}),g(v(n),"over",function(e){l(e);var t=n.props.onHovered,r="TD"===e.target.tagName?e.target:f(e.target,"TD");n.addActiveClass(r),t&&t(r.dataset.position,r)}),g(v(n),"leave",function(e){l(e);var t=n.state.isMouseDown,r=n.props.onLeaved,o="TD"===e.target.tagName?e.target:f(e.target,"TD");!t&&n.removeActiveClass(o),r&&r(o.dataset.position,o)}),n.state={cols:e.cols||24,rows:e.rows||7,width:e.width||30,height:e.height||50,margin:e.gap||0,isMouseDown:!1,templates:h(Array(e.rows||7)).map(function(t){return h(Array(e.cols||24).keys())}),allItems:[],selectedItems:[],selectedPostions:[],selectEle:{width:0,height:0,top:0,left:0,display:"none"}},n.selectionTable=null,n}var n,r,i;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&b(e,t)}(t,o.a.Component),n=t,(r=[{key:"componentDidMount",value:function(){var e=this.props.onMounted,t=h(this.selectionTable.getElementsByTagName("td"));e&&e(t),this.setState({allItems:t})}},{key:"componentWillUnmount",value:function(){this.setState({allItems:null,selectedItems:null}),this.setState=function(){}}},{key:"render",value:function(){var e=this,t=this.state,n=t.templates,r=t.selectEle,i=t.width,a=t.height,s=t.cols,c=t.rows,l=t.margin,u=this.props,f=u.children,p=u.itemClass,h=u.extraClass,y=this;return o.a.createElement("div",{className:"selection_wrapper",style:{width:s*i+l*(1+s),height:c*a+l*(1+c)},onMouseDown:this.down,onMouseMove:this.move,onMouseUp:this.up},o.a.createElement("div",{className:"selection_element",style:d({},r)}),o.a.createElement("table",{className:"selection_content",border:"1",cellSpacing:"0",cellPadding:"0",ref:function(t){return e.selectionTable=t}},o.a.createElement("tbody",null,n.map(function(e,t){return o.a.createElement("tr",{key:"row-".concat(t)},e.map(function(e){var n="".concat(p||"selection_item"," ").concat(h?h.join(" "):"");return o.a.createElement("td",{onMouseOver:y.over,onMouseLeave:y.leave,onClick:y.single,className:n,style:{width:i,height:a,margin:"".concat(l,"px ").concat(l,"px 0 ").concat(l,"px")},key:"col-".concat(e),"data-position":"".concat(t,"-").concat(e)},f&&f[t]&&f[t][e]||"")}))}))))}}])&&y(n.prototype,r),i&&y(n,i),t}();g(w,"propTypes",{cols:a.a.number,rows:a.a.number,width:a.a.number,height:a.a.number,gap:a.a.number,wrapperScroll:a.a.object,itemClass:a.a.string,extraClass:a.a.array,activeClass:a.a.string,onMounted:a.a.func,onHovered:a.a.func,onLeaved:a.a.func,onSelected:a.a.func,onSingleSelected:a.a.func});var O=w;t.default=O}]);