Collision: Compress
With collision="compress", items always move to the highest available position.
Gaps are automatically filled, creating a compact layout.
Code
Tip: UseautoCompress={false}to disable automatic compression and callcontroller.compress()manually.
svelte
<script lang="ts">
import Grid, { GridItem } from '@appulsauce/svelte-grid';
const itemSize = { height: 40 };
</script>
<Grid {itemSize} cols={10} collision="compress">
{#each items as item (item.id)}
<GridItem
bind:x={item.x}
bind:y={item.y}
bind:w={item.w}
bind:h={item.h}
>
...
</GridItem>
{/each}
</Grid>