add hw2
This commit is contained in:
43
node_modules/html-to-image/es/clone-pseudos.js
generated
vendored
Normal file
43
node_modules/html-to-image/es/clone-pseudos.js
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
import { uuid, getStyleProperties } from './util';
|
||||
function formatCSSText(style) {
|
||||
const content = style.getPropertyValue('content');
|
||||
return `${style.cssText} content: '${content.replace(/'|"/g, '')}';`;
|
||||
}
|
||||
function formatCSSProperties(style, options) {
|
||||
return getStyleProperties(options)
|
||||
.map((name) => {
|
||||
const value = style.getPropertyValue(name);
|
||||
const priority = style.getPropertyPriority(name);
|
||||
return `${name}: ${value}${priority ? ' !important' : ''};`;
|
||||
})
|
||||
.join(' ');
|
||||
}
|
||||
function getPseudoElementStyle(className, pseudo, style, options) {
|
||||
const selector = `.${className}:${pseudo}`;
|
||||
const cssText = style.cssText
|
||||
? formatCSSText(style)
|
||||
: formatCSSProperties(style, options);
|
||||
return document.createTextNode(`${selector}{${cssText}}`);
|
||||
}
|
||||
function clonePseudoElement(nativeNode, clonedNode, pseudo, options) {
|
||||
const style = window.getComputedStyle(nativeNode, pseudo);
|
||||
const content = style.getPropertyValue('content');
|
||||
if (content === '' || content === 'none') {
|
||||
return;
|
||||
}
|
||||
const className = uuid();
|
||||
try {
|
||||
clonedNode.className = `${clonedNode.className} ${className}`;
|
||||
}
|
||||
catch (err) {
|
||||
return;
|
||||
}
|
||||
const styleElement = document.createElement('style');
|
||||
styleElement.appendChild(getPseudoElementStyle(className, pseudo, style, options));
|
||||
clonedNode.appendChild(styleElement);
|
||||
}
|
||||
export function clonePseudoElements(nativeNode, clonedNode, options) {
|
||||
clonePseudoElement(nativeNode, clonedNode, ':before', options);
|
||||
clonePseudoElement(nativeNode, clonedNode, ':after', options);
|
||||
}
|
||||
//# sourceMappingURL=clone-pseudos.js.map
|
||||
Reference in New Issue
Block a user