{"version":3,"file":"clipboard-copy-element-define-Bydp7MX2.js","sources":["../../../node_modules/@github/clipboard-copy-element/dist/clipboard.js","../../../node_modules/@github/clipboard-copy-element/dist/clipboard-copy-element.js","../../../node_modules/@github/clipboard-copy-element/dist/clipboard-copy-element-define.js"],"sourcesContent":["function createNode(text) {\n const node = document.createElement('pre');\n node.style.width = '1px';\n node.style.height = '1px';\n node.style.position = 'fixed';\n node.style.top = '5px';\n node.textContent = text;\n return node;\n}\nexport function copyNode(node) {\n if ('clipboard' in navigator) {\n return navigator.clipboard.writeText(node.textContent || '');\n }\n const selection = getSelection();\n if (selection == null) {\n return Promise.reject(new Error());\n }\n selection.removeAllRanges();\n const range = document.createRange();\n range.selectNodeContents(node);\n selection.addRange(range);\n document.execCommand('copy');\n selection.removeAllRanges();\n return Promise.resolve();\n}\nexport function copyText(text) {\n if ('clipboard' in navigator) {\n return navigator.clipboard.writeText(text);\n }\n const body = document.body;\n if (!body) {\n return Promise.reject(new Error());\n }\n const node = createNode(text);\n body.appendChild(node);\n copyNode(node);\n body.removeChild(node);\n return Promise.resolve();\n}\n","import { copyNode, copyText } from './clipboard.js';\nasync function copy(button) {\n const id = button.getAttribute('for');\n const text = button.getAttribute('value');\n function trigger() {\n button.dispatchEvent(new CustomEvent('clipboard-copy', { bubbles: true }));\n }\n if (button.getAttribute('aria-disabled') === 'true') {\n return;\n }\n if (text) {\n await copyText(text);\n trigger();\n }\n else if (id) {\n const root = 'getRootNode' in Element.prototype ? button.getRootNode() : button.ownerDocument;\n if (!(root instanceof Document || ('ShadowRoot' in window && root instanceof ShadowRoot)))\n return;\n const node = root.getElementById(id);\n if (node) {\n await copyTarget(node);\n trigger();\n }\n }\n}\nfunction copyTarget(content) {\n if (content instanceof HTMLInputElement || content instanceof HTMLTextAreaElement) {\n return copyText(content.value);\n }\n else if (content instanceof HTMLAnchorElement && content.hasAttribute('href')) {\n return copyText(content.href);\n }\n else {\n return copyNode(content);\n }\n}\nfunction clicked(event) {\n const button = event.currentTarget;\n if (button instanceof HTMLElement) {\n copy(button);\n }\n}\nfunction keydown(event) {\n if (event.key === ' ' || event.key === 'Enter') {\n const button = event.currentTarget;\n if (button instanceof HTMLElement) {\n event.preventDefault();\n copy(button);\n }\n }\n}\nfunction focused(event) {\n ;\n event.currentTarget.addEventListener('keydown', keydown);\n}\nfunction blurred(event) {\n ;\n event.currentTarget.removeEventListener('keydown', keydown);\n}\nexport class ClipboardCopyElement extends HTMLElement {\n static define(tag = 'clipboard-copy', registry = customElements) {\n registry.define(tag, this);\n return this;\n }\n constructor() {\n super();\n this.addEventListener('click', clicked);\n this.addEventListener('focus', focused);\n this.addEventListener('blur', blurred);\n }\n connectedCallback() {\n if (!this.hasAttribute('tabindex')) {\n this.setAttribute('tabindex', '0');\n }\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'button');\n }\n }\n get value() {\n return this.getAttribute('value') || '';\n }\n set value(text) {\n this.setAttribute('value', text);\n }\n}\n","import { ClipboardCopyElement } from './clipboard-copy-element.js';\nconst root = (typeof globalThis !== 'undefined' ? globalThis : window);\ntry {\n root.ClipboardCopyElement = ClipboardCopyElement.define();\n}\ncatch (e) {\n if (!(root.DOMException && e instanceof DOMException && e.name === 'NotSupportedError') &&\n !(e instanceof ReferenceError)) {\n throw e;\n }\n}\nexport default ClipboardCopyElement;\nexport * from './clipboard-copy-element.js';\n"],"names":["createNode","text","node","copyNode","selection","range","copyText","body","copy","button","id","trigger","root","copyTarget","content","clicked","event","keydown","focused","blurred","ClipboardCopyElement","tag","registry"],"mappings":"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","x_google_ignoreList":[0,1,2]}