From 7a60e40126566c29b2e4eaa5775bfffafa449f12 Mon Sep 17 00:00:00 2001 From: Olivier Tassinari Date: Tue, 3 Sep 2024 11:26:43 +0200 Subject: [PATCH] [system] Fix composeClasses v6 behavior change (#43537) --- .../src/composeClasses/composeClasses.test.ts | 12 ++++++------ .../mui-utils/src/composeClasses/composeClasses.ts | 6 ++++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/mui-utils/src/composeClasses/composeClasses.test.ts b/packages/mui-utils/src/composeClasses/composeClasses.test.ts index e6e351073ff3c8..310c217bf8414a 100644 --- a/packages/mui-utils/src/composeClasses/composeClasses.test.ts +++ b/packages/mui-utils/src/composeClasses/composeClasses.test.ts @@ -13,8 +13,8 @@ describe('composeClasses', () => { undefined, ), ).to.deep.equal({ - root: 'MuiTest-root MuiTest-standard ', - slot: 'MuiTest-slot ', + root: 'MuiTest-root MuiTest-standard', + slot: 'MuiTest-slot', }); }); @@ -32,8 +32,8 @@ describe('composeClasses', () => { }, ), ).to.deep.equal({ - root: 'MuiTest-root MuiTest-standard standardOverride ', - slot: 'MuiTest-slot slotOverride ', + root: 'MuiTest-root MuiTest-standard standardOverride', + slot: 'MuiTest-slot slotOverride', }); }); @@ -51,8 +51,8 @@ describe('composeClasses', () => { }, ), ).to.deep.equal({ - root: 'MuiTest-root MuiTest-standard standardOverride ', - slot: 'MuiTest-slot slotOverride ', + root: 'MuiTest-root MuiTest-standard standardOverride', + slot: 'MuiTest-slot slotOverride', }); }); }); diff --git a/packages/mui-utils/src/composeClasses/composeClasses.ts b/packages/mui-utils/src/composeClasses/composeClasses.ts index 2b8e91af5fb540..5b03c682a575f2 100644 --- a/packages/mui-utils/src/composeClasses/composeClasses.ts +++ b/packages/mui-utils/src/composeClasses/composeClasses.ts @@ -13,14 +13,16 @@ export default function composeClasses( for (const slotName in slots) { const slot = slots[slotName]; let buffer = ''; + let start = true; for (let i = 0; i < slot.length; i += 1) { const value = slot[i]; if (value) { - buffer += getUtilityClass(value) + ' '; + buffer += (start === true ? '' : ' ') + getUtilityClass(value); + start = false; if (classes && classes[value]) { - buffer += classes[value] + ' '; + buffer += ' ' + classes[value]; } } }