@use "sass:string";
@use "sass:map";

$awesome-cubic-bezier: cubic-bezier(.19, 1, .22, 1) !default;

$enable-smooth-scroll: true !default;
$include-reboot: true !default;

$layout-directions: (
  "",
  -block,
  -inline
);

$spacing-sides: (
  "": "",
  t: -top,
  b: -bottom,
  s: -inline-start,
  e: -inline-end,
  x: -inline,
  y: -block,
);

$breakpoints: (
  xs: 0,
  sm: 600px,
  md: 840px,
  lg: 1200px,
  xl: 1600px
) !default;

$theme-colors: (
  primary,
  secondary,
  tertiary
);

$color-roles: (
  primary,
  primary-container,
  secondary,
  secondary-container,
  tertiary,
  tertiary-container,
  error,
  error-container,
  surface,
  surface-variant,
  surface-container,
  surface-container-highest,
  surface-container-high,
  surface-container-low,
  surface-container-lowest
);

$rgb-colors: (
  primary: string.unquote("103, 80, 164"),
  on-primary: string.unquote("255, 255, 255"),
  primary-container: string.unquote("234, 221, 255"),
  on-primary-container: string.unquote("33, 0, 93"),
  secondary: string.unquote("98, 91, 113"),
  secondary-container: string.unquote("232, 222, 248"),
  on-secondary-container: string.unquote("29, 25, 43"),
  on-secondary: string.unquote("255, 255, 255"),
  tertiary: string.unquote("125, 82, 96"),
  on-tertiary: string.unquote("255, 255, 255"),
  tertiary-container: string.unquote("255, 216, 228"),
  on-tertiary-container: string.unquote("49, 17, 29"),
  error: string.unquote("179, 38, 30"),
  on-error: string.unquote("255, 255, 255"),
  error-container: string.unquote("249, 222, 220"),
  on-error-container: string.unquote("65, 14, 11"),
  surface: string.unquote("254, 247, 255"),
  on-surface: string.unquote("29, 27, 32"),
  surface-variant: string.unquote("231, 224, 236"),
  on-surface-variant: string.unquote("73, 69, 79"),
  surface-container-highest: string.unquote("230, 224, 233"),
  surface-container-high: string.unquote("236, 230, 240"),
  surface-container: string.unquote("243, 237, 247"),
  surface-container-low: string.unquote("247, 242, 250"),
  surface-container-lowest: string.unquote("255, 255, 255"),
  inverse-surface: string.unquote("50, 47, 53"),
  on-inverse-surface: string.unquote("245, 239, 247"),
  outline: string.unquote("121, 116, 126"),
  outline-variant: string.unquote("202, 196, 208"),
  scrim: string.unquote("0, 0, 0"),
  shadow: string.unquote("0, 0, 0")
);

$colors: ();

@each $name, $value in $rgb-colors {
  $colors: map.set($colors, $name, string.unquote("rgb(#{$value})"));
}

$fixed-colors: (
  success,
  info,
  warning
);

$spacings: (
  0: 0,
  extra-small: 4px,
  small: 8px,
  medium: 16px,
  large: 24px,
  extra-large: 40px,
) !default;

$state-layer-opacity: (
  hover: .08,
  focus: .1,
  press: .1,
  drag: .16
) !default;

$font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
$font-mono: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

$font-weights: (
  thin: 100,
  light: 300,
  regular: 400,
  medium: 500,
  bold: 700,
  bolder: 900,
) !default;

$shape-corner: (
  none: 0,
  extra-small: 4px,
  small: 8px,
  medium: 12px,
  large: 16px,
  extra-large: 28px,
  full: 9999px
) !default;
