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 |