@use "sass:map";
@use "./base";

// ===== select =====
$select-size-list: (xs, sm, md, lg) !default;
$select-suffix-size-list: (
  xs: base.$font-size-sm,
  sm: base.$font-size-sm,
  md: base.$font-size-md,
  lg: base.$font-size-lg,
) !default;
$select-selected-stats-margin: base.padding(2) !default;
$select-suffix-arrow-size-list: (
  xs: 8px,
  sm: 8px,
  md: 10px,
  lg: 12px,
) !default;

// @todo 临时方案，待重构
// 静态修饰只能满足某个数量级的 maxNumber 需要，比如  10/80 宽度够， 100/999 宽度就不够了
// 理论上是这个边距是随 selected-stats 数字宽度变化的动态值，以下这个取值法算是魔法取值
@function get-selection-selected-stats-right($size: base.$base-size) {
  @return base.$form-control-box-padding-horizontal + map.get($select-suffix-size-list, $size) + $select-selected-stats-margin;
}
$select-with-max-number-padding-right: (
  xs: base.padding(8) + get-selection-selected-stats-right(xs),
  sm: base.padding(9) + get-selection-selected-stats-right(sm),
  md: base.padding(10) + get-selection-selected-stats-right(md),
  lg: base.padding(11) + get-selection-selected-stats-right(lg),
) !default;
