A pure vue responsive masonry layout without direct dom manipulation and ssr support.

Overview

vue-masonry-wall

A pure vue responsive masonry implementation without direct dom manipulation, ssr friendly with lazy appending. I created this because other libraries has no SSR support, and I needed a pure vue implementation.

vue-masonry-wall screenshot

Installation

npm i vue-masonry-wall
# or yarn
yarn add vue-masonry-wall

Features

  • No Direct DOM Manipulation
  • SSR friendly, able to load and re hydrate later
  • 1 dependency only, no legacy dependencies
  • Auto lazy appending, scroll to auto load more
  • Auto item placement, will find best column
  • Responsive design

Usage

<vue-masonry-wall :items="items" :options="options" @append="append"/>
const items = []
const options = {
  width: 300,
  padding: {
    default: 12,
    1: 6,
    2: 8
  }
}

const append = () => {
  // API call and add items
  this.items.push(...[])
}

Basic

<template>
  <div id="app">
    <h2>Masonry: append endlessly</h2>

    <vue-masonry-wall :items="items" :options="{width: 300, padding: 12}" @append="append">
      <template v-slot:default="{item}">
        <div class="item">
          <h5>{{item.title}}</h5>
          <p>{{item.content}}</p>
        </div>
      </template>
    </vue-masonry-wall>
  </div>
</template>

<script>
  import VueMasonryWall from "vue-masonry-wall";

  export default {
    name: 'app',
    components: {VueMasonryWall},
    data() {
      return {
        items: [
          {title: 'Item 0', content: 'Content'},
          {title: 'Item 1', content: 'Content'},
        ]
      }
    },
    methods: {
      /**
       * I am mocking a API call that load 20 objects at a time.
       */
      append() {
        for (let i = 0; i < 20; i++) {
          this.items.push({title: `Item ${this.items.length}`, content: 'Content'})
        }
      }
    }
  }
</script>

Nuxt SSR

Add :ssr="{columns: 2}" to masonry so that during SSR, it will be load in 2 columns.

SSR has no clue what is the size of your height of your element or width of the browser. You can however guess based on user-agent: https://github.com/nuxt-community/device-module This param allow you to preload a config for SSR rendering, it will distribute your items into all columns evenly.

<vue-masonry-wall :items="items" :options="{width: 300, padding: 12}" :ssr="{columns: 2}" @append="append">
  <template v-slot:default="{item}">
    <div class="item">
      <h5>{{item.title}}</h5>
      <p>{{item.content}}</p>
    </div>
  </template>
</vue-masonry-wall>

Dependencies

Contributing

For any question or feature request please feel free to create an issue or pull request.

TODO

These were features from my original project that I removed for brevity of this package.

Vue Horizontal

I also maintain another project called Vue Horizontal.

At its core, Vue Horizontal is an ultra simple pure vue horizontal layout for modern responsive web with zero dependencies. Vue Horizontal is also an ultra complex code snippet dossier with over 100 SPA/SSR/SSG friendly recipes for your design needs. Do check it out, might be useful for you!

Comments
  • Width adaptive?

    Width adaptive?

    Try to read the width of the parent element after the page loads? I am not sure about my width but I know that I need two columns to display the content

    opened by StringKe 3
  • Bump url-parse from 1.4.7 to 1.5.1

    Bump url-parse from 1.4.7 to 1.5.1

    Bumps url-parse from 1.4.7 to 1.5.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • masonry-bottom div blocks content from interacation

    masonry-bottom div blocks content from interacation

    Hi,

    first of all: thank you for your library!

    During testing, I found that the masonry-bottom div blocks user interaction with the contents of the main masonry item. To fix this, I added z-indexdirectives in my style, fixing a z-index of 3 for .masonry-item and a z-index of 1 for .masonry-bottom.

    Because reasons, I am currently unable to submit a PR, but I thought I'd let you know.

    opened by mistressofjellyfish 1
  • Bump highlight.js from 9.17.1 to 9.18.5

    Bump highlight.js from 9.17.1 to 9.18.5

    Bumps highlight.js from 9.17.1 to 9.18.5.

    Release notes

    Sourced from highlight.js's releases.

    10.3.2 - Oops, "Javascript".

    Tiny tiny release, just to fix the website incorrectly not listing Javascript in the list of languages you could choose for a custom build. NPM and CDN build should not have been affected so 10.3.1 is effectively the same as 10.3.2 for those builds.

    If you made a custom build from the website with 10.3 or 10.3.1 you may want to check and make sure it includes Javascript, and if not, build it again.

    9.18.1 - Brrrrr, it’s freezing.

    Quick release to resolve #2375

    Changelog

    Sourced from highlight.js's changelog.

    Release v9.18.5

    Version 9 has reached end-of-support and will not receive future updates or fixes.

    Please see VERSION_10_UPGRADE.md and perhaps SECURITY.md.

    • enh: Post-install script can be disabled with HLJS_HIDE_UPGRADE_WARNING=yes
    • fix: Deprecation notice logged at library startup a console.log vs console.warn.
      • Notice only shown if actually highlighting code, not just requiring the library.
      • Node.js treats warn the same as error and that was problematic.
      • You (or perhaps your indirect dependency) may disable the notice with the hideUpgradeWarningAcceptNoSupportOrSecurityUpdates option
      • You can also set HLJS_HIDE_UPGRADE_WARNING=yes in your envionment to disable the warning

    Example:

    hljs.configure({
      hideUpgradeWarningAcceptNoSupportOrSecurityUpdates: true
    })
    

    Reference: highlightjs/highlight.js#2877

    Release v9.18.4

    Version 9 has reached end-of-support and will not receive future updates or fixes.

    Please see VERSION_10_UPGRADE.md and perhaps SECURITY.md.

    • fix(livescript) fix potential catastrophic backtracking (#2852) [commit]

    Version 9.18.3

    • fix(parser) Freezing issue with illegal 0 width illegals (#2524)
      • backported from v10.x

    Version 9.18.2

    Fixes:

    • fix(night) Prevent object prototype values from being returned by getLanguage (#2636) night

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump http-proxy from 1.18.0 to 1.18.1

    Bump http-proxy from 1.18.0 to 1.18.1

    Bumps http-proxy from 1.18.0 to 1.18.1.

    Changelog

    Sourced from http-proxy's changelog.

    v1.18.1 - 2020-05-17

    Merged

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Congratulations

    Congratulations

    Hi! First of all I want to say thank you for this vue-masonry-wall plugin. I was making a masonry grid images layout, like unsplash or pinterest, but I have some doubts. For example, can you explain me which options accepts vue-masonry-wall component. I know that there are width and padding. But these width what it references for? Can you make, if it's possible, make an example with nuxt.js and images photos instead of text?

    Thank you very much.

    If I can help you, contact me please.

    πŸ‘

    opened by afuentesdp90 1
  • fix: issue of the ssr

    fix: issue of the ssr

    when ssr.columns value is equal with _columnSize() return value redraw method does not get called for the first time and opacity of the masonry-wall will be zero so nothing would be visible on the page for the first time.

    opened by mohammad-saadati 0
  • Bump pug-code-gen from 2.0.2 to 2.0.3

    Bump pug-code-gen from 2.0.2 to 2.0.3

    Bumps pug-code-gen from 2.0.2 to 2.0.3.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • [ImgBot] Optimize images

    [ImgBot] Optimize images

    opened by imgbot[bot] 0
  • Added z-index: -1; for bottom so that it does not cover item.

    Added z-index: -1; for bottom so that it does not cover item.

    Closes #21

    During testing, I found that the masonry-bottom div blocks user interaction with the contents of the main masonry item. To fix this, I added z-indexdirectives in my style, fixing a z-index of 3 for .masonry-item and a z-index of 1 for .masonry-bottom. @mistressofjellyfish

    Added z-index: -1 for masonry-bottom instead.

    fix 
    opened by fuxingloh 0
  • Fix:  Image fails to reload when resizing browser #7

    Fix: Image fails to reload when resizing browser #7

    The cursor was not being reset while redrawing leading to an empty masonry wall if no new items existed

    Fix for https://github.com/fuxingloh/vue-masonry-wall/issues/7

    fix 
    opened by moetun88 0
  • Navigating

    Navigating "back" to a page containing masonry goes to the wrong position

    Hi there,

    My site is currently built using a Vue Masonry CSS which has mainly been good, but I am looking for an alternative as I'm coming across a bug I can't seem to get round.

    Anyway, generally it performs well, and as you can see below, you can click into grid items, then use the browser's back button to return to the same position on the previous page:

    https://davestewart.co.uk/archive/

    However, when replacing this library with your own, I scroll down the page, click into an item, then go "back", the page is scrolled significantly far above the item I clicked into.

    This is visually confusing and right now would be reason enough to not use your (otherwise fine) library.

    Any ideas why it's happening? Easy fix?

    opened by davestewart 0
  • Filling of shortest column first

    Filling of shortest column first

    HI there,

    I have a page where I show various blog articles in sections.

    Ideally these would fill left to right, top to bottom, but of course masonry will fill the shortest column first.

    Whilst this may be acceptable in middle rows, in end rows, it can leave items aligned in strange ways – I've have had one left and right, and one on the right as below:

    image

    I suggest that this could be prevented by adding another property which would provide a threshold (px or item height %) to compare against the shortest column's gap. If the gap was under the given threshold it would tile left to right (which would normally be chronological order), over which, it would fill the gap.

    I've not tested this, but suggest it would be a nice tweak for things like blogs, where users would expect to read left to right.

    opened by davestewart 0
  • `masonry-bottom` adds 100px vertical space to layout

    `masonry-bottom` adds 100px vertical space to layout

    Hello,

    Certainly enjoying the library so far.

    Not quite sure why masonry-bottom exists though, or why it has a min-height of 100px (which affects my layout, as I have various wall sections on the page).

    I can override it with CSS but I assume it has a purpose?

    EDIT: Just checked and it appears to be something to do with the filling of columns. Could it be done in code instead?

    opened by davestewart 0
  • Fkex box design

    Fkex box design

    I found that when i try to place the element inside a block of div with a class of display flex, the masonry layout doesn't work and all the items are align vertically. How can i solve this ?, or did i do something bad ?

    opened by DevDams 0
  • Bump url-parse from 1.4.7 to 1.5.3

    Bump url-parse from 1.4.7 to 1.5.3

    Bumps url-parse from 1.4.7 to 1.5.3.

    Commits
    • ad44493 [dist] 1.5.3
    • c798461 [fix] Fix host parsing for file URLs (#210)
    • 201034b [dist] 1.5.2
    • 2d9ac2c [fix] Sanitize only special URLs (#209)
    • fb128af [fix] Use 'null' as origin for non special URLs
    • fed6d9e [fix] Add a leading slash only if the URL is special
    • 94872e7 [fix] Do not incorrectly set the slashes property to true
    • 81ab967 [fix] Ignore slashes after the protocol for special URLs
    • ee22050 [ci] Use GitHub Actions
    • d2979b5 [fix] Special case the file: protocol (#204)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Releases(v0.3.2)
  • v0.3.2(Mar 15, 2021)

    Changes

    • fix: issue of the ssr @mohammad-saadati (#29)
    • Bump pug-code-gen from 2.0.2 to 2.0.3 @dependabot (#27)
    • [ImgBot] Optimize images @imgbot (#25)

    🧰 Maintenance

    • chore: Vue Horizontal Advert @fuxingloh (#23)
    Source code(tar.gz)
    Source code(zip)
  • v0.3.1(Dec 10, 2020)

  • v0.3.0(Nov 17, 2020)

    Changes

    • Bump elliptic from 6.5.2 to 6.5.3 @dependabot (#14)
    • Bump websocket-extensions from 0.1.3 to 0.1.4 @dependabot (#12)
    • Bump lodash from 4.17.15 to 4.17.19 @dependabot (#13)
    • Added image example and the source code for it @fuxingloh (#5)
    • Added resolutions for minimist and acorn due to github security notification @fuxingloh (#4)
    • Bump minimist from 1.2.0 to 1.2.2 @dependabot (#2)
    • Create LICENSE @fuxingloh (#1)

    πŸ› Bug Fixes

    • Fix: Image fails to reload when resizing browser #7 @moetun88 (#15)

    🧰 Maintenance

    • Added various workflow @fuxingloh (#18)
    Source code(tar.gz)
    Source code(zip)
Owner
Fuxing Loh
Software engineer and architect. (Web, Mobile, Backend & DevOps)
Fuxing Loh
An ultra simple pure vue horizontal layout for modern responsive web with zero dependencies. (SPA/SSG/SSR)

An ultra simple pure vue horizontal layout for modern responsive web with zero dependencies. (SPA/SSG/SSR)

Fuxing Loh 185 Nov 26, 2022
Vue.js Masonry layout component powered by CSS, dependancy free

A new masonry component powered by CSS to be fast loading and free of jQuery or other dependencies. Build specifically for Vue.js projects. ?? Why? Ex

Paul Collett 438 Dec 20, 2022
Vue.js Masonry layout component powered by CSS, dependancy free

A new masonry component powered by CSS to be fast loading and free of jQuery or other dependencies. Build specifically for Vue.js projects. ?? Why? Ex

Paul Collett 438 Dec 20, 2022
Vue smarter layout components. Based on css flexbox. Support responsive design, server side render. 5 KB gzipped.

vue-colrow Smarter layout components. Based on css flexbox. Support responsive design, server side render. 3 KB gzipped. Document. It also has a React

Xinxin 7 Sep 13, 2021
A pure vue native horizontal list implementation for mobile/touch and responsive web.

?? You might want to use Vue Horizontal instead! Vue Horizontal is another take on the horizontal layout written by me with an ultra simple implementa

Fuxing Loh 175 Dec 15, 2022
Vue Layout System is a pack of Vue components that solve daily layout problems.

A pack of Vue components that solve daily layout problems

boyin.lee 33 Jan 1, 2023
Vue Layout System is a pack of Vue components that solve daily layout problems.

Vue Layout System is a pack of Vue components that solve daily layout problems.

boyin.lee 6 May 30, 2021
Vue-grid-layout is a grid layout system, like Gridster, for Vue.js.

vue-grid-layout vue-grid-layout is a grid layout system, like Gridster, for Vue.js. Heavily inspired by React-Grid-Layout Current version: 2.3.9 (Supp

Danny Funkat 0 Feb 22, 2022
🌊 A horizontal sorting waterfall layout component for Vue.js, realized by flex layout

vue-flex-waterfall A horizontal sorting waterfall layout component for Vue.js, realized by flex layout. Refer to CSS masonry with flexbox, :nth-child(

η₯žδ»£ηΆΊε‡› 27 Jul 13, 2022
πŸ’  Vue.js directive for masonry blocks layouting βœ…

vue-masonry Current version: 0.12.0 Vue.js directive for masonry blocks layouting. Original masonry library. Plugin DEMO available ?? , JSFiddle DEMO

Mikhail Kuznetcov 605 Jan 2, 2023
πŸ“Colcade plugin for Vue.js 2 - Lightweight masonry

?? Vue Colcade Lightweight masonry layout thanks to Vuejs A small wrapper for integrating Colcade to Vuejs. Vue.js plugin accessible globally from any

Alexis Colin 19 Apr 29, 2021
Auto responsive grid layout library for Vue.

autoresponsive-vue Auto responsive grid layout library for Vue. Examples Live demo & docs: xudafeng.github.io/autoresponsive-vue Installation $ npm i

θΎΎε³°ηš„ε€ε€© 139 Dec 23, 2022
Starter responsive dashboard layout built with tailwindcss & vue 3 (vitejs)

Starter Responsive Dashboard Layout Starter responsive dashboard layout built with tailwindcss & vue 3 (vitejs) See live Another projects Alpine versi

Ahmed Kamel 28 Oct 8, 2022
Auto responsive grid layout library for Vue.

autoresponsive-vue Auto responsive grid layout library for Vue. Examples Live demo & docs: xudafeng.github.io/autoresponsive-vue Installation $ npm i

θΎΎε³°ηš„ε€ε€© 139 Dec 23, 2022
grid layout,support flex

simple-grid a simple grid layout(Vue Component) Installation use npm $ npm i simple-xgrid --save import Grid from 'simple-xgrid' import 'simple-xgrid

zhoulin 25 Nov 24, 2022
For vue-gutter-resize, you can change the size of both neighbor dom by dragging gutter.

vue-gutter-resize language : jp For vue-gutter-resize, you can change the size of both neighbor dom by dragging gutter. demo Browsers support Chrome S

Shunsuke Toba 11 Dec 16, 2021
A draggable and resizable grid layout, for Vue.js.

vue-grid-layout Documentation Website What is Vue Grid Layout? vue-grid-layout is a grid layout system, like Gridster, for Vue.js. Heavily inspired by

JBay Solutions 6k Jan 4, 2023
Simple, Light-weight and Flexible Vue.js component for grid layout.

vue-grd Simple, Light-weight and Flexible Vue.js component for grid layout. Vue.js port of grd. Install npm install --save vue-grd Usage You can use <

Shogo Sensui 42 Nov 24, 2022
A draggable and resizable grid layout, for Vue.js.

vue-grid-layout Documentation Website What is Vue Grid Layout? vue-grid-layout is a grid layout system, like Gridster, for Vue.js. Heavily inspired by

JBay Solutions 6k Jan 3, 2023