📝

Angular Material v15 でFont style を適用する追加設定

2023/01/15に公開

対象バージョン

"@angular/core": "15.1.0",
"@angular/material": "15.1.0",

v15 で Font style が適用されない

v14 まではng add 時にSet up global Angular Material typography styles? と聞かれて yes と答えると、特定のタグやクラスのついた要素には Material Design の Font style が適用されていました。しかし、v15 に上がってから現在の v15.1.0 まで、追加で sass の関数を呼ばないと Font style が適用されなくなっています。こちらはissue として報告されていますが、現時点で Angular Team からの回答がなく、バグなのか仕様なのか分かっていません。ただ v15 に上がる際に更新された公式ドキュメントにこのような記載はないので、個人的にはバグの可能性が高いと考えています。

下記のように設定すると v14 以前のように Font style が適用されます。

style.scss
$app-theme: mat.define-light-theme(
  (
    color: (
      primary: $app-primary,
      accent: $app-accent,
      warn: $app-warn,
    ),
+   typography: mat.define-typography-config(),
  )
);

@include mat.all-component-themes($app-theme);
+ @include mat.typography-hierarchy($app-theme);

v14 からの update は Font style が適用される

v14 から update した場合 style.scss で呼ばれている関数が上記の mat.all-component-themes ではなく mat.all-legacy-component-themes になっているはずです。こちらのlegacy 付きの関数が呼ばれている場合は Font style が適用されます。近々legacy を外す予定のある方は、上記の追加設定が必要になりますのでご注意ください。

GitHubで編集を提案

Discussion