@use 'sass:map';
@use 'sass:meta';
@use '@angular/material' as mat;
@use '../core/tokens/m2-utils';
@use '../core/tokens/m3-utils';

@function get-tokens($theme) {
  $system: m2-utils.get-system($theme);

  $is-dark: false;
  @if meta.type-of($theme) == 'map' {
    $is-dark: mat.get-theme-type($theme) == dark;
  }

  $hue: 500;
  @if $is-dark {
    $hue: 900;
  }

  @return (
    base: (
      progress-container-shape: 4px,
    ),
    color: (
      progress-track-color: m3-utils.color-with-opacity(
        map.get($system, on-surface), map.get($system, hover-state-layer-opacity)),
      progress-indicator-color: map.get($system, outline),
      progress-text-color: map.get($system, on-surface),
      progress-info-indicator-color: mat.m2-get-color-from-palette(mat.$m2-blue-palette, $hue),
      progress-info-text-color: white,
      progress-success-indicator-color: mat.m2-get-color-from-palette(mat.$m2-green-palette, $hue),
      progress-success-text-color: white,
      progress-warning-indicator-color: mat.m2-get-color-from-palette(mat.$m2-orange-palette, $hue),
      progress-warning-text-color: white,
      progress-danger-indicator-color: mat.m2-get-color-from-palette(mat.$m2-red-palette, $hue),
      progress-danger-text-color: white,
    ),
    typography: (
      progress-text-size: 12px,
    ),
    density: ()
  );
}
