Skip to content

Release ui-style-kit-css 2.1 ecosystem upgrade#41

Merged
Foscat merged 10 commits into
mainfrom
2.1.0
Jul 21, 2026
Merged

Release ui-style-kit-css 2.1 ecosystem upgrade#41
Foscat merged 10 commits into
mainfrom
2.1.0

Conversation

@Foscat

@Foscat Foscat commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • completes the UI Style Kit CSS 2.1 visual architecture pass with visual-only entrypoints, manifest metadata, native-element coverage, and optional ecosystem bridges
  • keeps compatibility/default bundles intact while freezing deprecated structural helpers for a future major release
  • incorporates the released 2.0.4 correctness hotfix line from origin/main
  • carries forward the publish-workflow recovery fix so npm publish jobs install Playwright before prepublishOnly reruns browser coverage
  • confirms interactive-surface-css@1.5.0 is the released companion state engine
  • keeps ui-style-kit-css@2.1.0 approval-gated: no 2.1 tag, GitHub Release, merge to main, or npm publish has been performed

Current branch state

Verification

  • Fresh local full release gate passed on this head after syncing dependencies: npm run release:verify
    • npm run check
      • npm run build
      • npm run lint
      • npm run test:unit — 63 passed
      • npm run check:contrast — passed
      • npm run check:package — passed
    • npm run test:e2e — 103 passed, 2 expected engine-specific skips
    • npm run test:axe — 9 passed
    • npm run test:visual — 33 passed
    • npm run test:matrix — 990 passed
    • npm run check:ecosystem:packs — standalone, pairwise, all-three, canonical browser, and legacy browser checks passed against interactive-surface-css@1.5.0
    • npm audit --audit-level=moderate — found 0 vulnerabilities
    • npm run pack:dry-runui-style-kit-css-2.1.0.tgz, 48 files, shasum 1a339ddad26c915aa19998615917ebda879b1328
  • Fresh remote CI on this head passed:
    • Lint, Build, Unit Tests
    • Playwright E2E
    • UI Matrix across Chromium, Firefox, and WebKit shards

No npm publish, tag, GitHub release, or merge to main for 2.1.0 is performed by this PR. The next approval-gated step is explicit approval to merge/release ui-style-kit-css@2.1.0.

@Foscat
Foscat marked this pull request as ready for review July 21, 2026 04:37
Copilot AI review requested due to automatic review settings July 21, 2026 04:37

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 ui-style-kit-css 2.1.0 release line by introducing a visual-only public API, a machine-readable capability manifest, a five-layer cascade architecture, expanded native-element coverage, and strengthened release/CI verification across browsers and ecosystem packages.

Changes:

  • Add visual.css + focused visual/<preset>.css entrypoints and refactor the build into ordered layers (theme_colors, native_elements, components, presets, compat_layout).
  • Introduce manifest.json describing presets, themes, modes, class capabilities, and native-part ownership; wire demo controls and tests to it.
  • Expand verification: CSS-tree AST contract tests, Axe scans, a sharded UI matrix, and packed ecosystem compatibility checks; update CI and docs accordingly.

Reviewed changes

Copilot reviewed 41 out of 59 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
wiki/UI-Systems.md Updates wiki architecture/bridge documentation for 2.1.0 layers and new theme bridge.
wiki/Installation-and-Setup.md Documents visual-only entrypoints and canonical Interactive Surface integration order.
wiki/Home.md Updates overview to 2.1.0 features and deprecation messaging.
wiki/Ecosystem-Compatibility.md Refreshes ecosystem matrix and import examples for 2.1.0 + Interactive Surface 1.5.0.
tests/public-api.test.js Adds public API/manifest/layer/bridge contract tests for 2.1.0 outputs.
tests/package-integrity.test.js Extends package integrity assertions (manifest, docs import order, scripts, CI sharding).
tests/native-elements-contract.test.js Adds native-element token/selector/manifest classification contract tests.
tests/matrix/ui-matrix.spec.js Adds sharded, cross-engine UI matrix Playwright spec validating rendered paint/geometry.
tests/e2e/demo.spec.js Improves demo E2E stability and adds manifest + modal backdrop coverage.
tests/e2e/css-correctness.spec.js Adds cross-preset visual bundle correctness checks (pill geometry, validity paint).
tests/e2e/accessibility.spec.js Adds representative Axe scans against demo states.
tests/css-correctness.test.js Adds a correctness regression for maximalist sticker foreground token usage.
tests/class-api.test.js Refactors class API checks to AST-based validation and expands shared utilities coverage.
tests/build-tooling.test.js Pins css-tree version contract and includes visual min bundle in banner checks.
styles/native-elements.css Expands shared native coverage (tokens, subparts, validity/disabled/forced-colors, etc.).
styles/maximalist.css Fixes .max-sticker foreground to consume --max-on-accent.
styles/interactive-surface-theme.css Adds canonical token-and-paint-only theme bridge for Interactive Surface state core.
styles/interactive-surface-bridge.css Marks legacy bridge as deprecated in header documentation.
styles/components.css Introduces shared component foundations (overflow safety, pills, tooltips, utilities, etc.).
styles/compat-layout.css Adds isolated, frozen deprecated structural helper layer for compatibility bundles.
scripts/check-package.mjs Extends package validation for manifest/layers/visual bundles and theme-bridge constraints.
scripts/check-ecosystem-packs.mjs Adds packed ecosystem compatibility validation across UI/Layout/Interactive entrypoints.
scripts/build.mjs Major build refactor to layer-based architecture, visual/focused outputs, and manifest-backed demo snapshot.
README.md Updates public docs for 2.1.0 architecture, entrypoints, bridge guidance, and verification steps.
playwright.matrix.config.js Adds dedicated Playwright config for the sharded UI matrix suite.
playwright.config.js Expands default Playwright projects to include Chromium/Firefox/WebKit consistently.
package.json Bumps to 2.1.0; adds manifest export, new entrypoints, new verification scripts, and new dev deps.
package-lock.json Updates lock for 2.1.0 and adds new dev dependencies (css-tree, @axe-core/playwright, etc.).
manifest.json Adds machine-readable capability manifest for presets/themes/modes/class API/native parts.
index.html Updates demo shell to load manifest snapshot and align default select option state.
docs/TOKENS.md Documents expanded native token set introduced in 2.1.0.
docs/PUBLISHING.md Updates release gate documentation and adds packed ecosystem check instructions + rollout order.
docs/NATIVE-ELEMENTS.md Adds native coverage policy documentation and classification/subpart contract notes.
docs/ECOSYSTEM.md Updates ecosystem adoption guidance and canonical import order for 2.1.0.
demo/index.html Updates demo page to load demo-manifest.js before demo.js and align default selects.
demo/demo.js Switches demo metadata/select options to manifest snapshot and adds modal demo interaction + a11y tweaks.
demo/demo.css Tweaks demo utility surface styling for correct readable content.
demo/demo-manifest.js Adds generated manifest snapshot consumed by demo UI.
CHANGELOG.md Adds 2.1.0 changelog entry covering architecture, manifest, bridges, and verification expansion.
.github/workflows/release-version-alignment.yml Extends release alignment workflow to include visual checks + UI matrix.
.github/workflows/npm-publish.yml Extends publish verification to include visual checks + UI matrix.
.github/workflows/ci.yml Adds sharded cross-engine UI matrix job to CI.

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

Comment thread README.md
Comment on lines +175 to 179
For production, pin the exact approved release rather than relying on `latest`:

```html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ui-style-kit-css@2.0.3/dist/ui-style-kit.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ui-style-kit-css@2.1.0/dist/ui-style-kit.min.css" />
```
Comment on lines +15 to +24
async function applyState(page, { ui, theme, mode, bridge }) {
await page.selectOption('#uiSelect', ui);
await page.selectOption('#themeSelect', theme);
await page.selectOption('#modeSelect', mode);
await page.locator('#bridgeToggle').setChecked(bridge, { force: true });
await expect(page.locator('body')).toHaveAttribute('data-ui', ui);
await expect(page.locator('body')).toHaveAttribute('data-theme', theme);
await expect(page.locator('body')).toHaveAttribute('data-mode', mode);
await expect(page.locator('body')).toHaveAttribute('data-bridge', bridge ? 'attached' : 'detached');
}
@Foscat
Foscat merged commit 3724bb0 into main Jul 21, 2026
15 checks passed
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