Skip to content

Commit

Permalink
feat(tokens): add component custom properties to Sass values
Browse files Browse the repository at this point in the history
These are excluded by default, but will be enabled by default in 2.0.

Example: `tokens.md-comp-checkbox-values($exclude-custom-properties: false)`
PiperOrigin-RevId: 601596085
  • Loading branch information
asyncLiz authored and Copybara-Service committed Jan 26, 2024
1 parent c9e72ce commit feff721
Show file tree
Hide file tree
Showing 47 changed files with 811 additions and 63 deletions.
18 changes: 17 additions & 1 deletion tokens/_md-comp-assist-chip.scss
Expand Up @@ -85,7 +85,11 @@ $_default: (
'md-sys-typescale': md-sys-typescale.values(),
);

@function values($deps: $_default, $exclude-hardcoded-values: false) {
@function values(
$deps: $_default,
$exclude-hardcoded-values: false,
$exclude-custom-properties: true
) {
$tokens: validate.values(
md-comp-assist-chip.values($deps, $exclude-hardcoded-values),
$supported-tokens: $supported-tokens,
Expand Down Expand Up @@ -118,5 +122,17 @@ $_default: (
)
);

// Default to `$exclude-custom-properties: false` in the next breaking change.
// See b/321816473.
@if not $exclude-custom-properties {
@each $token, $value in $tokens {
$tokens: map.set(
$tokens,
$token,
var(--md-assist-chip-#{$token}, #{$value})
);
}
}

@return $tokens;
}
15 changes: 14 additions & 1 deletion tokens/_md-comp-badge.scss
Expand Up @@ -21,8 +21,21 @@ $_default: (

$_unsupported-tokens: ('large-label-text-tracking', 'large-label-text-type');

@function values($deps: $_default, $exclude-hardcoded-values: false) {
@function values(
$deps: $_default,
$exclude-hardcoded-values: false,
$exclude-custom-properties: true
) {
$tokens: md-comp-badge.values($deps, $exclude-hardcoded-values);
$tokens: map.remove($tokens, $_unsupported-tokens...);

// Default to `$exclude-custom-properties: false` in the next breaking change.
// See b/321816473.
@if not $exclude-custom-properties {
@each $token, $value in $tokens {
$tokens: map.set($tokens, $token, var(--md-badge-#{$token}, #{$value}));
}
}

@return $tokens;
}
25 changes: 23 additions & 2 deletions tokens/_md-comp-checkbox.scss
Expand Up @@ -3,6 +3,9 @@
// SPDX-License-Identifier: Apache-2.0
//

// go/keep-sorted start
@use 'sass:map';
// go/keep-sorted end
// go/keep-sorted start
@use './internal/validate';
@use './md-sys-color';
Expand Down Expand Up @@ -89,9 +92,15 @@ $_default: (
'md-sys-state': md-sys-state.values(),
);

@function values($deps: $_default, $exclude-hardcoded-values: false) {
@function values(
$deps: $_default,
$exclude-hardcoded-values: false,
$exclude-custom-properties: true
) {
$tokens: md-comp-checkbox.values($deps, $exclude-hardcoded-values);

$tokens: validate.values(
md-comp-checkbox.values($deps, $exclude-hardcoded-values),
$tokens,
$supported-tokens: $supported-tokens,
$unsupported-tokens: $unsupported-tokens,
$renamed-tokens: (
Expand Down Expand Up @@ -120,5 +129,17 @@ $_default: (
)
);

// Default to `$exclude-custom-properties: false` in the next breaking change.
// See b/321816473.
@if not $exclude-custom-properties {
@each $token, $value in $tokens {
$tokens: map.set(
$tokens,
$token,
var(--md-checkbox-#{$token}, #{$value})
);
}
}

@return $tokens;
}
18 changes: 17 additions & 1 deletion tokens/_md-comp-circular-progress.scss
Expand Up @@ -38,7 +38,11 @@ $_default: (
'md-sys-shape': md-sys-shape.values(),
);

@function values($deps: $_default, $exclude-hardcoded-values: false) {
@function values(
$deps: $_default,
$exclude-hardcoded-values: false,
$exclude-custom-properties: true
) {
$tokens: validate.values(
md-comp-circular-progress-indicator.values(
$deps,
Expand All @@ -61,5 +65,17 @@ $_default: (
);
}

// Default to `$exclude-custom-properties: false` in the next breaking change.
// See b/321816473.
@if not $exclude-custom-properties {
@each $token, $value in $tokens {
$tokens: map.set(
$tokens,
$token,
var(--md-circular-progress-#{$token}, #{$value})
);
}
}

@return $tokens;
}
14 changes: 13 additions & 1 deletion tokens/_md-comp-dialog.scss
Expand Up @@ -72,7 +72,11 @@ $unsupported-tokens: (
// go/keep-sorted end
);

@function values($deps: $_default, $exclude-hardcoded-values: false) {
@function values(
$deps: $_default,
$exclude-hardcoded-values: false,
$exclude-custom-properties: true
) {
$tokens: validate.values(
md-comp-dialog.values($deps, $exclude-hardcoded-values),
$supported-tokens: $supported-tokens,
Expand All @@ -84,5 +88,13 @@ $unsupported-tokens: (
)
);

// Default to `$exclude-custom-properties: false` in the next breaking change.
// See b/321816473.
@if not $exclude-custom-properties {
@each $token, $value in $tokens {
$tokens: map.set($tokens, $token, var(--md-dialog-#{$token}, #{$value}));
}
}

@return $tokens;
}
21 changes: 19 additions & 2 deletions tokens/_md-comp-divider.scss
Expand Up @@ -3,6 +3,9 @@
// SPDX-License-Identifier: Apache-2.0
//

// go/keep-sorted start
@use 'sass:map';
// go/keep-sorted end
// go/keep-sorted start
@use './internal/validate';
@use './md-sys-color';
Expand All @@ -20,9 +23,23 @@ $_default: (
'md-sys-color': md-sys-color.values-light(),
);

@function values($deps: $_default, $exclude-hardcoded-values: false) {
@return validate.values(
@function values(
$deps: $_default,
$exclude-hardcoded-values: false,
$exclude-custom-properties: true
) {
$tokens: validate.values(
md-comp-divider.values($deps, $exclude-hardcoded-values),
$supported-tokens: $supported-tokens
);

// Default to `$exclude-custom-properties: false` in the next breaking change.
// See b/321816473.
@if not $exclude-custom-properties {
@each $token, $value in $tokens {
$tokens: map.set($tokens, $token, var(--md-divider-#{$token}, #{$value}));
}
}

@return $tokens;
}
18 changes: 17 additions & 1 deletion tokens/_md-comp-elevated-button.scss
Expand Up @@ -76,7 +76,11 @@ $_default: (
'md-sys-typescale': md-sys-typescale.values(),
);

@function values($deps: $_default, $exclude-hardcoded-values: false) {
@function values(
$deps: $_default,
$exclude-hardcoded-values: false,
$exclude-custom-properties: true
) {
$tokens: validate.values(
md-comp-elevated-button.values($deps, $exclude-hardcoded-values),
$supported-tokens: $supported-tokens,
Expand Down Expand Up @@ -108,5 +112,17 @@ $_default: (
)
);

// Default to `$exclude-custom-properties: false` in the next breaking change.
// See b/321816473.
@if not $exclude-custom-properties {
@each $token, $value in $tokens {
$tokens: map.set(
$tokens,
$token,
var(--md-elevated-button-#{$token}, #{$value})
);
}
}

@return $tokens;
}
21 changes: 20 additions & 1 deletion tokens/_md-comp-elevated-card.scss
Expand Up @@ -3,6 +3,9 @@
// SPDX-License-Identifier: Apache-2.0
//

// go/keep-sorted start
@use 'sass:map';
// go/keep-sorted end
// go/keep-sorted start
@use './internal/validate';
@use './md-sys-color';
Expand Down Expand Up @@ -52,12 +55,28 @@ $_default: (
'md-sys-state': md-sys-state.values(),
);

@function values($deps: $_default, $exclude-hardcoded-values: false) {
@function values(
$deps: $_default,
$exclude-hardcoded-values: false,
$exclude-custom-properties: true
) {
$tokens: validate.values(
md-comp-elevated-card.values($deps, $exclude-hardcoded-values),
$supported-tokens: $supported-tokens,
$unsupported-tokens: $unsupported-tokens
);

// Default to `$exclude-custom-properties: false` in the next breaking change.
// See b/321816473.
@if not $exclude-custom-properties {
@each $token, $value in $tokens {
$tokens: map.set(
$tokens,
$token,
var(--md-elevated-card-#{$token}, #{$value})
);
}
}

@return $tokens;
}
19 changes: 18 additions & 1 deletion tokens/_md-comp-elevation.scss
Expand Up @@ -24,10 +24,27 @@ $_default: (
'md-sys-elevation': md-sys-elevation.values(),
);

@function values($deps: $_default, $exclude-hardcoded-values: false) {
@function values(
$deps: $_default,
$exclude-hardcoded-values: false,
$exclude-custom-properties: true
) {
$tokens: (
'level': map.get($deps, 'md-sys-elevation', 'level0'),
'shadow-color': map.get($deps, 'md-sys-color', 'shadow'),
);

// Default to `$exclude-custom-properties: false` in the next breaking change.
// See b/321816473.
@if not $exclude-custom-properties {
@each $token, $value in $tokens {
$tokens: map.set(
$tokens,
$token,
var(--md-elevation-#{$token}, #{$value})
);
}
}

@return validate.values($tokens, $supported-tokens: $supported-tokens);
}
18 changes: 17 additions & 1 deletion tokens/_md-comp-fab-branded.scss
Expand Up @@ -99,13 +99,29 @@ $_default: (
'md-sys-typescale': md-sys-typescale.values(),
);

@function values($deps: $_default, $exclude-hardcoded-values: false) {
@function values(
$deps: $_default,
$exclude-hardcoded-values: false,
$exclude-custom-properties: true
) {
$tokens: validate.values(
md-comp-fab-branded.values($deps, $exclude-hardcoded-values),
$supported-tokens: $supported-tokens,
$unsupported-tokens: $unsupported-tokens,
$new-tokens: _get-new-tokens($deps, $exclude-hardcoded-values)
);

// Default to `$exclude-custom-properties: false` in the next breaking change.
// See b/321816473.
@if not $exclude-custom-properties {
@each $token, $value in $tokens {
$tokens: map.set(
$tokens,
$token,
var(--md-fab-branded-#{$token}, #{$value})
);
}
}

@return $tokens;
}
14 changes: 13 additions & 1 deletion tokens/_md-comp-fab.scss
Expand Up @@ -231,7 +231,11 @@ $_default: (
'md-sys-typescale': md-sys-typescale.values(),
);

@function values($deps: $_default, $exclude-hardcoded-values: false) {
@function values(
$deps: $_default,
$exclude-hardcoded-values: false,
$exclude-custom-properties: true
) {
$tokens: md-comp-fab-surface.values($deps, $exclude-hardcoded-values);

$tokens: validate.values(
Expand All @@ -241,5 +245,13 @@ $_default: (
$new-tokens: _get-new-tokens($deps, $exclude-hardcoded-values)
);

// Default to `$exclude-custom-properties: false` in the next breaking change.
// See b/321816473.
@if not $exclude-custom-properties {
@each $token, $value in $tokens {
$tokens: map.set($tokens, $token, var(--md-fab-#{$token}, #{$value}));
}
}

@return $tokens;
}
18 changes: 17 additions & 1 deletion tokens/_md-comp-filled-button.scss
Expand Up @@ -76,7 +76,11 @@ $_default: (
'md-sys-typescale': md-sys-typescale.values(),
);

@function values($deps: $_default, $exclude-hardcoded-values: false) {
@function values(
$deps: $_default,
$exclude-hardcoded-values: false,
$exclude-custom-properties: true
) {
$tokens: validate.values(
md-comp-filled-button.values($deps, $exclude-hardcoded-values),
$supported-tokens: $supported-tokens,
Expand Down Expand Up @@ -108,5 +112,17 @@ $_default: (
)
);

// Default to `$exclude-custom-properties: false` in the next breaking change.
// See b/321816473.
@if not $exclude-custom-properties {
@each $token, $value in $tokens {
$tokens: map.set(
$tokens,
$token,
var(--md-filled-button-#{$token}, #{$value})
);
}
}

@return $tokens;
}

0 comments on commit feff721

Please sign in to comment.