@use "sass:list";
@use "sass:map";
@use "@pepabo-inhouse/flavor/tokens";
@use "../helpers";
@use "../../error-message";

$primitive-color-tokens: map.get(
  map.get(tokens.$tokens, color),
  primitive
);

/// 汎用的に使えるprimitive colorを取得します。
///
/// @group color
/// @example
///   functions.get-primitive-color($name: blue, $level: 600)
///   // “#1f7acc”
@function get-primitive-color($name, $level: 1000) {
  $primitive-color-name: map.get($primitive-color-tokens, "#{$name}");

  @if $primitive-color-name == null {
    @error error-message.not-specified($value: $name);
  }

  $value: map.get($primitive-color-name, "#{$level}");

  @if $value == null {
    @error error-message.not-specified($value: $level);
  }

  @return $value;
}
