|
|
@@ -10,6 +10,7 @@ import {
|
|
|
} from '@vue/runtime-core'
|
|
|
import { ShapeFlags } from '@vue/shared'
|
|
|
|
|
|
+export const CSS_VAR_TEXT = Symbol(__DEV__ ? 'CSS_VAR_TEXT' : '')
|
|
|
/**
|
|
|
* Runtime helper for SFC's CSS variable injection feature.
|
|
|
* @private
|
|
|
@@ -79,8 +80,11 @@ function setVarsOnVNode(vnode: VNode, vars: Record<string, string>) {
|
|
|
function setVarsOnNode(el: Node, vars: Record<string, string>) {
|
|
|
if (el.nodeType === 1) {
|
|
|
const style = (el as HTMLElement).style
|
|
|
+ let cssText = ''
|
|
|
for (const key in vars) {
|
|
|
style.setProperty(`--${key}`, vars[key])
|
|
|
+ cssText += `--${key}: ${vars[key]};`
|
|
|
}
|
|
|
+ ;(style as any)[CSS_VAR_TEXT] = cssText
|
|
|
}
|
|
|
}
|