tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 43.1 kB
Source Map (JSON)
{"version":3,"file":"clipboard.test-d.mjs","sources":["../../../../../../node_modules/.pnpm/@babel+runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/inherits.js","../../../../../../node_modules/.pnpm/tiny-emitter@2.1.0/node_modules/tiny-emitter/index.js","../../../../../../node_modules/.pnpm/good-listener@1.2.2/node_modules/good-listener/src/is.js","../../../../../../node_modules/.pnpm/delegate@3.2.0/node_modules/delegate/src/closest.js","../../../../../../node_modules/.pnpm/delegate@3.2.0/node_modules/delegate/src/delegate.js","../../../../../../node_modules/.pnpm/good-listener@1.2.2/node_modules/good-listener/src/listen.js","../../../../../../node_modules/.pnpm/select@1.1.2/node_modules/select/src/select.js","../../../../../../node_modules/.pnpm/clipboard@2.0.11/node_modules/clipboard/src/common/command.js","../../../../../../node_modules/.pnpm/clipboard@2.0.11/node_modules/clipboard/src/actions/cut.js","../../../../../../node_modules/.pnpm/clipboard@2.0.11/node_modules/clipboard/src/common/create-fake-element.js","../../../../../../node_modules/.pnpm/clipboard@2.0.11/node_modules/clipboard/src/actions/copy.js","../../../../../../node_modules/.pnpm/clipboard@2.0.11/node_modules/clipboard/src/actions/default.js","../../../../../../node_modules/.pnpm/clipboard@2.0.11/node_modules/clipboard/src/clipboard.js","../../../../../../node_modules/.pnpm/clipboard@2.0.11/node_modules/clipboard/src/clipboard.test-d.ts"],"sourcesContent":["function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","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;\nmodule.exports.TinyEmitter = 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 (typeof Element !== 'undefined' && !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 (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\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 * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\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 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 var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\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","/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nexport default function command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n","import select from 'select';\nimport command from '../common/command';\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\nconst ClipboardActionCut = (target) => {\n const selectedText = select(target);\n command('cut');\n return selectedText;\n};\n\nexport default ClipboardActionCut;\n","/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nexport default function createFakeElement(value) {\n const isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n const fakeElement = document.createElement('textarea');\n // Prevent zooming on iOS\n fakeElement.style.fontSize = '12pt';\n // Reset box model\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0';\n // Move element out of screen horizontally\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n let yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = `${yPosition}px`;\n\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n\n return fakeElement;\n}\n","import select from 'select';\nimport command from '../common/command';\nimport createFakeElement from '../common/create-fake-element';\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\nconst fakeCopyAction = (value, options) => {\n const fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n const selectedText = select(fakeElement);\n command('copy');\n fakeElement.remove();\n\n return selectedText;\n};\n\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\nconst ClipboardActionCopy = (\n target,\n options = { container: document.body }\n) => {\n let selectedText = '';\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (\n target instanceof HTMLInputElement &&\n !['text', 'search', 'url', 'tel', 'password'].includes(target?.type)\n ) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select(target);\n command('copy');\n }\n return selectedText;\n};\n\nexport default ClipboardActionCopy;\n","import ClipboardActionCut from './cut';\nimport ClipboardActionCopy from './copy';\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\nconst ClipboardActionDefault = (options = {}) => {\n // Defines base properties passed from constructor.\n const { action = 'copy', container, target, text } = options;\n\n // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n\n // Sets the `target` property using an element that will be have its content copied.\n if (target !== undefined) {\n if (target && typeof target === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error(\n 'Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute'\n );\n }\n\n if (\n action === 'cut' &&\n (target.hasAttribute('readonly') || target.hasAttribute('disabled'))\n ) {\n throw new Error(\n 'Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes'\n );\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n\n // Define selection strategy based on `text` property.\n if (text) {\n return ClipboardActionCopy(text, { container });\n }\n\n // Defines which selection strategy based on `target` property.\n if (target) {\n return action === 'cut'\n ? ClipboardActionCut(target)\n : ClipboardActionCopy(target, { container });\n }\n};\n\nexport default ClipboardActionDefault;\n","import Emitter from 'tiny-emitter';\nimport listen from 'good-listener';\nimport ClipboardActionDefault from './actions/default';\nimport ClipboardActionCut from './actions/cut';\nimport ClipboardActionCopy from './actions/copy';\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\nfunction getAttributeValue(suffix, element) {\n const attribute = `data-clipboard-${suffix}`;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\nclass Clipboard extends Emitter {\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n constructor(trigger, options) {\n super();\n\n this.resolveOptions(options);\n this.listenClick(trigger);\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 resolveOptions(options = {}) {\n this.action =\n typeof options.action === 'function'\n ? options.action\n : this.defaultAction;\n this.target =\n typeof options.target === 'function'\n ? options.target\n : this.defaultTarget;\n this.text =\n typeof options.text === 'function' ? options.text : this.defaultText;\n this.container =\n typeof options.container === 'object' ? options.container : document.body;\n }\n\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n listenClick(trigger) {\n this.listener = listen(trigger, 'click', (e) => this.onClick(e));\n }\n\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n onClick(e) {\n const trigger = e.delegateTarget || e.currentTarget;\n const action = this.action(trigger) || 'copy';\n const text = ClipboardActionDefault({\n action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger),\n });\n\n // Fires an event based on the copy operation result.\n this.emit(text ? 'success' : 'error', {\n action,\n text,\n trigger,\n clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n window.getSelection().removeAllRanges();\n },\n });\n }\n\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n defaultTarget(trigger) {\n const selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n static copy(target, options = { container: document.body }) {\n return ClipboardActionCopy(target, options);\n }\n\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n static cut(target) {\n return ClipboardActionCut(target);\n }\n\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n static isSupported(action = ['copy', 'cut']) {\n const actions = typeof action === 'string' ? [action] : action;\n let support = !!document.queryCommandSupported;\n\n actions.forEach((action) => {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n\n /**\n * Destroy lifecycle.\n */\n destroy() {\n this.listener.destroy();\n }\n}\n\nexport default Clipboard;\n","import { expectType } from 'tsd';\nimport * as Clipboard from './clipboard';\n\nexpectType<Clipboard>(new Clipboard('.btn'));\n"],"names":["_assertThisInitialized","e","ReferenceError","_possibleConstructorReturn","t","_typeof","TypeError","assertThisInitialized","_getPrototypeOf","Object","setPrototypeOf","getPrototypeOf","bind","__proto__","_setPrototypeOf","_inherits","prototype","create","constructor","value","writable","configurable","defineProperty","E","on","name","callback","ctx","push","fn","once","self","listener","off","apply","arguments","_","emit","data","slice","call","evtArr","i","len","length","evts","liveEvents","tinyEmitterModule","exports","TinyEmitter","node","undefined","HTMLElement","nodeType","nodeList","type","toString","string","String","DOCUMENT_NODE_TYPE","Element","matches","proto","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","closest","element","selector","parentNode","closest_1","require$$0","_delegate","useCapture","listenerFn","addEventListener","destroy","removeEventListener","delegate","elements","document","querySelectorAll","Array","map","delegateTarget","target","delegate_1","is","require$$1","listen","Error","listenNode","listenNodeList","listenSelector","forEach","body","listen_1","select","selectedText","nodeName","focus","isReadOnly","hasAttribute","setAttribute","setSelectionRange","removeAttribute","selection","window","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","select_1","command","execCommand","err","ClipboardActionCut","createFakeElement","isRTL","documentElement","getAttribute","fakeElement","createElement","style","fontSize","border","padding","margin","position","yPosition","pageYOffset","scrollTop","top","concat","fakeCopyAction","options","container","appendChild","remove","ClipboardActionCopy","HTMLInputElement","includes","ClipboardActionDefault","_options$action","action","text","getAttributeValue","suffix","attribute","Clipboard","_Emitter","trigger","_this","_classCallCheck","_callSuper","resolveOptions","listenClick","_createClass","key","defaultAction","defaultTarget","defaultText","_this2","onClick","currentTarget","clearSelection","querySelector","copy","cut","isSupported","actions","support","queryCommandSupported","Emitter","expectType"],"mappings":"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"}