Repository navigation
v0.10.0
Highlights
- FOUC snippet が公式 API に —
<ThemeInitScript>(from@yasmro/schatten/providers) と framework-agnostic な@yasmro/schatten/theme-initentry (THEME_INIT_SCRIPT/buildThemeInitScript(storageKey)) を新設。これまで README のコピペブロックだった「first paint 前に Mode/Special を適用する<head>script」が、Provider のlocalStorage契約と同期された SSOT になりました (#321) - strict-CSP 運用ガイド + byte 契約 — Next.js / Astro / Remix の nonce レシピ、
sha256-…hash-pin レシピ、pnpm schatten:csp-hashCLI を追加。FOUC snippet のバイト列を public surface としてapi-stability.mdに pin (変更はmajor) (#328) - 共有モーションスケール
--st-duration-*(fast 100ms / base 150ms / slow 200ms) を新設し、Tooltip / Dialog / Toast の transition timing を value-preserving に集約 (見た目不変・VRT 再ベースライン不要) (#325) - icon-only Badge の a11y 修正 —
<Badge icon={Check} aria-label="Done" />にrole="img"を自動付与し、aria-labelが screen reader /getByRole('img', { name })から確実に参照できるように (#325) - ブランド朱
vermillion-*を真朱 #E73121 系へ retune — hue 22 → 30 に全 shade を引き直し。危険色red-*(error/destructive) は据え置きで無影響 (#327)
⚠️ Breaking Changes (pre-1.0 のため minor bump)
ripple 型 Spinner のアニメーション timing 変数を rename しました (#325)。class API の st- prefix と揃え、v1.0 freeze 前に変数契約を確定する目的です。
| Before (v0.9.0) | After (v0.10.0) |
|---|---|
--schatten-spinner-duration (default 2.8s) |
--st-spinner-duration |
--schatten-spinner-ripple-delay (default 1.1s) |
--st-spinner-ripple-delay |
影響を受けるケース
React 利用は 無影響。上記 2 変数を CSS から override している消費者のみ要対応で、sed 一発で移行できます:
sed -i '' 's/--schatten-spinner-/--st-spinner-/g' <your-css>What's Changed
Minor Changes
<ThemeInitScript>+ framework-agnostic@yasmro/schatten/theme-initentry で FOUC snippet を公開 (#321)- ripple Spinner timing 変数を
--schatten-spinner-*→--st-spinner-*に rename (BREAKING pre-1.0)・@theme登録で manifest cssVariables に追加 (#325) - enter/exit transition timing の共有スケール
--st-duration-*(fast/base/slow) を新設 (#325)
Patch Changes
- icon-only Badge に
role="img"自動付与 (consumer 指定のroleが常に優先) (#325) - strict-CSP 運用ガイド +
pnpm schatten:csp-hashCLI + FOUC snippet byte 契約 (#328) - ブランド朱
vermillion-*を真朱 #E73121 系へ retune (semantic 名不変・値のみ変更) (#327)
Full Changelog: v0.9.0...v0.10.0