diff --git a/apps/docs/CHANGELOG.md b/apps/docs/CHANGELOG.md index 10b2e89..5d781a3 100644 --- a/apps/docs/CHANGELOG.md +++ b/apps/docs/CHANGELOG.md @@ -1,5 +1,12 @@ # @webaseui/docs +## 0.0.3 + +### Patch Changes + +- Updated dependencies + - @webaseui/svelte@0.3.2 + ## 0.0.2 ### Patch Changes diff --git a/apps/docs/package.json b/apps/docs/package.json index efd1878..7e73870 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -1,6 +1,6 @@ { "name": "@webaseui/docs", - "version": "0.0.2", + "version": "0.0.3", "private": true, "type": "module", "scripts": { @@ -9,7 +9,7 @@ }, "dependencies": { "@webaseui/core": "0.1.0", - "@webaseui/svelte": "0.3.1", + "@webaseui/svelte": "0.3.2", "svelte": "^5.56.8" }, "devDependencies": { diff --git a/apps/docs/src/App.svelte b/apps/docs/src/App.svelte index 7bbb13f..42ca62d 100644 --- a/apps/docs/src/App.svelte +++ b/apps/docs/src/App.svelte @@ -180,5 +180,5 @@ import { WeBaseButton } from '@webaseui/svelte';`} diff --git a/package-lock.json b/package-lock.json index 928c6a7..5bf8e39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,10 +27,10 @@ }, "apps/docs": { "name": "@webaseui/docs", - "version": "0.0.2", + "version": "0.0.3", "dependencies": { "@webaseui/core": "0.1.0", - "@webaseui/svelte": "0.3.1", + "@webaseui/svelte": "0.3.2", "svelte": "^5.56.8" }, "devDependencies": { @@ -4013,7 +4013,7 @@ }, "packages/webaseui-svelte": { "name": "@webaseui/svelte", - "version": "0.3.1", + "version": "0.3.2", "license": "MIT", "dependencies": { "@lucide/svelte": "^1.28.0", diff --git a/packages/webaseui-svelte/CHANGELOG.md b/packages/webaseui-svelte/CHANGELOG.md index daa210c..da1553b 100644 --- a/packages/webaseui-svelte/CHANGELOG.md +++ b/packages/webaseui-svelte/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.3.2 + +### Patch Changes + +- Improve WeBaseTag small-text contrast in light and dark themes. + ## 0.3.1 ### Patch Changes diff --git a/packages/webaseui-svelte/package.json b/packages/webaseui-svelte/package.json index 59e63a8..7644a14 100644 --- a/packages/webaseui-svelte/package.json +++ b/packages/webaseui-svelte/package.json @@ -1,6 +1,6 @@ { "name": "@webaseui/svelte", - "version": "0.3.1", + "version": "0.3.2", "description": "Svelte 5 components for WeBaseUI.", "repository": { "type": "git", diff --git a/packages/webaseui-svelte/src/lib/components/WeBaseTag.svelte b/packages/webaseui-svelte/src/lib/components/WeBaseTag.svelte index 0498088..5f76453 100644 --- a/packages/webaseui-svelte/src/lib/components/WeBaseTag.svelte +++ b/packages/webaseui-svelte/src/lib/components/WeBaseTag.svelte @@ -51,11 +51,11 @@ text-transform: uppercase; transition: color var(--duration-ui) var(--ease-out), border-color var(--duration-ui) var(--ease-out), background-color var(--duration-ui) var(--ease-out); } - .ds-tag-neutral { color: var(--ink-muted); background: var(--surface-muted); } + .ds-tag-neutral { color: var(--ink-soft); background: var(--surface-muted); } .ds-tag-brand { color: var(--brand); background: var(--brand-tint); } .ds-tag-outline { border-color: var(--hairline-strong); color: var(--ink-soft); background: transparent; } a.ds-tag:hover, .ds-tag.selected { border-color: var(--brand); color: var(--brand); background: var(--brand-tint); } a.ds-tag:focus-visible { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); } - small { color: currentColor; font-family: var(--mono); font-size: 9px; opacity: .75; } + small { color: currentColor; font-family: var(--mono); font-size: 9px; opacity: 1; } @media (prefers-reduced-motion: reduce) { .ds-tag { transition: none; } } diff --git a/scripts/check-webaseui-packages.mjs b/scripts/check-webaseui-packages.mjs index ddccaf4..86ed579 100644 --- a/scripts/check-webaseui-packages.mjs +++ b/scripts/check-webaseui-packages.mjs @@ -58,6 +58,10 @@ const tokenSource = readFileSync( path.join(root, 'packages/webaseui-core/src/tokens.css'), 'utf8' ); +const tagSource = readFileSync( + path.join(root, 'packages/webaseui-svelte/src/lib/components/WeBaseTag.svelte'), + 'utf8' +); const publicComponents = [ ...publicIndex.matchAll(/export \{ default as (WeBase[A-Za-z]+) \}/g) ].map((match) => match[1]); @@ -105,6 +109,14 @@ invariant(publicComponents.length === 28, `expected 28 public components, found for (const component of navigationPrimitives) { invariant(publicComponents.includes(component), `${component} must be exported from the package root`); } +invariant( + tagSource.includes('.ds-tag-neutral { color: var(--ink-soft);'), + 'WeBaseTag neutral text must use the accessible ink-soft token' +); +invariant( + /small \{[^}]*opacity:\s*1;/.test(tagSource), + 'WeBaseTag counts must remain fully opaque for small-text contrast' +); invariant( legacyBrandReferences.length === 0, `legacy brand naming remains in: ${legacyBrandReferences.join(', ')}`