mCSS 1.4.0 #69
minimaldesign
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
mCSS 1.4.0 draws the line the framework was always reaching for: structure on one side, design on the other. Every design value now lives in the default theme, one swappable file your own theme overrides, and the new
externallayer finally makes third-party CSS trivial to override (#65).mCSS follows the copy-it-you-own-it model: there is no package to update. Grab
dist/mcss.css(ormcss.min.css), copy the pieces you want, and edit them like anything else you wrote.What's new
theme.default.css(importingtheme.default.tokens.css+theme.default.ui.css) holds every design value the framework uses: raw tokens on one side, UI tokens on the other. The framework files are pure structure and never need editing; a theme is now genuinely one file of design decisions, and small ones go far because every component reads UI tokens like--ui-border-colorinstead of raw values.theme.starter.cssis the starting point for your own theme, andtheme.wireframe.cssshows the full-theme pattern: an entry that composes the default theme and overrides on top, activated INSTEAD of the default.externallayer. Import a vendor stylesheet with@import url(…) layer(external);and it beats the framework but loses to all your unlayered CSS, at any specificity. No more fighting a datepicker's selectors: your one-class rule wins. Fixes to vendor styles get their ownpatch.*.cssconvention.mcss.cssis now the single source of truth: the build derives the dist statement from it and a newcheck-layers.mjsguard (pre-commit + CI) fails when any copy disagrees..mdtwins for AI agents) 301 to the new homes.Breaking changes
mcss.cssno longer carries design values; nothing paints without@import url(./framework/theme.default.css);right after it. Drop-in users are unaffected:dist/mcss.cssbakes the default theme in.settings.tokens.css/settings.ui.cssare nowtheme.default.tokens.css/theme.default.ui.css, and thethemelayer split intotheme.defaultandtheme.user. The full statement isbase, elements, global, components, theme.default, theme.user, external, helpers. Your theme self-layers intotheme.userand beats the default regardless of import order.--success-*/--danger-*/--warning-*are removed; use the--yes-*/--no-*/--maybe-*palettes directly.The full list is in the changelog. Built something with mCSS? Come show it off in the discussions.
This discussion was created from the release mCSS 1.4.0.
All reactions