@use "sass:map" as map;
@use "../values" as vals;
@use "color" as func;

// ----------------------------------------
// Get a valid FDS shadow
// ----------------------------------------

@function shadow($value) {

    @if map.has-key(vals.$fds-shadows, $value) {
        $shadow-map: map.get(vals.$fds-shadows, $value);

        $shadow-offset-x: map.get($shadow-map, 'offset-x');
        $shadow-offset-y: map.get($shadow-map, 'offset-y');
        $shadow-blur: map.get($shadow-map, 'blur');
        $shadow-spread: map.get($shadow-map, 'spread');
        $shadow-color: map.get($shadow-map, 'color');

        @return $shadow-offset-x $shadow-offset-y $shadow-blur $shadow-spread func.color($shadow-color);
    }

    @error '#{$value} is not a valid FDS shadow token.';

}