JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 28
  • Score
    100M100P100Q48474F
  • License ISC

Creating cascading layout grids like Pinterest

Package Exports

  • brique
  • brique/lib/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (brique) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Brique.ts

Creating cascading layout grids like Pinterest.

Install

Package manager

npm install brique --save

Initialize

TypeScript

import { Brique } from 'brique';

const refGrid = document.querySelector('.grid');
new Brique(refGrid);

JavaScript

Importing the library into HTML

<script src="node_modules/brique/index.js"></script>

Implementation in JavaScript

const refGrid = document.querySelector('.grid');
new Brique(refGrid);

BriqueOptions object properties

Propriété Type Required Description
columns number true Number of columns
columnGap string false Spacing between columns
rowGap string false Spacing between row

Exemples

EX01: HTML markup example

<div class="grid">
    <div>
        <h2>Box 1</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    </div>
    <div>
        <h2>Box 2</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut laboret.</p>
    </div>
    <div>
        <h2>Box 3</h2>
    </div>
    <div>
        <h2>Box 4</h2>
        <p>Lorem ipsum dolor sit amet.</p>
    </div>
    <div>
        <h2>Box 5</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.</p>
    </div>
</div>

EX02: Default TypeScript implementation

import { Brique } from 'brique';

const refGrid = document.querySelector('.grid');
new Brique(refGrid);

EX03: Implementation with BriqueOptions

import { Brique } from 'brique';

const refGrid = document.querySelector('.grid');
const options = {
    columns: 4,
    rowGap: '24px',
    columnGap: '16px',
};

new Brique(refGrid, options);

EX04: Watch resize

import { Brique } from 'brique';

const refGrid = document.querySelector('.grid');
const briqueGrid = new Brique(refGrid);

briqueGrid.watchResize();

Stop watch resize

briqueGrid.stopWatchResize();

EX05: Change options with media queries

import { Brique } from 'brique';

const refGrid = document.querySelector('.grid');
const briqueGrid = new Brique(refGrid);
const mediaQueryMobile = window.matchMedia('(max-width: 767px)');

function setOptionsBrique() {
    briqueGrid.setOptions({
        ...briqueGrid.getOptions(),
        columns: mediaQueryMobile.matches ? 2 : 3
    });
}

setOptionsBrique();
briqueGrid.watchResize();
mediaQueryMobile.addEventListener('change', setOptionsBrique);

Update rendering on demand

briqueGrid.update();