import type {
GeneralBehavior,
GeneralComponent,
NormalizedComponentOptions,
ShadowRoot,
templateEngine,
} from '@flexui/core'
export class EmptyTemplateEngine implements templateEngine.Template {
static create(behavior: GeneralBehavior, componentOptions: NormalizedComponentOptions) {
return new EmptyTemplateEngine(componentOptions.externalComponent)
}
constructor(private externalComponent: boolean) {
}
createInstance(
comp: GeneralComponent,
createShadowRoot: (component: GeneralComponent) => ShadowRoot,
): templateEngine.TemplateInstance {
const instance: templateEngine.TemplateInstance = {
shadowRoot: this.externalComponent
? {
root: comp.getBackendElement()!,
slot: comp.getBackendElement()!,
getIdMap: () => ({}),
handleEvent: () => {
},
setListener: () => {
},
}
: createShadowRoot(comp),
initValues: (_data) => {
},
updateValues: (_data, _changes) => {
},
}
return instance
}
}