UNPKG

@docapost-agility/mka

Version:
2 lines 23.2 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("mka",[],t):"object"==typeof exports?exports.mka=t():e.mka=t()}("undefined"!=typeof self?self:this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var r=n(1),s=o(r),a=n(2),i=o(a),l=n(3),c=o(l),u=n(4),f=o(u),d=n(5),m=o(d),p=n(6),g=o(p),y=n(7),v=o(y),h=n(8),b=o(h),k=n(9),P=o(k),w={eltsSelectable:"",eltSelectedClass:"mka-elt-selected",eltSelectingClass:"mka-elt-selecting",onDragItemClass:null,dragNdrop:!1,droppableElements:"",rightClick:!1,dbClick:!1,multipleSelection:!0,lasso:!0,lassoBorder:"1px solid rgba(255,0,0,0.8)",lassoOpacity:"0.5",lassoBackground:"rgba(255,0,0,0.5)",selectAllShortcut:!0,copyPaste:!0,arrows:!0,deleteShortcut:!1,count:"",pasteFunction:function(e){console.log(e),console.log("Default past function, think to implement this function")},longPressDelay:500,dbClickDelay:350,onSelectionUpdate:!1},E=function(e,t,n){var o=e.mkaParams.configs,r=e.mkaParams.components,s=e.mkaParams.selectables,a=!1;if(e.mkaParams.selection.length===t.length&&(a=!0,e.mkaParams.selection.forEach(function(e){-1===t.indexOf(e)&&(a=!1)})),!a){e.mkaParams.selection=t,s.forEach(function(e){e.classList.remove(o.eltSelectedClass)}),e.mkaParams.selection.forEach(function(e){e.classList.add(o.eltSelectedClass)});var i={selection:e.mkaParams.selection,selectables:e.mkaParams.selectables,configs:e.mkaParams.configs,parentFunctions:x(e),actionId:n};r.forEach(function(e){e.onSelectionUpdate&&e.onSelectionUpdate(i)}),e.mkaParams.configs.onSelectionUpdate&&e.mkaParams.configs.onSelectionUpdate(e.mkaParams.selection)}},S=function(e){var t={};return Object.keys(w).forEach(function(n){t[n]=void 0!==e[n]?e[n]:w[n]}),t},L=function(e){var t=e.mkaParams.configs;e.mkaParams.components=[],t.dbClick&&e.mkaParams.components.push(s),t.rightClick&&e.mkaParams.components.push(i),t.dragNdrop&&!t.isMobileDevice&&e.mkaParams.components.push(c),t.selectAllShortcut&&e.mkaParams.components.push(P),t.copyPaste&&e.mkaParams.components.push(m),t.deleteShortcut&&e.mkaParams.components.push(b),t.arrows&&e.mkaParams.components.push(v),t.count&&e.mkaParams.components.push(g),e.mkaParams.components.push(f)},x=function(e){var t=e.mkaParams.configs,n=e.mkaParams.components;return e.mkaParams.customProperties=e.mkaParams.customProperties||{},{getContainer:function(){return e},setProperty:function(t,n){e.mkaParams.customProperties[t]=n},getProperty:function(t){return e.mkaParams.customProperties[t]},elementIsSelected:function(e){if(e&&e.classList&&e.classList.contains(t.eltSelectedClass))return!0;for(;e&&e.parentNode;)if(e=e.parentNode,e.classList&&e.classList.contains(t.eltSelectedClass))return!0;return!1},getSelectableElement:function(t){var n=e.mkaParams.selectables;if(t&&t.classList&&-1!==n.indexOf(t))return t;for(;t&&t.parentNode;)if(t=t.parentNode,t.classList&&-1!==n.indexOf(t))return t;return null},getSelectablesElements:function(){return e.mkaParams.selectables},getLastSelectedInDom:function(){var t=null;return e.mkaParams.selection.forEach(function(e){(!t||e.offsetTop>t.offsetTop||e.offsetTop===t.offsetTop&&e.offsetLeft>t.offsetLeft)&&(t=e)}),t},getSelection:function(){var t=[];return e.mkaParams.selection.forEach(function(e){t.push(e)}),t},updateSelection:function(t,n){E(e,t,n)},removeElements:function(t){t.forEach(function(t){var n=e.mkaParams.selectables.indexOf(t);-1!==n&&e.mkaParams.selectables.splice(n,1),n=e.mkaParams.selection.indexOf(t),-1!==n&&e.mkaParams.selection.splice(n,1),t.parentNode.removeChild(t)}),n.forEach(function(t){t.onSelectionUpdate&&t.onSelectionUpdate(e.mkaParams.selection,e.mkaParams.selectables)})},isMkaContainerFocused:function(t){if(t===e)return!0;for(;t.parentNode;)if((t=t.parentNode)===e)return!0;return!1},getScrollableContainer:function(e){for(var t=null,n=e;n.parentNode&&!t;)n=n.parentNode,(n.scrollHeight>n.offsetHeight+30||n.scrollWidth>n.offsetWidth+30||n===document.body)&&(t=n);return t}}},T=function(e){var t=e.mkaParams.configs;e.mkaParams.components.forEach(function(n){n.init&&n.init(t,x(e))})},C=function(e){var t=x(e),n=e.mkaParams.components,o=function(o,r){var s=o.value[r];o.value[r]=function(a){var i=!1;if(s&&"function"==typeof s){s(a)&&(i=s(a).forceStop)}return n.forEach(function(n){i||(i=n[o.name]&&n[o.name][r]&&n[o.name][r](a,t,e.mkaParams.configs)||!1)}),{forceStop:i}}},r=["onmousedown","onmousemove","onmouseup","onclick","ondblclick"],s=[{name:"windowEvents",value:window},{name:"documentEvents",value:document.body},{name:"mkaEvents",value:e}],a=["onkeydown","onkeypress","onkeyup"];s.forEach(function(e){r.forEach(function(t){o(e,t)})}),a.forEach(function(e){o({name:"windowEvents",value:window},e)})},M=function(e){e.mkaParams.components.forEach(function(t){t.refresh&&t.refresh(e.mkaParams.selectables,e.mkaParams.configs,x(e))})},B=function(e,t){e.mkaParams.selectables&&e.mkaParams.selectables.forEach(function(e){e.mkaSelectable=!1}),t.forEach(function(e){e.mkaSelectable=!0}),e.mkaParams.selectables=t},O=function(e){var t=[].slice.call(e.querySelectorAll(e.mkaParams.configs.eltsSelectable)),n=[];e.mkaParams.selection.forEach(function(e){-1!==t.indexOf(e)&&n.push(e)}),E(e,n),B(e,t),M(e)},D=function(e){var t=function(t){if(t.mkaSelectable)return!0;var n=t.parentNode;if(n)for(var o=n.querySelectorAll(e.mkaParams.configs.eltsSelectable),r=0;r<o.length;r++)if(o.item(r)===t)return!0;return!!(t.querySelectorAll&&t.querySelectorAll(e.mkaParams.configs.eltsSelectable).length>0)};if("undefined"!=typeof MutationObserver){new MutationObserver(function(n){var o=!1;n.forEach(function(e){if(!o){if(e.addedNodes)for(var n=0;n<e.addedNodes.length;n++)o=t(e.addedNodes.item(n));if(e.removedNodes)for(var r=0;r<e.removedNodes.length;r++)o=t(e.removedNodes.item(r))}}),o&&O(e)}).observe(e,{childList:!0,subtree:!0})}else e.addEventListener("DOMNodeRemoved",function(n){t(n.target)&&setTimeout(function(){O(e)},0)}),e.addEventListener("DOMNodeInserted",function(n){t(n.target)&&setTimeout(function(){O(e)},0)})},I=function(){var e=!1;return function(t){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0)}(navigator.userAgent||navigator.vendor||window.opera),e};HTMLElement.prototype.mkaInit=function(e){var t=this;t.style.userSelect="none",t.style["-moz-user-select"]="none",t.style["-webkit-user-select"]="none",t.style["-ms-user-select"]="none";var n=S(e);n.isMobileDevice=I();var o=[].slice.call(t.querySelectorAll(n.eltsSelectable));t.mkaParams={configs:n,selection:[]},B(t,o),L(t),T(t),C(t),D(t)},HTMLElement.prototype.mkaRefresh=function(){var e=this;if(!e.mkaParams||!e.mkaParams.configs)return console.log("No MKA found on this element, call mkaInit first"),!1;O(e)},HTMLElement.prototype.mkaReset=function(){E(this,[])};var N=function(e,t){for(var n=e[t];e.offsetParent&&e.offsetParent!==document.body;)e=e.offsetParent,n+=e[t];return n};HTMLElement.prototype.offsetBodyLeft=function(){return N(this,"offsetLeft")},HTMLElement.prototype.offsetBodyTop=function(){return N(this,"offsetTop")},HTMLElement.prototype.offsetBodyRight=function(){return N(this,"offsetRight")},HTMLElement.prototype.offsetBodyBottom=function(){return N(this,"offsetBottom")};var _=function(e,t){for(var n=0;void 0!==e[t];)n+=e[t],e=e.parentNode;return n};HTMLElement.prototype.scrollTopTotal=function(){return _(this,"scrollTop")},HTMLElement.prototype.scrollLeftTotal=function(){return _(this,"scrollLeft")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=(t.init=function(e,t){t.setProperty("dbClick.lastTouchDate",null),e.isMobileDevice&&o(e,t)},t.mkaEvents={ondblclick:function(e,t,n){return r(e,t,n)}},function(e,t){t.getContainer().addEventListener("touchstart",function(n){var o=new Date,s=t.getProperty("dbClick.lastTouchDate");s&&o-s<e.dbClickDelay&&1===n.touches.length?(n.preventDefault(),r(n,t,e),t.setProperty("dbClick.lastTouchDate",null)):t.setProperty("dbClick.lastTouchDate",o)})}),r=function(e,t,n){var o=t.getSelectableElement(e.target);return!(!o||"function"!=typeof n.dbClick)&&(t.updateSelection([o]),n.dbClick(o),!0)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=(t.init=function(e,t){i(e,t),e.isMobileDevice&&(t.setProperty("rightClick.startContextMenu",!1),l(e,t))},t.windowEvents={onkeydown:function(e){var t=e.which;return!(37!=t&&38!=t&&39!=t&&40!=t||!o())&&(e.preventDefault(),!0)},onclick:function(e){return 1===e.which&&r()}},t.documentEvents={onclick:function(e){return 1===e.which&&r()}},function(){return!!document.getElementById("mkarcmenu")&&"none"!==document.getElementById("mkarcmenu").style.display}),r=function(){var e=document.getElementById("mkarcmenu");return!(!e||"none"===e.style.display)&&(e.style.display="none",!0)},s=function(){var e=document.getElementById("mkarcmenu");return e||(e=document.createElement("div"),e.setAttribute("id","mkarcmenu"),e.style.position="fixed",e.style.zIndex="20000",document.body.appendChild(e)),e},a=function(e,t){e.style.opacity="0",e.style.display="block";var n=e.scrollHeight,o=e.scrollWidth,r=t.pageX-document.body.scrollLeftTotal(),s=t.pageY-document.body.scrollTopTotal(),a=r+o>window.innerWidth,i=s+n>window.innerHeight;e.style.left=r-(a?o:0)+"px",e.style.right="auto",e.style.top=s-(i?n:0)+"px",e.style.bottom="auto",e.style.opacity="1"},i=function(e,t){t.getContainer().addEventListener("contextmenu",function(n){if(n.preventDefault(),!t.getProperty("rightClick.startContextMenu")&&e.isMobileDevice)return!1;r();var o=t.getSelectableElement(n.target);if(null!==o){if(!t.elementIsSelected(o)){if(e.isMobileDevice)return!1;t.updateSelection([o])}}else t.updateSelection([]);var i=t.getSelection(),l=s(),c=e.rightClick(i);c instanceof HTMLElement?(l.innerHTML="",l.appendChild(c)):l.innerHTML=c,a(l,n)})},l=function(e,t){t.getContainer().addEventListener("touchstart",function(e){t.setProperty("rightClick.startContextMenu",t.elementIsSelected(e.target)),t.elementIsSelected(e.target)||r()}),t.getContainer().addEventListener("touchend",function(){t.setProperty("rightClick.startContextMenu",!0)})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=t.init=function(e,t){(t.setProperty("isDragging",!1),t.setProperty("draggableTarget",!1),t.getSelectablesElements().forEach(function(n){n.dragBinded||(n.dragBinded=!0,r(n,t,e))}),e.droppableElements)&&[].slice.call(document.querySelectorAll(e.droppableElements)).forEach(function(n){n.dropBinded||(n.dropBinded=!0,s(n,t,e))})},r=(t.refresh=function(e,t,n){o(t,n)},t.onSelectionUpdate=function(e){e.selectables.forEach(function(e){e.draggable=!1}),e.selection.forEach(function(e){e.draggable=!0})},t.mkaEvents={onmousedown:function(e,t){return t.setProperty("draggableTarget",e.target&&t.elementIsSelected(e.target)),!1}},t.documentEvents={onmousemove:function(e,t){var n=t.getProperty("draggableTarget");return t.setProperty("isDragging",n),n}},t.windowEvents={onmousedown:function(e,t){return!e.ctrlKey&&!e.metaKey&&t.getProperty("draggableTarget")},onmouseup:function(e,t){return t.setProperty("isDragging",!1),t.setProperty("draggableTarget",!1),!1}},function(e,t,n){e.addEventListener("dragstart",function(e){var n=t.getSelection();e.dataTransfer.setData("text/plain",""),n.forEach(function(e){return e.classList.add("on-drag")})}),e.addEventListener("dragend",function(e){t.getSelection().forEach(function(e){return e.classList.remove("on-drag")})})}),s=function(e,t,n){e.addEventListener("dragover",function(e){this.classList.add("zone-hover"),e.preventDefault()}),e.addEventListener("dragleave",function(){this.classList.remove("zone-hover")}),e.addEventListener("drop",function(o){var r=t.getSelection();"function"==typeof n.dragNdrop&&n.dragNdrop(r,e)})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=document.createElement("style");o.setAttribute("type","text/css"),o.innerHTML=".lasso-container{position:relative;}",document.head.insertBefore(o,document.head.firstChild);var r=(t.init=function(e,t){t.setProperty("focusedElementIndex",null),t.setProperty("selecting",[]),e.isMobileDevice&&(t.setProperty("select.startLongPress",null),r(e,t));var n="selection-square-"+Math.floor(1e5*Math.random()),o={downX:null,downY:null,upX:null,upY:null,get:function(){var t=document.getElementById(n);return t||(t=document.createElement("div"),t.id=n,t.style.position="absolute",t.style.background=e.lassoBackground,t.style.border=e.lassoBorder,t.style.opacity=e.lassoOpacity,t.style.display="none"),t},refresh:function(){var e=o.get();e.style.display="block",e.style.top=o.y1+"px",e.style.left=o.x1+"px",e.style.width=o.x2-o.x1+"px",e.style.height=o.y2-o.y1+"px"},remove:function(){var e=o.get();e&&e.parentNode&&e.parentNode.removeChild(e)},isVisble:function(){return"block"===o.get().style.display},isCrossingElt:function(e){return f(e,o.x1,o.y1,o.x2,o.y2,t)}};t.setProperty("square",o)},t.mkaEvents={onmousedown:function(e,t,n){if(1===e.which&&n.multipleSelection){if(e.shiftKey){var o=t.getSelectablesElements(),r=t.getSelection(),s=[],a=t.getSelectableElement(e.target);if(a){var i=t.getProperty("focusedElementIndex")||o.indexOf(r[0]);if(t.setProperty("focusedElementIndex",i),r.length>0){var l=o.indexOf(a),u=Math.min(i,l),f=Math.max(i,l);(e.ctrlKey||e.metaKey)&&r.forEach(function(e){var t=o.indexOf(e);t<u&&(u=t),t>f&&(f=t)});for(var d=u;d<=f;d++)s.push(o[d])}else s.push(a);t.updateSelection(s)}}else{t.setProperty("focusedElementIndex",null);var m=t.getProperty("square"),p=t.getScrollableContainer(e.target)||t.getContainer();p.classList.contains("lasso-container")||p.classList.add("lasso-container");var g=e.pageX-(p.offsetBodyLeft()-p.scrollLeftTotal()+document.body.scrollLeftTotal()),y=e.pageY-(p.offsetBodyTop()-p.scrollTopTotal()+document.body.scrollTopTotal());m.downX=+g,m.downY=+y,m.upX=+g,m.upY=+y,p.appendChild(m.get()),t.setProperty("square",m),t.setProperty("canStartLasso",!0),c(m)}return!0}return!1},ondblclick:function(e,t,n){return a(t,n),!1}},t.documentEvents={onmousemove:function(e,t,n){if(t.getProperty("canStartLasso")){var o=n.lasso&&1===e.which;if(t.setProperty("isInLasso",o),o)return e.ctrlKey||e.metaKey||t.getProperty("square").isVisble()||(t.updateSelection([]),t.setProperty("focusedElementIndex",null)),s(e,t,n),!0;a(t,n)}return!1}},t.windowEvents={onmousedown:function(e,t,n){if(l(t,n),1===e.which&&!e.shiftKey){var o=t.getSelectableElement(e.target);if(o)if(n.multipleSelection){var r=t.getSelection(),s=r.indexOf(o),a=[o];(e.ctrlKey||e.metaKey||n.isMobileDevice&&-1!==s)&&(a=r,-1!==s?a.splice(s,1):a.push(o));var i=[];a.forEach(function(e){i.push(e),e.classList.add(n.eltSelectingClass)}),t.setProperty("selecting",i)}else t.updateSelection([o])}return!1},onmouseup:function(e,t,n){return 1===e.which&&(i(t,n),a(t,n)),!1}},function(e,t){e.multipleSelection&&(t.getContainer().addEventListener("touchstart",function(n){var o=new Date;t.setProperty("select.startLongPress",o),setTimeout(function(){if(t.getProperty("select.startLongPress")===o){var e=t.getSelection(),r=t.getSelectableElement(n.target);if(r){-1===e.indexOf(r)&&e.push(r),t.updateSelection(e)}}},e.longPressDelay)}),t.getContainer().addEventListener("touchend",function(){t.setProperty("select.startLongPress",null)}),t.getContainer().addEventListener("touchmove",function(){t.setProperty("select.startLongPress",null)}))}),s=function(e,t,n){var o=t.getProperty("square"),r=t.getScrollableContainer(e.target)||t.getContainer();r.classList.contains("lasso-container")||r.classList.add("lasso-container");var s=e.pageX-(r.offsetBodyLeft()-r.scrollLeftTotal()+document.body.scrollLeftTotal()),a=e.pageY-(r.offsetBodyTop()-r.scrollTopTotal()+document.body.scrollTopTotal());o.upX=+s,o.upY=+a,t.setProperty("square",o),c(o),u(e.ctrlKey||e.metaKey,o,t,n),o.refresh()},a=function(e,t){e.getProperty("square").remove(),e.setProperty("canStartLasso",!1),e.getProperty("isInLasso")&&(e.setProperty("isInLasso",!1),i(e,t))},i=function(e,t){e.getProperty("selecting")&&(e.updateSelection(e.getProperty("selecting")),l(e,t))},l=function(e,t){e.getProperty("selecting")&&(e.getProperty("selecting").forEach(function(e){e.classList.remove(t.eltSelectingClass)}),e.setProperty("selecting"))},c=function(e){e.x1=e.downX,e.x2=e.upX,e.y1=e.downY,e.y2=e.upY,e.downX>e.upX&&(e.x1=e.upX,e.x2=e.downX),e.downY>e.upY&&(e.y1=e.upY,e.y2=e.downY)},u=function(e,t,n,o){var r=n.getSelectablesElements(),s=e?n.getSelection():[];r.forEach(function(n){n.classList.remove(o.eltSelectingClass),!t.isCrossingElt(n)||e&&-1!==s.indexOf(n)||(s.push(n),n.classList.add(o.eltSelectingClass))}),n.setProperty("selecting",s)},f=function(e,t,n,o,r,s){var a=e.getBoundingClientRect(),i=s.getScrollableContainer(e)||s.getContainer();i.classList.contains("lasso-container")||i.classList.add("lasso-container");var l={x1:e.offsetBodyLeft()-i.offsetBodyLeft(),x2:e.offsetBodyLeft()+a.width-i.offsetBodyLeft(),y1:e.offsetBodyTop()-i.offsetBodyTop(),y2:e.offsetBodyTop()+a.height-i.offsetBodyTop()};return l.x2>t&&o>l.x1&&l.y2>n&&r>l.y1}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.init=function(e,t){t.setProperty("copyElts",[])},t.windowEvents={onkeyup:function(e,t,n){"67"==e.which&&(e.ctrlKey||e.metaKey)?t.setProperty("copyElts",t.getSelection()):"86"==e.which&&e.ctrlKey&&n.pasteFunction(t.getProperty("copyElts"))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.onSelectionUpdate=function(e){e.selection&&e.configs&&document.getElementById(e.configs.count)&&(document.getElementById(e.configs.count).innerHTML=e.selection.length)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=(t.init=function(e,t){t.setProperty("arrows.currentFocus",null),t.setProperty("arrows.isContainerFocused",!1)},t.onSelectionUpdate=function(e){var t=e.selection,n=e.parentFunctions;t&&n&&(t.length>0?(n.setProperty("arrows.lastSelected",t[t.length-1]),1===t.length?n.setProperty("arrows.currentFocus",t[0]):"arrows.shift"!==e.actionId&&n.setProperty("arrows.currentFocus",null)):(n.setProperty("arrows.lastSelected",null),n.setProperty("arrows.currentFocus",null)))},t.windowEvents={onmousedown:function(e,t){return t.setProperty("arrows.isContainerFocused",!!t.getSelectableElement(e.target)),!1},onkeydown:function(e,t,n){if(t.getProperty("arrows.isContainerFocused")){var r=e.which;if(37==r||38==r||39==r||40==r){var s=t.getProperty("arrows.lastSelected");if(s){e.preventDefault();var a=function e(n){var o=t.getScrollableContainer(n);if(!o)return!1;if(o===document.body){var r=n.offsetBodyTop()-o.offsetBodyTop()+(n.offsetHeight-window.innerHeight)/2,s=n.offsetBodyLeft()-o.offsetBodyLeft()+(n.offsetWidth-window.innerWidth)/2;window.scrollTo(s,r)}else{var a=n.offsetBodyTop()-o.offsetBodyTop()+(n.offsetHeight-o.offsetHeight)/2,i=n.offsetBodyLeft()-o.offsetBodyLeft()+(n.offsetWidth-o.offsetWidth)/2;o.scrollTop=a,o.scrollLeft=i}e(o)};a(s);var i=o(s,r,t);if(i){var l=[];if(e.shiftKey&&t.getProperty("arrows.currentFocus")&&n.multipleSelection){l=t.getSelection();var c=l.indexOf(i);if(37==r||39==r)-1===c?l.push(i):l.splice(l.length-1,1);else{for(var u=[],f=s;f&&f!==i;)(f=o(f,38==r?37:39,t))&&u.push(f);-1===c?l=l.concat(u):l.splice(c+1)}t.updateSelection(l,"arrows.shift")}else l=[i],t.updateSelection(l);return a(i),!0}}else{var d=t.getSelectablesElements()[0];d&&t.updateSelection([d])}}}return!1}},function(e,t,n){var o=n.getSelectablesElements(),r=o.indexOf(e);if(-1===r)return null;if(37===t)return o[r-1]?o[r-1]:null;if(39===t)return o[r+1]?o[r+1]:null;var s=e.getBoundingClientRect(),a=e.offsetBodyLeft()+s.width/2-e.scrollLeftTotal(),i=e.offsetBodyTop()+(40===t?s.height:0),l=40===t?10:-10;i=i+l-e.scrollTopTotal();return function e(){var t=document.elementFromPoint(a,i);if(!t)return null;var o=n.getSelectableElement(t);return o||(n.isMkaContainerFocused(t)?(i+=l,e()):null)}()})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.windowEvents={onkeyup:function(e,t,n){var o=t.getSelection();return"46"==e.which&&o.length>0&&"function"==typeof n.deleteShortcut&&(n.deleteShortcut(o),!0)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.init=function(e,t){t.setProperty("isMkaContainerFocused",!1)},t.windowEvents={onkeydown:function(e,t){if(e.ctrlKey||e.metaKey){var n=e.which;if((65===n||97===n)&&t.getProperty("isMkaContainerFocused")){var o=t.getSelectablesElements();return t.updateSelection(o),e.preventDefault(),!0}}return!1},onmousedown:function(e,t){return t.setProperty("isMkaContainerFocused",t.isMkaContainerFocused(e.target)),!1}}}])}); //# sourceMappingURL=mka.min.js.map