$sizing-classes-map: ();

// -----------------------------
// Width
// -----------------------------

$width-map: (
  (auto, auto),
  (full, 100%),
  (screen, 100vw),
  (1px, 1px),
);

@each $width-label, $width in $width-map {
  $sizing-classes-map: map-merge(
    $sizing-classes-map,
    (
      'w-#{$width-label}': (width: $width)
    )
  );
}

// -----------------------------
// Height
// -----------------------------

$height-map: (
  (auto, auto),
  (full, 100%),
  (screen, 100vh),
  (1px, 1px),
);

@each $height-label, $height in $height-map {
  $sizing-classes-map: map-merge(
    $sizing-classes-map,
    (
      'h-#{$height-label}': (height: $height)
    )
  );
}

// -----------------------------
// Min Width
// -----------------------------

$min-width-map: (
  (auto, auto),
  (full, 100%),
  (screen, 100vw),
  (1px, 1px),
  (0, 0),
);

@each $min-width-label, $min-width in $min-width-map {
  $sizing-classes-map: map-merge(
    $sizing-classes-map,
    (
      'min-w-#{$min-width-label}': (min-width: $min-width)
    )
  );
}

// -----------------------------
// Min Height
// -----------------------------

$min-height-map: (
  (auto, auto),
  (full, 100%),
  (screen, 100vh),
  (1px, 1px),
  (0, 0),
);

@each $min-height-label, $min-height in $min-height-map {
  $sizing-classes-map: map-merge(
    $sizing-classes-map,
    (
      'min-h-#{$min-height-label}': (min-height: $min-height)
    )
  );
}

// -----------------------------
// Max Width
// -----------------------------

$max-width-map: (
  (auto, auto),
  (full, 100%),
  (screen, 100vw),
  (1px, 1px),
  (0, 0),
);

@each $max-width-label, $max-width in $max-width-map {
  $sizing-classes-map: map-merge(
    $sizing-classes-map,
    (
      'max-w-#{$max-width-label}': (max-width: $max-width)
    )
  );
}

// -----------------------------
// Max Height
// -----------------------------

$max-height-map: (
  (auto, auto),
  (full, 100%),
  (screen, 100vh),
  (1px, 1px),
  (0, 0),
);

@each $max-height-label, $max-height in $max-height-map {
  $sizing-classes-map: map-merge(
    $sizing-classes-map,
    (
      'max-h-#{$max-height-label}': (max-height: $max-height)
    )
  );
}
