{"version":3,"file":"static/js/vendors-cb2d071c.228c1c0c.js","mappings":"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","sources":["../node_modules/gradient-parser/build/node.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/html-to-image/src/util.ts","../node_modules/html-to-image/src/clone-pseudos.ts","../node_modules/html-to-image/src/mimes.ts","../node_modules/html-to-image/src/dataurl.ts","../node_modules/html-to-image/src/clone-node.ts","../node_modules/html-to-image/src/embed-resources.ts","../node_modules/html-to-image/src/embed-images.ts","../node_modules/html-to-image/src/embed-webfonts.ts","../node_modules/html-to-image/src/index.ts","../node_modules/html-to-image/src/apply-style.ts","../node_modules/highlight-words/dist/highlight-words.mjs"],"sourcesContent":["// Copyright (c) 2014 Rafael Caricio. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\nvar GradientParser = (GradientParser || {});\n\nGradientParser.stringify = (function() {\n\n var visitor = {\n\n 'visit_linear-gradient': function(node) {\n return visitor.visit_gradient(node);\n },\n\n 'visit_repeating-linear-gradient': function(node) {\n return visitor.visit_gradient(node);\n },\n\n 'visit_radial-gradient': function(node) {\n return visitor.visit_gradient(node);\n },\n\n 'visit_repeating-radial-gradient': function(node) {\n return visitor.visit_gradient(node);\n },\n\n 'visit_gradient': function(node) {\n var orientation = visitor.visit(node.orientation);\n if (orientation) {\n orientation += ', ';\n }\n\n return node.type + '(' + orientation + visitor.visit(node.colorStops) + ')';\n },\n\n 'visit_shape': function(node) {\n var result = node.value,\n at = visitor.visit(node.at),\n style = visitor.visit(node.style);\n\n if (style) {\n result += ' ' + style;\n }\n\n if (at) {\n result += ' at ' + at;\n }\n\n return result;\n },\n\n 'visit_default-radial': function(node) {\n var result = '',\n at = visitor.visit(node.at);\n\n if (at) {\n result += at;\n }\n return result;\n },\n\n 'visit_extent-keyword': function(node) {\n var result = node.value,\n at = visitor.visit(node.at);\n\n if (at) {\n result += ' at ' + at;\n }\n\n return result;\n },\n\n 'visit_position-keyword': function(node) {\n return node.value;\n },\n\n 'visit_position': function(node) {\n return visitor.visit(node.value.x) + ' ' + visitor.visit(node.value.y);\n },\n\n 'visit_%': function(node) {\n return node.value + '%';\n },\n\n 'visit_em': function(node) {\n return node.value + 'em';\n },\n\n 'visit_px': function(node) {\n return node.value + 'px';\n },\n\n 'visit_literal': function(node) {\n return visitor.visit_color(node.value, node);\n },\n\n 'visit_hex': function(node) {\n return visitor.visit_color('#' + node.value, node);\n },\n\n 'visit_rgb': function(node) {\n return visitor.visit_color('rgb(' + node.value.join(', ') + ')', node);\n },\n\n 'visit_rgba': function(node) {\n return visitor.visit_color('rgba(' + node.value.join(', ') + ')', node);\n },\n\n 'visit_color': function(resultColor, node) {\n var result = resultColor,\n length = visitor.visit(node.length);\n\n if (length) {\n result += ' ' + length;\n }\n return result;\n },\n\n 'visit_angular': function(node) {\n return node.value + 'deg';\n },\n\n 'visit_directional': function(node) {\n return 'to ' + node.value;\n },\n\n 'visit_array': function(elements) {\n var result = '',\n size = elements.length;\n\n elements.forEach(function(element, i) {\n result += visitor.visit(element);\n if (i < size - 1) {\n result += ', ';\n }\n });\n\n return result;\n },\n\n 'visit': function(element) {\n if (!element) {\n return '';\n }\n var result = '';\n\n if (element instanceof Array) {\n return visitor.visit_array(element, result);\n } else if (element.type) {\n var nodeVisitor = visitor['visit_' + element.type];\n if (nodeVisitor) {\n return nodeVisitor(element);\n } else {\n throw Error('Missing visitor visit_' + element.type);\n }\n } else {\n throw Error('Invalid node.');\n }\n }\n\n };\n\n return function(root) {\n return visitor.visit(root);\n };\n})();\n\n// Copyright (c) 2014 Rafael Caricio. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\nvar GradientParser = (GradientParser || {});\n\nGradientParser.parse = (function() {\n\n var tokens = {\n linearGradient: /^(\\-(webkit|o|ms|moz)\\-)?(linear\\-gradient)/i,\n repeatingLinearGradient: /^(\\-(webkit|o|ms|moz)\\-)?(repeating\\-linear\\-gradient)/i,\n radialGradient: /^(\\-(webkit|o|ms|moz)\\-)?(radial\\-gradient)/i,\n repeatingRadialGradient: /^(\\-(webkit|o|ms|moz)\\-)?(repeating\\-radial\\-gradient)/i,\n sideOrCorner: /^to (left (top|bottom)|right (top|bottom)|left|right|top|bottom)/i,\n extentKeywords: /^(closest\\-side|closest\\-corner|farthest\\-side|farthest\\-corner|contain|cover)/,\n positionKeywords: /^(left|center|right|top|bottom)/i,\n pixelValue: /^(-?(([0-9]*\\.[0-9]+)|([0-9]+\\.?)))px/,\n percentageValue: /^(-?(([0-9]*\\.[0-9]+)|([0-9]+\\.?)))\\%/,\n emValue: /^(-?(([0-9]*\\.[0-9]+)|([0-9]+\\.?)))em/,\n angleValue: /^(-?(([0-9]*\\.[0-9]+)|([0-9]+\\.?)))deg/,\n startCall: /^\\(/,\n endCall: /^\\)/,\n comma: /^,/,\n hexColor: /^\\#([0-9a-fA-F]+)/,\n literalColor: /^([a-zA-Z]+)/,\n rgbColor: /^rgb/i,\n rgbaColor: /^rgba/i,\n number: /^(([0-9]*\\.[0-9]+)|([0-9]+\\.?))/\n };\n\n var input = '';\n\n function error(msg) {\n var err = new Error(input + ': ' + msg);\n err.source = input;\n throw err;\n }\n\n function getAST() {\n var ast = matchListDefinitions();\n\n if (input.length > 0) {\n error('Invalid input not EOF');\n }\n\n return ast;\n }\n\n function matchListDefinitions() {\n return matchListing(matchDefinition);\n }\n\n function matchDefinition() {\n return matchGradient(\n 'linear-gradient',\n tokens.linearGradient,\n matchLinearOrientation) ||\n\n matchGradient(\n 'repeating-linear-gradient',\n tokens.repeatingLinearGradient,\n matchLinearOrientation) ||\n\n matchGradient(\n 'radial-gradient',\n tokens.radialGradient,\n matchListRadialOrientations) ||\n\n matchGradient(\n 'repeating-radial-gradient',\n tokens.repeatingRadialGradient,\n matchListRadialOrientations);\n }\n\n function matchGradient(gradientType, pattern, orientationMatcher) {\n return matchCall(pattern, function(captures) {\n\n var orientation = orientationMatcher();\n if (orientation) {\n if (!scan(tokens.comma)) {\n error('Missing comma before color stops');\n }\n }\n\n return {\n type: gradientType,\n orientation: orientation,\n colorStops: matchListing(matchColorStop)\n };\n });\n }\n\n function matchCall(pattern, callback) {\n var captures = scan(pattern);\n\n if (captures) {\n if (!scan(tokens.startCall)) {\n error('Missing (');\n }\n\n var result = callback(captures);\n\n if (!scan(tokens.endCall)) {\n error('Missing )');\n }\n\n return result;\n }\n }\n\n function matchLinearOrientation() {\n return matchSideOrCorner() ||\n matchAngle();\n }\n\n function matchSideOrCorner() {\n return match('directional', tokens.sideOrCorner, 1);\n }\n\n function matchAngle() {\n return match('angular', tokens.angleValue, 1);\n }\n\n function matchListRadialOrientations() {\n var radialOrientations,\n radialOrientation = matchRadialOrientation(),\n lookaheadCache;\n\n if (radialOrientation) {\n radialOrientations = [];\n radialOrientations.push(radialOrientation);\n\n lookaheadCache = input;\n if (scan(tokens.comma)) {\n radialOrientation = matchRadialOrientation();\n if (radialOrientation) {\n radialOrientations.push(radialOrientation);\n } else {\n input = lookaheadCache;\n }\n }\n }\n\n return radialOrientations;\n }\n\n function matchRadialOrientation() {\n var radialType = matchCircle() ||\n matchEllipse();\n\n if (radialType) {\n radialType.at = matchAtPosition();\n } else {\n var extent = matchExtentKeyword();\n if (extent) {\n radialType = extent;\n var positionAt = matchAtPosition();\n if (positionAt) {\n radialType.at = positionAt;\n }\n } else {\n var defaultPosition = matchPositioning();\n if (defaultPosition) {\n radialType = {\n type: 'default-radial',\n at: defaultPosition\n };\n }\n }\n }\n\n return radialType;\n }\n\n function matchCircle() {\n var circle = match('shape', /^(circle)/i, 0);\n\n if (circle) {\n circle.style = matchLength() || matchExtentKeyword();\n }\n\n return circle;\n }\n\n function matchEllipse() {\n var ellipse = match('shape', /^(ellipse)/i, 0);\n\n if (ellipse) {\n ellipse.style = matchDistance() || matchExtentKeyword();\n }\n\n return ellipse;\n }\n\n function matchExtentKeyword() {\n return match('extent-keyword', tokens.extentKeywords, 1);\n }\n\n function matchAtPosition() {\n if (match('position', /^at/, 0)) {\n var positioning = matchPositioning();\n\n if (!positioning) {\n error('Missing positioning value');\n }\n\n return positioning;\n }\n }\n\n function matchPositioning() {\n var location = matchCoordinates();\n\n if (location.x || location.y) {\n return {\n type: 'position',\n value: location\n };\n }\n }\n\n function matchCoordinates() {\n return {\n x: matchDistance(),\n y: matchDistance()\n };\n }\n\n function matchListing(matcher) {\n var captures = matcher(),\n result = [];\n\n if (captures) {\n result.push(captures);\n while (scan(tokens.comma)) {\n captures = matcher();\n if (captures) {\n result.push(captures);\n } else {\n error('One extra comma');\n }\n }\n }\n\n return result;\n }\n\n function matchColorStop() {\n var color = matchColor();\n\n if (!color) {\n error('Expected color definition');\n }\n\n color.length = matchDistance();\n return color;\n }\n\n function matchColor() {\n return matchHexColor() ||\n matchRGBAColor() ||\n matchRGBColor() ||\n matchLiteralColor();\n }\n\n function matchLiteralColor() {\n return match('literal', tokens.literalColor, 0);\n }\n\n function matchHexColor() {\n return match('hex', tokens.hexColor, 1);\n }\n\n function matchRGBColor() {\n return matchCall(tokens.rgbColor, function() {\n return {\n type: 'rgb',\n value: matchListing(matchNumber)\n };\n });\n }\n\n function matchRGBAColor() {\n return matchCall(tokens.rgbaColor, function() {\n return {\n type: 'rgba',\n value: matchListing(matchNumber)\n };\n });\n }\n\n function matchNumber() {\n return scan(tokens.number)[1];\n }\n\n function matchDistance() {\n return match('%', tokens.percentageValue, 1) ||\n matchPositionKeyword() ||\n matchLength();\n }\n\n function matchPositionKeyword() {\n return match('position-keyword', tokens.positionKeywords, 1);\n }\n\n function matchLength() {\n return match('px', tokens.pixelValue, 1) ||\n match('em', tokens.emValue, 1);\n }\n\n function match(type, pattern, captureIndex) {\n var captures = scan(pattern);\n if (captures) {\n return {\n type: type,\n value: captures[captureIndex]\n };\n }\n }\n\n function scan(regexp) {\n var captures,\n blankCaptures;\n\n blankCaptures = /^[\\n\\r\\t\\s]+/.exec(input);\n if (blankCaptures) {\n consume(blankCaptures[0].length);\n }\n\n captures = regexp.exec(input);\n if (captures) {\n consume(captures[0].length);\n }\n\n return captures;\n }\n\n function consume(size) {\n input = input.substr(size);\n }\n\n return function(code) {\n input = code.toString();\n return getAST();\n };\n})();\n\nexports.parse = GradientParser.parse;\nexports.stringify = GradientParser.stringify;\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import type { Options } from './types'\n\nexport function resolveUrl(url: string, baseUrl: string | null): string {\n // url is absolute already\n if (url.match(/^[a-z]+:\\/\\//i)) {\n return url\n }\n\n // url is absolute already, without protocol\n if (url.match(/^\\/\\//)) {\n return window.location.protocol + url\n }\n\n // dataURI, mailto:, tel:, etc.\n if (url.match(/^[a-z]+:/i)) {\n return url\n }\n\n const doc = document.implementation.createHTMLDocument()\n const base = doc.createElement('base')\n const a = doc.createElement('a')\n\n doc.head.appendChild(base)\n doc.body.appendChild(a)\n\n if (baseUrl) {\n base.href = baseUrl\n }\n\n a.href = url\n\n return a.href\n}\n\nexport const uuid = (() => {\n // generate uuid for className of pseudo elements.\n // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.\n let counter = 0\n\n // ref: http://stackoverflow.com/a/6248722/2519373\n const random = () =>\n // eslint-disable-next-line no-bitwise\n `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4)\n\n return () => {\n counter += 1\n return `u${random()}${counter}`\n }\n})()\n\nexport function delay(ms: number) {\n return (args: T) =>\n new Promise((resolve) => {\n setTimeout(() => resolve(args), ms)\n })\n}\n\nexport function toArray(arrayLike: any): T[] {\n const arr: T[] = []\n\n for (let i = 0, l = arrayLike.length; i < l; i++) {\n arr.push(arrayLike[i])\n }\n\n return arr\n}\n\nfunction px(node: HTMLElement, styleProperty: string) {\n const win = node.ownerDocument.defaultView || window\n const val = win.getComputedStyle(node).getPropertyValue(styleProperty)\n return val ? parseFloat(val.replace('px', '')) : 0\n}\n\nfunction getNodeWidth(node: HTMLElement) {\n const leftBorder = px(node, 'border-left-width')\n const rightBorder = px(node, 'border-right-width')\n return node.clientWidth + leftBorder + rightBorder\n}\n\nfunction getNodeHeight(node: HTMLElement) {\n const topBorder = px(node, 'border-top-width')\n const bottomBorder = px(node, 'border-bottom-width')\n return node.clientHeight + topBorder + bottomBorder\n}\n\nexport function getImageSize(targetNode: HTMLElement, options: Options = {}) {\n const width = options.width || getNodeWidth(targetNode)\n const height = options.height || getNodeHeight(targetNode)\n\n return { width, height }\n}\n\nexport function getPixelRatio() {\n let ratio\n\n let FINAL_PROCESS\n try {\n FINAL_PROCESS = process\n } catch (e) {\n // pass\n }\n\n const val =\n FINAL_PROCESS && FINAL_PROCESS.env\n ? FINAL_PROCESS.env.devicePixelRatio\n : null\n if (val) {\n ratio = parseInt(val, 10)\n if (Number.isNaN(ratio)) {\n ratio = 1\n }\n }\n return ratio || window.devicePixelRatio || 1\n}\n\n// @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size\nconst canvasDimensionLimit = 16384\n\nexport function checkCanvasDimensions(canvas: HTMLCanvasElement) {\n if (\n canvas.width > canvasDimensionLimit ||\n canvas.height > canvasDimensionLimit\n ) {\n if (\n canvas.width > canvasDimensionLimit &&\n canvas.height > canvasDimensionLimit\n ) {\n if (canvas.width > canvas.height) {\n canvas.height *= canvasDimensionLimit / canvas.width\n canvas.width = canvasDimensionLimit\n } else {\n canvas.width *= canvasDimensionLimit / canvas.height\n canvas.height = canvasDimensionLimit\n }\n } else if (canvas.width > canvasDimensionLimit) {\n canvas.height *= canvasDimensionLimit / canvas.width\n canvas.width = canvasDimensionLimit\n } else {\n canvas.width *= canvasDimensionLimit / canvas.height\n canvas.height = canvasDimensionLimit\n }\n }\n}\n\nexport function canvasToBlob(\n canvas: HTMLCanvasElement,\n options: Options = {},\n): Promise {\n if (canvas.toBlob) {\n return new Promise((resolve) => {\n canvas.toBlob(\n resolve,\n options.type ? options.type : 'image/png',\n options.quality ? options.quality : 1,\n )\n })\n }\n\n return new Promise((resolve) => {\n const binaryString = window.atob(\n canvas\n .toDataURL(\n options.type ? options.type : undefined,\n options.quality ? options.quality : undefined,\n )\n .split(',')[1],\n )\n const len = binaryString.length\n const binaryArray = new Uint8Array(len)\n\n for (let i = 0; i < len; i += 1) {\n binaryArray[i] = binaryString.charCodeAt(i)\n }\n\n resolve(\n new Blob([binaryArray], {\n type: options.type ? options.type : 'image/png',\n }),\n )\n })\n}\n\nexport function createImage(url: string): Promise {\n return new Promise((resolve, reject) => {\n const img = new Image()\n img.decode = () => resolve(img) as any\n img.onload = () => resolve(img)\n img.onerror = reject\n img.crossOrigin = 'anonymous'\n img.decoding = 'async'\n img.src = url\n })\n}\n\nexport async function svgToDataURL(svg: SVGElement): Promise {\n return Promise.resolve()\n .then(() => new XMLSerializer().serializeToString(svg))\n .then(encodeURIComponent)\n .then((html) => `data:image/svg+xml;charset=utf-8,${html}`)\n}\n\nexport async function nodeToDataURL(\n node: HTMLElement,\n width: number,\n height: number,\n): Promise {\n const xmlns = 'http://www.w3.org/2000/svg'\n const svg = document.createElementNS(xmlns, 'svg')\n const foreignObject = document.createElementNS(xmlns, 'foreignObject')\n\n svg.setAttribute('width', `${width}`)\n svg.setAttribute('height', `${height}`)\n svg.setAttribute('viewBox', `0 0 ${width} ${height}`)\n\n foreignObject.setAttribute('width', '100%')\n foreignObject.setAttribute('height', '100%')\n foreignObject.setAttribute('x', '0')\n foreignObject.setAttribute('y', '0')\n foreignObject.setAttribute('externalResourcesRequired', 'true')\n\n svg.appendChild(foreignObject)\n foreignObject.appendChild(node)\n return svgToDataURL(svg)\n}\n\nexport const isInstanceOfElement = <\n T extends typeof Element | typeof HTMLElement | typeof SVGImageElement,\n>(\n node: Element | HTMLElement | SVGImageElement,\n instance: T,\n): node is T['prototype'] => {\n if (node instanceof instance) return true\n\n const nodePrototype = Object.getPrototypeOf(node)\n\n if (nodePrototype === null) return false\n\n return (\n nodePrototype.constructor.name === instance.name ||\n isInstanceOfElement(nodePrototype, instance)\n )\n}\n","import { uuid, toArray } from './util'\n\ntype Pseudo = ':before' | ':after'\n\nfunction formatCSSText(style: CSSStyleDeclaration) {\n const content = style.getPropertyValue('content')\n return `${style.cssText} content: '${content.replace(/'|\"/g, '')}';`\n}\n\nfunction formatCSSProperties(style: CSSStyleDeclaration) {\n return toArray(style)\n .map((name) => {\n const value = style.getPropertyValue(name)\n const priority = style.getPropertyPriority(name)\n\n return `${name}: ${value}${priority ? ' !important' : ''};`\n })\n .join(' ')\n}\n\nfunction getPseudoElementStyle(\n className: string,\n pseudo: Pseudo,\n style: CSSStyleDeclaration,\n): Text {\n const selector = `.${className}:${pseudo}`\n const cssText = style.cssText\n ? formatCSSText(style)\n : formatCSSProperties(style)\n\n return document.createTextNode(`${selector}{${cssText}}`)\n}\n\nfunction clonePseudoElement(\n nativeNode: T,\n clonedNode: T,\n pseudo: Pseudo,\n) {\n const style = window.getComputedStyle(nativeNode, pseudo)\n const content = style.getPropertyValue('content')\n if (content === '' || content === 'none') {\n return\n }\n\n const className = uuid()\n try {\n clonedNode.className = `${clonedNode.className} ${className}`\n } catch (err) {\n return\n }\n\n const styleElement = document.createElement('style')\n styleElement.appendChild(getPseudoElementStyle(className, pseudo, style))\n clonedNode.appendChild(styleElement)\n}\n\nexport function clonePseudoElements(\n nativeNode: T,\n clonedNode: T,\n) {\n clonePseudoElement(nativeNode, clonedNode, ':before')\n clonePseudoElement(nativeNode, clonedNode, ':after')\n}\n","const WOFF = 'application/font-woff'\nconst JPEG = 'image/jpeg'\nconst mimes: { [key: string]: string } = {\n woff: WOFF,\n woff2: WOFF,\n ttf: 'application/font-truetype',\n eot: 'application/vnd.ms-fontobject',\n png: 'image/png',\n jpg: JPEG,\n jpeg: JPEG,\n gif: 'image/gif',\n tiff: 'image/tiff',\n svg: 'image/svg+xml',\n webp: 'image/webp',\n}\n\nfunction getExtension(url: string): string {\n const match = /\\.([^./]*?)$/g.exec(url)\n return match ? match[1] : ''\n}\n\nexport function getMimeType(url: string): string {\n const extension = getExtension(url).toLowerCase()\n return mimes[extension] || ''\n}\n","import { Options } from './types'\n\nfunction getContentFromDataUrl(dataURL: string) {\n return dataURL.split(/,/)[1]\n}\n\nexport function isDataUrl(url: string) {\n return url.search(/^(data:)/) !== -1\n}\n\nexport function makeDataUrl(content: string, mimeType: string) {\n return `data:${mimeType};base64,${content}`\n}\n\nexport async function fetchAsDataURL(\n url: string,\n init: RequestInit | undefined,\n process: (data: { result: string; res: Response }) => T,\n): Promise {\n const res = await fetch(url, init)\n if (res.status === 404) {\n throw new Error(`Resource \"${res.url}\" not found`)\n }\n const blob = await res.blob()\n return new Promise((resolve, reject) => {\n const reader = new FileReader()\n reader.onerror = reject\n reader.onloadend = () => {\n try {\n resolve(process({ res, result: reader.result as string }))\n } catch (error) {\n reject(error)\n }\n }\n\n reader.readAsDataURL(blob)\n })\n}\n\nconst cache: { [url: string]: string } = {}\n\nfunction getCacheKey(\n url: string,\n contentType: string | undefined,\n includeQueryParams: boolean | undefined,\n) {\n let key = url.replace(/\\?.*/, '')\n\n if (includeQueryParams) {\n key = url\n }\n\n // font resource\n if (/ttf|otf|eot|woff2?/i.test(key)) {\n key = key.replace(/.*\\//, '')\n }\n\n return contentType ? `[${contentType}]${key}` : key\n}\n\nexport async function resourceToDataURL(\n resourceUrl: string,\n contentType: string | undefined,\n options: Options,\n) {\n const cacheKey = getCacheKey(\n resourceUrl,\n contentType,\n options.includeQueryParams,\n )\n\n if (cache[cacheKey] != null) {\n return cache[cacheKey]\n }\n\n // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache\n if (options.cacheBust) {\n // eslint-disable-next-line no-param-reassign\n resourceUrl += (/\\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime()\n }\n\n let dataURL: string\n try {\n const content = await fetchAsDataURL(\n resourceUrl,\n options.fetchRequestInit,\n ({ res, result }) => {\n if (!contentType) {\n // eslint-disable-next-line no-param-reassign\n contentType = res.headers.get('Content-Type') || ''\n }\n return getContentFromDataUrl(result)\n },\n )\n dataURL = makeDataUrl(content, contentType!)\n } catch (error) {\n dataURL = options.imagePlaceholder || ''\n\n let msg = `Failed to fetch resource: ${resourceUrl}`\n if (error) {\n msg = typeof error === 'string' ? error : error.message\n }\n\n if (msg) {\n console.warn(msg)\n }\n }\n\n cache[cacheKey] = dataURL\n return dataURL\n}\n","import type { Options } from './types'\nimport { clonePseudoElements } from './clone-pseudos'\nimport { createImage, toArray, isInstanceOfElement } from './util'\nimport { getMimeType } from './mimes'\nimport { resourceToDataURL } from './dataurl'\n\nasync function cloneCanvasElement(canvas: HTMLCanvasElement) {\n const dataURL = canvas.toDataURL()\n if (dataURL === 'data:,') {\n return canvas.cloneNode(false) as HTMLCanvasElement\n }\n return createImage(dataURL)\n}\n\nasync function cloneVideoElement(video: HTMLVideoElement, options: Options) {\n if (video.currentSrc) {\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n canvas.width = video.clientWidth\n canvas.height = video.clientHeight\n ctx?.drawImage(video, 0, 0, canvas.width, canvas.height)\n const dataURL = canvas.toDataURL()\n return createImage(dataURL)\n }\n\n const poster = video.poster\n const contentType = getMimeType(poster)\n const dataURL = await resourceToDataURL(poster, contentType, options)\n return createImage(dataURL)\n}\n\nasync function cloneIFrameElement(iframe: HTMLIFrameElement) {\n try {\n if (iframe?.contentDocument?.body) {\n return (await cloneNode(\n iframe.contentDocument.body,\n {},\n true,\n )) as HTMLBodyElement\n }\n } catch {\n // Failed to clone iframe\n }\n\n return iframe.cloneNode(false) as HTMLIFrameElement\n}\n\nasync function cloneSingleNode(\n node: T,\n options: Options,\n): Promise {\n if (isInstanceOfElement(node, HTMLCanvasElement)) {\n return cloneCanvasElement(node)\n }\n\n if (isInstanceOfElement(node, HTMLVideoElement)) {\n return cloneVideoElement(node, options)\n }\n\n if (isInstanceOfElement(node, HTMLIFrameElement)) {\n return cloneIFrameElement(node)\n }\n\n return node.cloneNode(false) as T\n}\n\nconst isSlotElement = (node: HTMLElement): node is HTMLSlotElement =>\n node.tagName != null && node.tagName.toUpperCase() === 'SLOT'\n\nasync function cloneChildren(\n nativeNode: T,\n clonedNode: T,\n options: Options,\n): Promise {\n let children: T[] = []\n\n if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {\n children = toArray(nativeNode.assignedNodes())\n } else if (\n isInstanceOfElement(nativeNode, HTMLIFrameElement) &&\n nativeNode.contentDocument?.body\n ) {\n children = toArray(nativeNode.contentDocument.body.childNodes)\n } else {\n children = toArray((nativeNode.shadowRoot ?? nativeNode).childNodes)\n }\n\n if (\n children.length === 0 ||\n isInstanceOfElement(nativeNode, HTMLVideoElement)\n ) {\n return clonedNode\n }\n\n await children.reduce(\n (deferred, child) =>\n deferred\n .then(() => cloneNode(child, options))\n .then((clonedChild: HTMLElement | null) => {\n if (clonedChild) {\n clonedNode.appendChild(clonedChild)\n }\n }),\n Promise.resolve(),\n )\n\n return clonedNode\n}\n\nfunction cloneCSSStyle(nativeNode: T, clonedNode: T) {\n const targetStyle = clonedNode.style\n if (!targetStyle) {\n return\n }\n\n const sourceStyle = window.getComputedStyle(nativeNode)\n if (sourceStyle.cssText) {\n targetStyle.cssText = sourceStyle.cssText\n targetStyle.transformOrigin = sourceStyle.transformOrigin\n } else {\n toArray(sourceStyle).forEach((name) => {\n let value = sourceStyle.getPropertyValue(name)\n if (name === 'font-size' && value.endsWith('px')) {\n const reducedFont =\n Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1\n value = `${reducedFont}px`\n }\n\n if (\n isInstanceOfElement(nativeNode, HTMLIFrameElement) &&\n name === 'display' &&\n value === 'inline'\n ) {\n value = 'block'\n }\n \n if (name === 'd' && clonedNode.getAttribute('d')) {\n value = `path(${clonedNode.getAttribute('d')})`\n }\n \n targetStyle.setProperty(\n name,\n value,\n sourceStyle.getPropertyPriority(name),\n )\n })\n }\n}\n\nfunction cloneInputValue(nativeNode: T, clonedNode: T) {\n if (isInstanceOfElement(nativeNode, HTMLTextAreaElement)) {\n clonedNode.innerHTML = nativeNode.value\n }\n\n if (isInstanceOfElement(nativeNode, HTMLInputElement)) {\n clonedNode.setAttribute('value', nativeNode.value)\n }\n}\n\nfunction cloneSelectValue(nativeNode: T, clonedNode: T) {\n if (isInstanceOfElement(nativeNode, HTMLSelectElement)) {\n const clonedSelect = clonedNode as any as HTMLSelectElement\n const selectedOption = Array.from(clonedSelect.children).find(\n (child) => nativeNode.value === child.getAttribute('value'),\n )\n\n if (selectedOption) {\n selectedOption.setAttribute('selected', '')\n }\n }\n}\n\nfunction decorate(nativeNode: T, clonedNode: T): T {\n if (isInstanceOfElement(clonedNode, Element)) {\n cloneCSSStyle(nativeNode, clonedNode)\n clonePseudoElements(nativeNode, clonedNode)\n cloneInputValue(nativeNode, clonedNode)\n cloneSelectValue(nativeNode, clonedNode)\n }\n\n return clonedNode\n}\n\nasync function ensureSVGSymbols(\n clone: T,\n options: Options,\n) {\n const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : []\n if (uses.length === 0) {\n return clone\n }\n\n const processedDefs: { [key: string]: HTMLElement } = {}\n for (let i = 0; i < uses.length; i++) {\n const use = uses[i]\n const id = use.getAttribute('xlink:href')\n if (id) {\n const exist = clone.querySelector(id)\n const definition = document.querySelector(id) as HTMLElement\n if (!exist && definition && !processedDefs[id]) {\n // eslint-disable-next-line no-await-in-loop\n processedDefs[id] = (await cloneNode(definition, options, true))!\n }\n }\n }\n\n const nodes = Object.values(processedDefs)\n if (nodes.length) {\n const ns = 'http://www.w3.org/1999/xhtml'\n const svg = document.createElementNS(ns, 'svg')\n svg.setAttribute('xmlns', ns)\n svg.style.position = 'absolute'\n svg.style.width = '0'\n svg.style.height = '0'\n svg.style.overflow = 'hidden'\n svg.style.display = 'none'\n\n const defs = document.createElementNS(ns, 'defs')\n svg.appendChild(defs)\n\n for (let i = 0; i < nodes.length; i++) {\n defs.appendChild(nodes[i])\n }\n\n clone.appendChild(svg)\n }\n\n return clone\n}\n\nexport async function cloneNode(\n node: T,\n options: Options,\n isRoot?: boolean,\n): Promise {\n if (!isRoot && options.filter && !options.filter(node)) {\n return null\n }\n\n return Promise.resolve(node)\n .then((clonedNode) => cloneSingleNode(clonedNode, options) as Promise)\n .then((clonedNode) => cloneChildren(node, clonedNode, options))\n .then((clonedNode) => decorate(node, clonedNode))\n .then((clonedNode) => ensureSVGSymbols(clonedNode, options))\n}\n","import { Options } from './types'\nimport { resolveUrl } from './util'\nimport { getMimeType } from './mimes'\nimport { isDataUrl, makeDataUrl, resourceToDataURL } from './dataurl'\n\nconst URL_REGEX = /url\\((['\"]?)([^'\"]+?)\\1\\)/g\nconst URL_WITH_FORMAT_REGEX = /url\\([^)]+\\)\\s*format\\(([\"']?)([^\"']+)\\1\\)/g\nconst FONT_SRC_REGEX = /src:\\s*(?:url\\([^)]+\\)\\s*format\\([^)]+\\)[,;]\\s*)+/g\n\nfunction toRegex(url: string): RegExp {\n // eslint-disable-next-line no-useless-escape\n const escaped = url.replace(/([.*+?^${}()|\\[\\]\\/\\\\])/g, '\\\\$1')\n return new RegExp(`(url\\\\(['\"]?)(${escaped})(['\"]?\\\\))`, 'g')\n}\n\nexport function parseURLs(cssText: string): string[] {\n const urls: string[] = []\n\n cssText.replace(URL_REGEX, (raw, quotation, url) => {\n urls.push(url)\n return raw\n })\n\n return urls.filter((url) => !isDataUrl(url))\n}\n\nexport async function embed(\n cssText: string,\n resourceURL: string,\n baseURL: string | null,\n options: Options,\n getContentFromUrl?: (url: string) => Promise,\n): Promise {\n try {\n const resolvedURL = baseURL ? resolveUrl(resourceURL, baseURL) : resourceURL\n const contentType = getMimeType(resourceURL)\n let dataURL: string\n if (getContentFromUrl) {\n const content = await getContentFromUrl(resolvedURL)\n dataURL = makeDataUrl(content, contentType)\n } else {\n dataURL = await resourceToDataURL(resolvedURL, contentType, options)\n }\n return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`)\n } catch (error) {\n // pass\n }\n return cssText\n}\n\nfunction filterPreferredFontFormat(\n str: string,\n { preferredFontFormat }: Options,\n): string {\n return !preferredFontFormat\n ? str\n : str.replace(FONT_SRC_REGEX, (match: string) => {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || []\n if (!format) {\n return ''\n }\n\n if (format === preferredFontFormat) {\n return `src: ${src};`\n }\n }\n })\n}\n\nexport function shouldEmbed(url: string): boolean {\n return url.search(URL_REGEX) !== -1\n}\n\nexport async function embedResources(\n cssText: string,\n baseUrl: string | null,\n options: Options,\n): Promise {\n if (!shouldEmbed(cssText)) {\n return cssText\n }\n\n const filteredCSSText = filterPreferredFontFormat(cssText, options)\n const urls = parseURLs(filteredCSSText)\n return urls.reduce(\n (deferred, url) =>\n deferred.then((css) => embed(css, url, baseUrl, options)),\n Promise.resolve(filteredCSSText),\n )\n}\n","import { Options } from './types'\nimport { embedResources } from './embed-resources'\nimport { toArray, isInstanceOfElement } from './util'\nimport { isDataUrl, resourceToDataURL } from './dataurl'\nimport { getMimeType } from './mimes'\n\nasync function embedProp(\n propName: string,\n node: HTMLElement,\n options: Options,\n) {\n const propValue = node.style?.getPropertyValue(propName)\n if (propValue) {\n const cssString = await embedResources(propValue, null, options)\n node.style.setProperty(\n propName,\n cssString,\n node.style.getPropertyPriority(propName),\n )\n return true\n }\n return false\n}\n\nasync function embedBackground(\n clonedNode: T,\n options: Options,\n) {\n if (!(await embedProp('background', clonedNode, options))) {\n await embedProp('background-image', clonedNode, options)\n }\n if (!(await embedProp('mask', clonedNode, options))) {\n await embedProp('mask-image', clonedNode, options)\n }\n}\n\nasync function embedImageNode(\n clonedNode: T,\n options: Options,\n) {\n const isImageElement = isInstanceOfElement(clonedNode, HTMLImageElement)\n\n if (\n !(isImageElement && !isDataUrl(clonedNode.src)) &&\n !(\n isInstanceOfElement(clonedNode, SVGImageElement) &&\n !isDataUrl(clonedNode.href.baseVal)\n )\n ) {\n return\n }\n\n const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal\n\n const dataURL = await resourceToDataURL(url, getMimeType(url), options)\n await new Promise((resolve, reject) => {\n clonedNode.onload = resolve\n clonedNode.onerror = reject\n\n const image = clonedNode as HTMLImageElement\n if (image.decode) {\n image.decode = resolve as any\n }\n\n if (image.loading === 'lazy') {\n image.loading = 'eager'\n }\n\n if (isImageElement) {\n clonedNode.srcset = ''\n clonedNode.src = dataURL\n } else {\n clonedNode.href.baseVal = dataURL\n }\n })\n}\n\nasync function embedChildren(\n clonedNode: T,\n options: Options,\n) {\n const children = toArray(clonedNode.childNodes)\n const deferreds = children.map((child) => embedImages(child, options))\n await Promise.all(deferreds).then(() => clonedNode)\n}\n\nexport async function embedImages(\n clonedNode: T,\n options: Options,\n) {\n if (isInstanceOfElement(clonedNode, Element)) {\n await embedBackground(clonedNode, options)\n await embedImageNode(clonedNode, options)\n await embedChildren(clonedNode, options)\n }\n}\n","import type { Options } from './types'\nimport { toArray } from './util'\nimport { fetchAsDataURL } from './dataurl'\nimport { shouldEmbed, embedResources } from './embed-resources'\n\ninterface Metadata {\n url: string\n cssText: string\n}\n\nconst cssFetchCache: { [href: string]: Metadata } = {}\n\nasync function fetchCSS(url: string) {\n let cache = cssFetchCache[url]\n if (cache != null) {\n return cache\n }\n\n const res = await fetch(url)\n const cssText = await res.text()\n cache = { url, cssText }\n\n cssFetchCache[url] = cache\n\n return cache\n}\n\nasync function embedFonts(data: Metadata, options: Options): Promise {\n let cssText = data.cssText\n const regexUrl = /url\\([\"']?([^\"')]+)[\"']?\\)/g\n const fontLocs = cssText.match(/url\\([^)]+\\)/g) || []\n const loadFonts = fontLocs.map(async (loc: string) => {\n let url = loc.replace(regexUrl, '$1')\n if (!url.startsWith('https://')) {\n url = new URL(url, data.url).href\n }\n\n return fetchAsDataURL<[string, string]>(\n url,\n options.fetchRequestInit,\n ({ result }) => {\n cssText = cssText.replace(loc, `url(${result})`)\n return [loc, result]\n },\n )\n })\n\n return Promise.all(loadFonts).then(() => cssText)\n}\n\nfunction parseCSS(source: string) {\n if (source == null) {\n return []\n }\n\n const result: string[] = []\n const commentsRegex = /(\\/\\*[\\s\\S]*?\\*\\/)/gi\n // strip out comments\n let cssText = source.replace(commentsRegex, '')\n\n // eslint-disable-next-line prefer-regex-literals\n const keyframesRegex = new RegExp(\n '((@.*?keyframes [\\\\s\\\\S]*?){([\\\\s\\\\S]*?}\\\\s*?)})',\n 'gi',\n )\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const matches = keyframesRegex.exec(cssText)\n if (matches === null) {\n break\n }\n result.push(matches[0])\n }\n cssText = cssText.replace(keyframesRegex, '')\n\n const importRegex = /@import[\\s\\S]*?url\\([^)]*\\)[\\s\\S]*?;/gi\n // to match css & media queries together\n const combinedCSSRegex =\n '((\\\\s*?(?:\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\/)?\\\\s*?@media[\\\\s\\\\S]' +\n '*?){([\\\\s\\\\S]*?)}\\\\s*?})|(([\\\\s\\\\S]*?){([\\\\s\\\\S]*?)})'\n // unified regex\n const unifiedRegex = new RegExp(combinedCSSRegex, 'gi')\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n let matches = importRegex.exec(cssText)\n if (matches === null) {\n matches = unifiedRegex.exec(cssText)\n if (matches === null) {\n break\n } else {\n importRegex.lastIndex = unifiedRegex.lastIndex\n }\n } else {\n unifiedRegex.lastIndex = importRegex.lastIndex\n }\n result.push(matches[0])\n }\n\n return result\n}\n\nasync function getCSSRules(\n styleSheets: CSSStyleSheet[],\n options: Options,\n): Promise {\n const ret: CSSStyleRule[] = []\n const deferreds: Promise[] = []\n\n // First loop inlines imports\n styleSheets.forEach((sheet) => {\n if ('cssRules' in sheet) {\n try {\n toArray(sheet.cssRules || []).forEach((item, index) => {\n if (item.type === CSSRule.IMPORT_RULE) {\n let importIndex = index + 1\n const url = (item as CSSImportRule).href\n const deferred = fetchCSS(url)\n .then((metadata) => embedFonts(metadata, options))\n .then((cssText) =>\n parseCSS(cssText).forEach((rule) => {\n try {\n sheet.insertRule(\n rule,\n rule.startsWith('@import')\n ? (importIndex += 1)\n : sheet.cssRules.length,\n )\n } catch (error) {\n console.error('Error inserting rule from remote css', {\n rule,\n error,\n })\n }\n }),\n )\n .catch((e) => {\n console.error('Error loading remote css', e.toString())\n })\n\n deferreds.push(deferred)\n }\n })\n } catch (e) {\n const inline =\n styleSheets.find((a) => a.href == null) || document.styleSheets[0]\n if (sheet.href != null) {\n deferreds.push(\n fetchCSS(sheet.href)\n .then((metadata) => embedFonts(metadata, options))\n .then((cssText) =>\n parseCSS(cssText).forEach((rule) => {\n inline.insertRule(rule, sheet.cssRules.length)\n }),\n )\n .catch((err: unknown) => {\n console.error('Error loading remote stylesheet', err)\n }),\n )\n }\n console.error('Error inlining remote css file', e)\n }\n }\n })\n\n return Promise.all(deferreds).then(() => {\n // Second loop parses rules\n styleSheets.forEach((sheet) => {\n if ('cssRules' in sheet) {\n try {\n toArray(sheet.cssRules || []).forEach((item) => {\n ret.push(item)\n })\n } catch (e) {\n console.error(`Error while reading CSS rules from ${sheet.href}`, e)\n }\n }\n })\n\n return ret\n })\n}\n\nfunction getWebFontRules(cssRules: CSSStyleRule[]): CSSStyleRule[] {\n return cssRules\n .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE)\n .filter((rule) => shouldEmbed(rule.style.getPropertyValue('src')))\n}\n\nasync function parseWebFontRules(\n node: T,\n options: Options,\n) {\n if (node.ownerDocument == null) {\n throw new Error('Provided element is not within a Document')\n }\n\n const styleSheets = toArray(node.ownerDocument.styleSheets)\n const cssRules = await getCSSRules(styleSheets, options)\n\n return getWebFontRules(cssRules)\n}\n\nexport async function getWebFontCSS(\n node: T,\n options: Options,\n): Promise {\n const rules = await parseWebFontRules(node, options)\n const cssTexts = await Promise.all(\n rules.map((rule) => {\n const baseUrl = rule.parentStyleSheet ? rule.parentStyleSheet.href : null\n return embedResources(rule.cssText, baseUrl, options)\n }),\n )\n\n return cssTexts.join('\\n')\n}\n\nexport async function embedWebFonts(\n clonedNode: T,\n options: Options,\n) {\n const cssText =\n options.fontEmbedCSS != null\n ? options.fontEmbedCSS\n : options.skipFonts\n ? null\n : await getWebFontCSS(clonedNode, options)\n\n if (cssText) {\n const styleNode = document.createElement('style')\n const sytleContent = document.createTextNode(cssText)\n\n styleNode.appendChild(sytleContent)\n\n if (clonedNode.firstChild) {\n clonedNode.insertBefore(styleNode, clonedNode.firstChild)\n } else {\n clonedNode.appendChild(styleNode)\n }\n }\n}\n","import { Options } from './types'\nimport { cloneNode } from './clone-node'\nimport { embedImages } from './embed-images'\nimport { applyStyle } from './apply-style'\nimport { embedWebFonts, getWebFontCSS } from './embed-webfonts'\nimport {\n getImageSize,\n getPixelRatio,\n createImage,\n canvasToBlob,\n nodeToDataURL,\n checkCanvasDimensions,\n} from './util'\n\nexport async function toSvg(\n node: T,\n options: Options = {},\n): Promise {\n const { width, height } = getImageSize(node, options)\n const clonedNode = (await cloneNode(node, options, true)) as HTMLElement\n await embedWebFonts(clonedNode, options)\n await embedImages(clonedNode, options)\n applyStyle(clonedNode, options)\n const datauri = await nodeToDataURL(clonedNode, width, height)\n return datauri\n}\n\nexport async function toCanvas(\n node: T,\n options: Options = {},\n): Promise {\n const { width, height } = getImageSize(node, options)\n const svg = await toSvg(node, options)\n const img = await createImage(svg)\n\n const canvas = document.createElement('canvas')\n const context = canvas.getContext('2d')!\n const ratio = options.pixelRatio || getPixelRatio()\n const canvasWidth = options.canvasWidth || width\n const canvasHeight = options.canvasHeight || height\n\n canvas.width = canvasWidth * ratio\n canvas.height = canvasHeight * ratio\n\n if (!options.skipAutoScale) {\n checkCanvasDimensions(canvas)\n }\n canvas.style.width = `${canvasWidth}`\n canvas.style.height = `${canvasHeight}`\n\n if (options.backgroundColor) {\n context.fillStyle = options.backgroundColor\n context.fillRect(0, 0, canvas.width, canvas.height)\n }\n\n context.drawImage(img, 0, 0, canvas.width, canvas.height)\n\n return canvas\n}\n\nexport async function toPixelData(\n node: T,\n options: Options = {},\n): Promise {\n const { width, height } = getImageSize(node, options)\n const canvas = await toCanvas(node, options)\n const ctx = canvas.getContext('2d')!\n return ctx.getImageData(0, 0, width, height).data\n}\n\nexport async function toPng(\n node: T,\n options: Options = {},\n): Promise {\n const canvas = await toCanvas(node, options)\n return canvas.toDataURL()\n}\n\nexport async function toJpeg(\n node: T,\n options: Options = {},\n): Promise {\n const canvas = await toCanvas(node, options)\n return canvas.toDataURL('image/jpeg', options.quality || 1)\n}\n\nexport async function toBlob(\n node: T,\n options: Options = {},\n): Promise {\n const canvas = await toCanvas(node, options)\n const blob = await canvasToBlob(canvas)\n return blob\n}\n\nexport async function getFontEmbedCSS(\n node: T,\n options: Options = {},\n): Promise {\n return getWebFontCSS(node, options)\n}\n","import { Options } from './types'\n\nexport function applyStyle(\n node: T,\n options: Options,\n): T {\n const { style } = node\n\n if (options.backgroundColor) {\n style.backgroundColor = options.backgroundColor\n }\n\n if (options.width) {\n style.width = `${options.width}px`\n }\n\n if (options.height) {\n style.height = `${options.height}px`\n }\n\n const manual = options.style\n if (manual != null) {\n Object.keys(manual).forEach((key: any) => {\n style[key] = manual[key] as string\n })\n }\n\n return node\n}\n","let IDX = 36;\nlet HEX = \"\";\nwhile (IDX--) {\n HEX += IDX.toString(36);\n}\nfunction uid(len = 11) {\n let str = \"\";\n let num = len;\n while (num--) {\n str += HEX[Math.random() * 36 | 0];\n }\n return str;\n}\n\nconst escapeRegexp = (term) => term.replace(/[|\\\\{}()[\\]^$+*?.-]/g, (char) => `\\\\${char}`);\nconst termsToRegExpString = (terms) => terms.replace(/\\s{2,}/g, \" \").split(\" \").join(\"|\");\nconst regexpQuery = ({\n terms,\n matchExactly = false\n}) => {\n if (typeof terms !== \"string\") {\n throw new TypeError(\"Expected a string\");\n }\n const escapedTerms = escapeRegexp(terms.trim());\n return `(${matchExactly ? escapedTerms : termsToRegExpString(escapedTerms)})`;\n};\nconst buildRegexp = ({\n terms,\n matchExactly = false\n}) => {\n try {\n const fromString = /^([/~@;%#'])(.*?)\\1([gimsuy]*)$/.exec(terms);\n if (fromString) {\n return new RegExp(fromString[2], fromString[3]);\n }\n return new RegExp(regexpQuery({ terms, matchExactly }), \"ig\");\n } catch (e) {\n throw new TypeError(\"Expected terms to be either a string or a RegExp!\");\n }\n};\n\nconst hasProp = (prop) => (obj) => obj !== null && typeof obj === \"object\" && prop in obj;\nconst hasMatch = hasProp(\"match\");\nconst chunkExists = (chunk) => typeof chunk !== \"undefined\";\nfunction clip({\n curr,\n next,\n prev,\n clipBy = 3\n}) {\n const words = curr.text.split(\" \");\n const len = words.length;\n if (curr.match || clipBy >= len) {\n return curr.text;\n }\n const ellipsis = \"...\";\n if (chunkExists(next) && chunkExists(prev) && hasMatch(prev) && hasMatch(next)) {\n if (len > clipBy * 2) {\n return [\n ...words.slice(0, clipBy),\n ellipsis,\n ...words.slice(-clipBy)\n ].join(\" \");\n }\n return curr.text;\n }\n if (chunkExists(next) && hasMatch(next)) {\n return [ellipsis, ...words.slice(-clipBy)].join(\" \");\n }\n if (chunkExists(prev) && hasMatch(prev)) {\n return [...words.slice(0, clipBy), ellipsis].join(\" \");\n }\n return curr.text;\n}\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst hasLength = (str) => str.length > 0;\nconst highlightWords = ({\n text,\n query,\n clipBy,\n matchExactly = false\n}) => {\n const safeQuery = typeof query === \"string\" ? query.trim() : query;\n if (safeQuery === \"\") {\n return [\n {\n key: uid(),\n text,\n match: false\n }\n ];\n }\n const searchRegexp = buildRegexp({ terms: query, matchExactly });\n return text.split(searchRegexp).filter(hasLength).map((str) => ({\n // Compose the object for a match\n key: uid(),\n text: str,\n match: matchExactly ? str.toLowerCase() === safeQuery.toLowerCase() : searchRegexp.test(str)\n })).map((chunk, index, chunks) => __spreadValues(__spreadValues({}, chunk), typeof clipBy === \"number\" && {\n // We only overwrite the text if there is a clip\n text: clip(__spreadProps(__spreadValues(__spreadValues({\n curr: chunk\n }, index < chunks.length - 1 && { next: chunks[index + 1] }), index > 0 && { prev: chunks[index - 1] }), {\n // If this wasn't the first chunk, set the previous chunk\n clipBy\n }))\n }));\n};\n\nexport { highlightWords as default };\n"],"names":["visitor","GradientParser","stringify","node","visit_gradient","orientation","visit","type","colorStops","result","value","at","style","x","y","visit_color","join","resultColor","length","elements","size","forEach","element","i","Array","visit_array","nodeVisitor","Error","root","parse","tokens","input","error","msg","err","source","getAST","ast","matchListing","matchDefinition","matchGradient","matchLinearOrientation","matchListRadialOrientations","gradientType","pattern","orientationMatcher","matchCall","captures","scan","matchColorStop","callback","match","radialOrientations","lookaheadCache","radialOrientation","matchRadialOrientation","push","radialType","circle","matchLength","matchExtentKeyword","matchCircle","ellipse","matchDistance","matchEllipse","matchAtPosition","extent","positionAt","defaultPosition","matchPositioning","positioning","location","matcher","color","matchNumber","captureIndex","regexp","blankCaptures","exec","consume","substr","code","toString","exports","reactIs","require","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","name","prototype","caller","callee","arguments","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","defineProperty","Object","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","module","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","concat","targetStatics","sourceStatics","key","descriptor","e","b","Symbol","for","c","d","f","g","h","k","l","m","n","p","q","r","t","v","w","z","a","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","uuid","counter","Math","random","slice","toArray","arrayLike","arr","px","styleProperty","val","ownerDocument","defaultView","window","getComputedStyle","getPropertyValue","parseFloat","replace","getImageSize","targetNode","options","undefined","width","leftBorder","rightBorder","clientWidth","getNodeWidth","height","topBorder","bottomBorder","clientHeight","getNodeHeight","canvasDimensionLimit","createImage","url","Promise","resolve","reject","img","Image","decode","onload","onerror","crossOrigin","decoding","src","async","nodeToDataURL","xmlns","svg","document","createElementNS","foreignObject","setAttribute","appendChild","then","XMLSerializer","serializeToString","encodeURIComponent","html","svgToDataURL","isInstanceOfElement","instance","nodePrototype","constructor","getPseudoElementStyle","className","pseudo","selector","cssText","content","formatCSSText","map","priority","getPropertyPriority","formatCSSProperties","createTextNode","clonePseudoElement","nativeNode","clonedNode","styleElement","createElement","WOFF","JPEG","mimes","woff","woff2","ttf","eot","png","jpg","jpeg","gif","tiff","webp","getMimeType","extension","getExtension","toLowerCase","isDataUrl","search","makeDataUrl","mimeType","fetchAsDataURL","init","process","res","fetch","status","blob","reader","FileReader","onloadend","readAsDataURL","cache","resourceToDataURL","resourceUrl","contentType","cacheKey","includeQueryParams","test","getCacheKey","dataURL","cacheBust","Date","getTime","fetchRequestInit","_ref","headers","get","split","getContentFromDataUrl","imagePlaceholder","message","console","warn","cloneSingleNode","HTMLCanvasElement","canvas","toDataURL","cloneNode","cloneCanvasElement","HTMLVideoElement","video","currentSrc","ctx","getContext","drawImage","poster","cloneVideoElement","HTMLIFrameElement","iframe","_a","contentDocument","body","_b","cloneIFrameElement","isSlotElement","tagName","toUpperCase","decorate","targetStyle","sourceStyle","transformOrigin","endsWith","reducedFont","floor","substring","getAttribute","setProperty","cloneCSSStyle","clonePseudoElements","HTMLTextAreaElement","innerHTML","HTMLInputElement","cloneInputValue","HTMLSelectElement","clonedSelect","selectedOption","from","children","find","child","cloneSelectValue","isRoot","filter","assignedNodes","childNodes","shadowRoot","reduce","deferred","clonedChild","cloneChildren","clone","uses","querySelectorAll","processedDefs","id","exist","querySelector","definition","nodes","values","ns","position","overflow","display","defs","ensureSVGSymbols","URL_REGEX","URL_WITH_FORMAT_REGEX","FONT_SRC_REGEX","embed","resourceURL","baseURL","getContentFromUrl","resolvedURL","baseUrl","protocol","doc","implementation","createHTMLDocument","base","head","href","resolveUrl","escaped","RegExp","toRegex","shouldEmbed","embedResources","filteredCSSText","str","preferredFontFormat","format","filterPreferredFontFormat","urls","raw","quotation","parseURLs","css","embedProp","propName","propValue","cssString","embedImages","embedBackground","isImageElement","HTMLImageElement","SVGImageElement","baseVal","image","loading","srcset","embedImageNode","deferreds","all","embedChildren","cssFetchCache","fetchCSS","text","embedFonts","data","regexUrl","loadFonts","loc","startsWith","URL","parseCSS","keyframesRegex","matches","importRegex","unifiedRegex","lastIndex","parseWebFontRules","styleSheets","cssRules","ret","sheet","item","index","CSSRule","IMPORT_RULE","importIndex","metadata","rule","insertRule","catch","inline","getCSSRules","FONT_FACE_RULE","getWebFontRules","embedWebFonts","fontEmbedCSS","skipFonts","rules","parentStyleSheet","getWebFontCSS","styleNode","sytleContent","firstChild","insertBefore","toSvg","backgroundColor","manual","applyStyle","toCanvas","context","ratio","pixelRatio","FINAL_PROCESS","env","devicePixelRatio","parseInt","Number","isNaN","getPixelRatio","canvasWidth","canvasHeight","skipAutoScale","checkCanvasDimensions","fillStyle","fillRect","toPng","toJpeg","quality","IDX","HEX","uid","num","buildRegexp","_ref2","terms","matchExactly","fromString","TypeError","escapedTerms","trim","char","termsToRegExpString","regexpQuery","hasMatch","prop","obj","chunkExists","chunk","clip","_ref3","curr","next","prev","clipBy","words","len","ellipsis","__defProp","__defProps","defineProperties","__getOwnPropDescs","getOwnPropertyDescriptors","__getOwnPropSymbols","__hasOwnProp","hasOwnProperty","__propIsEnum","propertyIsEnumerable","__defNormalProp","enumerable","configurable","writable","__spreadValues","call","hasLength","highlightWords","_ref4","query","safeQuery","searchRegexp","chunks","__spreadProps"],"sourceRoot":""}