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

$content-size-tokens: map.get(
  map.get(tokens.$tokens, size),
  content
);

/// コンテンツの$levelのセットを取得します。
///
/// @group size
/// @example
///   functions.get-content-sizes()
///   // "xs, s, m, l, xl”
@function get-content-sizes() {
  @return map.keys($content-size-tokens);
}

/// コンテンツの$levelに対応するsizeを取得します。
///
/// @group size
/// @example
///   functions.get-content-size(m)
///   // “960px”
@function get-content-size($level: m) {
  $available-levels: get-content-sizes();

  @if list.index($available-levels, $level) == null {
    @error error-message.any-one-of(
      $value: $level,
      $available-values: $available-levels
    );
  }

  @return map.get($content-size-tokens, $level);
}
