mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-09 10:34:17 +00:00
34 lines
721 B
JavaScript
34 lines
721 B
JavaScript
export async function pasteFromClipboard(element) {
|
|
if (!navigator.clipboard) {
|
|
throw new Error(
|
|
"Clipboard API not available in this browser or context",
|
|
)
|
|
}
|
|
|
|
if (!element || !(element instanceof HTMLElement)) {
|
|
console.error("Invalid element provided to pasteFromClipboard")
|
|
return Promise.reject(new Error("Invalid element provided"))
|
|
}
|
|
|
|
let data = await navigator.clipboard.read()
|
|
|
|
data = data[0]
|
|
|
|
data = await data.getType(data.types[0])
|
|
|
|
const event = new ClipboardEvent("paste", {
|
|
clipboardData: new DataTransfer(),
|
|
})
|
|
|
|
element.focus()
|
|
element.dispatchEvent(event)
|
|
|
|
return data
|
|
}
|
|
|
|
export function isClipboardSupported() {
|
|
return !!navigator.clipboard
|
|
}
|
|
|
|
export default pasteFromClipboard
|