A simple, small, modern, dependency-free JavaScript bento box grid system.
Below you will find a working example of a Bento Grid, resize it to see it in action!
If you are looking for documentation checkout the github repo.
The above grid was created using this HTML:
<div id="grid">
<div class="item" data-min-width="5" data-min-height="2">Item 0 </div>
<div class="item" data-min-width="5" data-min-height="3">Item 1 </div>
<div class="item" data-min-width="6" data-min-height="3">Item 2 </div>
<div class="item" data-min-width="4" data-min-height="3">Item 3 </div>
<div class="item" data-min-width="5" data-min-height="5">Item 4 </div>
<div class="item" data-min-width="10" data-min-height="6">Item 5 </div>
<div class="item" data-min-width="5" data-min-height="5">Item 6 </div>
<div class="item" data-min-width="3" data-min-height="5">Item 7 </div>
<div class="item" data-min-width="2" data-min-height="2">Item 8 </div>
<div class="item" data-min-width="3" data-min-height="4">Item 9 </div>
<div class="item" data-min-width="2" data-min-height="4">Item 10</div>
<div class="item" data-min-width="4" data-min-height="3">Item 11</div>
<div class="item" data-min-width="3" data-min-height="3">Item 12</div>
<div class="item" data-min-width="5" data-min-height="3">Item 13</div>
</div>
and this bit of JavaScript:
import Bento from '../dist/main.js';
const bentoOptions = {
preferredCellSize: { x: 47, y: 33 },
};
const gridElement = document.querySelector('#grid');
const _bentoInstance = new Bento(gridElement, bentoOptions);