class SmartInput extends HTMLElement { #data = null; #rootdoc = null; #delay = 300; #value = null; #timeoutid = null; #input = null; #list = null; #label = null; constructor(){ super() this.#rootdoc = this.attachShadow({ "mode" : "open"}) this.render() } connectedCallback(){} set data(data){ this.#data = data; this.render() } render(){ this.#rootdoc.innerHTML = `