Skip to content

v0.10.0

Choose a tag to compare

@yasmro yasmro released this 30 May 01:17
· 167 commits to develop since this release

Highlights

  • FOUC snippet が公式 API に — <ThemeInitScript> (from @yasmro/schatten/providers) と framework-agnostic な @yasmro/schatten/theme-init entry (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-hash CLI を追加。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-init entry で 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-hash CLI + FOUC snippet byte 契約 (#328)
  • ブランド朱 vermillion-* を真朱 #E73121 系へ retune (semantic 名不変・値のみ変更) (#327)

Full Changelog: v0.9.0...v0.10.0