Gavia UIv1.0.0

Quality and compatibility

Unit test coverage, check coverage and Gavia UI compatibility rules.

Unit test coverage

Coverage shows how much code the unit tests executed in this run.

Lines
98.66%
Executed lines of code
Statements
97.41%
Executed statements
Branches
92.65%
Covered condition outcomes
Functions
98.12%
Called functions

991 / 991 unit tests passed in this run.

CI report · version 1.0.0 ·

Revision fbe82aab· the working copy has uncommitted changes.

Coverage includes components, utilities, icon-name resolution and tokens. E2E, visual comparisons and Axe run separately. Type declarations, generated catalogues, manifest metadata and re-export entry points are excluded.

What is checked

CheckWhat it checks
Vitest + Vue Test UtilsComponent contracts, states, events, utilities and behaviour branches. The percentages above refer to these unit tests.
PlaywrightInteractions, keyboard, focus and overlays in Chromium, Firefox, WebKit and mobile Chromium.
Visual baselinesDesktop and mobile in Gavia, Gavia Dark, Classic, Classic Dark and Newspaper. Gavia and Gavia Dark load Gavia Sans; classic baselines use Arial/Consolas.
AxeVisible pages and open lists/dialogs in five themes, WCAG 2.2 AA rules in Chromium. Keyboard scenarios are checked separately.
Public contractDeclarations and an existing Vue consumer are compared with a saved snapshot: removals and contract narrowing fail the check.
Package archiveBuilt tarball: ESM import, types, example SFCs, SSR and hydration, files and licences, and application size with one button.

The table lists check coverage. See GitHub Actions for a specific run's results. A local coverage report does not confirm CI results. PNG changes are accepted after reviewing expected/actual/diff.

Browsers and Vue

EnvironmentTarget range
Chrome / Edge111+; matching Android Chromium versions
Firefox121+; matching Android Firefox versions
Safari / iOS Safari16.4+
Vue3.4+; Vue remains the only required peer

The browser range is based on support for ES2020, CSS Layers, :has(), color-mix and container queries. Automated checks use pinned Playwright versions; the full suite has not been run separately on every historical minimum version.

WebKit checks the engine and does not replace a separate Safari/iOS run. IE and old WebViews are unsupported. CSS is imported explicitly; the library installs no global polyfills.

Accessibility and SSR

Application accessibility

The target is WCAG 2.2 AA. Axe checks ARIA names and relationships, contrast and visible DOM, including open lists and dialogs in five themes.

An automated scan does not establish full WCAG conformance. Integration requires manual keyboard, zoom, NVDA and VoiceOver checks. These runs are outside the unit coverage shown here.

SSR and overlays

Vue SSR and hydration are checked for preserved DOM and identifiers. In Vue 3.4, synchronous server-tree and hydration order must match; asynchronous branch order is not separately guaranteed.

Overlays use Teleport to body: the server inserts context.teleports.body at the start of body before the application root. If your framework supports only its own teleport target, use its ClientOnly for overlays and check integration. Verify Nuxt and module integration in your application.

Versions and compatibility

All components share one Gavia UI version. “Since” in the catalogue marks a component's first release; later changes are listed in the changelog.

Patch

Fixes preserve the public contract and existing consumer code.

Minor and major

Minor adds capabilities. In 0.x, a necessary incompatible change is allowed only in a minor release with an explicit Breaking changes notice and migration guide. After 1.0, it requires a major release.

The public contract includes props, events and payloads, slots, v-model, exposed methods, exports, CSS classes, data-wl, tokens and pt sections. Type checks protect the API shape; unit/E2E tests check behaviour. A migration note alone does not disable compatibility checks.