I found something odd. One can't inject <ui-bind>
to a section
tag.
<script>
customElements.define('is-section', class extends HTMLDivElement {
constructor() {
super();
setTimeout(NEWUIBIND, 2, this);
}
}, { extends: 'section' });
</script>
<h2>Static tabs</h2>
<ui-component name="tabmenu" path="tab">
<ul class="tabmenu">
<li data-value="tab1">Tab 1</li>
<li data-value="tab2">Tab 2</li>
<li data-value="tab3">Tab 3</li>
</ul>
</ui-component>
<section is="is-section" path="tab" config="show:value==='tab1'" class="block hidden">
TAB 1 content
</section>
<section is="is-section" path="tab" config="show:value==='tab2'" class="block hidden">
TAB 2 content
</section>
<section is="is-section" path="tab" config="show:value==='tab3'" class="block hidden">
TAB 3 content
</section>
<script>
var tab = 'tab1';
var tabs = [{ name: 'Tab 1', value: 'tab1' }, { name: 'Tab2', value: 'tab2' }, { name: 'Tab 3', value: 'tab3' }];
</script>
Uncaught TypeError: Illegal constructor: localName does not match the HTML element interface