386f8d8d2eb83500255805fffeb94cdb.json
11.2 KB
{"ast":null,"code":"\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n};\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n\n if (!options) {\n options = {};\n }\n\n debug = options.debug || false;\n\n try {\n reselectPrevious = deselectCurrent();\n range = document.createRange();\n selection = document.getSelection();\n mark = document.createElement(\"span\");\n mark.textContent = text; // reset user styles for span element\n\n mark.style.all = \"unset\"; // prevents scrolling to the end of the page\n\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\"; // used to preserve spaces and line breaks\n\n mark.style.whiteSpace = \"pre\"; // do not inherit user-select (it may be `none`)\n\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function (e) {\n e.stopPropagation();\n\n if (options.format) {\n e.preventDefault();\n\n if (typeof e.clipboardData === \"undefined\") {\n // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"];\n window.clipboardData.setData(format, text);\n } else {\n // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n document.body.appendChild(mark);\n range.selectNodeContents(mark);\n selection.addRange(range);\n var successful = document.execCommand(\"copy\");\n\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/copy-to-clipboard/index.js"],"names":["deselectCurrent","require","clipboardToIE11Formatting","defaultMessage","format","message","copyKey","test","navigator","userAgent","replace","copy","text","options","debug","reselectPrevious","range","selection","mark","success","document","createRange","getSelection","createElement","textContent","style","all","position","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","e","stopPropagation","preventDefault","clipboardData","console","warn","window","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","successful","execCommand","Error","err","error","prompt","removeRange","removeAllRanges","removeChild","module","exports"],"mappings":"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","sourcesContent":["\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n"]},"metadata":{},"sourceType":"script"}