"use strict";function_classCallCheck(a,b){if(!(ainstanceofb))thrownewTypeError("Cannot call a class as a function")}var_createClass=function(){functiona(a,b){for(varc=0;c<b.length;c++){vard=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"ind&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}returnfunction(b,c,d){returnc&&a(b.prototype,c),d&&a(b,d),b}}(),Clipboard=function(){functiona(b){_classCallCheck(this,a),this._triggers=b,this.init()}return_createClass(a,[{key:"init",value:function(){vara=this;if(!(this.triggers.length>0))thrownewError("The provided selector is empty");[].forEach.call(this.triggers,function(b){returna.bind(b)})}},{key:"bind",value:function(a){varb=this;a.addEventListener("click",function(a){returnb.select(a)})}},{key:"select",value:function(a){varb=a.currentTarget.getAttribute("data-action")||"copy",c=a.currentTarget.getAttribute("data-target"),d=a.currentTarget.getAttribute("data-text");if(d)this.selectValue(b,d,a.currentTarget);else{if(!c)thrownewError('Missing "data-target" or "data-text" attribute');this.selectTarget(b,c,a.currentTarget)}a.preventDefault()}},{key:"selectValue",value:function(a,b,c){vard=document.createElement("input");d.value=b,d.style.opacity=0,d.style.zIndex=-1,document.body.appendChild(d),d.select(),this.copy(a,b,c),document.body.removeChild(d)}},{key:"selectTarget",value:function(a,b,c){vard="",e=document.getElementById(b);if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName)e.select(),d=e.value;else{varf=document.createRange(),g=window.getSelection();f.selectNode(e),g.addRange(f),d=g.toString()}this.copy(a,d,c)}},{key:"copy",value:function(a,b,c){try{vard=document.execCommand(a);if(!d)throw'Invalid "data-action" attribute';this.dispatchEvent(a,b,c),window.getSelection().removeAllRanges()}catch(e){thrownewError(e)}}},{key:"dispatchEvent",value:function(a,b,c){vard=newCustomEvent(a,{detail:b});c.dispatchEvent(d)}},{key:"triggers",get:function(){returndocument.querySelectorAll(this._triggers)},set:function(a){returnthis._triggers=a}}]),a}();