mirror of
https://github.com/material-components/material-web.git
synced 2026-03-09 00:09:23 +08:00
50 lines
1.5 KiB
SCSS
50 lines
1.5 KiB
SCSS
/**
|
|
* @license
|
|
* Copyright 2020 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
@use 'sass:map';
|
|
@use 'sass:string';
|
|
@use '@material/linear-progress' as linearprogress;
|
|
@use '@material/theme/theme-color';
|
|
@use '@material/theme/custom-properties';
|
|
|
|
$light-theme: (
|
|
bar: theme-color.prop-value(primary),
|
|
buffer: linearprogress.$baseline-buffer-color,
|
|
);
|
|
|
|
@mixin theme($theme: $light-theme) {
|
|
$bar-color: map.get($theme, bar);
|
|
@if $bar-color {
|
|
--mdc-theme-primary: #{$bar-color};
|
|
}
|
|
|
|
$buffer-color: map.get($theme, buffer);
|
|
@if $buffer-color {
|
|
@include buffer-color($buffer-color);
|
|
}
|
|
}
|
|
|
|
/// Sets the color of the buffer bar and buffering dots image.
|
|
@mixin buffer-color($color) {
|
|
// TODO(b/153370936): Replace with theme key resolve function
|
|
@if map.has-key(theme-color.$property-values, $color) {
|
|
@error 'buffer-color does not support theme keys';
|
|
}
|
|
|
|
@if custom-properties.is-custom-prop($color) {
|
|
@error 'buffer-color does not support custom properties.';
|
|
}
|
|
|
|
$buffer-color-svg: linearprogress.str-replace_(
|
|
string.unquote('#{$color}'),
|
|
'#',
|
|
'%23'
|
|
);
|
|
|
|
--mdc-linear-progress-buffer-color: #{$color};
|
|
--mdc-linear-progress-buffering-dots-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='#{$buffer-color-svg}'/%3E%3C/svg%3E");
|
|
}
|