From ae9fc76bbc60dfd509dbc5b2c0f178e6e2b5cc99 Mon Sep 17 00:00:00 2001 From: Elizabeth Mitchell Date: Wed, 10 May 2023 09:07:23 -0700 Subject: [PATCH] chore(divider): finalize tokens PiperOrigin-RevId: 530924237 --- divider/lib/_divider.scss | 20 ++++++++++++++------ tokens/_md-comp-divider.scss | 13 ++++++++++++- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/divider/lib/_divider.scss b/divider/lib/_divider.scss index 19fa088a9..6414f4f49 100644 --- a/divider/lib/_divider.scss +++ b/divider/lib/_divider.scss @@ -4,24 +4,32 @@ // // go/keep-sorted start -@use '../../sass/theme'; +@use 'sass:list'; +// go/keep-sorted end +// go/keep-sorted start @use '../../tokens'; // go/keep-sorted end @mixin theme($tokens) { - $tokens: theme.validate-theme(tokens.md-comp-divider-values(), $tokens); - $tokens: theme.create-theme-vars($tokens, 'divider'); + $supported-tokens: tokens.$md-comp-divider-supported-tokens; - @include theme.emit-theme-vars($tokens); + @each $token, $value in $tokens { + @if list.index($supported-tokens, $token) == null { + @error 'Token `#{$token}` is not a supported token.'; + } + + @if $value { + --md-divider-#{$token}: #{$value}; + } + } } @mixin styles() { $tokens: tokens.md-comp-divider-values(); - $tokens: theme.create-theme-vars($tokens, 'divider'); :host { @each $token, $value in $tokens { - --_#{$token}: #{$value}; + --_#{$token}: var(--md-divider-#{$token}, #{$value}); } box-sizing: border-box; diff --git a/tokens/_md-comp-divider.scss b/tokens/_md-comp-divider.scss index 737072217..f1e202ca2 100644 --- a/tokens/_md-comp-divider.scss +++ b/tokens/_md-comp-divider.scss @@ -6,12 +6,23 @@ // go/keep-sorted start @use './md-sys-color'; @use './v0_172/md-comp-divider'; +@use './values'; // go/keep-sorted end +$supported-tokens: ( + // go/keep-sorted start + 'color', + 'thickness', + // go/keep-sorted end +); + $_default: ( 'md-sys-color': md-sys-color.values-light(), ); @function values($deps: $_default, $exclude-hardcoded-values: false) { - @return md-comp-divider.values($deps, $exclude-hardcoded-values); + @return values.validate( + md-comp-divider.values($deps, $exclude-hardcoded-values), + $supported-tokens: $supported-tokens + ); }