diff --git a/src/material-experimental/theming/_m3-tokens.scss b/src/material-experimental/theming/_m3-tokens.scss index f288634bce55..edff599becbf 100644 --- a/src/material-experimental/theming/_m3-tokens.scss +++ b/src/material-experimental/theming/_m3-tokens.scss @@ -475,6 +475,13 @@ @if map.get($tokens, list-item-container-color) != null { $tokens: map.set($tokens, list-item-container-color, transparent); } + + // Match spec, which has list-item-leading-icon-size of 24px. Current version of tokens (0_161) + // has 18px. + @if map.get($tokens, list-item-leading-icon-size) != null { + $tokens: map.set($tokens, list-item-leading-icon-size, 24px); + } + @return $tokens; } diff --git a/src/material/list/list.scss b/src/material/list/list.scss index 2500f8e5b4f2..51994d26fd82 100644 --- a/src/material/list/list.scss +++ b/src/material/list/list.scss @@ -75,6 +75,13 @@ @include token-utils.create-token-slot(border-radius, list-item-leading-avatar-shape); @include token-utils.create-token-slot(background-color, list-item-leading-avatar-color); } + + // Set font-size of leading icon to same value as its width and height. Ensure icon scales to + // "list-item-leading-icon-size" token. In Angular Material, the icon is on the same element as + // ".mdc-list-item__start", rather than a child of ".mdc-list-item__start". + .mat-mdc-list-item-icon { + @include token-utils.create-token-slot(font-size, list-item-leading-icon-size); + } } }