@use "sass:map";
@use "sass:list";
@use "../../functions/index" as fi;

$image-size-options: (name: image-size);

@mixin image-size($list, $options: ()) {
	$options: fi.merge($image-size-options, $options);
	$prefix: fi.prefix($image-size-options, $options);
	$mode: map.get($options, 'mode');

	@for $i from 1 through list.length($list) {
		$value: list.nth($list, $i);
		$suffix: #{fi.suffix($value, $options)};
		$_value: fi.unitfix($value, $options);

		#{$prefix}#{$suffix} {
			width: $_value;
			height: $_value;
			max-width: $_value;
			min-width: $_value;
			line-height: $_value;

			@if  $mode == 'circle' {
				border-radius: 50%;
			} @else if $mode == 'radius' {
				border-radius: fi.unitfix(4, $options);
			}
		}
	}
}
