-
Notifications
You must be signed in to change notification settings - Fork 0
/
bundle.js.map
1 lines (1 loc) · 41.1 KB
/
bundle.js.map
1
{"version":3,"file":null,"sources":["node_modules/select/src/select.js","node_modules/clipboard/lib/clipboard-action.js","node_modules/tiny-emitter/index.js","node_modules/good-listener/src/is.js","node_modules/delegate/src/closest.js","node_modules/delegate/src/delegate.js","node_modules/good-listener/src/listen.js","node_modules/clipboard/lib/clipboard.js","index.ts"],"sourcesContent":["function select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n element.focus();\n element.setSelectionRange(0, element.value.length);\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['module', 'select'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('select'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.select);\n global.clipboardAction = mod.exports;\n }\n})(this, function (module, _select) {\n 'use strict';\n\n var _select2 = _interopRequireDefault(_select);\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 var ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\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 = document.body.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.addEventListener('focus', window.scrollTo(0, yPosition));\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n document.body.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 document.body.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n document.body.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.target) {\n this.target.blur();\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});","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n","/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n","var DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (Element && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (element.matches(selector)) return element;\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n","var closest = require('./closest');\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n","var is = require('./is');\nvar delegate = require('delegate');\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\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 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 }\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 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\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});","import * as Clipboard from 'clipboard';\r\ntry {\r\n var cb1 = new (Clipboard as any).default('.btn');\r\n document.getElementById(\"test1\").innerText = 'I am replaced 1';\r\n}\r\ncatch (err) {\r\n console.error(err);\r\n document.getElementById(\"err1\").innerText = err.toString();\r\n}\r\n\r\ntry {\r\n var cb2 = new Clipboard('.btn');\r\n document.getElementById(\"test2\").innerText = 'I am replaced 2';\r\n}\r\ncatch (err) {\r\n console.error(err);\r\n document.getElementById(\"err2\").innerText = err.toString();\r\n}\r\n"],"names":["define","require$$0","this","closest","delegate","require$$1","require$$2","Clipboard.default"],"mappings":"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"}