@use 'sass:meta';
@use "../../functions/index" as fi;

$color-options: ("name": color);
$background-options: ("name": background);
$line-gradient-options: ("name": line-gradient);

/**
 * 输出全局字体颜色
 */
@mixin color($list, $options: ()) {
	$prefix: fi.prefix($color-options, $options);

	@each $key, $color in $list {
		@if  $color {
			#{$prefix}#{$key} {
				color: $color !important;
			}
		}
	}
}

/**
 * 输出全局背景颜色
 */
@mixin background-color($list, $options: ()) {
	$prefix: fi.prefix($background-options, $options);

	@each $key, $background, $foreground in $list {
		@if  $background {
			#{$prefix}#{$key} {
				background-color: $background !important;

				@if  $foreground {
					color: $foreground;
				}
			}
		}
	}
}

@mixin line-gradient($list, $options: ()) {
	$prefix: fi.prefix($line-gradient-options, $options);

	@each $key, $angle, $color, $color2 in $list {
		@if  meta.type-of($color) == 'color' {
			#{$prefix}#{$key} {
				background: $color2;
				background-image: linear-gradient($angle, $color, $color2);
			}
		}
	}
}
