From 03c294c9eadfeb06cbf9df3c418cf6ee590eb9ab Mon Sep 17 00:00:00 2001 From: Thijs Louisse Date: Mon, 21 Mar 2022 21:43:20 +0100 Subject: [PATCH] fix(tabs): allow initialization without children --- .changeset/hip-buses-itch.md | 5 +++++ packages/tabs/src/LionTabs.js | 2 +- packages/tabs/test/lion-tabs.test.js | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 .changeset/hip-buses-itch.md diff --git a/.changeset/hip-buses-itch.md b/.changeset/hip-buses-itch.md new file mode 100644 index 000000000..d20551882 --- /dev/null +++ b/.changeset/hip-buses-itch.md @@ -0,0 +1,5 @@ +--- +'@lion/tabs': patch +--- + +tabs: allow to be initialized withhout children diff --git a/packages/tabs/src/LionTabs.js b/packages/tabs/src/LionTabs.js index c3d31391e..9be49617b 100644 --- a/packages/tabs/src/LionTabs.js +++ b/packages/tabs/src/LionTabs.js @@ -164,7 +164,7 @@ export class LionTabs extends LitElement { firstUpdated(changedProperties) { super.firstUpdated(changedProperties); this.__setupSlots(); - if (this.tabs[0].disabled) { + if (this.tabs[0]?.disabled) { this.selectedIndex = this.tabs.findIndex(tab => !tab.disabled); } } diff --git a/packages/tabs/test/lion-tabs.test.js b/packages/tabs/test/lion-tabs.test.js index 99584f952..4d0378de4 100644 --- a/packages/tabs/test/lion-tabs.test.js +++ b/packages/tabs/test/lion-tabs.test.js @@ -112,6 +112,11 @@ describe('', () => { ); expect(selectedTab.textContent).to.equal('tab 2'); }); + + it('can initially be instantiated without children', async () => { + const el = /** @type {LionTabs} */ (await fixture(html` `)); + expect(el.tabs).to.eql([]); + }); }); describe('Tabs ([slot=tab])', () => {