Conversation
Foscat
marked this pull request as ready for review
July 20, 2026 22:19
Contributor
There was a problem hiding this comment.
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.csslayer 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 to2.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.
| ## 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); | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Verification
No npm publish, tag, or GitHub release is performed by this PR.