types: custom element interface should be internal

This commit is contained in:
Evan You 2024-08-07 02:33:20 +08:00
parent 37ccb9b9a0
commit bcb9a70290
No known key found for this signature in database
GPG Key ID: 00E9AB7A6704CE0A
4 changed files with 18 additions and 6 deletions

View File

@ -1239,6 +1239,12 @@ export function isClassComponent(value: unknown): value is ClassComponent {
}
export interface ComponentCustomElementInterface {
injectChildStyle(type: ConcreteComponent): void
removeChildStyle(type: ConcreteComponent): void
/**
* @internal
*/
_injectChildStyle(type: ConcreteComponent): void
/**
* @internal
*/
_removeChildStyle(type: ConcreteComponent): void
}

View File

@ -162,7 +162,7 @@ function reload(id: string, newComp: HMRComponent) {
// update custom element child style
if (instance.root.ce && instance !== instance.root) {
instance.root.ce.removeChildStyle(oldComp)
instance.root.ce._removeChildStyle(oldComp)
}
}

View File

@ -1337,7 +1337,7 @@ function baseCreateRenderer(
} else {
// custom element style injection
if (root.ce) {
root.ce.injectChildStyle(type)
root.ce._injectChildStyle(type)
}
if (__DEV__) {

View File

@ -609,11 +609,17 @@ export class VueElement
}
}
injectChildStyle(comp: ConcreteComponent & CustomElementOptions) {
/**
* @internal
*/
_injectChildStyle(comp: ConcreteComponent & CustomElementOptions) {
this._applyStyles(comp.styles, comp)
}
removeChildStyle(comp: ConcreteComponent): void {
/**
* @internal
*/
_removeChildStyle(comp: ConcreteComponent): void {
if (__DEV__) {
this._styleChildren.delete(comp)
if (this._childStyles && comp.__hmrId) {