// // Copyright 2020 Google Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. // // stylelint-disable selector-class-pattern -- // Selector '.mdc-*' should only be used in this project. @use '@material/feature-targeting/feature-targeting'; @use '@material/rtl/rtl'; @use '@material/theme/state'; @use '@material/theme/theme'; @use '@material/theme/variables' as theme-variables; $icon-size: 24px !default; $dense-icon-size: 20px !default; $icon-horizontal-margin: 12px !default; $icon-color: rgba(theme-variables.prop-value(on-surface), 0.54) !default; $disabled-icon-color: rgba( theme-variables.prop-value(on-surface), 0.38 ) !default; /// /// Customizes the size (both width and height) of the icon. /// @param {Number} $size - the intended icon size. /// @mixin size($size, $query: feature-targeting.all()) { $feat-structure: feature-targeting.create-target($query, structure); @include feature-targeting.targets($feat-structure) { .mdc-select__icon { @include theme.property(width, $size); @include theme.property(height, $size); @include theme.property(font-size, $size); } } } @mixin icon-color($color-or-map, $query: feature-targeting.all()) { &:not(.mdc-select--disabled) { @include _icon-color( state.get-default-state($color-or-map), $query: $query ); } &.mdc-select--disabled { @include _icon-color( state.get-disabled-state($color-or-map), $query: $query ); } } @mixin icon-horizontal-margins($left, $right, $query: feature-targeting.all()) { $feat-structure: feature-targeting.create-target($query, structure); .mdc-select__icon { @include feature-targeting.targets($feat-structure) { @include rtl.reflexive-property(margin, $left, $right); } } } @mixin _icon-color($color, $query: feature-targeting.all()) { $feat-color: feature-targeting.create-target($query, color); @if $color { .mdc-select__icon { @include feature-targeting.targets($feat-color) { @include theme.property(color, $color); } } } }