// Re-assigned maps
//
// Placed here so that others can override the default Sass maps and see automatic updates to utilities and more.

// scss-docs-start theme-colors-map
$theme-colors: (
  "primary":    $primary,
  "secondary":  $secondary,
  "tertiary":   $tertiary,
  "success":    $success,
  "info":       $info,
  "warning":    $warning,
  "danger":     $danger,
  "light":      $light,
  "dark":       $dark
) !default;
// scss-docs-end theme-colors-map

// scss-docs-start theme-colors-rgb
$theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value") !default;
// scss-docs-end theme-colors-rgb


// Utilities maps
//
// Extends the default `$theme-colors` maps to help create our utilities.

// Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.
// scss-docs-start utilities-colors
$utilities-colors: $theme-colors-rgb !default;
// scss-docs-end utilities-colors

// scss-docs-start utilities-text-colors
$utilities-text: map-merge(
  $utilities-colors,
  (
    "black": to-rgb($black),
    "white": to-rgb($white),
    "body": to-rgb($body-color)
  )
) !default;
$utilities-text-colors: map-loop($utilities-text, rgba-css-var, "$key", "text") !default;

$utilities-text-emphasis-colors: (
  "primary-emphasis": var(--#{$prefix}primary-emphasis),
  "secondary-emphasis": var(--#{$prefix}secondary-emphasis),
  "tertiary-emphasis": var(--#{$prefix}tertiary-emphasis),
  "success-emphasis": var(--#{$prefix}success-emphasis),
  "info-emphasis": var(--#{$prefix}info-emphasis),
  "warning-emphasis": var(--#{$prefix}warning-emphasis),
  "danger-emphasis": var(--#{$prefix}danger-emphasis),
  "light-emphasis": var(--#{$prefix}light-emphasis),
  "dark-emphasis": var(--#{$prefix}dark-emphasis)
) !default;
// scss-docs-end utilities-text-colors

// scss-docs-start utilities-bg-colors
$utilities-bg: map-merge(
  $utilities-colors,
  (
    "black": to-rgb($black),
    "white": to-rgb($white),
    "body": to-rgb($body-bg)
  )
) !default;
$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, "$key", "bg") !default;

$utilities-subtle: (
  "primary-subtle": var(--#{$prefix}primary-subtle),
  "secondary-subtle": var(--#{$prefix}secondary-subtle),
  "tertiary-subtle": var(--#{$prefix}tertiary-subtle),
  "success-subtle": var(--#{$prefix}success-subtle),
  "info-subtle": var(--#{$prefix}info-subtle),
  "warning-subtle": var(--#{$prefix}warning-subtle),
  "danger-subtle": var(--#{$prefix}danger-subtle),
  "light-subtle": var(--#{$prefix}light-subtle),
  "dark-subtle": var(--#{$prefix}dark-subtle)
) !default;
// scss-docs-end utilities-bg-colors

// scss-docs-start utilities-border-colors
$utilities-border: map-merge(
  $utilities-colors,
  (
    "black": to-rgb($black),
    "white": to-rgb($white)
  )
) !default;
$utilities-border-colors: map-loop($utilities-border, rgba-css-var, "$key", "border") !default;

$utilities-border-subtle: (
  "primary-subtle": var(--#{$prefix}primary-border-subtle),
  "secondary-subtle": var(--#{$prefix}secondary-border-subtle),
  "tertiary-subtle": var(--#{$prefix}tertiary-border-subtle),
  "success-subtle": var(--#{$prefix}success-border-subtle),
  "info-subtle": var(--#{$prefix}info-border-subtle),
  "warning-subtle": var(--#{$prefix}warning-border-subtle),
  "danger-subtle": var(--#{$prefix}danger-border-subtle),
  "light-subtle": var(--#{$prefix}light-border-subtle),
  "dark-subtle": var(--#{$prefix}dark-border-subtle)
) !default;
// scss-docs-end utilities-border-colors

$utilities-links-underline: map-loop($utilities-colors, rgba-css-var, "$key", "link-underline") !default;

$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;

$gutters: $spacers !default;
