// @see https://github.com/twbs/bootstrap/blob/main/scss/_functions.scss @function material-icons-str-replace($string, $search, $replace: '') { $index: str-index($string, $search); @if $index { @return str-slice($string, 1, $index - 1) + $replace + material-icons-str-replace( str-slice($string, $index + str-length($search)), $search, $replace ); } @return $string; } @mixin material-icons-font-class($font-family) { font-family: $font-family; font-weight: normal; font-style: normal; font-size: $material-icons-font-size; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; word-wrap: normal; direction: ltr; -webkit-font-smoothing: antialiased; // Support for all WebKit browsers -moz-osx-font-smoothing: grayscale; // Support for Firefox text-rendering: optimizeLegibility; // Support for Safari and Chrome font-feature-settings: 'liga'; // Support for IE } @mixin material-icons-font($font-family) { $class-name: to-lower-case($font-family); $class-name: material-icons-str-replace($class-name, ' ', '-'); $font-file: $material-icons-font-path + $class-name; @font-face { font-family: $font-family; font-style: normal; font-weight: 400; font-display: $material-icons-font-display; src: url('#{$font-file}.woff2') format('woff2'), url('#{$font-file}.woff') format('woff'); } .#{$class-name} { @include material-icons-font-class($font-family); } } @mixin material-icons() { @warn "material-icons() Sass mixin has been deprecated as of 1.0. Use '@extend .material-icons;' instead of '@include material-icons();'."; @include material-icons-font-class('Material Icons'); }