////
/// @group alert
////

@use 'sass:map';

@import '~@react-md/transition/dist/variables';
@import '~@react-md/theme/dist/color-palette';
@import '~@react-md/theme/dist/variables';
@import '~@react-md/utils/dist/variables';

/// The amount of margin to apply to the snackbar so that it does not touch the
/// viewport edges.
/// @type Number
$rmd-snackbar-margin: 1rem !default;

/// The z-index for the snackbar.
///
/// @require $rmd-utils-temporary-element-z-index
/// @type Number
$rmd-snackbar-z-index: $rmd-utils-temporary-element-z-index + 10 !default;

/// The elevation to add to a toast. This will be used to create the correct
/// box-shadow.
/// @type Number
$rmd-toast-elevation: 6 !default;

/// The border radius to apply to a toast.
/// @type Number
$rmd-toast-border-radius: 0.25rem !default;

/// The background color for a toast in light themes.
/// @type Color
$rmd-toast-light-background-color: #323232 !default;

/// The text color for a toast in light themes.
///
/// @require $rmd-white-base
/// @type Color
$rmd-toast-light-color: $rmd-white-base !default;

/// The background color for a toast in dark themes when the
/// `$rmd-theme-dark-elevation` feature flag is also enabled.
///
/// @see $rmd-theme-dark-elevation
/// @require $rmd-theme-dark-elevation-colors
/// @type Color
/// @since 2.7.0
$rmd-toast-dark-elevation-background-color: map.get(
  $rmd-theme-dark-elevation-colors,
  $rmd-toast-elevation
) !default;

/// The background color for a toast in dark themes.
/// @type Color
$rmd-toast-dark-background-color: if(
  $rmd-theme-dark-elevation and $rmd-toast-dark-elevation-background-color,
  $rmd-toast-dark-elevation-background-color,
  $rmd-toast-light-background-color
) !default;

/// The text color for a toast in dark themes
///
/// @type Color
$rmd-toast-dark-color: $rmd-toast-light-color !default;

/// The default background color for toasts.
///
/// @require $rmd-theme-light
/// @type Color
$rmd-toast-background-color: if(
  $rmd-theme-light,
  $rmd-toast-light-background-color,
  $rmd-toast-dark-background-color
) !default;

/// The default text color for toasts
///
/// @require $rmd-theme-light
/// @type Color
$rmd-toast-color: if(
  $rmd-theme-light,
  $rmd-toast-light-color,
  $rmd-toast-dark-color
) !default;

/// The minimum height for a single line toast.
/// @type Number
$rmd-toast-min-height: 3rem !default;

/// The minimum height for a two line toast.
/// @type Number
$rmd-toast-two-line-min-height: 4.25rem !default;

/// The min-width to apply to toasts for larger screens. Mobile devices that are
/// smaller than this will just span the entire viewport excluding the default
/// snackbar margin.
/// @type Number
$rmd-toast-min-width: 21.5rem !default;

/// The amount of padding to apply to the top and bottom of the toast.
/// @type Number
$rmd-toast-vertical-padding: 0.75rem !default;

/// The amount of padding to apply to the left and right of the toast's message.
/// When there is also an action in the toast, the right padding will be reduced
/// to the `$rmd-toast-action-margin`.
/// @type Number
$rmd-toast-horizontal-padding: 1rem !default;

/// The amount of margin to apply to the toast's action if there is one. This
/// will be applied to the left and right of the action.
/// @type Number
$rmd-toast-action-margin: 0.5rem !default;

/// The amount of margin-top to apply to the action button when it has been
/// stacked within the toast.
/// @type Number
$rmd-toast-stacked-action-margin-top: 0.25rem !default;

/// The transition duration for the enter animation for a toast. If this value
/// gets updated, you'll also need to update the `timoout` prop on the `Toast`
/// as well.
///
/// @require $rmd-transition-standard-time
/// @type Number
$rmd-toast-enter-duration: $rmd-transition-standard-time !default;

/// The transition duration for the exit animation for a toast. If this value
/// gets updated, you'll also need to update the `timoout` prop on the `Toast`
/// as well.
///
/// @require $rmd-transition-standard-time
/// @type Number
$rmd-toast-exit-duration: $rmd-transition-standard-time !default;

/// A Map of all the "themeable" parts of the alert package. Every key in this
/// map will be used to create a css variable to dynamically update the values
/// of the icon as needed.
/// @type Map
$rmd-alert-theme-values: (
  background-color: $rmd-toast-background-color,
  color: $rmd-toast-color,
  light-background-color: $rmd-toast-light-background-color,
  light-color: $rmd-toast-light-color,
  dark-background-color: $rmd-toast-dark-background-color,
  dark-color: $rmd-toast-dark-color,
) !default;
