
// @require core/icon/variables.scss

/* ICON SIZES */

// The wanted icon size for what will be the actual size setted
// The values are scaled with a factor of `1.1892`
// Some roundings occurred for the `RECOMMENDED` sizes
// The factor has been chosen in order to minimize rounding errors
// The `RECOMMENDED` sizes are those where the icons look better

$size-xxxxsmall-icon: 10.09105885246312px !default;
$size-xxxsmall-icon: 12.000287187349144px !default;
$size-xxsmall-icon: 14.270741523195602px !default;
$size-xsmall-icon: 18px !default; // RECOMMENDED
$size-small-icon: 20.181634712411704px !default;
$size-medium-icon: 24px !default; // RECOMMENDED
$size-large-icon: 28.5408px !default;
$size-xlarge-icon: 36px !default; // RECOMMENDED
$size-xxlarge-icon: 40.36230346291201px !default;
$size-xxxlarge-icon: 48px !default; // RECOMMENDED
$size-xxxxlarge-icon: 57.08023393991053px !default;

/* SIZES */

// The `RECOMMENDED` sizes are those where the icons look better

$size-xxxxsmall: size-from-icon-size( $size-xxxxsmall-icon ) !default;
$size-xxxsmall: size-from-icon-size( $size-xxxsmall-icon ) !default;
$size-xxsmall: size-from-icon-size( $size-xxsmall-icon ) !default;
$size-xsmall: size-from-icon-size( $size-xsmall-icon ) !default; // RECOMMENDED
$size-small: size-from-icon-size( $size-small-icon ) !default;
$size-medium: size-from-icon-size( $size-medium-icon ) !default; // RECOMMENDED
$size-large: size-from-icon-size( $size-large-icon ) !default;
$size-xlarge: size-from-icon-size( $size-xlarge-icon ) !default; // RECOMMENDED
$size-xxlarge: size-from-icon-size( $size-xxlarge-icon ) !default;
$size-xxxlarge: size-from-icon-size( $size-xxxlarge-icon ) !default; // RECOMMENDED
$size-xxxxlarge: size-from-icon-size( $size-xxxxlarge-icon ) !default;

/* SIZES */

$sizes: (
  'xxxxsmall': $size-xxxxsmall,
  'xxxsmall': $size-xxxsmall,
  'xxsmall': $size-xxsmall,
  'xsmall': $size-xsmall,
  'small': $size-small,
  'medium': $size-medium,
  'large': $size-large,
  'xlarge': $size-xlarge,
  'xxlarge': $size-xxlarge,
  'xxxlarge': $size-xxxlarge,
  'xxxxlarge': $size-xxxxlarge
) !default;

@include assert-ascending( $sizes, '`$sizes` values must be defined in ascending order' );
