material-components_materia.../button/lib/_elevated-button.scss
Daniel Freedman 69f9a17a12 fix(button)!: replace label-text-* tokens with label-text-type
PiperOrigin-RevId: 510222434
2023-02-16 13:04:23 -08:00

59 lines
1.7 KiB
SCSS

//
// Copyright 2021 Google LLC
// SPDX-License-Identifier: Apache-2.0
//
// go/keep-sorted start
@use 'sass:map';
// go/keep-sorted end
// go/keep-sorted start
@use '../../sass/shape';
@use '../../sass/theme';
@use '../../sass/typography';
@use '../../tokens';
@use './elevation';
@use './shared';
// go/keep-sorted end
$_custom-property-prefix: 'elevated-button';
@mixin theme($tokens) {
$tokens: theme.validate-theme(
_resolve-tokens(tokens.md-comp-elevated-button-values()),
_resolve-tokens($tokens)
);
$tokens: theme.create-theme-vars($tokens, $_custom-property-prefix);
$tokens: shape.resolve-tokens($tokens, 'container-shape');
@include theme.emit-theme-vars($tokens);
}
@mixin styles() {
$tokens: tokens.md-comp-elevated-button-values();
// TODO(b/198759625): Remove once spacing tokens are formally added
$tokens: map.set($tokens, 'spacing-leading', 24px);
$tokens: map.set($tokens, 'spacing-trailing', 24px);
$tokens: map.set($tokens, 'with-icon-spacing-leading', 16px);
$tokens: map.set($tokens, 'with-icon-spacing-trailing', 24px);
$tokens: map.set($tokens, 'with-trailing-icon-spacing-leading', 24px);
$tokens: map.set($tokens, 'with-trailing-icon-spacing-trailing', 16px);
$tokens: _resolve-tokens($tokens);
$tokens: theme.create-theme-vars($tokens, $_custom-property-prefix);
$tokens: shape.resolve-tokens($tokens, 'container-shape');
:host {
@each $token, $value in $tokens {
--_#{$token}: #{$value};
}
}
}
@function _resolve-tokens($tokens) {
$tokens: shared.flatten-disabled-colors($tokens);
$tokens: shared.remove-unsupported-tokens($tokens);
$tokens: typography.resolve-tokens($tokens, 'label-text');
@return elevation.resolve-tokens($tokens);
}