From 23210e6868fd506efd71605223bf5bfbd52d6580 Mon Sep 17 00:00:00 2001 From: tristan Date: Mon, 27 Apr 2026 11:44:18 +0200 Subject: [PATCH] =?UTF-8?q?refactor(select-checkbox)=20:=20r=C3=A9-aligner?= =?UTF-8?q?=20la=20structure=20sur=20MalioSelect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../malio/select/SelectCheckbox.test.ts | 18 +++++++ .../malio/select/SelectCheckbox.vue | 47 +++++++++++-------- 2 files changed, 45 insertions(+), 20 deletions(-) diff --git a/app/components/malio/select/SelectCheckbox.test.ts b/app/components/malio/select/SelectCheckbox.test.ts index 8b87322..d3dd975 100644 --- a/app/components/malio/select/SelectCheckbox.test.ts +++ b/app/components/malio/select/SelectCheckbox.test.ts @@ -26,6 +26,7 @@ type SelectCheckboxProps = { displaySelectAll?: boolean selectAllLabel?: string disabled?: boolean + groupClass?: string } const SelectCheckboxForTest = SelectCheckbox as DefineComponent @@ -175,4 +176,21 @@ describe('MalioSelectCheckbox', () => { const checkboxes = wrapper.findAll('input[type="checkbox"]') expect((checkboxes[0].element as HTMLInputElement).checked).toBe(false) }) + + it('applies minWidth via twMerge so it overrides w-full (parity with MalioSelect)', () => { + const wrapper = mount(SelectCheckboxForTest, { + props: {modelValue: [], options: [], minWidth: 'w-80'}, + }) + const root = wrapper.find('button').element.parentElement + expect(root?.className).toContain('w-80') + expect(root?.className).not.toContain('w-full') + }) + + it('applies groupClass via twMerge', () => { + const wrapper = mount(SelectCheckboxForTest, { + props: {modelValue: [], options: [], groupClass: 'mt-4'}, + }) + const root = wrapper.find('button').element.parentElement + expect(root?.className).toContain('mt-4') + }) }) diff --git a/app/components/malio/select/SelectCheckbox.vue b/app/components/malio/select/SelectCheckbox.vue index 401c79c..e987c63 100644 --- a/app/components/malio/select/SelectCheckbox.vue +++ b/app/components/malio/select/SelectCheckbox.vue @@ -2,8 +2,7 @@