Skip to content

Release ui-style-kit-css 2.0.4 correctness hotfix#40

Merged
Foscat merged 5 commits into
mainfrom
2.0.4
Jul 20, 2026
Merged

Release ui-style-kit-css 2.0.4 correctness hotfix#40
Foscat merged 5 commits into
mainfrom
2.0.4

Conversation

@Foscat

@Foscat Foscat commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • prepares the 2.0.4 correctness hotfix line
  • replaces regex minification with Lightning CSS
  • fixes native pseudo-element selectors and semantic status foreground tokens
  • keeps this PR draft until explicit release approval

Verification

  • local 2.0.4 release gates passed before branch push
  • branch head: a99d50e

No npm publish, tag, or GitHub release is performed by this PR.

@Foscat
Foscat marked this pull request as ready for review July 20, 2026 22:19
Copilot AI review requested due to automatic review settings July 20, 2026 22:19
@Foscat
Foscat merged commit 507c475 into main Jul 20, 2026
3 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Prepares the 2.0.4 correctness hotfix line for ui-style-kit-css by switching bundle minification to Lightning CSS (to preserve grammar-sensitive CSS), restoring valid native pseudo-element selectors, and re-aligning status foregrounds to semantic on-* tokens. It also reintroduces/exports the shared content-overflow.css layer and expands documentation + regression coverage around these hotfix behaviors.

Changes:

  • Replace regex-based CSS minification with Lightning CSS in the build pipeline (and add tooling tests to keep it pinned/reproducible).
  • Add and wire up the shared styles/content-overflow.css layer across presets/bundles, plus e2e/unit checks for overflow containment.
  • Fix native selectors (::file-selector-button, ::backdrop) and semantic status foreground token usage, and update release/docs/wiki metadata to 2.0.4.

Reviewed changes

Copilot reviewed 34 out of 39 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
wiki/UI-Systems.md Updates wiki to note shared content-overflow layer in v2.0.4.
wiki/Installation-and-Setup.md Updates setup instructions/import order for new shared layer and version text.
wiki/Home.md Updates wiki home version description and adds ecosystem compatibility link.
wiki/Ecosystem-Compatibility.md Adds ecosystem compatibility page and aligned-version guidance.
wiki/_Sidebar.md Links the new ecosystem compatibility page from the wiki sidebar.
tests/package-integrity.test.js Adds link/asset resolution checks and README/release assertions (plus content-overflow export checks).
tests/e2e/demo.spec.js Adds e2e coverage for rendered link validity and overflow containment across viewports.
tests/e2e/css-correctness.spec.js Adds Playwright CSS correctness regressions for minification + native selector validity + semantic status colors.
tests/css-correctness.test.js Adds Lightning CSS parsing assertions to ensure generated CSS remains syntactically/semantically correct.
tests/build-tooling.test.js Adds tests ensuring build uses pinned Lightning CSS and preserves release banners.
styles/y2k.css Imports content-overflow layer; fixes status foregrounds to use --*-on-* tokens.
styles/tactile.css Imports content-overflow layer.
styles/retrofuturism.css Imports content-overflow layer.
styles/retro-glass.css Imports content-overflow layer; fixes status foregrounds to use --*-on-* tokens.
styles/neumorphism.css Imports content-overflow layer.
styles/native-elements.css Fixes pseudo-element selectors to avoid invalid :where() arguments.
styles/minimal-saas.css Imports content-overflow layer.
styles/maximalist.css Imports content-overflow layer.
styles/cyberpunk.css Imports content-overflow layer; fixes status foregrounds to use --*-on-* tokens.
styles/content-overflow.css Introduces shared long-text containment contract layer.
styles/brutalism.css Imports content-overflow layer; fixes status/tooltip foregrounds to use --*-on-* tokens.
styles/bento.css Imports content-overflow layer.
styles/bauhaus.css Imports content-overflow layer.
STYLE-MAP.md Documents the new shared overflow layer in the style map.
scripts/check-package.mjs Adds content-overflow.css to required publish assets/exports validation.
scripts/build.mjs Adds content-overflow to bundle; replaces regex minifier with Lightning CSS transform-based minification.
README.md Updates release notes, adds ecosystem section, documents content-overflow layer, updates size table.
package.json Bumps version to 2.0.4, adds Lightning CSS devDependency, exports content-overflow entry points.
package-lock.json Aligns lockfile version metadata and adds Lightning CSS + optional native packages.
index.html Updates structured-data version to 2.0.4.
docs/PUBLISHING.md Documents Lightning CSS usage and updates example tag/version text.
docs/ECOSYSTEM.md Adds packaged ecosystem compatibility guide.
dist/ui-style-kit.with-bridge.css Updates generated bundle banner/layer order and includes new shared overflow layer + fixes.
dist/ui-style-kit.css Updates generated bundle banner/layer order and includes new shared overflow layer + fixes.
demo/index.html Updates structured-data version to 2.0.4.
CHANGELOG.md Adds 2.0.4 release notes covering the hotfix scope.
.github/workflows/sync-package-version-with-main.yml Makes version-sync workflow opt-in (workflow_dispatch only) for release/hotfix branches.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md
## Current Release

`v2.0.3` is the current v2 patch release. It keeps the `v2.0.1` shared color-scheme and native-element model, adds a demo theme-override workbench, improves copyable documentation examples, and refreshes release metadata without changing the CSS API.
`v2.0.4` is the current v2 correctness patch. It adds parser-based minification, restores valid native file-button and modal-backdrop styling, routes status foregrounds through semantic `on-*` tokens, and retains the shared content-overflow and responsive coverage work without changing the CSS API.
Comment on lines +63 to +69
function assertLocalReference(file, reference, failures) {
if (!reference || isExternalReference(reference)) return;

const { pathname, hash } = splitReference(reference);
const sourcePath = path.join(rootDir, file);
const sourceContents = fs.readFileSync(sourcePath, 'utf8');

Comment on lines +134 to +138
for (const file of markdownFiles) {
const contents = fs.readFileSync(path.join(rootDir, file), 'utf8');
for (const match of contents.matchAll(/!?\[[^\]]*]\(([^)]+)\)/g)) {
assertLocalReference(file, match[1], failures);
}
Comment on lines +141 to +149
for (const file of htmlFiles) {
const contents = fs.readFileSync(path.join(rootDir, file), 'utf8');
for (const match of contents.matchAll(/\b(?:href|src)=["']([^"']+)["']/g)) {
assertLocalReference(file, match[1], failures);
}
for (const match of contents.matchAll(/<meta\s+name=["']msapplication-config["']\s+content=["']([^"']+)["']/g)) {
assertLocalReference(file, match[1], failures);
}
}
Comment on lines +151 to +156
for (const file of cssFiles) {
const contents = fs.readFileSync(path.join(rootDir, file), 'utf8');
for (const match of contents.matchAll(/url\(["']?([^"')]+)["']?\)/g)) {
assertLocalReference(file, match[1], failures);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants