<!DOCTYPE html>

<link href="resources/grid.css" rel="stylesheet">
<link href="resources/grid-alignment.css" rel="stylesheet">
<link href="../css-intrinsic-dimensions/resources/height-keyword-classes.css" rel="stylesheet">

<style>
.grid {
    grid-template-rows: minmax(0px, 100px);
    width: 40px;
}

.max-height-35 { max-height: 35px; }
.max-height-50 { max-height: 50px; }
.min-height-35 { min-height: 35px; }
.min-height-50 { min-height: 50px; }
</style>

<script src="../../resources/check-layout.js"></script>

<body onload="checkLayout('.grid')">

<h2>Check the behavior of grids under max-content constraints.</h2>
<div class="max-content max-height-35">
    <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
        <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXX XX XXX</div>
    </div>
</div>

<div class="max-content max-height-min-content">
    <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
        <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXX X</div>
    </div>
</div>

<div class="max-height-min-content">
    <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
        <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXX</div>
    </div>
</div>

<div class="max-content max-height-fill-available">
    <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
        <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XXX X XXX</div>
    </div>
</div>

<div class="max-content">
    <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
        <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXX XXX XX</div>
    </div>
</div>

<div class="grid max-content max-height-35" data-expected-width="40" data-expected-height="35">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXX XX XXX</div>
</div>

<div class="grid max-content max-height-min-content" data-expected-width="40" data-expected-height="100">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXX X</div>
</div>

<div class="grid max-height-min-content" data-expected-width="40" data-expected-height="100">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXX</div>
</div>

<div class="grid max-content max-height-fill-available" data-expected-width="40" data-expected-height="100">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XXX X XXX</div>
</div>

<div class="grid max-content" data-expected-width="40" data-expected-height="100">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXX XXX XX</div>
</div>

<br>
<h2>Check the behavior of grids under min-content contstraints.</h2>
<div class="min-content">
    <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
        <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XX XX</div>
    </div>
</div>

<div class="min-content min-height-50">
    <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
        <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX X</div>
    </div>
</div>

<div class="min-content min-height-fit-content">
    <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
        <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXX XXXX</div>
    </div>
</div>

<div style="height: 200px;">
    <div class="min-content min-height-fill-available">
        <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
	    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXXX XXXX XXX</div>
        </div>
    </div>
</div>

<div class="min-content min-height-min-content">
    <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
        <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXX</div>
    </div>
</div>

<div class="min-content min-height-35">
    <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
        <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XX</div>
    </div>
</div>

<div class="min-content min-height-max-content">
    <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
        <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">X XXX X</div>
    </div>
</div>

<div class="min-content min-height-50">
    <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
        <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XXXX XXXX XXXX XXXX</div>
    </div>
</div>

<div class="min-content max-height-50">
    <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
        <div class="sizedToGridArea min-height-fill-available" data-expected-width="40" data-expected-height="100">XXXX X X XXXX</div>
    </div>
</div>

<div class="grid itemsStart min-content" data-expected-width="40" data-expected-height="100">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XX XX</div>
</div>

<div class="grid itemsStart min-content min-height-50" data-expected-width="40" data-expected-height="100">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX X</div>
</div>

<div class="grid itemsStart min-content min-height-fit-content" data-expected-width="40" data-expected-height="100">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXX XXXX</div>
</div>

<div style="height: 200px;">
    <div class="grid itemsStart min-content min-height-fill-available" data-expected-width="40" data-expected-height="200">
	<div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXXX XXXX XXX</div>
    </div>
</div>

<div class="grid itemsStart min-content min-height-min-content" data-expected-width="40" data-expected-height="100">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXX</div>
</div>

<div class="grid itemsStart min-content min-height-35" data-expected-width="40" data-expected-height="100">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XX</div>
</div>

<div class="grid itemsStart min-content min-height-max-content" data-expected-width="40" data-expected-height="100">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">X XXX X</div>
</div>

<div class="grid itemsStart min-content min-height-50" data-expected-width="40" data-expected-height="100">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XXXX XXXX XXXX XXXX</div>
</div>

<div class="grid itemsStart min-content max-height-50" data-expected-width="40" data-expected-height="50">
    <div class="sizedToGridArea min-height-fill-available" data-expected-width="40" data-expected-height="100">XXXX X X XXXX</div>
</div>

<br>
<h2>Check the behavior of grids with definite available space.</h2>
<div class="grid itemsStart" style="height: 100px;" data-expected-width="40" data-expected-height="100">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXX X</div>
</div>

<div class="grid itemsStart max-height-35" style="height: 100px;" data-expected-width="40" data-expected-height="35">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="35">XX XX</div>
</div>

<div class="grid itemsStart min-height-50" style="height: 10px;" data-expected-width="40" data-expected-height="50">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="50">XX XXXX</div>
</div>

<div class="grid itemsStart min-height-50" style="height: 20px;" data-expected-width="40" data-expected-height="50">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="50">XX XXX XX XXX XX XXX</div>
</div>

<div style="height: 100px;">
    <div class="grid itemsStart" style="height: 37%;" data-expected-width="40" data-expected-height="37">
	<div class="sizedToGridArea" data-expected-width="40" data-expected-height="37">X X X X</div>
    </div>
    <div class="grid itemsStart min-height-50" style="height: 37%;" data-expected-width="40" data-expected-height="50">
	<div class="sizedToGridArea" data-expected-width="40" data-expected-height="50">XX XX XX</div>
    </div>
    <div class="grid itemsStart min-height-35" style="height: 37%;" data-expected-width="40" data-expected-height="37">
	<div class="sizedToGridArea" data-expected-width="40" data-expected-height="37">XXXX</div>
    </div>
</div>

<br>
<h2>Check the behavior of grids with indefinite available space.</h2>
<div class="fit-content">
    <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
	<div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXX</div>
    </div>
    <div class="grid itemsStart min-height-35" data-expected-width="40" data-expected-height="100">
	<div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">X XXXX X</div>
    </div>
    <div class="grid itemsStart max-height-min-content" data-expected-width="40" data-expected-height="100">
	<div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XX XX</div>
    </div>
    <div class="grid itemsStart fit-content" data-expected-width="40" data-expected-height="100">
	<div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">X XX X</div>
    </div>
</div>

<div class="fit-content" style="height: 125px;">
    <div class="grid itemsStart fill-available" data-expected-width="40" data-expected-height="125">
	<div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">X XX X</div>
    </div>
</div>

<div class="fit-content min-height-50">
    <div class="grid itemsStart" data-expected-width="40" data-expected-height="100">
	<div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XXXX XX X XXX</div>
    </div>
    <div class="grid itemsStart min-height-35" data-expected-width="40" data-expected-height="100">
	<div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XXXX X X</div>
    </div>
    <div class="grid itemsStart max-height-min-content" data-expected-width="40" data-expected-height="100">
	<div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">X XXX XX</div>
    </div>
    <div class="grid itemsStart fit-content" data-expected-width="40" data-expected-height="100">
	<div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX XXX XX X</div>
    </div>
</div>

<div class="fit-content min-height-50" style="height: 75px;">
  <div class="grid itemsStart fill-available" data-expected-width="40" data-expected-height="75">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="75">XX X</div>
  </div>
</div>

<div style="height: 25px;">
  <div class="grid itemsStart fit-content" data-expected-width="40" data-expected-height="100">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX X</div>
  </div>
  <div class="grid itemsStart fill-available" data-expected-width="40" data-expected-height="25">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="25">XX X</div>
  </div>
  <div class="grid itemsStart fit-content min-height-35" data-expected-width="40" data-expected-height="100">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX X</div>
  </div>
  <div class="grid itemsStart fit-content max-height-min-content" data-expected-width="40" data-expected-height="100">
    <div class="sizedToGridArea" data-expected-width="40" data-expected-height="100">XX X</div>
  </div>
</div>

</body>
