{"version":3,"file":"copy_to_clipboard_controller-DgeEVglu.js","sources":["../../node_modules/toggle-selection/index.js","../../node_modules/copy-to-clipboard/index.js","../../app/javascript/entrypoints/controllers/copy_to_clipboard_controller.js"],"sourcesContent":["\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","\"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 // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\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","import { Controller } from \"@hotwired/stimulus\";\n\nimport copy from \"copy-to-clipboard\";\n\nexport default class extends Controller {\n static targets = [\"copyButton\"];\n static values = { text: String, successText: String };\n\n copy() {\n copy(this.textValue);\n const buttonText = this.copyButtonTarget.innerText;\n this.copyButtonTarget.innerText = this.successTextValue\n setTimeout(() => {\n this.copyButtonTarget.innerText = buttonText;\n }, 1000);\n }\n}\n"],"names":["toggleSelection","selection","active","ranges","i","range","deselectCurrent","require$$0","clipboardToIE11Formatting","defaultMessage","format","message","copyKey","copy","text","options","debug","reselectPrevious","mark","success","e","successful","err","copyToClipboard","copy_to_clipboard_controller","Controller","buttonText","__publicField"],"mappings":"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","x_google_ignoreList":[0,1]}