{"version":3,"sources":["clipboard.js"],"names":["root","factory","exports","module","define","amd","installedModules","this","modules","__webpack_require__","moduleId","i","l","call","m","c","value","Object","defineProperty","getter","configurable","name","enumerable","get","getDefault","d","o","object","property","prototype","hasOwnProperty","p","__WEBPACK_AMD_DEFINE_FACTORY__","global","__WEBPACK_AMD_DEFINE_ARRAY__","undefined","__WEBPACK_AMD_DEFINE_RESULT__","apply","_classCallCheck","instance","Constructor","TypeError","obj","__esModule","default","_select","_typeof","Symbol","iterator","constructor","_createClass","defineProperties","props","length","descriptor","target","key","protoProps","staticProps","ClipboardAction","options","resolveOptions","initSelection","arguments","action","emitter","text","trigger","container","selectedText","selectFake","_this","documentElement","getAttribute","removeFake","fakeHandlerCallback","document","fakeHandler","addEventListener","fakeElem","style","padding","yPosition","window","pageYOffset","scrollTop","position","setAttribute","appendChild","copyText","removeEventListener","removeChild","_select2","succeeded","err","handleResult","emit","clearSelection","focus","getSelection","set","_action","Error","nodeType","hasAttribute","_target","listen","type","callback","is","string","fn","node","listenNode","nodeList","listenNodeList","listenSelector","destroy","Array","forEach","selector","delegate","body","E","on","ctx","e","push","once","self","off","listener","_","data","slice","len","evtArr","liveEvents","evts","_clipboardAction","_tinyEmitter","_goodListener","_interopRequireDefault","_possibleConstructorReturn","ReferenceError","superClass","_inherits","subClass","create","writable","Clipboard","_Emitter","setPrototypeOf","__proto__","getAttributeValue","suffix","element","attribute","_clipboardAction2","_goodListener2","_tinyEmitter2","getPrototypeOf","listenClick","defaultAction","defaultTarget","defaultText","_this2","onClick","delegateTarget","currentTarget","querySelector","clipboardAction","isSupported","actions","support","queryCommandSupported","closest","DOCUMENT_NODE_TYPE","matches","Element","proto","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","_delegate","useCapture","listenerFn","elements","querySelectorAll","map","toString","String","nodeName","isReadOnly","selection","range","removeAllRanges","select","createRange","selectNodeContents","addRange"],"mappings":"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","file":"clipboard.min.js","sourcesContent":["/*!\r\n * clipboard.js v2.0.0\r\n * https://zenorocha.github.io/clipboard.js\r\n * \r\n * Licensed MIT © Zeno Rocha\r\n */\r\n(function webpackUniversalModuleDefinition(root, factory) {\r\n\tif(typeof exports === 'object' && typeof module === 'object')\r\n\t\tmodule.exports = factory();\r\n\telse if(typeof define === 'function' && define.amd)\r\n\t\tdefine([], factory);\r\n\telse if(typeof exports === 'object')\r\n\t\texports[\"ClipboardJS\"] = factory();\r\n\telse\r\n\t\troot[\"ClipboardJS\"] = factory();\r\n})(this, function() {\r\nreturn /******/ (function(modules) { // webpackBootstrap\r\n/******/ \t// The module cache\r\n/******/ \tvar installedModules = {};\r\n/******/\r\n/******/ \t// The require function\r\n/******/ \tfunction __webpack_require__(moduleId) {\r\n/******/\r\n/******/ \t\t// Check if module is in cache\r\n/******/ \t\tif(installedModules[moduleId]) {\r\n/******/ \t\t\treturn installedModules[moduleId].exports;\r\n/******/ \t\t}\r\n/******/ \t\t// Create a new module (and put it into the cache)\r\n/******/ \t\tvar module = installedModules[moduleId] = {\r\n/******/ \t\t\ti: moduleId,\r\n/******/ \t\t\tl: false,\r\n/******/ \t\t\texports: {}\r\n/******/ \t\t};\r\n/******/\r\n/******/ \t\t// Execute the module function\r\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\r\n/******/\r\n/******/ \t\t// Flag the module as loaded\r\n/******/ \t\tmodule.l = true;\r\n/******/\r\n/******/ \t\t// Return the exports of the module\r\n/******/ \t\treturn module.exports;\r\n/******/ \t}\r\n/******/\r\n/******/\r\n/******/ \t// expose the modules object (__webpack_modules__)\r\n/******/ \t__webpack_require__.m = modules;\r\n/******/\r\n/******/ \t// expose the module cache\r\n/******/ \t__webpack_require__.c = installedModules;\r\n/******/\r\n/******/ \t// identity function for calling harmony imports with the correct context\r\n/******/ \t__webpack_require__.i = function(value) { return value; };\r\n/******/\r\n/******/ \t// define getter function for harmony exports\r\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\r\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\r\n/******/ \t\t\tObject.defineProperty(exports, name, {\r\n/******/ \t\t\t\tconfigurable: false,\r\n/******/ \t\t\t\tenumerable: true,\r\n/******/ \t\t\t\tget: getter\r\n/******/ \t\t\t});\r\n/******/ \t\t}\r\n/******/ \t};\r\n/******/\r\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\r\n/******/ \t__webpack_require__.n = function(module) {\r\n/******/ \t\tvar getter = module && module.__esModule ?\r\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\r\n/******/ \t\t\tfunction getModuleExports() { return module; };\r\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\r\n/******/ \t\treturn getter;\r\n/******/ \t};\r\n/******/\r\n/******/ \t// Object.prototype.hasOwnProperty.call\r\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\r\n/******/\r\n/******/ \t// __webpack_public_path__\r\n/******/ \t__webpack_require__.p = \"\";\r\n/******/\r\n/******/ \t// Load entry module and return exports\r\n/******/ \treturn __webpack_require__(__webpack_require__.s = 3);\r\n/******/ })\r\n/************************************************************************/\r\n/******/ ([\r\n/* 0 */\r\n/***/ (function(module, exports, __webpack_require__) {\r\n\r\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\r\n if (true) {\r\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\r\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\r\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\r\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\r\n } else if (typeof exports !== \"undefined\") {\r\n factory(module, require('select'));\r\n } else {\r\n var mod = {\r\n exports: {}\r\n };\r\n factory(mod, global.select);\r\n global.clipboardAction = mod.exports;\r\n }\r\n})(this, function (module, _select) {\r\n 'use strict';\r\n\r\n var _select2 = _interopRequireDefault(_select);\r\n\r\n function _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n };\r\n }\r\n\r\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\r\n return typeof obj;\r\n } : function (obj) {\r\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\r\n };\r\n\r\n function _classCallCheck(instance, Constructor) {\r\n if (!(instance instanceof Constructor)) {\r\n throw new TypeError(\"Cannot call a class as a function\");\r\n }\r\n }\r\n\r\n var _createClass = function () {\r\n function defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) descriptor.writable = true;\r\n Object.defineProperty(target, descriptor.key, descriptor);\r\n }\r\n }\r\n\r\n return function (Constructor, protoProps, staticProps) {\r\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\r\n if (staticProps) defineProperties(Constructor, staticProps);\r\n return Constructor;\r\n };\r\n }();\r\n\r\n var ClipboardAction = function () {\r\n /**\r\n * @param {Object} options\r\n */\r\n function ClipboardAction(options) {\r\n _classCallCheck(this, ClipboardAction);\r\n\r\n this.resolveOptions(options);\r\n this.initSelection();\r\n }\r\n\r\n /**\r\n * Defines base properties passed from constructor.\r\n * @param {Object} options\r\n */\r\n\r\n\r\n _createClass(ClipboardAction, [{\r\n key: 'resolveOptions',\r\n value: function resolveOptions() {\r\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\r\n\r\n this.action = options.action;\r\n this.container = options.container;\r\n this.emitter = options.emitter;\r\n this.target = options.target;\r\n this.text = options.text;\r\n this.trigger = options.trigger;\r\n\r\n this.selectedText = '';\r\n }\r\n }, {\r\n key: 'initSelection',\r\n value: function initSelection() {\r\n if (this.text) {\r\n this.selectFake();\r\n } else if (this.target) {\r\n this.selectTarget();\r\n }\r\n }\r\n }, {\r\n key: 'selectFake',\r\n value: function selectFake() {\r\n var _this = this;\r\n\r\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\r\n\r\n this.removeFake();\r\n\r\n this.fakeHandlerCallback = function () {\r\n return _this.removeFake();\r\n };\r\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\r\n\r\n this.fakeElem = document.createElement('textarea');\r\n // Prevent zooming on iOS\r\n this.fakeElem.style.fontSize = '12pt';\r\n // Reset box model\r\n this.fakeElem.style.border = '0';\r\n this.fakeElem.style.padding = '0';\r\n this.fakeElem.style.margin = '0';\r\n // Move element out of screen horizontally\r\n this.fakeElem.style.position = 'absolute';\r\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\r\n // Move element to the same position vertically\r\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\r\n this.fakeElem.style.top = yPosition + 'px';\r\n\r\n this.fakeElem.setAttribute('readonly', '');\r\n this.fakeElem.value = this.text;\r\n\r\n this.container.appendChild(this.fakeElem);\r\n\r\n this.selectedText = (0, _select2.default)(this.fakeElem);\r\n this.copyText();\r\n }\r\n }, {\r\n key: 'removeFake',\r\n value: function removeFake() {\r\n if (this.fakeHandler) {\r\n this.container.removeEventListener('click', this.fakeHandlerCallback);\r\n this.fakeHandler = null;\r\n this.fakeHandlerCallback = null;\r\n }\r\n\r\n if (this.fakeElem) {\r\n this.container.removeChild(this.fakeElem);\r\n this.fakeElem = null;\r\n }\r\n }\r\n }, {\r\n key: 'selectTarget',\r\n value: function selectTarget() {\r\n this.selectedText = (0, _select2.default)(this.target);\r\n this.copyText();\r\n }\r\n }, {\r\n key: 'copyText',\r\n value: function copyText() {\r\n var succeeded = void 0;\r\n\r\n try {\r\n succeeded = document.execCommand(this.action);\r\n } catch (err) {\r\n succeeded = false;\r\n }\r\n\r\n this.handleResult(succeeded);\r\n }\r\n }, {\r\n key: 'handleResult',\r\n value: function handleResult(succeeded) {\r\n this.emitter.emit(succeeded ? 'success' : 'error', {\r\n action: this.action,\r\n text: this.selectedText,\r\n trigger: this.trigger,\r\n clearSelection: this.clearSelection.bind(this)\r\n });\r\n }\r\n }, {\r\n key: 'clearSelection',\r\n value: function clearSelection() {\r\n if (this.trigger) {\r\n this.trigger.focus();\r\n }\r\n\r\n window.getSelection().removeAllRanges();\r\n }\r\n }, {\r\n key: 'destroy',\r\n value: function destroy() {\r\n this.removeFake();\r\n }\r\n }, {\r\n key: 'action',\r\n set: function set() {\r\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\r\n\r\n this._action = action;\r\n\r\n if (this._action !== 'copy' && this._action !== 'cut') {\r\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\r\n }\r\n },\r\n get: function get() {\r\n return this._action;\r\n }\r\n }, {\r\n key: 'target',\r\n set: function set(target) {\r\n if (target !== undefined) {\r\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\r\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\r\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\r\n }\r\n\r\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\r\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\r\n }\r\n\r\n this._target = target;\r\n } else {\r\n throw new Error('Invalid \"target\" value, use a valid Element');\r\n }\r\n }\r\n },\r\n get: function get() {\r\n return this._target;\r\n }\r\n }]);\r\n\r\n return ClipboardAction;\r\n }();\r\n\r\n module.exports = ClipboardAction;\r\n});\r\n\r\n/***/ }),\r\n/* 1 */\r\n/***/ (function(module, exports, __webpack_require__) {\r\n\r\nvar is = __webpack_require__(6);\r\nvar delegate = __webpack_require__(5);\r\n\r\n/**\r\n * Validates all params and calls the right\r\n * listener function based on its target type.\r\n *\r\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @return {Object}\r\n */\r\nfunction listen(target, type, callback) {\r\n if (!target && !type && !callback) {\r\n throw new Error('Missing required arguments');\r\n }\r\n\r\n if (!is.string(type)) {\r\n throw new TypeError('Second argument must be a String');\r\n }\r\n\r\n if (!is.fn(callback)) {\r\n throw new TypeError('Third argument must be a Function');\r\n }\r\n\r\n if (is.node(target)) {\r\n return listenNode(target, type, callback);\r\n }\r\n else if (is.nodeList(target)) {\r\n return listenNodeList(target, type, callback);\r\n }\r\n else if (is.string(target)) {\r\n return listenSelector(target, type, callback);\r\n }\r\n else {\r\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\r\n }\r\n}\r\n\r\n/**\r\n * Adds an event listener to a HTML element\r\n * and returns a remove listener function.\r\n *\r\n * @param {HTMLElement} node\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @return {Object}\r\n */\r\nfunction listenNode(node, type, callback) {\r\n node.addEventListener(type, callback);\r\n\r\n return {\r\n destroy: function() {\r\n node.removeEventListener(type, callback);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Add an event listener to a list of HTML elements\r\n * and returns a remove listener function.\r\n *\r\n * @param {NodeList|HTMLCollection} nodeList\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @return {Object}\r\n */\r\nfunction listenNodeList(nodeList, type, callback) {\r\n Array.prototype.forEach.call(nodeList, function(node) {\r\n node.addEventListener(type, callback);\r\n });\r\n\r\n return {\r\n destroy: function() {\r\n Array.prototype.forEach.call(nodeList, function(node) {\r\n node.removeEventListener(type, callback);\r\n });\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Add an event listener to a selector\r\n * and returns a remove listener function.\r\n *\r\n * @param {String} selector\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @return {Object}\r\n */\r\nfunction listenSelector(selector, type, callback) {\r\n return delegate(document.body, selector, type, callback);\r\n}\r\n\r\nmodule.exports = listen;\r\n\r\n\r\n/***/ }),\r\n/* 2 */\r\n/***/ (function(module, exports) {\r\n\r\nfunction E () {\r\n // Keep this empty so it's easier to inherit from\r\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\r\n}\r\n\r\nE.prototype = {\r\n on: function (name, callback, ctx) {\r\n var e = this.e || (this.e = {});\r\n\r\n (e[name] || (e[name] = [])).push({\r\n fn: callback,\r\n ctx: ctx\r\n });\r\n\r\n return this;\r\n },\r\n\r\n once: function (name, callback, ctx) {\r\n var self = this;\r\n function listener () {\r\n self.off(name, listener);\r\n callback.apply(ctx, arguments);\r\n };\r\n\r\n listener._ = callback\r\n return this.on(name, listener, ctx);\r\n },\r\n\r\n emit: function (name) {\r\n var data = [].slice.call(arguments, 1);\r\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\r\n var i = 0;\r\n var len = evtArr.length;\r\n\r\n for (i; i < len; i++) {\r\n evtArr[i].fn.apply(evtArr[i].ctx, data);\r\n }\r\n\r\n return this;\r\n },\r\n\r\n off: function (name, callback) {\r\n var e = this.e || (this.e = {});\r\n var evts = e[name];\r\n var liveEvents = [];\r\n\r\n if (evts && callback) {\r\n for (var i = 0, len = evts.length; i < len; i++) {\r\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\r\n liveEvents.push(evts[i]);\r\n }\r\n }\r\n\r\n // Remove event from queue to prevent memory leak\r\n // Suggested by https://github.com/lazd\r\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\r\n\r\n (liveEvents.length)\r\n ? e[name] = liveEvents\r\n : delete e[name];\r\n\r\n return this;\r\n }\r\n};\r\n\r\nmodule.exports = E;\r\n\r\n\r\n/***/ }),\r\n/* 3 */\r\n/***/ (function(module, exports, __webpack_require__) {\r\n\r\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\r\n if (true) {\r\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(0), __webpack_require__(2), __webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\r\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\r\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\r\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\r\n } else if (typeof exports !== \"undefined\") {\r\n factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));\r\n } else {\r\n var mod = {\r\n exports: {}\r\n };\r\n factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);\r\n global.clipboard = mod.exports;\r\n }\r\n})(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) {\r\n 'use strict';\r\n\r\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\r\n\r\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\r\n\r\n var _goodListener2 = _interopRequireDefault(_goodListener);\r\n\r\n function _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n };\r\n }\r\n\r\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\r\n return typeof obj;\r\n } : function (obj) {\r\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\r\n };\r\n\r\n function _classCallCheck(instance, Constructor) {\r\n if (!(instance instanceof Constructor)) {\r\n throw new TypeError(\"Cannot call a class as a function\");\r\n }\r\n }\r\n\r\n var _createClass = function () {\r\n function defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) descriptor.writable = true;\r\n Object.defineProperty(target, descriptor.key, descriptor);\r\n }\r\n }\r\n\r\n return function (Constructor, protoProps, staticProps) {\r\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\r\n if (staticProps) defineProperties(Constructor, staticProps);\r\n return Constructor;\r\n };\r\n }();\r\n\r\n function _possibleConstructorReturn(self, call) {\r\n if (!self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\r\n }\r\n\r\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\r\n }\r\n\r\n function _inherits(subClass, superClass) {\r\n if (typeof superClass !== \"function\" && superClass !== null) {\r\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\r\n }\r\n\r\n subClass.prototype = Object.create(superClass && superClass.prototype, {\r\n constructor: {\r\n value: subClass,\r\n enumerable: false,\r\n writable: true,\r\n configurable: true\r\n }\r\n });\r\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\r\n }\r\n\r\n var Clipboard = function (_Emitter) {\r\n _inherits(Clipboard, _Emitter);\r\n\r\n /**\r\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\r\n * @param {Object} options\r\n */\r\n function Clipboard(trigger, options) {\r\n _classCallCheck(this, Clipboard);\r\n\r\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\r\n\r\n _this.resolveOptions(options);\r\n _this.listenClick(trigger);\r\n return _this;\r\n }\r\n\r\n /**\r\n * Defines if attributes would be resolved using internal setter functions\r\n * or custom functions that were passed in the constructor.\r\n * @param {Object} options\r\n */\r\n\r\n\r\n _createClass(Clipboard, [{\r\n key: 'resolveOptions',\r\n value: function resolveOptions() {\r\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\r\n\r\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\r\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\r\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\r\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\r\n }\r\n }, {\r\n key: 'listenClick',\r\n value: function listenClick(trigger) {\r\n var _this2 = this;\r\n\r\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\r\n return _this2.onClick(e);\r\n });\r\n }\r\n }, {\r\n key: 'onClick',\r\n value: function onClick(e) {\r\n var trigger = e.delegateTarget || e.currentTarget;\r\n\r\n if (this.clipboardAction) {\r\n this.clipboardAction = null;\r\n }\r\n\r\n this.clipboardAction = new _clipboardAction2.default({\r\n action: this.action(trigger),\r\n target: this.target(trigger),\r\n text: this.text(trigger),\r\n container: this.container,\r\n trigger: trigger,\r\n emitter: this\r\n });\r\n }\r\n }, {\r\n key: 'defaultAction',\r\n value: function defaultAction(trigger) {\r\n return getAttributeValue('action', trigger);\r\n }\r\n }, {\r\n key: 'defaultTarget',\r\n value: function defaultTarget(trigger) {\r\n var selector = getAttributeValue('target', trigger);\r\n\r\n if (selector) {\r\n return document.querySelector(selector);\r\n }\r\n }\r\n }, {\r\n key: 'defaultText',\r\n value: function defaultText(trigger) {\r\n return getAttributeValue('text', trigger);\r\n }\r\n }, {\r\n key: 'destroy',\r\n value: function destroy() {\r\n this.listener.destroy();\r\n\r\n if (this.clipboardAction) {\r\n this.clipboardAction.destroy();\r\n this.clipboardAction = null;\r\n }\r\n }\r\n }], [{\r\n key: 'isSupported',\r\n value: function isSupported() {\r\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\r\n\r\n var actions = typeof action === 'string' ? [action] : action;\r\n var support = !!document.queryCommandSupported;\r\n\r\n actions.forEach(function (action) {\r\n support = support && !!document.queryCommandSupported(action);\r\n });\r\n\r\n return support;\r\n }\r\n }]);\r\n\r\n return Clipboard;\r\n }(_tinyEmitter2.default);\r\n\r\n /**\r\n * Helper function to retrieve attribute value.\r\n * @param {String} suffix\r\n * @param {Element} element\r\n */\r\n function getAttributeValue(suffix, element) {\r\n var attribute = 'data-clipboard-' + suffix;\r\n\r\n if (!element.hasAttribute(attribute)) {\r\n return;\r\n }\r\n\r\n return element.getAttribute(attribute);\r\n }\r\n\r\n module.exports = Clipboard;\r\n});\r\n\r\n/***/ }),\r\n/* 4 */\r\n/***/ (function(module, exports) {\r\n\r\nvar DOCUMENT_NODE_TYPE = 9;\r\n\r\n/**\r\n * A polyfill for Element.matches()\r\n */\r\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\r\n var proto = Element.prototype;\r\n\r\n proto.matches = proto.matchesSelector ||\r\n proto.mozMatchesSelector ||\r\n proto.msMatchesSelector ||\r\n proto.oMatchesSelector ||\r\n proto.webkitMatchesSelector;\r\n}\r\n\r\n/**\r\n * Finds the closest parent that matches a selector.\r\n *\r\n * @param {Element} element\r\n * @param {String} selector\r\n * @return {Function}\r\n */\r\nfunction closest (element, selector) {\r\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\r\n if (typeof element.matches === 'function' &&\r\n element.matches(selector)) {\r\n return element;\r\n }\r\n element = element.parentNode;\r\n }\r\n}\r\n\r\nmodule.exports = closest;\r\n\r\n\r\n/***/ }),\r\n/* 5 */\r\n/***/ (function(module, exports, __webpack_require__) {\r\n\r\nvar closest = __webpack_require__(4);\r\n\r\n/**\r\n * Delegates event to a selector.\r\n *\r\n * @param {Element} element\r\n * @param {String} selector\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @param {Boolean} useCapture\r\n * @return {Object}\r\n */\r\nfunction _delegate(element, selector, type, callback, useCapture) {\r\n var listenerFn = listener.apply(this, arguments);\r\n\r\n element.addEventListener(type, listenerFn, useCapture);\r\n\r\n return {\r\n destroy: function() {\r\n element.removeEventListener(type, listenerFn, useCapture);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Delegates event to a selector.\r\n *\r\n * @param {Element|String|Array} [elements]\r\n * @param {String} selector\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @param {Boolean} useCapture\r\n * @return {Object}\r\n */\r\nfunction delegate(elements, selector, type, callback, useCapture) {\r\n // Handle the regular Element usage\r\n if (typeof elements.addEventListener === 'function') {\r\n return _delegate.apply(null, arguments);\r\n }\r\n\r\n // Handle Element-less usage, it defaults to global delegation\r\n if (typeof type === 'function') {\r\n // Use `document` as the first parameter, then apply arguments\r\n // This is a short way to .unshift `arguments` without running into deoptimizations\r\n return _delegate.bind(null, document).apply(null, arguments);\r\n }\r\n\r\n // Handle Selector-based usage\r\n if (typeof elements === 'string') {\r\n elements = document.querySelectorAll(elements);\r\n }\r\n\r\n // Handle Array-like based usage\r\n return Array.prototype.map.call(elements, function (element) {\r\n return _delegate(element, selector, type, callback, useCapture);\r\n });\r\n}\r\n\r\n/**\r\n * Finds closest match and invokes callback.\r\n *\r\n * @param {Element} element\r\n * @param {String} selector\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @return {Function}\r\n */\r\nfunction listener(element, selector, type, callback) {\r\n return function(e) {\r\n e.delegateTarget = closest(e.target, selector);\r\n\r\n if (e.delegateTarget) {\r\n callback.call(element, e);\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = delegate;\r\n\r\n\r\n/***/ }),\r\n/* 6 */\r\n/***/ (function(module, exports) {\r\n\r\n/**\r\n * Check if argument is a HTML element.\r\n *\r\n * @param {Object} value\r\n * @return {Boolean}\r\n */\r\nexports.node = function(value) {\r\n return value !== undefined\r\n && value instanceof HTMLElement\r\n && value.nodeType === 1;\r\n};\r\n\r\n/**\r\n * Check if argument is a list of HTML elements.\r\n *\r\n * @param {Object} value\r\n * @return {Boolean}\r\n */\r\nexports.nodeList = function(value) {\r\n var type = Object.prototype.toString.call(value);\r\n\r\n return value !== undefined\r\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\r\n && ('length' in value)\r\n && (value.length === 0 || exports.node(value[0]));\r\n};\r\n\r\n/**\r\n * Check if argument is a string.\r\n *\r\n * @param {Object} value\r\n * @return {Boolean}\r\n */\r\nexports.string = function(value) {\r\n return typeof value === 'string'\r\n || value instanceof String;\r\n};\r\n\r\n/**\r\n * Check if argument is a function.\r\n *\r\n * @param {Object} value\r\n * @return {Boolean}\r\n */\r\nexports.fn = function(value) {\r\n var type = Object.prototype.toString.call(value);\r\n\r\n return type === '[object Function]';\r\n};\r\n\r\n\r\n/***/ }),\r\n/* 7 */\r\n/***/ (function(module, exports) {\r\n\r\nfunction select(element) {\r\n var selectedText;\r\n\r\n if (element.nodeName === 'SELECT') {\r\n element.focus();\r\n\r\n selectedText = element.value;\r\n }\r\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\r\n var isReadOnly = element.hasAttribute('readonly');\r\n\r\n if (!isReadOnly) {\r\n element.setAttribute('readonly', '');\r\n }\r\n\r\n element.select();\r\n element.setSelectionRange(0, element.value.length);\r\n\r\n if (!isReadOnly) {\r\n element.removeAttribute('readonly');\r\n }\r\n\r\n selectedText = element.value;\r\n }\r\n else {\r\n if (element.hasAttribute('contenteditable')) {\r\n element.focus();\r\n }\r\n\r\n var selection = window.getSelection();\r\n var range = document.createRange();\r\n\r\n range.selectNodeContents(element);\r\n selection.removeAllRanges();\r\n selection.addRange(range);\r\n\r\n selectedText = selection.toString();\r\n }\r\n\r\n return selectedText;\r\n}\r\n\r\nmodule.exports = select;\r\n\r\n\r\n/***/ })\r\n/******/ ]);\r\n});"]}