diff --git a/src/mantine-styles/src/tss/create-styles.ts b/src/mantine-styles/src/tss/create-styles.ts index 79862d54926..c7d2c2a409f 100644 --- a/src/mantine-styles/src/tss/create-styles.ts +++ b/src/mantine-styles/src/tss/create-styles.ts @@ -1,7 +1,11 @@ import type { MantineTheme } from '../theme'; import type { CSSObject } from './types'; import { useCss } from './use-css'; -import { useMantineTheme, useMantineProviderStyles } from '../theme/MantineProvider'; +import { + useMantineTheme, + useMantineProviderStyles, + useMantineEmotionCache, +} from '../theme/MantineProvider'; import { mergeClassNames } from './utils/merge-class-names/merge-class-names'; type ContextStyles = ReturnType; @@ -59,6 +63,7 @@ export function createStyles( function useStyles(params: Params, options?: UseStylesOptions) { const theme = useMantineTheme(); const context = useMantineProviderStyles(options?.name); + const cache = useMantineEmotionCache(); const { css, cx } = useCss(); const cssObject = getCssObject(theme, params, createRef); @@ -84,6 +89,7 @@ export function createStyles( context, classNames: options?.classNames, name: options?.name, + cache, }), cx, theme, diff --git a/src/mantine-styles/src/tss/utils/merge-class-names/merge-class-names.ts b/src/mantine-styles/src/tss/utils/merge-class-names/merge-class-names.ts index 3bde36cfc15..cd18bb7bc10 100644 --- a/src/mantine-styles/src/tss/utils/merge-class-names/merge-class-names.ts +++ b/src/mantine-styles/src/tss/utils/merge-class-names/merge-class-names.ts @@ -1,3 +1,4 @@ +import type { EmotionCache } from '@emotion/cache'; import { useMantineProviderStyles } from '../../../theme/MantineProvider'; interface Input> { @@ -6,6 +7,7 @@ interface Input> { context: ReturnType; classNames: Partial; name: string | string[]; + cache: EmotionCache; } export function mergeClassNames>({ @@ -14,6 +16,7 @@ export function mergeClassNames>({ context, classNames, name, + cache, }: Input) { const contextClassNames = context.reduce>((acc, item) => { Object.keys(item.classNames).forEach((key) => { @@ -35,10 +38,10 @@ export function mergeClassNames>({ Array.isArray(name) ? name .filter(Boolean) - .map((part) => `mantine-${part}-${className}`) + .map((part) => `${cache?.key || 'mantine'}-${part}-${className}`) .join(' ') : name - ? `mantine-${name}-${className}` + ? `${cache?.key || 'mantine'}-${name}-${className}` : null ); return acc;