diff --git a/README.md b/README.md index bd15cf79..c349d4b0 100644 --- a/README.md +++ b/README.md @@ -260,7 +260,8 @@ and render on the server._` ## Dependencies -Uses Object.hasOwn() so needs at least Chrome/Edge 93, Firefox 92, Opera 79. Safari 15.4 or Node 16.9.0 +Uses Object.hasOwn() so needs at least Chrome/Edge 93, Firefox 92, Opera 79. Safari 15.4 +or Node 16.9.0 ### Source @@ -358,9 +359,9 @@ SNDST00M (optimize), Joseph White (performance CSS), Phani Rithvij (test), David DOLCIMASCOLO (packaging), Zee (ZM) @zm-cttae (many major updates), Joshua Walsh @JoshuaWalsh (Firefox issues), Emre Coban @emrecoban (documentation), Nate Stuyvesant @nstuyvesant (fixes), King Wang @eachmawzw (CORS image proxy), TMM Schmit @tmmschmit -(useCredentialsFilters), Aravind @codesculpture (fix overridden props), -Shi Wenyu @cWenyu (shadow slot fix), David Burns @davidburns573 -and Yujia Cheng @YujiaCheng1996 (font copy optional) +(useCredentialsFilters), Aravind @codesculpture (fix overridden props), Shi Wenyu @cWenyu +(shadow slot fix), David Burns @davidburns573 and Yujia Cheng @YujiaCheng1996 (font copy +optional) ## License diff --git a/dist/dom-to-image-more.min.js b/dist/dom-to-image-more.min.js index 4f162777..5bdd693e 100644 --- a/dist/dom-to-image-more.min.js +++ b/dist/dom-to-image-more.min.js @@ -1,3 +1,3 @@ -/*! dom-to-image-more 24-08-2024 */ -(l=>{let f=(()=>{let e=0;return{escape:function(e){return e.replace(/([.*+?^${}()|[]\/\\])/g,"\\$1")},isDataUrl:function(e){return-1!==e.search(/^(data:)/)},canvasToBlob:function(t){if(t.toBlob)return new Promise(function(e){t.toBlob(e)});return(r=>new Promise(function(e){var t=u(r.toDataURL().split(",")[1]),n=t.length,o=new Uint8Array(n);for(let e=0;e0<=s.search(e)).length),a.impl.options.useCredentials&&(r.withCredentials=!0),a.impl.options.corsImg&&0===s.indexOf("http")&&-1===s.indexOf(window.location.origin)){var i="POST"===(a.impl.options.corsImg.method||"GET").toUpperCase()?"POST":"GET";r.open(i,(a.impl.options.corsImg.url||"").replace("#{cors}",s),!0);let t=!1,n=a.impl.options.corsImg.headers||{},o=(Object.keys(n).forEach(function(e){-1!==n[e].indexOf("application/json")&&(t=!0),r.setRequestHeader(e,n[e])}),(e=>{try{return JSON.parse(JSON.stringify(e))}catch(e){l("corsImg.data is missing or invalid:"+e.toString())}})(a.impl.options.corsImg.data||""));Object.keys(o).forEach(function(e){"string"==typeof o[e]&&(o[e]=o[e].replace("#{cors}",s))}),r.send(t?JSON.stringify(o):o)}else r.open("GET",s,!0),r.send();let n;function l(e){console.error(e),t("")}a.impl.options.imagePlaceholder&&(i=a.impl.options.imagePlaceholder.split(/,/))&&i[1]&&(n=i[1])}));return e.promise},uid:function(){return"u"+("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)+e++},delay:function(n){return function(t){return new Promise(function(e){setTimeout(function(){e(t)},n)})}},asArray:function(t){var n=[],o=t.length;for(let e=0;e{let o=/url\(['"]?([^'"]+?)['"]?\)/g;return{inlineAll:function(t,o,r){if(!e(t))return Promise.resolve(t);return Promise.resolve(t).then(n).then(function(e){let n=Promise.resolve(t);return e.forEach(function(t){n=n.then(function(e){return i(e,t,o,r)})}),n})},shouldProcess:e,impl:{readUrls:n,inline:i}};function e(e){return-1!==e.search(o)}function n(e){for(var t,n=[];null!==(t=o.exec(e));)n.push(t[1]);return n.filter(function(e){return!f.isDataUrl(e)})}function i(n,o,t,e){return Promise.resolve(o).then(function(e){return t?f.resolveUrl(e,t):e}).then(e||f.getAndEncode).then(function(e){return n.replace((t=o,new RegExp(`(url\\(['"]?)(${f.escape(t)})(['"]?\\))`,"g")),`$1${e}$3`);var t})}})(),e={resolveAll:function(){return t().then(function(e){return Promise.all(e.map(function(e){return e.resolve()}))}).then(function(e){return e.join("\n")})},impl:{readAll:t}};function t(){return Promise.resolve(f.asArray(document.styleSheets)).then(function(e){let n=[];return e.forEach(function(t){if(Object.hasOwn(Object.getPrototypeOf(t),"cssRules"))try{f.asArray(t.cssRules||[]).forEach(n.push.bind(n))}catch(e){console.error("domtoimage: Error while reading CSS rules from "+t.href,e.toString())}}),n}).then(function(e){return e.filter(function(e){return e.type===CSSRule.FONT_FACE_RULE}).filter(function(e){return r.shouldProcess(e.style.getPropertyValue("src"))})}).then(function(e){return e.map(t)});function t(t){return{resolve:function(){var e=(t.parentStyleSheet||{}).href;return r.inlineAll(t.cssText,e)},src:function(){return t.style.getPropertyValue("src")}}}}let n={inlineAll:function t(e){if(!f.isElement(e))return Promise.resolve(e);return n(e).then(function(){return f.isHTMLImageElement(e)?o(e).inline():Promise.all(f.asArray(e.childNodes).map(function(e){return t(e)}))});function n(o){let e=["background","background-image"],t=e.map(function(t){let e=o.style.getPropertyValue(t),n=o.style.getPropertyPriority(t);return e?r.inlineAll(e).then(function(e){o.style.setProperty(t,e,n)}):Promise.resolve()});return Promise.all(t).then(function(){return o})}},impl:{newImage:o}};function o(n){return{inline:function(e){if(f.isDataUrl(n.src))return Promise.resolve();return Promise.resolve(n.src).then(e||f.getAndEncode).then(function(t){return new Promise(function(e){n.onload=e,n.onerror=e,n.src=t})})}}}let s={copyDefaultStyles:!0,imagePlaceholder:void 0,cacheBust:!1,useCredentials:!1,useCredentialsFilters:[],httpTimeout:3e4,styleCaching:"strict",corsImg:void 0,adjustClonedNode:void 0},a={toSvg:d,toPng:function(e,t){return i(e,t).then(function(e){return e.toDataURL()})},toJpeg:function(e,t){return i(e,t).then(function(e){return e.toDataURL("image/jpeg",(t?t.quality:void 0)||1)})},toBlob:function(e,t){return i(e,t).then(f.canvasToBlob)},toPixelData:function(t,e){return i(t,e).then(function(e){return e.getContext("2d").getImageData(0,0,f.width(t),f.height(t)).data})},toCanvas:i,impl:{fontFaces:e,images:n,util:f,inliner:r,urlCache:[],options:{}}},c=("object"==typeof exports&&"object"==typeof module?module.exports=a:l.domtoimage=a,("undefined"!=typeof Node?Node.ELEMENT_NODE:void 0)||1),m=(void 0!==l?l.getComputedStyle:void 0)||("undefined"!=typeof window?window.getComputedStyle:void 0)||globalThis.getComputedStyle,u=(void 0!==l?l.atob:void 0)||("undefined"!=typeof window?window.atob:void 0)||globalThis.atob;function d(e,r){let t=a.impl.util.getWindow(e);var n=r=r||{};void 0===n.copyDefaultStyles?a.impl.options.copyDefaultStyles=s.copyDefaultStyles:a.impl.options.copyDefaultStyles=n.copyDefaultStyles,a.impl.options.imagePlaceholder=(void 0===n.imagePlaceholder?s:n).imagePlaceholder,a.impl.options.cacheBust=(void 0===n.cacheBust?s:n).cacheBust,a.impl.options.corsImg=(void 0===n.corsImg?s:n).corsImg,a.impl.options.useCredentials=(void 0===n.useCredentials?s:n).useCredentials,a.impl.options.useCredentialsFilters=(void 0===n.useCredentialsFilters?s:n).useCredentialsFilters,a.impl.options.httpTimeout=(void 0===n.httpTimeout?s:n).httpTimeout,a.impl.options.styleCaching=(void 0===n.styleCaching?s:n).styleCaching;let i=[];return Promise.resolve(e).then(function(e){if(e.nodeType===c)return e;var t=e,n=e.parentNode,o=document.createElement("span");return n.replaceChild(o,t),o.append(e),i.push({parent:n,child:t,wrapper:o}),o}).then(function(e){return function l(t,s,r,u){let e=s.filter;if(t===h||f.isHTMLScriptElement(t)||f.isHTMLStyleElement(t)||f.isHTMLLinkElement(t)||null!==r&&e&&!e(t))return Promise.resolve();return Promise.resolve(t).then(n).then(o).then(function(e){return c(e,a(t))}).then(i).then(function(e){return d(e,t)});function n(e){return f.isHTMLCanvasElement(e)?f.makeImage(e.toDataURL()):e.cloneNode(!1)}function o(e){return s.adjustClonedNode&&s.adjustClonedNode(t,e,!1),Promise.resolve(e)}function i(e){return s.adjustClonedNode&&s.adjustClonedNode(t,e,!0),Promise.resolve(e)}function a(e){return f.isElementHostForOpenShadowRoot(e)?e.shadowRoot:e}function c(n,e){let o=t(e),r=Promise.resolve();if(0!==o.length){let t=m(i(e));f.asArray(o).forEach(function(e){r=r.then(function(){return l(e,s,t,u).then(function(e){e&&n.appendChild(e)})})})}return r.then(function(){return n});function i(e){return f.isShadowRoot(e)?e.host:e}function t(t){if(f.isShadowSlotElement(t)){let e=t.assignedNodes();if(e&&0t.style.removeProperty(e)),["left","right","top","bottom"].forEach(e=>{t.style.getPropertyValue(e)&&t.style.setProperty(e,"0px")})))}e(a,u)}function t(){let s=f.uid();function t(r){let i=m(a,r),l=i.getPropertyValue("content");if(""!==l&&"none"!==l){let e=u.getAttribute("class")||"",t=(u.setAttribute("class",e+" "+s),document.createElement("style"));function n(){let e=`.${s}:`+r,t=(i.cssText?n:o)();return document.createTextNode(e+`{${t}}`);function n(){return`${i.cssText} content: ${l};`}function o(){let e=f.asArray(i).map(t).join("; ");return e+";";function t(e){let t=i.getPropertyValue(e),n=i.getPropertyPriority(e)?" !important":"";return e+": "+t+n}}}t.appendChild(n()),u.appendChild(t)}}[":before",":after"].forEach(function(e){t(e)})}function n(){f.isHTMLTextAreaElement(a)&&(u.innerHTML=a.value),f.isHTMLInputElement(a)&&u.setAttribute("value",a.value)}function o(){f.isSVGElement(u)&&(u.setAttribute("xmlns","http://www.w3.org/2000/svg"),f.isSVGRectElement(u))&&["width","height"].forEach(function(e){let t=u.getAttribute(e);t&&u.style.setProperty(e,t)})}}}(e,r,null,t)}).then(r.disableEmbedFonts?Promise.resolve(e):p).then(g).then(function(t){r.bgcolor&&(t.style.backgroundColor=r.bgcolor);r.width&&(t.style.width=r.width+"px");r.height&&(t.style.height=r.height+"px");r.style&&Object.keys(r.style).forEach(function(e){t.style[e]=r.style[e]});let e=null;"function"==typeof r.onclone&&(e=r.onclone(t));return Promise.resolve(e).then(function(){return t})}).then(function(e){let n=r.width||f.width(e),o=r.height||f.height(e);return Promise.resolve(e).then(function(e){return e.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),(new XMLSerializer).serializeToString(e)}).then(f.escapeXhtml).then(function(e){var t=(f.isDimensionMissing(n)?' width="100%"':` width="${n}"`)+(f.isDimensionMissing(o)?' height="100%"':` height="${o}"`);return`${e}`}).then(function(e){return"data:image/svg+xml;charset=utf-8,"+e})}).then(function(e){for(;0{h&&(document.body.removeChild(h),h=null),w&&clearTimeout(w),w=setTimeout(()=>{w=null,v={}},2e4)})(),e})}function i(r,i){return d(r,i=i||{}).then(f.makeImage).then(function(e){var t="number"!=typeof i.scale?1:i.scale,n=((e,t)=>{let n=i.width||f.width(e),o=i.height||f.height(e);return f.isDimensionMissing(n)&&(n=f.isDimensionMissing(o)?300:2*o),f.isDimensionMissing(o)&&(o=n/2),(e=document.createElement("canvas")).width=n*t,e.height=o*t,i.bgcolor&&((t=e.getContext("2d")).fillStyle=i.bgcolor,t.fillRect(0,0,e.width,e.height)),e})(r,t),o=n.getContext("2d");return o.msImageSmoothingEnabled=!1,o.imageSmoothingEnabled=!1,e&&(o.scale(t,t),o.drawImage(e,0,0)),n})}let h=null;function p(n){return e.resolveAll().then(function(e){var t;return""!==e&&(t=document.createElement("style"),n.appendChild(t),t.appendChild(document.createTextNode(e))),n})}function g(e){return n.inlineAll(e).then(function(){return e})}function y(e,t,i,l,n){let s=a.impl.options.copyDefaultStyles?((t,e)=>{var n,o=(e=>("relaxed"!==t.styleCaching?e:e.filter((e,t,n)=>0===t||t===n.length-1)).join(">"))(e=(e=>{var t=[];do{if(e.nodeType===c){var n=e.tagName;if(t.push(n),E.includes(n))break}}while(e=e.parentNode);return t})(e));{if(v[o])return v[o];e=((e,t)=>{let n=e.body;do{var o=t.pop(),o=e.createElement(o);n.appendChild(o),n=o}while(0{if(h)return h.contentWindow;t=document.characterSet||"UTF-8",e=(e=document.doctype)?(`":"",(h=document.createElement("iframe")).id="domtoimage-sandbox-"+f.uid(),h.style.visibility="hidden",h.style.position="fixed",document.body.appendChild(h);var e,t,n=h,o="domtoimage-sandbox";try{return n.contentWindow.document.write(e+`${o}`),n.contentWindow}catch(e){}var r=document.createElement("meta");r.setAttribute("charset",t);try{var i=document.implementation.createHTMLDocument(o),l=(i.head.appendChild(r),e+i.documentElement.outerHTML);return n.setAttribute("srcdoc",l),n.contentWindow}catch(e){}return n.contentDocument.head.appendChild(r),n.contentDocument.title=o,n.contentWindow;function s(e){var t;return e?((t=document.createElement("div")).innerText=e,t.innerHTML):""}})()).document,e),n=((e,t)=>{let n={},o=e.getComputedStyle(t);return f.asArray(o).forEach(function(e){n[e]="width"===e||"height"===e?"auto":o.getPropertyValue(e)}),n})(n,e);var r=e;do{var i=r.parentElement;null!==i&&i.removeChild(r),r=i}while(r&&"BODY"!==r.tagName);return v[o]=n}})(e,t):{},u=n.style;f.asArray(i).forEach(function(e){var t,n=i.getPropertyValue(e),o=s[e],r=l?l.getPropertyValue(e):void 0;u.getPropertyValue(e)||(n!==o||l&&n!==r)&&(o=i.getPropertyPriority(e),r=u,n=n,o=o,t=0<=["background-clip"].indexOf(e=e),o?(r.setProperty(e,n,o),t&&r.setProperty("-webkit-"+e,n,o)):(r.setProperty(e,n),t&&r.setProperty("-webkit-"+e,n)))})}let w=null,v={},E=["ADDRESS","ARTICLE","ASIDE","BLOCKQUOTE","DETAILS","DIALOG","DD","DIV","DL","DT","FIELDSET","FIGCAPTION","FIGURE","FOOTER","FORM","H1","H2","H3","H4","H5","H6","HEADER","HGROUP","HR","LI","MAIN","NAV","OL","P","PRE","SECTION","SVG","TABLE","UL","math","svg","BODY","HEAD","HTML"]})(this); +/*! dom-to-image-more 29-08-2024 */ +(l=>{let f=(()=>{let e=0;return{escape:function(e){return e.replace(/([.*+?^${}()|[]\/\\])/g,"\\$1")},isDataUrl:function(e){return-1!==e.search(/^(data:)/)},canvasToBlob:function(t){if(t.toBlob)return new Promise(function(e){t.toBlob(e)});return(r=>new Promise(function(e){var t=u(r.toDataURL().split(",")[1]),n=t.length,o=new Uint8Array(n);for(let e=0;e0<=s.search(e)).length),a.impl.options.useCredentials&&(r.withCredentials=!0),a.impl.options.corsImg&&0===s.indexOf("http")&&-1===s.indexOf(window.location.origin)){var i="POST"===(a.impl.options.corsImg.method||"GET").toUpperCase()?"POST":"GET";r.open(i,(a.impl.options.corsImg.url||"").replace("#{cors}",s),!0);let t=!1,n=a.impl.options.corsImg.headers||{},o=(Object.keys(n).forEach(function(e){-1!==n[e].indexOf("application/json")&&(t=!0),r.setRequestHeader(e,n[e])}),(e=>{try{return JSON.parse(JSON.stringify(e))}catch(e){l("corsImg.data is missing or invalid:"+e.toString())}})(a.impl.options.corsImg.data||""));Object.keys(o).forEach(function(e){"string"==typeof o[e]&&(o[e]=o[e].replace("#{cors}",s))}),r.send(t?JSON.stringify(o):o)}else r.open("GET",s,!0),r.send();let n;function l(e){console.error(e),t("")}a.impl.options.imagePlaceholder&&(i=a.impl.options.imagePlaceholder.split(/,/))&&i[1]&&(n=i[1])}));return e.promise},uid:function(){return"u"+("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)+e++},delay:function(n){return function(t){return new Promise(function(e){setTimeout(function(){e(t)},n)})}},asArray:function(t){var n=[],o=t.length;for(let e=0;e{let o=/url\(['"]?([^'"]+?)['"]?\)/g;return{inlineAll:function(t,o,r){if(!e(t))return Promise.resolve(t);return Promise.resolve(t).then(n).then(function(e){let n=Promise.resolve(t);return e.forEach(function(t){n=n.then(function(e){return i(e,t,o,r)})}),n})},shouldProcess:e,impl:{readUrls:n,inline:i}};function e(e){return-1!==e.search(o)}function n(e){for(var t,n=[];null!==(t=o.exec(e));)n.push(t[1]);return n.filter(function(e){return!f.isDataUrl(e)})}function i(n,o,t,e){return Promise.resolve(o).then(function(e){return t?f.resolveUrl(e,t):e}).then(e||f.getAndEncode).then(function(e){return n.replace((t=o,new RegExp(`(url\\(['"]?)(${f.escape(t)})(['"]?\\))`,"g")),`$1${e}$3`);var t})}})(),e={resolveAll:function(){return t().then(function(e){return Promise.all(e.map(function(e){return e.resolve()}))}).then(function(e){return e.join("\n")})},impl:{readAll:t}};function t(){return Promise.resolve(f.asArray(document.styleSheets)).then(function(e){let n=[];return e.forEach(function(t){if("cssRules"in Object.getPrototypeOf(t))try{f.asArray(t.cssRules||[]).forEach(n.push.bind(n))}catch(e){console.error("domtoimage: Error while reading CSS rules from "+t.href,e.toString())}}),n}).then(function(e){return e.filter(function(e){return e.type===CSSRule.FONT_FACE_RULE}).filter(function(e){return r.shouldProcess(e.style.getPropertyValue("src"))})}).then(function(e){return e.map(t)});function t(t){return{resolve:function(){var e=(t.parentStyleSheet||{}).href;return r.inlineAll(t.cssText,e)},src:function(){return t.style.getPropertyValue("src")}}}}let n={inlineAll:function t(e){if(!f.isElement(e))return Promise.resolve(e);return n(e).then(function(){return f.isHTMLImageElement(e)?o(e).inline():Promise.all(f.asArray(e.childNodes).map(function(e){return t(e)}))});function n(o){let e=["background","background-image"],t=e.map(function(t){let e=o.style.getPropertyValue(t),n=o.style.getPropertyPriority(t);return e?r.inlineAll(e).then(function(e){o.style.setProperty(t,e,n)}):Promise.resolve()});return Promise.all(t).then(function(){return o})}},impl:{newImage:o}};function o(n){return{inline:function(e){if(f.isDataUrl(n.src))return Promise.resolve();return Promise.resolve(n.src).then(e||f.getAndEncode).then(function(t){return new Promise(function(e){n.onload=e,n.onerror=e,n.src=t})})}}}let s={copyDefaultStyles:!0,imagePlaceholder:void 0,cacheBust:!1,useCredentials:!1,useCredentialsFilters:[],httpTimeout:3e4,styleCaching:"strict",corsImg:void 0,adjustClonedNode:void 0},a={toSvg:d,toPng:function(e,t){return i(e,t).then(function(e){return e.toDataURL()})},toJpeg:function(e,t){return i(e,t).then(function(e){return e.toDataURL("image/jpeg",(t?t.quality:void 0)||1)})},toBlob:function(e,t){return i(e,t).then(f.canvasToBlob)},toPixelData:function(t,e){return i(t,e).then(function(e){return e.getContext("2d").getImageData(0,0,f.width(t),f.height(t)).data})},toCanvas:i,impl:{fontFaces:e,images:n,util:f,inliner:r,urlCache:[],options:{}}},c=("object"==typeof exports&&"object"==typeof module?module.exports=a:l.domtoimage=a,("undefined"!=typeof Node?Node.ELEMENT_NODE:void 0)||1),m=(void 0!==l?l.getComputedStyle:void 0)||("undefined"!=typeof window?window.getComputedStyle:void 0)||globalThis.getComputedStyle,u=(void 0!==l?l.atob:void 0)||("undefined"!=typeof window?window.atob:void 0)||globalThis.atob;function d(e,r){let t=a.impl.util.getWindow(e);var n=r=r||{};void 0===n.copyDefaultStyles?a.impl.options.copyDefaultStyles=s.copyDefaultStyles:a.impl.options.copyDefaultStyles=n.copyDefaultStyles,a.impl.options.imagePlaceholder=(void 0===n.imagePlaceholder?s:n).imagePlaceholder,a.impl.options.cacheBust=(void 0===n.cacheBust?s:n).cacheBust,a.impl.options.corsImg=(void 0===n.corsImg?s:n).corsImg,a.impl.options.useCredentials=(void 0===n.useCredentials?s:n).useCredentials,a.impl.options.useCredentialsFilters=(void 0===n.useCredentialsFilters?s:n).useCredentialsFilters,a.impl.options.httpTimeout=(void 0===n.httpTimeout?s:n).httpTimeout,a.impl.options.styleCaching=(void 0===n.styleCaching?s:n).styleCaching;let i=[];return Promise.resolve(e).then(function(e){if(e.nodeType===c)return e;var t=e,n=e.parentNode,o=document.createElement("span");return n.replaceChild(o,t),o.append(e),i.push({parent:n,child:t,wrapper:o}),o}).then(function(e){return function l(t,s,r,u){let e=s.filter;if(t===h||f.isHTMLScriptElement(t)||f.isHTMLStyleElement(t)||f.isHTMLLinkElement(t)||null!==r&&e&&!e(t))return Promise.resolve();return Promise.resolve(t).then(n).then(o).then(function(e){return c(e,a(t))}).then(i).then(function(e){return d(e,t)});function n(e){return f.isHTMLCanvasElement(e)?f.makeImage(e.toDataURL()):e.cloneNode(!1)}function o(e){return s.adjustClonedNode&&s.adjustClonedNode(t,e,!1),Promise.resolve(e)}function i(e){return s.adjustClonedNode&&s.adjustClonedNode(t,e,!0),Promise.resolve(e)}function a(e){return f.isElementHostForOpenShadowRoot(e)?e.shadowRoot:e}function c(n,e){let o=t(e),r=Promise.resolve();if(0!==o.length){let t=m(i(e));f.asArray(o).forEach(function(e){r=r.then(function(){return l(e,s,t,u).then(function(e){e&&n.appendChild(e)})})})}return r.then(function(){return n});function i(e){return f.isShadowRoot(e)?e.host:e}function t(t){if(f.isShadowSlotElement(t)){let e=t.assignedNodes();if(e&&0t.style.removeProperty(e)),["left","right","top","bottom"].forEach(e=>{t.style.getPropertyValue(e)&&t.style.setProperty(e,"0px")})))}e(a,u)}function t(){let s=f.uid();function t(r){let i=m(a,r),l=i.getPropertyValue("content");if(""!==l&&"none"!==l){let e=u.getAttribute("class")||"",t=(u.setAttribute("class",e+" "+s),document.createElement("style"));function n(){let e=`.${s}:`+r,t=(i.cssText?n:o)();return document.createTextNode(e+`{${t}}`);function n(){return`${i.cssText} content: ${l};`}function o(){let e=f.asArray(i).map(t).join("; ");return e+";";function t(e){let t=i.getPropertyValue(e),n=i.getPropertyPriority(e)?" !important":"";return e+": "+t+n}}}t.appendChild(n()),u.appendChild(t)}}[":before",":after"].forEach(function(e){t(e)})}function n(){f.isHTMLTextAreaElement(a)&&(u.innerHTML=a.value),f.isHTMLInputElement(a)&&u.setAttribute("value",a.value)}function o(){f.isSVGElement(u)&&(u.setAttribute("xmlns","http://www.w3.org/2000/svg"),f.isSVGRectElement(u))&&["width","height"].forEach(function(e){let t=u.getAttribute(e);t&&u.style.setProperty(e,t)})}}}(e,r,null,t)}).then(r.disableEmbedFonts?Promise.resolve(e):p).then(g).then(function(t){r.bgcolor&&(t.style.backgroundColor=r.bgcolor);r.width&&(t.style.width=r.width+"px");r.height&&(t.style.height=r.height+"px");r.style&&Object.keys(r.style).forEach(function(e){t.style[e]=r.style[e]});let e=null;"function"==typeof r.onclone&&(e=r.onclone(t));return Promise.resolve(e).then(function(){return t})}).then(function(e){let n=r.width||f.width(e),o=r.height||f.height(e);return Promise.resolve(e).then(function(e){return e.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),(new XMLSerializer).serializeToString(e)}).then(f.escapeXhtml).then(function(e){var t=(f.isDimensionMissing(n)?' width="100%"':` width="${n}"`)+(f.isDimensionMissing(o)?' height="100%"':` height="${o}"`);return`${e}`}).then(function(e){return"data:image/svg+xml;charset=utf-8,"+e})}).then(function(e){for(;0{h&&(document.body.removeChild(h),h=null),v&&clearTimeout(v),v=setTimeout(()=>{v=null,w={}},2e4)})(),e})}function i(r,i){return d(r,i=i||{}).then(f.makeImage).then(function(e){var t="number"!=typeof i.scale?1:i.scale,n=((e,t)=>{let n=i.width||f.width(e),o=i.height||f.height(e);return f.isDimensionMissing(n)&&(n=f.isDimensionMissing(o)?300:2*o),f.isDimensionMissing(o)&&(o=n/2),(e=document.createElement("canvas")).width=n*t,e.height=o*t,i.bgcolor&&((t=e.getContext("2d")).fillStyle=i.bgcolor,t.fillRect(0,0,e.width,e.height)),e})(r,t),o=n.getContext("2d");return o.msImageSmoothingEnabled=!1,o.imageSmoothingEnabled=!1,e&&(o.scale(t,t),o.drawImage(e,0,0)),n})}let h=null;function p(n){return e.resolveAll().then(function(e){var t;return""!==e&&(t=document.createElement("style"),n.appendChild(t),t.appendChild(document.createTextNode(e))),n})}function g(e){return n.inlineAll(e).then(function(){return e})}function y(e,t,i,l,n){let s=a.impl.options.copyDefaultStyles?((t,e)=>{var n,o=(e=>("relaxed"!==t.styleCaching?e:e.filter((e,t,n)=>0===t||t===n.length-1)).join(">"))(e=(e=>{var t=[];do{if(e.nodeType===c){var n=e.tagName;if(t.push(n),E.includes(n))break}}while(e=e.parentNode);return t})(e));{if(w[o])return w[o];e=((e,t)=>{let n=e.body;do{var o=t.pop(),o=e.createElement(o);n.appendChild(o),n=o}while(0{if(h)return h.contentWindow;t=document.characterSet||"UTF-8",e=(e=document.doctype)?(`":"",(h=document.createElement("iframe")).id="domtoimage-sandbox-"+f.uid(),h.style.visibility="hidden",h.style.position="fixed",document.body.appendChild(h);var e,t,n=h,o="domtoimage-sandbox";try{return n.contentWindow.document.write(e+`${o}`),n.contentWindow}catch(e){}var r=document.createElement("meta");r.setAttribute("charset",t);try{var i=document.implementation.createHTMLDocument(o),l=(i.head.appendChild(r),e+i.documentElement.outerHTML);return n.setAttribute("srcdoc",l),n.contentWindow}catch(e){}return n.contentDocument.head.appendChild(r),n.contentDocument.title=o,n.contentWindow;function s(e){var t;return e?((t=document.createElement("div")).innerText=e,t.innerHTML):""}})()).document,e),n=((e,t)=>{let n={},o=e.getComputedStyle(t);return f.asArray(o).forEach(function(e){n[e]="width"===e||"height"===e?"auto":o.getPropertyValue(e)}),n})(n,e);var r=e;do{var i=r.parentElement;null!==i&&i.removeChild(r),r=i}while(r&&"BODY"!==r.tagName);return w[o]=n}})(e,t):{},u=n.style;f.asArray(i).forEach(function(e){var t,n=i.getPropertyValue(e),o=s[e],r=l?l.getPropertyValue(e):void 0;u.getPropertyValue(e)||(n!==o||l&&n!==r)&&(o=i.getPropertyPriority(e),r=u,n=n,o=o,t=0<=["background-clip"].indexOf(e=e),o?(r.setProperty(e,n,o),t&&r.setProperty("-webkit-"+e,n,o)):(r.setProperty(e,n),t&&r.setProperty("-webkit-"+e,n)))})}let v=null,w={},E=["ADDRESS","ARTICLE","ASIDE","BLOCKQUOTE","DETAILS","DIALOG","DD","DIV","DL","DT","FIELDSET","FIGCAPTION","FIGURE","FOOTER","FORM","H1","H2","H3","H4","H5","H6","HEADER","HGROUP","HR","LI","MAIN","NAV","OL","P","PRE","SECTION","SVG","TABLE","UL","math","svg","BODY","HEAD","HTML"]})(this); //# sourceMappingURL=dom-to-image-more.min.js.map \ No newline at end of file diff --git a/dist/dom-to-image-more.min.js.map b/dist/dom-to-image-more.min.js.map index 33ad2233..e74bdb0a 100644 --- a/dist/dom-to-image-more.min.js.map +++ b/dist/dom-to-image-more.min.js.map @@ -1 +1 @@ -{"version":3,"file":"dom-to-image-more.min.js","sources":["../src/dom-to-image-more.js"],"names":["global","util","let","uid_index","escape","string","replace","isDataUrl","url","search","canvasToBlob","canvas","toBlob","Promise","resolve","binaryString","atob","toDataURL","split","length","binaryArray","Uint8Array","i","charCodeAt","Blob","type","resolveUrl","baseUrl","doc","document","implementation","createHTMLDocument","base","createElement","a","head","appendChild","body","href","getAndEncode","cacheEntry","domtoimage","impl","urlCache","find","el","promise","push","options","cacheBust","test","Date","getTime","httpTimeout","request","XMLHttpRequest","onreadystatechange","readyState","status","placeholder","fail","encoder","FileReader","onloadend","result","readAsDataURL","response","ontimeout","responseType","timeout","useCredentialsFilters","useCredentials","filter","credentialsFilter","withCredentials","corsImg","indexOf","window","location","origin","method","toUpperCase","open","isJson","headers","corsData","Object","keys","forEach","key","setRequestHeader","data","JSON","parse","stringify","e","toString","send","message","console","error","imagePlaceholder","uid","Math","random","pow","slice","delay","ms","arg","setTimeout","asArray","arrayLike","array","escapeXhtml","makeImage","uri","reject","image","Image","crossOrigin","onload","requestAnimationFrame","onerror","src","width","node","px","isNaN","leftBorder","rightBorder","scrollWidth","height","topBorder","bottomBorder","scrollHeight","getWindow","isElement","isElementHostForOpenShadowRoot","value","shadowRoot","isShadowRoot","isInShadowRoot","isHTMLElement","HTMLElement","isHTMLCanvasElement","HTMLCanvasElement","isHTMLInputElement","HTMLInputElement","isHTMLImageElement","HTMLImageElement","isHTMLLinkElement","HTMLLinkElement","isHTMLScriptElement","HTMLScriptElement","isHTMLStyleElement","HTMLStyleElement","isHTMLTextAreaElement","HTMLTextAreaElement","isShadowSlotElement","HTMLSlotElement","isSVGElement","SVGElement","isSVGRectElement","SVGRectElement","isDimensionMissing","ownerDocument","undefined","defaultView","ShadowRoot","hasOwn","getRootNode","Element","styleProperty","nodeType","ELEMENT_NODE","getComputedStyle","getPropertyValue","parseFloat","NaN","inliner","URL_REGEX","inlineAll","get","shouldProcess","then","readUrls","urls","done","prefix","inline","match","exec","urlValue","dataUrl","RegExp","fontFaces","resolveAll","readAll","webFonts","all","map","webFont","cssStrings","join","styleSheets","cssRules","sheet","getPrototypeOf","bind","rule","CSSRule","FONT_FACE_RULE","style","rules","newWebFont","webFontRule","parentStyleSheet","cssText","images","inlineCSSProperty","newImage","childNodes","child","properties","inliningTasks","propertyName","priority","getPropertyPriority","inlinedValue","setProperty","element","defaultOptions","copyDefaultStyles","styleCaching","adjustClonedNode","toSvg","toPng","draw","toJpeg","quality","toPixelData","getContext","getImageData","toCanvas","exports","module","Node","globalThis","ownerWindow","copyOptions","restorations","originalChild","originalParent","parentNode","wrappingSpan","replaceChild","append","parent","wrapper","clonee","cloneNode","parentComputedStyles","sandbox","makeNodeCopy","adjustCloneBefore","clone","cloneChildren","getParentOfChildren","adjustCloneAfter","processClone","original","originalChildren","getRenderedChildren","originalComputedStyles","getRenderedParent","clonedChild","host","assignedNodes","cloneStyle","clonePseudoElements","copyUserInput","fixSvg","copyFont","source","target","font","fontFamily","fontFeatureSettings","fontKerning","fontSize","fontStretch","fontStyle","fontVariant","fontVariantCaps","fontVariantEastAsian","fontVariantLigatures","fontVariantNumeric","fontVariationSettings","fontWeight","copyStyle","sourceElement","targetElement","sourceComputedStyles","copyUserComputedStyleFast","removeProperty","prop","cloneClassName","clonePseudoElement","content","currentClass","getAttribute","styleElement","setAttribute","formatPseudoElementStyle","selector","formatCssText","formatCssProperties","createTextNode","styleText","formatProperty","name","propertyValue","propertyPriority","innerHTML","attribute","disableEmbedFonts","embedFonts","inlineImages","bgcolor","backgroundColor","property","onCloneResult","onclone","svg","XMLSerializer","serializeToString","xhtml","foreignObjectSizing","restoration","pop","removeChild","removeDefaultStylesTimeoutId","clearTimeout","tagNameDefaultStyles","domNode","scale","ctx","fillStyle","fillRect","msImageSmoothingEnabled","imageSmoothingEnabled","drawImage","styleNode","defaultStyle","tagKey","tagHierarchy","_","sourceNode","tagNames","tagName","ascentStoppers","includes","defaultElement","sandboxDocument","childTagName","childElement","textContent","sandboxWindow","contentWindow","charsetToUse","characterSet","docTypeDeclaration","docType","doctype","escapeHTML","publicId","systemId","trim","id","visibility","position","tryTechniques","charset","title","write","metaCharset","sandboxHTML","documentElement","outerHTML","contentDocument","unsafeText","div","innerText","defaultComputedStyle","destroyElementHierarchy","parentElement","targetStyle","needs_prefixing","sourceValue","defaultValue","parentValue","this"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"dom-to-image-more.min.js","sources":["../src/dom-to-image-more.js"],"names":["global","util","let","uid_index","escape","string","replace","isDataUrl","url","search","canvasToBlob","canvas","toBlob","Promise","resolve","binaryString","atob","toDataURL","split","length","binaryArray","Uint8Array","i","charCodeAt","Blob","type","resolveUrl","baseUrl","doc","document","implementation","createHTMLDocument","base","createElement","a","head","appendChild","body","href","getAndEncode","cacheEntry","domtoimage","impl","urlCache","find","el","promise","push","options","cacheBust","test","Date","getTime","httpTimeout","request","XMLHttpRequest","onreadystatechange","readyState","status","placeholder","fail","encoder","FileReader","onloadend","result","readAsDataURL","response","ontimeout","responseType","timeout","useCredentialsFilters","useCredentials","filter","credentialsFilter","withCredentials","corsImg","indexOf","window","location","origin","method","toUpperCase","open","isJson","headers","corsData","Object","keys","forEach","key","setRequestHeader","data","JSON","parse","stringify","e","toString","send","message","console","error","imagePlaceholder","uid","Math","random","pow","slice","delay","ms","arg","setTimeout","asArray","arrayLike","array","escapeXhtml","makeImage","uri","reject","image","Image","crossOrigin","onload","requestAnimationFrame","onerror","src","width","node","px","isNaN","leftBorder","rightBorder","scrollWidth","height","topBorder","bottomBorder","scrollHeight","getWindow","isElement","isElementHostForOpenShadowRoot","value","shadowRoot","isShadowRoot","isInShadowRoot","isHTMLElement","HTMLElement","isHTMLCanvasElement","HTMLCanvasElement","isHTMLInputElement","HTMLInputElement","isHTMLImageElement","HTMLImageElement","isHTMLLinkElement","HTMLLinkElement","isHTMLScriptElement","HTMLScriptElement","isHTMLStyleElement","HTMLStyleElement","isHTMLTextAreaElement","HTMLTextAreaElement","isShadowSlotElement","HTMLSlotElement","isSVGElement","SVGElement","isSVGRectElement","SVGRectElement","isDimensionMissing","ownerDocument","undefined","defaultView","ShadowRoot","getRootNode","Element","styleProperty","nodeType","ELEMENT_NODE","getComputedStyle","getPropertyValue","parseFloat","NaN","inliner","URL_REGEX","inlineAll","get","shouldProcess","then","readUrls","urls","done","prefix","inline","match","exec","urlValue","dataUrl","RegExp","fontFaces","resolveAll","readAll","webFonts","all","map","webFont","cssStrings","join","styleSheets","cssRules","sheet","getPrototypeOf","bind","rule","CSSRule","FONT_FACE_RULE","style","rules","newWebFont","webFontRule","parentStyleSheet","cssText","images","inlineCSSProperty","newImage","childNodes","child","properties","inliningTasks","propertyName","priority","getPropertyPriority","inlinedValue","setProperty","element","defaultOptions","copyDefaultStyles","styleCaching","adjustClonedNode","toSvg","toPng","draw","toJpeg","quality","toPixelData","getContext","getImageData","toCanvas","exports","module","Node","globalThis","ownerWindow","copyOptions","restorations","originalChild","originalParent","parentNode","wrappingSpan","replaceChild","append","parent","wrapper","clonee","cloneNode","parentComputedStyles","sandbox","makeNodeCopy","adjustCloneBefore","clone","cloneChildren","getParentOfChildren","adjustCloneAfter","processClone","original","originalChildren","getRenderedChildren","originalComputedStyles","getRenderedParent","clonedChild","host","assignedNodes","cloneStyle","clonePseudoElements","copyUserInput","fixSvg","copyFont","source","target","font","fontFamily","fontFeatureSettings","fontKerning","fontSize","fontStretch","fontStyle","fontVariant","fontVariantCaps","fontVariantEastAsian","fontVariantLigatures","fontVariantNumeric","fontVariationSettings","fontWeight","copyStyle","sourceElement","targetElement","sourceComputedStyles","copyUserComputedStyleFast","removeProperty","prop","cloneClassName","clonePseudoElement","content","currentClass","getAttribute","styleElement","setAttribute","formatPseudoElementStyle","selector","formatCssText","formatCssProperties","createTextNode","styleText","formatProperty","name","propertyValue","propertyPriority","innerHTML","attribute","disableEmbedFonts","embedFonts","inlineImages","bgcolor","backgroundColor","property","onCloneResult","onclone","svg","XMLSerializer","serializeToString","xhtml","foreignObjectSizing","restoration","pop","removeChild","removeDefaultStylesTimeoutId","clearTimeout","tagNameDefaultStyles","domNode","scale","ctx","fillStyle","fillRect","msImageSmoothingEnabled","imageSmoothingEnabled","drawImage","styleNode","defaultStyle","tagKey","tagHierarchy","_","sourceNode","tagNames","tagName","ascentStoppers","includes","defaultElement","sandboxDocument","childTagName","childElement","textContent","sandboxWindow","contentWindow","charsetToUse","characterSet","docTypeDeclaration","docType","doctype","escapeHTML","publicId","systemId","trim","id","visibility","position","tryTechniques","charset","title","write","metaCharset","sandboxHTML","documentElement","outerHTML","contentDocument","unsafeText","div","innerText","defaultComputedStyle","destroyElementHierarchy","parentElement","targetStyle","needs_prefixing","sourceValue","defaultValue","parentValue","this"],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 77749461..0de5d363 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "dom-to-image-more", - "version": "3.4.2", + "version": "3.4.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "dom-to-image-more", - "version": "3.4.2", + "version": "3.4.3", "license": "MIT", "devDependencies": { "chai": "^4.3.10", @@ -228,9 +228,9 @@ } }, "node_modules/@types/node": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.0.tgz", - "integrity": "sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==", + "version": "22.5.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.1.tgz", + "integrity": "sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw==", "dev": true, "license": "MIT", "dependencies": { @@ -1189,9 +1189,9 @@ } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "license": "MIT", "engines": { @@ -4602,9 +4602,9 @@ } }, "node_modules/uglify-js": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.2.tgz", - "integrity": "sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", "dev": true, "license": "BSD-2-Clause", "bin": { diff --git a/package.json b/package.json index d9359e4a..92761872 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dom-to-image-more", - "version": "3.4.2", + "version": "3.4.3", "description": "Generates an image from a DOM node using HTML5 canvas and SVG", "main": "dist/dom-to-image-more.min.js", "devDependencies": { diff --git a/spec/dom-to-image-more.spec.js b/spec/dom-to-image-more.spec.js index 64ab26a3..dc95ba48 100644 --- a/spec/dom-to-image-more.spec.js +++ b/spec/dom-to-image-more.spec.js @@ -273,7 +273,11 @@ it('should render web fonts', function (done) { this.timeout(5000); - loadTestPage('fonts/dom-node.html','fonts/style.css', 'fonts/control-image') + loadTestPage( + 'fonts/dom-node.html', + 'fonts/style.css', + 'fonts/control-image' + ) .then(renderToPngAndCheck) .then(done) .catch(done); @@ -281,7 +285,11 @@ it('should not copy web font', function (done) { this.timeout(5000); - loadTestPage('fonts/dom-node.html', 'fonts/style.css', 'fonts/control-image-no-font') + loadTestPage( + 'fonts/dom-node.html', + 'fonts/style.css', + 'fonts/control-image-no-font' + ) .then(() => renderToPng(domNode(), { disableEmbedFonts: true })) .then(check) .then(done) @@ -595,7 +603,7 @@ ); function escapeImage(image) { - if (image.indexOf('image/svg') >= 0){ + if (image.indexOf('image/svg') >= 0) { const svgStart = image.indexOf(''); const prefix = image.substring(0, svgStart); @@ -613,45 +621,45 @@ function escapeHtml(string) { var str = '' + string; var match = matchHtmlRegExp.exec(str); - + if (!match) { return str; } - + var escape; var html = ''; var index = 0; var lastIndex = 0; - + for (index = match.index; index < str.length; index++) { switch (str.charCodeAt(index)) { - case 34: // " - escape = '"'; - break; - case 38: // & - escape = '&'; - break; - case 39: // ' - escape = '''; - break; - case 60: // < - escape = '<'; - break; - case 62: // > - escape = '>'; - break; - default: - continue; + case 34: // " + escape = '"'; + break; + case 38: // & + escape = '&'; + break; + case 39: // ' + escape = '''; + break; + case 60: // < + escape = '<'; + break; + case 62: // > + escape = '>'; + break; + default: + continue; } - + if (lastIndex !== index) { html += str.substring(lastIndex, index); } - + lastIndex = index + 1; html += escape; } - + return lastIndex !== index ? html + str.substring(lastIndex, index) : html; diff --git a/src/dom-to-image-more.js b/src/dom-to-image-more.js index 0844d1f0..2d5b2941 100644 --- a/src/dom-to-image-more.js +++ b/src/dom-to-image-more.js @@ -442,9 +442,8 @@ function getRenderedChildren(original) { if (util.isShadowSlotElement(original)) { const assignedNodes = original.assignedNodes(); - - if (assignedNodes && assignedNodes.length() > 0) - return assignedNodes; // shadow DOM has "assigned nodes" as rendered children + + if (assignedNodes && assignedNodes.length > 0) return assignedNodes; // shadow DOM has "assigned nodes" as rendered children } return original.childNodes; } @@ -666,7 +665,7 @@ function isInShadowRoot(value) { return ( value !== null && - Object.hasOwn(value, 'getRootNode') && + 'getRootNode' in value && isShadowRoot(value.getRootNode()) ); } @@ -1124,12 +1123,7 @@ function getCssRules(styleSheets) { const cssRules = []; styleSheets.forEach(function (sheet) { - if ( - Object.hasOwn( - Object.getPrototypeOf(sheet), - 'cssRules' - ) - ) { + if ('cssRules' in Object.getPrototypeOf(sheet)) { try { util.asArray(sheet.cssRules || []).forEach( cssRules.push.bind(cssRules)