//import { XtallatX } from 'xtal-latx/xtal-latx.js'; //Derived from https://codepen.io/gabriellewee/pen/oWyObX // const inp_label = document.createElement('template'); // inp_label.innerHTML = /* html */` // // // `; const nestedDD = document.createElement('template'); nestedDD.innerHTML = /* html */`
`; export class NestedDropDown extends HTMLElement { constructor() { super(); this.attachShadow({ mode: 'open' }); this.shadowRoot!.appendChild(nestedDD.content.cloneNode(true)); const target = this.shadowRoot!.querySelector('#content'); this.shadowRoot!.querySelector('[name="template"]')!.addEventListener('slotchange', outerE => { const sE = outerE.target as HTMLSlotElement; sE.assignedNodes().forEach(el => { const t = el as HTMLTemplateElement; const c = this.shadowRoot!.querySelector('#content') as HTMLDivElement; c.innerHTML = ''; c.appendChild(t.content.cloneNode(true)); }) }); } } customElements.define('co-depends-nested-dropdown', NestedDropDown);