function InputList(config = {}){
let {
value='',
label,
required=false,
onInput,
props = ['a','b','c']
} = typeof config === "string" ? { value: config } : config;
let C = html`<span id="editor" class="observablehq--key"> </span>`
let L = label?html`<label for="InputList" >${label} :</label>`:false
let I = html`<input list="DataList" id="InputList" value="${value}">`
let D = `<datalist id="DataList">`
let E = html`<span id="ErrMsg" class="block"></span>`
for (const prop of Object.values(props)){
D+=`<option value="${prop}">`
}
D+=`</datalist>`
I.addEventListener('input', onInput)
if(L)C.append(L)
C.append(I)
C.append(E)
C.append(html`${D}`)
return C
}