diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..a2eb533 Binary files /dev/null and b/.DS_Store differ diff --git a/.gitignore b/.gitignore index c09ffa6..3b21614 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea +.DS_Store node_modules \ No newline at end of file diff --git a/dist/magic-grid.cjs.js b/dist/magic-grid.cjs.js index 0a4c4d4..f14c4f4 100644 --- a/dist/magic-grid.cjs.js +++ b/dist/magic-grid.cjs.js @@ -141,7 +141,7 @@ MagicGrid.prototype.colWidth = function colWidth () { MagicGrid.prototype.setup = function setup () { var width = this.container.getBoundingClientRect().width; var colWidth = this.colWidth(); - var numCols = Math.floor(width/colWidth) || 1; + var numCols = Math.floor((width + this.gutter)/colWidth) || 1; var cols = []; if (this.maxColumns && numCols > this.maxColumns) { diff --git a/dist/magic-grid.esm.js b/dist/magic-grid.esm.js index 86df419..afea939 100644 --- a/dist/magic-grid.esm.js +++ b/dist/magic-grid.esm.js @@ -139,7 +139,7 @@ MagicGrid.prototype.colWidth = function colWidth () { MagicGrid.prototype.setup = function setup () { var width = this.container.getBoundingClientRect().width; var colWidth = this.colWidth(); - var numCols = Math.floor(width/colWidth) || 1; + var numCols = Math.floor((width + this.gutter)/colWidth) || 1; var cols = []; if (this.maxColumns && numCols > this.maxColumns) { diff --git a/dist/magic-grid.min.js b/dist/magic-grid.min.js index f069e5c..70ca2ec 100644 --- a/dist/magic-grid.min.js +++ b/dist/magic-grid.min.js @@ -1 +1 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.MagicGrid=e()}(this,function(){"use strict";var t=function(t){var i=["useTransform","center"];if(!t)throw new Error("No config object has been provided.");for(var n of i)"boolean"!=typeof t[n]&&(t[n]=!0);"number"!=typeof t.gutter&&(t.gutter=25),t.container||e("container"),t.items||t.static||e("items or static")},e=function(t){throw new Error("Missing property '"+t+"' in MagicGrid config")},i=function(t){var e=t[0];for(var i of t)i.heightthis.maxColumns&&(i=this.maxColumns);for(var s=0;sn&&(n=r.height)}this.container.style.height=n+this.gutter+"px"},n.prototype.ready=function(){return!!this.static||this.items.length>=this.size},n.prototype.getReady=function(){var t=this,e=setInterval(function(){t.container=document.querySelector(t.containerClass),t.items=t.container.children,t.ready()&&(clearInterval(e),t.init(),t.listen())},100)},n.prototype.listen=function(){var t=this;if(this.ready()){var e;window.addEventListener("resize",function(){e||(e=setTimeout(function(){t.positionItems(),e=null},200))}),this.positionItems()}else this.getReady()},n}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.MagicGrid=e()}(this,function(){"use strict";var t=function(t){var i=["useTransform","center"];if(!t)throw new Error("No config object has been provided.");for(var n of i)"boolean"!=typeof t[n]&&(t[n]=!0);"number"!=typeof t.gutter&&(t.gutter=25),t.container||e("container"),t.items||t.static||e("items or static")},e=function(t){throw new Error("Missing property '"+t+"' in MagicGrid config")},i=function(t){var e=t[0];for(var i of t)i.heightthis.maxColumns&&(i=this.maxColumns);for(var s=0;sn&&(n=r.height)}this.container.style.height=n+this.gutter+"px"},n.prototype.ready=function(){return!!this.static||this.items.length>=this.size},n.prototype.getReady=function(){var t=this,e=setInterval(function(){t.container=document.querySelector(t.containerClass),t.items=t.container.children,t.ready()&&(clearInterval(e),t.init(),t.listen())},100)},n.prototype.listen=function(){var t=this;if(this.ready()){var e;window.addEventListener("resize",function(){e||(e=setTimeout(function(){t.positionItems(),e=null},200))}),this.positionItems()}else this.getReady()},n}); diff --git a/src/index.js b/src/index.js index 200a765..eeb7fc1 100644 --- a/src/index.js +++ b/src/index.js @@ -88,7 +88,7 @@ class MagicGrid { setup () { let width = this.container.getBoundingClientRect().width; let colWidth = this.colWidth(); - let numCols = Math.floor(width/colWidth) || 1; + let numCols = Math.floor((width + this.gutter)/colWidth) || 1; let cols = []; if (this.maxColumns && numCols > this.maxColumns) { diff --git a/test/grid-responsive.html b/test/grid-responsive.html new file mode 100644 index 0000000..369ab3c --- /dev/null +++ b/test/grid-responsive.html @@ -0,0 +1,74 @@ + + + + + + Magic Grid + + + + + + +
+
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
+ + + + + +