@use "sass:list"; @use "sass:map"; @use "sass:meta"; @use "sass:string"; @use "config"; @use "pkg:include-media/dist/include-media" as media; @use "pkg:iro-sass/bem"; @use "pkg:iro-sass/props"; @mixin materialize-at-root($ref) { @if meta.type-of($ref) == "map" { $ref: map.values($ref); } :root { @include props.materialize($ref, null); @include props.materialize($ref, "color"); @each $breakpoint in map.keys(media.$breakpoints) { @include media.media("<=#{$breakpoint}") { @include props.materialize($ref, $breakpoint); } } @media (prefers-color-scheme: dark) { @include props.materialize($ref, "dark"); } } @if config.$explicit-dark-theme { @include bem.theme("dark") { @include props.materialize($ref, "color"); @include props.materialize($ref, "dark"); } } @each $theme-name in map.keys(config.$themes) { @if $theme-name != config.$theme-default { @include bem.theme(string.slice($theme-name, 3)) { @include props.materialize($ref, "color"); @media (prefers-color-scheme: dark) { @include props.materialize($ref, "dark"); } } } } }