Spaces:
Build error
Build error
import { uuid, toArray } from './util'; | |
function formatCSSText(style) { | |
const content = style.getPropertyValue('content'); | |
return `${style.cssText} content: '${content.replace(/'|"/g, '')}';`; | |
} | |
function formatCSSProperties(style) { | |
return toArray(style) | |
.map((name) => { | |
const value = style.getPropertyValue(name); | |
const priority = style.getPropertyPriority(name); | |
return `${name}: ${value}${priority ? ' !important' : ''};`; | |
}) | |
.join(' '); | |
} | |
function getPseudoElementStyle(className, pseudo, style) { | |
const selector = `.${className}:${pseudo}`; | |
const cssText = style.cssText | |
? formatCSSText(style) | |
: formatCSSProperties(style); | |
return document.createTextNode(`${selector}{${cssText}}`); | |
} | |
function clonePseudoElement(nativeNode, clonedNode, pseudo) { | |
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)); | |
clonedNode.appendChild(styleElement); | |
} | |
export function clonePseudoElements(nativeNode, clonedNode) { | |
clonePseudoElement(nativeNode, clonedNode, ':before'); | |
clonePseudoElement(nativeNode, clonedNode, ':after'); | |
} | |
//# sourceMappingURL=clone-pseudos.js.map |