From 9c7266dd8e4ec67b30077f965e36f8aeab900600 Mon Sep 17 00:00:00 2001 From: Sean Steimer Date: Fri, 4 Sep 2026 07:12:27 -0700 Subject: [PATCH 1/2] fix(canvas): match block variant name case/spacing-insensitively Variant picker checkmark compared doc variant text against library variant names with strict equality, so casing/spacing differences (e.g. "wide" vs "Wide") left the picker unmatched. Co-Authored-By: Sean Steimer --- .../ew-block-toolbar/ew-block-toolbar.js | 5 ++-- .../ew-block-toolbar/ew-block-toolbar.test.js | 30 +++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/blocks/canvas/ew-block-toolbar/ew-block-toolbar.js b/blocks/canvas/ew-block-toolbar/ew-block-toolbar.js index 512488f76..6694a65a5 100644 --- a/blocks/canvas/ew-block-toolbar/ew-block-toolbar.js +++ b/blocks/canvas/ew-block-toolbar/ew-block-toolbar.js @@ -122,8 +122,9 @@ class EwBlockToolbar extends LitElement { const picker = this._picker; if (!picker) return; const current = this._currentVariant ?? ''; - if (current === '' || (this._variantOptions || []).includes(current)) { - picker.value = current; + const match = (this._variantOptions || []).find((v) => normalizeBlockName(v) === normalizeBlockName(current)); + if (match) { + picker.value = match; picker.labelOverride = ''; } else { picker.value = ''; diff --git a/test/unit/blocks/canvas/ew-block-toolbar/ew-block-toolbar.test.js b/test/unit/blocks/canvas/ew-block-toolbar/ew-block-toolbar.test.js index b038e19b4..2d0893ff0 100644 --- a/test/unit/blocks/canvas/ew-block-toolbar/ew-block-toolbar.test.js +++ b/test/unit/blocks/canvas/ew-block-toolbar/ew-block-toolbar.test.js @@ -103,6 +103,36 @@ describe('ew-block-toolbar', () => { expect(toolbar.shadowRoot.querySelector('nx-picker').value).to.equal('highlight'); }); + it('selects "No variant" when there is no current variant', async () => { + toolbar.show('cards'); + toolbar._variantOptions = ['wide', 'blue']; + await toolbar.updateComplete; + + const picker = toolbar.shadowRoot.querySelector('nx-picker'); + expect(picker.value).to.equal(''); + expect(picker.labelOverride).to.equal(''); + }); + + it('matches the current variant case-insensitively', async () => { + toolbar.show('cards', 'wide'); + toolbar._variantOptions = ['Wide']; + await toolbar.updateComplete; + + const picker = toolbar.shadowRoot.querySelector('nx-picker'); + expect(picker.value).to.equal('Wide'); + expect(picker.labelOverride).to.equal(''); + }); + + it('matches the current variant ignoring spacing differences', async () => { + toolbar.show('cards', 'two up'); + toolbar._variantOptions = ['Two-Up']; + await toolbar.updateComplete; + + const picker = toolbar.shadowRoot.querySelector('nx-picker'); + expect(picker.value).to.equal('Two-Up'); + expect(picker.labelOverride).to.equal(''); + }); + function editBtn() { return toolbar.shadowRoot.querySelector('.block-edit'); } From 48d7fe8ae2d2f754b6987f41670c1d0d784bbcfa Mon Sep 17 00:00:00 2001 From: Sean Steimer Date: Sat, 5 Sep 2026 18:25:37 -0700 Subject: [PATCH 2/2] fix: lint --- blocks/canvas/ew-block-toolbar/ew-block-toolbar.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/blocks/canvas/ew-block-toolbar/ew-block-toolbar.js b/blocks/canvas/ew-block-toolbar/ew-block-toolbar.js index 6694a65a5..309b72163 100644 --- a/blocks/canvas/ew-block-toolbar/ew-block-toolbar.js +++ b/blocks/canvas/ew-block-toolbar/ew-block-toolbar.js @@ -122,7 +122,8 @@ class EwBlockToolbar extends LitElement { const picker = this._picker; if (!picker) return; const current = this._currentVariant ?? ''; - const match = (this._variantOptions || []).find((v) => normalizeBlockName(v) === normalizeBlockName(current)); + const match = (this._variantOptions || []) + .find((v) => normalizeBlockName(v) === normalizeBlockName(current)); if (match) { picker.value = match; picker.labelOverride = '';