UNPKG

mattot-first-package

Version:

Just a test package for me learning

110 lines (107 loc) 2.69 kB
// src/functions.ts function sayHello({ firstName, lastName, age }) { console.log("Hello!"); console.log(`Your first name is ${firstName}`); if (lastName) { console.log(`Your last name is ${lastName}`); } if (age) { console.log(`Your age is ${age}`); } } // src/class.ts var Cat = class { name; breed; constructor(name, breed) { this.name = name; this.breed = breed; } meow() { console.log("meow.. meow.. meow.."); } getDescription() { return `I am a ${this.breed} named ${this.name}`; } setName(name) { this.name = name; } setBreed(breed) { this.breed = breed; } getName() { return this.name; } getBreed() { return this.breed; } }; // src/style2clip.ts import html2canvas from "html2canvas"; var Style2Clip = class _Style2Clip { /** * Convert html and css block into image and put it into clipboard * @param {string} buttonClassName */ static _buttonClassName = ".button-copy"; constructor(buttonClassName = ".button-copy") { _Style2Clip._buttonClassName = buttonClassName; this.setButtonClassName(buttonClassName); } handleClick(event) { this.convertParentElementToImage(event); } /** * Set button class namethis * @param {string} buttonClassName */ setButtonClassName(buttonClassName) { const copyButtons = document.querySelectorAll(_Style2Clip._buttonClassName); _Style2Clip._buttonClassName = buttonClassName; copyButtons.forEach((button) => { button.addEventListener("click", (event) => { this.handleClick.bind(this)(event); }); }); } /** * Get button class name */ getButtonClassName() { return _Style2Clip._buttonClassName; } /** * Convert all html and css elements into image blob * @param {HTMLElement} element */ convertToImage(element) { html2canvas(element).then(function(canvas) { canvas.toBlob((blob) => { if (blob) { const clipboardItem = new ClipboardItem({ "image/png": blob }); navigator.clipboard.write([clipboardItem]).then(() => { alert("Image copied to clipboard!"); }).catch((err) => { console.error("Unable to write to clipboard:", err); }); } else { console.error("Unable to convert canvas to Blob"); } }, "image/png"); }); } /** * Get the parent element and convert it to image * @param {MouseEvent} event */ convertParentElementToImage(event) { const callingElement = event.target; const callingParent = callingElement.parentNode; this.convertToImage(callingParent); } }; export { Cat, Style2Clip, sayHello };