Removed utility composition
Migrate removed @compose statements to native CSS declarations and selectors.
@compose (removed)
@compose is no longer supported. Compilation reports removed-compose-directive wherever the at-rule appears, including native rules and utility definitions.
Write native declarations, selectors and conditions in stylesheets. Share design values through CSS custom properties. Use Master utilities directly in markup, or share native classes and component interfaces when several elements need the same behavior.
@layer components { .button { display: inline-flex; padding: var(--spacing-md); border-radius: var(--radius-lg); &:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; } }}When migrating an existing statement, preserve its expanded declarations, nested selectors, conditions, importance and destination layer. Replacing it with declarations preserves the current style but removes the dependency on the original utility: future utility changes no longer update that rule. Do not rename it to @apply; Master CSS does not provide a replacement composition directive or a native mixin polyfill.
The compiler no longer exposes compose IR or composition traces. Tooling removes compose canonicalization and structural directive fixes, including composeDirective, includeDirectiveFixes, preferNativeDeclarationsInCompose, preferVariantBlocksInCompose, and CLI --fix-directives. ESLint removes configs.stylesheet; its recommended config still handles classes in markup and class builders. preferCompositionUtilities continues to apply to markup class lists.
The RC migration command reports an occurrence for manual migration and leaves the statement unchanged. See Migrating from Master CSS v2 RC for the remaining migration steps.