{"version":3,"sources":["scripts/vendor-f1df0ce610.js"],"names":["MutationObserver","Util","WeakMap","getComputedStyle","getComputedStyleRX","bind","fn","me","apply","arguments","indexOf","item","i","l","this","length","prototype","extend","custom","defaults","key","value","isMobile","agent","test","createEvent","event","bubble","cancel","detail","customEvent","document","initCustomEvent","createEventObject","eventType","eventName","emitEvent","elem","dispatchEvent","addEvent","addEventListener","attachEvent","removeEvent","removeEventListener","detachEvent","innerHeight","window","documentElement","clientHeight","MozWeakMap","keys","values","get","j","len","ref","set","push","WebkitMutationObserver","MozMutationObserver","console","warn","notSupported","observe","el","pseudo","getPropertyValue","prop","replace","_","_char","toUpperCase","currentStyle","WOW","options","scrollCallback","scrollHandler","resetAnimation","start","scrolled","config","util","animationNameCache","wowEvent","boxClass","animateClass","offset","mobile","live","callback","init","element","readyState","finished","box","stopped","boxes","results","querySelectorAll","call","all","disabled","resetStyle","applyStyle","interval","setInterval","_this","records","k","len1","node","record","len2","ref1","results1","addedNodes","doSync","body","childList","subtree","stop","clearInterval","sync","nodeType","parentNode","show","className","hidden","delay","duration","iteration","getAttribute","animate","customStyle","requestAnimationFrame","style","visibility","target","type","toLowerCase","srcElement","trim","cacheAnimationName","vendorSet","animationDuration","animationDelay","animationIterationCount","animationName","cachedAnimationName","vendors","properties","name","vendor","charAt","substr","vendorCSS","property","result","getPropertyCSSValue","cssText","_error","isVisible","offsetTop","top","offsetParent","bottom","viewBottom","viewTop","pageYOffset","Math","min","_util","navigator","userAgent","root","factory","define","amd","$","exports","require","jQuery","Zepto","global","getAnimationDuration","$elem","IS_ANIMATION","css","max","num","iterationCount","split","Number","NEGATIVE_INFINITY","parseFloat","parseInt","getScrollbarWidth","height","widthNoScroll","widthWithScroll","outer","createElement","inner","width","appendChild","offsetWidth","overflow","removeChild","lockScreen","paddingRight","$body","$html","lockedClass","namespacify","hasClass","addClass","unlockScreen","removeClass","setState","instance","state","isSilent","reason","newState","allStates","STATES","CLOSING","OPENING","CLOSED","OPENED","join","$bg","$overlay","$wrapper","$modal","trigger","syncWithAnimation","doBeforeAnimation","doAfterAnimation","runningAnimationsCount","handleAnimationStart","e","handleAnimationEnd","each","index","elemName","off","ANIMATIONSTART_EVENTS","ANIMATIONEND_EVENTS","on","halt","settings","modifier","hide","parseOptions","str","arr","val","obj","String","isNaN","NAMESPACE","handleHashChangeEvent","id","location","hash","PLUGIN_NAME","RegExp","err","lookup","data","hashTracking","open","current","close","Remodal","remodal","DEFAULTS","append","attr","preventDefault","STATE_CHANGE_REASONS","CANCELLATION","closeOnCancel","CONFIRMATION","closeOnConfirm","$target","closeOnOutsideClick","scrollTop","REMODAL_GLOBALS","map","closeOnEscape","undefined","WebkitAnimationName","MozAnimationName","msAnimationName","OAnimationName","focus","getState","destroy","instanceCount","remove","grep","opts","ready","currentTarget","find","container","$container","keyCode","f","module","g","self","Clipboard","t","n","r","s","o","u","a","Error","code","1","closest","selector","DOCUMENT_NODE_TYPE","matches","Element","proto","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","2","delegate","useCapture","listenerFn","listener","delegateTarget","./closest","3","HTMLElement","nodeList","Object","toString","string","4","listen","is","TypeError","listenNode","listenNodeList","listenSelector","Array","forEach","./is","5","select","selectedText","nodeName","isReadOnly","hasAttribute","setAttribute","setSelectionRange","removeAttribute","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","6","E","ctx","once","emit","slice","evtArr","evts","liveEvents","7","mod","clipboardAction","_select","_interopRequireDefault","__esModule","default","_classCallCheck","Constructor","_select2","_typeof","Symbol","iterator","constructor","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","ClipboardAction","resolveOptions","initSelection","action","emitter","text","selectFake","selectTarget","isRTL","removeFake","fakeHandlerCallback","fakeHandler","fakeElem","fontSize","border","padding","margin","position","yPosition","copyText","succeeded","execCommand","handleResult","clearSelection","_action","_target","8","tinyEmitter","goodListener","clipboard","_clipboardAction","_tinyEmitter","_goodListener","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","create","setPrototypeOf","__proto__","getAttributeValue","suffix","attribute","_clipboardAction2","_tinyEmitter2","_goodListener2","_Emitter","getPrototypeOf","listenClick","defaultAction","defaultTarget","defaultText","_this2","onClick","querySelector","actions","support","queryCommandSupported","./clipboard-action","good-listener","tiny-emitter"],"mappings":"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","file":"scripts/vendor-f1df0ce610.js","sourcesContent":["(function() {\n var MutationObserver, Util, WeakMap, getComputedStyle, getComputedStyleRX,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n Util = (function() {\n function Util() {}\n\n Util.prototype.extend = function(custom, defaults) {\n var key, value;\n for (key in defaults) {\n value = defaults[key];\n if (custom[key] == null) {\n custom[key] = value;\n }\n }\n return custom;\n };\n\n Util.prototype.isMobile = function(agent) {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(agent);\n };\n\n Util.prototype.createEvent = function(event, bubble, cancel, detail) {\n var customEvent;\n if (bubble == null) {\n bubble = false;\n }\n if (cancel == null) {\n cancel = false;\n }\n if (detail == null) {\n detail = null;\n }\n if (document.createEvent != null) {\n customEvent = document.createEvent('CustomEvent');\n customEvent.initCustomEvent(event, bubble, cancel, detail);\n } else if (document.createEventObject != null) {\n customEvent = document.createEventObject();\n customEvent.eventType = event;\n } else {\n customEvent.eventName = event;\n }\n return customEvent;\n };\n\n Util.prototype.emitEvent = function(elem, event) {\n if (elem.dispatchEvent != null) {\n return elem.dispatchEvent(event);\n } else if (event in (elem != null)) {\n return elem[event]();\n } else if ((\"on\" + event) in (elem != null)) {\n return elem[\"on\" + event]();\n }\n };\n\n Util.prototype.addEvent = function(elem, event, fn) {\n if (elem.addEventListener != null) {\n return elem.addEventListener(event, fn, false);\n } else if (elem.attachEvent != null) {\n return elem.attachEvent(\"on\" + event, fn);\n } else {\n return elem[event] = fn;\n }\n };\n\n Util.prototype.removeEvent = function(elem, event, fn) {\n if (elem.removeEventListener != null) {\n return elem.removeEventListener(event, fn, false);\n } else if (elem.detachEvent != null) {\n return elem.detachEvent(\"on\" + event, fn);\n } else {\n return delete elem[event];\n }\n };\n\n Util.prototype.innerHeight = function() {\n if ('innerHeight' in window) {\n return window.innerHeight;\n } else {\n return document.documentElement.clientHeight;\n }\n };\n\n return Util;\n\n })();\n\n WeakMap = this.WeakMap || this.MozWeakMap || (WeakMap = (function() {\n function WeakMap() {\n this.keys = [];\n this.values = [];\n }\n\n WeakMap.prototype.get = function(key) {\n var i, item, j, len, ref;\n ref = this.keys;\n for (i = j = 0, len = ref.length; j < len; i = ++j) {\n item = ref[i];\n if (item === key) {\n return this.values[i];\n }\n }\n };\n\n WeakMap.prototype.set = function(key, value) {\n var i, item, j, len, ref;\n ref = this.keys;\n for (i = j = 0, len = ref.length; j < len; i = ++j) {\n item = ref[i];\n if (item === key) {\n this.values[i] = value;\n return;\n }\n }\n this.keys.push(key);\n return this.values.push(value);\n };\n\n return WeakMap;\n\n })());\n\n MutationObserver = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (MutationObserver = (function() {\n function MutationObserver() {\n if (typeof console !== \"undefined\" && console !== null) {\n console.warn('MutationObserver is not supported by your browser.');\n }\n if (typeof console !== \"undefined\" && console !== null) {\n console.warn('WOW.js cannot detect dom mutations, please call .sync() after loading new content.');\n }\n }\n\n MutationObserver.notSupported = true;\n\n MutationObserver.prototype.observe = function() {};\n\n return MutationObserver;\n\n })());\n\n getComputedStyle = this.getComputedStyle || function(el, pseudo) {\n this.getPropertyValue = function(prop) {\n var ref;\n if (prop === 'float') {\n prop = 'styleFloat';\n }\n if (getComputedStyleRX.test(prop)) {\n prop.replace(getComputedStyleRX, function(_, _char) {\n return _char.toUpperCase();\n });\n }\n return ((ref = el.currentStyle) != null ? ref[prop] : void 0) || null;\n };\n return this;\n };\n\n getComputedStyleRX = /(\\-([a-z]){1})/g;\n\n this.WOW = (function() {\n WOW.prototype.defaults = {\n boxClass: 'wow',\n animateClass: 'animated',\n offset: 0,\n mobile: true,\n live: true,\n callback: null\n };\n\n function WOW(options) {\n if (options == null) {\n options = {};\n }\n this.scrollCallback = bind(this.scrollCallback, this);\n this.scrollHandler = bind(this.scrollHandler, this);\n this.resetAnimation = bind(this.resetAnimation, this);\n this.start = bind(this.start, this);\n this.scrolled = true;\n this.config = this.util().extend(options, this.defaults);\n this.animationNameCache = new WeakMap();\n this.wowEvent = this.util().createEvent(this.config.boxClass);\n }\n\n WOW.prototype.init = function() {\n var ref;\n this.element = window.document.documentElement;\n if ((ref = document.readyState) === \"interactive\" || ref === \"complete\") {\n this.start();\n } else {\n this.util().addEvent(document, 'DOMContentLoaded', this.start);\n }\n return this.finished = [];\n };\n\n WOW.prototype.start = function() {\n var box, j, len, ref;\n this.stopped = false;\n this.boxes = (function() {\n var j, len, ref, results;\n ref = this.element.querySelectorAll(\".\" + this.config.boxClass);\n results = [];\n for (j = 0, len = ref.length; j < len; j++) {\n box = ref[j];\n results.push(box);\n }\n return results;\n }).call(this);\n this.all = (function() {\n var j, len, ref, results;\n ref = this.boxes;\n results = [];\n for (j = 0, len = ref.length; j < len; j++) {\n box = ref[j];\n results.push(box);\n }\n return results;\n }).call(this);\n if (this.boxes.length) {\n if (this.disabled()) {\n this.resetStyle();\n } else {\n ref = this.boxes;\n for (j = 0, len = ref.length; j < len; j++) {\n box = ref[j];\n this.applyStyle(box, true);\n }\n }\n }\n if (!this.disabled()) {\n this.util().addEvent(window, 'scroll', this.scrollHandler);\n this.util().addEvent(window, 'resize', this.scrollHandler);\n this.interval = setInterval(this.scrollCallback, 50);\n }\n if (this.config.live) {\n return new MutationObserver((function(_this) {\n return function(records) {\n var k, len1, node, record, results;\n results = [];\n for (k = 0, len1 = records.length; k < len1; k++) {\n record = records[k];\n results.push((function() {\n var l, len2, ref1, results1;\n ref1 = record.addedNodes || [];\n results1 = [];\n for (l = 0, len2 = ref1.length; l < len2; l++) {\n node = ref1[l];\n results1.push(this.doSync(node));\n }\n return results1;\n }).call(_this));\n }\n return results;\n };\n })(this)).observe(document.body, {\n childList: true,\n subtree: true\n });\n }\n };\n\n WOW.prototype.stop = function() {\n this.stopped = true;\n this.util().removeEvent(window, 'scroll', this.scrollHandler);\n this.util().removeEvent(window, 'resize', this.scrollHandler);\n if (this.interval != null) {\n return clearInterval(this.interval);\n }\n };\n\n WOW.prototype.sync = function(element) {\n if (MutationObserver.notSupported) {\n return this.doSync(this.element);\n }\n };\n\n WOW.prototype.doSync = function(element) {\n var box, j, len, ref, results;\n if (element == null) {\n element = this.element;\n }\n if (element.nodeType !== 1) {\n return;\n }\n element = element.parentNode || element;\n ref = element.querySelectorAll(\".\" + this.config.boxClass);\n results = [];\n for (j = 0, len = ref.length; j < len; j++) {\n box = ref[j];\n if (indexOf.call(this.all, box) < 0) {\n this.boxes.push(box);\n this.all.push(box);\n if (this.stopped || this.disabled()) {\n this.resetStyle();\n } else {\n this.applyStyle(box, true);\n }\n results.push(this.scrolled = true);\n } else {\n results.push(void 0);\n }\n }\n return results;\n };\n\n WOW.prototype.show = function(box) {\n this.applyStyle(box);\n box.className = box.className + \" \" + this.config.animateClass;\n if (this.config.callback != null) {\n this.config.callback(box);\n }\n this.util().emitEvent(box, this.wowEvent);\n this.util().addEvent(box, 'animationend', this.resetAnimation);\n this.util().addEvent(box, 'oanimationend', this.resetAnimation);\n this.util().addEvent(box, 'webkitAnimationEnd', this.resetAnimation);\n this.util().addEvent(box, 'MSAnimationEnd', this.resetAnimation);\n return box;\n };\n\n WOW.prototype.applyStyle = function(box, hidden) {\n var delay, duration, iteration;\n duration = box.getAttribute('data-wow-duration');\n delay = box.getAttribute('data-wow-delay');\n iteration = box.getAttribute('data-wow-iteration');\n return this.animate((function(_this) {\n return function() {\n return _this.customStyle(box, hidden, duration, delay, iteration);\n };\n })(this));\n };\n\n WOW.prototype.animate = (function() {\n if ('requestAnimationFrame' in window) {\n return function(callback) {\n return window.requestAnimationFrame(callback);\n };\n } else {\n return function(callback) {\n return callback();\n };\n }\n })();\n\n WOW.prototype.resetStyle = function() {\n var box, j, len, ref, results;\n ref = this.boxes;\n results = [];\n for (j = 0, len = ref.length; j < len; j++) {\n box = ref[j];\n results.push(box.style.visibility = 'visible');\n }\n return results;\n };\n\n WOW.prototype.resetAnimation = function(event) {\n var target;\n if (event.type.toLowerCase().indexOf('animationend') >= 0) {\n target = event.target || event.srcElement;\n return target.className = target.className.replace(this.config.animateClass, '').trim();\n }\n };\n\n WOW.prototype.customStyle = function(box, hidden, duration, delay, iteration) {\n if (hidden) {\n this.cacheAnimationName(box);\n }\n box.style.visibility = hidden ? 'hidden' : 'visible';\n if (duration) {\n this.vendorSet(box.style, {\n animationDuration: duration\n });\n }\n if (delay) {\n this.vendorSet(box.style, {\n animationDelay: delay\n });\n }\n if (iteration) {\n this.vendorSet(box.style, {\n animationIterationCount: iteration\n });\n }\n this.vendorSet(box.style, {\n animationName: hidden ? 'none' : this.cachedAnimationName(box)\n });\n return box;\n };\n\n WOW.prototype.vendors = [\"moz\", \"webkit\"];\n\n WOW.prototype.vendorSet = function(elem, properties) {\n var name, results, value, vendor;\n results = [];\n for (name in properties) {\n value = properties[name];\n elem[\"\" + name] = value;\n results.push((function() {\n var j, len, ref, results1;\n ref = this.vendors;\n results1 = [];\n for (j = 0, len = ref.length; j < len; j++) {\n vendor = ref[j];\n results1.push(elem[\"\" + vendor + (name.charAt(0).toUpperCase()) + (name.substr(1))] = value);\n }\n return results1;\n }).call(this));\n }\n return results;\n };\n\n WOW.prototype.vendorCSS = function(elem, property) {\n var j, len, ref, result, style, vendor;\n style = getComputedStyle(elem);\n result = style.getPropertyCSSValue(property);\n ref = this.vendors;\n for (j = 0, len = ref.length; j < len; j++) {\n vendor = ref[j];\n result = result || style.getPropertyCSSValue(\"-\" + vendor + \"-\" + property);\n }\n return result;\n };\n\n WOW.prototype.animationName = function(box) {\n var animationName;\n try {\n animationName = this.vendorCSS(box, 'animation-name').cssText;\n } catch (_error) {\n animationName = getComputedStyle(box).getPropertyValue('animation-name');\n }\n if (animationName === 'none') {\n return '';\n } else {\n return animationName;\n }\n };\n\n WOW.prototype.cacheAnimationName = function(box) {\n return this.animationNameCache.set(box, this.animationName(box));\n };\n\n WOW.prototype.cachedAnimationName = function(box) {\n return this.animationNameCache.get(box);\n };\n\n WOW.prototype.scrollHandler = function() {\n return this.scrolled = true;\n };\n\n WOW.prototype.scrollCallback = function() {\n var box;\n if (this.scrolled) {\n this.scrolled = false;\n this.boxes = (function() {\n var j, len, ref, results;\n ref = this.boxes;\n results = [];\n for (j = 0, len = ref.length; j < len; j++) {\n box = ref[j];\n if (!(box)) {\n continue;\n }\n if (this.isVisible(box)) {\n this.show(box);\n continue;\n }\n results.push(box);\n }\n return results;\n }).call(this);\n if (!(this.boxes.length || this.config.live)) {\n return this.stop();\n }\n }\n };\n\n WOW.prototype.offsetTop = function(element) {\n var top;\n while (element.offsetTop === void 0) {\n element = element.parentNode;\n }\n top = element.offsetTop;\n while (element = element.offsetParent) {\n top += element.offsetTop;\n }\n return top;\n };\n\n WOW.prototype.isVisible = function(box) {\n var bottom, offset, top, viewBottom, viewTop;\n offset = box.getAttribute('data-wow-offset') || this.config.offset;\n viewTop = window.pageYOffset;\n viewBottom = viewTop + Math.min(this.element.clientHeight, this.util().innerHeight()) - offset;\n top = this.offsetTop(box);\n bottom = top + box.clientHeight;\n return top <= viewBottom && bottom >= viewTop;\n };\n\n WOW.prototype.util = function() {\n return this._util != null ? this._util : this._util = new Util();\n };\n\n WOW.prototype.disabled = function() {\n return !this.config.mobile && this.util().isMobile(navigator.userAgent);\n };\n\n return WOW;\n\n })();\n\n}).call(this);\n\n/*\n * Remodal - v1.0.3\n * Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.\n * http://vodkabears.github.io/remodal/\n *\n * Made by Ilya Makarov\n * Under MIT License\n */\n\n!(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n define(['jquery'], function($) {\n return factory(root, $);\n });\n } else if (typeof exports === 'object') {\n factory(root, require('jquery'));\n } else {\n factory(root, root.jQuery || root.Zepto);\n }\n})(this, function(global, $) {\n\n 'use strict';\n\n /**\n * Name of the plugin\n * @private\n * @const\n * @type {String}\n */\n var PLUGIN_NAME = 'remodal';\n\n /**\n * Namespace for CSS and events\n * @private\n * @const\n * @type {String}\n */\n var NAMESPACE = global.REMODAL_GLOBALS && global.REMODAL_GLOBALS.NAMESPACE || PLUGIN_NAME;\n\n /**\n * Animationstart event with vendor prefixes\n * @private\n * @const\n * @type {String}\n */\n var ANIMATIONSTART_EVENTS = $.map(\n ['animationstart', 'webkitAnimationStart', 'MSAnimationStart', 'oAnimationStart'],\n\n function(eventName) {\n return eventName + '.' + NAMESPACE;\n }\n\n ).join(' ');\n\n /**\n * Animationend event with vendor prefixes\n * @private\n * @const\n * @type {String}\n */\n var ANIMATIONEND_EVENTS = $.map(\n ['animationend', 'webkitAnimationEnd', 'MSAnimationEnd', 'oAnimationEnd'],\n\n function(eventName) {\n return eventName + '.' + NAMESPACE;\n }\n\n ).join(' ');\n\n /**\n * Default settings\n * @private\n * @const\n * @type {Object}\n */\n var DEFAULTS = $.extend({\n hashTracking: true,\n closeOnConfirm: true,\n closeOnCancel: true,\n closeOnEscape: true,\n closeOnOutsideClick: true,\n modifier: ''\n }, global.REMODAL_GLOBALS && global.REMODAL_GLOBALS.DEFAULTS);\n\n /**\n * States of the Remodal\n * @private\n * @const\n * @enum {String}\n */\n var STATES = {\n CLOSING: 'closing',\n CLOSED: 'closed',\n OPENING: 'opening',\n OPENED: 'opened'\n };\n\n /**\n * Reasons of the state change.\n * @private\n * @const\n * @enum {String}\n */\n var STATE_CHANGE_REASONS = {\n CONFIRMATION: 'confirmation',\n CANCELLATION: 'cancellation'\n };\n\n /**\n * Is animation supported?\n * @private\n * @const\n * @type {Boolean}\n */\n var IS_ANIMATION = (function() {\n var style = document.createElement('div').style;\n\n return style.animationName !== undefined ||\n style.WebkitAnimationName !== undefined ||\n style.MozAnimationName !== undefined ||\n style.msAnimationName !== undefined ||\n style.OAnimationName !== undefined;\n })();\n\n /**\n * Current modal\n * @private\n * @type {Remodal}\n */\n var current;\n\n /**\n * Scrollbar position\n * @private\n * @type {Number}\n */\n var scrollTop;\n\n /**\n * Returns an animation duration\n * @private\n * @param {jQuery} $elem\n * @returns {Number}\n */\n function getAnimationDuration($elem) {\n if (\n IS_ANIMATION &&\n $elem.css('animation-name') === 'none' &&\n $elem.css('-webkit-animation-name') === 'none' &&\n $elem.css('-moz-animation-name') === 'none' &&\n $elem.css('-o-animation-name') === 'none' &&\n $elem.css('-ms-animation-name') === 'none'\n ) {\n return 0;\n }\n\n var duration = $elem.css('animation-duration') ||\n $elem.css('-webkit-animation-duration') ||\n $elem.css('-moz-animation-duration') ||\n $elem.css('-o-animation-duration') ||\n $elem.css('-ms-animation-duration') ||\n '0s';\n\n var delay = $elem.css('animation-delay') ||\n $elem.css('-webkit-animation-delay') ||\n $elem.css('-moz-animation-delay') ||\n $elem.css('-o-animation-delay') ||\n $elem.css('-ms-animation-delay') ||\n '0s';\n\n var iterationCount = $elem.css('animation-iteration-count') ||\n $elem.css('-webkit-animation-iteration-count') ||\n $elem.css('-moz-animation-iteration-count') ||\n $elem.css('-o-animation-iteration-count') ||\n $elem.css('-ms-animation-iteration-count') ||\n '1';\n\n var max;\n var len;\n var num;\n var i;\n\n duration = duration.split(', ');\n delay = delay.split(', ');\n iterationCount = iterationCount.split(', ');\n\n // The 'duration' size is the same as the 'delay' size\n for (i = 0, len = duration.length, max = Number.NEGATIVE_INFINITY; i < len; i++) {\n num = parseFloat(duration[i]) * parseInt(iterationCount[i], 10) + parseFloat(delay[i]);\n\n if (num > max) {\n max = num;\n }\n }\n\n return num;\n }\n\n /**\n * Returns a scrollbar width\n * @private\n * @returns {Number}\n */\n function getScrollbarWidth() {\n if ($(document.body).height() <= $(window).height()) {\n return 0;\n }\n\n var outer = document.createElement('div');\n var inner = document.createElement('div');\n var widthNoScroll;\n var widthWithScroll;\n\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n document.body.appendChild(outer);\n\n widthNoScroll = outer.offsetWidth;\n\n // Force scrollbars\n outer.style.overflow = 'scroll';\n\n // Add inner div\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n widthWithScroll = inner.offsetWidth;\n\n // Remove divs\n outer.parentNode.removeChild(outer);\n\n return widthNoScroll - widthWithScroll;\n }\n\n /**\n * Locks the screen\n * @private\n */\n function lockScreen() {\n var $html = $('html');\n var lockedClass = namespacify('is-locked');\n var paddingRight;\n var $body;\n\n if (!$html.hasClass(lockedClass)) {\n $body = $(document.body);\n\n // Zepto does not support '-=', '+=' in the `css` method\n paddingRight = parseInt($body.css('padding-right'), 10) + getScrollbarWidth();\n\n $body.css('padding-right', paddingRight + 'px');\n $html.addClass(lockedClass);\n }\n }\n\n /**\n * Unlocks the screen\n * @private\n */\n function unlockScreen() {\n var $html = $('html');\n var lockedClass = namespacify('is-locked');\n var paddingRight;\n var $body;\n\n if ($html.hasClass(lockedClass)) {\n $body = $(document.body);\n\n // Zepto does not support '-=', '+=' in the `css` method\n paddingRight = parseInt($body.css('padding-right'), 10) - getScrollbarWidth();\n\n $body.css('padding-right', paddingRight + 'px');\n $html.removeClass(lockedClass);\n }\n }\n\n /**\n * Sets a state for an instance\n * @private\n * @param {Remodal} instance\n * @param {STATES} state\n * @param {Boolean} isSilent If true, Remodal does not trigger events\n * @param {String} Reason of a state change.\n */\n function setState(instance, state, isSilent, reason) {\n\n var newState = namespacify('is', state);\n var allStates = [namespacify('is', STATES.CLOSING),\n namespacify('is', STATES.OPENING),\n namespacify('is', STATES.CLOSED),\n namespacify('is', STATES.OPENED)].join(' ');\n\n instance.$bg\n .removeClass(allStates)\n .addClass(newState);\n\n instance.$overlay\n .removeClass(allStates)\n .addClass(newState);\n\n instance.$wrapper\n .removeClass(allStates)\n .addClass(newState);\n\n instance.$modal\n .removeClass(allStates)\n .addClass(newState);\n\n instance.state = state;\n !isSilent && instance.$modal.trigger({\n type: state,\n reason: reason\n }, [{ reason: reason }]);\n }\n\n /**\n * Synchronizes with the animation\n * @param {Function} doBeforeAnimation\n * @param {Function} doAfterAnimation\n * @param {Remodal} instance\n */\n function syncWithAnimation(doBeforeAnimation, doAfterAnimation, instance) {\n var runningAnimationsCount = 0;\n\n var handleAnimationStart = function(e) {\n if (e.target !== this) {\n return;\n }\n\n runningAnimationsCount++;\n };\n\n var handleAnimationEnd = function(e) {\n if (e.target !== this) {\n return;\n }\n\n if (--runningAnimationsCount === 0) {\n\n // Remove event listeners\n $.each(['$bg', '$overlay', '$wrapper', '$modal'], function(index, elemName) {\n instance[elemName].off(ANIMATIONSTART_EVENTS + ' ' + ANIMATIONEND_EVENTS);\n });\n\n doAfterAnimation();\n }\n };\n\n $.each(['$bg', '$overlay', '$wrapper', '$modal'], function(index, elemName) {\n instance[elemName]\n .on(ANIMATIONSTART_EVENTS, handleAnimationStart)\n .on(ANIMATIONEND_EVENTS, handleAnimationEnd);\n });\n\n doBeforeAnimation();\n\n // If the animation is not supported by a browser or its duration is 0\n if (\n getAnimationDuration(instance.$bg) === 0 &&\n getAnimationDuration(instance.$overlay) === 0 &&\n getAnimationDuration(instance.$wrapper) === 0 &&\n getAnimationDuration(instance.$modal) === 0\n ) {\n\n // Remove event listeners\n $.each(['$bg', '$overlay', '$wrapper', '$modal'], function(index, elemName) {\n instance[elemName].off(ANIMATIONSTART_EVENTS + ' ' + ANIMATIONEND_EVENTS);\n });\n\n doAfterAnimation();\n }\n }\n\n /**\n * Closes immediately\n * @private\n * @param {Remodal} instance\n */\n function halt(instance) {\n if (instance.state === STATES.CLOSED) {\n return;\n }\n\n $.each(['$bg', '$overlay', '$wrapper', '$modal'], function(index, elemName) {\n instance[elemName].off(ANIMATIONSTART_EVENTS + ' ' + ANIMATIONEND_EVENTS);\n });\n\n instance.$bg.removeClass(instance.settings.modifier);\n instance.$overlay.removeClass(instance.settings.modifier).hide();\n instance.$wrapper.hide();\n unlockScreen();\n setState(instance, STATES.CLOSED, true);\n }\n\n /**\n * Parses a string with options\n * @private\n * @param str\n * @returns {Object}\n */\n function parseOptions(str) {\n var obj = {};\n var arr;\n var len;\n var val;\n var i;\n\n // Remove spaces before and after delimiters\n str = str.replace(/\\s*:\\s*/g, ':').replace(/\\s*,\\s*/g, ',');\n\n // Parse a string\n arr = str.split(',');\n for (i = 0, len = arr.length; i < len; i++) {\n arr[i] = arr[i].split(':');\n val = arr[i][1];\n\n // Convert a string value if it is like a boolean\n if (typeof val === 'string' || val instanceof String) {\n val = val === 'true' || (val === 'false' ? false : val);\n }\n\n // Convert a string value if it is like a number\n if (typeof val === 'string' || val instanceof String) {\n val = !isNaN(val) ? +val : val;\n }\n\n obj[arr[i][0]] = val;\n }\n\n return obj;\n }\n\n /**\n * Generates a string separated by dashes and prefixed with NAMESPACE\n * @private\n * @param {...String}\n * @returns {String}\n */\n function namespacify() {\n var result = NAMESPACE;\n\n for (var i = 0; i < arguments.length; ++i) {\n result += '-' + arguments[i];\n }\n\n return result;\n }\n\n /**\n * Handles the hashchange event\n * @private\n * @listens hashchange\n */\n function handleHashChangeEvent() {\n var id = location.hash.replace('#', '');\n var instance;\n var $elem;\n\n if (!id) {\n\n // Check if we have currently opened modal and animation was completed\n if (current && current.state === STATES.OPENED && current.settings.hashTracking) {\n current.close();\n }\n } else {\n\n // Catch syntax error if your hash is bad\n try {\n $elem = $(\n '[data-' + PLUGIN_NAME + '-id=' +\n id.replace(new RegExp('/', 'g'), '\\\\/') + ']'\n );\n } catch (err) {}\n\n if ($elem && $elem.length) {\n instance = $[PLUGIN_NAME].lookup[$elem.data(PLUGIN_NAME)];\n\n if (instance && instance.settings.hashTracking) {\n instance.open();\n }\n }\n\n }\n }\n\n /**\n * Remodal constructor\n * @constructor\n * @param {jQuery} $modal\n * @param {Object} options\n */\n function Remodal($modal, options) {\n var $body = $(document.body);\n var remodal = this;\n\n remodal.settings = $.extend({}, DEFAULTS, options);\n remodal.index = $[PLUGIN_NAME].lookup.push(remodal) - 1;\n remodal.state = STATES.CLOSED;\n\n remodal.$overlay = $('.' + namespacify('overlay'));\n\n if (!remodal.$overlay.length) {\n remodal.$overlay = $('
').addClass(namespacify('overlay') + ' ' + namespacify('is', STATES.CLOSED)).hide();\n $body.append(remodal.$overlay);\n }\n\n remodal.$bg = $('.' + namespacify('bg')).addClass(namespacify('is', STATES.CLOSED));\n\n remodal.$modal = $modal\n .addClass(\n NAMESPACE + ' ' +\n namespacify('is-initialized') + ' ' +\n remodal.settings.modifier + ' ' +\n namespacify('is', STATES.CLOSED))\n .attr('tabindex', '-1');\n\n remodal.$wrapper = $('
')\n .addClass(\n namespacify('wrapper') + ' ' +\n remodal.settings.modifier + ' ' +\n namespacify('is', STATES.CLOSED))\n .hide()\n .append(remodal.$modal);\n $body.append(remodal.$wrapper);\n\n // Add the event listener for the close button\n remodal.$wrapper.on('click.' + NAMESPACE, '[data-' + PLUGIN_NAME + '-action=\"close\"]', function(e) {\n e.preventDefault();\n\n remodal.close();\n });\n\n // Add the event listener for the cancel button\n remodal.$wrapper.on('click.' + NAMESPACE, '[data-' + PLUGIN_NAME + '-action=\"cancel\"]', function(e) {\n e.preventDefault();\n\n remodal.$modal.trigger(STATE_CHANGE_REASONS.CANCELLATION);\n\n if (remodal.settings.closeOnCancel) {\n remodal.close(STATE_CHANGE_REASONS.CANCELLATION);\n }\n });\n\n // Add the event listener for the confirm button\n remodal.$wrapper.on('click.' + NAMESPACE, '[data-' + PLUGIN_NAME + '-action=\"confirm\"]', function(e) {\n e.preventDefault();\n\n remodal.$modal.trigger(STATE_CHANGE_REASONS.CONFIRMATION);\n\n if (remodal.settings.closeOnConfirm) {\n remodal.close(STATE_CHANGE_REASONS.CONFIRMATION);\n }\n });\n\n // Add the event listener for the overlay\n remodal.$wrapper.on('click.' + NAMESPACE, function(e) {\n var $target = $(e.target);\n\n if (!$target.hasClass(namespacify('wrapper'))) {\n return;\n }\n\n if (remodal.settings.closeOnOutsideClick) {\n remodal.close();\n }\n });\n }\n\n /**\n * Opens a modal window\n * @public\n */\n Remodal.prototype.open = function() {\n var remodal = this;\n var id;\n\n // Check if the animation was completed\n if (remodal.state === STATES.OPENING || remodal.state === STATES.CLOSING) {\n return;\n }\n\n id = remodal.$modal.attr('data-' + PLUGIN_NAME + '-id');\n\n if (id && remodal.settings.hashTracking) {\n scrollTop = $(window).scrollTop();\n location.hash = id;\n }\n\n if (current && current !== remodal) {\n halt(current);\n }\n\n current = remodal;\n lockScreen();\n remodal.$bg.addClass(remodal.settings.modifier);\n remodal.$overlay.addClass(remodal.settings.modifier).show();\n remodal.$wrapper.show().scrollTop(0);\n remodal.$modal.focus();\n\n syncWithAnimation(\n function() {\n setState(remodal, STATES.OPENING);\n },\n\n function() {\n setState(remodal, STATES.OPENED);\n },\n\n remodal);\n };\n\n /**\n * Closes a modal window\n * @public\n * @param {String} reason\n */\n Remodal.prototype.close = function(reason) {\n var remodal = this;\n\n // Check if the animation was completed\n if (remodal.state === STATES.OPENING || remodal.state === STATES.CLOSING) {\n return;\n }\n\n if (\n remodal.settings.hashTracking &&\n remodal.$modal.attr('data-' + PLUGIN_NAME + '-id') === location.hash.substr(1)\n ) {\n location.hash = '';\n $(window).scrollTop(scrollTop);\n }\n\n syncWithAnimation(\n function() {\n setState(remodal, STATES.CLOSING, false, reason);\n },\n\n function() {\n remodal.$bg.removeClass(remodal.settings.modifier);\n remodal.$overlay.removeClass(remodal.settings.modifier).hide();\n remodal.$wrapper.hide();\n unlockScreen();\n\n setState(remodal, STATES.CLOSED, false, reason);\n },\n\n remodal);\n };\n\n /**\n * Returns a current state of a modal\n * @public\n * @returns {STATES}\n */\n Remodal.prototype.getState = function() {\n return this.state;\n };\n\n /**\n * Destroys a modal\n * @public\n */\n Remodal.prototype.destroy = function() {\n var lookup = $[PLUGIN_NAME].lookup;\n var instanceCount;\n\n halt(this);\n this.$wrapper.remove();\n\n delete lookup[this.index];\n instanceCount = $.grep(lookup, function(instance) {\n return !!instance;\n }).length;\n\n if (instanceCount === 0) {\n this.$overlay.remove();\n this.$bg.removeClass(\n namespacify('is', STATES.CLOSING) + ' ' +\n namespacify('is', STATES.OPENING) + ' ' +\n namespacify('is', STATES.CLOSED) + ' ' +\n namespacify('is', STATES.OPENED));\n }\n };\n\n /**\n * Special plugin object for instances\n * @public\n * @type {Object}\n */\n $[PLUGIN_NAME] = {\n lookup: []\n };\n\n /**\n * Plugin constructor\n * @constructor\n * @param {Object} options\n * @returns {JQuery}\n */\n $.fn[PLUGIN_NAME] = function(opts) {\n var instance;\n var $elem;\n\n this.each(function(index, elem) {\n $elem = $(elem);\n\n if ($elem.data(PLUGIN_NAME) == null) {\n instance = new Remodal($elem, opts);\n $elem.data(PLUGIN_NAME, instance.index);\n\n if (\n instance.settings.hashTracking &&\n $elem.attr('data-' + PLUGIN_NAME + '-id') === location.hash.substr(1)\n ) {\n instance.open();\n }\n } else {\n instance = $[PLUGIN_NAME].lookup[$elem.data(PLUGIN_NAME)];\n }\n });\n\n return instance;\n };\n\n $(document).ready(function() {\n\n // data-remodal-target opens a modal window with the special Id\n $(document).on('click', '[data-' + PLUGIN_NAME + '-target]', function(e) {\n e.preventDefault();\n\n var elem = e.currentTarget;\n var id = elem.getAttribute('data-' + PLUGIN_NAME + '-target');\n var $target = $('[data-' + PLUGIN_NAME + '-id=' + id + ']');\n\n $[PLUGIN_NAME].lookup[$target.data(PLUGIN_NAME)].open();\n });\n\n // Auto initialization of modal windows\n // They should have the 'remodal' class attribute\n // Also you can write the `data-remodal-options` attribute to pass params into the modal\n $(document).find('.' + NAMESPACE).each(function(i, container) {\n var $container = $(container);\n var options = $container.data(PLUGIN_NAME + '-options');\n\n if (!options) {\n options = {};\n } else if (typeof options === 'string' || options instanceof String) {\n options = parseOptions(options);\n }\n\n $container[PLUGIN_NAME](options);\n });\n\n // Handles the keydown event\n $(document).on('keydown.' + NAMESPACE, function(e) {\n if (current && current.settings.closeOnEscape && current.state === STATES.OPENED && e.keyCode === 27) {\n current.close();\n }\n });\n\n // Handles the hashchange event\n $(window).on('hashchange.' + NAMESPACE, handleHashChangeEvent);\n });\n});\n\n/*!\n * clipboard.js v1.7.1\n * https://zenorocha.github.io/clipboard.js\n *\n * Licensed MIT © Zeno Rocha\n */\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.Clipboard = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n },\n get: function get() {\n return this._action;\n }\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n },\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n }();\n\n module.exports = ClipboardAction;\n});\n\n},{\"select\":5}],8:[function(require,module,exports){\n(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['module', './clipboard-action', 'tiny-emitter', 'good-listener'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);\n global.clipboard = mod.exports;\n }\n})(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) {\n 'use strict';\n\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\n var _goodListener2 = _interopRequireDefault(_goodListener);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n }, {\n key: 'defaultText',\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n }(_tinyEmitter2.default);\n\n /**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n function getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n }\n\n module.exports = Clipboard;\n});\n\n},{\"./clipboard-action\":7,\"good-listener\":4,\"tiny-emitter\":6}]},{},[8])(8)\n});"],"sourceRoot":"/source/"}